(57)【特許請求の範囲】
【請求項１】
認識対象を撮影した参照画像と、当該認識対象を前記参照画像と異なる視点から撮影した一連の学習画像において、前記参照画像における認識対象から局所特徴が抽出される箇所に対応する箇所より抽出された局所特徴と、を入力とし、前記参照画像の特徴量としてのVW(ビジュアルワード)ヒストグラムを出力する画像特徴量登録装置であって、
前記入力された局所特徴における特徴ベクトルを代表ベクトルに量子化し、前記学習画像の特徴点に代表ベクトルのID（以下、vwIDとする。）を付与すると共に、当該vwIDに対応する前記参照画像の特徴点ID（以下、rkpIDとする。）を紐付けることでvwID及びrkpIDのペアを生成する量子化部と、
前記生成されたvwID及びrkpIDのペアの個数をカウントすることで、当該ペアのスコアを算出するスコア算出部と、を備え、
前記算出されたスコアが高いrkpIDを優先しながら、且つ、頻度をインクリメントされるvwIDが偏らないようにしながら、所定のデータサイズ制限に到達するまで順次、前記生成されたvwID及びrkpIDのペアを選択して対応するvwIDの頻度をインクリメントすることで、前記VWヒストグラムを構築することを特徴とする画像特徴量登録装置。
【請求項２】
前記生成されたvwID及びrkpIDのペアを、vwIDが共通となるペアごとに、前記算出されたスコアの降順に並び替える第一ソーティング部と、
前記並び替えられた順番に従って前記vwID及びrkpIDのペアに段階IDを付与する段階ID付与部と、
前記vwID及びrkpIDのペアを、前記付与された段階IDが共通となるペアごとに、前記算出されたスコアの降順に並び替える第二ソーティング部と、をさらに備え、
前記VWヒストグラムを構築する際に前記生成されたvwID及びrkpIDのペアを選択する順番を、前記第二ソーティング部にて並び替えた結果に基づいて定めることを特徴とする請求項１に記載の画像特徴量登録装置。
【請求項３】
前記選択する順番が、前記付与された段階IDが小さいペアを優先し、且つ、当該段階IDが共通となるペアにおいては、前記算出されたスコアが高いペアを優先することにより定められることを特徴とする請求項２に記載の画像特徴量登録装置。
【請求項４】
前記生成されたvwID及びrkpIDのペアを選択してから、前記頻度がインクリメントされる対応するvwIDを決定する特徴量平均化部をさらに備え、
前記特徴量平均化部は、前記選択されたvwID及びrkpIDのペアに対応する一連の局所特徴を平均したうえで量子化することで、前記頻度がインクリメントされる対応するvwIDを求めることを特徴とする請求項１ないし３のいずれかに記載の画像特徴量登録装置。
【請求項５】
前記特徴量平均化部は、前記局所特徴における特徴ベクトルを、次元ごとに平均値をとって並べることで平均特徴ベクトルを作成する、または、
前記局所特徴における特徴ベクトルはバイナリコードで表現されるものであり、前記特徴量平均化部は、当該バイナリコードで表現される特徴ベクトルを、次元ごとに平均値をとった上で四捨五入して並べることで平均特徴ベクトルを算出する、または、
前記特徴量平均化部は、前記局所特徴におけるオリエンテーションを、長さ1のベクトルで表現した上で当該ベクトルを合成し、合成されたベクトルを角度に変換することで平均オリエンテーションを算出する、または、
前記特徴量平均化部は、前記局所特徴におけるスケールの平均値を取り、予め定められた離散的なスケールの中で最も近いものに割り当てることで平均スケールを算出する、ことを特徴とする請求項４に記載の画像特徴量登録装置。
【請求項６】
前記入力される局所特徴を記述するために、
前記参照画像を一連の仮想視点から撮影したようにそれぞれ変換することで一連の学習画像を作成する変換画像作成部と、
前記参照画像と前記学習画像の各々とより特徴点を検出する特徴点検出部と、
前記検出された特徴点に対して、前記変換の逆で前記参照画像における位置に前記参照画像より検出される特徴点があるか否かのマッチング判定を行い、当該マッチング判定をパスした特徴点のみを選別する座標マッチング部と、
前記選別された特徴点に対して、対応する前記学習画像を用いて局所特徴を記述する局所特徴量記述部と、をさらに備えることを特徴とする請求項１ないし５のいずれかに記載の画像特徴量登録装置。
【請求項７】
前記座標マッチング部は、前記検出された特徴点に対して、前記変換の逆を施した際の座標位置と、前記参照画像より検出される特徴点の座標位置と、の距離が固定長以内である場合に、前記マッチング判定に成功したものと判断する、または、
前記座標マッチング部は、前記変換の逆によりマッチングすると判定された前記参照画像の特徴点が複数存在する場合、当該変換の逆による位置が最も近い特徴点にマッチングしているものと判断する、ことを特徴とする請求項６に記載の画像特徴量登録装置。
【請求項８】
前記変換画像作成部がさらに、前記参照画像を一連の仮想視点から撮影したようにそれぞれ変換したうえでぼけ変換を施すことで、前記一連の学習画像を作成することを特徴とする請求項６または７に記載の画像特徴量登録装置。
【請求項９】
認識対象を撮影した参照画像と、当該認識対象を前記参照画像と異なる視点から撮影した一連の学習画像において、前記参照画像における認識対象から局所特徴が抽出される箇所に対応する箇所より抽出された局所特徴と、を入力とし、前記参照画像の特徴量としてのVW(ビジュアルワード)ヒストグラムを出力する画像特徴量登録方法であって、
前記入力された局所特徴における特徴ベクトルを代表ベクトルに量子化し、前記学習画像の特徴点に代表ベクトルのID（以下、vwIDとする。）を付与すると共に、当該vwIDに対応する前記参照画像の特徴点ID（以下、rkpIDとする。）を紐付けることでvwID及びrkpIDのペアを生成する量子化段階と、
前記生成されたvwID及びrkpIDのペアの個数をカウントすることで、当該ペアのスコアを算出するスコア算出段階と、
前記算出されたスコアが高いrkpIDを優先しながら、且つ、頻度をインクリメントされるvwIDが偏らないようにしながら、所定のデータサイズ制限に到達するまで順次、前記生成されたvwID及びrkpIDのペアを選択して対応するvwIDの頻度をインクリメントすることで、前記VWヒストグラムを構築する段階と、を備える画像特徴量登録方法。
【請求項１０】
コンピュータを請求項１ないし８のいずれかに記載の画像特徴量登録装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像より射影変化に対してロバストであり且つ高速検索可能な特徴量を登録することのできる画像特徴量登録装置、方法及びプログラムに関する。
【背景技術】
【０００２】
非特許文献１および2に開示されているように、画像から抽出される局所特徴を用いて物体認識を行う方法がある。これらの方法では，物体をカメラ等の撮影手段で撮影した画像から特徴点を抽出し、予め登録されたデータベース (DB) 内の物体毎の特徴点と比較することによって、物体を特定する。
【０００３】
高速化やメモリ使用量削減等のため、特徴点の持つ特徴ベクトルはVisual Word (ビジュアルワード：以下VWと略称する) と呼ばれる代表ベクトルに量子化される。その際には、一般的に特徴点の持つ特徴ベクトルの最近傍となるVWに量子化される。しかし、撮影された画像から抽出される特徴ベクトルは、登録時との撮影視点の差異や、撮影画像のぼけ、ぶれ等の様々な要因によって変化しうる。そのため、DBに登録された物体の同一位置から抽出された特徴ベクトルであっても、異なるVWに量子化されてしまうことがある。これを量子化誤りと呼ぶ。
【０００４】
当該量子化誤りという問題に対し、非特許文献１では、特徴点の特徴ベクトルをk近傍となる複数のVWに割り当て (Soft Assignment) た上でDBに登録することによって、量子化誤りの影響を緩和している。
【０００５】
また、非特許文献2では特徴点の持つオリエンテーションやスケールを利用することによって、量子化誤りを起こした特徴点をフィルタリングし、認識精度を向上させている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Philbin, James, et al. "Lost in quantization: Improving particular object retrieval in large scale image databases." Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2008.
【非特許文献２】Jegou, Herve, Matthijs Douze, and Cordelia Schmid. "Hamming embedding and weak geometric consistency for large scale image search." Computer Vision-ECCV 2008. Springer Berlin Heidelberg, 2008. 304-317.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、特徴空間におけるk近傍VWを近い順に選んでいるだけであり、参照画像と質問画像の変化に対する考慮がなされていない。特に、局所特徴には画像が変化した際の特徴点検出のロバスト性および特徴量のロバスト性があるにも関わらず、それらに対する考慮がなされていない。
【０００８】
本発明は、上記の従来技術の課題に鑑み、参照画像の特徴量を画像変化に対してもロバストな形で登録することができ、且つ、計算資源に制約があるような環境においても高速に参照可能な形で登録することのできる、画像特徴量登録装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明は、認識対象を撮影した参照画像と、当該認識対象を前記参照画像と異なる視点から撮影した一連の学習画像において、前記参照画像における認識対象から局所特徴が抽出される箇所に対応する箇所より抽出された局所特徴と、を入力とし、前記参照画像の特徴量としてのVWヒストグラムを出力する画像特徴量登録装置であって、前記入力された局所特徴における特徴ベクトルを代表ベクトルに量子化し、前記学習画像の特徴点に代表ベクトルのID（以下、vwIDとする。）を付与すると共に、当該vwIDに対応する前記参照画像の特徴点ID（以下、rkpIDとする。）を紐付けることでvwID及びrkpIDのペアを生成する量子化部と、前記生成されたvwID及びrkpIDのペアの個数をカウントすることで、当該ペアのスコアを算出するスコア算出部と、を備え、前記算出されたスコアが高いrkpIDを優先しながら、且つ、頻度をインクリメントされるvwIDが偏らないようにしながら、所定のデータサイズ制限に到達するまで順次、前記生成されたvwID及びrkpIDのペアを選択して対応するvwIDの頻度をインクリメントすることで、前記VWヒストグラムを構築することを特徴とする。
【００１０】
また、本発明は、認識対象を撮影した参照画像と、当該認識対象を前記参照画像と異なる視点から撮影した一連の学習画像において、前記参照画像における認識対象から局所特徴が抽出される箇所に対応する箇所より抽出された局所特徴と、を入力とし、前記参照画像の特徴量としてのVWヒストグラムを出力する画像特徴量登録方法であって、前記入力された局所特徴における特徴ベクトルを代表ベクトルに量子化し、前記学習画像の特徴点に代表ベクトルのID（以下、vwIDとする。）を付与すると共に、当該vwIDに対応する前記参照画像の特徴点ID（以下、rkpIDとする。）を紐付けることでvwID及びrkpIDのペアを生成する量子化段階と、前記生成されたvwID及びrkpIDのペアの個数をカウントすることで、当該ペアのスコアを算出するスコア算出段階と、前記算出されたスコアが高いrkpIDを優先しながら、且つ、頻度をインクリメントされるvwIDが偏らないようにしながら、所定のデータサイズ制限に到達するまで順次、前記生成されたvwID及びrkpIDのペアを選択して対応するvwIDの頻度をインクリメントすることで、前記VWヒストグラムを構築する段階と、を備えることを特徴とする。
【００１１】
また、本発明は、コンピュータを前記画像特徴量登録装置として機能させるプログラムであることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、生成されたvwID及びrkpIDのペアの個数をカウントすることで、特徴点のロバスト性を反映したスコア値を算出し、当該スコア値が高いものを優先して、且つvwIDが偏らないように登録することによってデータサイズ制限内でヒストグラムを構築するので、射影変化に対してロバストであり且つ高速参照可能な特徴量を登録することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る画像特徴量登録装置の機能ブロック図である。
【図２】変換画像作成部及び特徴点検出部の処理をそれぞれ説明するための図である。
【図３】座標マッチング部、局所特徴量記述部及び量子化部の処理をそれぞれ模式的に説明するための図である。
【図４】スコア算出部、第一ソーティング部及び段階ID付与部の処理をそれぞれ模式的に説明するための図である。
【図５】第二ソーティング部及び特徴量平均化部の処理をそれぞれ模式的に説明するための図である。
【図６】射影変化に対してロバストなVWヒストグラム構築の「考え方」を説明するための図である。
【図７】一実施形態に係る画像特徴量登録装置の動作のフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、一実施形態に係る画像特徴量登録装置の機能ブロック図である。画像特徴量登録装置1は、変換画像作成部11、特徴点検出部12、座標マッチング部13、局所特徴量記述部14、変換行列記憶部15、量子化部21、スコア算出部22、第一ソーティング部23、段階ID付与部24、第二ソーティング部25、学習特徴量記憶部26、データ登録部31及び特徴量平均化部32を備える。なお、図１では各部11〜15を機能部群10、各部21〜26を機能部群20、各部31,32を機能部群30としてグループ化しているが、当該グループ化による区別は各部11〜32の機能を説明の便宜上分類したものであり、詳しくは後述する。
【００１５】
図２〜図５は図１の各部の処理を模式的に説明するための図である。図２は、変換画像作成部11及び特徴点検出部12の処理をそれぞれ[1],[2]として説明するための図である。図３は、座標マッチング部13、局所特徴量記述部14及び量子化部21の処理をそれぞれ[1],[2],[3]として説明するための図である。図４は、スコア算出部22、第一ソーティング部23及び段階ID付与部24の処理をそれぞれ[1],[2],[3]として説明するための図である。図５は、第二ソーティング部25及び特徴量平均化部32の処理をそれぞれ[1],[2]として説明するための図である。
【００１６】
以下、図２〜図５を参照しながら、図１の各部11〜32の処理の概要を説明する。
【００１７】
変換画像作成部11は、図２の[1]に示すように、[1-1]のように入力された参照画像に対して、[1-2]のように、仮想空間における1つ以上の視点から撮影されるように射影変換する射影変換行列を算出し、蓄積する。さらに、[1-3]のように、蓄積された射影変換行列を用いて参照画像を射影変換し、[1-4]のように学習画像として蓄積する。このとき、学習画像に更にぼけ等の変換を施してもよい。
【００１８】
特徴点検出部12は、図２の[2]に示すように、参照画像および学習画像から特徴点を検出する。図２の[2]では、参照画像RP1より特徴点を検出すると共に、参照画像RP1に対応する一連の学習画像として、射影変換行列H1,H2,…にてそれぞれ射影された学習画像LP1,LP2,…が示され、各学習画像から特徴点を検出している例が示されている。
【００１９】
当該両画像から検出された特徴点同士を対象として座標マッチング部13は、図３の[1]に示すように、点の座標に基づくマッチングを行う。この際、学習画像の特徴点に、マッチした参照画像の特徴点のID（rkpID）を紐付ける。マッチングされなかった学習画像の特徴点は、以降の処理では利用されない、すなわち、以降の処理の対象外となる。
【００２０】
なお、上記にて参照画像の特徴点のIDとして「rkpID」を用いたが、参照(reference)画像の特徴点(keypoint)のIDを表す略称である。以降の説明においても適宜、当該略称「rkpID」を用いることとする。なお、当該rkpIDは特徴点検出部12で特徴点を検出した際に付与しておく。図２の[2]では参照画像にrkpIDとして1,2,3等を付与している例が描かれている。
【００２１】
また、座標マッチング部13においては図３の[1]に示すように、学習画像の特徴点に対して当該学習画像に対応する射影変換行列の逆行列による射影を適用して、射影前の参照画像と共通の座標に変換したうえで、参照画像と同一座標と判定できるか否かによってマッチングを行う。
【００２２】
図３の[1]の例では、図２の[2]に対応するマッチングの例が示されている。すなわち、参照画像RP1にて検出されたrkpID=1,2,3で特定される3つの特徴点に対して、行列H1で射影して作成された学習画像LP1から検出された2つの特徴点は、対応する逆行列H1-1により画像LP10（参照画像RP1と共通座標の画像）における位置へと逆変換された後、rkpID=1,2の2点とそれぞれマッチングされている。また、行列H2で射影して作成された学習画像LP2から検出された3つの特徴点は、対応する逆行列H2-1により画像LP20（参照画像RP1と共通座標の画像）における位置へと逆変換された後、当該3点のうち2点がrkpID=2,3の2点とマッチングされるが、残りの1点はrkpID=1,2,3のいずれの点ともマッチングされていない。
【００２３】
局所特徴量記述部14は、図３の[2]に示すように、座標マッチング部13にてマッチングされた学習画像の特徴点のみを用いて、局所特徴量を記述する。当該記述された局所特徴量における特徴ベクトルを、量子化部21は、図３の[3]に示すように、予め用意された代表ベクトル群（VW群）を用いることで量子化する。通常、特徴ベクトルと全てのVWのハミング距離を算出し、距離の近いVWに割り当てる。1つの特徴ベクトルは最近傍のVWのみに割り当ててもよいし、k近傍のVWに割り当ててもよい。
【００２４】
量子化部21はこの際さらに、学習画像の特徴点が割り当てられたVWのID（以降、vwIDと略称する）を、対応するrkpIDと紐付け、更にそのvwIDとrkpIDとのペアを、学習画像から抽出された特徴量と紐づけて学習特徴量記憶部26に蓄積する。
【００２５】
図３の[2],[3]に示す例では、[1]に示した学習画像LP1にてマッチングされた2つの特徴点において局所特徴量を記述することで、その特徴ベクトルがf1,f2として得られると共に、量子化されることによりそのIDがvwID=3,5となるようなVWにそれぞれ量子化されている。[3]では示されていないが、vwID=3にはrefID=1が紐付けられ、さらに特徴ベクトルf1に対応する局所特徴量が紐付けられる。また、vwID=5にはrefID=2が紐付られ、さらに特徴ベクトルf2に対応する局所特徴量が紐付けられる。
【００２６】
スコア算出部22は、図４の[1]に示すように、学習特徴量記憶部26に蓄積されたvwIDとrkpIDのペアの中から、同一のvwIDとrkpIDであるペアの個数を数え、当該個数を当該ペアのスコア値として算出する。第一ソーティング部23は、図４の[2]に示すように、当該算出されたスコア値を用いて、vwIDごとにスコア値の高い順にrkpIDを並べたリストを作成する。段階ID付与部24は、図４の[3]に示すように、当該作成されたリストにおいて、vwIDごとに、スコア値の高い順にrkpIDに段階ID（stepID）を紐付ける。
【００２７】
以上求めたstepID及びスコア値を利用することで、参照画像の特徴量としてのVWヒストグラム（すなわち、周知のBag of Visual Words：BoVW）を構築するに際して、当該VWヒストグラムを登録するデータベースの許容するデータサイズの範囲内において、質問画像内の認識対象が参照画像における状態から射影変化する場合でも特徴量として機能する、射影変化に対してロバストな特徴量として、VWヒストグラムを構築することができる。データ登録部31及び特徴量平均化部32ではそれぞれ、各実施形態に従って当該VWヒストグラムを構築する。
【００２８】
図６は、当該射影変化に対してロバストなVWヒストグラム構築の「考え方」を説明するための図である。[1]に示すように、種々の射影変換を施された学習画像1,2,3,…にはそれぞれのヒストグラム1,2,3,…がある。本発明においては[2]に示すように、データサイズの許容範囲内において、当該射影変化の影響を受けたヒストグラム1,2,3,…を全てを内包するように、すなわち、可能な限り効率的に広範に内包するように、ヒストグラムを作成することで[3]のような射影変化にロバストなヒストグラムを構築する。
【００２９】
具体的には、例えば特徴量平均化部32では次のようにしてヒストグラムを構築する。すなわち、stepIDの小さい順に、同一のstepIDを持つvwIDとrkpIDのペアの中から、スコア値の高い順にデータベースに登録していくことで、ヒストグラムを構築する。当該順番は図５の[1]に示すように、第二ソーティング部25による並べ替えで求めておく。当該順番に従ってヒストグラムを構築する際、特徴量平均化部32では図５の[2]に示すように、vwIDとrkpIDに紐づく学習画像の特徴量の平均値を計算し、登録する。 stepIDは0（stepIDを割り当てた初期値としての0）から開始し、同一のstepIDを持つペアの個数がユーザの指定した個数（データサイズの許容範囲を定める個数）に満たなければ、1つ大きいstepIDを持つペアで同様の処理を行う。ユーザが指定する個数に達するまで、上記の登録処理を繰り返す。
【００３０】
当該登録処理においては、vwIDの各々が構築されるヒストグラムのビンに対応するので、あるペア(vwID1, rkpID1)が登録されると、ヒストグラムにおけるvwID1の頻度がrkpID1によって1だけインクリメントされることとなる。全vwIDの頻度がゼロの空のヒストグラムを初期値として上記のような順番で逐次的にヒストグラムの各ビンの頻度をインクリメントしていくことにより、最終的なヒストグラムが構築されることとなる。
【００３１】
ここで、ペア(vwID, rkpID)はそのスコア値が高いほど射影変化にロバストであるので、当該ロバストなペアを優先的に登録している。さらに、stepIDによって同一vwIDが連続して登録されないように、すなわち、登録されるvwIDが偏ることのないように、登録順番を制御することで、ロバストなペアを優先的に登録しながらも、図６で説明したような種々の射影変化したヒストグラムを可能な限り効率的に内包するような登録を実現する。
【００３２】
データ登録部31は図２〜５ではその概要を示していないが、次のように動作することで、特徴量平均化部32とは別の実施形態により登録を行う。すなわち、特徴量平均化部32と同様の順番で、特徴量平均化部32とは異なり特徴量の平均計算を行うことなくペア(vwID, rkpID)をそのまま用いて登録を行い、ヒストグラムを構築する。
【００３３】
以上、図１の各部の概要を説明した。当該説明より明らかなように、各部11〜15からなる機能部群10は、認識対象を撮影した参照画像に対して、当該認識対象を当該参照画像と異なる視点から撮影した一連の学習画像において、当該参照画像における認識対象から局所特徴が抽出される箇所に対応する箇所より一連の局所特徴を抽出するという機能を担っている。
【００３４】
また、各部21〜26からなる機能部群20は、ヒストグラム（VWヒストグラム）を構築する際の順番を定めるためのスコア値を算出し、当該スコア値に基づいてヒストグラムを構築するための順番を定める機能を有する。そして、各部31,32からなる機能部群30は、実際に当該順番に従ってヒストグラムを構築する機能を有する。
【００３５】
こうして、機能部群20,30により、算出されたスコアが高いrkpIDを優先しながら、且つ、頻度をインクリメントされるvwIDが偏らないようにしながら、所定のデータサイズ制限に到達するまで順次、生成されたvwID及びrkpIDのペアを選択して対応するvwIDの頻度をインクリメントすることで、画像特徴量登録装置1の出力としてのヒストグラムを構築することが可能となる。
【００３６】
以下、図１の各部11〜32の処理の詳細を説明する。
【００３７】
[変換画像作成部11]
変換画像作成部11は、参照画像の入力を受けて、参照画像を1つ以上の様々な距離や様々な方向から観察されたように、仮想的なスクリーンに透視投影された学習画像を作成し、特徴点検出部12に出力する。具体的には、参照画像の周囲に仮想的な視点を滞りなく配置し、視野角等の透視投影パラメータを所定の設定として射影変換行列を算出し、その射影変換行列を用いて参照画像を射影変換する。なお、この際算出された射影変換行列は、生成された学習画像のIDと共に変換行列記憶部15に記憶される。
【００３８】
ここで、仮想的な視点の配置には、例えば参照画像を原点に置き、空間的に均等に配置されるとされるGeodesic Domeの各頂点を用いてもよいし、3次元格子状構造の各頂点を用いてもよい。また、生成された変換画像に対し、ガウシアンフィルタ等のぼけフィルタを用いて、更なる変換を加えてもよい。
【００３９】
[特徴点検出部12]
特徴点検出部12は、参照画像及び当該参照画像より変換画像作成部11で作成された一連の学習画像を入力として受けて、当該入力画像のそれぞれから特徴点検出器を用いて特徴点を検出し、座標マッチング部13へ出力する。特徴点検出器には、一般的に知られているSIFTやSURF、FAST等といったアルゴリズムを利用することができる。なお、通常一枚の画像から検出された特徴点群は、プログラム上では配列に格納され、その配列の添え字を特徴点IDとして識別することができる。
【００４０】
[座標マッチング部13]
座標マッチング部13では、特徴点検出部12により参照画像と学習画像の各々とからそれぞれ検出された特徴点と、変換行列記憶部15に記憶された当該学習画像に紐づく射影変換行列と、を入力として受けて、参照画像及び各学習画像における特徴点同士をマッチングし、当該マッチング結果を局所特徴量記述部14へと出力する。
【００４１】
具体的には、初めに、学習画像の特徴点の座標を、当該学習画像に対応する射影変換行列を用いて逆射影することによって、参照画像と座標系を揃える。次に，参照画像の特徴点の座標と同一の座標を持つ学習画像の特徴点を探索する。ここでは、座標一致の判定に際して厳密に同一ピクセルとして判定するのではなく、射影変換による座標のブレを考慮し、互いの距離が所定半径以内（例えば半径3ピクセル以内）に存在すれば同一の座標とみなす、というような条件の緩和を行って判定してもよい。また、このとき所定半径以内に複数の特徴点が存在する場合は、最も距離が近い1点に絞ってもよい。また、同一の特徴点に複数の特徴点がマッチングしている場合は、クロスチェックを行い、最も距離が近い1点に絞ってもよい。
【００４２】
[局所特徴量記述部14]
局所特徴量記述部14は、学習画像と、特徴点検出部12で検出され座標マッチング部13にてマッチングされた当該学習画像における特徴点の座標と、を入力として受けて、特徴量抽出器を用いて当該特徴点位置における当該学習画像の局所的な特徴を局所特徴と呼ばれるベクトル形式で抽出し、量子化部21へと出力する。
【００４３】
ここで、特徴量抽出器には、一般的に知られているSIFTやSURF，ORB，FREAK等といったアルゴリズムを利用することができる。これらの局所特徴は座標p=(x,y)，オリエンテーションθ，スケールs，及び特徴ベクトルfにより特徴付けられる。
【００４４】
[変換行列記憶部15]
変換行列記憶部15は、変換画像作成部11の前記出力を記憶し、座標マッチング部13における参照に供する。
【００４５】
[量子化部21]
量子化部21は、局所特徴量記述部14で記述された特徴ベクトルfおよびオリエンテーションθ，スケールsを入力として受け、予め用意された代表ベクトルのうち、特徴ベクトルfとの距離が最も近くなるもののID (vwID) を出力する。ここで、出力される特徴ベクトルのIDは特徴ベクトルfとの距離が最も近いもののみであってもよいし、距離の近い上位k件（kは所定数）であってもよい。
【００４６】
量子化部21ではまた、当該出力したvwIDを、学習画像の特徴点IDとマッチングしている参照画像の特徴点ID (rkpID) と紐付けることで、vwIDとrkpIDのペアを生成する。更に、当該ペアに対して入力された特徴ベクトルfおよびオリエンテーションθ，スケールs（すなわち、VWへと量子化される前の、局所特徴量記述部14で記述した情報）を紐付けて学習特徴量記憶部26に記憶させる。
【００４７】
[スコア算出部22]
スコア算出部22は、学習特徴量記憶部26に記憶されたvwIDとrkpIDの一連のペア（以降、各ペアを(vwID, rkpID)と表記する）の入力を受け、vwIDとrkpIDの2次元ヒストグラムに投票を行う。すなわち、ペア(vwID, rkpID)が学習特徴量記憶部26に記憶されている個数を当該ペアの得票数として求め、当該得票数をペア(vwID, rkpID)の持つスコア値score(vwID, rkpID)として第一ソーティング部23へと出力する。
【００４８】
スコア算出部22の出力は次のように解釈することができる。すなわち、ペア(vwID, rkpID)のうち、そのスコアscore(vwID, rkpID)が大きいようなペア(vwID, rkpID)ほど、当該rkpIDで指定される特徴点はそのVWが射影変化に対する耐性が大きい（射影変化を受けにくい）ものであり、射影変化を考慮した認識等を実施する際に優れた特徴点であるため、参照画像において優先的に登録すべき特徴点である。
【００４９】
なお、スコア算出部22では得票数をそのままスコア値として採用する以外にも、得票数に対する所定の単調増加関数又は非減少関数などとして、スコア値を算出してもよい。
【００５０】
[第一ソーティング部23]
第一ソーティング部23は、ペア(vwID, rkpID)及びそれに紐づくスコア値score(vwID, rkpID)を1セットとする時、スコア算出部22の出力を一連のセットの入力として受け、同一のvwIDを持つセット群に対して、スコア値の大きい順にソーティングを行い、当該ソーティング結果を段階ID付与部24へと出力する。
【００５１】
第一ソーティング部23の出力は次のように解釈することができる。すなわち、上記のスコア算出部22の出力においては、スコアscore(vwID, rkpID)が大きいほど射影変化への耐性の観点で優れているが、認識等を実施する際はVWのヒストグラム形式で実施することを考慮して、当該ヒストグラムのビンに対応するvwID毎に、優れたrkpIDをそのスコアに従って順序付けしたものが第一ソーティング部23の出力に相当する。
【００５２】
さらに、次に述べる段階ID付与部24の出力は、当該順序に基づく第二ソーティング部25による別のソーティング処理の対象を分類するための情報に相当する。当該分類された対象ごとに第二ソーティング部25がソーティングを行った結果に従って登録順番が決定される。後述する図７のフローチャートにおいて当該登録順番に従って登録することで、vwIDが偏らないような登録が可能となる。
【００５３】
[段階ID付与部24]
段階ID付与部24は、第一ソーティング部23でソートされた、同一vwIDを持つセット群に対して，並び順の段階ID (以降、stepIDと表記する) を紐づけたうえで、第二ソーティング部25へと出力する。すなわち、あるvwID[i]を持つセットに関して大きい側からj(j=0, 1, 2, …)番目のスコア値を与えるrkpIDをrkpID[i,j]とすると、ペア(vwID[i], rkpID[i, j])及びそのスコアscore(vwID[i], rkpID[i, j])のセットにはstepIDとして「j」を紐付けることができる。（なお、jは最小値0から開始するものとしているが、1などその他の値を最小値としてもよい。）
【００５４】
[第二ソーティング部25]
第二ソーティング部25は、stepIDと(rkpID,vwID)のペア（以降、ペア(stepID, rkpID, vwID)と表記する）及びそれに紐づくスコア値score(stepID, rkpID, vwID)を1セットとすると、段階ID付与部24の出力を一連のセットの入力として受け、同一のstepIDを持つセット群に対して，スコア値の大きい順にソーティングを行う。当該ソーティング結果は、後述する図７のフローチャートにおける登録順序を決定するための情報として、データ登録部31及び特徴量平均化部32へと出力される。
【００５５】
[学習特徴量記憶部26]
学習特徴量記憶部26は、量子化部21の前記出力を記憶し、スコア算出部22及び特徴量平均化部32における参照に供する。
【００５６】
[特徴量平均化部32]
特徴量平均化部32は、vwIDとrkpIDのペアの入力を受け、学習特徴量記憶部26に蓄積された当該ペアに紐づく1つ以上の特徴ベクトルfおよびオリエンテーションθ，スケールsの平均値を算出する。平均として算出された特徴量fはさらに、量子化してvwIDを求めたうえで、ヒストグラムに登録することができる。オリエンテーションθ及びスケールsについては、ヒストグラムとは別途の情報として利用することができる。
【００５７】
なお、vwIDとrkpIDのペアの入力を受ける順番、すなわちヒストグラムへの登録順番の詳細については、図７を参照して後述する。また、特徴ベクトルfおよびオリエンテーションθ，スケールsの平均値の算出に関しては、以下のようにすればよい。
【００５８】
特徴ベクトルfは次元ごとに平均をとることができる。特徴ベクトルfがバイナリコードで表現されている場合は実数で表現してもよいし、実数で平均値を出した後に、四捨五入して並べることでバイナリコードで表現してもよい。オリエンテーションθは角度を長さ1のベクトルに変換し、ベクトル合成（ベクトル和を取ること）を行った後に再度角度に変換することで、平均値（平均オリエンテーション）をとることができる。スケールsは通常、予め定められたスケールの中で離散的に定められているため、初めに平均値を算出（離散値の平均として実数（連続値）で算出）した後、最も近い離散値に割り当てればよい。
【００５９】
[データ登録部31]
データ登録部31は、vwIDとrkpIDのペアの入力を受け、そのままデータベースにデータを登録することができる。すなわち、ヒストグラムにおいて当該ペアにおけるvwIDの頻度を、当該rkpIDの寄与によって1だけインクリメントして登録することができる。vwIDとrkpIDのペアの入力を受ける順番は特徴量平均化部32におけるのと同様の順番とすることができ、その詳細は図７を参照して後述する。
【００６０】
なお、特徴量平均化部32で入力rkpIDに紐付く平均化された特徴量を算出している場合は、入力rkpIDに紐付く平均化された特徴量とvwIDを合わせて登録してもよい。また、特徴量平均化を行わない場合は、局所特徴量記述部14（と同様の処理）によって入力rkpIDの特徴点を用いて参照画像から特徴量を抽出し，vwIDと合わせて登録するようにしてもよい。rkpIDに紐付く特徴量を登録しない場合には、上述のようにvwIDのみを登録するようにしてもよい。
【００６１】
図７は、一実施形態に係る画像特徴量登録装置1の動作のフローチャートである。繰り返し構造を示すステップS2,S8で囲まれるステップS3〜S7は、設定した仮想視点のそれぞれにつき実施される。繰り返し構造を示すステップS12,S19で囲まれるステップS13〜S18は、段階IDのそれぞれにつき実施される。繰り返し構造を示すステップS14,S18でかこまれるステップS15〜S17は、ペア(vwID, rkpID)ごとに実施される。各ステップは以下の通りである。
【００６２】
ステップS1では画像特徴量登録装置1へのユーザ等による入力・設定として、参照画像の入力と、一連の仮想視点の設定と、登録するデータベースのデータサイズ制限の設定と、が行われ、ステップS2に進む。ステップS2では、当該時点までに未注目（処理対象となっていない）仮想視点に注目する、すなわち、当該仮想視点を処理対象として設定して、ステップS3へ進む。ステップS3では、変換画像作成部11が当該注目した仮想視点に対応する射影変換行列によって参照画像を変換し、対応する学習画像を得て、ステップS4に進む。
【００６３】
ステップS4では特徴点検出部12が当該学習画像より特徴点を検出してステップS5に進む。ステップS5では座標マッチング部13が当該学習画像より検出された特徴点と、参照画像の特徴点と、を対応する逆射影変換行列で座標を揃える等することでマッチングし、学習画像の特徴点のうち、マッチングしたもののみを以降の処理対象として選別してから、ステップS6へ進む。（なお、参照画像からの特徴点の検出は、仮想視点ごとに繰り返す必要はないため、ステップS1で参照画像が入力された際に特徴点検出部12が実施しておけばよい。）
【００６４】
ステップS6では局所特徴量記述部14が当該マッチングした特徴点における局所特徴を、対応する学習画像における近傍画素を用いることによって記述し、ステップS7へ進む。ステップS7では、量子化部21が、当該記述された局所特徴における特徴ベクトルを量子化してそのvwIDを求め、また、前述のようなrkpIDとの紐付けや量子化前の局所特徴との紐付けを実施してから、ステップS8へ進む。
【００６５】
ステップS8では設定した一連の仮想視点の全てに注目したか、すなわち、ステップS3〜S7での処理が完了したか否かが判定され、完了していればステップS9へ進み、未完了であればステップS2に戻り、未処理の仮想視点に注目することで処理を継続する。
【００６６】
ステップS9では、スコア算出部22が量子化部21の生成した各ペア(vwID, rkpID)につきスコア値を算出してステップS10へ進む。ステップS10では、第一ソーティング部23が前述のように、同一のvwIDを持つセット群に対して、スコア値の大きい順にソーティングを行い、ステップS11へ進む。ステップS11では、段階ID付与部24が前述のように、同一vwIDを持つセット群に対して，並び順の段階IDを紐付けてから、ステップS12へ進む。
【００６７】
ステップS12では、1つの段階IDを処理対象として注目してから、ステップS13に進む。ここで、段階IDは昇順に注目する。すなわち、初期値0から開始して0, 1, 2, …と段階IDが付与されていれば、当該順番（対応するスコア値では降順）で注目する。
【００６８】
ステップS13では、当該注目した段階IDが紐付いた一連のペアに対して第二ソーティング部25が前述のように、スコア値の大きい順にソーティングを行ってから、ステップS14へ進む。
【００６９】
ステップS14では、当該注目した段階IDにて第二ソーティング部25にソーティングされた結果における各ペア(vwID, rkpID)のうち、1つのペアを処理対象として注目してから、ステップS15へ進む。ここで、ペア(vwID, rkpID)はそのスコア値が大きい側から順番に注目する。
【００７０】
ステップS15では、当該注目された段階IDにおける当該注目されたペア(vwID, rkpID)を対象として、特徴量平均化部32が特徴量の平均を求め、ステップS16に進む。ステップS16では、当該求めた平均により特徴量平均化部32が前述のようにヒストグラムへの登録を行い、ステップS17へ進む。なお、データ登録部31を用いる実施形態ではステップS15は省略してよく、ステップS16では代わりにデータ登録部31が前述のようにヒストグラムへの登録を行うことができる。
【００７１】
ステップS17では、当該時点までに構築されているヒストグラムがステップS1にて指定したデータサイズ制限に到達しているか否かが判定され、到達していれば当該フローは終了し、到達していなければステップS18へ進む。ステップS18では当該注目している段階IDにおいて全てのペア(vwID, rkpID)に注目したか否かが判定され、全て注目済みであればステップS19へ進み、未注目のペアがあればステップS14に戻り、処理を繰り返す。
【００７２】
ステップS19では、全ての段階IDに注目したか否かが判定され、全て注目済みであれば当該フローは終了し、未注目の段階IDがあればステップS12に戻り、処理を繰り返す。
【００７３】
以上、図７のフローはペア(vwID, rkpID)を順次選択してヒストグラムへと登録する際の順番の一実施形態となっているが、当該順番の決定はその他の実施形態も可能である。方針としては、スコア値が大きいようなペア(vwID, rkpID)を優先しつつ、登録されるvwIDが偏らないようにする方針で順番を決定し、ステップS17で説明したようなデータベースサイズ制限に到達するまで順次、登録を継続するような種々の手法で順番を決定し、図６にて説明した「考え方」に従うような選択を行うようにすればよい。
【００７４】
例えば、ステップS18では、次に注目するペア(vwID, rkpID)が存在するが、そのスコア値が閾値判定により小さいと判定される場合には、ステップS14には戻らずステップS19へと進むようにして、スコア値の小さいペア(vwID, rkpID)を登録対象外としてもよい。ただしこの場合、次に処理される段階IDにおいて、当該閾値判定により小さいとは判定されないようなペア(vwID, rkpID)が残存していることを追加条件として課すことが好ましい。
【００７５】
また、段階IDを利用せず、ペア(vwID, rkpID)をそのスコア値の大きい順番で並べたうえで、1番目はスコア値最大のペアを選択し、2番目以降は次のような選択を逐次的に実施してもよい。すなわち、2番目以降を決定するに際してのスコア値を、スコア算出部22で説明したようなペア(vwID, rkpID)の個数のみの関数ではなく、それまでに選択されたvwIDの履歴の関数として算出することで、最大スコア値のペア(vwID, rkpID)を選択するようにしてもよい。ここで、vwID履歴の関数としては、当該vwIDが多く選択されているほどペナルティを課し、スコア値を下げるような所定関数を用いればよい。
【００７６】
以上、本発明によれば、撮影視点の変化に対して頑健な物体認識を、容量の少ないデータベースで高精度に実現することが可能となる。さらに、データベースサイズが削減されることによって検索時の計算量が削減され、計算資源の少ない情報端末であっても，即座に認識対象物を識別することが可能となる。
【００７７】
特に、参照画像の特徴ベクトルと質問画像の特徴ベクトルを量子化した際に割り当てられるVWを予測することによって、量子化誤りの影響を緩和することができる。具体的には、参照画像を多様なパラメータで変換した複数の学習画像から、局所特徴抽出および量子化処理によってVWヒストグラム群を作成し、それらに出現した全てのVWに、割り当てられた確率の高い順に特徴点を割り当てる。更に、登録する特徴量は人工画像から抽出されたものの平均値を用いることもできる。
【００７８】
これにより、参照画像から検出される特徴点に対して，検出率の高い特徴点の選択、および特徴量のロバスト性に応じた適応的な複数割り当てを行うことができる。更に、学習画像から抽出された特徴量の平均値を登録することができる。その結果、従来手法と比べて、特徴点に基づく画像検索の精度が向上させることが可能となる。
【００７９】
以下、本発明における補足的事項を説明する。
【００８０】
本発明は、コンピュータを画像特徴量登録装置1として機能させるそれぞれのプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが画像特徴量登録装置1の各部の機能に対応する命令を実行することとなる。
【符号の説明】
【００８１】
1…画像特徴量登録装置、11…変換画像作成部、12…特徴点検出部、13…座標マッチング部、14…局所特徴量記述部、15…変換行列記憶部、21…量子化部、22…スコア算出部、23…第一ソーティング部、24…階層ID付与部、25…第二ソーティング部、26…学習特徴量記憶部、31…データ登録部、32…特徴量平均化部
【図１】
0006403201.tif 000002
【図２】
0006403201.tif 000003
【図３】
0006403201.tif 000004
【図４】
0006403201.tif 000005
【図５】
0006403201.tif 000006
【図６】
0006403201.tif 000007
【図７】
0006403201.tif 000008