(57)【要約】  情報処理装置（２０００）は、特徴点検出部（２０２０）、特定部（２０４０）、抽出部（２０６０）、及び照合部（２０８０）を有する。特徴点検出部（２０２０）は、クエリ画像から複数の特徴点を検出する。特定部（２０４０）は、特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する。抽出部（２０６０）は、上記特定の結果に基づき、クエリ画像においてオブジェクトを含むと推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する。照合部（２０８０）は、オブジェクト領域と、そのオブジェクト領域に対応付けられたオブジェクト画像とを照合することで、そのオブジェクト領域に含まれるオブジェクトを特定する。
2019092782.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトが含まれるクエリ画像を取得し、前記取得したクエリ画像から複数の特徴点を検出する特徴点検出手段と、
前記特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定手段と、
前記特定の結果に基づき、前記クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出手段と、
前記オブジェクト領域と、そのオブジェクト領域と対応づけられた前記オブジェクト画像とを照合して、前記オブジェクト領域に含まれるオブジェクトを特定する照合手段と、
を有する情報処理装置。
【請求項２】
前記特定手段は、或る前記オブジェクト画像に含まれる特徴点の局所特徴量が、前記クエリ画像内の特徴点の局所特徴量と近似する場合に、そのオブジェクト画像を、前記クエリ画像内のその特徴点を含むと推定されるオブジェクト画像として特定する、請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記オブジェクト画像に含まれる特徴点のうちの一部について、その特徴点の局所特徴量と、前記クエリ画像内の特徴点の局所特徴量との近似度合いを算出する、請求項２に記載の情報処理装置。
【請求項４】
前記特定手段は、前記オブジェクト画像に含まれる特徴点の局所特徴量を構成するベクトルの一部と、前記クエリ画像内の特徴点の局所特徴量を構成するベクトルの一部との距離値を前記近似度合いとして算出する、請求項３に記載の情報処理装置。
【請求項５】
各前記オブジェクト画像の画像識別子は、そのオブジェクト画像に含まれる各特徴点の局所特徴量を用いて算出されたインデックス値と対応づけられて記憶装置に記憶されており、
前記特定手段は、前記クエリ画像内の特徴点の局所特徴量からインデックス値を算出し、そのインデックス値と対応づけて記憶されている前記画像識別子を持つオブジェクト画像を、その特徴点を含むと推定される前記オブジェクト画像として特定する、請求項１又は２に記載の情報処理装置。
【請求項６】
前記抽出手段は、前記クエリ画像内の前記特徴点に対応する画像位置をその特徴点の投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を対応付け、同一の前記オブジェクト画像が対応づけられた投票位置を所定数以上含む前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項７】
前記抽出手段は、前記クエリ画像内の前記特徴点に対応する画像位置を投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を、重みを付して対応付け、同一の前記オブジェクト画像が対応づけられた投票位置に付された重みの合計が所定値以上となる前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項８】
前記特徴点の投票位置は、その特徴点の画像位置である、請求項６又は７に記載の情報処理装置。
【請求項９】
前記オブジェクト画像において、
参照点の位置を始点とする参照ベクトルが定められており、
特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルが定められており、
前記抽出手段は、
前記クエリ画像内の特徴点について、その特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルを算出し、
前記クエリ画像内の特徴点を含むと推定された前記オブジェクト画像においてその特徴点に相当する特徴点の特徴ベクトルを前記参照ベクトルに変換する変換式を、前記クエリ画像内のその特徴点の特徴ベクトルに適用することで、その特徴ベクトルを変換し、前記変換後のそのベクトルの始点を、前記クエリ画像内のその特徴点の投票位置とする、画像位置とする、請求項６又は７に記載の情報処理装置。
【請求項１０】
コンピュータによって実行される制御方法であって、
複数のオブジェクトが含まれるクエリ画像を取得し、前記取得したクエリ画像から複数の特徴点を検出する特徴点検出ステップと、
前記特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定ステップと、
前記特定の結果に基づき、前記クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出ステップと、
前記オブジェクト領域と、そのオブジェクト領域と対応づけられた前記オブジェクト画像とを照合して、前記オブジェクト領域に含まれるオブジェクトを特定する照合ステップと、
を有する制御方法。
【請求項１１】
前記特定ステップにおいて、或る前記オブジェクト画像に含まれる特徴点の局所特徴量が、前記クエリ画像内の特徴点の局所特徴量と近似する場合に、そのオブジェクト画像を、前記クエリ画像内のその特徴点を含むと推定されるオブジェクト画像として特定する、請求項１０に記載の制御方法。
【請求項１２】
前記特定ステップにおいて、前記オブジェクト画像に含まれる特徴点のうちの一部について、その特徴点の局所特徴量と、前記クエリ画像内の特徴点の局所特徴量との近似度合いを算出する、請求項１１に記載の制御方法。
【請求項１３】
前記特定ステップにおいて、前記オブジェクト画像に含まれる特徴点の局所特徴量を構成するベクトルの一部と、前記クエリ画像内の特徴点の局所特徴量を構成するベクトルの一部との距離値を前記近似度合いとして算出する、請求項１２に記載の制御方法。
【請求項１４】
各前記オブジェクト画像の画像識別子は、そのオブジェクト画像に含まれる各特徴点の局所特徴量を用いて算出されたインデックス値と対応づけられて記憶装置に記憶されており、
前記特定ステップにおいて、前記クエリ画像内の特徴点の局所特徴量からインデックス値を算出し、そのインデックス値と対応づけて記憶されている前記画像識別子を持つオブジェクト画像を、その特徴点を含むと推定される前記オブジェクト画像として特定する、請求項１０又は１１に記載の制御方法。
【請求項１５】
前記抽出ステップにおいて、前記クエリ画像内の前記特徴点に対応する画像位置をその特徴点の投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を対応付け、同一の前記オブジェクト画像が対応づけられた投票位置を所定数以上含む前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、請求項１０乃至１４いずれか一項に記載の制御方法。
【請求項１６】
前記抽出ステップにおいて、前記クエリ画像内の前記特徴点に対応する画像位置を投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を、重みを付して対応付け、同一の前記オブジェクト画像が対応づけられた投票位置に付された重みの合計が所定値以上となる前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、請求項１０乃至１４いずれか一項に記載の制御方法。
【請求項１７】
前記特徴点の投票位置は、その特徴点の画像位置である、請求項１５又は１６に記載の制御方法。
【請求項１８】
前記オブジェクト画像において、
参照点の位置を始点とする参照ベクトルが定められており、
特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルが定められており、
前記抽出ステップにおいて、
前記クエリ画像内の特徴点について、その特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルを算出し、
前記クエリ画像内の特徴点を含むと推定された前記オブジェクト画像においてその特徴点に相当する特徴点の特徴ベクトルを前記参照ベクトルに変換する変換式を、前記クエリ画像内のその特徴点の特徴ベクトルに適用することで、その特徴ベクトルを変換し、前記変換後のそのベクトルの始点を、前記クエリ画像内のその特徴点の投票位置とする、画像位置とする、請求項１５又は１６に記載の制御方法。
【請求項１９】
請求項１０乃至１８いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像解析に関する。
【背景技術】
【０００２】
画像に含まれるオブジェクトを特定する技術が開発されている。例えば特許文献１には、第１の画像から検出される複数の特徴点をクラスタリングし、第１の画像から検出される特徴点の特徴量と、照合対象とする第２の画像に含まれる特徴点の特徴量との照合を、クラスタ単位で行う技術を開示している。また、特許文献２は、特徴量に対して近似の特徴量の列を対応づけたインデックステーブルを使って、クエリ画像に含まれる特徴点を含む画像の候補を絞り込んだ後で、クエリ画像と各候補画像とを照合するという技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１４／００２５５４号
【特許文献２】特開２００８−２８７４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、各クラスタを全ての第２の画像と比較する必要があるため、各クラスタにおける照合処理に要する時間が長くなる。特許文献２は、クエリ画像に含まれるオブジェクトが１つであることを想定しており、クエリ画像に複数のオブジェクトが含まれるケースについては言及していない。【０００５】
本発明は、以上の問題点に鑑みてなされたものである。本発明の目的の一つは、クエリ画像に複数のオブジェクトが含まれている場合において、クエリ画像に含まれる各オブジェクトを特定するために要する時間を短くする技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、１）複数のオブジェクトが含まれるクエリ画像を取得し、取得したクエリ画像から複数の特徴点を検出する特徴点検出手段と、２）特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定手段と、３）特定の結果に基づき、クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出手段と、４）オブジェクト領域と、そのオブジェクト領域と対応づけられたオブジェクト画像とを照合して、オブジェクト領域に含まれるオブジェクトを特定する照合手段と、を有する。【０００７】
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、１）複数のオブジェクトが含まれるクエリ画像を取得し、取得したクエリ画像から複数の特徴点を検出する特徴点検出ステップと、２）特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定ステップと、３）特定の結果に基づき、クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出ステップと、４）オブジェクト領域と、そのオブジェクト領域と対応づけられたオブジェクト画像とを照合して、オブジェクト領域に含まれるオブジェクトを特定する照合ステップと、を有する。【０００８】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【０００９】
本発明によれば、クエリ画像に複数のオブジェクトが含まれている場合において、クエリ画像に含まれる各オブジェクトを特定するために要する時間を短くする技術が提供される。
【図面の簡単な説明】
【００１０】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１１】
【図１】情報処理装置が処理対象とするクエリ画像を例示する図である。
【図２】クエリ画像に含まれる特徴点を例示する図である。
【図３】特徴点４０を含むと推定されるオブジェクト画像が特定された状況を例示する図である。
【図４】オブジェクト領域を例示する図である。
【図５】オブジェクト領域とオブジェクト画像との照合を例示する図である。
【図６】実施形態１に係る情報処理装置の機能構成の例を示すブロック図である。
【図７】情報処理装置を実現するための計算機を例示する図である。
【図８】実施形態１の情報処理装置によって実行される処理の流れを例示するフローチャートである。
【図９】インデックステーブルを例示する図である。
【図１０】投票位置が画像識別子ごとにクラスタリングされた様子を例示する図である。
【図１１】投票数が所定数以上のブロックをオブジェクト領域として抽出するケースを例示する図である。
【図１２】階層的に構成されたブロックを例示する図である。
【図１３】オブジェクト画像の参照位置に基づいて、特徴点に対応する投票位置が決定されるケースを例示する図である。
【図１４】特徴ベクトルと参照ベクトルを利用して、特徴点に対応する投票位置を算出する方法を例示する図である。
【図１５】特徴点に対応する投票位置が近い位置に集まる様子を例示する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１３】
［実施形態１］
＜情報処理装置２０００の動作の概要＞
図１から図５は、実施形態１に係る情報処理装置（後述する図２などに示す情報処理装置２０００）の動作を概念的に説明するための図である。なお図１から図５は、情報処理装置２０００の動作の理解を容易にすることを目的とする例示のための図であり、情報処理装置２０００の動作は図１によって何ら限定されない。
【００１４】
情報処理装置２０００は、クエリ画像を取得する。図１は、情報処理装置２０００が処理対象とするクエリ画像を例示する図である。クエリ画像１０は、複数のオブジェクトが含まれる画像データである。例えば図１において、クエリ画像１０には、オブジェクト２０−１、オブジェクト２０−２、及びオブジェクト２０−３が含まれる。オブジェクトには、任意のものを採用できる。例えばオブジェクトは、店舗で販売される商品である。
【００１５】
情報処理装置２０００は、クエリ画像１０に含まれる各オブジェクトを特定する処理を行う。前提として、各オブジェクトに関する情報であるオブジェクト情報が用意されているとする。オブジェクト情報は、オブジェクトごとに、「オブジェクトの識別子、オブジェクト画像の画像識別子、オブジェクト画像内の各特徴点の局所特徴量」を示している。
【００１６】
オブジェクトの識別子は、例えばオブジェクトの名称（商品名など）や、オブジェクトに割り与えられたコード（例えば JAN（Japanese Article Number）コードなど）である。オブジェクト画像の画像識別子は、例えば、オブジェクト画像の画像ファイルのファイル名である。特徴点は、例えば、クエリ画像１０内の座標位置で表される。図１において、Pij は特徴点の座標位置を表している。fij は位置 Pij の特徴点の局所特徴量を表している（i と j はいずれも整数）。
【００１７】
情報処理装置２０００は、クエリ画像１０から複数の特徴点を検出する。図２は、クエリ画像１０に含まれる特徴点を例示する図である。図２では、特徴点はバツ印で表されており、符号４０が付されている。
【００１８】
情報処理装置２０００は、クエリ画像１０内の特徴点４０と、各オブジェクト画像内の特徴点とを比較することで、クエリ画像１０に含まれるオブジェクトを特定する。ただしこの際、情報処理装置２０００は、クエリ画像１０内の特徴点４０と各オブジェクト画像内の特徴点とを総当たりで比較するのではなく、比較に利用する特徴点を絞り込む。具体的には、以下の処理を行う。
【００１９】
まず情報処理装置２０００は、クエリ画像１０内の特徴点４０ごとに、その特徴点４０が含まれると推定される１つ以上のオブジェクト画像を特定する。この特定は、例えば局所特徴量からオブジェクト画像を検索できるように構成されたインデックステーブルを利用するなど、特徴点同士を総当たりで比較するよりも高速に行える方法で行われる。その具体的な方法については後述する。
【００２０】
図３は、特徴点４０ごとに、その特徴点４０を含むと推定されるオブジェクト画像が特定された状況を例示する図である。図３のクエリ画像１０では、図２における特徴点４０の位置に、カッコで括られた数値が示されている。この数値は、オブジェクト画像の画像識別子を示している。例えば、[1] が示されている位置の特徴点４０を含むと推定されるオブジェクト画像の画像識別子が１であることを示している。以下、識別子が i であるオブジェクト画像を、オブジェクト画像ｉとも表記する。また、オブジェクト画像ｉによって表されるオブジェクトを、オブジェクトｉと表記する。また、或る特徴点を含むと推定されたオブジェクト画像を、「その特徴点に対応するオブジェクト画像」とも表記する。
【００２１】
ここで、対応するオブジェクト画像が共通している特徴点を包含する画像領域は、そのオブジェクト画像のオブジェクトを表す画像領域である蓋然性が高いと言える。例えば図３において、[1] が示されている特徴点を包含する画像領域は、オブジェクト画像ｉによって表されるオブジェクト（すなわちオブジェクト１）を表す画像領域である蓋然性が高い。
【００２２】
そこで情報処理装置２０００は、特徴点４０とオブジェクト画像との対応関係に基づき、クエリ画像１０においてオブジェクトが含まれると推定される画像領域（以下、オブジェクト領域）を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する。図４はオブジェクト領域を例示する図である。図４において、オブジェクト領域は符号５０で表されている。図３に示した特徴点４０とオブジェクト画像との対応関係により、オブジェクト領域５０−１、オブジェクト領域５０−２、及びオブジェクト領域５０−３のそれぞれが、オブジェクト画像１、オブジェクト画像２、及びオブジェクト画像３と対応づけて抽出される。
【００２３】
情報処理装置２０００は、上述のようにして得られた対応付けについて照合を行うことで、オブジェクト領域５０に含まれるオブジェクトを特定する。図５は、オブジェクト領域５０とオブジェクト画像との照合を例示する図である。オブジェクト領域５０−１、オブジェクト領域５０−２、及びオブジェクト領域５０−３はそれぞれ、オブジェクト画像１、オブジェクト画像２、及びオブジェクト画像３と照合される。その結果、情報処理装置２０００は、クエリ画像１０にオブジェクト１、オブジェクト２、及びオブジェクト３が含まれていることを特定する。
【００２４】
＜作用・効果＞
本実施形態の情報処理装置２０００によれば、クエリ画像１０内の各特徴点４０について、その特徴点４０を含むと推定されるオブジェクト画像が特定される。さらに、特徴点４０とオブジェクト画像との対応関係に基づいて、クエリ画像１０から、オブジェクトを含むと推定されるオブジェクト領域が、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像に対応づけて特定される。そして、オブジェクト領域と、そのオブジェクト領域に対応づけられたオブジェクト画像とを照合することにより、オブジェクト領域に含まれるオブジェクトが特定される。
【００２５】
ここで、特徴点４０が含まれると推定されるオブジェクト画像の特定は、オブジェクト領域とオブジェクト画像との照合よりも高速な手法を用いて行われる。例えば特徴点４０が含まれると推定されるオブジェクト画像はインデックステーブルを利用して特定される一方で、オブジェクト領域とオブジェクト画像との照合は特徴点同士の詳細な比較によって行われる。
【００２６】
このように、情報処理装置２０００によれば、クエリ画像１０とオブジェクト画像との詳細な照合が行われる前に、その詳細な照合よりも高速な手法で、１）クエリ画像１０内のうち、オブジェクトが含まれると推定される画像領域の絞り込みと、２）その画像領域と照合すべきオブジェクト画像の絞り込みと、が行われる。よって、このような絞り込みを行わずにクエリ画像１０とオブジェクト画像とを詳細に照合する方法と比較し、クエリ画像１０に含まれる各オブジェクトを特定するために要する時間を短くすることができる。
【００２７】
以下、本実施形態の情報処理装置２０００についてさらに詳細に説明する。
【００２８】
＜情報処理装置２０００の機能構成の例＞
図６は、実施形態１に係る情報処理装置２０００の機能構成の例を示すブロック図である。情報処理装置２０００は、特徴点検出部２０２０、特定部２０４０、抽出部２０６０、及び照合部２０８０を有する。特徴点検出部２０２０は、クエリ画像１０から複数の特徴点４０を検出する。特定部２０４０は、特徴点４０ごとに、その特徴点４０を含むと推定される１つ以上のオブジェクト画像を特定する。抽出部２０６０は、上記特定の結果に基づき、オブジェクト領域５０を、そのオブジェクト領域５０に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する。照合部２０８０は、オブジェクト領域５０と、そのオブジェクト領域５０に対応付けられたオブジェクト画像とを照合することで、そのオブジェクト領域５０に含まれるオブジェクトを特定する。
【００２９】
＜情報処理装置２０００のハードウエア構成例＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００３０】
図７は、情報処理装置２０００を実現するための計算機１０００を例示する図である。計算機１０００は任意の計算機である。例えば計算機１０００は、Personal Computer（PC）、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機１０００は、情報処理装置２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００３１】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、CPU（Central Processing Unit）や GPU（Graphics Processing Unit）などの演算処理装置である。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。
【００３２】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース１１２０は、計算機１０００を通信網に接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００３３】
ストレージデバイス１０８０は、情報処理装置２０００の各機能構成部（特徴点検出部２０２０、特定部２０４０、抽出部２０６０、及び照合部２０８０）を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００３４】
＜情報処理装置２０００の利用例＞
情報処理装置２０００は、「カメラによって複数のオブジェクトを同時に撮像し、その撮像によって得られた撮像画像（クエリ画像１０）を画像解析することで各オブジェクトを特定する」ということが有用な場面で利用ができる。以下、情報処理装置２０００の利用例をいくつか例示する。
【００３５】
＜＜画像認識 POS（Point of Sales）システム＞＞
一般に、コンビニエンスストアやスーパーマーケットなどの店舗で顧客が商品を購入する際、レジ端末（POS 端末）がその商品を認識して、その商品を精算対象として登録する。ここで、商品を認識する手法の一つとして、レジ端末に設けられたカメラで商品を撮像し、生成された撮像画像を解析することで、撮像画像に含まれる商品を特定するという手法がある。
【００３６】
情報処理装置２０００は、複数の商品を同時に精算対象として登録するために利用できる。まず、レジ端末に設けられたカメラが、複数の商品を一度に撮像することで、精算対象として登録すべき複数の商品が含まれる撮像画像を生成する。情報処理装置２０００は、このようにして得られた撮像画像をクエリ画像１０として取得して画像解析し、個々の商品を特定する。このようにすることで、複数の商品を高速に精算対象として登録できる。
【００３７】
＜＜棚割認識システム＞＞
店舗では、商品棚などの陳列場所に商品が陳列される。一般に、陳列場所における商品の陳列は、一定のルールに従って行われる。ところが、商品を陳列する作業を行う人が誤った場所に商品を陳列したり、顧客によって商品が動かされたりすることで、商品の陳列状況がルールに従っていない事態が生じうる。
【００３８】
情報処理装置２０００は、商品の陳列状況がルールに従っているかをチェックするために利用できる。まず、商品の陳列場所の付近に設けられたカメラが、陳列場所を撮像することで、陳列場所に陳列された複数の商品を含む撮像画像を生成する。情報処理装置２０００は、このようにして得られた撮像画像をクエリ画像１０として扱って画像解析することで、陳列場所の各位置に陳列されている商品を特定する。このように、陳列場所の各位置に陳列されている商品を特定することで商品の陳列状況を把握できるため、その陳列状況と前述したルールとを比較することで、商品の陳列がルールに従って行われているか否かをチェックすることができる。情報処理装置２０００を利用すれば、商品の陳列状況を高速に把握できるようになるため、陳列状況がルールに従っているか否かを高速にチェックできるようになる。
【００３９】
＜＜画像重量検品システム＞＞
物流の現場などで商品の出荷を行う際、商品の検品が行われる。例えば、出荷しようとしている商品が出荷対象の商品と一致しているか否か、及びその商品の数が出荷すべき数に一致しているか否かのチェックが行われる。なお、商品の納入の際にも同様のチェックが行われうる。
【００４０】
上述のような商品の検品作業を効率化するシステムとして、画像重量検品システムがある。画像重量検品システムは、検品対象の商品をカメラで撮像しつつ、その商品の重量を計測する。カメラから得られる撮像画像は、検品対象の商品の特定に利用される。商品の重量は、商品の数量の特定に利用される。例えば、同じ商品を複数積み重ねた状態を上からカメラで撮像し、同時にその重量を計測することで、画像に基づく商品の特定と、重量に基づく商品の数量の特定が同時に実現される。
【００４１】
本実施形態の情報処理装置２０００は、上述の画像重量検品システムにおいて、複数種類の商品を同時に検品するために利用することができる。まず、複数種類の商品が重量計の上に横に並べて置かれた状態を、カメラが撮像する。情報処理装置２０００は、その結果得られる撮像画像をクエリ画像１０として扱って画像解析を行うことで、検品対象の複数種類の商品をそれぞれ特定する。このように情報処理装置２０００を利用することで、検品対象の複数の商品を高速に特定できるため、高速な検品を実現することができる。
【００４２】
＜処理の流れ＞
図８は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。特徴点検出部２０２０は、クエリ画像１０を取得する（Ｓ１０２）。特徴点検出部２０２０は、クエリ画像１０から複数の特徴点を検出する（Ｓ１０４）。特定部２０４０は、特徴点４０ごとに、その特徴点４０を含むと推定される１つ以上のオブジェクト画像を特定する（Ｓ１０６）。抽出部２０６０は、上記特定の結果に基づき、オブジェクト領域５０を、そのオブジェクト領域５０に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する（Ｓ１０８）。照合部２０８０は、オブジェクト領域５０と、そのオブジェクト領域５０に対応付けられたオブジェクト画像とを照合することで、そのオブジェクト領域５０に含まれるオブジェクトを特定する（Ｓ１１０）。
【００４３】
＜クエリ画像１０の取得：Ｓ１０２＞
特徴点検出部２０２０はクエリ画像１０を取得する。クエリ画像１０は、複数のオブジェクトをカメラで撮像することで生成される画像である。なお、クエリ画像１０を生成するカメラは、静止画を生成するスチルカメラであってもよいし、動画を生成するビデオカメラであってもよい。後者の場合、クエリ画像１０は、ビデオカメラによって生成される動画を構成する動画フレームのうちの１つである。
【００４４】
特徴点検出部２０２０がクエリ画像１０を取得する方法は様々である。例えば特徴点検出部２０２０は、クエリ画像１０を生成したカメラから、クエリ画像１０を取得する。その他にも例えば、特徴点検出部２０２０は、クエリ画像１０が記憶されている記憶装置にアクセスすることで、クエリ画像１０を取得する。その他にも例えば、特徴点検出部２０２０は、クエリ画像１０に含まれるオブジェクトの特定を要求するクライアントマシンから、クエリ画像１０を含むリクエストを受信することで、クエリ画像１０を取得する。この場合、情報処理装置２０００は、クエリ画像１０に含まれるオブジェクトを特定した結果を、クライアントマシンへ送信する。ここでいうクライアントマシンは、上記リクエストを送信する任意の計算機を意味する。
【００４５】
＜特徴点４０の検出：Ｓ１０４＞
特徴点検出部２０２０はクエリ画像１０から複数の特徴点４０を算出する。この際、特徴点検出部２０２０は、各特徴点４０について局所特徴量を算出する。ここで、画像から特徴点を検出する手法、及び特徴点の局所特徴量を算出する手法には、既存の手法を利用することができる。
【００４６】
＜特徴点４０を含むと推定されるオブジェクト画像の特定：Ｓ１０６＞
特定部２０４０は特徴点４０ごとに、その特徴点４０が含まれると推定される１つ以上のオブジェクト画像を特定する（Ｓ１０６）。特徴点４０を含むと推定されるオブジェクト画像の特定には、特徴点４０の局所特徴量と、オブジェクト画像内の特徴点の局所特徴量とが利用される。前述したように、オブジェクト画像内の各特徴点の局所特徴量は、オブジェクト情報に示されている。
【００４７】
ここで、或るオブジェクト画像内に、特徴点４０の局所特徴量と近似する局所特徴量を持つ特徴点があれば、そのオブジェクト画像は特徴点４０を含むと推定できる。そこで特定部２０４０は、特徴点４０の局所特徴量と近似する局所特徴量を持つ特徴点を含むオブジェクト画像を特定し、そのオブジェクト画像を、特徴点４０を含むと推定されるオブジェクト画像とする。
【００４８】
ここで、特徴点４０の局所特徴量と近似する局所特徴量を持つ特徴点を含むオブジェクト画像を探索する手法として、特徴点４０の局所特徴量全体（特徴量ベクトルの全体）と、オブジェクト情報に示される全特徴点の局所特徴量全体との近似度合いを計算していく手法がある。しかしながら特定部２０４０は、特徴点４０を含むと推定されるオブジェクト画像を特定するために要する時間を短くするため、この手法よりも高速に実現できる手法を利用する。以下、その具体的な手法をいくつか例示する。
【００４９】
＜方法１＞
例えば特定部２０４０は、近似最近傍探索（Approximate Nearest Neighbor Search）を利用する。近似最近傍探索を実現する方法には、例えば、階層的なクラスタリング及び逆インデックスを利用する手法や、LSH（Locality Sensitive Hashing）などを利用する方法がある。これらの手法は既知の手法であるため、その具体的な手法の説明は省略する。以下では、単純なインデックステーブルを利用する例を挙げて、特徴点４０を含むと推定されるオブジェクト画像を特定する方法を説明する。
【００５０】
まず前提として、各オブジェクト画像から得られる局所特徴量について、予めインデックステーブルを作成しておく。図９は、インデックステーブルを例示する図である。インデックステーブル２００は、N 個のインデックス値に対して、画像識別子と出現回数のペアをノードとするリストが接続されたものである。
【００５１】
オブジェクト画像から得られる各局所特徴量は、その局所特徴量を所定の規則（例えばハッシュ関数）で量子化した値と等しいインデックス値に接続されているリストに追加される。例えば、オブジェクト画像１（画像識別子は１）に含まれる特徴点が F1 という局所特徴量を持っており、この局所特徴量をインデックステーブル２００に追加するとする。まず、局所特徴量 F1 を所定の規則で量子化することで、インデックス値に変換する。ここで、この変換で得られたインデックス値を i とする。この場合、インデックス値 i に対して接続されているリスト（以下、リスト i）に、オブジェクト画像１の画像識別子である１を持つノードを含めることになる。ここで、画像識別子が１であるノードがリスト i に存在する場合、そのノードの出現回数に１が加算される。一方、画像識別子が１であるノードがリスト i に存在しない場合、リスト i に「画像識別子＝１、出現回数＝１」のノードが追加される。
【００５２】
特定部２０４０は、特徴点４０の局所特徴量で、インデックステーブル２００を検索する。具体的には、特定部２０４０は、特徴点４０の局所特徴量を上記所定の規則で量子化することで、その局所特徴量に対応するインデックス値を算出する。そして特定部２０４０は、そのインデックス値に接続されているリストに示されている画像識別子を取得する。特定部２０４０は、この方法で取得した画像識別子を持つオブジェクト画像を、特徴点４０の局所特徴量を含むと推定されるオブジェクト画像とする。
【００５３】
ここで、上述の方法でインデックステーブルを構成すると、１つのインデックス値に対して接続されるリストは、複数のノードを持ちうる。そのため、特定部２０４０が上述の方法で取得する画像識別子は、複数である可能性がある。よって、特定部２０４０は、上述の方法により、特徴点４０の局所特徴量を含むと推定されるオブジェクト画像を複数取得しうる。
【００５４】
＜＜方法２＞＞
特定部２０４０は、特徴点４０の局所特徴量と、オブジェクト情報が示す局所特徴量（各オブジェクト画像の局所特徴量）とを比較する。この際、特定部２０４０は、特徴点４０の局所特徴量と、オブジェクト情報が示す局所特徴量とを完全に比較するのではなく、ある程度簡略化して比較を行う。
【００５５】
例えば特定部２０４０は、オブジェクト情報に示される全ての局所特徴量ではなく、一部の局所特徴量のみを、特徴点４０の局所特徴量と比較する。具体的には、オブジェクト画像ごとに、特徴点４０の局所特徴量と比較する局所特徴量の数の上限を定めておく。例えば、オブジェクト画像１内に特徴点が 800 個あり、オブジェクト画像２内に特徴点が 700 個であるとする。この場合に、特徴点４０の局所特徴量と比較する局所特徴量の数を、各オブジェクト画像につき 50 個と定めておく。すなわち、オブジェクト画像１内の 800 個の特徴点のうち、50 個の特徴点の局所特徴量が、特徴点４０の局所特徴量と比較される。同様に、オブジェクト画像２内の 700 個の特徴点のうち、50 個の特徴点の局所特徴量が、特徴点４０の局所特徴量と比較される。
【００５６】
この場合、オブジェクト情報に、オブジェクト画像ごとに、どの特徴点の局所特徴量を比較に利用するのかを予め定めておく。例えば、特徴点検出の際の反応値が大きい特徴点や、スケール値が大きい特徴点を利用する。
【００５７】
局所特徴量同士の比較は、例えばそれらの距離値を計算することで行われる。ここで、局所特徴量同士の距離値を計算する技術には既存の技術を利用することができる。
【００５８】
特定部２０４０は、オブジェクト情報が示す各局所特徴量について算出された距離値に基づいて、特徴点４０の局所特徴量を含むと推定されるオブジェクト画像を特定する。例えば特定部２０４０は、オブジェクト情報が示す局所特徴量のうち、算出された距離値が最小である局所特徴量を特定する。そして特定部２０４０は、特定された局所特徴量を持つ特徴点が含まれるオブジェクト画像を、特徴点４０を含むと推定されるオブジェクト画像とする。
【００５９】
その他にも例えば、特定部２０４０は、オブジェクト情報が示す局所特徴量のうち、距離値の昇順で上位所定個の局所特徴量を特定する。そして特定部２０４０は、ここで特定された局所特徴量を持つ特徴点のいずれか１つ以上を含むオブジェクト画像を、特徴点４０の局所特徴量を含むと推定されるオブジェクト画像とする。
【００６０】
その他にも例えば、特定部２０４０は、オブジェクト情報が示す各局所特徴量について算出された距離値を、そのうちの最小の距離値との比較に基づいて評価してもよい。例えば特定部２０４０は、オブジェクト情報が示す各局所特徴量について算出された距離値と、その中の最小値との比率を算出する。例えば最小の距離値が d であれば、特定部２０４０は、オブジェクト情報が示す各局所特徴量について算出された距離値を d で割ることで比率を算出する。例えば特定部２０４０は、この比率が所定値以下となる局所特徴量を持つ特徴点が含まれる各オブジェクト画像を、特徴点４０を含むと推定されるオブジェクト画像とする。
【００６１】
ここで特定部２０４０は、最小の距離値との比率を算出する代わりに、最小の距離値との差分を算出してもよい。この場合、特定部２０４０は、算出された差分が所定値以下となる局所特徴量を持つ特徴点が含まれる各オブジェクト画像を、特徴点４０を含むと推定されるオブジェクト画像とする。
【００６２】
ここで、特徴点４０の局所特徴量とオブジェクト画像の局所特徴量との距離値は、局所特徴量を構成するベクトルの一部のベクトル（以下、部分ベクトル）のみを利用して算出されてもよい。例えば局所特徴量を構成するベクトルが 128 次元である場合に、そのベクトルの上位 32 次元のベクトルを部分ベクトルとして利用する。
【００６３】
なお、部分ベクトルで距離値を算出する場合、特定部２０４０は、オブジェクト情報が示す全ての局所特徴量を特徴点４０の局所特徴量と比較してもよい。例えば、オブジェクト画像１に含まれる特徴点が 800 個あり、オブジェクト画像２に含まれる特徴点が 700 個であるとする。この場合、特定部２０４０は、オブジェクト画像１の 800 個の特徴点それぞれの局所特徴量の部分ベクトルと、特徴点４０の局所特徴量の部分ベクトルとの距離値を算出する。同様に、特定部２０４０は、オブジェクト画像２の 700 個の特徴点それぞれの局所特徴量の部分ベクトルと、特徴点４０の局所特徴量の部分ベクトルとの距離値を算出する。
【００６４】
＜オブジェクト領域５０の抽出＞
抽出部２０６０は、オブジェクト領域５０を、そのオブジェクト領域５０に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する（Ｓ１０８）。そのために、抽出部２０６０は、特徴点４０に対応するオブジェクト画像（特徴点４０を含むと推定されたオブジェクト画像）の画像識別子を、特徴点４０に対応するクエリ画像１０上の画像位置に対応づける。以下、オブジェクト画像の画像識別子をクエリ画像１０上の画像位置に対応づけることを、「投票する」とも表記する。また、画像識別子が投票される、特徴点４０に対応するクエリ画像１０上の画像位置を、「特徴点４０に対応する投票位置」とも表記する。
【００６５】
ここで、特徴点４０に対応する投票位置（特徴点４０に対応するクエリ画像１０上の位置）は、その特徴点４０の画像位置そのものであってもよいし、その特徴点４０と所定の関係にある他の位置であってもよい。以下の説明では、まずは特徴点４０の画像位置そのものを特徴点４０に対応する投票位置とするケースについて例示し、「特徴点４０と所定の関係にある他の位置」を特徴点４０に対応する投票位置とするケースについては後述する。
【００６６】
特徴点４０に対応する投票位置が特徴点４０の画像位置そのものである場合、投票位置とそこに対応づけられた画像識別子との関係は、前述した図３で例示されている。図３において、[n]（n は整数）は、画像識別子ｎが投票位置に投票されている様子を表している。
【００６７】
抽出部２０６０は、投票位置と画像識別子との対応付けに基づき、画像識別子に対応づけてオブジェクト領域５０を抽出する。概念としては、同一の画像識別子が互いに近い投票位置に多く対応づけられている場合（すなわち、同一の画像識別子が互いに近い場所に集中している場合）に、それらの投票位置やその周辺が含まれる画像領域が、その画像識別子に対応するオブジェクト領域５０として抽出される。こうすると、オブジェクト領域５０には、対応づけられた画像識別子を持つオブジェクト画像によって表されるオブジェクトが含まれている蓋然性が高くなる。
【００６８】
以下、画像識別子に対応づけてオブジェクト領域５０を抽出する具体的な方法をいくつか例示する。
【００６９】
＜＜方法１＞＞
抽出部２０６０は、空間的クラスタリングを利用して、投票位置を画像識別子ごとにクラスタリングする。その結果、抽出部２０６０は、クエリ画像１０から、「画像識別子、その画像識別子が投票された各投票位置を含む画像領域（以下、クラスタ領域）、投票数」という組み合わせを画像識別子ごとに得ることができる。なお、同一の画像識別子が離れた位置に投票されている場合、これらは別のクラスタとしてクラスタリングされる。すなわち、１つの画像識別子について、複数のクラスタが作成されうる。
【００７０】
図１０は、投票位置が画像識別子ごとにクラスタリングされた様子を例示する図である。なお、図１０では、複数の画像識別子が投票されている投票位置もある。例えば [2,5] という表記は、同じ投票位置に画像識別子２と５が投票されていることを意味する。図１０において、点線で囲まれた領域がクラスタ領域を表している。
【００７１】
ここで、「画像識別子、クラスタ領域」に対応づけられる投票数は、例えば、その画像識別子に対応付けられており、なおかつそのクラスタ領域に含まれる投票位置の数で表される。その他にも例えば、後述するように各投票位置に重みが付される場合、「画像識別子、クラスタ領域」に対応づけられる投票数は、その画像識別子に対応付けられており、なおかつそのクラスタ領域に含まれる各投票位置の重みの合計値としてもよい。なお、空間的クラスタリングの具体的な手法には、既存の手法を利用することができる。
【００７２】
抽出部２０６０は、空間的クラスタリングによって得られたクラスタの中から、投票数が所定値以上であるものを抽出する。そして抽出部２０６０は、抽出された各クラスタについて、そのクラスタが示す画像識別子とクラスタ領域との組み合わせを、画像識別子とオブジェクト領域５０との組み合わせとする。
【００７３】
＜＜＜投票位置の重みについて＞＞＞
投票位置の重みについて説明する。抽出部２０６０は、特徴点４０に対応する投票位置に対してオブジェクト画像の画像識別子を投票する際に、その投票位置に対するその画像識別子の重みを定めてもよい。特徴点４０に対応する投票位置における画像識別子の重みには、その画像識別子を持つオブジェクト画像にその特徴点４０が含まれる確度が反映されるようにする。
【００７４】
例えば抽出部２０６０は、特徴点４０を含むと推定されたオブジェクト画像の数が多いほど、その特徴点４０に対応する投票位置における各画像識別子の重みを小さくする。特徴点４０を含むと推定されるオブジェクト画像が多いほど、各オブジェクト画像がその特徴点４０を含む確度が小さいと言えるためである。例えば、特徴点４０に対応する投票位置における各画像識別子の重みを、その特徴点４０に対応づけられたオブジェクト画像の数の逆数とする。
【００７５】
例えば特徴点４０に対応づけられている画像識別子が、画像識別子１及び２であるとする。この場合、特徴点４０に対応する投票位置における画像識別子１と２の重みは、それぞれ 0.5 となる。また、特徴点４０に対応づけられている画像識別子が、画像識別子１、２、及び３であるとする。この場合、特徴点４０に対応する投票位置における画像識別子１、２及び３の重みはそれぞれ、0.33 となる。
【００７６】
その他にも例えば、抽出部２０６０は、特徴点４０に対応する投票位置における画像識別子の重みを、その画像識別子を持つオブジェクト画像に含まれる特徴点と特徴点４０との近似度合い（例えば前述した局所特徴量間の距離値）で定める。特徴点４０と或るオブジェクト画像に含まれる特徴点との近似度合いが大きいほど、その特徴点４０がそのオブジェクト画像に含まれる確度が高いといえる。そこで例えば、抽出部２０６０は、特徴点４０に対応する投票位置における画像識別子の重みを、その画像識別子を持つオブジェクト画像に含まれる特徴点と特徴点４０との距離値に反比例して大きくなる値とする。
【００７７】
例えば特定部２０４０が、特徴点４０の特徴量と、オブジェクト画像１に含まれる或る特徴点の特徴量との距離値に基づいて、オブジェクト画像１がその特徴点４０を含むと推定したとする。この場合、抽出部２０６０は、上記距離値に基づいて、特徴点４０に対応する投票位置におけるオブジェクト画像１の重みを決定する。
【００７８】
＜＜方法２＞＞
抽出部２０６０は、クエリ画像１０を複数のブロックに分割し、そのブロックを利用してオブジェクト領域５０の抽出を行う。具体的には抽出部２０６０は、各ブロックに含まれる投票位置に基づいて、各ブロックの投票数を算出する。例えば抽出部２０６０は、或るブロック内に存在する投票位置の数を、そのブロックの投票数とする。その他にも例えば、前述した方法で投票位置に重みを付す場合、抽出部２０６０は、ブロック内に存在する各投票位置の重みの合計値を、そのブロックの投票数としてもよい。ここで、投票数は画像識別子ごとに算出される。
【００７９】
例えば抽出部２０６０は、或る画像識別子に係る投票数が所定値以上のブロックを、その画像識別子に対応するオブジェクト領域５０として抽出する。図１１は、投票数が所定数以上のブロックをオブジェクト領域５０として抽出するケースを例示する図である。図１１において、クエリ画像１０は、１２個のブロックに分割されている。この例では、同一の画像識別子の投票数が３以上であるブロックが、オブジェクト領域５０として抽出される。また、投票数は画像識別子の数で表される。
【００８０】
クエリ画像１０には、同一の画像識別子を３つ以上含むブロックが２つある。具体的には、ブロック６０−１が画像識別子２を３つ含んでおり、ブロック６０−２が画像識別子３を４つ含んでいる。そこで抽出部２０６０は、ブロック６０−１を、画像識別子２に対応するオブジェクト領域５０として抽出する。また、抽出部２０６０は、ブロック６０−２を、画像識別子３に対応するオブジェクト領域５０として抽出する。
【００８１】
なお、ブロック同士はその一部が重複してもよい。画像をブロックに分割する際に、ブロック同士が一部重複するように分割する手法には、既存の技術を利用することができる。
【００８２】
また、ブロックの分割は階層的であってもよい。図１２は、階層的に構成されたブロックを例示する図である。図１２の上段では、第１の階層におけるブロック分割を表している。ここでは、クエリ画像１０が１６個のブロックに分割されている。一方、図１２の下段では、第２の階層におけるブロック分割を表している。ここでは、クエリ画像１０が４個のブロックに分割されている。下段のクエリ画像１０における各ブロックは、上段のクエリ画像１０におけるブロック４つを結合したものになっている。なお、下段のクエリ画像１０における点線は、上段のクエリ画像１０におけるブロックの境界線に相当する線である。
【００８３】
抽出部２０６０は、より細かくブロック分割されている階層から順に、各ブロックにおいて、同一の画像識別子の投票数が所定数以上である否かを判定していく。例えば図１２の例では、まず第１階層の各ブロックについて判定が行われ、次に第２の階層の各ブロックについて判定が行われる。ここで図１２の例では、所定数が３であり、投票数が投票位置の数であるとする。
【００８４】
まず第１の階層において、抽出部２０６０は、ブロック６０−１における画像識別子３の投票数が３であり、所定数以上であると判定する。その結果、ブロック６０−１が、画像識別子３に対応するオブジェクト領域５０として抽出される。一方で、画像識別子１を含む各ブロックについては、どのブロックにおいても投票数は３未満であるため、オブジェクト領域５０として抽出されない。
【００８５】
次に抽出部２０６０は、第２の階層の各ブロックについて判定を行う。その結果、抽出部２０６０は、ブロック６０−２における画像識別子１の投票数が３であり、所定数以上であると判定する。その結果、ブロック６０−２が、画像識別子１に対応するオブジェクト領域５０として抽出される。
【００８６】
なお、抽出部２０６０は、前述した方法１で抽出されるクラスタ領域や、方法２で抽出されるブロックの画像領域そのものをオブジェクト領域５０とするのではなく、それらの周辺領域を含む画像領域をオブジェクト領域５０としてもよい。画像領域及びその周辺領域を抽出する方法としては、例えば、その画像領域を所定比率で拡大したものを抽出するという方法を採用できる。この所定比率は、予め定めておく。
【００８７】
＜＜特徴点４０に対応するクエリ画像１０上の画像位置について＞＞
前述したように、抽出部２０６０は、「特徴点４０と所定の関係にある他の位置」を特徴点４０に対応する投票位置として扱ってもよい。例えば抽出部２０６０は、特徴点４０に対応する投票位置を、その特徴点４０を含むと推定されるオブジェクト画像で定められている参照位置に基づいて決定する。
【００８８】
図１３は、オブジェクト画像の参照位置に基づいて、特徴点４０に対応する投票位置が決定されるケースを例示する図である。この例では、クエリ画像１０内に、細長い三角形のオブジェクト２０が含まれている。クエリ画像１０の下に図示されているオブジェクト画像７０は、オブジェクト２０を表すオブジェクト画像である。
【００８９】
オブジェクト画像７０には、参照位置８０が定められている。例えば参照位置８０は、オブジェクト２０の中心位置である。照合部２０８０は、特徴点４０に対応する投票位置を、クエリ画像１０において、オブジェクト画像７０における参照位置８０に相当する位置とする。図１３では、オブジェクト画像７０における参照位置８０に相当するクエリ画像１０上の位置は、位置９０である。そのため、抽出部２０６０は、位置９０を特徴点４０に対応する投票位置とする。原理的には、クエリ画像１０において、オブジェクト２０から検出される複数の特徴点４０に対応する投票位置はいずれも、位置９０となる。
【００９０】
ここで、クエリ画像１０に含まれるオブジェクトは、オブジェクト画像に含まれるそのオブジェクトと大きさの縮尺（スケール）や向きが異なる。そのため、クエリ画像１０上においてオブジェクト画像の参照位置に相当する画像位置を算出するためには、このスケールや向きの違いを考慮した計算が必要となる。
【００９１】
そこで前提として、オブジェクト画像において、参照位置を始点とする参照ベクトルを定義しておく。参照ベクトルの大きさと向きは任意である。また、オブジェクト画像内の各特徴点において、その特徴点を始点とする特徴ベクトルを求めておく。ここで、局所特徴量算出のアルゴリズムの一種である SIFT（Scaled Invariance Feature Transform）や SURF（Speeded Up Robust Features）では、特徴点についてスケール（大きさ）とオリエンテーション（向き）が算出される。そこで、特徴点の特徴ベクトルの大きさと方向をとして、その特徴点について算出されるスケールとオリエンテーションを利用する。
【００９２】
また、クエリ画像１０上の特徴点４０についても同様に、特徴ベクトルを求めておく。特徴点４０の特徴ベクトルは、特徴点４０の特徴量を算出する過程で得ることができる。
【００９３】
ここでオブジェクト画像において、或る特徴ベクトルと参照ベクトルの位置、大きさ、及びオリエンテーションの関係に基づく所定の変換式をその特徴ベクトルに適用すると、特徴ベクトルを参照ベクトルに変換することができる。この変換は、特徴ベクトルを fv、参照ベクトルを rv、変換式を f とおけば、この変換は rv=f(fv) と表させる。そして、クエリ画像１０において、この変換式を特徴点４０の特徴ベクトルに適用すれば、その特徴ベクトルが、オブジェクト画像における参照ベクトルに相当するベクトルに変換される。すなわち、特徴点４０の特徴ベクトルを gv とおけば、f(gv) を計算することで、参照ベクトルに相当するベクトルを算出することができる。
【００９４】
そこで照合部２０８０は、特徴点４０の特徴ベクトルにこの変換式を適用することで、その特徴ベクトルを、オブジェクト画像における参照ベクトルに相当するベクトルに変換する。そして、照合部２０８０は、この変換で得られたベクトルの始点を、特徴点４０に対応する投票位置とする。
【００９５】
図１４は、特徴ベクトルと参照ベクトルを利用して、特徴点４０に対応する投票位置を算出する方法を例示する図である。オブジェクト画像７０において、参照位置８０に対応する参照ベクトル８２、及び特徴点１００に対応する特徴ベクトル１０２が定められている。また、クエリ画像１０における特徴点４０は、オブジェクト画像７０における特徴点１００に相当する特徴点である。そこで抽出部２０６０は、特徴点４０について算出された特徴ベクトル４２に対し、特徴ベクトル１０２を参照ベクトル８２に変換する変換式を適用する。その結果、ベクトル９２が得られる。そこで抽出部２０６０は、ベクトル９２の始点として求まる位置９０を、特徴点４０に対応する投票位置とする。
【００９６】
ここで、特徴点４０を含むと推定されるオブジェクト画像が複数ある場合、照合部２０８０は、特徴点４０に対応する画像位置をオブジェクト画像ごとに求める。すなわち、特徴点４０に対応する画像位置が複数得られることとなる。ここで、複数得られる画像位置それぞれには、その画像位置を求めるために利用されたオブジェクト画像の画像識別子が投票される。
【００９７】
このようにクエリ画像１０内の各特徴点４０をオブジェクト画像の参照位置に相当する位置に変換すると、同じオブジェクト画像に含まれる特徴点４０は、互いに近い位置に変換されることとなる。そのため、この方法で特徴点４０に対応するクエリ画像１０内の画像位置を算出すると、同じオブジェクトの特徴点４０を近い位置に集めることができる。図１５は、特徴点４０に対応する投票位置が近い位置に集まる様子を例示する図である。
【００９８】
このように同じオブジェクトの特徴点４０を近い位置に集めた後に空間的クラスタリング等を実行すれば、そのオブジェクトを表すオブジェクト領域５０をより正確に抽出することができるようになる。ただしこの場合、抽出部２０６０は、特徴点４０をオブジェクト画像の参照位置に相当する位置に変換した状態で空間的クラスタリング等をした後、同じクラスタやブロックに含まれる各特徴点４０の元の位置（参照位置相当の位置に変換する前の位置）を包含する画像領域を、オブジェクト領域５０として抽出することが好適である。
【００９９】
＜オブジェクト領域５０とオブジェクト画像との照合：Ｓ１１０＞
照合部２０８０は、オブジェクト領域５０を１つ以上のオブジェクト画像と照合することで、オブジェクト領域５０に含まれるオブジェクトを特定する。ここで、オブジェクト領域５０との照合に利用するオブジェクト画像は、そのオブジェクト領域５０に対応づけられた画像識別子を持つオブジェクト画像である。なお、オブジェクト領域５０とオブジェクト画像との照合は、オブジェクト領域５０に含まれる各特徴点４０の局所特徴量と、対応するオブジェクト画像に含まれる各特徴点の局所特徴量とを比較することで行われる。なお、局所特徴量を比較して画像を照合する技術には、既存の技術を利用することができる。
【０１００】
ここで前述したように、特定部２０４０が特徴点４０の局所特徴量とオブジェクト情報が示す局所特徴量とを比較する際には、簡略化した比較が行われる。これに対し、照合部２０８０は、局所特徴量同士の比較を詳細に行うことが好ましい。具体的には、照合部２０８０は、オブジェクト領域５０に含まれる各特徴点４０の局所特徴量全体と、対応するオブジェクト画像に含まれる各特徴点の局所特徴量全体とを比較する（局所特徴量の次元数を減らしたり、特徴点の数を制限したりしない）ことが好適である。ここではオブジェクト領域５０と照合するオブジェクト画像の数が絞られているため、局所特徴量同士を詳細に比較しても、その比較に要する時間は短いといえる。
【０１０１】
ここで、例えば図５の例などでは、オブジェクト領域５０と比較するオブジェクト画像が１つしか存在しない。しかしながら、オブジェクト情報に類似した複数のオブジェクト（例えば、オブジェクト情報に示されるオブジェクトに、同一シリーズで味が異なるお菓子や容量が異なる飲料などが含まれる場合）が含まれる場合、特定部２０４０が行う簡略化した局所特徴量同士の比較では、これら類似したオブジェクトのオブジェクト画像がいずれも同一の特徴点４０を含みうる。その結果、オブジェクト領域５０に対応する画像識別子が複数存在しうる。照合部２０８０では、このように複数の画像識別子が１つのオブジェクト領域５０に対応づけられている場合に、その中のどの画像識別子を持つオブジェクト画像が、オブジェクト領域５０に含まれるオブジェクトのオブジェクト画像であるのかを特定する。
【０１０２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【図１】
2019092782.tif 000003
【図２】
2019092782.tif 000004
【図３】
2019092782.tif 000005
【図４】
2019092782.tif 000006
【図５】
2019092782.tif 000007
【図６】
2019092782.tif 000008
【図７】
2019092782.tif 000009
【図８】
2019092782.tif 000010
【図９】
2019092782.tif 000011
【図１０】
2019092782.tif 000012
【図１１】
2019092782.tif 000013
【図１２】
2019092782.tif 000014
【図１３】
2019092782.tif 000015
【図１４】
2019092782.tif 000016
【図１５】
2019092782.tif 000017
【手続補正書】
【提出日】令和2年4月23日(2020.4.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のオブジェクトが含まれるクエリ画像を取得し、前記取得したクエリ画像から複数の特徴点を検出する特徴点検出手段と、
前記特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定手段と、
前記特定の結果に基づき、前記クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出手段と、
前記オブジェクト領域と、そのオブジェクト領域と対応づけられた前記オブジェクト画像とを照合して、前記オブジェクト領域に含まれるオブジェクトを特定する照合手段と、
を有する情報処理装置。
【請求項２】
前記特定手段は、或る前記オブジェクト画像に含まれる特徴点の局所特徴量が、前記クエリ画像内の特徴点の局所特徴量と近似する場合に、そのオブジェクト画像を、前記クエリ画像内のその特徴点を含むと推定されるオブジェクト画像として特定する、請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記オブジェクト画像に含まれる特徴点のうちの一部について、その特徴点の局所特徴量と、前記クエリ画像内の特徴点の局所特徴量との近似度合いを算出する、請求項２に記載の情報処理装置。
【請求項４】
前記特定手段は、前記オブジェクト画像に含まれる特徴点の局所特徴量を構成するベクトルの一部と、前記クエリ画像内の特徴点の局所特徴量を構成するベクトルの一部との距離値を前記近似度合いとして算出する、請求項３に記載の情報処理装置。
【請求項５】
各前記オブジェクト画像の画像識別子は、そのオブジェクト画像に含まれる各特徴点の局所特徴量を用いて算出されたインデックス値と対応づけられて記憶装置に記憶されており、
前記特定手段は、前記クエリ画像内の特徴点の局所特徴量からインデックス値を算出し、そのインデックス値と対応づけて記憶されている前記画像識別子を持つオブジェクト画像を、その特徴点を含むと推定される前記オブジェクト画像として特定する、請求項１又は２に記載の情報処理装置。
【請求項６】
前記抽出手段は、前記クエリ画像内の前記特徴点に対応する画像位置をその特徴点の投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を対応付け、同一の前記オブジェクト画像が対応づけられた投票位置を所定数以上含む前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項７】
前記抽出手段は、前記クエリ画像内の前記特徴点に対応する画像位置を投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を、重みを付して対応付け、同一の前記オブジェクト画像が対応づけられた投票位置に付された重みの合計が所定値以上となる前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、請求項１乃至５いずれか一項に記載の情報処理装置。
【請求項８】
前記特徴点の投票位置は、その特徴点の画像位置である、請求項６又は７に記載の情報処理装置。
【請求項９】
前記オブジェクト画像において、
参照点の位置を始点とする参照ベクトルが定められており、
特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルが定められており、
前記抽出手段は、
前記クエリ画像内の特徴点について、その特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルを算出し、
前記クエリ画像内の特徴点を含むと推定された前記オブジェクト画像においてその特徴点に相当する特徴点の特徴ベクトルを前記参照ベクトルに変換する変換式を、前記クエリ画像内のその特徴点の特徴ベクトルに適用することで、その特徴ベクトルを変換し、前記変換後のそのベクトルの始点を、前記クエリ画像内のその特徴点の投票位置とする、画像位置とする、請求項６又は７に記載の情報処理装置。
【請求項１０】
コンピュータによって実行される制御方法であって、
複数のオブジェクトが含まれるクエリ画像を取得し、前記取得したクエリ画像から複数の特徴点を検出する特徴点検出ステップと、
前記特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定ステップと、
前記特定の結果に基づき、前記クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出ステップと、
前記オブジェクト領域と、そのオブジェクト領域と対応づけられた前記オブジェクト画像とを照合して、前記オブジェクト領域に含まれるオブジェクトを特定する照合ステップと、
を有する制御方法。
【請求項１１】
請求項１０に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
ここで、対応するオブジェクト画像が共通している特徴点を包含する画像領域は、そのオブジェクト画像のオブジェクトを表す画像領域である蓋然性が高いと言える。例えば図３において、[1] が示されている特徴点を包含する画像領域は、オブジェクト画像１によって表されるオブジェクト（すなわちオブジェクト１）を表す画像領域である蓋然性が高い。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
クエリ画像１０には、同一の画像識別子を３つ以上含むブロックが２つある。具体的には、ブロック６０−１が画像識別子２を３つ含んでおり、ブロック６０−２が画像識別子３を４つ含んでいる。そこで抽出部２０６０は、ブロック６０−１を、画像識別子３に対応するオブジェクト領域５０として抽出する。また、抽出部２０６０は、ブロック６０−２を、画像識別子２に対応するオブジェクト領域５０として抽出する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
１．
複数のオブジェクトが含まれるクエリ画像を取得し、前記取得したクエリ画像から複数の特徴点を検出する特徴点検出手段と、
前記特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定手段と、
前記特定の結果に基づき、前記クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出手段と、
前記オブジェクト領域と、そのオブジェクト領域と対応づけられた前記オブジェクト画像とを照合して、前記オブジェクト領域に含まれるオブジェクトを特定する照合手段と、
を有する情報処理装置。
２．
前記特定手段は、或る前記オブジェクト画像に含まれる特徴点の局所特徴量が、前記クエリ画像内の特徴点の局所特徴量と近似する場合に、そのオブジェクト画像を、前記クエリ画像内のその特徴点を含むと推定されるオブジェクト画像として特定する、１．に記載の情報処理装置。
３．
前記特定手段は、前記オブジェクト画像に含まれる特徴点のうちの一部について、その特徴点の局所特徴量と、前記クエリ画像内の特徴点の局所特徴量との近似度合いを算出する、２．に記載の情報処理装置。
４．
前記特定手段は、前記オブジェクト画像に含まれる特徴点の局所特徴量を構成するベクトルの一部と、前記クエリ画像内の特徴点の局所特徴量を構成するベクトルの一部との距離値を前記近似度合いとして算出する、３．に記載の情報処理装置。
５．
各前記オブジェクト画像の画像識別子は、そのオブジェクト画像に含まれる各特徴点の局所特徴量を用いて算出されたインデックス値と対応づけられて記憶装置に記憶されており、
前記特定手段は、前記クエリ画像内の特徴点の局所特徴量からインデックス値を算出し、そのインデックス値と対応づけて記憶されている前記画像識別子を持つオブジェクト画像を、その特徴点を含むと推定される前記オブジェクト画像として特定する、１．又は２．に記載の情報処理装置。
６．
前記抽出手段は、前記クエリ画像内の前記特徴点に対応する画像位置をその特徴点の投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を対応付け、同一の前記オブジェクト画像が対応づけられた投票位置を所定数以上含む前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、１．乃至５．いずれか一つに記載の情報処理装置。
７．
前記抽出手段は、前記クエリ画像内の前記特徴点に対応する画像位置を投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を、重みを付して対応付け、同一の前記オブジェクト画像が対応づけられた投票位置に付された重みの合計が所定値以上となる前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、１．乃至５．いずれか一つに記載の情報処理装置。
８．
前記特徴点の投票位置は、その特徴点の画像位置である、６．又は７．に記載の情報処理装置。
９．
前記オブジェクト画像において、
参照点の位置を始点とする参照ベクトルが定められており、
特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルが定められており、
前記抽出手段は、
前記クエリ画像内の特徴点について、その特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルを算出し、
前記クエリ画像内の特徴点を含むと推定された前記オブジェクト画像においてその特徴点に相当する特徴点の特徴ベクトルを前記参照ベクトルに変換する変換式を、前記クエリ画像内のその特徴点の特徴ベクトルに適用することで、その特徴ベクトルを変換し、前記変換後のそのベクトルの始点を、前記クエリ画像内のその特徴点の投票位置とする、画像位置とする、６．又は７．に記載の情報処理装置。
１０．
コンピュータによって実行される制御方法であって、
複数のオブジェクトが含まれるクエリ画像を取得し、前記取得したクエリ画像から複数の特徴点を検出する特徴点検出ステップと、
前記特徴点ごとに、その特徴点を含むと推定される１つ以上のオブジェクト画像を特定する特定ステップと、
前記特定の結果に基づき、前記クエリ画像においてオブジェクトが含まれると推定されるオブジェクト領域を、そのオブジェクト領域に含まれると推定されるオブジェクトのオブジェクト画像と対応づけて抽出する抽出ステップと、
前記オブジェクト領域と、そのオブジェクト領域と対応づけられた前記オブジェクト画像とを照合して、前記オブジェクト領域に含まれるオブジェクトを特定する照合ステップと、
を有する制御方法。
１１．
前記特定ステップにおいて、或る前記オブジェクト画像に含まれる特徴点の局所特徴量が、前記クエリ画像内の特徴点の局所特徴量と近似する場合に、そのオブジェクト画像を、前記クエリ画像内のその特徴点を含むと推定されるオブジェクト画像として特定する、１０．に記載の制御方法。
１２．
前記特定ステップにおいて、前記オブジェクト画像に含まれる特徴点のうちの一部について、その特徴点の局所特徴量と、前記クエリ画像内の特徴点の局所特徴量との近似度合いを算出する、１１．に記載の制御方法。
１３．
前記特定ステップにおいて、前記オブジェクト画像に含まれる特徴点の局所特徴量を構成するベクトルの一部と、前記クエリ画像内の特徴点の局所特徴量を構成するベクトルの一部との距離値を前記近似度合いとして算出する、１２．に記載の制御方法。
１４．
各前記オブジェクト画像の画像識別子は、そのオブジェクト画像に含まれる各特徴点の局所特徴量を用いて算出されたインデックス値と対応づけられて記憶装置に記憶されており、
前記特定ステップにおいて、前記クエリ画像内の特徴点の局所特徴量からインデックス値を算出し、そのインデックス値と対応づけて記憶されている前記画像識別子を持つオブジェクト画像を、その特徴点を含むと推定される前記オブジェクト画像として特定する、１０．又は１１．に記載の制御方法。
１５．
前記抽出ステップにおいて、前記クエリ画像内の前記特徴点に対応する画像位置をその特徴点の投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を対応付け、同一の前記オブジェクト画像が対応づけられた投票位置を所定数以上含む前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、１０．乃至１４．いずれか一つに記載の制御方法。
１６．
前記抽出ステップにおいて、前記クエリ画像内の前記特徴点に対応する画像位置を投票位置として、その投票位置に対し、その特徴点を含むと推定された前記オブジェクト画像を、重みを付して対応付け、同一の前記オブジェクト画像が対応づけられた投票位置に付された重みの合計が所定値以上となる前記クエリ画像内の画像領域を、そのオブジェクトに対応する前記オブジェクト領域として抽出する、１０．乃至１４．いずれか一つに記載の制御方法。
１７．
前記特徴点の投票位置は、その特徴点の画像位置である、１５．又は１６．に記載の制御方法。
１８．
前記オブジェクト画像において、
参照点の位置を始点とする参照ベクトルが定められており、
特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルが定められており、
前記抽出ステップにおいて、
前記クエリ画像内の特徴点について、その特徴点の位置、その特徴点の局所特徴量のオリエンテーション、その特徴点の局所特徴量のスケールをそれぞれ始点、向き、大きさとする特徴ベクトルを算出し、
前記クエリ画像内の特徴点を含むと推定された前記オブジェクト画像においてその特徴点に相当する特徴点の特徴ベクトルを前記参照ベクトルに変換する変換式を、前記クエリ画像内のその特徴点の特徴ベクトルに適用することで、その特徴ベクトルを変換し、前記変換後のそのベクトルの始点を、前記クエリ画像内のその特徴点の投票位置とする、画像位置とする、１５．又は１６．に記載の制御方法。
１９．
１０．乃至１８．いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【国際調査報告】
2019092782.tif 000018
2019092782.tif 000019