(57)【要約】【課題】入力画像の回転を考慮した画像間の類似度計算に用いる特徴量の抽出処理を高速化すること。【解決手段】演算部１１及び記憶部１２を有する情報処理装置１０が提供される。記憶部１２は、画像領域内に設定された複数の点である第１の点群Ｇ０と、画像領域内で第１の点群を回転して得られる第２の点群Ｇ１、Ｇ２、Ｇ３とを記憶する。演算部１１は、画像領域に対象画像Ｐｏを設定し、第１の点群Ｇ０を成す複数の点に対応する画素値の組及び第２の点群Ｇ１、Ｇ２、Ｇ３を成す複数の点に対応する画素値の組から第１の特徴量Ｃ１を計算する。【選択図】図１
2015036906.tif 000002
【特許請求の範囲】
【請求項１】
画像領域内に設定された複数の点である第１の点群と、前記画像領域内で前記第１の点群を回転して得られる第２の点群とを記憶する記憶部と、
前記画像領域に対象画像を設定し、前記第１の点群を成す複数の点に対応する画素値の組及び前記第２の点群を成す複数の点に対応する画素値の組から第１の特徴量を計算する演算部と
を有する、情報処理装置。
【請求項２】
前記画像領域に参照画像を設定した場合に前記第１の点群を成す複数の点に対応する画素値の組及び前記第２の点群を成す複数の点に対応する画素値の組から得られる第２の特徴量を保持し、前記第２の特徴量と前記第１の特徴量とに基づいて前記参照画像と前記対象画像との類似度を計算するサーバ装置に対して、前記演算部が、前記第１の特徴量を送信する
請求項１に記載の情報処理装置。
【請求項３】
前記第１の点群を成す複数の点が前記第２の点群を成す複数の点と一致しないように前記第１の点群を成す前記複数の点が設定される
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１及び第２の点群はそれぞれ、２つの点を組にした点ペアの集合であり、
前記第１及び第２の特徴量はそれぞれ、前記点ペアに対応する２つの前記画素値の関係を表すビット値を前記第１の点群に含まれる全ての点ペアについて並べた第１のビット列と、前記ビット値を前記第２の点群に含まれる全ての点ペアについて並べた第２のビット列と、を組み合わせた結合ビット列で表現され、
前記類似度は、前記第１の特徴量を表す結合ビット列と前記第２の特徴量を表す結合ビット列とに基づいて計算される
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第２の特徴量を表す結合ビット列の中で前記第１のビット列と前記第２のビット列とを置き換えた置換ビット列と、前記第１の特徴量を表す結合ビット列とに基づいて計算された前記類似度、又は、前記第１の特徴量を表す結合ビット列と前記第２の特徴量を表す結合ビット列とに基づいて計算された類似度のいずれかが、設定した閾値よりも大きい場合に、前記参照画像と前記対象画像とが類似であると判定される
請求項４に記載の情報処理装置。
【請求項６】
前記第２の点群は、互いに異なる角度で前記第１の点群を回転して得られる複数の部分点群を含み、
一の前記部分点群を成す複数の点が他の前記部分点群を成す複数の点と一致しないように前記第１の点群を成す前記複数の点が設定される
請求項３に記載の情報処理装置。
【請求項７】
前記第２の点群は、互いに異なる回転角度で前記第１の点群を回転して得られるＮ個（Ｎは２以上の自然数）の部分点群Ｇ１、…、ＧＮを含み、
前記第１及び第２の特徴量はそれぞれ、前記点ペアに対応する２つの前記画素値の関係を表すビット値を前記第１の点群に含まれる全ての点ペアについて並べたビット列Ｌ０と、前記部分点群Ｇｊ（ｊ＝１、…、Ｎ）に含まれる全ての点ペアについて前記ビット値を並べたビット列Ｌｊと、を組み合わせた結合ビット列で表現され、
前記第１の特徴量を表す結合ビット列と前記第２の特徴量を表す結合ビット列とに基づいて計算された前記類似度、又は、前記第２の特徴量を表す結合ビット列の中で前記ビット列Ｌｋ（ｋ＝０、…、Ｎ）の並び順を入れ替えた置換ビット列と前記第１の特徴量を表す結合ビット列とに基づいて計算された前記類似度のいずれかが、設定した閾値よりも大きい場合に、前記参照画像と前記対象画像とが類似であると判定される
請求項４に記載の情報処理装置。
【請求項８】
前記第１の特徴量を表す結合ビット列の中で前記第１のビット列と前記第２のビット列とを置き換えた置換ビット列と、前記第２の特徴量を表す結合ビット列とに基づいて計算された前記類似度、又は、前記第１の特徴量を表す結合ビット列と前記第２の特徴量を表す結合ビット列とに基づいて計算された類似度のいずれかが、設定した閾値よりも大きい場合に、前記参照画像と前記対象画像とが類似であると判定される
請求項５に記載の情報処理装置。
【請求項９】
画像領域内に設定された複数の点である第１の点群と、前記画像領域内で前記第１の点群を回転して得られる第２の点群とを記憶するメモリを有するコンピュータのプロセッサが、
前記画像領域に対象画像を設定し、前記第１の点群を成す複数の点に対応する画素値の組及び前記第２の点群を成す複数の点に対応する画素値の組から第１の特徴量を計算する
情報処理方法。
【請求項１０】
画像領域内に設定された複数の点である第１の点群と、前記画像領域内で前記第１の点群を回転して得られる第２の点群とを記憶するメモリを有するコンピュータに、
前記画像領域に対象画像を設定し、前記第１の点群を成す複数の点に対応する画素値の組及び前記第２の点群を成す複数の点に対応する画素値の組から第１の特徴量を計算する
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
最近では画像のマッチング技術が広く利用されている。例えば、顔認証や生体認証の分野では、可視光カメラや赤外線カメラで撮像した画像とテンプレート画像とをマッチングする技術が利用されている。より一般的な用途では、カメラ付き携帯端末やデジタルスチルカメラで撮像した画像とランドマークの画像とをマッチングする技術が利用されている。画像間のマッチングは、例えば、マッチングの対象となる入力画像及び参照画像から特徴点を抽出し、抽出した特徴点の特徴量を比較することで行われる。
【０００３】
例えば、入力画像から抽出された特徴点における特徴量（局所特徴量）と、参照画像から抽出した特徴点の局所特徴量とを比較して、入力画像の特徴点に対応する参照画像の特徴点（対応点）を探索する手法がある。対応点の探索手法には、例えば、ＳＩＦＴ（Scale-Invariant Feature Transform）、ＳＵＲＦ（Speeded Up Robust Features）、ＢＲＩＥＦ（Binary Robust Independent Elementary Features）などの特徴量が利用される。ＳＩＦＴやＳＵＲＦを利用して検出された対応点のリストは、画像間のマッチングや画像の重畳表示などに利用される。
【０００４】
ＳＩＦＴやＳＵＲＦを利用すれば高精度の対応点検出ができるが、局所特徴量のデータサイズが大きいため、探索時の計算負荷が高い。そこで、ＳＩＦＴ又はＳＵＲＦの利用を前提に、探索時の計算負荷を軽減するための手法として、入力画像及び参照画像の特徴量をバイナリコードに変換し、入力画像と参照画像との間でバイナリコード同士を比較する探索手法が提案されている。この探索手法を適用することで、入力画像に対応する参照画像の探索を低負荷で行うことができる。
【０００５】
一方、ＢＲＩＥＦは、少ない計算量で高速に抽出可能な局所特徴量である。そのため、計算能力の低い携帯端末などであっても画像から高速にＢＲＩＥＦを抽出することができる。但し、対象画像を回転した場合、回転前の対象画像から抽出したＢＲＩＥＦの値と回転後の対象画像から抽出したＢＲＩＥＦの値とは一般に一致しない。つまり、２つの同じ画像を用意し、一方を回転した上で両画像のＢＲＩＥＦを比較した場合、２つの画像は異なる画像であると認識されてしまうことがある。そのため、入力画像から参照画像を検索する用途で利用する場合、入力画像に対する回転の有無が検索結果に影響する。
【０００６】
入力画像の回転に対する対策として、例えば、予め設定した複数の回転角度で入力画像を回転しながら、入力画像と参照画像との間で特徴量のマッチングを行う第１の技術が提案されている。また、予め設定した複数の回転角度で入力画像を回転した複数の回転画像を生成し、生成した回転画像の特徴量と参照画像の特徴量とを比較して、入力画像と参照画像とのマッチングを行う第２の技術が提案されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】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
【特許文献】
【０００８】
【特許文献１】特開２０１２−１６００４７公報
【特許文献２】特開２００９−  ３２０２２公報
【特許文献３】特開２００５−２８５０３５公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記第１及び第２の技術のように、想定している回転角度の全てについて入力画像を回転し、回転角度毎に入力画像と参照画像とを比較すれば、入力画像と参照画像とのマッチング結果を得ることができる。例えば、０度、９０度、１８０度、２７０度の回転角度に対応した入力画像を用意し、それぞれを参照画像と比較すれば、入力画像の回転を考慮したマッチング結果を得ることができる。但し、この場合には一枚の入力画像と参照画像とを比較する処理に比べ、４倍の処理時間及び処理負担が生じる。そのため、高速に局所特徴量を抽出可能なＢＲＩＥＦのメリットが生かされない。もちろん、他の特徴量表現を利用して同じ処理を実行した場合にも処理時間及び処理負担の増大が生じる。
【００１０】
そこで、１つの側面によれば、本発明の目的は、入力画像の回転を考慮した画像間の類似度計算に用いる特徴量の抽出処理を高速化することが可能な、情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本開示の１つの側面によれば、画像領域内に設定された複数の点である第１の点群と、画像領域内で第１の点群を回転して得られる第２の点群とを記憶する記憶部と、画像領域に対象画像を設定し、第１の点群を成す複数の点に対応する画素値の組及び第２の点群を成す複数の点に対応する画素値の組から第１の特徴量を計算する演算部とを有する、情報処理装置が提供される。
【００１２】
また、本開示の他の１つの側面によれば、画像領域内に設定された複数の点である第１の点群と、画像領域内で第１の点群を回転して得られる第２の点群とを記憶するメモリを有するコンピュータのプロセッサが、画像領域に対象画像を設定し、第１の点群を成す複数の点に対応する画素値の組及び第２の点群を成す複数の点に対応する画素値の組から第１の特徴量を計算する情報処理方法が提供される。
【００１３】
また、本開示の他の１つの側面によれば、画像領域内に設定された複数の点である第１の点群と、画像領域内で第１の点群を回転して得られる第２の点群とを記憶するメモリを有するコンピュータに、画像領域に対象画像を設定し、第１の点群を成す複数の点に対応する画素値の組及び第２の点群を成す複数の点に対応する画素値の組から第１の特徴量を計算する処理を実行させる、プログラムが提供される。
【発明の効果】
【００１４】
以上説明したように本発明によれば、入力画像の回転を考慮した画像間の類似度計算に用いる特徴量の抽出処理を高速化することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るシステムの一例を示した図である。
【図２】第２実施形態に係るシステムの一例を示した図である。
【図３】第２実施形態に係る端末装置の機能を実現することが可能なハードウェアの一例を示した図である。
【図４】第２実施形態に係る端末装置が有する機能の一例を示したブロック図である。
【図５】第２実施形態に係る端末装置の記憶部が記憶する局所特徴点情報の一例を示した図である。
【図６】第２実施形態に係る端末装置の記憶部が記憶する局所特徴点情報の生成方法について説明するための第１の図である。
【図７】第２実施形態に係る端末装置の記憶部が記憶する局所特徴点情報の生成方法について説明するための第２の図である。
【図８】第２実施形態に係る大域特徴点を設定する方法について説明するための図である。
【図９】第２実施形態に係る局所領域を設定する方法について説明するための図である。
【図１０】第２実施形態に係る入力画像の局所特徴量を計算する方法について説明するための図である。
【図１１】第２実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。
【図１２】第２実施形態に係るサーバ装置の記憶部が記憶する参照画像情報の一例（参照画像管理テーブル）を示した図である。
【図１３】第２実施形態に係るサーバ装置の記憶部が記憶する参照画像情報の一例（画像特徴量管理テーブル）を示した図である。
【図１４】第２実施形態に係る参照画像の局所特徴量を計算する方法について説明するための図である。
【図１５】第２実施形態に係る対応特徴点を検出する方法について説明するための図である。
【図１６】第２実施形態に係る推定中心位置を計算する方法について説明するための図である。
【図１７】第２実施形態に係る投票処理及び参照画像の存在判定処理について説明するための図である。
【図１８】第２実施形態に係る局所特徴量を更新する方法について説明するための図である。
【図１９】第２実施形態に係る端末装置が実行する処理の流れについて説明するための第１の図である。
【図２０】第２実施形態に係る端末装置が実行する処理の流れについて説明するための第２の図である。
【図２１】第２実施形態に係るサーバ装置が実行する処理の流れについて説明するための第１の図である。
【図２２】第２実施形態に係るサーバ装置が実行する処理の流れについて説明するための第２の図である。
【図２３】第２実施形態の一変形例に係る情報処理装置が有する機能の一例を示したブロック図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１７】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。図１は、第１実施形態に係るシステムの一例を示した図である。
【００１８】
図１に示すように、第１実施形態に係るシステムは、情報処理装置１０、及びサーバ装置２０を含む。
（情報処理装置１０）
情報処理装置１０は、ネットワークＮＷを介してサーバ装置２０に接続されている。ネットワークＮＷは、有線ネットワークであってもよいし、無線ネットワークであってもよい。なお、処理＃１は、情報処理装置１０が実行する処理の一例である。また、処理＃２は、サーバ装置２０が実行する処理の一例である。
【００１９】
情報処理装置１０は、演算部１１及び記憶部１２を有する。演算部１１は、例えば、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。また、演算部１１は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。
【００２０】
記憶部１２は、例えば、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。演算部１１は、例えば、記憶部１２又は他のメモリに記憶されたプログラムを実行する。
【００２１】
（記憶部１２）
記憶部１２は、画像領域内に設定された複数の点である第１の点群Ｇ０と、画像領域内で第１の点群Ｇ０を回転して得られる第２の点群Ｇ１、Ｇ２、Ｇ３とを記憶する。画像領域は、例えば、設定されたサイズ（例えば、３２画素×３２画素）の矩形領域である。
【００２２】
第１の点群Ｇ０及び第２の点群Ｇ１、Ｇ２、Ｇ３は、画像領域内の位置を示す点の集合である。図１の中で、第１の点群Ｇ０に含まれる点は、ハッチング付きの丸で表現されている。第２の点群Ｇ１、Ｇ２、Ｇ３に含まれる点は、それぞれ白抜きの丸、ハッチング付きの矩形、白抜きの矩形で表現されている。
【００２３】
また、図１の中で、２つの点を結ぶ直線は、２つの点がペア（以下、点ペア）であることを示している。図１の例では、第１の点群Ｇ０及び第２の点群Ｇ１、Ｇ２、Ｇ３には、それぞれ１つの点ペアが含まれている。なお、第１の点群Ｇ０及び第２の点群Ｇ１、Ｇ２、Ｇ３にそれぞれ複数の点ペアが含まれていてもよい。
【００２４】
第２の点群Ｇ１は、第１の点群Ｇ０を左回りに９０度回転したものである。また、第２の点群Ｇ２は、第１の点群Ｇ０を左回りに１８０度回転したものである。第２の点群Ｇ３は、第１の点群Ｇ０を左回りに２７０度回転したものである。なお、第１の点群Ｇ０及び点群Ｇ１、Ｇ２、Ｇ３を組み合わせたものが点群ＧＡである。
【００２５】
（演算部１１）
演算部１１は、例えば、参照画像Ｐｒと比較する画像領域を入力画像Ｐｉｎから抽出し、抽出した画像領域を対象画像Ｐｏとする。例えば、演算部１１は、入力画像Ｐｉｎから、点群ＧＡを設定した画像領域と同じサイズの画像領域を入力画像Ｐｉｎから抽出し、抽出した画像領域を対象画像Ｐｏに設定する。演算部１１は、第１の点群Ｇ０を成す複数の点に対応する画素値（例えば、輝度値）の組及び第２の点群Ｇ１、Ｇ２、Ｇ３を成す複数の点に対応する画素値の組から第１の特徴量Ｃ１を計算する。
【００２６】
例えば、演算部１１は、点ペアに対応する２つの画素値の関係を表すビット値を、第１の点群Ｇ０に含まれる全ての点ペアについて並べた第１のビット列Ａを生成する。また、演算部１１は、点ペアに対応する２つの画素値の関係を表すビット値を、第２の点群Ｇ１、Ｇ２、Ｇ３に含まれる全ての点ペアについて並べた第２のビット列Ｂ、Ｃ、Ｄをそれぞれ生成する。なお、第２のビット列Ｂ、Ｃ、Ｄは、それぞれ第２の点群Ｇ１、Ｇ２、Ｇ３に対応する。
【００２７】
第１のビット列Ａ及び第２のビット列Ｂ、Ｃ、Ｄを生成した演算部１１は、第１のビット列Ａ及び第２のビット列Ｂ、Ｃ、Ｄを組み合わせた結合ビット列を生成し、生成した結合ビット列を第１の特徴量Ｃ１とする。演算部１１により計算された第１の特徴量Ｃ１は、ネットワークＮＷを介してサーバ装置２０に送信される。
【００２８】
（サーバ装置２０）
サーバ装置２０は、演算部２１及び記憶部２２を有する。演算部２１は、例えば、ＣＰＵやＤＳＰなどのプロセッサである。また、演算部２１は、ＡＳＩＣやＦＰＧＡなどの電子回路であってもよい。記憶部２２は、例えば、ＲＡＭなどの揮発性記憶装置、或いは、ＨＤＤやフラッシュメモリなどの不揮発性記憶装置である。演算部２１は、例えば、記憶部２２又は他のメモリに記憶されたプログラムを実行する。
【００２９】
（記憶部２２）
記憶部２２は、画像領域に参照画像Ｐｒを設定した場合に第１の点群Ｇ０を成す複数の点に対応する画素値の組、及び第２の点群Ｇ１、Ｇ２、Ｇ３を成す複数の点に対応する画素値の組から得られる第２の特徴量Ｃ２を記憶する。なお、第２の特徴量Ｃ２を得るために用いられる第１の点群Ｇ０及び第２の点群Ｇ１、Ｇ２、Ｇ３は、情報処理装置１０の記憶部１２が記憶する第１の点群Ｇ０及び第２の点群Ｇ１、Ｇ２、Ｇ３と同じである。
【００３０】
例えば、第２の特徴量Ｃ２は、点ペアに対応する２つの画素値の関係を表すビット値を、第１の点群Ｇ０に含まれる全ての点ペアについて並べた第１のビット列を含む。また、第２の特徴量Ｃ２は、点ペアに対応する２つの画素値の関係を表すビット値を、第２の点群Ｇ１、Ｇ２、Ｇ３に含まれる全ての点ペアについて並べた第２のビット列を含む。また、第２の特徴量Ｃ２は、第１のビット列と第２のビット列とを組み合わせた結合ビット列で表現される。
【００３１】
例えば、対象画像Ｐｏが参照画像Ｐｒを左回りに２７０度回転した画像と一致する場合、第１の点群Ｇ０に対応する第１のビット列がＤとなる。さらに、第２の点群Ｇ１に対応する第２のビット列がＡ、第２の点群Ｇ２に対応する第２のビット列がＢ、第２の点群Ｇ３に対応する第２のビット列がＣとなる。そして、第２の特徴量Ｃ２は、第１のビット列Ｄ、第２のビット列Ａ、Ｂ、Ｃを順に並べた結合ビット列で表現される。
【００３２】
また、図１には図示していないが、対象画像Ｐｏが参照画像Ｐｒを左回りに１８０度回転した画像と一致する場合、第１の点群Ｇ０に対応する第１のビット列はＣとなる。さらに、第２の点群Ｇ１に対応する第２のビット列がＤ、第２の点群Ｇ２に対応する第２のビット列がＡ、第２の点群Ｇ３に対応する第２のビット列がＢとなる。そして、第２の特徴量Ｃ２は、第１のビット列Ｃ、第２のビット列Ｄ、Ａ、Ｂを順に並べた結合ビット列で表現される。
【００３３】
また、図１には図示していないが、対象画像Ｐｏが参照画像Ｐｒを左回りに９０度回転した画像と一致する場合、第１の点群Ｇ０に対応する第１のビット列はＢとなる。さらに、第２の点群Ｇ１に対応する第２のビット列がＣ、第２の点群Ｇ２に対応する第２のビット列がＤ、第２の点群Ｇ３に対応する第２のビット列がＡとなる。そして、第２の特徴量Ｃ２は、第１のビット列Ｂ、第２のビット列Ｃ、Ｄ、Ａを順に並べた結合ビット列で表現される。
【００３４】
第１の特徴量Ｃ１を表すビット列の組を（Ａ，Ｂ，Ｃ，Ｄ）と表現した場合、第２の特徴量Ｃ２は、対象画像Ｐｏに対する参照画像Ｐｒの回転角度に応じてビット列Ａ、Ｂ、Ｃ、Ｄを入れ替えたものとなる。
【００３５】
（演算部２１）
演算部２１は、例えば、第２の特徴量Ｃ２を表す結合ビット列の中でビット列Ａ、Ｂ、Ｃ、Ｄを巡回置換した置換ビット列Ｃ２１、Ｃ２２、Ｃ２３、Ｃ２４を生成する。さらに、演算部２１は、第１の特徴量Ｃ１と、結合ビット列Ｃ２１及び置換ビット列Ｃ２２、Ｃ２３、Ｃ２４のそれぞれとを比較して対象画像Ｐｏと参照画像Ｐｒとの類否を判定する。例えば、いずれかのビット列間の距離が設定値よりも小さい場合に対象画像Ｐｏと参照画像Ｐｒとが類似であると判定される。この判定処理により、入力画像Ｐｉｎの回転を考慮した参照画像Ｐｒと対象画像Ｐｏとの類否判定が実現される。
【００３６】
以上、第１実施形態について説明した。第１実施形態によれば、第１の特徴量Ｃ１を抽出する際に対象画像Ｐｏを回転した回転画像を生成する処理、及び回転画像毎に特徴量を抽出する処理が発生しない。そのため、画像間の類否判定を行う際に入力画像Ｐｉｎの回転を考慮する場合でも第１の特徴量Ｃ１を抽出する処理の負担が増大せず、高速な処理が実現される。
【００３７】
＜２．第２実施形態＞
次に、第２実施形態について説明する。
［２−１．システム］
図２を参照しながら、第２実施形態に係るシステムについて説明する。図２は、第２実施形態に係るシステムの一例を示した図である。
【００３８】
図２に示すように、第２実施形態に係るシステムは、端末装置１００及びサーバ装置２００を含む。端末装置１００は、無線基地局ＢＳ及びネットワークＮＷを介してサーバ装置２００にアクセスすることができる。適用可能な無線基地局ＢＳとしては、例えば、移動体通信用の基地局や無線ＬＡＮ（Local Area Network）用の基地局などがある。適用可能なネットワークＮＷとしては、例えば、移動体通信の基幹回線網やＷＡＮ（Wide Area Network）などがある。
【００３９】
第２実施形態に係るシステムは、例えば、ユーザが端末装置１００を利用して撮像した撮像画像をサーバ装置２００で管理する写真管理サービスなどに適用できる。さらに、このシステムは、写真管理サービスに特化したものではなく、写真管理機能を有するＳＮＳ（Social Networking Service）などのソーシャルメディアサービスなどにも適用できる。携帯電話、スマートフォン、パーソナルコンピュータなどのデバイスは、端末装置１００の一例である。また、アプリケーションサーバやコンテンツマネジメントシステムなどは、サーバ装置２００の一例である。
【００４０】
ここでは一例として、ユーザが端末装置１００の撮像機能を利用して撮影した画像を管理する用途を想定して説明を進める。もちろん、第２実施形態に係るシステムを適用可能な用途はこれに限定されない。
【００４１】
多くの場合、画像の管理には、時間情報や位置情報が用いられる。例えば、撮影日時に応じて画像をグループ化する方法や、撮影時にＧＰＳ（Global Positioning System）を利用して取得した位置情報を利用し、同じ地域で撮影された画像をグループ化する方法などがある。この方法により画像をグループ化して整理しておけば、ユーザが記憶している撮影時間や撮影場所の情報をヒントに、後日、画像を容易に見つけ出すことが可能になる。また、イベントなどの情報をもとに画像を検索できるようにしたい場合、「家族旅行」や「結婚式」などのタグを画像に付し、タグ毎に画像を整理する方法が考えられる。
【００４２】
上記の方法はいずれも画像の管理に有用である。第２実施形態に係るシステムは、さらに画像管理の有用性を高めるため、画像から特徴物（以下、ランドマーク）を自動認識し、その認識結果を画像にタグ付けする仕組みを提供する。この仕組みがあれば、ランドマークを指定した画像検索や、ランドマークを基準とする画像の自動整理を実現することが可能になる。例えば、端末装置１００を利用して旅行先で撮影した画像から、サーバ装置２００がランドマーク（例えば、金閣寺や東京タワーなど）を自動認識し、認識結果を表すタグを画像に付与する。
【００４３】
ランドマークの認識は、ランドマークの画像（以下、参照画像）と類似する画像が入力画像に含まれるか否かを判定することで行われる。例えば、次のような処理が行われる。まず、サーバ装置２００は、入力画像及び参照画像から特徴点（以下、大域特徴点）を抽出する。次いで、サーバ装置２００は、抽出した大域特徴点の周辺領域から局所特徴量を抽出する。次いで、サーバ装置２００は、大域特徴点毎に抽出した局所特徴量の組を利用して入力画像と参照画像との間の類似度を計算する。類似度が高い場合、サーバ装置２００は、入力画像にランドマークが含まれると判定する。
【００４４】
局所特徴量としてはＳＩＦＴ、ＳＵＲＦ、ＢＲＩＥＦなどの特徴量が利用できるが、第２実施形態に係るシステムでは、抽出処理の高速性を考慮してＢＲＩＥＦを利用する例について考える。ＢＲＩＥＦについては、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に記載がある。ＢＲＩＥＦは抽出時の処理負担が小さいため、演算能力が限られる端末装置１００でも実用的な速度で抽出処理を実現することができる。
【００４５】
第２実施形態に係るシステムは、端末装置１００で入力画像から局所特徴量を抽出する処理を実行し、サーバ装置２００で参照画像と入力画像との類似度計算を実行する。なお、入力画像及び参照画像から抽出した局所特徴量があれば、両画像の類似度計算を行うことができる。そのため、端末装置１００からサーバ装置２００へと入力画像を送らず、局所特徴量だけを送る仕組みとすることができる。この仕組みによれば、個人情報である入力画像がネットワークＮＷなどを介して端末装置１００の外部へ漏れる心配がなくなるため、ユーザが安心してシステムを利用できるようになる。
【００４６】
以上、第２実施形態に係るシステムについて説明した。以下、このシステムに含まれる端末装置１００及びサーバ装置２００について、さらに説明する。
［２−２．ハードウェア］
図３を参照しながら、端末装置１００の機能を実現することが可能なハードウェアについて説明する。図３は、第２実施形態に係る端末装置の機能を実現することが可能なハードウェアの一例を示した図である。
【００４７】
端末装置１００が有する機能は、例えば、図３に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、端末装置１００が有する機能は、コンピュータプログラムを用いて図３に示すハードウェアを制御することにより実現される。
【００４８】
図３に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（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）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタ、カメラなどが用いられる。
【００５５】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００５６】
以上、端末装置１００の機能を実現することが可能なハードウェアの例について紹介した。なお、上記のハードウェアは、サーバ装置２００の機能を実現することも可能である。従って、サーバ装置２００のハードウェアについては説明を省略する。
【００５７】
［２−３．端末装置の機能］
次に、図４を参照しながら、端末装置１００が有する機能について説明する。図４は、第２実施形態に係る端末装置が有する機能の一例を示したブロック図である。なお、以下の説明において、適宜、図５〜図１０を参照する。
【００５８】
図４に示すように、端末装置１００は、記憶部１０１、画像取得部１０２、大域特徴点設定部１０３、局所特徴量計算部１０４、及び画像特徴量送信部１０５を有する。
なお、記憶部１０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。画像取得部１０２、大域特徴点設定部１０３、局所特徴量計算部１０４の機能は、上述したＣＰＵ９０２などを用いて実現できる。画像特徴量送信部１０５の機能は、上述した接続ポート９２４や通信部９２６などを用いて実現できる。
【００５９】
（局所特徴点情報について）
記憶部１０１は、局所特徴点情報１０１ａを記憶している。局所特徴点情報１０１ａは、予め設定したサイズの矩形領域に設定した局所特徴点の位置を表す位置情報を含む。例えば、矩形領域は、３２画素×３２画素のサイズに設定される。また、局所特徴点はそれぞれ他の局所特徴点と対応付けられており、２つの局所特徴点で１つの点ペアを成している。つまり、局所特徴点情報１０１ａには複数の点ペアに関する位置情報が含まれる。
【００６０】
局所特徴点情報１０１ａの一例を図５に示す。図５は、第２実施形態に係る端末装置の記憶部が記憶する局所特徴点情報の一例を示した図である。図５に示すように、局所特徴点情報１０１ａには、点ペアＬｋ（ｋ＝１、２、…）を成す２つの局所特徴点の座標（ｘ１，ｙ１）及び（ｘ２，ｙ２）を対応付けて記録されている。
【００６１】
また、点ペアＬｋ（ｋ＝１、２、…）には、それぞれ回転角度の情報が対応付けられる。この回転角度は、第２実施形態に係る局所特徴点の設定方法に関係する。そこで、局所特徴点の設定方法について、図６及び図７を参照しながら説明する。図６は、第２実施形態に係る端末装置の記憶部が記憶する局所特徴点情報の生成方法について説明するための第１の図である。図７は、第２実施形態に係る端末装置の記憶部が記憶する局所特徴点情報の生成方法について説明するための第２の図である。
【００６２】
図６（Ａ）に示すように、まず、矩形領域には、５組の点ペアＬ１、…、Ｌ５が設定される。但し、図６（Ａ）では、局所特徴点をそれぞれ黒丸で表現し、対応する２つの局所特徴点の関係を直線で表現している。なお、以下の説明において、最初に設定される点ペア（図６の例では点ペアＬ１、…、Ｌ５）を無回転ペアと呼ぶ場合がある。次に、矩形領域を左回りに９０度回転した場合に点ペアＬ１、…、Ｌ５が位置する点の集合である点ペアＬ６、…、Ｌ１０が設定される（図６（Ｂ）の白丸）。
【００６３】
次に、矩形領域を左回りに１８０度回転した場合に点ペアＬ１、…、Ｌ５が位置する点の集合である点ペアＬ１１、…、Ｌ１５が設定される（図６（Ｃ）の黒四角）。次に、矩形領域を左回りに２７０度回転した場合に点ペアＬ１、…、Ｌ５が位置する点の集合である点ペアＬ１６、…、Ｌ２０が設定される（図６（Ｄ）の白四角）。このようにして設定された点ペアＬ１、…、Ｌ２０の集合を表す情報が局所特徴点情報１０１ａである。
【００６４】
なお、回転に伴う局所特徴点の座標変換は次のように行う。例えば、入力画像の横幅をｗ、高さをｈ、変換前の座標を（Ｘａ，Ｙａ）とすると、９０度回転に対応する変換後の座標（Ｘｂ１，Ｙｂ１）は（ｈ−１−Ｙａ，Ｘａ）となる。また、１８０度回転に対応する変換後の座標（Ｘｂ２，Ｙｂ２）は（ｗ−１−Ｘａ，ｈ−１−Ｙａ）となる。また、２７０度回転に対応する変換後の座標（Ｘｂ３，Ｙｂ３）は（Ｙａ，ｗ−１−Ｘａ）となる。これらの変換則を利用すれば、無回転ペアの局所特徴点座標から、各点ペアの局所特徴点座標を計算することができる。
【００６５】
局所特徴点情報１０１ａに含まれる回転角度の情報は、点ペアを設定する際に図６（Ａ）矩形領域を回転した角度を表している。なお、図６の例では、説明の都合上、点ペアＬ１、…、Ｌ２０しか示していないが、より多くの点ペアが設定されてもよい。例えば、１つの回転角度について６４組の点ペアが設定される。
【００６６】
また、無回転ペアを設定する際、図７に示すＮＧ条件が考慮される。例えば、図７に示すように無回転ペアＬ１、Ｌ２を設定すると、矩形領域の９０度回転に対応する点ペアＬ３、Ｌ４のうち、点ペアＬ３が無回転ペアＬ２と一致する。従って、点ペアＬ１、…、Ｌ４を組み合わせた場合、点ペアの種類が実質的に３通り（Ｌ１、Ｌ２（Ｌ３）、Ｌ４）になってしまう。
【００６７】
後述するように、点ペアの数だけ局所特徴量が計算され、その局所特徴量を利用して画像間の類似度が計算される。そのため、点ペアの種類が減ると、考慮される局所特徴量の数が実質的に減少することとなり、類似度計算の精度が低下する。このような理由に鑑み、各回転角度に対応する点ペアが相互に一致しないように無回転ペアの組み合わせが設定される。
【００６８】
（大域特徴点の設定について）
再び図４を参照する。画像取得部１０２は、ランドマークの認識対象となる画像（以下、入力画像Ｐｉｎ）を取得する。画像取得部１０２により取得された入力画像Ｐｉｎは、記憶部１０１に格納される。記憶部１０１に格納された入力画像Ｐｉｎは、大域特徴点設定部１０３により読み出される。
【００６９】
大域特徴点設定部１０３は、入力画像Ｐｉｎに大域特徴点Ｗｆ（ｆ＝１、２、…）を設定する。例えば、大域特徴点設定部１０３は、図８に示すように、等間隔で特徴点を抽出するDense Samplingに基づいて入力画像Ｐｉｎに大域特徴点Ｗｆ（ｆ＝１、２、…）を設定する。なお、図８は、第２実施形態に係る大域特徴点を設定する方法について説明するための図である。大域特徴点Ｗｆ（ｆ＝１、２、…）の設定方法としては、例えば、コーナーらしさが大きい点を特徴点として抽出するＦＡＳＴ（Features from Accelerated Segment Test）に基づく方法なども考えられる。大域特徴点設定部１０３により設定された大域特徴点Ｗｆ（ｆ＝１、２、…）は、局所特徴量計算部１０４に入力される。
【００７０】
（局所特徴量の計算について）
再び図４を参照する。局所特徴量計算部１０４は、局所特徴点情報１０１ａを利用して局所特徴量を計算する。まず、局所特徴量計算部１０４は、図９に示すように、大域特徴点Ｗｆの周辺に予め設定したサイズの矩形領域（以下、局所領域Ａｆ）を設定する。図９は、第２実施形態に係る局所領域を設定する方法について説明するための図である。局所領域Ａｆのサイズは、例えば、局所特徴点を設定した矩形領域と同じサイズ（例えば、３２画素×３２画素）に設定される。また、局所領域Ａｆの中心が大域特徴点Ｗｆに一致するように局所領域Ａｆが設定されてもよい。
【００７１】
局所領域Ａｆを設定した局所特徴量計算部１０４は、図１０に示すように、局所特徴点情報１０１ａを参照し、局所領域Ａｆの画像（入力画像Ｐｉｎの一部）から局所特徴点が位置する画素の輝度値を抽出する。図１０は、第２実施形態に係る入力画像の局所特徴量を計算する方法について説明するための図である。次いで、局所特徴量計算部１０４は、点ペアＬｋ（ｋ＝１、２、…）毎に輝度値の差分を計算する。次いで、局所特徴量計算部１０４は、計算した差分の符号が正値か負値かを判定し、正値の場合にはビット値１を出力し、負値の場合にはビット値０を出力する。
【００７２】
例えば、局所特徴量計算部１０４は、点ペアＬ１、Ｌ２、…の順に上記差分の符号に応じたビット値を決定し、決定したビット値を並べたビット列を局所特徴量として出力する。０度、９０度、１８０度、２７０度の回転角度について、それぞれ６４組の点ペア（Ｌ１、…、Ｌ６４）、（Ｌ６５、…、Ｌ１２８）、（Ｌ１２９、…、Ｌ１９２）、（Ｌ１９３、…、Ｌ２５６）が設定されている場合、２５６ビットのビット列が出力される。局所特徴量計算部１０４は、全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量を計算し、計算結果を画像特徴量送信部１０５に入力する。
【００７３】
（画像特徴量の送信について）
再び図４を参照する。画像特徴量送信部１０５は、全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量計算部１０４により計算された局所特徴量の集合（以下、画像特徴量）をサーバ装置２００に送信する。
【００７４】
以上、端末装置１００が有する機能について説明した。
［２−４．サーバ装置の機能］
次に、図１１を参照しながら、サーバ装置２００が有する機能について説明する。図１１は、第２実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。なお、以下の説明において、適宜、図１２〜図１８を参照する。
【００７５】
図１１に示すように、サーバ装置２００は、記憶部２０１、画像特徴量受信部２０２、及び判定部２０３を有する。なお、記憶部２０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。画像特徴量受信部２０２の機能は、上述した接続ポート９２４や通信部９２６などを用いて実現できる。判定部２０３の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００７６】
（局所特徴点情報及び参照画像情報について）
記憶部２０１は、局所特徴点情報２０１ａ及び参照画像情報２０１ｂを記憶している。また、記憶部２０１は、ランドマークの認識に用いる参照画像Ｐｒを記憶している。参照画像Ｐｒとしては、例えば、背景に余計なものが映り込まないように撮影されたランドマークの画像が用いられる。局所特徴点情報２０１ａは、端末装置１００の記憶部１０１が記憶している局所特徴点情報１０１ａと同じである。参照画像情報２０１ｂは、参照画像管理テーブル及び画像特徴量管理テーブルを含む。
【００７７】
図１２〜図１４を参照しながら、参照画像管理テーブル及び画像特徴量管理テーブルについて説明する。なお、図１２は、第２実施形態に係るサーバ装置の記憶部が記憶する参照画像情報の一例（参照画像管理テーブル）を示した図である。図１３は、第２実施形態に係るサーバ装置の記憶部が記憶する参照画像情報の一例（画像特徴量管理テーブル）を示した図である。図１４は、第２実施形態に係る参照画像の局所特徴量を計算する方法について説明するための図である。
【００７８】
図１２に示すように、参照画像管理テーブルは、ランドマーク名と参照画像Ｐｒの画像データへのリンク（以下、画像データリンク）とを対応付けるテーブルである。参照画像管理テーブルのレコードは、識別番号ＩＤ＃１により識別される。例えば、ＩＤ＃１が００１のレコードには、ランドマーク名「金閣寺」及び画像データ「００１００１．ｊｐｇ」に対する画像データリンクが対応付けられている。さらに、ＩＤ＃１は、図１３に示すように、参照画像Ｐｒ毎に設けられる画像特徴量管理テーブルに対応付けられている。
【００７９】
画像特徴量管理テーブルは、参照画像Ｐｒに設定された大域特徴点の座標と、参照画像Ｐｒの大域特徴点毎に計算された局所特徴量とを対応付けるテーブルである。なお、参照画像Ｐｒに対する大域特徴点の設定方法及び局所特徴量の計算方法は、既に説明した入力画像Ｐｉｎに対する大域特徴点Ｗｆの設定方法及び局所特徴量の計算方法と同じである。例えば、図１４に示すように、dense samplingなどにより参照画像Ｐｒに大域特徴点が設定され、大域特徴点毎に設定された局所領域について局所特徴量が計算される。
【００８０】
（類似度計算について）
再び図１１を参照する。画像特徴量受信部２０２は、端末装置１００から送信された画像特徴量を受信する。画像特徴量受信部２０２により受信された画像特徴量は、判定部２０３に入力される。判定部２０３は、入力画像Ｐｉｎの画像特徴量と、参照画像Ｐｒの画像特徴量（画像特徴量管理テーブルに記載された局所特徴量の集合）とを利用して、入力画像Ｐｉｎの中に参照画像Ｐｒが存在するか否かを判定する。判定部２０３は、類似度計算部２３１及び投票処理部２３２を含む。
【００８１】
類似度計算部２３１は、図１５に示すように、入力画像Ｐｉｎの大域特徴点Ｗｆに対応する局所領域Ａｆと類似する参照画像Ｐｒ中の局所領域を検出し、入力画像Ｐｉｎの大域特徴点Ｗｆに対応する参照画像Ｐｒの大域特徴点（以下、対応特徴点）を決定する。なお、図１５は、第２実施形態に係る対応特徴点を検出する方法について説明するための図である。まず、類似度計算部２３１は、入力画像Ｐｉｎの大域特徴点Ｗｆを選択する。次いで、類似度計算部２３１は、選択した大域特徴点Ｗｆに対応する局所特徴量を画像特徴量から抽出する。
【００８２】
類似度計算部２３１は、画像特徴量管理テーブルを参照し、画像特徴量から抽出した局所特徴量との間の距離（例えば、ハミング距離）が最も小さい局所特徴量に対応するレコードを抽出する。例えば、局所特徴量が２５６ビットのビット列で表現されている場合、局所特徴量間のハミング距離は異なるビットの数であるから、最小値が０、最大値が２５６の数で表現される。
【００８３】
類似度計算部２３１は、例えば、抽出したレコードに対応するハミング距離と予め設定した閾値とを比較し、ハミング距離が閾値よりも小さい場合に、画像特徴量管理テーブルから抽出したレコードに対応する参照画像Ｐｒの大域特徴点を対応特徴点に決定する。一方、ハミング距離が閾値よりも大きい場合、類似度計算部２３１は、対応特徴点が存在しないと判定する。同様に、類似度計算部２３１は、入力画像Ｐｉｎに設定された全ての大域特徴点Ｗｆについて参照画像Ｐｒの対応特徴点を決定に関する上記処理を実行する。
【００８４】
（投票処理について）
類似度計算部２３１により決定された入力画像Ｐｉｎの大域特徴点Ｗｆと参照画像Ｐｒの対応特徴点との組は、投票処理部２３２に通知される。投票処理部２３２は、図１６に示すように、入力画像Ｐｉｎの大域特徴点Ｗｆと参照画像Ｐｒの対応特徴点とが一致するように参照画像Ｐｒを入力画像Ｐｉｎに重ねた場合の入力画像Ｐｉｎにおける参照画像Ｐｒの中心位置（Ｘｖ，Ｙｖ）を計算する。図１６は、第２実施形態に係る推定中心位置を計算する方法について説明するための図である。
【００８５】
例えば、入力画像Ｐｉｎの横幅をｗｉ、高さをｈｉ、参照画像Ｐｒの横幅をｗｒ、高さをｈｒと表記した場合（図１５を参照）、入力画像Ｐｉｎにおける参照画像Ｐｒの中心位置（Ｘｖ，Ｙｖ）は、下記の式（１）及び式（２）により計算される。但し、入力画像Ｐｉｎにおける大域特徴点Ｗｆの位置座標を（Ｘｉ，Ｙｉ）、参照画像Ｐｒにおける対応特徴点の位置座標を（Ｘｒ，Ｙｒ）と表記している。同様にして、投票処理部２３２は、全ての対応特徴点について参照画像Ｐｒの中心位置を計算する。
【００８６】
【数１】
2015036906.tif 000003
【００８７】
【数２】
2015036906.tif 000004
【００８８】
次いで、投票処理部２３２は、計算した参照画像Ｐｒの中心位置に基づく統計的手法により入力画像Ｐｉｎの中に参照画像Ｐｒが存在するか否かを判定する。投票処理部２３２は、図１７に示すように、入力画像Ｐｉｎを複数の分割領域に分ける投票用の空間（以下、投票マップ）を用意する。なお、図１７は、第２実施形態に係る投票処理及び参照画像の存在判定処理について説明するための図である。分割領域は、例えば、１０画素×１０画素の矩形領域に設定される。
【００８９】
投票処理部２３２は、計算した参照画像Ｐｒの中心位置が投票マップのどの領域に位置するかを判定する。投票マップの各領域にはカウンタが設定されており、投票処理部２３２は、参照画像Ｐｒの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップする。投票処理部２３２は、全ての対応特徴点に対応する参照画像Ｐｒの中心位置について投票マップへのカウント処理を実行する。カウント処理が完了すると、投票処理部２３２は、カウント値が最大の領域を投票マップから抽出し、抽出した領域に対応するカウント値と予め設定した閾値とを比較する。
【００９０】
同じ対象物を撮影した画像同士ではカウントが一カ所に集中し、異なる対象物を撮影した画像同士ではカウントが広く分散する傾向がある。そのため、カウント値が閾値よりも大きい場合、投票処理部２３２は、入力画像Ｐｉｎ中に参照画像Ｐｒに対応するランドマークが存在すると判定する。一方、カウント値が閾値よりも小さい場合、投票処理部２３２は、入力画像Ｐｉｎ中に参照画像Ｐｒに対応するランドマークが存在しないと判定する。なお、カウント値を全カウント数（対応特徴点の数）で割った正規化値を利用して閾値判定を行うように変形してもよい。
【００９１】
上記のように、投票マップを利用して判定を行うことで、入力画像Ｐｉｎと参照画像Ｐｒとの間に、ある程度の差異があっても、ロバストな判定を行うことができる。
（回転への対応（局所特徴量の更新）について）
さて、入力画像Ｐｉｎ中にランドマークが存在すると判定した場合、判定部２０３は、その判定結果を出力する。一方、入力画像Ｐｉｎ中にランドマークが存在しないと判定した場合、判定部２０３は、図１８に示す方法で局所特徴量を更新し、再び上記の類似度計算及び投票に関する処理を実行する。図１８は、第２実施形態に係る局所特徴量を更新する方法について説明するための図である。
【００９２】
なお、判定部２０３は、端末装置１００から受信した画像特徴量に含まれる局所特徴量を更新してもよいし、画像特徴量管理テーブルの局所特徴量を更新してもよい。また、画像特徴量管理テーブルに更新後の局所特徴量を記録しておき、画像特徴量管理テーブルから更新後の局所特徴量を読み出して利用する方法も考えられる。但し、ここでは、端末装置１００から受信した画像特徴量に含まれる局所特徴量を更新する方法について説明する。
【００９３】
画像特徴量には、入力画像Ｐｉｎの大域特徴点Ｗｆ毎に計算された局所特徴量が含まれる。また、局所特徴量は、０度、９０度、１８０度、２７０度の回転角度にそれぞれ対応するビット列を並べた結合ビット列で表現される。図１８の例では、０度に対応するビット列がＡ、９０度に対応するビット列がＢ、１８０度に対応するビット列がＣ、２７０度に対応するビット列がＤで表され、局所特徴量は、これらを順に並べた結合ビット列（Ａ、Ｂ、Ｃ、Ｄ）で表現されている。
【００９４】
ここで、結合ビット列（Ａ、Ｂ、Ｃ、Ｄ）を巡回置換して得られる３つの置換ビット列（Ｄ、Ａ、Ｂ、Ｃ）、（Ｃ、Ｄ、Ａ、Ｂ）、（Ｂ、Ｃ、Ｄ、Ａ）について図１８の設定を例に考える。点ペアＬ１、Ｌ２、…、Ｌ２０の設定ルールから、置換ビット列（Ｄ、Ａ、Ｂ、Ｃ）は、入力画像Ｐｉｎを左向きに９０度回転した画像から得られる局所特徴量に一致する。また、置換ビット列（Ｃ、Ｄ、Ａ、Ｂ）は、入力画像Ｐｉｎを左向きに１８０度回転した画像から得られる局所特徴量に一致する。さらに、置換ビット列（Ｂ、Ｃ、Ｄ、Ａ）は、入力画像Ｐｉｎを左向きに２７０度回転した画像から得られる局所特徴量に一致する。
【００９５】
つまり、３つの置換ビット列（Ｄ、Ａ、Ｂ、Ｃ）、（Ｃ、Ｄ、Ａ、Ｂ）、（Ｂ、Ｃ、Ｄ、Ａ）を利用して上記の類似度計算及び投票に関する処理を実行すれば、入力画像Ｐｉｎを９０度、１８０度、２７０度回転した画像に対する判定を行うことができる。そこで、判定部２０３は、図１８の例と同様に、局所特徴量のビット列を巡回置換する方法で順次更新し、更新後の局所特徴量を利用して入力画像Ｐｉｎにランドマークが存在するか否かを判定する。そして、いずれかの局所特徴量についてランドマークの存在が認識できた場合、判定部２０３は、入力画像Ｐｉｎにランドマークが存在すると判定する。
【００９６】
（判定結果の利用について）
判定部２０３による判定結果は、例えば、端末装置１００に送信される。判定結果として、例えば、入力画像Ｐｉｎに含まれると判定されたランドマークの名称や、参照画像管理テーブルのＩＤなどが端末装置１００に送信される。また、複数のランドマークが存在すると判定された場合、判定部２０３は、それら全てのランドマークの情報を端末装置１００に送信してもよいし、投票マップのカウント値が最大となるランドマークの情報を端末装置１００に送信してもよい。
【００９７】
なお、判定結果の利用方法はこれに限定されず、アプリケーションプログラムの仕様などに応じて変形可能である。例えば、ランドマーク毎にタグ情報を用意しておき、判定結果に応じてランドマークに対応するタグ情報が端末装置１００に送信され、端末装置１００によりタグ情報が入力画像Ｐｉｎに自動付与されるようにしてもよい。
【００９８】
以上、サーバ装置２００が有する機能について説明した。
［２−５．処理の流れ］
次に、図１９〜図２２を参照しながら、端末装置１００及びサーバ装置２００が実行する処理の流れについて説明する。
【００９９】
（端末装置が実行する処理について）
図１９及び図２０を参照しながら、端末装置１００が実行する処理の流れについて説明する。なお、図１９は、第２実施形態に係る端末装置が実行する処理の流れについて説明するための第１の図である。図２０は、第２実施形態に係る端末装置が実行する処理の流れについて説明するための第２の図である。
【０１００】
（Ｓ１０１）画像取得部１０２は、ランドマークの認識対象となる画像（入力画像Ｐｉｎ）を取得する。画像取得部１０２により取得された入力画像Ｐｉｎは、記憶部１０１に格納される。記憶部１０１に格納された入力画像Ｐｉｎは、大域特徴点設定部１０３により読み出される。
【０１０１】
（Ｓ１０２）大域特徴点設定部１０３は、入力画像Ｐｉｎに大域特徴点Ｗｆ（ｆ＝１、２、…）を設定する。例えば、大域特徴点設定部１０３は、図８に示すように、等間隔で特徴点を抽出するDense Samplingに基づいて入力画像Ｐｉｎに大域特徴点Ｗｆ（ｆ＝１、２、…）を設定する。大域特徴点Ｗｆ（ｆ＝１、２、…）の設定方法としては、例えば、コーナーらしさが大きい点を特徴点として抽出するＦＡＳＴに基づく方法なども考えられる。大域特徴点設定部１０３により設定された大域特徴点Ｗｆ（ｆ＝１、２、…）は、局所特徴量計算部１０４に入力される。
【０１０２】
（Ｓ１０３）局所特徴量計算部１０４は、大域特徴点Ｗｆ（ｆ＝１、２、…）の中から１つの大域特徴点Ｗｆを選択する。なお、大域特徴点Ｗｆの選択順序は予め設定されている。例えば、局所特徴量計算部１０４は、入力画像Ｐｉｎの左上側に位置する大域特徴点Ｗ１から順に、大域特徴点Ｗ２、Ｗ３、Ｗ４、…と選択する。
【０１０３】
（Ｓ１０４）局所特徴量計算部１０４は、選択した大域特徴点Ｗｆについて、記憶部１０１が記憶している局所特徴点情報１０１ａを利用して局所特徴量を計算する。なお、局所特徴量の計算処理については、図２０を参照しながら後述する。局所特徴量計算部１０４により計算された局所特徴量は、画像特徴量送信部１０５に入力される。
【０１０４】
（Ｓ１０５）局所特徴量計算部１０４は、全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量を計算したか否かを判定する。全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量の計算が完了した場合、処理はＳ１０６に進む。一方、全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量の計算が完了していない場合、処理はＳ１０３に進む。
【０１０５】
（Ｓ１０６）画像特徴量送信部１０５は、全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量計算部１０４により計算された局所特徴量の集合（画像特徴量）をサーバ装置２００に送信する。Ｓ１０６の処理が完了すると、図１９に示した一連の処理は終了する。
【０１０６】
ここで、Ｓ１０４の処理について、さらに説明する。
（Ｓ１１１）局所特徴量計算部１０４は、図９に示すように、大域特徴点Ｗｆの周辺に予め設定したサイズの矩形領域（局所領域Ａｆ）を設定する。局所領域Ａｆのサイズは、例えば、局所特徴点を設定した矩形領域と同じサイズ（例えば、３２画素×３２画素）に設定される。また、局所領域Ａｆの中心が大域特徴点Ｗｆに一致するように局所領域Ａｆが設定されてもよい。
【０１０７】
（Ｓ１１２）局所特徴量計算部１０４は、局所特徴点の組（点ペアＬ１、Ｌ２、…）の１つを選択する。なお、点ペアＬｋの選択順序は予め設定されている。例えば、局所特徴量計算部１０４は、点ペアＬ１から順に、点ペアＬ２、Ｌ３、Ｌ４、…と選択する。
【０１０８】
（Ｓ１１３）局所特徴量計算部１０４は、図１０に示すように、局所特徴点情報１０１ａを参照し、局所領域Ａｆの画像（入力画像Ｐｉｎの一部）から、選択した点ペアＬｋの局所特徴点が位置する画素の輝度値を抽出する。そして、局所特徴量計算部１０４は、抽出した輝度値の差分を計算する。
【０１０９】
（Ｓ１１４）局所特徴量計算部１０４は、計算した差分の符号が正値か負値かを判定し、正値の場合にはビット値を１に設定し、負値の場合にはビット値を０に設定する。
（Ｓ１１５）局所特徴量計算部１０４は、全ての点ペアＬｋ（ｋ＝１、２、…）についてビット値を設定したか否かを判定する。全ての点ペアＬｋ（ｋ＝１、２、…）についてビット値が設定されている場合、処理はＳ１１６に進む。一方、全ての点ペアＬｋ（ｋ＝１、２、…）についてビット値が設定されていない場合、処理はＳ１１２に進む。
【０１１０】
（Ｓ１１６）局所特徴量計算部１０４は、点ペアＬ１、Ｌ２、…の順に上記差分の符号に応じたビット値を並べて、ビット列を生成する。例えば、局所特徴量計算部１０４は、０度、９０度、１８０度、２７０度の回転角度について、回転角度毎にビット列を生成する。例えば、それぞれ６４組の点ペア（Ｌ１、…、Ｌ６４）、（Ｌ６５、…、Ｌ１２８）、（Ｌ１２９、…、Ｌ１９２）、（Ｌ１９３、…、Ｌ２５６）が設定されている場合、６４ビットのビット列が４つ生成される。
【０１１１】
（Ｓ１１７）局所特徴量計算部１０４は、回転角度毎に生成したビット値を順に並べたビット列を局所特徴量に設定する。例えば、０度、９０度、１８０度、２７０度の回転角度について、それぞれ６４組の点ペア（Ｌ１、…、Ｌ６４）、（Ｌ６５、…、Ｌ１２８）、（Ｌ１２９、…、Ｌ１９２）、（Ｌ１９３、…、Ｌ２５６）が設定されている場合、２５６ビットのビット列が局所特徴量に設定される。Ｓ１１７の処理が完了すると、図２０に示した一連の処理は終了する。
【０１１２】
以上、端末装置１００が実行する処理の流れについて説明した。
（サーバ装置が実行する処理について）
次に、図２１及び図２２を参照しながら、サーバ装置２００が実行する処理の流れについて説明する。なお、図２１は、第２実施形態に係るサーバ装置が実行する処理の流れについて説明するための第１の図である。図２２は、第２実施形態に係るサーバ装置が実行する処理の流れについて説明するための第２の図である。
【０１１３】
（Ｓ２０１）画像特徴量受信部２０２は、端末装置１００から送信された画像特徴量を受信する。画像特徴量受信部２０２により受信された画像特徴量は、判定部２０３に入力される。
【０１１４】
（Ｓ２０２）判定部２０３は、入力画像Ｐｉｎに設定された大域特徴点Ｗｆ（ｆ＝１、２、…）の中から１つの大域特徴点Ｗｆを選択する。なお、大域特徴点Ｗｆの選択順序は予め設定されている。例えば、判定部２０３は、入力画像Ｐｉｎの左上側に位置する大域特徴点Ｗ１から順に、大域特徴点Ｗ２、Ｗ３、Ｗ４、…と選択する。
【０１１５】
（Ｓ２０３）類似度計算部２３１は、選択した大域特徴点Ｗｆに対応する局所特徴量を画像特徴量から抽出する。類似度計算部２３１は、画像特徴量管理テーブルに記載の局所特徴量と画像特徴量から抽出した局所特徴量との間の距離（例えば、ハミング距離）を計算する。例えば、この距離の逆数が類似度である。類似度計算部２３１は、画像特徴量管理テーブルに記載の全ての局所特徴量（つまり、参照画像Ｐｒに設定した各大域特徴点に対応する局所特徴量）について類似度を計算する。
【０１１６】
（Ｓ２０４）類似度計算部２３１は、計算した類似度が最大（距離が最小）となる局所特徴量が記載された画像特徴量管理テーブルのレコードを選択する。つまり、類似度計算部２３１は、Ｓ２０２で選択した入力画像Ｐｉｎの大域特徴点Ｗｆとの間の類似度が最大となる参照画像Ｐｒの大域特徴点（対応特徴点）を選択する。類似度計算部２３１により決定された入力画像Ｐｉｎの大域特徴点Ｗｆと参照画像Ｐｒの対応特徴点との組は、投票処理部２３２に通知される。
【０１１７】
（Ｓ２０５）投票処理部２３２は、図１６に示すように、入力画像Ｐｉｎの大域特徴点Ｗｆと参照画像Ｐｒの対応特徴点とが一致するように参照画像Ｐｒを入力画像Ｐｉｎに重ねた場合の入力画像Ｐｉｎにおける参照画像Ｐｒの中心位置（Ｘｖ，Ｙｖ）を計算する。例えば、入力画像Ｐｉｎの横幅をｗｉ、高さをｈｉ、参照画像Ｐｒの横幅をｗｒ、高さをｈｒと表記した場合（図１５を参照）、入力画像Ｐｉｎにおける参照画像Ｐｒの中心位置（Ｘｖ，Ｙｖ）は、上記の式（１）及び式（２）により計算される。但し、入力画像Ｐｉｎにおける大域特徴点Ｗｆの位置座標を（Ｘｉ，Ｙｉ）、参照画像Ｐｒにおける対応特徴点の位置座標を（Ｘｒ，Ｙｒ）と表記している。
【０１１８】
（Ｓ２０６）投票処理部２３２は、図１７に示すように、入力画像Ｐｉｎを複数の分割領域に分ける投票用の空間（投票マップ）を用意する。なお、分割領域は、例えば、１０画素×１０画素の矩形領域に設定される。投票処理部２３２は、計算した参照画像Ｐｒの中心位置が投票マップのどの領域に位置するかを判定する。投票マップの各領域にはカウンタが設定されており、投票処理部２３２は、参照画像Ｐｒの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップ（投票）する。
【０１１９】
（Ｓ２０７）判定部２０３は、入力画像Ｐｉｎに設定された全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について投票処理を完了したか否かを判定する。入力画像Ｐｉｎに設定された全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について投票処理が完了している場合、処理はＳ２０８（図２２を参照）に進む。一方、入力画像Ｐｉｎに設定された全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について投票処理が完了していない場合、処理はＳ２０２に進む。
【０１２０】
（Ｓ２０８）投票処理部２３２は、カウント値が最大の領域を投票マップから抽出し、抽出した領域に対応するカウント値（最大投票数）と予め設定した閾値とを比較する。最大投票数が予め設定した閾値を超えた場合、処理はＳ２１２に進む。一方、最大投票数が予め設定した閾値を超えない場合、処理はＳ２０９に進む。
【０１２１】
（Ｓ２０９）判定部２０３は、考慮する回転角度（例えば、０度、９０度、１８０度、２７０度）の全てについて対応特徴点の抽出処理及び投票処理を完了したか否かを判定する。考慮する回転角度（例えば、０度、９０度、１８０度、２７０度）の全てについて対応特徴点の抽出処理及び投票処理が完了している場合、処理はＳ２１１に進む。一方、考慮する回転角度（例えば、０度、９０度、１８０度、２７０度）の全てについて対応特徴点の抽出処理及び投票処理が完了していない場合、処理はＳ２１０に進む。
【０１２２】
（Ｓ２１０）判定部２０３は、図１８に示すように、画像特徴量の各局所特徴量に含まれる回転角度毎のビット列を巡回置換し、画像特徴量を更新する。
例えば、回転角度０度に対応するビット列がＡ、９０度に対応するビット列がＢ、１８０度に対応するビット列がＣ、２７０度に対応するビット列がＤで表されるとする。局所特徴量が結合ビット列（Ａ、Ｂ、Ｃ、Ｄ）で表現されている場合、判定部２０３は、結合ビット列（Ａ、Ｂ、Ｃ、Ｄ）を巡回置換して置換ビット列（Ｄ、Ａ、Ｂ、Ｃ）を生成する。この置換ビット列（Ｄ、Ａ、Ｂ、Ｃ）は、入力画像Ｐｉｎを左向きに９０度回転した画像から得られる局所特徴量に一致する。
【０１２３】
Ｓ２１０の処理を完了すると、処理はＳ２０２（図２１を参照）に進む。
（Ｓ２１１）投票処理部２３２は、入力画像Ｐｉｎ中に参照画像Ｐｒに対応するランドマークが存在しないと判定する。そして、投票処理部２３２は、判定結果を端末装置１００に通知する。Ｓ２１１の処理を完了すると、図２１及び図２２に示した一連の処理は終了する。
【０１２４】
（Ｓ２１２）投票処理部２３２は、入力画像Ｐｉｎ中に参照画像Ｐｒに対応するランドマークが存在すると判定する。そして、投票処理部２３２は、判定結果及びランドマークに関する情報（例えば、ランドマーク毎に設定されたタグ情報や写真など）を端末装置１００に提供する。Ｓ２１２の処理を完了すると、図２１及び図２２に示した一連の処理は終了する。
【０１２５】
以上、サーバ装置２００が実行する処理の流れについて説明した。
以上、第２実施形態について説明した。第２実施形態によれば、局所特徴量の抽出処理にかかる負担を抑えつつ、入力画像Ｐｉｎの回転を考慮したランドマークの認識処理を実行することが可能になる。そのため、演算能力が低い端末装置１００を利用しているユーザも、ストレス無くランドマーク認識機能を利用することが可能になる。
【０１２６】
また、端末装置１００からサーバ装置２００へと入力画像Ｐｉｎそのものが送信されないため、個人情報が漏洩する心配をせずに済み、安心してランドマーク認識機能を利用することができるようになる。その結果、利便性やセキュリティなどの観点からランドマーク認識機能の利用に慎重な個人ユーザや企業ユーザに利用機会を提供することができるようになる。
【０１２７】
なお、ランドマークの認識機能を前提に説明を進めてきたが、画像の類否判定を伴う任意のアプリケーションプログラムなどに応用することもできる。例えば、サーバ装置２００で顔認識を行うアプリケーションプログラムやＡＲ（Augmented Reality）を利用したアプリケーションプログラムなどにも応用できる。
【０１２８】
［２−６．変形例（単独システム）］
次に、図２３を参照しながら、第２実施形態の一変形例に係る情報処理装置３００の機能について説明する。図２３は、第２実施形態の一変形例に係る情報処理装置が有する機能の一例を示したブロック図である。なお、情報処理装置３００の機能は、図３に示した端末装置１００のハードウェアと同じハードウェア資源を利用して実現可能である。
【０１２９】
これまで、端末装置１００が入力画像Ｐｉｎから局所特徴量を抽出し、サーバ装置２００がランドマークを認識するシステムについて説明してきた。本変形例では、１台の情報処理装置３００で局所特徴量の抽出からランドマークの認識までの処理を実行するシステム（単独システム）について説明する。
【０１３０】
図２３に示すように、情報処理装置３００は、記憶部３０１、画像取得部３０２、大域特徴点設定部３０３、局所特徴量計算部３０４、及び判定部３０５を有する。なお、記憶部３０１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。画像取得部３０２、大域特徴点設定部３０３、局所特徴量計算部３０４、及び判定部３０５の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【０１３１】
（局所特徴点情報について）
記憶部３０１は、局所特徴点情報３０１ａ、及び参照画像情報３０１ｂを記憶している。また、記憶部３０１は、ランドマークの認識に用いる参照画像Ｐｒを記憶している。なお、局所特徴点情報３０１ａは、上述した局所特徴点情報１０１ａに対応する。また、参照画像情報３０１ｂは、上述した参照画像情報２０１ｂに対応する。
【０１３２】
局所特徴点情報３０１ａは、予め設定したサイズの矩形領域に設定した局所特徴点の位置を表す位置情報を含む。例えば、矩形領域は、３２画素×３２画素のサイズに設定される。また、局所特徴点はそれぞれ他の局所特徴点と対応付けられており、２つの局所特徴点で１つの点ペアを成している。つまり、局所特徴点情報３０１ａには複数の点ペアに関する位置情報（例えば、図５を参照）が含まれる。また、点ペアＬｋ（ｋ＝１、２、…）には、それぞれ回転角度の情報が対応付けられる。
【０１３３】
参照画像情報３０１ｂは、参照画像管理テーブル及び画像特徴量管理テーブルを含む。参照画像管理テーブルは、ランドマーク名と参照画像Ｐｒの画像データへのリンク（画像データリンク）とを対応付けるテーブル（例えば、図１２を参照）である。参照画像管理テーブルのレコードは、識別番号ＩＤ＃１により識別される。画像特徴量管理テーブルは、参照画像Ｐｒに設定された大域特徴点の座標と、参照画像Ｐｒの大域特徴点毎に計算された局所特徴量とを対応付けるテーブル（例えば、図１３を参照）である。
【０１３４】
（大域特徴点の設定について）
画像取得部３０２は、ランドマークの認識対象となる画像（入力画像Ｐｉｎ）を取得する。画像取得部３０２により取得された入力画像Ｐｉｎは、記憶部３０１に格納される。記憶部３０１に格納された入力画像Ｐｉｎは、大域特徴点設定部３０３により読み出される。大域特徴点設定部３０３は、入力画像Ｐｉｎに大域特徴点Ｗｆ（ｆ＝１、２、…）を設定する。
【０１３５】
例えば、大域特徴点設定部３０３は、等間隔で特徴点を抽出するDense Samplingに基づいて入力画像Ｐｉｎに大域特徴点Ｗｆ（ｆ＝１、２、…）を設定する（例えば、図８を参照）。大域特徴点Ｗｆ（ｆ＝１、２、…）の設定方法としては、例えば、コーナーらしさが大きい点を特徴点として抽出するＦＡＳＴに基づく方法なども考えられる。大域特徴点設定部３０３により設定された大域特徴点Ｗｆ（ｆ＝１、２、…）は、局所特徴量計算部３０４に入力される。
【０１３６】
（局所特徴量の計算について）
局所特徴量計算部３０４は、局所特徴点情報３０１ａを利用して局所特徴量を計算する。まず、局所特徴量計算部３０４は、大域特徴点Ｗｆの周辺に予め設定したサイズの矩形領域（局所領域Ａｆ）を設定する（例えば、図９を参照）。局所領域Ａｆのサイズは、例えば、局所特徴点を設定した矩形領域と同じサイズ（例えば、３２画素×３２画素）に設定される。また、局所領域Ａｆの中心が大域特徴点Ｗｆに一致するように局所領域Ａｆが設定されてもよい。
【０１３７】
局所領域Ａｆを設定した局所特徴量計算部３０４は、局所特徴点情報３０１ａを参照し、局所領域Ａｆの画像（入力画像Ｐｉｎの一部）から局所特徴点が位置する画素の輝度値を抽出する（例えば、図１０を参照）。次いで、局所特徴量計算部３０４は、点ペアＬｋ（ｋ＝１、２、…）毎に輝度値の差分を計算する。次いで、局所特徴量計算部３０４は、計算した差分の符号が正値か負値かを判定し、正値の場合にはビット値１を出力し、負値の場合にはビット値０を出力する。
【０１３８】
例えば、局所特徴量計算部３０４は、点ペアＬ１、Ｌ２、…の順に上記差分の符号に応じたビット値を決定し、決定したビット値を並べたビット列を局所特徴量として出力する。局所特徴量計算部３０４は、全ての大域特徴点Ｗｆ（ｆ＝１、２、…）について局所特徴量を計算し、計算結果を判定部３０５に入力する。
【０１３９】
（類似度計算について）
判定部３０５は、入力画像Ｐｉｎの画像特徴量と、参照画像Ｐｒの画像特徴量（画像特徴量管理テーブルに記載された局所特徴量の集合）とを利用して、入力画像Ｐｉｎの中に参照画像Ｐｒが存在するか否かを判定する。判定部３０５は、類似度計算部３５１及び投票処理部３５２を含む。
【０１４０】
類似度計算部３５１は、入力画像Ｐｉｎの大域特徴点Ｗｆに対応する局所領域Ａｆと類似する参照画像Ｐｒ中の局所領域を検出し、入力画像Ｐｉｎの大域特徴点Ｗｆに対応する参照画像Ｐｒの大域特徴点（以下、対応特徴点）を決定する（例えば、図１５を参照）。まず、類似度計算部３５１は、入力画像Ｐｉｎの大域特徴点Ｗｆを選択する。次いで、類似度計算部３５１は、選択した大域特徴点Ｗｆに対応する局所特徴量を画像特徴量から抽出する。
【０１４１】
類似度計算部３５１は、画像特徴量管理テーブルを参照し、画像特徴量から抽出した局所特徴量との間の距離（例えば、ハミング距離）が最も小さい局所特徴量に対応するレコードを抽出する。類似度計算部３５１は、例えば、抽出したレコードに対応するハミング距離と予め設定した閾値とを比較する。
【０１４２】
ハミング距離が閾値よりも小さい場合、類似度計算部３５１は、画像特徴量管理テーブルから抽出したレコードに対応する参照画像Ｐｒの大域特徴点を対応特徴点に決定する。一方、ハミング距離が閾値よりも大きい場合、類似度計算部３５１は、対応特徴点が存在しないと判定する。同様に、類似度計算部３５１は、入力画像Ｐｉｎに設定された全ての大域特徴点Ｗｆについて参照画像Ｐｒの対応特徴点を決定に関する処理を実行する。
【０１４３】
（投票処理について）
類似度計算部３５１により決定された入力画像Ｐｉｎの大域特徴点Ｗｆと参照画像Ｐｒの対応特徴点との組は、投票処理部３５２に通知される。投票処理部３５２は、入力画像Ｐｉｎの大域特徴点Ｗｆと参照画像Ｐｒの対応特徴点とが一致するように参照画像Ｐｒを入力画像Ｐｉｎに重ねた場合の入力画像Ｐｉｎにおける参照画像Ｐｒの中心位置（Ｘｖ，Ｙｖ）を計算する（例えば、図１６を参照）。
【０１４４】
例えば、入力画像Ｐｉｎの横幅をｗｉ、高さをｈｉ、参照画像Ｐｒの横幅をｗｒ、高さをｈｒと表記した場合（例えば、図１５を参照）、入力画像Ｐｉｎにおける参照画像Ｐｒの中心位置（Ｘｖ，Ｙｖ）は、上記の式（１）及び式（２）により計算される。但し、入力画像Ｐｉｎにおける大域特徴点Ｗｆの位置座標を（Ｘｉ，Ｙｉ）、参照画像Ｐｒにおける対応特徴点の位置座標を（Ｘｒ，Ｙｒ）と表記している。同様にして、投票処理部３５２は、全ての対応特徴点について参照画像Ｐｒの中心位置を計算する。
【０１４５】
次いで、投票処理部３５２は、計算した参照画像Ｐｒの中心位置に基づく統計的手法により入力画像Ｐｉｎの中に参照画像Ｐｒが存在するか否かを判定する。投票処理部３５２は、入力画像Ｐｉｎを複数の分割領域に分ける投票用の空間（投票マップ）を用意する（例えば、図１７を参照）。なお、分割領域は、例えば、１０画素×１０画素の矩形領域に設定される。
【０１４６】
投票処理部３５２は、計算した参照画像Ｐｒの中心位置が投票マップのどの領域に位置するかを判定する。投票マップの各領域にはカウンタが設定されており、投票処理部３５２は、参照画像Ｐｒの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップする。投票処理部３５２は、全ての対応特徴点に対応する参照画像Ｐｒの中心位置について投票マップへのカウント処理を実行する。カウント処理が完了すると、投票処理部３５２は、カウント値が最大の領域を投票マップから抽出し、抽出した領域に対応するカウント値と予め設定した閾値とを比較する。
【０１４７】
同じ対象物を撮影した画像同士ではカウントが一カ所に集中し、異なる対象物を撮影した画像同士ではカウントが広く分散する傾向がある。そのため、カウント値が閾値よりも大きい場合、投票処理部３５２は、入力画像Ｐｉｎ中に参照画像Ｐｒに対応するランドマークが存在すると判定する。一方、カウント値が閾値よりも小さい場合、投票処理部３５２は、入力画像Ｐｉｎ中に参照画像Ｐｒに対応するランドマークが存在しないと判定する。なお、カウント値を全カウント数（対応特徴点の数）で割った正規化値を利用して閾値判定を行うように変形してもよい。
【０１４８】
判定部３０５は、入力画像Ｐｉｎに対するランドマークの認識結果を出力する。認識結果の出力方法としては、例えば、認識したランドマークの画像表示、ランドマークに関する情報表示、ランドマークの所在値を示す地図表示、ランドマークに関連する他のランドマークの表示などが考えられる。また、判定部３０５は、入力画像Ｐｉｎにランドマークのタグ情報を付加し、ランドマーク毎に作成したフォルダに入力画像Ｐｉｎを格納したり、ランドマーク名をキーワードに入力画像Ｐｉｎを検索できるようにする。
【０１４９】
以上、変形例について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
【符号の説明】
【０１５０】
１０  情報処理装置
１１、２１  演算部
１２、２２  記憶部
２０  サーバ装置
ＮＷ  ネットワーク
Ｇ０、Ｇ１、Ｇ２、Ｇ３、ＧＡ  点群
Ｐｉｎ  入力画像
Ｐｏ  対象画像
Ｐｒ  参照画像
Ｃ１、Ｃ２、Ｃ２１、Ｃ２２、Ｃ２３、Ｃ２４  ビット列
【図１】
2015036906.tif 000005
【図２】
2015036906.tif 000006
【図３】
2015036906.tif 000007
【図４】
2015036906.tif 000008
【図５】
2015036906.tif 000009
【図６】
2015036906.tif 000010
【図７】
2015036906.tif 000011
【図８】
2015036906.tif 000012
【図９】
2015036906.tif 000013
【図１０】
2015036906.tif 000014
【図１１】
2015036906.tif 000015
【図１２】
2015036906.tif 000016
【図１３】
2015036906.tif 000017
【図１４】
2015036906.tif 000018
【図１５】
2015036906.tif 000019
【図１６】
2015036906.tif 000020
【図１７】
2015036906.tif 000021
【図１８】
2015036906.tif 000022
【図１９】
2015036906.tif 000023
【図２０】
2015036906.tif 000024
【図２１】
2015036906.tif 000025
【図２２】
2015036906.tif 000026
【図２３】
2015036906.tif 000027