所望の領域を抽出するということは、各ピクセルについて、前景に属するのか背景に属するのかを判断する、または前景に属するのか背景に属するのかの確率を計算するということである。
特許文献1〜3に記載の発明は、全て、初期領域の決定を伴って領域抽出をする方法である。各ピクセルが前景に属するか背景に属するかを判断する時に、初期領域の決定を伴って領域抽出をする方法をとる場合、初期領域をどう与えるかという決定が非常に大きな影響を与えることになる。
例えば、特許文献1に記載の発明では、背景画像もしくは所望の領域の近くに、所望の領域以外のエッジが存在する場合には、所望の領域を抽出できないという問題点がある。
また、特許文献2に記載の発明では、必ずしも出現頻度が高いものが所望の領域を満たすとは限らないので、所望の領域が出現頻度が高い画素値をもたない場合には、所望の領域を抽出できないという問題点がある。
特許文献3に記載の発明では、画素の分布が所定の条件を満たすところが所望の領域で無い場合には、所望の領域を抽出できないという問題点がある。
本発明はこのような事情に鑑みてなされたもので、効果の高い初期領域を探すことで、正確に所望の領域を抽出することができる領域抽出装置、領域抽出方法及び領域抽出プログラムを提供することを目的とする。
請求項1に記載の領域抽出装置は、画像を取得する取得手段と、前記取得した画像中に複数の仮の初期領域を設定する仮初期領域設定手段と、前記設定した仮の初期領域の内側の全画素の画素値と、外側の全画素の画素値とがどの程度異なるかを示す指標である分離度を前記仮の初期領域毎に算出する分離度算出手段と、前記算出された分離度が最も高い仮の初期領域を初期領域として設定する初期領域設定手段と、前記設定された初期領域に基づいて領域抽出処理を行う領域抽出手段と、を備えたことを特徴とする。
請求項1に記載の領域抽出装置によれば、画像を取得し、取得した画像中に複数の仮の初期領域を設定し、仮の初期領域の内側の全画素の画素値と、外側の全画素の画素値とがどの程度異なるかを示す指標である分離度を仮の初期領域毎に算出し、算出された分離度が最も高い仮の初期領域を初期領域として設定して領域抽出処理を行う。これにより、初期領域を適切に設定できるため、領域抽出を上手く行うことができる。
請求項2に記載の領域抽出装置は、請求項1に記載の領域抽出装置において、前記取得した画像全体をぼかす処理を行う手段を備え、前記仮初期領域設定手段は、前記画像全体をぼかす処理が行われた画像中に複数の仮の初期領域を設定することを特徴とする。
請求項2に記載の領域抽出装置によれば、取得した画像全体をぼかす処理を行い、ぼかす処理が行われた画像中に複数の仮の初期領域を設定することで、仮初期領域を少し広くしたのと同様の効果が得られる。
請求項3に記載の領域抽出装置は、請求項1又は2に記載の領域抽出装置において、前記分離度算出手段は、前記仮の初期領域の内側の全画素の画素値に基づいて横軸を画素値とする第1の正規化ヒストグラムと、前記仮の初期領域の外側の全画素の画素値に基づいて横軸を画素値とする第2の正規化ヒストグラムとを生成するヒストグラム生成手段と、前記第1、第2の正規化ヒストグラムの各画素値毎の差の絶対値の総和を分離度として算出する手段と、を有することを特徴とする。
請求項3に記載の領域抽出装置によれば、仮の初期領域の内側の全画素の画素値の正規化ヒストグラム(第1の正規化ヒストグラム)と、前記仮の初期領域の外側の全画素の画素値の正規化ヒストグラム(第2の正規化ヒストグラム)とを生成し、第1、第2の正規化ヒストグラムの各画素値毎の差の絶対値の総和を分離度として算出することにより、画素値の分布が最も異なる、すなわち前景と背景が最も大きく異なる仮初期領域を初期領域として設定することができる。
請求項4に記載の領域抽出装置は、請求項1又は2に記載の領域抽出装置において、前記分離度算出手段は、前記仮の初期領域の内側及び外側について画素値の確率分布モデルを作成する手段と、前記仮の初期領域の内側の確率分布モデルと外側の確率分布モデルとの分離度を算出する手段と、を有することを特徴とする。
請求項4に記載の領域抽出装置によれば、仮の初期領域の内側及び外側について画素値の確率分布モデルを作成し、確率分布モデルの分離度を算出することで、分離度が最も高い、すなわち確率分布が最も異なる仮初期領域を初期領域として設定することができる。。
請求項5に記載の領域抽出装置は、請求項1から4のいずれかに記載の領域抽出装置において、前記画素値は、RGB色空間、HSV色空間等の所定の色空間上の値であることを特徴とする。
請求項6に記載の領域抽出装置は、請求項1から5のいずれかに記載の領域抽出装置において、前記仮初期領域設定手段は、前記取得した画像中に任意の点を設定する点設定手段と、前記設定した任意の点を中心とした所定の領域を仮の初期領域として設定する領域設定手段と、を有することを特徴とする。
請求項7に記載の領域抽出装置は、請求項6に記載の領域抽出装置において、前記点設定手段は、前記取得した画像の中心を前記任意の点として設定することを特徴とする。
請求項7に記載の領域抽出装置によれば、画像の中心を任意の点として設定し、任意の点を中心とした所定の領域を仮の初期領域として設定することで、画像の中心に抽出対象が配置されている場合に効率よく仮初期領域を設定できる。
請求項8に記載の領域抽出装置は、請求項6に記載の領域抽出装置において、前記取得した画像からエッジを検出する手段と、前記検出されたエッジの重心を算出する手段と、を備え、前記点設定手段は、前記算出した点群の重心を前記任意の点として設定することを特徴とする。
請求項8に記載の領域抽出装置によれば、取得した画像からエッジを検出し、エッジの重心を任意の点として設定し、任意の点を中心とした所定の領域を仮の初期領域として設定することで、背景に強いエッジが無い場合に効率よく仮初期領域を設定できる。
請求項9に記載の領域抽出装置は、請求項6から8のいずれかに記載の領域抽出装置において、前記仮初期領域設定手段は、前記任意の点を中心とした大きさの異なる矩形領域又は円形領域を前記複数の仮の初期領域として設定することを特徴とする。
請求項9に記載の領域抽出装置によれば、任意の点を中心とした大きさの異なる矩形領域又は円形領域を複数の仮の初期領域として設定することで、処理を早く行うことができる。
請求項10に記載の領域抽出装置は、請求項1から9のいずれかに記載の領域抽出装置において、前記領域抽出手段は、グラフカットアルゴリズムを用いて領域抽出を行うことを特徴とする。
請求項11に記載の領域抽出方法は、画像を取得するステップと、前記取得した画像中に複数の仮の初期領域を設定するステップと、前記設定した仮の初期領域の内側と外側とがどの程度異なるかを示す指標である分離度を前記仮の初期領域毎に算出するステップと、前記算出された分離度が最も高い仮の初期領域を初期領域として設定するステップと、前記設定された初期領域に基づいて領域抽出処理を行うステップと、を備えたことを特徴とする。
請求項12に記載の領域抽出方法は、請求項11に記載の領域抽出方法において、前記複数の仮の初期領域を設定するステップは、(1)前記取得した画像中に任意の点を設定するステップと、(2)前記設定した任意の点を中心とした所定の領域を仮の初期領域として設定するステップと、(3)前記設定した任意の点を中心とし、前記所定の領域と大きさが異なる領域を仮の初期領域として設定するステップと、を有することを特徴とする。
請求項12に記載の領域抽出方法によれば、任意の点を中心とした大きさが異なる複数の領域を仮の初期領域として設定することができる。
請求項13に記載の領域抽出方法は、請求項12に記載の領域抽出方法において、前記複数の仮の初期領域を設定するステップは、(4)前記任意の点を変更するステップと、(5)前記(2)から(4)に示すステップを繰り返し行うステップと、を有することを特徴とする。
請求項13に記載の領域抽出方法によれば、複数の任意の点について、任意の点を中心とした大きさが異なる複数の領域を仮の初期領域として設定することができる。
請求項14に記載の領域抽出方法は、請求項12に記載の領域抽出方法において、前記画像を取得するステップと、前記取得した画像中に複数の仮の初期領域を設定するステップとの間に(6)前記取得した画像中に複数の点を設定するステップと、(7)前記設定した点を中心とした所定の領域を、仮の初期領域として前記複数の点毎に設定するステップと、(8)前記複数の点毎に設定された仮の初期領域毎に、当該仮の初期領域の内側と外側との分離度を算出するステップと、を有し、前記(1)のステップは、前記(8)のステップで算出された分離度が最も大きい仮の所期領域の中心の点を前記任意の点とすることを特徴とする。
請求項14に記載の領域抽出方法によれば、取得した画像中に複数の点を設定し、設定した点を中心とした所定の領域を仮の初期領域として複数の点毎に設定し、仮の初期領域毎に仮の初期領域の内側と外側との分離度を算出し、分離度が一番大きい仮の初期領域を求め、この仮の初期領域の中心の点を中心とした大きさが異なる複数の領域を仮の初期領域として設定し、分離度を仮の初期領域毎に算出し、算出された分離度が最も高い仮の初期領域を初期領域として設定して領域抽出処理を行う。これにより、最適な初期領域を確実に見つけることができる。
請求項15に記載の領域抽出プログラムは、請求項11から14のいずれかに記載の領域抽出方法を演算装置に実行させる。
本発明によれば、効果の高い初期領域を探すことで、正確に所望の領域を抽出することができる。
<第1の実施の形態>
図1は、第1の実施の形態に係る領域抽出装置1の全体構造の概略図である。領域抽出装置1は、主として、制御部10と、画像入力部11と、出力部12と、仮初期点設定部13と、仮初期領域設定部14と、初期領域決定部15と、領域抽出部16とで構成される。
制御部10は、領域抽出装置1の全体の動作を統括制御する制御手段として機能するとともに、各種の演算処理を行う演算手段として機能する。また、制御部10はメモリ領域を有し、メモリ領域には制御部10が実行する制御プログラムであるファームウェア等が保存されている。
画像入力部11は、デジタルカメラ、PC、携帯機器等の外部機器や記憶媒体に記憶されている画像を図示しないインターフェースを介して取得し、制御部10へ入力する。
出力部12は、領域抽出部16により所望の領域が抽出された画像を外部機器等へ出力する。
仮初期点設定部13は、制御部10を介して画像入力部11により入力された画像中の任意の点を仮初期点として設定する。本実施の形態では、図2に示すように、入力された画像に撮影された被写体(物体)の中心と仮定する位置に仮初期点を設定する。物体の中心と仮定する位置を算出する方法としては、主として、以下の2通りの方法が考えられるが、物体の位置をある程度推定する方法として公知となっているその他の方法を用いてもよい。
(1)画像の真ん中に物体があると仮定して、画像の中心の座標の点を物体の中心と仮定する方法。この方法は、商品画像(販売対象である商品のみが撮影されている画像)など画像の中心に抽出対象が配置されている場合に効果的である。
(2)エッジがたくさん集中している場所が物体のある場所であると考え、所定の閾値以上の強さを持っているエッジを検出し、検出したエッジを点群とし、当該点群の重心を物体の中心と仮定する方法。この方法は、背景に強いエッジが無い場合に効果的である。
仮初期領域設定部14は、仮初期点設定部13により設定された仮初期点を中心とした領域を仮初期領域として設定する。本実施の形態では、図2に例示するように、仮初期点を中心とし、大きさの異なる複数の仮初期領域R1、R2、R3、R4を設定する。このように、仮初期領域を単純な形状にすることにより、処理を高速化することができる。なお、図2においては、四角形の領域を仮初期領域とした例を示すが、四角形以外の多角形、円形、楕円形等の仮初期領域を設定してもよい。例えば、円形の場合には、半径を変えることにより大きさの異なる複数の仮初期領域を設定することができる。高速に処理が行える点は、四角形以外の場合も四角形の場合と同じである。
初期領域決定部15は、仮初期領域設定部14により設定された複数の仮初期領域の中から、最も適切な仮初期領域を初期領域と決定する。初期領域を決定する基本的な考え方は、仮初期領域設定部14が仮説的に設定した複数の仮初期領域が初期領域として妥当かどうかを確かめるということを各仮初期領域毎に繰り返して、一番妥当である仮初期領域を初期領域として選ぶという考え方である。
本実施の形態では、初期領域決定部15は、各仮初期領域毎に分離度を算出し、その分離度に基づいて仮初期領域が初期領域として妥当かどうかを確かめる。以下、分離度を算出する方法について、図3を用いて説明する。
図3は、赤色の立方体の物体(実際の前景)が略中央に撮影された画像であり、背景(何も撮影されていない部分)の部分は青色である。図3はカラー画像であるため、図3の各画素は、R、G、Bのそれぞれについて0〜255の156階調の画素値を有する。したがって、各画素の画素値は、図4に示すように、256階調を1/16の16階調に圧縮したR、G、Bの3次元座標上の点(r、g、b)として表現される(r:Rの画素値、g:Gの画素値、b:Bの画素値、0≦r、g、b≦15)。
図3は商品画像であるため、仮初期点設定部13は画像の略中心に仮初期点を設定し、仮初期領域設定部14は所定の大きさの四角形の仮初期領域を設定する。仮に、仮初期領域の内側を前景とみなし、仮初期領域の外側を背景とみなし、この前景とみなした領域、背景とみなした領域のそれぞれについて、(0,0,0)を0、(15,0,0)を15近辺、(0,15,0)を2048近辺、(0,0,15)を3410近辺、(15,15,15)を4095とする1次元座標上に各画素の画素値(r、g、b)をプロットすると、図5に示すように、横軸を画素値とするヒストグラム(通常、ヒストグラムは、各値毎の出現頻度に比例する面積をもつ柱を並べた棒グラフとして表現するが、本実施の形態においては、各棒の先端を結んだ曲線として表現する)が作成される。
図3に示す例において、前景とみなした領域は、物体と、背景の一部とで構成される。したがって、図5(a)に示す前景のヒストグラムにおいては、Rを示す15近辺に高い山が現れ、Bを示す3410近辺に低い山が現れる。それに対し、背景とみなした領域は、背景のみで構成される。したがって、図5(b)に示す背景のヒストグラムにおいては、Bを示す3410近辺に高い山が現れる。
前景とみなした領域及び背景とみなした領域のヒストグラムを生成したら、それぞれのヒストグラムを正規化する。そして、正規化後の前景とみなした領域のヒストグラムの出現頻度と、正規化後の背景とみなした領域のヒストグラムの出現頻度との差分を0〜4095の各画素値毎に算出し、その差分の絶対値の総和を求める。ヒストグラムを正規化した後に出現頻度の差分を算出しているため、総和は0〜1の値として算出される。この総和が、前景と背景との分離度を示す値である。分離度が0の場合は前景とみなした領域と背景とみなした領域とが一致していることを示し、分離度が1に近づくほどより前景とみなした領域と背景とみなした領域とが異なっていることを示す。
初期領域決定部15は、各仮初期領域毎に求められた分離度が最も大きい仮所期領域を最も適切な仮初期領域とし、これを初期領域と決定する。
領域抽出部16は、初期領域決定部15が決定した初期領域を用いて領域抽出を行う。領域抽出を行う方法としては、特開2007−307358に記載されているようなグラフカットアルゴリズムや、その他のセグメンテーションの方法を利用することができる。
このようにして構成された領域抽出装置1の作用について説明する。図6は、領域抽出装置1の処理の流れを示すフローチャートである。
画像入力部11は、外部機器等から画像を取得し、制御部10へ入力する(ステップS10)。制御部10は、画像を仮初期点設定部13に入力し、仮初期点設定部13は、入力された画像に撮影された物体の中心と仮定する位置に仮初期点を設定する(ステップS12)。
制御部10は、仮初期点設定部13により仮初期点が設定された画像を取得し、仮初期領域設定部14に入力する。仮初期領域設定部14は、ステップS11において設定された仮初期点を中心とした複数の仮初期領域を設定する(ステップS14)。本実施の形態では、立方体の物体が撮影されているため、あらかじめ想定した領域パターン、すなわち四角形の大きさの異なる複数の仮初期領域を設定する。
制御部10は、仮初期領域設定部14により複数の仮初期領域が設定された画像を取得し、初期領域決定部15に入力する。初期領域決定部15は、ステップS12で設定された複数の仮初期領域のうち、所望の仮初期領域を選択し、選択した仮初期領域の前景と背景とのそれぞれについてヒストグラムを生成し、正規化する(ステップS16)。そして、初期領域決定部15は、正規化されたヒストグラムに基づいて分離度を算出する(ステップS18)。
制御部10は、ステップS14で設定された仮初期領域の全てに対して分離度が算出されたか否かを判断する(ステップS20)。
ステップS14で設定された仮初期領域の全てに対して分離度が算出されていない(ステップS20でNO)場合には、制御部10はまだ分離度が算出されていない仮初期領域を新たに選択し(ステップS22)、初期領域決定部15は新たに選択された(まだ分離度が算出されていない)仮初期領域の前景と背景とのそれぞれについてヒストグラムの生成と正規化(ステップS16)及び分離度の算出(ステップS18)を行う。
ステップS14で設定された仮初期領域の全てに対して分離度が算出された(ステップS20でYES)場合には、初期領域決定部15は、ステップS12で設定された複数の仮初期領域の中で最も妥当性が高いものを初期領域に決定する(ステップS24)。すなわち、初期領域決定部15は、ステップS18において算出された全ての仮初期領域についての分離度のうち最も値が大きい分離度が算出された仮初期領域を初期領域と決定する。
制御部10は、ステップS24で決定した初期領域を領域抽出部16に入力し、領域抽出部16はこの初期領域を用いて領域抽出を行う(ステップS26)。
本実施の形態によれば、複数設定した仮初期領域の中から最適な初期領域を決定するため、領域抽出アルゴリズムを動作させる際に有利な、すなわち適切な初期条件を設定することができる。これにより、初期領域が上手く設定できないために領域抽出をうまく行うことができないという不具合を防止することができる。そのため、初期領域の設定を手作業で行う等の手間がかかるという問題の発生を防止することができる。
また、本実施の形態によれば、仮初期領域の内側を前景とみなし、外側を背景とみなし、これらの分離度を算出することで、この仮初期領域が効果的に前景(物体)と背景を分離する初期領域であるかどうかを確実に判断することができる。
なお、本実施の形態では、入力した画像に対して複数の仮初期領域を設定したが、入力した画像全体をぼかし、ぼかした画像について仮初期領域を設定するようにしてもよい。これにより、仮初期領域を少し広くしたのと同様の効果が得られる。
また、本実施の形態では、画像中の任意の点を仮初期点として設定し、任意の点を中心とした大きさの異なる複数の仮初期領域を設定したが、異なる複数の仮初期領域が設定されるのであれば、仮初期点及び仮初期領域の設定方法はこれに限らない。図7に示すように、複数の仮初期点(数は9個に限定されるものではない)を設定し、仮初期点を中心とする同じ大きさの仮初期領域を各仮初期点毎に設定してもよい。
また、図2に示す仮初期領域の設定方法と、図7に示す仮初期領域の設定方法とを組み合わせてもよい。例えば、まず図7に示すように、複数の仮初期点を設定し、仮初期点を中心とする同じ大きさの仮初期領域を各仮初期点毎に設定し、各仮初期領域毎に分離度を算出する。そして、図2に示すように、分離度が最も大きい仮初期領域の中心にある仮初期点を中心として、大きさの異なる複数の仮初期領域を設定するようにしてもよい。また、複数の仮初期点に対してそれぞれ異なる大きさの複数の仮初期領域を設定するようにしてもよい。
また、本実施の形態では、図5に示すような1次元のヒストグラムを生成したが、各色毎に異なるヒストグラムを生成するようにしてもよい。図8は、図3に示すような背景(何も撮影されていない部分)の部分は青色であり、赤色の立方体の物体(実際の前景)が略中央に撮影された画像の略中心に仮初期点を設定し、立方体の物体が含まれるような四角形の仮初期領域を設定した場合に、仮初期領域の内側及び外側のR、G、B毎のヒストグラムである。この場合は、R,G,Bの全ての出現頻度の和が1となるように、仮初期領域の内側及び外側のヒストグラムをそれぞれ正規化する。正規化したヒストグラムの0〜255の各値毎の出現頻度の差分の総和をR、G、Bの各色毎に算出し、R、G、Bの各色毎に算出された出現頻度の差分の総和を足した値を分離度として算出すればよい。
また、本実施の形態では、0〜255の全ての画素値を用いてヒストグラムを生成したが、例えば1つおきに間引いた画素値(例えば、画素値0,2,4・・・の画素のみ)のみを用いてヒストグラムを作成してもよい。これにより、より高速に処理を行うことができる。
また、本実施の形態では、R、G、Bの画素値を用いてヒストグラムを生成したが、R、G、Bの画素値には限らず、例えばHSVの画素値を用いてもよい。
また、本実施の形態では、カラー画像を例に説明したが、白黒(グレースケール)の画像(例えば、夜間にフラッシュ撮影により撮影された画像)の場合には、明度の値を画素値として本発明を適用することができる。
また、本実施の形態では、正規化したヒストグラムは、分離度を算出することのみに用いたが、正規化したヒストグラムの形状の情報を用いるようにしてもよい。例えば、対象となる画像が花などの自然界の画像である場合には、図9(a)に示すようななだらかな形のヒストグラムとなり、対象となる画像がアニメなどの人工の画像である場合には、図9(b)に示すような急峻な形のヒストグラムとなる。したがって、自然界の画像を解析しているのに急峻な形のヒストグラムが生成された場合には、エラーと判断することで、間違った判断を減らすことができる。
また、本実施の形態では、正規化したヒストグラムに基づいて分離度を算出したが、分離度を算出する方法はこれに限らない。例えば、仮初期領域の内側の画素値及び外側の画素値のそれぞれについて確率分布モデルを作成し、それに基づいて分離度を算出するようにしてもよい。確率分布モデルとしては、例えばガウス混合分布モデルを用いることができるが、この方法には限定されない。また、確率分布モデルの分離度を算出する方法としては、確率分布モデルどうしの距離計算方法として一般的に知られている様々な方法を利用することができる。
本発明は、デジタルカメラ、PC、携帯機器などの装置として提供してもよいし、サーバと端末とが含まれたシステムとして提供してもよい。また、装置やシステムに限らず、装置やシステムに適用するプログラムとして提供することもできる。