(57)【要約】【課題】画像探索の精度を向上させること。【解決手段】画素のペアが複数設定された特徴領域Ａ1、Ａ2を複数有する参照画像Ｐ1と、画素のペアについて計算された画素間の輝度差ｄA1、ｄA2に基づく特徴量とを記憶する記憶部１１と、対象画像Ｐ2が有する複数の特徴領域Ｂ1、Ｂ2に設定した画素のペアについて、画素間の輝度差ｄB1、ｄB2に基づく特徴量を計算し、対象画像Ｐ2の特徴領域Ｂ1、Ｂ2に関する特徴量と、参照画像Ｐ1の特徴領域Ａ1、Ａ2に関する特徴量とを用いて、対象画像Ｐ2の中に参照画像Ｐ1に類似する領域が含まれるか否かを判断する演算部１２と、を有する画像処理装置１０が提供される。演算部１２は、特徴量のうち輝度差ｄA1、ｄA2、ｄB1、ｄB2の大きさについて設定された条件を満たす特徴量を判断に用いる。【選択図】図１
2015225353.tif 000002
【特許請求の範囲】
【請求項１】
画素のペアが複数設定された特徴領域を複数有する参照画像と、前記画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部と、
対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量とを用いて、前記対象画像の中に前記参照画像に類似する領域が含まれるか否かを判断する演算部と、
を有し、
前記演算部は、前記特徴量のうち前記輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる
画像処理装置。
【請求項２】
前記演算部は、前記対象画像の特徴領域に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量と、前記参照画像の特徴領域に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
請求項１に記載の画像処理装置。
【請求項３】
前記演算部は、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
請求項１に記載の画像処理装置。
【請求項４】
前記演算部は、
前記対象画像の特徴領域に関する特徴量と前記参照画像の特徴領域に関する特徴量とを比較し、一致する特徴量の数に応じて当該２つの特徴領域の類否を判定する際に、
比較した２つの特徴量について輝度差の大きさがいずれも前記条件を満たさない場合には当該２つの特徴量が一致すると決定し、比較した２つの特徴量について輝度差の大きさが一方だけ前記条件を満たさない場合には当該２つの特徴量が一致しないと決定して、決定の結果を判定に用いる
請求項２に記載の画像処理装置。
【請求項５】
前記条件は、輝度差の大きさが、設定された閾値より大きいことである
請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
前記条件は、１つの特徴領域に関する複数の特徴量のうち輝度差の大きさが大きい順に設定された数だけ抽出された特徴量であることである
請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項７】
画素のペアが複数設定された特徴領域を複数有する参照画像と、前記画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部から前記参照画像及び前記特徴量を取得可能なコンピュータが、
対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量とを用いて、前記対象画像の中に前記参照画像に類似する領域が含まれるか否かを判断する処理を実行し、当該処理の実行時に、前記特徴量のうち前記輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる
画像判断方法。
【請求項８】
画素のペアが複数設定された特徴領域を複数有する参照画像と、前記画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部から前記参照画像及び前記特徴量を取得可能なコンピュータに、
対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量とを用いて、前記対象画像の中に前記参照画像に類似する領域が含まれるか否かを判断する処理を実行させ、当該処理の実行時に、前記特徴量のうち前記輝度差の大きさについて設定された条件を満たす特徴量を判断に用いるように制御する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像判断方法、及びプログラムに関する。
【背景技術】
【０００２】
様々な分野で画像のマッチング技術が広く利用されるようになってきた。例えば、顔認証や生体認証の分野では、可視光カメラや赤外線カメラで撮像した画像とテンプレート画像とをマッチングする技術が利用されている。より一般的な用途では、カメラ付き携帯端末やデジタルカメラで撮像した画像とランドマークの画像とをマッチングする技術が利用されている。
【０００３】
画像同士のマッチングには、例えば、入力画像の特徴点における特徴量（以下、局所特徴量）と、参照画像の特徴点における局所特徴量とを比較して、入力画像の特徴点に対応する参照画像の特徴点（以下、対応点）を探索する手法が利用される。探索により発見された対応点の集合を統計処理することで入力画像中における参照画像の存在や参照画像の位置を認識できる。なお、対応点の探索は、画像の重畳表示などにも利用される。
【０００４】
上記のような対応点の探索には、例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）、ＳＵＲＦ（Speeded Up Robust Features）、ＢＲＩＥＦ（Binary Robust Independent Elementary Features）などの特徴が利用される。ＳＩＦＴやＳＵＲＦを利用すると高精度に対応点を検出することができる。但し、ＳＩＦＴやＳＵＲＦの局所特徴量はデ−タサイズが大きく、ＳＩＦＴやＳＵＲＦを利用すると探索時の計算負荷が高くなる。
【０００５】
一方、ＢＲＩＥＦは、特徴点の周囲に設定された複数の画素ペアのそれぞれについて計算された画素間の輝度差に基づく局所特徴量で表現される。例えば、輝度差の符号（正負）に対応するビット値の集合が局所特徴量として利用される。従って、ＢＲＩＥＦはＳＩＦＴやＳＵＲＦに比べて少ない計算量で高速に抽出することができ、探索にかかる計算負荷の軽減に寄与する。ＢＲＩＥＦを利用すると、サーバ装置などに比べて計算能力の低い携帯端末でも入力画像から高速に局所特徴量を抽出することが可能になる。
【０００６】
なお、ＢＲＩＥＦと同様に画素間の輝度差に基づく局所特徴量を用いて画像の特徴を表現する他の特徴としては、例えば、ＯＲＢ（Oriented Fast and Rotated BRIEF）やＦＲＥＡＫ（Fast Retina Keypoint）がある。ＯＲＢは、画素ペアの配置を決める際に多数の画像に基づく学習を利用する。ＦＲＥＡＫは、画素ペアの配置を決める際に人間の網膜パターンに関する情報を利用する。ＯＲＢやＦＲＥＡＫを利用した場合も入力画像から高速に局所特徴量を抽出することができる。
【０００７】
ところで、車載カメラで撮影した画像から障害物を認識するためにエッジ画像を生成する技術が提案されている。この技術では、撮影した画像の中で明るい部分と暗い部分とでそれぞれ異なる閾値を用いてエッジ抽出を行えるようにするため、各部分にソーベルフィルタを適用した結果を利用して閾値を決める方法が提案されている。ソーベルフィルタは、隣り合う画素の輝度差から画像の勾配を求めるために利用される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−６９６２６号公報
【非特許文献】
【０００９】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記のように、画素ペアの輝度差に基づく局所特徴量を利用すると対応点を高速に探索することができる。但し、空や単色の壁など、輝度差が小さい領域から得られる局所特徴量は、撮影時の光源状態やノイズの影響などにより変化しやすい。そのため、輝度差が小さい領域においては正しい対応点の探索に失敗する可能性が高い。さらに、輝度差が小さい領域における探索の失敗は、画像の誤認識や認識の失敗を招くリスクを生じさせる。
【００１１】
そこで、１つの側面によれば、本発明の目的は、画像探索の精度を向上させることが可能な画像処理装置、画像判断方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本開示の１つの側面によれば、画素のペアが複数設定された特徴領域を複数有する参照画像と、画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部と、対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、対象画像の特徴領域に関する特徴量と、参照画像の特徴領域に関する特徴量とを用いて、対象画像の中に参照画像に類似する領域が含まれるか否かを判断する演算部と、を有し、演算部は、特徴量のうち輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる画像処理装置が提供される。
【００１３】
また、本開示の他の１つの側面によれば、画素のペアが複数設定された特徴領域を複数有する参照画像と、画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部から参照画像及び特徴量を取得可能なコンピュータが、対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、対象画像の特徴領域に関する特徴量と、参照画像の特徴領域に関する特徴量とを用いて、対象画像の中に参照画像に類似する領域が含まれるか否かを判断する処理を実行し、当該処理の実行時に、特徴量のうち輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる画像判断方法が提供される。
【００１４】
また、本開示の他の１つの側面によれば、画素のペアが複数設定された特徴領域を複数有する参照画像と、画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部から参照画像及び特徴量を取得可能なコンピュータに、対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、対象画像の特徴領域に関する特徴量と、参照画像の特徴領域に関する特徴量とを用いて、対象画像の中に参照画像に類似する領域が含まれるか否かを判断する処理を実行させ、当該処理の実行時に、特徴量のうち輝度差の大きさについて設定された条件を満たす特徴量を判断に用いるように制御する処理を実行させる、プログラムが提供される。
【発明の効果】
【００１５】
本発明によれば、画像探索の精度を向上させることが可能になる。
【図面の簡単な説明】
【００１６】
【図１】第１実施形態に係る画像処理装置の一例を示した図である。
【図２】第２実施形態に係るシステムの一例を示した図である。
【図３】第２実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。
【図４】第２実施形態に係る端末装置が有する機能の一例を示したブロック図である。
【図５】第２実施形態に係る画素ペア情報の一例を示した図である。
【図６】第２実施形態に係る入力画像の特徴点と特徴領域について説明するための図である。
【図７】第２実施形態に係る特徴量の計算について説明するための図である。
【図８】第２実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。
【図９】第２実施形態に係る参照画像情報（参照画像管理テーブル）の一例を示した図である。
【図１０】第２実施形態に係る参照画像情報（特徴量管理テーブル）の一例を示した図である。
【図１１】第２実施形態に係る参照画像の特徴点と特徴領域について説明するための図である。
【図１２】第２実施形態に係る距離計算について説明するための第１の図である。
【図１３】第２実施形態に係る距離計算について説明するための第２の図である。
【図１４】第２実施形態に係る距離計算に用いる論理について説明するための図である。
【図１５】第２実施形態に係る投票処理について説明するための図である。
【図１６】第２実施形態に係る判定について説明するための図である。
【図１７】第２実施形態に係る端末装置の動作について説明するためのフロー図である。
【図１８】第２実施形態に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。
【図１９】第２実施形態に係るサーバ装置の動作について説明するためのフロー図である。
【図２０】第２実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するためのフロー図である。
【図２１】第２実施形態の一変形例（変形例＃１）に係る距離計算について説明するための図である。
【図２２】第２実施形態の一変形例（変形例＃１）に係る距離計算に用いる論理について説明するための図である。
【図２３】第２実施形態の一変形例（変形例＃２）に係る距離計算について説明するための図である。
【図２４】第２実施形態の一変形例（変形例＃２）に係る距離計算に用いる論理について説明するための図である。
【図２５】第２実施形態の一変形例（変形例＃３）に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。
【図２６】第２実施形態の一変形例（変形例＃４）に係る画像処理装置の機能について説明するための図である。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１８】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係る画像処理装置の一例を示した図である。なお、図１に示した画像処理装置１０は、第１実施形態に係る情報処理装置の一例である。
【００１９】
図１に示すように、画像処理装置１０は、記憶部１１及び演算部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、演算部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。演算部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００２０】
記憶部１１は、画素のペアが複数設定された特徴領域Ａ1、Ａ2を複数有する参照画像Ｐ1と、画素のペアについて計算された画素間の輝度差ｄA1、ｄA2に基づく特徴量とを記憶する。特徴量としては、例えば、ＢＲＩＥＦ、ＳＩＦＴ、ＳＵＲＦ、ＣＡＲＤ（Compact And Realtime Descriptors）、ＦＲＥＡＫ（Fast Retina Keypoint）、ＢＲＩＳＫ（Binary Robust Invariant Scalable Keypoints）などを利用できる。
【００２１】
図１の例では、参照画像Ｐ1に含まれる特徴領域として特徴領域Ａ1、Ａ2が示されている。特徴領域Ａ1、Ａ2には、それぞれ特徴量の計算に用いる画素のペアが設定されている。図１の例では、画素のペア（ｘA1，ｙA1）が特徴領域Ａ1に設定され、画素のペア（ｘA2，ｙA2）が特徴領域Ａ2に設定されている。
【００２２】
なお、ここでは簡単のために特徴領域Ａ1、Ａ2に注目して説明を進めるが、参照画像Ｐ1には特徴領域Ａ1、Ａ2の他にも特徴領域が含まれる。また、特徴領域Ａ1、Ａ2には、（ｘA1，ｙA1）、（ｘA2，ｙA2）以外にも画素のペアが設定されている。
【００２３】
参照画像Ｐ1に設定される特徴領域の位置、及び特徴領域毎に設定される画素のペアの位置は事前に設定される。例えば、特徴領域は、Ｄｅｎｓｅ  Ｓａｍｐｌｉｎｇなどの方法により抽出された特徴点を基準とする矩形領域に設定される。
【００２４】
画素間の輝度差ｄA1は、画素ｘA1の輝度ｂxA1から画素ｙA1の輝度ｂyA1を減算した値である。また、画素間の輝度差ｄA2は、画素ｘA2の輝度ｂxA2から画素ｙA2の輝度ｂyA2を減算した値である。
【００２５】
例えば、ＢＲＩＥＦを適用する場合、輝度差の符号（正負）と、特徴量となるビット値とが予め対応付けられている。この場合、特徴領域Ａ1に含まれる画素のペア毎に輝度差を求め、輝度差の符号に対応するビット値を並べることで特徴領域に関する特徴量が得られる。他の特徴領域についても同様である。
【００２６】
演算部１２は、対象画像Ｐ2が有する複数の特徴領域Ｂ1、Ｂ2に設定した画素のペアについて、画素間の輝度差ｄB1、ｄB2に基づく特徴量を計算する。
図１の例では、対象画像Ｐ2に含まれる特徴領域として特徴領域Ｂ1、Ｂ2が示されている。特徴領域Ｂ1、Ｂ2には、それぞれ特徴量の計算に用いる画素のペアが設定されている。図１の例では、画素のペア（ｘB1，ｙB1）が特徴領域Ｂ1に設定され、画素のペア（ｘB2，ｙB2）が特徴領域Ｂ2に設定されている。
【００２７】
なお、ここでは簡単のために特徴領域Ｂ1、Ｂ2に注目して説明を進めるが、対象画像Ｐ2には特徴領域Ｂ1、Ｂ2の他にも特徴領域が含まれる。また、特徴領域Ｂ1、Ｂ2には、（ｘB1，ｙB1）、（ｘB2，ｙB2）以外にも画素のペアが設定されている。
【００２８】
対象画像Ｐ2に設定される特徴領域は、参照画像Ｐ1の場合と同様に、例えば、Ｄｅｎｓｅ  Ｓａｍｐｌｉｎｇなどの方法により抽出された特徴点を基準とする矩形領域に設定される。また、対象画像Ｐ2の特徴領域に設定される画素のペアは、参照画像Ｐ1の特徴領域に設定される画素のペアと同じ位置に設定される。
【００２９】
画素間の輝度差ｄB1は、画素ｘB1の輝度ｂxB1から画素ｙB1の輝度ｂyB1を減算した値である。また、画素間の輝度差ｄB2は、画素ｘB2の輝度ｂxB2から画素ｙB2の輝度ｂyB2を減算した値である。
【００３０】
例えば、ＢＲＩＥＦを適用する場合、輝度差の符号（正負）と、特徴量となるビット値とが予め対応付けられている。この場合、特徴領域Ｂ1に含まれる画素のペア毎に輝度差を求め、輝度差の符号に対応するビット値を並べることで特徴領域に関する特徴量が得られる。他の特徴領域についても同様である。
【００３１】
演算部１２は、対象画像Ｐ2の特徴領域に関する特徴量と、参照画像Ｐ1の特徴領域に関する特徴量とを用いて、対象画像Ｐ2の中に参照画像Ｐ1に類似する領域が含まれるか否かを判断する。このとき、演算部１２は、特徴量のうち輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる。
【００３２】
図１に例示した特徴領域Ａ1、Ｂ1は、同じ対象を撮像した画像領域であるとする。同様に、特徴領域Ａ2、Ｂ2は、同じ対象を撮像した画像領域であるとする。また、画素のペア（ｘA1，ｙA1）、（ｘB1，ｙB1）は特徴領域内の同じ位置に設定されている。同様に、画素のペア（ｘA2，ｙA2）、（ｘB2，ｙB2）は特徴領域内の同じ位置に設定されている。
【００３３】
この場合、特徴領域Ａ1に関する特徴量と特徴領域Ｂ1に関する特徴量とは誤差の範囲で一致することが期待される。但し、特徴領域Ａ1、Ｂ1は、背景部分（空）だけを含む画像領域であり、画像領域全体にわたって輝度差ｄA1、ｄB1の絶対値が小さい。そのため、輝度差ｄA1、ｄB1の符号は撮影状況（光源の位置や各種ノイズの影響など）に応じて変化しやすく、同じ対象を含むにもかかわらず、特徴領域Ａ1に関する特徴量と特徴領域Ｂ1に関する特徴量とが乖離してしまう可能性がある。
【００３４】
一方、特徴領域Ａ2、Ｂ2は、建造物（城）の一部と背景部分とを含む画像領域である。また、特徴領域Ａ2、Ｂ2にそれぞれ設定された画素のペア（ｘA2，ｙA2）、（ｘB2，ｙB2）は、建造物の一部と背景部分とを跨ぐように位置している。この場合、輝度差ｄA2、ｄB2の符号は撮影状況（光源の位置や各種ノイズの影響など）に応じて変化しにくく、特徴領域Ａ2に関する特徴量と特徴領域Ｂ2に関する特徴量とが誤差の範囲で一致することが期待される。
【００３５】
そこで、演算部１２は、輝度差の大きさを考慮し、画素のペア（ｘA2，ｙA2）、（ｘB2，ｙB2）のように撮影状況の違いに起因する符号の逆転が生じにくい画素のペアに対応する特徴量を利用して特徴領域の類否を判断する。例えば、演算部１２は、輝度差の大きさが予め設定した閾値Ｔｈより大きい場合に、その輝度差に基づく特徴量を特徴領域の類否判断に利用する。
【００３６】
図１の例では、輝度差ｄA1、ｄB1の大きさ｜ｄA1｜、｜ｄB1｜がそれぞれ閾値Ｔｈより小さいため、輝度差ｄA1、ｄB1に対応するビット値は特徴領域Ａ1、Ｂ1の類否判断に利用されない。一方、輝度差ｄA2、ｄB2の大きさ｜ｄA2｜、｜ｄB2｜はそれぞれ閾値Ｔｈより大きいため、輝度差ｄA2、ｄB2に対応するビット値は特徴領域Ａ1、Ｂ1の類否判断に利用される。なお、｜…｜はノルムを表す。
【００３７】
上記のように、輝度差に基づく特徴量を利用して特徴領域の類否を判断し、対象画像に参照画像が含まれるか否かを判断する際に、輝度差の大きさを考慮することで、撮影状況の違いに起因する誤判断を抑制し、正しく判断できる可能性を高めることができる。なお、上記の例では、設定された条件として「輝度差の大きさが閾値より大きい」という条件を示したが、「輝度差の大きさが大きい順に上位Ｎ個（Ｎは所定数）」などの条件を適用することもできる。
【００３８】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００３９】
［２−１．システム］
図２を参照しながら、第２実施形態に係るシステムについて説明する。図２は、第２実施形態に係るシステムの一例を示した図である。
【００４０】
図２に示すように、第２実施形態に係るシステムは、端末装置１００及びサーバ装置２００を含む。なお、携帯電話、スマートフォン、デジタルカメラ、パーソナルコンピュータなどのデバイスは、端末装置１００の一例である。また、アプリケーションサーバやコンテンツマネジメントシステムなどは、サーバ装置２００の一例である。
【００４１】
端末装置１００は、無線基地局ＢＳ及びネットワークＮＷを介してサーバ装置２００にアクセスすることができる。例えば、無線基地局ＢＳは、移動体通信用の基地局や無線ＬＡＮ（Local Area Network）用の基地局などである。また、ネットワークＮＷは、移動体通信の基幹回線網やＷＡＮ（Wide Area Network）などである。
【００４２】
第２実施形態に係るシステムは、例えば、ユーザが端末装置１００を利用して撮像した撮像画像をサーバ装置２００が管理する写真管理サービスなどに適用できる。また、第２実施形態に係るシステムは、写真管理機能を有するＳＮＳ（Social Networking Service）などのソーシャルメディアサービスにも適用可能である。ここでは、説明の都合上、写真管理サービスを例に説明を進める。もちろん、第２実施形態に係るシステムの適用対象となりうるサービスの範囲はこれに限定されない。
【００４３】
多くの場合、画像の管理には、時間情報や位置情報が用いられる。例えば、撮影日時に応じて画像をグループ化する方法や、ＧＰＳ（Global Positioning System）を利用して撮影時に取得した位置情報を用いて、同じ地域で撮影された画像をグループ化する方法などがある。このような方法により画像をグループ化しておけば、ユーザが記憶している撮影時間や撮影場所の情報をヒントに、後日、所望の画像を容易に見つけ出すことが可能になる。また、イベントなどの情報をもとに画像を検索できるようにするため、「家族旅行」や「結婚式」などのタグを画像に付してタグ毎に画像を整理する方法もある。
【００４４】
上記の方法はいずれも画像の管理に有用である。第２実施形態に係るシステムは、さらに画像管理の有用性を高めるため、画像から特定物（以下、ランドマーク）を自動認識し、その認識結果を画像にタグ付けする仕組みを提供する。例えば、端末装置１００を利用して旅行先で撮影した画像から、サーバ装置２００がランドマーク（例えば、金閣寺や東京タワーなど）を自動認識してタグを付与する。この仕組みによれば、ランドマークを指定した画像検索や、ランドマークを基準とする画像の自動整理を実現することができる。
【００４５】
ランドマークの認識は、ランドマークの画像（以下、参照画像）と類似する画像が入力画像に含まれるか否かを判定する処理に基づいて行われる。なお、参照画像としては、ランドマークを正面から撮影した画像の他、様々な角度から撮影した画像が利用されることもある。また、様々なサイズで撮影したランドマークの画像が利用されることもある。このように、同じランドマークに対して複数の参照画像が利用されることで、認識の失敗や誤認識の発生を低減することができる。
【００４６】
ランドマークの認識は、例えば、次のような手順で行われる。
まず、端末装置１００が、ランドマークの認識対象とする入力画像に対して複数の特徴点を設定する。なお、特徴点の位置は予め設定されているものとする。特徴点の配置方法としては、例えば、予め決められた間隔で等間隔に配置する方法や、ランダムに決められた不規則な配置パターンで配置する方法などがある。但し、サーバ装置２００において参照画像に設定される特徴点と同じ配置方法で入力画像に特徴点が設定される。
【００４７】
特徴点を設定した端末装置１００は、入力画像に設定した特徴点の周辺領域（以下、特徴領域）から特徴量を抽出する。特徴領域としては、例えば、特徴点を中心とする矩形領域（例えば、一辺が４８画素の矩形領域）が利用される。また、特徴量としては、例えば、ＢＲＩＥＦ、ＳＩＦＴ、ＳＵＲＦ、ＣＡＲＤ、ＦＲＥＡＫ、ＢＲＩＳＫなどを利用可能である。以下では、ＢＲＩＥＦを利用する例がある。
【００４８】
端末装置１００が抽出した特徴量はサーバ装置２００に送信される。サーバ装置２００は、参照画像に設定した特徴点について特徴領域から特徴量を抽出する。但し、予め抽出された参照画像の特徴量をサーバ装置２００が保持している場合、サーバ装置２００は、保持している特徴量を利用する。サーバ装置２００は、特徴量を利用して入力画像の特徴領域と参照画像の特徴領域との類似度を計算し、類似度が高い特徴領域に対応する特徴点のペアを抽出する。
【００４９】
特徴点のペアを抽出したサーバ装置２００は、抽出した特徴点のペアについて統計処理を実行し、入力画像中に参照画像が含まれるか否かを判定する。サーバ装置２００は、全ての参照画像について判定処理を実行して入力画像中に含まれる参照画像を特定する。参照画像を特定したサーバ装置２００は、特定した参照画像に対応するランドマークの情報を端末装置１００に送信する。このように、第２実施形態に係るシステムでは、ランドマークの認識に係る主な処理をサーバ装置２００が実行する。
【００５０】
但し、端末装置１００からサーバ装置２００へと入力画像を送らず、特徴量だけを送る仕組みとしているため、個人情報である入力画像がネットワークＮＷなどを介して端末装置１００の外部へ漏れる心配がない。また、ＢＲＩＥＦなどの特徴量を利用するため、端末装置１００に過度な負荷をかけずにサービスの提供を受けることができる。つまり、第２実施形態に係るシステムを適用すれば、ユーザが気軽に安心して利用できる情報サービスを提供することが可能になる。
【００５１】
以上、第２実施形態に係るシステムについて説明した。以下、このシステムに含まれる端末装置１００及びサーバ装置２００について、さらに説明する。
［２−２．ハードウェア］
図３を参照しながら、端末装置１００が有する機能を実現することが可能なハードウェアについて説明する。図３は、第２実施形態に係る端末装置が有する機能を実現可能なハードウェアの一例を示した図である。
【００５２】
端末装置１００が有する機能は、例えば、図３に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、端末装置１００が有する機能は、コンピュータプログラムを用いて図３に示すハードウェアを制御することにより実現される。
【００５３】
図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（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）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００６１】
以上、端末装置１００のハードウェアについて説明した。なお、上記のハードウェアは、サーバ装置２００が有する機能を実現することも可能である。従って、サーバ装置２００のハードウェアについては説明を省略する。
【００６２】
［２−３．端末装置の機能］
次に、図４〜図７を参照しながら、端末装置１００の機能について説明する。
図４は、第２実施形態に係る端末装置が有する機能の一例を示したブロック図である。また、図５は、第２実施形態に係る画素ペア情報の一例を示した図である。また、図６は、第２実施形態に係る入力画像の特徴点と特徴領域について説明するための図である。また、図７は、第２実施形態に係る特徴量の計算について説明するための図である。
【００６３】
図４に示すように、端末装置１００は、記憶部１０１、画像取得部１０２、特徴点設定部１０３、特徴量計算部１０４、及び送信部１０５を有する。
なお、記憶部１０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。画像取得部１０２、特徴点設定部１０３、及び特徴量計算部１０４の機能は、上述したＣＰＵ９０２などを用いて実現できる。送信部１０５の機能は、上述した接続ポート９２４や通信部９２６などを用いて実現できる。
【００６４】
（画素ペア情報１０１ａについて）
記憶部１０１には、画素ペア情報１０１ａが格納される。画素ペア情報１０１ａは、画像の特徴点毎に設定される特徴領域の特徴量を計算する際に用いる画素のペア（以下、画素ペア）を表す情報である。例えば、画素ペア情報１０１ａには、画素ペアを成す２つの画素の位置を示す位置情報が含まれる。なお、特徴領域は、例えば、特徴点を中心とする矩形領域であり、３２画素×３２画素や４８画素×４８画素などのサイズに設定される。
【００６５】
画素ペア情報１０１ａの一例を図５に示す。図５に示すように、画素ペア情報１０１ａには、画素ペアＬk（ｋ＝１、２、…）を成す２つの画素の座標（Ｘ1，Ｙ1）及び（Ｘ2，Ｙ2）が含まれる。画素の座標は、特徴領域の左上を原点（０，０）とした座標値で表現される。また、画素ペアの数は、例えば、１２８個、２５６個、５１２個などに設定される。例えば、画素ペアの数を２５６個に設定した場合、特徴領域毎に２５６個の画素ペアが設定される。
【００６６】
（特徴点の設定について）
再び図４を参照する。画像取得部１０２は、ランドマークの認識対象となる画像（以下、入力画像Ｐin）を取得する。例えば、画像取得部１０２は、外部の記憶装置（非図示）又は端末装置１００に接続されたカメラ（非図示）から入力画像Ｐinを取得する。また、画像取得部１０２は、端末装置１００が有するカメラ機能を利用して入力画像Ｐinを取得してもよい。このようにして画像取得部１０２により取得された入力画像Ｐinは、記憶部１０１に格納される。
【００６７】
特徴点設定部１０３は、記憶部１０１に格納された入力画像Ｐinを読み出し、読み出した入力画像Ｐinに複数の特徴点を設定する。例えば、特徴点設定部１０３は、図６に示すように、等間隔に配置された複数の特徴点を抽出する方法（Ｄｅｎｓｅ  Ｓａｍｐｌｉｎｇ）を用いて入力画像Ｐinに特徴点を設定する。但し、特徴点の設定にはＦＡＳＴ（Features from Accelerated Segment Test）などの方法も適用できる。
【００６８】
なお、入力画像Ｐinに設定される特徴点をＷinと表記する。また、図６に示すように、特徴点Ｗinを基準に特徴領域が設定される。特徴点Ｗinを基準に設定される特徴領域をＡinと表記する。このようにして特徴点設定部１０３により設定された特徴点Ｗin及び特徴領域Ａinの情報は、記憶部１０１に格納される。また、特徴点Ｗin及び特徴領域Ａinの情報は、特徴量計算部１０４に入力される。
【００６９】
（特徴量の計算について）
再び図４を参照する。特徴量計算部１０４は、画素ペア情報１０１ａを参照し、特徴点設定部１０３により設定された特徴領域Ａinの特徴量を計算する。
【００７０】
例えば、特徴量計算部１０４は、図７に示すように、入力画像Ｐinの特徴領域Ａinから画素ペア毎に各画素の輝度を抽出する（Ｃ１）。次いで、特徴量計算部１０４は、画素ペア毎に抽出した２つの輝度の差分を求めることで、各画素ペアの輝度差を計算する（Ｃ２）。次いで、特徴量計算部１０４は、計算した輝度差の符号（正負）を表すビット値を並べたビット列（以下、局所特徴量）を生成する（Ｃ３）。
【００７１】
なお、輝度差の符号とビット値とは予め対応付けられている。例えば、正の符号がビット値「１」に対応付けられ、負の符号がビット値「０」に対応付けられている。また、輝度差を計算する際、画素ペアを成す２つの画素のうち、どちらの画素の輝度から、他方の画素の輝度を減算するかも予め設定されている。例えば、座標（Ｘ1，Ｙ1）に位置する画素の輝度から座標（Ｘ2，Ｙ2）に位置する画素の輝度を減算した輝度差の符号を局所特徴量の生成に利用することが予め設定されている。
【００７２】
また、局所特徴量を生成する際、ビット値を並べる順番も予め設定されている。例えば、画素ペア情報１０１ａに記載された画素ペアのＩｎｄｅｘ順にビット値が計算され、計算された順に並べて局所特徴量が生成される。なお、２５６個の画素ペアが設定されている場合、２５６ビットのビット列で表現された局所特徴量が得られる。また、局所特徴量は、入力画像Ｐinに含まれる全ての特徴領域Ａinについて計算される。入力画像Ｐinについて特徴量計算部１０４により計算された局所特徴量の組は、送信部１０５に入力される。
【００７３】
また、特徴量計算部１０４は、上記（Ｃ２）で計算した輝度差の絶対値を計算する（Ｄ１）。次いで、特徴量計算部１０４は、計算した絶対値が予め設定した閾値（以下、第１閾値）以上であるか否かを判定し、「絶対値≧第１閾値」の場合にビット値「１」、「絶対値＜第１閾値」の場合にビット値０を選択する（Ｄ２）。但し、第１閾値は、撮影状況の違いによる輝度差の変化幅を考慮して、撮影状況の違いによる影響を受けにくい輝度差の絶対値に設定される。そして、特徴量計算部１０４は、選択したビット値を並べたビット列（以下、絶対値特徴量）を生成する（Ｄ３）。
【００７４】
なお、ビット値を並べる順番は局所特徴量を生成する場合と同じである。２５６個の画素ペアが設定されている場合、２５６ビットのビット列で表現された絶対値特徴量が得られる。また、絶対値特徴量は、入力画像Ｐinに含まれる全ての特徴領域Ａinについて計算される。なお、局所特徴量の計算と絶対値特徴量の計算とは計算順序を逆にしてもよい。入力画像Ｐinについて特徴量計算部１０４により計算された絶対値特徴量の組は、送信部１０５に入力される。
【００７５】
（特徴量の送信について）
再び図４を参照する。上記のようにして入力画像Ｐinについて特徴量計算部１０４により計算された局所特徴量及び絶対値特徴量は、送信部１０５に入力される。送信部１０５は、特徴量計算部１０４から入力された局所特徴量及び絶対値特徴量をサーバ装置２００へ送信する。このとき、入力画像Ｐinがサーバ装置２００へと送信されないため、入力画像Ｐinに含まれるユーザの個人的な情報がネットワークＮＷを介して外部へと漏洩するリスクを抑制することが可能になる。
【００７６】
以上、端末装置の機能について説明した。
［２−４．サーバ装置の機能］
次に、図８〜図１６を参照しながら、サーバ装置２００の機能について説明する。
【００７７】
図８は、第２実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。また、図９は、第２実施形態に係る参照画像情報（参照画像管理テーブル）の一例を示した図である。図１０は、第２実施形態に係る参照画像情報（特徴量管理テーブル）の一例を示した図である。また、図１１は、第２実施形態に係る参照画像の特徴点と特徴領域について説明するための図である。
【００７８】
また、図１２は、第２実施形態に係る距離計算について説明するための第１の図である。図１３は、第２実施形態に係る距離計算について説明するための第２の図である。また、図１４は、第２実施形態に係る距離計算に用いる論理について説明するための図である。図１５は、第２実施形態に係る投票処理について説明するための図である。また、図１６は、第２実施形態に係る判定について説明するための図である。
【００７９】
図８に示すように、サーバ装置２００は、記憶部２０１、受信部２０２、距離計算部２０３、投票処理部２０４、及び判定部２０５を有する。
なお、記憶部２０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。受信部２０２の機能は、上述した接続ポート９２４や通信部９２６などを用いて実現できる。距離計算部２０３、投票処理部２０４、及び判定部２０５の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００８０】
（画素ペア情報２０１ａ、参照画像情報２０１ｂについて）
記憶部２０１には、ランドマークを撮影した画像（参照画像Ｐr）、画素ペア情報２０１ａ、及び参照画像情報２０１ｂが格納される。画素ペア情報２０１ａは、端末装置１００の記憶部１０１に格納されている画素ペア情報１０１ａと同じ画素ペアに関する情報である。参照画像情報２０１ｂは、参照画像Ｐrに関連する情報である。
【００８１】
参照画像情報２０１ｂは、参照画像管理テーブル、及び特徴量管理テーブルを含む。記憶部２０１には、様々なランドマークに対応する参照画像Ｐrが格納されている。また、１つのランドマークについて複数のサイズ、複数の撮影方向に対応する複数の参照画像Ｐrが記憶部２０１に格納されている。これらの参照画像Ｐrのデータとランドマークとを対応付ける情報が参照画像管理テーブルである。
【００８２】
例えば、参照画像管理テーブルは、図９に示すように、ランドマーク名と参照画像Ｐrのデータが格納されている場所（以下、画像データリンク）とを対応付ける。なお、参照画像管理テーブルの各レコードは、識別番号ＩＤ＃１により識別される。図９の例では、ＩＤ＃１が００１のレコードには、ランドマーク名「金閣寺」と画像データ「００１００１．ｊｐｇ」の画像データリンクとが対応付けられている。
【００８３】
一方、特徴量管理テーブルは、参照画像Ｐrに含まれる各特徴点と、特徴点毎に計算された特徴量（局所特徴量、絶対値特徴量）とを対応付ける情報である。特徴量管理テーブルは、参照画像Ｐr毎に設けられる。つまり、参照画像管理テーブルのレコード毎に特徴量管理テーブルが設けられる。ＩＤ＃１が００１〜００３のレコードに対応する特徴量管理テーブルの例を図１０に示した。
【００８４】
図１０に示すように、特徴量管理テーブルの各レコードは識別番号ＩＤ＃２により識別される。例えば、ＩＤ＃１が００１、ＩＤ＃２が００２のレコードを参照すると、特徴点（Ｘ2，Ｙ2）に対し、局所特徴量０１１００…、及び絶対値特徴量０１１０１…が対応付けられている。参照画像Ｐrの特徴点は、入力画像Ｐinに特徴点を設定する場合と同様に、Ｄｅｎｓｅ  Ｓａｍｐｌｉｎｇなどの方法により設定される（図１１を参照）。
【００８５】
なお、参照画像Ｐrに設定される特徴点をＷrと表記する。また、図１１に示すように、特徴点Ｗrを基準に設定される特徴領域をＡrと表記する。特徴量管理テーブルには、特徴点Ｗr毎に設定された参照画像Ｐrの特徴領域Ａrから予め計算された局所特徴量及び絶対値特徴量が記録される。
【００８６】
なお、特徴領域Ａrから局所特徴量及び絶対値特徴量を計算する方法は、入力画像Ｐinの特徴領域Ａinから局所特徴量及び絶対値特徴量を計算する方法と同様である。つまり、記憶部２０１に格納された画素ペア情報２０１ａに基づいて設定された画素ペア毎に、図７に例示した手順と同様に局所特徴量、及び絶対値特徴量が計算される。
【００８７】
（距離計算について）
再び図８を参照する。受信部２０２は、端末装置１００から入力画像Ｐinの局所特徴量及び絶対値特徴量を受信する。受信部２０２により受信された入力画像Ｐinの局所特徴量及び絶対値特徴量は、距離計算部２０３に入力される。距離計算部２０３は、局所特徴量及び絶対値特徴量に基づき、入力画像Ｐinの各特徴領域Ａinと、参照画像Ｐrの各特徴領域Ａrとの距離（特徴の相違度）を計算する。なお、距離計算部２０３は、参照画像管理テーブルに含まれる各参照画像Ｐrについて距離を計算する。
【００８８】
ここで、簡単のために、１つの特徴領域Ａinと１つの特徴領域Ａrとの距離を計算する方法について説明する。なお、特徴領域Ａinの局所特徴量及び絶対値特徴量は、上記のように、受信部２０２から距離計算部２０３へ入力されている。また、特徴領域Ａrの局所特徴量及び絶対値特徴量は、特徴量管理テーブルから読み出される。ここで、特徴領域Ａinの局所特徴量をＬＦin、絶対値特徴量をＡＦinと表記する。また、特徴領域Ａrの局所特徴量をＬＦr、絶対値特徴量をＡＦrと表記する。
【００８９】
距離計算部２０３は、下記の式（１）に従って、局所特徴量ＬＦin、ＬＦr、絶対値特徴量ＡＦin、ＡＦrからビット列ＨＶを計算する。さらに、距離計算部２０３は、ビット列ＨＶの長さ（ＨＶに含まれるビット値１の数）を計算する。計算されたビット列ＨＶの長さが、特徴領域Ａin、Ａr間における特徴の違いを表す距離Ｄである。但し、下記の式（１）において、ＡＮＤは論理積演算を表し、ＸＯＲは排他的論理和演算を表す。
【００９０】
ＨＶ＝｛（ＡＦin  ＡＮＤ  ＡＦr）ＡＮＤ（ＬＦin  ＸＯＲ  ＬＦr）｝
…（１）
上記の式（１）で表現した演算のうち、（ＡＦin  ＡＮＤ  ＡＦr）の部分は、絶対値特徴量ＡＦin、ＡＦrの各ビット値について、互いに対応するビット値がいずれも１である場合に１、少なくとも１つのビット値が０である場合に０となる演算である。絶対値特徴量のビット値が１の場合とは、輝度差の絶対値が第１閾値より大きい場合であり、撮影状況の違いによる影響を受けにくい場合に相当する。つまり、この部分は、撮影状況の違いによる影響を受けにくい画素ペアの組と、撮影状況の違いによる影響を受けやすい画素ペアを含む組とを仕分けるマスクパターンを生成する演算に相当する。
【００９１】
一方、上記の式（１）で表現した演算のうち、（ＬＦin  ＸＯＲ  ＬＦr）の部分は、局所特徴量ＬＦin、ＬＦrの各ビット値について、一致する場合に１、不一致の場合に０とする演算である。つまり、この演算により１となったビット値の数を合計することで、局所特徴量に基づく特徴領域Ａin、Ａr間の距離（特徴の違い）が得られる。但し、この距離は撮影状況の違いによる影響を受けやすいため、上記の式（１）は、上記のマスクパターンを利用して（ＬＦin  ＸＯＲ  ＬＦr）の部分をマスクする演算を含む。つまり、上記の式（１）は、（ＡＦin  ＡＮＤ  ＡＦr）の部分と、（ＬＦin  ＸＯＲ  ＬＦr）の部分との論理積演算を含む。
【００９２】
（ＡＦin  ＡＮＤ  ＡＦr）の部分は、撮影状況の違いによる影響を受けにくい画素ペアの組に対応するビット値が１、それ以外のビット値が０となっている。そのため、上記の論理積演算を実行すると、（ＬＦin  ＸＯＲ  ＬＦr）の部分のうち、撮影状況の違いによる影響を受けやすい画素ペアの組に対応するビット値は０となる。つまり、撮影状況の違いによる影響を受けやすい画素ペアの組は、それらの輝度差の違いにかかわらず、ビット列ＨＶの長さに寄与しない。従って、ビット列ＨＶの長さである距離Ｄは、撮影状況の違いによる影響を抑制した特徴領域Ａin、Ａr間の特徴差を表す。
【００９３】
上述した演算の内容を図１２に模式的に示した。図１２の例では、参照画像Ｐrの中に２つの特徴領域Ａr（１）、Ａr（２）が含まれ、入力画像Ｐinの中に２つの特徴領域Ａin（１）、Ａin（２）が含まれる。
【００９４】
例えば、特徴領域Ａr（１）、Ａin（１）に注目する。また、２つの画素ペアＬ1、Ｌ2に注目する。図１２の例では、特徴領域Ａr（１）について、画素ペアＬ1から絶対値特徴量のビット値０が得られ、画素ペアＬ2から絶対値特徴量のビット値１が得られている。同様に、特徴領域Ａin（１）について、画素ペアＬ1から絶対値特徴量のビット値０が得られ、画素ペアＬ2から絶対値特徴量のビット値１が得られている。
【００９５】
つまり、特徴領域Ａr、Ａinのいずれも、画素ペアＬ1において輝度差の絶対値が第１閾値より小さく、画素ペアＬ1は撮影状況の違いによる影響を受けやすい。逆に、特徴領域Ａr、Ａinのいずれも、画素ペアＬ2において輝度差の絶対値が第１閾値より大きく、画素ペアＬ2は撮影状況の違いによる影響を受けにくい。この場合、特徴領域Ａr、Ａinのいずれにおいても絶対値特徴量が１となっている画素ペアＬ2は、局所特徴量に基づく距離の計算に利用される。一方、画素ペアＬ1は、局所特徴量に基づく距離の計算に利用されない。
【００９６】
また、特徴領域Ａr（２）については、画素ペアＬ1、Ｌ2のいずれも絶対値特徴量のビット値が０である。同様に、特徴領域Ａin（２）についても、画素ペアＬ1、Ｌ2から得られる絶対値特徴量のビット値が０である。つまり、特徴領域Ａr（２）、Ａin（２）の特徴を比較する際、局所特徴量に基づく距離計算に画素ペアＬ1、Ｌ2は利用されない。このように、輝度差が小さく（平坦）、撮影状況の違いによる影響を受けやすい画素ペアについては、局所特徴量に基づく距離計算に利用されないようにする。その結果、撮影状況の違いによる影響を抑制した特徴領域Ａin、Ａr間の特徴差を表す距離Ｄが得られることになる。
【００９７】
上記の式（１）による距離Ｄの具体的な計算例を図１３に示す。なお、図１３の例の特徴領域Ａin、Ａrと、図１２に例示した特徴領域Ａin（１）、Ａin（２）、Ａr（１）、Ａr（２）とは異なる領域であるとする。
【００９８】
図１３の例では、特徴領域Ａinについて、画素ペアＬ1から得られた絶対値特徴量のビット値は０、局所特徴量のビット値は０である。特徴領域Ａrについて、画素ペアＬ1から得られた絶対値特徴量のビット値は０、局所特徴量のビット値は１である。この場合、局所特徴量のビット値は考慮されず、画素ペアＬ1に対応するビット列ＨＶのビット値（ビットの距離）は０となる。図１３に例示した画素ペアＬ1、Ｌ2、Ｌ3、Ｌ4の組み合わせの場合、画素ペアＬ2、Ｌ3についても同様にビットの距離は０となる。
【００９９】
一方、画素ペアＬ4については、絶対値特徴量のビット値が特徴領域Ａin、Ａrのいずれにおいても１であるため、局所特徴量に基づくビットの距離が計算される。図１３の例では、特徴領域Ａinにおける局所特徴量のビット値が０、特徴領域Ａrにおける局所特徴量のビット値が１であるため、ビットの距離は１となる。
【０１００】
従って、図１３の例では、各ビットの距離を合計（ビット値１の数をカウント）し、距離Ｄが１となる。なお、上記の式（１）を利用すれば、ここで説明した演算を効率良く実行することができる。
【０１０１】
上記の式（１）に示した論理演算の論理を整理すると、図１４のようになる。
図１４に示すように、距離計算部２０３は、局所特徴量ＬＦin、ＬＦrのＸＯＲ演算を実行する（Ｓ１）。
【０１０２】
Ｓ１の演算により、局所特徴量ＬＦin、ＬＦr間でビット毎の距離が計算される。また、距離計算部２０３は、絶対値特徴量ＡＦin、ＡＦrのＡＮＤ演算を実行する（Ｓ２）。
Ｓ２の演算により、絶対値特徴量のビット値が特徴領域Ａin、Ａrの両方で１となる画素ペアを抽出するマスクパターンが得られる。なお、Ｓ１、Ｓ２の演算順序は入れ替え可能である。
【０１０３】
Ｓ１、Ｓ２の演算後に、距離計算部２０３は、Ｓ１の演算により得たビット列とＳ２の演算により得たビット列とのＡＮＤ演算を実行する（Ｓ３）。
Ｓ３の演算により、Ｓ２の演算で得たマスクパターンに従って局所特徴量から得たビット毎の距離がマスクされる。
【０１０４】
距離計算部２０３は、Ｓ３の演算により得たビット列（ビット列ＨＶ）のうち、ビット値が１のビットの数をカウントする（Ｓ４）。Ｓ４のカウント処理により得たビットの数が距離Ｄとなる。以上説明した方法により、距離計算部２０３は、特徴領域Ａin、Ａr間の距離を計算する。
【０１０５】
再び図８を参照する。距離計算部２０３は、全ての参照画像Ｐrについて、上記の方法により入力画像Ｐinに含まれる各特徴領域Ａinと、参照画像Ｐrに含まれる各特徴領域Ａrとの間の距離Ｄを計算する。距離計算部２０３により計算された距離の情報は、投票処理部２０４に入力される。
【０１０６】
（投票処理について）
投票処理部２０４は、参照画像Ｐrの特徴領域Ａrと、入力画像Ｐinの各特徴領域Ａinとの組について計算された距離Ｄに基づき、類似度が最も高い（距離Ｄが最も小さくなる）特徴領域Ａr、Ａinの組を抽出する。つまり、投票処理部２０４は、参照画像Ｐrの各特徴領域Ａrについて、類似度が最も高い特徴領域Ａin、Ａrの組に対応する特徴点の組を抽出する（対応点探索）。
【０１０７】
図１５に示すように、対応点探索により特徴点の組が得られると、投票処理部２０４は、特徴領域Ａrの特徴点と参照画像Ｐrの中心との位置関係に基づき、参照画像Ｐrの中心が位置する入力画像Ｐin内の位置を特定する（中心推定）。つまり、投票処理部２０４は、既知である特徴領域Ａrの特徴点から参照画像Ｐrの中心への向き及び距離を利用し、対応する入力画像Ｐinの特徴点から同じ向き及び距離へ移動した位置を参照画像Ｐrの中心が一致する位置であると特定する。
【０１０８】
上記の特定は、入力画像Ｐinの特徴点と、対応する参照画像Ｐrの特徴点とが一致するように参照画像Ｐrを入力画像Ｐinに重ねた場合に、入力画像Ｐinにおける参照画像Ｐrの中心を計算する処理に相当する。
【０１０９】
例えば、特定される中心の座標を（Ｘv，Ｙv）、入力画像Ｐinの横幅をｗi、高さをｈi、参照画像Ｐrの横幅をｗr、高さをｈrとすると、座標（Ｘv，Ｙv）は、下記の式（２）及び式（３）により計算できる。但し、参照画像Ｐrの特徴点を座標（Ｘr，Ｙr）と表記し、対応する入力画像Ｐinの特徴点を座標（Ｘi，Ｙi）と表記している。
【０１１０】
【数１】
2015225353.tif 000003
【０１１１】
【数２】
2015225353.tif 000004
【０１１２】
また、投票処理部２０４は、計算した中心の座標に基づいて統計的手法により入力画像Ｐinに参照画像Ｐrが含まれるか否かを判定する。このとき、投票処理部２０４は、統計的手法として、例えば、投票を採用する。
【０１１３】
投票は、図１５に示すように、入力画像Ｐinと同じサイズの領域に枡目を設けた投票マップを利用して行われる。また、投票マップの各枡目にはカウンタが対応付けられている。投票処理部２０４は、上記の計算により特定した中心の座標を含む枡目を抽出し、抽出した枡目に対応するカウンタのカウント値（投票数）をカウントアップする。このカウントアップの処理を投票と呼ぶ。
【０１１４】
投票処理部２０４は、参照画像Ｐrの各特徴点について同様に投票を行う。投票が終了すると、判定部２０５は、図１６に示すように、投票数の最大値を抽出する。判定部２０５は、抽出した最大数と予め設定した第２閾値とを比較する。
【０１１５】
なお、第２閾値は、例えば、様々な入力画像Ｐin、参照画像Ｐrの組み合わせについて実験又はシミュレーションを行い、許容可能な精度で正しい判定結果が得られる値に設定される。また、最大数を投票マップ内の全投票数で割った正規化値と第２閾値とを比較するようにしてもよい。
【０１１６】
最大数が第２閾値より大きい場合、判定部２０５は、入力画像Ｐinの中に参照画像Ｐrが存在すると判定する。この場合、判定部２０５は、最大数に対応する枡目の位置を参照画像Ｐrの中心が存在する位置と判定する。一方、最大数が第２閾値より小さい場合、判定部２０５は、入力画像Ｐinの中に参照画像Ｐrが存在しないと判定する。
【０１１７】
このように、投票マップを利用して判定を行うことで、入力画像Ｐinと参照画像Ｐrとの間に生じた許容可能な誤差を吸収し、ロバストな判定を行うことができる。
入力画像Ｐinの中に存在すると判定した場合、判定部２０５は、対応する参照画像Ｐrの参照画像管理テーブルを記憶部２０１から読み出し、参照画像Ｐrに含まれるランドマークの情報を端末装置１００に送信する。端末装置１００に送信されるランドマークの情報としては、例えば、入力画像Ｐinに含まれると判定されたランドマークの名称や位置、或いは、参照画像管理テーブルのＩＤなどがある。
【０１１８】
また、ランドマーク毎にタグ情報を用意しておき、判定結果に応じてランドマークに対応するタグ情報が端末装置１００に送信されるようにしてもよい。この場合、端末装置１００でタグ情報が入力画像Ｐinに自動付与される仕組みを実現することができる。
【０１１９】
また、複数のランドマークが存在すると判定された場合、判定部２０５は、それら全てのランドマークの情報を端末装置１００に送信してもよいし、投票数の合計値や最大数が最も大きいランドマークの情報だけを端末装置１００に送信してもよい。
【０１２０】
一方、参照画像管理テーブルに含まれる全ての参照画像Ｐrについて、入力画像Ｐinの中に参照画像Ｐrが存在しないと判定した場合、判定部２０５は、ランドマークが存在しない旨を示すエラー情報を端末装置１００に送信する。
【０１２１】
以上、サーバ装置の機能について説明した。
［２−５．処理の流れ］
次に、図１７〜図２４を参照しながら、端末装置１００及びサーバ装置２００が実行する処理の流れについて説明する。
【０１２２】
（２−５−１．端末装置の動作）
まず、図１７及び図１８を参照しながら、端末装置１００の動作に係る処理の流れについて説明する。
【０１２３】
なお、図１７は、第２実施形態に係る端末装置の動作について説明するためのフロー図である。また、図１８は、第２実施形態に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。
【０１２４】
（端末装置の動作）
図１７に示すように、画像取得部１０２は、入力画像Ｐinを取得する（Ｓ１０１）。例えば、画像取得部１０２は、外部の記憶装置（非図示）又は端末装置１００に接続されたカメラ（非図示）から入力画像Ｐinを取得する。また、画像取得部１０２は、端末装置１００が有するカメラ機能を利用して入力画像Ｐinを取得してもよい。
【０１２５】
次いで、特徴点設定部１０３は、入力画像Ｐinに特徴点を設定する（Ｓ１０２）。
Ｓ１０２において、例えば、特徴点設定部１０３は、図６に示すように、等間隔に配置された複数の特徴点を抽出する方法（Ｄｅｎｓｅ  Ｓａｍｐｌｉｎｇ）を用いて入力画像Ｐinに特徴点を設定する。但し、特徴点の設定にはＦＡＳＴなどの方法も適用できる。
【０１２６】
次いで、特徴量計算部１０４は、Ｓ１０２で設定された特徴点のうち１つの特徴点を選択する（Ｓ１０３）。
次いで、特徴量計算部１０４は、Ｓ１０３で選択した特徴点に対応する特徴領域Ａinについて特徴量（絶対値特徴量ＡＦin、局所特徴量ＬＦin）を計算する（Ｓ１０４）。
【０１２７】
Ｓ１０４において、例えば、特徴量計算部１０４は、図７に示すように、入力画像Ｐinの特徴領域Ａinから画素ペア毎に各画素の輝度を抽出する。
また、Ｓ１０４において、特徴量計算部１０４は、画素ペア毎に抽出した２つの輝度の差分を求めることで、各画素ペアの輝度差を計算する。さらに、特徴量計算部１０４は、計算した輝度差の符号（正負）を表すビット値を並べたビット列（局所特徴量ＬＦin）を生成する。
【０１２８】
また、Ｓ１０４において、特徴量計算部１０４は、計算した輝度差の絶対値を計算する。さらに、特徴量計算部１０４は、計算した絶対値が予め設定した閾値（第１閾値）以上であるか否かを判定し、「絶対値≧第１閾値」の場合にビット値「１」、「絶対値＜第１閾値」の場合にビット値０を選択する。そして、特徴量計算部１０４は、選択したビット値を並べたビット列（絶対値特徴量ＡＦin）を生成する。
【０１２９】
次いで、特徴量計算部１０４は、Ｓ１０２で設定された全ての特徴点について計算を終えたか否かを判定する（Ｓ１０５）。全ての特徴点について計算を終えている場合、処理はＳ１０６へと進む。全ての特徴点について計算を終えていない場合、処理はＳ１０３へと進む。
【０１３０】
処理がＳ１０６へと進んだ場合、送信部１０５は、Ｓ１０４で計算した特徴量（絶対値特徴量ＡＦin、局所特徴量ＬＦin）をサーバ装置２００へ送信する（Ｓ１０６）。
Ｓ１０６の処理が完了すると、図１７に示した一連の処理は終了する。
【０１３１】
ここで、図１８を参照しながら、Ｓ１０４の処理について、さらに説明する。
図１８に示すように、特徴量計算部１０４は、Ｓ１０３で選択した特徴点周辺の特徴領域Ａinに複数の画素ペアを設定する（Ｓ１１１）。
【０１３２】
Ｓ１１１において、例えば、特徴量計算部１０４は、画素ペア情報１０１ａに基づいて特徴領域Ａinに複数の画素ペアを設定する。
次いで、特徴量計算部１０４は、Ｓ１１１で設定された画素ペアのうち１つの画素ペアを選択する（Ｓ１１２）。
【０１３３】
次いで、特徴量計算部１０４は、Ｓ１１２で選択した画素ペアの輝度差を計算する（Ｓ１１３）。
Ｓ１１３において、例えば、特徴量計算部１０４は、画素ペアについて２つの輝度の差分を求めることで、画素ペアの輝度差を計算する。なお、輝度差を計算する際、画素ペアを成す２つの画素のうち、どちらの画素の輝度から、他方の画素の輝度を減算するかも予め設定されている。
【０１３４】
次いで、特徴量計算部１０４は、Ｓ１１３で計算した輝度差の符号に対応するビット値を選択し、局所特徴量ＬＦinのビット値に設定する（Ｓ１１４）。なお、輝度差の符号とビット値とは予め対応付けられている。例えば、正の符号がビット値「１」に対応付けられ、負の符号がビット値「０」に対応付けられている。
【０１３５】
次いで、特徴量計算部１０４は、Ｓ１１３で計算した輝度差の絶対値を計算し、計算した絶対値に基づいて絶対値特徴量ＡＦinのビット値を設定する（Ｓ１１５）。
Ｓ１１５において、例えば、特徴量計算部１０４は、計算した絶対値が第１閾値以上であるか否かを判定し、「絶対値≧第１閾値」の場合にビット値「１」、「絶対値＜第１閾値」の場合にビット値０を設定する。
【０１３６】
次いで、特徴量計算部１０４は、Ｓ１１１で設定された全ての画素ペアを選択し終えたか否かを判定する（Ｓ１１６）。全ての画素ペアを選択し終えている場合、図１８に示した一連の処理は終了する。一方、全ての画素ペアを選択し終えていない場合、処理はＳ１１２へと進む。
【０１３７】
以上、端末装置１００の動作に係る処理の流れについて説明した。
（２−５−２．サーバ装置の動作）
次に、図１９及び図２０を参照しながら、サーバ装置２００の動作に係る処理の流れについて説明する。
【０１３８】
なお、図１９は、第２実施形態に係るサーバ装置の動作について説明するためのフロー図である。また、図２０は、第２実施形態に係るサーバ装置の動作のうち、参照画像の探索に関する動作について説明するためのフロー図である。
【０１３９】
図１９に示すように、サーバ装置２００は、受信部２０２の機能により、端末装置１００が送信した特徴量（絶対値特徴量ＡＦin、局所特徴量ＬＦin）を受信する（Ｓ２０１）。
【０１４０】
次いで、サーバ装置２００は、距離計算部２０３の機能により、参照画像Ｐrを１つ選択する（Ｓ２０２）。
次いで、距離計算部２０３、投票処理部２０４、及び判定部２０５は、Ｓ２０２で選択した参照画像Ｐrの探索を実行する（Ｓ２０３）。
【０１４１】
Ｓ２０３において、例えば、距離計算部２０３は、上記の式（１）に従って、局所特徴量ＬＦin、ＬＦr、絶対値特徴量ＡＦin、ＡＦrからビット列ＨＶを計算する。さらに、距離計算部２０３は、ビット列ＨＶの長さ（ＨＶに含まれるビット値１の数）を計算する。計算されたビット列ＨＶの長さが、特徴領域Ａin、Ａr間における特徴の違いを表す距離Ｄである。
【０１４２】
また、Ｓ２０３において、投票処理部２０４は、参照画像Ｐrの特徴領域Ａrと、入力画像Ｐinの各特徴領域Ａinとの組について計算された距離Ｄに基づき、類似度が最も高い（距離Ｄが最も小さくなる）特徴領域Ａr、Ａinの組を抽出する。
【０１４３】
また、Ｓ２０３において、投票処理部２０４は、特徴領域Ａrの特徴点と参照画像Ｐrの中心との位置関係に基づき、参照画像Ｐrの中心が位置する入力画像Ｐin内の位置を特定する。そして、投票処理部２０４は、計算した中心の座標に基づいて統計的手法（例えば、投票）により入力画像Ｐinに参照画像Ｐrが含まれるか否かを判定する。
【０１４４】
また、Ｓ２０３において、判定部２０５は、図１６に示すように、投票数の最大値を抽出する。さらに、判定部２０５は、抽出した最大数と予め設定した第２閾値とを比較する。
【０１４５】
最大数が第２閾値より大きい場合、判定部２０５は、入力画像Ｐinの中に参照画像Ｐrが存在すると判定する。この場合、判定部２０５は、最大数に対応する枡目の位置を参照画像Ｐrの中心が存在する位置と判定する。一方、最大数が第２閾値より小さい場合、判定部２０５は、入力画像Ｐinの中に参照画像Ｐrが存在しないと判定する。
【０１４６】
次いで、判定部２０５は、参照画像管理テーブルに含まれる全ての参照画像Ｐrを選択し終えたか否かを判定する（Ｓ２０４）。全ての参照画像Ｐrを選択し終えている場合、処理はＳ２０５へと進む。一方、全ての参照画像Ｐrを選択し終えていない場合、処理はＳ２０２へと進む。
【０１４７】
処理がＳ２０５へと進んだ場合、判定部２０５は、少なくとも１つの参照画像Ｐrが入力画像Ｐinの中に存在したか否かを判定する（Ｓ２０５）。少なくとも１つの参照画像Ｐrが入力画像Ｐinの中に存在した場合、処理はＳ２０６へと進む。一方、参照画像Ｐrが入力画像Ｐinの中に全く存在しなかった場合、処理はＳ２０７へと進む。
【０１４８】
処理がＳ２０６へと進んだ場合、判定部２０５は、入力画像Ｐinの中に存在した参照画像Ｐrの参照画像情報２０１ｂを端末装置１００へ送信する（Ｓ２０６）。
一方、処理がＳ２０７へと進んだ場合、判定部２０５は、参照画像Ｐrの検出失敗を示すエラー情報を端末装置１００へ送信する（Ｓ２０７）。
【０１４９】
Ｓ２０６又はＳ２０７の処理が完了すると、図１９に示した一連の処理は終了する。
ここで、図２０を参照しながら、Ｓ２０３の処理について、さらに説明する。
図２０に示すように、距離計算部２０３は、参照画像Ｐrの特徴点を１つ選択する（Ｓ２２１）。次いで、距離計算部２０３は、Ｓ２２１で選択した特徴点と、入力画像Ｐinの各特徴点との距離（特徴領域Ａrと各特徴領域Ａinとの距離Ｄ）を計算する（Ｓ２２２）。
【０１５０】
Ｓ２２２において、例えば、距離計算部２０３は、上記の式（１）に従って、局所特徴量ＬＦin、ＬＦr、絶対値特徴量ＡＦin、ＡＦrからビット列ＨＶを計算し、ビット列ＨＶの長さ（ＨＶに含まれるビット値１の数）を求める。このビット列ＨＶの長さが、特徴領域Ａin、Ａr間における特徴の違いを表す距離Ｄである。
【０１５１】
次いで、投票処理部２０４は、Ｓ２２２で計算された距離が最小となる特徴点（最小距離の特徴点）を基準に入力画像Ｐinにおける参照画像Ｐrの中心に対応する位置を特定する（Ｓ２２３）。
【０１５２】
Ｓ２２３において、例えば、投票処理部２０４は、参照画像Ｐrの特徴領域Ａrと、入力画像Ｐinの各特徴領域Ａinとの組について計算された距離Ｄに基づき、類似度が最も高い（距離Ｄが最も小さくなる）特徴領域Ａr、Ａinの組を抽出する。そして、投票処理部２０４は、特徴領域Ａrの特徴点と参照画像Ｐrの中心との位置関係に基づき、参照画像Ｐrの中心が位置する入力画像Ｐin内の位置を特定する。
【０１５３】
次いで、投票処理部２０４は、Ｓ２２３で特定した中心の位置に投票（投票マップ内で対応する枡目のカウンタをカウントアップ）する（Ｓ２２４）。
次いで、投票処理部２０４は、参照画像Ｐrの特徴点を全て選択し終えたか否かを判定する（Ｓ２２５）。参照画像Ｐrの特徴点を全て選択し終えた場合、処理はＳ２２６へと進む。一方、参照画像Ｐrの特徴点を全て選択し終えていない場合、処理はＳ２２１へと進む。
【０１５４】
処理がＳ２２６へと進んだ場合、判定部２０５は、投票マップから投票数の最大値を抽出する（Ｓ２２６）。
次いで、判定部２０５は、Ｓ２２６で抽出した最大値が第２閾値より大きいか否かを判定する（Ｓ２２７）。最大値が第２閾値より大きい場合、処理はＳ２２９へと進む。一方、最大値が第２閾値より大きくない場合、処理はＳ２２８へと進む。
【０１５５】
処理がＳ２２８へと進んだ場合、判定部２０５は、入力画像Ｐin中に参照画像Ｐrが存在しないと判定する（Ｓ２２８）。
一方、処理がＳ２２９へと進んだ場合、判定部２０５は、入力画像Ｐin中に参照画像Ｐrが存在すると判定する（Ｓ２２９）。
【０１５６】
Ｓ２２８又はＳ２２９の処理が完了すると、図２０に示した一連の処理は終了する。
以上、サーバ装置２００の動作に係る処理の流れについて説明した。
［２−６．変形例＃１：参照画像の絶対値特徴量でマスクする方法］
次に、図２１及び図２２を参照しながら、第２実施形態の一変形例（変形例＃１）について説明する。
【０１５７】
なお、図２１は、第２実施形態の一変形例（変形例＃１）に係る距離計算について説明するための図である。また、図２２は、第２実施形態の一変形例（変形例＃１）に係る距離計算に用いる論理について説明するための図である。
【０１５８】
これまでは、入力画像Ｐinの特徴領域Ａinから得られる絶対値特徴量ＡＦinと、参照画像Ｐrの特徴領域Ａrから得られる絶対値特徴量ＡＦrとを両方考慮して距離Ｄを計算する方法について説明してきた。変形例＃１では、参照画像Ｐrの特徴領域Ａrから得られる絶対値特徴量ＡＦrだけを考慮して距離Ｄを計算する方法について提案する。
【０１５９】
なお、変形例＃１において変形される要素は、距離計算部２０３による距離Ｄの計算方法である。
変形例＃１においては、図２１に示すように、特徴領域Ａrの絶対値特徴量ＡＦrが参照され、絶対値特徴量ＡＦrのビット値が０の場合、局所特徴量ＬＦin、ＬＦrの値にかかわらず、ビットの距離（ビット列ＨＶのビット値）が０に設定される。図２１の例では、ハッチングが施された部分のビット値は距離の計算時に考慮されない。また、距離計算部２０３が実行する論理演算は、変形例＃１の場合、上記の（１）ではなく下記の式（４）のようになる。また、下記の式（４）により得られるビット列ＨＶの長さ（ビット値１の数）が距離Ｄとなる。
【０１６０】
ＨＶ＝｛ＡＦr  ＡＮＤ  （ＬＦin  ＸＯＲ  ＬＦr）｝
…（４）
上記の式（４）に示した論理演算の論理を整理すると、図２２のようになる。
【０１６１】
図２２に示すように、距離計算部２０３は、局所特徴量ＬＦin、ＬＦrのＸＯＲ演算を実行する（Ｓ１）。
Ｓ１の演算により、局所特徴量ＬＦin、ＬＦr間でビット毎の距離が計算される。Ｓ１の演算後に、距離計算部２０３は、Ｓ１の演算により得たビット列と、絶対値特徴量ＡＦrとのＡＮＤ演算を実行する（Ｓ２）。
【０１６２】
Ｓ２の演算により、絶対値特徴量ＡＦrのうちビット値が１の画素ペアだけが考慮されるように、局所特徴量から得たビット毎の距離がマスクされる。
距離計算部２０３は、Ｓ２の演算により得たビット列（ビット列ＨＶ）のうち、ビット値が１のビットの数をカウントする（Ｓ３）。
【０１６３】
Ｓ３のカウント処理により得たビットの数が距離Ｄとなる。以上説明した方法により、距離計算部２０３は、特徴領域Ａin、Ａr間の距離Ｄを計算する。
変形例＃１を適用すると、入力画像Ｐinの特徴領域Ａinについて絶対値特徴量ＡＦinを計算する処理、及び絶対値特徴量ＡＦinを端末装置１００からサーバ装置２００へと送信する処理を省略することができる。そのため、変形例＃１によれば、演算処理及び通信処理にかかる負荷を低減することが可能になる。
【０１６４】
以上、変形例＃１について説明した。
［２−７．変形例＃２：絶対値特徴量の距離を利用する方法］
次に、図２３及び図２４を参照しながら、第２実施形態の一変形例（変形例＃２）について説明する。なお、図２３は、第２実施形態の一変形例（変形例＃２）に係る距離計算について説明するための図である。また、図２４は、第２実施形態の一変形例（変形例＃２）に係る距離計算に用いる論理について説明するための図である。
【０１６５】
変形例＃２では、入力画像Ｐinの特徴領域Ａinから得られる絶対値特徴量ＡＦinと、参照画像Ｐrの特徴領域Ａrから得られる絶対値特徴量ＡＦrとを両方考慮して距離Ｄを計算する。但し、変形例＃２では、絶対値特徴量ＡＦinのビット値と、対応する絶対値特徴量ＡＦrのビット値との距離を距離Ｄの計算に利用する。
【０１６６】
これまでは、絶対値特徴量ＡＦinのビット値、対応する絶対値特徴量ＡＦrのビット値のいずれか一方が０の場合、ビットの距離を一律に０としていた。しかし、変形例＃２では、図２３に示すように、絶対値特徴量ＡＦinのビット値、対応する絶対値特徴量ＡＦrのビット値が両方０の場合にビットの距離を０とし、一方が０の場合にビットの距離を１とする。
【０１６７】
つまり、一方の画素ペアの輝度差が大きく、他方の画素ペアの輝度差が小さい場合、これらの画素ペアの組は特徴が異なるとみなす。逆に、比較する２つの画素ペアの輝度差がいずれも小さい場合、これらの画素ペアの組は特徴が類似するとみなす。このように、輝度差が小さい画素ペアを距離Ｄの計算時に考慮することで、より多くの画素ペアを距離Ｄの計算に利用することが可能になる。
【０１６８】
なお、距離計算部２０３が実行する論理演算は、変形例＃２の場合、上記の（１）ではなく下記の式（５）のようになる。また、下記の式（５）により得られるビット列ＨＶの長さ（ビット値１の数）が距離Ｄとなる。但し、下記の式（５）に含まれるＯＲは論理和演算を表す。
【０１６９】
ＨＶ＝｛（ＡＦin  ＸＯＲ  ＡＦr）ＯＲ（（ＡＦin  ＡＮＤ  ＡＦr）ＡＮＤ（ＬＦin  ＸＯＲ  ＬＦr））｝
…（５）
上記の式（５）に示した論理演算の論理を整理すると、図２４のようになる。
【０１７０】
図２４に示すように、距離計算部２０３は、局所特徴量ＬＦin、ＬＦrのＸＯＲ演算を実行する（Ｓ１）。Ｓ１の演算により、局所特徴量ＬＦin、ＬＦr間でビット毎の距離が計算される。また、距離計算部２０３は、絶対値特徴量ＡＦin、ＡＦrのＡＮＤ演算を実行する（Ｓ２）。Ｓ２の演算により、絶対値特徴量のビット値が特徴領域Ａin、Ａrの両方で１となる画素ペアを抽出するマスクパターンが得られる。
【０１７１】
Ｓ１、Ｓ２の演算後に、距離計算部２０３は、Ｓ１の演算により得たビット列とＳ２の演算により得たビット列とのＡＮＤ演算を実行する（Ｓ３）。Ｓ３の演算により、Ｓ２の演算で得たマスクパターンに従って局所特徴量から得たビット毎の距離がマスクされる。
【０１７２】
また、距離計算部２０３は、絶対値特徴量ＡＦin、ＡＦrのＸＯＲ演算を実行する（Ｓ４）。Ｓ４の演算により、絶対値特徴量ＡＦin、ＡＦr間でビット毎の距離が計算される。なお、Ｓ１、Ｓ２、Ｓ４の演算順序は入れ替え可能である。
【０１７３】
また、距離計算部２０３は、Ｓ３の演算により得たビット列と、Ｓ４の演算により得たビット列とのＯＲ演算を実行する（Ｓ５）。Ｓ５の演算により、絶対値特徴量ＡＦin、ＡＦrから得たビット毎の距離と、局所特徴量ＬＦin、ＬＦrから得たビット毎の距離（マスク後の距離）とが合成されたビット列（ビット列ＨＶ）が得られる。
【０１７４】
距離計算部２０３は、Ｓ５の演算により得たビット列ＨＶのうち、ビット値が１のビットの数をカウントする（Ｓ６）。Ｓ６のカウント処理により得たビットの数が距離Ｄとなる。以上説明した方法により、距離計算部２０３は、特徴領域Ａin、Ａr間の距離を計算する。変形例＃２によれば、より多くの画素ペアを距離Ｄの計算に利用することが可能になるため、判定精度の向上が期待できる。
【０１７５】
以上、変形例＃２について説明した。
［２−８．変形例＃３：輝度差が大きい上位Ｎ個の画素ペアを利用する方法］
次に、図２５を参照しながら、第２実施形態の一変形例（変形例＃３）について説明する。なお、図２５は、第２実施形態の一変形例（変形例＃３）に係る端末装置の動作のうち、特徴量の計算に関する動作について説明するためのフロー図である。
【０１７６】
これまでは、絶対値特徴量ＡＦinを計算する際、輝度差の絶対値と第１閾値との大小関係に基づいて絶対値特徴量ＡＦinのビット値を決める方法を採用していた。変形例＃３では、輝度差の絶対値が大きい順に予め設定した数（Ｎ個）の画素ペアを抽出し、抽出した画素ペアに対応する絶対値特徴量ＡＦinのビット値を１、それ以外のビット値を０とする方法を提案する。
【０１７７】
変形例＃３では、図１８に示したＳ１０４の処理が図２５のように変形される。そこで、図２５を参照しながら、Ｓ１０４に係る端末装置１００の動作について説明する。
図２５に示すように、特徴量計算部１０４は、Ｓ１０３で選択した特徴点周辺の特徴領域Ａinに複数の画素ペアを設定する（Ｓ３０１）。次いで、特徴量計算部１０４は、Ｓ３０１で設定された画素ペアのうち１つの画素ペアを選択する（Ｓ３０２）。
【０１７８】
次いで、特徴量計算部１０４は、Ｓ３０２で選択した画素ペアの輝度差を計算する（Ｓ３０３）。次いで、特徴量計算部１０４は、Ｓ３０３で計算した輝度差の符号に対応するビット値を選択し、局所特徴量ＬＦinのビット値に設定する（Ｓ３０４）。
【０１７９】
次いで、特徴量計算部１０４は、Ｓ３０３で計算した輝度差の絶対値を計算し、計算した絶対値を輝度差リストに記録する（Ｓ３０５）。なお、輝度差リストは、画素ペア毎に計算された輝度差の絶対値が記録される情報リストであり、記憶部１０１に格納される。
【０１８０】
次いで、特徴量計算部１０４は、Ｓ３０１で設定された全ての画素ペアを選択し終えたか否かを判定する（Ｓ３０６）。全ての画素ペアを選択し終えている場合、処理はＳ３０７へと進む。一方、全ての画素ペアを選択し終えていない場合、処理はＳ３０２へと進む。
【０１８１】
処理がＳ３０７へと進んだ場合、特徴量計算部１０４は、輝度差リストを参照し、輝度差が大きい順に上位Ｎ個（Ｎは所定値）の画素ペアを抽出する（Ｓ３０７）。次いで、特徴量計算部１０４は、Ｓ３０７で抽出した画素ペアに対応する絶対値特徴量ＡＦinのビット値を１、その他のビット値を０に設定する（Ｓ３０８）。Ｓ３０８の処理が完了すると、図２５に示した一連の処理は終了する。
【０１８２】
なお、参照画像Ｐrに含まれる特徴領域Ａrの絶対値特徴量ＡＦrについても、図２５と同様の方法で計算することができる。また、変形例＃３に係る絶対値特徴量ＡＦrの計算方法は、上述した変形例＃１、＃２にも組み合わせて適用することができる。
【０１８３】
以上、変形例＃３について説明した。
［２−９．変形例＃４：１つの装置で実現する方法］
次に、図２６を参照しながら、第２実施形態の一変形例（変形例＃４）について説明する。図２６は、第２実施形態の一変形例（変形例＃４）に係る画像処理装置の機能について説明するための図である。なお、図２６に例示した画像処理装置３００は、変形例＃４に係る画像処理装置の一例である。また、画像処理装置３００の機能は、図３に示した端末装置１００のハードウェアと同じハードウェア資源を利用して実現可能である。
【０１８４】
これまで、端末装置１００が入力画像Ｐinから局所特徴量を抽出し、サーバ装置２００がランドマークを認識するシステムについて説明してきた。変形例＃４では、１台の画像処理装置３００で局所特徴量の抽出からランドマークの認識までの処理を実行するシステム（単独システム）を提案する。
【０１８５】
図２６に示すように、画像処理装置３００は、記憶部３０１、画像取得部３０２、特徴点設定部３０３、特徴量計算部３０４、距離計算部３０５、投票処理部３０６、及び判定部３０７を有する。
【０１８６】
なお、記憶部３０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。画像取得部３０２、特徴点設定部３０３、特徴量計算部３０４、距離計算部３０５、投票処理部３０６、及び判定部３０７の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【０１８７】
記憶部３０１には、画素ペア情報３０１ａ、及び参照画像情報３０１ｂが格納されている。画素ペア情報３０１ａは、上述した画素ペア情報１０１ａ、２０１ａと同じものである。参照画像情報３０１ｂは、上述した参照画像情報２０１ｂと同じものである。
【０１８８】
また、画像取得部３０２、特徴点設定部３０３、及び特徴量計算部３０４の機能は、上述した端末装置１００の画像取得部１０２、特徴点設定部１０３、及び特徴量計算部１０４の機能と同じである。但し、特徴量計算部３０４により計算された絶対値特徴量ＡＦin、及び局所特徴量ＬＦinは、記憶部３０１に格納される。
【０１８９】
また、距離計算部３０５、投票処理部３０６、及び判定部３０７の機能は、上述したサーバ装置２００の距離計算部２０３、投票処理部２０４、及び判定部２０５の機能と同じである。但し、距離計算部３０５は、絶対値特徴量ＡＦin、及び局所特徴量ＬＦinを記憶部３０１から取得する。また、判定部３０７は、入力画像Ｐinの中に含まれる参照画像Ｐrに関する参照画像情報３０１ｂ又はエラー情報をユーザに提供する。
【０１９０】
以上、変形例＃４について説明した。
以上説明したように、第２実施形態及びその変形例によれば、撮影状況や対象物の種類などにより輝度差が安定しない画像領域を含む場合でも、入力画像Ｐinの中に含まれる参照画像Ｐrの認識を精度良く行うことが可能になる。また、局所特徴量の抽出にかかる処理負担が小さく、小型の端末装置を利用したシステムの実現が可能である。さらに、入力画像ＰinそのものがネットワークＮＷ上に流れないため、個人情報が漏洩するリスクが抑制される。
【０１９１】
以上、第２実施形態について説明した。
ところで、上記説明においてはランドマークの認識機能を例に説明を進めてきたが、例えば、画像の類否判定を伴う任意のアプリケーションプログラムなどに応用することもできる。また、サーバ装置２００で顔認識を行うアプリケーションプログラムやＡＲ（Augmented Reality）を利用したアプリケーションプログラムなどにも応用できる。こうした応用例についても当然に第２実施形態の技術的範囲に属する。
【０１９２】
＜３．付記＞
以上説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）  画素のペアが複数設定された特徴領域を複数有する参照画像と、前記画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部と、
対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量とを用いて、前記対象画像の中に前記参照画像に類似する領域が含まれるか否かを判断する演算部と、
を有し、
前記演算部は、前記特徴量のうち前記輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる
画像処理装置。
【０１９３】
（付記２）  前記演算部は、前記対象画像の特徴領域に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量と、前記参照画像の特徴領域に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
付記１に記載の画像処理装置。
【０１９４】
（付記３）  前記演算部は、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
付記１に記載の画像処理装置。
【０１９５】
（付記４）  前記演算部は、
前記対象画像の特徴領域に関する特徴量と前記参照画像の特徴領域に関する特徴量とを比較し、一致する特徴量の数に応じて当該２つの特徴領域の類否を判定する際に、
比較した２つの特徴量について輝度差の大きさがいずれも前記条件を満たさない場合には当該２つの特徴量が一致すると決定し、比較した２つの特徴量について輝度差の大きさが一方だけ前記条件を満たさない場合には当該２つの特徴量が一致しないと決定して、決定の結果を判定に用いる
付記２に記載の画像処理装置。
【０１９６】
（付記５）  前記条件は、輝度差の大きさが、設定された閾値より大きいことである
付記１〜４のいずれかに記載の画像処理装置。
（付記６）  前記条件は、１つの特徴領域に関する複数の特徴量のうち輝度差の大きさが大きい順に設定された数だけ抽出された特徴量であることである
付記１〜４のいずれかに記載の画像処理装置。
【０１９７】
（付記７）  画素のペアが複数設定された特徴領域を複数有する参照画像と、前記画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部から前記参照画像及び前記特徴量を取得可能なコンピュータが、
対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量とを用いて、前記対象画像の中に前記参照画像に類似する領域が含まれるか否かを判断する処理を実行し、当該処理の実行時に、前記特徴量のうち前記輝度差の大きさについて設定された条件を満たす特徴量を判断に用いる
画像判断方法。
【０１９８】
（付記８）  画素のペアが複数設定された特徴領域を複数有する参照画像と、前記画素のペアについて計算された画素間の輝度差に基づく特徴量とを記憶する記憶部から前記参照画像及び前記特徴量を取得可能なコンピュータに、
対象画像が有する複数の特徴領域に設定した画素のペアについて、画素間の輝度差に基づく特徴量を計算し、前記対象画像の特徴領域に関する特徴量と、前記参照画像の特徴領域に関する特徴量とを用いて、前記対象画像の中に前記参照画像に類似する領域が含まれるか否かを判断する処理を実行させ、当該処理の実行時に、前記特徴量のうち前記輝度差の大きさについて設定された条件を満たす特徴量を判断に用いるように制御する
処理を実行させる、プログラム。
【０１９９】
（付記９）  前記コンピュータが、前記対象画像に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量と、前記参照画像に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
付記７に記載の画像判断方法。
【０２００】
（付記１０）  前記コンピュータが、前記対象画像に関する特徴量と、前記参照画像に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
付記７に記載の画像判断方法。
【０２０１】
（付記１１）  前記コンピュータが、
前記対象画像の特徴領域に関する特徴量と前記参照画像の特徴領域に関する特徴量とを比較し、一致する特徴量の数に応じて当該２つの特徴領域の類否を判定する際に、
比較した２つの特徴量について輝度差の大きさがいずれも前記条件を満たさない場合には当該２つの特徴量が一致すると決定し、比較した２つの特徴量について輝度差の大きさが一方だけ前記条件を満たさない場合には当該２つの特徴量が一致しないと決定して、決定の結果を判定に用いる
付記９に記載の画像判断方法。
【０２０２】
（付記１２）  前記条件は、輝度差の大きさが、設定された閾値より大きいことである
付記７、９〜１１に記載の画像判断方法。
（付記１３）  前記条件は、１つの特徴領域に関する複数の特徴量のうち輝度差の大きさが大きい順に設定された数だけ抽出された特徴量であることである
付記７、９〜１１に記載の画像判断方法。
【０２０３】
（付記１４）  前記演算部は、前記参照画像に関する特徴量と、前記対象画像に関する特徴量のうち前記輝度差の大きさが前記条件を満たす特徴量とを判断に用いる
付記１に記載の画像処理装置。
【０２０４】
（付記１５）  前記参照画像が有する特徴領域に設定された複数の画素のペアについて、計算された画素間の輝度差に基づく特徴量を表すビット値を並べたビット列をＱＸ1、当該輝度差の大きさが前記条件を満たすか否かを表すビット値を並べたビット列をＱＹ1と表現し、
前記対象画像が有する特徴領域に設定された複数の画素のペアについて、計算された画素間の輝度差に基づく特徴量を表すビット値を並べたビット列をＱＸ2、当該輝度差の大きさが前記条件を満たすか否かを表すビット値を並べたビット列をＱＹ2と表現し、
論理積をＡＮＤ、排他的論理和をＸＯＲと表現した場合に、
前記演算部は、ビット列｛（ＱＹ1  ＡＮＤ  ＱＹ2）ＡＮＤ（ＱＸ1  ＸＯＲ  ＱＸ2）｝に含まれる所定のビット値の数に基づいて特徴領域間の類否を判定する
付記２に記載の画像処理装置。
【０２０５】
（付記１６）  前記参照画像が有する特徴領域に設定された複数の画素のペアについて、計算された画素間の輝度差に基づく特徴量を表すビット値を並べたビット列をＱＸ1、当該輝度差の大きさが前記条件を満たすか否かを表すビット値を並べたビット列をＱＹ1と表現し、
前記対象画像が有する特徴領域に設定された複数の画素のペアについて、計算された画素間の輝度差に基づく特徴量を表すビット値を並べたビット列をＱＸ2と表現し、
論理積をＡＮＤ、排他的論理和をＸＯＲと表現した場合に、
前記演算部は、ビット列｛ＱＹ1  ＡＮＤ（ＱＸ1  ＸＯＲ  ＱＸ2）｝に含まれる所定のビット値の数に基づいて特徴領域間の類否を判定する
付記３に記載の画像処理装置。
【０２０６】
（付記１７）  前記参照画像が有する特徴領域に設定された複数の画素のペアについて、計算された画素間の輝度差に基づく特徴量を表すビット値を並べたビット列をＱＸ1、当該輝度差の大きさが前記条件を満たすか否かを表すビット値を並べたビット列をＱＹ1と表現し、
前記対象画像が有する特徴領域に設定された複数の画素のペアについて、計算された画素間の輝度差に基づく特徴量を表すビット値を並べたビット列をＱＸ2、当該輝度差の大きさが前記条件を満たすか否かを表すビット値を並べたビット列をＱＹ2と表現し、
論理積をＡＮＤ、論理和をＯＲ、排他的論理和をＸＯＲと表現した場合に、
前記演算部は、ビット列｛（ＱＹ1  ＸＯＲ  ＱＹ2）ＯＲ（（ＱＹ1  ＡＮＤ  ＱＹ2）  ＡＮＤ  （ＱＸ1  ＸＯＲ  ＱＸ2））｝に含まれる所定のビット値の数に基づいて特徴領域間の類否を判定する
付記４に記載の画像処理装置。
【０２０７】
（付記１８）  付記８に記載のプログラムが格納された、コンピュータにより読み取り可能な記録媒体。
【符号の説明】
【０２０８】
１０  画像処理装置
１１  記憶部
１２  演算部
Ａ1、Ａ2、Ｂ1、Ｂ2  特徴領域
ｘA1、ｘA2、ｘB1、ｘB2、ｙA1、ｙA2、ｙB1、ｙB2  画素
ｄA1、ｄA2、ｄB1、ｄB2  輝度差
Ｔｈ  閾値
Ｐ1  参照画像
Ｐ2  対象画像
【図１】
2015225353.tif 000005
【図２】
2015225353.tif 000006
【図３】
2015225353.tif 000007
【図４】
2015225353.tif 000008
【図５】
2015225353.tif 000009
【図６】
2015225353.tif 000010
【図７】
2015225353.tif 000011
【図８】
2015225353.tif 000012
【図９】
2015225353.tif 000013
【図１０】
2015225353.tif 000014
【図１１】
2015225353.tif 000015
【図１２】
2015225353.tif 000016
【図１３】
2015225353.tif 000017
【図１４】
2015225353.tif 000018
【図１５】
2015225353.tif 000019
【図１６】
2015225353.tif 000020
【図１７】
2015225353.tif 000021
【図１８】
2015225353.tif 000022
【図１９】
2015225353.tif 000023
【図２０】
2015225353.tif 000024
【図２１】
2015225353.tif 000025
【図２２】
2015225353.tif 000026
【図２３】
2015225353.tif 000027
【図２４】
2015225353.tif 000028
【図２５】
2015225353.tif 000029
【図２６】
2015225353.tif 000030