(58)【調査した分野】(Int.Cl.,DB名)
前記アンカーポイントは、scale−invariant feature transform(SIFT)、Fast Retina Keypoint(FREAK)、Histograms of Oriented Gradient(HOG)、Speeded Up Robust Features(SURF)、DAISY、Binary Robust Invariant Scalable Keypoints(BRISK)、FAST、Binary Robust Independent Elementary Features(BRIEF)、Harris Corners、Edges、Gradient Location and Orientation Histogram(GLOH)、Energy of image Gradient(EOG)、Transform Invariant Low−rank Textures(TILT)特徴の内の少なくとも1つに対応する特徴である
請求項1記載の方法。
前記アンカーポイント法線ベクトルは、Harris行列固有ベクトル、又は前記アンカーポイントの画素座標における前記エッジに垂直な幾何学的法線ベクトルのいずれかである
請求項1記載の方法。
決定された前記エッジ上の分析グリッドの分布、決定された単位面積ごとの分析グリッドの量、決定された単位体積ごとの分析グリッドの量、選択された物体モデル、前記デジタル画像に関連した被写界深度情報の内の少なくとも1つに応じて、前記エッジ上に位置する複数のアンカーポイントを選択すること
をさらに備える請求項1記載の方法。
【発明を実施するための形態】
【0036】
以下に、添付の図面を参照にして、各種実施形態をより包括的に説明する。当該図面は、本稿の一部となるものであって、実施形態の実現の具体例を例示的に示す。ただし、本明細書の内容は様々な異なる形態で実施されてもよく、本稿記載の実施形態に限定されると解されるべきではない。当該実施形態は本明細書の内容が一貫性を有して完成し、発明の範囲が当業者に完全に伝わるよう提供されるものである。特に、本明細書の内容は方法や装置として実施されてもよい。したがって、本稿記載の各種実施形態の内の任意のものが、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はソフトウェア及びハードウェア要素の組合せの実施形態であってもよい。このように、以下の明細書は限定的に解釈されるべきではない。
【0037】
明細書、請求項全体において、別途明確に規定されない限り、以下の用語は本稿にて以下の対応する意味を有する。
【0038】
本稿において使用される「一実施形態において」という表現は、同一の実施形態に関するものとは限らないが、関するものである場合もある。したがって、以下に記載する通り、本発明の各種実施形態は、本発明の範囲又は精神から逸脱することなく、容易に組合せ可能である。
【0039】
本稿で使用される「又は」という語は、包括的な「or」演算子であり、別途明確に規定されない限り、「及び/又は」と同等の意味で用いられる。
【0040】
「基づく」という語は排他的ではなく、別途明確に規定されない限り、記載されていない追加の要素に基づくこともできる。
【0041】
本稿で使用される「と接続される」という語は、別途明確に規定されない限り、直接接続(2つの要素が互いに接して接続される)及び間接接続(少なくとも1つの追加の要素が当該2つの要素間に配置されている)の両方を含むことを意図している。したがって、「と接続される」も「に接続される」も同義として使用される。2つ以上の構成要素又は装置がデータをやり取りできるネットワーク環境において、「と接続される」及び「に接続される」は、「通信可能に接続される」ことをも意味しており、1つ以上の中間装置を介してもよい。
【0042】
更に、本明細書を通じて、単数の記載は複数のものを含み、「の中に」は「の中に」及び「の上に」を含む。
【0043】
本稿に示すいくつかの各種実施形態は発明の要素のある組合せからなるが、発明の主題は、開示されている要素のあらゆる組合せを含むと考えられることが理解されよう。したがって、一実施形態が要素A、B、Cを含み、別の実施形態が要素B、Dを含む場合、発明の主題は、本稿に明示的に述べられていない場合でも、A、B、C、又はDの他の組合せも含むと考えられる。
【0044】
本稿の明細書及び後続の請求項において使用される場合、システム、エンジン、サーバ、装置、モジュール、又はその他のコンピューティング要素は、メモリ中のデータに対して機能を実施又は実行するよう構成されるものとして記載される。ここで、「よう構成される」又は「ようプログラムされる」は、コンピューティング要素の1つ以上のプロセッサ又はコアが、コンピューティング要素のメモリに記憶されたソフトウェア命令群によりプログラムされて、メモリに記憶されたターゲットデータ又はデータ物体に対して機能群を実行することを意味する。
【0045】
コンピュータに指示されるあらゆる言語は、サーバ、インターフェース、システム、データベース、エージェント、ピア、エンジン、コントローラ、モジュール、個別に又はまとめて動作するその他の種類の演算装置構造を含む、演算装置のあらゆる適切な組合せを含むよう読み込まれることに留意されたい。演算装置は、有形、非一時的コンピュータ読取可能記憶媒体(例えばハードディスク、FPGA、PLA、ソリッドステートドライブ、RAM、フラッシュ、ROM等)に記憶されるソフトウェア命令を実行するよう構成されるプロセッサを含むことが理解されよう。ソフトウェア命令は、開示されている装置について以下に記載する役割、責任、又はその他の機能を提供するように演算装置を構成又はプログラムする。また、開示されている技術は、プロセッサに対してコンピュータベースのアルゴリズム、プロセス、方法、又はその他の命令を実行することに関する開示されているステップを実行させるソフトウェア命令を記憶する非一時的コンピュータ読取可能媒体を含むコンピュータプログラムプロダクトとして実施することもできる。いくつかの実施形態では、各種サーバ、システム、データベース又はインターフェースは、HTTP、HTTPS、AES、公開秘密鍵の交換、ウェブサービスAPI、公知の金融取引プロトコル、又はその他の電子情報交換方法に基づき得る、標準化されたプロトコル又はアルゴリズムを用いてデータをやり取りする。装置間のデータのやり取りは、パケット交換ネットワーク、インターネット、LAN、WAN、VPN、又はその他の種類のパケット交換ネットワーク、回路交換ネットワーク、セル交換ネットワーク、又はその他の種類のネットワークを介して行われてもよい。
【0046】
開示される発明の主題は、人間の処理能力を上回る量のデジタルデータを処理する演算装置を構成、設定することに向けられている。いくつかの実施形態ではデジタルデータは物体画像とされるが、デジタルデータは必ずしも物体そのものではなく、物体を表示するものであることが理解されよう。演算装置のメモリ内に当該デジタルモデル又はデジタル画像を実現することで、演算装置は、そのユーザが当該装置を利用しなかった場合には得られないような利便性が得られるよう、デジタルデータ又はモデルを管理できる。したがって、開示の装置は、開示の技術に従って、そのようなデジタルデータをより効率的に処理できる。
【0047】
開示の技術は、デジタル画像物体認識及び検索技術の範囲、精度、コンパクトさ、効率、速度の向上を含む、多くの有利な技術的効果をもたらすことが理解できよう。以下の明細書の内容は、大規模な全体像を示す意図はないため、明確、簡潔にするため、概念の簡略化が可能であることも理解されよう。
【0048】
各種実施形態によると、本稿では画像検索の文脈で説明される物体インスタンス検索、画像認識及び/又は画像物体認識は、所定のクエリ画像に応じた画像データセット(本稿ではそれぞれ「画像」又は「デジタル画像」と称する)の特徴検出を行うシステム及び方法により実現される。画像認証は、画像の代表的な特徴を特徴付け、要約し、参照可能とする記述子を利用して可能となる。大規模画像認識では、多数のサーバが並行動作し、それぞれ一千万以上の画像よりなる画像データセットを処理する場合すらある(中規模画像認識で処理されるのは、サーバ1台当たり百万以上の画像よりなる画像データセットとなる)。但し、莫大な画像データセットに対応する記述子の記憶要件により、画像記述子のメモリフットプリントと、例えばmean average precision(mAP)で測定される画像検索性能とのいずれかを優先して、いずれかを犠牲にするような状況も少なくない。したがって、大規模な画像認識を実行するならば、画像を特徴付けるため使用される画像記述子を少なくすることが望ましい。
【0049】
図1は、一実施形態における、デジタル画像の例を示す。
図1において、デジタル画像100は、1つ以上の物体の画像又はデジタル表示を示す。デジタル画像100は、1つ以上の物体の赤外線フィルタ画像、X線画像、360度視画像、合成画像、機械視画像、ビデオデータのフレーム、グラフィック表示、三次元物体斜視像の内のいずれか又はその他種類のデジタル画像であってもよい。デジタル画像100は、ある倍率で拡縮、例えば拡大、縮小されたデジタル画像を表してもよい。デジタル画像100内の1つ以上の物体は、例えば医療情報、人物、動物、植物、玩具、建築物、製品、バーコード、印刷物、又はその他種類の物体を含む高テクスチャ、中テクスチャ、低テクスチャ物体の任意の組合せを含んでもよい。
【0050】
いくつかの実施形態では、デジタル画像100は画像の一部、又はより巨大な画像構造の一部であってもよい(例えば画像の切り抜き、ソーシャルメディアウェブサイトにアップされた群衆写真から抽出された人物の顔画像、又はビデオシーケンスのフレーム)。例えば、デジタル画像100は撮像装置により撮影された、又は配信された(例えばテレビ、映画等)ビデオストリームからビデオフレームを取得することによって得られてもよい。
【0051】
記述子は、画像の1つ以上の目立つ特徴(例えば形状、物体等)に対応するベクトルであってもよい。画像特徴の検出、記述子生成には様々な方法を利用可能である。例えば、scale−invariant feature transform(SIFT)は、現在広く使用されている画像認識アルゴリズムで、画像の特徴を検出、表現するため使用される。SIFT記述子は128次元であり、非常に目立ち(即ち、マッチングのため区別しやすい)、照明、3次元(3D)視点等に対して少なくともある程度ロバストである。例えば、SIFT記述子の生成に関しては、D.Loweによる"Distinctive Image Features from Scale−Invariant Keypoints"、International Journal of Computer Vision 60 (2)、91から110ページ(2004)を参照されたい。SIFT記述子以外の記述子も利用可能である。当該記述子としてはFast Retina Keypoint(FREAK)記述子、Histograms of Oriented Gradient(HOG)記述子、Speeded Up Robust Features(SURF)記述子、DAISY記述子、Binary Robust Invariant Scalable Keypoints(BRISK)記述子、FAST記述子、Binary Robust Independent Elementary Features(BRIEF)記述子、Harris Corners記述子、Edges記述子、Gradient Location and Orientation Histogram(GLOH)記述子、Energy of Image Gradient(EOG)記述子、Transform Invariant Low−rank Textures(TILT)記述子が挙げられる。通常、画像データセットの各画像は、記述子によって表される何百、何千もの特徴を含む。したがって、有効なシステム制約条件としては、画像データセットを表すため必要な記述子の量の圧縮、及び記述子内の情報を記憶するために必要なメモリサイズの低減の両方を達成する方法が求められることが多い。
【0052】
エッジ特徴記述子は、様々な(例えば高テクスチャ、低テクスチャ)デジタル画像に対する効率的な画像物体認識性能を提供するにあたって有効となり得る。例えば、エッジ検出アルゴリズムを適用してデジタル画像100のようなデジタル画像内の複数のエッジを検出してもよい。前記複数のエッジの内の1つのエッジ上に存在するアンカーポイントを選択して、当該アンカーポイントに対応する、複数のセルを含む分析グリッドを生成してもよい。アンカーポイントにおけるエッジ情報間の類似度ヒストグラムと、アンカーポイントに関連した分析グリッドのセル内のエッジ情報に基づいて分析グリッド用のエッジ特徴記述子を決定してもよい。このようにして、デジタル画像100のエッジ特徴記述子のライブラリを、既知の物体(例えば、人物、建物、車両、バーコード、印刷媒体等)に対応付けて画像物体認識検索を向上してもよい。
【0053】
図2は、開示される主題の一実施形態における、デジタル画像内で検出される複数のエッジの例を示す。
図2に示すように、デジタル画像200は、例えばエッジ202のような複数のエッジを含んでもよい。当該複数のエッジ202は、各種エッジ検出技術によってデジタル画像200内で検出できる。通常、エッジ検出の目的は、画像の重要と判定される不連続箇所を特定することである。
【0054】
例示的実施形態では、前記複数のエッジ202は、テンソル投票の概念をデジタル画像200に適用して、例えばエッジ画素(エッジル(edgels)とも称される)をエッジにグルーピングすることで検出できる。テンソル投票は、デジタル画像内等に存在する点群から構造を抽出、グルーピングする技術である。通常、テンソル投票はある点(例えば画像画素)が表面、曲線、接合点に存在する、又はその点にノイズが多いかの尤度の顕著性測定を推定することを含む。それは、テンソルにより符号化された最も尤度の高い法線(複数可)の拡散、凝集に基づく。第1段階として、法線の第1推定により、または、所定の情報が利用不能である場合には球形のテンソルにより、テンソルが群中の全ての点で初期化される。次に、全テンソルが棒、板、球の3つの要素に分解される。各要素により投票が行われる。即ち、当該要素の投票で符号化される情報を考慮して、隣接する点における法線の尤度が最も高い方向(複数可)を符号化するテンソルである。その後、投票は集められ、全点における表面、曲線、接合点測定を推定するよう解析される。顕著性の低い点はノイズが多いとみなされる。
【0055】
別の例示的実施形態では、Cannyエッジ検出アルゴリズムをデジタル画像200に適用して、複数のエッジ202を検出してもよい。通常、Cannyエッジ検出アルゴリズムは、ガウシアンフィルタの適用により画像を平滑化してノイズを除去することと、画像の輝度勾配を判定することと、non−maximum suppression(例えばエッジシニング技術)を適用してエッジ検出のスプリアスレスポンスを除去することと、二重閾値を適用して潜在的エッジを判定することと、例えば強いエッジに接続されていない弱いエッジを除去することを通じてヒステリシスによりエッジを追跡してエッジ検出を完成させることとを含む。このように、各種実施形態では、Cannyエッジ検出アルゴリズムを利用してエッジ画素を検出し、テンソル投票の概念を利用してエッジ画素をエッジにグルーピングしてもよい。
【0056】
いくつかの実施形態では、1つ以上のエッジレットを接続してエッジを形成することで、デジタル画像200内で複数のエッジを検出してもよい。例えば、エッジレットは、曲率半径を持つ円弧形状により表されてもよく、各エッジレットはエッジに沿って存在すると判定され得るエッジ画素(例えば画像内の画素)を含んでもよい。
【0057】
いくつかの実施形態では、エッジ検出はスケール不変性を実現する技術を含んでもよい。例えば、デジタル画像200はある倍率で拡縮されて、それぞれの拡縮画像にてエッジ群を抽出してもよい。したがって、デジタル画像200は実質的な下限に達するまで、複数回(例えば2倍ずつ)縮小してもよい。例えば、倍率は1.5、1.75、2.25、2.5倍等を含む。一実施形態では、倍率は好ましくは1.5以上、又は2.0以上である。これにより、一般的に十分なスケール不変性が得られ、その他倍率の場合と比較してより演算効率が高くなる。
【0058】
当業者であれば、本稿記載のエッジ検出技術は例示的であって、デジタル画像内で複数のエッジを判定するためにその他様々なエッジ検出技術を適用できることが理解されよう。例えば、エッジ検出用の例示的システム及び方法が、参照により本稿に組み込まれる出願日2015年2月16日、名称「エッジ型認識、システム及び方法」の米国特許出願第14/623341号に記載されている。当業者であれば、デジタル画像200内の特定のエッジ、例えば不良エッジ208を複数のエッジから除去して、ノイズ除去を行ってもよいことが理解されよう。例えば、近傍に別のエッジが存在しないような単量子線(例えば曲率が非常に低く、半径の大きい円弧)は、複数のエッジから除去してもよい。例えば画像物体認識検索に十分な分解能とならないためである。
【0059】
図3Aは、一実施形態において、選択されたアンカーポイントの例を示す。
図3Aにおいて、エッジ302上のアンカーポイント300がデジタル画像(例えばデジタル画像200)内で選択される。例えば、エッジ302は上述したようなエッジ検出技術により検出された複数のエッジの1つであってもよい。アンカーポイント300はエッジ302上の任意の位置(例えば画素位置)で選択されてもよい。一実施形態では、アンカーポイント300は特徴検出アルゴリズムを利用して選択してもよい。例えば、いくつかの実施形態では、アンカーポイント300はscale−invariant feature transform(SIFT)、Fast Retina Keypoint(FREAK)、Histograms of Oriented Gradient(HOG)、Speeded Up Robust Features(SURF)、DAISY、Binary Robust Invariant Scalable Keypoints(BRISK)、FAST、Binary Robust Independent Elementary Feature(BRIEF)、Harris Corners、Edges、Gradient Location and Orientation Histogram(GLOH)、Energy of Image Gradient(EOG)、Transform Invariant Low−rank Textures(TILT)特徴の内の少なくとも1つに対応する特徴であってもよい。更に、いくつかの実施形態では、アンカーポイント300はエッジ302上の所定の関心点で選択されてもよい。例えば、アンカーポイント300はエッジ302上の検出コーナー、又はエッジ302上の別の種類の検出された特徴(例えば変曲点、エッジの閾値を超える曲率変化が生じた点等)に位置してもよい。いくつかの実施形態では、検出コーナーのような特徴が所定の関心点であってもよい。この場合、ビデオストリーミングデータのリアルタイム又はフレーム単位分析中に追跡可能である。エッジの検出コーナーに位置している特徴は、画像データに関連したテクスチャ情報を含んでもよい。このように、当業者には、アンカーポイントが実質的に検出エッジ上に位置する任意の点と選択される、又は検出エッジから閾値距離内であることが理解されよう。
【0060】
図3Aにはアンカーポイントが1つのみ示されているが、エッジ302上の複数のアンカーポイントを選択して、例えば画像に対して複数の記述子を生成するようにしてもよいことが理解されよう。いくつかの実施形態では、決定されたエッジ上の分析グリッドの分布、決定された単位面積ごとの分析グリッドの量、決定された単位体積ごとの分析グリッドの量(後述)、選択された物体モデル、デジタル画像に関連した被写界深度情報の内の少なくとも1つに応じて、エッジ上に位置する複数のアンカーポイントを選択してもよい。例えば、エッジ302上に位置する複数のアンカーポイントは、エッジ上で互いに等間隔のものとして選択されてもよい。
【0061】
一実施形態では、アンカーポイントでのエッジの法線ベクトルを含むアンカーポイント法線ベクトル304を算出してもよい。例えば、アンカーポイント法線ベクトル304は、アンカーポイント300でのエッジ302に対応した情報を含む単位法線ベクトルのような法線ベクトルを示す。一実施形態では、アンカーポイント法線ベクトル304は、Harris行列固有ベクトル、アンカーポイントの画素座標でのエッジに垂直な幾何学的法線ベクトルのいずれかであってもよい。例えば、アンカーポイント法線ベクトル304は、高輝度から低輝度を示すHarris行列固有ベクトルに対応してもよい。Harris行列は、平均ウィンドウサイズが例えば9画素(即ち、アンカーポイントとその近傍の8画素の画素座標)と決定されるようにしてもよい。これにより、演算効率を損なうことなくノイズが低減できる。別の例では、アンカーポイント法線ベクトル304はアンカーポイント300における(例えば、アンカーポイント300に関連した画素座標における)エッジ302に対して実質的に垂直な幾何学的法線ベクトルであってもよい。例えば、アンカーポイント300における幾何学的法線ベクトルは、取得可能であればエッジ302に対応した曲率半径情報に基づいて、又はエッジ302のエッジレット又はエッジ画素に対応した曲率半径情報に基づいて計算されてもよい。
【0062】
図3Bは、一実施形態においてアンカーポイントに対して生成された分析グリッドの例を示す。通常、分析グリッドはアンカーポイントに関連した領域の曲線を分析するために使用されうる模式的構造を表す。例えば、
図3Bにおいて分析グリッド310はアンカーポイント300に対応し、分析グリッド340はアンカーポイント330に対応する。各種実施形態では、分析グリッドは円形グリッド、放射状円形グリッド、直線状グリッドのいずれかであってもよい。例えば、分析グリッド310、分析グリッド340は円形グリッド又は放射状円形グリッドである。いくつかの実施形態では、エッジ上で特定される特徴の数によっては、分析グリッドがエッジ上の多数のアンカーポイントの少なくとも一部に均等に分布されてもよい。例えば、複数のアンカーポイントが、エッジ上で互いに等間隔に分布してもよい。前記複数のアンカーポイントに対応する分析グリッドは、重ねられたり、重ならないように生成(図示)されたりしてもよい。更に、アンカーポイントと対応する分析グリッドとは、デジタル画像内の単位面積ごとの所望の分析グリッド数、3次元空間内(例えば3次元物体モデルの斜視像内)の単位体積ごとの所望の分析グリッド数、所定の(即ち既存の)物体モデル、又は画像データから得られた被写界深度情報に基づいて均等に分布してもよい。
【0063】
一実施形態では、分析グリッドは複数のセル(即ち区間)を含んでもよい。例えば、例示的分析グリッド310は5つのセルを有する(即ち中心セル312が、円弧状セル314、316、318、320に取り囲まれる)。これも例示的だが、分析グリッド340は9つのセルを有する(即ち中心セル342と、内側シェルの円弧状セル344、346、348、350と、外側シェルの円弧状セル352、354、356、358)。分析グリッドが任意の数のセル又は区間を有してもよいことが理解されよう。このように、少なくとも5つのセル又は少なくとも9つのセルを有してもよい分析グリッドはあくまで例示であり、様々な配置、構成、セル数が考えられる。
【0064】
いくつかの実施形態では、複数のセルを含む分析グリッドは、対応するアンカーポイントの1つ以上の特徴に基づいて拡縮されてもよい。例えば、分析グリッドは対応するアンカーポイントの決定されたサイズに基づいて拡縮されてもよい。対応するアンカーポイントのサイズは、当該アンカーポイントに対応する特徴(例えばSIFT特徴)の1つ以上の特性に対応してもよい。したがって、分析グリッドは対応するアンカーポイント(また、別分析グリッド)に比例して拡縮されてもよい。これにより、デジタル画像内の分析グリッドが、例えばデジタル画像の異なる倍率の拡縮に対してもスケール不変性を有するようになる。
【0065】
一実施形態では、分析グリッドはアンカーポイント法線ベクトルに基づいて配向されてもよい。例えば、分析グリッド310及び分析グリッド340は、それぞれアンカーポイント300及びアンカーポイント330のアンカーポイント法線ベクトルに基づいて配向される。その結果、分析グリッド310及び分析グリッド340はそれぞれアンカーポイント300及びアンカーポイント330のアンカーポイント法線に対して回転不変性を有してもよい。同様に、分析グリッドはアンカーポイントにその幾何学的中心が配置されてもよい(例えば、アンカーポイントに対応する画素座標に幾何学的中心が配置)。
【0066】
図4は、一実施形態において、分析グリッドのセル内で算出されたエッジ画素法線ベクトルの一例を示す。
図4は、
図3Bの分析グリッド310と概して同様の放射状円形分析グリッド400の一部の拡大図である。例えば、分析グリッド400はアンカーポイント法線ベクトル402に応じて配向されるため、配向不変性を有する。例えば、このような配置を選択すれば、様々な特徴に対して、分析グリッドの表示を一定とし、本稿の実施形態に基づく記述子の計算方法を一定とできる。分析グリッド400は、中心セル404と、円弧状セル406から410とを有する。分析グリッド400のその他の円弧状セルは見やすさのために図示省略した。更に、中心セル404(即ち、周辺のアンカーポイント法線ベクトル402)と、外側シェルでアンカーポイント法線ベクトル402に対して0から90度の角度の円弧として並ぶ円弧状セル406、408、410を含む分析グリッド400となっているが、このセルの配列は、分析グリッド内のセル配列の候補の一例である。また、セルのサイズ(例えば画素の半径距離)は調整可能である。したがって、各種実施形態では、あらゆる現実的なセルのサイズ、構成、配向、配列が採用されうる。
【0067】
エッジ420及び430が分析グリッド400を通過する。具体的には、エッジ420は円弧状セル406及び中心セル404を通過し、エッジ430は円弧状セル408と中心セル404とを通過する。なお、2つ以上のセルを通過するエッジにより、本稿の実施形態に基づいて生成される特徴記述子の分解能が増す。さらに、分析グリッド400内で、例えばエッジ検出技術により判定できるエッジ420及びエッジ430の経路は、複数の画素440及び450をそれぞれ含む。見やすさのため、図内では少数の画素を示している。
【0068】
一実施形態では、エッジ情報(例えばエッジレット又はHarris行列からの曲率情報)を使用して、例えば分析グリッド400のような分析グリッドのセル内のエッジ上に位置する各画素に対してエッジ画素法線ベクトルを計算してもよい。例えば、エッジ画素法線ベクトル460を、エッジ420上の各エッジ画素450について算出できる。各エッジ画素法線ベクトル460は、画素座標におけるエッジ420に垂直なHarris行列固有ベクトル、幾何学的法線ベクトルのいずれかであってもよい。
【0069】
図5は、一実施形態における、分析グリッドのセルに対して生成された類似度ヒストグラムの例を示す。類似度ヒストグラム500は、分析グリッドの1つ以上のセルそれぞれに対して生成されてもよい。例えば、
図3Bの5セル分析グリッド310から、5セル分の類似度ヒストグラム(又はより少ない数のセルに対する類似度ヒストグラム)が生成され、9セル分析グリッド340から、9セル分の類似度ヒストグラム(又はより少ない数のセルに対する類似度ヒストグラム)が生成され得る。
【0070】
一実施形態では、類似度ヒストグラム500は、セル内の各エッジ画素法線ベクトルと、アンカーポイント法線ベクトルとの間の類似度測定に基づいてもよい。例えば、類似度測定は、アンカーポイント法線ベクトル502と、例えばエッジ画素法線ベクトル504のような各エッジ画素法線ベクトルとの間の相対的角度θ(図示された)に基づいてもよい。即ち、類似度測定は、0から360度(即ち、孤度0から2π)の範囲の相対的角度に基づく。別の例では、類似度測定はアンカーポイント法線ベクトルと、各エッジ画素法線ベクトルとの間のコサイン(θ)又は点乗積に基づいてもよい。即ち、類似度測定は、−1から1の範囲の点乗積値であってもよい。好適な実施形態では、類似度測定により、類似度ヒストグラム内での値が均一に分布し、どの程度アンカーポイント法線ベクトルと、各エッジ画素法線ベクトルが互いに類似しているかを示すことが可能となる。このように、好適な実施形態では、類似度ヒストグラムは絶対的情報(例えば画素座標における)ではなく、アンカーポイント法線ベクトルと、各エッジ画素法線ベクトルとの相対的類似度についての情報を示す。
【0071】
いくつかの実施形態では、類似度測定は、セル内の各エッジ画素法線ベクトルの大きさと、アンカーポイント法線ベクトルの大きさとの比較のような更なるベクトル情報に基づいてもよい。例えば、セル内の各エッジ画素法線ベクトルの大きさと、アンカーポイント法線ベクトルの大きさとは、配向に基づかない測定に基づいてもよい。このように、セル内の各エッジ画素法線ベクトルの大きさと、アンカーポイント法線ベクトルの大きさとは1つの正規化された大きさではなく、例えば画素位置での、エッジ曲率情報、色(例えば相対的RGB強度)情報等を含むエッジの各種性質に基づく大きさを有してもよい。したがって、類似度測定は、例えばベクトルの大きさの比の対数値のような、大きさの相対的比較を示してもよい。例えば、0という対数値(即ちlog(1))は、同一の大きさのベクトルを示し、正負の値となる場合、ベクトルの大きさの相対的な差を示すものであってもよい。
【0072】
いくつかの実施形態では、類似度測定は1つ以上の重み係数に基づいてもよい。例えば、類似度測定はアンカーポイントと各エッジ画素との間のユークリッド距離(d)に基づいて調整されてもよい。別の例では、類似度測定は、1/ユークリッド距離(d)又はガウス重みという因数を含み得る重み係数に基づいて調整されてもよい。当業者であれば、様々な類似度測定が利用可能であることが理解できよう。したがって、本稿記載の類似度測定の例は、あくまで例示であって、各種実施形態を限定に解するべきではない。
【0073】
類似度ヒストグラムは、ある角度範囲で等間隔に並べられた複数のビンを含んでもよい。一実施形態では、類似度ヒストグラムは好ましくは少なくとも4つのビンを含み、より好ましくは少なくとも16個のビンを含む。但し、類似度ヒストグラムは現実的なあらゆる数のビンを含んでもよいことが理解されよう。例えば、類似度ヒストグラム500は等間隔の16個のビン(例えば22.5度間隔)を含んで、0から360度の間の角度を網羅する。なお、類似度ヒストグラム内のビンの量と間隔は、画像物体認識検索の分解能、画像物体認識検索時間等の様々な要素を考慮して調整できる。
【0074】
一実施形態では、類似度ヒストグラムビン値は、所定の最大値を超えないよう正規化できる。例えば、ビン値はコンピュータメモリで容易に示されるよう、0から255の値の範囲であってもよい。0から255の間のビン値は、1バイトで表されてもよいため、16ビン類似度ヒストグラムは16バイトで表されてもよい。
【0075】
図6は、一実施形態の、類似度ヒストグラムに基づいて、分析グリッドについて生成された記述子の例を示す。例えば、5セル分析グリッド(例えば
図3Bの分析グリッド310)に対するグリッド記述子600は、5つのセルそれぞれからの類似度ヒストグラム情報に基づいてもよい。各類似度ヒストグラムが16個のビンを含む場合、グリッド記述子600は80次元となる(即ち5×16)。同様に、9セル分析グリッド(例えば
図3Bの分析グリッド340)については、各セルの類似度ヒストグラムは16個のビンを有し、グリッド記述子は144次元となる(即ち16×9)。
【0076】
一実施形態では、グリッド記述子600は、分析グリッドの1つ以上のセルの類似度ヒストグラムからのデータを連結することで生成され得る。そのため、グリッド記述子を生成することは、類似度ヒストグラムからのデータの連結順序を決定することを含む。いくつかの実施形態では、連結順序はアンカーポイント法線ベクトルに対する分析グリッドのセルの配向に基づいてもよい。例えば、分析グリッド310に対応する類似度ヒストグラムからのデータの連結は、アンカーポイント法線ベクトルに対するセルの相対的向きに基づいて順序が決定されてもよい。これにより、記述子は、中心セル312から始まり、セル314、セル316、セル318、セル320に並ぶという順序のデータを含む。類似度ヒストグラムからのデータは、例えば所定のデータの優先順位を上げる又は下げる等、任意の様々な方法で連結されるよう配列されてもよいことが理解されよう(例えば、主成分分析(PCA)又はその他次元縮小方法による)。例えば、データの内の所定のもの(例えば、分析グリッド310内のセル320に対応する類似度ヒストグラムデータ)が、記述子の先頭周辺に存在するように記述子は配列されてもよい。例えば、これにより画像物体認識検索に対する各種類似度ヒストグラム内のデータの分解能を最大化できる。更に/或いは関連するデジタル画像のアフィン変換に対して、データがロバストになる。
【0077】
図7は、一実施形態の、デジタル画像のエッジ特徴記述子を生成するシステムのブロック図を示す。ブロック
図700において、エッジ特徴記述子を生成する要素は、特徴検出部710、撮像装置720、持続ストレージ装置730、メインメモリ装置740を含む。但し、
図7の要素、当該要素それぞれによる各種機能は例示的であって、単に理解を簡単にするためのみを目的として説明されるものである。当業者であれば、各種要素による1つ以上の機能は、その他要素の1つ、及び/又は当該各種機能の組合せを実現するように構成された要素(図示しない)により実現されてもよいことが理解されよう。
【0078】
一実施形態では、特徴検出部710はデジタル画像750の1つ以上のエッジ特徴記述子を生成するように構成される。いくつかの実施形態では、デジタル画像750は、通常の写真、画像、又はビデオフレームのような、物体702の2次元(2D)表現である。或いは、デジタル画像750は特殊なフィルタ又はレンズ(例えば魚眼レンズ)を利用して生成された歪み画像であってもよい。さらに、デジタル画像750は赤外線(IR)画像フィルタ、X線、360度斜視像等の1つ以上に基づく、物体の機械又はロボット視であってもよい。このように、デジタル画像750は、歪みのない画像、赤外線フィルタ画像、X線画像、360度視画像、機械視画像、ビデオデータのフレーム、グラフィック表示、三次元物体の斜視像のいずれかであってもよく、撮像装置720のような撮像装置でビデオストリームのビデオフレームを撮影することで取得されてもよい。
【0079】
いくつかの実施形態において、撮像装置720は特徴検出部710の外部(図示)又は内部に設けられ、物体702の画像を生成するか、その他方法で取得する装置であってもよい。例えば、撮像装置720は、通信ネットワークを介して特徴検出部710に接続された遠隔サーバ(例えばPlatform−as−a−Service(PaaS)サーバ、Infrastructure−as−a−Service(IaaS)サーバ、Software−as−a−Service(SaaS)サーバ、又はクラウド型サーバ)又は遠隔画像データベースを含んでもよい。別の例では、撮像装置720は画像及び/又はビデオデータのフレームを取得するように構成されたデジタルスチルカメラ又はビデオカメラ(例えばCCD、CMOS,又は超音波光学センサ)を含んでもよい。また別の例では、撮像装置720はグラフィック描画/モデリングエンジン(例えばゲーミングシステム、画像描画ソフトウェア等)を有してもよく、デジタル画像が撮像画像ではなく物体の生成画像であってもよい。
【0080】
一実施形態において、特徴検出部710はデジタル画像内の複数のエッジを検出752するよう構成されてもよい。例えば、特徴検出部710はテンソル投票やCannyエッジ検出アルゴリズムに基づいて複数のエッジを検出してもよい。別の例では、特徴検出部710は参照により本稿に組み込まれる出願日2015年2月16日、名称「エッジ型認識、システム及び方法」の米国特許出願第14/623341号に記載されている方法のような1つ以上のエッジ検出方法を適用してもよい。いくつかの実施形態では、特徴検出部710は複数のエッジから少なくとも1つの不良エッジを除去してもよい。更に、いくつかの実施形態では、特徴検出部710はデジタル画像をある倍率で拡縮し、複数のエッジはその拡縮デジタル画像から検出されてもよい。例えば、倍率は少なくとも1.5、又は少なくとも2.0であってもよい。
【0081】
特徴検出部710はさらに、複数のエッジの内のあるエッジ上のアンカーポイントを選択754するように構成される。例えば、特徴検出部710は特徴検出アルゴリズムを適用してデジタル画像内の複数の特徴を検出し、複数の特徴から複数のエッジの内のあるエッジ上にあると判定されるアンカーポイントを選択してもよい。そのため、いくつかの実施形態では、アンカーポイントはscale−invariant feature transform(SIFT)、Fast Retina Keypoint(FREAK)、Histograms of Oriented Gradient(HOG)、Speeded Up Robust Features(SURF)、DAISY、Binary Robust Invariant Scalable Keypoints(BRISK)、FAST、Binary Robust Independent Elementary Features(BRIEF)、Harris Corners、Edges、Gradient Location and Orientation Histogram(GLOH)、Energy of image Gradient(EOG)、Transform Invariant Low−rank Textures(TILT)特徴の内の少なくとも1つに対応する特徴であってもよい。いくつかの実施形態では、アンカーポイントはさらにエッジの検出コーナー、又はエッジ上のその他検出変曲点を含んでもよい。
【0082】
いくつかの実施形態では、特徴検出部710はさらに、エッジ上の複数のアンカーポイントを選択するよう構成されてもよい。このアンカーポイントはエッジ上で互いに等間隔となる。いくつかの実施形態では、エッジ上の複数のアンカーポイントは、決定されたエッジ上の分析グリッドの分布、決定された単位面積ごとの分析グリッドの量、決定された単位体積ごとの分析グリッドの量、選択された物体モデル、デジタル画像に関連した被写界深度情報の内の少なくとも1つに応じて選択されてもよい。
【0083】
特徴検出部710はさらに、アンカーポイントに対応付けられ、複数のセルを含む分析グリッドを生成756するように構成されてもよい。例えば、分析グリッドは、アンカーポイントに幾何学的中心があってもよく、円形グリッド、放射状円形グリッド、直線状グリッドのいずれかであってもよい。いくつかの実施形態では、例えば配向不変性が得られるよう、特徴検出部710はさらにアンカーポイント法線ベクトルに基づいて分析グリッドを配向するように構成されてもよい。
【0084】
特徴検出部710はさらに、アンカーポイントにおけるエッジの法線ベクトルを含むアンカーポイント法線ベクトルを算出758するように構成される。例えば、アンカーポイント法線ベクトルは、Harris行列固有ベクトル又はアンカーポイントにおける画素座標のエッジに対して垂直な幾何学的法線ベクトルの内のいずれかであってもよい。
【0085】
同様に、特徴検出部710はさらに、分析グリッドのセル内のエッジ上の1箇所以上におけるエッジの法線ベクトルを含む1つ以上のエッジ画素法線ベクトルを算出760するように構成されてもよい。エッジ画素法線ベクトルはさらに、Harris行列固有ベクトル又は画素座標におけるエッジに垂直な幾何学的法線ベクトルであってもよい。
【0086】
特徴検出部710はさらに、分析グリッドの1つ以上のセルそれぞれに対して類似度ヒストグラムを生成762するように構成されてもよい。各類似度ヒストグラムは、セル内の各エッジ画素法線ベクトルとアンカーポイント法線ベクトルとの間の類似度測定に基づく。いくつかの実施形態では、類似度測定はセル内の各エッジ画素法線ベクトルとアンカーポイント法線ベクトルとの間の相対的角度又は点乗積に基づいてもよい。いくつかの実施形態では、類似度測定はセル内の各エッジ画素法線ベクトルの大きさと、アンカーポイント法線ベクトルの大きさとの比較に基づいてもよい。例えば、セル内の各エッジ画素法線ベクトルの大きさと、アンカーポイント法線ベクトルの大きさは、配向に基づかない測定に基づいてもよい。類似度測定はさらに、1つ以上の重み係数に基づいてもよい。例えば、1つ以上の重み係数はユークリッド距離と、ガウス重みのいずれかに基づいてもよい。いくつかの実施形態では、各類似度ヒストグラムは複数のビンを含んでもよく、例えば少なくとも4つのビン又は少なくとも16個のビンを含んでもよい。更に、特徴検出部710はさらに当該複数のビンのビン値を正規化するよう構成されてもよい。正規化は、例えば最大ビン値に基づいてもよい(例えば、ビン値は0から255の範囲内となるよう正規化されてもよい)。
【0087】
特徴検出部710は類似度ヒストグラムに基づいて分析グリッドの記述子を生成764するように構成される。記述子を生成することは、分析グリッドの1つ以上のセルに対する類似度ヒストグラムからのデータを連結することを含む。いくつかの実施形態では、特徴検出部710はさらに類似度ヒストグラムからのデータの連結順序を判定するよう構成されてもよい。例えば、連結順序はアンカーポイント法線ベクトルに対する分析グリッドのセルの配向に基づいてもよい。いくつかの実施形態では、特徴検出部710は持続ストレージ装置730及び/又はメインメモリ装置740に記述子を記憶するように構成されてもよく、例えばこれにより画像物体認識検索を向上してもよい。
【0088】
図8は、一実施形態の、デジタル画像に対するエッジ特徴記述子を生成する動作の例を示すフローチャートである。なお、方法800は、特徴検出部710のような特徴検出部の開示の役割や機能を有するように構成又はプログラムされた1つ以上の演算装置により実行されてもよいことが理解されよう。例えば、特徴検出部は、各サーバが例えばSIFT型画像分析パッケージで構成されるようなコンピュータサーバファームを含んでもよい。この場合、いくつかの実施形態では、特徴検出部は方法800の処理のため、数百万ものデジタルデータを取り込み得る。更に、特徴検出部は、方法800に応じてビデオデータの画像フレームを、リアルタイム等で撮影するよう設けられた撮像装置(例えばビデオカメラやゲーム筐体)を含んでもよい。
【0089】
ステップ802では、デジタル画像内の複数のエッジが検出される。例えば、デジタル画像はビデオストリームのビデオフレームと描画画像のいずれかであってもよい。前記複数のエッジは、テンソル投票又はCannyエッジ検出アルゴリズムにより検出されてもよい。
【0090】
ステップ804では、前記複数のエッジの内のあるエッジ上に位置するアンカーポイントが選択される。アンカーポイントは、scale−invariant feature transform(SIFT)、Fast Retina Keypoint(FREAK)、Histograms of Oriented Gradient(HOG)、Speeded Up Robust Features(SURF)、DAISY、Binary Robust Invariant Scalable Keypoints(BRISK)、FAST、Binary Robust Independent Elementary Features(BRIEF)、Harris Corners、Edges、Gradient Location and Orientation Histogram(GLOH)、Energy of image Gradient(EOG)、Transform Invariant Low−rank Textures(TILT)特徴の内の少なくとも1つに対応する特徴であってもよい。
【0091】
ステップ806では、アンカーポイントに関連する、複数のセルを含む分析グリッドが生成される。分析グリッドはアンカーポイント上に幾何学的中心を有してもよく、円形グリッド、放射状円形グリッド、直線状グリッドのいずれかを含む。
【0092】
ステップ808では、アンカーポイントにおけるエッジの法線ベクトルを含むアンカーポイント法線ベクトルが算出される。アンカーポイント法線ベクトルはHarris行列固有ベクトル、アンカーポイントの画素座標におけるエッジに垂直な幾何学的法線ベクトルのいずれかであってもよい。
【0093】
ステップ810では、分析グリッドのセル内のエッジ上の1箇所以上のエッジの法線ベクトルを含む1つ以上のエッジ画素法線ベクトルが算出される。エッジ画素法線ベクトルは、Harris行列固有ベクトル、画素座標におけるエッジに垂直な幾何学的法線ベクトルのいずれかであってもよい。
【0094】
ステップ812では、分析グリッドの1つ以上のセルのそれぞれに対して類似度ヒストグラムが生成される。各類似度ヒストグラムはセル内の各エッジ画素法線ベクトルとアンカーポイント法線ベクトルとの間の類似度測定に基づく。ステップ814において、類似度ヒストグラムに基づいて分析グリッドについて記述子が生成される。記述子を生成することは、分析グリッドの1つ以上のセルに対する類似度ヒストグラムからのデータを連結することを含む。ステップ816では、記述子が記憶される。これにより、例えば画像物体認識検索が向上する。
【0095】
図9から12は、一実施形態のエッジ特徴記述子を生成するために使用されるデジタル画像の例を示す。特に、
図9から12は、本稿の実施形態が、低テクスチャ及び高テクスチャ両方の場合に対する物体認識検索に有用なエッジ特徴記述子の生成に利用可能であることを示している。
【0096】
図9は、一実施形態の、低テクスチャ物体画像のエッジ特徴記述子を生成する例を示す。
図9において、デジタル画像900は低テクスチャ物体(具体的には数字の2)の画像である。画像910は、本稿の各種実施形態をデジタル画像900に適用した場合を示す。デジタル画像910において、複数のアンカーポイント(例えばアンカーポイント902)が選択されており、各アンカーポイントに対して対応するアンカーポイント法線ベクトル(例えば法線ベクトル904)が算出されてもよい。例えば、法線ベクトル904はHarris固有ベクトル又は単位法線ベクトルであってもよい。例えば分析グリッド906のような、アンカーポイントに対応付けられた1つ以上の分析グリッドが生成されてもよい。例えば、分析グリッド906は放射状円形分析グリッドであって、アンカーポイント908の法線ベクトルに基づいて配向された複数のセルを含む。例えば、複数のアンカーポイント、即ち複数の分析グリッドは、デジタル画像910のエッジ上に実質的に等間隔で分布される。
【0097】
デジタル画像920及び930は、元のデジタル画像900から様々な倍率に拡縮された画像で選択されたアンカーポイントを示す。例えば、デジタル画像900はある倍率で拡縮されてもよく、拡縮デジタル画像920及び930から複数のエッジが検出されてもよい。拡縮デジタル画像920において、複数のアンカーポイント(例えばアンカーポイント912)が選択されており、対応するアンカーポイント法線ベクトル(例えば法線ベクトル914)が各アンカーポイントに対して算出されてもよい。拡縮デジタル画像930において、複数のアンカーポイント(例えばアンカーポイント922)が選択されており、対応するアンカーポイント法線ベクトル(例えば法線ベクトル924)が各アンカーポイントに対して算出されてもよい。このように、一実施形態では、複数倍率で拡縮されたデジタル画像900に対してエッジ特徴記述子を生成して、例えば画像物体認識検索を向上してもよい。例えば、拡縮デジタル画像930のエッジ上に等間隔で分布した分析グリッドに基づくエッジ特徴記述子は、例えば(拡縮されていない)デジタル画像910のエッジ上に等間隔で分布した分析グリッドに基づく特徴記述子群と比較して、画像900についてより小規模な特徴記述子群を提供し得る。したがって、拡縮デジタル画像に対してエッジ特徴記述子を生成することで、例えば携帯装置の記憶部に対して実用的な、より小規模な画像認識ライブラリを実現できる。
【0098】
図10は、一実施形態の、低テクスチャ物体画像に対する画像物体認識の例を示す。
図10において、物体の低テクスチャ画像1000に対してエッジ特徴記述子(例えば記述子1002)が生成されており、対応する法線ベクトル1004が算出されている。例えば、画像1000は、例えばスマートフォン又はタブレットコンピュータのような特徴検出装置のスクリーンショットであってもよい。図示のように、低テクスチャ画像1000は、特徴検出装置が例えばエッジ1008及び1010のような複数のエッジを検出したことを示している。バウンディングボックス1006で示すように、数字の2という物体が低テクスチャ画像1000内で認識されている。例えば、記述子1002のようなエッジ特徴記述子を、デジタル画像900から生成され記憶されたエッジ特徴記述子と比較してもよい。図示のように、低テクスチャ画像1000に対して生成されたエッジ特徴記述子は、画像の1つ以上の検出エッジ上に実質的に等間隔に分布してもよい。更に、例えば法線ベクトル1004のようなアンカーポイントの法線ベクトルに基づいて配向された放射状円形分析グリッドに基づいて生成されたエッジ特徴記述子により、デジタル画像900から画像の配向が変化しても、低テクスチャ画像1000内の数字の2という物体が正しく認識されている。更に、画像1000の不良エッジ(例えばエッジ1010)は、特徴検出のため無視されている。
【0099】
図11は、一実施形態の、高テクスチャ物体画像に対する画像物体認識の例を示す。
図11は、本稿の実施形態に基づいて生成されたエッジ特徴検出部に基づいて認識され得る高テクスチャ物体1100の例を示す。例えば、高テクスチャ物体1100は複数の特徴とテクスチャを含むため複数のエッジが存在し得る印刷広告であってもよい。例えば、記述子1102のようなエッジ特徴記述子は、バウンディングボックス1104で示すように、1つ以上のデジタル画像から生成され記憶されたエッジ特徴記述子に基づいて認識されてもよい。したがって、
図10及び11は、本稿開示のエッジ特徴記述子が、様々な周辺環境で、低テクスチャ物体及び高テクスチャ物体を分解するため利用可能であることを示している。
【0100】
図12は、一実施形態の、低テクスチャ3次元物体画像に対する画像物体認識の例を示す。様々な実施形態は、完全3D物体に対して利用してもよい。例えば、3D物体(例えばアクションフィギュア玩具、車両等)は見る方向によって異なる特徴を有し得る。3D物体のビデオを様々な方向から撮影できる。ビデオのフレームをデジタル画像として扱ってもよい。
図12において、本稿記載のエッジ特徴記述子の相対的エッジ情報を利用して、(
図10及び
図11に示すような2D物体に加えて)低テクスチャ3D物体の認識を実行してもよい。
図12は、低テクスチャな3Dマスク玩具の例を示す。特徴1202のように観察された特徴は比較的少ない。しかし、マスク周辺に構築した3Dバウンディングボックス1204に示すように、これら特徴に基づいて3D物体は認識可能である。更に、いくつかの実施形態では、認識された3D物体の寸法を算出するため、1つ以上の検出エッジ特徴と、物体の3D構造との間の関係を判断してもよい(例えば物体取り込み中等に判断され得る)。
【0101】
したがって、本稿の実施形態は画像物体認識に伴う各種効率、メモリフットプリント、精度の問題の対処に利用できる。
【0102】
いくつかの実施形態では、エッジ特徴記述子は自動的に生成されてもよい。例えば、特徴検出部710及び/又は撮像装置720は、例えば人物、ソーシャルメディアプロフィール等の画像を取り込むため、画像を求めてウェブサイト中を調べ回るウェブボットとして動作してもよい。更に、当該ボットは、都市景観、街並み、又は建物内の画像(例えばグーグル(登録商標)ストリートビューの画像)又は地図で動作して、対応する建物や場所、地図の特徴(例えば道路グリッドパターン又は地形的特徴)のエッジ特徴記述子を生成してもよい。いくつかの実施形態では、特徴検出部710及び/又は撮像装置720は、ウェブボットによる画像や動画の取得中にリアルタイムでエッジ特徴記述子を生成するよう構成されたり、その他種類の自動システムであったりしてもよい。
【0103】
更に、メインメモリ、持続ストレージ装置、サーバ、ユーザーデバイスを含む大規模画像認識システムのインフラ全体は、各種実施形態により、画像認識クエリをより効率的に処理するようにできる。
【0104】
本稿記載のシステム、装置、方法は、デジタル回路、又は公知のコンピュータプロセッサ、メモリユニット、記憶装置、コンピュータソフトウェア、及びその他構成要素を利用した1つ以上のコンピュータにより実現されてもよい。通常、コンピュータは、指示を実行するプロセッサと、指示やデータを記憶する1つ以上のメモリを有する。コンピュータは更に、磁気ディスク、内蔵ハードディスク、リムーバブルディスク、光磁気ディスク、光ディスク等の内の1つ以上のような、大容量記憶装置を1つ以上有するか、それに接続されてもよい。
【0105】
本稿記載のシステム、装置、方法は、例えば非一時的機械読取可能記憶装置のような情報媒体で実現され、プログラム可能プロセッサにより実行されるコンピュータプログラムプロダクトを使用して実現されてもよい。
図8のステップを1つ以上含む本稿記載の方法ステップは、当該プロセッサにより実行可能な1つ以上のコンピュータプログラムを使用して実現されてもよい。コンピュータプログラムは、直接的、間接的にコンピュータ内で利用され所定の動作を実行したり、所定の結果を得たりしたりするために使用されるコンピュータプログラム指示群である。コンピュータプログラムは、コンパイラ言語、インタプリタ言語を含む、任意の形態のプログラム言語で記載されてもよく、任意の形態で展開されてもよい。即ち、スタンドアロンプログラム、モジュール、コンポーネント、サブルーチン、又は演算環境での使用に適したその他ユニットとして展開可能である。
【0106】
図13は、本稿記載のシステム、装置、方法を実現するため使用され得る例示的装置の上位ブロック図を示す。装置1300は、持続ストレージ装置1320とメインメモリ装置1330とに動作可能に接続されたプロセッサ1310を有する。プロセッサ1310は、装置1300の動作全体を、当該動作を定義するコンピュータプログラム指示を実行して制御する。コンピュータプログラム指示は、持続ストレージ装置1320又はその他コンピュータ可読媒体に記憶されて、その実行が求められた際に、メインメモリ装置1330に展開されてもよい。例えば、特徴検出部710及び撮像装置720は、コンピュータ1300のコンポーネントを1つ以上含んでもよい。したがって、
図8の方法ステップは、メインメモリ装置1330及び/又は持続ストレージ装置1320に記憶されたコンピュータプログラム指示によって定義され、コンピュータプログラム指示を実行するプロセッサ1310により制御される。例えば、コンピュータプログラム指示は、
図8の方法ステップに定義されるアルゴリズムを実行するよう当業者にプログラム可能なコンピュータにより実行可能なコードとして実現できる。したがって、コンピュータプログラム指示を実行することで、プロセッサ1310は
図8の方法ステップに定義されるアルゴリズムを実行する。装置1300は更に、その他装置とネットワークを介して通信するための1つ以上のネットワークインターフェース1380を有する。装置1300は更に、ユーザに装置1300との相互作用を可能とする1つ以上のI/O装置1390(例えばディスプレイ、キーボード、マウス、スピーカ、ボタン等)を有してもよい。
【0107】
プロセッサ1310は汎用及び特殊マイクロプロセッサの両方を有してもよく、装置1300の単一のプロセッサ又は複数のプロセッサの1つであってもよい。例えばプロセッサ1310は、1つ以上の中央処理装置(CPU)を有してもよい。プロセッサ1310、持続ストレージ装置1320、及び/又はメインメモリ装置1330は1つ以上の特定用途向け集積回路(ASIC)及び/又は1つ以上のフィールドプログラマブルゲートアレイ(FPGA)を含んでも、それにより補助されても、又はそれに内蔵されてもよい。
【0108】
持続ストレージ装置1320及びメインメモリ装置1330はそれぞれ、有形非一時的コンピュータ読取可能記憶媒体を含んでもよい。持続ストレージ装置1320及びメインメモリ装置1330はそれぞれ、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、ダブルデータレートシンクロナスダイナミックランダムアクセスメモリ(DDR RAM)、又はその他ランダムアクセスソリッドステートメモリ装置のような高速ランダムアクセスメモリを含んでもよい。持続ストレージ装置1320及びメインメモリ装置1330は、内蔵ハードディスク又はリムーバブルディスクのような磁気ディスク記憶装置、光磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能プログラマブルROM(EEPROM)のような半導体メモリ装置、コンパクトディスクROM(CD−ROM)、デジタル多目的ディスクROM(DVD―ROM)ディスク、又はその他不揮発性ソリッドステート記憶装置の内の1つのような、不揮発性メモリを含んでもよい。
【0109】
I/O装置1390は、プリンタ、スキャナ、ディスプレイ画面等の周辺機器を含んでもよい。例えば、I/O装置1390は、ユーザに情報(例えば選択用の複数の画像変換)を提供するためのブラウン管(CRT)やプラズマ又は液晶表示(LCD)モニタのような表示装置や、ユーザが装置1300に入力できるようにするキーボードや、マウス又はトラックボールのようなポインティングデバイスを含んでもよい。
【0110】
特徴検出部710及び撮像装置720を含む、本稿記載の一部又は全てのシステム及び装置は、装置1300のような装置により実行されたり、更に/或いは当該装置に内蔵されたりしてもよい。
【0111】
当業者であれば、実際のコンピュータ又はコンピュータシステムは、更にその他構造を有したり、その他構成要素を含んで実現されたりしてもよく、
図13は当該コンピュータのいくつかの構成要素を例示的に示す上位表現であることが理解されよう。
【0112】
上述の明細書は、あらゆる面で説明用且つ例示的あり、限定的でなく、本稿開示の発明の範囲は、明細書の内容によって決定されるものではないことが理解されよう。当該範囲は、請求項により、特許法で許される最大限の範囲で解釈されるものである。本稿にて図示、説明した実施形態は、本発明の原理を説明するために供されるのみであり、当業者により本発明の範囲、精神から逸脱することなく、様々な変形が可能であることが理解されよう。当業者であれば、本発明の範囲、精神から逸脱することなく、その他の特徴の組合せを実現することができる。