以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る情報処理装置の一例を示した図である。なお、図1に示した情報処理装置10は、第1実施形態に係る情報処理装置の一例である。
図1に示すように、情報処理装置10は、記憶部11及び演算部12を有する。
なお、記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。
記憶部11は、参照画像Prに設定された複数の特徴領域A1、…、ANがそれぞれ有する特徴を記憶する。図1の例では、参照画像Pr内にあるハッチングを付した複数のブロックが特徴領域A1、…、ANである。特徴領域A1、…、ANは、例えば、設定された条件に基づいて参照画像Pr内に配置された複数の特徴点をそれぞれ囲むように配置され、予め設定されたサイズを有する矩形領域である。設定された条件としては、例えば、複数の特徴点を等間隔に配置する条件や、参照画像Prのエッジ部分に特徴点を配置する条件などが適用可能である。
演算部12は、参照画像Prの一部に含まれる特徴領域A1、…、Amの特徴に基づいて対象画像Poに含まれる参照画像Prの位置を特定する(S1)。参照画像Prの一部とは、参照画像Prの全画素数よりも少ない数の画素を含む任意の一部領域である。従って、特徴領域A1、…、Amの数mは、参照画像Prの全体に含まれる特徴領域A1、…、ANの数Nよりも小さい(m<N)。参照画像Prの一部を選択する方法としては、例えば、参照画像Prの上側1/2、上側1/4、下側1/2、下側1/4を選択する方法などが考えられる。また、その他の選択方法を採用することも可能である。
参照画像Prの位置を特定する方法としては、例えば、対象画像Poに含まれる特徴領域の特徴と、参照画像Prの一部に含まれる特徴領域A1、…、Amの特徴との類似性を評価し、その評価結果に基づいて参照画像Prの位置を特定する方法が考えられる。このとき、例えば、BRIEF、SIFT、SURF、CARD(Compact And Realtime Descriptors)、FREAK(Fast Retina Keypoint)、BRISK(Binary Robust Invariant Scalable Keypoints)などの特徴を利用した評価方法の適用が可能である。
また、演算部12は、特定した位置を基準に対象画像Poの全体よりも狭い探索範囲Asを設定する(S2)。例えば、演算部12は、特定した位置に配置された参照画像Prが対象画像Poに占める範囲を基準に、その範囲を上下左右に拡大した範囲を探索範囲Asに設定する。拡大の度合いは、例えば、予め設定された拡大率(10%など)や拡大幅(48画素など)に基づいて決定される。
探索範囲Asを設定した演算部12は、設定した探索範囲Asを対象に参照画像Prの全体に含まれる特徴領域A1、…、ANの特徴に基づいて参照画像Prを探索し、参照画像Prの有無を判断する(S3)。なお、演算部12は、特徴領域Am+1、…、ANの特徴に基づいて参照画像Prを探索してもよい。また、演算部12は、参照画像Prの位置を特定する際に得た特徴領域A1、…、Amに関する評価結果を利用してもよい。
上記のように、情報処理装置10は、一部の特徴領域A1、…、Amを用いて位置の特定(S1)を実行し、探索範囲Asを絞り込んだ上で探索処理(S3)を実行する。そのため、探索範囲Asの絞り込みを行わずに、特徴領域A1、…、ANの全てと、対象画像Poの全特徴領域とを対象に類似性の評価を行う場合に比べて類似度計算の回数を低減することが可能になり、参照画像Prの探索にかかる処理負荷が低減される。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。
[2−1.システム]
図2を参照しながら、第2実施形態に係るシステムについて説明する。図2は、第2実施形態に係るシステムの一例を示した図である。
図2に示すように、第2実施形態に係るシステムは、端末装置100及びサーバ装置200を含む。なお、携帯電話、スマートフォン、デジタルカメラ、パーソナルコンピュータなどのデバイスは、端末装置100の一例である。また、アプリケーションサーバやコンテンツマネジメントシステムなどは、サーバ装置200の一例である。
端末装置100は、無線基地局BS及びネットワークNWを介してサーバ装置200にアクセスすることができる。適用可能な無線基地局BSとしては、例えば、移動体通信用の基地局や無線LAN(Local Area Network)用の基地局などがある。適用可能なネットワークNWとしては、例えば、移動体通信の基幹回線網やWAN(Wide Area Network)などがある。
第2実施形態に係るシステムは、例えば、ユーザが端末装置100を利用して撮像した撮像画像をサーバ装置200で管理する写真管理サービスなどに適用できる。その他にも、第2実施形態に係るシステムは、写真管理機能を有するSNS(Social Networking Service)などのソーシャルメディアサービスなどに適用可能である。ここでは、説明の都合上、写真管理サービスを例に挙げて説明を進める。もちろん、第2実施形態に係るシステムの適用対象はこれに限定されない。
多くの場合、画像の管理には、時間情報や位置情報が用いられる。例えば、撮影日時に応じて画像をグループ化する方法や、撮影時にGPS(Global Positioning System)を利用して取得した位置情報を利用し、同じ地域で撮影された画像をグループ化する方法などがある。このような方法により画像をグループ化しておけば、ユーザが記憶している撮影時間や撮影場所の情報をヒントに、後日、所望の画像を容易に見つけ出すことが可能になる。また、イベントなどの情報をもとに画像を検索できるようにするため、「家族旅行」や「結婚式」などのタグを画像に付してタグ毎に画像を整理する方法も考えられる。
上記の方法はいずれも画像の管理に有用である。第2実施形態に係るシステムは、さらに画像管理の有用性を高めるため、画像から特徴物(以下、ランドマーク)を自動認識し、その認識結果を画像にタグ付けする仕組みを提供する。例えば、端末装置100を利用して旅行先で撮影した画像から、サーバ装置200がランドマーク(例えば、金閣寺や東京タワーなど)を自動認識してタグを付与する。この仕組みによれば、ランドマークを指定した画像検索や、ランドマークを基準とする画像の自動整理を実現することができる。
ランドマークの認識は、ランドマークの画像(以下、参照画像)と類似する画像が入力画像に含まれるか否かを判定することで行われる。なお、ランドマークの認識には、異なるランドマークをそれぞれ含む複数の参照画像が利用される他、例えば、同じランドマークを含むサイズの異なる複数の参照画像が利用される。また、ランドマークの認識を行う際、例えば、以下のような処理が行われる。
サーバ装置200が、入力画像及び参照画像から特徴点(以下、大域特徴点)を抽出する。次いで、サーバ装置200は、抽出した大域特徴点の周辺領域から局所特徴量を抽出する。次いで、サーバ装置200は、大域特徴点毎に抽出した局所特徴量の組を利用して入力画像と参照画像との間の類似度を計算する。類似度が高い場合、サーバ装置200は、参照画像のランドマークが入力画像に含まれると判定する。
局所特徴量としては、例えば、BRIEF、SIFT、SURF、CARD、FREAK、BRISKなどの特徴量が利用できる。但し、説明の都合上、以下ではBRIEFを利用する例について考える。BRIEFは、抽出時の処理負担が小さい特徴量である。そのため、BRIEFを利用すると、サーバ装置200に比べて演算能力が低い端末装置100でも実用的な速度で特徴量の抽出処理を実現できるという利点がある。
第2実施形態に係るシステムでは、端末装置100が入力画像から局所特徴量を抽出する処理を実行し、サーバ装置200が参照画像と入力画像との類似度計算を実行する。
入力画像及び参照画像から抽出した局所特徴量があれば、両画像の類似度計算を行うことができる。そのため、端末装置100からサーバ装置200へと入力画像を送らず、局所特徴量だけを送る仕組みとすることが可能である。この仕組みによれば、個人情報である入力画像がネットワークNWなどを介して端末装置100の外部へ漏れる心配がなくなるため、ユーザが安心してシステムを利用できるという利点がある。
以上、第2実施形態に係るシステムについて説明した。以下、このシステムに含まれる端末装置100及びサーバ装置200について、さらに説明する。
[2−2.ハードウェア]
図3を参照しながら、端末装置100が有する機能を実現することが可能なハードウェアについて説明する。図3は、第2実施形態に係る端末装置が有する機能を実現することが可能なハードウェアの一例を示した図である。
端末装置100が有する機能は、例えば、図3に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、端末装置100が有する機能は、コンピュータプログラムを用いて図3に示すハードウェアを制御することにより実現される。
図3に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。
また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられうる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、端末装置100の機能を実現することが可能なハードウェアの例について紹介した。なお、上記のハードウェアは、サーバ装置200の機能を実現することも可能である。従って、サーバ装置200のハードウェアについては説明を省略する。
[2−3.端末装置の機能]
次に、図4〜図7を参照しながら、端末装置100が有する機能について説明する。
なお、図4は、第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。図5は、第2実施形態に係る局所特徴点情報の一例を示した図である。図6は、第2実施形態に係る大域特徴点及び局所領域の設定について説明するための図である。図7は、第2実施形態に係る局所特徴量の計算について説明するための図である。
図4に示すように、端末装置100は、記憶部101、画像取得部102、大域特徴点設定部103、局所特徴量計算部104、及び画像特徴量送信部105を有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。画像取得部102、大域特徴点設定部103、局所特徴量計算部104の機能は、上述したCPU902などを用いて実現できる。画像特徴量送信部105の機能は、上述した接続ポート924や通信部926などを用いて実現できる。
(局所特徴点情報について)
記憶部101は、局所特徴点情報101aを記憶している。局所特徴点情報101aは、予め設定したサイズの矩形領域に設定した局所特徴点の位置を表す位置情報を含む。矩形領域のサイズは、例えば、32画素×32画素や48画素×48画素などに設定される。また、各局所特徴点は、それぞれ他の局所特徴点と対応付けられている。つまり、2つの局所特徴点を対応付けた点ペアが設定されている。局所特徴点情報101aには、複数の点ペアに関する位置情報が含まれる。
局所特徴点情報101aの一例を図5に示す。図5に示すように、局所特徴点情報101aには、点ペアLk(k=1、2、…)を成す2つの局所特徴点の座標(x1,y1)及び(x2,y2)が対応付ける情報が含まれる。後述するように、局所特徴点情報101aに含まれる点ペア毎に局所特徴量が計算され、画像同士の類似性を評価する計算に利用される。
(大域特徴点の設定について)
再び図4を参照する。画像取得部102は、ランドマークの認識対象となる画像(以下、入力画像Pin)を取得する。画像取得部102により取得された入力画像Pinは、記憶部101に格納される。記憶部101に格納された入力画像Pinは、大域特徴点設定部103により読み出される。
大域特徴点設定部103は、入力画像Pinに大域特徴点Wf(f=1、2、…)を設定する。例えば、大域特徴点設定部103は、図6に示すように、等間隔で複数の特徴点を抽出するDense Samplingにより入力画像Pinに大域特徴点Wf(f=1、2、…)を設定する。大域特徴点Wf(f=1、2、…)の設定方法としては、Dense Samplingの他、例えば、コーナーらしさが大きい点(エッジなど)を特徴点として抽出するFAST(Features from Accelerated Segment Test)なども適用可能である。
大域特徴点設定部103により設定された大域特徴点Wf(f=1、2、…)は、局所特徴量計算部104に入力される。
(局所特徴量の計算について)
再び図4を参照する。局所特徴量計算部104は、局所特徴点情報101aを利用して局所特徴量を計算する。まず、局所特徴量計算部104は、図6に示すように、大域特徴点Wfの周辺に予め設定したサイズの矩形領域(以下、局所領域Af)を設定する。局所領域Afのサイズは、例えば、局所特徴点を設定した矩形領域と同じサイズ(例えば、32画素×32画素)に設定される。また、局所領域Afの中心が大域特徴点Wfに一致するように局所領域Afが設定されてもよい。
入力画像Pinに複数の局所領域Afを設定した局所特徴量計算部104は、局所特徴点情報101aに基づき、図7に示すように、各局所領域Af内で局所特徴点が位置する画素の輝度値を抽出する。なお、図7の(B)に記載の白丸は局所特徴点の位置を示し、2つの白丸を接続する直線は局所特徴点間の対応関係を示している。
次いで、局所特徴量計算部104は、点ペア毎に輝度値の差分を計算する。つまり、局所特徴量計算部104は、局所領域Afを設定した入力画像Pin内の画素に対応する輝度値(A)と、局所特徴点情報101aから得られる点ペアの情報(B)とを組み合わせ(C)、図7に示すように、点ペア毎に輝度値の差分を計算する。
次いで、局所特徴量計算部104は、計算した差分の符号が正値か負値かを判定し、正値の場合にはビット値1を出力し、負値の場合にはビット値0を出力する。例えば、局所特徴量計算部104は、点ペアL1、L2、…の順に上記差分の符号に応じたビット値を決定し、決定したビット値を並べたビット列を局所特徴量として出力する。256個の点ペアが存在すれば、局所特徴量として256ビットのビット列が得られる。
局所特徴量計算部104は、全ての大域特徴点Wf(f=1、2、…)について局所特徴量を計算し、計算結果を画像特徴量送信部105に入力する。
(画像特徴量の送信について)
再び図4を参照する。画像特徴量送信部105は、全ての大域特徴点Wf(f=1、2、…)について局所特徴量計算部104により計算された局所特徴量の集合(以下、画像特徴量)をサーバ装置200に送信する。
以上、端末装置100が有する機能について説明した。
[2−4.サーバ装置の機能]
次に、図8を参照しながら、サーバ装置200が有する機能について説明する。図8は、第2実施形態に係るサーバ装置が有する機能の一例を示したブロック図である。なお、以下の説明において、適宜、図9〜図17を参照する。
図8に示すように、サーバ装置200は、記憶部201、優先特徴点抽出部202、画像特徴量受信部203、及び判定部204を有する。
なお、記憶部201の機能は、上述したRAM906や記憶部920などを用いて実現できる。画像特徴量受信部203の機能は、上述した接続ポート924や通信部926などを用いて実現できる。優先特徴点抽出部202、及び判定部204の機能は、上述したCPU902などを用いて実現できる。
(局所特徴点情報及び参照画像情報について)
記憶部201は、局所特徴点情報201a及び参照画像情報201bを記憶している。局所特徴点情報201aは、端末装置100の記憶部101が記憶している局所特徴点情報101aと同じである。参照画像情報201bは、参照画像管理テーブル及び画像特徴量管理テーブルを含む。
また、記憶部201は、ランドマークの認識に用いる参照画像Prを記憶している。参照画像Prとしては、例えば、背景に余計なものが映り込まないように撮影されたランドマークの画像などが用いられる。
図9、図10、及び図11を参照しながら、参照画像管理テーブル及び画像特徴量管理テーブルについて説明する。なお、図9は、第2実施形態に係る参照画像情報(参照画像管理テーブル)の一例を示した図である。図10は、第2実施形態に係る参照画像情報(画像特徴量管理テーブル)の一例を示した図である。図11は、第2実施形態に係る参照画像の局所特徴量について説明するための図である。
図9に示すように、参照画像管理テーブルは、ランドマーク名と参照画像Prの画像データへのリンク(以下、画像データリンク)とを対応付けるテーブルである。参照画像管理テーブルのレコードは、識別番号ID#1により識別される。例えば、ID#1が001のレコードには、ランドマーク名「金閣寺」及び画像データ「001001.jpg」に対する画像データリンクが対応付けられている。また、ID#1は、図10に示すように、参照画像Pr毎に設けられる画像特徴量管理テーブルに対応付けられている。
画像特徴量管理テーブルは、参照画像Prに設定された大域特徴点の座標と、大域特徴点毎に計算された局所特徴量と、後述する最小距離とを対応付けるテーブルである。なお、参照画像Prに対する大域特徴点の設定方法及び局所特徴量の計算方法は、既に説明した入力画像Pinに対する方法と同じである。例えば、図11に示すように、Dense Samplingなどにより参照画像Prに大域特徴点Wrl(l=1、2、…)が設定され、大域特徴点Wrl周囲の局所領域Arlについて局所特徴量が計算される。
(最小距離について)
ここで、図12及び図13を参照しながら、最小距離について説明する。なお、図12は、第2実施形態に係る最小距離の計算方法について説明するための第1の図である。図13は、第2実施形態に係る最小距離の計算方法について説明するための第2の図である。最小距離の計算処理は、優先特徴点抽出部202により実行される。
入力画像Pinに含まれるランドマークの位置は、入力画像Pinの局所領域Afと、そのランドマークを示す参照画像Prの局所領域Arlとの類似性に基づいて決定される。仮に、類似する複数の局所領域Arl(例えば、図12に例示した局所領域Ar015、Ar038)が同じ参照画像Pr内に存在すると、本来は局所領域Ar015に対応する局所領域Afが、局所領域Ar038に類似していると判定される場合がある。その結果、認識精度の低下を招くリスクが生じうる。
上記のリスクを抑制するため、第2実施形態では、同じ参照画像Pr内で高い類似性を有する他の局所領域Arlが存在しない局所領域Arlを抽出し、抽出した局所領域Arlを優先的に利用する仕組みを提案する。このような局所領域Arlの抽出に用いられる指標が上記の最小距離である。
例えば、参照画像PrからN個の大域特徴点が抽出され、局所領域Ar001、…、ArNが設定されている場合について考える。この場合、優先特徴点抽出部202は、局所領域Ari、Arj(i≠j、i,j=1,…,N)の類似度を計算する。類似度としては、例えば、局所領域Ariの局所特徴量と局所領域Arjの局所特徴量との間の距離(例えば、ハミング距離)が用いられる。この距離は、局所領域Ari、Arj間の類似度の低さを示している。つまり、距離が小さいほど、類似度が高い。
局所領域Ari、Arjの組み合わせ毎に計算された距離をテーブルにまとめると、図13のようになる。なお、ID#2は、上記のi,jに対応する大域特徴点のインデックスであり、局所領域Ar001、…、ArNをそれぞれ識別する識別情報となる。また、図13に例示したテーブルの各欄には正規化した距離が記入されている。局所特徴量を表すビット列の長さが256ビットの場合、距離は0〜256の値をとるが、図13に示した距離は0.0〜1.0の値をとるように正規化されている。
優先特徴点抽出部202は、例えば、ID#2が001の局所領域Ar001と、他の局所領域Ark(k=002,…,N)との距離の中から最小距離を抽出する。この最小距離は、同じ参照画像Prに含まれる他の局所領域Ark(k=002,…,N)の中で、局所領域Ar001に最も類似している局所領域Arkの類似度を表している。つまり、この最小距離が十分に大きければ、局所領域Ar001に類似する他の局所領域Arkが同じ参照画像Pr内に存在しないと言える。
優先特徴点抽出部202は、同様に、ID#2が002、…、Nの局所領域Ark(k=002,…,N)について、それぞれ最小距離を抽出する。なお、図13に例示したテーブルには、局所領域Ari、Arjの組み合わせ毎に計算された距離と共に最小距離を記載している。このようにして優先特徴点抽出部202により計算された最小距離は、既に説明した画像特徴量管理テーブル(図10を参照)に記録される。
(ソートについて)
上記の最小距離は、同じ参照画像Pr内で高い類似性を有する他の局所領域Arkが存在しない局所領域Arl(l≠k)を抽出し、抽出した局所領域Arlを優先的に利用するために利用される。そこで、最小距離が大きい局所領域Arlを優先的に利用できるようにするため、優先特徴点抽出部202は、図14に示すように、画像特徴量管理テーブルのレコードを最小距離が大きい順(降順)にソートする。なお、図14は、第2実施形態に係る画像特徴量管理テーブルのソート方法について説明するための図である。
また、優先特徴点抽出部202は、ソート後の画像特徴量管理テーブルに記載された上位m個の大域特徴点(局所領域Arlに対応)を優先的に利用する特徴点(以下、優先特徴点と呼ぶ場合がある。)とする。なお、mは、予め設定された値であり、例えば、N/4などの値に設定される。また、最小距離の計算、及び画像特徴量管理テーブルのソートは、記憶部201に格納された全ての参照画像Prに対して行われる。
上記の説明では画像特徴量管理テーブルに最小距離を記録し、画像特徴量管理テーブルのレコードを最小距離の降順にソートする方法を示したが、優先特徴点の情報(例えば、対応するID#2)を別途記録する変形例も考えられる。例えば、図15に示すように、優先特徴点管理テーブルを記憶部201に設け、優先特徴点の情報を参照画像Pr毎に記録しておく方法が考えられる。この場合、優先特徴点管理テーブルは、参照画像情報201bに含まれる。なお、図15は、第2実施形態に係る参照画像情報(優先特徴点管理テーブル)の一例を示した図である。
(範囲設定及び位置探索について)
再び図8を参照する。画像特徴量受信部203は、端末装置100から送信された画像特徴量を受信する。画像特徴量受信部203により受信された画像特徴量は、判定部204に入力される。判定部204は、入力画像Pinの画像特徴量と、参照画像Prの画像特徴量(画像特徴量管理テーブルに記載された局所特徴量の集合)とを利用して、入力画像Pinの中に参照画像Prが存在するか否かを判定する。判定部204は、範囲設定部241及び位置探索部242を含む。また、範囲設定部241及び位置探索部242は、それぞれ類似度計算機能及び投票処理機能を有する。
(範囲設定時の類似度計算について)
範囲設定部241は、図16に示すように、入力画像Pinの大域特徴点Wfに対応する局所領域Afと類似する参照画像Pr中の局所領域Arlを検出する。
このとき、範囲設定部241は、参照画像Prの一部(例えば、1/4など)に含まれる優先特徴点に対応する局所領域Arlの中から、入力画像Pinの局所領域Afと類似する局所領域Arlを検出する。そして、範囲設定部241は、入力画像Pinの大域特徴点Wfに対応する参照画像Prの大域特徴点(以下、対応特徴点)を決定する。なお、図16は、第2実施形態に係る対応特徴点の検出方法(範囲設定時)について説明するための図である。
上記の検出は、例えば、以下の方法で行われる。
まず、範囲設定部241は、画像特徴量管理テーブルを参照し、参照画像Prの一部に含まれる優先特徴点を1つ選択する。また、範囲設定部241は、入力画像Pinから大域特徴点Wfを1つ選択する。次いで、範囲設定部241は、選択した大域特徴点Wfに対応する局所特徴量を画像特徴量から抽出する。次いで、範囲設定部241は、選択した優先特徴点の局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離(例えば、ハミング距離)を計算する。
同様に、範囲設定部241は、入力画像Pinに含まれる全ての大域特徴点Wfについて、優先特徴点の局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離を計算する。そして、範囲設定部241は、選択した大域特徴点Wfと優先特徴点との組み合わせの中から距離が最小となる組み合わせを抽出する。
また、範囲設定部241は、抽出した組み合わせに対応する距離が予め設定した閾値よりも大きいか否かを判定する。対応する距離が予め設定した閾値より小さい場合、範囲設定部241は、その組み合わせに含まれる優先特徴点を、選択した大域特徴点Wfに対応する対応特徴点とする。一方、対応する距離が予め設定した閾値より大きい場合、範囲設定部241は、選択した大域特徴点Wfに対する対応特徴点が存在しないと判定する。
同様に、範囲設定部241は、参照画像Prの一部に含まれる全ての優先特徴点について入力画像Pinに含まれる全ての大域特徴点Wfとの間の距離を計算し、対応特徴点となる優先特徴点と、入力画像Pinの大域特徴点Wfとの組み合わせを抽出する。
(範囲設定時の投票処理について)
範囲設定部241は、抽出した全ての組み合わせについて、入力画像Pinの大域特徴点Wfと対応特徴点とが一致するように参照画像Prを入力画像Pinに重ねた場合の入力画像Pinにおける参照画像Prの中心位置(Xv,Yv)を計算する。
入力画像Pinの横幅をwi、高さをhi、参照画像Prの横幅をwr、高さをhrと表記した場合(図16を参照)、入力画像Pinにおける参照画像Prの中心位置を示す座標(Xv,Yv)は、下記の式(1)及び式(2)により計算される。但し、入力画像Pinにおける大域特徴点Wfの位置座標を(Xi,Yi)、参照画像Prにおける対応特徴点の位置座標を(Xr,Yr)と表記している。
次いで、範囲設定部241は、計算した参照画像Prの中心位置に基づく統計的手法により入力画像Pinにおける参照画像Prの存在範囲を推定する。但し、ここで推定する参照画像Prの存在範囲は、参照画像Prの存在を前提とするものではなく、参照画像Prが存在する可能性のある範囲を意味する。
上記の統計的手法としては、例えば、投票マップを利用する方法が考えられる。投票マップとは、図17に示すように、入力画像Pinを複数の分割領域(例えば、10画素×10画素の矩形領域)に分ける投票用の空間である。なお、図17は、第2実施形態に係る投票の方法について説明するための図である。
範囲設定部241は、計算した参照画像Prの中心位置が投票マップのどの領域に位置するかを判定する。投票マップの各領域にはカウンタが設定されており、範囲設定部241は、参照画像Prの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップする。同様に、範囲設定部241は、全ての対応特徴点に対応する参照画像Prの中心位置について投票マップへのカウント処理を実行する。そして、範囲設定部241は、カウント値が最大の領域を投票マップから抽出する。
範囲設定部241は、投票マップから抽出した領域を基準に、参照画像Prの探索を行う探索範囲(図18を参照)を入力画像Pinに設定する。例えば、範囲設定部241は、投票マップから抽出した領域に参照画像Prの中心を重ねた場合に参照画像Prが占める範囲を計算し、その範囲を上下左右に拡大した範囲を探索範囲に設定する。但し、探索範囲は、入力画像Pinの全範囲よりも狭い範囲である。
拡大の度合いは、例えば、予め設定された拡大率や拡大幅に基づいて決定される。拡大率は、例えば、参照画像Prの横幅wrに対する割合(例えば、10%)や、高さhiに対する割合(例えば、10%)などと設定することができる。また、拡大幅は、例えば、参照画像Prの左右方向に並んだ画素の数の1/L(例えば、L=10)の画素数や、上下方向に並んだ画素の数の1/Lの画素数などと設定することができる。なお、これらの設定方法は一例であり、他の設定方法を採用してもよい。
例えば、図18に示すように、探索範囲の左上座標を(xLeft,yTop)とし、右下座標を(xRight,yBottom)とし、入力画像Pinの左上座標を原点(0,0)とすると、探索範囲は、下記の式(3)〜式(6)で表現される。但し、dは1.0以上の実数であり(例えば、1.2)、拡大の度合いを表す。また、(xp,yp)は、投票マップの中でカウント値が最大となる領域の位置座標を表す。
xLeft = xp−(wr/2)・d
…(3)
xRight = xp+(wr/2)・d
…(4)
yTop = yp−(hr/2)・d
…(5)
yBottom = yp+(hr/2)・d
…(6)
範囲設定部241により設定された探索範囲は、位置探索部242に通知される。位置探索部242は、探索範囲内で参照画像Prの存在及びその位置を検出する。つまり、位置探索部242は、入力画像Pinに含まれる大域特徴点Wfの座標を(xi,yi)とした場合に、下記の式(7)及び式(8)の条件を満たす大域特徴点Wfを用いて参照画像Prの存在及びその位置を検出する。
xLeft < xi < xRight
…(7)
yBottom < yi < yTop
…(8)
(位置探索時の類似度計算について)
位置探索部242は、探索範囲内の大域特徴点Wfに対応する局所領域Afと類似する参照画像Pr中の局所領域Arlを検出する。このとき、位置探索部242は、参照画像Prに含まれる全ての大域特徴点Wrlについて、大域特徴点Wrlに対応する局所領域Arlと類似する探索範囲内の局所領域Afを検出する。
なお、参照画像Prの大域特徴点Wrlのうち、参照画像Prの一部に含まれる優先特徴点については範囲設定部241により対応特徴点の検出が済んでいる。そのため、位置探索部242は、参照画像Prの大域特徴点Wrlのうち、範囲設定部241が対応特徴点の検出時に用いていない大域特徴点Wrlについて、探索範囲内の局所領域Afと類似する局所領域Arlを検出する。
そして、位置探索部242は、図18に示すように、対応特徴点と入力画像Pinの大域特徴点Wfとの組み合わせを決定する。なお、図18は、第2実施形態に係る対応特徴点の検出方法(位置探索時)について説明するための図である。
上記の検出は、例えば、以下の方法で行われる。
まず、位置探索部242は、画像特徴量管理テーブルを参照し、参照画像Prに含まれる大域特徴点Wrlを1つ選択する。また、位置探索部242は、探索範囲から大域特徴点Wfを1つ選択する。次いで、位置探索部242は、選択した大域特徴点Wfに対応する局所特徴量を画像特徴量から抽出する。次いで、位置探索部242は、選択した大域特徴点Wrlの局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離(例えば、ハミング距離)を計算する。
同様に、位置探索部242は、探索範囲に含まれる全ての大域特徴点Wfについて、大域特徴点Wrlの局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離を計算する。そして、位置探索部242は、選択した大域特徴点Wf、Wrlの組み合わせの中から距離が最小となる組み合わせを抽出する。
また、位置探索部242は、抽出した組み合わせに対応する距離が予め設定した閾値よりも大きいか否かを判定する。対応する距離が予め設定した閾値より小さい場合、位置探索部242は、その組み合わせに含まれる大域特徴点Wrlを、選択した大域特徴点Wfに対応する対応特徴点とする。一方、対応する距離が予め設定した閾値より大きい場合、位置探索部242は、選択した大域特徴点Wfに対する対応特徴点が存在しないと判定する。
同様に、位置探索部242は、参照画像Prに含まれる他の大域特徴点Wrlについても探索範囲に含まれる全ての大域特徴点Wfとの間の距離を計算し、対応特徴点となる大域特徴点Wrlと、探索範囲の大域特徴点Wfとの組み合わせを抽出する。さらに、位置探索部242は、範囲設定部241により検出された対応特徴点の情報(対応特徴点となる優先特徴点と探索範囲の大域特徴点Wfとの組み合わせ)を保持する。
(位置探索時の投票処理について)
位置探索部242は、抽出した組み合わせに基づいて、探索範囲の大域特徴点Wfと参照画像Prの対応特徴点とが一致するように参照画像Prを入力画像Pinに重ねた場合の入力画像Pinにおける参照画像Prの中心位置(Xv,Yv)を計算する。
例えば、入力画像Pinの横幅をwi、高さをhi、参照画像Prの横幅をwr、高さをhrと表記した場合(図18を参照)、入力画像Pinにおける参照画像Prの中心位置(Xv,Yv)は、上記の式(1)及び式(2)により計算される。但し、入力画像Pinにおける大域特徴点Wfの位置座標を(Xi,Yi)、参照画像Prにおける対応特徴点の位置座標を(Xr,Yr)と表記している。同様にして、位置探索部242は、全ての対応特徴点について参照画像Prの中心位置を計算する。
次いで、位置探索部242は、計算した参照画像Prの中心位置に基づく統計的手法により探索範囲内に参照画像Prが存在するか否かを判定する。例えば、位置探索部242は、投票マップ(図17を参照)を用意する。次いで、位置探索部242は、計算した参照画像Prの中心位置が投票マップのどの領域に位置するかを判定する。
投票マップの各領域にはカウンタが設定されており、位置探索部242は、参照画像Prの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップする。なお、位置探索部242は、全ての対応特徴点に対応する参照画像Prの中心位置について投票マップへのカウント処理を実行する。カウント処理が完了すると、位置探索部242は、カウント値が最大の領域を投票マップから抽出し、抽出した領域に対応するカウント値と予め設定した閾値とを比較する。
同じ対象物を撮影した画像同士ではカウントが一カ所に集中し、異なる対象物を撮影した画像同士ではカウントが広く分散する傾向がある。そのため、カウント値が閾値よりも大きい場合、位置探索部242は、入力画像Pin中に参照画像Prに対応するランドマークが存在すると判定する。一方、カウント値が閾値よりも小さい場合、位置探索部242は、入力画像Pin中に参照画像Prに対応するランドマークが存在しないと判定する。なお、カウント値を全カウント数(対応特徴点の数)で割った正規化値を利用して閾値判定を行うように変形してもよい。
上記のように、投票マップを利用して判定を行うことで、入力画像Pinと参照画像Prとの間に、ある程度の差異があっても、ロバストな判定を行うことができる。
(判定結果の利用について)
判定部204による判定結果は、例えば、端末装置100に送信される。判定結果として、例えば、入力画像Pinに含まれると判定されたランドマークの名称や位置、或いは、参照画像管理テーブルのIDなどが端末装置100に送信される。また、複数のランドマークが存在すると判定された場合、判定部204は、それら全てのランドマークの情報を端末装置100に送信してもよいし、投票マップのカウント値が最大となるランドマークの情報を端末装置100に送信してもよい。
なお、判定結果の利用方法はこれに限定されず、アプリケーションプログラムの仕様などに応じて変形可能である。例えば、ランドマーク毎にタグ情報を用意しておき、判定結果に応じてランドマークに対応するタグ情報が端末装置100に送信され、端末装置100によりタグ情報が入力画像Pinに自動付与されるようにしてもよい。
以上、サーバ装置200が有する機能について説明した。
[2−5.処理の流れ]
次に、図19〜図24を参照しながら、端末装置100及びサーバ装置200が実行する処理の流れについて説明する。
(端末装置の動作)
図19及び図20を参照しながら、端末装置100が実行する処理の流れについて説明する。なお、図19は、第2実施形態に係る端末装置の動作について説明するためのフロー図である。また、図20は、第2実施形態に係る局所特徴量の計算処理について説明するためのフロー図である。
(S101)画像取得部102は、ランドマークの認識対象となる画像(入力画像Pin)を取得する。画像取得部102により取得された入力画像Pinは、記憶部101に格納される。記憶部101に格納された入力画像Pinは、大域特徴点設定部103により読み出される。
(S102)大域特徴点設定部103は、入力画像Pinに大域特徴点Wf(f=1、2、…)を設定する。例えば、大域特徴点設定部103は、図6に示すように、等間隔で特徴点を抽出するDense Samplingにより入力画像Pinに大域特徴点Wf(f=1、2、…)を設定する。なお、FASTに基づく設定方法などを採用してもよい。大域特徴点設定部103により設定された大域特徴点Wf(f=1、2、…)は、局所特徴量計算部104に入力される。
(S103)局所特徴量計算部104は、大域特徴点Wf(f=1、2、…)の中から1つの大域特徴点Wfを選択する。なお、大域特徴点Wfの選択順序は予め設定されているものとする。例えば、局所特徴量計算部104は、入力画像Pinの左上側に位置する大域特徴点W1から順に、大域特徴点W2、W3、W4、…と選択する。
(S104)局所特徴量計算部104は、選択した大域特徴点Wfについて、記憶部101が記憶している局所特徴点情報101aを利用して局所特徴量を計算する。なお、局所特徴量の計算処理については、図20を参照しながら後述する。局所特徴量計算部104により計算された局所特徴量は、画像特徴量送信部105に入力される。
(S105)局所特徴量計算部104は、全ての大域特徴点Wf(f=1、2、…)について局所特徴量を計算したか否かを判定する。全ての大域特徴点Wf(f=1、2、…)について局所特徴量の計算が完了した場合、処理はS106へと進む。一方、全ての大域特徴点Wf(f=1、2、…)について局所特徴量の計算が完了していない場合、処理はS103へと進む。
(S106)画像特徴量送信部105は、全ての大域特徴点Wf(f=1、2、…)について局所特徴量計算部104により計算された局所特徴量の集合(画像特徴量)をサーバ装置200に送信する。S106の処理が完了すると、図19に示した一連の処理は終了する。
(局所特徴量の計算)
ここで、図20を参照しながら、S104の処理について、さらに説明する。
(S111)局所特徴量計算部104は、図6に示すように、大域特徴点Wfの周辺に予め設定したサイズの矩形領域(局所領域Af)を設定する。局所領域Afのサイズは、例えば、局所特徴点を設定した矩形領域と同じサイズ(例えば、32画素×32画素)に設定される。また、局所領域Afの中心が大域特徴点Wfに一致するように局所領域Afが設定されてもよい。
(S112)局所特徴量計算部104は、局所特徴点の組(点ペアL1、L2、…)の1つを選択する。なお、点ペアLkの選択順序は予め設定されているものとする。例えば、局所特徴量計算部104は、点ペアL1から順に、点ペアL2、L3、L4、…と選択する。
(S113)局所特徴量計算部104は、図7に示すように、局所特徴点情報101aを参照し、局所領域Afの画像(入力画像Pinの一部)から、選択した点ペアLkの局所特徴点が位置する画素の輝度値を抽出する。そして、局所特徴量計算部104は、抽出した輝度値の差分を計算する。
(S114)局所特徴量計算部104は、計算した差分の符号が正値か負値かを判定し、正値の場合にはビット値を1に設定し、負値の場合にはビット値を0に設定する。
(S115)局所特徴量計算部104は、全ての点ペアLk(k=1、2、…)についてビット値を設定したか否かを判定する。全ての点ペアLk(k=1、2、…)についてビット値が設定されている場合、処理はS116へと進む。一方、全ての点ペアLk(k=1、2、…)についてビット値が設定されていない場合、処理はS112へと進む。
(S116)局所特徴量計算部104は、点ペアL1、L2、…の順に上記差分の符号に応じたビット値を並べて、ビット列を生成する。例えば、256個の点ペアが存在する場合、256ビットのビット列が生成される。局所特徴量計算部104は、ビット列を局所特徴量に設定する。S116の処理が完了すると、図20に示した一連の処理は終了する。
以上、端末装置100が実行する処理の流れについて説明した。
(サーバ装置の動作)
次に、図21〜図24を参照しながら、サーバ装置200が実行する処理の流れについて説明する。
なお、図21は、第2実施形態に係るサーバ装置の動作について説明するためのフロー図である。図22は、第2実施形態に係る探索範囲の設定処理について説明するためのフロー図である。図23は、第2実施形態に係る参照画像の位置探索処理について説明するためのフロー図である。図24は、第2実施形態に係る優先特徴点の設定処理について説明するためのフロー図である。
(S201)画像特徴量受信部203は、端末装置100から送信された画像特徴量を受信する。画像特徴量受信部203により受信された画像特徴量は、判定部204に入力される。
(S202)判定部204は、記憶部201に格納されている参照画像Prを1つ選択する。
(S203)範囲設定部241は、探索範囲を設定する。例えば、範囲設定部241は、画像特徴量管理テーブルを参照し、参照画像Prの一部に含まれる優先特徴点を抽出する。次いで、範囲設定部241は、抽出した優先特徴点と類似する入力画像Pinの大域特徴点Wfを検出する。次いで、範囲設定部241は、検出した大域特徴点Wfと類似する優先特徴点をもとに統計手法を用いて入力画像Pinにおける参照画像Prの中心位置を特定(推定)する。そして、範囲設定部241は、特定した参照画像Prの中心位置を基準に探索範囲を設定する。
(S204)位置探索部242は、参照画像Prの位置を探索する。例えば、位置探索部242は、範囲設定部241により設定された探索範囲内の局所領域Afと、参照画像Pr内の局所領域Arlとの類似度(例えば、局所特徴量間の距離)を計算する。次いで、位置探索部242は、探索範囲内の局所領域Afに類似する参照画像Pr内の局所領域Arl(対応特徴点)をもとに統計手法を用いて入力画像Pinにおける参照画像Prの存在を判定する。また、位置探索部242は、参照画像Prが存在する入力画像Pin内の位置を検出する。
(S205)判定部204は、記憶部201に格納されている参照画像Prを全て選択し終えたか否かを判定する。全ての参照画像Prを選択し終えた場合、処理はS206へと進む。一方、全ての参照画像Prを選択し終えていない場合、処理はS202へと進む。
(S206)判定部204は、少なくとも1つの参照画像Prが入力画像Pin内に存在したか否かを判定する。少なくとも1つの参照画像Prが入力画像Pin内に存在した場合、処理はS207へと進む。一方、参照画像Prが1つの入力画像Pin内に存在しない場合、処理はS208へと進む。
(S207)判定部204は、入力画像Pin内に存在すると判定された参照画像Prの情報を端末装置100へと送信する。例えば、判定部204は、入力画像Pinにおける参照画像Prの位置や参照画像Prの識別情報(ID)などを端末装置100へと送信する。S207の処理が完了すると、図21に示した一連の処理は終了する。
(S208)判定部204は、入力画像Pin内に参照画像Prが存在しない旨を端末装置100へと通知する。例えば、判定部204は、画像認識の失敗を示すエラー情報を端末装置100へと通知する。S208の処理が完了すると、図21に示した一連の処理は終了する。
(探索範囲の設定)
ここで、図22を参照しながら、S203の処理について、さらに説明する。
(S211)範囲設定部241は、画像特徴量管理テーブルを参照し、参照画像Prの一部に含まれる優先特徴点を1つ選択する。なお、優先特徴点は、最小距離が大きい順に選択された所定数の大域特徴点Wrlである。
(S212)範囲設定部241は、入力画像Pinの大域特徴点Wf毎に、S211で選択した優先特徴点との間の類似度を計算する。類似度を示す指標としては、例えば、局所特徴量間の距離(例えば、ハミング距離)を利用することができる。なお、この距離が小さいほど類似度が高い。
(S213)範囲設定部241は、S212で計算した類似度が最大となる大域特徴点Wfを選択する。そして、範囲設定部241は、S211で選択した優先特徴点を、選択した大域特徴点Wfに対応する対応特徴点に設定する。
(S214)範囲設定部241は、S213で選択した大域特徴点Wfと、設定した対応特徴点とが一致するように入力画像Pinに参照画像Prを重ねた場合の入力画像Pinにおける参照画像Prの中心位置を計算する。
(S215)範囲設定部241は、S214で計算した参照画像Prの中心位置に対応する投票マップの領域に投票する。例えば、投票マップの各領域にはカウンタが設定されており、範囲設定部241は、参照画像Prの中心位置に対応する領域を検出し、検出した領域のカウンタを所定数だけカウントアップする。
(S216)範囲設定部241は、参照画像Prの一部に含まれる全ての優先特徴点を選択したか否かを判定する。参照画像Prの一部に含まれる全ての優先特徴点を選択した場合、処理はS217へと進む。一方、参照画像Prの一部に含まれる全ての優先特徴点を選択していない場合、処理はS211へと進む。
(S217)範囲設定部241は、最大投票数に対応する領域に参照画像Prの中心位置を重ねた場合に参照画像Prが占める範囲を基準に探索範囲を設定する。例えば、範囲設定部241は、最大投票数に対応する投票マップの領域に参照画像Prの中心を重ねた場合に参照画像Prが占める範囲を上下左右に拡大した範囲を探索範囲に設定する。但し、探索範囲は、入力画像Pinの全範囲よりも狭い範囲である。S217の処理が完了すると、図22に示した一連の処理は終了する。
(位置探索)
ここで、図23を参照しながら、S204の処理について、さらに説明する。
(S221)位置探索部242は、画像特徴量管理テーブルを参照し、参照画像Prに含まれる大域特徴点Wrlを1つ選択する。このとき、位置探索部242は、図22の処理で範囲設定部241により選択された優先特徴点以外の大域特徴点Wrlを選択してもよい。
(S222)位置探索部242は、探索範囲の大域特徴点Wf毎に、S221で選択した大域特徴点Wrlとの間の類似度を計算する。類似度を示す指標としては、例えば、局所特徴量間の距離(例えば、ハミング距離)を利用することができる。なお、この距離が小さいほど類似度が高い。
(S223)位置探索部242は、S222で計算した類似度が最大となる大域特徴点Wfを選択する。そして、位置探索部242は、S221で選択した優先特徴点を、選択した大域特徴点Wfに対応する対応特徴点に設定する。
(S224)位置探索部242は、S223で選択した大域特徴点Wfと、設定した対応特徴点とが一致するように入力画像Pinに参照画像Prを重ねた場合の入力画像Pinにおける参照画像Prの中心位置を計算する。
(S225)位置探索部242は、S224で計算した参照画像Prの中心位置に対応する投票マップの領域に投票する。例えば、投票マップの各領域にはカウンタが設定されており、位置探索部242は、参照画像Prの中心位置に対応する領域を検出し、検出した領域のカウンタを所定数だけカウントアップする。
(S226)位置探索部242は、参照画像Prに含まれる全ての優先特徴点を選択したか否かを判定する。参照画像Prに含まれる全ての優先特徴点を選択した場合、処理はS227へと進む。一方、参照画像Prに含まれる全ての優先特徴点を選択していない場合、処理はS221へと進む。
(S227)位置探索部242は、最大投票数が閾値を超えたか否かを判定する。最大投票数が閾値を超えた場合、処理はS229へと進む。一方、最大投票数が閾値を超えていない場合、処理はS228へと進む。
(S228)位置探索部242は、入力画像Pin内に参照画像Prが存在しないと判定する。S228の処理が完了すると、図23に示した一連の処理は終了する。
(S229)位置探索部242は、最大投票数に対応する領域と中心位置が一致するように参照画像Prが存在すると判定し、その中心位置を参照画像Prの存在位置として出力する。S229の処理が完了すると、図23に示した一連の処理は終了する。
(優先特徴点の設定)
ここで、図24を参照しながら、優先特徴点の設定に係る処理の流れについて説明する。なお、図24に示す処理は、記憶部201に参照画像Prが追加されたタイミングや、画像特徴量管理テーブルが更新されたタイミングなどで実行される。
(S231)優先特徴点抽出部202は、記憶部201に格納された参照画像Prの中から1つの参照画像Prを選択する。
(S232)優先特徴点抽出部202は、S231で選択した参照画像Prから2つの大域特徴点Wrl(大域特徴点Wrlのペア)を選択する。
(S233)優先特徴点抽出部202は、S232で選択した大域特徴点Wrlのペアについて、大域特徴点Wrl同士の距離を計算する。例えば、優先特徴点抽出部202は、画像特徴量管理テーブルから、S232で選択した2つの大域特徴点Wrlにそれぞれ対応する局所特徴量を取得する。そして、優先特徴点抽出部202は、取得した2つの局所特徴量のハミング距離を計算し、大域特徴点Wrl同士の距離とする。
(S234)優先特徴点抽出部202は、選択可能な大域特徴点Wrlのペアを全て選択し終えたか否かを判定する。選択可能な大域特徴点Wrlのペアを全て選択し終えた場合、処理はS235へと進む。一方、選択可能な大域特徴点Wrlのペアを全て選択し終えていない場合、処理はS232へと進む。
(S235)優先特徴点抽出部202は、大域特徴点Wrl毎に計算した距離の中から最小となる距離(最小距離)を抽出する。
(S236)優先特徴点抽出部202は、S235で抽出した最小距離を画像特徴量管理テーブルに記録する。
(S237)優先特徴点抽出部202は、画像特徴量管理テーブルを最小距離が小さい順にソートする。このソート処理により、画像特徴量管理テーブルの中で最小距離が小さいレコードが上位に配置される。優先特徴点抽出部202は、画像特徴量管理テーブルの上位m個(mは予め設定された任意の数)のレコードに対応する大域特徴点Wrlを優先特徴点に設定する。
(S238)優先特徴点抽出部202は、記憶部201に格納された全ての参照画像Prを選択したか否かを判定する。全ての参照画像Prを選択した場合、図24に示した一連の処理は終了する。一方、全ての参照画像Prを選択していない場合、処理はS231へと進む。
以上、サーバ装置200が実行する処理の流れについて説明した。
[2−6.変形例#1(最小距離の閾値判定に基づく優先特徴点の設定)]
これまで、優先特徴点抽出部202は、画像特徴量管理テーブルに含まれる上位m個のレコードに対応する参照画像Prの大域特徴点Wrlを優先特徴点としていた。ここでは、第2実施形態の一変形例(変形例#1)として、画像特徴量管理テーブルに含まれるレコードの中で最小距離が閾値より大きいレコードに対応する参照画像Prの大域特徴点Wrlを優先特徴点とする方法を提案する。なお、閾値は予め設定される。
変形例#1の方法を適用する場合、優先特徴点抽出部202の機能及び動作が変形される。例えば、図24に示した処理のうち、S237に係る処理が変形される。この場合、優先特徴点抽出部202は、画像特徴量管理テーブルに記載された最小距離と予め設定した閾値とを比較し、最小距離が閾値よりも大きいレコードに対応する大域特徴点Wrlを優先特徴点に設定する。但し、最小距離が閾値よりも大きいレコードの数が予め設定した数よりも少ない場合、優先特徴点抽出部202は、図24のS237に記載された処理を実行する。
以上、変形例#1について説明した。このような変形例も第2実施形態に係る技術的範囲に属する。
[2−7.変形例#2(単独システム)]
次に、図25を参照しながら、第2実施形態の一変形例(以下、変形例#2)に係る情報処理装置の機能について説明する。なお、図25は、第2実施形態の一変形例に係る情報処理装置の機能について説明するためのブロック図である。また、図25に例示した情報処理装置300は、変形例#2に係る情報処理装置の一例である。また、情報処理装置300の機能は、図3に示した端末装置100のハードウェアと同じハードウェア資源を利用して実現可能である。
これまで、端末装置100が入力画像Pinから局所特徴量を抽出し、サーバ装置200がランドマークを認識するシステムについて説明してきた。変形例#2では、1台の情報処理装置300で局所特徴量の抽出からランドマークの認識までの処理を実行するシステム(単独システム)について説明する。
図25に示すように、情報処理装置300は、記憶部301、優先特徴点抽出部302、画像取得部303、大域特徴点設定部304、局所特徴量計算部305、及び判定部306を有する。なお、記憶部301の機能は、上述したRAM906や記憶部920などを用いて実現できる。優先特徴点抽出部302、画像取得部303、大域特徴点設定部304、局所特徴量計算部305、及び判定部306の機能は、上述したCPU902などを用いて実現できる。
(局所特徴点情報及び参照画像情報について)
記憶部301は、局所特徴点情報301a、及び参照画像情報301bを記憶している。また、記憶部301は、ランドマークの認識に用いる参照画像Prを記憶している。なお、局所特徴点情報301aは、上述した局所特徴点情報101aに対応する。また、参照画像情報301bは、上述した参照画像情報201bに対応する。
局所特徴点情報301aは、予め設定したサイズの矩形領域に設定した局所特徴点の位置を表す位置情報を含む。例えば、矩形領域は、32画素×32画素などのサイズに設定される。また、局所特徴点はそれぞれ他の局所特徴点と対応付けられており、2つの局所特徴点で1つの点ペアを成している。つまり、局所特徴点情報301aには複数の点ペアに関する位置情報が含まれる。また、点ペアLk(k=1、2、…)には、それぞれ回転角度の情報が対応付けられる。
参照画像情報301bは、参照画像管理テーブル及び画像特徴量管理テーブルを含む。参照画像管理テーブルは、ランドマーク名と参照画像Prの画像データへのリンク(画像データリンク)とを対応付けるテーブルである。参照画像管理テーブルのレコードは、識別番号ID#1により識別される。画像特徴量管理テーブルは、参照画像Prに設定された大域特徴点の座標と、参照画像Prの大域特徴点毎に計算された局所特徴量と、最小距離とを対応付けるテーブルである(図10を参照)。
最小距離は、優先特徴点抽出部302により計算される。例えば、優先特徴点抽出部302は、Dense Samplingにより参照画像PrからN個の大域特徴点を抽出し、抽出した大域特徴点の周囲に局所領域Ar001、…、ArNを設定する。そして、優先特徴点抽出部202は、局所領域Ar001、…、ArNの局所特徴量を計算し、局所領域Ari、Arj(i≠j、i,j=1,…,N)間で局所特徴量の距離(例えば、ハミング距離)を計算する。この距離は、局所領域Ari、Arj間の類似度の低さを示している。つまり、距離が小さいほど、類似度が高い。
次いで、優先特徴点抽出部302は、局所領域Ar001、…、ArNのそれぞれについて、計算した距離の最小値(最小距離)を抽出する。例えば、優先特徴点抽出部302は、ID#2が001の局所領域Ar001と、他の局所領域Ark(k=002,…,N)との距離の中から最小距離を抽出し、画像特徴量管理テーブル(図10を参照)に記録する。このようにして優先特徴点抽出部302により計算された最小距離は、画像特徴量管理テーブル(図10を参照)に記録される。また、優先特徴点抽出部302は、最小距離が大きい順に画像特徴量管理テーブルのレコードをソートする。
(大域特徴点の設定について)
画像取得部303は、ランドマークの認識対象となる画像(入力画像Pin)を取得する。例えば、画像取得部303は、情報処理装置300のカメラ機能又は情報処理装置300に接続されたカメラを用いて入力画像Pinを取得する。但し、画像取得部303は、ネットワークに接続された情報源又は情報処理装置300にセットされた可搬性記録媒体から入力画像Pinを取得してもよい。画像取得部303により取得された入力画像Pinは、記憶部301に格納される。
記憶部301に格納された入力画像Pinは、大域特徴点設定部304により読み出される。大域特徴点設定部304は、入力画像Pinに大域特徴点Wf(f=1、2、…)を設定する。例えば、大域特徴点設定部304は、等間隔で特徴点を抽出するDense Samplingに基づいて入力画像Pinに大域特徴点Wf(f=1、2、…)を設定する。なお、FASTに基づく設定方法などを採用することもできる。大域特徴点設定部304により設定された大域特徴点Wf(f=1、2、…)は、局所特徴量計算部305に入力される。
(局所特徴量の計算について)
局所特徴量計算部305は、局所特徴点情報301aを利用して局所特徴量を計算する。まず、局所特徴量計算部305は、大域特徴点Wfの周辺に予め設定したサイズの矩形領域(局所領域Af)を設定する。局所領域Afのサイズは、例えば、局所特徴点を設定した矩形領域と同じサイズ(例えば、32画素×32画素など)に設定される。また、局所領域Afの中心が大域特徴点Wfに一致するように局所領域Afが設定されてもよい。
局所領域Afを設定した局所特徴量計算部305は、局所特徴点情報301aを参照し、局所領域Afの画像(入力画像Pinの一部)から局所特徴点が位置する画素の輝度値を抽出する。次いで、局所特徴量計算部305は、点ペアLk(k=1、2、…)毎に輝度値の差分を計算する。次いで、局所特徴量計算部305は、計算した差分の符号が正値か負値かを判定し、正値の場合にはビット値1を出力し、負値の場合にはビット値0を出力する。
例えば、局所特徴量計算部305は、点ペアL1、L2、…の順に上記差分の符号に応じたビット値を決定し、決定したビット値を並べたビット列を局所特徴量として出力する。局所特徴量計算部305は、全ての大域特徴点Wf(f=1、2、…)について局所特徴量を計算し、計算結果を判定部306に入力する。
(範囲設定及び位置探索について)
判定部306は、入力画像Pinの画像特徴量と、参照画像Prの画像特徴量(画像特徴量管理テーブルに記載された局所特徴量の集合)とを利用して、入力画像Pinの中に参照画像Prが存在するか否かを判定する。判定部306は、類似度計算機能及び投票機能を有する。また、判定部306は、範囲設定部361及び位置探索部362を含む。
(範囲設定時の類似度計算について)
範囲設定部361は、入力画像Pinの大域特徴点Wfに対応する局所領域Afと類似する参照画像Pr中の局所領域Arlを検出する。このとき、範囲設定部361は、参照画像Prの一部(例えば、1/4など)に含まれる優先特徴点に対応する局所領域Arlの中から、局所領域Afと類似する局所領域Arlを検出する。そして、範囲設定部361は、入力画像Pinの大域特徴点Wfに対応する参照画像Prの大域特徴点(対応特徴点)を決定する。
例えば、範囲設定部361は、画像特徴量管理テーブルを参照し、参照画像Prの一部に含まれる優先特徴点を1つ選択する。また、範囲設定部361は、入力画像Pinから大域特徴点Wfを1つ選択する。次いで、範囲設定部361は、選択した大域特徴点Wfに対応する局所特徴量を画像特徴量から抽出する。次いで、範囲設定部361は、選択した優先特徴点の局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離(例えば、ハミング距離)を計算する。
同様に、範囲設定部361は、入力画像Pinに含まれる全ての大域特徴点Wfについて、優先特徴点の局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離を計算する。そして、範囲設定部361は、選択した大域特徴点Wfと優先特徴点との組み合わせの中から距離が最小となる組み合わせを抽出する。
また、範囲設定部361は、抽出した組み合わせに対応する距離が予め設定した閾値よりも大きいか否かを判定する。対応する距離が予め設定した閾値より小さい場合、範囲設定部361は、その組み合わせに含まれる優先特徴点を、選択した大域特徴点Wfに対応する対応特徴点とする。一方、対応する距離が予め設定した閾値より大きい場合、範囲設定部361は、選択した大域特徴点Wfに対する対応特徴点が存在しないと判定する。
同様に、範囲設定部361は、参照画像Prの一部に含まれる全ての優先特徴点について入力画像Pinに含まれる全ての大域特徴点Wfとの間の距離を計算し、対応特徴点となる優先特徴点と、入力画像Pinの大域特徴点Wfとの組み合わせを抽出する。
(範囲設定時の投票処理について)
範囲設定部361は、抽出した全ての組み合わせについて、入力画像Pinの大域特徴点Wfと対応特徴点とが一致するように参照画像Prを入力画像Pinに重ねた場合の入力画像Pinにおける参照画像Prの中心位置(Xv,Yv)を計算する。次いで、範囲設定部361は、計算した参照画像Prの中心位置に基づく統計的手法により入力画像Pinにおける参照画像Prの存在範囲を推定する。但し、ここで推定する参照画像Prの存在範囲は、参照画像Prの存在を前提とするものではなく、参照画像Prが存在する可能性のある範囲を意味する。
範囲設定部361は、例えば、統計的手法として、投票マップを用いる方法を利用する。この場合、範囲設定部361は、計算した参照画像Prの中心位置が投票マップのどの領域に位置するかを判定する。投票マップの各領域にはカウンタが設定されており、範囲設定部361は、参照画像Prの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップする。同様に、範囲設定部361は、全ての対応特徴点に対応する参照画像Prの中心位置について投票マップへのカウント処理を実行する。そして、範囲設定部361は、カウント値が最大の領域を投票マップから抽出する。
範囲設定部361は、投票マップから抽出した領域を基準に、参照画像Prの探索を行う探索範囲を入力画像Pinに設定する。例えば、範囲設定部361は、投票マップから抽出した領域に参照画像Prの中心を重ねた場合に参照画像Prが占める範囲を計算し、その範囲を上下左右に拡大した範囲を探索範囲に設定する。但し、探索範囲は、入力画像Pinの全範囲よりも狭い範囲である。なお、拡大の度合いは、例えば、予め設定された拡大率や拡大幅に基づいて決定される。
範囲設定部361により設定された探索範囲は、位置探索部362に通知される。位置探索部362は、探索範囲内で参照画像Prの存在及びその位置を検出する。
(位置探索時の類似度計算について)
位置探索部362は、探索範囲内の大域特徴点Wfに対応する局所領域Afと類似する参照画像Pr中の局所領域Arlを検出する。このとき、位置探索部362は、参照画像Prに含まれる全ての大域特徴点Wrlについて、大域特徴点Wrlに対応する局所領域Arlと類似する探索範囲内の局所領域Afを検出する。
なお、参照画像Prの大域特徴点Wrlのうち、参照画像Prの一部に含まれる優先特徴点については範囲設定部361により対応特徴点の検出が済んでいる。そのため、位置探索部362は、参照画像Prの大域特徴点Wrlのうち、範囲設定部361が対応特徴点の検出時に用いていない大域特徴点Wrlについて、探索範囲内の局所領域Afと類似する局所領域Arlを検出する。そして、位置探索部362は、対応特徴点と入力画像Pinの大域特徴点Wfとの組み合わせを決定する。
例えば、位置探索部362は、画像特徴量管理テーブルを参照し、参照画像Prに含まれる大域特徴点Wrlを1つ選択する。また、位置探索部362は、探索範囲から大域特徴点Wfを1つ選択する。次いで、位置探索部362は、選択した大域特徴点Wfに対応する局所特徴量を画像特徴量から抽出する。次いで、位置探索部362は、選択した大域特徴点Wrlの局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離(例えば、ハミング距離)を計算する。
同様に、位置探索部362は、探索範囲に含まれる全ての大域特徴点Wfについて、大域特徴点Wrlの局所特徴量と、画像特徴量から抽出した局所特徴量との間の距離を計算する。そして、位置探索部362は、選択した大域特徴点Wf、Wrlの組み合わせの中から距離が最小となる組み合わせを抽出する。
また、位置探索部362は、抽出した組み合わせに対応する距離が予め設定した閾値よりも大きいか否かを判定する。対応する距離が予め設定した閾値より小さい場合、位置探索部362は、その組み合わせに含まれる大域特徴点Wrlを、選択した大域特徴点Wfに対応する対応特徴点とする。一方、対応する距離が予め設定した閾値より大きい場合、位置探索部362は、選択した大域特徴点Wfに対する対応特徴点が存在しないと判定する。
同様に、位置探索部362は、参照画像Prに含まれる他の大域特徴点Wrlについても探索範囲に含まれる全ての大域特徴点Wfとの間の距離を計算し、対応特徴点となる大域特徴点Wrlと、探索範囲の大域特徴点Wfとの組み合わせを抽出する。さらに、位置探索部362は、範囲設定部361により検出された対応特徴点の情報(対応特徴点となる優先特徴点と探索範囲の大域特徴点Wfとの組み合わせ)を保持する。
(位置探索時の投票処理について)
位置探索部362は、抽出した組み合わせに基づいて、探索範囲の大域特徴点Wfと参照画像Prの対応特徴点とが一致するように参照画像Prを入力画像Pinに重ねた場合の入力画像Pinにおける参照画像Prの中心位置(Xv,Yv)を計算する。次いで、位置探索部362は、計算した参照画像Prの中心位置に基づく統計的手法により探索範囲内に参照画像Prが存在するか否かを判定する。例えば、位置探索部362は、計算した参照画像Prの中心位置が投票マップのどの領域に位置するかを判定する。
投票マップの各領域にはカウンタが設定されており、位置探索部362は、参照画像Prの中心位置に対応する領域を検出した場合、検出した領域のカウンタを所定数だけカウントアップする。なお、位置探索部362は、全ての対応特徴点に対応する参照画像Prの中心位置について投票マップへのカウント処理を実行する。カウント処理が完了すると、位置探索部362は、カウント値が最大の領域を投票マップから抽出し、抽出した領域に対応するカウント値と予め設定した閾値とを比較する。
カウント値が閾値よりも大きい場合、位置探索部362は、入力画像Pin中に参照画像Prに対応するランドマークが存在すると判定する。一方、カウント値が閾値よりも小さい場合、位置探索部362は、入力画像Pin中に参照画像Prに対応するランドマークが存在しないと判定する。このように、投票マップを利用して判定を行うことで、入力画像Pinと参照画像Prとの間に、ある程度の差異があっても、ロバストな判定を行うことができる。
(判定結果の利用について)
判定部306は、入力画像Pinに対するランドマークの認識結果を出力する。認識結果の出力方法としては、例えば、認識したランドマークの画像表示、ランドマークに関する情報表示、ランドマークの所在値を示す地図表示、ランドマークに関連する他のランドマークの表示などが考えられる。
また、判定部306は、入力画像Pinにランドマークのタグ情報を付加し、ランドマーク毎に作成したフォルダに入力画像Pinを格納したり、ランドマーク名をキーワードに入力画像Pinを検索したりできるようにする。
以上、情報処理装置300の機能について説明した。
以上、第2実施形態について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
例えば、上記説明においてはランドマークの認識機能を例に説明を進めてきたが、画像の類否判定を伴う任意のアプリケーションプログラムなどに応用することもできる。例えば、サーバ装置200で顔認識を行うアプリケーションプログラムやAR(Augmented Reality)を利用したアプリケーションプログラムなどにも応用できる。
<3.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部と、
前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて対象画像に含まれる前記参照画像の位置を特定し、特定した前記位置を基準に前記対象画像の全体よりも狭い探索範囲を設定し、設定した前記探索範囲を対象に前記参照画像の全体に含まれる前記特徴領域の前記特徴に基づいて前記参照画像の有無を判断する演算部と、
を有する、情報処理装置。
(付記2) 前記演算部は、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、
前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が小さい順に、設定した数の前記特徴領域を抽出し、
抽出した前記特徴領域のうち前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて前記対象画像に含まれる前記参照画像の位置を特定する
付記1に記載の情報処理装置。
(付記3) 前記演算部は、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、
前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が、設定した閾値よりも小さい前記特徴領域を抽出し、
抽出した前記特徴領域のうち前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて前記対象画像に含まれる前記参照画像の位置を特定する
付記1に記載の情報処理装置。
(付記4) 前記演算部は、
前記探索範囲を対象に前記参照画像の全体に含まれる全ての前記特徴領域の前記特徴に基づいて前記参照画像の有無を判断する
付記2又は3に記載の情報処理装置。
(付記5) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部から、前記特徴を取得可能なコンピュータが、
前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて対象画像に含まれる前記参照画像の位置を特定し、特定した前記位置を基準に前記対象画像の全体よりも狭い探索範囲を設定し、設定した前記探索範囲を対象に前記参照画像の全体に含まれる前記特徴領域の前記特徴に基づいて前記参照画像の有無を判断する
画像探索方法。
(付記6) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部から、前記特徴を取得可能なコンピュータに、
前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて対象画像に含まれる前記参照画像の位置を特定し、特定した前記位置を基準に前記対象画像の全体よりも狭い探索範囲を設定し、設定した前記探索範囲を対象に前記参照画像の全体に含まれる前記特徴領域の前記特徴に基づいて前記参照画像の有無を判断する
処理を実行させる、プログラム。
(付記7) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部と、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が小さい順に、設定した数の前記特徴領域を前記記憶部に記憶させる演算部と、
を有する、情報処理装置。
(付記8) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部から、前記特徴を取得可能なコンピュータが、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が小さい順に、設定した数の前記特徴領域を前記記憶部に記憶させる
情報処理方法。
(付記9) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部から、前記特徴を取得可能なコンピュータに、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が小さい順に、設定した数の前記特徴領域を前記記憶部に記憶させる
処理を実行させる、プログラム。
(付記10) 付記6に記載のプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
(付記11) 付記9に記載のプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
(付記12) 前記参照画像の位置を特定する処理は、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、
前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が小さい順に、設定した数の前記特徴領域を抽出し、
抽出した前記特徴領域のうち前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて前記対象画像に含まれる前記参照画像の位置を特定する処理を含む、
付記5に記載の画像探索方法。
(付記13) 前記参照画像の位置を特定する処理は、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、
前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が、設定した閾値よりも小さい前記特徴領域を抽出し、
抽出した前記特徴領域のうち前記参照画像の一部に含まれる前記特徴領域の前記特徴に基づいて前記対象画像に含まれる前記参照画像の位置を特定する処理を含む、
付記5に記載の画像探索方法。
(付記14) 前記参照画像の有無を判断する処理は、
前記探索範囲を対象に前記参照画像の全体に含まれる全ての前記特徴領域の前記特徴に基づいて前記参照画像の有無を判断する処理を含む、
付記12又は13に記載の画像探索方法。
(付記15) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部と、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が、設定した閾値よりも小さい前記特徴領域を前記記憶部に記憶させる演算部と、
を有する、情報処理装置。
(付記16) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部から、前記特徴を取得可能なコンピュータが、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が、設定した閾値よりも小さい前記特徴領域を前記記憶部に記憶させる
情報処理方法。
(付記17) 参照画像に設定された複数の特徴領域がそれぞれ有する特徴を記憶する記憶部から、前記特徴を取得可能なコンピュータに、
前記参照画像に含まれる前記特徴領域毎に当該参照画像に含まれる他の前記特徴領域との間で前記特徴の類似度を計算し、前記複数の特徴領域のそれぞれについて前記特徴領域毎に計算した前記類似度の最大値が、設定した閾値よりも小さい前記特徴領域を前記記憶部に記憶させる
処理を実行させる、プログラム。
(付記18) 付記17に記載のプログラムが記録された、コンピュータにより読み取り可能な記録媒体。