図面 (/)

技術 画像処理プログラム、画像処理装置および画像処理方法

出願人 富士通株式会社
発明者 杉村昌彦森脇康貴武部浩明馬場孝之
出願日 2017年10月23日 (2年1ヶ月経過) 出願番号 2017-204706
公開日 2019年5月23日 (6ヶ月経過) 公開番号 2019-079201
状態 未査定
技術分野 イメージ分析
主要キーワード ノイズ発生状況 計算処理負荷 有限範囲 最小値付近 類否判断 画像認識精度 輝度特徴量 特徴点付近
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年5月23日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

ロバスト性の高い特徴量を算出する。

解決手段

演算部1bは、画像10の各画素についての第1の色相値を、画像10における第1の色相値の分布状態に基づいて決定される基準色相値Hbaseを基準として算出された第2の色相値に変換する。そして、演算部1bは、画像10内の特徴領域11に設定された画素ペア11a〜11dのそれぞれに含まれる画素間における第2の色相値の差分を算出し、差分に基づいて、画素ペア11a〜11dのそれぞれに対応するビットを有する、特徴領域11についての局所特徴量12を算出する。

概要

背景

近年、様々な分野で画像のマッチング技術が広く利用されている。画像同士のマッチング方法の例として、第1画像の特徴点における局所特徴量と、第2画像の特徴点における局所特徴量とを比較して、第1画像の特徴点に対応する第2画像の特徴点(以下、「対応点」と呼ぶ)を探索する手法が利用される。探索により発見された対応点の集合統計処理することで、第2画像における第1画像の存在や第1画像の位置を認識できる。

また、上記のような対応点の探索に利用される局所特徴量をバイナリコードで表す方法がある。その代表例として、BRIEF(Binary Robust Independent Elementary Features)がある。BRIEFは、特徴点の周囲に配置された複数の画素ペアのそれぞれについて、画素間の輝度差を基に算出された局所特徴量として表現される。より具体的には、画素間の輝度差の符号(正負)に応じたビット値の集合(バイナリコード)が、局所特徴量として算出される。このように局所特徴量をバイナリコードで表す方法では、ハミング距離による高速な計算によって特徴点同士類似度を算出できるというメリットがある。

一方、色相を用いた画像処理技術の例として、次のような画像処理システムが提案されている。この画像処理システムは、入力画像の画素をその色相値に基づいて色相環の周上にマッピングし、色相環を可変分割数で分割するとともに分割された色相環を可変の回転角で回転させることにより、画素をクラスタリングする。そして、クラスタリングの結果に基づく評価値を用いて、クラスタリングのためのパラメータを決定する。

概要

ロバスト性の高い特徴量を算出する。演算部1bは、画像10の各画素についての第1の色相値を、画像10における第1の色相値の分布状態に基づいて決定される基準色相値Hbaseを基準として算出された第2の色相値に変換する。そして、演算部1bは、画像10内の特徴領域11に設定された画素ペア11a〜11dのそれぞれに含まれる画素間における第2の色相値の差分を算出し、差分に基づいて、画素ペア11a〜11dのそれぞれに対応するビットを有する、特徴領域11についての局所特徴量12を算出する。

目的

本発明は、ロバスト性の高い特徴量を算出可能な画像処理プログラム画像処理装置および画像処理方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータに、画像の各画素についての第1の色相値を、前記画像における前記第1の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第2の色相値に変換し、前記画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における前記第2の色相値の差分を算出し、前記差分に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、処理を実行させる画像処理プログラム

請求項2

前記コンピュータに、前記画像における前記第1の色相値の出現頻度に基づいて、前記基準色相値を決定する、処理をさらに実行させる請求項1記載の画像処理プログラム。

請求項3

前記画像として第1の画像と第2の画像とが用いられ、前記基準色相値は、前記第1の画像と前記第2の画像とにおける前記第1の色相値の分布状態に基づいて決定され、前記変換では、前記第1の画像と前記第2の画像のそれぞれに含まれる各画素について、前記第1の色相値を前記第2の色相値に変換し、前記差分の算出では、前記第1の画像と前記第2の画像のそれぞれに含まれる前記特徴領域について、前記複数の画素ペアのそれぞれに対応する前記差分を算出し、前記局所特徴量の算出では、前記第1の画像と前記第2の画像のそれぞれに含まれる前記特徴領域について、前記局所特徴量を算出し、さらに、前記コンピュータに、前記第1の画像についての前記局所特徴量と前記第2の画像についての前記局所特徴量との比較結果に基づいて、前記第1の画像と前記第2の画像との類似度を判定する、処理を実行させる、請求項1記載の画像処理プログラム。

請求項4

前記第1の画像と前記第2の画像のそれぞれには前記特徴領域が複数設定され、前記コンピュータに、前記第1の画像と前記第2の画像のそれぞれに含まれる前記特徴領域ごとに、輝度に基づく第1の特徴量が算出される第1の特徴領域と、第2の特徴量として前記局所特徴量が算出される第2の特徴領域のいずれかに分類する、処理をさらに実行させ、前記判定では、前記第1の画像と前記第2の画像にそれぞれ含まれる前記第1の特徴領域について算出された前記第1の特徴量と、前記第1の画像と前記第2の画像にそれぞれ含まれる前記第2の特徴領域について算出された前記第2の特徴量とを用いて、前記類似度を判定する、請求項3記載の画像処理プログラム。

請求項5

前記分類では、前記特徴領域のそれぞれについて、前記複数の画素ペアのそれぞれに含まれる画素間の輝度差に基づく第1の指標と、前記複数の画素ペアのそれぞれに含まれる画素間の前記第2の色相値の差に基づく第2の指標とに基づいて、前記第1の特徴量と前記第2の特徴量のどちらの安定性が高いかを判定し、前記安定性の判定結果に基づいて、前記特徴領域のそれぞれを前記第1の特徴領域と前記第2の特徴領域のいずれかに分類する、請求項4記載の画像処理プログラム。

請求項6

コンピュータに、画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第1の色相値と他方の画素の第2の色相値との間の色相環における右回り方向の距離と、前記第1の色相値と前記第2の色相値との間の前記色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、前記判定処理の結果に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、処理を実行させる画像処理プログラム。

請求項7

前記画像として第1の画像と第2の画像とが用いられ、前記判定では、前記第1の画像と前記第2の画像のそれぞれに含まれる前記特徴領域について、前記複数の画素ペアのそれぞれに対する前記判定処理を実行し、前記算出では、前記第1の画像と前記第2の画像のそれぞれに含まれる前記特徴領域について、前記局所特徴量を算出し、さらに、前記コンピュータに、前記第1の画像についての前記局所特徴量と前記第2の画像についての前記局所特徴量との比較結果に基づいて、前記第1の画像と前記第2の画像との類似度を判定する、処理を実行させる、請求項6記載の画像処理プログラム。

請求項8

前記第1の画像と前記第2の画像のそれぞれには前記特徴領域が複数設定され、前記コンピュータに、前記第1の画像と前記第2の画像のそれぞれに含まれる前記特徴領域ごとに、輝度に基づく第1の特徴量が算出される第1の特徴領域と、第2の特徴量として前記局所特徴量が算出される第2の特徴領域のいずれかに分類する、処理をさらに実行させ、前記判定では、前記第1の画像と前記第2の画像にそれぞれ含まれる前記第1の特徴領域について算出された前記第1の特徴量と、前記第1の画像と前記第2の画像にそれぞれ含まれる前記第2の特徴領域について算出された前記第2の特徴量とを用いて、前記類似度を判定する、請求項7記載の画像処理プログラム。

請求項9

前記分類では、前記特徴領域のそれぞれについて、前記複数の画素ペアのそれぞれに含まれる画素間の輝度差に基づく第1の指標と、前記複数の画素ペアのそれぞれに含まれる画素間の色相差に基づく第2の指標とに基づいて、前記第1の特徴量と前記第2の特徴量のどちらの安定性が高いかを判定し、前記安定性の判定結果に基づいて、前記特徴領域のそれぞれを前記第1の特徴領域と前記第2の特徴領域のいずれかに分類する、請求項8記載の画像処理プログラム。

請求項10

前記分類では、前記複数の画素ペアのそれぞれに対応するビット値を配列したビット列を算出して、前記ビット列のノルムを前記第2の指標として算出し、前記ビット値は、前記第1の色相値と前記第2の色相値との差分の絶対値を示す第1の値と、所定の閾値とを比較した比較結果、および、前記第1の値から、色相値がとり得る範囲の中間値を減算した値の絶対値を示す第2の値と、前記閾値とを比較した比較結果に基づいて決定される、請求項9記載の画像処理プログラム。

請求項11

画像を記憶する記憶部と、前記画像の各画素についての第1の色相値を、前記画像における前記第1の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第2の色相値に変換し、前記画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における前記第2の色相値の差分を算出し、前記差分に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する演算部と、を有する画像処理装置

請求項12

画像を記憶する記憶部と、前記画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第1の色相値と他方の画素の第2の色相値との間の色相環における右回り方向の距離と、前記第1の色相値と前記第2の色相値との間の前記色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、前記判定処理の結果に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する演算部と、を有する画像処理装置。

請求項13

コンピュータが、画像の各画素についての第1の色相値を、前記画像における前記第1の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第2の色相値に変換し、前記画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における前記第2の色相値の差分を算出し、前記差分に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、画像処理方法

請求項14

コンピュータが、画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第1の色相値と他方の画素の第2の色相値との間の色相環における右回り方向の距離と、前記第1の色相値と前記第2の色相値との間の前記色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、前記判定処理の結果に基づいて、前記複数の画素ペアのそれぞれに対応するビットを有する、前記特徴領域についての局所特徴量を算出する、画像処理方法。

技術分野

0001

本発明は、画像処理プログラム画像処理装置および画像処理方法に関する。

背景技術

0002

近年、様々な分野で画像のマッチング技術が広く利用されている。画像同士のマッチング方法の例として、第1画像の特徴点における局所特徴量と、第2画像の特徴点における局所特徴量とを比較して、第1画像の特徴点に対応する第2画像の特徴点(以下、「対応点」と呼ぶ)を探索する手法が利用される。探索により発見された対応点の集合統計処理することで、第2画像における第1画像の存在や第1画像の位置を認識できる。

0003

また、上記のような対応点の探索に利用される局所特徴量をバイナリコードで表す方法がある。その代表例として、BRIEF(Binary Robust Independent Elementary Features)がある。BRIEFは、特徴点の周囲に配置された複数の画素ペアのそれぞれについて、画素間の輝度差を基に算出された局所特徴量として表現される。より具体的には、画素間の輝度差の符号(正負)に応じたビット値の集合(バイナリコード)が、局所特徴量として算出される。このように局所特徴量をバイナリコードで表す方法では、ハミング距離による高速な計算によって特徴点同士類似度を算出できるというメリットがある。

0004

一方、色相を用いた画像処理技術の例として、次のような画像処理システムが提案されている。この画像処理システムは、入力画像の画素をその色相値に基づいて色相環の周上にマッピングし、色相環を可変分割数で分割するとともに分割された色相環を可変の回転角で回転させることにより、画素をクラスタリングする。そして、クラスタリングの結果に基づく評価値を用いて、クラスタリングのためのパラメータを決定する。

0005

特開2003−162718号公報

先行技術

0006

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

発明が解決しようとする課題

0007

上記のように、局所特徴量を示すバイナリコードの各ビット値を画素ペアに含まれる画素間の輝度差の符号に基づいて算出する方法では、各画素の輝度差が小さい領域において特徴量が不安定になり、それによって画像の類否判断精度が低下するという問題がある。すなわち、各画素の輝度差が小さい領域では、画素ペアに含まれる画素間の輝度差が0に近くなるため、撮影時の光源の状態やノイズなどの影響によってビット値の符号が反転しやすい。そのため、このような領域から算出された局所特徴量を用いて第1画像の特徴点に対応する第2画像の対応点を探索すると、正しい対応点の探索に失敗する可能性が高くなる。このような探索の失敗は、画像間の類似度の判定精度を低下させる原因となる。

0008

1つの側面では、本発明は、ロバスト性の高い特徴量を算出可能な画像処理プログラム、画像処理装置および画像処理方法を提供することを目的とする。

課題を解決するための手段

0009

1つの案では、次のような画像処理プログラムが提供される。この画像処理プログラムは、コンピュータに、画像の各画素についての第1の色相値を、画像における第1の色相値の分布状態に基づいて決定される基準色相値を基準として算出された第2の色相値に変換し、画像内の特徴領域に設定された複数の画素ペアのそれぞれに含まれる画素間における第2の色相値の差分を算出し、差分に基づいて、複数の画素ペアのそれぞれに対応するビットを有する、特徴領域についての局所特徴量を算出する、処理を実行させる。

0010

また、1つの案では、次のような画像処理プログラムが提供される。この画像処理プログラムは、コンピュータに、画像内の特徴領域に設定された複数の画素ペアのそれぞれについて、一方の画素の第1の色相値と他方の画素の第2の色相値との間の色相環における右回り方向の距離と、第1の色相値と第2の色相値との間の色相環における左回り方向の距離のどちらが短いかを判定する判定処理を実行し、判定処理の結果に基づいて、複数の画素ペアのそれぞれに対応するビットを有する、特徴領域についての局所特徴量を算出する、処理を実行させる。

0011

さらに、1つの案では、上記の画像処理プログラムにしたがった処理と同様の処理を実行する画像処理装置が提供される。
また、1つの案では、上記の画像処理プログラムにしたがった処理と同様の処理をコンピュータが実行する画像処理方法が提供される。

発明の効果

0012

1つの側面では、ロバスト性の高い特徴量を算出できる。

図面の簡単な説明

0013

第1の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
第2の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。
画像処理装置が備える処理機能の構成例を示すブロック図である。
画素ペア管理テーブルの構成例を示す図である。
局所特徴量算出処理の第1の比較例について説明するための図である。
標識の例を示す図である。
色相環と色相値との関係を示す図である。
色相値の変換方法について説明するための図である。
絶対値ベクトルの算出処理について説明するための図である。
中間データ管理テーブルの構成例を示す図である。
局所特徴量の選択処理について説明するための図である。
輝度特徴量管理テーブルおよび色相特徴量管理テーブルの構成例を示す図である。
局所特徴量の算出処理について説明するための図である。
対応点の抽出処理について説明するための図である。
投票処理を説明するための図である。
投票結果に基づく類似画像の判定処理について説明するための図である。
特徴量算出処理の例を示すフローチャートである。
基準色相値算出処理の例を示すフローチャートである。
有用度算出処理の例を示すフローチャートである。
色相値変換処理の例を示すフローチャートである。
特徴量選択処理の例を示すフローチャートである。
特徴量登録処理の例を示すフローチャートである。
画像認識処理の例を示すフローチャート(その1)である。
画像認識処理の例を示すフローチャート(その2)である。
第3の実施の形態に係る画像処理装置の構成例および処理例を示す図である。
第4の実施の形態に係る画像処理装置が備える処理機能の構成例を示すブロック図である。
色相特徴量のビット値決定方法について説明するための図である。
有用度算出処理の例を示すフローチャートである。
色相絶対値ベクトルのビット値決定処理の例を示すフローチャートである。
特徴量登録処理の例を示すフローチャートである。

実施例

0014

以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る画像処理装置の構成例および処理例を示す図である。図1に示す画像処理装置1は、記憶部1aと演算部1bを有する。記憶部1aは、例えば、RAM(Random Access Memory)、HDD(Hard Disk Drive)などの記憶装置として実現される。演算部1bは、例えば、プロセッサとして実現される。

0015

記憶部1aには、特徴量の算出対象となる画像10が記憶されている。特徴量は、画像10に設定された特徴領域ごとに算出される局所特徴量の集合である。また、各特徴領域には、複数の画素ペアが共通に設定されている。そして、特徴領域に対応する局所特徴量は、その特徴領域内の各画素ペアに対応するビット値を配列したビット列として算出される。なお、図1の例では、画像10には、特徴領域11が設定されており、特徴領域11には、画素ペア11a〜11dが設定されている。

0016

演算部1bは、記憶部1aに記憶された画像10の各画素の色相に基づいて、画像10の特徴量を算出する。
ここで、上記のビット値を画素ペアに含まれる画素間の輝度差の符号に基づいて算出する方法では、画素間の輝度差が小さい領域において輝度差が0に近くなる。そのため、撮影条件やノイズなどの影響によってビット値が反転しやすくなり、局所特徴量の値が不安定になる。その一方、画像の領域の中には、画素間の輝度差は小さいものの色相差は大きいという領域が存在し得る。そのため、画素間の色相差を基にビット値を決定することで、局所特徴量の値が安定化する可能性がある。

0017

ただし、画素間の色相差の符号に基づいてビット値を算出する方法では、撮影条件やノイズなどの影響により、特定の色相についてビット値が容易に反転しやすい、という問題がある。この問題は、色相環上の色相に対して色相値が不連続に割り当てられることに起因する。

0018

色相環は、色相を順序立てて円環状に並べたものである。色相環においては、色相は連続的に変化するので、境界がない。一方、画像処理で使用される色相のデジタル値(色相値)は、有限範囲内の数値として表される。そのため、色相環上に便宜的に境界が設けられ、その境界上の色相値が0とされる。例えば、マンセル表色系では、赤(R)が真上(角度0°)の位置に配置され、この位置が境界とされて色相値=0に設定され、右回り方向に増加するように色相値が割り当てられる。なお、図1では、赤(R)を基準として最小値「0」から最大値「255」までの色相値が割り当てられた色相環20を例示している。

0019

このように、色相値は、色相環上の特定の位置を境界として不連続な値となる。そのため、被写体の色相がその境界付近にある状態では、光源などの撮影条件やノイズの発生状況が変化した場合に、色相値は、最小値付近から最大値付近まで大きく変動する可能性がある。その結果、ビット値が反転しやすくなり、局所特徴量の値が不安定になる。

0020

このような問題に対して、演算部1bは、次のような処理により、色相値に基づいて特徴量を算出する。
まず、演算部1bは、画像10の各画素についての第1の色相値を、第2の色相値に変換する(ステップS1a)。この変換では、第2の色相値は、画像10における第1の色相値の分布状態に基づいて決定される基準色相値Hbaseを基準として、算出される。例えば、画像10の各画素についての第1の色相値に基づき、出現頻度の低い色相値が基準色相値Hbaseに設定される。そして、基準色相値Hbaseにおける変換後の色相値が0となるように色相環上の位置に対する色相値の割り当てが変更されることで、画像10の各画素の第1の色相値が第2の色相値に変換される。

0021

次に、演算部1bは、特徴領域11内の画素ペア11a〜11dのそれぞれについて、画素ペアに含まれる画素間における第2の色相値の差分を算出する(ステップS1b)。そして、演算部1bは、算出された差分に基づいて、画素ペア11a〜11dのそれぞれに対応するビット値を決定し、それらのビット値を配列することで、特徴領域11についての局所特徴量12を算出する(ステップS1c)。

0022

ステップS1aの変換処理によれば、変換後の第2の色相値は、色相値割り当てのための新たな境界である基準色相値Hbase付近の値をとりにくくなる。そのため、撮影条件やノイズ発生状況の違いによって第2の色相値が大きく変動する可能性が低くなる。したがって、このような第2の色相値を用いて画素ペアに対応するビット値を決定することで、特定の色相(上記の例では赤)を含む特徴領域においてビット値が反転しにくくなり、その結果、局所特徴量12の値が安定化する。すなわち、ロバスト性の高い特徴量を算出できる。

0023

また、このような手順により、比較対象とする2つの画像のそれぞれから局所特徴量が算出され、各画像の局所特徴量の比較によって画像間の類似度が判定されることで、その判定精度を向上させることができる。

0024

〔第2の実施の形態〕
次に、第2の実施の形態として、記憶された複数の画像の中からキー画像の選択を受け付け、キー画像以外の画像からキー画像と類似する画像を検索する画像処理装置について説明する。また、第2の実施の形態に係る画像処理装置は、第1の実施の形態にかかる画像処理装置1の処理機能を備える装置の一例である。

0025

なお、第2の実施の形態では、画像の特徴量としてBRIEFをベースとした特徴量を用いるが、例えば、ORB(Oriented fast and Rotated BRIEF)、BRISK(Binary Robust Invariant Scalable Keypoints)など、特徴点付近に設定した画素ペア間の画素値の差を2値化することで得られる他の種類のバイナリ特徴量をベースとすることもできる。

0026

図2は、第2の実施の形態に係る画像処理装置のハードウェア構成例を示す図である。第2の実施の形態に係る画像処理装置100は、例えば、図2に示すようなコンピュータとして実現される。

0027

画像処理装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific IntegratedCircuit)、またはPLD(Programmable Logic Device)である。また、プロセッサ101は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。

0028

プロセッサ101には、バス108を介して、RAM102と複数の周辺機器が接続されている。
RAM102は、画像処理装置100の主記憶装置として使用される。RAM102には、プロセッサ101に実行させるOS(Operating System)プログラムアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、プロセッサ101による処理に必要な各種データが格納される。

0029

バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、読み取り装置106および通信インタフェース107がある。

0030

HDD103は、画像処理装置100の補助記憶装置として使用される。HDD103には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、SSD(Solid State Drive)などの他の種類の不揮発性記憶装置を使用することもできる。

0031

グラフィック処理装置104には、表示装置104aが接続されている。グラフィック処理装置104は、プロセッサ101からの命令にしたがって、画像を表示装置104aに表示させる。表示装置としては、液晶ディスプレイ有機EL(Electroluminescence)ディスプレイなどがある。

0032

入力インタフェース105には、入力装置105aが接続されている。入力インタフェース105は、入力装置105aから出力される信号をプロセッサ101に送信する。入力装置105aとしては、キーボードポインティングデバイスなどがある。ポインティングデバイスとしては、マウスタッチパネルタブレットタッチパッドトラックボールなどがある。

0033

読み取り装置106には、可搬型記録媒体106aが脱着される。読み取り装置106は、可搬型記録媒体106aに記録されたデータを読み取ってプロセッサ101に送信する。可搬型記録媒体106aとしては、光ディスク光磁気ディスク半導体メモリなどがある。

0034

通信インタフェース107は、ネットワーク107aを介して他の装置との間でデータの送受信を行う。なお、ネットワーク107aには、例えば、端末装置107bが接続される。端末装置107bは、例えば、画像処理装置100による前述の画像検索の対象となる複数の画像の供給元となる。例えば、撮像装置によって撮像されて端末装置107bに蓄積された撮像画像が、端末装置107bから画像処理装置100にアップロードされる。また、端末装置107bが撮像機能を備える場合、端末装置107bによって撮像されて蓄積された撮像画像が、端末装置107bから画像処理装置100にアップロードされる。

0035

以上のようなハードウェア構成によって、画像処理装置100の処理機能を実現することができる。
ところで、上記の画像処理装置100の記憶装置(例えば、HDD103)には、複数の画像のデータが記憶される。これらの画像は、例えば、可搬型記録媒体106aを用いて画像処理装置100の記憶装置に格納されてもよいし、あるいは、ネットワーク107aを介して画像処理装置100の記憶装置に格納されてもよい。

0036

記憶装置に記憶されるこれらの画像は、例えば、撮像装置によって撮像された撮像画像である。その場合、画像処理装置100では、例えば、写真管理ソフトウェアが実行されることで次のような処理が行われる。

0037

ユーザの入力操作により、記憶装置内の複数の撮像画像からキー画像が選択される。すると、画像処理装置100は、記憶装置内の複数の撮像画像のうちキー画像を除く撮像画像(以下、「参照画像」と呼ぶ)から、キー画像と類似するシーンの撮像画像を抽出する。例えば、キー画像に含まれる対象物と同じ対象物が写っていると推定される参照画像が、キー画像と類似するシーンの撮像画像として抽出される。これにより、ユーザは、例えば、素材として必要な画像を画像処理装置100内から検索したり、同じイベント開催時の写真を集めて自動的に整理することができる。したがって、ユーザに利便性娯楽性を提供することができる。

0038

また、画像処理装置100の画像検索機能は、上記のような撮像画像の管理の他、例えば、プレゼンテーション資料などの文書コンテンツの管理に利用することもできる。例えば、画像処理装置100の記憶装置に複数の文書のデータが記憶され、これらの中からキー文書が選択される。画像処理装置100は、例えば、文書表示時の見た目がキー文書と似ている文を含む文書をその他の文書の中から抽出することもできるし、あるいは、キー文書と同じ画像や表、グラフなどを含む文書をその他の文書の中から抽出することもできる。これにより、文書を探すための作業時間を低減できる。また、過去の文書資産の再利用が推進され、業務の効率化を図ることもできる。

0039

また、画像処理装置100の画像検索機能は、医療画像管理システム付加機能として利用することもできる。例えば、複数の時期に撮影されたCT(Computed Tomography)画像やMRI(Magnetic Resonance Imaging)画像上の患部を自動的に位置合わせして、患部の画像の経時変化を判断するために利用できる。

0040

なお、このような画像処理装置100は、例えば、パーソナルコンピュータスマートフォンなどのユーザによって操作される端末装置として実現される。また、画像処理装置100は、ネットワーク上のサーバ装置として実現されてもよい。この場合、画像処理装置100の記憶装置に記憶される画像のデータは、例えば、ユーザの端末装置からネットワークを介して画像処理装置100にアップロードされる。

0041

図3は、画像処理装置が備える処理機能の構成例を示すブロック図である。画像処理装置100は、記憶部110、画像取得部121、基準色相値決定部122、有用度算出部123、特徴量選択部124、特徴量算出部125および画像認識部126を有する。なお、記憶部110は、図1に示した記憶部1aの一例であり、基準色相値決定部122、有用度算出部123、特徴量選択部124および特徴量算出部125は、図1に示した演算部1bの一例である。

0042

記憶部110は、画像処理装置100が備える記憶装置(例えば、RAM102またはHDD103)の記憶領域として実装される。記憶部110には、画像データ111、画素ペア管理テーブル112、中間データ管理テーブル113、輝度特徴量管理テーブル114および色相特徴量管理テーブル115が記憶される。

0043

画像データ111は、記憶部110に複数記憶される。画像データ111はそれぞれ、類似検索に用いられる画像(以下、「記憶画像」と記載する)のデータを示す。類似検索の際には、記憶画像の中からキー画像が1つ選択され、残りの記憶画像(参照画像)の中からキー画像と類似する画像が検索される。

0044

画素ペア管理テーブル112には、各記憶画像の特徴量を算出するために使用される画素ペアの座標登録される。
中間データ管理テーブル113は、記憶画像ごとに用意される。中間データ管理テーブル113は、対応する記憶画像の特徴量を算出する過程で使用される中間データが一時的に登録される。なお、中間データとしては、後述する輝度絶対値ベクトル、色相絶対値ベクトル、輝度ノルム、色相ノルムが登録される。

0045

輝度特徴量管理テーブル114および色相特徴量管理テーブル115は、いずれも記憶画像ごとに用意される。1つの記憶画像に対応する輝度特徴量管理テーブル114および色相特徴量管理テーブル115によって、その記憶画像内の特徴点ごとの特徴量(局所特徴量)が保持される。後述するように、本実施の形態では、記憶画像内の特徴点は、輝度に基づく輝度特徴量が算出される輝度特徴点と、色相に基づく色相特徴量が算出される色相特徴点とに分類される。輝度特徴量管理テーブル114には、輝度特徴点における輝度特徴量が登録され、色相特徴量管理テーブル115には、色相特徴点における色相特徴量が登録される。

0046

画像取得部121、基準色相値決定部122、有用度算出部123、特徴量選択部124、特徴量算出部125および画像認識部126の処理は、例えば、所定のアプリケーションプログラムがプロセッサ101に実行されることによって実現される。

0047

画像取得部121は、画像データ111を取得して記憶部110に格納する。例えば、画像取得部121は、撮像画像によって撮像された画像の画像データ111を、可搬型記録媒体106aを介して、あるいはネットワーク107aを介して取得する。

0048

基準色相値決定部122は、色相特徴量の計算のために用いられる基準色相値を決定する。基準色相値決定部122は、記憶部110に記憶されたすべての記憶画像における色相値の頻度に基づいて、基準色相値を算出する。

0049

有用度算出部123は、記憶画像の各特徴点の局所特徴量として輝度特徴量と色相特徴量のどちらが有用かを示す有用度を算出する。特徴量選択部124は、算出された有用度に基づいて、各特徴点の局所特徴量として輝度特徴量と色相特徴量のいずれかを選択する。換言すると、特徴量選択部124は、算出された有用度に基づいて、各特徴点を輝度特徴点と色相特徴点のいずれかに分類する。

0050

特徴量算出部125は、各特徴点に対応する輝度特徴量または色相特徴量を算出する。特徴量算出部125は、算出した輝度特徴量を輝度特徴量管理テーブル114に登録し、算出した色相特徴量を色相特徴量管理テーブル115に登録する。これにより、特徴量算出部125は、記憶画像ごとの特徴量を算出し、記憶部110に登録する。

0051

画像認識部126は、キー画像の選択操作を受け付け、輝度特徴量管理テーブル114と色相特徴量管理テーブル115を参照しながら、選択されたキー画像以外の記憶画像の中からキー画像と類似する類似画像を検索する。

0052

なお、画像処理装置100が備える処理機能の一部は、画像処理装置100とは別の外部装置に設けられていてもよい。例えば、画像取得部121、基準色相値決定部122、有用度算出部123、特徴量選択部124および特徴量算出部125が、端末装置107bに設けられてもよい。この場合、画像処理装置100は、端末装置107bで作成された輝度特徴量管理テーブル114および色相特徴量管理テーブル115を取得する。画像認識部126は、取得された輝度特徴量管理テーブル114および色相特徴量管理テーブル115に基づいて画像認識処理を実行する。

0053

<特徴量算出処理>
次に、画像処理装置100による特徴量算出処理について説明する。
まず、特徴領域における画素ペアの設定方法について説明する。本実施の形態では、特徴量としてBRIEFを用いた場合と同様の方法で、次のようにして画素ペアが設定される。

0054

記憶画像には、複数の特徴点が設定され、特徴点ごとに局所特徴量が算出される。特徴点は、複数の記憶画像に対して共通に設定される。本実施の形態では例として、記憶画像上に等間隔(例えば、24画素間隔)で特徴点を設定するDense Samplingが用いられるものとする。

0055

また、各特徴点を中心とする一定領域が特徴領域に設定される。特徴領域は、例えば、特徴点を中心とする48画素四方矩形領域とされる。さらに、特徴領域の内部には、複数の画素ペアがあらかじめ設定される。ある特徴点の局所特徴量は、対応する特徴領域内の各画素ペアの画素値の差に基づく符号を組み合わせて構成されたビット列として算出される。なお、BRIEFでは、ビット列の各ビット値は輝度差に基づいて決定されるが、本実施の形態では、特徴点によって、各ビット値が輝度差に基づいて決定される場合と、各ビット値が色相差に基づいて決定される場合とがある。

0056

図4は、画素ペア管理テーブルの構成例を示す図である。画素ペアに含まれる各画素の座標は、画素ペア管理テーブル112にあらかじめ登録される。図4に示すように、画素ペア管理テーブル112には、画素ペアを識別するためのIDと、画素ペアに含まれる第1画素および第2画素の各座標とが登録される。画素ペアは、例えば、ランダムに設定される。画素ペア管理テーブル112に登録された画素ペアの情報は、すべての特徴領域に対して共通に適用される。

0057

次に、画素ペア管理テーブル112を用いた局所特徴量算出処理について説明する。以下の説明では、まず、図5図6を用いて局所特徴量算出処理の第1の比較例およびその問題点について説明し、さらに、図7を用いて局所特徴量算出処理の第2の比較例の問題点について説明する。そしてその後に、図8図13を用いて本実施の形態における局所特徴量算出処理について説明する。

0058

図5は、局所特徴量算出処理の第1の比較例について説明するための図である。この図5では、第1の比較例として、局所特徴量としてBRIEFを用い、画像200における各特徴点の局所特徴量を、この画像200に対応する特徴量管理テーブル210に登録する処理の例を示す。

0059

例えば、画像200に設定された特徴点201の局所特徴量は、次のようにして算出される。まず、特徴点201に対応する特徴領域202について、各画素ペアの輝度差が計算される(ステップS11)。画素ペアの輝度差は、例えば、画素ペア管理テーブル112における第1画素の輝度値から第2画素の輝度値を減算することで得られる。

0060

次に、算出された輝度差の符号に応じたビット値を組み合わせることで、ビット列203が生成される(ステップS12)。具体的には、輝度差が正値の場合、ビット値は1に設定され、輝度差が0以下の場合、ビット値は0に設定される。ビット値は、画素ペア順に決定されてビット列203に付加される。例えば、M組の画素ペアが設定されている場合、Mビットのビット列203が生成される。次に、生成されたビット列203は、特徴点201の局所特徴量として特徴量管理テーブル210に登録される(ステップS13)。

0061

このようにして、画像200に設定されたすべての特徴点に対応する局所特徴量(ビット列)が算出され、画像200に対応する特徴量として特徴量管理テーブル210に記録される。

0062

しかしながら、上記のように、局所特徴量の各ビット値を輝度差の符号から決定する場合には、各画素の輝度差が小さい領域では、画素間の輝度差が0に近くなる。そのため、光源などの撮影条件の微妙な違いやノイズ発生などによって、ビット値が容易に変化しやすくなり、局所特徴量の値が不安定になる。その結果、画像認識精度劣化につながるという問題がある。

0063

その一方、画像の領域の中には、各画素の輝度差は小さいものの色相差は大きいという領域が存在し得る。例えば、標識や看板など、人手によってデザインされたものは、同一のトーンに含まれる色が使用されることが多い。同一のトーンには、色相差が大きい色同士が含まれているため、人手によってデザインされたものが写っている領域においては、各画素の輝度差は小さいものの色相差は大きいという領域が発生しやすい。

0064

図6は、標識の例を示す図である。図6(A)に示す標識300は、輝度差が大きい2つの色をそれぞれ用いた領域301,302を含んでいる。例えば、領域301,302の境界を含むような特徴領域303が設定された場合、この特徴領域303では画素ペアに含まれる画素間の輝度差が大きくなりやすい。このため、輝度差を用いた場合でも安定的な局所特徴量を算出できる可能性が高い。すなわち、照明が変動したりノイズが発生した場合でも、同一値の局所特徴量が算出される可能性が高い。

0065

一方、図6(B)に示す標識310は、色相差は大きいものの輝度差は小さい2つの色をそれぞれ用いた領域311,312を含んでいる。例えば、領域311,312の境界を含むような特徴領域313が設定された場合、この特徴領域313では画素ペアに含まれる画素間の輝度差が小さくなるので、輝度差を用いて算出された局所特徴量は不安定になりやすい。すなわち、照明が変動したりノイズが発生した場合、算出される局所特徴量の値が変わってしまう可能性が高い。

0066

この特徴領域313のように、各画素の輝度差は小さいものの色相差は大きいという領域では、色相差に基づいて局所特徴量を算出することで、照明変動やノイズに対して安定性の高い特徴量を得ることが可能である。そこで、第2の比較例として、輝度差に基づく局所特徴量だけでなく、色相差に基づく局所特徴量も用いて画像類否判断を実行する方法が考えられる。

0067

以下、輝度差に基づく局所特徴量を「輝度特徴量」と記載し、色相差に基づく局所特徴量を「色相特徴量」と記載する。第2の比較例では、色相特徴量は、輝度特徴量(すなわちBRIEF)と同様のビット列として表されるが、各ビット値は、対応する画素ペアに含まれる各画素の色相差の符号に基づいて決定されるものとする。

0068

ここで、図7は、色相環と色相値との関係を示す図である。色相環320は、色相を順序立てて円環状に並べたものである。色相環320においては、色相は連続的に変化するので、境界がない。一方、画像処理装置100で使用される色相のデジタル値(色相値)は、有限範囲内の数値として表される。そのため、色相環320上に便宜的に境界が設けられ、その境界上の色相値が0とされる。

0069

一般的に用いられるマンセル表色系では、赤(R)が真上(角度0°)の位置に配置され、右回り方向に対して黄(Y)、緑(G)、青(B)、紫(P)が順に配置される。そして、一般的には、赤(R)の位置が、色相値を決定するための境界に設定され、この境界位置を色相値=0として、右回り方向に対して数値が増加するように色相値が割り当てられる。本実施の形態では、色相値は0から225までの256段階の数値で表されるものとし、赤(R)の位置で色相値=0になるものとする。

0070

前述のように、第2の比較例では、色相特徴量のビット値は、画素ペアに含まれる各画素の色相差の符号に基づいて決定される。例えば、画素ペアに含まれる第1画素の色相値が10、第2画素の色相値が100の場合、色相差は0以下となるので、ビット値は0に決定される。

0071

ところが、この計算方法には次のような問題がある。上記のように、色相値は色相環320上の境界を跨いで不連続な値となる。そのため、被写体の色相が境界付近にある状態において、光源などの撮影条件の違いやノイズが発生した場合、色相値は、最小値の0付近から最大値の255付近まで大きく変動する可能性がある。その結果、色相差の符号が変化しやすくなり、色相特徴量の値が不安定になる。

0072

例えば、図7に示すように、ある撮影条件においては、画素ペアのうち第1画素の色相値H1aが5と検出され、第2画素の色相値H2aが35と検出されたとする。この場合、色相差は−30であるので、色相特徴量のビット値は0となる。しかし、別の撮影条件においては、各画素の色相値が実際の色相値よりも、色相環320上で左回り方向にずれて検出されたとする。例えば、第1画素の色相値H1bが250と検出され、第2画素の色相値H2bが25と検出されたとする。この場合、色相差は225であるので、色相特徴量のビット値は1となる。この例では、撮影条件の違いによる色相の検出値の違いがわずかであっても、第1画素の色相値は5から250に大きく変動しており、その結果、色相特徴量のビット値が反転している。

0073

このように、色相差の符号を基に色相特徴量のビット値を決定する方法では、撮影条件やノイズ発生状況の違いにより、特定の色相(図7の例では赤)について色相特徴量のビット値が容易に反転し得る。これによって色相特徴量の値が不安定になり、その結果、画像認識精度が劣化するという問題がある。

0074

このような問題に対して、本実施の形態では、色相特徴量の計算に用いる画素の色相値が境界領域の値に近くならないように、一般的な方法で算出された色相値を変換し、変換後の色相値を色相特徴量の計算に用いるようにする。

0075

図8は、色相値の変換方法について説明するための図である。本実施の形態では、基準色相値決定部122により、変換後の色相値を算出するための新たな境界を示す基準色相値Hbaseが決定される。基準色相値Hbaseは、検索対象とされる複数の記憶画像における色相の分布に基づき、これらの画像においてあまり使われていない色相の値に設定される。具体的には、基準色相値決定部122は、これら複数の記憶画像における色相値ごとの頻度を算出し、最も頻度が低い色相値を基準色相値Hbaseに決定する。

0076

そして、基準色相値決定部122は、図8の右側に示すように、基準色相値Hbaseの位置での色相値が0になるように、元の色相値を変換する。以下、基準色相値Hbaseを用いて変換された色相値を「変換色相値」と呼ぶ。

0077

基準色相値Hbaseがあまり使われていない色相の値に設定されることで、変換色相値は、新たな境界である基準色相値Hbase付近の値をとりにくくなる。その結果、撮影条件やノイズ発生状況の違いによって変換色相値が大きく変動する可能性が低くなる。したがって、色相特徴量のビット値が反転しにくくなり、色相特徴量の値が安定化する。

0078

図8では、図7に示した第1画素の色相値H1a,H1bおよび第2画素の色相値H2a,H2bを、基準色相値Hbaseを用いて変換した変換色相値を、それぞれH1a’,H1b’,H2a’,H2b’と表している。基準色相値Hbaseが、色相環320上で第1画素の色相値H1a,H1bから遠い位置の値として算出されたことにより、変換色相値H1a’と変換色相値H1b’との間に境界が位置しなくなるので、第1画素の色相値がH1aからH1bに変動してもその値が大きく変動しなくなる。その結果、撮影条件の違いによって色相値H1a,H2aと色相値H1b,H2bのどちらの値が検出されても、色相特徴量のビット値は同じ値となる。

0079

なお、本実施の形態では、記憶部110に記憶された複数の記憶画像のすべてが検索対象であり、それらの中から選択されたキー画像と、その他のすべての参照画像との間で類似度が判定される。このような処理では、検索対象の記憶画像のうち、できるだけ多くの記憶画像を用いて色相値ごとの頻度を算出し、算出された頻度に基づいて基準色相値Hbaseを算出することが望ましい。本実施の形態では、検索対象の記憶画像のすべてを用いて色相値ごとの頻度が算出されるものとする。また、例えば、本実施の形態のように画像検索を行うのではなく、2つの画像間で類似判定が行われるという場合には、それら2つの画像の両方を用いて色相値ごとの頻度を算出し、算出された頻度に基づいて基準色相値Hbaseを算出することが望ましい。

0080

また、画像検索過程の画像認識において、記憶画像からどのような被写体が認識されるかがあらかじめわかっている場合には、その被写体に応じて基準色相値Hbaseが任意に設定されてもよい。例えば、交通標識では、道路上での視認性をよくするために、緑(G)付近の色があまり使われない。そのため、画像認識において交通標識が認識される場合には、基準色相値Hbaseは緑(G)付近の色相値にあらかじめ設定されてもよい。

0081

次に、輝度特徴量と色相特徴量の使い分けについて説明する。
前述のように、輝度特徴量は、画素ペアに含まれる各画素の輝度差の符号に基づいてビット値が決定される局所特徴量であり、これはBRIEFに相当する。一方、本実施の形態において、色相特徴量は、画素ペアに含まれる各画素についての変換色相値の差の符号に基づいてビット値が決定される局所特徴量である。そして、本実施の形態では、輝度特徴量だけでなく色相特徴量も用いて画像類否判断を実行することで、その判断精度を向上させる。

0082

ここで、輝度特徴量と色相特徴量を両方用いる方法の一例としては、各特徴点について輝度特徴量と色相特徴量の両方を算出しておき、画像類否判断の際に両方の局所特徴量を使用する方法も考えられる。しかし、この方法では、局所特徴量の計算量が多くなることで、類否判断のための処理負荷が高まり、その処理時間が長くなってしまう。

0083

そこで、本実施の形態の画像処理装置100は、特徴点ごとに、輝度特徴量と色相特徴量のどちらを用いた方が適切かを示す「有用度」を算出する。そして、画像処理装置100は、有用度に基づいて、特徴点ごとに輝度特徴量と色相特徴量とを選択的に算出し、算出された局所特徴量を画像認識処理に用いるようにする。ここで、図9図10を用いて、有用度算出部123による有用度の算出処理について説明する。

0084

図9は、絶対値ベクトルの算出処理について説明するための図である。有用度算出部123は、有用度を算出するための中間データとして、記憶画像内の特徴点ごとに輝度絶対値ベクトルと色相絶対値ベクトルを算出する。輝度絶対値ベクトルと色相絶対値ベクトルは、ともに、特徴領域内の各画素ペアに対応するビット値が組み合わされたビット列である。したがって、輝度絶対値ベクトルと色相絶対値ベクトルは、局所特徴量と同じケタ数を有する。

0085

例えば、有用度算出部123は、画像200に設定された特徴点201に対応する特徴領域202を特定する。有用度算出部123は、特徴領域202の輝度データを用いて、画素ペアごとに、画素ペアに含まれる各画素の輝度差の絶対値を算出する。そして、有用度算出部123は、算出された輝度差の絶対値を0より大きい所定の閾値と比較し、輝度差の絶対値が閾値以上の場合、対応するビット値を1に設定し、輝度差の絶対値が閾値未満の場合、対応するビット値を0に設定する(ステップS21)。このような手順で画素ペアごとのビット値が決定されることで、輝度絶対値ベクトルが算出される。

0086

また、有用度算出部123は、特徴領域202の変換色相値を用いて、画素ペアごとに、画素ペアに含まれる各画素についての変換色相値の差分の絶対値を算出する。そして、有用度算出部123は、算出された差分の絶対値を上記の閾値と比較し、差分の絶対値が閾値以上の場合、対応するビット値を1に設定し、差分の絶対値が閾値未満の場合、対応するビット値を0に設定する(ステップS22)。このような手順で画素ペアごとのビット値が決定されることで、色相絶対値ベクトルが算出される。

0087

輝度絶対値ベクトルのビット値が1であることは、そのビット値に対応する画素ペアについての輝度差が大きいことを示す。したがって、輝度絶対値ベクトルに含まれるビット値「1」の数が多いほど、対応する特徴点における輝度特徴量の安定性が高い(すなわち、輝度特徴量の有用度が高い)ことを示す。また、色相絶対値ベクトルのビット値が1であることは、そのビット値に対応する画素ペアについての色相差が大きいことを示す。したがって、色相絶対値ベクトルに含まれるビット値「1」の数が多いほど、対応する特徴点における色相特徴量の安定性が高い(すなわち、色相特徴量の有用度が高い)ことを示す。

0088

図10は、中間データ管理テーブルの構成例を示す図である。有用度算出部123は、ある記憶画像についての有用度を算出する際に、その記憶画像に対応する中間データ管理テーブル113を作成し、記憶部110に格納する。中間データ管理テーブル113には、特徴点を識別するためのID、特徴点の座標、輝度絶対値ベクトル、輝度ノルム、色相絶対値ベクトルおよび色相ノルムが登録される。

0089

中間データ管理テーブル113には、記憶画像に設定される各特徴点に対応するレコードがあらかじめ作成され、有用度算出部123は、特徴点ごとに算出された輝度絶対値ベクトルと色相絶対値ベクトルを、対応するレコードに登録する。また、輝度ノルムは、輝度絶対値ベクトルのノルムを示し、色相ノルムは、色相絶対値ベクトルのノルムを示す。「ノルム」とは、ビット列に含まれる「1」の数を示す。したがって、輝度ノルムは輝度特徴量の有用度を示し、色相ノルムは色相特徴量の有用度を示す。すなわち、輝度ノルムが大きいほど輝度特徴量の安定性が高いことを示し、色相ノルムが大きいほど色相特徴量の安定性が高いことを示す。

0090

有用度算出部123は、特徴点ごとに、輝度絶対値ベクトルに基づいて輝度ノルムを算出し、色相絶対値ベクトルに基づいて色相ノルムを算出して、特徴点に対応するレコードに登録する。次の図9に示すように、輝度ノルムと色相ノルムは、特徴点に対応する局所特徴量として輝度特徴量と色相特徴量のどちらを選択するかを決定するために利用される。

0091

図11は、局所特徴量の選択処理について説明するための図である。特徴量選択部124は、特徴量ごとに算出された輝度ノルムと色相ノルムとを比較し、輝度ノルムの方が大きい場合には局所特徴量として輝度特徴量を選択し、輝度ノルムが色相ノルム以下の場合には局所特徴量として色相特徴量を選択する。

0092

以下、輝度特徴量が選択された特徴点を「輝度特徴点」と記載し、色相特徴量が選択された特徴点を「色相特徴点」と記載する。特徴量選択部124の処理により、記憶画像内の各特徴点は輝度特徴点と色相特徴点のいずれかに分類される。図11の例では、画像200の特徴点#1は、輝度ノルムより色相ノルムの方が大きいため、色相特徴点に分類される。特徴点#2は、色相ノルムより輝度ノルムの方が大きいため、輝度特徴点に分類される。特徴点#3は、輝度ノルムより色相ノルムの方が大きいため、色相特徴点に分類される。特徴点#4は、色相ノルムより輝度ノルムの方が大きいため、輝度特徴点に分類される。

0093

図12は、輝度特徴量管理テーブルおよび色相特徴量管理テーブルの構成例を示す図である。特徴量選択部124は、ある記憶画像上の各特徴点について、上記のような局所特徴量の選択処理を実行する際に、その記憶画像にそれぞれ対応する輝度特徴量管理テーブル114および色相特徴量管理テーブル115を作成し、記憶部110に格納する。輝度特徴量管理テーブル114には、輝度特徴点を識別するためのIDと、輝度特徴点の座標と、輝度特徴量とが登録される。色相特徴量管理テーブル115には、色相特徴点を識別するためのIDと、色相特徴点の座標と、色相特徴量とが登録される。

0094

特徴量選択部124は、特徴点を輝度特徴点に分類すると、輝度特徴量管理テーブル114にレコードを追加し、そのレコードに輝度特徴点のIDおよび座標を登録する。その後、特徴量算出部125によって輝度特徴点に対応する輝度特徴量が算出されると、その輝度特徴量が該当レコードに登録される。

0095

また、特徴量選択部124は、特徴点を色相特徴点に分類すると、色相特徴量管理テーブル115にレコードを追加し、そのレコードに色相特徴点のIDおよび座標を登録する。その後、特徴量算出部125によって色相特徴点に対応する色相特徴量が算出されると、その色相特徴量が該当レコードに登録される。

0096

図13は、局所特徴量の算出処理について説明するための図である。例えば、特徴量算出部125は、画像200に設定された特徴点204が輝度特徴点に分類されている場合、特徴点204に対応する特徴領域の輝度データに基づいて、輝度特徴量(BRIEF)204aを算出する。特徴量算出部125は、算出された輝度特徴量204aを、輝度特徴量管理テーブル114の特徴点204に対応するレコードに登録する(ステップS31)。

0097

また、例えば、特徴量算出部125は、画像200に設定された特徴点205が色相特徴点に分類されている場合、特徴点205に対応する特徴領域の色相データに基づいて、色相特徴量205aを算出する。特徴量算出部125は、算出された色相特徴量205aを、色相特徴量管理テーブル115の特徴点205に対応するレコードに登録する(ステップS32)。

0098

以上の手順により、記憶画像ごとの特徴量が算出されて記憶部110に登録される。
<画像認識処理>
次に、図14図16を用いて、画像認識部126による画像認識処理について説明する。

0099

図14は、対応点の抽出処理について説明するための図である。画像認識部126は、ユーザの操作入力に応じて記憶画像からキー画像を選択する。そして、画像認識部126は、選択したキー画像と他の撮像画像(参照画像)とを比較し、参照画像の中からキー画像と類似する画像を探索する。

0100

キー画像と参照画像との比較では、画像間で類似する特徴点が探索される。この処理では、画像認識部126は、キー画像から選択した特徴点の局所特徴量と、参照画像の各特徴点の局所特徴量とのハミング距離を計算し、参照画像の特徴点のうちハミング距離が最小の特徴点を、類似度が最も高い対応点として抽出する。

0101

図14では、参照画像230からキー画像220上の特徴点に対応する対応点を抽出する処理を例示している。本実施の形態では、前述のように、キー画像220上の特徴点と参照画像230上の特徴点は、輝度特徴点と色相特徴点のいずれかに分類されている。

0102

そこで、画像認識部126は、参照画像230上の特徴点のうち輝度特徴点の中から、キー画像220上の特徴点のうち輝度特徴点にそれぞれ対応する対応点を抽出する(S41a)。この対応点の抽出では、キー画像220上の輝度特徴点について算出された輝度特徴量と、参照画像230上の輝度特徴点について算出された輝度特徴量とが比較される。また、画像認識部126は、参照画像230上の特徴点のうち色相特徴点の中から、キー画像220上の特徴点のうち色相特徴点にそれぞれ対応する対応点を抽出する(S42a)。この対応点の抽出では、キー画像220上の色相特徴点について算出された色相特徴量と、参照画像230上の色相特徴点について算出された色相特徴量とが比較される。

0103

次に、画像認識部126は、キー画像220上の輝度特徴点ごとに次のような処理を実行する。画像認識部126は、キー画像220上の輝度特徴点と参照画像230上の対応点とが一致するように参照画像230にキー画像220を重ねた場合の、参照画像230におけるキー画像220の中心位置を推定する。画像認識部126は、参照画像230の各画素のうち、推定された中心位置の画素に対して投票する(ステップS41b)。投票数は、例えば、投票マップ240を用いて管理される。

0104

また、キー画像220上の色相特徴点についても同様の処理が実行される。すなわち、画像認識部126は、キー画像220上の色相特徴点ごとに次のような処理を実行する。画像認識部126は、キー画像220上の色相特徴点と参照画像230上の対応点とが一致するように参照画像230にキー画像220を重ねた場合の、参照画像230におけるキー画像220の中心位置を推定する。画像認識部126は、参照画像230の各画素のうち、推定された中心位置の画素に対して投票する(ステップS42b)。投票数は、共通の投票マップ240を用いて管理される。

0105

画像認識部126は、以上のような投票の結果に基づき、参照画像230の画素の中から投票数が最大の画素を判別し、判別した画素の投票数が所定の閾値を超えている場合に、参照画像230をキー画像220に類似する画像と判定する。

0106

図15は、投票処理を説明するための図である。図15では、キー画像220の特徴点221と類似する参照画像230の対応点を探索する処理の例を示す。なお、特徴点221は、輝度特徴点と色相特徴点のいずれかである。画像認識部126は、例えば、キー画像220の特徴点221の局所特徴量と、参照画像230の各特徴点の局所特徴量とのハミング距離を計算することで、対応点を探索する(ステップS51)。

0107

キー画像220の特徴点221に対する対応点として、参照画像230の特徴点231が抽出されたものとする。このとき、画像認識部126は、特徴点221と特徴点231(対応点)とが一致するように参照画像230にキー画像220を重ねた場合の、参照画像230におけるキー画像220の中心位置222を推定する(ステップS52)。

0108

ここで、参照画像の横幅および高さの画素数をそれぞれwi,hiとし、キー画像の横幅および高さの画素数をそれぞれwr,hrとする。キー画像の特徴点(xr,yr)に対応する参照画像の対応点として参照画像の特徴点(xi,yi)が探索されたとすると、参照画像におけるキー画像の中心点の位置(xv,yv)は、次の式(1),(2)を用いて算出される。
xv=xi・xr+(wr/2) ・・・(1)
yv=yi・yr+(hr/2) ・・・(2)
図15の特徴点221と特徴点231との対応関係に基づいて、参照画像230におけるキー画像220の中心位置として画素232が推定されたとすると、画像認識部126は、参照画像230の画素のうち、画素232に対して投票する。この投票処理には、例えば、前述の投票マップ240が用いられる。投票マップ240は、参照画像230の各画素に対応するエントリを有する。投票マップ240の各エントリの初期値は0とされる。図15の処理では、投票マップ240における画素232に対応するエントリに1が加算される(ステップS53)。

0109

なお、実際には、画像認識部126は、例えば、画素232を中心とした所定領域(例えば、10画素四方の矩形領域)に含まれる各画素に投票してもよい。これにより、キー画像220と参照画像230との違いに対してある程度ロバスト認識処理を行うことが可能になる。

0110

図16は、投票結果に基づく類似画像の判定処理について説明するための図である。図16に示す投票マップ240aは、図15に示すような処理がキー画像220の各特徴点について実行された後の投票マップ240の状態を示す。画像認識部126は、投票マップ240aにおける各画素についての投票数のうちの最大値を抽出し、この最大値が所定の閾値を超えているかを判定する。

0111

キー画像220と参照画像230とに同じ対象物が写っている場合、キー画像220の特徴点と参照画像230の対応点との位置関係が、キー画像の特徴点間で同じ場合が多い。この場合、投票マップ240aにおける同じ画素に対応するエントリに投票数が集中する。一方、キー画像220と参照画像230との関連性が低い場合、キー画像220の特徴点と参照画像230の対応点との位置関係が、キー画像220の特徴点間で異なる場合が多い。この場合、投票マップ240aにおいて投票数が分散する。

0112

したがって、投票マップ240aにおける投票数の最大値が閾値を超えた場合には、投票数が同じ画素に集中していると推定されるため、キー画像220と参照画像230とに同じ対象物が写っている可能性が高いと判断できる。このことから、画像認識部126は、投票数の最大値が閾値を超えた場合、参照画像230をキー画像220に類似する画像であると判定する。

0113

なお、実際には、参照画像230における特徴点の数によって投票数の最大値が影響を受けることから、例えば、参照画像230における特徴点の数で投票数を除算するなどの正規化処理が行われた上で、閾値との比較が行われることが望ましい。

0114

<フローチャート>
次に、画像処理装置100の処理についてフローチャートを用いて説明する。
図17は、特徴量算出処理の例を示すフローチャートである。

0115

[ステップS101]基準色相値決定部122は、記憶部110に記憶された全記憶画像における色相値の分布状態に基づいて、基準色相値Hbaseを決定する。
[ステップS102]特徴量算出部125は、記憶画像を1つ選択する。

0116

[ステップS103]有用度算出部123は、記憶画像上の各特徴点について、輝度特徴量の有用度と色相特徴量の有用度とを算出する。
[ステップS104]特徴量選択部124は、ステップS103で算出された有用度に基づいて、記憶画像上の各特徴点に対応する局所特徴量として、輝度特徴量と色相特徴量のいずれかを選択する。すなわち、特徴量選択部124は、記憶画像上の各特徴点を輝度特徴点と色相特徴点のいずれかに分類する。

0117

[ステップS105]特徴量算出部125は、輝度特徴点における輝度特徴量を算出し、選択された記憶画像に対応する輝度特徴量管理テーブル114に登録する。また、特徴量算出部125は、色相特徴点における色相特徴量を算出し、選択された記憶画像に対応する色相特徴量管理テーブル115に登録する。

0118

[ステップS106]特徴量算出部125は、記憶部110に記憶されている記憶画像のすべてについてステップS102〜S105の処理を実行したかを判定する。未実行の記憶画像がある場合、特徴量算出部125は、ステップS102の処理を実行して、未実行の記憶画像を1つ選択する。一方、すべての記憶画像について処理を実行済みである場合、特徴量算出部125は処理を終了する。

0119

図18は、基準色相値算出処理の例を示すフローチャートである。この図18の処理は、図17のステップS101の処理に対応する。
[ステップS111]基準色相値決定部122は、記憶画像を1つ選択する。

0120

[ステップS112]基準色相値決定部122は、記憶画像の各画素の色相値に基づき、色相値ごとの発生頻度を算出する。
[ステップS113]基準色相値決定部122は、記憶部110に記憶されている記憶画像のすべてについてステップS111,S112の処理を実行したかを判定する。未実行の記憶画像がある場合、基準色相値決定部122は、ステップS111の処理を実行して、未実行の記憶画像を1つ選択する。一方、すべての記憶画像について処理を実行済みである場合、基準色相値決定部122は、ステップS114の処理を実行する。

0121

[ステップS114]基準色相値決定部122は、ステップS112で算出された発生頻度を、色相値ごとに合計する。
[ステップS115]基準色相値決定部122は、ステップS114での算出結果に基づき、発生頻度の合計値が最も小さい色相値を基準色相値Hbaseに決定する。

0122

図19は、有用度算出処理の例を示すフローチャートである。この図19の処理は、図17のステップS103の処理に対応する。
[ステップS121]有用度算出部123は、ステップS102で選択した記憶画像から特徴点を1つ選択する。

0123

[ステップS122]有用度算出部123は、画素ペア管理テーブル112から画素ペアを1つ選択する。
[ステップS123]有用度算出部123は、ステップS121で選択した特徴点を中心とした一定範囲の特徴領域から、ステップS122で選択した画素ペアに対応する2つの画素を選択し、選択した画素間の輝度差の絶対値を計算する。輝度差は、画素ペアに含まれる画素のうち、第1画素の輝度値から第2画素の輝度値を減算することで算出される。

0124

有用度算出部123は、算出された輝度差の絶対値を0より大きい所定の閾値と比較する。有用度算出部123は、輝度差の絶対値が閾値以上の場合、ビット値を1に決定し、輝度差の絶対値が閾値未満の場合、ビット値を0に決定する。有用度算出部123は、決定されたビット値を、輝度特徴点に対応する輝度絶対値ベクトルを示すビット列の下位に付加する。

0125

[ステップS124]有用度算出部123は、ステップS121で選択した特徴点を中心とした一定範囲の特徴領域から、ステップS122で選択した画素ペアに対応する2つの画素を選択し、選択した画素間における変換色相値の差分の絶対値を計算する。差分は、画素ペアに含まれる画素のうち、第1画素の変換色相値から第2画素の変換色相値を減算することで算出される。なお、変換色相値は、ステップS101で決定された基準色相値Hbaseに基づいて算出される。この算出方法については、後の図20で説明する。

0126

有用度算出部123は、算出された差分の絶対値を0より大きい所定の閾値と比較する。有用度算出部123は、差分の絶対値が閾値以上の場合、ビット値を1に決定し、差分の絶対値が閾値未満の場合、ビット値を0に決定する。有用度算出部123は、決定されたビット値を、色相特徴点に対応する色相絶対値ベクトルを示すビット列の下位に付加する。

0127

[ステップS125]有用度算出部123は、画素ペア管理テーブル112に登録されたすべての画素ペアについてステップS122〜S124の処理を実行したかを判定する。未実行の画素ペアがある場合、有用度算出部123は、ステップS122の処理を実行して、未実行の画素ペアを選択する。

0128

一方、すべての画素ペアについて処理を実行済みの場合、有用度算出部123は、中間データ管理テーブル113からステップS121で選択した特徴点に対応するレコードを特定する。有用度算出部123は、特定したレコードに対して、ステップS123の処理により生成された輝度絶対値ベクトルと、ステップS124の処理により生成された色相絶対値ベクトルとを登録する。そして、有用度算出部123は、ステップS126の処理を実行する。

0129

[ステップS126]有用度算出部123は、輝度絶対値ベクトルのノルムを輝度ノルムとして算出し、ステップS125で特定したレコードに登録する。
[ステップS127]有用度算出部123は、色相絶対値ベクトルのノルムを色相ノルムとして算出し、ステップS125で特定したレコードに登録する。

0130

[ステップS128]有用度算出部123は、ステップS121〜S127の処理をすべての特徴点について実行したかを判定する。未実行の特徴点がある場合、有用度算出部123は、ステップS121の処理を実行して、未実行の特徴点を選択する。一方、すべての特徴点について処理を実行済みの場合、有用度算出部123は処理を終了する。

0131

以上の図19の処理により、記憶画像に対応する中間データ管理テーブル113において、すべての特徴点について、輝度特徴量の有用度を示す輝度ノルムと、色相特徴量の有用度を示す色相ノルムとが登録される。

0132

図20は、色相値変換処理の例を示すフローチャートである。この図20の処理は、記憶画像の画素ごとに、元の色相値Hを基準色相値Hbaseに基づいて変換色相値Hnewに変換する処理であり、図19のステップS124、および後述する図22のステップS158において実行される。図20の処理は、ステップS124では有用度算出部123により実行され、ステップS158では特徴量算出部125により実行される。

0133

[ステップS131]画素値に基づいて、色相値Hが算出される。
[ステップS132]色相値Hから基準色相値Hbaseが減算されることで、変換色相値Hnewが算出される。

0134

[ステップS133]ステップS132で算出された変換色相値Hnewが0より小さいかが判定される。変換色相値Hnewが0以上の場合、画素に対応する変換色相値Hnewが確定され、処理が終了する。一方、変換色相値Hnewが0より小さい場合、ステップS134の処理が実行される。

0135

[ステップS134]ステップS132で算出された変換色相値Hnewに256が加算され、加算後の値が変換色相値Hnewに確定される。
図21は、特徴量選択処理の例を示すフローチャートである。この図21の処理は、図17のステップS104の処理に対応する。

0136

[ステップS141]特徴量選択部124は、ステップS102で選択した記憶画像から特徴点を1つ選択する。実際の処理としては、特徴量選択部124は、図19の処理によって作成された中間データ管理テーブル113から、レコードを1つ選択する。

0137

[ステップS142]特徴量選択部124は、ステップS141で選択したレコードから輝度ノルムと色相ノルムを読み出し、輝度ノルムが色相ノルムより大きいかを判定する。特徴量選択部124は、輝度ノルムが色相ノルムより大きい場合、ステップS143の処理を実行し、輝度ノルムが色相ノルム以下の場合、ステップS144の処理を実行する。

0138

[ステップS143]特徴量選択部124は、ステップS141で選択した特徴点に対応する局所特徴量として、輝度特徴量を選択する。このとき、特徴量選択部124は、ステップS102で選択した記憶画像に対応する輝度特徴量管理テーブル114に、レコードを1つ追加する。特徴量選択部124は、追加したレコードに、ステップS141で選択した特徴点を示すIDと、この特徴点の座標とを登録する。

0139

[ステップS144]特徴量選択部124は、ステップS141で選択した特徴点に対応する局所特徴量として、色相特徴量を選択する。このとき、特徴量選択部124は、ステップS102で選択した記憶画像に対応する色相特徴量管理テーブル115に、レコードを1つ追加する。特徴量選択部124は、追加したレコードに、ステップS141で選択した特徴点を示すIDと、この特徴点の座標とを登録する。

0140

[ステップS145]特徴量選択部124は、ステップS141〜S144の処理をすべての特徴点について実行したかを判定する。未実行の特徴点がある場合、特徴量選択部124は、ステップS141の処理を実行して、未実行の特徴点を選択する。一方、すべての特徴点について処理を実行済みの場合、特徴量選択部124は処理を終了する。

0141

以上の図21の処理により、記憶画像内のすべての特徴点が、有用度の比較に基づいて輝度特徴点と色相特徴点のいずれかに分類される。ステップS143では、輝度特徴点に分類された特徴点の座標が輝度特徴量管理テーブル114に登録され、ステップS144では、色相特徴点に分類された特徴点の座標が色相特徴量管理テーブル115に登録される。そして、次の図22の処理により、輝度特徴点および色相特徴点のそれぞれに対応する局所特徴量が算出され、輝度特徴量管理テーブル114と色相特徴量管理テーブル115のいずれかに登録される。

0142

図22は、特徴量登録処理の例を示すフローチャートである。この図22の処理は、図17のステップS105の処理に対応する。
[ステップS151]特徴量算出部125は、ステップS102で選択した記憶画像から輝度特徴点を1つ選択する。実際の処理としては、特徴量算出部125は、ステップS102で選択した記憶画像に対応する輝度特徴量管理テーブル114から、レコードを1つ選択する。

0143

[ステップS152]特徴量算出部125は、画素ペア管理テーブル112から画素ペアを1つ選択する。
[ステップS153]特徴量算出部125は、ステップS151で選択した輝度特徴点を中心とした一定範囲の特徴領域から、ステップS152で選択した画素ペアに対応する2つの画素を選択し、選択した各画素間の輝度差を計算する。輝度差は、画素ペアに含まれる画素のうち、第1画素の輝度値から第2画素の輝度値を減算することで算出される。

0144

特徴量算出部125は、算出された輝度差が0より大きい場合、ビット値を1に決定し、算出された輝度差が0以下の場合、ビット値を0に決定する。特徴量算出部125は、決定されたビット値を、輝度特徴点に対応する輝度特徴量を示すビット列の下位に付加する。

0145

[ステップS154]特徴量算出部125は、画素ペア管理テーブル112に登録されたすべての画素ペアについてステップS152,S153の処理を実行したかを判定する。未実行の画素ペアがある場合、特徴量算出部125は、ステップS152の処理を実行して、未実行の画素ペアを選択する。

0146

一方、すべての画素ペアについて処理を実行済みの場合には、ステップS153でのビット列の生成が完了している。この場合、特徴量算出部125は、ステップS151で輝度特徴量管理テーブル114から選択したレコードに、生成されたビット列を輝度特徴量として登録する。

0147

[ステップS155]特徴量算出部125は、ステップS151〜S154の処理をすべての輝度特徴点について実行したかを判定する。未実行の輝度特徴点がある場合、特徴量算出部125は、ステップS151の処理を実行して、未実行の輝度特徴点を選択する。一方、すべての輝度特徴点について処理を実行済みの場合、特徴量算出部125は、ステップS156の処理を実行する。

0148

[ステップS156]特徴量算出部125は、ステップS102で選択した記憶画像から色相特徴点を1つ選択する。実際の処理としては、特徴量算出部125は、ステップS102で選択した記憶画像に対応する色相特徴量管理テーブル115から、レコードを1つ選択する。

0149

[ステップS157]特徴量算出部125は、画素ペア管理テーブル112から画素ペアを1つ選択する。
[ステップS158]特徴量算出部125は、ステップS156で選択した色相特徴点を中心とした一定範囲の特徴領域から、ステップS157で選択した画素ペアに対応する2つの画素を選択し、選択した各画素間における変換色相値の差分を計算する。この差分は、画素ペアに含まれる画素のうち、第1画素の変換色相値から第2画素の変換色相値を減算することで算出される。

0150

特徴量算出部125は、算出された差分が0より大きい場合、ビット値を1に決定し、算出された差分が0以下の場合、ビット値を0に決定する。特徴量算出部125は、決定されたビット値を、色相特徴点に対応する色相特徴量を示すビット列の下位に付加する。

0151

[ステップS159]特徴量算出部125は、画素ペア管理テーブル112に登録されたすべての画素ペアについてステップS157,S158の処理を実行したかを判定する。未実行の画素ペアがある場合、特徴量算出部125は、ステップS157の処理を実行して、未実行の画素ペアを選択する。

0152

一方、すべての画素ペアについて処理を実行済みの場合には、ステップS158でのビット列の生成が完了している。この場合、特徴量算出部125は、ステップS156で色相特徴量管理テーブル115から選択したレコードに、生成されたビット列を色相特徴量として登録する。

0153

[ステップS160]特徴量算出部125は、ステップS156〜S159の処理をすべての色相特徴点について実行したかを判定する。未実行の色相特徴点がある場合、特徴量算出部125は、ステップS156の処理を実行して、未実行の色相特徴点を選択する。一方、すべての色相特徴点について処理を実行済みの場合、特徴量算出部125は処理を終了する。

0154

以上の図22の処理により、記憶画像内のすべての特徴点について、輝度特徴量または色相特徴量のいずれかが算出され、記憶部110に登録される。特に、本実施の形態では、色相特徴量は元の色相値でなく、基準色相値Hbaseを基に変換された変換色相値Hnewを用いて算出される。

0155

図23図24は、画像認識処理の例を示すフローチャートである。
[ステップS171]画像認識部126は、ユーザの操作入力に応じて記憶画像からキー画像を選択する。

0156

[ステップS172]画像認識部126は、キー画像以外の記憶画像(参照画像)の中から1つを選択する。
[ステップS173]画像認識部126は、キー画像の輝度特徴量管理テーブル114に基づいて、キー画像の輝度特徴点を1つ選択する。

0157

[ステップS174]画像認識部126は、ステップS172で選択した参照画像内の輝度特徴点の中から、ステップS173でキー画像から選択した輝度特徴点に類似する特徴点(対応点)を探索する。この処理では、画像認識部126は、キー画像に対応する輝度特徴量管理テーブル114と参照画像に対応する輝度特徴量管理テーブル114とを参照する。画像認識部126は、キー画像から選択した輝度特徴点に対応する輝度特徴量と、参照画像の各輝度特徴点に対応する輝度特徴量とのハミング距離を計算し、参照画像の輝度特徴点のうちハミング距離が最小の特徴点を、類似度が最も高い対応点として抽出する。

0158

[ステップS175]画像認識部126は、ステップS173で選択した輝度特徴点とステップS174で探索された対応点とが一致するように参照画像にキー画像を重ねた場合の、参照画像におけるキー画像の中心位置を推定する。画像認識部126は、参照画像の各画素のうち、推定された中心位置の画素に対して投票する。なお、実際には、画像認識部126は、例えば、推定された中心位置を中心とした所定領域(例えば、10画素四方の矩形領域)に含まれる各画素に投票してもよい。

0159

[ステップS176]画像認識部126は、キー画像内のすべての輝度特徴点についてステップS173〜S175の処理を実行したかを判定する。未実行の輝度特徴点がある場合、画像認識部126は、ステップS173の処理を実行して、未実行の輝度特徴点を選択する。一方、すべての輝度特徴点について処理を実行済みの場合、画像認識部126は、図24のステップS181の処理を実行する。

0160

以下、図24を参照して説明を続ける。
[ステップS181]画像認識部126は、キー画像の色相特徴量管理テーブル115に基づいて、キー画像の色相特徴点を1つ選択する。

0161

[ステップS182]画像認識部126は、ステップS172で選択した参照画像内の色相特徴点の中から、ステップS181でキー画像から選択した色相特徴点に類似する特徴点(対応点)を探索する。この処理では、画像認識部126は、キー画像に対応する色相特徴量管理テーブル115と参照画像に対応する色相特徴量管理テーブル115とを参照する。画像認識部126は、キー画像から選択した色相特徴点に対応する色相特徴量と、参照画像の各色相特徴点に対応する色相特徴量とのハミング距離を計算し、参照画像の色相特徴点のうちハミング距離が最小の特徴点を、類似度が最も高い対応点として抽出する。

0162

[ステップS183]画像認識部126は、ステップS181で選択した色相特徴点とステップS182で探索された対応点とが一致するように参照画像にキー画像を重ねた場合の、参照画像におけるキー画像の中心位置を推定する。画像認識部126は、参照画像の各画素のうち、推定された中心位置の画素に対して投票する。なお、実際には、画像認識部126は、例えば、推定された中心位置を中心とした所定領域(例えば、10画素四方の矩形領域)に含まれる各画素に投票してもよい。

0163

[ステップS184]画像認識部126は、キー画像内のすべての色相特徴点についてステップS181〜S183の処理を実行したかを判定する。未実行の色相特徴点がある場合、画像認識部126は、ステップS181の処理を実行して、未実行の色相特徴点を選択する。一方、すべての色相特徴点について処理を実行済みの場合、画像認識部126は、ステップS185の処理を実行する。

0164

[ステップS185]画像認識部126は、ステップS172で選択した参照画像の各画素についての投票数の最大値が所定の閾値を超えている場合、この参照画像をキー画像に類似する画像と判定する。この場合、画像認識部126は、例えば、キー画像に類似すると判定された参照画像の識別情報を出力する。一方、画像認識部126は、投票数の最大値が閾値以下の場合、この参照画像をキー画像に類似しない画像と判定する。

0165

なお、ステップS185では、画像認識部126は、例えば、投票数の最大値が所定の閾値を超えているすべての参照画像の識別情報を、投票数の大きさ順に出力してもよい。この場合、投票数は、キー画像と参照画像との類似度を示す。

0166

[ステップS186]画像認識部126は、すべての参照画像についてステップS172〜S176,S181〜S185の処理を実行したかを判定する。未実行の参照画像がある場合、画像認識部126は、ステップS172の処理を実行して、参照画像を1つ選択する。一方、すべての参照画像について処理を実行済みの場合、画像認識部126は処理を終了する。

0167

以上説明した画像処理装置100によれば、記憶画像内の各特徴点が、輝度特徴量を用いた方が局所特徴量の安定性が高くなる輝度特徴点と、色相特徴量を用いた方が局所特徴量の安定性が高くなる色相特徴点のいずれかに分類される。これにより、特徴点に対応する特徴領域における各画素の輝度差が小さい場合でも、各画素の色相差が大きければ、照明状況やノイズに強い安定した局所特徴量を算出できる。

0168

また、色相特徴量は、変換色相値Hnewに基づいて算出される。これにより、検索対象の画像において、特定の色相(例えば、赤)の画素が多く発生する場合でも、照明状況やノイズに強い安定した色相特徴量を算出できる。

0169

そして、記憶画像から選択されたキー画像と参照画像との類似判定が行われる際には、参照画像内の輝度特徴点の中から、キー画像内の各輝度特徴点に対応する対応点が抽出される。これとともに、参照画像内の色相特徴点の中から、キー画像内の各色相特徴点に対応する対応点が抽出される。輝度特徴点の対応点が抽出される際には輝度特徴量が用いられ、色相特徴点の対応点が抽出される際には色相特徴量が用いられる。

0170

キー画像と参照画像における局所特徴量としては、上記のように安定した局所特徴量が算出されているので、対応点の抽出精度が向上する。その結果、画像間の類似判定精度を向上させることができる。

0171

また、特徴点ごとの局所特徴量として、輝度特徴量と色相特徴量のうち有用度が高い特徴量が選択的に算出される。このため、局所特徴量として輝度特徴量と色相特徴量の両方を用いる場合と比較して、局所特徴量の計算処理負荷を軽減でき、また、その処理時間を短縮できる。

0172

〔第3の実施の形態〕
図25は、第3の実施の形態に係る画像処理装置の構成例および処理例を示す図である。図25に示す画像処理装置2は、記憶部2aと演算部2bを有する。記憶部2aは、例えば、RAM、HDDなどの記憶装置として実現される。演算部2bは、例えば、プロセッサとして実現される。

0173

記憶部2aには、特徴量の算出対象となる画像10が記憶されている。第1の実施の形態と同様に、画像10には特徴領域11が設定されており、特徴領域11には画素ペア11a〜11dが設定されている。

0174

演算部2bは、記憶部2aに記憶された画像10の各画素の色相に基づき、次のような処理によって画像10の特徴量を算出する。
まず、演算部2bは、特徴領域11内の画素ペア11a〜11dのそれぞれについて、次のような判定処理を実行する(ステップS2a)。なお、ここでは、画素ペアに含まれる一方の画素の色相値をHAとし、他方の画素の色相値をHBとする。演算部2bは、色相値HAと色相値HBとの間の色相環20における右回り方向の距離DRと、色相値HAと色相値HBとの間の色相環20における左回り方向の距離DLのどちらが短いかを判定する。

0175

次に、演算部2bは、ステップS2aでの判定結果に基づいて、画素ペア11a〜11dのそれぞれに対応するビット値を決定し、それらのビット値を配列することで、特徴領域11についての局所特徴量13を算出する(ステップS2b)。

0176

ステップS2aの判定処理によれば、画素ペアに含まれる一方の画素の色相と他方の画素の色相との間の色相環20における近さが、正確に判定される。そのため、このような判定処理の結果を基にビット値が決定されることで、特徴領域11に特定の色相(例えば赤)が含まれる場合であっても、ビット値が撮影条件やノイズの影響によって反転しにくくなる。

0177

例えば、図25では、色相値HAが最小値「0」に近い値となっている。このような場合、撮影条件やノイズ発生状況が変化すると、色相値HAは色相環20上の境界を越えて、最大値「255」に近い値に変動し得る。このため、色相値HAと色相値HBとの差分の符号を基にビット値を決定した場合、ビット値が反転しやすい。これに対して、距離DR,DLのどちらが短いかという判定結果に基づいてビット値が決定されることで、撮影条件やノイズの影響によるビット値の反転が発生しにくくなる。

0178

このように、第3の実施の形態に係る画像処理装置2によれば、特定の色相を含む特徴領域においてビット値が反転しにくくなり、その結果、局所特徴量13の値が安定化する。すなわち、ロバスト性の高い特徴量を算出できる。

0179

また、このような手順により、比較対象とする2つの画像のそれぞれから局所特徴量が算出され、各画像の局所特徴量の比較によって画像間の類似度が判定されることで、その判定精度を向上させることができる。

0180

〔第4の実施の形態〕
次に、第4の実施の形態に係る画像処理装置について説明する。第4の実施の形態に係る画像処理装置は、第3の実施の形態に係る画像処理装置2の処理機能を備える装置の一例であり、第2の実施の形態に係る画像処理装置100の処理機能の一部を以下のように変形することで実現される。このため、以下の説明では、第2の実施の形態に係る画像処理装置100との相違点を中心に説明し、その他の部分については適宜説明を省略する。

0181

図26は、第4の実施の形態に係る画像処理装置が備える処理機能の構成例を示すブロック図である。図26に示す画像処理装置100aは、図3に示した画像処理装置100と同様の記憶部110、画像取得部121、特徴量選択部124および画像認識部126を備える。また、画像処理装置100aは、図3に示した有用度算出部123および特徴量算出部125の代わりに、有用度算出部123aおよび特徴量算出部125aを備える。また、画像処理装置100aは、図3に示した基準色相値決定部122を備えない。

0182

有用度算出部123aは、有用度の算出の際に変換色相値でなく変換前の元の色相値を用いる点で、図3の有用度算出部123とは異なる。特徴量算出部125aは、色相特徴量のビット値を、画素ペアの各色相値の色相環320における右回り方向の距離と左回り方向の距離のどちらが短いかによって決定する点で、図3の特徴量算出部125とは異なる。

0183

なお、記憶部110は、図25に示した記憶部2aの一例であり、有用度算出部123a、特徴量選択部124および特徴量算出部125aは、図25に示した演算部2bの一例である。また、画像処理装置100の場合と同様に、画像処理装置100aが備える処理機能の一部は、画像処理装置100aとは別の外部装置に設けられていてもよい。

0184

図27は、色相特徴量のビット値決定方法について説明するための図である。前述のように、色相差の符号を基に色相特徴量のビット値を決定する方法では、撮影条件やノイズ発生状況の違いにより、特定の色相について色相特徴量のビット値が容易に反転し得る。このような問題に対して、本実施の形態では、ビット値に対応する画素ペアに含まれる各画素の色相値に基づき、色相環320における色相値間の右回り方向の距離と左回り方向の距離のどちらが短いかによって、ビット値が決定される。

0185

具体的には、画素ペアに含まれる第1画素の色相値をH1とし、第2画素の色相値をH2とすると、例えば、特徴量算出部125は、次のような計算により、色相環320における色相値H1と色相値H2との間の右回り方向の距離Dを算出する。色相値H1が色相値H2以下の場合、特徴量算出部125は、下記の式(3)にしたがって距離Dを算出する。一方、色相値H1が色相値H2より大きい場合、特徴量算出部125は、下記の式(4)にしたがって距離Dを算出する。
D=H2−H1 ・・・(3)
D=256−(H1−H2) ・・・(4)
そして、特徴量算出部125は、算出された距離Dが所定の閾値以下の場合、ビット値を0に決定し、距離Dが閾値より大きい場合、ビット値を1に決定する。閾値は、色相値がとり得る最小値と最大値との間の中間値に設定され、本実施の形態では「128」に設定される。

0186

図27(A)は、色相値H1が色相値H2以下である例として、H1=10、H2=220の場合を示す。この場合、式(3)からD=210と算出され、閾値「128」より大きいことから、ビット値が1に決定される。また、図27(B)は、色相値H1が色相値H2より大きい例として、H1=220、H2=30の場合を示す。この場合、式(4)からD=66と算出され、閾値「128」以下であることから、ビット値が0に決定される。

0187

このようにビット値が決定されることで、例えば、色相値が最小値「0」付近または最大値「255」をとり、撮影条件やノイズの影響によって大きく変動しやすい場合でも、決定されるビット値が変化しなくなる。例えば、図27(A)の例において第1画素の色相値H1が10でなく250と検出された場合でも、ビット値はH=10の場合と同様に1に決定される。このように色相特徴量のビット値が反転しにくくなることで、ロバスト性の高い色相特徴量を算出できるようになる。その結果、画像間の類似判定精度や、画像認識精度を向上させることができる。

0188

ところで、上記のような色相特徴量の算出方法を採用した場合には、色相特徴量の有用度を算出するための色相絶対値ベクトルの算出を、次のように実行することが望ましい。有用度算出部123aは、画素ペアの各色相値H1,H2が下記の第1条件と第2条件のいずれかを満たす場合に、色相絶対値ベクトルにおける画素ペアに対応するビット値を0に決定し、それ以外の場合にビット値を1に決定する。ここで、値「X」の絶対値をABS(X)と表す。

0189

第1条件は、ABS(H1−H2)が0より大きい所定の閾値THより小さい、という条件である。ここで、閾値THは、0より大きく、色相値がとり得る最小値と最大値との間の中間値(ここでは128)より小さい値に設定されるが、例えば20以下など、比較的0に近い値に設定されることが望ましい。このような第1条件が満たされる場合、色相値H1,H2が色相環320における近い位置に存在しているため、撮影環境やノイズの影響などによって、色相環320における色相値H1,H2の位置関係が逆転しやすい。このため、このような色相値H1,H2に基づいて上記の距離Dを算出した場合、対応するビット値が反転しやすい。そこで、上記の第1条件を満たす場合、色相絶対値ベクトルのビット値を0に決定することで、色相特徴量より輝度特徴量が選択されやすくなる。

0190

第2条件は、ABS(ABS(H1−H2)−128)が上記閾値THより小さい、という条件である。この第2条件が満たされる場合、色相値H1,H2の間では、色相環320における右回り方向の距離と左回り方向の距離との差が小さい。このような色相値H1,H2に基づいて上記の距離Dを算出した場合、対応するビット値が反転しやすい。そこで、上記の第2条件を満たす場合にも、色相絶対値ベクトルのビット値を0に決定することで、色相特徴量より輝度特徴量が選択されやすくなる。

0191

さらに、第2条件が満たされる場合、色相値H1,H2は、ほぼ、色相環320における対向する位置に存在する(すなわち、補色関係にある)とも言える。例えば、看板や標識などの画像では、補色関係にある色を配色する場合、それらの輝度差が小さいとハレーションを起こすため、それらの輝度差を大きくすることが多い。そのため、色相値H1,H2が補色関係にある場合には、同じ画素ペアの輝度差が大きい可能性が高く、色相特徴量より輝度特徴量が選択された方が類似判定精度を高められる。したがって、第2条件を満たす場合に、色相絶対値ベクトルのビット値を0に決定し、輝度特徴量が選択されやすくすることで、類似判定精度の大幅な向上効果を期待できる。

0192

次に、画像処理装置100aの処理についてフローチャートを用いて説明する。
まず、画像処理装置100aは、図17に示した処理ステップのうち、ステップS102〜S106によって特徴量算出処理を実行する。すなわち、ステップS101の処理は実行されない。ただし、図17において有用度算出部123、特徴量算出部125によって実行された処理は、それぞれ有用度算出部123a、特徴量算出部125aによって実行される。

0193

ステップS103の有用度算出処理は、次の図28に示す手順で実行される。
図28は、有用度算出処理の例を示すフローチャートである。この図28に示すフローチャートでは、図19に示した各処理ステップのうち、ステップS124の代わりにステップS124aが実行される。なお、図28の各処理は、有用度算出部123の代わりに有用度算出部123aによって実行される。

0194

[ステップS124a]有用度算出部123aは、ステップS121で選択した特徴点を中心とした一定範囲の特徴領域から、ステップS122で選択した画素ペアに対応する2つの画素を選択し、選択した画素間における色相差の絶対値を計算する。有用度算出部123は、算出された絶対値に基づき、前述の式(3)または式(4)にしたがって、色相絶対値ベクトルにおける、ステップS112で選択した画素ペアに対応するビット値を決定する。

0195

図29は、色相絶対値ベクトルのビット値決定処理の例を示すフローチャートである。この図29の処理は、図28のステップS124aの処理に対応する。
[ステップS201]有用度算出部123aは、ステップS122で選択した画素ペアにおける第1画素の色相値H1と第2画素の色相値H2が、前述の第1条件を満たすかを判定する。第1条件とは、ABS(H1−H2)が前述の閾値THより小さい、という条件である。有用度算出部123aは、第1条件を満たす場合、ステップS203の処理を実行し、第1条件を満たさない場合、ステップS202の処理を実行する。

0196

[ステップS202]有用度算出部123aは、色相値H1,H2が前述の第2条件を満たすかを判定する。第2条件とは、ABS(ABS(H1−H2)−128)が上記の閾値THより小さい、という条件である。有用度算出部123aは、第2条件を満たす場合、ステップS203の処理を実行し、第2条件を満たさない場合、ステップS204の処理を実行する。

0197

[ステップS203]有用度算出部123aは、ステップS122で選択した画素ペアに対応するビット値を0に決定する。有用度算出部123aは、決定されたビット値を、色相特徴点に対応する色相絶対値ベクトルを示すビット列の下位に付加する。

0198

[ステップS204]有用度算出部123aは、ステップS122で選択した画素ペアに対応するビット値を1に決定する。有用度算出部123aは、決定されたビット値を、色相特徴点に対応する色相絶対値ベクトルを示すビット列の下位に付加する。

0199

次に、ステップS104の特徴量選択処理は、図21と同様の手順で実行されるので、ここでは図示を省略する。ステップS105の特徴量登録処理は、次の図30に示す手順で実行される。

0200

図30は、特徴量登録処理の例を示すフローチャートである。この図30に示すフローチャートでは、図22に示したステップS151〜S155が特徴量算出部125の代わりに特徴量算出部125aによって実行された後、ステップS211〜S220の処理が実行される。

0201

[ステップS211]特徴量算出部125aは、ステップS102で選択した記憶画像から色相特徴点を1つ選択する。実際の処理としては、特徴量算出部125aは、ステップS102で選択した記憶画像に対応する色相特徴量管理テーブル115から、レコードを1つ選択する。

0202

[ステップS212]特徴量算出部125aは、画素ペア管理テーブル112から画素ペアを1つ選択する。
[ステップS213]特徴量算出部125aは、ステップS211で選択した色相特徴点を中心とした一定範囲の特徴領域から、ステップS112で選択した画素ペアに対応する2つの画素を選択し、第1画素の色相値H1と第2画素の色相値H2を算出する。特徴量算出部125aは、色相値H1が色相値H2以下であるかを判定する。特徴量算出部125aは、色相値H1が色相値H2以下の場合、ステップS214の処理を実行し、色相値H1が色相値H2より大きい場合、ステップS215の処理を実行する。

0203

[ステップS214]特徴量算出部125aは、前述の式(3)にしたがって、色相環320における色相値H1と色相値H2との間の右回り方向の距離Dを算出する。
[ステップS215]特徴量算出部125aは、前述の式(4)にしたがって、色相環320における色相値H1と色相値H2との間の右回り方向の距離Dを算出する。

0204

[ステップS216]特徴量算出部125aは、算出された距離Dが閾値「128」以下であるかを判定する。特徴量算出部125aは、距離Dが128以下の場合、ステップS217の処理を実行し、距離Dが128より大きい場合、ステップS218の処理を実行する。

0205

[ステップS217]特徴量算出部125aは、ステップS212で選択した画素ペアに対応するビット値を0に決定する。特徴量算出部125aは、決定されたビット値を、色相特徴点に対応する色相特徴量を示すビット列の下位に付加する。

0206

[ステップS218]特徴量算出部125aは、ステップS212で選択した画素ペアに対応するビット値を1に決定する。特徴量算出部125aは、決定されたビット値を、色相特徴点に対応する色相特徴量を示すビット列の下位に付加する。

0207

[ステップS219]特徴量算出部125aは、画素ペア管理テーブル112に登録されたすべての画素ペアについてステップS212〜S218の処理を実行したかを判定する。未実行の画素ペアがある場合、特徴量算出部125aは、ステップS212の処理を実行して、未実行の画素ペアを選択する。

0208

一方、すべての画素ペアについて処理を実行済みの場合には、色相特徴量を示すビット列の生成が完了している。この場合、特徴量算出部125aは、ステップS211で色相特徴量管理テーブル115から選択したレコードに、生成されたビット列を色相特徴量として登録する。

0209

[ステップS220]特徴量算出部125aは、ステップS211〜S219の処理をすべての色相特徴点について実行したかを判定する。未実行の色相特徴点がある場合、特徴量算出部125aは、ステップS211の処理を実行して、未実行の色相特徴点を選択する。一方、すべての色相特徴点について処理を実行済みの場合、特徴量算出部125aは処理を終了する。

0210

以上の図30の処理により、記憶画像内のすべての特徴点について、輝度特徴量または色相特徴量のいずれかが算出され、記憶部110に登録される。特に、本実施の形態では、色相特徴量は色相値の差分から算出されるのではなく、色相環320における色相値間の右回り方向の距離と左回り方向の距離のどちらが短いかによって算出される。これにより、検索対象の画像において、特定の色相(例えば、赤)の画素が多く発生する場合でも、照明状況やノイズに強い安定した色相特徴量を算出できる。その結果、画像間の類似判定精度や、画像認識精度を向上させることができる。

0211

なお、上記の各実施の形態に示した装置(画像処理装置1,2,100,100a)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスクFD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。

0212

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。

0213

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。

0214

1画像処理装置
1a 記憶部
1b演算部
10 画像
11特徴領域
11a〜11d画素ペア
12局所特徴量
20 色相環

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 株式会社トヨタシステムズの「 動体検出装置」が 公開されました。( 2019/09/19)

    【課題】 カメラ視野が変化している場合であってもそのカメラによって撮影された画像上の動体が映る領域を特定することが可能であり且つその動体の画像上の移動に伴う動体周辺の領域が変化している場合であっても... 詳細

  • 新菱冷熱工業株式会社の「 計測機配置位置決定装置、計測機配置位置決定方法およびプログラム」が 公開されました。( 2019/09/19)

    【課題】計測機配置位置を決定する処理時間を短くし、また、広い範囲の計測が可能な、より少ない個数の計測機配置位置を決定する。【解決手段】計測機配置位置決定装置は、SfMにより生成された被計測物等のベース... 詳細

  • 株式会社マーケットヴィジョンの「 画像認識システム」が 公開されました。( 2019/09/19)

    【課題】 画像情報に写っている商品などの対象物の識別情報の特定を精度よく行うための画像認識システムを提供することを目的とする。【解決手段】 商品を陳列した陳列棚を複数の角度から撮影した画像情報... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ