(57)【要約】【課題】境界領域の性質が不均一な入力画像から境界領域の幅が不等幅なトライマップの生成を簡易に生成する。【解決手段】処理対象領域とそれ以外の処理対象外領域との境界を取得する境界取得手段と、前記境界取得手段により取得される境界の周囲に未確定領域を設定する未確定領域設定手段と、処理対象領域から未確定領域を除いた領域を前景領域とし、処理対象外領域から未確定領域を除いた領域を背景領域として、前景領域、背景領域、及び未確定領域を特定する領域情報を生成する領域情報生成手段とを備え、前記未確定領域設定手段は、前記境界取得手段により取得される境界の周囲画素の特徴量に基づき、境界の周囲の未確定領域の幅を設定する。【選択図】  図５
2015141633.tif 000002
【特許請求の範囲】
【請求項１】
処理対象領域とそれ以外の処理対象外領域との境界を取得する境界取得手段と、
前記境界取得手段により取得される境界の周囲に未確定領域を設定する未確定領域設定手段と、
処理対象領域から未確定領域を除いた領域を前景領域とし、処理対象外領域から未確定領域を除いた領域を背景領域として、前景領域、背景領域、及び未確定領域を特定する領域情報を生成する領域情報生成手段とを備え、
前記未確定領域設定手段は、
前記境界取得手段により取得される境界の周囲画素の特徴量に基づき、境界の周囲の未確定領域の幅を設定することを特徴とする画像処理装置。
【請求項２】
前記境界取得手段は、
各画素が処理対象領域に存在する画素であるか処理対象外領域に存在する画素であるかを示す２値情報を取得することにより処理対象領域と処理対象外領域の境界を取得することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記未確定領域設定手段は、
境界の周囲画素の特徴量が類似する範囲、或いは、特徴量のばらつきが大きい範囲は未確定領域を広く設定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記未確定領域設定手段は、
前記境界の周囲画素における被写体への距離を特徴量とし、
前記距離が不安定な画素の周囲の未確定領域の幅を広く設定することを特徴とする請求項１又は２に記載の画像処理装置。 
【請求項５】
前記未確定領域設定手段は、
前記境界の周囲画素における被写体への距離の信頼度を特徴量とし、
前記信頼度が低い画素の周囲の未確定領域の幅を広く設定することを特徴とする請求項１又は２に記載の画像処理装置。 
【請求項６】
前記境界上の各点の周囲画素のエッジ方向とエッジ方向の分散を計算するエッジ計算手段をさらに備え、
前記未確定領域設定手段は、前記エッジ方向の分散を特徴量とすることを特徴とする請求項３に記載の画像処理装置。
【請求項７】
エッジ計算手段と未確定領域修正手段とをさらに備え、
前記エッジ計算手段は、
前記境界上の各点の周囲画素のエッジ方向とエッジ方向の分散を計算し、
前記未確定領域修正手段は、
境界点Ｘの未確定領域の幅Ｈｘと境界点Ｘ−１の未確定領域の幅Ｈｘ−１との差を算出し、
未確定領域の幅Ｈｘと未確定領域の幅Ｈｘ−１との差が第１の閾値以上である場合に、境界点Ｘの周囲画素のエッジ方向の分散と第２の閾値とを比較し、
境界点Ｘの周囲画素のエッジ方向の分散が第２の閾値以下である場合に、未確定領域の幅Ｈｘと未確定領域の幅Ｈｘ−１との差が小さくなるように、未確定領域の幅Ｈｘを変更し、
未確定領域の幅Ｈｘと未確定領域の幅Ｈｘ−１との差が第１の閾値以上でない場合、又は境界点Ｘの周囲画素のエッジ方向の分散が第２の閾値以下でない場合に、未確定領域の幅Ｈｘをそのままとする
ことを特徴とする請求項４又は５に記載の画像処理装置。 
【請求項８】
処理対象領域とそれ以外の処理対象外領域との境界を取得する境界取得工程と、
前記境界取得工程により取得される境界の周囲画素の特徴量に基づき、境界の周囲に設定される未確定領域の幅を設定する未確定領域設定工程と、
処理対象領域から未確定領域を除いた領域を前景領域とし、処理対象外領域から未確定領域を除いた領域を背景領域として、前景領域、背景領域、及び未確定領域を特定する領域情報を生成する領域情報生成工程と、を備えた、
ことを特徴とする画像処理方法。
【請求項９】
請求項８に記載の各工程をコンピュータに実行させるための画像処理プログラム。
【請求項１０】
請求項９に記載の画像処理プログラムを記録したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムに関するものであり、具体的には、画像合成などに必要となる画素の不透明度を表現するアルファ画像を好適に生成する画像処理装置及び画像処理方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
画像における対象領域抽出技術は、オブジェクトセグメンテーション技術とアルファマッティング技術に大きく分類出来る。これらの技術は、画像の認識・理解・検索や、合成画像の生成や被写体のリフォーカス等の目的で利用されている。
オブジェクトセグメンテーションは、対象領域を背景領域から切出し、２値の分離画像を生成する技術である。そのための典型的な手法として、映画業界で標準的に用いられているクロマキー法や背景差分法が挙げられる。また、特定の背景を必要としない方法として、ユーザが物体の含まれる範囲を指定し、あるいは、背景と物体の一部を其々ペイントし、そして、色情報に基づき対象領域を抽出する方法が提案されている（非特許文献１、非特許文献２参照）。
【０００３】
しかし、対象領域と背景領域との２値分離を狙うオブジェクトセグメンテーション技術は、頭髪や毛皮などのシルエットの複雑な物体や、半透明部分のある物体を含む画像における高精度な対象領域の抽出が困難である。
図１は、セグメンテーションによって生成された２値の分離画像の一例を示す。図１（Ａ）は入力画像例で、図１（Ｂ）は２値分離の結果例である。ここで、抽出された対象領域を白で、背景領域を黒で表し、また、対象領域と背景領域の境界を実線で、実際の物体の輪郭線を点線で表す。
【０００４】
一方、アルファマッティングは、対象領域と背景領域の境界にある画素の透明度（以下、アルファとも呼ぶ）までを推定し、対象領域を一層正確に抽出する技術である。マッティング処理は、基本的に、間違いなく対象領域である部分、間違いなく背景領域である部分、また、どっちの領域なのか明確に言えない部分に対応する３値のトライマップ画像を生成し、未確定領域にある画素のアルファを推定し、アルファ画像を生成する。以下、間違いなく対象領域である部分を「確定前景領域」とも呼び、間違いなく背景領域である部分を「確定背景領域」とも呼び、どっちの領域なのか明確に言えない部分を「未確定な領域」とも呼ぶ。
アルファは、画素が前景か背景かの確率を表すもので、前景と背景の色の合成の比率として捕らえることも出来る。例えば、確定前景領域にある画素のアルファを１、確定背景領域にある画素のアルファを０とすると、未確定領域にある画素のアルファは０と１の間の数値になり、当該画素において、前景が背景の一部を遮蔽していることを意味する。アルファ推定方法はいくつか提案されている（非特許文献３、非特許文献４参照）。
【０００５】
一般に、与えられた入力画像は、前景色と背景色による線形混合のものであるという理論に基づき、入力画像を前景色と背景色に分解し、それによって、未確定領域のアルファを推定する。しかし、どのアルファ推定方法でも、トライマップの入力が必要である。また、アルファ推定の精度は、トライマップの質に大きく影響される。
図２は、トライマップ画像及びアルファ推定の一例を示す。図２（Ａ）は入力画像例である。図２（Ｂ）のトライマップ例では、確定背景領域を黒で、確定前景領域を白で、未確定領域をグレーでそれぞれ表す。参考に、物体の輪郭を点線で表す。図２（Ｃ）はアルファ推定によって生成されたアルファ画像例である。ここで、図２（Ｂ）にある確定前景領域はアルファが１で、白で表し、図２（Ｂ）にある確定背景領域はアルファが０で、黒で表し、図２（Ｂ）にある未確定領域のアルファ推定結果は０と１の間の数値で、白と黒の中間色であるグレーで表す。
【０００６】
トライマップの生成手法は、手動設定と自動生成に大きく分かれる。手動設定では、ユーザがペイントツールなどを操作して、前景、背景と想定される領域をそれぞれ確定前景、確定背景とし、対象領域の輪郭付近にある領域を未確定領域とし、３値のトライマップ画像をペイントして作成する。自動生成は、主に以下の手法が提案されている。
セグメンテーションによって生成された２値の分離画像に基づく自動生成では、セグメンテーションから抽出された対象領域と背景領域の境界において所定幅の未確定領域を設定する。そして、前景領域に属する画素、背景領域に属する画素、及び、未確定領域に属する画素からなるトライマップ画像を生成する。
【０００７】
セグメンテーションとアルファマッティングの両方に基づく自動生成では、先ず、上述の自動生成方法によってトライマップを生成し、アルファを推定する。そして、アルファが０と１の間にある画素であって、エッジフローベクトルで設定される所定の楕円形状の近傍範囲の画素を未確定画素に設定して更新する。そして、更新前後のトライマップが同一、或いは、略同一か（つまり、収束したか）を判断し、収束していなければ、上記のアルファ推定、トライマップの更新、収束判断といった一連の処理を繰り返して行う（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−６６８０２号公報
【非特許文献】
【０００９】
【非特許文献１】BOYKOV, Y., AND JOLLY, Interactive graph cuts  for optimal boundary and region segmentation of objects in N-D  images.In Proceedings of IEEEInt. Conf. on Computer Vision, 2001.
【非特許文献２】ROTHER et al., Grabcut - Interactive Foreground Extraction Using Iterated Graph Cuts, ACM Trans. Graph., vol. 23, No. 3, 2004, pp. 309-314.
【非特許文献３】LGrady, T Schiwietz, S Aharon, Random Walks ForInteractive Alpha-matting,Proceedings of VIIP, 2005.
【非特許文献４】Yung-Yu C, et al. A Bayesian Approach to Digital Matting,In Proceedings of IEEE Computer Vision and Pattern Recognition, Vol. II, 264-271, 2001
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、トライマップ画像の手動生成では、ユーザが対象領域の輪郭に沿って適切に境界領域の太さを設定する必要があり、ツールに習熟しなければならないし、複雑な形状の物体に対して試行錯誤になることが多いため、入力作業が難しく煩雑であった。
また、セグメンテーションの２値分離に基づくトライマップ画像の自動生成では、シルエットの複雑な物体の抽出が高精度に出来なく、それによって等幅に設定された未確定領域及び、そこから派生した確定前景領域、確定背景領域が適切ではない場合がある。未確定領域の幅を一律に狭くすると、本来の物体の輪郭付近は必ずしも未確定領域に入らない。その反面、未確定領域の幅を一律に広くすると、本来の物体の輪郭付近は未確定領域に入れるが、未確定領域の画素の色推定、アルファ推定の誤差は大きく拡散されてしまう。
一方、オブジェクト（処理対象）の外縁部分は必ずしも性質が一律ではない。性質が一律ではない外縁部分に等幅な未確定領域を設定すると、正確なアルファ推定が困難になる。
【００１１】
図３は、セグメンテーションの２値分離から生成したトライマップ画像の一例を示す。図３（Ａ）は入力画像例である。図３（Ｂ）の２値分離例では、抽出された対象領域を白で、背景領域を黒で表し、また、その対象領域と背景領域の境界を実線で、実際の物体の輪郭線を点線で表す。物体と背景領域の２値分離は、実際の物体の輪郭とズレがあることが分かった。図３（Ｃ）のトライマップ例では、確定背景領域を黒で、確定前景領域を白で、未確定領域をグレーでそれぞれ表す。このトライマップによるアルファ推定処理では、グレー領域にある画素のみの透明度を推定することになる。そのため、楕円３０１に囲まれたような本来は物体の一部であるはずの領域、即ち、真の境界付近の領域は、黒の確定背景領域に含まれてしまったので、妥当なアルファ推定が出来なくなった。
【００１２】
また、セグメンテーションとアルファマッティング両方に基づくトライマップ画像の自動生成では、セグメンテーションによる初期のトライマップの生成後、マッティングによるトライマップの更新及び、更新後のトライマップによるマッティング処理を繰り返す。このため、処理負荷が大きいし、高精度なアルファ推定の実現が難しい。
一方、近年、単眼カメラに距離測定センサの搭載や、複数カメラから取得する多視点画像などを利用した距離、即ち、奥行きの推定が可能になってきている。特にステレオ撮影等では、同じ対象物が含まれる画像を使って距離推定を行い、基準画像を相互に変更して距離推定値を比較し、推定値が近ければ距離の信頼度が高い、そうでなければ、距離の信頼度が低いというような信頼度を計算することもある。これらの距離情報、即ち、距離値、或いは、距離の信頼度は、有用な情報として画像処理に用いられている。
【００１３】
図４は、距離画像の一例を示すものである。図４（Ａ）は入力画像の一例であるが、この例では、被写体の周囲は不明瞭で、その一部は輝度が低い。図４（Ｂ）は入力画像例の距離推定の結果例で、距離の遠近は明度で現している。ここで、明度が高い程、撮影機器までの距離が近いと考えられる。また、距離推定が出来ていない処や、無限遠な処を黒で表す。この例から、被写体と背景領域の境界付近は、正確な距離推定が困難であることが分かる。この傾向から真の境界付近の領域推定が可能になる。一方、この例では、距離情報の特徴を分かりやすく説明するために、被写体部分、背景部分、被写体と背景の境界部分、被写体の輝度の低い部分をそれぞれ均一な距離値で現している。しかし、実際の距離推定画像は、画素毎に違う距離値を持つノイズの沢山載るものであるため、距離情報のみでは境界付近の領域推測が不足である。
本発明はこのような状況に鑑みてなされたものであり、処理対象領域とそれ以外の領域との境界情報及び距離情報に基づき、画像の特性に応じて不等幅のトライマップを生成し、簡易で、高精度な対象領域の抽出を可能にするものである。
【課題を解決するための手段】
【００１４】
上述の課題を解決するために本発明に係る画像処理装置は、処理対象領域とそれ以外の処理対象外領域との境界を取得する境界取得手段と、
前記境界取得手段により取得される境界の周囲に未確定領域を設定する未確定領域設定手段と、
処理対象領域から未確定領域を除いた領域を前景領域とし、処理対象外領域から未確定領域を除いた領域を背景領域として、前景領域、背景領域、及び未確定領域を特定する領域情報を生成する領域情報生成手段とを備え、
前記未確定領域設定手段は、
前記境界取得手段により取得される境界の周囲画素の特徴量に基づき、境界の周囲の未確定領域の幅を設定することを特徴とする。
【発明の効果】
【００１５】
本発明の画像処理装置及び画像処理方法、並びにプログラムによれば、入力画像にある物体の境界領域の特性に合わせて未確定領域の幅を制御し、真の境界付近の領域を未確定領域に入るようなトライマップを生成し、アルファを推定することによって、未確定領域のアルファ推定を無駄なく、効率良く行うことができ、正確的に被写体領域を抽出することが出来る。
【図面の簡単な説明】
【００１６】
【図１】セグメンテーションによって生成された２値の分離画像の一例を示すものである。
【図２】トライマップ画像及びアルファ推定の一例を示すものである。
【図３】セグメンテーションの２値分離から生成したトライマップ画像の一例を示すものである。
【図４】距離画像の一例を示すものである。
【図５】本発明の第１実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図６】本発明の第１実施形態に係る画像処理装置の主要部構成を示すブロック図である。
【図７】本発明の第１実施形態に係る画像処理方法の流れを示すフローチャートである。
【図８】本発明の第１実施形態におけるトライマップ生成処理の流れを示すフローチャートである。
【図９】本発明の第１実施形態における境界点の未確定範囲の同定処理を示すフローチャートである。
【図１０】本発明の第１実施形態における境界点の未確定範囲の同定処理の一例を示すものである。
【図１１】本発明の第１実施形態における図３（Ａ）に示す画像例のトライマップ生成処理の一例を示すものである。
【図１２】本発明の第２実施形態における境界点の未確定範囲の同定処理を示すフローチャートである。
【図１３】本発明の第３実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図１４】本発明の第３実施形態に係る画像処理方法の流れを示すフローチャートである。
【図１５】本発明の第３実施形態におけるトライマップ生成処理の流れを示すフローチャートである。
【図１６】本発明の第３実施形態における境界点の未確定範囲の同定処理を示すフローチャートである。
【図１７】本発明の第３実施形態における境界点の未確定範囲の同定処理の一例を示すものである。
【図１８】本発明の第４実施形態に係る画像処理装置の機能構成を示すブロック図である。
【図１９】本発明の第４実施形態に係る画像処理方法の流れを示すフローチャートである。
【図２０】本発明の第４実施形態におけるトライマップ修正処理の流れを示すフローチャートである。
【図２１】本発明の第４実施形態におけるトライマップ修正処理の一例を示すものである。
【図２２】処理対象領域、境界線、処理対象外領域、前景領域、未確定領域、背景領域などの一例を示すものである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明に係る画像処理装置を用いた被写体抽出処理について詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術の範囲は、特許請求の範囲によって確定されるものであって、以下の個別の実施形態によって限定されるわけではない。
本発明の実施形態に係る画像処理装置は、境界取得手段と、未確定領域設定手段と、領域情報生成手段とを備える。
境界取得手段は、処理対象領域とそれ以外の処理対象外領域との境界を取得する。
未確定領域設定手段は、境界取得手段により取得される境界の周囲に未確定領域を設定する。
領域情報生成手段は、処理対象領域から未確定領域を除いた領域を前景領域とし、処理対象外領域から未確定領域を除いた領域を背景領域として、前景領域、背景領域、及び未確定領域を特定する領域情報を生成する。
未確定領域設定手段は、境界取得手段により取得される境界の周囲画素の特徴量に基づき、境界の周囲の未確定領域の幅を設定することを特徴とする。
境界取得手段は、各画素が処理対象領域に存在する画素であるか、それとも処理対象外領域に存在する画素であるかを示す２値情報を取得することにより処理対象領域と処理対象外領域の境界を取得するとしても良い。
未確定領域設定手段は、境界の周囲画素の特徴量のばらつきが小さい範囲は未確定領域を狭く設定し、境界の周囲画素の特徴量のばらつきが大きい範囲は未確定領域を広く設定するとしても良い。
特徴量は、距離情報を含む。距離情報は、距離値（距離の推定値）や距離の信頼度を含む。
［第１実施形態］
図５は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【００１８】
＜画像処理装置の構成＞
画像処理装置は、トライマップ生成部１１、アルファ推定部１２を備えている。
トライマップ生成部１１は、境界情報及び距離情報を入力とし、確定前景領域、確定背景領域、及び未確定領域からなる３値のトライマップ画像を生成する。
図２２（Ａ）に示すように、境界情報は、処理対象領域とそれ以外の領域（処理対象外領域）との境界の情報である。
図２２（Ｂ）に示すように、前景領域は処理対象領域から未確定領域を除いた領域であり、背景領域は処理対象外領域から未確定領域を除いた領域である。
境界情報は、図２２（ｃ）に示すような、処理対象領域に存在する画素であるか処理対象外領域に存在する画素であるかを示す２値情報でも良いし、境界線でも良いし、境界点のリストでも良い。距離情報は、処理対象画像にある各画素の撮影装置までの遠近を表す距離でも良いし、距離の信頼度でも良い。
トライマップ生成部１１は、境界取得部１１０１と未確定領域設定部１１０２と領域情報生成部１１０３とを備える。
境界取得部１１０１は処理対象領域とそれ以外の処理対象外領域との境界を取得する。
未確定領域設定部１１０２は、境界取得部１１０１により取得される境界の周囲に未確定領域を設定する。未確定領域設定部１１０２は、境界取得部１１０１により取得される境界の周囲画素の特徴量に基づき、境界の周囲の未確定領域の幅を設定する。
領域情報生成部１１０３は、処理対象領域から未確定領域を除いた領域を前景領域とし、処理対象外領域から未確定領域を除いた領域を背景領域として、前景領域、背景領域、及び未確定領域を特定する領域情報を生成する。
アルファ推定部１２は、トライマップ生成部１１で生成された３値のトライマップにある未確定領域において、各画素の色情報を利用してアルファを推定し、被写体を抽出する。
【００１９】
＜システム構成＞
図６は、本発明の第１実施形態に係る画像処理装置を実現した一実施形態である撮影装置の主要部構成を示すブロック図である。
中央処理装置ＣＰＵ１０１は、以下に述べる各部を統括的に制御する。
撮影部１０２は、画像距離データを取得する。
バス１０３は各種データの転送経路となる。例えば、撮影部１０２によって取得されたデジタルデータはこのバス１０３を介して所定の処理部に送られる。
表示部１０４は撮影画像や文字の表示を行う。例えば、液晶ディスプレイが用いられる。表示部１０４はタッチスクリーン機能を有していても良い。
表示制御部１０５は、表示部１０４に表示される撮影画像や文字の表示制御を行う。
操作部１０６はユーザの指示を受け取る。ボタンや撮影モードダイヤルなどが含まれる。この操作による設定内容はＣＰＵを介して所定の処理を制御する。
本発明での領域の手動指定部は、表示制御部１０５と操作部１０６を使うことにより容易に実現できる。
撮影制御部１０７は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなどの、ＣＰＵ１０１からの指示に基づいた撮像系の制御を行う。
デジタル信号処理部１０８は、バス１０３を介して受け取ったデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う。
画像処理部１０９は、撮影部１０２で取得された画像、或いは、デジタル信号処理部１０８から出力される画像から出力されるデジタル画像、或いは、操作部１０６からユーザの指定に応じて画像処理を行う。
圧縮／伸長部１１０は、デジタルデータ、或いは、画像処理の結果をＪＰＥＧやＭＰＥＧやベクトル化などのファイルフォーマットへの変換、或いは、符号化制御を行う。
内部メモリ１１１は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能するほか、ＣＰＵ１０１で実行される制御プラグラム等を格納する。
外部メモリ制御部１１２は、ＰＣやその他のメディア（例えば、ハードディスク、メモリカード、ＣＦカード、ＳＤカード、ＵＳＢメモリ）に繋ぐためのインターフェースである。
図５の画像処理装置は、図６の撮影装置における撮影部１０２からの撮影画像データ、或いは、内部メモリ１１１、外部メモリ１１３に蓄積した画像データを処理対象とし、ＣＰＵ１０１による制御で被写体抽出を行う。また、図５の画像処理装置の画像処理結果は、図６の撮影装置における圧縮／伸長部１１０において符号化する、或いは、内部メモリ１１１、外部メモリ１１３に保存する、或いは、他の画像処理に用いる。
【００２０】
＜画像処理方法の流れ＞
図７は、本実施形態に係る図５に示される画像処理装置における、入力画像から被写体の抽出結果を得るための処理を示すフローチャートである。
先ず、ステップＳ１１では、処理対象画像の境界情報及び距離情報を入力する。境界情報は、処理対象領域とそれ以外の領域の境界、即ち、前景領域と背景領域の２値情報の境界である。距離情報は、処理対象画像にある各画素に対応する物体から撮影装置までの距離を表す距離値、或いは、距離の信頼度を表す情報である。
次に、ステップＳ１２では、境界情報及び距離情報を参照し、確定前景領域、確定背景領域、及び未確定領域からなる３値のトライマップを生成する。このトライマップ生成処理は、前景領域と背景領域の間にある各境界画素おいて、周囲にある画素（以下、「周囲画素」とも記載する）の距離情報を参照し、トライマップの未確定領域の幅を決める。このトライマップ生成処理の詳細について、図８を参照して後述する。
次に、ステップＳ１３では、処理対象画像、即ち、色画像、を入力する。
次に、ステップＳ１４では、ステップＳ１２により生成されたトライマップにある未確定領域において、各画素の色情報に基づき、構成する前景色と背景色を推定し、アルファを推定する。このアルファ推定処理の詳細について後述する。
【００２１】
＜ステップＳ１２：トライマップ生成処理＞
第１実施形態におけるトライマップ生成処理の詳細について、図８を参照して説明する。
先ず、ステップＳ１２１では、境界情報を入力する。
次に、ステップＳ１２２では、処理対象となる境界点を取得する。
次に、ステップＳ１２３では、距離画像を入力する。ここで、距離推定が出来ていない処を黒で表し、距離値は低い値になる。
次に、ステップＳ１２４では、処理対象となる境界点において、周囲画素の特徴量（距離情報）を参照して、未確定範囲を同定する。この境界点の未確定範囲の同定処理の詳細について、図９を参照して説明する。
次に、ステップＳ１２５では、全ての境界点は処理済みであるかを判断する。まだ未処理の境界点があれば、上記ステップＳ１２２からステップＳ１２４までの処理を繰り返して行う。未処理の境界点がなければ、ステップＳ１２６では、上記のすべての境界点の未確定範囲の情報によってトライマップ画像を生成する。
【００２２】
＜ステップＳ１２４：境界点の未確定範囲の同定処理＞
第１実施形態における境界点の未確定範囲の同定処理の詳細について、図９を参照して説明する。
先ず、ステップＳ１２４０１では、処理対象となる境界点の座標情報（Ｘ、Ｙ）を取得する。
次に、ステップＳ１２４０２からステップＳ１２４１０まで、当該境界点の周囲画素の距離値に基づき未確定範囲の幅を制御する。
ステップＳ１２４０２では、処理対象となる境界点の左隣りにある画素に注目し、当該画素は距離推定が未確定な画素であるかどうかを判断する。画素の距離値が閾値より低ければ、当該画素は距離推定の未確定な画素である（つまり、不安定な画素である）と判断し、ステップＳ１２４０３に進む。画素の距離値が閾値より低くなければ、ステップＳ１２４０４に進む。
ステップＳ１２４０３では、未確定である（つまり、不安定である）と判断した画素の左隣りにある画素に注目し、ステップＳ１２４０２と同様の判断処理を繰り返す。判断の対象となっている画素の距離値が閾値より低くなければ、当該画素は距離値の未確定な画素でない（つまり、安定な画素である）と判断し、ステップＳ１２４０４に入る。
ステップＳ１２４０４では、未確定な画素ではないと判断した画素の座標（ＸＬ、Ｙ）を記録する。
【００２３】
同様に、境界点の右にある画素に注目する。
ステップＳ１２４０５では、処理対象となる境界点の右隣りにある画素に注目し、当該画素が距離推定の未確定な画素であるかどうかを判断する。この画素の距離値が低ければ、当該画素は距離推定の未確定な画素であると判断し、ステップＳ１２４０６に進む。距離値が低くなければ、ステップＳ１２４０７に進む。
ステップＳ１２４０６では、未確定であると判断した画素の右隣りにある画素に注目し、ステップＳ１２４０５と同様の判断処理を繰り返す。判断の対象となっている画素の距離値が低くなければ、当該画素は距離値の未確定な画素でないと判断し、ステップＳ１２４０７に入る。
ステップＳ１２４０７では、未確定な画素ではないと判断した画素の座標（ＸＲ、Ｙ）を記録する。
そして、ステップＳ１２４０８では、２つのＸ座標の差の絶対値（つまり、｜ＸＬ−ＸＲ｜）がある閾値Ｔ以上であるかどうかを判断する。｜ＸＬ−ＸＲ｜がＴ未満であれば、ステップＳ１２４０９では、未確定領域の幅をＴ１として設定するが、｜ＸＬ−ＸＲ｜がＴ以上であれば、ステップＳ１２４１０では、未確定領域の幅をＴ２として設定する。ただし、Ｔ１＜Ｔ２である。
【００２４】
＜境界点の未確定範囲の同定処理の処理例＞
図１０は、第１実施形態における境界点の未確定範囲の同定処理の一例を示す。
ここで、処理対象となる境界点はＯ（Ｘ，Ｙ）で表す。当該境界点の未確定範囲の決定のため、左右の隣にある画素の距離情報に基づく処理を行う。左にある△で現す画素Ｏ１（Ｘ１、Ｙ）は、距離推定の困難な画素である。その左にある○で表す画素ＯＬ（ＸＬ、Ｙ）は、距離推定が出来ている画素である。同様に、その右にある○で表す画素ＯＲ（ＸＲ、Ｙ）は右にある距離推定が出来ている画素である。｜ＸＬ−ＸＲ｜の値により未確定領域の幅を制御する。
【００２５】
＜トライマップの生成例＞
図１１は、第１実施形態における図３（Ａ）に示す入力画像例のトライマップ生成処理の一例を示すものである。
ここで、確定背景領域を黒で表し、確定前景領域を白で表し、未確定領域をグレーで表し、参考に、実際の物体の輪郭線を点線で表す。この例で示すように、本実施形態のトライマップ生成では、物体の周囲に細かい表現が必要と思われる部分を未確定領域として太く、そうではない部分を未確定領域として狭く決める。それによって、真の境界付近の領域を適切に未確定領域に入れるトライマップの生成が可能になり、アルファ推定の精度向上に繋がる。
【００２６】
＜ステップＳ１４：アルファ推定処理＞
アルファ推定処理において、入力画像Ｉは、前景色Ｆと背景色Ｂの線形混合によって生成される結果であるとして、以下の式が仮定される。
Ｉ（ｘ）＝α（ｘ）Ｆ（ｘ）+（１−α（ｘ））Ｂ（ｘ）
ここで、ｘは画像上の画素の座標を示すもので、α（ｘ）は当該画素のアルファを示すものである。このアルファ推定処理は、公知の解法を利用することが可能である。
上記の実施形態では、境界にある各境界点において、左右にある周囲画素の距離推定が出来ていないかを判断し、未確定領域の幅を決定するものとした。左右の代わりに、上下にある周囲画素、或いは、上下左右にある周囲画素、或いは、境界線の法線にある周囲画素に注目し、距離推定が出来ていないかを判断し、未確定領域の幅を制御しても良い。
また、上記の実施形態では、前景領域と背景領域の境界にある各境界点において、周囲画素の距離（例えば、前記の｜ＸＬ−ＸＲ｜）が一定の数値以上であるかどうかによって、距離推定の出来具合を判断した。また距離推定が出来ていない画素間の範囲によって、未確定領域の幅を制御して設定するものとした。周囲画素の距離値がある範囲内であるかどうかによって、距離推定出来具合を判断しても良い。
また、上記の実施形態では、前景領域と背景領域の境界にある各境界点において、周囲画素の距離推定が出来ていない画素間の範囲はある閾値以上であるかどうかに基づき、未確定領域の幅を２段階に設定するものとした。周囲画素の距離推定が出来ていない画素間の範囲を数段階に分け、未確定領域の幅を数段階、或いは、連続に、設定しても良い。
【００２７】
［第２実施形態］
第１実施形態では、対象領域とそれ以外の領域の境界にある各境界点において、周囲画素の距離推定が出来ていないかを判断し、未確定領域の幅を決定した。本実施形態は、各境界点において、周囲画素の距離の信頼度に基づき、未確定領域の幅を決定する。
【００２８】
＜ステップＳ１２４：境界点の未確定範囲の同定処理＞
第２実施形態における境界点の未確定範囲の同定処理の詳細について、図１２を参照して説明する。
先ず、ステップＳ１２４２０１では、処理対象となる境界点の座標情報（Ｘ、Ｙ）を取得する。次に、ステップＳ１２４２０２からステップＳ１２４２１０まで、当該境界点の周囲画素の距離の信頼度に基づき未確定範囲の幅を決定する。
ステップＳ１２４２０２では、処理対象となる境界点の左隣りにある画素に注目し、当該画素が距離推定の信頼度の高い画素であるかどうかを判断する。この画素の距離推定の信頼度が閾値より高くなければ、距離推定は信頼出来ない画素と判断し、ステップＳ１２４２０３に進む。この画素の距離推定の信頼度が閾値より高ければ、ステップＳ１２４２０４に進む。
ステップＳ１２４２０３では、距離推定の信頼度が高くないと判断した画素の左隣りにある画素に注目し、ステップＳ１２４２０２と同様の判断処理を繰り返す。判断の対象となっている画素の距離の信頼度が閾値より高ければ、距離推定は信頼出来る画素と判断し、ステップＳ１２４２０４に入る。
ステップＳ１２４２０４では、上記に境界点の左に取得した画素の座標（ＸＬ、Ｙ）を記録する。
【００２９】
同様に、境界点の右にある画素に注目する。
ステップＳ１２４２０５では、処理対象となる境界点の右隣りにある画素に注目し、当該画素が距離推定の信頼度の高い画素であるかどうかを判断する。この画素の距離推定の信頼度が高くなければ、距離推定は信頼出来ない画素と判断し、ステップＳ１２４２０６に進む。信頼度が高ければ、ステップＳ１２４２０７に進む。
ステップＳ１２４２０６では、距離推定の信頼度が高くないと判断した画素の右隣りにある画素に注目し、ステップＳ１２４２０５と同様の判断処理を繰り返す。判断の対象となっている画素の距離の信頼度が高ければ、距離推定は信頼出来る画素と判断し、ステップＳ１２４２０７に入る。
ステップＳ１２４２０７では、距離の信頼度が高いと判断した画素の座標（ＸＲ、Ｙ）を記録する。
そして、ステップＳ１２４２０８では、２つのＸ座標の差の絶対値（つまり、｜ＸＬ−ＸＲ｜）がある閾値Ｔ以上であるかどうかを判断する。｜ＸＬ−ＸＲ｜がＴ未満であれば、ステップＳ１２４２０９では、未確定領域の幅をＴ１として設定するが、｜ＸＬ−ＸＲ｜がＴ以上であれば、ステップＳ１２４２１０では、未確定領域の幅をＴ２として設定する。ただし、Ｔ１＜Ｔ２である。
第２実施形態では、各境界点において、近傍にある画素の距離推定の信頼度が高いかどうかを判断し、未確定領域の幅を決定するものである。
【００３０】
［第３実施形態］
第１、第２実施形態では、対象領域とそれ以外の領域の境界にある境界点において、周囲画素の距離情報に基づき未確定領域の幅を決定した。本実施形態では、各境界点において、周囲画素のエッジ方向の分散に基づき未確定領域の幅を決定する。
「エッジ」とは画像の明るさが鋭敏に変化している個所を意味する。エッジ検出は、例えばＳｏｂｅｌやＰｒｅｗｉｔｔやＬａｐｌａｃｉａｎなどのエッジ検出オペレータを用いて行うことができる。各画素について、エッジ検出オペレータを画像の水平方向、垂直方向について適用する。そして、その出力値をもとに、エッジ強度及びエッジ方向を算出する。エッジ検出オペレータの水平方向の出力値をｆｘ、垂直方向の出力値をｆｙとした場合、エッジ強度Ｉ、エッジ方向Φは、例えば下記式によって算出することができる。
Ｉ＝（ｆｘ＾２+ｆｙ＾２）＾（１／２）
φ＝ａｒｃｔａｎ（ｆｙ／ｆｘ）
図１３は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【００３１】
＜画像処理装置の構成＞
画像処理装置は、トライマップ生成部３１、アルファ推定部３２、エッジ計算部３３を備えている。
トライマップ生成部３１は、境界情報及び処理対象画像を入力とし、確定前景領域、確定背景領域、及び未確定領域からなる３値のトライマップ画像を生成する。境界情報は、処理対象領域とそれ以外の領域の境界の情報であるが、処理対象画像の前景領域と背景領域の２値画像でも良いし、境界線でも良いし、境界点のリストでも良い。
アルファ推定部３２は、トリマップ生成部３１で生成された３値のトライマップにある未確定領域において、各画素の色情報を利用してアフファを推定し、被写体を抽出する。
エッジ計算部３３は、境界上の各点の周囲画素のエッジ方向とエッジ方向の分散を計算する。
【００３２】
図１４は、本実施形態に係る図１３に示される画像処理装置における、入力画像から被写体の抽出結果を得るための処理を示すフローチャートである。
先ず、ステップＳ３１では、処理対象画像の境界情報を入力する。
次に、ステップＳ３２では、処理対象画像を入力する。
次に、ステップＳ３３では、境界情報及び処理対象画像を参照し、確定前景領域、確定背景領域、及び未確定領域からなる３値のトライマップを生成する。このトライマップ生成処理は、前景領域と背景領域の間にある各境界画素おいて、周囲画素のエッジ方向を参照し、トライマップの未確定領域の幅を決める。このトライマップ生成処理の詳細について、図１５を参照して後述する。
次に、ステップＳ３４では、ステップＳ３３により生成されたトライマップにある未確定領域において、各画素の色情報に基づき、構成する前景色と背景色を推定し、アルファを推定する。
【００３３】
＜ステップＳ３３：トライマップ生成処理＞
第３実施形態におけるトライマップ生成処理の詳細について、図１５を参照して説明する。
先ず、ステップＳ３３１では、境界情報を入力する。
次に、ステップＳ３３２では、処理対象画像を入力する。
次に、ステップＳ３３３では、境界点を取得する。
次に、ステップＳ３３４では、処理対象となる境界点において、周囲画素の色情報により取得するエッジ方向を参照して、未確定範囲を同定する。この境界点の未確定範囲の同定処理の詳細について、図１６を参照して説明する。
次に、ステップＳ３３５では、全ての境界点は処理済みであるかを判断する。まだ未処理の境界点があれば、上記ステップＳ３３４の処理を繰り返して行う。未処理の境界点がなければ、ステップＳ３３６では、上記のすべての境界点の未確定範囲の情報によってトライマップ画像を生成する。
【００３４】
＜ステップＳ３３４：境界点の未確定範囲の同定処理＞
第３実施形態における境界点の未確定範囲の同定処理の詳細について、図１６を参照して説明する。
先ず、ステップＳ３３４１では、処理対象となる境界点の座標情報（Ｘ、Ｙ）を取得する。
次に、ステップＳ３３４２からステップＳ３３４５まで、当該境界点の周囲画素のエッジ方向の分散に基づき未確定範囲の幅を決定する。
ステップＳ３３４２では、処理対象となる境界点の周囲画素のエッジを取り、エッジ方向を計算し、エッジ方向の分散を求める。
ステップＳ３３４３では、エッジ方向の分散が所定値より大きいかどうかを判断する。エッジ方向の分散が所定値以下であれば、ステップＳ３３４４では、当該境界点付近をエッジが一定の方向に示す領域とし、未確定領域の幅をＴ１に設定する。エッジ方向の分散が所定値より大きければ、ステップＳ３３４５では、当該境界点付近をエッジがばらける領域とし、未確定領域の幅をＴ２に設定する。ただし、Ｔ２はＴ１より大である。
【００３５】
＜境界点の未確定範囲の同定処理の処理例＞
図１７は、第３実施形態における境界点の未確定範囲の同定処理の一例を示す。
本実施形態では、境界にある各境界点において、周囲画素のエッジ方向の分散に基づき未確定領域の幅を決定したが、エッジの方向性の統計が分かるその他の指標を使っても良い。
また、本実施形態では、境界にある各境界点において、周囲画素のエッジ方向の分散に基づき未確定領域の幅を２段階に制御するものとしたが、分散の重み付けによって未確定領域の幅を制御しても良い。
【００３６】
［第４実施形態］
第１、第２実施形態では、対象領域とそれ以外の領域の境界にある境界点において、周囲画素の距離情報に基づき未確定領域の幅を決定した。第３実施形態では、対象領域とそれ以外の領域の境界にある境界点において、周囲画素のエッジの方向性に基づき未確定領域の幅を決定した。本実施形態は、境界点において、周囲画素の距離情報に基づき未確定領域の幅を仮に決定し、更に、エッジ情報に基づき仮に決定した幅が妥当かを判断し、判断結果に応じて幅を修正して、未確定領域の幅を決定する。
図１８は、本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【００３７】
＜画像処理装置の構成＞
画像処理装置は、トライマップ生成部４１、トライマップ修正部（未確定領域修正手段）４２、アルファ推定部４３を備えている。
トライマップ生成部４１は、境界情報を及び処理対象画像を入力し、確定前景領域、確定背景領域、及び未確定領域からなる３値のトライマップ画像を生成する。
トライマップ修正部（未確定領域修正手段）４２は、トライマップ生成部４１により生成されたトライマップにノイズ、即ち、設定ミスがあるかどうかを判断し、ノイズがあれば未確定領域の幅を修正する。
アルファ推定部４３は、トリマップ生成部４２で生成された３値のトライマップにある未確定領域において、各画素の色情報を利用してアルファを推定し、被写体を抽出する。
【００３８】
図１９は、本実施形態に係る図１８に示される画像処理装置における、入力画像から被写体の抽出結果を得るための処理を示すフローチャートである。
先ず、ステップＳ４１では、処理対象画像の境界情報、距離情報を入力する。
次に、ステップＳ４２では、境界情報及び処理対象画像を参照し、確定前景領域、確定背景領域、及び未確定領域からなる３値のトライマップを生成する。このトライマップ生成処理は、第１、第２実施形態と同様である。
次に、ステップＳ４３では、処理対象画像を入力する。
次に、ステップＳ４４では、境界点の周囲画素の色情報によってエッジ抽出を行い、エッジ方向およびエッジ方向の分散を計算し、エッジ方向の分散に基づき、未確定領域にノイズがあるかを判断し、トライマップを修正する。このトライマップ生成処理の詳細について、図２０を参照して後述する。
次に、ステップＳ４５では、ステップＳ４４により生成されたトライマップにある未確定領域において、各画素の色情報に基づき、構成する前景色と背景色を推定し、アルファを推定する。
【００３９】
＜ステップＳ４４：トライマップ修正処理＞
第４実施形態におけるトライマップ修正処理の詳細について、図２０を参照して説明する。
先ず、ステップＳ４４０１では、処理対象となる境界点座標（Ｘ、Ｙ）及び、当該境界点の未確定領域の幅（ＨＸ）を取得する。
次に、ステップＳ４４０２では、当該境界点の未確定領域の幅（ＨＸ）と、その前に処理した境界点の未確定領域の幅（ここで、（ＨＸ−１）で表す）とを比較する。上記未確定領域の幅の差がある閾値Ｔ以上であれば、ステップＳ４４０３からステップＳ４４０５では、当該未確定領域の幅（ＨＸ）はノイズであるかどうかを判断する。
ステップＳ４４０３では、当該境界点の周囲にある画素のエッジ方向の分散を計算する。
ステップＳ４４０４では、エッジ方向の分散が所定範囲内（閾値以下）であれば、ステップＳ４４０５に進む。ステップＳ４４０５では、当該未確定領域の幅（ＨＸ）はノイズであると判断し、ステップＳ４４０６に進む。ステップＳ４４０６では、当該未確定領域の幅（ＨＸ）を（ＨＸ−１）との差が小さくなるように調整する。エッジ方向の分散が所定範囲外であれば、ステップＳ４４０７では、当該境界点の未確定領域の幅（ＨＸ）をそのままに設定する。
【００４０】
「未確定領域の幅（Ｈｘ）と（Ｈｘ−１）の差が大きい」場合とは、例えば「未確定領域の幅（Ｈｘ）は広いが、未確定領域の幅（Ｈｘ−１）は狭い。」という場合である。また、「未確定領域の幅（Ｈｘ）は狭いが、未確定領域の幅（Ｈｘ−１）は広い。」という場合も含まれる。
このような場合、境界点Ｘの周囲画素のエッジ方向の分散は通常、所定範囲を超える（閾値を超える）と考えられる。
つまり、「未確定領域の幅（Ｈｘ）と（Ｈｘ−１）との差が大きい」にもかかわらず、境界点Ｘの周囲画素のエッジ方向の分散が小さい場合（閾値以下の場合）、「未確定領域の幅Ｈｘ」はノイズである可能性が高い。
「未確定領域の幅（ＨＸ）を（ＨＸ−１）との差が小さくなるように調整する」とは、例えば「未確定領域の幅（ＨＸ）を（ＨＸ−１）と等しい値に変更する」ことが含まれる。
ステップＳ４４０８では、全ての境界点において処理済みであるかどうかを判断する。まだ未処理の境界点があれば、ステップＳ４４０１に入り、上記のステップＳ４４０７までの処理を繰り返し行うが、未処理の境界点がなければ、上記の修正処理を終える。
【００４１】
＜トライマップ修正処理の処理例＞
図２１は、第４実施形態におけるトライマップ修正処理の一例を示すものである。
図２１（Ａ）は髪の毛を表現する画像の一部で、図２１（Ｂ）は当該画像のトライマップ例である。髪の毛の具合によって本の一部だけ未確定領域の幅が尖っている結果になる。
第４実施形態では、境界情報及び距離情報に基づきトライマップを生成し、更に境界周囲画素のエッジ情報に基づき生成されたトライマップの精度を向上するものである。
【００４２】
（他の実施形態）
本発明の被写体抽出の実施形態の他の応用例として、被写体や背景など任意の部分にピントを合わせ、それ以外をぼかすというリフォーカス処理、などが考えられる。
また、本発明のアルファ推定の実施形態の他の応用例として、多眼撮影装置から取得する複数の画像のセグメンテーションや、深度画像の高精度化、なども考えられる。
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェア（画像処理プログラム）のプログラムコードを記録したコンピュータ読み取り可能な記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００４３】
１１  トライマップ生成部
１２  アルファ推定部
１１０１  境界取得部
１１０２  未確定領域設定部
１１０３  領域情報生成部
【図５】
2015141633.tif 000003
【図６】
2015141633.tif 000004
【図７】
2015141633.tif 000005
【図８】
2015141633.tif 000006
【図９】
2015141633.tif 000007
【図１２】
2015141633.tif 000008
【図１３】
2015141633.tif 000009
【図１４】
2015141633.tif 000010
【図１５】
2015141633.tif 000011
【図１６】
2015141633.tif 000012
【図１７】
2015141633.tif 000013
【図１８】
2015141633.tif 000014
【図１９】
2015141633.tif 000015
【図２０】
2015141633.tif 000016
【図１】
2015141633.tif 000017
【図２】
2015141633.tif 000018
【図３】
2015141633.tif 000019
【図４】
2015141633.tif 000020
【図１０】
2015141633.tif 000021
【図１１】
2015141633.tif 000022
【図２１】
2015141633.tif 000023
【図２２】
2015141633.tif 000024