(57)【要約】【課題】ロバスト性の高い特徴量を算出する。【解決手段】演算部１ｂは、画像１０の各画素についての第１の色相値を、画像１０における第１の色相値の分布状態に基づいて決定される基準色相値Ｈｂａｓｅを基準として算出された第２の色相値に変換する。そして、演算部１ｂは、画像１０内の特徴領域１１に設定された画素ペア１１ａ〜１１ｄのそれぞれに含まれる画素間における第２の色相値の差分を算出し、差分に基づいて、画素ペア１１ａ〜１１ｄのそれぞれに対応するビットを有する、特徴領域１１についての局所特徴量１２を算出する。【選択図】図１
2019079201.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
画像の各画素についての第１の色相値を、前記画像における前記第１の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第２の色相値に変換し、
前記画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における前記第２の色相値の差分を算出し、
前記差分に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、
処理を実行させる画像処理プログラム。
【請求項２】
前記コンピュータに、
前記画像における前記第１の色相値の出現頻度に基づいて、前記基準色相値を決定する、
処理をさらに実行させる請求項１記載の画像処理プログラム。
【請求項３】
前記画像として第１の画像と第２の画像とが用いられ、
前記基準色相値は、前記第１の画像と前記第２の画像とにおける前記第１の色相値の分布状態に基づいて決定され、
前記変換では、前記第１の画像と前記第２の画像のそれぞれに含まれる各画素について、前記第１の色相値を前記第２の色相値に変換し、
前記差分の算出では、前記第１の画像と前記第２の画像のそれぞれに含まれる前記特徴領域について、前記複数の画素ペアのそれぞれに対応する前記差分を算出し、
前記局所特徴量の算出では、前記第１の画像と前記第２の画像のそれぞれに含まれる前記特徴領域について、前記局所特徴量を算出し、
さらに、前記コンピュータに、
前記第１の画像についての前記局所特徴量と前記第２の画像についての前記局所特徴量との比較結果に基づいて、前記第１の画像と前記第２の画像との類似度を判定する、
処理を実行させる、
請求項１記載の画像処理プログラム。
【請求項４】
前記第１の画像と前記第２の画像のそれぞれには前記特徴領域が複数設定され、
前記コンピュータに、
前記第１の画像と前記第２の画像のそれぞれに含まれる前記特徴領域ごとに、輝度に基づく第１の特徴量が算出される第１の特徴領域と、第２の特徴量として前記局所特徴量が算出される第２の特徴領域のいずれかに分類する、
処理をさらに実行させ、
前記判定では、前記第１の画像と前記第２の画像にそれぞれ含まれる前記第１の特徴領域について算出された前記第１の特徴量と、前記第１の画像と前記第２の画像にそれぞれ含まれる前記第２の特徴領域について算出された前記第２の特徴量とを用いて、前記類似度を判定する、
請求項３記載の画像処理プログラム。
【請求項５】
前記分類では、
前記特徴領域のそれぞれについて、前記複数の画素ペアのそれぞれに含まれる画素間の輝度差に基づく第１の指標と、前記複数の画素ペアのそれぞれに含まれる画素間の前記第２の色相値の差に基づく第２の指標とに基づいて、前記第１の特徴量と前記第２の特徴量のどちらの安定性が高いかを判定し、
前記安定性の判定結果に基づいて、前記特徴領域のそれぞれを前記第１の特徴領域と前記第２の特徴領域のいずれかに分類する、
請求項４記載の画像処理プログラム。
【請求項６】
コンピュータに、
画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第１の色相値と他方の画素の第２の色相値との間の色相環における右回り方向の距離と、前記第１の色相値と前記第２の色相値との間の前記色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、
前記判定処理の結果に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、
処理を実行させる画像処理プログラム。
【請求項７】
前記画像として第１の画像と第２の画像とが用いられ、
前記判定では、前記第１の画像と前記第２の画像のそれぞれに含まれる前記特徴領域について、前記複数の画素ペアのそれぞれに対する前記判定処理を実行し、
前記算出では、前記第１の画像と前記第２の画像のそれぞれに含まれる前記特徴領域について、前記局所特徴量を算出し、
さらに、前記コンピュータに、
前記第１の画像についての前記局所特徴量と前記第２の画像についての前記局所特徴量との比較結果に基づいて、前記第１の画像と前記第２の画像との類似度を判定する、
処理を実行させる、
請求項６記載の画像処理プログラム。
【請求項８】
前記第１の画像と前記第２の画像のそれぞれには前記特徴領域が複数設定され、
前記コンピュータに、
前記第１の画像と前記第２の画像のそれぞれに含まれる前記特徴領域ごとに、輝度に基づく第１の特徴量が算出される第１の特徴領域と、第２の特徴量として前記局所特徴量が算出される第２の特徴領域のいずれかに分類する、
処理をさらに実行させ、
前記判定では、前記第１の画像と前記第２の画像にそれぞれ含まれる前記第１の特徴領域について算出された前記第１の特徴量と、前記第１の画像と前記第２の画像にそれぞれ含まれる前記第２の特徴領域について算出された前記第２の特徴量とを用いて、前記類似度を判定する、
請求項７記載の画像処理プログラム。
【請求項９】
前記分類では、
前記特徴領域のそれぞれについて、前記複数の画素ペアのそれぞれに含まれる画素間の輝度差に基づく第１の指標と、前記複数の画素ペアのそれぞれに含まれる画素間の色相差に基づく第２の指標とに基づいて、前記第１の特徴量と前記第２の特徴量のどちらの安定性が高いかを判定し、
前記安定性の判定結果に基づいて、前記特徴領域のそれぞれを前記第１の特徴領域と前記第２の特徴領域のいずれかに分類する、
請求項８記載の画像処理プログラム。
【請求項１０】
前記分類では、前記複数の画素ペアのそれぞれに対応するビット値を配列したビット列を算出して、前記ビット列のノルムを前記第２の指標として算出し、
前記ビット値は、前記第１の色相値と前記第２の色相値との差分の絶対値を示す第１の値と、所定の閾値とを比較した比較結果、および、前記第１の値から、色相値がとり得る範囲の中間値を減算した値の絶対値を示す第２の値と、前記閾値とを比較した比較結果に基づいて決定される、
請求項９記載の画像処理プログラム。
【請求項１１】
画像を記憶する記憶部と、
前記画像の各画素についての第１の色相値を、前記画像における前記第１の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第２の色相値に変換し、前記画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における前記第２の色相値の差分を算出し、前記差分に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する演算部と、
を有する画像処理装置。
【請求項１２】
画像を記憶する記憶部と、
前記画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第１の色相値と他方の画素の第２の色相値との間の色相環における右回り方向の距離と、前記第１の色相値と前記第２の色相値との間の前記色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、前記判定処理の結果に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する演算部と、
を有する画像処理装置。
【請求項１３】
コンピュータが、
画像の各画素についての第１の色相値を、前記画像における前記第１の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第２の色相値に変換し、
前記画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における前記第２の色相値の差分を算出し、
前記差分に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、
画像処理方法。
【請求項１４】
コンピュータが、
画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第１の色相値と他方の画素の第２の色相値との間の色相環における右回り方向の距離と、前記第１の色相値と前記第２の色相値との間の前記色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、
前記判定処理の結果に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、様々な分野で画像のマッチング技術が広く利用されている。画像同士のマッチング方法の例として、第１画像の特徴点における局所特徴量と、第２画像の特徴点における局所特徴量とを比較して、第１画像の特徴点に対応する第２画像の特徴点（以下、「対応点」と呼ぶ）を探索する手法が利用される。探索により発見された対応点の集合を統計処理することで、第２画像における第１画像の存在や第１画像の位置を認識できる。
【０００３】
また、上記のような対応点の探索に利用される局所特徴量をバイナリコードで表す方法がある。その代表例として、ＢＲＩＥＦ（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）画像上の患部を自動的に位置合わせして、患部の画像の経時変化を判断するために利用できる。
【００４０】
なお、このような画像処理装置１００は、例えば、パーソナルコンピュータ、スマートフォンなどのユーザによって操作される端末装置として実現される。また、画像処理装置１００は、ネットワーク上のサーバ装置として実現されてもよい。この場合、画像処理装置１００の記憶装置に記憶される画像のデータは、例えば、ユーザの端末装置からネットワークを介して画像処理装置１００にアップロードされる。
【００４１】
図３は、画像処理装置が備える処理機能の構成例を示すブロック図である。画像処理装置１００は、記憶部１１０、画像取得部１２１、基準色相値決定部１２２、有用度算出部１２３、特徴量選択部１２４、特徴量算出部１２５および画像認識部１２６を有する。なお、記憶部１１０は、図１に示した記憶部１ａの一例であり、基準色相値決定部１２２、有用度算出部１２３、特徴量選択部１２４および特徴量算出部１２５は、図１に示した演算部１ｂの一例である。
【００４２】
記憶部１１０は、画像処理装置１００が備える記憶装置（例えば、ＲＡＭ１０２またはＨＤＤ１０３）の記憶領域として実装される。記憶部１１０には、画像データ１１１、画素ペア管理テーブル１１２、中間データ管理テーブル１１３、輝度特徴量管理テーブル１１４および色相特徴量管理テーブル１１５が記憶される。
【００４３】
画像データ１１１は、記憶部１１０に複数記憶される。画像データ１１１はそれぞれ、類似検索に用いられる画像（以下、「記憶画像」と記載する）のデータを示す。類似検索の際には、記憶画像の中からキー画像が１つ選択され、残りの記憶画像（参照画像）の中からキー画像と類似する画像が検索される。
【００４４】
画素ペア管理テーブル１１２には、各記憶画像の特徴量を算出するために使用される画素ペアの座標が登録される。
中間データ管理テーブル１１３は、記憶画像ごとに用意される。中間データ管理テーブル１１３は、対応する記憶画像の特徴量を算出する過程で使用される中間データが一時的に登録される。なお、中間データとしては、後述する輝度絶対値ベクトル、色相絶対値ベクトル、輝度ノルム、色相ノルムが登録される。
【００４５】
輝度特徴量管理テーブル１１４および色相特徴量管理テーブル１１５は、いずれも記憶画像ごとに用意される。１つの記憶画像に対応する輝度特徴量管理テーブル１１４および色相特徴量管理テーブル１１５によって、その記憶画像内の特徴点ごとの特徴量（局所特徴量）が保持される。後述するように、本実施の形態では、記憶画像内の特徴点は、輝度に基づく輝度特徴量が算出される輝度特徴点と、色相に基づく色相特徴量が算出される色相特徴点とに分類される。輝度特徴量管理テーブル１１４には、輝度特徴点における輝度特徴量が登録され、色相特徴量管理テーブル１１５には、色相特徴点における色相特徴量が登録される。
【００４６】
画像取得部１２１、基準色相値決定部１２２、有用度算出部１２３、特徴量選択部１２４、特徴量算出部１２５および画像認識部１２６の処理は、例えば、所定のアプリケーションプログラムがプロセッサ１０１に実行されることによって実現される。
【００４７】
画像取得部１２１は、画像データ１１１を取得して記憶部１１０に格納する。例えば、画像取得部１２１は、撮像画像によって撮像された画像の画像データ１１１を、可搬型記録媒体１０６ａを介して、あるいはネットワーク１０７ａを介して取得する。
【００４８】
基準色相値決定部１２２は、色相特徴量の計算のために用いられる基準色相値を決定する。基準色相値決定部１２２は、記憶部１１０に記憶されたすべての記憶画像における色相値の頻度に基づいて、基準色相値を算出する。
【００４９】
有用度算出部１２３は、記憶画像の各特徴点の局所特徴量として輝度特徴量と色相特徴量のどちらが有用かを示す有用度を算出する。特徴量選択部１２４は、算出された有用度に基づいて、各特徴点の局所特徴量として輝度特徴量と色相特徴量のいずれかを選択する。換言すると、特徴量選択部１２４は、算出された有用度に基づいて、各特徴点を輝度特徴点と色相特徴点のいずれかに分類する。
【００５０】
特徴量算出部１２５は、各特徴点に対応する輝度特徴量または色相特徴量を算出する。特徴量算出部１２５は、算出した輝度特徴量を輝度特徴量管理テーブル１１４に登録し、算出した色相特徴量を色相特徴量管理テーブル１１５に登録する。これにより、特徴量算出部１２５は、記憶画像ごとの特徴量を算出し、記憶部１１０に登録する。
【００５１】
画像認識部１２６は、キー画像の選択操作を受け付け、輝度特徴量管理テーブル１１４と色相特徴量管理テーブル１１５を参照しながら、選択されたキー画像以外の記憶画像の中からキー画像と類似する類似画像を検索する。
【００５２】
なお、画像処理装置１００が備える処理機能の一部は、画像処理装置１００とは別の外部装置に設けられていてもよい。例えば、画像取得部１２１、基準色相値決定部１２２、有用度算出部１２３、特徴量選択部１２４および特徴量算出部１２５が、端末装置１０７ｂに設けられてもよい。この場合、画像処理装置１００は、端末装置１０７ｂで作成された輝度特徴量管理テーブル１１４および色相特徴量管理テーブル１１５を取得する。画像認識部１２６は、取得された輝度特徴量管理テーブル１１４および色相特徴量管理テーブル１１５に基づいて画像認識処理を実行する。
【００５３】
＜特徴量算出処理＞
次に、画像処理装置１００による特徴量算出処理について説明する。
まず、特徴領域における画素ペアの設定方法について説明する。本実施の形態では、特徴量としてＢＲＩＥＦを用いた場合と同様の方法で、次のようにして画素ペアが設定される。
【００５４】
記憶画像には、複数の特徴点が設定され、特徴点ごとに局所特徴量が算出される。特徴点は、複数の記憶画像に対して共通に設定される。本実施の形態では例として、記憶画像上に等間隔（例えば、２４画素間隔）で特徴点を設定するＤｅｎｓｅ  Ｓａｍｐｌｉｎｇが用いられるものとする。
【００５５】
また、各特徴点を中心とする一定領域が特徴領域に設定される。特徴領域は、例えば、特徴点を中心とする４８画素四方の矩形領域とされる。さらに、特徴領域の内部には、複数の画素ペアがあらかじめ設定される。ある特徴点の局所特徴量は、対応する特徴領域内の各画素ペアの画素値の差に基づく符号を組み合わせて構成されたビット列として算出される。なお、ＢＲＩＥＦでは、ビット列の各ビット値は輝度差に基づいて決定されるが、本実施の形態では、特徴点によって、各ビット値が輝度差に基づいて決定される場合と、各ビット値が色相差に基づいて決定される場合とがある。
【００５６】
図４は、画素ペア管理テーブルの構成例を示す図である。画素ペアに含まれる各画素の座標は、画素ペア管理テーブル１１２にあらかじめ登録される。図４に示すように、画素ペア管理テーブル１１２には、画素ペアを識別するためのＩＤと、画素ペアに含まれる第１画素および第２画素の各座標とが登録される。画素ペアは、例えば、ランダムに設定される。画素ペア管理テーブル１１２に登録された画素ペアの情報は、すべての特徴領域に対して共通に適用される。
【００５７】
次に、画素ペア管理テーブル１１２を用いた局所特徴量算出処理について説明する。以下の説明では、まず、図５、図６を用いて局所特徴量算出処理の第１の比較例およびその問題点について説明し、さらに、図７を用いて局所特徴量算出処理の第２の比較例の問題点について説明する。そしてその後に、図８〜図１３を用いて本実施の形態における局所特徴量算出処理について説明する。
【００５８】
図５は、局所特徴量算出処理の第１の比較例について説明するための図である。この図５では、第１の比較例として、局所特徴量としてＢＲＩＥＦを用い、画像２００における各特徴点の局所特徴量を、この画像２００に対応する特徴量管理テーブル２１０に登録する処理の例を示す。
【００５９】
例えば、画像２００に設定された特徴点２０１の局所特徴量は、次のようにして算出される。まず、特徴点２０１に対応する特徴領域２０２について、各画素ペアの輝度差が計算される（ステップＳ１１）。画素ペアの輝度差は、例えば、画素ペア管理テーブル１１２における第１画素の輝度値から第２画素の輝度値を減算することで得られる。
【００６０】
次に、算出された輝度差の符号に応じたビット値を組み合わせることで、ビット列２０３が生成される（ステップＳ１２）。具体的には、輝度差が正値の場合、ビット値は１に設定され、輝度差が０以下の場合、ビット値は０に設定される。ビット値は、画素ペア順に決定されてビット列２０３に付加される。例えば、Ｍ組の画素ペアが設定されている場合、Ｍビットのビット列２０３が生成される。次に、生成されたビット列２０３は、特徴点２０１の局所特徴量として特徴量管理テーブル２１０に登録される（ステップＳ１３）。
【００６１】
このようにして、画像２００に設定されたすべての特徴点に対応する局所特徴量（ビット列）が算出され、画像２００に対応する特徴量として特徴量管理テーブル２１０に記録される。
【００６２】
しかしながら、上記のように、局所特徴量の各ビット値を輝度差の符号から決定する場合には、各画素の輝度差が小さい領域では、画素間の輝度差が０に近くなる。そのため、光源などの撮影条件の微妙な違いやノイズ発生などによって、ビット値が容易に変化しやすくなり、局所特徴量の値が不安定になる。その結果、画像認識精度の劣化につながるという問題がある。
【００６３】
その一方、画像の領域の中には、各画素の輝度差は小さいものの色相差は大きいという領域が存在し得る。例えば、標識や看板など、人手によってデザインされたものは、同一のトーンに含まれる色が使用されることが多い。同一のトーンには、色相差が大きい色同士が含まれているため、人手によってデザインされたものが写っている領域においては、各画素の輝度差は小さいものの色相差は大きいという領域が発生しやすい。
【００６４】
図６は、標識の例を示す図である。図６（Ａ）に示す標識３００は、輝度差が大きい２つの色をそれぞれ用いた領域３０１，３０２を含んでいる。例えば、領域３０１，３０２の境界を含むような特徴領域３０３が設定された場合、この特徴領域３０３では画素ペアに含まれる画素間の輝度差が大きくなりやすい。このため、輝度差を用いた場合でも安定的な局所特徴量を算出できる可能性が高い。すなわち、照明が変動したりノイズが発生した場合でも、同一値の局所特徴量が算出される可能性が高い。
【００６５】
一方、図６（Ｂ）に示す標識３１０は、色相差は大きいものの輝度差は小さい２つの色をそれぞれ用いた領域３１１，３１２を含んでいる。例えば、領域３１１，３１２の境界を含むような特徴領域３１３が設定された場合、この特徴領域３１３では画素ペアに含まれる画素間の輝度差が小さくなるので、輝度差を用いて算出された局所特徴量は不安定になりやすい。すなわち、照明が変動したりノイズが発生した場合、算出される局所特徴量の値が変わってしまう可能性が高い。
【００６６】
この特徴領域３１３のように、各画素の輝度差は小さいものの色相差は大きいという領域では、色相差に基づいて局所特徴量を算出することで、照明変動やノイズに対して安定性の高い特徴量を得ることが可能である。そこで、第２の比較例として、輝度差に基づく局所特徴量だけでなく、色相差に基づく局所特徴量も用いて画像類否判断を実行する方法が考えられる。
【００６７】
以下、輝度差に基づく局所特徴量を「輝度特徴量」と記載し、色相差に基づく局所特徴量を「色相特徴量」と記載する。第２の比較例では、色相特徴量は、輝度特徴量（すなわちＢＲＩＥＦ）と同様のビット列として表されるが、各ビット値は、対応する画素ペアに含まれる各画素の色相差の符号に基づいて決定されるものとする。
【００６８】
ここで、図７は、色相環と色相値との関係を示す図である。色相環３２０は、色相を順序立てて円環状に並べたものである。色相環３２０においては、色相は連続的に変化するので、境界がない。一方、画像処理装置１００で使用される色相のデジタル値（色相値）は、有限範囲内の数値として表される。そのため、色相環３２０上に便宜的に境界が設けられ、その境界上の色相値が０とされる。
【００６９】
一般的に用いられるマンセル表色系では、赤（Ｒ）が真上（角度０°）の位置に配置され、右回り方向に対して黄（Ｙ）、緑（Ｇ）、青（Ｂ）、紫（Ｐ）が順に配置される。そして、一般的には、赤（Ｒ）の位置が、色相値を決定するための境界に設定され、この境界位置を色相値＝０として、右回り方向に対して数値が増加するように色相値が割り当てられる。本実施の形態では、色相値は０から２２５までの２５６段階の数値で表されるものとし、赤（Ｒ）の位置で色相値＝０になるものとする。
【００７０】
前述のように、第２の比較例では、色相特徴量のビット値は、画素ペアに含まれる各画素の色相差の符号に基づいて決定される。例えば、画素ペアに含まれる第１画素の色相値が１０、第２画素の色相値が１００の場合、色相差は０以下となるので、ビット値は０に決定される。
【００７１】
ところが、この計算方法には次のような問題がある。上記のように、色相値は色相環３２０上の境界を跨いで不連続な値となる。そのため、被写体の色相が境界付近にある状態において、光源などの撮影条件の違いやノイズが発生した場合、色相値は、最小値の０付近から最大値の２５５付近まで大きく変動する可能性がある。その結果、色相差の符号が変化しやすくなり、色相特徴量の値が不安定になる。
【００７２】
例えば、図７に示すように、ある撮影条件においては、画素ペアのうち第１画素の色相値Ｈ１ａが５と検出され、第２画素の色相値Ｈ２ａが３５と検出されたとする。この場合、色相差は−３０であるので、色相特徴量のビット値は０となる。しかし、別の撮影条件においては、各画素の色相値が実際の色相値よりも、色相環３２０上で左回り方向にずれて検出されたとする。例えば、第１画素の色相値Ｈ１ｂが２５０と検出され、第２画素の色相値Ｈ２ｂが２５と検出されたとする。この場合、色相差は２２５であるので、色相特徴量のビット値は１となる。この例では、撮影条件の違いによる色相の検出値の違いがわずかであっても、第１画素の色相値は５から２５０に大きく変動しており、その結果、色相特徴量のビット値が反転している。
【００７３】
このように、色相差の符号を基に色相特徴量のビット値を決定する方法では、撮影条件やノイズ発生状況の違いにより、特定の色相（図７の例では赤）について色相特徴量のビット値が容易に反転し得る。これによって色相特徴量の値が不安定になり、その結果、画像認識精度が劣化するという問題がある。
【００７４】
このような問題に対して、本実施の形態では、色相特徴量の計算に用いる画素の色相値が境界領域の値に近くならないように、一般的な方法で算出された色相値を変換し、変換後の色相値を色相特徴量の計算に用いるようにする。
【００７５】
図８は、色相値の変換方法について説明するための図である。本実施の形態では、基準色相値決定部１２２により、変換後の色相値を算出するための新たな境界を示す基準色相値Ｈｂａｓｅが決定される。基準色相値Ｈｂａｓｅは、検索対象とされる複数の記憶画像における色相の分布に基づき、これらの画像においてあまり使われていない色相の値に設定される。具体的には、基準色相値決定部１２２は、これら複数の記憶画像における色相値ごとの頻度を算出し、最も頻度が低い色相値を基準色相値Ｈｂａｓｅに決定する。
【００７６】
そして、基準色相値決定部１２２は、図８の右側に示すように、基準色相値Ｈｂａｓｅの位置での色相値が０になるように、元の色相値を変換する。以下、基準色相値Ｈｂａｓｅを用いて変換された色相値を「変換色相値」と呼ぶ。
【００７７】
基準色相値Ｈｂａｓｅがあまり使われていない色相の値に設定されることで、変換色相値は、新たな境界である基準色相値Ｈｂａｓｅ付近の値をとりにくくなる。その結果、撮影条件やノイズ発生状況の違いによって変換色相値が大きく変動する可能性が低くなる。したがって、色相特徴量のビット値が反転しにくくなり、色相特徴量の値が安定化する。
【００７８】
図８では、図７に示した第１画素の色相値Ｈ１ａ，Ｈ１ｂおよび第２画素の色相値Ｈ２ａ，Ｈ２ｂを、基準色相値Ｈｂａｓｅを用いて変換した変換色相値を、それぞれＨ１ａ’，Ｈ１ｂ’，Ｈ２ａ’，Ｈ２ｂ’と表している。基準色相値Ｈｂａｓｅが、色相環３２０上で第１画素の色相値Ｈ１ａ，Ｈ１ｂから遠い位置の値として算出されたことにより、変換色相値Ｈ１ａ’と変換色相値Ｈ１ｂ’との間に境界が位置しなくなるので、第１画素の色相値がＨ１ａからＨ１ｂに変動してもその値が大きく変動しなくなる。その結果、撮影条件の違いによって色相値Ｈ１ａ，Ｈ２ａと色相値Ｈ１ｂ，Ｈ２ｂのどちらの値が検出されても、色相特徴量のビット値は同じ値となる。
【００７９】
なお、本実施の形態では、記憶部１１０に記憶された複数の記憶画像のすべてが検索対象であり、それらの中から選択されたキー画像と、その他のすべての参照画像との間で類似度が判定される。このような処理では、検索対象の記憶画像のうち、できるだけ多くの記憶画像を用いて色相値ごとの頻度を算出し、算出された頻度に基づいて基準色相値Ｈｂａｓｅを算出することが望ましい。本実施の形態では、検索対象の記憶画像のすべてを用いて色相値ごとの頻度が算出されるものとする。また、例えば、本実施の形態のように画像検索を行うのではなく、２つの画像間で類似判定が行われるという場合には、それら２つの画像の両方を用いて色相値ごとの頻度を算出し、算出された頻度に基づいて基準色相値Ｈｂａｓｅを算出することが望ましい。
【００８０】
また、画像検索過程の画像認識において、記憶画像からどのような被写体が認識されるかがあらかじめわかっている場合には、その被写体に応じて基準色相値Ｈｂａｓｅが任意に設定されてもよい。例えば、交通標識では、道路上での視認性をよくするために、緑（Ｇ）付近の色があまり使われない。そのため、画像認識において交通標識が認識される場合には、基準色相値Ｈｂａｓｅは緑（Ｇ）付近の色相値にあらかじめ設定されてもよい。
【００８１】
次に、輝度特徴量と色相特徴量の使い分けについて説明する。
前述のように、輝度特徴量は、画素ペアに含まれる各画素の輝度差の符号に基づいてビット値が決定される局所特徴量であり、これはＢＲＩＥＦに相当する。一方、本実施の形態において、色相特徴量は、画素ペアに含まれる各画素についての変換色相値の差の符号に基づいてビット値が決定される局所特徴量である。そして、本実施の形態では、輝度特徴量だけでなく色相特徴量も用いて画像類否判断を実行することで、その判断精度を向上させる。
【００８２】
ここで、輝度特徴量と色相特徴量を両方用いる方法の一例としては、各特徴点について輝度特徴量と色相特徴量の両方を算出しておき、画像類否判断の際に両方の局所特徴量を使用する方法も考えられる。しかし、この方法では、局所特徴量の計算量が多くなることで、類否判断のための処理負荷が高まり、その処理時間が長くなってしまう。
【００８３】
そこで、本実施の形態の画像処理装置１００は、特徴点ごとに、輝度特徴量と色相特徴量のどちらを用いた方が適切かを示す「有用度」を算出する。そして、画像処理装置１００は、有用度に基づいて、特徴点ごとに輝度特徴量と色相特徴量とを選択的に算出し、算出された局所特徴量を画像認識処理に用いるようにする。ここで、図９、図１０を用いて、有用度算出部１２３による有用度の算出処理について説明する。
【００８４】
図９は、絶対値ベクトルの算出処理について説明するための図である。有用度算出部１２３は、有用度を算出するための中間データとして、記憶画像内の特徴点ごとに輝度絶対値ベクトルと色相絶対値ベクトルを算出する。輝度絶対値ベクトルと色相絶対値ベクトルは、ともに、特徴領域内の各画素ペアに対応するビット値が組み合わされたビット列である。したがって、輝度絶対値ベクトルと色相絶対値ベクトルは、局所特徴量と同じケタ数を有する。
【００８５】
例えば、有用度算出部１２３は、画像２００に設定された特徴点２０１に対応する特徴領域２０２を特定する。有用度算出部１２３は、特徴領域２０２の輝度データを用いて、画素ペアごとに、画素ペアに含まれる各画素の輝度差の絶対値を算出する。そして、有用度算出部１２３は、算出された輝度差の絶対値を０より大きい所定の閾値と比較し、輝度差の絶対値が閾値以上の場合、対応するビット値を１に設定し、輝度差の絶対値が閾値未満の場合、対応するビット値を０に設定する（ステップＳ２１）。このような手順で画素ペアごとのビット値が決定されることで、輝度絶対値ベクトルが算出される。
【００８６】
また、有用度算出部１２３は、特徴領域２０２の変換色相値を用いて、画素ペアごとに、画素ペアに含まれる各画素についての変換色相値の差分の絶対値を算出する。そして、有用度算出部１２３は、算出された差分の絶対値を上記の閾値と比較し、差分の絶対値が閾値以上の場合、対応するビット値を１に設定し、差分の絶対値が閾値未満の場合、対応するビット値を０に設定する（ステップＳ２２）。このような手順で画素ペアごとのビット値が決定されることで、色相絶対値ベクトルが算出される。
【００８７】
輝度絶対値ベクトルのビット値が１であることは、そのビット値に対応する画素ペアについての輝度差が大きいことを示す。したがって、輝度絶対値ベクトルに含まれるビット値「１」の数が多いほど、対応する特徴点における輝度特徴量の安定性が高い（すなわち、輝度特徴量の有用度が高い）ことを示す。また、色相絶対値ベクトルのビット値が１であることは、そのビット値に対応する画素ペアについての色相差が大きいことを示す。したがって、色相絶対値ベクトルに含まれるビット値「１」の数が多いほど、対応する特徴点における色相特徴量の安定性が高い（すなわち、色相特徴量の有用度が高い）ことを示す。
【００８８】
図１０は、中間データ管理テーブルの構成例を示す図である。有用度算出部１２３は、ある記憶画像についての有用度を算出する際に、その記憶画像に対応する中間データ管理テーブル１１３を作成し、記憶部１１０に格納する。中間データ管理テーブル１１３には、特徴点を識別するためのＩＤ、特徴点の座標、輝度絶対値ベクトル、輝度ノルム、色相絶対値ベクトルおよび色相ノルムが登録される。
【００８９】
中間データ管理テーブル１１３には、記憶画像に設定される各特徴点に対応するレコードがあらかじめ作成され、有用度算出部１２３は、特徴点ごとに算出された輝度絶対値ベクトルと色相絶対値ベクトルを、対応するレコードに登録する。また、輝度ノルムは、輝度絶対値ベクトルのノルムを示し、色相ノルムは、色相絶対値ベクトルのノルムを示す。「ノルム」とは、ビット列に含まれる「１」の数を示す。したがって、輝度ノルムは輝度特徴量の有用度を示し、色相ノルムは色相特徴量の有用度を示す。すなわち、輝度ノルムが大きいほど輝度特徴量の安定性が高いことを示し、色相ノルムが大きいほど色相特徴量の安定性が高いことを示す。
【００９０】
有用度算出部１２３は、特徴点ごとに、輝度絶対値ベクトルに基づいて輝度ノルムを算出し、色相絶対値ベクトルに基づいて色相ノルムを算出して、特徴点に対応するレコードに登録する。次の図９に示すように、輝度ノルムと色相ノルムは、特徴点に対応する局所特徴量として輝度特徴量と色相特徴量のどちらを選択するかを決定するために利用される。
【００９１】
図１１は、局所特徴量の選択処理について説明するための図である。特徴量選択部１２４は、特徴量ごとに算出された輝度ノルムと色相ノルムとを比較し、輝度ノルムの方が大きい場合には局所特徴量として輝度特徴量を選択し、輝度ノルムが色相ノルム以下の場合には局所特徴量として色相特徴量を選択する。
【００９２】
以下、輝度特徴量が選択された特徴点を「輝度特徴点」と記載し、色相特徴量が選択された特徴点を「色相特徴点」と記載する。特徴量選択部１２４の処理により、記憶画像内の各特徴点は輝度特徴点と色相特徴点のいずれかに分類される。図１１の例では、画像２００の特徴点＃１は、輝度ノルムより色相ノルムの方が大きいため、色相特徴点に分類される。特徴点＃２は、色相ノルムより輝度ノルムの方が大きいため、輝度特徴点に分類される。特徴点＃３は、輝度ノルムより色相ノルムの方が大きいため、色相特徴点に分類される。特徴点＃４は、色相ノルムより輝度ノルムの方が大きいため、輝度特徴点に分類される。
【００９３】
図１２は、輝度特徴量管理テーブルおよび色相特徴量管理テーブルの構成例を示す図である。特徴量選択部１２４は、ある記憶画像上の各特徴点について、上記のような局所特徴量の選択処理を実行する際に、その記憶画像にそれぞれ対応する輝度特徴量管理テーブル１１４および色相特徴量管理テーブル１１５を作成し、記憶部１１０に格納する。輝度特徴量管理テーブル１１４には、輝度特徴点を識別するためのＩＤと、輝度特徴点の座標と、輝度特徴量とが登録される。色相特徴量管理テーブル１１５には、色相特徴点を識別するためのＩＤと、色相特徴点の座標と、色相特徴量とが登録される。
【００９４】
特徴量選択部１２４は、特徴点を輝度特徴点に分類すると、輝度特徴量管理テーブル１１４にレコードを追加し、そのレコードに輝度特徴点のＩＤおよび座標を登録する。その後、特徴量算出部１２５によって輝度特徴点に対応する輝度特徴量が算出されると、その輝度特徴量が該当レコードに登録される。
【００９５】
また、特徴量選択部１２４は、特徴点を色相特徴点に分類すると、色相特徴量管理テーブル１１５にレコードを追加し、そのレコードに色相特徴点のＩＤおよび座標を登録する。その後、特徴量算出部１２５によって色相特徴点に対応する色相特徴量が算出されると、その色相特徴量が該当レコードに登録される。
【００９６】
図１３は、局所特徴量の算出処理について説明するための図である。例えば、特徴量算出部１２５は、画像２００に設定された特徴点２０４が輝度特徴点に分類されている場合、特徴点２０４に対応する特徴領域の輝度データに基づいて、輝度特徴量（ＢＲＩＥＦ）２０４ａを算出する。特徴量算出部１２５は、算出された輝度特徴量２０４ａを、輝度特徴量管理テーブル１１４の特徴点２０４に対応するレコードに登録する（ステップＳ３１）。
【００９７】
また、例えば、特徴量算出部１２５は、画像２００に設定された特徴点２０５が色相特徴点に分類されている場合、特徴点２０５に対応する特徴領域の色相データに基づいて、色相特徴量２０５ａを算出する。特徴量算出部１２５は、算出された色相特徴量２０５ａを、色相特徴量管理テーブル１１５の特徴点２０５に対応するレコードに登録する（ステップＳ３２）。
【００９８】
以上の手順により、記憶画像ごとの特徴量が算出されて記憶部１１０に登録される。
＜画像認識処理＞
次に、図１４〜図１６を用いて、画像認識部１２６による画像認識処理について説明する。
【００９９】
図１４は、対応点の抽出処理について説明するための図である。画像認識部１２６は、ユーザの操作入力に応じて記憶画像からキー画像を選択する。そして、画像認識部１２６は、選択したキー画像と他の撮像画像（参照画像）とを比較し、参照画像の中からキー画像と類似する画像を探索する。
【０１００】
キー画像と参照画像との比較では、画像間で類似する特徴点が探索される。この処理では、画像認識部１２６は、キー画像から選択した特徴点の局所特徴量と、参照画像の各特徴点の局所特徴量とのハミング距離を計算し、参照画像の特徴点のうちハミング距離が最小の特徴点を、類似度が最も高い対応点として抽出する。
【０１０１】
図１４では、参照画像２３０からキー画像２２０上の特徴点に対応する対応点を抽出する処理を例示している。本実施の形態では、前述のように、キー画像２２０上の特徴点と参照画像２３０上の特徴点は、輝度特徴点と色相特徴点のいずれかに分類されている。
【０１０２】
そこで、画像認識部１２６は、参照画像２３０上の特徴点のうち輝度特徴点の中から、キー画像２２０上の特徴点のうち輝度特徴点にそれぞれ対応する対応点を抽出する（Ｓ４１ａ）。この対応点の抽出では、キー画像２２０上の輝度特徴点について算出された輝度特徴量と、参照画像２３０上の輝度特徴点について算出された輝度特徴量とが比較される。また、画像認識部１２６は、参照画像２３０上の特徴点のうち色相特徴点の中から、キー画像２２０上の特徴点のうち色相特徴点にそれぞれ対応する対応点を抽出する（Ｓ４２ａ）。この対応点の抽出では、キー画像２２０上の色相特徴点について算出された色相特徴量と、参照画像２３０上の色相特徴点について算出された色相特徴量とが比較される。
【０１０３】
次に、画像認識部１２６は、キー画像２２０上の輝度特徴点ごとに次のような処理を実行する。画像認識部１２６は、キー画像２２０上の輝度特徴点と参照画像２３０上の対応点とが一致するように参照画像２３０にキー画像２２０を重ねた場合の、参照画像２３０におけるキー画像２２０の中心位置を推定する。画像認識部１２６は、参照画像２３０の各画素のうち、推定された中心位置の画素に対して投票する（ステップＳ４１ｂ）。投票数は、例えば、投票マップ２４０を用いて管理される。
【０１０４】
また、キー画像２２０上の色相特徴点についても同様の処理が実行される。すなわち、画像認識部１２６は、キー画像２２０上の色相特徴点ごとに次のような処理を実行する。画像認識部１２６は、キー画像２２０上の色相特徴点と参照画像２３０上の対応点とが一致するように参照画像２３０にキー画像２２０を重ねた場合の、参照画像２３０におけるキー画像２２０の中心位置を推定する。画像認識部１２６は、参照画像２３０の各画素のうち、推定された中心位置の画素に対して投票する（ステップＳ４２ｂ）。投票数は、共通の投票マップ２４０を用いて管理される。
【０１０５】
画像認識部１２６は、以上のような投票の結果に基づき、参照画像２３０の画素の中から投票数が最大の画素を判別し、判別した画素の投票数が所定の閾値を超えている場合に、参照画像２３０をキー画像２２０に類似する画像と判定する。
【０１０６】
図１５は、投票処理を説明するための図である。図１５では、キー画像２２０の特徴点２２１と類似する参照画像２３０の対応点を探索する処理の例を示す。なお、特徴点２２１は、輝度特徴点と色相特徴点のいずれかである。画像認識部１２６は、例えば、キー画像２２０の特徴点２２１の局所特徴量と、参照画像２３０の各特徴点の局所特徴量とのハミング距離を計算することで、対応点を探索する（ステップＳ５１）。
【０１０７】
キー画像２２０の特徴点２２１に対する対応点として、参照画像２３０の特徴点２３１が抽出されたものとする。このとき、画像認識部１２６は、特徴点２２１と特徴点２３１（対応点）とが一致するように参照画像２３０にキー画像２２０を重ねた場合の、参照画像２３０におけるキー画像２２０の中心位置２２２を推定する（ステップＳ５２）。
【０１０８】
ここで、参照画像の横幅および高さの画素数をそれぞれｗｉ，ｈｉとし、キー画像の横幅および高さの画素数をそれぞれｗｒ，ｈｒとする。キー画像の特徴点（ｘｒ，ｙｒ）に対応する参照画像の対応点として参照画像の特徴点（ｘｉ，ｙｉ）が探索されたとすると、参照画像におけるキー画像の中心点の位置（ｘｖ，ｙｖ）は、次の式（１），（２）を用いて算出される。
ｘｖ＝ｘｉ・ｘｒ＋（ｗｒ／２）      ・・・（１）
ｙｖ＝ｙｉ・ｙｒ＋（ｈｒ／２）      ・・・（２）
図１５の特徴点２２１と特徴点２３１との対応関係に基づいて、参照画像２３０におけるキー画像２２０の中心位置として画素２３２が推定されたとすると、画像認識部１２６は、参照画像２３０の画素のうち、画素２３２に対して投票する。この投票処理には、例えば、前述の投票マップ２４０が用いられる。投票マップ２４０は、参照画像２３０の各画素に対応するエントリを有する。投票マップ２４０の各エントリの初期値は０とされる。図１５の処理では、投票マップ２４０における画素２３２に対応するエントリに１が加算される（ステップＳ５３）。
【０１０９】
なお、実際には、画像認識部１２６は、例えば、画素２３２を中心とした所定領域（例えば、１０画素四方の矩形領域）に含まれる各画素に投票してもよい。これにより、キー画像２２０と参照画像２３０との違いに対してある程度ロバストな認識処理を行うことが可能になる。
【０１１０】
図１６は、投票結果に基づく類似画像の判定処理について説明するための図である。図１６に示す投票マップ２４０ａは、図１５に示すような処理がキー画像２２０の各特徴点について実行された後の投票マップ２４０の状態を示す。画像認識部１２６は、投票マップ２４０ａにおける各画素についての投票数のうちの最大値を抽出し、この最大値が所定の閾値を超えているかを判定する。
【０１１１】
キー画像２２０と参照画像２３０とに同じ対象物が写っている場合、キー画像２２０の特徴点と参照画像２３０の対応点との位置関係が、キー画像の特徴点間で同じ場合が多い。この場合、投票マップ２４０ａにおける同じ画素に対応するエントリに投票数が集中する。一方、キー画像２２０と参照画像２３０との関連性が低い場合、キー画像２２０の特徴点と参照画像２３０の対応点との位置関係が、キー画像２２０の特徴点間で異なる場合が多い。この場合、投票マップ２４０ａにおいて投票数が分散する。
【０１１２】
したがって、投票マップ２４０ａにおける投票数の最大値が閾値を超えた場合には、投票数が同じ画素に集中していると推定されるため、キー画像２２０と参照画像２３０とに同じ対象物が写っている可能性が高いと判断できる。このことから、画像認識部１２６は、投票数の最大値が閾値を超えた場合、参照画像２３０をキー画像２２０に類似する画像であると判定する。
【０１１３】
なお、実際には、参照画像２３０における特徴点の数によって投票数の最大値が影響を受けることから、例えば、参照画像２３０における特徴点の数で投票数を除算するなどの正規化処理が行われた上で、閾値との比較が行われることが望ましい。
【０１１４】
＜フローチャート＞
次に、画像処理装置１００の処理についてフローチャートを用いて説明する。
図１７は、特徴量算出処理の例を示すフローチャートである。
【０１１５】
［ステップＳ１０１］基準色相値決定部１２２は、記憶部１１０に記憶された全記憶画像における色相値の分布状態に基づいて、基準色相値Ｈｂａｓｅを決定する。
［ステップＳ１０２］特徴量算出部１２５は、記憶画像を１つ選択する。
【０１１６】
［ステップＳ１０３］有用度算出部１２３は、記憶画像上の各特徴点について、輝度特徴量の有用度と色相特徴量の有用度とを算出する。
［ステップＳ１０４］特徴量選択部１２４は、ステップＳ１０３で算出された有用度に基づいて、記憶画像上の各特徴点に対応する局所特徴量として、輝度特徴量と色相特徴量のいずれかを選択する。すなわち、特徴量選択部１２４は、記憶画像上の各特徴点を輝度特徴点と色相特徴点のいずれかに分類する。
【０１１７】
［ステップＳ１０５］特徴量算出部１２５は、輝度特徴点における輝度特徴量を算出し、選択された記憶画像に対応する輝度特徴量管理テーブル１１４に登録する。また、特徴量算出部１２５は、色相特徴点における色相特徴量を算出し、選択された記憶画像に対応する色相特徴量管理テーブル１１５に登録する。
【０１１８】
［ステップＳ１０６］特徴量算出部１２５は、記憶部１１０に記憶されている記憶画像のすべてについてステップＳ１０２〜Ｓ１０５の処理を実行したかを判定する。未実行の記憶画像がある場合、特徴量算出部１２５は、ステップＳ１０２の処理を実行して、未実行の記憶画像を１つ選択する。一方、すべての記憶画像について処理を実行済みである場合、特徴量算出部１２５は処理を終了する。
【０１１９】
図１８は、基準色相値算出処理の例を示すフローチャートである。この図１８の処理は、図１７のステップＳ１０１の処理に対応する。
［ステップＳ１１１］基準色相値決定部１２２は、記憶画像を１つ選択する。
【０１２０】
［ステップＳ１１２］基準色相値決定部１２２は、記憶画像の各画素の色相値に基づき、色相値ごとの発生頻度を算出する。
［ステップＳ１１３］基準色相値決定部１２２は、記憶部１１０に記憶されている記憶画像のすべてについてステップＳ１１１，Ｓ１１２の処理を実行したかを判定する。未実行の記憶画像がある場合、基準色相値決定部１２２は、ステップＳ１１１の処理を実行して、未実行の記憶画像を１つ選択する。一方、すべての記憶画像について処理を実行済みである場合、基準色相値決定部１２２は、ステップＳ１１４の処理を実行する。
【０１２１】
［ステップＳ１１４］基準色相値決定部１２２は、ステップＳ１１２で算出された発生頻度を、色相値ごとに合計する。
［ステップＳ１１５］基準色相値決定部１２２は、ステップＳ１１４での算出結果に基づき、発生頻度の合計値が最も小さい色相値を基準色相値Ｈｂａｓｅに決定する。
【０１２２】
図１９は、有用度算出処理の例を示すフローチャートである。この図１９の処理は、図１７のステップＳ１０３の処理に対応する。
［ステップＳ１２１］有用度算出部１２３は、ステップＳ１０２で選択した記憶画像から特徴点を１つ選択する。
【０１２３】
［ステップＳ１２２］有用度算出部１２３は、画素ペア管理テーブル１１２から画素ペアを１つ選択する。
［ステップＳ１２３］有用度算出部１２３は、ステップＳ１２１で選択した特徴点を中心とした一定範囲の特徴領域から、ステップＳ１２２で選択した画素ペアに対応する２つの画素を選択し、選択した画素間の輝度差の絶対値を計算する。輝度差は、画素ペアに含まれる画素のうち、第１画素の輝度値から第２画素の輝度値を減算することで算出される。
【０１２４】
有用度算出部１２３は、算出された輝度差の絶対値を０より大きい所定の閾値と比較する。有用度算出部１２３は、輝度差の絶対値が閾値以上の場合、ビット値を１に決定し、輝度差の絶対値が閾値未満の場合、ビット値を０に決定する。有用度算出部１２３は、決定されたビット値を、輝度特徴点に対応する輝度絶対値ベクトルを示すビット列の下位に付加する。
【０１２５】
［ステップＳ１２４］有用度算出部１２３は、ステップＳ１２１で選択した特徴点を中心とした一定範囲の特徴領域から、ステップＳ１２２で選択した画素ペアに対応する２つの画素を選択し、選択した画素間における変換色相値の差分の絶対値を計算する。差分は、画素ペアに含まれる画素のうち、第１画素の変換色相値から第２画素の変換色相値を減算することで算出される。なお、変換色相値は、ステップＳ１０１で決定された基準色相値Ｈｂａｓｅに基づいて算出される。この算出方法については、後の図２０で説明する。
【０１２６】
有用度算出部１２３は、算出された差分の絶対値を０より大きい所定の閾値と比較する。有用度算出部１２３は、差分の絶対値が閾値以上の場合、ビット値を１に決定し、差分の絶対値が閾値未満の場合、ビット値を０に決定する。有用度算出部１２３は、決定されたビット値を、色相特徴点に対応する色相絶対値ベクトルを示すビット列の下位に付加する。
【０１２７】
［ステップＳ１２５］有用度算出部１２３は、画素ペア管理テーブル１１２に登録されたすべての画素ペアについてステップＳ１２２〜Ｓ１２４の処理を実行したかを判定する。未実行の画素ペアがある場合、有用度算出部１２３は、ステップＳ１２２の処理を実行して、未実行の画素ペアを選択する。
【０１２８】
一方、すべての画素ペアについて処理を実行済みの場合、有用度算出部１２３は、中間データ管理テーブル１１３からステップＳ１２１で選択した特徴点に対応するレコードを特定する。有用度算出部１２３は、特定したレコードに対して、ステップＳ１２３の処理により生成された輝度絶対値ベクトルと、ステップＳ１２４の処理により生成された色相絶対値ベクトルとを登録する。そして、有用度算出部１２３は、ステップＳ１２６の処理を実行する。
【０１２９】
［ステップＳ１２６］有用度算出部１２３は、輝度絶対値ベクトルのノルムを輝度ノルムとして算出し、ステップＳ１２５で特定したレコードに登録する。
［ステップＳ１２７］有用度算出部１２３は、色相絶対値ベクトルのノルムを色相ノルムとして算出し、ステップＳ１２５で特定したレコードに登録する。
【０１３０】
［ステップＳ１２８］有用度算出部１２３は、ステップＳ１２１〜Ｓ１２７の処理をすべての特徴点について実行したかを判定する。未実行の特徴点がある場合、有用度算出部１２３は、ステップＳ１２１の処理を実行して、未実行の特徴点を選択する。一方、すべての特徴点について処理を実行済みの場合、有用度算出部１２３は処理を終了する。
【０１３１】
以上の図１９の処理により、記憶画像に対応する中間データ管理テーブル１１３において、すべての特徴点について、輝度特徴量の有用度を示す輝度ノルムと、色相特徴量の有用度を示す色相ノルムとが登録される。
【０１３２】
図２０は、色相値変換処理の例を示すフローチャートである。この図２０の処理は、記憶画像の画素ごとに、元の色相値Ｈを基準色相値Ｈｂａｓｅに基づいて変換色相値Ｈｎｅｗに変換する処理であり、図１９のステップＳ１２４、および後述する図２２のステップＳ１５８において実行される。図２０の処理は、ステップＳ１２４では有用度算出部１２３により実行され、ステップＳ１５８では特徴量算出部１２５により実行される。
【０１３３】
［ステップＳ１３１］画素値に基づいて、色相値Ｈが算出される。
［ステップＳ１３２］色相値Ｈから基準色相値Ｈｂａｓｅが減算されることで、変換色相値Ｈｎｅｗが算出される。
【０１３４】
［ステップＳ１３３］ステップＳ１３２で算出された変換色相値Ｈｎｅｗが０より小さいかが判定される。変換色相値Ｈｎｅｗが０以上の場合、画素に対応する変換色相値Ｈｎｅｗが確定され、処理が終了する。一方、変換色相値Ｈｎｅｗが０より小さい場合、ステップＳ１３４の処理が実行される。
【０１３５】
［ステップＳ１３４］ステップＳ１３２で算出された変換色相値Ｈｎｅｗに２５６が加算され、加算後の値が変換色相値Ｈｎｅｗに確定される。
図２１は、特徴量選択処理の例を示すフローチャートである。この図２１の処理は、図１７のステップＳ１０４の処理に対応する。
【０１３６】
［ステップＳ１４１］特徴量選択部１２４は、ステップＳ１０２で選択した記憶画像から特徴点を１つ選択する。実際の処理としては、特徴量選択部１２４は、図１９の処理によって作成された中間データ管理テーブル１１３から、レコードを１つ選択する。
【０１３７】
［ステップＳ１４２］特徴量選択部１２４は、ステップＳ１４１で選択したレコードから輝度ノルムと色相ノルムを読み出し、輝度ノルムが色相ノルムより大きいかを判定する。特徴量選択部１２４は、輝度ノルムが色相ノルムより大きい場合、ステップＳ１４３の処理を実行し、輝度ノルムが色相ノルム以下の場合、ステップＳ１４４の処理を実行する。
【０１３８】
［ステップＳ１４３］特徴量選択部１２４は、ステップＳ１４１で選択した特徴点に対応する局所特徴量として、輝度特徴量を選択する。このとき、特徴量選択部１２４は、ステップＳ１０２で選択した記憶画像に対応する輝度特徴量管理テーブル１１４に、レコードを１つ追加する。特徴量選択部１２４は、追加したレコードに、ステップＳ１４１で選択した特徴点を示すＩＤと、この特徴点の座標とを登録する。
【０１３９】
［ステップＳ１４４］特徴量選択部１２４は、ステップＳ１４１で選択した特徴点に対応する局所特徴量として、色相特徴量を選択する。このとき、特徴量選択部１２４は、ステップＳ１０２で選択した記憶画像に対応する色相特徴量管理テーブル１１５に、レコードを１つ追加する。特徴量選択部１２４は、追加したレコードに、ステップＳ１４１で選択した特徴点を示すＩＤと、この特徴点の座標とを登録する。
【０１４０】
［ステップＳ１４５］特徴量選択部１２４は、ステップＳ１４１〜Ｓ１４４の処理をすべての特徴点について実行したかを判定する。未実行の特徴点がある場合、特徴量選択部１２４は、ステップＳ１４１の処理を実行して、未実行の特徴点を選択する。一方、すべての特徴点について処理を実行済みの場合、特徴量選択部１２４は処理を終了する。
【０１４１】
以上の図２１の処理により、記憶画像内のすべての特徴点が、有用度の比較に基づいて輝度特徴点と色相特徴点のいずれかに分類される。ステップＳ１４３では、輝度特徴点に分類された特徴点の座標が輝度特徴量管理テーブル１１４に登録され、ステップＳ１４４では、色相特徴点に分類された特徴点の座標が色相特徴量管理テーブル１１５に登録される。そして、次の図２２の処理により、輝度特徴点および色相特徴点のそれぞれに対応する局所特徴量が算出され、輝度特徴量管理テーブル１１４と色相特徴量管理テーブル１１５のいずれかに登録される。
【０１４２】
図２２は、特徴量登録処理の例を示すフローチャートである。この図２２の処理は、図１７のステップＳ１０５の処理に対応する。
［ステップＳ１５１］特徴量算出部１２５は、ステップＳ１０２で選択した記憶画像から輝度特徴点を１つ選択する。実際の処理としては、特徴量算出部１２５は、ステップＳ１０２で選択した記憶画像に対応する輝度特徴量管理テーブル１１４から、レコードを１つ選択する。
【０１４３】
［ステップＳ１５２］特徴量算出部１２５は、画素ペア管理テーブル１１２から画素ペアを１つ選択する。
［ステップＳ１５３］特徴量算出部１２５は、ステップＳ１５１で選択した輝度特徴点を中心とした一定範囲の特徴領域から、ステップＳ１５２で選択した画素ペアに対応する２つの画素を選択し、選択した各画素間の輝度差を計算する。輝度差は、画素ペアに含まれる画素のうち、第１画素の輝度値から第２画素の輝度値を減算することで算出される。
【０１４４】
特徴量算出部１２５は、算出された輝度差が０より大きい場合、ビット値を１に決定し、算出された輝度差が０以下の場合、ビット値を０に決定する。特徴量算出部１２５は、決定されたビット値を、輝度特徴点に対応する輝度特徴量を示すビット列の下位に付加する。
【０１４５】
［ステップＳ１５４］特徴量算出部１２５は、画素ペア管理テーブル１１２に登録されたすべての画素ペアについてステップＳ１５２，Ｓ１５３の処理を実行したかを判定する。未実行の画素ペアがある場合、特徴量算出部１２５は、ステップＳ１５２の処理を実行して、未実行の画素ペアを選択する。
【０１４６】
一方、すべての画素ペアについて処理を実行済みの場合には、ステップＳ１５３でのビット列の生成が完了している。この場合、特徴量算出部１２５は、ステップＳ１５１で輝度特徴量管理テーブル１１４から選択したレコードに、生成されたビット列を輝度特徴量として登録する。
【０１４７】
［ステップＳ１５５］特徴量算出部１２５は、ステップＳ１５１〜Ｓ１５４の処理をすべての輝度特徴点について実行したかを判定する。未実行の輝度特徴点がある場合、特徴量算出部１２５は、ステップＳ１５１の処理を実行して、未実行の輝度特徴点を選択する。一方、すべての輝度特徴点について処理を実行済みの場合、特徴量算出部１２５は、ステップＳ１５６の処理を実行する。
【０１４８】
［ステップＳ１５６］特徴量算出部１２５は、ステップＳ１０２で選択した記憶画像から色相特徴点を１つ選択する。実際の処理としては、特徴量算出部１２５は、ステップＳ１０２で選択した記憶画像に対応する色相特徴量管理テーブル１１５から、レコードを１つ選択する。
【０１４９】
［ステップＳ１５７］特徴量算出部１２５は、画素ペア管理テーブル１１２から画素ペアを１つ選択する。
［ステップＳ１５８］特徴量算出部１２５は、ステップＳ１５６で選択した色相特徴点を中心とした一定範囲の特徴領域から、ステップＳ１５７で選択した画素ペアに対応する２つの画素を選択し、選択した各画素間における変換色相値の差分を計算する。この差分は、画素ペアに含まれる画素のうち、第１画素の変換色相値から第２画素の変換色相値を減算することで算出される。
【０１５０】
特徴量算出部１２５は、算出された差分が０より大きい場合、ビット値を１に決定し、算出された差分が０以下の場合、ビット値を０に決定する。特徴量算出部１２５は、決定されたビット値を、色相特徴点に対応する色相特徴量を示すビット列の下位に付加する。
【０１５１】
［ステップＳ１５９］特徴量算出部１２５は、画素ペア管理テーブル１１２に登録されたすべての画素ペアについてステップＳ１５７，Ｓ１５８の処理を実行したかを判定する。未実行の画素ペアがある場合、特徴量算出部１２５は、ステップＳ１５７の処理を実行して、未実行の画素ペアを選択する。
【０１５２】
一方、すべての画素ペアについて処理を実行済みの場合には、ステップＳ１５８でのビット列の生成が完了している。この場合、特徴量算出部１２５は、ステップＳ１５６で色相特徴量管理テーブル１１５から選択したレコードに、生成されたビット列を色相特徴量として登録する。
【０１５３】
［ステップＳ１６０］特徴量算出部１２５は、ステップＳ１５６〜Ｓ１５９の処理をすべての色相特徴点について実行したかを判定する。未実行の色相特徴点がある場合、特徴量算出部１２５は、ステップＳ１５６の処理を実行して、未実行の色相特徴点を選択する。一方、すべての色相特徴点について処理を実行済みの場合、特徴量算出部１２５は処理を終了する。
【０１５４】
以上の図２２の処理により、記憶画像内のすべての特徴点について、輝度特徴量または色相特徴量のいずれかが算出され、記憶部１１０に登録される。特に、本実施の形態では、色相特徴量は元の色相値でなく、基準色相値Ｈｂａｓｅを基に変換された変換色相値Ｈｎｅｗを用いて算出される。
【０１５５】
図２３、図２４は、画像認識処理の例を示すフローチャートである。
［ステップＳ１７１］画像認識部１２６は、ユーザの操作入力に応じて記憶画像からキー画像を選択する。
【０１５６】
［ステップＳ１７２］画像認識部１２６は、キー画像以外の記憶画像（参照画像）の中から１つを選択する。
［ステップＳ１７３］画像認識部１２６は、キー画像の輝度特徴量管理テーブル１１４に基づいて、キー画像の輝度特徴点を１つ選択する。
【０１５７】
［ステップＳ１７４］画像認識部１２６は、ステップＳ１７２で選択した参照画像内の輝度特徴点の中から、ステップＳ１７３でキー画像から選択した輝度特徴点に類似する特徴点（対応点）を探索する。この処理では、画像認識部１２６は、キー画像に対応する輝度特徴量管理テーブル１１４と参照画像に対応する輝度特徴量管理テーブル１１４とを参照する。画像認識部１２６は、キー画像から選択した輝度特徴点に対応する輝度特徴量と、参照画像の各輝度特徴点に対応する輝度特徴量とのハミング距離を計算し、参照画像の輝度特徴点のうちハミング距離が最小の特徴点を、類似度が最も高い対応点として抽出する。
【０１５８】
［ステップＳ１７５］画像認識部１２６は、ステップＳ１７３で選択した輝度特徴点とステップＳ１７４で探索された対応点とが一致するように参照画像にキー画像を重ねた場合の、参照画像におけるキー画像の中心位置を推定する。画像認識部１２６は、参照画像の各画素のうち、推定された中心位置の画素に対して投票する。なお、実際には、画像認識部１２６は、例えば、推定された中心位置を中心とした所定領域（例えば、１０画素四方の矩形領域）に含まれる各画素に投票してもよい。
【０１５９】
［ステップＳ１７６］画像認識部１２６は、キー画像内のすべての輝度特徴点についてステップＳ１７３〜Ｓ１７５の処理を実行したかを判定する。未実行の輝度特徴点がある場合、画像認識部１２６は、ステップＳ１７３の処理を実行して、未実行の輝度特徴点を選択する。一方、すべての輝度特徴点について処理を実行済みの場合、画像認識部１２６は、図２４のステップＳ１８１の処理を実行する。
【０１６０】
以下、図２４を参照して説明を続ける。
［ステップＳ１８１］画像認識部１２６は、キー画像の色相特徴量管理テーブル１１５に基づいて、キー画像の色相特徴点を１つ選択する。
【０１６１】
［ステップＳ１８２］画像認識部１２６は、ステップＳ１７２で選択した参照画像内の色相特徴点の中から、ステップＳ１８１でキー画像から選択した色相特徴点に類似する特徴点（対応点）を探索する。この処理では、画像認識部１２６は、キー画像に対応する色相特徴量管理テーブル１１５と参照画像に対応する色相特徴量管理テーブル１１５とを参照する。画像認識部１２６は、キー画像から選択した色相特徴点に対応する色相特徴量と、参照画像の各色相特徴点に対応する色相特徴量とのハミング距離を計算し、参照画像の色相特徴点のうちハミング距離が最小の特徴点を、類似度が最も高い対応点として抽出する。
【０１６２】
［ステップＳ１８３］画像認識部１２６は、ステップＳ１８１で選択した色相特徴点とステップＳ１８２で探索された対応点とが一致するように参照画像にキー画像を重ねた場合の、参照画像におけるキー画像の中心位置を推定する。画像認識部１２６は、参照画像の各画素のうち、推定された中心位置の画素に対して投票する。なお、実際には、画像認識部１２６は、例えば、推定された中心位置を中心とした所定領域（例えば、１０画素四方の矩形領域）に含まれる各画素に投票してもよい。
【０１６３】
［ステップＳ１８４］画像認識部１２６は、キー画像内のすべての色相特徴点についてステップＳ１８１〜Ｓ１８３の処理を実行したかを判定する。未実行の色相特徴点がある場合、画像認識部１２６は、ステップＳ１８１の処理を実行して、未実行の色相特徴点を選択する。一方、すべての色相特徴点について処理を実行済みの場合、画像認識部１２６は、ステップＳ１８５の処理を実行する。
【０１６４】
［ステップＳ１８５］画像認識部１２６は、ステップＳ１７２で選択した参照画像の各画素についての投票数の最大値が所定の閾値を超えている場合、この参照画像をキー画像に類似する画像と判定する。この場合、画像認識部１２６は、例えば、キー画像に類似すると判定された参照画像の識別情報を出力する。一方、画像認識部１２６は、投票数の最大値が閾値以下の場合、この参照画像をキー画像に類似しない画像と判定する。
【０１６５】
なお、ステップＳ１８５では、画像認識部１２６は、例えば、投票数の最大値が所定の閾値を超えているすべての参照画像の識別情報を、投票数の大きさ順に出力してもよい。この場合、投票数は、キー画像と参照画像との類似度を示す。
【０１６６】
［ステップＳ１８６］画像認識部１２６は、すべての参照画像についてステップＳ１７２〜Ｓ１７６，Ｓ１８１〜Ｓ１８５の処理を実行したかを判定する。未実行の参照画像がある場合、画像認識部１２６は、ステップＳ１７２の処理を実行して、参照画像を１つ選択する。一方、すべての参照画像について処理を実行済みの場合、画像認識部１２６は処理を終了する。
【０１６７】
以上説明した画像処理装置１００によれば、記憶画像内の各特徴点が、輝度特徴量を用いた方が局所特徴量の安定性が高くなる輝度特徴点と、色相特徴量を用いた方が局所特徴量の安定性が高くなる色相特徴点のいずれかに分類される。これにより、特徴点に対応する特徴領域における各画素の輝度差が小さい場合でも、各画素の色相差が大きければ、照明状況やノイズに強い安定した局所特徴量を算出できる。
【０１６８】
また、色相特徴量は、変換色相値Ｈｎｅｗに基づいて算出される。これにより、検索対象の画像において、特定の色相（例えば、赤）の画素が多く発生する場合でも、照明状況やノイズに強い安定した色相特徴量を算出できる。
【０１６９】
そして、記憶画像から選択されたキー画像と参照画像との類似判定が行われる際には、参照画像内の輝度特徴点の中から、キー画像内の各輝度特徴点に対応する対応点が抽出される。これとともに、参照画像内の色相特徴点の中から、キー画像内の各色相特徴点に対応する対応点が抽出される。輝度特徴点の対応点が抽出される際には輝度特徴量が用いられ、色相特徴点の対応点が抽出される際には色相特徴量が用いられる。
【０１７０】
キー画像と参照画像における局所特徴量としては、上記のように安定した局所特徴量が算出されているので、対応点の抽出精度が向上する。その結果、画像間の類似判定精度を向上させることができる。
【０１７１】
また、特徴点ごとの局所特徴量として、輝度特徴量と色相特徴量のうち有用度が高い特徴量が選択的に算出される。このため、局所特徴量として輝度特徴量と色相特徴量の両方を用いる場合と比較して、局所特徴量の計算処理負荷を軽減でき、また、その処理時間を短縮できる。
【０１７２】
〔第３の実施の形態〕
図２５は、第３の実施の形態に係る画像処理装置の構成例および処理例を示す図である。図２５に示す画像処理装置２は、記憶部２ａと演算部２ｂを有する。記憶部２ａは、例えば、ＲＡＭ、ＨＤＤなどの記憶装置として実現される。演算部２ｂは、例えば、プロセッサとして実現される。
【０１７３】
記憶部２ａには、特徴量の算出対象となる画像１０が記憶されている。第１の実施の形態と同様に、画像１０には特徴領域１１が設定されており、特徴領域１１には画素ペア１１ａ〜１１ｄが設定されている。
【０１７４】
演算部２ｂは、記憶部２ａに記憶された画像１０の各画素の色相に基づき、次のような処理によって画像１０の特徴量を算出する。
まず、演算部２ｂは、特徴領域１１内の画素ペア１１ａ〜１１ｄのそれぞれについて、次のような判定処理を実行する（ステップＳ２ａ）。なお、ここでは、画素ペアに含まれる一方の画素の色相値をＨＡとし、他方の画素の色相値をＨＢとする。演算部２ｂは、色相値ＨＡと色相値ＨＢとの間の色相環２０における右回り方向の距離ＤＲと、色相値ＨＡと色相値ＨＢとの間の色相環２０における左回り方向の距離ＤＬのどちらが短いかを判定する。
【０１７５】
次に、演算部２ｂは、ステップＳ２ａでの判定結果に基づいて、画素ペア１１ａ〜１１ｄのそれぞれに対応するビット値を決定し、それらのビット値を配列することで、特徴領域１１についての局所特徴量１３を算出する（ステップＳ２ｂ）。
【０１７６】
ステップＳ２ａの判定処理によれば、画素ペアに含まれる一方の画素の色相と他方の画素の色相との間の色相環２０における近さが、正確に判定される。そのため、このような判定処理の結果を基にビット値が決定されることで、特徴領域１１に特定の色相（例えば赤）が含まれる場合であっても、ビット値が撮影条件やノイズの影響によって反転しにくくなる。
【０１７７】
例えば、図２５では、色相値ＨＡが最小値「０」に近い値となっている。このような場合、撮影条件やノイズ発生状況が変化すると、色相値ＨＡは色相環２０上の境界を越えて、最大値「２５５」に近い値に変動し得る。このため、色相値ＨＡと色相値ＨＢとの差分の符号を基にビット値を決定した場合、ビット値が反転しやすい。これに対して、距離ＤＲ，ＤＬのどちらが短いかという判定結果に基づいてビット値が決定されることで、撮影条件やノイズの影響によるビット値の反転が発生しにくくなる。
【０１７８】
このように、第３の実施の形態に係る画像処理装置２によれば、特定の色相を含む特徴領域においてビット値が反転しにくくなり、その結果、局所特徴量１３の値が安定化する。すなわち、ロバスト性の高い特徴量を算出できる。
【０１７９】
また、このような手順により、比較対象とする２つの画像のそれぞれから局所特徴量が算出され、各画像の局所特徴量の比較によって画像間の類似度が判定されることで、その判定精度を向上させることができる。
【０１８０】
〔第４の実施の形態〕
次に、第４の実施の形態に係る画像処理装置について説明する。第４の実施の形態に係る画像処理装置は、第３の実施の形態に係る画像処理装置２の処理機能を備える装置の一例であり、第２の実施の形態に係る画像処理装置１００の処理機能の一部を以下のように変形することで実現される。このため、以下の説明では、第２の実施の形態に係る画像処理装置１００との相違点を中心に説明し、その他の部分については適宜説明を省略する。
【０１８１】
図２６は、第４の実施の形態に係る画像処理装置が備える処理機能の構成例を示すブロック図である。図２６に示す画像処理装置１００ａは、図３に示した画像処理装置１００と同様の記憶部１１０、画像取得部１２１、特徴量選択部１２４および画像認識部１２６を備える。また、画像処理装置１００ａは、図３に示した有用度算出部１２３および特徴量算出部１２５の代わりに、有用度算出部１２３ａおよび特徴量算出部１２５ａを備える。また、画像処理装置１００ａは、図３に示した基準色相値決定部１２２を備えない。
【０１８２】
有用度算出部１２３ａは、有用度の算出の際に変換色相値でなく変換前の元の色相値を用いる点で、図３の有用度算出部１２３とは異なる。特徴量算出部１２５ａは、色相特徴量のビット値を、画素ペアの各色相値の色相環３２０における右回り方向の距離と左回り方向の距離のどちらが短いかによって決定する点で、図３の特徴量算出部１２５とは異なる。
【０１８３】
なお、記憶部１１０は、図２５に示した記憶部２ａの一例であり、有用度算出部１２３ａ、特徴量選択部１２４および特徴量算出部１２５ａは、図２５に示した演算部２ｂの一例である。また、画像処理装置１００の場合と同様に、画像処理装置１００ａが備える処理機能の一部は、画像処理装置１００ａとは別の外部装置に設けられていてもよい。
【０１８４】
図２７は、色相特徴量のビット値決定方法について説明するための図である。前述のように、色相差の符号を基に色相特徴量のビット値を決定する方法では、撮影条件やノイズ発生状況の違いにより、特定の色相について色相特徴量のビット値が容易に反転し得る。このような問題に対して、本実施の形態では、ビット値に対応する画素ペアに含まれる各画素の色相値に基づき、色相環３２０における色相値間の右回り方向の距離と左回り方向の距離のどちらが短いかによって、ビット値が決定される。
【０１８５】
具体的には、画素ペアに含まれる第１画素の色相値をＨ１とし、第２画素の色相値をＨ２とすると、例えば、特徴量算出部１２５は、次のような計算により、色相環３２０における色相値Ｈ１と色相値Ｈ２との間の右回り方向の距離Ｄを算出する。色相値Ｈ１が色相値Ｈ２以下の場合、特徴量算出部１２５は、下記の式（３）にしたがって距離Ｄを算出する。一方、色相値Ｈ１が色相値Ｈ２より大きい場合、特徴量算出部１２５は、下記の式（４）にしたがって距離Ｄを算出する。
Ｄ＝Ｈ２−Ｈ１      ・・・（３）
Ｄ＝２５６−（Ｈ１−Ｈ２）      ・・・（４）
そして、特徴量算出部１２５は、算出された距離Ｄが所定の閾値以下の場合、ビット値を０に決定し、距離Ｄが閾値より大きい場合、ビット値を１に決定する。閾値は、色相値がとり得る最小値と最大値との間の中間値に設定され、本実施の形態では「１２８」に設定される。
【０１８６】
図２７（Ａ）は、色相値Ｈ１が色相値Ｈ２以下である例として、Ｈ１＝１０、Ｈ２＝２２０の場合を示す。この場合、式（３）からＤ＝２１０と算出され、閾値「１２８」より大きいことから、ビット値が１に決定される。また、図２７（Ｂ）は、色相値Ｈ１が色相値Ｈ２より大きい例として、Ｈ１＝２２０、Ｈ２＝３０の場合を示す。この場合、式（４）からＤ＝６６と算出され、閾値「１２８」以下であることから、ビット値が０に決定される。
【０１８７】
このようにビット値が決定されることで、例えば、色相値が最小値「０」付近または最大値「２５５」をとり、撮影条件やノイズの影響によって大きく変動しやすい場合でも、決定されるビット値が変化しなくなる。例えば、図２７（Ａ）の例において第１画素の色相値Ｈ１が１０でなく２５０と検出された場合でも、ビット値はＨ＝１０の場合と同様に１に決定される。このように色相特徴量のビット値が反転しにくくなることで、ロバスト性の高い色相特徴量を算出できるようになる。その結果、画像間の類似判定精度や、画像認識精度を向上させることができる。
【０１８８】
ところで、上記のような色相特徴量の算出方法を採用した場合には、色相特徴量の有用度を算出するための色相絶対値ベクトルの算出を、次のように実行することが望ましい。有用度算出部１２３ａは、画素ペアの各色相値Ｈ１，Ｈ２が下記の第１条件と第２条件のいずれかを満たす場合に、色相絶対値ベクトルにおける画素ペアに対応するビット値を０に決定し、それ以外の場合にビット値を１に決定する。ここで、値「Ｘ」の絶対値をＡＢＳ（Ｘ）と表す。
【０１８９】
第１条件は、ＡＢＳ（Ｈ１−Ｈ２）が０より大きい所定の閾値ＴＨより小さい、という条件である。ここで、閾値ＴＨは、０より大きく、色相値がとり得る最小値と最大値との間の中間値（ここでは１２８）より小さい値に設定されるが、例えば２０以下など、比較的０に近い値に設定されることが望ましい。このような第１条件が満たされる場合、色相値Ｈ１，Ｈ２が色相環３２０における近い位置に存在しているため、撮影環境やノイズの影響などによって、色相環３２０における色相値Ｈ１，Ｈ２の位置関係が逆転しやすい。このため、このような色相値Ｈ１，Ｈ２に基づいて上記の距離Ｄを算出した場合、対応するビット値が反転しやすい。そこで、上記の第１条件を満たす場合、色相絶対値ベクトルのビット値を０に決定することで、色相特徴量より輝度特徴量が選択されやすくなる。
【０１９０】
第２条件は、ＡＢＳ（ＡＢＳ（Ｈ１−Ｈ２）−１２８）が上記閾値ＴＨより小さい、という条件である。この第２条件が満たされる場合、色相値Ｈ１，Ｈ２の間では、色相環３２０における右回り方向の距離と左回り方向の距離との差が小さい。このような色相値Ｈ１，Ｈ２に基づいて上記の距離Ｄを算出した場合、対応するビット値が反転しやすい。そこで、上記の第２条件を満たす場合にも、色相絶対値ベクトルのビット値を０に決定することで、色相特徴量より輝度特徴量が選択されやすくなる。
【０１９１】
さらに、第２条件が満たされる場合、色相値Ｈ１，Ｈ２は、ほぼ、色相環３２０における対向する位置に存在する（すなわち、補色関係にある）とも言える。例えば、看板や標識などの画像では、補色関係にある色を配色する場合、それらの輝度差が小さいとハレーションを起こすため、それらの輝度差を大きくすることが多い。そのため、色相値Ｈ１，Ｈ２が補色関係にある場合には、同じ画素ペアの輝度差が大きい可能性が高く、色相特徴量より輝度特徴量が選択された方が類似判定精度を高められる。したがって、第２条件を満たす場合に、色相絶対値ベクトルのビット値を０に決定し、輝度特徴量が選択されやすくすることで、類似判定精度の大幅な向上効果を期待できる。
【０１９２】
次に、画像処理装置１００ａの処理についてフローチャートを用いて説明する。
まず、画像処理装置１００ａは、図１７に示した処理ステップのうち、ステップＳ１０２〜Ｓ１０６によって特徴量算出処理を実行する。すなわち、ステップＳ１０１の処理は実行されない。ただし、図１７において有用度算出部１２３、特徴量算出部１２５によって実行された処理は、それぞれ有用度算出部１２３ａ、特徴量算出部１２５ａによって実行される。
【０１９３】
ステップＳ１０３の有用度算出処理は、次の図２８に示す手順で実行される。
図２８は、有用度算出処理の例を示すフローチャートである。この図２８に示すフローチャートでは、図１９に示した各処理ステップのうち、ステップＳ１２４の代わりにステップＳ１２４ａが実行される。なお、図２８の各処理は、有用度算出部１２３の代わりに有用度算出部１２３ａによって実行される。
【０１９４】
［ステップＳ１２４ａ］有用度算出部１２３ａは、ステップＳ１２１で選択した特徴点を中心とした一定範囲の特徴領域から、ステップＳ１２２で選択した画素ペアに対応する２つの画素を選択し、選択した画素間における色相差の絶対値を計算する。有用度算出部１２３は、算出された絶対値に基づき、前述の式（３）または式（４）にしたがって、色相絶対値ベクトルにおける、ステップＳ１１２で選択した画素ペアに対応するビット値を決定する。
【０１９５】
図２９は、色相絶対値ベクトルのビット値決定処理の例を示すフローチャートである。この図２９の処理は、図２８のステップＳ１２４ａの処理に対応する。
［ステップＳ２０１］有用度算出部１２３ａは、ステップＳ１２２で選択した画素ペアにおける第１画素の色相値Ｈ１と第２画素の色相値Ｈ２が、前述の第１条件を満たすかを判定する。第１条件とは、ＡＢＳ（Ｈ１−Ｈ２）が前述の閾値ＴＨより小さい、という条件である。有用度算出部１２３ａは、第１条件を満たす場合、ステップＳ２０３の処理を実行し、第１条件を満たさない場合、ステップＳ２０２の処理を実行する。
【０１９６】
［ステップＳ２０２］有用度算出部１２３ａは、色相値Ｈ１，Ｈ２が前述の第２条件を満たすかを判定する。第２条件とは、ＡＢＳ（ＡＢＳ（Ｈ１−Ｈ２）−１２８）が上記の閾値ＴＨより小さい、という条件である。有用度算出部１２３ａは、第２条件を満たす場合、ステップＳ２０３の処理を実行し、第２条件を満たさない場合、ステップＳ２０４の処理を実行する。
【０１９７】
［ステップＳ２０３］有用度算出部１２３ａは、ステップＳ１２２で選択した画素ペアに対応するビット値を０に決定する。有用度算出部１２３ａは、決定されたビット値を、色相特徴点に対応する色相絶対値ベクトルを示すビット列の下位に付加する。
【０１９８】
［ステップＳ２０４］有用度算出部１２３ａは、ステップＳ１２２で選択した画素ペアに対応するビット値を１に決定する。有用度算出部１２３ａは、決定されたビット値を、色相特徴点に対応する色相絶対値ベクトルを示すビット列の下位に付加する。
【０１９９】
次に、ステップＳ１０４の特徴量選択処理は、図２１と同様の手順で実行されるので、ここでは図示を省略する。ステップＳ１０５の特徴量登録処理は、次の図３０に示す手順で実行される。
【０２００】
図３０は、特徴量登録処理の例を示すフローチャートである。この図３０に示すフローチャートでは、図２２に示したステップＳ１５１〜Ｓ１５５が特徴量算出部１２５の代わりに特徴量算出部１２５ａによって実行された後、ステップＳ２１１〜Ｓ２２０の処理が実行される。
【０２０１】
［ステップＳ２１１］特徴量算出部１２５ａは、ステップＳ１０２で選択した記憶画像から色相特徴点を１つ選択する。実際の処理としては、特徴量算出部１２５ａは、ステップＳ１０２で選択した記憶画像に対応する色相特徴量管理テーブル１１５から、レコードを１つ選択する。
【０２０２】
［ステップＳ２１２］特徴量算出部１２５ａは、画素ペア管理テーブル１１２から画素ペアを１つ選択する。
［ステップＳ２１３］特徴量算出部１２５ａは、ステップＳ２１１で選択した色相特徴点を中心とした一定範囲の特徴領域から、ステップＳ１１２で選択した画素ペアに対応する２つの画素を選択し、第１画素の色相値Ｈ１と第２画素の色相値Ｈ２を算出する。特徴量算出部１２５ａは、色相値Ｈ１が色相値Ｈ２以下であるかを判定する。特徴量算出部１２５ａは、色相値Ｈ１が色相値Ｈ２以下の場合、ステップＳ２１４の処理を実行し、色相値Ｈ１が色相値Ｈ２より大きい場合、ステップＳ２１５の処理を実行する。
【０２０３】
［ステップＳ２１４］特徴量算出部１２５ａは、前述の式（３）にしたがって、色相環３２０における色相値Ｈ１と色相値Ｈ２との間の右回り方向の距離Ｄを算出する。
［ステップＳ２１５］特徴量算出部１２５ａは、前述の式（４）にしたがって、色相環３２０における色相値Ｈ１と色相値Ｈ２との間の右回り方向の距離Ｄを算出する。
【０２０４】
［ステップＳ２１６］特徴量算出部１２５ａは、算出された距離Ｄが閾値「１２８」以下であるかを判定する。特徴量算出部１２５ａは、距離Ｄが１２８以下の場合、ステップＳ２１７の処理を実行し、距離Ｄが１２８より大きい場合、ステップＳ２１８の処理を実行する。
【０２０５】
［ステップＳ２１７］特徴量算出部１２５ａは、ステップＳ２１２で選択した画素ペアに対応するビット値を０に決定する。特徴量算出部１２５ａは、決定されたビット値を、色相特徴点に対応する色相特徴量を示すビット列の下位に付加する。
【０２０６】
［ステップＳ２１８］特徴量算出部１２５ａは、ステップＳ２１２で選択した画素ペアに対応するビット値を１に決定する。特徴量算出部１２５ａは、決定されたビット値を、色相特徴点に対応する色相特徴量を示すビット列の下位に付加する。
【０２０７】
［ステップＳ２１９］特徴量算出部１２５ａは、画素ペア管理テーブル１１２に登録されたすべての画素ペアについてステップＳ２１２〜Ｓ２１８の処理を実行したかを判定する。未実行の画素ペアがある場合、特徴量算出部１２５ａは、ステップＳ２１２の処理を実行して、未実行の画素ペアを選択する。
【０２０８】
一方、すべての画素ペアについて処理を実行済みの場合には、色相特徴量を示すビット列の生成が完了している。この場合、特徴量算出部１２５ａは、ステップＳ２１１で色相特徴量管理テーブル１１５から選択したレコードに、生成されたビット列を色相特徴量として登録する。
【０２０９】
［ステップＳ２２０］特徴量算出部１２５ａは、ステップＳ２１１〜Ｓ２１９の処理をすべての色相特徴点について実行したかを判定する。未実行の色相特徴点がある場合、特徴量算出部１２５ａは、ステップＳ２１１の処理を実行して、未実行の色相特徴点を選択する。一方、すべての色相特徴点について処理を実行済みの場合、特徴量算出部１２５ａは処理を終了する。
【０２１０】
以上の図３０の処理により、記憶画像内のすべての特徴点について、輝度特徴量または色相特徴量のいずれかが算出され、記憶部１１０に登録される。特に、本実施の形態では、色相特徴量は色相値の差分から算出されるのではなく、色相環３２０における色相値間の右回り方向の距離と左回り方向の距離のどちらが短いかによって算出される。これにより、検索対象の画像において、特定の色相（例えば、赤）の画素が多く発生する場合でも、照明状況やノイズに強い安定した色相特徴量を算出できる。その結果、画像間の類似判定精度や、画像認識精度を向上させることができる。
【０２１１】
なお、上記の各実施の形態に示した装置（画像処理装置１，２，１００，１００ａ）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０２１２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０２１３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【０２１４】
１  画像処理装置
１ａ  記憶部
１ｂ  演算部
１０  画像
１１  特徴領域
１１ａ〜１１ｄ  画素ペア
１２  局所特徴量
２０  色相環
【図１】
2019079201.tif 000003
【図２】
2019079201.tif 000004
【図３】
2019079201.tif 000005
【図４】
2019079201.tif 000006
【図５】
2019079201.tif 000007
【図６】
2019079201.tif 000008
【図７】
2019079201.tif 000009
【図８】
2019079201.tif 000010
【図９】
2019079201.tif 000011
【図１０】
2019079201.tif 000012
【図１１】
2019079201.tif 000013
【図１２】
2019079201.tif 000014
【図１３】
2019079201.tif 000015
【図１４】
2019079201.tif 000016
【図１５】
2019079201.tif 000017
【図１６】
2019079201.tif 000018
【図１７】
2019079201.tif 000019
【図１８】
2019079201.tif 000020
【図１９】
2019079201.tif 000021
【図２０】
2019079201.tif 000022
【図２１】
2019079201.tif 000023
【図２２】
2019079201.tif 000024
【図２３】
2019079201.tif 000025
【図２４】
2019079201.tif 000026
【図２５】
2019079201.tif 000027
【図２６】
2019079201.tif 000028
【図２７】
2019079201.tif 000029
【図２８】
2019079201.tif 000030
【図２９】
2019079201.tif 000031
【図３０】
2019079201.tif 000032