JP2012058845A - 画像処理装置および方法、並びにプログラム - Google Patents
画像処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2012058845A JP2012058845A JP2010199106A JP2010199106A JP2012058845A JP 2012058845 A JP2012058845 A JP 2012058845A JP 2010199106 A JP2010199106 A JP 2010199106A JP 2010199106 A JP2010199106 A JP 2010199106A JP 2012058845 A JP2012058845 A JP 2012058845A
- Authority
- JP
- Japan
- Prior art keywords
- block
- pixel
- local region
- histogram
- likelihood
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/143—Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
【課題】入力画像からオブジェクト画像を高精度で分離できるようにする。
【解決手段】スウォッチ計算部21が、入力画像から色標本列としてスウォッチを計算し、対応するスウォッチIDを設定する。ブロックヒストグラム計算部22は、入力画像をブロックに分割し、ブロックのスウォッチIDごとのヒストグラムをブロックヒストグラムとして計算し、計算できないブロックを補間対象ブロックに設定する。ブロックヒストグラム補間部23は、補間対象ブロックについて、ブロックヒストグラムが計算できたブロックとの距離に応じて重みを計算し、それぞれの重みを付して、補間対象ブロックのブロックヒストグラムを計算する。画素尤度計算部24は、各画素について、ブロック毎のブロックヒストグラムのスウォッチID毎のカウント数に基づいて画素尤度を算出する。本発明は、画像処理装置に適用することができる。
【選択図】図1
【解決手段】スウォッチ計算部21が、入力画像から色標本列としてスウォッチを計算し、対応するスウォッチIDを設定する。ブロックヒストグラム計算部22は、入力画像をブロックに分割し、ブロックのスウォッチIDごとのヒストグラムをブロックヒストグラムとして計算し、計算できないブロックを補間対象ブロックに設定する。ブロックヒストグラム補間部23は、補間対象ブロックについて、ブロックヒストグラムが計算できたブロックとの距離に応じて重みを計算し、それぞれの重みを付して、補間対象ブロックのブロックヒストグラムを計算する。画素尤度計算部24は、各画素について、ブロック毎のブロックヒストグラムのスウォッチID毎のカウント数に基づいて画素尤度を算出する。本発明は、画像処理装置に適用することができる。
【選択図】図1
Description
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、高精度にセグメンテーションを実現できるようにする画像処理装置および方法、並びにプログラムに関する。
画像内のオブジェクト画像(被写体画像または前景画像)を背景画像から分離することは、画像編集やビデオ加工など、多くのアプリケーションにおいて有用である。
多くの方法では画像の色情報を手がかりの一つとしてオブジェクト画像を背景画像から分離している。
色情報は画像全体または指定された一部の画素の色を使って確率モデルを計算し、画素の持つ色に応じてモデルから得られる尤度を算出して利用している。確率モデルを計算するためのオブジェクトの色や背景の色は、画像のオブジェクトや背景領域の一部の画素をユーザがマークする、または、所定のソフトウェアプログラムを実行させることによりマークさせるといった前処理により指定される。
単純な画像では背景画像とオブジェクト画像の色分布具合の違いに基づく尤度差から被写体の分離が可能である。
より一般的な画像では色分布は複雑であり、画像全体の色分布から決まる尤度ではオブジェクト画像と背景画像の曖昧な分離結果しか得られないことが多い。
そこで、このような色分布モデルを画像全体の色を使って大域的に求めるのではなく、画像領域ごとに変化させるように局所的に求めることで色の分離性能を改善する方法が考えられる。
局所的な色分布モデルを計算する一つの方法として、ビデオの連続フレームでオブジェクトの動きによる変化が小さいことを利用して、動きから予想したオブジェクトの境界線上に小ウィンドウ群を配置し、その小ウィンドウ内において色分布モデルを計算して、オブジェクト画像と背景画像の分離最適化計算を行うといった手法が提案されている(特許文献1参照)。
また、色分布モデルとしてGaussian Mixture Model(GMM)を用いて、RGBの三次元のみではなく、XY画像空間位置まで含めた5次元の確率モデルを計算して利用する手法が提案されている(特許文献2参照)。
しかしながら、特許文献1の方法を静止画に適用するには、オブジェクトの凡その形を与えてオブジェクト境界線に相当する位置に小ウィンドウの位置を指定する必要がある。またオブジェクトの輪郭を小ウィンドウ内のみから決定するので、安全のためにかなり大きなウィンドウサイズを指定しておく必要がある。このように、特許文献1の手法においては、こうした入力すべき条件が多い。
また、特許文献2の手法においては、細かい色の分布を表現するには、GMMを構成する5次元のガウス関数の数を増やす必要があり、効率的とは言えない。
本発明はこのような状況に鑑みてなされたものであり、特に、局所的な色分布モデルを効率的に計算して分離精度の良い画素の尤度計算により、入力画像からオブジェクト画像を高精度で分離できるようにするものである。
本発明の一側面の画像処理装置は、入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出手段と、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算手段と、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出手段と、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段とを含む。
前記特徴ベクトル抽出手段には、前記入力画像のうち標本画素を含む局所領域毎に、前記局所領域の画素毎の色、動きベクトル、深度、フィルタ応答値、または法線ベクトルからなるベクトルを前記特徴ベクトルとして抽出させるようにすることができる。
前記標本画素は、前記入力画像内における被写体の存在する位置を識別する情報を含む画素とすることができる。
前記重み計算手段には、前記分割領域と、前記局所領域のそれぞれとの画像空間内の距離、または、複数の前記画像からなる動画像におけるフレーム間距離に基づいて、前記分割領域毎の、前記局所領域のそれぞれに対する重みを計算させるようにすることができる。
前記局所領域、および前記分割領域は、前記入力画像を階層的に分割したブロック構造とすることができ、前記重み計算手段には、前記画像のうち前記分割領域と、前記分割領域の階層より上位の階層の前記局所領域のそれぞれとの画像空間内の距離、または、複数の画像からなる動画像におけるフレーム間距離に基づいて、前記分割領域毎の、前記局所領域のそれぞれに対する重みを計算させるようにすることができる。
前記特徴分布モデル算出手段には、前記分割領域毎に、前記局所領域の、量子化した量子化ベクトルの多次元ヒストグラムとし、前記多次元ヒストグラムに、それぞれの重みを付して、前記分割領域における特徴分布モデルを算出させるようにすることができる。
前記特徴分布モデル算出手段には、前記入力画像の2以上の代表色から色見本を求め、前記局所領域における色見本の識別番号のヒストグラムを、それぞれの重みを付して、前記分割領域における特徴分布モデルを算出させるようにすることができる。
本発明の一側面の画像処理方法は、入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出手段と、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算手段と、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出手段と、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段とを含む画像処理装置の画像処理方法であって、前記特徴ベクトル抽出手段における、前記入力画像のうち、前記標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出ステップと、前記重み計算手段における、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算ステップと、前記特徴分布モデル算出手段における、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出ステップと、前記画素尤度算出手段における、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出ステップとを含む。
本発明の一側面のプログラムは、入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出手段と、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算手段と、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出手段と、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段とを含む画像処理装置を制御するコンピュータに、前記特徴ベクトル抽出手段における、前記入力画像のうち、前記標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出ステップと、前記重み計算手段における、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算ステップと、前記特徴分布モデル算出手段における、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出ステップと、前記画素尤度算出手段における、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出ステップとを含む処理を実行させる。
本発明の一側面においては、入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルが抽出され、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みが計算され、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均が、前記局所領域における特徴分布モデルとして算出され、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段とを含む。
本発明の画像処理装置は、独立した装置であっても良いし、画像処理を行うブロックであっても良い。
本発明の一側面によれば、入力画像からオブジェクト画像を高精度で分離することが可能となる。
以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行なう。
1.第1の実施の形態(入力画像を階層化せずにブロック化する例)
2.第2の実施の形態(入力画像を階層化してブロック化する例)
1.第1の実施の形態(入力画像を階層化せずにブロック化する例)
2.第2の実施の形態(入力画像を階層化してブロック化する例)
<1.第1の実施の形態>
[尤度マップ計算装置の構成例]
図1は、本発明を適用した尤度マップ計算装置のハードウェアの一実施の形態の構成例を示している。図1の尤度マップ計算装置11は、入力画像と、入力画像におけるオブジェクト(前景)領域および背景領域を区別するマークの情報(入力マーク)から、尤度マップ画像を生成して出力する。
[尤度マップ計算装置の構成例]
図1は、本発明を適用した尤度マップ計算装置のハードウェアの一実施の形態の構成例を示している。図1の尤度マップ計算装置11は、入力画像と、入力画像におけるオブジェクト(前景)領域および背景領域を区別するマークの情報(入力マーク)から、尤度マップ画像を生成して出力する。
より具体的には、尤度マップ計算装置11は、図2で示されるような入力画像P1、並びに、入力画像P1上に入力される背景領域のマークM1,M2、およびオブジェクト領域のマークM3の情報に基づいて、図2の尤度マップ画像P2を生成して出力する。図2の入力画像P1においては、星型のオブジェクト画像F、およびそれ以外の背景画像Bから構成されている。このため、尤度マップ画像P2は、理想的には、星型のオブジェクト画像Fに対応する領域の画素の尤度が1.0とされ、背景画像Bに対応する領域の画素の尤度が0.0とされる。尤度マップ画像P2においては、各画素の画素値が尤度に対応して設定されるため、オブジェクト画像Fに対応する星型の領域が白色とされ、背景画像Bに対応する領域が黒色の画像となっている。
入力画像P1におけるオブジェクト領域のマークM3および背景領域を区別するマークM1,M2は、使用者が図示せぬキーボードやマウスなどからなる操作部を操作することにより画素単位で入力するものであってもよい。また、マークM1乃至M3は、専用のソフトウェアプログラムなどにより入力画像に基づいて自動的に入力される情報であってもよい。この例以外にも、例えば、オブジェクト領域を全体として囲むように境界線を入力し、境界線内をオブジェクト領域のマークとして、それ以外を背景領域のマークとするようにしてもよい。この際、境界線の入力は入力画像の実際の境界に対して概ね整合していれば良く、厳密に境界上に入力する必要はない。
尤度マップ計算装置11は、スウォッチ計算部21、ブロックヒストグラム計算部22、ブロックヒストグラム補間部23、および画素尤度計算部24より構成されている。
スウォッチ計算部21は、入力画像に基づいて、スウォッチと画素のスウォッチIDを計算し、ブロックヒストグラム計算部22および画素尤度計算部24に供給する。ここで、スウォッチとは、入力画像で多く現れる色を抽出して配列に保存した色見本列のことである。スウォッチに保存する色見本数Snは可変パラメータで設定される値であり、例えば、色見本数Sn=256とすることができる。スウォッチ計算部21は、例えば、k−means法(イメージプロセッシング<画像処理標準テキストブック>、CGーARTS協会参照)、またはk−center法といった機械学習アルゴリズムによりスウォッチを計算する。また、スウォッチIDとは画素毎の情報であり、ここでは、画素の色がスウォッチの何番目の色に一番近いかを分類する番号であり、通常機械学習の過程において副次的に求めることができるものである。
ブロックヒストグラム計算部22は、入力画像を所定の幅毎に、所定数のブロックに分割し、分割したブロック単位で、入力マーク、スウォッチ、およびスウォッチIDに基づいて、ブロック単位のヒストグラムであるブロックヒストグラムを生成する。この際、ブロックヒストグラム計算部22は、ブロック単位で前景(オブジェクト)のマークがなされた画素が所定数よりも多いとき、前景用の前景ブロックヒストグラムを生成する。また、ブロックヒストグラム計算部22は、ブロック単位で背景のマークがなされた画素が所定数よりも多いとき、背景用の背景ブロックヒストグラムを生成する。すなわち、前景のマークと背景のマークとがいずれも所定数より多い場合、ブロックヒストグラム計算部22は、前景ブロックヒストグラムおよび背景ブロックヒストグラムを生成する。また、いずれのマークの画素も所定数より多くない場合、ブロックヒストグラム計算部22は、そのブロックについては、ブロックヒストグラムを生成せず、そのブロックを補間生成ブロックに設定する。そして、ブロックヒストグラム計算部22は、生成したブロックヒストグラムと補間対象ブロックの情報をブロックヒストグラム補間部23に供給する。
ここで、ブロックヒストグラムは、ブロック内の画素の色そのものではなくスウォッチIDをカウントする。したがって、ブロックヒストグラムはスウォッチの色見本数Sn次元の特徴ベクトルとなる。このようにブロック単位で処理することにより、ブロック毎の色の三次元ヒストグラムなどの巨大なサイズのデータを保持する必要がなくなるため、小さなメモリでも効率的に色分布を求める処理が可能となる。
ブロックヒストグラム補間部23は、入力マーク、ブロックヒストグラム、および補間対象ブロックの情報に基づいて、補間対象ブロックについて、計算されているブロックヒストグラムを利用して、補間により前景および背景ブロックヒストグラムを生成する。ブロックヒストグラム補間部23は、補間生成した前景ブロックヒストグラム、および背景ブロックヒストグラムとを画素尤度計算部24に供給する。
より具体的には、ブロックヒストグラム補間部23は、ブロックヒストグラム計算部22より供給されてきた前景、および背景のそれぞれのブロックヒストグラムのうち、ブロックヒストグラム中のカウントが0のブロックを補間対象ブロックとして抽出する。ブロックヒストグラム補間部23は、重み計算部23aを制御して、補間対象ブロック以外のブロックヒストグラムが計算されたブロック、すなわち、補間元のブロックのブロックヒストグラムと、補間対象ブロックのブロック間の距離に応じた重みを設定させる。そして、ブロックヒストグラム補間部23は、ブロックヒストグラム計算部22より供給されてきた全ブロックヒストグラムに対して、重み計算部23aにより設定させた重みを付して重み付き平均を求め、補間対象ブロックのブロックヒストグラムを補間生成する。
画素尤度計算部25は、入力マーク11、スウォッチ計算部21からスウォッチとスウォッチID、およびブロックヒストグラム補間部23より供給されてくるブロックヒストグラムに基づいて、画素単位の尤度を計算し、尤度マップ画像を生成して出力する。
[尤度マップ生成処理]
次に、図3のフローチャートを参照して、尤度マップ生成処理について説明する。
次に、図3のフローチャートを参照して、尤度マップ生成処理について説明する。
ステップS1において、スウォッチ計算部21は、入力画像のうち、多く現れる色を、色見本数Snだけ抽出して配列に保存し、色見本列からなるスウォッチを計算する。
ステップS2において、スウォッチ計算部21は、スウォッチに基づいて、各画素について、色見本列数Snのうち、最も近い色のいずれかに分類し、対応する色の分類番号としてのスウォッチIDを設定する。そして、スウォッチ計算部21は、計算したスウォッチと、各画素のスウォッチIDとをブロックヒストグラム計算部22、および画素尤度計算部24に供給する。
ステップS3において、ブロックヒストグラム計算部22は、入力画像を、水平方向および垂直方向にBw画素間隔でBw画素×Bw画素のブロックからなる局所領域に分割する。
ステップS4において、ブロックヒストグラム計算部22は、ブロックヒストグラム計算処理を実行して、上述した処理により分割された各ブロック毎にブロックヒストグラムを生成する。
[ブロックヒストグラム計算処理]
ここで、図4のフローチャートを参照して、ブロックヒストグラム計算処理について説明する。
ここで、図4のフローチャートを参照して、ブロックヒストグラム計算処理について説明する。
ステップS21において、ブロックヒストグラム計算部22は、未処理のブロックを処理対象ブロックに設定する。
ステップS22において、処理対象ブロックに含まれる画素のうち、前景となるマークの付された画素が、所定の閾値T_markよりも多いか否かを判定する。すなわち、入力画像が、図2の入力画像P1の場合、星型のオブジェクト(前景)領域であることを示すマークM3として入力された画素に属する画素数が、処理対象ブロックに所定の閾値T_markより多く含まれているか否かが判定される。尚、この所定の閾値T_markは、分割されるブロックに含まれる画素数に応じて設定される値であり、例えば、ブロックに含まれる総画素数Pix画素(=Bw画素×Bw画素)に対する割合として設定されるようにしてもよいものである。
ステップS22において、例えば、処理対象ブロックに含まれる画素のうち、前景となるマークの付された画素が所定の閾値T_markよりも多く含まれている場合、処理は、ステップS23に進む。
ステップS23において、ブロックヒストグラム計算部22は、処理対象ブロックにおける前景ブロックヒストグラムを求める。例えば、図5の左部で示されるようにブロックが構成されている場合、図5の右部で示されるようなヒストグラムが求められる。すなわち、図5の左部においては、ブロックのサイズを示す間隔がBw=4画素であり、図中のマス目1個分が画素を示しており、合計16画素によりブロックBLが構成されている。図5の左部において、各画素に対応する各マス目に表記された数値は、スウォッチIDを表している。図5では、スウォッチの色見本数Sn=8(スウォッチID=0乃至8)の例が示されており、上段から順にスウォッチIDとして、左から、1,1,2,4とされ、2段目においては、左から、2,3,5,3とされている。また、3段目においては、左から、7,3,2,5とされ、4段目においては、左から6,3,6,2とされている。尚、ここでは、各マス目の値は、各画素の色を直接示すものではなく、スウォッチとして求められた色見本列の各色に最も近いスウォッチIDが示されている。
そして、図5の左部に対応して、ブロックヒストグラム計算部22は、図5の右部で示されるような前景ブロックヒストグラムを生成する。すなわち、図5の右部におけるヒストグラムで示されるように、図5の左部で示されるスウォッチIDの分布に応じて、スウォッチID=0のカウント数(画素数)が0、スウォッチID=1のカウント数が2、スウォッチID=2のカウント数が4、スウォッチID=3のカウント数が4、スウォッチID=4のカウント数が1、スウォッチID=5のカウント数が2、スウォッチID=6のカウント数が2、スウォッチID=7のカウント数が1といった前景ブロックヒストグラムが生成される。この前景ブロックヒストグラムを纏めると、(ID=0,ID=1,ID=2,ID=3,ID=4,ID=5,ID=6,ID=7)=(0,2,4,4,1,2,2,1)のように表現される。すなわち、ブロックヒストグラムは、色見本数Snの次元で表現される処理対象ブロックの特徴ベクトルとして求められることになる。
ステップS24において、ブロックヒストグラム計算部22は、前景ブロックヒストグラムを構成するサンプル数の総数が所定の閾値T_histよりも少ないか否かを判定する。ステップS24において、例えば、前景ブロックヒストグラムを構成するサンプル数の総数が所定の閾値T_histよりも多い場合、すなわち、処理対象ブロック内の画素のうち、スウォッチとして色見本列に挙げられた色に近いスウォッチIDの設定ができず、ヒストグラムにカウントできない画素が少ない場合、処理は、ステップS25に進む。
ステップS25において、ブロックヒストグラム計算部22は、前景ブロックヒストグラムの情報をカウント数の総数で除することにより正規化し、処理対象ブロックの前景ブロックヒストグラムをブロックヒストグラム補間部23に供給する。すなわち、図5の場合、16画素全てについてスウォッチIDが求められているため、カウント数の総数は16となるので、前景ブロックヒストグラム(0,2,4,4,1,2,2,1)は、総数である16で除されることにより、(0,2/16,4/16,4/16,1/16,2/16,2/16,1/16)のように正規化される。
一方、ステップS22において、例えば、処理対象ブロックに含まれる画素のうち、前景となるマークの付された画素が所定の閾値T_markよりも多く含まれていない場合、または、例えば、前景ブロックヒストグラムを構成するサンプル数の総数が所定の閾値T_histよりも少ない場合、処理は、ステップS26に進む
ステップS26において、ブロックヒストグラム計算部22は、処理対象ブロックを前景補間対象ブロックに設定し、その情報をブロックヒストグラム補間部23に供給する。すなわち、処理対象ブロックに含まれる画素のうち、前景となるマークの付された画素が所定の閾値T_markよりも多く含まれていない場合、または、前景ブロックヒストグラムを構成するサンプル数の総数が所定の閾値T_histよりも少ない場合、ブロックヒストグラム計算部22は、処理対象ブロックについて前景ブロックヒストグラムを求めず、一旦、前景補間対象ブロックに設定する。より具体的には、ブロックヒストグラム計算部22は、全てのカウント数が0となる前景ブロックヒストグラムを生成し、これを以ってこのブロックが前景補間対象ブロックであることを表現する。
すなわち、オブジェクト(前景)としてマークされている画素が、所定の閾値T_markよりも多く含まれる局所領域であるブロックについて、順次前景ブロックヒストグラムが求められる。したがって、ここで求められる前景ブロックヒストグラムは、前景を構成する画素からなる局所領域の色の特徴情報であり、形態として、色標本数Snの次元数のベクトルとなるため、局所領域の特徴ベクトルともいうことができる。
尚、ステップS27乃至S31の処理については、ステップS22乃至S26の処理により求められる前景ブロックヒストグラムが、背景ブロックヒストグラムとなる他は、基本的に同様の処理であるので、その説明は省略する。
ステップS32において、ブロックヒストグラム計算部22は、未処理のブロックがあるか否かを判定する。ステップS32において、未処理のブロックがあると判定された場合、処理は、ステップS21に戻る。すなわち、未処理のブロックがなくなるまで、ステップS21乃至S32の処理が繰り返されて、全てのブロックについて、前景ブロックヒストグラム、および背景ブロックヒストグラムが求められる。また、前景ブロックヒストグラム、および背景ブロックヒストグラムのうち、前景ブロックヒストグラム、または背景ブロックヒストグラムを計算しなかったブロックについては、全ての要素が0となるベクトルとして構成されることで、前景補間対象ブロック、または、背景補間対象ブロックに設定される。
そして、ステップS32において、未処理のブロックがないと判定された場合、処理は、ステップS33に進む。
ステップS33において、ブロックヒストグラム補間部23は、ブロックヒストグラム計算部22より供給されてきた前景および背景のそれぞれのブロックヒストグラムおよび補間対象ブロックの情報に基づいて、ブロックヒストグラム補間処理により、前景および背景のそれぞれの補間対象ブロックのブロックヒストグラムを求める。
[ブロックヒストグラム補間処理]
ここで、図6のフローチャートを参照して、ブロックヒストグラム補間処理について説明する。
ここで、図6のフローチャートを参照して、ブロックヒストグラム補間処理について説明する。
ステップS51において、ブロックヒストグラム補間部23は、未処理の前景補間対象ブロックを補間処理対象ブロックに設定する。
ステップS52において、ブロックヒストグラム補間部23は、未処理の前景ブロックヒストグラムが求められたブロックを処理対象ブロックBLiに設定する。尚、iは、前景ブロックヒストグラムが求められたブロックを識別する識別子である。
ステップS53において、ブロックヒストグラム補間部23は、補間処理対象ブロックと処理対象ブロックBLiとの距離diを求める。より具体的には、ブロックヒストグラム補間部23は、補間処理対象ブロックの中心位置と処理対象ブロックの中心位置との距離を距離diとして求める。尚、距離は、補間処理対象ブロックと処理対象ブロックとの相対的な距離が求められればよいので、中心位置同士の距離でなくともよく、それ以外の位置同士の距離であっても良い。
ステップS54において、ブロックヒストグラム補間部23は、重み計算部23aを制御して、求められた距離diに基づいて、以下の式(1)を計算することにより、処理対象ブロックに対する重みWf1iを設定する。
Wf1i=exp(−λ×di)
・・・(1)
・・・(1)
ここで、λは、重みWf1iの増減を調整するパラメータである。式(1)で示されるように、重みWf1iは、距離diが小さい程、すなわち、補間処理対象ブロックと処理対象ブロックBLiとの距離が近い程大きく設定され、距離が離れる程小さく設定される。
ステップS55において、ブロックヒストグラム補間部23は、未処理の前景ブロックヒストグラムが求められたブロックが存在するか否かを判定し、未処理の前景ブロックヒストグラムが求められたブロックが存在する場合、処理は、ステップS52に戻る。すなわち、図7で示されるように、前景ブロックヒストグラムが求められた全てのブロックBL11乃至BL12について、前景補間対象ブロックBL1からのそれぞれの距離d11乃至d19が求められて、それぞれの距離に応じた重みWf1iが求められるまで、ステップS52乃至S55の処理が繰り返される。
そして、ステップS55において、未処理の前景ブロックヒストグラムが求められたブロックが存在しないと判定された場合、処理は、ステップS56に進む。
ステップS56において、ブロックヒストグラム補間部23は、以下の式(2)で示される式を計算することにより、求められた前景ブロックヒストグラムについて、それぞれのブロックの重みWf1iを付した平均値を求めることにより、補間処理対象ブロックのブロックヒストグラムを補間生成する。
H=(ΣWf1i×Hi)/ΣWf1i
・・・(2)
・・・(2)
ここで、Hは、補間される補間処理対象ブロックの前景ブロックヒストグラムであり、Wf1iは、計算により前景ブロックヒストグラムが求められたブロックBLiのそれぞれに設定された重みであり、Hiは、計算により求められたブロックBLiの前景ブロックヒストグラムである。
すなわち、補間される補間処理対象ブロックの前景ブロックヒストグラムHは、計算により前景ブロックヒストグラムが求められたブロックBLiの前景ブロックヒストグラムを、それぞれのブロックの重みWf1iを付して得られる平均値となる。換言すれば、補間計算される前景ブロックヒストグラムHは、マークにより前景として設定された画素の色分布として得られる複数の局所領域の特徴ベクトルをブロック間の距離に応じた重み付け平均することで推定される局所領域の特徴分布モデルであると言える。尚、この特徴分布モデルとなる補間により得られた前景ブロックヒストグラムは、特徴ベクトルと同一次元のベクトルとして求められるため、以降において、事実上特徴ベクトルと同等に扱われることになる。
ステップS57において、ブロックヒストグラム補間部23は、未処理の前景補間対象ブロックが存在するか否かを判定し、存在する場合、処理は、ステップS51に戻る。すなわち、全ての前景補間対象ブロックについて、それぞれ計算により求められた全ての前景ブロックヒストグラムを用いた補間により前景ブロックヒストグラムが求められるまで、ステップS51乃至S57の処理が繰り返される。そして、ステップS57において、未処理の前景補間対象ブロックが存在しない場合、すなわち、全ての前景補間対象ブロックについて、それぞれ計算により求められた全ての前景ブロックヒストグラムを用いた補間により前景ブロックヒストグラムが求められたと判定された場合、処理は、ステップS58に進む。
尚、式(2)を参照して説明した重みWf1iの関数は、これ以外の計算式を用いるようにしてもよく、例えば、一定距離を超えた場合は0にする窓関数や空間的な距離ではなく特徴ベクトル間の差を重みとしても良い。また、前景ブロックヒストグラムを補間する手法については、上述した手法以外であってもよく、例えば、隣接するブロック間で依存して値が決まるマルコフ確率場の問題として、連立一次方程式の解法である最小二乗法や共役勾配法などの数学的手法を使ってブロックヒストグラムを補間するようにしてもよい。また、計算により求めることができた補間元の前景ブロックヒストグラムは、固定の既知の値、前景補間対象ブロックのヒストグラムが補間元となるブロックのヒストグラムから隣接依存関係を通じて確率的に求まる値として計算するようにしてもよい。
また、ステップS58乃至S64の処理は、処理対象となるブロックが、前景補間対象ブロックに代えて、背景補間対象ブロックとなり、求められる重みの表記が重みWf1iに代えて、重みWb1iとなることを除き、ステップS51乃至S57の処理と同様であるので、その説明は省略する。
ステップS65において、ブロックヒストグラム補間部23は、計算により求められた前景、および背景のそれぞれのブロックヒストグラム、並びに、補間により得られた前景、および背景のそれぞれのブロックヒストグラムを、画素尤度計算部24に出力する。
ここで、図4のフローチャートの説明に戻る。ステップS33のブロックヒストグラム補間処理が終了することにより、ブロックヒストグラム計算処理が終了する。
すなわち、以上の処理により、計算により求められた前景ブロックヒストグラム、および背景ブロックヒストグラムにより、前景補間対象ブロックの前景ブロックヒストグラム、および背景補間対象ブロックの背景ブロックヒストグラムが求められる。この処理は、換言すると、前景、および背景としてマークされた画素を所定の閾値T_markより多く含む局所領域により求められた特徴ベクトルを用いて、前景、および背景としてマークされた画素を所定の閾値T_markより多く含まない局所領域の色分布モデルを補間により求めている処理と言える。結果として、入力画像の全領域のブロックを構成する局所領域に対して、局所領域毎に前景、および背景の色分布モデルの情報が求められることとなる。
ここで、図3のフローチャートの説明に戻る。
ステップS4のブロックヒストグラム計算処理により、全ブロックに前景ブロックヒストグラム、および背景ブロックヒストグラムが求められると、処理は、ステップS5に進む。
ステップS5において、画素尤度計算部24は、前景、および背景を示すマークの情報、スウォッチ、およびスウォッチIDの情報、並びに、各ブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムに基づいて、尤度計算処理を実行し、各画素の尤度を計算する。
[尤度計算処理]
ここで、図8のフローチャートを参照して、尤度計算処理について説明する。
ここで、図8のフローチャートを参照して、尤度計算処理について説明する。
ステップS81において、画素尤度計算部24は、入力画像における未処理の画素を処理対象画素に設定する。
ステップS82において、画素尤度計算部24は、処理対象画素が、前景、または背景を識別するマークが付されている画素であるか否かを判定する。ステップS82において、例えば、マークが付されている画素である場合、処理は、ステップS90に進む。
すなわち、ステップS82において、マークが付されている画素であるということは、既に前景、または背景のいずれかの画素であることが明らかであるので、ステップS90において、画素尤度計算部24は、マークの情報に従って、尤度を設定する。すなわち、画素尤度計算部24は、そのマークが前景を示すものであれば、処理対象画素の尤度を1.0に設定し、背景であれば処理対象画素の尤度を0.0に設定し、処理は、ステップS89に進む。
一方、ステップS82において、例えば、マークが付されていない画素である場合、ステップS83において、画素尤度計算部24は、処理対象画素のスウォッチIDを特定する。
ステップS84において、画素尤度計算部24は、処理対象画素に対応する処理対象画素の属するブロック、およびその近傍のブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムを読み出す。
ステップS85において、画素尤度計算部24は、処理対象画素のブロック、およびその近傍のブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムに基づいて、処理対象画素に対応する画素位置のスウォッチIDの正規化カウント数を読み出す。
ステップS86において、画素尤度計算部24は、読み出した処理対象画素のブロック、およびその近傍のブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムの処理対象画素に対応する画素位置のスウォッチIDの正規化カウント数の平均を求める。
ステップS87において、画素尤度計算部24は、求められた処理対象画素のブロック、およびその近傍のブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムの処理対象画素に対応する画素位置のスウォッチIDの正規化カウント数の平均を、それぞれ前景尤度、および背景尤度として記憶する。ここでいう処理対象画素の属するブロックの近傍のブロックとは、例えば、処理対象画素の属するブロックを中心として上下左右方向、および斜め方向に隣接する8個のブロックである。このように近傍ブロックのヒストグラムまで参照することで、参照するブロックヒストグラムが、処理対象画素の属するブロックを含めた隣接するブロック同士で重なりを持つようになるので、尤度がブロック境界で大きく変化することを防ぐことができ、より安定した値を得ることができる。また、局所的な領域は、互いに重なり合うように定義するようにしてもよい。この場合、重なりあう部分の画素は、両方のブロックのヒストグラムにカウントされるが、ヒストグラムの総数に対する全体の割合が求められれば良いので、異なるブロックとして定義されていればよいものである。さらに、画素の尤度を計算するに当たり、処理対象画素の属するブロックのブロックヒストグラムのみを使用するようにして、処理負荷を低減し、処理速度を向上させるようにしてもよい。
ステップS88において、画素尤度計算部24は、記憶した前景尤度と背景尤度とを用いて、以下の式(3)を計算することにより、処理対象画素の尤度を求める。
Pr(x)=PrF(x)/(PrF(x)+PrB(x))
・・・(3)
・・・(3)
ここで、Pr(x)は、処理対象画素の尤度を示しており、PrF(x)は、処理対象画素の属するブロックと、その近傍のブロックの、処理対象画素のスウォッチIDに対応する前景ブロックヒストグラムの正規化カウント数の平均値、すなわち、前景尤度を示している。また、PrB(x)は、処理対象画素の属するブロックと、その近傍のブロックの、処理対象画素のスウォッチIDに対応する背景ブロックヒストグラムの正規化カウント数の平均値、すなわち、背景尤度を示している。
すなわち、各ブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムの各スウォッチIDに対応する正規化カウント数は、局所領域における処理対象画素の尤度そのものであるので、正規化カウント数として求められる前景尤度および背景尤度を用いて画素単位の尤度を求めることが可能となる。
ステップS89において、画素尤度計算部24は、未処理の画素が存在するか否かを判定し、未処理の画素がある場合、処理は、ステップS81に戻る。すなわち、全ての画素について尤度が求められるまで、ステップS81乃至S90の処理が繰り返される。
そして、ステップS89において、未処理の画素がないと判定された場合、処理は、終了する。
以上の処理により、画素単位で尤度が求められることになる。
ここで、図3のフローチャートに戻る。
ステップS5の処理により全ての画素について尤度が求められると、ステップS6において、画素尤度計算部24は、求められた画素の尤度に対応する画素値からなる画像を生成し、これを尤度マップ画像として出力する。
以上の処理により、局所領域毎に、マークされた情報に基づいて求められる前景、および背景それぞれのブロックヒストグラムが、局所領域の特徴ベクトルとして求められる。さらに、マークされた画素の情報に乏しい画素からなるブロックについては、求められたブロックヒストグラムを用いて、補間によりブロックヒストグラムが求められ、特徴分布モデルを構成する。そして、マークされた画素を多く含むブロックについては、求められた特徴ベクトルとしてのブロックヒストグラムより、マークされた画素に乏しいブロックについては、求められた特徴分布モデルとして求められたブロックヒストグラムより、それぞれ前景ブロックヒストグラム、および背景ブロックヒストグラムを構成して、各画素のスウォッチIDに対応する正規化カウント数より画素単位の前景尤度、および背景尤度を求め、前景尤度、および背景尤度から各画素の尤度を求めるようにした。このため、求められた画素単位の尤度からなる尤度マップ画像を用いることにより、入力画像から前景画像であるオブジェクト画像を高精度で分離することが可能となる。
尚、以上においては、前景ブロックヒストグラム、および背景ブロックヒストグラムが、色見本数Sn次元の局所領域の特徴ベクトルを構成し、この特徴ベクトルを用いて、前景補間対象ブロック、および背景補間対象ブロックのそれぞれの前景ブロックヒストグラム、および背景ブロックヒストグラムを、特徴ベクトルと同一次元のベクトルからなる特徴分布モデルとして求め、この特徴分布モデルから画素尤度を計算するようにした。しかしながら、入力画像の局所領域の特徴ベクトルは、入力画像の局所領域より得られるものであればよいため、色見本列からなるベクトルに限らず、例えば、動きベクトル、深度、フィルタ応答値、および法線ベクトルなどを利用するようにしてもよい。さらには、特徴ベクトルは、色見本列のベクトル、動きベクトル、深度、フィルタ応答値、および法線ベクトルといった複数の異なる種類の全て、またはそのいずれかの組み合わせであってもよい。
<2.第2の実施の形態>
[尤度マップ計算装置のその他の構成例]
以上においては、マークされた画素に乏しいブロックにおいては、計算によりブロック単位で前景および背景のそれぞれのブロックヒストグラムが求められないので、ブロックヒストグラムを求めることができた全てのブロックのヒストグラムを用いて、求められなかったブロックのブロックヒストグラムを補間する必要があり、この処理の負荷が大きなものとなることが予想される。
[尤度マップ計算装置のその他の構成例]
以上においては、マークされた画素に乏しいブロックにおいては、計算によりブロック単位で前景および背景のそれぞれのブロックヒストグラムが求められないので、ブロックヒストグラムを求めることができた全てのブロックのヒストグラムを用いて、求められなかったブロックのブロックヒストグラムを補間する必要があり、この処理の負荷が大きなものとなることが予想される。
そこで、このブロックヒストグラムの補間による計算処理を軽減させることで、処理負荷を低減させ、処理速度を向上させることが考えられる。
図9は、図1の尤度マップ計算装置における場合のブロックヒストグラムの補間処理に係る負荷を低減できるようにした尤度マップ計算装置のハードウェアのその他の実施の形態の構成例を示している。尚、図9の尤度マップ計算装置11においては、図1の尤度マップ11と同一の構成について、同一の名称、および同一の符号を付しており、その説明は適宜省略するものとする。
すなわち、図9の尤度マップ計算装置11において、図1の尤度マップ計算装置11と異なるのは、ブロックヒストグラム計算部22、およびブロックヒストグラム補間部23に代えて、ブロック階層分割計算部41、および階層ブロックヒストグラム計算部42を備えている点である。
ブロック階層分割計算部41は、入力画像を階層数Smだけ階層式に異なるサイズのブロックに分割し、階層構造を持ったブロックを構成し、その情報を階層ブロックヒストグラム計算部42に供給する。尚、階層数Smは、任意に設定するパラメータである。
階層ブロックヒストグラム計算部42は、ブロックのうち階層が最上位、すなわち、最もブロックサイズの大きなの階層のブロックより順に、上述した手法と同様に前景ブロックヒストグラム、および背景ブロックヒストグラムを求める。より詳細には、階層ブロックヒストグラム計算部42は、ブロックヒストグラム計算部42a、ブロックヒストグラム計算部42b、および重み計算部42cを備えている。階層ブロックヒストグラム計算部42は、ブロックヒストグラム計算部22と略同様の機能を備えているブロックヒストグラム計算部42aを制御して、上位の階層から順に前景および背景のブロックヒストグラムを計算させる。階層ブロックヒストグラム計算部42は、ブロックヒストグラム補間部23と略同様の機能を備えるブロックヒストグラム補間部42bを制御して、ブロックヒストグラムを求めることができなかったブロックについて、その上位層のブロック、およびその近傍ブロックのブロックヒストグラムを用いて、ブロックヒストグラムを補間する。この際、階層ブロックヒストグラム計算部42は、重み計算部23aと略同様の機能を備えた重み計算部42cを制御して、処理対象となっているブロックと、補間に用いようとする上位層のブロックとのそれぞれの中心間の距離に応じた重みを設定する。
[尤度マップ生成処理]
ここで、図10のフローチャートを参照して、図9の尤度マップ計算装置11による尤度マップ生成処理について説明する。尚、図10におけるステップS101,S102,S105,S106の処理については、図3を参照して説明したステップS1,S2,S5,S6の処理と同様であるので、その説明は省略する。
ここで、図10のフローチャートを参照して、図9の尤度マップ計算装置11による尤度マップ生成処理について説明する。尚、図10におけるステップS101,S102,S105,S106の処理については、図3を参照して説明したステップS1,S2,S5,S6の処理と同様であるので、その説明は省略する。
すなわち、ステップS101においてスウォッチが求められ、ステップS102において、画素単位のスウォッチIDが求められると、ステップS103において、ブロック階層分割計算部41は、画像を空間的に四分割する処理を、再帰的に繰り返して階層構造を得る四分木構造にして階層的にブロックを生成する。すなわち、ブロック階層分割計算部41は、例えば、図11の左部で示されるように、画像解像度の矩形からスタートして、各ノードが4個の子ノードを持つように分割する。ここで、ブロック階層分割計算部41は、四分割は各矩形が均等になるように分割し、この処理を再帰的に階層Smの深さまで分割を繰り返す。
図11においては、上から最上位階層である階層0であり、このブロックをブロックH(0,0)とする。さらに、ブロック階層分割計算部41は、ブロックH(0,0)を均等に4分割することにより、1階層下位の階層1のブロックH(1,0),H(1,1),H(1,2),H(1,3)を生成する。さらに、ブロック階層分割計算部41は、ブロックH(1,0)を均等に4分割することにより、1階層下位の階層2のブロックH(2,0),H(2,1),H(2,5),H(2,4)を生成する。同様に、ブロック階層分割計算部41は、ブロックH(1,1)を均等に4分割することにより、1階層下位の階層2のブロックH(2,2),H(2,3),H(2,7),H(2,6)を生成する。同様に、ブロック階層分割計算部41は、ブロックH(1,2)を均等に4分割することにより、1階層下位の階層2のブロックH(2,8),H(2,9),H(2,12),H(2,13)を生成する。さらに、ブロック階層分割計算部41は、ブロックH(1,3)を均等に4分割することにより、1階層下位の階層2のブロックH(2,10),H(2,11),H(2,14),H(2,15)を生成する。すなわち、階層2においては、ブロック階層分割計算部41は、ブロックH(2,1)乃至(2,15)の16個のブロックを分割して生成する。
このように、階層Smに至るまで、4分割が繰り返されて階層毎のブロックが構成される。尚、均等に分割できればよいので、均等にブロックが分割できれば、4分割以外であってもよいものである。
ステップS104において、階層ブロックヒストグラム計算部42は、ブロックヒストグラム計算処理を実行し、上位階層から順に階層毎にブロックヒストグラムを求める処理を繰り返し、最下層である階層Smのブロックまでの前景ブロックヒストグラムおよび背景ブロックヒストグラムを計算する。
[ブロックヒストグラム計算処理]
ここで、図12のフローチャートを参照して、図9の階層ブロックヒストグラム計算部43によるブロックヒストグラム計算処理について説明する。尚、図12のフローチャートにおけるステップS122乃至S133の処理は、図4のフローチャートにおけるステップS21乃至S32の処理と対応する処理であり、その説明は適宜省略するものとする。
ここで、図12のフローチャートを参照して、図9の階層ブロックヒストグラム計算部43によるブロックヒストグラム計算処理について説明する。尚、図12のフローチャートにおけるステップS122乃至S133の処理は、図4のフローチャートにおけるステップS21乃至S32の処理と対応する処理であり、その説明は適宜省略するものとする。
すなわち、ステップS121において、階層ブロックヒストグラム計算部43は、階層をカウントするための階層カウンタrを0に初期化する。尚、この階層カウンタrにおいは、階層カウンタr=0のとき、階層としては最上位であるものとし、同様にして、階層カウンタr=Smのとき最下層であるものとする。
ステップS122乃至S133において、階層ブロックヒストグラム計算部43は、ブロックヒストグラム計算部42aを制御して、階層rの各ブロックについて、図4のステップS21乃至S32と同様の処理を実行させる。この処理により、階層rの前景ブロックヒストグラム、および背景ブロックヒストグラムを求めさせ、求められなかったブロックについては、前景補間対象ブロック、および背景補間対象ブロックに設定させる。
ステップS122乃至S133の処理が繰り返されて、階層rについて、前景ブロックヒストグラム、および背景ブロックヒストグラムが求められ、求められなかったブロックが、前景補間対象ブロック、および背景補間対象ブロックに設定されると、処理は、ステップS134に進む。
ステップS134において、階層ブロックヒストグラム計算部43は、ブロックヒストグラム補間部42bを制御して、ブロックヒストグラム補間処理を実行させ、前景補間対象ブロック、および背景補間対象ブロックに設定されたブロックについて、それぞれ階層rより上位層である階層(r−1)の隣接ブロックの前景ブロックヒストグラム、および背景ブロックヒストグラムを用いて、前景ブロックヒストグラム、および背景ブロックヒストグラムを求める。
[ブロックヒストグラム補間処理]
ここで、図13のフローチャートを参照して、階層ブロックヒストグラム計算部43がブロックヒストグラム補間部42bを制御して実行させるブロックヒストグラム補間処理について説明する。
ここで、図13のフローチャートを参照して、階層ブロックヒストグラム計算部43がブロックヒストグラム補間部42bを制御して実行させるブロックヒストグラム補間処理について説明する。
ステップS151において、ブロックヒストグラム補間部42bは、階層rの未処理の前景補間対象ブロックを補間処理対象ブロックに設定する。
ステップS152において、ブロックヒストグラム補間部42bは、階層rの上位層である階層(r−1)であって、補間処理対象ブロックの上位層ブロックと、その隣接するブロックのうち、未処理のブロックを処理対象ブロックBLiに設定する。尚、iは、補間処理対象ブロックの上位層ブロックと、その隣接するブロックを識別する識別子である。すなわち、図11の場合、階層r=2であって、補間処理対象ブロックがブロックH(2,10)の場合、補間処理対象ブロックの上位層ブロックとは、ブロックH(2,10)が分割前に属するブロックH(1,3)である。また、補間処理対象ブロックの上位層ブロックと隣接するブロックとは、ブロックH(1,3)に隣接するブロックH(1,0),H(1,1),H(1,2)である。
ステップS153において、ブロックヒストグラム補間部42bは、補間処理対象ブロックと処理対象ブロックBLiとの距離diを求める。より具体的には、ブロックヒストグラム補間部42bは、補間処理対象ブロックの中心位置と処理対象ブロックの中心位置との距離を距離diとして求める。
ステップS154において、ブロックヒストグラム補間部42bは、重み計算部42cを制御して、求められた距離diに基づいて、上述した式(1)と同様に計算することにより、処理対象ブロックに対する重みWf2iを設定する。
ステップS155において、ブロックヒストグラム補間部42bは、階層(r−1)のブロックであって、補間処理対象ブロックの上位層ブロックと、そのブロックに隣接するブロックのうち、未処理のブロックが存在するか否かを判定する。ステップS155において、例えば、未処理のブロックが存在する場合、処理は、ステップS152に戻る。すなわち、図11の補間処理対象ブロックがブロックH(2,10)の場合、ステップS152乃至S155の処理が繰り返されることにより、図11の右部で示されるように、ブロックH(2,10)の中心位置と、ブロックH(1,0),H(1,1),H(1,2),H(1,3)とのそれぞれの距離と、それぞれの距離に応じた重みWf2i(i=1乃至4)が求められる。
そして、ステップS155において、階層(r−1)のブロックであって、補間処理対象ブロックの上位層ブロックと、そのブロックに隣接するブロックのうち、未処理のブロックが存在しないと判定された場合、処理は、ステップS156に進む。
ステップS156において、ブロックヒストグラム補間部42bは、重みWf1iを、重みWf2iに代えて、上述した式(2)で示される式を計算することにより、上位層のブロックと、そのブロックに隣接するブロックの前景ブロックヒストグラムについて、それぞれのブロックの重みWf2iを付した平均値を求めることにより、補間処理対象ブロックのブロックヒストグラムを補間する。そして、ブロックヒストグラム補間部42bは、補間により得られたブロックヒストグラムを、階層rの補間処理対象ブロックの前景ブロックヒストグラムとして画素尤度計算部24に供給する。
ステップS157において、ブロックヒストグラム補間部42bは、階層rの未処理の前景補間対象ブロックが存在するか否かを判定し、存在する場合、処理は、ステップS151に戻る。すなわち、階層rの全ての前景補間対象ブロックについて、上位層のブロックと、そのブロックに隣接するブロックの前景ブロックヒストグラムを用いた補間により前景ブロックヒストグラムが求められるまで、ステップS151乃至S157の処理が繰り返される。そして、ステップS157において、階層rの未処理の前景補間対象ブロックが存在しない場合、すなわち、階層rの全ての前景補間対象ブロックについて、補間により前景ブロックヒストグラムが求められたと判定された場合、処理は、ステップS158に進む。
尚、ステップS158乃至S164の処理は、処理対象となるブロックが、前景補間対象ブロックに代えて、背景補間対象ブロックとなり、重みの表記が、重みWf2iに代えて重みWb2iとされることを除き、ステップS151乃至S157の処理と同様であるので、その説明は省略する。
すなわち、以上の処理によれば、補間対象ブロックのブロックヒストグラムを補間するにあたり、利用するブロックヒストグラムを最大でも4ブロック分とすることができるため、補間による計算量を抑制することが可能となる。また、この補間に当たり利用するブロックヒストグラムは、上位層のブロックと、その隣接ブロックのものであるので、補間による精度の低下を抑制することが可能となる。
ここで、図12のフローチャートの説明に戻る。
ステップS134の処理により、ブロックヒストグラム補間処理が実行されると、ステップS135において、階層ブロックヒストグラム計算部43は、階層カウンタrが最大値r_maxとなっているか、すなわち、最下層の処理まで終了しているか否かを判定し、最大値r_maxとなっていない場合、処理は、ステップS136に進む。
ステップS136において、階層ブロックヒストグラム計算部43は、階層カウンタrを1インクリメントして、処理は、ステップS122に戻る。すなわち、全ての階層について、前景、および背景のそれぞれのブロックヒストグラムが求められるまで、ステップS122乃至S136の処理が繰り返される。
そして、ステップS135において、階層カウンタrが最大値r_maxであると判定された場合、処理は、終了する。
すなわち、この処理により最下層までの全てのブロックについて前景ブロックヒストグラムおよび背景ブロックヒストグラムが求められることになり、この最下層のブロックを用いて、尤度計算処理が実行されて、各画素単位で尤度が計算される。
以上の処理により、前景、および背景のそれぞれのブロックヒストグラムが求められる際の補間に係る計算量を抑制することが可能となる。このため、入力画像からオブジェクト画像を高精度で、かつ、高速に分離する処理を実現することが可能となる。
尚、以上においては、前景、および背景のそれぞれのブロックヒストグラムを補間生成する際、同一画像空間内において、既に求められているブロックヒストグラムが求められているブロック間の画像空間内における距離に応じて重みを付すことで重み付き平均として求める例について説明してきた。しかしながら、動画像などの場合については、動きベクトルなどにより前後のフレーム間でブロックヒストグラムが求められているブロックを利用するようにしてもよい。
すなわち、例えば、図14で示されるように、画像P11乃至P13よりなる動画像がある場合、ブロックB12が補間対象ブロックであることを考える。さらに、ブロックB12上の画素A12の動きベクトルMVにより対応する画素A11,A13に基づいて、ブロックB11乃至B13が、いずれも対応するものであることが分かっているものとする。このような場合、補間対象ブロックであるブロックB12のブロックヒストグラムは、ブロックB11,B13のブロックヒストグラムをフレーム間距離に応じた重み平均により補間するようにしてもよい。さらに、異なるフレーム間における空間内の位置も、上述した同様の手法で重み付けし、画像空間内距離、およびフレーム間距離のそれぞれに対応した重み平均によりブロックヒストグラムを補間するようにしてもよい。
さらに、以上の実施例においては対称となる画像が2次元の例を示したが、3次元以上の空間データにおいても同様の尤度算出が可能である。
例えば、図15で示されるように、3次元の空間データにおいても同様の尤度算出が可能である。3次元のデータはボリュームデータと呼ばれ、画素へのアクセスが2次元画像ではx、yの2次元で行われているが、3次元ではx、y、zの3次元で行われる。3次元データの画素はボクセルとも呼ばれる。
3次元データの場合、入力マーク指定は、自動で処理する方法も可能であり、例えば、閾値処理などを通して自動でマークをつけたい各画素のデータを選択することができる。
また、3次元データを利用した尤度マップ生成処理については、実質的に、図3のフローチャートを参照して説明した尤度マップ生成処理と同様である。
すなわち、ステップS1における、3次元データにおけるスウォッチ計算は、2次元の場合と同様に、3次元データ中に含まれるすべての画素のデータを使って統計的な機械学習による演算である。
ステップS2における、各画素へのスウォッチIDについても、2次元の場合と同様であり、ステップS1の処理で求めたスウォッチの色見本列から自身の色に最も近いスウォッチIDが割り当てられる。
ステップS3におけるブロック単位の分割処理は、2次元画像の場合は所定の大きさの2次元のブロックであったものが、3次元データの場合、図15で示されるような、3次元の直方体ブロックに置き換えて考えればよい。図15においては、ブロックBL101が1/8に均等分割されたブロックが、ブロックBL111である。また、ブロックBL111が1/8に均等分割されたブロックがブロックBL121である。
ステップS4におけるブロックヒストグラム計算処理は、3次元の直方体ブロックに含まれるスウォッチIDが集められてヒストグラムが作成される。
ステップS5における尤度計算処理は、2次元画像の場合と同様に、直方体ブロックごとに求めたヒストグラムが使用されて、各画素のスウォッチIDに基づいた尤度が計算されて割り当てられる。前景および背景の補間対象ブロックの補間については、参照元となる直方体ブロックへの距離計算が2次元から3次元に変わるのみであり、2次元の場合と同様にブロック間のユークリッド距離などが計算されて重みとして補間される。
階層構造を適用して計算を簡単化する例も同じように適用可能であり、2次元のブロックの階層構造が、3次元の直方体ブロックの階層構造となるだけである。
このように考えると本尤度計算装置は、データ構造の次元数および各画素のベクトル次元数に依存せず適用可能である。また、次元数が増えて入力データ量が増大する場合でも、スウォッチの色見本数Snを減らすなどすれば、所定のメモリ量で処理が可能になる。
本発明によれば、入力画像からオブジェクト画像を高精度で分離することが可能となる。
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図16は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタ-フェイス1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタ-フェイス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が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
11 尤度マップ計算装置, 21 スウォッチ計算部, 22 ブロックヒストグラム計算部, 23 ブロックヒストグラム補間部, 23a 重み計算部, 24 画素尤度計算部, 41 ブロック階層分割計算部, 42 階層ブロックヒストグラム計算部, 42a ブロックヒストグラム計算部, 42b ブロックヒストグラム補間部, 42c 重み計算部
Claims (9)
- 入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出手段と、
前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算手段と、
前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出手段と、
前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段と
を含む画像処理装置。 - 前記特徴ベクトル抽出手段は、入力画像のうち標本画素を含む局所領域毎に、前記局所領域の画素毎の色、動きベクトル、深度、フィルタ応答値、または法線ベクトルからなるベクトルを前記特徴ベクトルとして抽出する
請求項1に記載の画像処理装置。 - 前記標本画素は、前記画像内における被写体の存在する位置を識別する情報を含む画素である
請求項1に記載の画像処理装置。 - 前記重み計算手段は、前記分割領域と、前記局所領域のそれぞれとの画像空間内の距離、または、複数の前記画像からなる動画像におけるフレーム間距離に基づいて、前記分割領域毎の、前記局所領域のそれぞれに対する重みを計算する
請求項1に記載の画像処理装置。 - 前記局所領域、および前記分割領域は、前記入力画像を階層的に分割したブロック構造であり、
前記重み計算手段は、前記入力画像のうち前記分割領域と、前記分割領域の階層より上位の階層の前記局所領域のそれぞれとの画像空間内の距離、または、複数の画像からなる動画像におけるフレーム間距離に基づいて、前記分割領域毎の、前記局所領域のそれぞれに対する重みを計算する
請求項1に記載の画像処理装置。 - 前記特徴分布モデル算出手段は、前記分割領域毎に、前記局所領域の、量子化した量子化ベクトルの多次元ヒストグラムとし、前記多次元ヒストグラムに、それぞれの重みを付して、前記分割領域における特徴分布モデルを算出する
請求項1に記載の画像処理装置。 - 前記特徴分布モデル算出手段は、前記入力画像の2以上の代表色から色見本を求め、前記局所領域における色見本の識別番号のヒストグラムを、それぞれの重みを付して、前記分割領域における特徴分布モデルを算出する
請求項1に記載の画像処理装置。 - 入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出手段と、
前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算手段と、
前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出手段と、
前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段と
を含む画像処理装置の画像処理方法であって、
前記特徴ベクトル抽出手段における、前記入力画像のうち、前記標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出ステップと、
前記重み計算手段における、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算ステップと、
前記特徴分布モデル算出手段における、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出ステップと、
前記画素尤度算出手段における、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出ステップと
を含む画像処理方法。 - 入力画像のうち、標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出手段と、
前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算手段と、
前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出手段と、
前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出手段と
を含む画像処理装置を制御するコンピュータに、
前記特徴ベクトル抽出手段における、前記入力画像のうち、前記標本画素を含む局所領域毎に、前記標本画素の特徴ベクトルを抽出する特徴ベクトル抽出ステップと、
前記重み計算手段における、前記入力画像が分割された分割領域毎に、前記局所領域との位置関係に基づいて、前記局所領域のそれぞれに対する重みを計算する重み計算ステップと、
前記特徴分布モデル算出手段における、前記分割領域毎に、前記局所領域の特徴ベクトルに、それぞれの局所領域毎に計算された重みを付した重み付き平均を、前記局所領域における特徴分布モデルとして算出する特徴分布モデル算出ステップと、
前記画素尤度算出手段における、前記特徴分布モデルに基づいて、前記入力画像における画素毎の画素尤度を算出する画素尤度算出ステップと
を含む処理を実行させるプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010199106A JP2012058845A (ja) | 2010-09-06 | 2010-09-06 | 画像処理装置および方法、並びにプログラム |
CN2011102632318A CN102436582A (zh) | 2010-09-06 | 2011-08-30 | 图像处理设备、方法和程序 |
US13/222,891 US8606001B2 (en) | 2010-09-06 | 2011-08-31 | Image processing apparatus, method, and storage medium to implement image segmentation with high accuracy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010199106A JP2012058845A (ja) | 2010-09-06 | 2010-09-06 | 画像処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012058845A true JP2012058845A (ja) | 2012-03-22 |
Family
ID=45770764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010199106A Withdrawn JP2012058845A (ja) | 2010-09-06 | 2010-09-06 | 画像処理装置および方法、並びにプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8606001B2 (ja) |
JP (1) | JP2012058845A (ja) |
CN (1) | CN102436582A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010205067A (ja) * | 2009-03-04 | 2010-09-16 | Fujifilm Corp | 領域抽出装置、領域抽出方法及び領域抽出プログラム |
KR20120052767A (ko) * | 2010-11-16 | 2012-05-24 | 한국전자통신연구원 | 영상 분리 장치 및 방법 |
SG11201401806XA (en) * | 2011-10-27 | 2014-05-29 | Agency Science Tech & Res | A method to identify an object and a system for doing the same |
GB201217721D0 (en) * | 2012-10-03 | 2012-11-14 | Holition Ltd | Video image processing |
JP6629055B2 (ja) * | 2015-11-30 | 2020-01-15 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および情報処理方法 |
WO2018123801A1 (ja) * | 2016-12-28 | 2018-07-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元モデル配信方法、三次元モデル受信方法、三次元モデル配信装置及び三次元モデル受信装置 |
US11113800B2 (en) | 2017-01-18 | 2021-09-07 | Nvidia Corporation | Filtering image data using a neural network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7609888B2 (en) | 2005-07-01 | 2009-10-27 | Microsoft Corporation | Separating a video object from a background of a video sequence |
US7835542B2 (en) * | 2005-12-29 | 2010-11-16 | Industrial Technology Research Institute | Object tracking systems and methods utilizing compressed-domain motion-based segmentation |
US7885463B2 (en) | 2006-03-30 | 2011-02-08 | Microsoft Corp. | Image segmentation using spatial-color Gaussian mixture models |
JP4933186B2 (ja) * | 2006-07-26 | 2012-05-16 | キヤノン株式会社 | 画像処理装置、画像処理方法、プログラム及び記憶媒体 |
US8558952B2 (en) * | 2007-05-25 | 2013-10-15 | Nec Corporation | Image-sound segment corresponding apparatus, method and program |
JP2010055194A (ja) * | 2008-08-26 | 2010-03-11 | Sony Corp | 画像処理装置および方法、学習装置および方法、並びにプログラム |
-
2010
- 2010-09-06 JP JP2010199106A patent/JP2012058845A/ja not_active Withdrawn
-
2011
- 2011-08-30 CN CN2011102632318A patent/CN102436582A/zh active Pending
- 2011-08-31 US US13/222,891 patent/US8606001B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8606001B2 (en) | 2013-12-10 |
CN102436582A (zh) | 2012-05-02 |
US20120057783A1 (en) | 2012-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011013579A1 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
US8818082B2 (en) | Classifying blur state of digital image pixels | |
JP2012058845A (ja) | 画像処理装置および方法、並びにプログラム | |
US11455712B2 (en) | Method and apparatus for enhancing stereo vision | |
US8885941B2 (en) | System and method for estimating spatially varying defocus blur in a digital image | |
KR100450793B1 (ko) | 영역 분할된 영상의 영역 특징치 정합에 기초한객체추출장치 및 그 방법 | |
CN107871321B (zh) | 图像分割方法及装置 | |
JP6385601B2 (ja) | 歩行者の流動を求める方法及びシステム | |
CN106157330B (zh) | 一种基于目标联合外观模型的视觉跟踪方法 | |
CN110738611B (zh) | 一种视频画质增强方法、系统及设备 | |
CN110781740B (zh) | 一种视频画质识别方法、系统及设备 | |
JP2012073684A (ja) | 画像認識方法及び装置並びにプログラム | |
CN110060278A (zh) | 基于背景减法的运动目标的检测方法及装置 | |
CN115533902A (zh) | 一种基于视觉引导的拆垛方法、装置、电子设备及系统 | |
JP2008084076A (ja) | 画像処理装置、方法およびプログラム | |
CN107085725B (zh) | 一种通过基于自适应码本的llc聚类图像区域的方法 | |
CN104050665A (zh) | 一种视频图像中前景停留时间的估计方法及装置 | |
KR101990634B1 (ko) | 가상벽을 이용한 3차원 실내공간의 분할 방법 및 장치 | |
US10229337B2 (en) | Scale-adaptive media item segmentation technique | |
CN110933446B (zh) | 一种感兴趣区域的识别方法、系统及设备 | |
KR101914415B1 (ko) | 반복적 이상 클러스터 제거를 이용한 시각적 돌출 맵 검출 방법 | |
Monclús et al. | Efficient selection of representative views and navigation paths for volume data exploration | |
TWI537879B (zh) | 基於階層圖形的圖像提取以及前景估測的方法和系統 | |
JP2019128950A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
WO2022099121A1 (en) | Using luminance distributions to detect best areas of an image for prediction of noise levels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131203 |