(57)【特許請求の範囲】
【請求項１】
複数の画像のデータを取得する取得手段と、
前記取得手段により取得された複数の画像のデータについて、類似する複数の画素領域を夫々特定する特定手段と、
前記特定手段により特定された類似する複数の画素領域同士の座標空間上における距離を夫々算出する距離算出手段と、
前記距離算出手段により夫々算出された距離に基づいて、類似判定に用いる閾値を設定する閾値設定手段と、
前記距離算出手段により夫々算出された距離のうち、前記閾値設定手段により設定された閾値以下の距離に対応する画素領域同士に基づいて、前記取得手段により取得された前記複数の画像のデータが類似するか否かを判定する類似判定手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記距離算出手段により夫々算出された座標空間上の距離が、前記閾値設定手段により設定された閾値以下か否かを判定する閾値判定手段を更に備え、
前記類似判定手段は、前記閾値判定手段により閾値以下と判定された前記距離に対応する画素領域同士に基づいて、前記取得手段により取得された前記複数の画像のデータが類似するか否かを判定する、
ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記類似判定手段は、前記距離算出手段により夫々算出された座標空間上の距離のうち、前記閾値判定手段により閾値を超えていると判定された距離に対応する画素領域同士は判定の対象から除外して、前記複数の画像のデータが類似するか否かを判定する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記閾値設定手段は、前記距離算出手段により夫々算出された座標空間上の距離の中央値、平均値、最頻値の何れかに基づいて、前記閾値を設定する、
ことを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
画像処理装置が実行する画像処理方法であって、
複数の画像を取得する取得ステップと、
前記取得ステップにより取得された複数の画像間から、類似する複数の画素領域を夫々特定する特定ステップと、
前記特定ステップにより特定された類似する複数の画像領域同士の座標空間上における距離を夫々算出する距離算出ステップと、
前記距離算出ステップにより夫々算出された距離に基づいて、類似判定に用いる閾値を設定する閾値設定ステップと、
前記距離算出ステップにより夫々算出された距離のうち、前記閾値設定ステップにより設定された閾値以下の距離に対応する画素領域同士が類似するか否かを判定する類似判定ステップと、
を含むことを特徴とする画像処理方法。
【請求項６】
コンピュータを、
複数の画像を取得する取得手段と、
前記取得手段により取得された複数の画像間から、類似する複数の画素領域を夫々特定する特定手段、
前記特定手段により特定された類似する複数の画像領域同士の座標空間上における距離を夫々算出する距離算出手段、
前記距離算出手段により夫々算出された距離に基づいて、類似判定に用いる閾値を設定する閾値設定手段、
前記距離算出手段により夫々算出された距離のうち、前記閾値設定手段により設定された閾値以下の距離に対応する画素領域同士が類似するか否かを判定する類似判定手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の類似判定の精度向上を図ることが可能な、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来より、２枚の画像のデータの類似度を自動的に判定する技術がある。このような画像の類似度の判定には、例えば、色ヒストグラム等が判定要素として用いられている。しかし、このような判定要素を用いて類似判定が行われると、同じような色の画像のデータは全て類似と判定される。このために、画角、画像全体の移動、ホワイトバランスが異なった２枚の画像のデータに対しては、非類似という判定が困難であり、判定精度の低下を招いていた。
【０００３】
そこで、画角、画像全体の移動、ホワイトバランスが異なった２枚の画像のデータに対しては、非類似という判定を実現すべく、２枚の画像間での対応点の数によって類似度を判定するという技術も従来用いられている。
しかし、このような技術を用いると、２枚の画像間での対応点に異常な値があり、対応点自体に間違いがある場合には、判定精度の低下を招くという別の問題が生じている。
【０００４】
この問題を解決可能な技術として、２枚の画像間で同一とみられる被写体の領域において、対応点を検出する技術が特許文献１に開示されている。
また、この特許文献１に記載の技術では、２枚の画像間で同一とみられる被写体の領域において対応点の傾きが生じている場合には、対応点の回転角度の相違に基づいて、対応点同士が正常な値（以下、インライヤとも呼ぶ）であるのかそれとも異常な値（以下、アウトライヤとも呼ぶ）であるのかを判定し、その判定結果を類似度の判定に用いている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３３４７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では例えば、一部の被写体のみが回転等している場合、当該回転等して位置が異なる一部の被写体については、対応点としてカウントされない。このために、本来、同一の被写体が存在する類似画像として判定されるべきところ、非類似画像と判定されてしまうことがあった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、共通する被写体を含む画像の類似判定の精度向上を図ることが可能な、画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一態様の画像処理装置は、複数の画像のデータを取得する取得手段と、前記取得手段により取得された複数の画像のデータについて、類似する複数の画素領域を夫々特定する特定手段と、前記特定手段により特定された類似する複数の画素領域同士の座標空間上における距離を夫々算出する距離算出手段と、前記距離算出手段により夫々算出された距離に基づいて、類似判定に用いる閾値を設定する閾値設定手段と、前記距離算出手段により夫々算出された距離のうち、前記閾値設定手段により設定された閾値以下の距離に対応する画素領域同士に基づいて、前記取得手段により取得された前記複数の画像のデータが類似するか否かを判定する類似判定手段と、を備えたことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、共通する被写体を含む画像の類似判定の精度向上を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】画像の類似度の判定を説明するための、判定対象となる２枚の画像の例を示す模式図である。
【図２】本発明の一実施形態に係る画像処理装置のハードウェアの構成を示すブロック図である。
【図３】図２の画像処理装置の機能的構成のうち、画像類似判定処理を実行するための機能的構成を示す機能ブロック図である。
【図４】図２の画像処理装置の機能的構成のうち、特徴量抽出処理を実行するための機能的構成を示す機能ブロック図である。
【図５】図３の機能的構成を有する図２の画像処理装置が実行する画像類似判定処理の流れを説明するフローチャートである。
【図６】画像類似判定処理のうち、ステップＳ２の特徴量抽出処理の流れを説明するフローチャートである。
【発明を実施するための形態】
【００１１】
先ず、本発明の実施形態の説明の前に、本発明の原理の概要について、図１を参照して説明する。
図１は、画像の類似度の判定を説明するための、判定対象となる２枚の画像の例を示す模式図である。
図１において、左側の第１の画像ｐ１は、類似の判定元となる画像であり、右側の第２の画像ｐ２は、類似の判定対象となる画像である。
【００１２】
図１の例では、装置は、第１の画像ｐ１と、第２の画像ｐ２との各データが類似しているか否かを判定する。
【００１３】
第１の画像ｐ１には、画像の左側に配置されるオブジェクトｏｂ１−１と、画像の中央に配置されるオブジェクトｏｂ２−１と、画像の右側に配置されるオブジェクトｏｂ３−１とがそれぞれ被写体として含まれている。
一方、第２の画像ｐ２には、画像の左側に配置されるオブジェクトｏｂ１−２と、画像の中央に配置されるオブジェクトｏｂ２−２と、画像の右側に配置されるオブジェクトｏｂ３−２とがそれぞれ被写体として含まれている。
【００１４】
第１の画像ｐ１内のオブジェクトｏｂ１−１と、第２の画像ｐ２内のオブジェクトｏｂ１−２とは、同一の筆記具の像である。また、第１の画像ｐ１のオブジェクトｏｂ１−１における特徴点ｃ１−１乃至ｃ４−１の各々と、第２の画像ｐ２のｏｂ１−２における特徴点ｃ１−２乃至ｃ４−２の各々とは対応点であり、これらの対応点の位置が何れも略一致している。このように、第１の画像ｐ１内のオブジェクトｏｂ１−１と、第２の画像ｐ２内のオブジェクトｏｂ１−２とは、画像内の略同一位置に配置されている。
【００１５】
第１の画像ｐ１内のオブジェクトｏｂ３−１と、第２の画像ｐ２内のオブジェクトｏｂ３−２とは、同一の携帯電話の像であることが目視でわかる。また、第１の画像ｐ１のオブジェクトｏｂ３−１における特徴点ｃ７−１及びｃ８−１の各々と、第２の画像ｐ２のｏｂ３−２における特徴点ｃ７−２及びｃ８−２の各々とは対応点であり、これらの対応点の位置が何れも略一致していることが目視でわかる。このように、第１の画像ｐ１内のオブジェクトｏｂ３−１と、第２の画像ｐ２内のオブジェクトｏｂ３−２とは、画像内の略同一位置に配置されていることが目視でわかる。
【００１６】
これに対して、第１の画像ｐ１内のオブジェクトｏｂ２−１と、第２の画像ｐ２内のオブジェクトｏ２３−２とは、同一の腕時計の像であるものの、画像内の配置位置は異なっていることが目視でわかる。即ち、第１の画像ｐ１のオブジェクトｏｂ２−１における特徴部分ｃ５−１及びｃ６−１の各々と、第２の画像ｐ２のオブジェクトｏｂ２−２における特徴部分ｃ５−２及びｃ６−２の各々とは対応点であるものの、これらの対応点の位置が異なっていることが目視でわかる。具体的には目視では、第１の画像内のオブジェクトｏｂ１−１と、第２の画像内のオブジェクトｏｂ１−２とは、画像内において、ほぼ１８０度回転した位置に配置されていることがわかる。
【００１７】
このように図１の例では、第１の画像ｐ１及び第２の画像ｐ２は、筆記具、携帯電話、及び腕時計といった複数の同一被写体のうち、腕時計のオブジェクトｏｂ２−１及びｏｂ２−２の位置関係が異なるといった構図を有しているものの、類似していることがわかる。
【００１８】
ところが、［背景技術］の欄で上述した従来の技術を用いて、第１の画像ｐ１及び第２の画像ｐ２の各データの類似度が判定された場合には、１８０度回転して位置が異なっているオブジェクトｏｂ２−１及びｏｂ２−２は非類似であると判定され、その結果、第１の画像ｐ１及び第２の画像ｐ２の全体でも非類似と判定されるおそれがある。
即ち、従来の技術では、２枚の画像間で、本来対応点となるべき特徴点同士が、回転角度の相違等の要因で対応点ではないと判定されてしまうために、結果として当該２枚の画像が全体として非類似であると判定されてしまうおそれがある。
【００１９】
そこで、本発明の一実施形態は、画像内のオブジェクトの一部が移動している場合でも、例えば、画像内のオブジェクトの一部が回転している場合でも、同一のオブジェクトとして判定できるように、次のような一連の処理を実現可能な手法である。
即ち、本実施形態では、複数の画像の各々から、類似する画素領域を夫々特定する。ここで、画素領域とは、１以上の画素からなる領域をいう。即ち、１つの画素、例えば特徴点（画素）も画素領域の一例である。装置は、特定された画素領域同士の距離を夫々算出する。装置は、夫々算出された距離が閾値以下か否かを判定し、閾値以下と判定された距離に対応する画素領域同士に基づいて、複数の画像全体が類似しているか否かを判定する。ここで、閾値は、特定された画素領域同士の距離の夫々に基づいて設定される。このような一連の処理を、以下、「画像類似判定処理」と呼ぶ。即ち、画像類似判定処理を実現可能な手法が、本発明の実施形態である。
このような本発明の手法を画像処理装置に適用することで、画像の類似度を高精度で判定することができるようになる。以下、このような本発明の手法が適用された画像処理装置の一実施の形態について、図２以降の図面を参照して説明する。
【００２０】
図２は、本発明の一実施形態に係る画像処理装置のハードウェアの構成を示すブロック図である。
画像処理装置１は、例えばパーソナルコンピュータとして構成される。
【００２１】
画像処理装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、画像処理部１４と、バス１５と、入出力インターフェース１６と、入力部１７と、出力部１８と、記憶部１９と、通信部２０と、ドライブ２１と、を備えている。
【００２２】
ＣＰＵ１１は、ＲＯＭ１２に記録されているプログラム、又は、記憶部１９からＲＡＭ１３にロードされたプログラムに従って各種の処理を実行する。
【００２３】
ＲＡＭ１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【００２４】
画像処理部１４は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、ＶＲＡＭ（Ｖｉｄｅｏ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されており、ＣＰＵ１１と協働して、画像のデータに対して各種画像処理を施す。
【００２５】
ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３及び画像処理部１４は、バス１５を介して相互に接続されている。このバス１５にはまた、入出力インターフェース１６も接続されている。入出力インターフェース１６には、入力部１７、出力部１８、記憶部１９、通信部２０及びドライブ２１が接続されている。
【００２６】
入力部１７は、マウスやキーボード等で構成され、ユーザの指示操作に応じて各種情報を入力する。
出力部１８は、ディスプレイやスピーカ等で構成され、画像や音声を出力する。
記憶部１９は、ハードディスク或いはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種画像のデータを記憶する。
通信部２０は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【００２７】
ドライブ２１には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア３１が適宜装着される。ドライブ２１によってリムーバブルメディア３１から読み出されたプログラムは、必要に応じて記憶部１９にインストールされる。また、リムーバブルメディア３１は、記憶部１９に記憶されている画像のデータ等の各種データも、記憶部１９と同様に記憶することができる。
【００２８】
次に、このような画像処理装置１の機能的構成のうち、上述した画像類似判定処理を実行するための機能的構成について図３を用いて説明する。
図３は、図２の画像処理装置１の機能的構成のうち、画像類似判定処理を実行するための機能的構成を示す機能ブロック図である。
【００２９】
画像処理装置１が画像類似判定処理を実行する場合には、図３に示すように、画像処理部１４において、ペア画像取得部４１と、特徴量抽出部４２と、類似度算出部４３と、類似画像判定部４４と、が機能する。また、ＣＰＵ１１において、出力制御部５１が機能する。
ただし、図３は例示であり、画像処理部１４の機能の一部をＣＰＵ１１に委譲してもよいし、逆に、ＣＰＵ１１の機能の一部を画像処理部１４に委譲してもよい。
また、画像処理装置１の記憶部１９の一領域として、画像データ記憶部６１が設けられている。なお、画像データ記憶部６１が記憶部１９の一領域として設けられていることは例示であって、その他例えばリムーバブルメディア３１の一領域として設けられるようにしてもよい。
【００３０】
画像データ記憶部６１には、例えば、類似画像判定処理に用いられる複数の画像のデータが記憶される。
【００３１】
ペア画像取得部４１は、類似度の判定対象となる２つの画像（以下、ペア画像という）の各々データを画像データ記憶部６１から取得して、特徴量抽出部４２に供給する。
【００３２】
特徴量抽出部４２は、ペア画像取得部４１により取得されたペア画像のデータについて、ペア画像の各々に含まれる複数の特徴点を抽出し、当該ペア画像間の対応点を探索する。次に、特徴量抽出部４２は、対応点ペア間の距離に基づいて、カウント対象となる対応点ペアと、カウント対象外となる対応点ペアとを分類し、カウント対象となる対応点ペアの数を特徴量として出力する。
なお、特徴量抽出部４２のさらなる詳細については、図４を用いて後述する。
【００３３】
類似度算出部４３は、特徴量抽出部４２から出力された特徴量に基づいて、ペア画像の類似度を算出する。
具体的には本実施形態では、類似度算出部４３は、特徴量を重み付け係数で重み付けすることにより、ペア画像の類似度を算出する。ここで、重み付け係数は、特に限定されないが、本実施形態では、ａｄａｂｏｏｓｔ（Ａｄａｐｔｉｖｅ  Ｂｏｏｓｔｉｎｇ）等の機械学習のアルゴリズムを用いて予め算出された値が採用される。
【００３４】
類似画像判定部４４は、類似度算出部４３により算出された類似度に基づいて、ペア画像が類似しているか否かの判定（類似判定）し、その結果（以下、「類似判定結果」と呼ぶ）を記憶部１９に記憶させる。
【００３５】
出力制御部５１は、ペア画像の類似判定結果やペア画像のデータを出力部１８に出力する制御を実行する。
【００３６】
さらに以下、画像処理装置１の機能的構成のうち、特徴量抽出部４２の機能的構成の詳細について説明する。
図４は、図２の画像処理装置１のうち特徴量抽出部４２の機能的構成の詳細を示す機能ブロック図である。
【００３７】
画像処理装置１が画像類似判定処理を実行する場合には、画像処理部１４の特徴量抽出部４２において、図４に示すように、特徴点抽出部８１と、対応点探索部８２と、ベクトル算出部８３と、閾値設定部８４と、カウント部８５と、対応点判定部８６と、特徴量出力部８７と、が機能する。
【００３８】
また、画像処理装置１の記憶部１９の一領域として、画像情報データ記憶部６２が設けられている。なお、画像情報データ記憶部６２が記憶部１９の一領域として設けられていることは例示であって、その他例えばリムーバブルメディア３１の一領域として設けられるようにしてもよい。
【００３９】
画像情報データ記憶部６２には、例えば、特徴量抽出処理に用いられる後述するベクトルの値、特徴点のカウント数、特徴量等の各種画像情報のデータが記憶される。
【００４０】
特徴点抽出部８１は、ペア画像取得部４１により取得されたペア画像の各データについて、ペア画像に含まれる特徴点をそれぞれ抽出する。
特徴点抽出部８１による特徴点の抽出の手法は、特に限定されず、公知の又は今後登場するであろう任意の手法を採用することができる。ただし、本実施形態では、ＳＵＲＦ（Ｓｐｅｅｄｅｄ−Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）処理による特徴点の抽出の手法が採用されている。
【００４１】
対応点探索部８２は、特徴点抽出部８１により抽出された複数の特徴点の中から、ペア画像間の対応点同士（以下、「対応点ペア」と呼ぶ）を探索する。
【００４２】
ベクトル算出部８３は、対応点探索部８２により探索された対応点ペアのうち、ペア画像間で共通する座標空間における一方の対応点の座標を始点とし、他方の対応点の座標を終点とするベクトルの長さに基づく値、即ち対応点ペア間の距離を表す値（以下、単に「ベクトルの値」と呼ぶ）を算出する。
ベクトル値の算出の手法は、特に限定されず、公知の又は今後登場するであろう任意の手法を採用することができる。ただし、本実施形態では、二乗和により算出するユークリッド距離を用いる手法が採用されている。
また、ベクトル算出部８３は、算出したベクトルの値を画像情報データ記憶部６２に記憶させる。
【００４３】
閾値設定部８４は、ベクトル算出部８３により算出された全ての対応点ペアについてのベクトルの値に基づいて、異常な距離（対応点間の距離とはいえないという意）の指標（判断基準）となるベクトルの値を求め、当該ベクトルの値を閾値として設定する。
本実施形態においては、閾値設定部８４は、全対応点ペアの各々のベクトルの値のうち中央値（メディアン値）を求め、当該中央値に一定数αを加算又は乗算した値を、閾値として設定する。
【００４４】
カウント部８５は、ベクトル算出部８３により算出された全ての対応点ペアのうち、カウント対象となる対応点ペアの総数をカウントする。カウント部８５は、カウントの値を画像情報データ記憶部６２に記憶させる。
【００４５】
対応点判定部８６は、ベクトル算出部８３により算出された全ての対応点ペアのそれぞれについて、カウント対象となる対応点ペアであるのか、それとも、カウント対象外となる対応点ペアであるのかを判定する。なお、カウント対象となる対応点ペアを、以下、「インライヤ」と呼ぶ。一方、カウント対象とならない対応点ペアを、以下、「アウトライヤ」と呼ぶ。
具体的には、対応点判定部８６は、判定対象となる対応点ペアについてのベクトルの値（対応点ペア間の距離を示す値）が、閾値以下の場合にはインライヤと判定して、閾値を超えている場合にはアウトライヤと判定する。
【００４６】
特徴量出力部８７は、ベクトル算出部８３により算出された全ての対応点ペアに対して対応点判定部８６による判定が終了して、カウント部８５によるカウントが終了すると、当該カウント部８５のカウント値を、特徴量として出力する。
【００４７】
次に、本実施形態における画像処理装置１が実行する画像類似判定処理の流れについて図５を用いて説明する。
図５は、図３の機能的構成を有する図２の画像処理装置１が実行する画像類似判定処理の流れを説明するフローチャートである。
【００４８】
画像処理装置１の入力部１７を操作するユーザは、画像類似判定処理の開始を指示する所定の操作をすることができる。
画像類似判定処理は、このようなユーザによる所定の操作を契機として開始され、次のような処理が実行される。
【００４９】
ステップＳ１において、ペア画像取得部４１は、ペア画像のデータを画像データ記憶部６１から取得する。
【００５０】
ステップＳ２において、特徴量抽出部４２は、ステップＳ１の処理で取得されたペア画像のデータについての特徴量を出力する。
このようなステップＳ２における特徴量抽出部４２の処理を、以下、「特徴量抽出処理」と呼ぶ。特徴量抽出処理の詳細については、図６を参照して後述する。
【００５１】
ステップＳ３において、類似度算出部４３は、ステップＳ２の特徴量抽出処理により出力された特徴量を、ａｄａｂｏｏｓｔにより算出した重み付け係数で重み付けすることにより、ステップＳ１の処理で取得されたペア画像のデータについての類似度を算出する。
【００５２】
ステップＳ４において、類似画像判定部４４は、ステップＳ３の処理で算出された類似度が、所定の閾値よりも大きいか否かを判定する。
類似度が閾値を超えている場合には、ステップＳ４においてＹＥＳであると判定されて、処理はステップＳ５に進む。
【００５３】
ステップＳ５において、類似画像判定部４４は、ペア画像同士が類似画像であると判定する。この処理が終了すると、処理はステップＳ７に進む。ただし、ステップＳ７の処理については後述する。
【００５４】
これに対して、ステップＳ３の処理で算出された類似度が閾値以下の場合には、ステップＳ４においてＮＯであると判定されて、処理はステップＳ６に進む。
【００５５】
ステップＳ６において、類似画像判定部４４は、ペア画像同士が類似画像でない（非類似画像である）と判定する。この処理が終了すると、処理はステップＳ７に進む。
【００５６】
ステップＳ７において、出力部１８は、出力制御部５１により、ペア画像のデータと共に、ステップＳ５又はステップＳ６の処理結果、即ち類似度の判定結果を出力部１８から出力させる。判定結果の出力形態は特に限定されないが、本実施形態では、出力部１８のうち表示部に、ペア画像と共に、判定結果を示すメッセージ画像等が表示される。
これにより、画像類似判定処理は終了する。
【００５７】
次に、このような画像類似判定処理のうち、ステップＳ２の特徴量抽出処理の詳細な流れについて、図６を用いて説明する。
図６は、図５の画像類似判定処理のうち、ステップＳ２の特徴量抽出処理の詳細な流れを示すフローチャートである。
【００５８】
ステップＳ３１において、特徴点抽出部８１は、ペア画像のデータについて、当該ペア画像に含まれる特徴点を抽出する。
【００５９】
ステップＳ３２において、対応点探索部８２は、ステップＳ３１の処理で抽出された特徴点に基づいて、ペア画像間の対応点を探索する。
【００６０】
ステップＳ３３において、ベクトル算出部８３は、ステップＳ３２の処理で探索された全ての対応点ペアの各々を処理対象に順次設定し、処理対象の対応点ペアの画像間の距離から、当該処理対象の対応点ペアのベクトルの値（対応点ペア間のユークリッド距離を示す値）を算出する。
【００６１】
ステップＳ３４において、閾値設定部８４は、ステップＳ３３の処理により算出された、全ての対応点ペアについてのベクトルの値に基づいて、閾値を設定する。
【００６２】
ステップＳ３５において、カウント部８５は、インライヤカウント値ｉを「０」に設定（ｉ＝０）する。インライヤカウント値ｉとは、カウント部８５によりカウントされる値をいう。
【００６３】
ステップＳ３６において、対応点判定部８６は、ステップＳ３２の処理で探索された全ての対応点ペアのうち所定の１つを、処理対象の対応点ペアとして設定する。
【００６４】
ステップＳ３７において、対応点判定部８６は、処理対象の対応点ペアのベクトルの値が閾値以下であるか否かを判定する。
ベクトルの値が閾値以下である場合には、ステップＳ３７においてＹＥＳであると判定されて、処理はステップＳ３８に進む。
【００６５】
ステップＳ３８において、対応点判定部８６は、処理対象の対応点ペアをインライヤであると判定する。
【００６６】
ステップＳ３９において、カウント部８５は、インライヤカウント値ｉを「１」だけインクリメントする（ｉ＝ｉ＋１）。この処理が終了すると、処理はステップＳ４２に進む。ただし、ステップＳ４２以降の処理については後述する。
【００６７】
一方、処理対象の対応点ペアのベクトルの値が閾値を超えている場合には、ステップＳ３７においてＮＯであると判定されて、処理はステップＳ４０に進む。
【００６８】
ステップＳ４０において、対応点判定部８６は、処理対象の対応点ペアをアウトライヤであると判定する。
【００６９】
ステップＳ４１において、対応点判定部８６は、アウトライヤを除外する。即ち、アウトライヤと判定された処理対象の対応点ペアについては、カウント対象から除外される。この処理が終了すると、処理はステップＳ４２に進む。
【００７０】
ステップＳ４２において、対応点判定部８６は、全ての対応点ペアが処理対象に設定されたか否かを判断する。
全ての対応点ペアがまだ処理対象に設定されていない場合には、ステップＳ４２においてＮＯであると判断されて、処理はステップＳ３６に戻される。その後、全ての対応点ペアが処理対象に設定されるまで、ステップＳ３６乃至ステップＳ４２のループ処理が繰り返され、処理対象の対象点ペアが、インライヤである場合にはインライヤカウント値ｉが「１」だけインクリメントし（ｉ＝ｉ＋１）、アウトライヤである場合にはカウント対象から除外される。
そして、全ての対応点ペアが処理対象に設定された場合には、ステップＳ４２においてＹＥＳであると判断されて、処理はステップＳ４３に進む。
【００７１】
ステップＳ４３において、特徴量出力部８７は、インライヤカウント値ｉを特徴点として出力する。その後、特徴点抽出処理は終了して、処理はステップＳ３に戻る。
【００７２】
以上説明したように、画像処理装置１は、ペア画像取得部４１と、対応点探索部８２と、ベクトル算出部８３と、閾値設定部８４と、類似画像判定部４４と、を備える。
ペア画像取得部４１は、判定を行う複数の画像であるペア画像（複数の画像の一例であるペア画像）を取得する。
対応点探索部８２は、ペア画像取得部４１により取得された複数の画像のデータについて、類似する複数の画素領域を夫々特定する。
ベクトル算出部８３は、対応点探索部８２により特定された画像領域同士の距離を夫々算出する。
閾値設定部８４は、ベクトル算出部８３により夫々算出された距離に基づいて、閾値を設定する。
類似画像判定部４４は、ベクトル算出部８３により夫々算出された距離のうち、閾値設定部８４により設定された閾値以下の距離に対応する画素領域同士に基づいて、ペア画像取得部４１により取得された複数の画像のデータが類似するか否かを判定する。
【００７３】
従って、画像処理装置１は、ベクトル算出部８３により夫々算出された距離のうち、閾値設定部８４により設定された閾値以下の距離に対応する画素領域同士に基づいて、ペア画像取得部４１により取得された複数の画像のデータが類似するか否かを判定する。このため、画像処理装置１では、画像内のオブジェクトの一部が移動している場合（例えば、画像内のオブジェクトの一部が回転している場合）でも、類似しているものと判定することができる。よって、画像処理装置１は、共通する被写体を含む画像の類似判定の精度向上を図ることができる。
【００７４】
画像処理装置１は、ベクトル算出部８３により夫々算出されて距離が閾値設定部８４により設定された閾値以下か否かを判定する対応点判定部８６を更に備える。
類似画像判定部４４は、対応点判定部８６により閾値以下と判定された距離に対応する画素領域同士に基づいて、ペア画像取得部４１により取得された複数の画像のデータが類似するか否かを判定する。このため、画像処理装置１は、より精度の高い類似の判定を行うことができる。
【００７５】
また、類似画像判定部４４は、ベクトル算出部８３により夫々算出された距離のうち、閾値設定部８４により閾値を超えていると判定された距離に対応する画素領域同士は判定対象から除外して、複数の画像のデータが類似するか否かを判定する。このため、画像処理装置１は、画像内のオブジェクトの一部が移動している場合（例えば、画像内のオブジェクトの一部が回転している場合）でも、類似しているものと判定することができる。
【００７６】
また、閾値設定部８４は、ベクトル算出部８３により夫々算出された距離の中央値、平均値、最頻値の何れかに基づいて、閾値を設定する。これにより、画像処理装置１は、異常な値を判定することができる。
【００７７】
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【００７８】
上述の実施形態においては、処理速度や処理負担を考慮してＳＵＲＦ処理により、特徴点の抽出を実行したが、抽出精度の向上を優先させる場合には、ＳＩＦＴ処理により特徴点の抽出を実行するように構成してもよい。
【００７９】
また、上述の実施形態では、画素間の空間の距離を、ユークリッド距離を用いて算出していたがこれに限られず、例えば、絶対値の和により算出するマンハッタン距離による算出方法により算出してもよい。
【００８０】
また、上述の実施形態においては、全対応点ペアの距離の中央値に一定数のαを足したものを閾値として用いたがこれに限られず、例えば、中央値の代わりに、平均値や最頻値を用いるように構成してもよい。
【００８１】
また、上述の実施形態では、本発明が適用される画像処理装置１は、デジタルカメラを例として説明したが、特にこれに限定されない。
例えば、本発明は、画像類似判定処理機能を有する電子機器一般に適用することができる。具体的には、例えば、本発明は、ノート型のパーソナルコンピュータ、プリンタ、テレビジョン受像機、ビデオカメラ、携帯型ナビゲーション装置、携帯電話機、ポータブルゲーム機等に適用可能である。
【００８２】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図３及び図４の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が画像処理装置１に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図３及び図４の例に限定されない。
また、１つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
【００８３】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【００８４】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図２のリムーバブルメディア３１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア３１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図２のＲＯＭ１２や、図２の記憶部１９に含まれるハードディスク等で構成される。
【００８５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段などより構成される全体的な装置を意味するものとする。
【００８６】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８７】
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［付記１］
複数の画像のデータを取得する取得手段と、
前記取得手段により取得された複数の画像のデータについて、類似する複数の画素領域を夫々特定する特定手段と、
前記特定手段により特定された画素領域同士の距離を夫々算出する距離算出手段と、
前記距離算出手段により夫々算出された距離に基づいて、閾値を設定する閾値設定手段と、
前記距離算出手段により夫々算出された距離のうち、前記閾値設定手段により設定された閾値以下の距離に対応する画素領域同士に基づいて、前記取得手段により取得された前記複数の画像のデータが類似するか否かを判定する類似判定手段と、
を備えたことを特徴とする画像処理装置。
［付記２］
前記距離算出手段により夫々算出されて距離が前記閾値設定手段により設定された閾値以下か否かを判定する閾値判定手段を更に備え、
前記類似判定手段は、前記閾値判定手段により閾値以下と判定された距離に対応する画素領域同士に基づいて、前記取得手段により取得された前記複数の画像のデータが類似するか否かを判定する、
ことを特徴とする付記１記載の画像処理装置。
［付記３］
前記類似判定手段は、前記距離算出手段により夫々算出された距離のうち、前記閾値判定手段により閾値を超えていると判定された距離に対応する画素領域同士は判定の対象から除外して、前記複数の画像のデータが類似するか否かを判定する、
ことを特徴とする付記２に記載の画像処理装置。
［付記４］
前記閾値設定手段は、前記距離算出手段により夫々算出された距離の中央値、平均値、最頻値の何れかに基づいて、前記閾値を設定する、
ことを特徴とする付記１乃至３の何れか１つに記載の画像処理装置。
［付記５］
画像処理装置が実行する画像処理方法であって、
複数の画像を取得する取得ステップと、
前記取得ステップにより取得された複数の画像間から、類似する複数の画素領域を夫々特定する特定ステップと、
前記特定ステップにより特定された画像領域同士の距離を夫々算出する距離算出ステップと、
前記距離算出ステップにより夫々算出された距離に基づいて、閾値を設定する閾値設定ステップと、
前記距離算出ステップにより夫々算出された距離のうち、前記閾値設定ステップにより設定された閾値以下の距離に対応する画素領域同士が類似するか否かを判定する類似判定ステップと、
を含むことを特徴とする画像処理方法。
［付記６］
コンピュータを、
複数の画像を取得する取得手段と、
前記取得手段により取得された複数の画像間から、類似する複数の画素領域を夫々特定する特定手段、
前記特定手段により特定された画像領域同士の距離を夫々算出する距離算出手段、
前記距離算出手段により夫々算出された距離に基づいて、閾値を設定する閾値設定手段、
前記距離算出手段により夫々算出された距離のうち、前記閾値設定手段により設定された閾値以下の距離に対応する画素領域同士が類似するか否かを判定する類似判定手段、
として手段させることを特徴とするプログラム。
【符号の説明】
【００８８】
１・・・画像処理装置，１１・・・ＣＰＵ，１２・・・ＲＯＭ，１１・・・ＲＡＭ，１４・・・画像処理部，１５・・・バス，１６・・・入出力インターフェース，１７・・・入力部，１８・・・出力部，１９・・・記憶部，２０・・・通信部，２１・・・ドライブ，３１・・・リムーバブルメディア，４１・・・ペア画像取得部，４２・・・特徴量抽出部，４３・・・類似度算出部，４４・・・類似画像判定部，５１・・・出力制御部，６１・・・画像データ記憶部，６２・・・画像情報データ記憶部，８１・・・特徴点抽出部，８２・・・対応点探索部，８３・・・ベクトル算出部，８４・・・閾値設定部，８５・・・カウント部，８６・・・対応点判定部，８７・・・類似度出力部
【図１】
0005780127.tif 000002
【図２】
0005780127.tif 000003
【図３】
0005780127.tif 000004
【図４】
0005780127.tif 000005
【図５】
0005780127.tif 000006
【図６】
0005780127.tif 000007