以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の第1の実施の形態に係る画像処理装置の構成>
次に、本発明の第1の実施の形態に係る画像処理装置の構成について説明する。図1に示すように、本発明の第1の実施の形態に係る画像処理装置100は、CPUと、RAMと、後述する部分特徴量算出処理ルーチン、及び入力画像判定処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。この画像処理装置は、機能的には図1に示すように入力部10と、演算部20と、出力部90と、を含んで構成されている。
入力部10は、画像の内容を表す情報が予め付与された複数の参照画像を受け付け、参照画像記憶部22に記憶する。また、入力部10は、処理対象となる入力画像を受け付ける。
演算部20は、参照画像記憶部22と、部分領域抽出部30と、部分特徴量算出部50と、部分特徴量記憶部52と、入力画像特徴量算出部60と、類似度算出部62と、並べ替え部64と、を含んで構成されている。
参照画像記憶部22には、入力部10において受け付けた複数の参照画像が記憶されている。
部分領域抽出部30は、参照画像記憶部22に記憶されているC枚の参照画像のうち、ランダムに任意のN枚(I1、I2、・・・IN)を抽出対象の参照画像として取得し、当該N枚の参照画像の各々について、他の参照画像との間で差異となる、すなわち他の画像と類似しない部分領域を抽出する。また、部分領域抽出部30は、特徴量算出部32と、初期部分領域作成部34と、類似画像選択部36と、最小距離算出部38と、部分領域決定部40と、を含んで構成されている。ここで、Cは入力画像と比較を行う参照画像の総枚数、Nは部分領域の抽出を行う画像の総枚数であり、Cは自然数であり、NはC以下の自然数である。また、部分領域抽出部30により抽出される部分領域とは、図2に示すような各画像と同サイズのマスク画像であり、当該画像の一部分の領域を部分領域として示す画像である。なお、マスク画像は、各ピクセルに1又は0の値を持ち、1の値の場合、対応するピクセルが部分領域に該当し、0の値の場合、対応するピクセルが部分領域に該当しないことを示す。また、第1の実施の形態においては、画像全体も部分領域として設定され得る。
特徴量算出部32は、抽出対象のN枚の参照画像の各々について、特徴点の各々を検出し、検出された特徴点の各々から当該参照画像の特徴量を算出する。特徴点の検出方法、及び特徴点からの特徴量の算出方法としては、例えば、SIFT(Scale Invariant Feature Transform)(非特許文献5:D.G. Lowe: Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision, 2004)、SURF(Speeded Up Robust Features)(非特許文献6:H. Bay, T. Tuytelaars and L.V. Gool: SURF: Speeded Up Robust Features. Lecture Notes in Computer Science, 2006)などの方法を用いれば良い。
初期部分領域作成部34は、抽出対象のN枚の参照画像の各々について、当該参照画像から複数の初期部分領域の各々を作成する。初期部分領域を作成する方法は、例えば、参照画像に対してS種類の任意の大きさの窓をずらしながら当てはめ、各窓領域を初期部分領域として生成する。ここで、Sは、例えば3等の自然数とする。また、第1の実施の形態においては、参照画像毎及び窓の種類S毎にR個の初期部分領域を作成する。この場合、参照画像N枚全体において、N×S×R個の初期部分領域が作成される。
類似画像選択部36は、抽出対象のN枚の参照画像の各々について、当該参照画像を抽出対象の参照画像の全てから除いたN−1枚の参照画像から当該参照画像の類似画像をM枚選択する。ここで、MはN−1以下の自然数である。類似画像の選択は公知の方法を用いることができる。例えば、特徴量算出部32において検出した特徴点毎に特徴量間のユークリッド距離を算出し、その距離が一定値以下となる特徴点の個数(マッチング数)が大きい順にN−1枚の参照画像からM枚選択すればよい。
最小距離算出部38は、抽出対象のN枚の参照画像毎に、当該参照画像について作成されたS×R個の初期部分領域の各々と、M枚の類似画像の各々とにおける最小距離を算出する。ここで、最小距離とは、参照画像の初期部分領域と、類似画像中のS×R個の初期部分領域のうちの最も類似する初期部分領域との距離である。具体的には、参照画像の初期部分領域の各々について、当該参照画像の類似画像m(m=1〜M)及び窓の種類s(s=1〜S)毎に、当該初期部分領域と、当該参照画像の類似画像中のR個の初期部分領域r(r=1〜R)の各々との距離を算出し、算出された距離のうち最小値となるものを、当該初期部分領域と当該類似画像との最小距離とする。
また、参照画像の初期部分領域と、当該参照画像の類似画像の初期部分領域との距離の計算処理では、例えば、特徴量算出部32においてSIFT、SURFなどの特徴点を用いた特徴量を算出している場合には、参照画像の初期部分領域中に存在する特徴点から算出した特徴量と、当該参照画像の類似画像の初期部分領域中に存在する特徴点から算出した特徴量とのユークリッド距離を計算し、その距離が一定値以下となる特徴点の個数(マッチング数)を算出した上で、マッチングしない数を、初期部分領域中に存在する特徴点の数で割った値を、距離として算出する。このとき、初期部分領域中に特徴点が存在しなければ、例えば0など、距離が取り得る範囲の任意の数値を、距離とすればよい。図3に最小距離算出の例を示す。
部分領域決定部40は、抽出対象の参照画像の各々について、他画像との差異となる、すなわち他画像との距離が大きい部分領域を決定する。具体的に、まず、抽出対象となる参照画像について、当該参照画像の類似画像m及び窓の種類s毎に、当該参照画像の初期部分領域rの各々に対し、当該初期部分領域rと、当該参照画像の類似画像mにおける当該窓の種類sに対応する初期部分領域rの各々との間において算出された最小距離を、当該初期部分領域に含まれる参照画像の各ピクセルに割り振る。なお、最小距離の割り振りの処理は、窓の種類s毎で行われるため、1つの類似画像mに対してS種類の割り振り結果が取得できる。ここで、ピクセルが複数の初期部分領域に含まれる場合には、例えば、最小距離の平均値又は最大値を当該ピクセルに割り振るようにすればよい。また、参照画像の初期部分領域の各々と、当該参照画像の類似画像との最小距離の算出処理は、当該参照画像の類似画像数であるM回繰り返されるため、当該参照画像に含まれるピクセル毎にS×M個の最小距離が割り振られる。図4に最小距離の割り振り結果の例を示す。
次に、抽出対象となる参照画像の各々について、取得した類似画像m毎の、窓の種類s毎の当該参照画像の各ピクセルの最小距離の割り振り結果に基づいて、類似画像m及び窓の種類s毎の当該参照画像の各ピクセルが部分領域か否か判定し、類似画像m及び窓の種類s毎に、当該参照画像の各ピクセルに部分領域有無情報を付加する。ここで、各ピクセルが部分領域か否かの判定は、例えば、当該ピクセルに割り振られた最小距離が任意の一定値(閾値)T以上の場合に、当該ピクセルを部分領域であるとし、当該ピクセルに割り振られた最小距離がT未満の場合に、当該ピクセルを部分領域ではないとする。一定値には、例えば最小距離の平均値を用いればよい。また、部分領域有無情報は、例えば、部分情報で有る場合には1の値を、部分情報で無い場合には0の値を情報として付加するように二値の値を付加すればよい。
次に、参照画像の各々について、類似画像m及び窓の種類s毎の当該参照画像の各ピクセルの判定結果に基づいて、類似画像m及び窓の種類s毎の当該参照画像の各ピクセルの判定結果を統合し、統合した結果に基づいて、当該参照画像の部分領域を決定する。ここで、統合は、例えば、ピクセル毎に部分領域有無情報の論理和、論理積等をとり、当該ピクセルの値が1であるピクセルを部分領域として決定し、当該ピクセルの値が0であるピクセルを部分領域でない領域として決定する。これにより、抽出対象の参照画像の各々について、当該参照画像と同ピクセル数の部分領域有無情報から構成される部分領域が得られる。図5に、部分領域の決定の例を示す。
部分特徴量算出部50は、参照画像記憶部22に記憶されているC枚の参照画像の各々について、当該参照画像の部分領域から特徴点を検出し、当該検出された特徴点から特徴量を算出し、当該部分領域に対応する参照画像と、当該部分領域の特徴量とを併せて部分特徴量記憶部52に記憶する。具体的には、まず、部分領域抽出部30において処理の対象とならなかったC−N枚の参照画像の各々について、当該参照画像全体の領域を当該参照画像の部分領域と決定する。次に、部分領域の抽出処理の対象となったN枚の参照画像の各々については、部分領域決定部40において取得した部分領域を当該参照画像の部分領域とする。そして、C枚の参照画像の各々について、当該参照画像の部分領域の特徴量を算出する。ここで、特徴点の検出方法、及び特徴点からの特徴量の算出方法としては、例えば、SIFT(Scale Invariant Feature Transform)(非特許文献5)、SURF(Speeded Up Robust Features)(非特許文献6)などの方法を用いれば良い。
部分特徴量記憶部52には、部分特徴量算出部50において取得した部分領域の特徴量と、当該部分領域に対応する参照画像とのペアが複数記憶されている。
入力画像特徴量算出部60は、入力部10において受け付けた処理対象となる入力画像について、部分特徴量算出部50において算出した特徴量と同様の特徴量を算出する。
類似度算出部62は、入力画像特徴量算出部60において取得した入力画像の特徴量と、部分特徴量記憶部52に記憶されている部分領域の特徴量の各々と、に基づいて、入力画像と部分領域の各々との類似度を算出する。具体的には、例えば、入力画像の特徴量と、部分領域の特徴量との間のユークリッド距離を算出し、算出した距離が一定値以下となる特徴点の個数(マッチング数)を算出し、当該マッチング数を類似度とする。また、算出した特徴点の数でマッチング数を割った値を類似度としてもよい。
並べ替え部64は、類似度算出部62において算出された入力画像と部分領域の各々との類似度に基づいて、類似度の高い部分領域順に、当該部分領域に対応する参照画像のソートを行い、上位Y個の参照画像の各々に付与されている物体の名称、又は、上位Y個の参照画像の各々を出力部90に出力する。なお、YはC以下の自然数である。
<本発明の第1の実施の形態に係る画像処理装置の作用>
次に、第1の実施の形態に係る画像処理装置100の作用について説明する。まず、入力部10において、複数の参照画像を受け付け、参照画像記憶部22に記憶する。そして、参照画像記憶部22からC枚の参照画像を読み込むと、画像処理装置100によって、図6に示す部分特徴量算出処理ルーチンが実行される。また、部分特徴量算出処理ルーチンの終了後に、入力部10において、入力画像を受け付けると、画像処理装置100によって、図9に示す入力画像判定処理ルーチンを実行する。
まず、図6に示す、部分特徴量算出処理ルーチンについて説明する。
図6における、ステップS100では、読み込んだC枚の参照画像のうちから、部分領域を抽出する対象となるN枚の参照画像を取得する。
次に、ステップS102では、ステップS100において取得したN枚の参照画像の各々について、部分領域を抽出する。
次に、ステップS104では、読み込んだC枚の参照画像の各々について部分領域を設定する。ステップS100において取得したN枚の参照画像の各々については、ステップS102において抽出した部分領域を設定し、それ以外のC−N枚については、参照画像全体を部分領域として設定する。
次に、ステップS106では、C枚の参照画像の各々について、ステップS104において取得した当該参照画像の部分領域の特徴量を算出する。
次に、ステップS108では、ステップS106において取得した参照画像の各々の部分領域の特徴量と、当該参照画像の各々をペアにして部分特徴量記憶部52に記憶し、部分特徴量算出処理ルーチンを終了する。
上記ステップS102の部分領域の抽出処理について、図7及び図8の部分領域抽出処理ルーチンにおいて詳細に説明する。
図7における、ステップS200では、ステップS100において取得したN枚の参照画像In(n=1〜N)の各々について、特徴量を算出する。
次に、ステップS202では、N枚の参照画像の各々について、当該参照画像をS種類の窓で分割し、S種類の窓毎にR個の初期部分領域の各々を作成する。
次に、ステップS204では、nの値を1の値に設定する。
次に、ステップS206では、参照画像Inについて、ステップS100において取得したN枚の参照画像から当該参照画像Inを除いたN−1枚の参照画像の各々から、ステップS200において取得した参照画像Inの特徴量及びN−1枚の参照画像各々の特徴量に基づいて、参照画像Inに類似する類似画像mをM枚選択する。
次に、ステップS208では、mの値に1の値を設定する。
次に、ステップS210では、sの値に1の値を設定する。
次に、ステップS212では、rの値に1の値を設定する。
次に、ステップS214では、s´の値に1の値を設定する。
次に、ステップS216では、r´の値に1の値を設定する。
次に、ステップS218では、参照画像Inについて、参照画像Inのs番目の窓においてr番目に作成した初期部分領域と、類似画像mのs´番目の窓においてr´番目に作成した初期部分領域との距離を、ステップS200において取得した参照画像Inの特徴量及び類似画像mの特徴量に基づいて、算出する。
次に、ステップS220では、r´の値がRの値であるか否かを判定する。r´の値がRの値で無い場合には、ステップS222へ移行し、r´の値がRの値である場合には、ステップS224へ移行する。
ステップS222では、r´の値にr´+1の値を設定し、ステップS218へ移行する。
ステップS224では、s´の値がSの値であるか否かを判定する。s´の値がSの値で無い場合には、ステップS226へ移行し、s´の値がSの値である場合には、ステップS228へ移行する。
ステップS226では、s´の値にs´+1の値を設定し、ステップS216へ移行する。
ステップS228では、ステップS218において取得した、初期部分領域間の距離の各々に基づいて、参照画像Inのs番目の窓においてr番目に作成した初期部分領域と、類似画像mとの最小距離を決定する。
ステップS230では、rの値がRの値であるか否かを判定する。rの値がRの値で無い場合には、ステップS232へ移行し、rの値がRの値である場合には、ステップS234へ移行する。
次に、ステップS232では、rの値にr+1の値を設定し、ステップS214へ移行する。
ステップS234では、sの値がSの値であるか否かを判定する。sの値がSの値で無い場合には、ステップS236へ移行し、sの値がSの値である場合には、ステップS238へ移行する。
ステップS236では、sの値にs+1の値を設定し、ステップS212へ移行する。
ステップS238では、mの値がMの値であるか否かを判定する。mの値がMの値で無い場合には、ステップS240へ移行し、mの値がMの値である場合には、図8のステップS300へ移行する。
ステップS240では、mの値にm+1の値を設定し、ステップS210へ移行する。
図8のステップS300では、mの値に1の値を設定する。
次に、ステップS302では、sの値に1の値を設定する。
次に、ステップS304では、ステップS230又はステップS233において取得した、参照画像Inのs番目の窓において作成した初期部分領域の各々と、類似画像mとの最小距離を、参照画像Inの対象となるピクセルの各々について割り振り、類似画像mに対する、s番目の窓において作成した初期部分領域の結果として取得する。
次に、ステップS306では、sの値がSの値であるか否かを判定する。sの値がSの値で無い場合には、ステップS308へ移行し、sの値がSの値である場合には、ステップS310へ移行する。
ステップS308では、sの値にs+1の値を設定し、ステップS304へ移行する。
ステップS310では、mの値がMの値であるか否かを判定する。mの値がMの値で無い場合には、ステップS312へ移行し、mの値がMの値である場合には、ステップS314へ移行する。
ステップS312では、mの値にm+1の値を設定し、ステップS302へ移行する。
次に、ステップS314では、mの値に1の値を設定する。
次に、ステップS316では、sの値に1の値を設定する。
次に、ステップS318では、ステップS304において取得した、類似画像mに対する、s番目の窓において作成した初期部分領域の結果に基づいて、参照画像Inの処理対象となるピクセルが部分領域であるか否かを判定し、当該結果を類似画像mに対する、s番目の窓において作成した処理対象のピクセルの判定結果とする。
次に、ステップS320では、参照画像Inに含まれる全てのピクセルについて、同一のm及びsの値において、ステップS318の処理を終了したか否かを判定する。全てのピクセルについてステップS318の処理を終了している場合には、ステップS322へ移行し、全てのピクセルについてステップS318の処理を終了していない場合には、処理対象となるピクセルを変更し、ステップS318へ移行し、ステップS318の処理を繰り返す。
次に、ステップS322では、sの値がSの値であるか否かを判定する。sの値がSの値で無い場合には、ステップS324へ移行し、sの値がSの値である場合には、ステップS326へ移行する。
ステップS324では、sの値にs+1の値を設定し、ステップS318へ移行する。
ステップS326では、mの値がMの値であるか否かを判定する。mの値がMの値で無い場合には、ステップS328へ移行し、mの値がMの値である場合には、ステップS330へ移行する。
ステップS328では、mの値にm+1の値を設定する。
ステップS330では、ステップS318において取得した、参照画像Inの類似画像mに対する、s番目の窓において作成した各ピクセルの判定結果の各々に基づいて、参照画像Inに含まれる各ピクセルにおける部分領域有無情報を統合する。
次に、ステップS332では、ステップS330において取得した参照画像Inに含まれる各ピクセルの部分領域有無情報に基づいて、参照画像Inの部分領域を決定する。
次に、ステップS334では、nの値がNの値か否かを判定する。nの値がNの値で無い場合には、図7のステップS242へ移行し、nの値がNの値である場合には、部分領域抽出処理ルーチンを終了する。
次に、図9に示す入力画像判定処理ルーチンについて説明する。
まず、ステップS400では、部分特徴量記憶部52に記憶されている部分領域の各々の特徴量、及び当該部分領域に対応する参照画像を読み込む。
次に、ステップS402では、入力部10において受け付けた入力画像について、ステップS106と同様の特徴量を算出する。
次に、ステップS404では、ステップS402において取得した入力画像の特徴量と、ステップS400において取得した部分領域の各々の特徴量とに基づいて、入力画像と、部分領域の各々との類似度を算出する。
次に、ステップS406では、ステップS404において取得した入力画像と部分領域の各々との類似度に基づいて、類似度の高い部分領域順に、当該部分領域に対応する参照画像のソートを行う。
次に、ステップS408では、ステップS406において取得した参照画像のソート結果に基づいて、上位Y個の参照画像の各々に付加されている物体の名称、又は上位Y個の参照画像の各々を出力部90に出力し、入力画像判定処理ルーチンを終了する。
以上説明したように、本発明の第1の実施の形態に係る画像処理装置によれば、複数の参照画像の各々について、特徴量を算出し、参照画像の各々について、参照画像の特徴量と、参照画像以外の参照画像であって、かつ参照画像と類似する参照画像の各々の特徴量とに基づいて、参照画像の部分領域であって、かつ、他の参照画像との間で差異となる部分領域を決定し、参照画像の各々について、参照画像の部分領域について、特徴量を算出し、入力画像から特徴量を算出し、参照画像の各々について、入力画像の特徴量と、参照画像の部分領域の特徴量とに基づいて、入力画像と参照画像との類似度を算出し、類似度の各々に基づいて、入力画像に類似する参照画像を高精度に求めることができる。
また、参照画像間の差異となる領域を算出することにより、入力画像中に含まれる物体の名称を、高精度かつ高速に得ることができる。
また、類似する参照画像から初期部分領域を作成して比較することにより、差異となる領域が画像中に散在していても捉えることができる。
また、類似する参照画像を1対1で比較することにより、差異となる領域が参照画像群中で頻繁に現れなかった場合でも捉えることができる。
また、類似した画像を比較することで差異となる領域を抽出し、抽出した部分的な差異に基づく詳細な画像の自動特定を実現することができる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、第1の実施の形態においては、C枚の参照画像のうち、任意のN枚をランダムに抽出する場合について説明したが、これに限定されるものではなく、予め抽出対象の参照画像をN枚定めておいてもよい。
また、第1の実施の形態においては、特徴量を算出する際に、特徴点を検出してから、当該特徴点に基づいて、特徴量を算出する場合について説明したが、これに限定されるものではない。例えば、HOG(Histograms of Oriented Gradients)や色ヒストグラム(非特許文献7:N. Dalal and B. Triggs: Histograms of oriented gradients for human detection. In CVPR, 2005)など、特徴点を用いず画像全域から算出する特徴量を用いても良い。
また、第1の実施の形態においては、初期部分領域を作成する際に、参照画像毎、及び窓の種類S毎(Sは固定値)にR個の初期部分領域を作成する場合について説明したが、これに限定されるものではない。例えば、窓の大きさ及びSは、参照画像毎に変更してもよいし、また、参照画像に対して窓を当てはめる際に、ずらしながら窓の大きさ変更してもよい。
また、第1の実施の形態においては、初期部分領域を作成する際に、窓をずらしながら参照画像を分割する場合について説明したが、これに限定されるものではない。例えば、参照画像群に含まれる参照画像の各々について、SIFT等の特徴点を用いる特徴量を算出している場合、参照画像について窓を用いて初期部分領域の作成を行わず、特徴点そのものを初期部分領域としてもよい。
また、第1の実施の形態においては、類似画像の選択を行う際に、特徴量算出部32において検出した特徴点毎に特徴量間のユークリッド距離を算出する場合について説明したが、これに限定されるものではない。例えば、特徴量算出部32にいて算出した特徴量が特徴点を用いないものであった場合、例えば、算出した特徴量間のユークリッド距離を算出し、その距離が小さい順に画像群からM枚選択すればよい。
また、第1の実施の形態においては、参照画像の初期部分領域と、当該参照画像の類似画像の初期部分領域との距離の計算において、特徴点を用いる場合について説明したが、これに限定されるものではない。例えば、特徴量算出部32において、HOG、色ヒストグラムなどの特徴点を用いない特徴量を算出している場合、参照画像および当該参照画像の類似画像の初期部分領域から特徴量を算出し、これらのユークリッド距離を計算し、これを距離として用いればよい。
また、第1の実施の形態においては、参照画像の初期部分領域の各々と、当該参照画像の類似画像の各々との最小距離を算出する際に、参照画像の初期部分領域の各々と、当該参照画像の類似画像のS×R個の全ての初期部分領域の各々との距離を算出する場合について説明したが、これに限定されるものではない。例えば、図10に示すように、参照画像の初期部分領域と、当該参照画像の類似画像の当該参照画像の初期部分領域と同箇所の初期部分領域のみとの距離を算出してもよい。また、図11に示すように、参照画像の初期部分領域と、当該参照画像の類似画像の当該参照画像の初期部分領域と同箇所の初期部分領域、及び当該参照画像の初期部分領域の周辺に位置する初期部分領域のみとの距離を算出してもよい。また、図12に示すように、参照画像の初期部分領域と、当該参照画像の類似画像全体との距離を算出してもよい。また、特徴点そのものを初期部分領域としている場合、1つの初期部分領域中に存在する特徴点は1つとなるため、例えば、参照画像の初期部分領域中に存在する特徴点から算出した特徴量と、当該参照画像の類似画像の初期部分領域中に存在する特徴点から算出した特徴量とのユークリッド距離を計算し、初期部分領域間の距離としてもよい。このようにすることによって、距離計算の処理回数を減らすことができる。
また、第1の実施の形態においては、一定値Tを最小距離の平均値を用いる場合について説明したが、これに限定されるものではない。例えば、部分領域の面積が、参照画像の面積の50%等の任意の割合となるようにTを決定しても良い。また、特徴量としてSIFT、SURFなどの特徴点を用いた特徴量を用いた場合には、部分領域中に存在する特徴点の数が、参照画像全体に存在する特徴点の数の50%等の任意の割合になるようにTを決定しても良い。なお、当該場合には、判定の処理とTの決定の処理とを繰り返し行うことによりTの値を決定する。
また、第1の実施の形態においては、部分領域有無情報の統合について、ピクセル毎に部分領域有無情報の論理和、又は論理積等をとる場合について説明したが、これに限定されるものではない。例えば、ピクセル毎に部分領域有無情報を加算し、例えば、平均値等の一定値を超えるピクセルを部分領域とするように統合を行ってもよい。この統合の際に、全てを1票とするのではなく、窓の種類s毎又は類似画像m毎に任意の値に変更してもよい。任意の値としては、例えば、窓の種類sの面積、類似画像mを選択する際に用いた類似度を用いることができる。
また、第1の実施の形態においては、部分特徴量算出部において参照画像の全てについて同様の処理に基づいて、特徴量を算出する場合について説明したが、これに限定されるものではない。例えば、部分領域抽出部において、部分領域が抽出されているN枚の参照画像については、特徴量算出部32において算出した特徴量を利用してもよい。具体的には、参照画像全体から抽出した特徴点について、部分領域に含まれる特徴点のみに着目し、当該特徴点から算出した特徴量を用いてもよい。
次に、第2の実施の形態に係る画像処理装置について説明する。
第2の実施の形態においては、部分領域有無情報を、多値で表現している点が第1の実施の形態と異なる。なお、第1の実施の形態に係る画像処理装置100と同様の構成及び作用については、同一の符号を付して説明を省略する。
<本発明の第2の実施の形態に係る画像処理装置の構成>
次に、本発明の第2の実施の形態に係る画像処理装置の構成について説明する。図13に示すように、本発明の第2の実施の形態に係る画像処理装置200は、CPUと、RAMと、後述する部分特徴量算出処理ルーチン、及び入力画像判定処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することができる。この画像処理装置は、機能的には図13に示すように入力部10と、演算部220と、出力部90と、を含んで構成されている。
演算部220は、参照画像記憶部22と、部分領域抽出部230と、部分特徴量算出部250と、部分特徴量記憶部252と、入力画像特徴量算出部60と、類似度算出部262と、並べ替え部64と、を含んで構成されている。
部分領域決定部240は、抽出対象の参照画像の各々について、当該参照画像に含まれる各ピクセルの部分領域らしさを表す部分領域有無情報を取得する。具体的に、まず、抽出対象となる参照画像の各々について、当該参照画像の窓の種類s毎の初期部分領域rの各々と、当該参照画像の類似画像mの各々との間において算出された最小距離を、当該初期部分領域rに含まれる参照画像の各ピクセルに割り振る。なお、第2の実施の形態においては、各ピクセルに割り振られた値が部分領域有無情報となり、当該部分領域有無情報が、当該ピクセルが部分領域らしさを表す度合いとなる。
次に、抽出対象となる参照画像の各々について、取得した類似画像m及び窓の種類s毎の当該参照画像の各ピクセルの最小距離の割り振り結果に基づいて、類似画像m毎及び窓の種類s毎の当該参照画像の各ピクセルの部分領域有無情報を統合する。ここで、統合は、例えば、ピクセル毎に部分領域有無情報の各々の加算、又は部分領域有無情報の各々の平均をすることにより行う。これにより、抽出対象の参照画像の各々について、当該参照画像と同ピクセル数の部分領域有無情報が得られる。
部分特徴量算出部250は、参照画像記憶部22に記憶されているC枚の参照画像の各々について、当該参照画像の部分領域から特徴点を検出し、当該検出された特徴点から特徴量を算出し、当該部分領域に対応する参照画像と、当該部分領域の特徴量とを併せて部分特徴量記憶部252に記憶する。具体的には、まず、C枚の参照画像の各々について、当該参照画像全体の領域を当該参照画像の部分領域と決定する。そして、C枚の参照画像の各々について、当該参照画像の部分領域の特徴量を算出する。
部分特徴量記憶部252には、部分特徴量算出部250において取得した部分領域の特徴量と、当該部分領域に対応する参照画像との複数のペアと、部分領域抽出部230において取得したN枚の参照画像に対応する部分領域有無情報とが記憶されている。なお、N枚の参照画像に対応する部分領域有無情報は、当該参照画像が対応する部分領域の特徴量と紐づいている。
類似度算出部262は、入力画像特徴量算出部60において取得した入力画像の特徴量と、部分特徴量記憶部252に記憶されている部分領域の特徴量の各々、及びN枚の参照画像に対応する部分領域有無情報の各々と、に基づいて、入力画像と部分領域の各々との類似度を算出する。具体的には、例えば、まず、入力画像の特徴量と、部分領域の特徴量との間のユークリッド距離を算出し、次に、算出した距離が一定値以下となる特徴点を検出し、当該特徴点が検出されたピクセルの部分領域有無情報と、当該ピクセルにおいて検出された特徴点の数との積を算出し、算出された総和を類似度とする。なお、C−N枚の参照画像に対応する部分領域と、入力画像との類似度は、第1の実施の形態と同様に算出する。
<本発明の第2の実施の形態に係る画像処理装置の作用>
次に、第2の実施の形態に係る画像処理装置200の作用について説明する。まず、入力部10において、複数の参照画像を受け付け、参照画像記憶部22に記憶する。そして、参照画像記憶部22から参照画像の各々を読み込むと、画像処理装置200によって、図14に示す部分特徴量算出処理ルーチンが実行される。また、部分特徴量算出処理ルーチンの終了後に、入力部10において、入力画像を受け付けると、画像処理装置200によって、図17に示す入力画像判定処理ルーチンを実行する。
まず、図14に示す、部分特徴量算出処理ルーチンについて説明する。
図14における、ステップS502では、ステップS100において取得したN枚の参照画像の各々について、部分領域有無情報を取得する。
次に、ステップS504では、読み込んだC枚の参照画像の各々について、当該参照画像の全体を部分領域として設定する。
上記ステップS502の部分領域有無情報の取得処理について、図15及び図16の部分領域有無情報取得処理ルーチンにおいて詳細に説明する。
図16における、ステップS630では、ステップS304において取得した、参照画像Inの類似画像mに対する、s番目の窓において作成した各ピクセルの割り振り結果の各々に基づいて、参照画像Inに含まれる各ピクセルにおける部分領域有無情報を統合する。
次に、図17に示す入力画像判定処理ルーチンについて説明する。
まず、ステップS700では、部分特徴量記憶部252に記憶されている部分領域の各々の特徴量、及び当該部分領域に対応する参照画像と、N枚の参照画像の各々の部分領域有無情報とを読み込む。
次に、ステップS704では、C−N枚の参照画像に対応する部分領域については、ステップS402において取得した入力画像の特徴量と、ステップS700において取得した部分領域の各々特徴量とに基づいて、N枚の参照画像に対応する部分領域については、ステップS402において取得した入力画像の特徴量と、ステップS700において取得した部分領域の各々特徴量、及び当該部分領域の部分領域有無情報とに基づいて、入力画像と、部分領域の各々との類似度を算出する。
以上説明したように、本発明の第2の実施の形態に係る画像処理装置によれば、複数の参照画像の各々について、特徴量を算出し、参照画像の各々について、参照画像の特徴量と、参照画像以外の参照画像であって、かつ参照画像と類似する参照画像の各々の特徴量とに基づいて、参照画像の部分領域であって、かつ、他の参照画像との間で差異となる部分領域を決定し、参照画像の各々について、参照画像の部分領域について、特徴量を算出し、入力画像から特徴量を算出し、参照画像の各々について、入力画像の特徴量と、参照画像の部分領域の特徴量と、に基づいて、入力画像と参照画像との類似度を算出し、類似度の各々に基づいて、入力画像に類似する参照画像を出力することにより、入力画像に類似する参照画像を高精度に求めることができる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、第2の実施の形態においては、各ピクセルの部分領域有無情報を最小距離とする場合について説明したが、これに限定されるものではなく、最小距離をその最大値で割った値を、ピクセルの部分領域有無情報としてもよい。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
また、本願明細書中において、本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではない。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。