(57)【特許請求の範囲】
【請求項１】
一連の仮想視点に対応する射影変換行列を算出することと、
バイナリテストパターンにおける点群を、前記算出された射影変換行列のそれぞれで射影変換して、前記一連の仮想視点に対応する射影されたバイナリテストパターンを作成することと、によって作成された一連の仮想視点に対応する射影されたバイナリテストパターンを用いてバイナリ特徴量を記述する特徴記述装置であって、
入力される画像より特徴点を検出する特徴点検出部と、
前記特徴点の周辺画素を平滑化する平滑化部と、
前記平滑化された周辺画素を用いて前記一連の仮想視点の各々に対応するオリエンテーションを算出するオリエンテーション算出部と、
前記算出したオリエンテーションと、当該オリエンテーションに対応する仮想視点にて前記射影されたバイナリテストパターンと、を用いて、前記特徴点における当該仮想視点に対応するバイナリ特徴量を記述するバイナリ特徴記述部と、を備えることを特徴とする特徴記述装置。
【請求項２】
前記一連の仮想視点が、空間的にサンプリングされた所定の座標で指定されていることを特徴とする請求項１に記載の特徴記述装置。
【請求項３】
前記オリエンテーション算出部は、前記一連の仮想視点の各々に対応するバイナリテストパターンを用いて、前記一連の仮想視点の各々に対応するオリエンテーションを算出することを特徴とする請求項１または２に記載の特徴記述装置。
【請求項４】
前記オリエンテーション算出部は、前記平滑化された周辺画素より第一のオリエンテーションを算出し、当該第一のオリエンテーションを前記一連の仮想視点の各々に対応する射影変換行列で射影した第二のオリエンテーションとして、前記一連の仮想視点の各々に対応するオリエンテーションを算出することを特徴とする請求項１または２に記載の特徴記述装置。
【請求項５】
前記バイナリ特徴記述部は、前記算出したオリエンテーションによって、当該オリエンテーションに対応する仮想視点にて前記射影されたバイナリテストパターンを回転させ、当該回転されたバイナリテストパターンを用いて、前記特徴点における当該仮想視点に対応するバイナリ特徴量を記述することを特徴とする請求項１ないし４のいずれかに記載の特徴記述装置。
【請求項６】
前記バイナリ特徴記述部は、前記記述したバイナリ特徴量を対応する仮想視点と紐付けることを特徴とする請求項１ないし５のいずれかに記載の特徴記述装置。
【請求項７】
入力される一連の仮想視点に対応する射影変換行列を算出する射影変換行列作成部と、
入力されるバイナリテストパターンにおける点群を、前記算出された射影変換行列のそれぞれで射影変換して、前記一連の仮想視点に対応する射影されたバイナリテストパターンを作成するバイナリテストパターン射影部と、
入力される画像より特徴点を検出する特徴点検出部と、
前記特徴点の周辺画素を平滑化する平滑化部と、
前記平滑化された周辺画素を用いて前記一連の仮想視点の各々に対応するオリエンテーションを算出するオリエンテーション算出部と、
前記算出したオリエンテーションと、当該オリエンテーションに対応する仮想視点にて前記射影されたバイナリテストパターンと、を用いて、前記特徴点における当該仮想視点に対応するバイナリ特徴量を記述するバイナリ特徴記述部と、を備えることを特徴とする特徴記述装置。
【請求項８】
一連の仮想視点に対応する射影変換行列を算出することと、
バイナリテストパターンにおける点群を、前記算出された射影変換行列のそれぞれで射影変換して、前記一連の仮想視点に対応する射影されたバイナリテストパターンを作成することと、によって作成された一連の仮想視点に対応する射影されたバイナリテストパターンを用いてバイナリ特徴量を記述する特徴記述方法であって、
入力される画像より特徴点を検出する特徴点検出段階と、
前記特徴点の周辺画素を平滑化する平滑化段階と、
前記平滑化された周辺画素を用いて前記一連の仮想視点の各々に対応するオリエンテーションを算出するオリエンテーション算出段階と、
前記算出したオリエンテーションと、当該オリエンテーションに対応する仮想視点にて前記射影されたバイナリテストパターンと、を用いて、前記特徴点における当該仮想視点に対応するバイナリ特徴量を記述するバイナリ特徴記述段階と、を備えることを特徴とする特徴記述方法。
【請求項９】
コンピュータを請求項１ないし７のいずれかに記載の特徴記述装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バイナリテストパターンを射影することにより、射影変化を考慮した局所特徴量をシミュレートするに際して多数の画像変換を不要とすることで高速化が可能な、特徴記述子作成装置及び特徴記述装置並びに方法及びプログラムに関する。
【背景技術】
【０００２】
近年、局所特徴量に基づく物体認識や画像検索技術が注目されている。局所特徴量とは、画像中から特徴的な点を検出し、その周辺となる局所的な領域の情報を数値化したものである。
【０００３】
局所特徴抽出アルゴリズムは、種々のものが周知であるが、局所特徴量の表現方法によって2つに大別することができる。1つは、実数ベクトルで表現するSIFT (Scale-Invariant Feature Transform) やSURF (Speeded Up Robust Features) などである。局所特徴量の記述方法はアルゴリズム毎に異なり、例えばSIFTの場合、特徴点周辺の局所的な領域を4×4のセルに分割し、それぞれから8方向の勾配強度を算出し、正規化することによって128次元の実数特徴ベクトルを記述している。もう1つは、バイナリコードで表現するBRISK (Binary Robust Invariant Scalable Keypoints) やORB (Oriented Fast and Rotated BRIEF) などである。これらのアルゴリズムにおいては、特徴点周辺に配置された座標のペア（バイナリテストパターン）における、輝度値の大小関係を0と1で表現する"バイナリテスト"によってベクトルとしてバイナリ特徴量を記述している。
【０００４】
ところで、局所特徴量は回転やスケール変化、照明変化に対してロバストな特徴量であると言われている。しかし、射影変化に対してのロバスト性は保証されていないため、同一の対象物を写す画像であっても、その撮影視点が変化すれば、異なる特徴量となることが多い。
【０００５】
この問題に対し、非特許文献1では、1組の画像ペアに対して、それぞれをアフィン変換させた画像を複数作成し、それぞれの画像から特徴抽出し、全ての組み合わせで特徴点マッチングを行うことで、アフィン歪みへのロバスト性を向上させている。
【０００６】
また、特許文献1では、1つの画像に対して、それを様々な視点から見たように射影変換した画像群を作成し、それぞれから特徴抽出している。その後、抽出された局所特徴を基に認識用データを作成することによって、画像認識の精度向上させている。
【０００７】
上記のように、撮影視点の変化がもたらす特徴量の変化に対処する従来技術として、異なる視点から撮影したような画像を多数作成し、その画像から局所特徴を抽出する、という手法が一般的に用いられている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１３−２３８９５３号公報
【非特許文献】
【０００９】
【非特許文献１】J.-M. Morel and G. Yu, "ASIFT: A New Framework for Fully Affine Invariant Image Comparison," SIAM Journal on Imaging Sciences, vol. 2, pp. 438-469, 22-04-2009 2009.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術において多数の変換画像を作成し、それぞれから個別に局所特徴を抽出するという処理には、計算コストが大きいという課題があった。特に、例えば拡張現実感の用途における物体認識のように、リアルタイム処理が求められる場合には、満足できる計算速度は得られなかった。
【００１１】
本発明は、上記従来技術の課題に鑑み、射影変化を考慮した局所特徴量をシミュレートするに際して多数の画像変換を不要とすることで高速化が可能な、特徴記述子作成装置及び特徴記述装置並びに方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明は特徴記述子作成装置であって、入力される一連の仮想視点に対応する射影変換行列を算出する射影変換行列作成部と、入力されるバイナリテストパターンにおける点群を、前記算出された射影変換行列のそれぞれで射影変換して、前記一連の仮想視点に対応する射影されたバイナリテストパターンを作成するバイナリテストパターン作成部と、を備えることを特徴とする。
【００１３】
また、本発明は特徴記述子作成方法であって、入力される一連の仮想視点に対応する射影変換行列を算出する射影変換行列作成段階と、入力されるバイナリテストパターンにおける点群を、前記算出された射影変換行列のそれぞれで射影変換して、前記一連の仮想視点に対応する射影されたバイナリテストパターンを作成するバイナリテストパターン作成段階と、を備えることを特徴とする。
【００１４】
また、本発明はプログラムであって、コンピュータを前記特徴記述子作成装置として機能させることを特徴とする。
【００１５】
上記目的を達成するため、本発明は、前記特徴記述子作成装置によって作成された一連の仮想視点に対応する射影されたバイナリテストパターンを用いてバイナリ特徴量を記述する特徴記述装置であって、入力される画像より特徴点を検出する特徴点検出部と、前記特徴点の周辺画素を平滑化する平滑化部と、前記平滑化された周辺画素を用いて前記一連の仮想視点の各々に対応するオリエンテーションを算出するオリエンテーション算出部と、前記算出したオリエンテーションと、当該オリエンテーションに対応する仮想視点にて前記射影されたバイナリテストパターンと、を用いて、前記特徴点における当該仮想視点に対応するバイナリ特徴量を記述するバイナリ特徴記述部と、を備えることを特徴とする。
【００１６】
また、本発明は、前記特徴記述子作成方法によって作成された一連の仮想視点に対応する射影されたバイナリテストパターンを用いてバイナリ特徴量を記述する特徴記述方法であって、入力される画像より特徴点を検出する特徴点検出段階と、前記特徴点の周辺画素を平滑化する平滑化段階と、前記平滑化された周辺画素を用いて前記一連の仮想視点の各々に対応するオリエンテーションを算出するオリエンテーション算出段階と、前記算出したオリエンテーションと、当該オリエンテーションに対応する仮想視点にて前記射影されたバイナリテストパターンと、を用いて、前記特徴点における当該仮想視点に対応するバイナリ特徴量を記述するバイナリ特徴記述段階と、を備えることを特徴とする。
【００１７】
また、本発明はプログラムであって、コンピュータを前記特徴記述装置として機能させることを特徴とする。
【発明の効果】
【００１８】
前記特徴記述子作成装置、方法又はプログラムによれば、多数の画像変換を行うことなしに高速に、一連の仮想視点に対応する射影されたバイナリテストパターンを作成することができる。
【００１９】
前記特徴記述装置、方法又はプログラムによれば、多数の画像変換を行うことなく高速に、画像より検出した特徴点における一連の仮想視点に対応するバイナリ特徴量を記述することができる。当該バイナリ特徴量は一連の仮想視点に対応しており、従って、射影変化を考慮したものとなっている。
【図面の簡単な説明】
【００２０】
【図１】一実施形態に係る特徴記述子作成装置及び特徴記述装置の機能ブロック図である。
【図２】特徴記述子作成装置の各部の処理内容の概要を説明するための図である。
【図３】特徴記述装置の各部の処理内容の概要を説明するための図である。
【図４】一実施形態に係る特徴記述子作成装置の動作のフローチャートである。
【図５】一実施形態に係る特徴記述装置の動作のフローチャートである。
【図６】本発明にて従来技術と比してシミュレーションの高速化が可能なことを示すための、対比で示したフローチャートである。
【発明を実施するための形態】
【００２１】
図１は、一実施形態に係る特徴記述子作成装置及び特徴記述装置の機能ブロック図である。特徴記述子作成装置10は、射影変換行列作成部11及びバイナリテストパターン射影部12を備える。特徴記述装置20は、特徴点検出部21、平滑化部22、オリエンテーション算出部23、バイナリ特徴量記述部24及び特徴記述子蓄積部25を備える。
【００２２】
図２は、特徴記述子作成装置10の各部の処理内容の概要を[1],[2]と分けてそれぞれ説明するための図であり、図３は、特徴記述装置20の各部の処理内容の概要を[1]〜[5]と分けてそれぞれ説明するための図である。以下、図２及び図３をそれぞれ参照して、図１の各部の処理内容の概要を説明する。
【００２３】
図１に示すように、特徴記述子作成装置10には、ユーザ入力設定としてあるいは固定設定として、用いるバイナリテストパターンと仮想視点との設定が入力される。射影変換行列作成部11では図２の[1]に示すように、当該入力された[1-1]のような仮想視点Pi(θ,φ,r)(i=0, 1, 2, …, n)のそれぞれにつき、[1-2]のように対応する射影変換行列H i(i=0, 1, 2, …, n)を作成する。
【００２４】
また、図２の[2]に示すように、バイナリテストパターン射影部12では[2-1]に示すような設定されたバイナリテストパターンに対して、[2-2]に示すように作成された射影変換行列H i(i=0, 1, 2, …, n)のそれぞれ用いて射影変換することで、射影変換されたバイナリテストパターンを得て、対応する仮想視点Pi(θ,φ,r)(i=0, 1, 2, …, n)と紐付けたうえで特徴記述子作成装置10の出力となす。当該出力は特徴記述装置20の特徴記述子蓄積部25に蓄積される。特徴記述装置20は当該蓄積された出力を入力として用いることで動作する。
【００２５】
なお、図２の[2]の例ではバイナリテストパターンとして前述のBRISKが設定された場合を示しており、図３でも同様にBRISKを使う例が示されている。同様にして以降の説明においてもBRISKを用いる場合を例として説明するが、本発明はその他の種類のバイナリテストパターンを設定する場合であっても同様に実施可能である。
【００２６】
図１に示すように、特徴記述装置20は画像を入力として受け取り、一連の処理を経たうえで当該画像のバイナリ特徴量を出力する。この際、各部21〜24は図３に示すように、それぞれ以下のような処理を行う。
【００２７】
まず、図３の[1]に示すように、特徴点検出部21は画像より特徴点を検出する。なお、図３の例では[1]に示す1つの特徴点に対する処理が[2]〜[5]として順次、例として描かれているが、一般に特徴点は複数検出され、それぞれの特徴点について同様の処理を行うことができる。
【００２８】
次いで、[2]に示すように平滑化部22は当該特徴点の周辺の画素に対して、ガウスフィルタによる平滑化を行う。そして、[3]に示すようにオリエンテーション算出部23はまず、[3-1]に示すように、当該平滑化された特徴点周辺画素を用いて，当該特徴点のオリエンテーションを算出する。オリエンテーション算出部23はさらに、[3-2]に示すように、当該算出したオリエンテーションを、特徴記述子蓄積部25に蓄積されている射影変換行列Hi（前述のように仮想視点Piに対応）を用いて射影し、射影されたオリエンテーション（すなわち、仮想視点Piに対応するオリエンテーション）を求める。[3]では射影前のオリエンテーションO1と射影後のオリエンテーションO2との例が示されている。
【００２９】
さらに、[4]に示すような処理をバイナリ特徴量記述部24が行う。すなわち、[4-1]に示すような特徴記述子蓄積部25に蓄積されている仮想視点Pi（及び射影変換行列Hi）に紐付くバイナリテストパターンを、[4-2]に示すように当該仮想視点Piに対応するオリエンテーションを用いて回転させ、[4-3]に示すように当該回転されたバイナリテストによってバイナリ特徴量を記述し、特徴記述装置20の出力となす。この際、記述に用いたバイナリテストパターンに紐付く仮想視点Piと記述されたバイナリ特徴量とを紐付けて出力となすようにしてもよい。
【００３０】
また、[5]の矢印で繰り返し処理として示すように、以上の[3],[4]は特徴記述子蓄積部25に蓄積されている一連の仮想視点Pi(θ,φ,r)(i=0, 1, 2, …, n)につきそれぞれ実施されることで、特徴記述装置20は各仮想視点Piにつき対応するバイナリ特徴量を出力する。
【００３１】
なお、詳細は「A方式」及び「B方式」として後述するが、BRISKの様にオリエンテーションの算出にバイナリテストパターンを用いる局所特徴抽出アルゴリズム（が利用されるようなバイナリテストパターンを特徴記述子作成装置10の入力として設定した場合）においては、上記説明したような[3],[4]の別実施形態として次も可能である。
【００３２】
すなわち、上記説明したように[3]にて射影変換行列Hiを用いて射影されたオリエンテーションを算出し[4]でバイナリ特徴量を算出するのに代えて、特徴記述子蓄積部25に蓄積されているバイナリテストパターンを用いて対応する局所特徴抽出アルゴリズムをそのまま適用することにより、オリエンテーションの算出とバイナリ特徴量の記述の両方を行うようにしてもよい。当該別実施形態では[3]のような射影変換行列Hiによるオリエンテーションの射影は行わずに、[4]に相当する結果を得ることができる。
【００３３】
以上、図２及び図３を参照して図１の各部の概要を説明した。以下では当該各部の詳細をそれぞれ説明する。
【００３４】
[射影変換行列作成部11]
射影変換行列作成部11は、次のバイナリテストパターン射影部12で設定されるバイナリテストパターンの周囲に滞りなく配置される対象としての、仮想的な視点（以下、仮想視点）の配置を設定する情報を所与のものとして受け取り、視野角等の透視投影パラメータの所定設定のもとで各仮想視点に対応する射影変換行列を算出し、バイナリテストパターン射影部12へと渡す。
【００３５】
仮想視点の配置には、例えば参照画像（バイナリテストパターンが描かれることを想定した参照画像）を原点に置き、空間的に均等に配置されるとされるGeodesic Domeの各頂点を用いてもよいし、3次元格子状構造の各頂点を用いてもよいし、その他、原点を基準として空間的にサンプリングされた所定の座標を用いてもよい。なお、算出された射影変換行列Hiは、対応する仮想視点Pi（θ,φ,r）に紐付けてバイナリテストパターン射影部12へと渡される。
【００３６】
ここで（θ,φ,r）は図２の[1-1]に例示してあるように、原点Oに対する仮想視点Piを3次元極座標で特定するものであるが、3次元直交座標(x, y, z)等のその他の座標などで特定してもよい。以下においても説明のための例として、仮想視点Pi（θ,φ,r）のように3次元極座標で特定したものとして説明するが、その他の座標などで特定してもよい。
【００３７】
[バイナリテストパターン射影部12]
バイナリテストパターン射影部12は、ユーザ指定等で与えられる所与のバイナリテストパターンにおける点群の座標を、射影変換行列作成部11で作成された射影変換行列を用いて射影変換し、特徴記述子蓄積部25に出力する。この際、射影変換された点群の座標としてのバイナリテストパターンを、対応する仮想視点Pi（θ,φ,r）(i=0,1,2,…,n)及び射影変換行列Hiに紐付けたうえで、特徴記述子蓄積部25に出力する。
【００３８】
[特徴記述子蓄積部25]
特徴記述子蓄積部25は、バイナリテストパターン射影部12が出力した仮想視点Pi（θ,φ,r）及び射影変換行列Hiが紐付いた射影されたバイナリテストパターンの情報（設定されたバイナリテストパターンの種類が何であるかの情報を含む）を記憶し、当該情報の全部又は一部を必要に応じてオリエンテーション算出部23及びバイナリ特徴量記述部24での参照に供する。
【００３９】
[特徴点検出部21]
特徴点検出部21は、画像の入力を受けて、当該入力画像から特徴点検出器を用いて特徴点を検出し、平滑化部22へと出力する。特徴点検出器には、一般的に知られているSIFTやSURF,FAST等といったアルゴリズムを利用することができる。
【００４０】
[平滑化部22]
平滑化部22は、特徴点検出部21にて検出された特徴点周辺の画素値の入力を受けて、当該周辺領域の入力画素の輝度値を平滑化し、オリエンテーション算出部23に出力する。平滑化には、一般的に知られているガウシアンフィルタ等を利用することができる。
【００４１】
[オリエンテーション算出部23]
オリエンテーション算出部23は，平滑化部22で平滑化された特徴点周辺の画素値と特徴記述子蓄積部25に保存されている仮想視点Pi（θ,φ,r）とを入力として受けて、仮想視点Pi（θ,φ,r）に対応するオリエンテーションα（Pi（θ,φ,r））を算出して、バイナリ特徴量記述部24に出力する。
【００４２】
ここで、バイナリ局所特徴抽出アルゴリズムにおいては、BRISKの様にバイナリテストパターンを用いてオリエンテーションを算出する方式（以下，A方式と呼ぶ）と、ORBの様に画素値のみでオリエンテーションを算出する方式（以下，B方式と呼ぶ）とが存在する。オリエンテーション算出部23は当該方式A,B毎の処理でオリエンテーションを算出することができる。以下に方式ごとの具体的な算出手法を説明する。
【００４３】
・A方式
例えばBRISKでは、バイナリテストパターン（射影を施さない通常のパターン）における点と点の距離が遠いペアの集合Lに対して、平均勾配ベクトルgを算出し、gの成す角をオリエンテーションとしている。従って当該A方式では、射影を施さない通常のバイナリテストパターンを，仮想視点Pi（θ,φ,r）に対応する射影されたバイナリテストパターンに置き換えたうえで、射影を施さない通常のパターンにおける算出手法と全く同様の算出手法を適用することにより、仮想視点Pi（θ,φ,r）に対応するオリエンテーションα（Pi（θ,φ,r））を算出することができる。（この際、同様の算出手法の適用対象となる画素は平滑化部22で平滑化された特徴点周辺の画素であり、射影変換は受けていないことに注意されたい。また、当該オリエンテーションα（Pi（θ,φ,r））の角度としての値を測るための基準となる方向は、射影を施さない通常のバイナリテストパターンの場合と全く同様に、画像のピクセル座標上の所定方向（例えば垂直上方向など）である。）
【００４４】
なお、当該A方式を適用する場合、オリエンテーション算出部23では特徴記述子蓄積部25を参照して仮想視点Piに対応する射影されたバイナリテストパターンの情報を取得する。また、当該A方式を適用可能なバイナリ局所特徴抽出アルゴリズムにおいては、当該A方式を適用するのに代えて、次のB方式を適用することもできる。この場合、射影しない元のバイナリテストパターンを使ってB方式を適用すればよい。
【００４５】
・B方式
例えばORBでは、特徴点を中心とした一辺31[pixel]のパッチを作成し、特徴点からパッチの輝度重心への方向をオリエンテーションとしている。従って当該B方式では、初めにこのような方法（バイナリテストパターンを用いない所定方法）でオリエンテーションを算出した後、仮想視点Pi（θ,φ,r）に対応する射影変換行列Hiを用いてオリエンテーションを射影することにより、仮想視点Piに対応するオリエンテーションα（Pi（θ,φ,r））を算出することができる。
【００４６】
具体的には、まず、バイナリテストパターンを用いない所定手法によって算出されたオリエンテーションをα0[度]とするとき、当該オリエンテーションを始点を原点においた長さ１、なす角α0[度]のベクトルV0として表現する。そして、当該ベクトルV0の終点の座標を射影変換し、始点(=原点)と射影変換された終点の座標を結ぶベクトルV[射影]のなす角α[射影][度]を、射影されたオリエンテーションとする。なお、当該射影されたオリエンテーションα[射影]も、その角度としての値を測るための基準となる方向については、A方式において述べたのと同様に、画像のピクセル座標上の所定方向（例えば垂直上方向など）である。
【００４７】
なお、当該射影されたオリエンテーションα[射影]は、次のような意味合いを有する。すなわち、射影前の当初のオリエンテーションα0を、前述の仮想視点の配置の際に述べたのと同様に原点に配置した参照画像上において原点を始点としたベクトルV0として描いておき、当該ベクトルV0が仮想視点Pi（θ,φ,r）から撮影した画像においてベクトルV[射影]と表現されるとする。オリエンテーションα[射影]は、当該撮影した画像においてベクトルV[射影]がなす角に相当する。
【００４８】
[バイナリ特徴量記述部24]
バイナリ特徴量記述部24は、平滑化部22で平滑化された特徴点周辺の画素値と、仮想視点Pi（θ,φ,r）に対応するものとしてオリエンテーション算出部23で算出されたオリエンテーションα（Pi（θ,φ,r））と、を入力として受けて、当該仮想視点Pi（θ,φ,r）に対応するバイナリ特徴量を記述して、特徴記述装置20からの出力となす。
【００４９】
具体的には、初めに、オリエンテーションα（Pi（θ,φ,r））を用いて、バイナリテストパターン射影部12で作成された当該仮想視点Pi（θ,φ,r）に対応するバイナリテストパターンを回転させる。その後、当該回転されたバイナリテストパターン及び平滑化部22で平滑化された特徴点周辺の画素値を用いてバイナリテストを行うことにより、バイナリ特徴量を記述する。
【００５０】
なお、オリエンテーション算出部23において算出したオリエンテーションα（Pi（θ,φ,r））は、所定の基準方向（例えば画像における垂直方向）からの回転角度αとして算出されているので、バイナリテストパターンを回転させる際も、当該所定の基準方向から当該回転角度αだけ回転させればよい。
【００５１】
詳細は後述の図５を参照して説明するが、特徴記述装置20は以上の各部22〜24の処理を、特徴点検出部21にて検出された特徴点Fj(j=0, 1, 2, …, m)毎にそれぞれ実施する。従って、特徴記述装置20からの出力としては、特徴点Fj毎の一連の仮想視点Pi（θ,φ,r）に対応するバイナリ特徴量が得られることとなる。当該出力は局所特徴量に基づく物体認識や画像検索技術などの分野において種々の利用が可能であるが、例えば以下のようにして利用することができる。
【００５２】
すなわち、特徴点Fjの仮想視点Piにおけるバイナリ特徴量をB(j,i)と表記すると、各特徴点Fjの一連の仮想視点Piに対応する一連のバイナリ特徴量集合{B(j,i)|i=0,1,2,…,n}は、当該特徴点Fjのバイナリ特徴量に関し、指定した仮想視点Piに対応する射影変化によって変動しうる結果としてのバイナリ特徴量を集めた集合に相当する。従って例えば、集合{B(j,i)|i=0,1,2,…,n}をクラスタとみてその中心及び半径を定めることで、射影変化があるクエリ画像から抽出されたバイナリ特徴量に関して、当該クラスタ内にあるようなバイナリ特徴量は特徴点Fjに相当するものであるとのマッチングを行うことができる。また、当該クラスタ内のいずれのバイナリ特徴量に最も近いかを調べ、紐付いている仮想視点Pi（θ,φ,r）の情報を抽出することで、クエリ画像における射影変化を推定するための情報として利用することができる。
【００５３】
なお、特徴記述装置20においてはバイナリ特徴量記述部24の結果を出力することに代えて、あるいは当該結果に加えて、上記のクラスタのような、種々の利用の用途に応じた形式での情報を出力するようにしてもよい。
【００５４】
図４は、一実施形態に係る特徴記述子作成装置10の動作のフローチャートである。当該ステップS11〜S16のうち、繰り返し構造を示したステップS12,S15で囲まれるステップS13,S14は、仮想視点Pi毎に実施される。各ステップは以下の通りである。
【００５５】
ステップS11では、特徴記述子作成装置10への入力として、バイナリテストパターン射影部12に対して用いるバイナリテストパターンの種類の設定が入力され、また、射影変換行列作成部11に対して用いる一連の仮想視点Pi（θ,φ,r）(i=0,1,2,…,n)の設定が入力されてから、ステップS12へ進む。
【００５６】
ステップS12では、当該時点までにステップS13,S14において未処理の仮想視点Piを処理対象として設定してから、ステップS13に進む。ステップS13では、当該処理対象として設定された仮想視点Piに対応する射影変換行列Hiを射影変換行列作成部11が算出してから、ステップS14へ進む。ステップS14では、当該処理対象として設定された仮想視点Piに対応するものとして算出された射影変換行列Hiを用いて、バイナリテストパターン射影部12がバイナリテストパターンを射影したものを求め、仮想視点Pi（θ,φ,r）の情報を紐付けたうえで、ステップS15へ進む。
【００５７】
ステップS15では、ステップS11で設定した全ての仮想視点Pi（θ,φ,r）(i=0,1,2,…,n)に関して既に注目したか、すなわち、ステップS13及びS14での処理を完了したか否かが判定され、完了していればステップS16へと進み、完了していなければ未処理の仮想視点Piに関する処理を継続するため、ステップS12へと戻る。
【００５８】
ステップS16では、以上繰り返されたステップS13,S14において得られた一連のバイナリテストパターンを特徴記述子蓄積部25に保存して、当該図４のフローは終了する。なお、当該保存の際、各バイナリテストパターンに対応する仮想視点Pi（θ,φ,r）及び射影変換行列Hiの情報も、バイナリテストパターンと紐付けられたうえで保存される。
【００５９】
図５は、一実施形態に係る特徴記述装置20の動作のフローチャートである。当該ステップS21〜S32のうち、繰り返し構造を示したステップS23,S31で囲まれるステップS24〜S30は、特徴点Fj毎に実施され、繰り返し構造を示したステップS27,S30で囲まれるステップS28,S29は、仮想視点Pi毎に実施される。各ステップは以下の通りである。
【００６０】
ステップS21では、特徴記述装置20への入力として、特徴点検出部21へ画像が入力され、また、特徴記述子蓄積部25に特徴記述子作成装置10で得られた結果等（仮想視点Piの設定や一連の射影されたバイナリテストパターン）が入力されてから、ステップS22へ進む。
【００６１】
ステップS22では、当該入力された画像より、特徴点検出部21が一連の特徴点Fj(j=0, 1, 2, …, m)を検出してから、ステップS23へと進む。ここで、入力画像より検出可能な全ての特徴点を検出してもよいし、所定のアルゴリズム及び／又はユーザのマニュアル指定で選別することにより、入力画像の一部分の特徴点のみを検出してもよい。例えば入力画像内に特定のオブジェクトがある場合、検出すべき特徴点を当該オブジェクトの領域から検出されるものに限定するようにしてもよい。
【００６２】
ステップS23では、当該時点までにステップS24〜S30において未処理の特徴点Fjを処理対象として設定してから、ステップS24に進む。ステップS24では、当該注目している特徴点の周辺画素を入力画像において特定してから、ステップS25に進む。ステップS25では、当該注目している特徴点Fjについて当該特定された周辺画素に対して平滑化部22が平滑化を行ってから、ステップS26へ進む。ステップS26では、当該特徴点Fjに対応する平滑化された画素を用いてオリエンテーション算出部23がオリエンテーションを算出してから、ステップS27へ進む。
【００６３】
ステップS27では、当該時点までにステップS28,S29において未処理の仮想視点Piを処理対象として設定してから、ステップS28に進む。ステップS28では、オリエンテーション算出部23が、ステップS26で算出したオリエンテーションに対して前述のA方式またはB方式を適用して射影されたオリエンテーションを求めてから、ステップS29へ進む。ステップS29では、バイナリ特徴量記述部24が、当該射影されたオリエンテーションを用いて、当該注目している特徴点Fjにおけるバイナリ特徴量を記述して、ステップS30に進む。
【００６４】
ステップS30では、ステップS21で設定した全ての仮想視点Pi（θ,φ,r）(i=0,1,2,…,n)に関して、当該注目している特徴点Fjと関連して既に注目したか、すなわち、ステップS28及びS29にて特徴点Fjに関して仮想視点Piの全てついての処理を完了したか否かが判定され、完了していればステップS31へと進み、完了していなければ未処理の仮想視点Piに関する処理を継続するため、ステップS27へと戻る。
【００６５】
ステップS31では、ステップS22で検出した全ての特徴点Fj(j=0, 1, 2, …, m)に関して既に注目したか、すなわち、ステップS24〜S30での処理を完了したか否かが判定され、完了していればステップS32へと進み、完了していなければ未処理の特徴点Fjに関する処理を継続するため、ステップS23へと戻る。
【００６６】
ステップS32では、以上の繰り返しにおいて得られたステップS29での一連のバイナリ特徴量を特徴記述装置20にて得られた結果として出力して、当該フローは終了する。
【００６７】
以上詳細の如く本発明よれば、同一の物体を多様な視点から撮影した場合に抽出されるバイナリ特徴ベクトルを、高速にシミュレーションすることができる。
【００６８】
図６は、上述のシミュレーションを行う場合の、従来技術と本発明のフローチャートを対比で示す図であり、[1]が従来技術のフローチャートを、[2]が本発明のフローチャートを、それぞれ示している。本発明においては変換されたバイナリテストパターンを事前に用意することによって、従来技術のように処理量の大きい画像変換を繰り返し行う必要がなくなるため、シミュレーションの高速化が期待できる。
【００６９】
すなわち、[1]ではステップS101にて画像を入力し、ステップS102にて多様な視点を表すパラメータの1つを処理対象として注目し、ステップS103にて当該パラメータに従って画像を変換し、ステップS104にて射影変換画像より特徴点を検出し、ステップS105にて検出された特徴点より特徴量を記述する。ステップS106では全パラメータに注目したか否か（処理完了したか否か）が判断され、全て完了していればステップS107にて結果を出力し、完了していなければステップS102に戻って未処理のパラメータにつき処理を継続する。
【００７０】
従って、[1]の従来技術においては処理量の大きい画像変換のステップS103が、繰り返し構造を表すステップS102,S106の内部にあるように、何度も繰り返される必要があり、シミュレーションを高速に行うことができない。
【００７１】
一方、[2]ではステップS201にて画像を入力し、ステップS202にて当該画像より特徴点を検出し、ステップS203にて多様な視点を表すパラメータの1つを処理対象として注目し、ステップS204にて当該パラメータに従ってオリエンテーションを算出し、ステップS205にて当該算出されたオリエンテーションを用いて特徴量を記述する。ステップS206では全パラメータに注目したか否か（処理完了したか否か）が判断され、全て完了していればステップS207にて結果を出力し、完了していなければステップS203に戻って未処理のパラメータにつき処理を継続する。
【００７２】
従って、[2]の本発明においては繰り返し構造を表すステップS203,S206の内部には処理量の大きい画像変換のステップは存在しないため、従来技術と比べてシミュレーションを高速に行うことができる。
【００７３】
なお、図６の[1],[2]では特徴点ごとの繰り返し処理を描くのを省略しているが、当該特徴点ごとの繰り返し処理を考慮しても全く同様に、本発明は従来技術と比べてシミュレーションを高速に行うことができる。また、図６の[2]は従来技術との対比として本発明のフローを概略説明するものに過ぎない。詳細な実施形態等は図１〜５等を参照して以上説明してきた通りである。
【００７４】
以下、本発明における補足的事項（１）、（２）を説明する。
【００７５】
（１）本発明は、コンピュータを特徴記述子作成装置10または特徴記述装置20として機能させるそれぞれのプログラムとしても提供可能である。当該コンピュータには、CPU(中央演算装置)、メモリ及び各種I/Fといった周知のハードウェア構成のものを採用することができ、CPUが特徴記述子作成装置10または特徴記述装置20の各部の機能に対応する命令を実行することとなる。
【００７６】
（２）図１では、特徴記述子作成装置10及び特徴記述装置20と区別した場合を示したが、特徴記述子作成装置10の構成（射影変換行列作成部11及びバイナリテストパターン射影部12）を特徴記述装置20が備えるような構成も可能である。その他、図１における装置10,20の区別に依らず、各部11,12,21〜25の全部又は任意の一部を備える装置やシステムとして本発明を提供することも可能である。
【符号の説明】
【００７７】
10…特徴記述子作成装置、11…射影変換行列作成部、12…バイナリテストパターン射影部、20…特徴記述装置、21…特徴点検出部、22…平滑化部、23…オリエンテーション算出部、24…バイナリ特徴量記述部、25…特徴記述子作成部
【図１】
0006460520.tif 000002
【図２】
0006460520.tif 000003
【図３】
0006460520.tif 000004
【図４】
0006460520.tif 000005
【図５】
0006460520.tif 000006
【図６】
0006460520.tif 000007