(57)【要約】【課題】画素間の差異を利用する画像認識の処理に適した特徴点を選定すること。【解決手段】比較対象の第１の画像２１と第２の画像３１とを記憶する記憶部１１と、第１の画像２１と第２の画像３１とからそれぞれ特徴点の候補を複数抽出し、第１の画像２１内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせと、第２の画像３１内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせとを抽出し、抽出された第１の画像について及び第２の画像についてのそれぞれの組み合わせについての特徴量をビット列で出力する演算部１２とを有する、測距装置１０が提供される。【選択図】図１
2018142189.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
比較対象の第１の画像と第２の画像とからそれぞれ特徴点の候補を複数抽出し、
前記第１の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせと、前記第２の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせとを抽出し、
抽出された前記第１の画像について及び前記第２の画像についてのそれぞれの組み合わせについての特徴量をビット列で出力する
処理を実行させる、プログラム。
【請求項２】
前記第１の画像内の特徴点についての前記ビット列と、前記第２の画像内の特徴点についての前記ビット列との間の距離に基づいて前記第１の画像内の特徴点と前記第２の画像内の特徴点との間の対応関係を特定する
処理を実行させる、請求項１に記載のプログラム。
【請求項３】
対応する前記第１の画像内の特徴点と前記第２の画像内の特徴点との位置関係に基づいて前記第１の画像と前記第２の画像との類似度を判定する
処理を実行させる、請求項２に記載のプログラム。
【請求項４】
前記抽出する処理では、前記特徴量の安定性が所定の閾値より大きい前記組み合わせを抽出する
処理を実行させる、請求項１〜３のいずれか１項に記載のプログラム。
【請求項５】
前記抽出する処理では、前記特徴量の安定性が大きい順に所定数の特徴点を有する前記組み合わせを抽出する
処理を実行させる、請求項１〜３のいずれか１項に記載のプログラム。
【請求項６】
コンピュータが、
比較対象の第１の画像と第２の画像とからそれぞれ特徴点の候補を複数抽出し、
前記第１の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせと、前記第２の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせとを抽出し、
抽出された前記第１の画像について及び前記第２の画像についてのそれぞれの組み合わせについての特徴量をビット列で出力する
処理を実行する、測距方法。
【請求項７】
比較対象の第１の画像と第２の画像とを記憶する記憶部と、
前記第１の画像と前記第２の画像とからそれぞれ特徴点の候補を複数抽出し、
前記第１の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせと、前記第２の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせとを抽出し、
抽出された前記第１の画像について及び前記第２の画像についてのそれぞれの組み合わせについての特徴量をビット列で出力する演算部と
を有する、測距装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、測距方法、及び測距装置に関する。
【背景技術】
【０００２】
様々な分野で画像のマッチング技術が広く利用されるようになってきた。例えば、顔認証や生体認証の分野では、可視光カメラや赤外線カメラで撮像した画像とテンプレート画像とをマッチングする技術が利用されている。また、カメラ付き携帯端末やデジタルカメラで撮像した画像とランドマークの画像とをマッチングする技術も広く利用されている。
【０００３】
画像同士のマッチングには、例えば、入力画像の特徴点における特徴量（局所特徴量）と、参照画像の特徴点における局所特徴量とを比較して、入力画像の特徴点に対応する参照画像の特徴点（対応点）を探索する手法（対応点探索）が利用される。探索により発見された対応点の集合を統計処理することで入力画像中における参照画像の存在や参照画像の位置を認識することができる。
【０００４】
対応点探索には、例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）、ＳＵＲＦ（Speeded Up Robust Features）、ＢＲＩＥＦ（Binary Robust Independent Elementary Features）などの画像特徴量が利用される。例えば、ＢＲＩＥＦの特徴は、特徴点の周囲に配置される複数の画素ペアについて、画素間の輝度差に応じて決定されるビット値の集合（局所特徴量）により表現される。画素間の輝度差を利用する画像特徴量としては、例えば、ＯＲＢ（Oriented Fast and Rotated BRIEF）やＦＲＥＡＫ（Fast Retina Keypoint）などがある。
【０００５】
なお、対応点探索の処理負荷を低減する方法として、複数の画素ペアが配置される画像領域が複数の特徴点について重なる場合に過去に計算した輝度差の情報を再利用する方法が提案されている。また、複数のクエリ画像から算出される複数の特徴データを統合して出力する方法が提案されている。また、画像から検出される特徴のうち、エッジや線の輪郭に沿って存在する特徴に絞り込むことでマッチングの処理を高速化する方法が提案されている。また、ＢＲＩＥＦの前処理にＦＡＳＴ（Features from Accelerated Segment Test）を利用して処理を高速化する方法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−４５８３７号公報
【特許文献２】特開２０１３−１０１４２３号公報
【特許文献３】特開２０１３−１０９７７３号公報
【特許文献４】国際公開第２０１１／０２１６０５号
【非特許文献】
【０００７】
【非特許文献１】David G.Lowe, "Distinctive image features from scale-invariant keypoints", International Journal of Computer Vision, 60, 2 (2004), pp.91-110
【非特許文献２】H.Bay,T.Tuytelaars, and L.V.Gool, "SURF:Speed Up Robust Features", Proc. of Int. Conf. of ECCV, 2006
【非特許文献３】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
【非特許文献４】Alexandre Alahi, Raphael Ortiz, Pierre Vandergheynst, "FREAK: Fast Retina Keypoint", In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2012.
【非特許文献５】E. Rublee, V. Rabaud, K. Konolige, and G. Bradski, "ORB: An efficient alternative to SIFT or SURF", In Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2011.
【非特許文献６】http://docs.opencv.org/trunk/dc/d7d/tutorial#py#brief.html
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＢＲＩＥＦなどのように画素間の差の符号に基づく局所特徴量を利用して対応点探索を実施する方法の場合、色や明るさの差が小さい平坦な部分や、細い線を含む部分などで誤対応の発生リスクが高くなる。
【０００９】
例えば、平坦な部分では照明による明暗やノイズなどの影響で画素間の差の符号が容易に変化しうる。また、細い線を含む部分では、画素ペアのうち一方の画素がたまたま細い線に乗る場合と、乗らない場合とで画素間の差の符号が変化する。このような誤対応が生じやすい不安定な特徴点を除外し、誤対応が生じ難い特徴点を選定することができれば画像認識の精度向上に寄与する。
【００１０】
１つの側面によれば、本発明の目的は、画素間の差異を利用する画像認識の処理に適した特徴点を選定することが可能なプログラム、測距方法、及び測距装置を提供することにある。
【課題を解決するための手段】
【００１１】
一態様によれば、コンピュータが、比較対象の第１の画像と第２の画像とからそれぞれ特徴点の候補を複数抽出し、第１の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせと、第２の画像内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせとを抽出し、抽出された第１の画像について及び第２の画像についてのそれぞれの組み合わせについての特徴量をビット列で出力する処理を実行する、測距方法が提供される。
【発明の効果】
【００１２】
画素間の差異を利用する画像認識の処理に適した特徴点を選定することができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係る測距装置の一例を示した図である。
【図２】第２実施形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。
【図３】第２実施形態に係る情報処理装置による画像探索について説明するための図である。
【図４】画像探索の処理（参照画像の特徴量抽出）について説明するための図である。
【図５】画像探索の処理（クエリ画像の特徴量抽出）について説明するための図である。
【図６】画像探索の処理（対応点探索と投票）について説明するための図である。
【図７】画像探索の処理（最大値検出と判定）について説明するための図である。
【図８】第２実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
【図９】画像ペアテーブルの一例を示した図である。
【図１０】候補テーブルの一例を示した図である。
【図１１】特徴点テーブルの一例を示した図である。
【図１２】第２実施形態に係る特徴点の選択方法について説明するための図である。
【図１３】第２実施形態に係る特徴点選択の処理の流れを示したフロー図である。
【図１４】第２実施形態に係る特徴量抽出の処理の流れを示したフロー図である。
【図１５】第２実施形態に係る画像認識の処理の流れを示した第１のフロー図である。
【図１６】第２実施形態に係る画像認識の処理の流れを示した第２のフロー図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１５】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。第１実施形態は、比較対象の画像から画像認識に適した画像特徴量を抽出する方法に関する。図１は、第１実施形態に係る測距装置の一例を示した図である。なお、図１に例示した測距装置１０は、第１実施形態に係る測距装置の一例である。
【００１６】
図１に示すように、測距装置１０は、記憶部１１及び演算部１２を有する。
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などのプロセッサである。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００１７】
記憶部１１は、比較対象の第１の画像２１と第２の画像３１とを記憶する。演算部１２は、第１の画像２１と第２の画像３１とからそれぞれ特徴点の候補を複数抽出する。例えば、演算部１２は、（Ａ１）に示すように、特徴点の候補として、第１の画像２１内に等間隔に特徴点（図中の黒丸）を配置する。また、演算部１２は、（Ｂ１）に示すように、特徴点の候補として、第２の画像３１内に等間隔に特徴点（図中の黒丸）を配置する。なお、特徴点の候補を配置する配置規則は図１の例に限定されない。
【００１８】
また、演算部１２は、第１の画像２１内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせを抽出する。例えば、演算部１２は、特徴点２１ａの周囲に画素ペア２２ａ、２２ｂを配置し、画素ペア２２ａにおける画素間の輝度差及び画素ペア２２ｂにおける画素間の輝度差を計算する。そして、演算部１２は、計算された輝度差の大きさ（例えば、絶対値）に基づいて特徴量の安定性を評価する。輝度差の絶対値が小さい場合、ペアとする画素の位置が少しずれただけでも、輝度差の符号が変化する可能性がある。すなわち安定性が低いといえる。一方で、輝度差の絶対値が大きい場合、ペアとする画素の位置が少しずれても、輝度差の符号が変化する可能性は低い。すなわち安定性が高いといえる。
【００１９】
演算部１２は、候補として抽出された各特徴点について同様に特徴量の安定性を評価し、特徴量の安定性が大きい特徴点を選定して、特徴量の安定性が大きい組み合わせとして抽出する。
【００２０】
例えば、演算部１２は、特徴量の安定性が大きい順に所定数の特徴点を選定する。また、演算部１２は、特徴量の安定性が所定の閾値より大きい特徴点を選定してもよい。図１の例では、特徴点２１ａは選定から漏れ、画素ペア２３ａ、２３ｂに基づいて評価される特徴点２１ｂは特徴量の安定性が大きい特徴点として選定されている。同様の方法により、演算部１２は、第２の画像３１内の特徴点の組み合わせのうち特徴量の安定性が大きい組み合わせを抽出する。
【００２１】
演算部１２は、抽出された組み合わせについての特徴量をビット列で出力する。例えば、演算部１２は、特徴量の安定性が大きい特徴点（図１の例では特徴点＃１、＃２、…）のそれぞれについて、各画素ペアに対応する輝度差の符号に基づくビット値を求め、特徴点毎にビット値を並べたビット列を出力する。
【００２２】
上記のビット列を利用することで、第１の画像２１内の特徴点と第２の画像３１内の特徴点との間で類似度を計算することができる。また、特徴点間の類似度を統計的に処理することで、第１の画像２１と第２の画像３１との間の類似度や位置関係などを計算することが可能になる。
【００２３】
上記のように、特徴量の安定性の大きさを考慮することで、平坦な部分や細い線を跨ぐように多くの画素ペアが配置される部分に位置する特徴点を除外することが可能になり、誤対応のリスクが低減される。なお、図１の例では説明の都合上、特徴点当たりの画素ペア数を２としたが、より多くの画素ペア（例えば、１２８個の画素ペア）が利用されうる。
【００２４】
また、上記の方法は、ＢＲＩＥＦやＢＲＩＥＦの改良技術に適用可能である。その場合、輝度差の絶対値が閾値より大きい場合にビット値１、小さい場合にビット値０とする条件で複数の画素ペアを対象にバイナリベクトルを求め、そのバイナリベクトルのノルムを上記特徴量の安定性として利用することで好適な特徴点の選定が可能になる。
【００２５】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。第２実施形態は、輝度値の差を利用した特徴量表現を採用するＢＲＩＥＦなどに適した特徴点を選定することで、対応点探索における誤対応のリスクを低減する方法に関する。
【００２６】
［２−１．ハードウェア］
第２実施形態の方法は、例えば、図２に例示する情報処理装置１００のハードウェアを利用して実現されうる。図２は、第２実施形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。また、情報処理装置１００が有する機能は、コンピュータプログラムを用いて図２に示すハードウェアを制御することにより実現されうる。
【００２７】
図２に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００２８】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００２９】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００３０】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００３１】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００３２】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。リムーバブル記録媒体９２８には、情報処理装置１００の動作を制御するためのプログラムが格納されうる。
【００３３】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００３４】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００３５】
なお、携帯電話、スマートフォン、デジタルカメラ、パーソナルコンピュータ、アプリケーションサーバ、コンテンツマネジメントシステムなどは、情報処理装置１００の一例である。また、情報処理装置１００が有する機能を複数のコンピュータにより実現する変形も可能である。例えば、比較対象となる一方の画像に対する処理を端末装置で実施し、端末装置にネットワーク接続されたサーバ装置が他方の画像に対する処理及び対応点探索の処理を実施するシステムに適用することなども可能である。
【００３６】
図２に例示した情報処理装置１００のハードウェアを利用することで、例えば、図３に示すような画像探索の機能が実現されうる。図３は、第２実施形態に係る情報処理装置による画像探索について説明するための図である。
【００３７】
図３に示すように、情報処理装置１００は、複数の参照画像を有する。また、情報処理装置１００には、複数の参照画像と照合されるクエリ画像Ｐｑが入力される。クエリ画像Ｐｑの入力を受け付けた情報処理装置１００は、複数の参照画像とクエリ画像Ｐｑとの間の類似度を計算し、類似度が高い参照画像（例えば、参照画像Ｐｒ）を画像探索の結果として出力する。
【００３８】
上記の画像探索を実施する際、情報処理装置１００は、例えば、ＢＲＩＥＦや、ＢＲＩＥＦに類似するバイナリ局所特徴を利用して対応点探索の処理を実行する。以下、説明の都合上、ＢＲＩＥＦを適用する場合を例に説明を進める。また、情報処理装置１００は、対応点探索の精度を高めるため、ＢＲＩＥＦなどの局所特徴に適した特徴点を抽出し、抽出された特徴点を利用して上記の画像探索を実施する。
【００３９】
［２−２．画像探索の例］
ここで、図４〜図７を参照しながら、クエリ画像Ｐｑと参照画像Ｐｒとを照合する場合を例に画像探索の処理について説明する。画像探索の処理は、主に、参照画像Ｐｒから特徴量を抽出する処理、クエリ画像Ｐｑから特徴量を抽出する処理、対応点探索の処理、及び統計的手法（投票など）により両画像の類否及び位置関係を検出する処理を含む。以下、これらの処理について順次説明する。
【００４０】
（参照画像Ｐｒの特徴量抽出）
まず、図４を参照しながら、参照画像Ｐｒから特徴量を抽出する処理について説明する。図４は、画像探索の処理（参照画像の特徴量抽出）について説明するための図である。
【００４１】
まず、参照画像Ｐｒ内に複数の特徴点が配置される。特徴点の配置方法としては、例えば、等間隔に特徴点を配置する方法がある。
図４の例では、特徴点が黒丸で表現されている。参照画像Ｐｒの特徴量は、各特徴点における局所特徴量の組み合わせで表現される。局所特徴量は、各特徴点を基準とする領域（特徴領域）に配置される画素ペアの輝度差に基づいて計算される。なお、特徴領域は、例えば、特徴点を中心とし、４８画素×４８画素のサイズを有する矩形領域に設定される。
【００４２】
例えば、ｎ番目の特徴点を基準とする特徴領域Ａｒ（ｎ）の局所特徴量は、特徴領域Ａｒ（ｎ）に配置される複数の画素ペアに対応するビット列で表現される。画素ペアの配置は予め設定されている。また、画素ペアの数（例えば、１２８個）は、局所特徴量を表現するビット列の長さ（例えば、１２８ビット）に対応する。局所特徴量を計算する際、まず、各画素ペアについて各画素の輝度が抽出される。次に、各画素ペアにおける輝度差が計算される。
【００４３】
なお、画素Ａの輝度ＬＡから画素Ｂの輝度ＬＢを減算した値（ＬＡ−ＬＢ）を輝度差と定義する場合、画素ペアのうち、どの画素が画素Ａに対応し、どの画素が画素Ｂに対応するかを示す対応関係は画素ペア毎に設定されている。
【００４４】
次に、輝度差が正値の場合にビット値が１、輝度差が負値の場合にビット値が０となる条件で、画素ペア毎にビット値が計算される。この計算により特徴領域Ａｒ（ｎ）の局所特徴量を表すビット列が得られる。
【００４５】
参照画像ＰｒにＮ個の特徴点が配置されている場合、ｎ＝１，２，…，Ｎについて上記と同様に特徴領域Ａｒ（ｎ）の局所特徴量が計算される。そして、各特徴点に対応する局所特徴量の組み合わせが参照画像Ｐｒの特徴量となる。このような方法で参照画像Ｐｒの特徴量が抽出される。
【００４６】
（クエリ画像Ｐｑの特徴量抽出）
次に、図５を参照しながら、クエリ画像Ｐｑから特徴量を抽出する処理について説明する。図５は、画像探索の処理（クエリ画像の特徴量抽出）について説明するための図である。
【００４７】
まず、クエリ画像Ｐｑ内に複数の特徴点が配置される。特徴点の配置方法としては、例えば、等間隔に特徴点を配置する方法がある。図５の例では、特徴点が黒丸で表現されている。クエリ画像Ｐｑの特徴量は、各特徴点における局所特徴量の組み合わせで表現される。局所特徴量は、各特徴点を基準とする領域（特徴領域）に配置される画素ペアの輝度差に基づいて計算される。なお、特徴領域は、例えば、特徴点を中心とし、４８画素×４８画素のサイズを有する矩形領域に設定される。
【００４８】
例えば、ｍ番目の特徴点を基準とする特徴領域Ａｑ（ｍ）の局所特徴量は、特徴領域Ａｑ（ｍ）に配置される複数の画素ペアに対応するビット列で表現される。局所特徴量を計算する際、まず、各画素ペアについて各画素の輝度が抽出される。次に、各画素ペアにおける輝度差が計算される。次に、輝度差が正値の場合にビット値が１、輝度差が負値の場合にビット値が０となる条件で、画素ペア毎にビット値が計算される。この計算により特徴領域Ａｑ（ｍ）の局所特徴量を表すビット列が得られる。
【００４９】
クエリ画像ＰｑにＭ個の特徴点が配置されている場合、ｍ＝１，２，…，Ｍについて上記と同様に特徴領域Ａｑ（ｍ）の局所特徴量が計算される。なお、Ｎ＝Ｍであってもよい。そして、各特徴点に対応する局所特徴量の組み合わせがクエリ画像Ｐｑの特徴量となる。このような方法でクエリ画像Ｐｑの特徴量が抽出される。
【００５０】
（対応点探索〜投票〜判定）
次に、図６を参照しながら、参照画像Ｐｒとクエリ画像Ｐｑとの間で対応する特徴点を探索する処理（対応点探索）及び対応点探索の結果に基づいて統計的手法（投票）により画像間の位置関係を特定する処理について説明する。図６は、画像探索の処理（対応点探索と投票）について説明するための図である。
【００５１】
一例として、参照画像Ｐｒ内にあるｎ番目の特徴点に対応するクエリ画像Ｐｑの特徴点を探索する対応点探索について述べる。
参照画像Ｐｒの特徴点における局所特徴量を示すビット列は、図４に例示した方法で得られている。また、クエリ画像Ｐｑの特徴点における局所特徴量を示すビット列は、図５に例示した方法で得られている。そのため、これら２つのビット列を利用して特徴点間の距離を計算することができる。例えば、２つのビット列を１ビットずつ比較し、異なるビットの数を上記の距離として利用できる。なお、距離が小さいほど特徴点間の類似度が大きい。
【００５２】
図６の例では、参照画像Ｐｒ内にあるｎ番目の特徴点と、クエリ画像Ｐｑ内にある各特徴点との間で上記の距離が計算され、計算された距離が最小となるクエリ画像Ｐｑ内の特徴点（特徴領域Ａｑ（ｍ）の特徴点）が抽出されている。対応するクエリ画像Ｐｑ内の特徴点が抽出されると、抽出された特徴点を基準に参照画像Ｐｒの中心が位置するクエリ画像Ｐｑ内の位置が推定される（中心推定）。
【００５３】
参照画像Ｐｒ内の各特徴点と参照画像Ｐｒの中心との位置関係（中心情報）は既知である。この位置関係を利用し、特徴領域Ａｒ（ｎ）と特徴領域Ａｑ（ｍ）とが一致すると仮定することで、参照画像Ｐｒの中心が位置するクエリ画像Ｐｑ内の位置（推定中心）が特定される。
【００５４】
次に、クエリ画像Ｐｑと同じサイズで細かな枠に区切られた投票マップＭＰを利用して投票の処理が実行される。投票マップＭＰは、推定中心と判定された回数を枠毎にカウントするためのマップ情報である。
【００５５】
上記の中心推定は参照画像Ｐｒの各特徴点について実施され、各特徴点の推定中心に対応する投票マップＭＰの枠に投票（カウントアップ）が行われる。そして、中心推定及び投票を繰り返すことで、図７に示すような投票マップＭＰが得られる。図７は、画像探索の処理（最大値検出と判定）について説明するための図である。投票が完了すると、投票マップＭＰの中から投票数の最大値が検出され、予め設定されている判定用の閾値と、検出された最大値とが比較される。
【００５６】
最大値が閾値より大きい場合、クエリ画像Ｐｑに類似する参照画像Ｐｒの検出に成功したと判定される。一方、最大値が閾値より小さい場合、クエリ画像Ｐｑに類似する参照画像Ｐｒの検出に失敗したと判定される。
【００５７】
なお、最大値と閾値とが同じ場合、例えば、検出成功と判定される。検出に成功した場合、検出結果として、クエリ画像Ｐｑに類似する参照画像Ｐｒが出力される。一方、検出に失敗した場合、検出結果として、何も出力されないか、或いは、失敗を示すエラー情報などが出力される。
【００５８】
以上説明した方法により、クエリ画像Ｐｑに類似する参照画像Ｐｒを探索することができる。但し、上記の例では、参照画像Ｐｒ及びクエリ画像Ｐｑに設定される全ての特徴点の組み合わせについて処理が発生するため、処理負荷が高い。
【００５９】
また、各画素ペアの輝度差を利用して局所特徴を表現することから、画像内の平坦な部分ではノイズや照明の影響により特徴量が変化しやすい。また、細い線を含む部分では、画素ペアの配置により局所特徴が大きく変化する可能性がある。このような部分に特徴点が配置されていると誤対応のリスクが高まる。
【００６０】
ＢＲＩＥＦの前処理としてエッジ抽出やコーナー検出ＦＡＳＴを利用し、対応点探索に利用する特徴点を絞り込む方法もあるが、これらの方法は処理負荷の低減に寄与するものの、必ずしもＢＲＩＥＦに適した特徴点が抽出されるわけではない。そのため、エッジ抽出やコーナー検出ＦＡＳＴなどの前処理を実施しても、上述した誤対応のリスクが低減されない。一方、第２実施形態に係る情報処理装置１００は、ＢＲＩＥＦや、ＢＲＩＥＦと類似のバイナリ局所特徴に適した特徴点を抽出する機能を提供する。
【００６１】
［２−３．情報処理装置の機能］
情報処理装置１００は、図８に示すような機能を有する。図８は、第２実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
【００６２】
図８に示すように、情報処理装置１００は、記憶部１０１、特徴点選択部１０２、特徴量抽出部１０３、及び画像認識部１０４を有する。
記憶部１０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。特徴点選択部１０２、特徴量抽出部１０３、及び画像認識部１０４の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００６３】
記憶部１０１には、画素ペアテーブル１０１ａの情報、画像情報１０１ｂ、候補テーブル１０１ｃの情報、及び特徴点テーブル１０１ｄの情報が格納される。なお、表記の都合上、図中ではテーブルをＴＢＬと表記する場合がある。
【００６４】
画素ペアテーブル１０１ａは、特徴領域に配置される画素ペアの位置を示す情報である。例えば、画素ペアテーブル１０１ａには、図９に示すような情報が含まれる。図９は、画像ペアテーブルの一例を示した図である。
【００６５】
図９に例示した画素ペアテーブル１０１ａには、局所特徴量のビット列におけるビット位置ｋと、画素ペアをなす２つの画素（画素Ａ、画素Ｂ）の座標とを対応付ける情報が含まれる。なお、画素Ａの輝度ＬＡから画素Ｂの輝度ＬＢを減算した値（ＬＡ−ＬＢ）が画素ペアの輝度差となる。
【００６６】
画像情報１０１ｂは、画像データの情報である。例えば、記憶部１０１には、画像情報１０１ｂとして、画像Ｐｉｃ＃１、＃２、…の画像データが格納される。なお、これまでは、説明の都合上、参照画像Ｐｒとクエリ画像Ｐｑとを区別して説明してきたが、以下では、画像Ｐｉｃ＃１、＃２、…からクエリ画像が指定され、クエリ画像以外の画像が参照画像として参照される場合を例に説明を進める。
【００６７】
候補テーブル１０１ｃは、ＢＲＩＥＦなどの特徴量表現に適した特徴点を選択する際に利用される各特徴点に関する情報を格納するためのテーブルである。例えば、候補テーブル１０１ｃには、図１０に示すような情報が含まれる。図１０は、候補テーブルの一例を示した図である。
【００６８】
図１０に例示した候補テーブル１０１ｃには、特徴点を識別するためのインデックスｎ、特徴点の座標、特徴点の選択に利用される絶対値ベクトル及び絶対値ベクトルのノルムが格納される。
【００６９】
なお、候補テーブル１０１ｃは、画像Ｐｉｃ＃１、＃２、…のそれぞれについて生成される。また、絶対値ベクトル及びノルムの計算方法については後述する。
特徴点テーブル１０１ｄは、選択された特徴点の特徴量に関する情報である。例えば、特徴点テーブル１０１ｄには、図１１に示すような情報が含まれる。図１１は、特徴点テーブルの一例を示した図である。
【００７０】
図１１に例示した特徴点テーブル１０１ｄには、選択された特徴点を識別するための識別情報ｆと、特徴点の座標と、特徴点の局所特徴量とを対応付ける情報が含まれる。なお、特徴点テーブル１０１ｄは、画像Ｐｉｃ＃１、＃２、…のそれぞれについて生成される。
【００７１】
再び図８を参照する。特徴点選択部１０２は、画像情報１０１ｂに含まれる画像Ｐｉｃ＃１、＃２、…のそれぞれについて、ＢＲＩＥＦなどの特徴量表現に適した特徴点を選択する。特徴量抽出部１０３は、特徴点選択部１０２により選択された特徴点の局所特徴量を抽出する。
【００７２】
画像認識部１０４は、特徴点選択部１０２により抽出された各特徴点の局所特徴量を用いてクエリ画像に類似する画像を特定し、特定した画像を画像認識の結果として出力する。クエリ画像に類似する画像は、図６及び図７に例示した対応点探索や投票などの処理により特定することができる。
【００７３】
（特徴点の選択方法）
ここで、図１２を参照しながら、特徴点選択部１０２による特徴点の選択方法について、さらに説明する。図１２は、第２実施形態に係る特徴点の選択方法について説明するための図である。
【００７４】
画像Ｐｉｃ＃ｉの特徴点を選択する場合、特徴点選択部１０２は、特徴点の候補として、画像Ｐｉｃ＃ｉ内に等間隔で特徴点を配置する。例えば、Ｎ個の特徴点が特徴点の候補として配置される。特徴点選択部１０２は、画素ペアテーブル１０１ａを参照し、特徴点の特徴領域Ａｉ（ｎ）（ｎ＝１，２，…，Ｎ）に複数の画素ペアを配置する。また、特徴点選択部１０２は、各画素ペアをなす各画素の輝度を抽出し、各画素ペアの輝度差の絶対値を計算する。
【００７５】
また、特徴点選択部１０２は、計算した絶対値が閾値以上の場合にビット値１、計算した絶対値が閾値未満の場合にビット値０とする条件で、複数の画素ペアに対応するビット列を生成する。そして、特徴点選択部１０２は、生成したビット列を絶対値ベクトルに決定し、絶対値ベクトルを候補テーブル１０１ｃに登録する。さらに、特徴点選択部１０２は、絶対値ベクトルのノルムを計算して候補テーブル１０１ｃに登録する。
【００７６】
なお、ノルムは、絶対値ベクトルの大きさを表し、絶対値ベクトルに含まれる１の数で与えられる。
特徴点選択部１０２は、特徴点の候補から、ノルムの大きさに基づいて特徴点を選択する。例えば、特徴点選択部１０２は、ノルムが閾値以上となる特徴点を選択する（閾値判定方式）。なお、特徴点選択部１０２は、ノルムが大きい順に所定数の特徴点を選択してもよい（上位選択方式）。このような方法で特徴点を選択することにより、図１２に示すように、平坦な部分などに配置される特徴点が除外され、ＢＲＩＥＦなどの特徴表現に適した特徴点が選択される。
【００７７】
なお、上記の絶対値と比較される閾値、及び、上記のノルムと比較される閾値は、例えば、サンプルデータを用いたシミュレーションにより所望の画像検索精度が得られるような値に予め設定される。また、上位選択方式で選択される特徴点の数（所定数）は、シミュレーションなどにより所望の画像検索精度が得られるＮ未満の数に設定される。
【００７８】
［２−４．処理の流れ］
次に、情報処理装置１００により実行される処理の流れについて説明する。
（特徴点選択）
まず、図１３を参照しながら、特徴点選択の処理について説明する。図１３は、第２実施形態に係る特徴点選択の処理の流れを示したフロー図である。なお、図１３に示す特徴点選択の処理は、画像情報１０１ｂに含まれる各画像について実行される。但し、説明の都合上、ここでは画像Ｐｉｃ＃ｉに対する処理について説明する。
【００７９】
（Ｓ１０１、Ｓ１０９）特徴点選択部１０２は、特徴点の候補として、画像Ｐｉｃ＃ｉ内にＮ個の特徴点を等間隔に配置する。そして、特徴点選択部１０２は、インデックスｎを１つずつ増加させながら、Ｓ１０１とＳ１０９との間にある処理（特徴点毎の処理）を繰り返し実行する。Ｎ番目の特徴点に対する当該特徴点毎の処理が完了すると、処理はＳ１１０へと進む。
【００８０】
（Ｓ１０２、Ｓ１０７）特徴点選択部１０２は、画素ペアテーブル１０１ａを参照し、ｎ番目の特徴点を基準に設定される特徴領域Ａｉ（ｎ）に所定数（この例では１２８個）の画素ペアを配置する。そして、特徴点選択部１０２は、インデックスｋを１つずつ増加させながら、Ｓ１０２とＳ１０７との間にある処理（画素ペア毎の処理）を繰り返し実行する。１２８番目の画素ペアに対する当該画素ペア毎の処理が完了すると、処理はＳ１０８へと進む。
【００８１】
（Ｓ１０３）特徴点選択部１０２は、ｋ番目の画素ペアについて各画素の輝度値を取得し、輝度差の絶対値を計算する。
（Ｓ１０４）特徴点選択部１０２は、Ｓ１０３で計算した絶対値が閾値ＴＨ１以上であるか否かを判定する。閾値ＴＨ１は、例えば、サンプルデータを用いたシミュレーションなどを実施し、ＢＲＩＥＦなどの特徴表現に適した特徴点が選択されるように予め設定される。絶対値≧閾値ＴＨ１である場合、処理はＳ１０５へと進む。一方、絶対値≧閾値ＴＨ１でない場合、処理はＳ１０６へと進む。
【００８２】
（Ｓ１０５）特徴点選択部１０２は、絶対値ベクトルのｋビット目を１に決定する。Ｓ１０５の処理が完了すると、処理はＳ１０７へと進む。
（Ｓ１０６）特徴点選択部１０２は、絶対値ベクトルのｋビット目を０に決定する。
【００８３】
（Ｓ１０８）特徴点選択部１０２は、絶対値ベクトルのノルムを計算する。なお、絶対値ベクトルのノルムは、絶対値ベクトルの大きさを表す。例えば、絶対値ベクトルのノルムは、絶対値ベクトルに含まれる１の数で表現される。特徴点選択部１０２は、絶対値ベクトル及びノルムを候補テーブル１０１ｃに登録する。
【００８４】
上記のように、輝度差の絶対値が閾値ＴＨ１より大きい画素ペアに対応する絶対値ベクトルのビットが１に決定される。そのため、絶対値ベクトルのノルムは、輝度差の絶対値が大きい画素ペアの数に相当する。特徴領域Ａｉ（ｎ）が平坦な画像部分である場合や細い線を含む画像部分である場合、輝度差の絶対値が小さい画素ペアを多く含むことになる。このような画像部分に対応する特徴領域Ａｉ（ｎ）から得られる絶対値ベクトルのノルムは小さくなる。つまり、絶対値ベクトルのノルムは、特徴領域Ａｉ（ｎ）がＢＲＩＥＦなどの特徴表現に適しているか否かを評価するための基準として利用できる。
【００８５】
（Ｓ１１０）特徴点選択部１０２は、候補テーブル１０１ｃに登録されているノルムに基づいて特徴点を選択する。
例えば、閾値判定方式を採用する場合、特徴点選択部１０２は、ノルムが閾値ＴＨ２以上の特徴点を選択する。なお、閾値ＴＨ２は、例えば、サンプルデータを用いたシミュレーションなどを実施し、ＢＲＩＥＦなどの特徴表現に適した特徴点が選択されるように予め設定される。他方、上位選択方式を採用する場合、特徴点選択部１０２は、ノルムが大きい順に所定数（例えば、Ｎ／２個など）の特徴点を選択する。
【００８６】
特徴点選択部１０２は、選択した特徴点の情報（識別情報ｆ及び座標；図１１を参照）を特徴点テーブル１０１ｄに登録する。なお、この段階では、特徴点テーブル１０１ｄの局所特徴量が未登録の状態である。Ｓ１１０の処理が完了すると、図１３に示した一連の処理は終了する。
【００８７】
（特徴量抽出）
次に、図１４を参照しながら、特徴量抽出の処理について説明する。図１４は、第２実施形態に係る特徴量抽出の処理の流れを示したフロー図である。なお、図１４に示す特徴量抽出の処理は、画像情報１０１ｂに含まれる各画像について実行される。但し、説明の都合上、ここでは画像Ｐｉｃ＃ｉに対する処理について説明する。また、特徴点選択部１０２により画像Ｐｉｃ＃ｉからＦ個の特徴点が選択されているとする。
【００８８】
（Ｓ１２１、Ｓ１２８）特徴量抽出部１０３は、インデックスｆを１つずつ増加させながら、Ｓ１２１とＳ１２８との間にある処理（特徴点毎の処理）を繰り返し実行する。なお、インデックスｆは、特徴点選択部１０２により選択された特徴点（選択特徴点）を識別するための識別情報である。
【００８９】
処理がＳ１２８へ達すると、特徴量抽出部１０３は、局所特徴量として、後述する特徴量ベクトルを特徴点テーブル１０１ｄに登録する。また、Ｆ番目の特徴点に対する上記特徴点毎の処理が完了すると、図１４に示した一連の処理は終了する。
【００９０】
（Ｓ１２２、Ｓ１２７）特徴量抽出部１０３は、画素ペアテーブル１０１ａを参照し、ｆ番目の選択特徴点を基準に設定される特徴領域に所定数（この例では１２８個）の画素ペアを配置する。そして、特徴量抽出部１０３は、インデックスｋを１つずつ増加させながら、Ｓ１２２とＳ１２７との間にある処理（画素ペア毎の処理）を繰り返し実行する。
【００９１】
１２８番目の画素ペアに対する当該画素ペア毎の処理が完了すると、処理はＳ１２８へと進む。
（Ｓ１２３）特徴量抽出部１０３は、ｋ番目の画素ペアについて各画素の輝度値を取得し、輝度値の差（輝度差）を計算する。なお、特徴点選択部１０２による特徴点選択の際に計算された輝度差を記憶部１０１に保持しておき、記憶部１０１に保持されている輝度差を特徴量抽出部１０３が再利用してもよい。
【００９２】
（Ｓ１２４）特徴量抽出部１０３は、輝度値の差が正値であるか否かを判定する。輝度値の差が正値の場合、処理はＳ１２５へと進む。一方、輝度値の差が負値の場合、処理はＳ１２６へと進む。なお、この例では、輝度値の差が０の場合に処理がＳ１２５へと進むとする。
【００９３】
（Ｓ１２５）特徴量抽出部１０３は、特徴量ベクトルのｋビット目を１に決定する。Ｓ１２５の処理が完了すると、処理はＳ１２７へと進む。
（Ｓ１２６）特徴量抽出部１０３は、特徴量ベクトルのｋビット目を０に決定する。
【００９４】
上記のように、特徴量抽出の処理として、Ｆ個（Ｆ≦Ｎ）の選択特徴点を対象に特徴量ベクトルの計算が実施される。
（画像認識）
次に、図１５及び図１６を参照しながら、画像認識の処理について説明する。図１５は、第２実施形態に係る画像認識の処理の流れを示した第１のフロー図である。図１６は、第２実施形態に係る画像認識の処理の流れを示した第２のフロー図である。
【００９５】
（Ｓ１３１）画像認識部１０４は、クエリ画像の指定を受け付ける。なお、ここでは画像情報１０１ｂに含まれる画像Ｐｉｃ＃１、＃２、…の中からクエリ画像が指定され、他の画像と照合されるケースを例に説明するが、外部機器（カメラやスマートフォンなど）から有線又は無線の通信を介してクエリ画像が入力されてもよい。
【００９６】
（Ｓ１３２）画像認識部１０４は、選択画像として、画像情報１０１ｂからクエリ画像以外の画像を選択する。
（Ｓ１３３、Ｓ１３８）画像認識部１０４は、特徴点テーブル１０１ｄからクエリ画像におけるｆ１番目（ｆ１＝１，…，Ｆ）の特徴点（特徴点ｆ１）に関する情報を取得する。そして、画像認識部１０４は、インデックスｆ１を１つずつ増加させながら、Ｓ１３３とＳ１３８との間にある処理（特徴点ｆ１毎の処理）を繰り返し実行する。Ｆ番目の特徴点に対する上記特徴点ｆ１毎の処理が完了すると、処理はＳ１３９へと進む。
【００９７】
（Ｓ１３４、Ｓ１３６）画像認識部１０４は、特徴点テーブル１０１ｄから選択画像におけるｆ２番目（ｆ２＝１，…，Ｆ）の特徴点（特徴点ｆ２）に関する情報を取得する。そして、画像認識部１０４は、インデックスｆ２を１つずつ増加させながら、Ｓ１３４とＳ１３６との間にある処理（特徴点ｆ２毎の処理）を繰り返し実行する。Ｆ番目の特徴点に対する上記特徴点ｆ２毎の処理が完了すると、処理はＳ１３７へと進む。
【００９８】
（Ｓ１３５）画像認識部１０４は、特徴点テーブル１０１ｄから特徴点ｆ１、ｆ２の局所特徴量を取得する。また、画像認識部１０４は、特徴点ｆ１の局所特徴量と、特徴点ｆ２の局所特徴量とに基づいて特徴点ｆ１、ｆ２間の類似度を計算する。例えば、画像認識部１０４は、特徴点ｆ１の局所特徴量を表すビット列と、特徴点ｆ２の局所特徴量を表すビット列とをビット毎に比較する。そして、画像認識部１０４は、値が異なるビットの数（距離）の逆数又は値が同じビットの数を類似度として計算する。
【００９９】
（Ｓ１３７）画像認識部１０４は、類似度が最大になる選択画像の特徴点ｆ２を特定する。そして、画像認識部１０４は、特定された選択画像の特徴点ｆ２と、クエリ画像の特徴点ｆ１とのペアを特徴点ペアに決定する。
【０１００】
（Ｓ１３９）画像認識部１０４は、画像中心と各特徴点との位置関係から、各特徴点ペアについて投票位置（推定中心）を特定する（図６を参照）。
（Ｓ１４０）画像認識部１０４は、各特徴点ペアの推定中心に対応する投票マップＭＰの枠に投票する。つまり、画像認識部１０４は、各特徴点ペアに対応する推定中心について、投票マップＭＰの該当枠に対応するカウンタをインクリメントする。
【０１０１】
（Ｓ１４１）画像認識部１０４は、投票マップＭＰの各枠に対する投票数を参照し、最大投票数、及び最大投票数に対応する枠を特定する（図７を参照）。
（Ｓ１４２）画像認識部１０４は、最大投票数が閾値ＴＨ３以上であるか否かを判定する。なお、閾値ＴＨ３は、例えば、サンプルデータを用いたシミュレーションなどを実施し、類似する画像が所望の確率で正しく認識されるように予め設定される。最大投票数≧閾値ＴＨ３である場合、処理はＳ１４３へと進む。一方、最大投票数≧閾値ＴＨ３でない場合、処理はＳ１４４へと進む。
【０１０２】
（Ｓ１４３）画像認識部１０４は、選択画像とクエリ画像とが類似すると判定する。
（Ｓ１４４）画像認識部１０４は、画像情報１０１ｂにあるクエリ画像以外の全ての画像を選択し終えたか否かを判定する。画像を選択し終えた場合、処理はＳ１４５へと進む。一方、未選択の画像がある場合、処理はＳ１３２へと進む。
【０１０３】
（Ｓ１４５）画像認識部１０４は、画像認識の結果として、クエリ画像に類似すると判定された選択画像を出力する。但し、クエリ画像に類似すると判定された選択画像がない場合、画像認識部１０４は、クエリ画像に類似する画像がない旨の情報、又は画像認識の失敗を示す情報を出力する。Ｓ１４５の処理が完了すると、図１６に示した一連の処理は終了する。
【０１０４】
以上、第２実施形態について説明した。
上記のように、画像内に配置される特徴点をＢＲＩＥＦなどの特徴表現に適した特徴点に絞り込むことで誤対応のリスクを低減することができる。また、特徴点の数が減る分だけ処理負荷が低減される。その結果、上述した第２実施形態の技術を適用することで、高速に精度の高い画像認識を実現することが可能になる。
【０１０５】
（変形例）
なお、上記の説明においては、一例として、特徴点の候補として画像内に特徴点を等間隔に配置する方法を紹介したが、候補となる特徴点の配置はこれに限定されない。例えば、特徴点の候補として画像内に特徴点をランダムに配置する方法や、エッジ抽出やコーナー検出ＦＡＳＴにより選択された特徴点の組を特徴点の候補として利用する方法なども変形例として採用しうる。
【０１０６】
また、上記の説明では、絶対値ベクトルの長さと特徴量ベクトルの長さとを同じビット数に設定する例を紹介したが、絶対値ベクトルの長さを特徴量ベクトルの長さより短く設定する変形が可能である。例えば、絶対値ベクトルの生成時に、画素ペアテーブル１０１ａに登録されている画素ペアの一部（半分など）を利用することで、短い絶対値ベクトルによる特徴点の選択が可能になる。この変形を適用すると、特徴点の選択にかかる処理負荷を低減することができる。
【０１０７】
また、上記の説明では、画像情報１０１ｂに含まれる画像Ｐｉｃ＃１、＃２、…そのものを対象にクエリ画像との間で画像認識を実施する例を紹介したが、画像Ｐｉｃ＃１、＃２、…のサイズを拡大及び縮小することでサイズの変化を考慮することができる。拡大及び縮小の処理を導入することで、サイズの異なる画像を記憶部１０１に予め格納せずに済む分だけ記憶領域を有効に利用することが可能になる。
【０１０８】
上記のような変形例も当然に第２実施形態の技術的範囲に属する。
【符号の説明】
【０１０９】
１０  測距装置
１１  記憶部
１２  演算部
２１  第１の画像
２１ａ、２１ｂ  特徴点
２２ａ、２２ｂ、２３ａ、２３ｂ  画素ペア
３１  第２の画像
【図１】
2018142189.tif 000003
【図２】
2018142189.tif 000004
【図３】
2018142189.tif 000005
【図４】
2018142189.tif 000006
【図５】
2018142189.tif 000007
【図６】
2018142189.tif 000008
【図７】
2018142189.tif 000009
【図８】
2018142189.tif 000010
【図９】
2018142189.tif 000011
【図１０】
2018142189.tif 000012
【図１１】
2018142189.tif 000013
【図１２】
2018142189.tif 000014
【図１３】
2018142189.tif 000015
【図１４】
2018142189.tif 000016
【図１５】
2018142189.tif 000017
【図１６】
2018142189.tif 000018