(57)【特許請求の範囲】
【請求項１】
画素ペアが複数設定された特徴領域をそれぞれ複数有する第１の画像および第２の画像と、前記画素ペアを第１群と第２群とに分類するための分類情報とを記憶する記憶部と、
前記第１の画像および前記第２の画像に設定された前記画素ペアのそれぞれについて、画素間の輝度差と第１の閾値との比較に基づく第１の特徴量と、前記輝度差の絶対値と第２の閾値との比較に基づく第２の特徴量とを算出する演算部と、
前記第１の画像が有する第１の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる画素ペア群の特徴量と、前記第２の画像が有する第２の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる画素ペア群の特徴量との間の第１の距離を、前記第１の特徴量と前記第２の特徴量とに基づいて算出し、前記第１の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群の特徴量と、前記第２の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群の特徴量との間の第２の距離を、前記第１の特徴量に基づいて算出し、前記第１の距離と前記第２の距離とに基づいて前記第１の特徴領域と前記第２の特徴領域との類似度を判定する判定部と、
を有する画像処理システム。
【請求項２】
前記分類情報は、前記画素ペアの各画素の位置関係に基づいて作成される、
請求項１記載の画像処理システム。
【請求項３】
前記位置関係として、前記画素ペアの各画素の距離が算出される、
請求項２記載の画像処理システム。
【請求項４】
前記位置関係として、前記画素ペアの各画素を結ぶ直線の勾配が算出される、
請求項２記載の画像処理システム。
【請求項５】
前記第１の画像と前記第２の画像とを含む複数のサンプル画像に設定された前記画素ペアそれぞれについての前記輝度差の統計情報に基づいて、前記分類情報を作成する作成部をさらに有する、
請求項１記載の画像処理システム。
【請求項６】
前記作成部は、前記統計情報として、前記複数のサンプル画像に設定された前記画素ペアそれぞれについての前記輝度差の分散を算出する、
請求項５記載の画像処理システム。
【請求項７】
前記作成部は、前記統計情報として、前記複数のサンプル画像に設定された前記画素ペアそれぞれについての前記輝度差のヒストグラムの尖度を算出する、
請求項５記載の画像処理システム。
【請求項８】
前記第１の距離の算出処理は、前記第１の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる第１の画素ペアについての前記第２の特徴量と、前記第２の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる第２の画素ペアについての前記第２の特徴量とに基づいて、前記第１の画素ペアおよび前記第２の画素ペアのそれぞれについての前記第１の特徴量の間の距離と、前記第１の画素ペアおよび前記第２の画素ペアのそれぞれについての前記第２の特徴量の間の距離とを選択的に出力する処理を含み、
前記第２の距離は、前記第１の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群についての前記第１の特徴量と、前記第２の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群についての前記第１の特徴量との距離として算出される、
請求項１乃至７のいずれか１項に記載の画像処理システム。
【請求項９】
前記演算部は、前記輝度差と、０を挟んで設定された設定範囲との比較に基づいて、前記第１の特徴量を示すビット値を決定する、
請求項１乃至８のいずれか１項に記載の画像処理システム。
【請求項１０】
コンピュータが、
画素ペアが複数設定された特徴領域をそれぞれ複数有する第１の画像および第２の画像の入力を受け付け、
前記第１の画像および前記第２の画像に設定された前記画素ペアのそれぞれについて、画素間の輝度差と第１の閾値との比較に基づく第１の特徴量と、前記輝度差の絶対値と第２の閾値との比較に基づく第２の特徴量とを算出し、
前記画素ペアを第１群と第２群とに分類するための分類情報に基づき、前記第１の画像が有する第１の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる画素ペア群の特徴量と、前記第２の画像が有する第２の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる画素ペア群の特徴量との間の第１の距離を、前記第１の特徴量と前記第２の特徴量とに基づいて算出するとともに、前記第１の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群の特徴量と、前記第２の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群の特徴量との間の第２の距離を、前記第１の特徴量に基づいて算出し、
前記第１の距離と前記第２の距離とに基づいて前記第１の特徴領域と前記第２の特徴領域との類似度を判定する、
画像類似判定方法。
【請求項１１】
コンピュータに、
画素ペアが複数設定された特徴領域をそれぞれ複数有する第１の画像および第２の画像の入力を受け付け、
前記第１の画像および前記第２の画像に設定された前記画素ペアのそれぞれについて、画素間の輝度差と第１の閾値との比較に基づく第１の特徴量と、前記輝度差の絶対値と第２の閾値との比較に基づく第２の特徴量とを算出し、
前記画素ペアを第１群と第２群とに分類するための分類情報に基づき、前記第１の画像が有する第１の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる画素ペア群の特徴量と、前記第２の画像が有する第２の特徴領域に設定された前記画素ペアのうち前記第１群に含まれる画素ペア群の特徴量との間の第１の距離を、前記第１の特徴量と前記第２の特徴量とに基づいて算出するとともに、前記第１の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群の特徴量と、前記第２の特徴領域に設定された前記画素ペアのうち前記第２群に含まれる画素ペア群の特徴量との間の第２の距離を、前記第１の特徴量に基づいて算出し、
前記第１の距離と前記第２の距離とに基づいて前記第１の特徴領域と前記第２の特徴領域との類似度を判定する、
処理を実行させる画像類似判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像類似判定方法および画像類似判定プログラムに関する。
【背景技術】
【０００２】
近年、様々な分野で画像のマッチング技術が広く利用されている。画像同士のマッチング方法の例として、第１画像の特徴点における局所特徴量と、第２画像の特徴点における局所特徴量とを比較して、第１画像の特徴点に対応する第２画像の特徴点（以下、「対応点」と呼ぶ）を探索する手法が利用される。探索により発見された対応点の集合を統計処理することで、第２画像における第１画像の存在や第１画像の位置を認識できる。
【０００３】
また、上記のような対応点の探索に利用される局所特徴量をバイナリコードで表す方法がある。その代表例として、ＢＲＩＥＦ（Binary Robust Independent Elementary Features）がある。ＢＲＩＥＦは、特徴点の周囲に設定された複数の画素ペアのそれぞれについて計算された画素間の輝度差に基づく局所特徴量で表現される。具体的には、輝度差の符号（正負）に対応するビット値の集合が局所特徴量として利用される。このように局所特徴量をバイナリコードで表す方法では、ハミング距離による高速な計算によって特徴点同士の類似度を算出できるというメリットがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−３６９０６号公報
【非特許文献】
【０００５】
【非特許文献１】M. Calonder, V. Lepetit, C. Strecha, and P. Fua., “BRIEF: Binary Robust Independent Elementary Features”, In Proceedings of the European Conference on Computer Vision (ECCV), 2010
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、特徴量を示すバイナリコードの各ビットを画素ペアの輝度差の符号に基づいて算出する方法では、次のような問題がある。例えば画像内の背景領域や単色の壁など、画像内の平坦な領域に画素ペアが存在する場合、画素間の輝度値は互いに近い値になり、輝度差は０に近くなる。このような平坦な領域の画素ペアについての輝度差の符号は、その領域が同じ物体の同じ位置を写した領域であるとしても、撮影時の光源の状態や、ノイズ、写された位置の微妙なズレなどによって反転しやすい。そのため、このような領域から算出された局所特徴量を用いて第１画像の特徴点に対応する第２画像の対応点を探索すると、正しい対応点の探索に失敗する可能性が高くなる。このような探索の失敗は、画像認識精度を低下させる原因となる。
【０００７】
このような問題を解決する方法の例としては、異なる方法で算出した複数種類の特徴量を用い、それらの特徴量の組合せに基づいて特徴点間の類似度を判定する方法が考えられる。しかし、このように複数種類の特徴量を用いることで対応点の探索にかかる時間が長くなり、その結果、画像認識に長い時間がかかってしまうという問題がある。
【０００８】
１つの側面では、本発明は、画像の類似判定にかかる時間を短縮可能な画像処理システム、画像類似判定方法および画像類似判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、画像処理システムが提供される。画像処理システムは、記憶部、演算部および判定部を有する。記憶部は、画素ペアが複数設定された特徴領域をそれぞれ複数有する第１の画像および第２の画像と、画素ペアを第１群と第２群とに分類するための分類情報とを記憶する。演算部は、第１の画像および第２の画像に設定された画素ペアのそれぞれについて、画素間の輝度差と第１の閾値との比較に基づく第１の特徴量と、輝度差の絶対値と第２の閾値との比較に基づく第２の特徴量とを算出する。判定部は、第１の画像が有する第１の特徴領域に設定された画素ペアのうち第１群に含まれる画素ペア群の特徴量と、第２の画像が有する第２の特徴領域に設定された画素ペアのうち第１群に含まれる画素ペア群の特徴量との間の第１の距離を、第１の特徴量と第２の特徴量とに基づいて算出し、第１の特徴領域に設定された画素ペアのうち第２群に含まれる画素ペア群の特徴量と、第２の特徴領域に設定された画素ペアのうち第２群に含まれる画素ペア群の特徴量との間の第２の距離を、第１の特徴量に基づいて算出し、第１の距離と第２の距離とに基づいて第１の特徴領域と第２の特徴領域との類似度を判定する。
【００１０】
また、１つの案では、上記の画像処理システムに基づく処理と同様の処理を実行する画像類似判定方法が提供される。
さらに、１つの案では、上記の画像処理システムに基づく処理と同様の処理をコンピュータに実行させる画像類似判定プログラムが提供される。
【発明の効果】
【００１１】
１つの側面では、画像の類似判定にかかる時間を短縮できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る画像処理システムの構成例および処理例を示す図である。
【図２】第２の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。
【図３】画像処理装置が備える処理機能の構成例を示すブロック図である。
【図４】画素ペア管理テーブルの構成例を示す図である。
【図５】比較例として、ＢＲＩＥＦを算出する処理の例を示す図である。
【図６】輝度差特徴量を算出する処理の例を示す図である。
【図７】絶対値特徴量を算出する処理の例を示す図である。
【図８】特徴点ごとに算出された輝度差特徴量および絶対値特徴量の例を示す図である。
【図９】特徴量管理テーブルの構成例を示す図である。
【図１０】特徴量算出部の動作を示すフローチャートである。
【図１１】対応点の探索例を示す図である。
【図１２】特徴領域での画素ペアの例を示す図である。
【図１３】画素ペアの輝度差のヒストグラムの例を示す図である。
【図１４】閾値を動的に設定する例を示す図である。
【図１５】輝度差特徴量に基づく距離計算の例を示す図である。
【図１６】絶対値特徴量と輝度差特徴量の組合せによる距離計算の内容を模式的に示す図である。
【図１７】絶対値特徴量と輝度差特徴量の組合せによる距離計算について説明するための図である。
【図１８】絶対値特徴量と輝度差特徴量の組合せに基づく距離計算の論理の流れを示す図である。
【図１９】輝度差のヒストグラムを示す図である。
【図２０】輝度差のヒストグラムを示す図である。
【図２１】有効度決定の第１の処理例を示すフローチャートである。
【図２２】有効度決定の第２の処理例を示すフローチャートである。
【図２３】有効度決定の第３の処理例を示すフローチャートである。
【図２４】有効度決定の第４の処理例を示すフローチャートである。
【図２５】距離計算を説明するための図である。
【図２６】投票処理を説明するための図である。
【図２７】投票結果に基づく類似画像の判定処理について説明するための図である。
【図２８】画像認識処理の例を示すフローチャートである。
【図２９】対応点の探索処理の例を示すフローチャートである。
【図３０】第３の実施の形態に係る画像処理システムの構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係る画像処理システムの構成例および処理例を示す図である。図１に示す画像処理システム１−１は、記憶部１ａ、演算部１ｂおよび判定部１ｃを有する。記憶部１ａは、例えば、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disk Drive）などの記憶装置として実現される。演算部１ｂおよび判定部１ｃは、例えば、プロセッサとして実現される。
【００１４】
記憶部１ａは、画像１０ａ、１０ｂを記憶する。画像１０ａ、１０ｂは、それぞれ特徴領域を複数有する。図１では、画像１０ａが有する特徴領域１０ａ−１と、画像１０ｂが有する特徴領域１０ｂ−１とを例示している。画像１０ａ、１０ｂに設定される特徴領域には、複数の画素ペアが共通に設定されている。例えば、特徴領域には、画素ペア１１ａ〜１１ｄが設定されている。
【００１５】
また、記憶部１ａはさらに、画素ペアを第１群と第２群とに分類するための分類情報を記憶する。この分類は、後述する第１の特徴量および第２の特徴量に基づく距離計算に対する画素ペアの有効度に応じて行われる。ここでは例として、有効度の高いｎ組の画素ペアが第１群に分類され、それ以外の画素ペアが第２群に分類されるものとする。
【００１６】
図１では、分類情報の例として有効度そのものが記憶部１ａに記憶されている。図１では一例として、各画素ペアの第１画素および第２画素の各座標が登録された画素ペア管理テーブル１２に、有効度が登録されている。また、画素ペア管理テーブル１２では、有効度の高い順に画素ペアが登録されているものとする。図１の例では、画素ペア１１ａ〜１１ｄの有効度はそれぞれｄ１〜ｄ４であり、ｄ１＞ｄ２＞ｄ３＞ｄ４であるとする。そして、例としてｎ＝３とされ、画素ペア１１ａ〜１１ｃが第１群に分類され、画素ペア１１ｄが第２群に分類されるものとする。
【００１７】
演算部１ｂは、記憶部１ａに記憶された画像１０ａ、１０ｂから特徴量を算出する。特徴量は、画像内の特徴領域ごとに、画素ペアについて算出された画素間の輝度差に基づく特徴量の集合であり、例えば、特徴領域ごとの特徴量を保持するテーブル情報として記憶部１ａに記憶される。
【００１８】
演算部１ｂは、記憶部１ａに記憶された画像１０ａ、１０ｂの特徴領域内の画素ペアについて、画素間の輝度差と第１の閾値との比較に基づく第１の特徴量を算出する。また、演算部１ｂは、記憶部１ａに記憶された画像１０ａ、１０ｂの特徴領域内の画素ペアについて、画素間の輝度差の絶対値と第２の閾値との比較に基づく第２の特徴量を算出する。
【００１９】
例えば、特徴領域１０ａ−１の画素ペア１１ａについては、特徴領域１０ａ−１における第１画素（ｓ１，ｔ１）の輝度と第２画素（ｕ１，ｖ１）の輝度との差分と、第１の閾値との比較に基づいて第１の特徴量が算出される。また、特徴領域１０ａ−１における第１画素（ｓ１，ｔ１）の輝度と第２画素（ｕ１，ｖ１）の輝度との差分の絶対値と、第２の閾値との比較に基づいて第２の特徴量が算出される。なお、第１の閾値としては、０を含む任意の整数が設定される。また、第２の閾値としては、−１以上の任意の整数が設定される。第１の閾値と第２の閾値とが同じ値であってもよい。
【００２０】
画素ペアごとの第１の特徴量および第２の特徴量は、例えばビット値として算出される。ここでは、第１の特徴量は、輝度差が第１の閾値より大きい場合に１に設定され、第１の閾値以下の場合に０に設定されるものとする。また、第２の特徴量は、輝度差の絶対値が第２の閾値より大きい場合に１に設定され、第２の閾値以下の場合に０に設定されるものとする。
【００２１】
演算部１ｂは、このような各特徴量の算出処理を画素ペア管理テーブル１２の上位から順に行って、各画素ペアについての第１の特徴量と第２の特徴量を算出する。その結果、特徴領域ごとの特徴量は、画素ペア数と同じビット数を有するビット列として表される。また、このビット列では、上位ビットほど有効度の高い画素ペアに対応している。図１の例では、特徴領域１０ａ−１についての第１、第２の特徴量として、それぞれビット列１３ａ−１、１３ａ−２が算出されている。また、特徴領域１０ｂ−１についての第１、第２の特徴量として、それぞれビット列１３ｂ−１、１３ｂ−２が算出されている。
【００２２】
判定部１ｃは、画像１０ａの特徴領域についての第１の特徴量および第２の特徴量と、画像１０ｂの特徴領域についての第１の特徴量および第２の特徴量とを用いて、画像１０ｂの中に画像１０ａに類似する領域が含まれるか否かの判定処理を行う。この判定処理には、画像１０ａの特徴領域と画像１０ｂの特徴領域との類似度を判定する処理が含まれる。この類似度の判定精度が向上することにより、画像１０ｂの中に画像１０ａに類似する領域が含まれるか否かの判定が向上する。以下、特徴領域１０ａ−１と特徴領域１０ｂ−１との類似度１５の判定処理について説明する。
【００２３】
判定部１ｃは、特徴領域１０ａ−１に設定された画素ペアのうち第１群に含まれる第１の画素ペア群（画素ペア１１ａ〜１１ｃ）の特徴量と、特徴領域１０ｂ−１に設定された画素ペアのうち第１群に含まれる第２の画素ペア群（画素ペア１１ａ〜１１ｃ）の特徴量との間の距離１４ａを、第１の特徴量および第２の特徴量に基づいて算出する。このとき算出に使用される第１、第２の特徴量は、第１、第２の画素ペア群に対応する特徴量である。図１の例では、距離１４ａは、ビット列１３ａ−１、１３ａ−２、１３ｂ−１、１３ｂ−２のうち、最上位ビットからｎビット目までのビット列に基づいて算出される。
【００２４】
また、判定部１ｃは、特徴領域１０ａ−１に設定された画素ペアのうち第２群に含まれる第３の画素ペア群（画素ペア１１ｄを少なくとも含む）の特徴量と、特徴領域１０ｂ−１に設定された画素ペアのうち第２群に含まれる第４の画素ペア群（画素ペア１１ｄを少なくとも含む）の特徴量との間の距離１４ｂを、第１の特徴量に基づいて算出する。このとき算出に使用される第１の特徴量は、第３、第４の画素ペア群に対応する特徴量である。図１の例では、距離１４ｂは、ビット列１３ａ−１、１３ｂ−１のうち、ｎ−１ビット目から最下位ビットまでのビット列に基づいて算出される。
【００２５】
判定部１ｃは、距離１４ａ、１４ｂに基づいて、特徴領域１０ａ−１と特徴領域１０ｂ−１との類似度１５を判定する。ここで、距離１４ａは、特徴領域１０ａ−１における第１群に含まれる第１の画素ペア群と、特徴領域１０ｂ−１における第１群に含まれる第２の画素ペア群との類似性を表す。距離１４ａが小さいほど類似度が高い。また、距離１４ｂは、特徴領域１０ａ−１における第２群に含まれる第３の画素ペア群と、特徴領域１０ｂ−１における第２群に含まれる第４の画素ペア群との類似性を表す。距離１４ｂが小さいほど類似度が高い。従って、類似度１５は、例えば、距離１４ａと距離１４ｂとの加算値の逆数として求められる。
【００２６】
ここで、第１の特徴量、すなわちビット列１３ａ−１、１３ｂ−１のビット値と、第２の特徴量、すなわちビット列１３ａ−２、１３ｂ−２のビット値との両方に基づく距離計算では、使用される情報量の多さから、第１の特徴量だけに基づく距離計算より類似度の判定精度が高い。その反面、処理負荷が高く、類似度の判定処理にかかる時間は長い。これに対して、判定部１ｃによる上記処理では、特徴領域に設定された画素ペアのうち、第１群に分類された画素ペアについてのみ、画素ペア群間の特徴量の距離計算の際に第２の特徴量が使用される。このように、第１の特徴量と第２の特徴量の両方を用いた距離計算が、限定された画素ペアについてのみ実行されることで、類似度の判定精度を大きく低下させずに処理負荷を軽減し、類似判定処理にかかる時間を短縮することができる。
【００２７】
［第２の実施の形態］
次に、第２の実施の形態として、複数の撮像画像の中から参照画像（以下、「キー画像」と呼ぶ）が選択され、キー画像以外の撮像画像からキー画像と類似するシーンの撮像画像を検索する画像処理装置について説明する。なお、第２の実施の形態では、画像の特徴量としてＢＲＩＥＦをベースとした特徴量を用いるが、例えば、ＯＲＢ（Oriented Fast and Rotated BRIEF）、ＢＲＩＳＫ（Binary Robust Invariant Scalable Keypoints）など、特徴点付近に設定した画素ペア間の輝度差を２値化することで得られる他の種類のバイナリ特徴量をベースとすることもできる。
【００２８】
図２は、第２の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。第２の実施の形態に係る画像処理装置１００は、例えば、図２に示すようなコンピュータとして実現される。
【００２９】
画像処理装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３０】
プロセッサ１０１には、バス１０８を介して、ＲＡＭ１０２と複数の周辺機器が接続されている。
ＲＡＭ１０２は、画像処理装置１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。
【００３１】
バス１０８に接続されている周辺機器としては、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、読み取り装置１０６および通信インタフェース１０７がある。
【００３２】
ＨＤＤ１０３は、画像処理装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００３３】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像を表示装置１０４ａに表示させる。表示装置としては、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどがある。
【００３４】
入力インタフェース１０５には、入力装置１０５ａが接続されている。入力インタフェース１０５は、入力装置１０５ａから出力される信号をプロセッサ１０１に送信する。入力装置１０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３５】
読み取り装置１０６には、可搬型記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０１に送信する。可搬型記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３６】
通信インタフェース１０７は、ネットワーク１０７ａを介して他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、画像処理装置１００の処理機能を実現することができる。
【００３７】
上記の画像処理装置１００の記憶装置（例えば、ＨＤＤ１０３）には、複数の撮像画像のデータが記憶される。これらの撮像画像は、撮像装置によって撮像された画像である。これらの撮像画像のデータは、例えば、可搬型記録媒体１０６ａを用いて画像処理装置１００の記憶装置に格納されてもよいし、あるいは、ネットワーク１０７ａを介して画像処理装置１００の記憶装置に格納されてもよい。
【００３８】
画像処理装置１００では、例えば、写真管理ソフトウェアが実行されることで次のような処理が行われる。ユーザの入力操作により、記憶装置内の複数の撮像画像からキー画像が選択される。すると、画像処理装置１００は、記憶装置内の複数の撮像画像のうちキー画像を除く撮像画像（以下、「対象画像」と呼ぶ）から、キー画像と類似するシーンの撮像画像を抽出する。例えば、キー画像に含まれる対象物と同じ対象物が写っていると推定される対象画像が、キー画像と類似するシーンの撮像画像として抽出される。これにより、ユーザは、例えば、素材として必要な画像を画像処理装置１００内から検索したり、同じイベントの開催時の写真を集めて自動的に整理することができる。従って、ユーザに利便性や娯楽性を提供することができる。
【００３９】
このような画像処理装置１００は、例えば、パーソナルコンピュータ、スマートフォンなどのユーザによって操作される端末装置として実現される。また、画像処理装置１００は、ネットワーク上のサーバ装置として実現されてもよい。この場合、撮像画像のデータは、例えば、ユーザの端末装置からネットワークを介して画像処理装置１００にアップロードされる。
【００４０】
なお、画像処理装置１００の画像検索機能は、上記のような撮像画像の管理の他、例えば、プレゼンテーション資料などの文書コンテンツの管理に利用することもできる。例えば、画像処理装置１００の記憶装置に複数の文書のデータが記憶され、これらの中からキー文書が選択される。画像処理装置１００は、例えば、文書表示時の見た目がキー文書と似ている文を含む文書をその他の文書の中から抽出することもできるし、あるいは、キー文書と同じ画像や表、グラフなどを含む文書をその他の文書の中から抽出することもできる。これにより、文書を探すための作業時間を低減できる。また、過去の文書資産の再利用が推進され、業務の効率化を図ることもできる。
【００４１】
また、画像処理装置１００の画像認識機能は、医療画像管理システムの付加機能として利用することもできる。例えば、複数の時期に撮影されたＣＴ（Computed Tomography）画像や、ＭＲＩ（Magnetic Resonance Imaging）画像上の患部を自動的に位置合わせして、患部の画像の経時変化を判断するために利用できる。
【００４２】
図３は、画像処理装置が備える処理機能の構成例を示すブロック図である。画像処理装置１００は、記憶部１１０、画像取得部１２１、特徴量算出部１２２、画像認識部１２３、有効度決定部１２４および結果出力部１２５を有する。
【００４３】
記憶部１１０は、画像処理装置１００が備える記憶装置（例えば、ＲＡＭ１０２またはＨＤＤ１０３）の記憶領域として実装される。記憶部１１０には、画像データ１１１、画素ペア管理テーブル１１２および特徴量管理テーブル１１３が記憶される。
【００４４】
画像データ１１１は、撮像画像によって撮像された撮像画像のデータを示す。記憶部１１０には、画像データ１１１が複数記憶される。画素ペア管理テーブル１１２には、輝度差特徴量および絶対値特徴量を算出するために利用される画素ペアの座標と、有効度とが登録される。特徴量管理テーブル１１３は、撮像画像ごとに用意される。特徴量管理テーブル１１３には、撮像画像内の特徴点ごとの輝度差特徴量と、絶対値特徴量とが登録される。
【００４５】
画像取得部１２１、特徴量算出部１２２、画像認識部１２３、有効度決定部１２４および結果出力部１２５の処理は、例えば、所定のプログラムがプロセッサ１０１に実行されることによって実現される。
【００４６】
画像取得部１２１は、撮像画像の画像データ１１１を取得して記憶部１１０に格納する。例えば、画像取得部１２１は、撮像画像の画像データ１１１を可搬型記録媒体１０６ａを介して、あるいはネットワーク１０７ａを介して取得する。
【００４７】
特徴量算出部１２２は、画像データ１１１および画素ペア管理テーブル１１２を参照しながら、撮像画像内の各特徴点についての輝度差特徴量および絶対値特徴量を算出し、算出した輝度差特徴量および絶対値特徴量を特徴量管理テーブル１１３に登録する。
【００４８】
画像認識部１２３は、特徴量管理テーブル１１３を参照しながら、キー画像の選択操作を受け付け、選択されたキー画像以外の撮像画像の中からキー画像と類似する類似画像を検索する。後述するように、類似画像の検索処理には、キー画像内の特徴領域の特徴量と対象画像の特徴領域の特徴量との間の距離計算が含まれる。この距離計算としては、輝度差特徴量に基づく距離計算と、輝度差特徴量および絶対値特徴量の組合せに基づく距離計算とが併用される。なお、以下の説明では、後者を「絶対値特徴量に基づく距離計算」と記載する場合がある。
【００４９】
有効度決定部１２４は、特徴領域に設定される画素ペアの座標の空間的配置、または画素ペアの輝度差の統計情報に基づいて、絶対値特徴量に基づく距離計算が有効な画素ペアと、有効でない画素ペアとを分類するための数値化した有効度を決定する。結果出力部１２５は、画像認識部１２３により検索されたキー画像と類似する類似画像を、検索結果として出力する。
【００５０】
＜特徴量算出処理＞
次に、特徴量算出部１２２による特徴量算出処理について詳しく説明する。
特徴量算出部１２２は、撮像画像上に特徴点を設定する。特徴点は、各撮像画像で共通に設定される。本実施の形態では例として、撮像画像上に等間隔（例えば、２４画素間隔）で特徴点を設定するＤｅｎｓｅ  Ｓａｍｐｌｉｎｇを用いる。そして、特徴量算出部１２２は、各撮像画像の各特徴点についての輝度差特徴量および絶対値特徴量を算出する。
【００５１】
輝度差特徴量および絶対値特徴量は、各特徴点を中心とする一定領域（以下、「特徴領域」と呼ぶ）ごとに算出される。特徴領域は、例えば、特徴点を中心とする４８画素四方の矩形領域とされる。また、特徴領域の内部には、複数の画素ペアがあらかじめ設定される。ある特徴点の特徴量は、対応する特徴領域内の各画素ペアの輝度差に基づく符号を組み合わせて構成されたビット列として算出される。
【００５２】
図４は、画素ペア管理テーブルの構成例を示す図である。図４に示すように、画素ペア管理テーブル１１２には、画素ペアを識別するためのＩＤと、画素ペアを構成する第１画素（ｓ，ｔ）および第２画素（ｕ，ｖ）の各座標と、絶対値特徴量に基づく距離計算の有効度とが登録される。
【００５３】
画素ペア管理テーブル１１２には、まず、画素ペアを構成する第１画素（ｓ，ｔ）および第２画素（ｕ，ｖ）の各座標が登録される。その後、各画素ペアに対して有効度が登録されると、各画素ペアのレコードは有効度の高い順にソートされ、先頭レコードから若いＩＤ番号が付される。画素ペア管理テーブル１１２に登録された画素ペアの情報は、すべての特徴領域に対して共通に適用される。
【００５４】
次に、特徴量の算出処理について説明する。まず、図５を用いて、ＢＲＩＥＦの算出処理を比較例として説明し、その後、図６、図７を用いて、本実施の形態で適用される輝度差特徴量および絶対値特徴量について説明する。
【００５５】
図５は、比較例として、ＢＲＩＥＦを算出する処理の例を示す図である。ＢＲＩＥＦは、特徴領域内の各画素ペアに対応するビットを含むビット列として表される。各ビットは、画素ペアの輝度差の符号（正負）に基づいて決定される。なお、ここでは、特徴量算出部１２２によってＢＲＩＥＦが算出されるものとして説明する。
【００５６】
例えば、特徴量算出部１２２は、特徴点２０１に対応する特徴領域２０２について、各画素ペアの輝度差を計算する（ステップＳ１１）。画素ペアの輝度差は、例えば、画素ペア管理テーブル１１２における第１画素の輝度値から第２画素の輝度値を減算することで得られる。
【００５７】
特徴量算出部１２２は、算出された輝度差の符号に応じたビット値を組み合わせることでビット列２０３−１を生成する（ステップＳ１２）。例えば、輝度差が正値の場合にはビット値を“１”（または“０”）とし、輝度差が０以下の場合にはビット値を“０”（または“１”）とする。特徴量算出部１２２は、画素ペア順にビット値を決定してビット列に付加する。例えば、Ｍ組の画素ペアが設定されている場合、Ｍビットのビット列が生成される。特徴量算出部１２２は、生成されたビット列２０３−１を、特徴点２０１の局所特徴量（ＢＲＩＥＦ）として、撮像画像２００に対応する特徴量管理テーブル１１３に登録する（ステップＳ１３）。
【００５８】
図６は、輝度差特徴量を算出する処理の例を示す図である。上記のＢＲＩＥＦでは、画素ペアの輝度差と閾値０との比較結果に基づいて、画素ペアに対応するビット値が決定された。これに対して、輝度差特徴量では、画素ペアの輝度差と、０以外の閾値との比較結果に基づいて、画素ペアに対応するビット値が決定される。
【００５９】
撮像画像２００内の特徴領域２０１ａには、画素ペア２１ａ、２２ａが設定されており、撮像画像２００内の特徴領域２０１ｂには、画素ペア２１ｂ、２２ｂが設定されている。
【００６０】
特徴量算出部１２２は、特徴領域２０１ａについて、各画素ペアの輝度差を計算し、特徴領域２０１ｂについて、各画素ペアの輝度差を計算する（ステップＳ１１−１）。特徴量算出部１２２は、画素ペアの輝度差と、設定範囲３０との比較に基づいて輝度差特徴量の各ビット値を決定する（ステップＳ１２−１）。設定範囲３０は、輝度値の範囲であり、輝度値“０”を挟んで設定される。例えば、図６の例のように、設定範囲３０は閾値ｔｈ１によって規定され、−ｔｈ１を下限とし、ｔｈ１を上限とする。なお、閾値ｔｈ１は、撮影状況の違いによる輝度差の変化幅を考慮して、撮影状況の違いによる影響を受けにくい輝度差に設定される。また、閾値ｔｈ１の上限値は、輝度値の最大値（図１４では２５５）である。
【００６１】
特徴量算出部１２２は、次のような条件に従って、ビット値を０または１に決定する。特徴量算出部１２２は、画素ペアの輝度差が設定範囲３０の上限より大きい場合には、この画素ペアに対応するビット値を第１の値（図６の例では１）に決定する。特徴量算出部１２２は、画素ペアの輝度差が設定範囲３０の下限より小さい場合には、この画素ペアに対応するビット値を第２の値（図６の例では０）に決定する。特徴量算出部１２２は、画素ペアの輝度差が設定範囲３０に含まれる場合には、この画素ペアに対応するビット値を第１の値と第２の値のうちあらかじめ決められた一方の値（図６の例では０）に決定する。すなわち、図６の例では、輝度差が閾値ｔｈ１より大きい場合、ビット値が１に決定され、輝度差が閾値ｔｈ１以下の場合、ビット値が０に決定される。
【００６２】
このようにして撮像画像２００内の各特徴領域に対応する輝度差特徴量が算出され、決定されたビット列２０３ａ−１、２０３ａ−２は、輝度差特徴量として、特徴量管理テーブル１１３に登録される（ステップＳ１３−１）。
【００６３】
図７は、絶対値特徴量を算出する処理の例を示す図である。画素ペアの輝度差の絶対値と閾値との比較結果に基づいて、絶対値特徴量のビット値を決定する算出処理を示している。
【００６４】
撮像画像２００内の特徴領域２０１ａにおいて、画素ペア（ｘA1，ｙA1）が設定され、撮像画像２００内の特徴領域２０１ｂにおいて、画素ペア（ｘA2，ｙA2）が設定されている。
【００６５】
特徴量算出部１２２は、画素ペア毎に輝度差の絶対値を計算する（ステップＳ１１−２）。次いで、特徴量算出部１２２は、算出した絶対値が閾値ｔｈ２より大きいか否かを判定し、例えば、「絶対値＞閾値ｔｈ２」の場合にビット値を１に決定し、「絶対値≦閾値ｔｈ２」の場合にビット値を０に決定する（ステップＳ１２−２）。なお、閾値ｔｈ２は、撮影状況の違いによる輝度差の変化幅を考慮して、撮影状況の違いによる影響を受けにくい輝度差の絶対値に設定される。また、閾値ｔｈ２は閾値ｔｈ１と同じ値でもよいし、異なる値でもよい。
【００６６】
特徴量算出部１２２は、画素ペア（ｘA1，ｙA1）において、画素ｘA1の輝度値ｂxA1と、画素ｙA1の輝度値ｂyA1との輝度差の絶対値ｄA1を求め、絶対値ｄA1と閾値ｔｈ２とを比較する。図７の例では、絶対値ｄA1は閾値ｔｈ２よりも小さいと判断されており、ビット値“０”が選択される。
【００６７】
また、特徴量算出部１２２は、画素ペア（ｘA2，ｙA2）において、画素ｘA2の輝度値ｂxA2と、画素ｙA2の輝度値ｂyA2との輝度差の絶対値ｄA2を求め、絶対値ｄA2と閾値ｔｈ２とを比較する。図７の例では、絶対値ｄA2は閾値ｔｈ２よりも大きいと判断されており、ビット値“１”が選択される。
【００６８】
このようにして撮像画像２００内の特徴領域２０１ａ、２０１ｂに対応する絶対値特徴量が算出され、生成されたビット列２０４ａ−１、２０４ｂ−１は、絶対値特徴量として、特徴量管理テーブル１１３に登録される（ステップＳ１３−２）。
【００６９】
図８は、特徴点ごとに算出された輝度差特徴量および絶対値特徴量の例を示す図である。撮像画像２００内の特徴点２０１に対し、この特徴点２０１の特徴領域２０２に設定された画素ペアにおいて、特徴量算出部１２２は、図６に示した輝度差特徴量の算出処理を行って輝度差特徴量のビット列２０５ａを生成する。また、特徴量算出部１２２は、図７に示した絶対値特徴量の算出処理を行って絶対値特徴量のビット列２０５ｂを生成する。このように、輝度差特徴量のビット列および絶対値特徴量のビット列は、撮像画像２００内に設定された特徴点ごとに算出される。
【００７０】
図９は、特徴量管理テーブルの構成例を示す図である。前述のように、図９に示す特徴量管理テーブル１１３は、撮像画像ごとに用意される。
特徴量管理テーブル１１３には、撮像画像内の特徴点ごとにレコードが登録される。各レコードには、ＩＤ、特徴点座標、輝度差特徴量および絶対値特徴量が登録される。ＩＤは、撮像画像内の特徴点を識別するための識別番号を示す。特徴点座標は、特徴点の座標を示す。輝度差特徴量の項目には、特徴点の輝度差特徴量を示すビット列が登録される。絶対値特徴量の項目には、特徴点の輝度差特徴量を示すビット列が登録される。
【００７１】
図１０は、特徴量算出部の動作を示すフローチャートである。図１０では、特徴量の算出処理として、図６および図７で上述した輝度差特徴量と絶対値特徴量を算出する動作を示している。
【００７２】
［ステップＳ２１］特徴量算出部１２２は、処理対象の撮像画像から特徴点を１つ選択する。また、特徴量算出部１２２は、画素ペア管理テーブル１１２から画素ペアを１つ選択する。特徴量算出部１２２は、選択された特徴点に対応する特徴領域内の画素ペアのうち、選択された画素ペアについて、画素ペアの輝度値の差と閾値ｔｈ１とを比較し、比較結果に基づいて輝度差特徴量のビット値を決定する算出処理を行う。例えば、画素ペアの輝度値の差が閾値ｔｈ１より大きい場合はビット値を“１”とし、画素ペアの輝度値の差が閾値以下の場合はビット値を“０”と決定する。
【００７３】
［ステップＳ２２］特徴量算出部１２２は、ステップＳ２１と同様の画素ペアについて、画素ペアの輝度値の差の絶対値と閾値ｔｈ２とを比較し、比較結果に基づいて絶対値特徴量のビット値を決定する算出処理を行う。例えば、画素ペアの輝度値の差の絶対値が閾値ｔｈ２より大きい場合はビット値を“１”とし、画素ペアの輝度値の差が閾値ｔｈ２以下の場合はビット値を“０”と決定する。
【００７４】
［ステップＳ２３］特徴量算出部１２２は、１つの特徴点における特徴領域内のすべての画素ペアについてステップＳ２１、Ｓ２２が処理済みかを判定する。処理済みでない画素ペアがある場合、ステップＳ２１に戻り、他の画素ペアが選択される。すべての画素ペアについて処理済みの場合、ステップＳ２４の処理が実行される。
【００７５】
［ステップＳ２４］特徴量算出部１２２は、１つの撮像画像内のすべての特徴点についてステップＳ２１、Ｓ２２が処理済みかを判定する。処理済みでない特徴点がある場合、ステップＳ２１に戻り、他の特徴点が選択される。すべての特徴点について処理済みの場合、ステップＳ２５の処理が実行される。
【００７６】
［ステップＳ２５］特徴量算出部１２２は、記憶部１１０に記憶されたすべての撮像画像についてステップＳ２１、Ｓ２２が処理済みかを判定する。処理済みでない撮像画像がある場合、ステップＳ２１に戻り、他の撮像画像が選択される。すべての撮像画像について処理済みの場合、特徴量算出処理を終了する。
【００７７】
＜輝度差が０近傍の場合の特徴量算出＞
特徴量のビット値を決定する方法として、図５に示したＢＲＩＥＦによる方法では、対応する画素ペアの輝度差の符号（正負）に基づいて決定する。ただし、この方法では、画像内の平坦な領域では、輝度差が０に近いため、撮像条件の微妙な違いによってビット値が容易に変化し、そのことが画像認識精度の劣化につながるという問題がある。例えば、画素ペアが平坦な画像領域に配置されている場合に、光源やノイズの状態のわずかな変化によってビット値が変化しやすくなり、輝度差の符号が正から負、あるいは負から正に容易に変化してしまう。このようにして算出された特徴量同士を比較して類似度を判定した場合、対応する特徴領域同士が本来は類似するものであるとしても、算出された類似度が低くなる可能性があり、類似領域の判定を誤ってしまうことがある。以下、この問題点について、図１１〜図１３を用いて説明する。
【００７８】
図１１は、対応点の探索例を示す図である。図１１に示す画像２３０、２４０には、同じ建物２５０が写っているが、建物２５０の位置や方向などの写り方が異なっている。また、画像２３０の特徴領域２３１と画像２４０の特徴領域２４１には、建物２５０の外面のうち窓が存在する部分が写っている。一方、画像２３０の特徴領域２３２と画像２４０の特徴領域２４２には、建物２５０における平坦な壁面と背景である空との境界部分が写っている。このため、特徴領域２３２、２４２は、特徴領域２３１、２４１と比較して、平坦な部分が占める面積が広い平坦な画像領域となっている。
【００７９】
ここで、特徴領域２３１と特徴領域２４１とは類似度が高く、特徴領域２４１は特徴領域２３１に対する正しい対応領域であるとする。また、特徴領域２３２と特徴領域２４２とは類似度が高く、特徴領域２４２は特徴領域２３２に対する正しい対応領域であるとする。
【００８０】
特徴領域２３１、２４１には、輝度差が大きい画素ペアが多く含まれる。この場合、光源の状態やノイズの影響によって画素ペアの輝度差の符号が変化する可能性は低い。このため、画素ペアの輝度差の符号に応じて特徴量のビット値を決定した場合、撮影条件が変化したとしても画素ペアに対応するビット値は安定的に０または１のどちらかに決定される可能性が高い。その結果、特徴領域２３１に類似する対応領域として特徴領域２４１が正しく認識される可能性が高い。
【００８１】
一方、特徴領域２３２、２４２は平坦なので、これらの領域には、各画素の輝度差が０に近い画素ペアが多く含まれる。この場合、光源の状態やノイズのわずかな違いによって、画素ペアの輝度差の符号が変化しやすくなる。このため、画素ペアの輝度差の符号に応じて特徴量のビット値を決定する方法では、撮影条件のわずかな違いによって画素ペアに対応するビット値が変化しやすく、特徴量の算出値が不安定になる。その結果、特徴領域２３２に類似する対応領域として特徴領域２４２が正しく認識されない可能性が高くなり、画像認識精度が低下する。
【００８２】
図１２は、特徴領域での画素ペアの例を示す図である。この図１２では、図１１に示した画像２３０の特徴領域２３２および画像２４０の特徴領域２４２における画素ペアの設定パターンの例を示す。なお、図１２における特徴領域２３２、２４２において、網掛け部分は図１１の建物２５０の壁面を示し、それ以外の部分は背景（空）を示す。建物２５０の壁面の輝度より背景の輝度の方が高く、これらの間にはある程度大きな差があるものとする。
【００８３】
設定パターン１では、画素Ｐ１が背景に設定され、画素Ｐ２が壁面に設定されている。この場合、例えば、撮影状況の違いによって光源やノイズの状態が変化したとしても、画素Ｐ１の輝度値ｐ１と画素Ｐ２の輝度値ｐ２との差は常に正になる。このため、例えば、輝度差の符号が正の場合にビット値を“１”に決定した場合、ビット値は“１”のまま変動しない可能性が高い。従って、バイナリ特徴量として安定的な数値が算出される。
【００８４】
一方、設定パターン２では、画素Ｐ１、Ｐ２ともに背景に設定されている。この場合、画素Ｐ１の輝度値ｐ１と画素Ｐ２の輝度値ｐ２との差は０に近い。このため、撮影状況の違いによって光源やノイズの状態が変化した場合に、輝度差（ｐ１−ｐ２）の符号が変化しやすい。従って、輝度差の符号が正の場合にビット値を“１”に決定する方法では、画素Ｐ１、Ｐ２のビット値は０にも１にもなる可能性があり、その結果、バイナリ特徴量の算出値が不安定になる。
【００８５】
設定パターン３では、画素Ｐ１、Ｐ２ともに壁面に設定されている。この場合も、画素Ｐ１の輝度値ｐ１と画素Ｐ２の輝度値ｐ２との差は０に近い。従って、設定パターン２と同様に、バイナリ特徴量の算出値が不安定になる。
【００８６】
平坦な領域がその多くを占めている特徴領域では、設定パターン１のように輝度差が安定的に正または負になるような画素ペアより、設定パターン２、３のように輝度差の符号が変化しやすい画素ペアが多くなる。そのため、このような特徴領域から算出されたバイナリ特徴量は、撮影状況の違いに対して変化しやすく、不安定であり、画像認識精度を劣化させる原因になる。
【００８７】
図１３は、画素ペアの輝度差のヒストグラムの例を示す図である。この図１３は、多数の撮像画像から算出された画素ペアの輝度差の分布を示している。この図１３の例のように、一般的な写真やビジネス文書画像、ＣＴ画像から画素ペアの輝度差を算出すると、輝度差の分布は０付近に集中する傾向がある。換言すると、一般的に、画像からバイナリ特徴量を算出すると、輝度差が０に近い画素ペアが多数出現する傾向にある。このため、画像認識処理の精度劣化に与える影響は大きい。
【００８８】
このように、ＢＲＩＥＦでのビット値決定方法では、類似度の算出精度が低くなる可能性があり、その結果、画像認識精度が低くなる可能性がある。これに対して、図６では、ビット値を“０”にするか“１”にするかを決定するための輝度差の境界を０からずらし、対応する画素ペアの輝度差を閾値に基づいて、輝度差特徴量のビット値を決定する。これにより、輝度差が０に近い画素ペアについてのビット値はどの画素ペアについても０または１のどちらかに固定され、光源やノイズの変化によって変動しなくなる。従って、類似領域の誤判定が発生しにくい特徴量を算出することができる。
【００８９】
図６を参照すると、例えば、特徴領域２０１ｂ内の画素ペア２２ｂの輝度差は、設定範囲３０に含まれておらず、輝度値“０”から遠いと推定される。この場合、画素ペア２２ｂに対応するビット値は、輝度差の符号に応じて決定されても特に問題にならない。図６の例では、輝度差が設定範囲３０の上限より大きいため、対応するビット値は１に決定される。
【００９０】
また、例えば、特徴領域２０１ａ内の画素ペア２２ａの輝度差は、設定範囲３０に含まれており、輝度値“０”に近いと推定される。この場合、画素ペア２２ａは画像内の平坦な領域に設定されている可能性が高いと推定され、画素ペア２２ａに対応するビット値は、一方の値（図６では０）に固定される。これにより、撮影状況が変化したとしても、平坦な領域の画素ペアについてのビット値は安定的に同じ値をとるようになる。その結果、類似する特徴点同士の探索精度が向上し、それに伴って画像認識精度が向上する。
【００９１】
ところで、閾値ｔｈ１としては、あらかじめ固定的な値が設定されていてもよい。あるいは、次の図１４に示す例のように、閾値ｔｈ１は、撮像画像から得られた各画素ペアの輝度差に関する統計情報に基づいて動的に設定されてもよい。
【００９２】
図１４は、閾値を動的に設定する例を示す図である。この図１４では、図１３に示した輝度差のヒストグラムに基づいて閾値ｔｈ１を設定する例を示す。
特徴量算出部１２２は、例えば、輝度差のヒストグラムから、一定割合（例えば５０％）の画素ペアが含まれる、輝度差０を中心とした範囲を抽出する。特徴量算出部１２２は、閾値ｔｈ１として、抽出した範囲の正側の境界の輝度値を設定する。すなわち、閾値ｔｈ１は、抽出された範囲の幅が２・ｔｈ１となるように設定される。
【００９３】
このような方法により、画像認識の対象とする撮像画像の状況に応じて、閾値ｔｈ１を適切に設定することができる。
また、他の方法の例として、特徴量算出部１２２は、図１３のヒストグラムに所定の度数閾値を設定し、度数（画素ペア数）が度数閾値以上となる、輝度差０を中心とした範囲を抽出し、抽出した範囲に基づいて上記と同様に閾値ｔｈ１を設定してもよい。
【００９４】
なお、ヒストグラムに登録する輝度差の算出対象となる撮像画像（サンプル画像）は、記憶部１１０に記憶されたすべての画像データ１１１であってもよいし、それらの中の一部であってもよい。また、サンプル画像は、記憶部１１０に記憶された画像データ１１１とは別に専用に用意された画像であってもよい。
【００９５】
また、上記のような輝度差に関する統計情報に基づいて閾値ｔｈ１を設定する方法は、閾値ｔｈ１の初期設定のために用いられてもよい。この場合、閾値ｔｈ１が一旦設定された後は、例えば撮像画像が追加された場合でも、最初に設定された閾値ｔｈ１を用いてその撮像画像から特徴量が算出される。また、画像認識の対象とする撮像画像が更新されるのに伴って、一定期間ごとに、更新された撮像画像を用いて閾値ｔｈ１が再計算されてもよい。
【００９６】
＜類似度判定を行う際の距離計算＞
画像間の類似度判定を行う場合、画像認識部１２３は、キー画像側の１つの特徴点の特徴量と、対象画像側の１つの特徴点の特徴量との距離を計算し、距離が最小となる対象画像の特徴点を、類似度が最も高い対応点とする。この距離計算では、画像認識部１２３は、絶対値特徴量および輝度差特徴量の組合せに基づく距離計算と、輝度差特徴量に基づく距離計算とを行う。
【００９７】
（輝度差特徴量に基づく距離計算）
まず、輝度差特徴量に基づく距離計算について説明する。図１５は、輝度差特徴量に基づく距離計算の例を示す図である。輝度差特徴量に基づく距離計算では、キー画像側で算出された輝度差特徴量のビット列と、対象画像側で算出された輝度差特徴量のビット列との排他論理和（ＸＯＲ）をとってハミング距離が求められる。例えば、キー画像で算出された輝度差特徴量のビット列が010010000、対象画像側で算出された輝度差特徴量のビット列が010010101であった場合、これら２つのビット列の排他論理和は、000000101となる。桁数が同じ２つのビット列を比較して、異なっている桁の個数がハミング距離であるから、この場合、ハミング距離は２と算出される。
【００９８】
（絶対値特徴量と輝度差特徴量の組合せに基づく距離計算）
次に、絶対値特徴量と輝度差特徴量の組合せによる距離計算について説明する。キー画像の１つの特徴領域Ａｉｎと、対象画像の１つの特徴領域Ａｒとの距離を計算するものとする。ここで、特徴領域Ａｉｎの輝度差特徴量をＬＦｉｎ、絶対値特徴量をＡＦｉｎと表記する。また、特徴領域Ａｒの輝度差特徴量をＬＦｒ、絶対値特徴量をＡＦｒと表記する。
【００９９】
画像認識部１２３は、下記の式（１）に従って、輝度差特徴量ＬＦｉｎ、ＬＦｒ、絶対値特徴量ＡＦｉｎ、ＡＦｒからビット列ＨＶを計算する。さらに、画像認識部１２３は、ビット列ＨＶの長さ（ＨＶに含まれるビット値１の数）を計算する。計算されたビット列ＨＶの長さが、特徴領域Ａｉｎ、Ａｒ間における特徴の違いを表す距離Ｄである。ただし、下記の式（１）において、ＡＮＤは論理積演算、ＸＯＲは排他的論理和演算、ＯＲは論理和演算を表す。
【０１００】
ＨＶ＝｛（ＡＦｉｎ  ＸＯＲ  ＡＦｒ）ＯＲ（（ＡＦｉｎ  ＡＮＤ  ＡＦｒ）ＡＮＤ（ＬＦｉｎ  ＸＯＲ  ＬＦｒ））｝
…（１）
上記の式（１）で表現した演算のうち、（ＡＦｉｎ  ＡＮＤ  ＡＦｒ）の部分は、絶対値特徴量ＡＦｉｎ、ＡＦｒの各ビット値について、互いに対応するビット値がいずれも１である場合に１、少なくとも１つのビット値が０である場合に０となる演算である。絶対値特徴量のビット値が１の場合とは、輝度差の絶対値が閾値ｔｈ２より大きい場合であり、撮影状況の違いによる影響を受けにくい場合に相当する。つまり、この部分は、撮影状況の違いによる影響を受けにくい画素ペアの組と、撮影状況の違いによる影響を受けやすい画素ペアを含む組とを仕分けるマスクパターンを生成する演算に相当する。
【０１０１】
一方、上記の式（１）で表現した演算のうち、（ＡＦｉｎ  ＸＯＲ  ＡＦｒ）の部分は、絶対値特徴量ＡＦｉｎ、ＡＦｒの各ビット値について、一致する場合に１、不一致の場合に０とする演算である。つまり、この演算により１となったビット値の数を合計することで、絶対値特徴量に基づく特徴領域Ａｉｎ、Ａｒ間の距離（特徴の違い）が得られる。
【０１０２】
また、（ＬＦｉｎ  ＸＯＲ  ＬＦｒ）の部分は、輝度差特徴量ＬＦｉｎ、ＬＦｒの各ビット値について、一致する場合に１、不一致の場合に０とする演算である。つまり、この演算により１となったビット値の数を合計することで、輝度差特徴量に基づく特徴領域Ａｉｎ、Ａｒ間の距離（特徴の違い）が得られる。ただし、この距離は撮影状況の違いによる影響を受けやすいため、式（１）では、マスクパターンとなる（ＡＦｉｎ  ＡＮＤ  ＡＦｒ）の部分と、（ＬＦｉｎ  ＸＯＲ  ＬＦｒ）の部分との論理積演算を行って、（ＬＦｉｎ  ＸＯＲ  ＬＦｒ）の部分をマスクする演算を行う。
【０１０３】
図１６は、絶対値特徴量と輝度差特徴量の組合せによる距離計算の内容を模式的に示す図である。図１６の例では、対象画像Ｐｒの中に２つの特徴領域Ａｒ（１）、Ａｒ（２）が含まれ、キー画像Ｐｉｎの中に２つの特徴領域Ａｉｎ（１）、Ａｉｎ（２）が含まれる。
【０１０４】
例えば、特徴領域Ａｒ（１）、Ａｉｎ（１）に注目する。また、２つの画素ペアＬ１、Ｌ２に注目する。図１６の例では、特徴領域Ａｒ（１）について、画素ペアＬ１から絶対値特徴量のビット値０が得られ、画素ペアＬ２から絶対値特徴量のビット値１が得られている。同様に、特徴領域Ａｉｎ（１）について、画素ペアＬ１から絶対値特徴量のビット値０が得られ、画素ペアＬ２から絶対値特徴量のビット値１が得られている。
【０１０５】
つまり、特徴領域Ａｒ（１）、Ａｉｎ（１）のいずれも、画素ペアＬ１において輝度差の絶対値が閾値ｔｈ２以下であり、画素ペアＬ１は撮影状況の違いによる影響を受けやすい。逆に、特徴領域Ａｒ（１）、Ａｉｎ（１）のいずれも、画素ペアＬ２において輝度差の絶対値が閾値ｔｈ２より大きく、画素ペアＬ２は撮影状況の違いによる影響を受けにくい。この場合、特徴領域Ａｒ（１）、Ａｉｎ（１）のいずれにおいても絶対値特徴量が１となっている画素ペアＬ２は、輝度差特徴量に基づく距離の計算に利用される。一方、画素ペアＬ１は、輝度差特徴量に基づく距離の計算に利用されない。
【０１０６】
また、特徴領域Ａｒ（２）については、画素ペアＬ１、Ｌ２のいずれも絶対値特徴量のビット値が０である。同様に、特徴領域Ａｉｎ（２）についても、画素ペアＬ１、Ｌ２から得られる絶対値特徴量のビット値が０である。つまり、特徴領域Ａｒ（２）、Ａｉｎ（２）の特徴を比較する際、輝度差特徴量に基づく距離計算に画素ペアＬ１、Ｌ２は利用されない。このように、輝度差が小さく（平坦）、撮影状況の違いによる影響を受けやすい画素ペアについては、輝度差特徴量に基づく距離計算に利用されないようにする。その結果、撮影状況の違いによる影響を抑制した特徴領域Ａｉｎ、Ａｒ間の特徴差を表す距離Ｄが得られることになる。
【０１０７】
図１７は、絶対値特徴量と輝度差特徴量の組合せによる距離計算について説明するための図である。この図１７は、上記の式（１）による距離Ｄの具体的な計算例を示す。なお、図１７の例の特徴領域Ａｉｎ、Ａｒと、図１６に例示した特徴領域Ａｉｎ（１）、Ａｉｎ（２）、Ａｒ（１）、Ａｒ（２）とは異なる領域であるとする。式（１）に基づく距離計算では、絶対値特徴量ＡＦｉｎのビット値、対応する絶対値特徴量ＡＦｒのビット値が両方０の場合にビットの距離を０とし、一方が０の場合にビットの距離を１とする。つまり、一方の画素ペアの輝度差が大きく、他方の画素ペアの輝度差が小さい場合、これらの画素ペアの組は特徴が異なるとみなす。逆に、比較する２つの画素ペアの輝度差がいずれも小さい場合、これらの画素ペアの組は特徴が類似するとみなす。このように、輝度差が小さい画素ペアを距離Ｄの計算時に考慮することで、多くの画素ペアを距離Ｄの計算に利用することが可能になる。
【０１０８】
図１７の例では、画素ペアＬ１から得られた特徴領域Ａｉｎの絶対値特徴量のビット値は０、特徴領域Ａｒの絶対値特徴量のビット値は０であり、この場合、画素ペアＬ１に対応するビット列ＨＶのビット値（ビットの距離）は０となる。また、画素ペアＬ２、Ｌ３の組み合わせの場合、特徴領域Ａｉｎの絶対値特徴量と、特徴領域Ａｒの絶対値特徴量のいずれか一方のビット値が０であるから、ビット列ＨＶのビット値は１となる。
【０１０９】
さらに、画素ペアＬ４については、絶対値特徴量のビット値が特徴領域Ａｉｎ、Ａｒのいずれにおいても１であるため、輝度差特徴量同士のビットの距離が計算される。図１７の例では、特徴領域Ａｉｎにおける輝度差特徴量のビット値が０、特徴領域Ａｒにおける輝度差特徴量のビット値が１であるため、ビットの距離は１となる。このように特徴領域Ａｉｎ、Ａｒの絶対値特徴量がいずれも１の場合、画素ペアの輝度差が大きいため、輝度差特徴量の正確性が高いと推定される。そのため、輝度差特徴量同士のビットの距離が計算される。
【０１１０】
従って、図１７の例では、各ビットの距離を合計（ビット値１の数をカウント）し、距離Ｄが３となる。なお、上記の式（１）を利用すれば、ここで説明した演算を効率良く実行することができる。
【０１１１】
図１８は、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算の論理の流れを示す図である。図１８に示すように、画像認識部１２３は、輝度差特徴量ＬＦｉｎ、ＬＦｒのＸＯＲ演算を実行する（ステップＳ１）。ステップＳ１の演算により、輝度差特徴量ＬＦｉｎ、ＬＦｒ間でビット毎の距離が計算される。また、画像認識部１２３は、絶対値特徴量ＡＦｉｎ、ＡＦｒのＡＮＤ演算を実行する（ステップＳ２）。ステップＳ２の演算により、絶対値特徴量のビット値が特徴領域Ａｉｎ、Ａｒの両方で１となる画素ペアを抽出するマスクパターンが得られる。
【０１１２】
ステップＳ１、Ｓ２の演算後に、画像認識部１２３は、ステップＳ１の演算により得たビット列とステップＳ２の演算により得たビット列とのＡＮＤ演算を実行する（ステップＳ３）。ステップＳ３の演算により、ステップＳ２の演算で得たマスクパターンに従って輝度差特徴量から得たビット毎の距離がマスクされる。
【０１１３】
また、画像認識部１２３は、絶対値特徴量ＡＦｉｎ、ＡＦｒのＸＯＲ演算を実行する（ステップＳ４）。ステップＳ４の演算により、絶対値特徴量ＡＦｉｎ、ＡＦｒ間でビット毎の距離が計算される。なお、ステップＳ１、Ｓ２、Ｓ４の演算順序は入れ替え可能である。
【０１１４】
また、画像認識部１２３は、ステップＳ３の演算により得たビット列と、ステップＳ４の演算により得たビット列とのＯＲ演算を実行する（ステップＳ５）。ステップＳ５の演算により、絶対値特徴量ＡＦｉｎ、ＡＦｒから得たビット毎の距離と、輝度差特徴量ＬＦｉｎ、ＬＦｒから得たビット毎の距離（マスク後の距離）とが合成されたビット列（ビット列ＨＶ）が得られる。
【０１１５】
画像認識部１２３は、ステップＳ５の演算により得たビット列ＨＶのうち、ビット値が１のビットの数をカウントする（ステップＳ６）。ステップＳ６のカウント処理により得たビットの数が距離Ｄとなる。以上説明した方法により、画像認識部１２３は、特徴領域Ａｉｎ、Ａｒ間の距離を計算する。
【０１１６】
（距離計算の効果の違い）
次に、絶対値特徴量と輝度差特徴量との組合せによる距離計算と、輝度差特徴量による距離計算との効果の違いについて説明する。上述したような距離計算において、絶対値特徴量と輝度差特徴量に基づく距離計算を使用した方が、輝度差特徴量に基づく距離計算を使用するよりも精度は高い。ただし、絶対値特徴量と輝度差特徴量との組合せに基づく距離計算の方が、輝度差特徴量に基づく距離計算よりも計算負荷が大きい。
【０１１７】
例えば、輝度差の範囲が０近傍に集中する画素ペアに対して、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算を行った場合と、輝度差特徴量に基づく距離計算を行った場合では、類似度判定において、精度の効果にさほど差はない。ただし、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算の方が、輝度差特徴量に基づく距離計算よりも時間を要する。このために、輝度差の範囲が０近傍に集中する画素ペアに対して、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算を行うことは効率が悪い。
【０１１８】
図１９は、輝度差のヒストグラムを示す図である。輝度差の範囲が広い画素ペアの分布状態を示している。このような場合、画素ペア間の輝度差の正負や大きさのバリエーションが多く、絶対値特徴量と輝度差特徴量の組合せを用いることで輝度差特徴量だけを用いた場合より画素ペア付近の多くの画像状況を場合分けして判断できる。このため、類似度検索を行う際に、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算を使用することは効果が大きい。
【０１１９】
図２０は、輝度差のヒストグラムを示す図である。輝度差の範囲が０近傍に集中する画素ペアの分布状態を示している。このような分布状態の画素ペアについて、絶対値特徴量を算出すると、絶対値特徴量はほとんどの場合０になる。このため、絶対値特徴量を用いたとしてもほとんどの場合は同じような画像状況であると判断されてしまい、判断の意義が低い。一方、輝度差が０近傍に集中する場合には、輝度差特徴量に基づく距離計算でも十分な類似判定精度が得られる。従って、図２０のような状態では、距離計算に絶対値特徴量を用いる分だけ計算処理に無駄が生じることになる。
【０１２０】
このように、画素ペアの輝度差の状態に応じて、類似度検索を行う際に、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算を使用することが有効な場合と、絶対値特徴量と輝度差特徴量の組合せに基づく距離計算を使用すると計算処理に無駄が生じて有効でない場合とがある。
【０１２１】
従って、本実施の形態では、画像類似度判定において、絶対値特徴量にもとづく距離計算が、輝度差特徴量に基づく距離計算よりも有効である度合いを示す有効度を計算する。そして、相対的に、有効度が高い画素ペアに対しては絶対値特徴量と輝度差特徴量の組合せに基づく距離計算を行い、有効度が低い画素ペアに対しては輝度差特徴量に基づく距離計算を行う。
【０１２２】
＜有効度決定処理＞
次に、具体的な有効度の決定処理例について説明する。まず、第１、第２の処理例として、特徴領域における画素ペアの各画素の位置関係に基づいて有効度を決定する処理例を示す。
【０１２３】
図２１は、有効度決定の第１の処理例を示すフローチャートである。図２１の例では、画素ペアの距離から有効度を決定する処理を示しており、距離が大きいほど有効度は大きく、距離が小さいほど有効度は小さくなる。
【０１２４】
［ステップＳ３１］有効度決定部１２４は、画素ペア管理テーブル１１２から画素ペアを選択し、選択した画素ペアにおける第１画素および第２画素に対し、第１画素の座標と、第２画素の座標との距離を計算し、この距離を有効度とする。第１画素の座標を（ｓ，ｔ）、第２画素の座標を（ｕ，ｖ）、有効度をｄｖとすると、ｄｖ＝（（ｓ−ｕ）2＋（ｔ−ｖ）2）1/2によって算出される。
【０１２５】
［ステップＳ３２］有効度決定部１２４は、画素ペア管理テーブル１１２に登録されるすべての画素ペアについて、処理済みかを判定する。処理済みでない画素ペアがある場合、ステップＳ３１に戻り、他の画素ペアが選択される。すべての画素ペアについて処理済みの場合、ステップＳ３３の処理が実行される。
【０１２６】
［ステップＳ３３］有効度決定部１２４は、画素ペア管理テーブル１１２における画素ペアごとのレコードを有効度の大きい順に並び替え、有効度の大きい順に番号の若いＩＤを画素ペアに付与する。
【０１２７】
図２２は、有効度決定の第２の処理例を示すフローチャートである。図２２の例では、画素ペアの配置から有効度を決定する処理を示しており、画素ペアの配置が水平線に近いほど（画素ペアの勾配の逆数が大きいほど）有効度は大きく、画素ペアの配置が垂直線に近いほど（画素ペアの勾配の逆数が小さいほど）有効度は小さくなる。
【０１２８】
［ステップＳ４１］有効度決定部１２４は、画素ペア管理テーブル１１２から画素ペアを選択し、選択した画素ペアにおける第１画素および第２画素に対し、第１画素の座標と、第２画素の座標との勾配の逆数を計算し、この勾配の逆数を有効度とする。第１画素の座標を（ｓ，ｔ）、第２画素の座標を（ｕ，ｖ）、有効度をｄｖとすると、ｄ＝｜ｕ−ｓ｜／｜ｖ−ｔ｜で算出される。
【０１２９】
［ステップＳ４２］有効度決定部１２４は、画素ペア管理テーブル１１２に登録されるすべての画素ペアについて、処理済みかを判定する。処理済みでない画素ペアがある場合、ステップＳ４１に戻り、他の画素ペアが選択される。すべての画素ペアについて処理済みの場合、ステップＳ４３の処理が実行される。
【０１３０】
［ステップＳ４３］有効度決定部１２４は、画素ペア管理テーブル１１２における画素ペアごとのレコードを有効度の大きい順に並び替え、有効度の大きい順に番号の若いＩＤを画素ペアに付与する。
【０１３１】
次に、第３、第４の処理例として、画素ペアの輝度差の統計情報に基づいて有効度を決定する処理例を示す。これらの処理例では、記憶部１１０に記憶された全撮像画像がサンプル画像として用いられる。
【０１３２】
図２３は、有効度決定の第３の処理例を示すフローチャートである。有効度決定部１２４は、画素ペアの輝度差の統計情報に基づいて有効度を決定する。図２３の例では、画素ペアごとに画素値の差の分散から有効度を決定する処理を示しており、分散が大きいほど有効度は大きく、分散が小さいほど有効度は小さくなる。
【０１３３】
［ステップＳ５１］有効度決定部１２４は、画素ペア管理テーブル１１２から画素ペアを選択する。また、有効度決定部１２４は、撮像画像を選択し、選択した撮像画像から特徴点を選択する。有効度決定部１２４は、選択した特徴点に対応する特徴領域内の画素ペアのうち、選択した画素ペアについての第１画素の値と第２画素の値との差を計算して記録する。
【０１３４】
［ステップＳ５２］有効度決定部１２４は、選択した撮像画像内のすべての特徴点について、処理済みかを判定する。処理済みでない特徴点がある場合、ステップＳ５１に戻り、他の特徴点が選択される。すべての特徴点について処理済みの場合、ステップＳ５３の処理が実行される。
【０１３５】
［ステップＳ５３］有効度決定部１２４は、すべての撮像画像について、処理済みかを判定する。処理済みでない画像がある場合、ステップＳ５１に戻り、他の撮像画像が選択される。すべての撮像画像について処理済みの場合、ステップＳ５４の処理が実行される。
【０１３６】
［ステップＳ５４］有効度決定部１２４は、有効度として、ステップＳ５１で記録された画素値の差の分散を計算する。
［ステップＳ５５］有効度決定部１２４は、画素ペア管理テーブル１１２のすべての画素ペアについて、処理済みかを判定する。処理済みでない画像がある場合、ステップＳ５１に戻り、他の画素ペアが選択される。この場合、ステップＳ５１で記録された画素値の差はクリアされる。一方、すべての画素ペアについて処理済みの場合、ステップＳ５６の処理が実行される。
【０１３７】
［ステップＳ５６］有効度決定部１２４は、画素ペア管理テーブル１１２における画素ペアごとのレコードを有効度の大きい順に並び替え、有効度の大きい順に番号の若いＩＤを画素ペアに付与する。
【０１３８】
図２４は、有効度決定の第４の処理例を示すフローチャートである。有効度決定部１２４は、画素ペアの輝度差の統計情報に基づいて有効度を決定する。図２４の例では、画素ペアごとに画素値の差のヒストグラムの尖度から有効度を決定する処理を示しており、尖度が小さいほど有効度は大きく、尖度が大きいほど有効度は小さいとする。
【０１３９】
［ステップＳ６１］有効度決定部１２４は、画素ペア管理テーブル１１２から画素ペアを選択する。また、有効度決定部１２４は、撮像画像を選択し、選択した撮像画像から特徴点を選択する。有効度決定部１２４は、選択した特徴点に対応する特徴領域内の画素ペアのうち、選択した画素ペアについての第１画素の値と第２画素の値との差を計算して記録する。
【０１４０】
［ステップＳ６２］有効度決定部１２４は、選択した撮像画像内のすべての特徴点について、処理済みかを判定する。処理済みでない特徴点がある場合、ステップＳ６１に戻り、他の特徴点が選択される。すべての特徴点について処理済みの場合、ステップＳ６３の処理が実行される。
【０１４１】
［ステップＳ６３］有効度決定部１２４は、すべての撮像画像について、処理済みかを判定する。処理済みでない画像がある場合、ステップＳ６１に戻り、他の撮像画像が選択される。すべての撮像画像について処理済みの場合、ステップＳ６４の処理が実行される。
【０１４２】
［ステップＳ６４］有効度決定部１２４は、有効度として、ステップＳ６１で記録された画素値の差のヒストグラムの尖度を計算する。
［ステップＳ６５］有効度決定部１２４は、画素ペア管理テーブル１１２のすべての画素ペアについて、処理済みかを判定する。処理済みでない画像がある場合、ステップＳ６１に戻り、他の画素ペアが選択される。この場合、ステップＳ６１で記録された画素値の差はクリアされる。一方、すべての画素ペアについて処理済みの場合、ステップＳ６６の処理が実行される。
【０１４３】
［ステップＳ６６］有効度決定部１２４は、画素ペア管理テーブル１１２における画素ペアごとのレコードを有効度の大きい順に並び替え、有効度の大きい順に番号の若いＩＤを画素ペアに付与する。
【０１４４】
なお、尖度を計算する場合、例えば、以下のようにして算出することができる。確率変数をＸ、分布関数をＦ（Ｘ）、平均をμ、分散をμτとすると、平均μは式（２）で表され、分散μτは、式（３）で表される。なお、τは正整数である。
【０１４５】
【数１】
0006565661.tif 000002
【０１４６】
【数２】
0006565661.tif 000003
【０１４７】
このとき、分布関数Ｆ（Ｘ）の尖度をβ2とすると、正規分布の尖度を０とする場合、尖度β2は、β2＝（μ4／μ22）−３と定義される。また、正規分布の尖度を３とする場合、尖度β2は、β2＝（μ4／μ22）と定義される。これらの式に基づいて尖度を計算することができる。
【０１４８】
＜画像認識処理＞
次に、画像認識部１２３による画像認識処理について詳しく説明する。
（距離計算）
画像認識部１２３は、ユーザの操作入力に応じて撮像画像からキー画像を選択する。そして、画像認識部１２３は、選択したキー画像と他の撮像画像（対象画像）とを比較し、対象画像の中からキー画像と類似する画像を探索する。
【０１４９】
キー画像と対象画像との比較では、画像間で類似する特徴点が探索される。この処理では、画像認識部１２３は、キー画像から選択した特徴点と、対象画像の各特徴点との類似度を計算し、対象画像の特徴点のうち類似度が最大の特徴点を対応点として抽出する。特徴点間の類似度は、特徴点の特徴量の距離として算出される。本実施の形態では、この距離計算として、絶対値特徴量に基づく距離計算と、輝度差特徴量に基づく距離計算とが併用される。より具体的には、特徴領域内の画素ペアが有効度に応じて２群に分類される。そして、各特徴領域における有効度が高い一方の画素ペア群同士の類似度が、絶対値特徴量に基づく距離計算によって算出され、他方の画素ペア群同士の類似度が、輝度差特徴量に基づく距離計算によって算出される。そして、算出された両方の類似度から最終的な類似度が算出される。
【０１５０】
図２５は、距離計算を説明するための図である。キー画像から選択された１つの特徴点の特徴領域から算出された特徴量として、絶対値特徴量Ａ１と輝度差特徴量Ｂ１が算出されている。また、対象画像の１つの特徴点の特徴領域から算出された特徴量として、絶対値特徴量Ａ２と輝度差特徴量Ｂ２が算出されている。
【０１５１】
画像認識部１２３は、絶対値特徴量Ａ１、Ａ２および輝度差特徴量Ｂ１、Ｂ２の最上位ビットからｎビット目までのビット列を用いて、式（１）による距離計算を行う。それ以降のｎ−１ビット目から最下位ビットに対しては、輝度差特徴量Ｂ１、Ｂ２を用いて、排他論理和に基づく距離計算を行う。
【０１５２】
図２５の例では、最上位ビットからｎビット目までのビット列は、絶対値特徴量Ａ１は“０１０１０００”、輝度差特徴量Ｂ１は“００１０１０１”、絶対値特徴量Ａ２は“０１１０１１０”、輝度差特徴量Ｂ２は“１００１１０１”である。従って、画像認識部１２３は、これらのビット列に対して式（１）による演算を行ってビット列Ｃ１を算出する。また、画像認識部１２３は、輝度差特徴量Ｂ１のｎ−１ビット目から最下位ビットの“１１１０１・・・”と、輝度差特徴量Ｂ２のｎ−１ビット目から最下位ビットの“０００１１・・・”とに対しては排他論理和の計算を行ってビット列Ｃ２を算出する。
【０１５３】
ビット列Ｃ１における１の個数が、一方の画素ペア群間の類似度を示し、ビット列Ｃ２における１の個数が、他方の画素ペア群間の類似度を示す。したがって、画像認識部１２３は、ビット列Ｃ１とビット列Ｃ２とを含むビット列の１の個数を、特徴領域同士の特徴量の距離、すなわち特徴領域間の類似度として出力する。
【０１５４】
前述のような有効度決定部１２４による有効度に応じた画素ペアの並び替えにより、各特徴領域の特徴量を示すビット列の上位ビットほど、絶対値特徴量に基づく距離計算の有効度が高くなっている。このため、上記の処理により、絶対値特徴量に基づく距離計算の有効度が高い画素ペアについてのみ、絶対値特徴量に基づく距離計算が行われ、残りの画素ペアについては処理負荷の低い輝度差特徴量に基づく距離計算が行われる。従って、距離計算精度の低下を抑制しながら、距離計算負荷を軽減し、その計算時間を短縮することができる。
【０１５５】
（投票処理）
次に、画像認識部１２３は、キー画像上の特徴点ごとに次のような処理を実行する。画像認識部１２３は、キー画像上の特徴点と対象画像上の対応点とが一致するように対象画像にキー画像を重ねた場合の、対象画像におけるキー画像の中心位置を推定する。画像認識部１２３は、対象画像の各画素のうち、推定された中心位置の画素に対して投票する。画像認識部１２３は、対象画像の画素のうち、投票数が最大の画素を判別し、判別した画素の投票数が所定の閾値を超えている場合に、対象画像をキー画像に類似する画像と判定する。
【０１５６】
ここで、図２６は、投票処理を説明するための図である。図２６では、キー画像２１０の特徴点２１１と類似する対象画像２２０の対応点を探索する処理の例を示す。画像認識部１２３は、例えば、キー画像２１０の特徴点２１１の輝度差特徴量と、対象画像２２０の各特徴点の輝度差特徴量とのハミング距離を計算することで、対応点を探索する（ステップＳ２１ａ）。
【０１５７】
キー画像２１０の特徴点２１１に対する対応点として、対象画像２２０の特徴点２２１が抽出されたものとする。このとき、画像認識部１２３は、特徴点２１１と特徴点２２１（対応点）とが一致するように対象画像２２０にキー画像２１０を重ねた場合の、対象画像２２０におけるキー画像２１０の中心位置２１２を推定する（ステップＳ２２ａ）。
【０１５８】
ここで、対象画像の横幅および高さの画素数をそれぞれｗｉ、ｈｉとし、キー画像の横幅および高さの画素数をそれぞれｗｒ、ｈｒとする。キー画像の特徴点（ｘｒ，ｙｒ）に対応する対象画像の対応点として対象画像の特徴点（ｘｉ，ｙｉ）が探索されたとすると、対象画像におけるキー画像の中心点の位置（ｘｖ，ｙｖ）は、次の式（４−１）、（４−２）を用いて算出される。
ｘｖ＝ｘｉ・ｘｒ＋（ｗｒ／２）      ・・・（４−１）
ｙｖ＝ｙｉ・ｙｒ＋（ｈｒ／２）      ・・・（４−２）
図２６の特徴点２１１と特徴点２２１との対応関係に基づいて対象画像２２０におけるキー画像２１０の中心位置として画素２２２が推定されたとすると、画像認識部１２３は、対象画像２２０の画素のうち、画素２２２に対して投票する。この投票処理には、例えば、対象画像２２０の各画素に対応するエントリを有する投票マップ１１４が用いられる。投票マップ１１４の各エントリの初期値は０とされる。図２６の処理では、投票マップ１１４における画素２２２に対応するエントリに１が加算される（ステップＳ２３ａ）。
【０１５９】
なお、実際には、画像認識部１２３は、例えば、画素２２２を中心とした所定領域（例えば、１０画素四方の矩形領域）に含まれる各画素に投票してもよい。これにより、キー画像２１０と対象画像２２０との違いに対してある程度ロバストな認識処理を行うことが可能になる。
【０１６０】
図２７は、投票結果に基づく類似画像の判定処理について説明するための図である。図２７に示す投票マップ１１４ａは、図２６に示すような処理がキー画像２１０の各特徴点について実行された後の投票マップ１１４の状態を示す。画像認識部１２３は、投票マップ１１４ａにおける各画素についての投票数のうちの最大値を抽出し、この最大値が所定の閾値を超えているかを判定する。
【０１６１】
ここで、キー画像２１０と対象画像２２０とに同じ対象物が写っている場合、キー画像２１０の特徴点と対象画像２２０の対応点との位置関係が、キー画像の特徴点間で同じ場合が多い。この場合、投票マップ１１４ａにおける同じ画素に対応するエントリに投票数が集中する。一方、キー画像２１０と対象画像２２０との関連性が低い場合、キー画像２１０の特徴点と対象画像２２０の対応点との位置関係が、キー画像２１０の特徴点間で異なる場合が多い。この場合、投票マップ１１４ａにおいて投票数が分散する。
【０１６２】
従って、投票マップ１１４ａにおける投票数の最大値が閾値を超えた場合には、投票数が同じ画素に集中していると推定されるため、キー画像２１０と対象画像２２０とに同じ対象物が写っている可能性が高いと判断できる。このことから、画像認識部１２３は、投票数の最大値が閾値を超えた場合、対象画像２２０をキー画像２１０に類似する画像であると判定する。
【０１６３】
なお、実際には、対象画像２２０における特徴点の数によって投票数の最大値が影響を受けることから、例えば、対象画像２２０における特徴点の数で投票数を除算するなどの正規化処理が行われた上で、閾値との比較が行われることが望ましい。
【０１６４】
図２８は、画像認識処理の例を示すフローチャートである。
［ステップＳ７１］画像認識部１２３は、ユーザの操作入力に応じて撮像画像からキー画像を選択する。
【０１６５】
［ステップＳ７２］画像認識部１２３は、キー画像以外の撮像画像（対象画像）の中から１つを選択する。
［ステップＳ７３］画像認識部１２３は、キー画像の特徴点を１つ選択する。
【０１６６】
［ステップＳ７４］画像認識部１２３は、ステップＳ７２で選択した対象画像から、ステップＳ７３でキー画像から選択した特徴点に類似する特徴点（対応点）を探索する。この処理では、画像認識部１２３は、キー画像から選択した特徴点の絶対値特徴量および輝度差特徴量と、対象画像の各特徴点の絶対値特徴量および輝度差特徴量とを用いて、図２５で説明した計算を行う。詳細については図２９で説明する。
【０１６７】
［ステップＳ７５］画像認識部１２３は、ステップＳ７３で選択した特徴点とステップＳ７４で探索された対応点とが一致するように対象画像にキー画像を重ねた場合の、対象画像におけるキー画像の中心位置を推定する。画像認識部１２３は、対象画像の各画素のうち、推定された中心位置の画素に対して投票する。なお、実際には、画像認識部１２３は、例えば、推定された中心位置を中心とした所定領域（例えば、１０画素四方の矩形領域）に含まれる各画素に投票してもよい。
【０１６８】
［ステップＳ７６］画像認識部１２３は、キー画像の全特徴点について処理済みかを判定する。処理済みでない特徴点がある場合、ステップＳ７３に戻り、他の特徴点が選択される。一方、すべての特徴点について処理済みの場合、ステップＳ７７の処理が実行される。
【０１６９】
［ステップＳ７７］画像認識部１２３は、ステップＳ７２で選択した対象画像の各画素についての投票数の最大値が所定の閾値を超えている場合、この対象画像をキー画像に類似する画像と判定する。この場合、画像認識部１２３は、例えば、キー画像に類似すると判定された対象画像の識別情報を出力する。一方、画像認識部１２３は、投票数の最大値が閾値以下の場合、この対象画像をキー画像に類似しない画像と判定する。
【０１７０】
なお、ステップＳ７７では、画像認識部１２３は、例えば、投票数の最大値が所定の閾値を超えているすべての対象画像の識別情報を、投票数の大きさ順に出力してもよい。
［ステップＳ７８］画像認識部１２３は、すべての対象画像について処理済みかを判定する。処理済みでない対象画像がある場合、ステップＳ７２に戻り、他の対象画像が選択される。一方、すべての対象画像について処理済みの場合、画像認識部１２３は、ステップＳ７７でキー画像に類似すると判定された対象画像の識別情報を出力して、画像認識処理を終了する。
【０１７１】
図２９は、対応点の探索処理の例を示すフローチャートである。この図２９の処理は、図２８のステップＳ７４に対応する。
［ステップＳ７４ａ］画像認識部１２３は、対象画像から特徴点を選択する。
【０１７２】
［ステップＳ７４ｂ］画像認識部１２３は、ステップＳ７３で選択した特徴点についての絶対値特徴量および輝度差特徴量と、ステップＳ７４ａで選択した特徴点についての絶対値特徴量および輝度差特徴量のそれぞれの上位ｎビットを用いて、式（１）の演算を行う。
【０１７３】
［ステップＳ７４ｃ］画像認識部１２３は、ステップＳ７３で選択した特徴点についての輝度差特徴量と、ステップＳ７４ａで選択した特徴点についての輝度差特徴量のそれぞれの、上位からｎ−１ビット目から最下位ビットまでを用いて、排他的論理和の演算を行う。
【０１７４】
なお、ステップＳ７４ｂ、Ｓ７４ｃの処理順は逆であってもよい。
［ステップＳ７４ｄ］画像認識部１２３は、ステップＳ７４ｂ、Ｓ７４ｃの演算によってそれぞれ得られたビット列から、１の個数を計数し、１の個数を特徴点間の特徴量の距離（すなわち、特徴点間の類似性を表す指標）として出力する。
【０１７５】
［ステップＳ７４ｅ］画像認識部１２３は、対象画像の全特徴点について処理済みかを判定する。処理済みでない特徴点がある場合、ステップＳ７４ａに戻り、他の特徴点が選択される。一方、すべての特徴点について処理済みの場合、ステップＳ７４ｆの処理が実行される。
【０１７６】
［ステップＳ７４ｆ］画像認識部１２３は、対象画像の特徴点のうち、ステップＳ７４ｄで算出された距離が最小の特徴点を対応点として特定する。
以上説明した第２の実施の形態では、特徴領域に設定される画素ペアが、絶対値特徴量に基づく距離計算の有効度に応じて分類される。そして、画像の特徴点間の特徴量の距離（類似度）を算出する際に、絶対値特徴量に基づく距離計算の有効度が高い画素ペアについてのみ、絶対値特徴量に基づく距離計算が行われ、残りの画素ペアについては処理負荷の低い輝度差特徴量に基づく距離計算が行われる。これにより、特徴量の全ビットについて絶対値特徴量に基づく距離計算を行った場合と比較して、類似度計算精度の低下を抑制しながら、類似度計算負荷を軽減し、その計算時間を短縮することができる。その結果、画像認識精度を大きく低下させずに、認識処理負荷を軽減し、その計算時間を短縮することができる。
【０１７７】
なお、以上の第２の実施の形態の処理においては、輝度差特徴量の代わりに図５で説明したＢＲＩＥＦが用いられてもよい。この場合、輝度差特徴量を用いた場合より特徴点間の類似度計算精度は低下する。しかし、特徴量の全ビットについてＢＲＩＥＦのハミング距離を類似度として計算する場合と比較して、類似度計算精度を向上させることができ、その結果、画像認識精度を高めることができる。
【０１７８】
〔第３の実施の形態〕
図３０は、第３の実施の形態に係る画像処理システムの構成例を示す図である。なお、図３０では、図３と同じ構成要素には同じ符号を付して示している。
【０１７９】
画像処理システム１−２は、画像処理装置３００と、サーバ装置４００を備える。画像処理装置３００は、記憶部１１０、画像取得部１２１、特徴量算出部１２２、画像認識部１２３および結果出力部１２５を含む。サーバ装置４００は、有効度決定部１２４を含む。
【０１８０】
上述した画像処理装置１００では、有効度の決定と画像認識処理とが同じ装置において行われていた。しかし、図２１、図２２に示した有効度決定の第１、第２の処理例は、特徴領域内での画素ペアの位置さえ決定されれば、画像認識対象の画像に関係なく実行可能である。そこで、画像処理システム１−２では、有効度の決定が画像処理装置３００とは別のサーバ装置４００で実行される。サーバ装置４００は、例えば、画像認識ソフトウェアの開発企業や販売企業の装置である。
【０１８１】
サーバ装置４００内の有効度決定部１２４は、画素ペア管理テーブル１１２に登録された画素ペアの位置に基づいて、画素ペアごとの有効度を決定し、画素ペア管理テーブル１１２の画素ペアの配列を、有効度に基づき並び替える。並び替え後の画素ペア管理テーブル１１２は、例えば、ネットワークを介して、あるいは可搬型の記録媒体を用いて、画像処理装置３００に記録される。
【０１８２】
このように、開発企業側では、サーバ装置４００において、画素ペア管理テーブル１１２の画素ペアの有効度に基づく並び替えをあらかじめ行っておいてから画像処理装置３００、あるいはその処理機能を実現するソフトウェアを出荷する。ユーザが使用する画像処理装置３００では、あらかじめ設定されている画素ペアの順番に基づく特徴量の距離計算を行って、画像類似度判定を行う。
【０１８３】
なお、第２の実施の形態の変形例として、図３に示した画像取得部１２１、有効度決定部１２４および特徴量算出部１２２の機能が、画像処理装置１００とは別の端末装置に実装されてもよい。この場合、例えば、端末装置は撮像機能を備え、撮像した画像についての特徴量を算出して特徴量管理テーブル１１３を作成する。また、端末装置は、撮像した画像を用いて有効度を算出し、有効度に応じて画素ペアがソートされた画素ペア管理テーブル１１２を作成してもよい。画像処理装置１００は、端末装置によって撮像された画像を特徴量管理テーブル１１３とともに受信し、画像認識処理を実行する。
【０１８４】
また、第３の実施の形態の変形として、図３０に示した画像取得部１２１および特徴量算出部１２２の機能が、画像処理装置３００とは別の端末装置に実装されてもよい。この場合も、例えば、端末装置は撮像機能を備え、撮像した画像についての特徴量を算出して特徴量管理テーブル１１３を作成する。また、サーバ装置４００によって作成された画素ペア管理テーブル１１２は、端末装置に記録される。画像処理装置３００は、端末装置によって撮像された画像を特徴量管理テーブル１１３とともに受信し、画像認識処理を実行する。
【０１８５】
なお、上記の各実施の形態に示した装置（画像処理装置１００、３００、サーバ装置４００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１８６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１８７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１８８】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１８９】
１−１  画像処理システム
１ａ  記憶部
１ｂ  演算部
１ｃ  判定部
１０ａ、１０ｂ  画像
１０ａ−１、１０ｂ−１  特徴領域
１１ａ〜１１ｄ  画素ペア
１２  画素ペア管理テーブル
１３ａ−１、１３ａ−２、１３ｂ−１、１３ｂ−２  ビット列
１４ａ、１４ｂ  距離
１５  類似度
【図１】
0006565661.tif 000004
【図２】
0006565661.tif 000005
【図３】
0006565661.tif 000006
【図４】
0006565661.tif 000007
【図５】
0006565661.tif 000008
【図６】
0006565661.tif 000009
【図７】
0006565661.tif 000010
【図８】
0006565661.tif 000011
【図９】
0006565661.tif 000012
【図１０】
0006565661.tif 000013
【図１１】
0006565661.tif 000014
【図１２】
0006565661.tif 000015
【図１３】
0006565661.tif 000016
【図１４】
0006565661.tif 000017
【図１５】
0006565661.tif 000018
【図１６】
0006565661.tif 000019
【図１７】
0006565661.tif 000020
【図１８】
0006565661.tif 000021
【図１９】
0006565661.tif 000022
【図２０】
0006565661.tif 000023
【図２１】
0006565661.tif 000024
【図２２】
0006565661.tif 000025
【図２３】
0006565661.tif 000026
【図２４】
0006565661.tif 000027
【図２５】
0006565661.tif 000028
【図２６】
0006565661.tif 000029
【図２７】
0006565661.tif 000030
【図２８】
0006565661.tif 000031
【図２９】
0006565661.tif 000032
【図３０】
0006565661.tif 000033