(57)【要約】      （修正有）【課題】合成境界部分を目立ち難くする画像処理を含む画像合成時の品質低下を抑制する。【解決手段】境界決定部が、入力画像Ｄの一部にマスク画像Ｓを重畳して合成画像を生成する際の入力画像とマスク画像との合成境界を示す合成境界画素として、マスク画像と入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、合成境界を決定する。更に、境界の接線方向の勾配が予め定めた閾値以下となる画素を境界画素として選択する。【選択図】図１１
2015212889.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を示す境界画素として、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、前記境界を決定する
ことを含む処理を実行させる画像処理方法。
【請求項２】
前記勾配の類似度が所定値以上、かつ前記マスク画像と前記入力画像とで対応する画素の各々において、前記境界の接線方向の勾配が予め定めた閾値以下となる画素を、前記境界画素として選択する請求項１記載の画像処理方法。
【請求項３】
前記入力画像及び前記マスク画像の少なくとも一方のサイズに基づいて、前記境界画素として選択する画素の範囲を定め、前記範囲内に設定した注目画素の隣接画素のうち、前記勾配の類似度が最大の画素を前記勾配の類似度が所定値以上の画素とし、選択した境界画素を次の注目画素に設定することを繰り返して、前記境界を決定する請求項１または請求項２記載の画像処理方法。
【請求項４】
決定された境界に含まれる境界画素の各々の前記勾配の類似度の和を、前記境界の長さで除した値が最大になるように、前記境界画素を選択する請求項１〜請求項３のいずれか１項記載の画像処理方法。
【請求項５】
前記勾配の類似度として、前記境界の法線方向の勾配の類似度を用いる請求項１〜請求項４のいずれか１項記載の画像処理方法。
【請求項６】
前記コンピュータに、
決定した前記境界に基づいて切り出したマスク画像を、前記入力画像の対応する領域に重畳し、前記境界を示す画素及び該画素の周辺画素を用いて、前記境界付近に対する画像処理を行って、前記合成画像を生成する
ことを含む処理をさらに実行させる請求項１〜請求項５のいずれか１項記載の画像処理方法。
【請求項７】
入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を示す境界画素として、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、前記境界を決定する決定部
を含む画像処理装置。
【請求項８】
コンピュータに、
入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を示す境界画素として、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、前記境界を決定する
ことを含む処理を実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、画像処理方法、画像処理装置、及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像に被写体として写っている人物のプライバシーを保護する技術として、人物を特定できないように、画像中の人物の顔領域にモザイク処理を施したり、人物の眼部領域を矩形状にマスクしたりする画像処理が知られている。しかし、上記のような画像処理を行った画像は、一見しただけで加工されていることが明瞭に判別できる画像となり、画像の鑑賞者に不自然な印象を与える。
【０００３】
これを解決するため、マスク画像の勾配情報を用い、画像中の顔領域等の合成対象領域のエッジ（マスク画像との合成境界）を境界条件としてポアソン方程式を解くことで、合成対象領域にマスク画像を合成する技術が提案されている。この技術では、合成対象領域に任意の初期値画像を与え、各画素の差分がマスク画像の勾配情報とエッジの境界条件を満たす値に収束するまで繰り返し演算を行うことで、合成対象領域にマスク画像を合成した結果に相当する合成結果画像が生成される。なお、合成対象領域が顔領域である場合、マスク画像としては、例えば他の人物の顔を表す画像や、複数の人の平均的な顔を表す画像を適用することができる。また、初期値画像としては、例えば全面が白で塗り潰された画像や、全面が黒で塗り潰された画像などを適用することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１５０２０３号公報
【特許文献２】特開２０１３−１８２６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、上記の従来技術のようにポアソン方程式を用いた画像合成では、合成境界周辺の画素の画素値を用いて、合成境界部分が目立ち難くなるように、合成境界部分に画像処理を施した合成画像が生成される。しかしながら、合成境界周辺の画素の画素値によっては、合成境界部分に対する画像処理により、生成される合成画像の品質が低下する場合がある。
【０００６】
開示の技術は、合成境界部分を目立ち難くする画像処理を含む画像合成時の品質低下を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
開示の技術は、一つの態様として、入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を決定する。境界は、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を、境界を示す境界画素として選択することにより決定する。
【発明の効果】
【０００８】
開示の技術は、合成境界部分を目立ち難くする画像処理を含む画像合成時の品質低下を抑制することができる、という効果を有する。
【図面の簡単な説明】
【０００９】
【図１】第１及び第２実施形態に係る画像処理装置の機能ブロック図である。
【図２】第１及び第２実施形態に係る画像処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図３】第１及び第２実施形態における画像処理の一例を示すフローチャートである。
【図４】入力画像の一例を示す図である。
【図５】基準合成境界の設定を説明するための図である。
【図６】マスク画像の一例を示す図である。
【図７】探索範囲の設定を説明するための図である。
【図８】合成境界決定処理の一例を示すフローチャートである。
【図９】候補画素リスト作成処理の一例を示すフローチャートである。
【図１０】候補画素の制約を説明するための図である。
【図１１】勾配の計算を説明するための図である。
【図１２】合成画像の生成を説明するための図である。
【図１３】候補画素の制約を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１１】
＜第１実施形態＞
図１に、第１実施形態に係る画像処理装置１０の機能ブロック図を示す。
【００１２】
画像処理装置１０には、画像を撮影する機能を備えた撮影装置によって被写体が撮影されることで得られた画像が入力画像として入力される。なお、入力画像は、単一の静止画像でもよいし、動画像の各フレームの画像でもよいし、動画像の各フレームの中から選択された画像でもよい。なお、画像処理装置１０は、上記の撮影装置を含んだ構成としてもよいし、画像処理装置１０が撮影装置に内蔵された構成としてもよい。画像処理装置１０は、入力された入力画像の所定領域に、予め用意されたマスク画像を合成した合成画像を生成して出力する装置である。本実施形態では、入力画像中に被写体として写っている人物のプライバシーの保護を図る目的で、入力画像中に存在する人物の顔領域に、例えば人の顔を模したマスク画像を合成する場合について説明する。
【００１３】
図１に示すように、画像処理装置１０は、境界決定部１２と、合成部１４とを備える。以下、画像処理装置１０の各部について詳述する。なお、境界決定部１２は、開示の技術の決定部の一例である。
【００１４】
境界決定部１２は、画像処理装置１０に入力された入力画像を取得し、マスク画像が合成される合成対象領域を抽出する。上述のように、第１実施形態では、人物のプライバシーの保護を図る観点から、入力画像中の被写体の顔領域、特に目及び口といったパーツを含む領域を合成対象領域として抽出する。合成対象領域の抽出には、一般的な顔領域検出の手法を用いることができる。例えば、Ｈａｒｒ−ｌｉｋｅ特徴により顔画像の特徴を学習したＡｄａＢｏｏｓｔ識別器を用いて、合成対象領域として顔領域を抽出することができる。なお、ここでの「合成対象領域」とは、マスク画像が重畳される大まかな領域をいい、入力画像とマスク画像との厳密な合成境界を特定するものではない。
【００１５】
また、境界決定部１２は、マスク画像記憶部２０に記憶されたマスク画像を取得する。マスク画像は、入力画像の合成対象領域に合成されることで、入力画像中の被写体を特定することが困難となるような画像が予め用意され、マスク画像記憶部２０に記憶されている。例えば、マスク画像としては、入力画像中に被写体として写っている人物以外の他の人の顔を表す画像、人物の顔を描いたイラスト、複数の人の平均的な顔を表すように作成された画像等とすることができる。なお、マスク画像は、合成対象領域が何を示す画像であるかに応じて、予め用意しておけばよい。また、後述するように、決定した境界で切り出したマスク画像を入力画像の合成対象領域に重畳するため、マスク画像は、想定される合成対象領域よりも大きなサイズで用意しておく。
【００１６】
境界決定部１２は、取得したマスク画像に対して、マスク画像を入力画像に重畳する際の位置決め、及びサイズの変更（拡大または縮小）を行う。マスク画像の位置及びサイズは、マスク画像が有する目及び口等のパーツと、入力画像の合成対象領域に含まれるパーツとの位置関係を対応させることにより決定する。境界決定部１２は、入力画像に対して位置決め及びサイズ変更を行ったマスク画像において、入力画像の合成対象領域の外形に対応する線を基準にマージンを設けた範囲を、入力画像とマスク画像との合成境界を示す合成境界画素を探索する探索範囲として設定する。
【００１７】
境界決定部１２は、マスク画像に設定した探索範囲内の画素から合成境界画素を選択し、選択した合成境界画素を連結して形成される閉曲線を合成境界Γとして決定する。
【００１８】
ここで、入力画像にマスク画像を重畳した際の合成境界に対して、ポアソン方程式等を用いた画像処理を施して、合成境界部分を滑らかにする際には、合成境界周辺の画素の画素値が用いられる。このような合成境界部分の画像処理は、合成境界周辺の画素の画素値の勾配が平坦であることを前提としている。従って、合成境界部分における画素値の勾配の差が大きい場合に、合成境界部分にポアソン方程式等の画像処理を施すと、画素値の勾配に不自然な不連続性が生じてし、合成画像の品質の低下を招く場合がある。
【００１９】
そこで、境界決定部１２は、マスク画像における探索範囲内の画素、及びその画素に対応する入力画像の画素の各々の画素値の勾配を計算し、両画素の画素値の勾配の類似度が所定値以上となる探索範囲内の画素を合成境界画素として選択する。
【００２０】
合成部１４は、境界決定部１２で決定された合成境界Γに基づいてマスク画像を切り出し、切り出したマスク画像を、入力画像の対応する領域に重畳する。また、合成部１４は、合成境界Γ部分に、ポアソン方程式等の画像処理を施して合成境界Γ部分を滑らかにした合成画像を生成して、出力する。
【００２１】
画像処理装置１０は、例えば図２に示すコンピュータ４０で実現することができる。コンピュータ４０はＣＰＵ４２と、メモリ４４と、不揮発性の記憶部４６と、入出力インターフェース（Ｉ／Ｆ）４７と、ネットワークＩ／Ｆ４８とを備えている。ＣＰＵ４２と、メモリ４４と、記憶部４６と、入出力Ｉ／Ｆ４７と、ネットワークＩ／Ｆ４８とは、バス４９を介して互いに接続されている。
【００２２】
記憶部４６は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（solid state drive）、フラッシュメモリ等によって実現できる。記録媒体としての記憶部４６には、コンピュータ４０を画像処理装置１０として機能させるための画像処理プログラム５０が記憶されている。また、記憶部４６は、マスク画像記憶領域６０を有し、マスク画像記憶領域６０には、マスク画像を示すデータが記憶される。
【００２３】
ＣＰＵ４２は、画像処理プログラム５０を記憶部４６から読み出してメモリ４４に展開し、画像処理プログラム５０が有するプロセスを順次実行する。また、ＣＰＵ４２は、マスク画像記憶領域６０に記憶されたデータに基づいて、メモリ４４にマスク画像を展開する。
【００２４】
画像処理プログラム５０は、境界決定プロセス５２と、合成プロセス５４とを有する。ＣＰＵ４２は、境界決定プロセス５２を実行することで、図１に示す境界決定部１２として動作する。また、ＣＰＵ４２は、合成プロセス５４を実行することで、図１に示す合成部１４として動作する。また、マスク画像記憶領域６０は、図１に示すマスク画像記憶部２０として機能し、メモリに展開されたマスク画像は、マスク画像記憶部２０から取得されたマスク画像に相当する。これにより、画像処理プログラム５０を実行したコンピュータ４０が、画像処理装置１０として機能することになる。
【００２５】
なお、画像処理装置１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能である。
【００２６】
次に、第１実施形態の作用を説明する。例えば、撮影装置によって撮影された画像を配布、或いは放送、或いはネットワーク上で公開する等の理由で、画像中に被写体として写っている人物のプライバシーの保護を図る必要が生じた場合、画像処理装置１０に対して画像処理の実行が指示される。なお、画像処理の実行に際しては、入力画像及びマスク画像が指定される。そして、画像処理装置１０において、図３に示す画像処理が実行される。
【００２７】
画像処理のステップＳ１０で、境界決定部１２が、入力された入力画像Ｄを取得する。ここでは、図４に示すような入力画像が入力されたものとする。
【００２８】
次に、ステップＳ２０で、境界決定部１２は、取得した入力画像Ｄから、マスク画像が合成される合成対象領域を抽出する。具体的には、境界決定部１２は、一般的な顔領域検出の手法を用いて、入力画像Ｄから顔領域を抽出する。境界決定部１２は、抽出した顔領域から、目及び口などのパーツを示すパーツ領域を抽出する。図５に、顔領域及びパーツ領域を抽出した一例を示す。図５の例では、顔領域を円形領域（図５中に破線で示す領域）、パーツ領域を矩形領域（図５中に一点破線で示す領域）として抽出している。
【００２９】
そして、境界決定部１２は、パーツを含む合成対象領域を求め、合成対象領域の外形を基準合成境界Γ０として設定する。例えば、図５左図に示すように、例えば、画像上の左側の目に対応する矩形領域の左上角の座標、画像上の右側の目に対応する矩形領域の右上角の座標、並びに口に対応する矩形領域の左下角の座標及び右下角の座標の４点（図５中の黒点）を抽出する。境界決定部１２は、この４点で表される四角形を内包する円（四角形の外接円）を合成対象領域の外形として求めることができる。また、例えば、図５右図に示すように、口に対応する矩形領域の下端の２点を、中点座標の１点で代替し、３点で表される三角形の外接円を合成対象領域の外形として求めてもよい。なお、合成対象領域の外形、すなわち基準合成境界Γ０は、図５に示すような円形に限定されず、楕円形や矩形でもよい。また、後述する探索範囲の幅を考慮して、求めた円の半径を、探索範囲の直系方向の幅の１／２分増やしてもよい。
【００３０】
次に、ステップＳ３０で、境界決定部１２が、マスク画像記憶部２０から、指定されたマスク画像を取得する。ここでは、図６に示すようなマスク画像を取得したものとする。
【００３１】
次に、ステップＳ４０で、境界決定部１２が、マスク画像が有する目及び口等のパーツと、入力画像の合成対象領域に含まれるパーツとの位置関係を対応させることにより、マスク画像の位置決め及びサイズ変更を行う。以下、サイズ変更を行ったマスク画像を「マスク画像Ｓ」と表記し、以降では、このマスク画像Ｓを用いて処理を行う。境界決定部１２は、上記ステップＳ２０で入力画像Ｄに設定した基準合成境界Γ０を、マスク画像Ｓに対応させて設定し、マスク画像Ｓにおいて、基準合成境界Γ０の内側及び外側に各々マージンを設けた探索範囲を設定する。
【００３２】
具体的には、基準合成境界Γ０の半径をｒ０とした場合、図７に示すように、基準合成境界Γ０の同心円で、ｒ２＜ｒ０＜ｒ１となる半径ｒ１及びｒ２を持つ円の各々を、探索境界Γ１及びΓ２とする。境界決定部１２は、この探索境界Γ１及びΓ２で挟まれた範囲を探索範囲Γ１−Γ２として設定する。探索範囲Γ１−Γ２は、合成境界を示す合成境界画素の探索が発散せずに、探索された合成境界画素を連結することにより閉曲線が形成されるように、合成境界画素の探索範囲を限定するためのものである。従って、ｒ１及びｒ２の大きさは、マスク画像Ｓ及び入力画像Ｄの少なくとも一方のサイズに基づいて決めることができる。例えば、ｒ１＝ｒ０＋ａｒ０、ｒ２＝ｒ０−ａｒ０とし、ａを０．２として、ｒ１＝１．２ｒ０、ｒ２＝０．８ｒ０とすることができる。
【００３３】
次に、ステップＳ５０で、境界決定部１２が、図８に詳細を示す合成境界決定処理を実行することにより、合成境界Γを決定する。第１実施形態では、初期画素Ｐ０からスタートして、基準合成境界Γ０から大きく外れない範囲（ここでは、探索範囲Γ１−Γ２）で、合成境界Γを形成するＰ０の隣接ｎ番目の合成境界画素Ｐｎを順次探索していくことにより、合成境界Γを決定する。
【００３４】
そこで、まず、図８に示す合成境界決定処理のステップＳ５２で、境界決定部１２が、マスク画像Ｓに設定した基準合成境界Γ０上の任意の画素を初期画素Ｐ０として設定する。
【００３５】
次に、ステップＳ５４で、境界決定部１２が、現画素Ｐｎ（ここでは、Ｐｎ＝Ｐ０）の次に合成境界画素として選択される画素の候補のリストを作成する候補画素リスト作成処理を実行する。図９を参照して、候補画素リスト作成処理について説明する。
【００３６】
候補画素リスト作成処理のステップＳ５４１で、境界決定部１２が、現画素Ｐｎに隣接する隣接画素Ｐｎ＋１から１つ選択する。現画素Ｐｎの座標（画素位置）を（ｘ，ｙ）とする。この場合、隣接画素Ｐｎ＋１は、（ｘ−１，ｙ−１）、（ｘ，ｙ−１）、（ｘ＋１，ｙ−１）、（ｘ−１，ｙ）、（ｘ＋１，ｙ）、（ｘ−１，ｙ＋１）、（ｘ，ｙ＋１）、及び（ｘ＋１，ｙ＋１）の座標を有する画素とすることができる。
【００３７】
次に、ステップＳ５４２で、境界決定部１２が、選択した隣接画素Ｐｎ＋１が、探索範囲Γ１−Γ２に含まれるか否かを判定する。探索範囲Γ１−Γ２に含まれる場合には、処理はステップＳ５４３へ移行し、探索範囲Γ１−Γ２外の場合には、処理はステップＳ５４６へ移行する。
【００３８】
ステップＳ５４３では、境界決定部１２が、現画素Ｐｎから隣接画素Ｐｎ＋１へのベクトルＶＰｎ＋１を算出する。
【００３９】
次に、ステップＳ５４４で、境界決定部１２が、ベクトルＶＰｎ＋１が現画素Ｐｎにおける接線方向のベクトルと逆行する成分を持たないという制約を満たすか否かを判定する。ベクトルＶｎ＋１が現画素Ｐｎにおける接線方向のベクトルと逆行する成分を持たないことは、合成境界Γが急峻に逆方向へ折れ曲がるような曲線とならないようにするための制約である。現画素Ｐｎにおける接線方向のベクトルは、図１０に示すように、近似的に、画素Ｐｎ−１から現画素ＰｎへのベクトルＶＰｎと定義する。画素Ｐｎ−１は、現画素Ｐｎに隣接し、現画素Ｐｎの前に合成境界画素として選択された画素である。現画素ＰｎがＰ０の場合には画素Ｐｎ−１が存在しないため、基準合成境界Γ０上で画素Ｐ０に隣接する画素を仮に画素Ｐｎ−１とする。
【００４０】
ベクトルＶＰｎ＋１がベクトルＶＰｎと逆行する成分を持たないか否かの判定は、両ベクトルの内積ＶＰｎ・ＶＰｎ＋１＝｜ＶＰｎ｜｜ＶＰｎ＋１｜ｃｏｓθ１の符号、すなわちｃｏｓθ１の符号により判定する。境界決定部１２は、ｃｏｓθ１の符号が正であれば、ベクトルＶＰｎ＋１とベクトルＶＰｎとが逆行する成分を持たないという制約を満たすと判定し、処理はステップＳ５４５へ移行する。ステップＳ５４５では、境界決定部１２が、隣接画素Ｐｎ＋１を、現画素Ｐｎに隣接する合成境界画素の候補（以下、「候補画素Ｐｎ＋１」という）の１つとして、所定の記憶領域に記憶された候補画素リストに格納する。
【００４１】
一方、上記ステップＳ５４４で、ｃｏｓθ１の符号が負であり、ベクトルＶＰｎ＋１とベクトルＶＰｎとが逆行する成分を持たないという制約を満たさないと判定された場合には、ステップＳ５４５をスキップして、処理はステップＳ５４６へ移行する。すなわち、隣接画素Ｐｎ＋１を候補画素Ｐｎ＋１から除外する。
【００４２】
このように、上記ステップＳ５４２〜Ｓ５４５の処理により、探索範囲Γ１−Γ２に含まれ、かつ合成境界Γが急峻に折れ曲がらないような隣接画素Ｐｎ＋１が、現画素Ｐｎに隣接する合成境界画素の候補として抽出される。
【００４３】
なお、合成境界Γを示す閉曲線が微小領域で生成されないように、ベクトルＶＰｎ＋１とベクトルＶＰｎとの成す角θ１を小さな値に制限してもよい。また、ベクトルＶＰｎを、既に合成境界画素として選択されている直近のｍ画素から算出してもよいし、隣接画素Ｐｎ＋１と直近のｍ画素とで表される曲線の曲率が所定範囲の値となるように制限してもよい。
【００４４】
なお、現画素Ｐｎに隣接する合成境界画素の候補を抽出する際の制約は、想定される合成境界Γの形状に応じて適宜設定することができる。また、探索範囲をより限定した範囲に設定するなどした場合には、その他の制約を設けることなく現画素Ｐｎに隣接する合成境界画素の候補を抽出してもよい。
【００４５】
次に、ステップＳ５４６で、境界決定部１２が、現画素Ｐｎの隣接画素Ｐｎ＋１の全てについて、上記ステップＳ５４２〜Ｓ５４５の処理を行うために選択したか否かを判定する。未選択の隣接画素Ｐｎ＋１が存在する場合には、処理はステップＳ５４１に戻り、境界決定部１２が、次の隣接画素Ｐｎ＋１を選択して、ステップＳ５４２〜Ｓ５４５の処理を繰り返す。未選択の隣接画素Ｐｎ＋１が存在しない場合には、候補画素リスト作成処理は終了して、合成境界決定処理にリターンする。
【００４６】
次に、合成境界決定処理のステップＳ５６で、境界決定部１２が、上記ステップＳ５４で作成した候補画素リストから、候補画素Ｐｎ＋１を１つ選択する。上述のように、第１実施形態では、合成境界部分にポアソン方程式等の画像処理を施した場合に生じる合成画像の品質の低下を防止することを目的としている。そのために、マスク画像Ｓにおける探索範囲内の画素、及びその画素に対応する入力画像Ｄの画素の各々の画素値の勾配の類似度が所定値以上となる画素を合成境界画素として選択する。
【００４７】
そこで、次のステップＳ５８で、境界決定部１２が、選択した候補画素Ｐｎ＋１の画素値の勾配を計算する。勾配強度及び方向の計算手法は一般的な手法を用いることができる。ここでは一例として、ｓｏｂｅｌフィルタで勾配強度及び方向を計算する場合について説明する。Ｓｏｂｅｌフィルタによる候補画素Ｐｎ＋１の水平方向の微分値をＳｘ（Ｐｎ＋１）、垂直方向の微分値をＳｙ（Ｐｎ＋１）とすると、候補画素Ｐｎ＋１における勾配は、ベクトルＶＧＰｎ＋１＝（Ｓｘ（Ｐｎ＋１），Ｓｙ（Ｐｎ＋１））で表される。なお、画素Ｐｎにおける勾配強度ＧＰｎ及び方向θＧＰｎは、下記（１）式で表される。
【００４８】
【数１】
2015212889.tif 000003
【００４９】
次に、ステップＳ６０で、境界決定部１２が、図１１に示すように、マスク画像Ｓにおける候補画素Ｐｎ＋１に対応する入力画像Ｄ上の画素Ｑｎ＋１の画素値の勾配を計算する。候補画素Ｐｎ＋１の画素値の勾配の場合と同様に、Ｓｏｂｅｌフィルタによる画素Ｑｎ＋１の水平方向の微分値をＳｘ（Ｑｎ＋１）、垂直方向の微分値をＳｙ（Ｑｎ＋１）とする。画素Ｑｎ＋１における勾配は、ベクトルＶＧＱｎ＋１＝（Ｓｘ（Ｑｎ＋１），Ｓｙ（Ｑｎ＋１））で表される。なお、画素Ｑｎにおける勾配強度ＧＱｎ及び方向θＧＱｎは、下記（２）式で表される。
【００５０】
【数２】
2015212889.tif 000004
【００５１】
次に、ステップＳ６２で、境界決定部１２は、マスク画像Ｓ上の候補画素Ｐｎ＋１の画素値の勾配と、入力画像Ｄ上の画素Ｑｎ＋１の画素値の勾配との類似度を計算する。勾配の類似度は、例えば、下記（３）式に示す両勾配を表すベクトル間の距離Ｄｉｆｆｎ＋１として計算することができる。すなわち、距離Ｄｉｆｆｎ＋１が小さいほど、両勾配の類似度が大きいことを示す。境界決定部１２は、計算した距離Ｄｉｆｆｎ＋１を、候補画素Ｐｎ＋１と対応付けて保持する。
【００５２】
【数３】
2015212889.tif 000005
【００５３】
なお、合成境界Γを決定する上で重要な勾配成分は、合成境界Γの法線方向の成分であるので、距離Ｄｉｆｆｎ＋１として、候補画素Ｐｎ＋１における法線方向の単位ベクトルをさらに掛けた値を計算するようにしてもよい。
【００５４】
次に、ステップＳ６４で、境界決定部１２が、候補画素リスト内の全ての候補画素Ｐｎ＋１を選択したか否かを判定する。未選択の候補画素Ｐｎ＋１が存在する場合には、処理はステップＳ５６に戻り、境界決定部１２が、次の候補画素Ｐｎ＋１を選択して、ステップＳ５８〜Ｓ６２の処理を繰り返す。候補画素リストに未選択の候補画素Ｐｎ＋１が存在しない場合には、処理はステップＳ６８へ移行する。
【００５５】
ステップＳ６８では、境界決定部１２が、保持している距離Ｄｉｆｆｎ＋１のうち、最小の距離Ｄｉｆｆｎ＋１に対応する候補画素Ｐｎ＋１を、合成境界Γを形成する合成境界画素として選択し、所定領域に記憶された合成境界画素リストに格納する。
【００５６】
次に、ステップＳ７０で、境界決定部１２が、合成境界画素リストに格納された合成境界画素を連結した曲線が閉曲線になったか否かを判定する。閉曲線になったか否かは、直近で選択した合成境界画素が上記ステップＳ５２で設定した初期画素Ｐ０に接合したか否かで判定することができる。なお、直近で選択した合成境界画素が初期画素Ｐ０付近に戻ってきても、初期画素Ｐ０に接合しない場合もあるため、合成境界画素リストに格納された合成境界画素を連結した曲線の一部に接合した場合に、閉曲線となったと判定してもよい。また、直近で選択した合成境界画素が、初期画素Ｐ０の周辺の所定範囲内に入った場合に、閉曲線となったと判定してもよい。この場合、直近で選択した合成境界画素と初期画素Ｐ０とを連結して閉曲線を形成すればよい。
【００５７】
合成境界画素を連結した曲線が閉曲線になっていない場合には、処理はステップＳ７２へ移行する。ステップＳ７２では、境界決定部１２が、上記ステップＳ６８で合成境界画素として選択した候補画素Ｐｎ＋１を、現画素Ｐｎに設定して、処理はステップＳ５４に戻る。合成境界画素を連結した曲線が閉曲線になった場合には、境界決定部１２が、その閉曲線を合成境界Γに決定し、合成境界決定処理は終了して、画像処理にリターンする。
【００５８】
次に、図３に示す画像処理のステップＳ８０で、合成部１４が、図１２に示すように、上記ステップＳ５０で決定された合成境界Γに基づいてマスク画像を切り出し、切り出したマスク画像を、入力画像Ｄにおける合成境界Γで示される領域に重畳する。次に、ステップＳ８２で、合成部１４が、合成境界Γ部分に、ポアソン方程式等の画像処理を施して合成境界Γ部分を滑らかにした合成画像を生成して出力し、画像処理を終了する。
【００５９】
以上説明したように、第１実施形態に係る画像処理装置１０によれば、入力画像の一部にマスク画像を重畳する際の入力画像とマスク画像との合成境界を、両画像の画素の勾配の類似度が大きい画素を選択することにより決定する。これにより、合成境界に対して、ポアソン方程式等を用いて合成境界部分を滑らかにする画像処理を施した場合でも、生成された画像において、合成境界の内外で画素値の勾配に不自然な不連続性が生じるような品質の低下を防止することができる。
【００６０】
なお、第１実施形態では、基準合成境界Γ０上に初期画素Ｐ０を設定する場合について説明したが、これに限定されない。探索境界Γ１またはΓ２上など、探索範囲Γ１−Γ２内に初期画素Ｐ０を設定すればよい。
【００６１】
また、第１実施形態では、１つの初期画素Ｐ０から探索を開始して選択した合成境界画素を連結した１つの合成境界Γを決定する場合について説明した。この場合、初期画素Ｐ０の条件によっては、局所解が求まり、最適解とならない可能性がある。これを防ぐため、探索範囲Γ１−Γ２内に複数の初期画素Ｐ０を設定し、各初期画素Ｐ０から探索を開始して選択した合成境界画素を連結した複数の閉曲線を求める。そして、各閉曲線について、下記（４）式に示すように、各閉曲線に含まれる画素について計算した距離Ｄｉｆｆｎ＋１の総和を、閉曲線の線路長ｌで割ったコストＣｍを計算する。
【００６２】
【数４】
2015212889.tif 000006
【００６３】
なお、ｋは閉曲線に含まれる画素を識別する変数で、ｋ＝０，１，・・・，ｍ−１であり、ｍは閉曲線に含まれる画素数である。従って、コストＣｍは、画素数ｍを用いて、簡易的に下記（５）式に示すコストＣ’ｍのように表すこともできる。
【００６４】
【数５】
2015212889.tif 000007
【００６５】
そして、各閉曲線について計算したコストＣ’ｍが最小となる閉曲線を、合成境界Γとして決定すればよい。
【００６６】
＜第２実施形態＞
次に、第２実施形態について説明する。
【００６７】
図１に示すように、第２実施形態に係る画像処理装置２１０は、境界決定部２１２と、合成部１４とを備える。第１実施形態に係る画像処理装置１０とは、境界決定部２１２が異なるため、異なる点について説明し、同一の部分については、同一符号を付して詳細な説明を省略する。
【００６８】
入力画像またはマスク画像において、顔の肌色部分と髪の毛の黒い部分との境界のように、不連続なテクスチャ要素により画像上にエッジが表れる場合がある。このようなエッジと交差するように合成境界を決定した場合には、エッジを構成する不連続なテクスチャ要素の画素値が、合成境界部分に対するポアソン方程式等の画像処理の際に影響して、合成画像の品質低下を招く場合がある。
【００６９】
そこで、境界決定部２１２は、第１実施形態における合成境界画素選択の際の制約に、不連続なテクスチャ要素によるエッジと交差しないような制約を加える。具体的には、境界決定部２１２は、マスク画像における探索範囲内の画素、及びその画素に対応する入力画像の画素の各々の画素値の接線方向の勾配を計算する。そして、境界決定部２１２は、いずれかの画素の接線方向の勾配が所定値以上の場合には、その画素は合成境界画素の候補から除外する。
【００７０】
画像処理装置２１０は、例えば図２に示すコンピュータ４０で実現することができる。コンピュータ４０が備える記憶部４６には、コンピュータ４０を画像処理装置２１０として機能させるための画像処理プログラム２５０が記憶されている。ＣＰＵ４２は、画像処理プログラム２５０を記憶部４６から読み出してメモリ４４に展開し、画像処理プログラム２５０が有するプロセスを順次実行する。
【００７１】
画像処理プログラム２５０は、境界決定プロセス２５２と、合成プロセス５４とを有する。ＣＰＵ４２は、境界決定プロセス２５２を実行することで、図１に示す境界決定部２１２として動作する。これにより、画像処理プログラム２５０を実行したコンピュータ４０が、画像処理装置２１０として機能することになる。
【００７２】
なお、画像処理装置２１０は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【００７３】
次に、第２実施形態の作用を説明する。第２実施形態の作用は、第１実施形態の作用と、図９に示す候補画素リスト作成処理のステップＳ５４４の処理が異なる。
【００７４】
第２実施形態におけるステップＳ５４４では、境界決定部２１２が、第１実施形態におけるステップＳ５４４と同様に、現画素Ｐｎから隣接画素Ｐｎ＋１へのベクトルをＶＰｎ＋１、画素Ｐｎ−１から現画素ＰｎへのベクトルをＶＰｎと定義する。そして、境界決定部２１２は、隣接画素Ｐｎ＋１について、ベクトルＶＰｎ＋１がベクトルＶＰｎと逆行する成分を持たないという第１の制約を満たすか否かを判定する。隣接画素Ｐｎ＋１が第１の制約を満たさない場合には、処理はステップＳ５４６へ移行する。
【００７５】
隣接画素Ｐｎ＋１が第１の制約を満たす場合には、境界決定部２１２は、さらに、隣接画素Ｐｎ＋１において、ベクトルＶＰｎ＋１が不連続なテクスチャ要素によるエッジと交差しないという第２の制約を満たすか否かを判定する。具体的には、隣接画素Ｐｎ＋１を合成境界画素として選択した場合の画素Ｐｎにおける合成境界の接線方向の勾配強度が所定値以上の場合には、その隣接画素Ｐｎ＋１は第２の制約を満たさないと判定する。
【００７６】
より具体的には、境界決定部２１２は、合成境界決定処理（図８）のステップＳ５８で求めたＶＧＰｎ＝（Ｓｘ（Ｐｎ），Ｓｙ（Ｐｎ））で表される現画素Ｐｎにおける画素値の勾配の勾配強度ＧＰｎを、例えば（１）式により計算する。図１３に示すように、勾配強度ＧＰｎのベクトルＶＰｎ＋１に沿った方向の強度Ｇ’Ｐｎは、ベクトルＶＰｎ＋１とベクトルＶＧＰｎとの成す角θＰ２で余弦を求めればよい。θＰ２は、下記（６）式で表すことができる。
【００７７】
【数６】
2015212889.tif 000008
【００７８】
従って、隣接画素Ｐｎ＋１を合成境界画素として選択した場合の画素Ｐｎにおける合成境界の接線方向の勾配強度Ｇ’Ｐｎは、下記（７）式となる。
【００７９】
【数７】
2015212889.tif 000009
【００８０】
境界決定部２１２は、マスク画像Ｓ上の隣接画素Ｐｎ＋１に対応する入力画像Ｄ上の画素Ｑｎ＋１についても、同様に、下記（８）式により、接線方向の勾配強度を計算する。
【００８１】
【数８】
2015212889.tif 000010
【００８２】
そして、境界決定部２１２は、第１の制約を満たす隣接画素Ｐｎ＋１のうち、（７）式により計算した接線方向の勾配強度Ｇ’Ｐｎが予め定めた閾値Ｔｈよりも小さいか否かを判定する。さらに、境界決定部２１２は、隣接画素Ｐｎ＋１に対応する画素Ｑｎ＋１について（８）式により計算した接線方向の勾配強度Ｇ’Ｑｎが閾値Ｔｈよりも小さいか否かを判定する。両方の勾配強度が閾値Ｔｈより小さい場合には、ステップＳ５４５へ移行し、境界決定部１２が、隣接画素Ｐｎ＋１を、合成境界画素の候補画素Ｐｎ＋１として、候補画像リストに格納する。Ｇ’Ｐｎ≧ＴｈまたはＧ’Ｑｎ≧Ｔｈの場合には、エッジと交差する合成境界が形成される可能性があるため、隣接画素Ｐｎ＋１を候補画素Ｐｎ＋１として抽出することなく、処理はステップＳ５４６へ移行する。
【００８３】
以上説明したように、第２実施形態に係る画像処理装置２１０によれば、接線方向の勾配強度が所定値以上の場合には、その画素は合成境界画素の候補から除外する。これにより、不連続なテクスチャ要素による画像上のエッジと交差するような合成境界が形成されることを防止することができる。従って、エッジを構成する不連続なテクスチャ要素の画素値が、合成境界部分に対するポアソン方程式等の画像処理の際に影響して、合成画像の品質低下を招くことを防止することができる。
【００８４】
なお、第２実施形態では、接線方向の勾配強度を、合成境界を構成する合成境界画素の候補の制約として用いる場合について説明したが、これに限定されない。候補画素から合成境界画素を選択する際のコスト（例えば（５）式に示すコスト）に、接線方向の勾配強度Ｇ’Ｐｎ及びＧ’Ｑｎを反映させてもよい。
【００８５】
また、上記第１及び第２実施形態では、入力画像中に被写体として写っている人物のプライバシーの保護を図ることを目的とした合成画像の生成について説明したが、これに限定されない。開示の技術は、他の目的の合成画像の生成の際にも適用することができる。また、合成対象も人物の顔に限定されない。
【００８６】
なお、上記では開示の技術に係る画像処理プログラムの一例である画像処理プログラム５０が記憶部４６に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係る画像処理プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【００８７】
以上の各実施形態に関し、更に以下の付記を開示する。
【００８８】
（付記１）
コンピュータに、
入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を示す境界画素として、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、前記境界を決定する
ことを含む処理を実行させる画像処理方法。
【００８９】
（付記２）
前記勾配の類似度が所定値以上、かつ前記マスク画像と前記入力画像とで対応する画素の各々において、前記境界の接線方向の勾配が予め定めた閾値以下となる画素を、前記境界画素として選択する付記１記載の画像処理方法。
【００９０】
（付記３）
前記入力画像及び前記マスク画像の少なくとも一方のサイズに基づいて、前記境界画素として選択する画素の範囲を定め、前記範囲内に設定した注目画素の隣接画素のうち、前記勾配の類似度が最大の画素を前記勾配の類似度が所定値以上の画素とし、選択した境界画素を次の注目画素に設定することを繰り返して、前記境界を決定する付記１または付記２記載の画像処理方法。
【００９１】
（付記４）
決定された境界に含まれる境界画素の各々の前記勾配の類似度の和を、前記境界の長さで除した値が最大になるように、前記境界画素を選択する付記１〜付記３のいずれか１項記載の画像処理方法。
【００９２】
（付記５）
前記勾配の類似度として、前記境界の法線方向の勾配の類似度を用いる付記１〜付記４のいずれか１項記載の画像処理方法。
【００９３】
（付記６）
前記コンピュータに、
決定した前記境界に基づいて切り出したマスク画像を、前記入力画像の対応する領域に重畳し、前記境界を示す画素及び該画素の周辺画素を用いて、前記境界付近に対する画像処理を行って、前記合成画像を生成する
ことを含む処理をさらに実行させる付記１〜付記５のいずれか１項記載の画像処理方法。
【００９４】
（付記７）
入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を示す境界画素として、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、前記境界を決定する決定部
を含む画像処理装置。
【００９５】
（付記８）
前記決定部は、前記勾配の類似度が所定値以上、かつ前記マスク画像と前記入力画像とで対応する画素の各々において、前記境界の接線方向の勾配が予め定めた閾値以下となる画素を、前記境界画素として選択する付記７記載の画像処理装置。
【００９６】
（付記９）
前記決定部は、前記入力画像及び前記マスク画像の少なくとも一方のサイズに基づいて、前記境界画素として選択する画素の範囲を定め、前記範囲内に設定した注目画素の隣接画素のうち、前記勾配の類似度が最大の画素を前記勾配の類似度が所定値以上の画素とし、選択した境界画素を次の注目画素に設定することを繰り返して、前記境界を決定する付記７または付記８記載の画像処理装置。
【００９７】
（付記１０）
前記決定部は、決定された境界に含まれる境界画素の各々の前記勾配の類似度の和を、前記境界の長さで除した値が最大になるように、前記境界画素を選択する付記７〜付記９のいずれか１項記載の画像処理装置。
【００９８】
（付記１１）
前記勾配の類似度として、前記境界の法線方向の勾配の類似度を用いる付記７〜付記１０のいずれか１項記載の画像処理装置。
【００９９】
（付記１２）
決定した前記境界に基づいて切り出したマスク画像を、前記入力画像の対応する領域に重畳し、前記境界を示す画素及び該画素の周辺画素を用いて、前記境界付近に対する画像処理を行って、前記合成画像を生成する合成部
をさらに含む付記７〜付記１１のいずれか１項記載の画像処理装置。
【０１００】
（付記１３）
コンピュータに、
入力画像の一部にマスク画像を重畳して合成画像を生成する際の前記入力画像と前記マスク画像との境界を示す境界画素として、前記マスク画像と前記入力画像とで対応する画素同士における画素値の勾配の類似度が所定値以上の画素を選択することにより、前記境界を決定する
ことを含む処理を実行させるための画像処理プログラム。
【０１０１】
（付記１４）
前記勾配の類似度が所定値以上、かつ前記マスク画像と前記入力画像とで対応する画素の各々において、前記境界の接線方向の勾配が予め定めた閾値以下となる画素を、前記境界画素として選択する付記１３記載の画像処理プログラム。
【０１０２】
（付記１５）
前記入力画像及び前記マスク画像の少なくとも一方のサイズに基づいて、前記境界画素として選択する画素の範囲を定め、前記範囲内に設定した注目画素の隣接画素のうち、前記勾配の類似度が最大の画素を前記勾配の類似度が所定値以上の画素とし、選択した境界画素を次の注目画素に設定することを繰り返して、前記境界を決定する付記１３または付記１４記載の画像処理プログラム。
【０１０３】
（付記１６）
決定された境界に含まれる境界画素の各々の前記勾配の類似度の和を、前記境界の長さで除した値が最大になるように、前記境界画素を選択する付記１３〜付記１５のいずれか１項記載の画像処理プログラム。
【０１０４】
（付記１７）
前記勾配の類似度として、前記境界の法線方向の勾配の類似度を用いる付記１３〜付記６のいずれか１項記載の画像処理プログラム。
【０１０５】
（付記１８）
前記コンピュータに、
決定した前記境界に基づいて切り出したマスク画像を、前記入力画像の対応する領域に重畳し、前記境界を示す画素及び該画素の周辺画素を用いて、前記境界付近に対する画像処理を行って、前記合成画像を生成する
ことを含む処理をさらに実行させるための付記１３〜付記１７のいずれか１項記載の画像処理プログラム
【符号の説明】
【０１０６】
１０、２１０  画像処理装置
１２、２１２  境界決定部
１４   合成部
２０   マスク画像記憶部
４０   コンピュータ
４２   ＣＰＵ
４４   メモリ
４６   記憶部
５０、２５０  画像処理プログラム
【図１】
2015212889.tif 000011
【図２】
2015212889.tif 000012
【図３】
2015212889.tif 000013
【図４】
2015212889.tif 000014
【図５】
2015212889.tif 000015
【図８】
2015212889.tif 000016
【図９】
2015212889.tif 000017
【図６】
2015212889.tif 000018
【図７】
2015212889.tif 000019
【図１０】
2015212889.tif 000020
【図１１】
2015212889.tif 000021
【図１２】
2015212889.tif 000022
【図１３】
2015212889.tif 000023