画像処理装置および画像処理方法、並びにプログラム
【課題】グラフカット法のような処理を小領域単位で行っても、画素単位と同じような結果にできるようにする。
【解決手段】事前セグメンテーション実行部13は、画像内の画素を画素間の相関性に基づいて分類することにより小領域集合に分割する。小領域隣接エネルギー計算部14は、小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する。小領域尤度エネルギー計算部15は、トライマップ画像に基づいて、小領域毎にオブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、確率モデル関数を用いて、小領域毎にオブジェクト尤度、および背景尤度を計算する。セグメンテーション実行部16は、小領域隣接エネルギーと小領域尤度エネルギーとを用いて、画像を前景および背景の2値マスク画像に分割する。本発明は、オブジェクト画像を分離する画像処理に適用することができる。
【解決手段】事前セグメンテーション実行部13は、画像内の画素を画素間の相関性に基づいて分類することにより小領域集合に分割する。小領域隣接エネルギー計算部14は、小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する。小領域尤度エネルギー計算部15は、トライマップ画像に基づいて、小領域毎にオブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、確率モデル関数を用いて、小領域毎にオブジェクト尤度、および背景尤度を計算する。セグメンテーション実行部16は、小領域隣接エネルギーと小領域尤度エネルギーとを用いて、画像を前景および背景の2値マスク画像に分割する。本発明は、オブジェクト画像を分離する画像処理に適用することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、入力画像からオブジェクト領域と背景領域とからなる2値マスク画像を生成する際、処理を高速にすると共に省メモリで実現できるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
画像内のオブジェクト領域と背景領域とを指定する2値マスク画像を得る処理は、画像セグメンテーション処理と称されている。この画像セグメンテーション処理の1つの手法として、グラフカット法が知られている(非特許文献1参照)。
【0003】
このグラフカット法は、画像全体を画像の色分布とエッジの情報をエネルギーとするグラフ構造で表し、その最大流問題(Maxflow)として解き、エネルギーが最小になるように0と1のラベルを割り当てて2値マスク画像を求めるものである。
【0004】
しかしながら、全画素について、このグラフ構造をメモリ上で保持するには、メモリ使用量が非常に大きく、処理する画像の解像度に限界があった。
【0005】
こうした問題を解決する方法の一つに、グラフカット法を画素の単位ではなく画素集合などの小領域といったもう少し大きな粒度で処理するアイデアがある。
【0006】
元々グラフカット法では、グラフのノード間の接続具合に制約はなく自由な接続が許されるので、自由に小領域を構築して画素を上記の小領域に置き換えるだけでそのまま適用することができる。ただし、グラフのノードとエッジに設定するエネルギーについては画素単位とは別の方法で計算する必要がある。
【0007】
このような小領域集合を定義してグラフカット法を適用する方法が(非特許文献2、および特許文献1参照)で提案されている。この方法では、画素間の隣接エネルギーと尤度エネルギーを小領域の平均色を使って求めている。
【0008】
この手法においては、グラフカット法を画素よりも個数の少ない小領域単位で行うことで省メモリで、かつ、高速化を実現するとともに2種類のエネルギーの計算量も軽減している。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】"An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision" (2004), Yuri Boykov, Vladimir Kolmogorov, IEEE Transactions on Pattern Analysis and Machine Intelligence
【0010】
【非特許文献2】"Lazy snapping" (2004), Yin Li, Jian Sun, Chi-Keung Tang, Heung-Yeung Shum, ACM Transaction. Graphics.
【特許文献】
【0011】
【特許文献1】"Systems and methods for image data separation", EP 1 624 413 A2 (2006/6)
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、非特許文献2、および特許文献1において提案されている手法においては、両エネルギーとも小領域の平均色を使って計算するため画素単位で計算するものと比べてその差が大きくなり、グラフカット法処理結果の2値マスク画像がうまく求められないケースがあった。
【0013】
本発明はこのような状況に鑑みてなされたものであり、入力画像からオブジェクト領域と背景領域とからなる2値マスク画像を生成する際、処理を高速にすると共に省メモリで実現できるようにすると共に、グラフカット法のような画像セグメンテーション処理を小領域単位で行っても、画素単位と同じような結果を得ることができるようにするものである。
【課題を解決するための手段】
【0014】
本発明の一側面の画像処理装置は、画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置であって、前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得手段と、前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割手段と、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算手段と、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算手段と、前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割手段と、前記分割手段により分割された前記2値マスク画像を出力する出力手段とを含む。
【0015】
前記小領域尤度エネルギー計算手段には、前記オブジェクト尤度と前記背景尤度とを、前記小領域集合ごとの重み付き平均色を用いた前記確率モデル関数を用いて計算させるようにすることができる。
【0016】
前記事前分割手段には、前記画像における各画素について、ラスタスキャンの順方向で画素値の極小値となる画素を前記小領域中心候補画素に設定した後、前記小領域中心候補画素について、前記ラスタスキャンの逆方向で極小値となる画素を前記小領域中心として選択する小領域中心選択手段をさらに含ませるようにすることができる。
【0017】
前記小領域中心選択手段には、前記画像を微分処理する微分処理手段をさらに含ませるようにすることができ、前記微分処理手段により微分処理された画像の各画素の画素値について、所望の閾値以下の画素値を0にすることで、前記小領域中心の個数を減らして出力させるようにすることができる。
【0018】
前記事前分割手段には、前記小領域の拡大の順序を、量子化した画素値の昇順に設定する小領域拡大処理手段をさらに含ませるようにすることができる。
【0019】
本発明の一側面の画像処理方法は、画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置の画像処理方法であって、前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップとを含む。
【0020】
本発明の一側面のプログラムは、画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置を制御するコンピュータに、前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップとを含む処理を実行させる。
【0021】
本発明の一側面においては、画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像が取得され、前記画像内の画素が前記画素間の相関性に基づいて分類されることにより小領域集合に分割され、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーが計算され、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域が選択され、確率モデル関数が構築され、前記確率モデル関数が用いられて、前記小領域集合毎にオブジェクト尤度、および背景尤度が求められ、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーが計算され、前記小領域隣接エネルギーと前記小領域尤度エネルギーとが用いられて、前記画像が前記前景および前記背景の2値マスク画像に分割され、分割された前記2値マスク画像が出力される。
【発明の効果】
【0022】
本発明によれば、グラフカット法のような画像セグメンテーション処理を小領域単位で行っても、画素単位と同じような結果を得ることが可能となる。
【図面の簡単な説明】
【0023】
【図1】本発明を適用した画像セグメンテーション装置の一実施の形態の構成例を示す図である。
【図2】図1の事前セグメンテーション実行部の構成例を示す図である。
【図3】画像セグメンテーション処理を説明するフローチャートである。
【図4】入力画像と2値マスク画像の例を示す図である。
【図5】事前セグメンテーション処理を説明するフローチャートである。
【図6】小領域中心となる画素を選択する処理を説明する図である。
【図7】小領域IDマップに基づいて生成される小領域からなる画像を説明する図である。
【図8】小領域隣接エネルギーを説明する図である。
【図9】小領域毎の代表色を設定する処理を説明する図である。
【図10】汎用のパーソナルコンピュータの構成例を示す図である。
【発明を実施するための最良の形態】
【0024】
[画像セグメンテーション装置の構成例]
図1は、本発明を適用した画像セグメンテーション装置の一実施の形態の構成例を示す図である。
【0025】
画像セグメンテーション装置1は、入力画像と、その入力画像の画素がオブジェクト画素、背景画素、それ以外の画素のいずれかに分類されたトライマップ画像とを用いて、入力画像を、複数の画素からなる小領域のまとまりからなる画像に変換する。そして、画像セグメンテーション装置1は、その小領域の単位で画像セグメンテーションを実行し、すなわち、画像を小領域単位でオブジェクトと背景に分離し、2値マスク画像を生成して出力する。
【0026】
画像セグメンテーション装置1は、入力画像取得部11、トライマップ画像取得部12、事前セグメンテーション実行部13、小領域隣接エネルギー計算部14、小領域尤度エネルギー計算部15、セグメンテーション実行部16、および出力部17を備えている。
【0027】
入力画像取得部11は、通常の入力画像を取得し、事前セグメンテーション実行部13に供給する。トライマップ画像取得部12は、入力画像と、入力画像の画素がオブジェクト画素、背景画素、それ以外の画素のいずれかに分類された情報とからなるトライマップ画像を取得し、小領域尤度エネルギー計算部15に供給する。
【0028】
事前セグメンテーション実行部13は、まず、供給されてきた入力画像を複数の隣接画素からなる小領域に分割する。そして、事前セグメンテーション実行部13は、小領域毎に小領域ID(identifier)を設定して小領域IDマップを生成し、小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。このとき、事前セグメンテーション実行部13は、小領域IDマップと共に入力画像も小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。尚、事前セグメンテーション実行部13の詳細な構成については、図2を参照して後述する。
【0029】
小領域隣接エネルギー計算部14は、各小領域を識別する小領域IDからなる小領域IDマップと、入力画像とに基づいて、小領域間の境界に位置する画素間の画素値により隣接エネルギーを求め、それらの小領域分の積算値を小領域隣接エネルギーとして計算する。小領域隣接エネルギー計算部14は、計算した小領域隣接エネルギーをセグメンテーション実行部16に供給する。
【0030】
小領域尤度エネルギー計算部15は、事前セグメンテーション実行部13より供給される入力画像および小領域IDマップと、トライマップ画像取得部12よりトライマップ画像とに基づいて、小領域尤度接エネルギーを計算する。
【0031】
より詳細には、小領域尤度エネルギー計算部15は、拘束領域設定部31、代表色計算部32、オブジェクト尤度計算部33、および背景尤度計算部34を備えている。拘束領域設定部31は、オブジェクト画像の画素からなる小領域をオブジェクト画像に拘束し、背景画像の画素からなる小領域を背景画像に拘束し、いずれの画像の画素も含む小領域については、矛盾なく小領域を分割するか、またはいずれにも拘束しない。代表色計算部32は、小領域を構成する画素の色情報の重み付き平均を、小領域の代表色として求める。オブジェクト尤度計算部33は、オブジェクト画像に拘束された小領域単位のガウス確率モデルの関数を求め、そのガウス確率モデルの関数を用いてオブジェクトの尤度をオブジェクト尤度として計算する。背景尤度計算部34は、背景画像に拘束された小領域単位のガウス確率モデルの関数を求め、そのガウス確率モデルの関数を用いて背景の尤度を背景尤度として計算する。
【0032】
そして、小領域尤度エネルギー計算部15は、このオブジェクト画像に拘束された小領域のオブジェクト尤度と、背景画像に拘束された小領域の背景尤度とから小領域尤度エネルギーを計算する。小領域尤度エネルギー計算部15は、計算した小領域尤度エネルギーをセグメンテーション実行部16に供給する。尚、小領域隣接エネルギーおよび小領域尤度接エネルギーについては、詳細を後述する。
【0033】
セグメンテーション実行部16は、小領域隣接エネルギー計算部14および小領域尤度エネルギー計算部15より供給されてくる入力画像、小領域IDマップ、小領域隣接エネルギー、および小領域尤度エネルギーを取得する。そして、セグメンテーション実行部16は、画像セグメンテーションを実施し、入力画像、小領域IDマップ、小領域隣接エネルギー、および小領域尤度エネルギーに基づいて、2値マスク画像を生成して、出力部17に供給する。
【0034】
出力部17は、供給されてきた2値マスク画像を処理結果として出力する。
【0035】
[事前セグメンテーション実行部の構成例]
次に、図2を参照して、事前セグメンテーション実行部13の詳細な構成について説明する。
【0036】
事前セグメンテーション実行部13は、画像取得部61、小領域中心選択部62、小領域ID付加部63、小領域拡大処理部64、および小領域IDマップ出力部65を備えている。
【0037】
画像取得部61は、入力画像を取得し、小領域中心選択部62に供給する。小領域中心選択部62は、微分画像生成部81、極小値判定部82、および極小値画像生成部83を備えている。小領域中心選択部62は、入力画像より小領域を構成するに当たり、その中心となる画素を選択する。より詳細には、微分画像生成部81は、例えば、ソーベル演算子フィルタなどであり、入力画像の各画素を処理して微分画像を生成する。極小値判定部82は、微分画像の各画素をラスタスキャン順に隣接する画素間の画素値の差分から極小値画素を検出する。極小値画像生成部83は、極小値判定部82により極小値であると判定された画素から極小値画像を生成する。極小値判定部82は、極小値画像を小領域ID付加部63に供給する。
【0038】
小領域ID付加部63は、小領域中心選択部62より供給されてきた極小値画像の極小値として設定された各画素を小領域中心として選択された画素とみなし、小領域中心として選択された画素それぞれに小領域IDを付加し、初期小領域IDマップを生成する。また、小領域ID付加部63は、生成した初期小領域IDマップと入力画像とを小領域拡大処理部64に供給する。
【0039】
小領域拡大処理部64は、初期小領域IDマップより、小領域中心として選択された各画素について、画素値の昇順に小領域中心として選択されなかった画素に小領域IDを徐々に伝播させることで、小領域中心から小領域を拡大し、小領域IDマップを生成する。また、小領域拡大処理部64は、生成した小領域IDマップと入力画像とを小領域IDマップ出力部65に供給する。小領域IDマップ出力部65は、生成された小領域IDマップと入力画像とを小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。
【0040】
[画像セグメンテーション処理について]
次に、図3のフローチャートを参照して、画像セグメンテーション処理について説明する。
【0041】
ステップS1において、入力画像取得部11は、入力画像として通常の画像を取得し、事前セグメンテーション実行部13に供給する。通常の入力画像としては、例えば、図4の左部で示されるような画像である。図4の左部においては、アゲハチョウが葉にとまっている状態の画像を示している。尚、以降においては、このアゲハチョウが、入力画像におけるオブジェクト画像であるものとし、それ以外の画像は背景画像であるものとして説明を進めるものとする。ただし、入力画像は、この画像に限ったものではなく、それ以外の画像であってもよい。また、オブジェクト画像についても、アゲハチョウに限ったものではなく、それ以外の画像であってもよい。
【0042】
ステップS2において、トライマップ画像取得部12は、入力画像の画素がオブジェクト画素、背景画素、それ以外の画素のいずれかに分類されたトライマップ画像を取得し、小領域尤度エネルギー計算部15に供給する。より詳細には、トライマップ画像は、例えば、図4において、オブジェクトであるアゲハチョウの輪郭部分を所定の太さのタッチペンなどでなぞって構成される画像である。このような場合、オブジェクト画像を構成する領域の画素は、タッチペンで囲まれる内側のアゲハチョウの領域の画素である。また、背景画像はタッチペンで囲まれていない外側の領域の画素であり、それ以外、すなわち、タッチペンの線上の境界の領域の画素は、そのいずれにも分類されないものとなる。
【0043】
ステップS3において、事前セグメンテーション実行部13は、事前セグメンテーション処理を実行して、小領域IDマップを生成して小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。
【0044】
[事前セグメンテーション処理について]
ここで、図5を参照して、事前セグメンテーション処理について説明する。
【0045】
ステップS31おいて、画像取得部61は、入力画像を取得し、小領域中心選択部62に供給する、
【0046】
ステップS32において、小領域中心選択部62は、微分画像生成部81を制御して微分画像を生成させる。微分画像生成部81は、例えば、以下の式(1)で示されるようなソーベルフィルタである。
【0047】
【数1】
【0048】
ここで、Gyは、上段が左から+1,+2,+1、中段が左から0,0,0、および下段が左から−1,−2,−1の値からなる垂直方向のソーベルフィルタにより、行列Aを処理した処理結果である。また、行列Aは、注目画素と、注目画素に上下左右、左上、右上、左下、および右下に隣接する、注目画素を中心とした3画素×3画素の領域の画素値からなる行列である。
【0049】
また、Gxは、上段の左から+1,0,−1、中段の左から+2,0,−2、および下段の左から+1,0,−1の値からなる水平方向のソーベルフィルタにより、行列Aを処理した処理結果である。Gは、水平方向のソーベルフィルタ処理結果と垂直方向のソーベルフィルタ処理結果とを合成した処理結果である。
【0050】
すなわち、式(1)で示されるソーベルフィルタは、画像の微分値と微分方向を計算してエッジを検出するものである。尚、式(1)のソーベルフィルタは一例であり、各値はそれ以外の値であってもよいものである。
【0051】
ステップS33において、極小値判定部82は、入力画像の順方向ラスタスキャンの先頭位置に対応する画素を処理対象画素に設定する。
【0052】
ステップS34において、極小値判定部82は、処理対象画素に隣接する画素間の画素値を比較する。すなわち、極小値判定部82は、入力画像の画素をラスタスキャン順に配置し、処理対象画素の前後に配置された画素間の画素値とを比較する。
【0053】
ステップS35において、極小値判定部82は、処理対象画素の画素値が隣接画素の画素値に対して極小値を取るか否かを判定する。より詳細には、極小値判定部82は、処理対象画素よりも小さな値を持つ隣接画素がなければその処理対象画素を極小値画素とする。さらに、極小値判定部82は、処理対象画素の隣接画素のうちすでに処理した画素について、処理対象画素と同じ値であって、かつ、極小値でないと判定された画素があれば、その処理対象画素は極小値ではないと判定する。
【0054】
例えば、図6の上段で示されるように、画素P1乃至P9についてラスタスキャン順に配置された画素の画素値を棒グラフとして表すと、極小値であるか否かは以下のように判定される。すなわち、極小値判定部82は、処理対象画素が画素P2である場合、画素P1と画素P2との差分、および画素P3と画素P2との差分の情報から画素P2が極小値であるか否かを判定する。
【0055】
図6の上段においては、画素P2の画素値は、隣接する画素P1,P3の画素値のいずれもよりも小さく、画素P2の画素値より小さな画素がないので、極小値判定部82は、画素P2は極小値であると判定する。
【0056】
また、処理対象画素が画素P3である場合、画素P3の画素値は、隣接する画素P2,P4のいずれよりも大きく、画素P3の画素値より小さな画素があるため、極小値判定部82は、画素P3の画素値は極小値ではないと判定する。
【0057】
さらに、処理対象画素が画素P4である場合、画素P4の画素値は、隣接する画素P3よりも小さく、画素P5と同一であり、画素P4の画素値より小さな画素がないため、極小値判定部82は、画素P4の画素値は極小値であると判定する。
【0058】
また、処理対象画素が画素P5である場合、画素P5の画素値は、隣接する画素P4,P6と同じであり、画素P5の画素値より小さな画素がないため、極小値判定部82は、画素P5の画素値は極小値であると判定する。
【0059】
さらに、処理対象画素が画素P6である場合、画素P6の画素値は、隣接する画素P5と同一であり、P7よりも大きく、画素P6の画素値より小さい画素があるため、極小値判定部82は、画素P6の画素値は極小値ではない判定する。
【0060】
また、処理対象画素が画素P7である場合、画素P7の画素値は、隣接する画素P6よりも小さく、画素P8と同一であり、画素P7の画素値より小さな画素がないため、極小値判定部82は、画素P5の画素値は極小値であると判定する。
【0061】
さらに、処理対象画素が画素P8である場合、画素P8の画素値は、隣接する画素P7と同一であり、P8よりも小さく、画素P8の画素値より小さい画素がないため、極小値判定部82は、画素P8の画素値は極小値であると判定する。
【0062】
ステップS35において、処理対象画素が極小値であると判定された場合、ステップS36において、極小値判定部82は、処理対象画素を極小値であるものとして記憶する。尚、ステップS35において、処理対象画素が極小値ではないと判定された場合、ステップS36の処理は、スキップされる。
【0063】
ステップS37において、極小値判定部82は、入力画像に処理対象画素として処理していない未処理の画素が存在するか否かを判定し、未処理の画素が存在する場合、処理は、ステップS38に進む。
【0064】
ステップS38において、極小値判定部82は、順方向のラスタスキャン順に処理対象画素を変更し、処理は、ステップS34に戻る。すなわち、入力画像の各画素についてラスタスキャン順に全ての画素の画素値が極小値であるか否かが判定されるまで、ステップS34乃至S38の処理が繰り替えされる。そして、ステップS37において、全ての入力画像の画素について極小値であるか否かが判定されると、処理は、ステップS39に進む。
【0065】
尚、ステップS39乃至S44の処理は、上述したステップS33乃至43の処理については、ラスタスキャン順であった処理が、逆ラスタスキャン順に処理されるのみであるので、その説明は省略する。
【0066】
ところで、このように、順方向ラスタスキャン順に処理した後、逆方向ラスタスキャン順に処理することにより、順方向ラスタスキャン順に処理した結果とは異なる結果となることがある。
【0067】
すなわち、図6の上段のように順方向ラスタスキャン順に処理した後、逆方向ラスタスキャン順に処理すると、図6の下段のように処理対象画素が画素P2,P7,P8である場合には、順方向と同一の結果となるが、画素P4,P5については結果が異なる。画素P5の場合、一旦処理済みの画素P6が極小値ではないと判定された後、画素P6と同一の画素値の画素P5が処理対象画素となるため、極小値ではないと判定される。同様に、画素P4についても、逆方向ラスタスキャン順の処理により画素P5が極小値ではないと判定された後、画素P5と同一の画素の画素P4が処理対象画素となるため、極小値ではないと判定されることになる。
【0068】
このように、順方向ラスタスキャン順の処理と、逆方向にラスタスキャン順の処理とでは、処理結果が異なるため、ステップS42では、逆方向ラスタスキャン順の処理で極小値であると判定される画素のみが極小値の画素として記憶される。
【0069】
ステップS45において、極小値画像生成部83は、極小値判定部82により記憶されている極小値として判定された画素の情報に基づいて、極小値画像を生成し、入力画像と共に小領域ID付加部63に供給する。尚、ここでは、極小値として判定されていない画素については、ブランクの状態の画像が極小値画像として生成される。
【0070】
ステップS46において、小領域ID付加部63は、供給されてきた極小値画像の極小値として設定されている各画素について、小領域IDを付加する。このとき、極小値画像における画素については、画素が単独に存在せず、複数の画素が隣接して存在する場合、それらの隣接している画素により構成されている領域は小領域としてみなされ、小領域を構成する全画素に共通の小領域IDが付加される。この場合、極小値として判定されなかった画素については、小領域IDがブランクとされるか、または、ブランクであることを示す値が付加される。
【0071】
小領域ID付加部63は、例えば、UNION−FIND法("The watershed transform: definitions, algorithms, and parallellization strategies" (2000), J.B.T.M. Roerdink and A. Meijster, Fundamenta Informaticae 41, pp. 187-228参照)により小領域毎に小領域IDを付加する。
【0072】
ステップS47において、小領域ID付加部63は、このようにして小領域として設定された領域毎に小領域IDを付加した初期小領域IDマップを生成して、入力画像と共に小領域拡大処理部64に供給する。
【0073】
ステップS48において、小領域拡大処理部64は、小領域ID付加部63より供給されてきた入力画像および初期小領域IDマップに基づいて、小領域IDマップの各小領域を小領域IDが付加されていないブランクとなっている画素の範囲に拡大する。より詳細には、小領域拡大処理部64は、小領域IDを持つ画素を中心として、上下左右、左上、右上、左下、および右下に隣接する8画素(以降、周辺8近傍画素とも称する)のうち、小領域IDが付加されていない画素へ小領域IDを伝搬させていく処理を繰り返す。このとき、小領域IDを拡大する処理、すなわち、小領域IDを伝搬させる順序は、小領域の画素値の昇順に実行されていくものとする。この処理が繰り返されて、全ての画素がいずれかの小領域IDが付加されると処理が終了する。
【0074】
ステップS49において、小領域拡大処理部64は、小領域単位で付加されたIDの情報より小領域IDマップを生成し、小領域IDマップ出力部65に供給する。
【0075】
ステップS50において、小領域IDマップ出力部65は、生成された小領域IDマップを小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。
【0076】
以上の処理により、例えば、図4の左部で示されるような入力画像を、小領域IDマップに基づいて、同一の小領域IDが付加された領域を囲むように白線で仕切られた画像を生成すると、図7で示されるような小領域に分割された画像が生成される。そこで、入力画像のオブジェクト画像と背景画像とを分離するにあたり、この画像を用いることで、画素単位ではなく、小領域単位で処理をすることが可能となる。結果として、オブジェクト画像に拘束される領域であるか、背景画像に拘束される領域であるかの判定処理数を低減することが可能となるので、処理に必要とされるメモリ容量を低減させることができ、処理速度を高速にすることが可能となる。
【0077】
ここで、図3のフローチャートの説明に戻る。
【0078】
ステップS3において、事前セグメンテーション処理により、小領域IDマップが生成されて、入力画像と共に小領域隣接エネルギー計算部14および小領域尤度エネルギー計算部15に供給されると、処理は、ステップS4に進む。
【0079】
ステップS4において、小領域隣接エネルギー計算部14は、小領域IDマップおよび入力画像に基づいて、以下の式(2)で示される計算により、隣接する小領域間の小領域隣接エネルギーを計算する。そして、小領域隣接エネルギー計算部14は、計算結果である小領域毎の小領域隣接エネルギー、入力画像、および小領域IDマップをセグメンテーション実行部16に供給する。
【0080】
【数2】
【0081】
ここで、ENは、小領域間隣接エネルギーを示しており、IpおよびIqは、小領域間の境界に隣接する画素の組におけるそれぞれの画素値を示している。また、βは、画素値の差分を2乗した値の画像全体における期待値を示しており、画素値の差分の分布における中心値が0.5近傍の値となるように調整するパラメータである。βの式中の<A>の記号は、Aの期待値を示している。
【0082】
すなわち、図8で示されるように小領域Z1,Z2が存在する場合、隣接する画素の組は、画素P1と画素P11、画素P2と画素P12、画素P3と画素P13、画素P3と画素P14、画素P4と画素P14、画素P4と画素P15、画素P5と画素P14、および画素P6と画素P16である。
【0083】
このように、小領域間隣接エネルギーENは、隣接する小領域間の隣接画素間の画素値の差分が2乗された値が小領域毎に累積加算された値となる。したがって、小領域間隣接エネルギーENは、隣接する小領域間における画素において、相関の高い画素が多ければ大きくなり、相関の低い画素値の差分が大きなものが多い場合、小さくなる。
【0084】
ステップS5において、小領域尤度エネルギー計算部15は、拘束領域設定部31を制御して、トライマップ画像よりオブジェクト画像の画素として拘束された画素、すなわち、オブジェクト拘束画素を抽出させる。
【0085】
ステップS6において、拘束領域設定部31は、小領域IDマップに基づいて、各小領域内のオブジェクト拘束画素をオブジェクト拘束候補画素に設定する。
【0086】
ステップS7において、小領域尤度エネルギー計算部15は、拘束領域設定部31を制御して、トライマップ画像より背景画像の画素として拘束された画素、すなわち、背景拘束画素を抽出させる。
【0087】
ステップS8において、拘束領域設定部31は、小領域IDマップに基づいて、各小領域内の背景拘束画素を背景拘束候補画素に設定する。
【0088】
ステップS9において、拘束領域設定部31は、オブジェクト拘束候補画素のみを含む小領域をオブジェクト拘束小領域に設定し、背景拘束候補画素のみを含む小領域を背景拘束小領域に設定する。さらに、拘束領域設定部31は、オブジェクト拘束候補画素、および背景拘束候補画素の両方を含む小領域を矛盾無く分割し、それぞれをオブジェクト拘束小領域、および背景拘束小領域に設定する。
【0089】
ステップS10において、小領域尤度エネルギー計算部15は、代表色設定部32を制御して、小領域毎に代表色を設定させる。より詳細には、代表色設定部32は、各小領域が含む画素の画素値を重み付き平均で計算することにより、小領域毎の代表色を求める。すなわち、小領域毎に含まれている画素値の単純な平均値を代表色として計算すると、小領域境界周辺の画素値が色混じりすることにより色混じりを含んだ平均画素値となり、後述する尤度エネルギーが精度よく求められなくなる。
【0090】
例えば、図9の左部で示されるように、領域Z1,Z2における画素値の波形が設定されていた場合、小領域境界Egの周辺では画素値の変化が大きくなるので、隣接する小領域Z1,Z2間のそれぞれに多く含まれる画素値が混合された画素値が多くなる。このため、単純に小領域の画素全てを用いた画素値の平均値を求めると図9の右上段で示されるように、本来の小領域における画素値の平均値よりも相互の中間値に近付くような画素値となってしまい、結果として、相互の小領域の代表色が正しく表現できない。
【0091】
そこで、図9の右下段の太い実線で示すように、画素の位置を示す空間に対して、境界周辺で小さくなるように平均化重みを設定して、各画素の画素値に乗じられて、加算されるようにする。このようにすることで、図9の右中段で示されるように小領域Z1,Z2の画素値の本来の波形に近い代表色が設定されるようにすることができる。画素の位置を示す空間に対して、境界周辺で小さくなるようにする重みの設定方法としては、例えば、図9の右下段の点線で示される微分画像の微分値の逆数などを利用することができる。
【0092】
従って、代表色設定部32は、図9の右下段で示されるように、各境界付近の画素に対して小さくなるように画素値に重みを乗じ、さらに、それらを積算することにより小領域毎に代表色となる画素値を設定する。
【0093】
ステップS11において、小領域尤度エネルギー計算部15は、オブジェクト尤度計算部33を制御して、小領域毎にオブジェクト尤度を計算させる。より詳細には、まず、オブジェクト尤度計算部33は、オブジェクト拘束小領域(または背景拘束小領域)に基づいて、ガウス混合モデルを表現する関数p(x)を生成する。
【0094】
すなわち、オブジェクト尤度計算部33は、オブジェクト拘束小領域を第1のデータサンプルとする1つのクラスタとして、平均ベクトルμを算出する。また、オブジェクト尤度計算部33は、オブジェクト拘束小領域を第1のデータサンプルとした1のクラスタとして、共分散行列Σを算出する。そして、オブジェクト尤度計算部33は、算出された平均ベクトルμおよび共分散行列Σに基づいて、オブジェクト拘束小領域を第1のデータサンプルとしたガウス混合モデルp(x)を生成する。
【0095】
ここで、ガウス混合モデルの関数p(x)は、以下の式(3)で示されるように、D次元のデータxが与えられたときに、その尤度を表す関数である。また、ガウス混合モデルの関数p(x)は、式(4)で示されるK個のD次元ガウス関数N(x|μk,Σk)(係数k:k=1,2,・・・K)に重みHkを乗じたものの総和である。
【0096】
【数3】
【0097】
【数4】
【0098】
ここで、ガウス関数N(x)は、係数kで分類されるD次元のデータxが与えられたときに、平均ベクトルμkと、その共分散行列Σkの逆行列Σk-1と共分散行列Σkの行列式|Σk|を使って、係数kで分類されるD次元のデータxのガウスモデルの尤度を表す関数である。
【0099】
尚、ガウス混合モデルの構築については、Expectation Maximization法が知られている。その詳細については、"Pattern Recognition and Machine Learning" (2006), Bishop, Christopher M., Series: Information Science and Statistics , ISBN: 978-0-387-31073-2)を参照されたい。
【0100】
ステップS12において、小領域尤度エネルギー計算部15は、背景尤度計算部34を制御して、小領域毎に背景尤度を計算させる。尚、この処理は、オブジェクト尤度計算部33と同様の手法により背景尤度を計算する。
【0101】
ステップS13において、小領域尤度エネルギー計算部15は、オブジェクト尤度計算部33により計算された小領域毎のオブジェクト尤度と、背景尤度計算部34により計算された小領域毎の背景尤度とから、小領域毎の小領域尤度エネルギーを計算する。より詳細には、小領域尤度エネルギー計算部15は、以下の式(5)により小領域毎の小領域尤度エネルギーを計算し、計算結果をセグメンテーション実行部16に供給する。
【0102】
【数5】
【0103】
ここで、ELは小領域尤度エネルギーを、POBJ(x)は、オブジェクト尤度を、PBG(x)は、背景尤度を、xは小領域の代表色を示している。
【0104】
すなわち、小領域尤度エネルギーELは、代表色xにおけるオブジェクト尤度と、背景尤度との差分が小さいほど大きく、逆にオブジェクト尤度と、背景尤度との差分が大きいほど小さくなる。
【0105】
ステップS14において、セグメンテーション実行部16は、小領域隣接エネルギー、小領域尤度エネルギー、入力画像、および小領域IDマップに基づいて、セグメンテーション処理を実行する。この処理により、セグメンテーション実行部16は、小領域をノードとしてグラフカット境界を設定する。すなわち、セグメンテーション実行部16は、小領域IDマップから小領域をノード単位とするグラフを構築し、そのグラフのエッジに小領域尤度エネルギーおよび小領域隣接エネルギーを設定してグラフカット境界を計算する。この結果、グラフのエッジは、画素の組で設定されるのではなく、小領域の組により設定される。
【0106】
ステップS15において、セグメンテーション実行部16は、計算されたグラフカット境界に沿って、小領域単位でオブジェクト画像に属する画素に対してオブジェクト画像を示す値を設定し、背景画像に属する画素に対して背景画像を示す値を設定する。この処理により、セグメンテーション実行部16は、例えば、図4の左部で示される入力画像に対応して、図4の右部で示されるようなオブジェクトと背景とを示す2値からなる2値マスク画像を生成し、出力部17に供給する。出力部17は、セグメンテーション実行部16により生成された2値マスク画像を出力し処理は終了する。
【0107】
以上の処理により、グラフカット処理により2値画像を生成するに当たり、事前セグメンテーション処理により入力画像を小領域単位に分割してから処理することで、グラフカット処理に当たりノードを画素単位とせず小領域単位とすることが可能となる。結果として、処理に必要なメモリ容量を低減すると共に、処理速度を向上させることが可能となる。
【0108】
また、以上の処理により、小領域の代表色として小領域の重み付き平均を用い、境界付近の画素値の重みを小さくするようにしたことにより、周辺の小領域の色混じりを低減するようにすることができる。結果として、グラフカット法のような画像セグメンテーション処理を小領域単位で行っても、画素単位と同じような結果を得ることが可能となる。
【0109】
尚、以上においては、上述の事前セグメンテーション実行部13において、入力画像をそのまま微分画像を生成する例について説明してきたが、例えば、微分画像を計算する前にエッジ保存平滑化フィルタを適用することで、エッジが残り易いようにしてもよい。
【0110】
すなわち、事前セグメンテーション実行部13は、元の画像のエッジを保存するように小領域を構築するが、エッジ保存平滑化フィルタを適用することで、エッジを保存しながらも小領域をさらに拡大することでさらなる省メモリ化と処理の高速化を実現できる。
【0111】
画像に対するエッジ保存平滑化フィルタとしては、例えば、Meanshift FilterやBilateral Filterがある。
【0112】
Meanshift Filterは、画像の局所的な領域に注目して、その領域の最も密度の高い位置を見つけ、処理対象画素を、その密度の高い方向へ移動または更新することで、エッジを残しながら平滑化するフィルタである("Mean shift: a robust approach toward feature space analysis", Comaniciu, D.; Meer, P., Pattern Analysis and Machine Intelligence, IEEE Transactions on Volume 24, Issue 5, May 2002参照)。
【0113】
また、Bilateral Filerは、画像の局所的な領域に注目して、距離と注目画素との輝度差の2つの重みを混合して平滑化を行う方法で、同様にエッジを残しながら平滑化するフィルタである("Bilateral filtering for gray and color images", Tomasi, C. Manduchi, R., International Conference on Computer Vision, 1998.参照)。
【0114】
さらに、上述の事前セグメンテーション実行部13は、微分画像を計算するのにソーベルフィルタを用いる例について説明してきたが、他のエッジ検出フィルタを適用してもよく、例えば、Cannyエッジ検出フィルタまたはLaplacianフィルタなどでもよい。
【0115】
また、代表色設定部32が使用する重み付き平均には、微分画像の微分値の逆数だけでなく他の方法を用いてもよい。代表色設定部32が使用する重み付き平均としては、例えば、小領域中心の極小値を中心色として周辺の画素の濃淡差の逆数を使ったり、可変加重平均フィルタリングを用いるようにしてもよい。また、代表色設定部32が使用する重み付き平均としては、例えば、局所小領域の画素からその中心色の濃淡レベルに近い順にk個取り出して平均色を求めるk最近隣平均フィルタリングなどでもよい。
【0116】
さらに、微分処理された画像の各画素の画素値について、所定の閾値以下の画素値を0にすることで、前記小領域中心の個数を減らして出力し、処理負荷を低減させ、処理速度を向上させるようにしてもよい。
【0117】
さらに、代表色設定部32が使用する重み付き平均としては、重みの計算に単に小領域中心と小領域に含まれる画素までの距離の逆数を使ったり、測地線距離を計算して用いたりする方法でもよい。
【0118】
また、測地線距離の場合の距離計算は、例えば、画素値の変化がもっとも小さい経路を選んで、距離を画素値の変化量を積算したものを利用してもよい。
【0119】
さらに、以上においては、事前セグメンテーション処理を画像のセグメンテーションと組み合わせて使う例を示しているが、事前セグメンテーション処理により求められた小領域IDマップを単独で用いたり、別のアルゴリズムと組み合わせて利用しても良い。
【0120】
すなわち、事前セグメンテーション処理によって、小領域IDマップ、すなわち、小領域画像を得ることで、簡易的なモザイク画像として提示したり、入力画像から小領域画像を減算することでテクスチャ情報を抽出したりするようにしてもよい。
【0121】
また、コンピュータビジョン問題のステレオ画像対応やオブジェクト・トラッキングと組み合わせて、処理を高速化したりロバスト性を高めたりするようにしてもよい。
【0122】
さらに、画像の解像度に応じて、例えば、解像度が高く、事前セグメンテーション処理により生成される小領域数が、所定の小領域数よりも充分に少ない状態となることが期待できるときにのみ、事前セグメンテーション処理の結果を使ってセグメンテーション処理を実行するようにしても良く、高い効果が得られるときにのみ事前セグメンテーション処理をすることで、効率的に処理することが可能となる。
【0123】
また、事前セグメンテーション処理により生成された小領域数が、所定の小領域数よりも充分に少ない状態となったときにのみ、事前セグメンテーション処理の結果を使ってセグメンテーション処理を実行するようにしても良い。すなわち、事前セグメンテーション処理により画像セグメンテーション処理の負荷を大きく軽減できる場合にのみ、事前セグメンテーション処理の処理結果を使用することで、事前セグメンテーション処理結果を効果的に使用することが可能となる。
【0124】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0125】
図10は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
【0126】
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
【0127】
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0128】
尚、本明細書において、処理工程を記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【符号の説明】
【0129】
11 入力画像取得部, 12 トライマップ画像取得部, 13 事前セグメンテーション実行部, 14 小領域隣接エネルギー計算部, 15 小領域尤度エネルギー計算部, 16 セグメンテーション実行部, 17 出力部, 61 画像取得部, 62 小領域中心選択部, 63 小領域ID付加部, 64 小領域拡大処理部, 65 小領域IDマップ出力部
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、入力画像からオブジェクト領域と背景領域とからなる2値マスク画像を生成する際、処理を高速にすると共に省メモリで実現できるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
【背景技術】
【0002】
画像内のオブジェクト領域と背景領域とを指定する2値マスク画像を得る処理は、画像セグメンテーション処理と称されている。この画像セグメンテーション処理の1つの手法として、グラフカット法が知られている(非特許文献1参照)。
【0003】
このグラフカット法は、画像全体を画像の色分布とエッジの情報をエネルギーとするグラフ構造で表し、その最大流問題(Maxflow)として解き、エネルギーが最小になるように0と1のラベルを割り当てて2値マスク画像を求めるものである。
【0004】
しかしながら、全画素について、このグラフ構造をメモリ上で保持するには、メモリ使用量が非常に大きく、処理する画像の解像度に限界があった。
【0005】
こうした問題を解決する方法の一つに、グラフカット法を画素の単位ではなく画素集合などの小領域といったもう少し大きな粒度で処理するアイデアがある。
【0006】
元々グラフカット法では、グラフのノード間の接続具合に制約はなく自由な接続が許されるので、自由に小領域を構築して画素を上記の小領域に置き換えるだけでそのまま適用することができる。ただし、グラフのノードとエッジに設定するエネルギーについては画素単位とは別の方法で計算する必要がある。
【0007】
このような小領域集合を定義してグラフカット法を適用する方法が(非特許文献2、および特許文献1参照)で提案されている。この方法では、画素間の隣接エネルギーと尤度エネルギーを小領域の平均色を使って求めている。
【0008】
この手法においては、グラフカット法を画素よりも個数の少ない小領域単位で行うことで省メモリで、かつ、高速化を実現するとともに2種類のエネルギーの計算量も軽減している。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】"An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision" (2004), Yuri Boykov, Vladimir Kolmogorov, IEEE Transactions on Pattern Analysis and Machine Intelligence
【0010】
【非特許文献2】"Lazy snapping" (2004), Yin Li, Jian Sun, Chi-Keung Tang, Heung-Yeung Shum, ACM Transaction. Graphics.
【特許文献】
【0011】
【特許文献1】"Systems and methods for image data separation", EP 1 624 413 A2 (2006/6)
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、非特許文献2、および特許文献1において提案されている手法においては、両エネルギーとも小領域の平均色を使って計算するため画素単位で計算するものと比べてその差が大きくなり、グラフカット法処理結果の2値マスク画像がうまく求められないケースがあった。
【0013】
本発明はこのような状況に鑑みてなされたものであり、入力画像からオブジェクト領域と背景領域とからなる2値マスク画像を生成する際、処理を高速にすると共に省メモリで実現できるようにすると共に、グラフカット法のような画像セグメンテーション処理を小領域単位で行っても、画素単位と同じような結果を得ることができるようにするものである。
【課題を解決するための手段】
【0014】
本発明の一側面の画像処理装置は、画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置であって、前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得手段と、前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割手段と、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算手段と、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算手段と、前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割手段と、前記分割手段により分割された前記2値マスク画像を出力する出力手段とを含む。
【0015】
前記小領域尤度エネルギー計算手段には、前記オブジェクト尤度と前記背景尤度とを、前記小領域集合ごとの重み付き平均色を用いた前記確率モデル関数を用いて計算させるようにすることができる。
【0016】
前記事前分割手段には、前記画像における各画素について、ラスタスキャンの順方向で画素値の極小値となる画素を前記小領域中心候補画素に設定した後、前記小領域中心候補画素について、前記ラスタスキャンの逆方向で極小値となる画素を前記小領域中心として選択する小領域中心選択手段をさらに含ませるようにすることができる。
【0017】
前記小領域中心選択手段には、前記画像を微分処理する微分処理手段をさらに含ませるようにすることができ、前記微分処理手段により微分処理された画像の各画素の画素値について、所望の閾値以下の画素値を0にすることで、前記小領域中心の個数を減らして出力させるようにすることができる。
【0018】
前記事前分割手段には、前記小領域の拡大の順序を、量子化した画素値の昇順に設定する小領域拡大処理手段をさらに含ませるようにすることができる。
【0019】
本発明の一側面の画像処理方法は、画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置の画像処理方法であって、前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップとを含む。
【0020】
本発明の一側面のプログラムは、画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置を制御するコンピュータに、前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップとを含む処理を実行させる。
【0021】
本発明の一側面においては、画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像が取得され、前記画像内の画素が前記画素間の相関性に基づいて分類されることにより小領域集合に分割され、前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーが計算され、前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域が選択され、確率モデル関数が構築され、前記確率モデル関数が用いられて、前記小領域集合毎にオブジェクト尤度、および背景尤度が求められ、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーが計算され、前記小領域隣接エネルギーと前記小領域尤度エネルギーとが用いられて、前記画像が前記前景および前記背景の2値マスク画像に分割され、分割された前記2値マスク画像が出力される。
【発明の効果】
【0022】
本発明によれば、グラフカット法のような画像セグメンテーション処理を小領域単位で行っても、画素単位と同じような結果を得ることが可能となる。
【図面の簡単な説明】
【0023】
【図1】本発明を適用した画像セグメンテーション装置の一実施の形態の構成例を示す図である。
【図2】図1の事前セグメンテーション実行部の構成例を示す図である。
【図3】画像セグメンテーション処理を説明するフローチャートである。
【図4】入力画像と2値マスク画像の例を示す図である。
【図5】事前セグメンテーション処理を説明するフローチャートである。
【図6】小領域中心となる画素を選択する処理を説明する図である。
【図7】小領域IDマップに基づいて生成される小領域からなる画像を説明する図である。
【図8】小領域隣接エネルギーを説明する図である。
【図9】小領域毎の代表色を設定する処理を説明する図である。
【図10】汎用のパーソナルコンピュータの構成例を示す図である。
【発明を実施するための最良の形態】
【0024】
[画像セグメンテーション装置の構成例]
図1は、本発明を適用した画像セグメンテーション装置の一実施の形態の構成例を示す図である。
【0025】
画像セグメンテーション装置1は、入力画像と、その入力画像の画素がオブジェクト画素、背景画素、それ以外の画素のいずれかに分類されたトライマップ画像とを用いて、入力画像を、複数の画素からなる小領域のまとまりからなる画像に変換する。そして、画像セグメンテーション装置1は、その小領域の単位で画像セグメンテーションを実行し、すなわち、画像を小領域単位でオブジェクトと背景に分離し、2値マスク画像を生成して出力する。
【0026】
画像セグメンテーション装置1は、入力画像取得部11、トライマップ画像取得部12、事前セグメンテーション実行部13、小領域隣接エネルギー計算部14、小領域尤度エネルギー計算部15、セグメンテーション実行部16、および出力部17を備えている。
【0027】
入力画像取得部11は、通常の入力画像を取得し、事前セグメンテーション実行部13に供給する。トライマップ画像取得部12は、入力画像と、入力画像の画素がオブジェクト画素、背景画素、それ以外の画素のいずれかに分類された情報とからなるトライマップ画像を取得し、小領域尤度エネルギー計算部15に供給する。
【0028】
事前セグメンテーション実行部13は、まず、供給されてきた入力画像を複数の隣接画素からなる小領域に分割する。そして、事前セグメンテーション実行部13は、小領域毎に小領域ID(identifier)を設定して小領域IDマップを生成し、小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。このとき、事前セグメンテーション実行部13は、小領域IDマップと共に入力画像も小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。尚、事前セグメンテーション実行部13の詳細な構成については、図2を参照して後述する。
【0029】
小領域隣接エネルギー計算部14は、各小領域を識別する小領域IDからなる小領域IDマップと、入力画像とに基づいて、小領域間の境界に位置する画素間の画素値により隣接エネルギーを求め、それらの小領域分の積算値を小領域隣接エネルギーとして計算する。小領域隣接エネルギー計算部14は、計算した小領域隣接エネルギーをセグメンテーション実行部16に供給する。
【0030】
小領域尤度エネルギー計算部15は、事前セグメンテーション実行部13より供給される入力画像および小領域IDマップと、トライマップ画像取得部12よりトライマップ画像とに基づいて、小領域尤度接エネルギーを計算する。
【0031】
より詳細には、小領域尤度エネルギー計算部15は、拘束領域設定部31、代表色計算部32、オブジェクト尤度計算部33、および背景尤度計算部34を備えている。拘束領域設定部31は、オブジェクト画像の画素からなる小領域をオブジェクト画像に拘束し、背景画像の画素からなる小領域を背景画像に拘束し、いずれの画像の画素も含む小領域については、矛盾なく小領域を分割するか、またはいずれにも拘束しない。代表色計算部32は、小領域を構成する画素の色情報の重み付き平均を、小領域の代表色として求める。オブジェクト尤度計算部33は、オブジェクト画像に拘束された小領域単位のガウス確率モデルの関数を求め、そのガウス確率モデルの関数を用いてオブジェクトの尤度をオブジェクト尤度として計算する。背景尤度計算部34は、背景画像に拘束された小領域単位のガウス確率モデルの関数を求め、そのガウス確率モデルの関数を用いて背景の尤度を背景尤度として計算する。
【0032】
そして、小領域尤度エネルギー計算部15は、このオブジェクト画像に拘束された小領域のオブジェクト尤度と、背景画像に拘束された小領域の背景尤度とから小領域尤度エネルギーを計算する。小領域尤度エネルギー計算部15は、計算した小領域尤度エネルギーをセグメンテーション実行部16に供給する。尚、小領域隣接エネルギーおよび小領域尤度接エネルギーについては、詳細を後述する。
【0033】
セグメンテーション実行部16は、小領域隣接エネルギー計算部14および小領域尤度エネルギー計算部15より供給されてくる入力画像、小領域IDマップ、小領域隣接エネルギー、および小領域尤度エネルギーを取得する。そして、セグメンテーション実行部16は、画像セグメンテーションを実施し、入力画像、小領域IDマップ、小領域隣接エネルギー、および小領域尤度エネルギーに基づいて、2値マスク画像を生成して、出力部17に供給する。
【0034】
出力部17は、供給されてきた2値マスク画像を処理結果として出力する。
【0035】
[事前セグメンテーション実行部の構成例]
次に、図2を参照して、事前セグメンテーション実行部13の詳細な構成について説明する。
【0036】
事前セグメンテーション実行部13は、画像取得部61、小領域中心選択部62、小領域ID付加部63、小領域拡大処理部64、および小領域IDマップ出力部65を備えている。
【0037】
画像取得部61は、入力画像を取得し、小領域中心選択部62に供給する。小領域中心選択部62は、微分画像生成部81、極小値判定部82、および極小値画像生成部83を備えている。小領域中心選択部62は、入力画像より小領域を構成するに当たり、その中心となる画素を選択する。より詳細には、微分画像生成部81は、例えば、ソーベル演算子フィルタなどであり、入力画像の各画素を処理して微分画像を生成する。極小値判定部82は、微分画像の各画素をラスタスキャン順に隣接する画素間の画素値の差分から極小値画素を検出する。極小値画像生成部83は、極小値判定部82により極小値であると判定された画素から極小値画像を生成する。極小値判定部82は、極小値画像を小領域ID付加部63に供給する。
【0038】
小領域ID付加部63は、小領域中心選択部62より供給されてきた極小値画像の極小値として設定された各画素を小領域中心として選択された画素とみなし、小領域中心として選択された画素それぞれに小領域IDを付加し、初期小領域IDマップを生成する。また、小領域ID付加部63は、生成した初期小領域IDマップと入力画像とを小領域拡大処理部64に供給する。
【0039】
小領域拡大処理部64は、初期小領域IDマップより、小領域中心として選択された各画素について、画素値の昇順に小領域中心として選択されなかった画素に小領域IDを徐々に伝播させることで、小領域中心から小領域を拡大し、小領域IDマップを生成する。また、小領域拡大処理部64は、生成した小領域IDマップと入力画像とを小領域IDマップ出力部65に供給する。小領域IDマップ出力部65は、生成された小領域IDマップと入力画像とを小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。
【0040】
[画像セグメンテーション処理について]
次に、図3のフローチャートを参照して、画像セグメンテーション処理について説明する。
【0041】
ステップS1において、入力画像取得部11は、入力画像として通常の画像を取得し、事前セグメンテーション実行部13に供給する。通常の入力画像としては、例えば、図4の左部で示されるような画像である。図4の左部においては、アゲハチョウが葉にとまっている状態の画像を示している。尚、以降においては、このアゲハチョウが、入力画像におけるオブジェクト画像であるものとし、それ以外の画像は背景画像であるものとして説明を進めるものとする。ただし、入力画像は、この画像に限ったものではなく、それ以外の画像であってもよい。また、オブジェクト画像についても、アゲハチョウに限ったものではなく、それ以外の画像であってもよい。
【0042】
ステップS2において、トライマップ画像取得部12は、入力画像の画素がオブジェクト画素、背景画素、それ以外の画素のいずれかに分類されたトライマップ画像を取得し、小領域尤度エネルギー計算部15に供給する。より詳細には、トライマップ画像は、例えば、図4において、オブジェクトであるアゲハチョウの輪郭部分を所定の太さのタッチペンなどでなぞって構成される画像である。このような場合、オブジェクト画像を構成する領域の画素は、タッチペンで囲まれる内側のアゲハチョウの領域の画素である。また、背景画像はタッチペンで囲まれていない外側の領域の画素であり、それ以外、すなわち、タッチペンの線上の境界の領域の画素は、そのいずれにも分類されないものとなる。
【0043】
ステップS3において、事前セグメンテーション実行部13は、事前セグメンテーション処理を実行して、小領域IDマップを生成して小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。
【0044】
[事前セグメンテーション処理について]
ここで、図5を参照して、事前セグメンテーション処理について説明する。
【0045】
ステップS31おいて、画像取得部61は、入力画像を取得し、小領域中心選択部62に供給する、
【0046】
ステップS32において、小領域中心選択部62は、微分画像生成部81を制御して微分画像を生成させる。微分画像生成部81は、例えば、以下の式(1)で示されるようなソーベルフィルタである。
【0047】
【数1】
【0048】
ここで、Gyは、上段が左から+1,+2,+1、中段が左から0,0,0、および下段が左から−1,−2,−1の値からなる垂直方向のソーベルフィルタにより、行列Aを処理した処理結果である。また、行列Aは、注目画素と、注目画素に上下左右、左上、右上、左下、および右下に隣接する、注目画素を中心とした3画素×3画素の領域の画素値からなる行列である。
【0049】
また、Gxは、上段の左から+1,0,−1、中段の左から+2,0,−2、および下段の左から+1,0,−1の値からなる水平方向のソーベルフィルタにより、行列Aを処理した処理結果である。Gは、水平方向のソーベルフィルタ処理結果と垂直方向のソーベルフィルタ処理結果とを合成した処理結果である。
【0050】
すなわち、式(1)で示されるソーベルフィルタは、画像の微分値と微分方向を計算してエッジを検出するものである。尚、式(1)のソーベルフィルタは一例であり、各値はそれ以外の値であってもよいものである。
【0051】
ステップS33において、極小値判定部82は、入力画像の順方向ラスタスキャンの先頭位置に対応する画素を処理対象画素に設定する。
【0052】
ステップS34において、極小値判定部82は、処理対象画素に隣接する画素間の画素値を比較する。すなわち、極小値判定部82は、入力画像の画素をラスタスキャン順に配置し、処理対象画素の前後に配置された画素間の画素値とを比較する。
【0053】
ステップS35において、極小値判定部82は、処理対象画素の画素値が隣接画素の画素値に対して極小値を取るか否かを判定する。より詳細には、極小値判定部82は、処理対象画素よりも小さな値を持つ隣接画素がなければその処理対象画素を極小値画素とする。さらに、極小値判定部82は、処理対象画素の隣接画素のうちすでに処理した画素について、処理対象画素と同じ値であって、かつ、極小値でないと判定された画素があれば、その処理対象画素は極小値ではないと判定する。
【0054】
例えば、図6の上段で示されるように、画素P1乃至P9についてラスタスキャン順に配置された画素の画素値を棒グラフとして表すと、極小値であるか否かは以下のように判定される。すなわち、極小値判定部82は、処理対象画素が画素P2である場合、画素P1と画素P2との差分、および画素P3と画素P2との差分の情報から画素P2が極小値であるか否かを判定する。
【0055】
図6の上段においては、画素P2の画素値は、隣接する画素P1,P3の画素値のいずれもよりも小さく、画素P2の画素値より小さな画素がないので、極小値判定部82は、画素P2は極小値であると判定する。
【0056】
また、処理対象画素が画素P3である場合、画素P3の画素値は、隣接する画素P2,P4のいずれよりも大きく、画素P3の画素値より小さな画素があるため、極小値判定部82は、画素P3の画素値は極小値ではないと判定する。
【0057】
さらに、処理対象画素が画素P4である場合、画素P4の画素値は、隣接する画素P3よりも小さく、画素P5と同一であり、画素P4の画素値より小さな画素がないため、極小値判定部82は、画素P4の画素値は極小値であると判定する。
【0058】
また、処理対象画素が画素P5である場合、画素P5の画素値は、隣接する画素P4,P6と同じであり、画素P5の画素値より小さな画素がないため、極小値判定部82は、画素P5の画素値は極小値であると判定する。
【0059】
さらに、処理対象画素が画素P6である場合、画素P6の画素値は、隣接する画素P5と同一であり、P7よりも大きく、画素P6の画素値より小さい画素があるため、極小値判定部82は、画素P6の画素値は極小値ではない判定する。
【0060】
また、処理対象画素が画素P7である場合、画素P7の画素値は、隣接する画素P6よりも小さく、画素P8と同一であり、画素P7の画素値より小さな画素がないため、極小値判定部82は、画素P5の画素値は極小値であると判定する。
【0061】
さらに、処理対象画素が画素P8である場合、画素P8の画素値は、隣接する画素P7と同一であり、P8よりも小さく、画素P8の画素値より小さい画素がないため、極小値判定部82は、画素P8の画素値は極小値であると判定する。
【0062】
ステップS35において、処理対象画素が極小値であると判定された場合、ステップS36において、極小値判定部82は、処理対象画素を極小値であるものとして記憶する。尚、ステップS35において、処理対象画素が極小値ではないと判定された場合、ステップS36の処理は、スキップされる。
【0063】
ステップS37において、極小値判定部82は、入力画像に処理対象画素として処理していない未処理の画素が存在するか否かを判定し、未処理の画素が存在する場合、処理は、ステップS38に進む。
【0064】
ステップS38において、極小値判定部82は、順方向のラスタスキャン順に処理対象画素を変更し、処理は、ステップS34に戻る。すなわち、入力画像の各画素についてラスタスキャン順に全ての画素の画素値が極小値であるか否かが判定されるまで、ステップS34乃至S38の処理が繰り替えされる。そして、ステップS37において、全ての入力画像の画素について極小値であるか否かが判定されると、処理は、ステップS39に進む。
【0065】
尚、ステップS39乃至S44の処理は、上述したステップS33乃至43の処理については、ラスタスキャン順であった処理が、逆ラスタスキャン順に処理されるのみであるので、その説明は省略する。
【0066】
ところで、このように、順方向ラスタスキャン順に処理した後、逆方向ラスタスキャン順に処理することにより、順方向ラスタスキャン順に処理した結果とは異なる結果となることがある。
【0067】
すなわち、図6の上段のように順方向ラスタスキャン順に処理した後、逆方向ラスタスキャン順に処理すると、図6の下段のように処理対象画素が画素P2,P7,P8である場合には、順方向と同一の結果となるが、画素P4,P5については結果が異なる。画素P5の場合、一旦処理済みの画素P6が極小値ではないと判定された後、画素P6と同一の画素値の画素P5が処理対象画素となるため、極小値ではないと判定される。同様に、画素P4についても、逆方向ラスタスキャン順の処理により画素P5が極小値ではないと判定された後、画素P5と同一の画素の画素P4が処理対象画素となるため、極小値ではないと判定されることになる。
【0068】
このように、順方向ラスタスキャン順の処理と、逆方向にラスタスキャン順の処理とでは、処理結果が異なるため、ステップS42では、逆方向ラスタスキャン順の処理で極小値であると判定される画素のみが極小値の画素として記憶される。
【0069】
ステップS45において、極小値画像生成部83は、極小値判定部82により記憶されている極小値として判定された画素の情報に基づいて、極小値画像を生成し、入力画像と共に小領域ID付加部63に供給する。尚、ここでは、極小値として判定されていない画素については、ブランクの状態の画像が極小値画像として生成される。
【0070】
ステップS46において、小領域ID付加部63は、供給されてきた極小値画像の極小値として設定されている各画素について、小領域IDを付加する。このとき、極小値画像における画素については、画素が単独に存在せず、複数の画素が隣接して存在する場合、それらの隣接している画素により構成されている領域は小領域としてみなされ、小領域を構成する全画素に共通の小領域IDが付加される。この場合、極小値として判定されなかった画素については、小領域IDがブランクとされるか、または、ブランクであることを示す値が付加される。
【0071】
小領域ID付加部63は、例えば、UNION−FIND法("The watershed transform: definitions, algorithms, and parallellization strategies" (2000), J.B.T.M. Roerdink and A. Meijster, Fundamenta Informaticae 41, pp. 187-228参照)により小領域毎に小領域IDを付加する。
【0072】
ステップS47において、小領域ID付加部63は、このようにして小領域として設定された領域毎に小領域IDを付加した初期小領域IDマップを生成して、入力画像と共に小領域拡大処理部64に供給する。
【0073】
ステップS48において、小領域拡大処理部64は、小領域ID付加部63より供給されてきた入力画像および初期小領域IDマップに基づいて、小領域IDマップの各小領域を小領域IDが付加されていないブランクとなっている画素の範囲に拡大する。より詳細には、小領域拡大処理部64は、小領域IDを持つ画素を中心として、上下左右、左上、右上、左下、および右下に隣接する8画素(以降、周辺8近傍画素とも称する)のうち、小領域IDが付加されていない画素へ小領域IDを伝搬させていく処理を繰り返す。このとき、小領域IDを拡大する処理、すなわち、小領域IDを伝搬させる順序は、小領域の画素値の昇順に実行されていくものとする。この処理が繰り返されて、全ての画素がいずれかの小領域IDが付加されると処理が終了する。
【0074】
ステップS49において、小領域拡大処理部64は、小領域単位で付加されたIDの情報より小領域IDマップを生成し、小領域IDマップ出力部65に供給する。
【0075】
ステップS50において、小領域IDマップ出力部65は、生成された小領域IDマップを小領域隣接エネルギー計算部14、および小領域尤度エネルギー計算部15に供給する。
【0076】
以上の処理により、例えば、図4の左部で示されるような入力画像を、小領域IDマップに基づいて、同一の小領域IDが付加された領域を囲むように白線で仕切られた画像を生成すると、図7で示されるような小領域に分割された画像が生成される。そこで、入力画像のオブジェクト画像と背景画像とを分離するにあたり、この画像を用いることで、画素単位ではなく、小領域単位で処理をすることが可能となる。結果として、オブジェクト画像に拘束される領域であるか、背景画像に拘束される領域であるかの判定処理数を低減することが可能となるので、処理に必要とされるメモリ容量を低減させることができ、処理速度を高速にすることが可能となる。
【0077】
ここで、図3のフローチャートの説明に戻る。
【0078】
ステップS3において、事前セグメンテーション処理により、小領域IDマップが生成されて、入力画像と共に小領域隣接エネルギー計算部14および小領域尤度エネルギー計算部15に供給されると、処理は、ステップS4に進む。
【0079】
ステップS4において、小領域隣接エネルギー計算部14は、小領域IDマップおよび入力画像に基づいて、以下の式(2)で示される計算により、隣接する小領域間の小領域隣接エネルギーを計算する。そして、小領域隣接エネルギー計算部14は、計算結果である小領域毎の小領域隣接エネルギー、入力画像、および小領域IDマップをセグメンテーション実行部16に供給する。
【0080】
【数2】
【0081】
ここで、ENは、小領域間隣接エネルギーを示しており、IpおよびIqは、小領域間の境界に隣接する画素の組におけるそれぞれの画素値を示している。また、βは、画素値の差分を2乗した値の画像全体における期待値を示しており、画素値の差分の分布における中心値が0.5近傍の値となるように調整するパラメータである。βの式中の<A>の記号は、Aの期待値を示している。
【0082】
すなわち、図8で示されるように小領域Z1,Z2が存在する場合、隣接する画素の組は、画素P1と画素P11、画素P2と画素P12、画素P3と画素P13、画素P3と画素P14、画素P4と画素P14、画素P4と画素P15、画素P5と画素P14、および画素P6と画素P16である。
【0083】
このように、小領域間隣接エネルギーENは、隣接する小領域間の隣接画素間の画素値の差分が2乗された値が小領域毎に累積加算された値となる。したがって、小領域間隣接エネルギーENは、隣接する小領域間における画素において、相関の高い画素が多ければ大きくなり、相関の低い画素値の差分が大きなものが多い場合、小さくなる。
【0084】
ステップS5において、小領域尤度エネルギー計算部15は、拘束領域設定部31を制御して、トライマップ画像よりオブジェクト画像の画素として拘束された画素、すなわち、オブジェクト拘束画素を抽出させる。
【0085】
ステップS6において、拘束領域設定部31は、小領域IDマップに基づいて、各小領域内のオブジェクト拘束画素をオブジェクト拘束候補画素に設定する。
【0086】
ステップS7において、小領域尤度エネルギー計算部15は、拘束領域設定部31を制御して、トライマップ画像より背景画像の画素として拘束された画素、すなわち、背景拘束画素を抽出させる。
【0087】
ステップS8において、拘束領域設定部31は、小領域IDマップに基づいて、各小領域内の背景拘束画素を背景拘束候補画素に設定する。
【0088】
ステップS9において、拘束領域設定部31は、オブジェクト拘束候補画素のみを含む小領域をオブジェクト拘束小領域に設定し、背景拘束候補画素のみを含む小領域を背景拘束小領域に設定する。さらに、拘束領域設定部31は、オブジェクト拘束候補画素、および背景拘束候補画素の両方を含む小領域を矛盾無く分割し、それぞれをオブジェクト拘束小領域、および背景拘束小領域に設定する。
【0089】
ステップS10において、小領域尤度エネルギー計算部15は、代表色設定部32を制御して、小領域毎に代表色を設定させる。より詳細には、代表色設定部32は、各小領域が含む画素の画素値を重み付き平均で計算することにより、小領域毎の代表色を求める。すなわち、小領域毎に含まれている画素値の単純な平均値を代表色として計算すると、小領域境界周辺の画素値が色混じりすることにより色混じりを含んだ平均画素値となり、後述する尤度エネルギーが精度よく求められなくなる。
【0090】
例えば、図9の左部で示されるように、領域Z1,Z2における画素値の波形が設定されていた場合、小領域境界Egの周辺では画素値の変化が大きくなるので、隣接する小領域Z1,Z2間のそれぞれに多く含まれる画素値が混合された画素値が多くなる。このため、単純に小領域の画素全てを用いた画素値の平均値を求めると図9の右上段で示されるように、本来の小領域における画素値の平均値よりも相互の中間値に近付くような画素値となってしまい、結果として、相互の小領域の代表色が正しく表現できない。
【0091】
そこで、図9の右下段の太い実線で示すように、画素の位置を示す空間に対して、境界周辺で小さくなるように平均化重みを設定して、各画素の画素値に乗じられて、加算されるようにする。このようにすることで、図9の右中段で示されるように小領域Z1,Z2の画素値の本来の波形に近い代表色が設定されるようにすることができる。画素の位置を示す空間に対して、境界周辺で小さくなるようにする重みの設定方法としては、例えば、図9の右下段の点線で示される微分画像の微分値の逆数などを利用することができる。
【0092】
従って、代表色設定部32は、図9の右下段で示されるように、各境界付近の画素に対して小さくなるように画素値に重みを乗じ、さらに、それらを積算することにより小領域毎に代表色となる画素値を設定する。
【0093】
ステップS11において、小領域尤度エネルギー計算部15は、オブジェクト尤度計算部33を制御して、小領域毎にオブジェクト尤度を計算させる。より詳細には、まず、オブジェクト尤度計算部33は、オブジェクト拘束小領域(または背景拘束小領域)に基づいて、ガウス混合モデルを表現する関数p(x)を生成する。
【0094】
すなわち、オブジェクト尤度計算部33は、オブジェクト拘束小領域を第1のデータサンプルとする1つのクラスタとして、平均ベクトルμを算出する。また、オブジェクト尤度計算部33は、オブジェクト拘束小領域を第1のデータサンプルとした1のクラスタとして、共分散行列Σを算出する。そして、オブジェクト尤度計算部33は、算出された平均ベクトルμおよび共分散行列Σに基づいて、オブジェクト拘束小領域を第1のデータサンプルとしたガウス混合モデルp(x)を生成する。
【0095】
ここで、ガウス混合モデルの関数p(x)は、以下の式(3)で示されるように、D次元のデータxが与えられたときに、その尤度を表す関数である。また、ガウス混合モデルの関数p(x)は、式(4)で示されるK個のD次元ガウス関数N(x|μk,Σk)(係数k:k=1,2,・・・K)に重みHkを乗じたものの総和である。
【0096】
【数3】
【0097】
【数4】
【0098】
ここで、ガウス関数N(x)は、係数kで分類されるD次元のデータxが与えられたときに、平均ベクトルμkと、その共分散行列Σkの逆行列Σk-1と共分散行列Σkの行列式|Σk|を使って、係数kで分類されるD次元のデータxのガウスモデルの尤度を表す関数である。
【0099】
尚、ガウス混合モデルの構築については、Expectation Maximization法が知られている。その詳細については、"Pattern Recognition and Machine Learning" (2006), Bishop, Christopher M., Series: Information Science and Statistics , ISBN: 978-0-387-31073-2)を参照されたい。
【0100】
ステップS12において、小領域尤度エネルギー計算部15は、背景尤度計算部34を制御して、小領域毎に背景尤度を計算させる。尚、この処理は、オブジェクト尤度計算部33と同様の手法により背景尤度を計算する。
【0101】
ステップS13において、小領域尤度エネルギー計算部15は、オブジェクト尤度計算部33により計算された小領域毎のオブジェクト尤度と、背景尤度計算部34により計算された小領域毎の背景尤度とから、小領域毎の小領域尤度エネルギーを計算する。より詳細には、小領域尤度エネルギー計算部15は、以下の式(5)により小領域毎の小領域尤度エネルギーを計算し、計算結果をセグメンテーション実行部16に供給する。
【0102】
【数5】
【0103】
ここで、ELは小領域尤度エネルギーを、POBJ(x)は、オブジェクト尤度を、PBG(x)は、背景尤度を、xは小領域の代表色を示している。
【0104】
すなわち、小領域尤度エネルギーELは、代表色xにおけるオブジェクト尤度と、背景尤度との差分が小さいほど大きく、逆にオブジェクト尤度と、背景尤度との差分が大きいほど小さくなる。
【0105】
ステップS14において、セグメンテーション実行部16は、小領域隣接エネルギー、小領域尤度エネルギー、入力画像、および小領域IDマップに基づいて、セグメンテーション処理を実行する。この処理により、セグメンテーション実行部16は、小領域をノードとしてグラフカット境界を設定する。すなわち、セグメンテーション実行部16は、小領域IDマップから小領域をノード単位とするグラフを構築し、そのグラフのエッジに小領域尤度エネルギーおよび小領域隣接エネルギーを設定してグラフカット境界を計算する。この結果、グラフのエッジは、画素の組で設定されるのではなく、小領域の組により設定される。
【0106】
ステップS15において、セグメンテーション実行部16は、計算されたグラフカット境界に沿って、小領域単位でオブジェクト画像に属する画素に対してオブジェクト画像を示す値を設定し、背景画像に属する画素に対して背景画像を示す値を設定する。この処理により、セグメンテーション実行部16は、例えば、図4の左部で示される入力画像に対応して、図4の右部で示されるようなオブジェクトと背景とを示す2値からなる2値マスク画像を生成し、出力部17に供給する。出力部17は、セグメンテーション実行部16により生成された2値マスク画像を出力し処理は終了する。
【0107】
以上の処理により、グラフカット処理により2値画像を生成するに当たり、事前セグメンテーション処理により入力画像を小領域単位に分割してから処理することで、グラフカット処理に当たりノードを画素単位とせず小領域単位とすることが可能となる。結果として、処理に必要なメモリ容量を低減すると共に、処理速度を向上させることが可能となる。
【0108】
また、以上の処理により、小領域の代表色として小領域の重み付き平均を用い、境界付近の画素値の重みを小さくするようにしたことにより、周辺の小領域の色混じりを低減するようにすることができる。結果として、グラフカット法のような画像セグメンテーション処理を小領域単位で行っても、画素単位と同じような結果を得ることが可能となる。
【0109】
尚、以上においては、上述の事前セグメンテーション実行部13において、入力画像をそのまま微分画像を生成する例について説明してきたが、例えば、微分画像を計算する前にエッジ保存平滑化フィルタを適用することで、エッジが残り易いようにしてもよい。
【0110】
すなわち、事前セグメンテーション実行部13は、元の画像のエッジを保存するように小領域を構築するが、エッジ保存平滑化フィルタを適用することで、エッジを保存しながらも小領域をさらに拡大することでさらなる省メモリ化と処理の高速化を実現できる。
【0111】
画像に対するエッジ保存平滑化フィルタとしては、例えば、Meanshift FilterやBilateral Filterがある。
【0112】
Meanshift Filterは、画像の局所的な領域に注目して、その領域の最も密度の高い位置を見つけ、処理対象画素を、その密度の高い方向へ移動または更新することで、エッジを残しながら平滑化するフィルタである("Mean shift: a robust approach toward feature space analysis", Comaniciu, D.; Meer, P., Pattern Analysis and Machine Intelligence, IEEE Transactions on Volume 24, Issue 5, May 2002参照)。
【0113】
また、Bilateral Filerは、画像の局所的な領域に注目して、距離と注目画素との輝度差の2つの重みを混合して平滑化を行う方法で、同様にエッジを残しながら平滑化するフィルタである("Bilateral filtering for gray and color images", Tomasi, C. Manduchi, R., International Conference on Computer Vision, 1998.参照)。
【0114】
さらに、上述の事前セグメンテーション実行部13は、微分画像を計算するのにソーベルフィルタを用いる例について説明してきたが、他のエッジ検出フィルタを適用してもよく、例えば、Cannyエッジ検出フィルタまたはLaplacianフィルタなどでもよい。
【0115】
また、代表色設定部32が使用する重み付き平均には、微分画像の微分値の逆数だけでなく他の方法を用いてもよい。代表色設定部32が使用する重み付き平均としては、例えば、小領域中心の極小値を中心色として周辺の画素の濃淡差の逆数を使ったり、可変加重平均フィルタリングを用いるようにしてもよい。また、代表色設定部32が使用する重み付き平均としては、例えば、局所小領域の画素からその中心色の濃淡レベルに近い順にk個取り出して平均色を求めるk最近隣平均フィルタリングなどでもよい。
【0116】
さらに、微分処理された画像の各画素の画素値について、所定の閾値以下の画素値を0にすることで、前記小領域中心の個数を減らして出力し、処理負荷を低減させ、処理速度を向上させるようにしてもよい。
【0117】
さらに、代表色設定部32が使用する重み付き平均としては、重みの計算に単に小領域中心と小領域に含まれる画素までの距離の逆数を使ったり、測地線距離を計算して用いたりする方法でもよい。
【0118】
また、測地線距離の場合の距離計算は、例えば、画素値の変化がもっとも小さい経路を選んで、距離を画素値の変化量を積算したものを利用してもよい。
【0119】
さらに、以上においては、事前セグメンテーション処理を画像のセグメンテーションと組み合わせて使う例を示しているが、事前セグメンテーション処理により求められた小領域IDマップを単独で用いたり、別のアルゴリズムと組み合わせて利用しても良い。
【0120】
すなわち、事前セグメンテーション処理によって、小領域IDマップ、すなわち、小領域画像を得ることで、簡易的なモザイク画像として提示したり、入力画像から小領域画像を減算することでテクスチャ情報を抽出したりするようにしてもよい。
【0121】
また、コンピュータビジョン問題のステレオ画像対応やオブジェクト・トラッキングと組み合わせて、処理を高速化したりロバスト性を高めたりするようにしてもよい。
【0122】
さらに、画像の解像度に応じて、例えば、解像度が高く、事前セグメンテーション処理により生成される小領域数が、所定の小領域数よりも充分に少ない状態となることが期待できるときにのみ、事前セグメンテーション処理の結果を使ってセグメンテーション処理を実行するようにしても良く、高い効果が得られるときにのみ事前セグメンテーション処理をすることで、効率的に処理することが可能となる。
【0123】
また、事前セグメンテーション処理により生成された小領域数が、所定の小領域数よりも充分に少ない状態となったときにのみ、事前セグメンテーション処理の結果を使ってセグメンテーション処理を実行するようにしても良い。すなわち、事前セグメンテーション処理により画像セグメンテーション処理の負荷を大きく軽減できる場合にのみ、事前セグメンテーション処理の処理結果を使用することで、事前セグメンテーション処理結果を効果的に使用することが可能となる。
【0124】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0125】
図10は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
【0126】
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
【0127】
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0128】
尚、本明細書において、処理工程を記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
【符号の説明】
【0129】
11 入力画像取得部, 12 トライマップ画像取得部, 13 事前セグメンテーション実行部, 14 小領域隣接エネルギー計算部, 15 小領域尤度エネルギー計算部, 16 セグメンテーション実行部, 17 出力部, 61 画像取得部, 62 小領域中心選択部, 63 小領域ID付加部, 64 小領域拡大処理部, 65 小領域IDマップ出力部
【特許請求の範囲】
【請求項1】
画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置であって、
前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得手段と、
前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割手段と、
前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算手段と、
前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算手段と、
前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割手段と、
前記分割手段により分割された前記2値マスク画像を出力する出力手段と
を含む画像処理装置。
【請求項2】
前記小領域尤度エネルギー計算手段は、前記オブジェクト尤度と前記背景尤度とを、前記小領域集合ごとの重み付き平均色を用いた前記確率モデル関数を用いて計算する
請求項1に記載の画像処理装置。
【請求項3】
前記事前分割手段は、
前記画像における各画素について、ラスタスキャンの順方向で画素値の極小値となる画素を前記小領域中心候補画素に設定した後、前記小領域中心候補画素について、前記ラスタスキャンの逆方向で極小値となる画素を前記小領域中心として選択する小領域中心選択手段をさらに含む
請求項1に記載の画像処理装置。
【請求項4】
前記小領域中心選択手段は、
前記画像を微分処理する微分処理手段をさらに含み、
前記微分処理手段により微分処理された画像の各画素の画素値について、所望の閾値以下の画素値を0にすることで、前記小領域中心の個数を減らして出力する
請求項3に記載の画像処理装置。
【請求項5】
前記事前分割手段は、
前記小領域の拡大の順序を、量子化した画素値の昇順に設定する小領域拡大処理手段をさらに含む
請求項1に記載の画像処理装置。
【請求項6】
画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置の画像処理方法であって、
前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、
前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、
前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、
前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、
前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、
前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップと
を含む画像処理方法。
【請求項7】
画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置を制御するコンピュータに、
前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、
前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、
前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、
前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、
前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、
前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップと
を含む処理を実行させるプログラム。
【請求項1】
画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置であって、
前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得手段と、
前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割手段と、
前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算手段と、
前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算手段と、
前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割手段と、
前記分割手段により分割された前記2値マスク画像を出力する出力手段と
を含む画像処理装置。
【請求項2】
前記小領域尤度エネルギー計算手段は、前記オブジェクト尤度と前記背景尤度とを、前記小領域集合ごとの重み付き平均色を用いた前記確率モデル関数を用いて計算する
請求項1に記載の画像処理装置。
【請求項3】
前記事前分割手段は、
前記画像における各画素について、ラスタスキャンの順方向で画素値の極小値となる画素を前記小領域中心候補画素に設定した後、前記小領域中心候補画素について、前記ラスタスキャンの逆方向で極小値となる画素を前記小領域中心として選択する小領域中心選択手段をさらに含む
請求項1に記載の画像処理装置。
【請求項4】
前記小領域中心選択手段は、
前記画像を微分処理する微分処理手段をさらに含み、
前記微分処理手段により微分処理された画像の各画素の画素値について、所望の閾値以下の画素値を0にすることで、前記小領域中心の個数を減らして出力する
請求項3に記載の画像処理装置。
【請求項5】
前記事前分割手段は、
前記小領域の拡大の順序を、量子化した画素値の昇順に設定する小領域拡大処理手段をさらに含む
請求項1に記載の画像処理装置。
【請求項6】
画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置の画像処理方法であって、
前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、
前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、
前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、
前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、
前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、
前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップと
を含む画像処理方法。
【請求項7】
画像をオブジェクトと背景領域に分離する2値マスク画像を出力する画像処理装置を制御するコンピュータに、
前記画像と前記画像のうち、オブジェクト領域、背景領域、およびそれ以外の領域に分類するトライマップ画像を取得するトライマップ画像取得ステップと、
前記画像内の画素を前記画素間の相関性に基づいて分類することにより小領域集合に分割する事前分割ステップと、
前記小領域集合のうち隣接する小領域対の境界付近にある画素集合の画素値の差分に基づいて、小領域隣接エネルギーを計算する小領域隣接エネルギー計算ステップと、
前記トライマップ画像に基づいて、前記小領域集合の前記オブジェクト領域、および背景領域を選択し、確率モデル関数を構築し、前記確率モデル関数を用いて、前記小領域集合毎にオブジェクト尤度、および背景尤度を求め、前記オブジェクト尤度、および前記背景尤度より小領域尤度エネルギーを計算する小領域尤度エネルギー計算ステップと、
前記小領域隣接エネルギーと前記小領域尤度エネルギーとを用いて、前記画像を前記前景および前記背景の2値マスク画像に分割する分割ステップと、
前記分割ステップの処理で分割された前記2値マスク画像を出力する出力ステップと
を含む処理を実行させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2011−34178(P2011−34178A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−177581(P2009−177581)
【出願日】平成21年7月30日(2009.7.30)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願日】平成21年7月30日(2009.7.30)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]