(57)【要約】  特徴記述子を生成する方法が提供される。あらかじめ生成される１組のスパース射影ベクトルが得られる。また、イメージに係るスケール空間が得られ、このスケール空間は複数のスケールレベルをもつ。スケール空間における特徴点に係る記述子は、複数のスケールレベルにわたる複数の画素について、スパース射影ベクトルと疎に標本化される画素情報との組み合わせにもとづいて生成される。
2013513168.tif 000002
【特許請求の範囲】
【請求項１】
あらかじめ生成されるスパース射影ベクトルの組を得ることと、
イメージに係るスケール空間を得ること、当該スケール空間は複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成することと、
を備える、特徴記述子を生成するための方法。
【請求項２】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項１に記載の方法。
【請求項３】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項１に記載の方法。
【請求項４】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項１に記載の方法。
【請求項５】
前記目的関数は、イメージのトレーニング用の組に係る複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項４に記載の方法。
【請求項６】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項１に記載の方法。
【請求項７】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項６に記載の方法。
【請求項８】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項１に記載の方法。
【請求項９】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項１に記載の方法。
【請求項１０】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項１に記載の方法。
【請求項１１】
前記イメージに係る前記スケール空間から特徴点を得ることと、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得ることと、
をさらに備える、請求項１に記載の方法。
【請求項１２】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項１に記載の方法。
【請求項１３】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定することと、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すことと、
によって生成される、
請求項１２に記載の方法。
【請求項１４】
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得ることをさらに備え、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項１３に記載の方法。
【請求項１５】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記特徴点記述子は、前記パッチのｍ*ｎ次元よりも少ない処理で生成される、
請求項９に記載の方法。
【請求項１６】
あらかじめ生成されるスパース射影ベクトルの組を記憶するための格納デバイスと、
前記格納デバイスに接続される処理回路と、を備え、
前記処理回路は、
イメージに係るスケール空間を得ること、当該スケール空間は複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成することと、
に適合される、デバイス。
【請求項１７】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項１６に記載のデバイス。
【請求項１８】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項１６に記載のデバイス。
【請求項１９】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項１６に記載のデバイス。
【請求項２０】
前記目的関数は、イメージのトレーニング用の組に係る複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項１９に記載のデバイス。
【請求項２１】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項１６に記載のデバイス。
【請求項２２】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項２１に記載のデバイス。
【請求項２３】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項１６に記載のデバイス。
【請求項２４】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項１６記載のデバイス。
【請求項２５】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項１６記載のデバイス。
【請求項２６】
前記処理回路は、さらに、
前記イメージに係る前記スケール空間から特徴点を得ることと、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得ることと、
に適合される、請求項１６に記載のデバイス。
【請求項２７】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項２６に記載のデバイス。
【請求項２８】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定することと、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すことと、
によって生成される、
請求項２７に記載のデバイス。
【請求項２９】
前記処理回路は、さらに、
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得ることに適合され、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項２８に記載のデバイス。
【請求項３０】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記特徴点記述子は、前記パッチのｍ*ｎ次元よりも少ない処理で生成される、
請求項２４に記載のデバイス。
【請求項３１】
あらかじめ生成されるスパース射影ベクトルの組を得るための手段と、
イメージに係るスケール空間を得るための手段、当該スケール空間は複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成する手段と、
を備えるデバイス。
【請求項３２】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項３１に記載のデバイス。
【請求項３３】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項３１に記載のデバイス。
【請求項３４】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項３１に記載のデバイス。
【請求項３５】
前記目的関数は、イメージのトレーニング用の組に係る複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項３４に記載のデバイス。
【請求項３６】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項３１に記載のデバイス。
【請求項３７】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項３６に記載のデバイス。
【請求項３８】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項３１に記載のデバイス。
【請求項３９】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項３１記載のデバイス。
【請求項４０】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項３１記載のデバイス。
【請求項４１】
前記イメージに係る前記スケール空間から特徴点を得るための手段と、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得るための手段と、
をさらに備える、請求項３１に記載のデバイス。
【請求項４２】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項４１に記載のデバイス。
【請求項４３】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定するための手段と、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すための手段と、
によって生成される、
請求項４２に記載のデバイス。
【請求項４４】
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得るための手段をさらに備え、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項４３に記載のデバイス。
【請求項４５】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記特徴点記述子は、前記パッチのｍ*ｎ次元よりも少ない処理で生成される、
請求項３９に記載のデバイス。
【請求項４６】
デバイス上で動作し、
処理回路によって実行されると、前記処理回路に、
あらかじめ生成されるスパース射影ベクトルの組を得ることと、
イメージに係るスケール空間を得ること、当該スケール空間は複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成することと、
をさせる、１またはそれより多くの命令を備える、プロセッサ読み出し可能媒体。
【請求項４７】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項４８】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項４９】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５０】
前記目的関数は、イメージのトレーニング用の組に係る複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項４９に記載のプロセッサ読み出し可能媒体。
【請求項５１】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５２】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項５１に記載のプロセッサ読み出し可能媒体。
【請求項５３】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５４】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５５】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５６】
前記処理回路により実行されると、前記処理回路に、
前記イメージに係る前記スケール空間から特徴点を得ることと、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得ることと、
をさせる１またはそれより多くの命令をさらに備える、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５７】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５８】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定することと、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すことと、
によって生成される、
請求項５７に記載のプロセッサ読み出し可能媒体。
【請求項５９】
前記処理回路により実行されると、前記処理回路に、
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得ること、
をさせる１またはそれより多くの命令をさらに備え、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項５８に記載のプロセッサ読み出し可能媒体。
【請求項６０】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記特徴点記述子は、前記パッチのｍ*ｎ次元よりも少ない処理で生成される、
請求項５４に記載のプロセッサ読み出し可能媒体。
【発明の詳細な説明】
【米国特許法第１１９条の下での優先権の主張】
【０００１】
本特許出願は、双方とも、本特許出願の譲受人に譲渡され、引用によりこの出願中に明示的に組み込まれる、２００９年１２月２日に出願された「Fast Subspace Projection of Descriptor Patches for Image Recognition」の名称の米国仮出願第６１／２６５，９５０号、および、２０１０年１１月１１日に出願された「Fast Descriptor Extraction in Scale-Space」の名称の第６１／４１２，７５９号に優先権を主張する。
【技術分野】
【０００２】
１つの特徴はコンピュータ画像に関係し、より具体的には、イメージの認識や検索の性能、処理、および／または、圧縮を向上するための方法と技術に関する。
【背景技術】
【０００３】
種々の応用は、視覚的に表現されるもの（例えば、イメージまたは画像）の中のオブジェクト（物体）を識別することができる機器やプロセッサを持つことから利益を受けることができる。コンピュータ画像の分野は、イメージの中のオブジェクトや特徴を識別することを許容する技法および／またはアルゴリズムを提供しようと努めており、そこでは、オブジェクトや特徴は、１またはそれより多くの特徴点（keypoint）を特定する記述子により特徴づけられ得る。また、これらの技法および／またはアルゴリズムは、他の応用もある中で、顔認識、オブジェクト（物体）検出、イメージマッチング、３次元構造物の建造、ステレオ・コレスポンデンス、および／または、動き追跡（モーショントラッキング）に応用される。一般に、オブジェクトや特徴の認識は、特徴識別、イメージ検索、および／または、オブジェクト認識の目的のため、イメージの中の注目すべき点（points of interest）（特徴点とも呼ばれる）を特定することを含む。好ましくは、特徴点は、それらがイメージスケール（拡大／縮小の尺度）の変化および／または回転に対して不変であり、相当な範囲の歪み、視点の変化、および／または、照度におけるノイズや変化を通じても一致する頑強性を与えるよう選択され、および／または、処理され得る。さらに、１つの特徴が、複数のターゲットイメージからの特徴の大きなデータベースに対し、高い蓋然性をもって正しく一致がとられ得るという意味で、イメージ検索やオブジェクト認識のようなタスクのためによく適合されるため、特徴記述子は、なるべく、弁別的であることが好ましい。
【０００４】
イメージにおける特徴点が検出され、位置決めされた後、それらは、種々の記述子を使うことによって特定され、または記述される。例えば、記述子は、例えば、他のイメージの特徴もある中で、形、色、きめ（texture）、回転、および／または、動きのようなイメージの中のコンテンツの視覚的な特徴を表すことができる。記述子は、１つの特徴点と、当該特徴点のまわりの局地的に近くのものとを表してもよい。記述子抽出の目標は、特徴点の周りの局所的な情報の頑強で、ノイズのない（ノイズフリー）表現を得ることである。これは、ノイズフリーなプリンシパルコンポーネントアナリシス（Principal Component Analysis (PCA)）の部分空間に記述子を射影することによって行われ得る。ＰＣＡは、データの射影による最も大きな分散が第１の軸（第１主座標とよばれる）上に位置するようになる、第２の最も大きな分散が第２の軸（第２主座標）上になる、等のように、データ（例えば、イメージの中の特徴点）を新しい座標系に変換する直交線形変換を含む。しかし、そのようなＰＣＡ部分空間への射影は、高次元の射影ベクトルを用いる計算上複雑な内積を必要とする。
【０００５】
特徴点に対応し、記述子により示される個々の特徴は、既知のオブジェクトからの特徴のデータベースと一致がとられる。従って、一致検索システムは、３つのモジュール：特徴点検出、特徴記述子、および一致の位置決め、に分けられることができる。これら３つの論理モジュールにおいて、記述子の構造の複雑さや次元数は、特徴マッチングシステムの性能に直接かつ大きなインパクトを与える。様々な記述子が、それぞれ違った利点とともに、提案されている。スケールに不変な特徴変換（Scale invariant feature transform (SIFT)）は、近くのものの中の主要な向きに揃えられ、検出される特徴点σのスケールレベルに比例する大きさにされる１２σ ｘ １２σのパッチ（区画）を開く。この利用域における傾斜の値（gradient value）各セルにおいて８ビン（bin）の向きのヒストグラムをもつ４ ｘ ４のセルの中で集計される。ＰＣＡ−ＳＩＦＴは、近くのものにおける傾斜の値が非常に小さな部分空間において表現され得ることを示す。
【０００６】
記述子抽出手順の多くは、ノイズを除去し、認識精度を改善するために、次元数削減の利点で一致している。しかし、記述子を低い次元の部分空間に射影することに関連する計算上の大きな複雑さ、その実用的な使用を妨げている。例えば、ＰＣＡ−ＳＩＦＴパッチサイズは３９ ｘ ３９であり、それは、ｘとｙ方向での勾配値を考慮すれば、２＊３９２次元の投射ベクトルに帰結する。従って、クエリ（問い合わせする、照会する）イメージにおける各記述子は、ｄ次元部分空間への投射のために、２＊３９２＊ｄ回の乗算と加算を必要とする。これは、パワーのあるサーバ側の機器にとって大きな非効率を生じないが、それは、移動体電話のような限られた処理資源をもつ実施形態においてボトルネックになり得る。
【０００７】
そのような特徴記述子は、益々、リアルタイムのオブジェクト（物体）認識。３次元再構築、パノラマ・スティチング（panorama stitching）、ロボティック・マッピング（robotic mapping）、ビデオトラッキング（video tracking）、および類似のタスクにおける用途を見出しつつある。用途に応じて、特徴記述子（または同等なもの）の送信および／または記憶は、オブジェクト検出の計算速度、および／または、イメージデータベースのサイズを制限し得る。移動体デバイス（例えば、カメラ付き電話、移動電話、等）、または、分散型のカメラネットワークに関連させてみると、かなりの量の通信および処理資源（リソース）が、ノード間での記述子抽出に費やされ得る。記述子抽出の計算上の集中した処理は、移動電話のような資源が限られる装置上での用途を妨げ、または難しくする傾向にある。
【０００８】
従って、局所的な特徴記述子を早くかつ効率的に生成するための方法に対するニーズがある。
【発明の概要】
【０００９】
以下は、いくつかの実施形態の基本的な理解を与えるために、１またはそれより多くの実施形態の簡略化した概要を示す。この概要は、予想される全ての実施形態の広範な全体像をではなく、意図されるところは、全ての実施形態の主要な、または、重要な要素を特定することでなく、また、いかなる、または全ての実施形態の範囲の輪郭を描くことでもない。その唯一の目的は、後で提示されるより詳細な記述への序章として、簡略化した形で１またはそれより多くの実施形態のいくつかのコンセプト（概念）を提示することにある。
【００１０】
方法と装置は、特徴記述子を生成するために提供される。あらかじめ生成される、１組のスパース（sparse：疎）投射ベクトルが得られる。スパース投射ベクトルは、イメージとは独立に生成され得る。スパース投射ベクトルの各々は、イメージのための平滑化カーネル（smoothening kernel）のスケールに抑えられる。スパース射影ベクトルの各々は、目的関数を最大化する、または最小化するために役立つ。目的関数は、トレーニング用（training：学習用）イメージの組に係る複数のスケールレベルを通した画素情報の自己相関行列の最大化であってよい。空間射影ベクトルは、大多数のゼロ要素と複数の非ゼロ要素を含む。非ゼロ要素は、分散最大化の手順により得られる。
【００１１】
また、イメージのためのスケール空間が得られ、該スケール空間は複数のスケールレベルをもつ。そして、スケール空間における特徴点のための記述子は、複数のスケールレベルを通じた複数の画素に係るスパース射影ベクトルとまばらに標本化される画素情報と組み合わせにもとづいて、生成される。画素情報は、特徴点に関連付けられるパッチ（区画）の中の各画素に係る勾配情報を含んでもよい。複数の画素は、特徴点のためのパッチと関連付けられる。複数の画素は、スパース投射ベクトルに係る非ゼロ係数に対応するあらかじめ決められる位置で選ばれ得る。パッチは、ｍ画素掛けるｎ画素の大きさをもち、特徴点記述子は、ｍ＊ｎの大きさのパッチよりも少ない動作でもって生成される。
【００１２】
画素を得るために、特徴点は、イメージに係るスケール空間から得られ、そして、パッチは特徴点に関して得られ、該パッチは複数の画素を含む。
【００１３】
複数のスパース射影ベクトルは、一組の非ゼロスケーリング係数を定義し、各非ゼロスケーリング係数は、パッチの中の対応する画素位置に関連付けられる。
【００１４】
記述子は、複数の記述子コンポーネントを結合することにより生成され、各記述子コンポーネントは、(a)第１のスパース射影ベクトルに係る非ゼロスケーリング係数配置に基づいて、画素配置を特定すること、および／または、(b) 第１の記述子コンポーネントを得るために、パッチからの画素位置の値を、第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数と乗じ、結果の値をともに足し合わせること、によって生成される。追加の記述子コンポーネントは、追加の記述子コンポーネントを得るために、複数の残りのスパース投射ベクトルについて得られてもよく、第１の記述子コンポーネントと追加の記述子コンポーネントは、特徴点記述子を得るために、ベクトルとして結合される。
【００１５】
様々な態様、特性、および、利点は、同じような参照符号が一貫して対応して特定している図面と組み合わせて理解されるとき、以下に記載された詳細な記述から明瞭になり得る。
【図面の簡単な説明】
【００１６】
【図１Ａ】図１（図１Ａ、１Ｂ、および１Ｃからなる）は、オブジェクト認識における、高速・部分空間のスパース射影ベクトル（fast subspace sparse projection vectors）を生成し、用いるための様々なステージを示すブロック図である。
【図１Ｂ】図１（図１Ａ、１Ｂ、および１Ｃからなる）は、オブジェクト認識における、高速・部分空間のスパース射影ベクトル（fast subspace sparse projection vectors）を生成し、用いるための様々なステージを示すブロック図である。
【図１Ｃ】図１（図１Ａ、１Ｂ、および１Ｃからなる）は、オブジェクト認識における、高速・部分空間のスパース射影ベクトル（fast subspace sparse projection vectors）を生成し、用いるための様々なステージを示すブロック図である。
【図２】図２は、例示のイメージ処理ステージにおけるガウススケール空間を示す。
【図３】図３は、例示のイメージ処理ステージにおける特徴検出を示す。
【図４】図４は、例示のイメージ処理ステージにおける特徴記述子抽出を示す。
【図５】図５は、ＰＣＡ−ＳＩＦＴ記述子がどのように得られ得るかを示す。
【図６Ａ】図６（図６Ａおよび６Ｂからなる）は、スパースＰＣＡ−ＳＩＦＴアルゴリズムがどのように実行され得るかの例を示す。
【図６Ｂ】図６（図６Ａおよび６Ｂからなる）は、スパースＰＣＡ−ＳＩＦＴアルゴリズムがどのように実行され得るかの例を示す。
【図７Ａ】図７（図７Ａ、７Ｂ、および７Ｃからなる）は、スパース射影ベクトルを除去する、または生成するための方法を示す。
【図７Ｂ】図７（図７Ａ、７Ｂ、および７Ｃからなる）は、スパース射影ベクトルを除去する、または生成するための方法を示す。
【図７Ｃ】図７（図７Ａ、７Ｂ、および７Ｃからなる）は、スパース射影ベクトルを除去する、または生成するための方法を示す。
【図８】図８は、スパースＰＣＡ−ＳＩＦＴを用いて、反復的にスパース射影行列を生成するための例示のアルゴリズムを示す。
【図９】図９は、各オクターブが複数のスケールレベルを持つ、複数のオクターブを有する、ガウス・スケール空間・ピラミッドを示す。
【図１０Ａ】図１０（図１０Ａ、および１０Ｂからなる）は、特徴記述子がスパース射影行列に基づいてどのように生成され得るかを示す。
【図１０Ｂ】図１０（図１０Ａ、および１０Ｂからなる）は、特徴記述子がスパース射影行列に基づいてどのように生成され得るかを示す。
【図１１】図１１は、非ゼロ係数とそれらの対応するパッチ配置としての、スパース射影行列の表現例を示す。
【図１２】図１２は、あらかじめ決められたスパース投射ベクトルを用いることにより特徴記述子を生成するための方法を示す。
【図１３】図１３は、あらかじめ決められたスパース射影ベクトルを用いることにより特徴記述子を生成するための他の方法を示す。
【図１４】図１４は、パッチの大きさよりも少ない動作で、特徴を記述する特徴記述子を生成するための方法を示す。
【図１５】図１５は、それらからスペアのＰＣＡ−ＳＩＦＴアルゴリズムを用いて生成される記述子の正確さがテストされることができる、同じテストイメージに係る異なる画像を示す。
【図１６】図１６は、全て、ｘおよびｙ方向での勾配レベルを用いて得られる、ＳＩＦＴ、ＰＣＡ−ＳＩＦＴ、および、スパースＰＣＡ−ＳＩＦＴを用いる記述子の、一致の正確さの例を示す。
【図１７】図１７は、ＳＩＦＴ、ＰＣＡ−ＳＩＦＴ、および、スパースＰＣＡ−ＳＩＦＴのアルゴリズムの、比較の計算上の複雑さを示すテーブルである。
【図１８】図１８は、スパース射影ベクトルを用いて、特徴点記述子を生成できるイメージマッチング装置の例を示すブロック図である。
【図１９】図１９は、イメージまたはオブジェクトの認識の目的のためのイメージ処理を行うように適合される例示のモバイルデバイスを示すブロック図である。
【詳細な説明】
【００１７】
ここで、様々な実施形態が図面を参照して記載されるが、図面を通して、同様な参照番号が同様な要素を指すのに使われる。以下の記載において、説明の目的で、多くの特定の具体例が、１つまたはそれより多くの実施形態の十分な理解を与えるために記載される。しかし、そのような実施形態は、これらの特定な具体例なしでも実施され得ることは明らかである。他の場合には、よく知られた構造やデバイスは、１つまたはそれより多くの実施形態を記載しやすくするために、ブロック図のかたちで示される。
【００１８】
オブジェクト認識プロセスの例
図１（図１Ａ、１Ｂ、および１Ｃからなる）は、オブジェクト認識において、高速の部分空間のスパース射影ベクトルを生成し、用いるための各種ステージを示すブロック図である。
【００１９】
図１Ａは、スパース射影ベクトルの推定を示すブロック図である。複数のトレーニング用イメージ１０７が得られる。各イメージについて、スケール空間ピラミッド（例えば、ガウススケール空間ピラミッド）を得るために、スケール空間生成１１０が実行される。次に、生成されるスケール空間上で、特徴／特徴点検出１１２が実行される。次に、傾斜パッチピラミッド抽出１１５が実行され、それによって、検出される主要点各々について、スケール空間から（例えば主要点の周辺で）、傾斜のパッチが抽出される。そのようなパッチは、回転不変性をなす一般的に知られる方法で、パッチにおける支配的な傾斜の方向（平面の回転における）について、特有に再方向付けをされる。このプロセスは、全てのトレーニング用イメージについて繰り返される。トレーニング用イメージにおける複数の主要点について生成される傾斜パッチを用いて、複数のスパース射影ベクトル１１７が計算される。スパース射影ベクトル１１７の各々は、対応するパッチの位置をもつ複数のスケーリング係数を有してもよい。１つの代表例では、スパース射影ベクトル１１７は、スパース射影ベクトルを定義するスパース係数の行列の各行をもつ、スパース係数の行列として構成されてもよい。
【００２０】
図１Ｂは、イメージのデータベースに係る記述子のライブラリが、スパース射影ベクトルにもとづいて、どのように構築され得るかを示すブロック図である。ここで、イメージ１０９のデータベースが得られ、スケール空間１１１が各データベースイメージについて生成され、特徴／主要点がこれらのスケール空間から検出される１１３。次に、スパース特徴抽出１１６は、主要点記述子のデータベース１２１を生成するために、スパース射影ベクトル１１７を用いて実行される。
【００２１】
図１Ｃは、スパース射影ベクトルを用いることにより、問い合わせを受けるイメージ上でオブジェクト認識を行うための機能ステージを示すブロック図である。イメージ獲得ステージ１０２で、クエリイメージ１０８は、獲得される、またはその他得られることができる。例えば、クエリイメージ１０８は、デジタルの獲得イメージを得るために、１つまたはそれより多くのイメージセンサおよび／またはアナログ−デジタル変換器を含む、イメージ獲得デバイスにより得られる。イメージセンサ（例えば、電荷結合デバイス（ＣＣＤ）、相補型金属膜半導体（ＣＭＯＳ））は、光を電子に変換する。電子は、後にアナログ−デジタル変換器によりデジタル値に変換される、アナログ信号を形成する。この方法で、イメージ１０８は、例えば、対応する色、強度、および／または他の特性を持った複数の画素として、イメージ Ｉ（ｘ，ｙ）を規定するデジタルフォーマットで獲得され得る。
【００２２】
イメージ処理ステージ１０４において、獲得されたイメージ１０８は、対応するスケール空間１２０（例えば、ガウススケール空間）を生成し、特徴／特徴点検出１２２を行い、および、クエリ記述子１２８を得るために、スパース射影ベクトル１１７に基づいて、スパース特徴抽出１２６を行うことにより、処理される。イメージ比較ステージ１０６で、クエリ記述子１２８は、既知の記述子１２１のデータベースとの特徴一致化１３０を実行するために用いられる。幾何学的な検証または一致度チェック１３２は、次に、正しい特徴一致をつきとめ、一致結果１３４を与えるために、特徴点一致上で（例えば、記述子の一致に基づいて）実行され得る。この方法で、クエリイメージは、ターゲットイメージ１０９のデータベースと比較され、および／または、そこから同定され得る。
【００２３】
図２は、例示のイメージ処理ステージ１０４におけるガウススケール空間の生成を示す。不変特徴変換（Scale Invariant Feature Transform (SIFT)）のような多くのアルゴリズムが、イメージにおける特徴検出を行うために開発されている。イメージにおける特定のオブジェクトの検出に向けた最初のステップは、その局所的な特徴に基づいて問い合わせを受けたオブジェクトを分類することである。目標は、例えば、強度、イメージノイズ、回転、伸縮、および／または、視点の小さな変化に対し不変および／または耐性がある特徴を識別し、選択することである。即ち、クエリイメージと比較ターゲットイメージとの間の一致は、これら２つのイメージ間の強度、イメージノイズ、回転、伸縮、および／または視点における違いにかかわらず見つけられるべきである。これを行うための１つの方法は、大きく区別される特徴（例えば、イメージにおける、区別されるような点、画素、および／または、領域）を特定するために、イメージのパッチ上で極値検出（例えば、局所の極大または極小）を行うことである。
【００２４】
ＳＩＦＴは、強度、イメージノイズ、回転、伸縮における変化、および／または、視点の小さな変化に合理的に不変である、局所的な特徴を検出及び抽出するための１つのアプローチである。ＳＩＦＴのためのイメージ処理ステージ１０４は、（ａ）スケール空間の極値検出、（ｂ）特徴点の局所化、（ｃ）向きの割り当て、および／または、（ｄ）特徴点記述子の生成、を含み得る。ＳＩＦＴは、特徴点の近辺における傾斜のヒストグラムとして、記述子を構築する。他にもあるが、スピードアップ耐性特徴づけ（Speed Up Robust Features (SURF)）、傾斜位置・向きのヒストグラム（Gradient Location and Orientation Histogram (GLOH)）、局所エネルギーベースの形状ヒストグラム（Local Energy based Shape Histogram (LESH)）、傾度の圧縮されたヒストグラム（Compressed Histogram of Gradients (CHoG)）を含む、特徴検出、および、それに続く特徴記述子の生成の代替アルゴリズムが、この中に記載される態様から利益を受け得る。
【００２５】
スケール空間ピラミッド２０２を生成するために、デジタルイメージ Ｉ（ｘ，ｙ）２０３（図２）は、スケール空間ピラミッド２０２を構築するために、徐々に、平滑化／ぼやかし化をされる。ぼやかし化（平滑化）は、一般に、
Ｌ（ｘ，ｙ，ｃσ）＝Ｇ（ｘ，ｙ，ｃσ）*Ｉ（ｘ，ｙ）と定義されるように、スケールｃσで、原イメージ Ｉ（ｘ，ｙ）を、ぼやかし化／平滑化関数 Ｇ（ｘ，ｙ，ｃσ）でたたみ込むことを含む。１つの例で、スケール空間ピラミッドは、ガウススケール空間ピラミッドであってよい。従って、平滑化／ぼやかし化関数Ｇは、ガウスカーネルであってよく、ｃσは、イメージＩ（ｘ，ｙ）をぼやかし化するために用いられるガウス関数Ｇの標準偏差を意味する。乗算子ｃが変化する（ｃ０＜ｃ１＜ｃ２＜ｃ３＜ｃ４）と、標準偏差ｃσが変化し、イメージＩ（ｘ，ｙ）の段階的なぼやかし化／平滑化が得られる。ここで、σは基本スケール変数（base scale variable）（例えば、ガウスカーネルの幅）である。ぼやかし化されたイメージスケール空間Ｌを生成するために、初期イメージＩ（ｘ，ｙ）がガウス関数で増加的にたたみ込まれるとき、ぼやかし化されたイメージスケール空間Ｌは、スケール空間における定数因子ｃにより分割される。ガウスぼやかし化（平滑化）イメージスケール空間Ｌの数が増加し、ガウスピラミッド２０２のために与えられる近似が連続する空間に達すると、２つの空間は、また、１つの空間に近づく。１つの例で、たたみ込まれたイメージ空間Ｌじゃ、オクターブ（８度）によりグループ化され得、ここで、オクターブは、標準偏差σの値の２倍に一致する。さらに、イメージスケール空間Ｌの固定された数がオクターブあたりで得られるように、乗算子ｃ（例えば、ｃ０＜ｃ１＜ｃ２＜ｃ３＜ｃ４）の値が選択される。スケーリングの各オクターブは、明白なイメージの再サイズ化に対応し得る。従って、原イメージＩ（ｘ，ｙ）が段階的なぼやかし化／平滑化関数Ｇによってぼやかし化／平滑化されると、画素の数は暫時少なくされる。
【００２６】
差分スケール空間２０４（例えば、ガウス（ＤｏＧ）ピラミッドの差）は、ピラミッド２０２における、任意の２つの連続する、ぼやかし化されたイメージスケール空間の差を計算することにより構築され得る。差分スケール空間２０４において、Ｄ（ｘ，ｙ，ａ）＝Ｌ（ｘ，ｙ，ｃｎσ）−Ｌ（ｘ，ｙ，ｃｎ−１σ）。差分イメージスケール空間Ｄ（ｘ，ｙ，σ）は、スケールｃｎとｃｎ−１で、平滑化／ぼやかし化された、２つの近くのイメージ間の差である。差分スケールスペースＤ（ｘ，ｙ，σ）のスケールは、ｃｎσとｃｎ−１σとの間のどこかに位置する。差分スケール空間２０４の複数レベルに係るイメージは、スケールスペース２０２のオクターブごとに、近くのスパース（まばら）化されたイメージから得られる。各オクターブの後、イメージは、２の因子によりダウンサンプルされ、その後、そのプロセスが繰り返される。この方法で、イメージは、変換、回転、伸縮、および／または、他のイメージパラメータおよび／または歪みに対する耐性または普遍性がある、局所的な特徴に変換される。
【００２７】
問い合わされたイメージに係る異なるスケール空間２０４は、ひとたび生成されたらば、関心を引く特徴を特定する（例えば、イメージにおける、大きく区別される点を特定する）ため、極値検出のために利用され得る。これらの大きく区別される点は、この中で、特徴点と記される。これら特徴点は、各特徴点の周りのパッチまたは局所領域の特徴により特定され得る。記述子は、各特徴点とそれに対応するパッチに対して生成され、クエリイメージと格納されたターゲットイメージとの間の特徴点の比較のために用いられることができる。「特徴」は、記述子（即ち、特徴点とそれに対応するパッチ）のことを言ってもよい。１グループの特徴（即ち、複数の特徴点と対応するパッチ）は、クラスタと記されてもよい。
【００２８】
図３は、例示のイメージ処理ステージ１０４における特徴検出を示す。特徴検出において、差分スケール空間２０４（例えば、ガウススケール空間の差分）は、クエリイメージ Ｉ（ｘ，ｙ）に係る特徴点を特定するために使われてもよい。特徴検出は、イメージにおける特定の標本点または画素の周辺の局所領域またはパッチが、潜在的に関心を引くパッチであり、従って、記憶された特徴との一致検出のための候補として考慮されるべきであるかどうかを決めることを求める。
【００２９】
一般に、差分スケール空間２０４における局所的な極大および／または局所的な極小が特定され、これらの極大や極小の位置は、差分スケール空間２０４における特徴点の位置として用いられる。図３に示される例では、特徴点３０８は、パッチ３０６を用いて特定されている。局所的な極大と極小（また、局所的極値検出としても知られている）を見つけることは、差分スケール空間２０４における各画素を、同じスケールでの８つの近傍の画素と、ならびに、特徴点４０８の２つの側にある近傍のスケールの各々における９個の近傍画素（近くのパッチ３１０と３１２の中）との、合計２６画素（９ｘ２＋８＝２６）について、比較することにより達成される。ここで、パッチは、３ｘ３画素の領域として定義される。特徴点３０６に係る画素値が、パッチ３０６、３１０、および３１２において比較される全２６個の画素の中で極大または極小であるならば、それは特徴点として選択される。特徴点の位置がより正確に特定され、コントラストの低い特徴点やエッジにある特徴点のような特徴点の内のいくつかが捨てられ得るように、特徴点は、更に処理される。
【００３０】
図４は、例示のイメージ処理ステージ１０４における特徴記述子抽出を示す。一般に、特徴（例えば、特徴点やそれに対応するパッチ）は、（クエリイメージからの）特徴のターゲットイメージのデータベースに格納される特徴との効率的な比較を考慮する、記述子により表現され得る、特徴記述子抽出の１例では、各特徴点は、局所的なイメージの傾斜方向に基づき、１またはそれより多くの配向または方向を割り付けられる。局所的なイメージの特性に基づいて各特徴点に一様な向きを割り当てることにより、特徴点記述子は、この向きに関して与えられることができ、従って、イメージの回転に対する不変を達成できる。大きさや方向の計算は、ぼやかし化されたイメージスケール空間Ｌにおいて、および／または、差分スケールスペースで、特徴点３０８のまわりの近傍領域における各画素について実施され得る。（ｘ，ｙ）に位置する特徴点３０８に係る傾斜の大きさはｍ（ｘ，ｙ）と表現され、位置（ｘ，ｙ）での特徴点の傾斜の向きまたは方向はΓ（ｘ，ｙ）と表現される。特徴点のスケールは、全ての計算がスケール不変の方法で実施されるように、特徴点３０８のスケールにほっとも近いスケールでもって、平滑化されたイメージＬを選択するために使われる。このスケールで、各イメージ標本Ｌ（ｘ，ｙ）について、傾斜の大きさｍ（ｘ，ｙ）と向きΓ（ｘ，ｙ）は、画素の差分を用いて計算される。例えば、大きさｍ（ｘ，ｙ）は、以下のように計算されることができる。
【数１】
2013513168.tif 000003
【００３１】
方向または向きΓ（ｘ，ｙ）は、以下のように計算され得る。
【数２】
2013513168.tif 000004
【００３２】
ここで、Ｌ（ｘ，ｙ）は、特徴点のスケールでもあるスケールσでの、ガウス−ぼやかし化されたイメージＬ（ｘ，ｙ，σ）の標本である。
【００３３】
特徴点３０８に係る傾斜は、より大きなスケールで、差分スケール空間における特徴点の平面よりも上に位置するスケール空間ピラミッドにおける平面について、または、より低いスケールで、特徴点より下に位置するスケール空間ピラミッド平面において、のいずれかで、一様に計算される。いずれかの方法で、各特徴点について、特徴点の周囲の矩形領域（例えば、パッチ）において、１つの同じスケールで、全て計算される。さらに、イメージ信号の周波数は、ぼやかし化されたイメージのスケールに反映される。さらに、ＳＩＦＴは、単に、パッチ（例えば、矩形領域）における全ての画素での傾斜値を用いる。パッチは、特徴点のまわりで定義され、サブブロックはブロックの中で定義され、標本はサブブロックの中で定義され、この構造は、特徴点のスケールが異なるときでさえ、全ての特徴点に対して同じままである。従って、イメージ信号の周波数は、同じオクターブにおけるガウス平滑化フィルタの連続した適用とともに変化するが、スケールによって示されるイメージ信号の周波数変化にかかわらず、異なるスケールで特定される特徴点は、同じ数の標本で標本化されてよい。
【００３４】
特徴点の向きを特徴づけるため、傾斜の向きのベクトルは、（特徴点のスケールに最も近いスケールのガウスイメージを用いて）、特徴点４０８の近傍で、（ＳＩＦＴにおいて）生成され得る。しかし、特徴点の向きは、例えば、傾斜の「圧縮されたヒストグラム」（Compressed Histogram of Gradients (CHoG)）を使うことにより、傾斜の向きのヒストグラム（図４参照）によって示され得る。近傍のピクセルの各々の寄与は、傾斜の大きさとガウス窓により重みづけされる。ヒストグラムにおけるピークは、支配的な向きに対応する。特徴点の全ての特性は、特徴点の向きに関して測定されえるが、これは、回転に対する不変性を与える。
【００３５】
一例では、ガウス重みづけ傾斜の配置は、ブロックごとに計算され得、各ブロックは、トータルで４のサブブロックについて、２サブブロックかける２サブブロックである。ガウス重みづけ傾斜の配置を計算するために、いくつかのｂｉｎ（ビン）をもった配向ヒストグラムは、特徴点の周りの領域の一部をカバーする各ｂｉｎを用いて形成される。例えば、各ｂｉｎが３６０度の配向範囲の１０度をカバーして、配向ヒストグラムは３６ｂｉｎを有する。代わりに、ヒストグラムは、３６０度範囲の４５度をカバーする各ｂｉｎを８つもってもよい。この中に記載されるヒストグラム符号化技法は、いかなる数のｂｉｎのヒストグラムにも適用可能であることは明らかである。また、最終的にヒストグラムを生成する他の技法が用いられてもよい。
【００３６】
傾斜の配置と配向ヒストグラムとは、様々な方法で得られる。例えば、２次元の傾斜配置（ｄｘ，ｄｙ）（例えば、ブロック４０６）は、１次元の配置（例えば、ヒストグラム４１４）に変換される。特徴点４０８は、特徴点４０８を囲むパッチ４０６（また、セルまたは領域と呼ばれる）の中心に位置づけられる。ピラミッドの各レベルについて前もって計算される傾斜は、各標本位置４０８で、小さな矢印で示される。図示のように、標本４０８の４ｘ４の領域はサブブロック４１０を形成し、サブブロックの２ｘ２の領域はブロック４０６を形成する。また、ブロック４０６は、記述子窓という。ガウス重みづけ機能は、円４０２で示され、各標本点４０８の大きさに重みを割り当てるために用いられる。円形の窓４０２における重みは、滑らかに減少する。ガウス窓４０２の目的は、窓の位置の小さい変化によって記述子に突然の変化が生じることを避けるためと、記述子の中心から遠い傾斜により少ない強調度を与えるためである。配向ヒストグラム４１２の２ｘ２＝４の配列は、（２ｘ２）ｘ８＝３２次元の特徴記述子ベクトルに帰結する、ヒストグラムの各ｂｉｎにおける８つの配向をもつ２ｘ２のサブブロックから得られる。例えば、配向ヒストグラム４１３と４１５は、サブブロック４１０の傾斜配置に対応できる。しかし、各特徴点についての（４ｘ４）ｘ８＝１２８の要素のベクトル（即ち、特徴記述子）に帰結する、各ヒストグラム（８ｂｉｎのヒストグラム）における８つの配向をもった４ｘ４配列のヒストグラムを用いることは、より良好な結果をもたらす。また、他の形式の量子化ｂｉｎの集合（例えば、異なるＶｏｒｏｎｏｉセル構造を用いて）は、傾斜の配置を得るために用いられてもよい。
【００３７】
ここで用いられるように、ヒストグラムは、重みが観察の重要度（例えば、傾斜の大きさ、など）に対応するような、ｂｉｎとして知られる種々の分離したカテゴリーにはいる、観察、標本、または発生（例えば、傾斜）の重みづけされた合計を計算するマッピングｋｉである。ヒストグラムのグラフは、単に、ヒストグラムを表現する１つの方法にすぎない。
【００３８】
サブブロックからのヒストグラムは、特徴点に係る特徴記述子を得るために結合され得る。１６のサブブロックからの８ｂｉｎのヒストグラムにおける傾斜が用いられるならば、１２８次元の特徴記述子ベクトルが生じる。記述子は、強度・強度変化に対して不変の利得、即ち、１６の重みづけされたヒストグラムについて、
【数３】
2013513168.tif 000005
【００３９】
に標準化され得る。ここで、ｋｉｊは、ｊ番目のサブブロックの１番目のｂｉｎの値に対応する。
【００４０】
この方法では、記述子は、そのような記述子が、ガウス重みづけ傾斜の位置（ｘ，ｙ）、配向、配置の記述子によって特徴づけられるように、特定される各特徴点について得られる。イメージは、１またはそれより多くの特徴点記述子（または、イメージ記述子と呼ばれる）によって特徴づけられてもよいことを付記する。また、加えて、記述子は、位置情報（例えば、特徴点の座標）、スケール（伸縮）（例えば、特徴点でのガウススケールが検出された）、およびクラスタ識別子のような他の情報、などを有してもよい。
【００４１】
ひとたび、記述子がクエリイメージにおいて特定される特徴点について得られると、問い合わされるイメージ１０８における特徴点は、特徴一致検出（マッチング）１２２を行うように、ターゲットイメージにおける点と比較される、および／または、一致検出される。例えば、問い合わされたイメージにおける特0徴0点に係る記述子は、１またはそれより多くの一致を見つけるために、（ターゲットイメージのデータベースにおける特徴点に対応する）ターゲットイメージのデータベースに記憶される１またはそれより多くの記述子と比較され得る。この比較は、問い合わされるイメージにおける特徴点が、少なくともしきい値の量またはパーセンテージ（例えば、７５％一致、８０％一致、など）によりターゲットイメージにおける地点と一致するならば一致検出は成功となるような、蓋然性の比較であってよい。
【００４２】
記述子抽出のためのＰＣＡ−ＳＩＦＴ
主要なコンポーネントの解析（Principal Component Analysis (PCA)）は、次元数の削減のための標準的な技法であり、特徴選択、オブジェクト認識、および顔認識を含む広い種類のコンピュータ画像の課題に適用されている。ＰＣＡ−ＳＩＦＴは、特徴点の近くでの傾斜の値が、ＰＣＡによって得られる、非常に小さな部分空間に投影されることができることを示している。記述子抽出の役割として、ＰＣＡは。データ（即ち、イメージにおける特徴点）を、高い次元の空間からより少ない次元の空間に線形変換するために用いられ得る。ＰＣＡは、低い次元の表現でのデータの相違が最大になるような方法で、より低い次元の空間にデータの線形マッピングをおこなう。
【００４３】
ＳＩＦＴ記述子の上で改良を行うために、ＰＣＡ−ＳＩＦＴは、データの組（即ち、イメージの中の複数の特徴点）における最も大きな分散をなすことにもとづいて、パッチに係る座標系を、新しい座標系に、効果的に変更する。データの射影による最も大きな分散が第１の座標（第１の主要コンポーネントいう）の上に位置するようになり、第２の座標（第２の主要コンポーネント）の上に第２の最も大きな分散が位置する、等々のように、ＰＣＡ−ＳＩＦＴは、データ（例えば、画素、特徴点、など）を新しい座標系に変換する直交線形変換を含む。数学的には、射影行列は、以下によって得られる。
【００４４】
（ａ）各特徴点に係る、水平と垂直の傾斜を示す傾斜ベクトルを得ること（例えば、パッチ毎の傾斜ベクトルサイズ＝３９（画素）ｘ３９（画素）ｘ２（傾斜方向）＝３０４２（次元ベクトル））、
（ｂ）行列Ａの中に、全ての特徴点パッチに係る傾斜ベクトルを結合すること（行列の次元＝ｋ（パッチ）ｘ３０４２（パッチあたりのベクトル）、
（ｃ）行列Ａの分散行列Ａを計算する、
（ｄ）分散行列Ａの固有ベクトルと固有値を計算する、および
（ｅ）射影行列（ｎ ｘ ３０４２である）を得るために、第１のｎ個の固有ベクトルを選択する。このプロセスは、しばしば、固有値分解と呼ばれる。
【００４５】
記述子抽出の手続きにおいて、次元数の減少は、ノイズを減らすこと、および、一致検出の正確性を改善することの利得をもつ。ＰＣＡ−ＳＩＦＴアルゴリズムは、特徴点の周りの局所的な傾斜パッチに基づいて記述子を抽出する。ＰＣＡ−ＳＩＦＴは、以下の手順に要約され得る。
【００４６】
（１）局所パッチの傾斜イメージを示すために、固有空間を前計算処理（pre-compute）する、
（２）あるパッチについて、その局所的なイメージの傾斜を計算処理する、
（３）圧縮した特徴ベクトル（compact feature vector）（即ち、記述子）を生成するために、固有空間を用いて傾斜イメージベクトルを射影する。
【００４７】
この特徴ベクトル（即ち、記述子）は、標準のＳＩＦＴ特徴ベクトル（即ち、記述子）よりもかなり小さく、同じ一致検出アルゴリズムで用いられ得る。２つの特徴ベクトルの間のユークリッド距離は、２つのベクトルが異なるイメージにおける同じ特徴点に対応するかどうかを決めるために使われる。記述子の弁別性は、記述子の固有値を合計することにより計測され、それらの分散によって正規化された、記述子の「主要コンポーネント分析（Principal Components Analysis）」により得られる。これは、異なる記述子により得られる分散の量、従って、それらの弁別性に対応する。
【００４８】
図５は、どのようにＰＣＡ−ＳＩＦＴ記述子が得られるかを示す。ＳＩＦＴ記述子に係る例（図３乃至４）のように、イメージＩ（ｘ，ｙ）５０２は、複数のスケール空間５０６（即ち、ガウスピラミッド）を得るために、１またはそれより多くのガウスカーネルＧ（ｘ,ｙ,σｉ）５０４を用いて畳み込まれる。ここで、スケール空間５０８、５１０、および５１２は、異なるカーネルスケーリングパラメータσ０、σ１、およびσ２のそれぞれに対応して示される。局所特徴点記述子のために、ＰＣＡ−ＳＩＦＴは、標準ＳＩＦＴ記述子（例えば、特徴点のサブピクセル位置、スケール（伸縮度）、および支配的な配向）と同じ入力を使う。この例では、複数の特徴点５１４が、異なるスケールレベル（および／または、オクターブ）を通して検出されている。パッチ５１６は、各特徴点５１４の周囲で特定される。パッチ５１８は、ＷｘＷの大きさ（例えば、３９ピクセル掛ける３９ピクセル）をもち、与えられるスケール（伸縮度）で抽出され、対応する特徴点上に中心がおかれ、その支配的な配向を正準（canonical）方向にならうようにするために回転されてもよい。傾斜行列［ｇa1， ｇa2， ｇa3， ...，ｇaM］５２０は、各パッチ３１８に対して得られ、傾斜行列は、行列Ａ５２２の中にベクトル化される。次に、行列Ｘ ５２２の分散行列Ｘ ５２４が生成される。分散行列Ｘ ５２４に係る固有ベクトルＶ ５２６と固有値Λ ５２８が得られ、それは、ｄ個の最も大きな固有値（即ち、最も大きな分散）から射影行列Ｖ ５３０を生成するために用いられ得る。
【００４９】
ＰＣＡ−ＳＩＦＴ記述子を得ることは、一般的に、ＰＣＡベース（射影）ベクトルＶと関心の対象となる特徴点に係るイメージパッチＩｐａｃｈとの間の内積をとることを求める。本質的に、特徴点に係るイメージパッチＩｐａｃｈは、より高いスケールに「射影」され、そこでは、特徴点は、当該より高いスケールにおける１点によって示される。ＰＣＡベース（射影）ベクトルＶは、以下の式で示され得る。
【数４】
2013513168.tif 000006
【００５０】
ここで、αｉはスケーリング係数、Ｋ（ｘｉ，ｘ）は位置ｘｉでのガウスベース関数（即ち、平滑化カーネル），ｍはパッチの中で標本化される位置の数である。ＰＣＡベースベクトルＶとイメージパッチＩｐａｃｈの間の内積は、ベースベクトルとイメージパッチＩｐａｃｈを以下のように転置することにより与えられる。
【数５】
2013513168.tif 000007
【００５１】
従って、１つの例では、イメージパッチＩｐａｃｈ（例えば、イメージパッチ５１４または５１６）とＰＣＡベース（射影）ベクトルＶとの間の内積を計算することは、Ｗ２回の乗算とＷ２回の加算を必要とする画素に関する演算である。
【００５２】
ＰＣＡベース（射影）ベクトルは、ベクトルのトレーニングセットから得られ、クエリ（問い合わせ）記述子は、この部分空間に射影される。Ｘ＝｛ｘ１，ｘ２，．．，ｘＮ｝をＮ個のトレーニング用パッチとする、ただし、
【数６】
2013513168.tif 000008
【００５３】
そして、ｐ＝Ｗ２が特徴点の周囲の各パッチ標本の大きさＷ ｘ Ｗ である。パッチの分散行列は以下のように推定される。
【数７】
2013513168.tif 000009
【００５４】
ここで、
【数８】
2013513168.tif 000010
【００５５】
は標本平均である。分散行列の固有ベクトルは、パッチの変化の全てを示すのに受分であるベースベクトルを与える。ベース（射影）ベクトルは、
【数９】
2013513168.tif 000011
【００５６】
によって与えられる。ここで、
【数１０】
2013513168.tif 000012
【００５７】
は固有ベクトル行列であり、
【数１１】
2013513168.tif 000013
【００５８】
は、その対角に対応する固有値をもつ対角行列である。この分解の目指すところは、変化を最大にすることによりノイズを低減する、ｄの大きさの部分空間を抽出することである、ここで、ｄ＝｛１，２，．．，ｎ｝。これは、最も大きなｄ個の固有値と関連づけられる固有ベクトル
【数１２】
2013513168.tif 000014
【００５９】
によって与えられる。ｄを選択するための１つの方法は、データにおけるトータルな変化の〜９０％に保つことである。テストイメージからの記述子ｑは、
【数１３】
2013513168.tif 000015
【００６０】
により、ＰＣＡ部分空間上に射影される。これは、ｄ ｘ ｐ回の乗算と、ｄ ｘ ｐ回の加算を必要とする、ここで、ｄ ｘ ｐ＝ｄ ｘ Ｗ２。
【００６１】
ＰＣＡ−ＳＩＦＴの実施は、特徴点の数（数千であり得る）によって悪化される、低い次数の部分空間に記述子をＰＣＡ射影することに関連した大きな計算処理コストにより、移動体デバイスのように限られた処理のリソースをもつプラットフォーム上では阻害される。例えば、ＰＣＡ−ＳＩＦＴパッチサイズ（Ｗ ｘ Ｗ）が３９画素ｘ３９画素であり、それは、結果として、ｘとｙ方向の傾斜値を考慮すると、２ *３９２次数の射影ベクトルになる。従って、クエリイメージにおける各記述子は、ｄ-次数の部分空間への射影のために、２ *３９２ * ｄ 回の乗算と加算を必要とする。これは、強力なサーバ側の機器にとっては重大な非効率性を生むことはないが、移動体電話のような限られた処理のリソースを用いた実施化における障害となり得る。
【００６２】
スパースＰＣＡ−ＳＩＦＴを用いる、スケール空間における高速の傾斜ベース記述子抽出
スパース部分空間射影アルゴリズムが、局所の傾斜パッチからの記述子の効率的な抽出のために説明される。記述子は、局所的な傾斜パッチを、ガウスベース関数のスパース組み合わせで表されるＰＣＡ部分空間に射影することにより得られる。ガウスベース関数の標準偏差は、ガウススケール空間ピラミッドにおけるスケールの違いの１つから選択される。従って、ＰＣＡ部分空間へのパッチの射影は、スケール空間において、スパース係数を対応する傾斜に単純に掛け合わせることで得られる。
【００６３】
スパースＰＣＡ−ＳＩＦＴアルゴリズムは、ここでは、テスト標本を部分空間に射影するための非常に低い計算処理上の複雑性をもつとして記載される。ＰＣＡベースベクトルを計算すること（即ち、ＰＣＡ射影ベクトルＶ ５２６  図５）よりもむしろ、ＰＣＡベースベクトルは、代わりに、ガウスベース関数スパースの線形結合として得られ、その標準偏差はガウススケール空間のスケールレベルの差異から得られる。これは、スパース内積により部分空間上に与えられるパッチを射影することを許容する。スパースＰＣＡ−ＳＩＦＴアルゴリズムは、他の特徴抽出技法に簡単に拡張されることができる。
【００６４】
図６（図６Ａと図６Ｂを含む）は、スパースＰＣＡ−ＳＩＦＴアルゴリズムがどのように実行され得るかの例を示す。しかし、このプロセスが他の形式のアルゴリズムに拡張されても、および／または、適用されてもよいことは明らかである。
【００６５】
図６Ａは、スパース係数マトリックスを得るための、スパースＰＣＡ−ＳＩＦＴアルゴリズムに係るオフライントレーニング手順を示す。トレーニング用イメージのライブラリ６０２は、各イメージについてガウススケール空間６０６を生成するために、異なるスケールでガウスカーネル６０４とともにたたみ込まれる。各イメージについて、特徴点は、複数のスケール６０８、６１０、および６１２にわたって検出され、パッチ６１６は、各特徴点の周りに定義される。この例において、第１の特徴点６１４が特定されており、対応するパッチ６１６が特徴点６１４の周りに定義されている。このパッチ６１６は、特徴点６１６の上の１またはそれより多くの対応するパッチ６１７、および／または、特徴点６１６の下の１またはそれより多くの対応するパッチ６１５に係る局所情報を得るために、スケール空間６０６の複数のスケールレベルにわたって射影される。以下において、あるパッチからの目立った情報は、行列［ｇｉｊ］、インデックスｉとＪはパッチにおける画素の座標である、に含まれている。行列の要素は、画素の強度値自身であってもよいし、または、図に示されるように、それらが各画素でのトータルの傾斜の大きさを示してもよいし、またより一般的には、ｘとｙの方向での傾斜の値を示してもよい。パッチの形状が矩形である必要はなく、同一のパッチ形状が記述子生成において引き続き使われるかぎり、三角形、円形などの他の形をとることができる。いくつかの例では、傾斜行列は、特徴点６１４と同じスケールで、パッチ６１６に関する情報を有し得ることを注記する。他の実施形態では、傾斜行列は、異なるスケールでの対応するパッチ６１５および／または６１７に関する情報を有してもよい。複数の傾斜行列６２０は、行列Ｘ ６２２の中にベクトル化される。次に、行列Ｘ ６２２の複数の列が選択され（例えば、ランダムに選択され）、それらの分散が、スパース係数行列６３０を得るために最大化される（６２４）。行列Ｘ ６２２の列の部分集合が分散の最大化のために用いられるから、僅かな非ゼロ係数のみが、スパース係数行列６３０の各射影ベクトル（即ち、行）に関して生成される。スパース係数行列における残りの係数はゼロである。１つの例では、スパース係数行列６３０の行（即ち、射影ベクトル）における各係数は、パッチの中の位置に対応すること、を注記する。当該位置は、元来、スパース係数行列６３０における行の中の係数の位置により特定され得る。代わりに、各非ゼロ係数に係る位置は、非ゼロの係数と共に与えられてもよい。
【００６６】
スパース係数行列が得られたとすると、それは、イメージのライブラリと問い合わせイメージとの両方に関する特徴点記述子を生成するために使われる。スパース係数行列６３０の各行における係数は、スパース射影ベクトルを表す。
【００６７】
図６Ｂは、スパース係数行列に基づくスパースＰＣＡ−ＳＩＦＴ（Sparse PCA-SIFT）を用いる、記述子のオンライン生成にためのプロセスを示す。イメージ６４４（例えば、データベースイメージまたは問い合わせイメージ）は、複数のスケールにわたってガウススケール空間６４６を生成するために、ガウスカーネル６４２でたたみ込まれる。１つまたはそれより多くの特徴点は、スケール空間６４６から特定されることができる。各特徴点について、それを囲む画素（例えば、標本点）からなるパッチが生成される。各パッチについて、傾斜ベクトル６５０が当該パッチに関して生成され、この傾斜ベクトルは、パッチの中の点の各々に関する傾斜の大きさをもつ。この例では、パッチは３９ ｘ ３９画素（例えば、点）でもよく、傾斜ベクトル［ｇ１，１，...， ｇ３９，３９］６５０は、１５２１個の要素を有してもよい。先に註記されたように、スパース係数行列における係数のいくつかだけが非ゼロである。この例では、非ゼロ係数は、α２、α５０、α８８、α１４３である。非ゼロ係数に関し、対応する傾斜の大きさの値（即ち、パッチにおける同じ位置に対応する）が得られる。例えば、傾斜の位置ｇ１，２、ｇ２，１１、ｇ３，２０、ｇ４，２６は、非ゼロ係数６５４に対応するように特定されている。スパース係数行列の各行について、非ゼロ係数の各々は対応する傾斜によって乗じられ、その結果は、複数の記述子要素６５６を得るために、行毎のベースで、共に足しあわされる。複数の記述子要素は、特徴点記述子６５８を得るために、ベクトルの中に組み入れられる。このプロセスは、イメージ６４４に関する複数の対応する記述子を得るために、複数の特徴点について繰り返される。この例では、特徴点の周りのパッチは、単一のスケールレベルで定義されることを註記する。一般的には、特徴点の周りの複数のスケールにわたる複数のパッチが。パッチ６１５、６１６、および６１７に示されるように、用いられ得る。
【００６８】
スパース射影ベクトルを生成するためのプロセス例
図７（図７Ａ、７Ｂ、および７Ｃからなる）は、スパース射影ベクトルを推定する、または、生成するためのプロセスを示す。複数のトレーニングイメージ７０２ａ、７０２ｂ、および７０２ｃが得られる。それらイメージにおいて検出される各特徴点について、パッチが当該特徴点の周りにつくられる。傾斜行列は、行列７０４として示される各パッチに関して得られ、そこでは、行列の各要素ｇは、ｎ ｘ ｎ（例えば、ｎ＝３９）のパッチにおける対応する標本、点、または画素の各々についての大きさを示す。各傾斜行列７０４は、各要素ｇの位置がその対応するパッチの中の予測可能または既知の位置をもつように構成され、または、配置され得る。複数の傾斜行列７０４（複数のトレーニング用イメージに係るパッチを示す）は、行列Ｘ ７０６の中にベクトル化され得る。行列Ｘ ７０６からの複数のｋ列が、ランダムに、または、非ランダムに、行列７０６‘に示されるように選択される。この例では、Ｋ＝４で、行７０７ａ、７０７ｂ、７０７ｃ、および７０７ｄが選択されている。行列Ｘ ７０６の選択された行をわたる分散が、スパース係数行列７１０を得るために最大化される（７０８）。スパース係数行列７１０における係数は、最大の分散をなすように選択される。
【００６９】
１つの実施例では、スパース係数行列７１０の各行における数個のみの係数が非ゼロ係数である。残りの係数は、ゼロである。例示のスパース係数行列７１２は、非ゼロであるそれらの要素のみを示している。加えて、いくつかの実施例では、スパース係数行列７１０における行の数は、ｄ行（例えば、ｄ＝２００  行）に切り捨て（truncate）される。スパース係数行列の結果としての行の各々は、１つのパッチに広がるスパース射影行列になる。例えば、スパース係数行列７１０の行（ｎ２の要素を含む）は、図示されるように、ｎ ｘ ｎのパッチ７１４に射影される。
【００７０】
さまざまな実施例において、スパース係数行列７１０は、イメージスケール空間の異なるレベルでの複数のパッチにわたって生成され得る。従って、追加のスケール空間レベルの各々について、追加の列が行列７１０に加えられ、追加の行列が生成され得る。
【００７１】
図８は、スパースＰＣＡ−ＳＩＦＴを用いるスパース射影行列を反復して生成するための例示のアルゴリズムを示す。傾斜行列Ｘは、Ｎ個のパッチの組に関して得られる（８０２）。自己相関行列Ｓは、Ｓ＝（１／Ｎ）ＸＸＴ のように、傾斜Ｘの行列に関して得られる（８０４）。自己相関行列Ｓは、パッチの各々の次元（大きさ）の間の関係を決めることができる。Ｎ個のパッチの行列Ｘに係る自己相関行列Ｓは、以下によって与えられ得る。
【数１４】
2013513168.tif 000016
【００７２】
ここで、Ｘｉは、各トレーニング用パッチに係るベクトルを示す。
【００７３】
自己相関行列Ｓに係るベースベクトルは、固有値分解 ＳＶ＝ＶΛ、（ここで、ＶとΛは固有ベクトルと、対応する固有値行列である）、によって得られる。式４から、ＰＣＡベース（射影）ベクトルは、Ｖ＝Ｋ（ｘｉ，ｘ）αとしてしまされ得ることがわかる。ガウスベース関数に基づいて固有ベクトルを得るために、ベースベクトルは、平滑化カーネル行列Ｋ、即ち、Ｖ＝Ｋα、ここでαはスパース係数ベクトル、から得られる。Ｋは、以下のように、列ｉと行ｊをもつｎ χ ｎ行列として定義される。
【数１５】
2013513168.tif 000017
【００７４】
そして、対応する画素位置ｘｊとσで定義されるガウス関数に対応する各行ｊは、カーネルの標準偏差、即ち、異なるカーネルのスケーリングパラメータσ１とσ２について、σ２＝σ２２−σ１２である。
【００７５】
式６のこのカーネル行列Ｋは、単にその行の線形結合をつくることにより、イメージの領域上で非常に多くの関数を構築することができるので、大変強力である。さらに、カーネル行列Ｋの行との相関は、イメージがすでにカーネル行列Ｋでたたみ込まれているので、ガウススケール空間ピラミッドにおけるより高いスケールレベルで画素値によって、簡単に得られる。これを行うために、カーネルパラメータσは、ガウススケール空間ピラミッドのスケールレベルの違いの１つから選ばれる。記述子に基づく手続きの多くは、前もってガウススケール空間を構築するので、ガウスベース関数との相関を得ることは、無償で（即ち、何ら追加の処理が必要とされず）、起こる。
【００７６】
この相関を得るために、可能なσの選択の君は、ガウススケール空間レベルのスケールの違いで抑えられ得る。図９は、複数のオクターブをもつガウススケール空間ピラミッド９０２を図示し、各オクターブは複数のスケールレベルをもつ。スケールレベルは以下により与えられ得る。
【数１６】
2013513168.tif 000018
【００７７】
ここで、ｏはオクターブレベルであり、ｋは１オクターブの中のスケールレベルであり、ｓは各オクターブの中のスケールレベルの数である。仮に、特徴点がレベル（ｏ０，ｋ０）で検出されるとすれば、ガウスベース関数標準偏差は、特徴点の周りに開けられるサイズが再調整されないパッチについて、σσｏ０，ｋ０であるべきである。パッチとこれらのベース関数との相関をとることに代わり、ピラミッドのより高いスケールレベルが用いられる。例えば、ｏ１＞ｏ０、および／または、ｋ１＞ｋ０として、（ｏ１，ｋ１）。従って、
【数１７】
2013513168.tif 000019
【００７８】
は、ｏ１＞ｏ０、および／または、ｋ１＞ｋ０として、以下の、可能なスケールの組を与える。
【数１８】
2013513168.tif 000020
【００７９】
これは、仮に部分空間射影ベクトルが、これらの標準偏差σをもつガウスベース関数の線形結合をもちいて計算され得るならば、このベクトルへのイメージ応答の計算は、スケール空間における対応する位置の標本化に向けて変えられる。
【００８０】
自己相関行列Ｓのベースベクトルは、ＳＫα＝Ｋαλによって与えられ得る。当該等式の両側に平滑化カーネル行列Ｋをかけることは、問題を、一般化された固有値分解問題、ＫＳＫα＝Ｋ２αλ、に転じる。目ざすところは、ガウスベース関数に係る係数αのスパース組を見つけることである。言い換えれば、非ゼロの係数要素αのカーディナリティ（cardinality：集合の元の個数、濃度） ｃａｒｄ（α≠０）は、その大きさ（次元）よりずっと小さくある必要がある。最適な数の非ゼロ係数要素αとそれらの値を見つけることは、非決定論的（non-deterministic）で、多項式時間（polynomial-time）の難問として知られている。多くの近似が、L-1 norm ||α||のように、αのカーディナリティ上のきわめて緩い上側境界（very loose upper bound）であるペナルティターム（penalty term）を最小化するものが、文献において定義されている。
【００８１】
図８の方法を再度参照すると、非ゼロ係数要素αを得るための１例が示されている。行列Ｓの分散が、各パッチにおける複数のランダムな位置に関して、繰り返し最大化される。繰り返し処理は、スパース係数行列Ａ（Ａ＝［α１， ....， αｉ］）を組み立てる、複数のスパース射影ベクトルαｉ（ｎ２の要素をもつベクトル）を生成するために使われ得る。繰り返し（ｉ＝１からｄ、ベースベクトル数）の各々で、いくつかの候補ベクトルαｉが、非ゼロ係数αの数と位置をランダムに選ぶことによりランダム化される。これは、以下のように、係数により範囲がとられる部分空間において、自己相関行列Ｓの分散を最大化するところの固有ベクトルや固有値を計算することにより行われ得る。
【数１９】
2013513168.tif 000021
【００８２】
ここで、ｒ＝１からランダム化の数まで、である（８１０）。
【００８３】
ランダム化の全てを通じて最大の分散である、現在の固有ベクトル αｉ＝ αｒ maxは、以下のように選ばれる。
【数２０】
2013513168.tif 000022
【００８４】
最も大きな分散をもつ固有ベクトルαｉが選択され、固有ベクトルαｉは、以下のように正規化される（８１４）。
【数２１】
2013513168.tif 000023
【００８５】
これらの正規化された固有ベクトルαｉの各々は、スパース係数行列Ａ＝［α１， ...， αｄ］に加えられる（８１６）。
【００８６】
各繰り返し（ｉ≠１）毎に、自己相関行列Ｓは、以下のように、以前のベクトル部分空間について、ヌル空間に投射される。
【数２２】
2013513168.tif 000024
【００８７】
スパース係数行列Ａ＝｛α１， ...， αｄ｝を得ると、射影行列Ｖが、カーネル行列Ｋと掛け合わせること、即ち、Ｖ＝ＫＡ、により与えられる。クエリイメージからのパッチｑは、ｑＴＫＡにより部分空間に射影され得る。ｑＴＫはパッチｑのガウスたたみ込みと等価で、スケール空間のより高いレベルにより与えられるので、当該パッチｑは、スパース係数行列Ａの非ゼロ要素を、該スケールスペースから標本取得される対応の画素に掛けることにより、部分空間に射影されることができる。
【００８８】
スパース射影ベクトルを用いることにより記述子を生成するためのプロセス例
図１０（図１０Ａと１０Ｂとからなる）は、特徴記述子がスパース射影行列にもとづいてどのように生成され得るかを示す。ここで、スパース射影行列Ａ １００２は、（図７に示されるように）オフラインで得られている。この例において、第１の射影ベクトル（即ち、第１の行）は、非ゼロ係数 α１２、α１７５、α１２０１、およびα１５７６を含む。これらの係数は、図示のようにｎ ｘ ｎのパッチ１００４（例えば、ｎ＝３９）に写像される。
【００８９】
クエリイメージに関し、特徴点１００７が得られ、パッチ１００６は特徴点１００７の周りにつくられる。ここで、特徴点１００７の周りの傾斜ｇは、クエリ（問い合わせ）パッチについて示されている。各傾斜ｇは、パッチにおける各点または画素に関連する大きさであってよい。複数の記述子要素 Ｄｃｏｍｐｉ１００８は、大きさｇと対応する係数αを掛けることにより生成され得る。ここで、非ゼロ係数αの位置は、スパース係数行列１００２から知らされる。従って、（非ゼロ係数αに関する）パッチ１００６における対応位置での傾斜の大きさが使用される必要がある。各記述子要素Ｄｃｏｍｐは、  Ｄｃｏｍｐ＝α２*ｇ１，２＋α５０*ｇ２，７＋α８８*ｇ５，３＋α１４３*ｇ９，５  のように、非ゼロ係数と対応する傾斜の大きさｇの結合（例えば、加算）であってよい。これは、対応する非ゼロの係数を用いて、スパース射影行列１００２の全ての行、または複数の行について繰り返される。次に、記述子ベクトル１０１０は、記述子要素Ｄｃｏｍｐを連結することにより構築され得る。
【００９０】
従って、１つの例に従って、各特徴／特徴点記述子１０１２は、複数の記述子要素／コンポーネント  ［Ｄｃｏｍｐ１ｍ，Ｄｃｏｍｐ２ｍ，Ｄｃｏｍｐ３ｍ， .... Ｄｃｏｍｐｄｍ］からなる。ここで、標本点Ｉｉについて各要素Ｄｃｏｍｐｉｊは、
【数２３】
2013513168.tif 000025
【００９１】
であり、ＩＸ（ｉ）は対応する非ゼロ係数のインデックスである。各パッチに係る１またはそれより多くの点の位置は、係数αｉｊ（オフラインのトレーニングの間に見つけられる）に係る対応位置である。
【００９２】
スパース係数行列は、多くの異なる方法で表現され得ることを注記する。図１０に示される例では、パッチ位置は、各々の位置に内在する。特に、係数の部分集合のみが非ゼロ係数であるとすると、スパース係数行列の大きさは、非ゼロ係数とそれらの対応パッチ位置を与えることにより減らされ得る。
【００９３】
図１１は、非ゼロ係数１１０２とそれらの対応パッチ位置１１０４としてスパース射影行列を表現する例を示す。ここで、パッチ識別子は、非ゼロ係数とパッチ位置を相関するために用いられる。ここで、各要素αｉ，ｋは、以下の係数ベクトルであってよく、
【数２４】
2013513168.tif 000026
【００９４】
ここで、ｓは選択される非ゼロ係数の数である。射影ベクトルあたりの平均の非ゼロ係数は、例えば、ｓ＝｛４， ５．６３， ９．４１｝である。各要素αｉ，ｋに関して、対応位置ベクトルＩＸｉ，ｋ（ｊ）が与えられ、ＩＸｉｋ（ｊ）は、大きさ（次元）（ｋ）と標本（ｊ）（例えば、座標）についての対応するパッチの対応する位置ベクトル、ｊ＝１，２，...，ｓについて、［ＩＸ１，１（ｊ）， .... ＩＸｍ，ｄ（ｊ）］、を与える。
【００９５】
スパース係数行列Ａ １００２（図１０）は、スケーリング係数および／または位置のリスト、１またはそれより多くのスケーリング係数と位置のテーブル、および／または、ベクトル、行列、および／またはテーブルの組み合わせのような、様々な他の同等な形式で表現され得ることを注記する。
【００９６】
スパース射影ベクトルを用いることにより記述子を生成するためのプロセス例
図１２は、あらかじめ定められるスパース射影ベクトルを用いることによって。特徴記述子を生成するための方法を示す。あらかじめ生成される１組のスパース射影ベクトルが得られる（１２０２）。イメージに係るスケール空間が得られ、ここで、スケール空間は複数のスケールレベルをもつ（１２０４）。次に、スケール空間における特徴点に係る記述子は、スパース射影ベクトルと、複数のスケールレベルにわたる複数の画素についてまばらに標本化された画素情報と、の結合にもとづいて生成され得る（１２０６）。画素情報は、特徴点に関連するパッチの中の各画素についての傾斜情報を含んでもよい。複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応した、あらかじめ定められた位置で選択され得る。
【００９７】
スパース射影ベクトルはイメージとは独立に（例えば、どのイメージが処理されようとしているかを知る前に）、生成され得る。１つの例では、各スパース射影ベクトルは、イメージに係る平滑化カーネルのスケールに拘束され得る。スパース射影ベクトルは、大部分のゼロの要素と複数の非ゼロ要素を含み得る。非ゼロ要素は、分散最大化手続きによって得られる。
【００９８】
様々な実施例において、スパース射影ベクトルの各々は、目的関数を最大化または最小化する。例えば、目的関数は、イメージのトレーニング用の組に係る複数のスケールレベルを通した、画素情報のための自己相関行列の最大化である。
【００９９】
図１３は、あらかじめ定められるスパース射影ベクトルを使うことによる、特徴記述子を生成するための他の方法を示す。複数のスパース射影ベクトルを示す、あらかじめ生成される１組の非ゼロスケーリング係数が得られる。ここで、各スケーリング係数は、パッチの中の対応する位置に関連づけられる（１３０２）。例えば、そのようなスパース射影ベクトルは、図７および８に示されるように得られる。そのようなスパース射影ベクトルは、オフラインで計算されてもよく、スパース係数行列の部分であってよく、および／または、イメージに係る平滑化カーネルのスケールに抑えられてもよい。特徴点は、イメージに関して得られる（１３０４）。スパース射影ベクトルはイメージと独立であってもよいことを注記する。例えば、射影ベクトルは、当該イメージを除く１組のトレーニング用イメージにもとづいて生成される。パッチは、特徴点に関して得られる、または、定義される（１３０６）。特徴点に係る記述子は、複数の記述子要素にもとづいて生成される。各記述子要素は、以下のプロセスによって生成される。パッチに係る標本点位置が、第１のスパース射影ベクトルに係る非ゼロスケーリング係数位置にもとづいて特定される（１３０８）。パッチから特定された標本点位置の各々の大きさ／値は、第１のスパース射影ベクトルに係る対応する非ゼロスケーリング係数と乗ぜられ（または、その他結合され）、結果の値は、記述子要素を得るために共に加えられる（１３１０）。そのような乗算や加算の処理は、例えば、図１０Ｂに示される。この処理は、複数の記述子要素を得るために、残りの複数のスパース射影ベクトルの各々を用いて繰り返される（１３１２）。つぎに、複数の記述子要素は、特徴点に係る記述子ベクトルを得るために、結合される（１３１４）。
【０１００】
記述子要素は、イメージに係るより高いレベルのスケール空間に射影される、パッチの中の標本点の重みづけされた和として考慮される、ことを注記する。結果的に、特徴点記述子は、イメージに係る異なるレベルのスケール空間に射影される、パッチからの標本点の部分集合の重みづけされた結合である。記述子は特徴点とパッチ情報にもとづいているから、当該記述子は、特徴点および／またはそのパッチの１つまたはそれより多くの特徴を特定する。スパース射影ベクトルが用いられる（例えば、射影ベクトルのわずかな要素のみが非ゼロの場合）ので、特徴点記述子は、パッチの大きさよりも少ない動作でもって生成され得る。
【０１０１】
図１４は、「特徴」を特徴づける、パッチの大きさ（次元）よりも少ない動作で特徴記述子を生成するための方法を示す。特徴点は、イメージに関して得られる（１４０２）。そのような特徴点は、イメージに関して得られるスケール空間（例えば、ガウススケール空間）から得られる。特徴点は、当該イメージの領域の中の特定のイメージスケールでの局所的な極小または極大であってよい。パッチは、特徴点の周りに定義され、該パッチは 画素数ｍ ｘ  画素数ｎの大きさ（次元）をもつ（１４０４）。また、あらかじめ定められるスパース射影ベクトルが得られる（１４０６）。例えば、スパース射影ベクトルは、スパース係数行列の部分であってよく、イメージに関する平滑化カーネルのスケールに抑えられてよい。スパース射影ベクトルは、当該イメージとは独立である。例えば、射影ベクトルは、当該イメージを除く１組のトレーニング用イメージにもとづいて生成され得る。次に、特徴点に係る記述子は、パッチの少なくとも１つの特徴と少なくとも１つのスパース射影ベクトルにもとづいて生成され、当該記述子は、パッチの大きさ（次元）ｍ*ｎよりも少ない処理で生成される（１４０８）。
【０１０２】
スパースＰＣＡ−ＳＩＦＴの実装例
図１５は、スパースＰＣＡ−ＳＩＦＴアルゴリズムを用いて生成される記述子の正確さがテストされる、同一のテストイメージの様々な視点を示す。これらのイメージ１５０２、１５０６、および１５０８は、一致の正確性や計算処理の複雑さの観点で、この中に開示されるスパースＰＣＡ−ＳＩＦＴアルゴリズムをＳＩＦＴやＰＣＡ−ＳＩＦＴアルゴリズムと企画するために用いられる。一致の正確性は、リコール−プレシジョン・カーブ（recall-precision curves）を用いて評価される。これらのプロット（図１６）は、２次元のシーンの２つのイメージについて、それらの間の既知のホモグラフィ（homography：相同性）を用いて得られる。ｘ２が特徴空間においてｘ１の最も近いものであり、最も近いものへの距離と２番目の最も近いものへの距離との比率がしきい値ｔの下になる場合、第１のイメージにおける記述子ｘ１が第２のイメージにおける記述子ｘ２と「一致」とされる。この比率のテストは、差異のない記述子の一致を避けるために使われる。特定のしきい値に係るリコール比率は、正しい一致の、第１と第２のイメージの間の全ての可能な対応関係の数に対する比、即ち、recall＝ #true matches ／ #correspondences 、で与えられる。プレシジョンは、一致化の手続きがどれくらい正確であるかを、正しい一致の、一致検出のトータル数に対する比率、即ち、precision＝ #true matches ／ #matches 、を計算することにより表す。しきい値ｔが変化するので、リコール−プレシジョン・カーブが得られる。
【０１０３】
図１６は、全てがｘとｙ方向での傾斜レベルを用いて得られる、ＳＩＦＴ、ＰＣＡ−ＳＩＦＴ、およびスパースＰＣＡ−ＳＩＦＴを用いる記述子の一致の正確性の例を示す。ここで、ＰＣＡ−ＳＩＦＴとスパースＰＣＡ−ＳＩＦＴは、２ ｘ ３９ ｘ ３９ の正規化された傾斜パッチを用いている。この例では、平滑化カーネルの標準偏差は、以下のように選択される。
【数２５】
2013513168.tif 000027
【０１０４】
パッチ（スケールレベルｌで得られる）をスパースＰＣＡ部分空間に射影するために、係数が、２スケール上げて（スケールレベル  ｌ＋２）、対応する画素と乗じられる。リコール−プレシジョン・カーブにみられるように、ＰＣＡ−ＳＩＦＴは、イメージペア１−２に関して非常に良好な性能を発揮する（グラフ１６０２）が、ペア１−３にあるように、視点変化がより大きい場合、劣化した性能になる（グラフ１６０４）。これは、ＰＣＡが、小さな登録エラーに敏感だからである。スパースＰＣＡ−ＳＩＦＴは、ガウスベース関数を用いてベースベクトルを表すことにより、この問題を解決する。従って、それは、イメージペア１−３について、ＰＣＡ−ＳＩＦＴより良好な性能を示す。全体的に、スパースＰＣＡ−ＳＩＦＴとＳＩＦＴは似通っており、前者は、視点変化が小さいときに、より良好な性能を示す。スパースＰＣＡ−ＳＩＦＴの主要な利点は、平均して、すくない非ゼロ係数での乗算からなる、その計算処理の低い複雑性である。
【０１０５】
図１７は、ＳＩＦＴ、ＰＣＡ−ＳＩＦＴ、およびスパースＰＣＡ−ＳＩＦＴの計算処理の複雑性の比較を示すテーブルである。ＳＩＦＴや他のヒストグラムベースの手法に係る記述子の計算処理の複雑さは、検出される特徴点のスケールレベルσに依存する。１つの例では、ＳＩＦＴは、σがイメージに係るガウススケール空間のオクターブの中のスケールレベルに等しいとして、検出される特徴点位置の周りに１２σ ｘ １２σのパッチを開ける。このパッチは、８つの角度に量子化される配向のヒストグラムが各セルについて得られるとして、４ ｘ ４のセルにプール（pool）される。各セルについて、三次−線形内挿化（tri-linear interpolation）（イメージ領域における ３σ±１．５σ＝６σ の画素幅の正方形をもつ、スケール空間における最も近くの２つのセルの重みづけ合計は、１６ ｘ ２ ｘ （６σ）２ 回の乗算と加算の結果をもたらす。標準のスケーリングが σ＝１．６ である場合、これは、記述子あたり２９４９回の処理に等しく、１オクターブの中で最も高いレベル σ＝３．２ に対しては、それは記述子あたり１１７９６回の処理になる。
【０１０６】
ＰＣＡ−ＳＩＦＴについて、３９ χ ３９画素のパッチの水平および垂直方向の傾斜は、検出される特徴点の周りで用いられる。ＰＣＡ−ＳＩＦＴは、２ χ ３９２＝３０４２ 次元（大きさ）の全てを用いることにより、５０次元（大きさ）の部分空間にパッチを投射する。従って、それは、記述子を生成するために、パッチあたり ５０ χ ３０４２＝１５２１００ 回の乗算と加算の処理を必要とする。
【０１０７】
一方、スパースＰＣＡ−ＳＩＦＴについては、係数ベクトルの非ゼロ要素の数に限定される。ＰＣＡ−ＳＩＦＴアルゴリズムの複雑性は、２００次元（大きさ）の部分空間にパッチを射影するために用いられる射影ベクトル ｓ＝｛４， ５．６３， ９．４１｝ あたりの平均の非ゼロ係数に比例する。これは、パッチあたり、４ ｘ ２００ ＝ ８００ と ９．４１ ｘ ２００ ＝ １８８２ との間の回数の乗算と加算の処理を必要とする。従って、記載されるスパースＰＣＡ−ＳＩＦＴアルゴリズムは、ＳＩＦＴのようなヒストグラムベースの記述子、および、ＰＣＡ−ＳＩＦＴのような画素ベースの記述子より、ずっと高速の性能をだす。
【０１０８】
イメージ一致化デバイスの例
図１８は、スパース射影ベクトルを用いて特徴点記述子を生成することのできるイメージ一致化デバイスの例を示すブロック図である。イメージ一致化デバイス１８００は、通信インタフェース１８０４、イメージ獲得デバイス１８０６、および／または、格納デバイス１８０８に接続される処理回路１８０２を有する。通信インタフェース１８０４は、有線／無線ネットワーク上で通信を行い、イメージ、および／または、１またはそれより多くのイメージに関する特徴記述子を受けるように適合される。イメージ獲得デバイス１８０６は、例えば、クエリイメージを獲得することができるデジタルカメラであってもよい。処理回路１８０２は、イメージから特徴を抽出するためにイメージ処理回路１８１４を、クエリイメージをターゲットイメージのデータベース１８１０と、または、クエリイメージ記述子と記述子データベース１８１２と比較するために抽出された特徴を用いるイメージ一致化回路１８１６と、を有する。処理回路は、また、スパース射影ベクトルのスパース係数行列１８０９を生成する射影ベクトル生成回路１８１３を有する、または、実装できる。スパース射影ベクトルがどのように生成され、用いられるかの例は、図１、６、７、８、１０、１２、１３、および１４に示される。イメージ一致化デバイス１８００は、前記図面に記載される１またはそれより多くの態様および／または方法を実装し得る。
【０１０９】
１つの実施例によれば、イメージ一致化アプリケーションは、クエリイメージと、イメージデータベースにおける１またはそれより多くのイメージとの一致化を試みる。イメージデータベースは、データベース１８１０に記憶される１またはそれより多くのイメージに関連する数百万の特徴記述子を含み得る。
【０１１０】
イメージ処理回路１８１４は、ガウススケール空間生成器１８２２、特徴検出器１８２４、イメージスケーリング回路１８２６、および／または、特徴記述子抽出器１８３０を有する特徴特定回路１８２０をもつ。ガウススケール空間生成器１８２２は、例えば図２に示されるように、複数の異なるスケール空間を生成するために、イメージをぼやかし関数でたたみ込むように機能する。特徴検出器１８２４は、イメージに係る異なるスケール空間における１またはそれより多くの特徴点を特定し得る（例えば、図３に示されるように、局所的な極大や極小を用いることにより）。イメージスケーリング回路１８２６は、特徴検出および／またはクラスタリングを行うに適当なカーネルの大きさを選択するために、イメージのスケールを概算するよう機能する。特徴記述子生成器１８３０は、スパース係数行列１８０９に格納されるスパース射影ベクトルを用いることにより、各特徴点および／またはそのまわりのパッチに係る記述子を生成する。
【０１１１】
いくつかの実装例では、クエリイメージに関する特徴点に関連づけられる１組の特徴記述子が、イメージ一致化デバイスによって受け取られ得ることを注記する。この状況では、クエリイメージは、（当該記述子を得るために）すでに処理されている。従って、イメージ処理回路１８１４は、バイパスされるか、または、イメージ一致化デバイス１８００から除かれ得る。
【０１１２】
モバイルデバイスの例
図１９は、イメージまたはオブジェクトの認識の目的のためにイメージ処理を実施するよう適合されるモバイルデバイスの例を示すブロック図である。モバイルデバイス２２００は、イメージ獲得デバイス１９０４、通信インタフェース１９１０、および格納デバイス１９０８に接続される処理回路１９０２をもち得る。イメージ獲得デバイス１９０４（例えば、デジタルカメラ）は、関心の対象であるクエリイメージ１９０６を獲得し、処理回路１９０２にそれを与えるよう適合され得る。格納デバイス１９０８は、複数のスパース射影ベクトルを定義するスパース係数行列１９１３を有し得る。スパース係数行列１９１３は、１組のトレーニング用イメージにもとづいて（モバイルデバイス上で、または、異なるデバイスで）、予め生成される。
【０１１３】
処理回路１９０２は、続いてイメージ／オブジェクと認識のために送信され、または、用いられる特徴記述子を生成するために、獲得されるイメージを処理するように適合される。例えば、処理回路１９０２は、ガウススケール空間生成器１９２２と、特徴検出器１９２４と、イメージスケーリング回路１９２６と、および／または、特徴記述子抽出器１９３０とを有する特徴特定回路１９２０をもつ、または、実装することができる。ガウススケール空間生成器１９２２は、例えば図２に示されるように、複数の異なるスケール空間を生成するために、イメージをぼやかし関数でたたみ込むよう機能する。特徴検出器１９２４は、イメージに係る異なるスケール空間において、１またはそれより多くの特徴点を特定し得る（例えば、図３および６Ａに示されるように、局所的な極大や極小を用いることにより）。イメージスケーリング回路１９２６は、特徴検出および／またはクラスタリングを行うに適当なカーネルの大きさを選択するために、イメージのスケールを概算するよう機能する。特徴記述子生成器１９３０は、スパース係数行列１９１３からの射影ベクトルを用いることにより、各特徴点および／またはその周りのパッチ（例えば、図６Ｂおよび１０に示される）に係る記述子を生成する。特徴点記述子を生成するために、スパース射影ベクトルがどのように生成され、用いられるかの例は、図１、６、７、８、１０、１２、１３、および１４に示される。モバイルデバイス１９００は、前記図に記載される１またはそれより多くの態様および／または方法を実装できる。
【０１１４】
処理回路１９０２は、格納デバイス１９０８に１またはそれより多くの特徴記述子を格納し、および／または、通信ネットワーク１９１２を介し、その中でイメージまたはオブジェクトを特定するために特徴記述子を用いるイメージ一致化サーバに、通信インタフェース１９１０（例えば、無線通信のインタフェース、トランシーバ、または回路）上で特徴記述子を送信してもよい。即ち、イメージ一致化サーバは、そのデータベースの中のイメージが同じ特徴をもつかどうか決めるために、特徴記述子を、それ自身の特徴記述子のデータベースと比較し得る。
【０１１５】
図に示される１つまたはそれより多くのコンポーネント、ステップ、態様、および／または機能は、単一のコンポーネント、ステップ、態様、または機能の中に再構成され、および／または、組み込まれてもよく、また、いくつかのコンポーネント、ステップ、または機能に具現化されてもよい。また、追加の素子、コンポーネント、ステップ、および／または機能は、この中に開示される新規な態様から離れることなく追加され得る。図に示される機器、デバイス、および／またはコンポーネントは、他の図に記載される方法、態様、またはステップの１またはそれより多くを実行するように構成されてもよい。また、この中に記載されるアルゴリズムは、ソフトウェアに効果的に実装されても、および／または、ハードウェアに埋め込まれてもよい。
【０１１６】
実施形態は、フローチャート、フローダイアグラム、構造ダイアグラム、またはブロックダイアグラムとして表されるプロセスとして記載され得ることが注記される。フローチャートは１連の処理として動作を記述し得るが、当該動作の多くは、並行に、または、同時に実行されることができる。加えて、動作の順序は、再構成されてもよい。動作が完了するときに、プロセス（処理）は終了される。プロセスは、方法、機能、手順、サブルーチン、サブプログラム、等に対応し得る。プロセスが機能に対応する場合、その終了は、それを呼んでいる機能または主機能への機能の戻りに対応する。
【０１１７】
さらに、格納媒体は、情報を格納するための読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク格納媒体、光格納媒体、フラッシュメモリデバイス、および／または、他の機械的読み出し可能媒体、プロセッサ読み出し可能媒体、および／または、コンピュータ読み出し可能媒体を含む、データを格納するための1またはそれより多くのデバイスをいう。「機械的読み出し可能媒体（machine-readable medium）」、「コンピュータ読み出し可能媒体（computer-readable medium）」、および／または「プロセッサ読み出し可能媒体（processor-readable medium）」は、限定はされないが、可搬型または固定の格納デバイス、光格納デバイス、および命令および／またはデータを格納し、保有し、または担うことができる様々な他の媒体のような非一時的の媒体を含む。従って、この中に書かれる様々な方法は、機械的読み出し可能媒体、「コンピュータ読み出し可能媒体、および／または「プロセッサ読み出し可能媒体に格納され、１またはそれより多くのプロセッサ、機器、および／またはデバイスによって実行され得る、命令および／またはデータによって、全体的に、または、部分的に実装される。
【０１１８】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウエア、ミドルウェア、マイクロコード、またはそれらの組み合わせにより実装され得る。ソフトウェアに実装される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、格納媒体または他の格納器のような機械読み出し可能媒体に格納されてもよい。プロセッサは、必要なタスクを実行する。コードセグメントは、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令、データ構造またはプログラムステートメントの任意の組み合わせをいう。コードセグメントは、情報、データ、引き数（arguments）、パラメータ、またはメモリの内容を手渡すことおよび／または受け取ることによって、他のコードセグメント、または、ハードウェア回路に接続され得る。情報、引き数、パラメータ、データ、等は、メモリの共有化、メッセージ伝達、トークン伝達、ネットワーク伝送、などを含む、任意の適当な手段を介して、伝達、転送、または送信され得る。
【０１１９】
この中に開示される例と関連して記載される様々な例示の論理ブロック、モジュール、回路、素子、および／またはコンポーネントは、このなかに記載される機能を実行するように設計された、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または他のプログラム可能な論理コンポーネント、個別ゲート、またはトランジスタロジック、個別ハードウェアコンポーネント、またはそれらの任意の組み合わせを用いて実装され、または、実行され得る。汎用プロセッサはマイクロプロセッサであってよく、しかし代替品として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってもよい。プロセッサは、また、例えば、ＤＳＰとマイクロプロセッサとの組み合わせのような計算処理をするコンポーネントの組み合わせ、いくつかのマイクロプロセッサ、ＤＳＰコアにつながる１つまたは多くのマイクロプロセッサ、任意の他の前記のような構成として実装されてもよい。
【０１２０】
この中に記載される例に関連して説明される方法またはアルゴリズムは、ハードウェアの中に、プロセッサによって実行可能なソフトウェアモジュールの中に、または両者の組み合わせの中に、プロセッシングユニット、プログラミング命令、または他の指示体の形態で、直接具現化されることができ、単一のデバイスに含まれても、または、複数のデバイスにわたって分散されてもよい。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り出し可能ディスク、ＣＤ−ＲＯＭ、または該技術分野で知られている任意の他の形態の格納媒体の中に駐在してもよい。格納媒体は、プロセッサに接続され、該プロセッサが格納媒体から情報を読み出し、および、格納媒体に情報を書き込むことができるようになっていてもよい。代替として、格納媒体は、プロセッサと一体にであってもよい。
【０１２１】
さらに、該技術における技能をもつ者は、この中に開示される実施形態に関連して記載される、さまざまな例示の論理ブロック、モジュール、回路、およびアルゴリズムのステップは、電子的なハードウェア、コンピュータソフトウェア、または両者の組み合わせとして実装され得ることを十分理解する。ハードウェアとソフトウェアのこの互換性を明瞭に示すために、さまざまな例示のコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能に関して一般化して、上記されている。そのような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、特定の応用やシステム全体に課せられる設計上の制約に依存する。
【０１２２】
この中に記載される発明の様々な形態は、当該発明から離れることなく、異なるシステムに実装され得る。上記実施形態は単なる例示であり、発明を限定することとして解釈されるべきでないことが注記される。実施形態の説明は、例示を意図されており、請求項の範囲を限定すること意図されてはいない。そのように、この中で教示することは他の形式の装置に容易に適用されることができ、多くの代替、変更、多様化は該技術に習熟した者に明白である。
【図１Ａ】
2013513168.tif 000028
【図１Ｂ】
2013513168.tif 000029
【図１Ｃ】
2013513168.tif 000030
【図２】
2013513168.tif 000031
【図３】
2013513168.tif 000032
【図４】
2013513168.tif 000033
【図５】
2013513168.tif 000034
【図６Ａ】
2013513168.tif 000035
【図６Ｂ】
2013513168.tif 000036
【図７Ａ】
2013513168.tif 000037
【図７Ｂ】
2013513168.tif 000038
【図７Ｃ】
2013513168.tif 000039
【図８】
2013513168.tif 000040
【図９】
2013513168.tif 000041
【図１０Ａ】
2013513168.tif 000042
【図１０Ｂ】
2013513168.tif 000043
【図１１】
2013513168.tif 000044
【図１２】
2013513168.tif 000045
【図１３】
2013513168.tif 000046
【図１４】
2013513168.tif 000047
【図１５】
2013513168.tif 000048
【図１６】
2013513168.tif 000049
【図１７】
2013513168.tif 000050
【図１８】
2013513168.tif 000051
【図１９】
2013513168.tif 000052
【手続補正書】
【提出日】平成24年9月12日(2012.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の複数のスケールレベル上であらかじめ生成されるスパース射影ベクトルの組を得ることと、
イメージに係るスケール空間を得ること、当該スケール空間は第２の複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記第２の複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成することと、
を備える、特徴記述子を生成するための方法。
【請求項２】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項１に記載の方法。
【請求項３】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項１に記載の方法。
【請求項４】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項１に記載の方法。
【請求項５】
前記目的関数は、イメージのトレーニング用の組に係る前記第１の複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項４に記載の方法。
【請求項６】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項１に記載の方法。
【請求項７】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項６に記載の方法。
【請求項８】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項１に記載の方法。
【請求項９】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項１に記載の方法。
【請求項１０】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項１に記載の方法。
【請求項１１】
前記イメージに係る前記スケール空間から特徴点を得ることと、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得ることと、
をさらに備える、請求項１に記載の方法。
【請求項１２】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項１に記載の方法。
【請求項１３】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定することと、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すことと、
によって生成される、
請求項１２に記載の方法。
【請求項１４】
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得ることをさらに備え、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項１３に記載の方法。
【請求項１５】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記第２の複数のスケールレベルｓ上で射影され、そこで、前記特徴点記述子は、前記パッチのｍ*ｎ*ｓ次元よりも少ない処理で生成される、
請求項９に記載の方法。
【請求項１６】
第１の複数のスケールレベル上であらかじめ生成されるスパース射影ベクトルの組を記憶するための格納デバイスと、
前記格納デバイスに接続される処理回路と、を備え、
前記処理回路は、
イメージに係るスケール空間を得ること、当該スケール空間は第２の複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記第２の複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成することと、
に適合される、デバイス。
【請求項１７】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項１６に記載のデバイス。
【請求項１８】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項１６に記載のデバイス。
【請求項１９】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項１６に記載のデバイス。
【請求項２０】
前記目的関数は、イメージのトレーニング用の組に係る前記第１の複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項１９に記載のデバイス。
【請求項２１】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項１６に記載のデバイス。
【請求項２２】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項２１に記載のデバイス。
【請求項２３】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項１６に記載のデバイス。
【請求項２４】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項１６記載のデバイス。
【請求項２５】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項１６記載のデバイス。
【請求項２６】
前記処理回路は、さらに、
前記イメージに係る前記スケール空間から特徴点を得ることと、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得ることと、
に適合される、請求項１６に記載のデバイス。
【請求項２７】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項２６に記載のデバイス。
【請求項２８】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定することと、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すことと、
によって生成される、
請求項２７に記載のデバイス。
【請求項２９】
前記処理回路は、さらに、
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得ることに適合され、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項２８に記載のデバイス。
【請求項３０】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記第２の複数のスケールレベルｓ上で射影され、そこで、前記特徴点記述子は、前記パッチのｍ*ｎ*ｓ次元よりも少ない処理で生成される、
請求項２４に記載のデバイス。
【請求項３１】
第１の複数のスケールレベル上であらかじめ生成されるスパース射影ベクトルの組を得るための手段と、
イメージに係るスケール空間を得るための手段、当該スケール空間は第２の複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記第２の複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成する手段と、
を備えるデバイス。
【請求項３２】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項３１に記載のデバイス。
【請求項３３】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項３１に記載のデバイス。
【請求項３４】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項３１に記載のデバイス。
【請求項３５】
前記目的関数は、イメージのトレーニング用の組に係る前記第１の複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項３４に記載のデバイス。
【請求項３６】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項３１に記載のデバイス。
【請求項３７】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項３６に記載のデバイス。
【請求項３８】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項３１に記載のデバイス。
【請求項３９】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項３１記載のデバイス。
【請求項４０】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項３１記載のデバイス。
【請求項４１】
前記イメージに係る前記スケール空間から特徴点を得るための手段と、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得るための手段と、
をさらに備える、請求項３１に記載のデバイス。
【請求項４２】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項４１に記載のデバイス。
【請求項４３】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定するための手段と、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すための手段と、
によって生成される、
請求項４２に記載のデバイス。
【請求項４４】
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得るための手段をさらに備え、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項４３に記載のデバイス。
【請求項４５】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記第２の複数のスケールレベルｓ上で射影され、そこで、前記特徴点記述子は、前記パッチのｍ*ｎ*ｓ次元よりも少ない処理で生成される、
請求項３９に記載のデバイス。
【請求項４６】
デバイス上で動作し、
処理回路によって実行されると、前記処理回路に、
第１の複数のスケールレベル上であらかじめ生成されるスパース射影ベクトルの組を得ることと、
イメージに係るスケール空間を得ること、当該スケール空間は第２の複数のスケールレベルをもつ、と、
前記スパース射影ベクトルと、前記第２の複数のスケールレベルにわたる複数の画素に係るまばらに標本化される画素情報との結合にもとづいて、前記スケール空間における特徴点に係る記述子を生成することと、
をさせる、１またはそれより多くの命令を備える、プロセッサ読み出し可能媒体。
【請求項４７】
前記スパース射影ベクトルは、イメージとは独立に生成される、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項４８】
各スパース射影ベクトルは、前記イメージに係る平滑化カーネルのスケールに抑えられる、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項４９】
前記スパース射影ベクトルの各々は、目的関数を最大化または最小化する、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５０】
前記目的関数は、イメージのトレーニング用の組に係る前記第１の複数のスケールレベルにわたる画素情報についての自己相関行列の最大化である、請求項４９に記載のプロセッサ読み出し可能媒体。
【請求項５１】
スパース射影ベクトルは、多数を占めるゼロ要素と複数の非ゼロ要素を含む、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５２】
前記非ゼロ要素は分散最大化手続きにより得られる、請求項５１に記載のプロセッサ読み出し可能媒体。
【請求項５３】
前記画素情報は、前記特徴点に関連付けられるパッチの中の各画素に係る傾斜情報を含む、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５４】
前記複数の画素は、前記特徴点に係るパッチに関連付けられる、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５５】
前記複数の画素は、スパース射影ベクトルに係る非ゼロ係数に対応するあらかじめ定められた位置で選択される、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５６】
前記処理回路により実行されると、前記処理回路に、
前記イメージに係る前記スケール空間から特徴点を得ることと、
前記特徴点に係るパッチ、前記パッチは前記複数の画素を含む、を得ることと、
をさせる１またはそれより多くの命令をさらに備える、請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５７】
前記複数のスパース射影ベクトルは、非ゼロスケーリング係数の組を定義し、
各非ゼロスケーリング係数は、前記パッチの中の対応する画素位置に関連付けられる、
請求項４６に記載のプロセッサ読み出し可能媒体。
【請求項５８】
前記記述子は、複数の記述子要素を結合することによって生成され、
各記述子要素は、
第１のスパース射影ベクトルに係る非ゼロのスケーリング係数位置にもとづいて画素位置を特定することと、
前記パッチからの前記画素位置の値を、前記第１のスパース射影ベクトルに係る対応の非ゼロスケーリング係数に乗じ、第１の記述子要素を得るために結果の値を共に足すことと、
によって生成される、
請求項５７に記載のプロセッサ読み出し可能媒体。
【請求項５９】
前記処理回路により実行されると、前記処理回路に、
追加の記述子要素を得るために、前記残りの複数のスパース射影ベクトルに係る追加の記述子要素を得ること、
をさせる１またはそれより多くの命令をさらに備え、
前記第１の記述子要素と追加の記述子要素は、前記特徴点記述子を得るためにベクトルとして結合される、
請求項５８に記載のプロセッサ読み出し可能媒体。
【請求項６０】
前記パッチは、ｍ画素かけるｎ画素の大きさ（次元）をもち、前記第２の複数のスケールレベルｓ上で射影され、そこで、前記特徴点記述子は、前記パッチのｍ*ｎ*ｓ次元よりも少ない処理で生成される、
請求項５４に記載のプロセッサ読み出し可能媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
図６Ｂは、スパース係数行列に基づくスパースＰＣＡ−ＳＩＦＴ（Sparse PCA-SIFT）を用いる、記述子のオンライン生成にためのプロセスを示す。イメージ６４４（例えば、データベースイメージまたは問い合わせイメージ）は、複数のスケールにわたってガウススケール空間６４６を生成するために、ガウスカーネル６４２でたたみ込まれる。１つまたはそれより多くの特徴点は、スケール空間６４６から特定されることができる。各特徴点について、それを囲む画素（例えば、標本点）からなるパッチが生成される。各パッチについて、傾斜ベクトル６５０が当該パッチに関して生成され、この傾斜ベクトルは、パッチの中の点の各々に関する傾斜の大きさをもつ。この例では、パッチは３９ ｘ ３９画素（例えば、点）でもよく、傾斜ベクトル［ｇ１，１，...， ｇ３９，３９］６５０は、１５２１個の要素を有してもよい。先に註記されたように、スパース係数行列における係数のいくつかだけが非ゼロである。この例では、非ゼロ係数は、α１２、α１５０、α１８８、α１１４３、 ....、α２００３９、 ....、α２００３９０である。非ゼロ係数に関し、対応する傾斜の大きさの値（即ち、パッチにおける同じ位置に対応する）が得られる。例えば、傾斜の位置ｇ１，２、ｇ２，１１、ｇ３，２０、ｇ４，２６は、非ゼロ係数６５４に対応するように特定されている。スパース係数行列の各行について、非ゼロ係数の各々は対応する傾斜によって乗じられ、その結果は、複数の記述子要素６５６を得るために、行毎のベースで、共に足しあわされる。複数の記述子要素は、特徴点記述子６５８を得るために、ベクトルの中に組み入れられる。このプロセスは、イメージ６４４に関する複数の対応する記述子を得るために、複数の特徴点について繰り返される。この例では、特徴点の周りのパッチは、単一のスケールレベルで定義されることを註記する。一般的には、特徴点の周りの複数のスケールにわたる複数のパッチが。パッチ６１５、６１６、および６１７に示されるように、用いられ得る。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図６Ｂ
【補正方法】変更
【補正の内容】
【図６Ｂ】
2013513168.tif 000053
【国際調査報告】
2013513168.tif 000054
2013513168.tif 000055
2013513168.tif 000056