JP6144826B2 - データベース作成のための対話型および自動的3dオブジェクト走査方法 - Google Patents

データベース作成のための対話型および自動的3dオブジェクト走査方法 Download PDF

Info

Publication number
JP6144826B2
JP6144826B2 JP2016519630A JP2016519630A JP6144826B2 JP 6144826 B2 JP6144826 B2 JP 6144826B2 JP 2016519630 A JP2016519630 A JP 2016519630A JP 2016519630 A JP2016519630 A JP 2016519630A JP 6144826 B2 JP6144826 B2 JP 6144826B2
Authority
JP
Japan
Prior art keywords
interest
points
identifying
scene
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016519630A
Other languages
English (en)
Other versions
JP2016521892A (ja
JP2016521892A5 (ja
Inventor
ボージャン・ヴァーセル
ダニエル・ノブロック
ラグラマン・クリシュナムーティ
セラフィン・ディアス・スピンドラ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201361833889P priority Critical
Priority to US61/833,889 priority
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Priority to US14/302,056 priority
Priority to US14/302,056 priority patent/US9501725B2/en
Priority to PCT/US2014/042005 priority patent/WO2014201176A1/en
Publication of JP2016521892A publication Critical patent/JP2016521892A/ja
Publication of JP2016521892A5 publication Critical patent/JP2016521892A5/ja
Application granted granted Critical
Publication of JP6144826B2 publication Critical patent/JP6144826B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/78Combination of image acquisition and recognition functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6217Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06K9/6228Selecting the most significant subset of features
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Description

本開示は概して、画像認識に関し、詳細には、オブジェクトを識別するのを支援するのに使用され得る情報に基づくオブジェクト表現の作成に関する。

デジタルカメラ、組込みカメラ付き電話、または他のカメラもしくはセンサーデバイスなどのデバイスが、3次元環境においてオブジェクトを識別し、追跡するのに使用され得る。これは、システムによって認識されるオブジェクトについての情報が、システムのディスプレイを観察しているユーザに提示され得る拡張現実ディスプレイを作成するのにも使用され得る。そのような情報は、デバイスのディスプレイにおける現実の環境のオーバーレイ上に提示され得る。オブジェクトのデータベースからの情報は次いで、デバイスによって観察されている環境においてオブジェクトを識別するのに使用され得る。

特に組込みデジタルカメラ付きのモバイルデバイスは、固定的に設置されている強力なサーバシステムと比較すると特に、記憶および処理が限定され得る。そのようなオブジェクト検出/追跡を実装するシステムの処理および帯域幅負荷を削減する1つの方法は、環境においてオブジェクトを識別するのに使用され得るオブジェクト情報のローカルデータベースを記憶することである。このデータベース情報は本質的に、データベースに記憶されているテンプレートを使用して、デバイスがオブジェクトを識別するのを助けるための支援情報と見なされ得る。デバイスが拡張現実またはオブジェクト識別モードで動作しているとき、デバイスによってキャプチャされた画像は、オブジェクト一致があるかどうか判断するために、データベース中のオブジェクト表現と比較され、一致がある場合、カメラの現在のポーズが、識別されたオブジェクトと比較される。オブジェクト一致が起こると、応答アクションが開始されてもよく、オブジェクトに関連した付加情報が、識別されたオブジェクトを含む画像とともに、デバイスディスプレイにおいて提示されてもよい。

そのようなデータベース情報を作成するためのシステムが存在するが、既存のシステムは、広範なモバイルデバイスに拡張可能ではない。そのような既存システムの一実施形態は、関心オブジェクト(object of interest)の複合幾何学的/テクスチャモデルを使用する。これらのモデルは、オブジェクト制作段階(CADモデル)において既知であることがあるが、ほとんどの場合、利用不可能である。別の知られている方法は、レーザベースまたはIRベースの走査システムを使用して、同時にジオメトリを推定し、オブジェクトの画像を収集するものである。ただし、そのような走査システムは、通常は高価であり、その上、使用される様々なセンサーの物理的制限により、テクスチャ的に困難である。したがって、概してこれらのモデルは、利用不可能であるか、または検出性能に影響する程度まで不正確であるかのいずれかである。

本明細書に記載する、コンピュータビジョンにおいて使用するための3次元オブジェクト表現を作成するためのシステムおよび方法は、オブジェクト表現が、検出および追跡システムにおける使用のために現時点で取得されるように、改良および簡素化を実現することができる。

3次元オブジェクト表現を作成するためのシステムおよび方法について、本明細書に記載する。一実施形態は、デバイスのカメラモジュールを使用して、シーンの複数の画像をキャプチャするステップであって、シーンの複数の画像の各々が、オブジェクトの少なくとも一部分の画像を含む、ステップと、第1のキーフレームとしての、複数の画像のうちの第1の画像と、第1の画像に関連付けられたデバイスの第1の位置とを識別するステップであって、第1の画像が、第1の位置からデバイスによってキャプチャされる、ステップと、第2のキーフレームとしての、複数の画像のうちの第2の画像と、第2の画像に関連付けられたデバイスの第2の位置とを識別するステップであって、第2の画像が、第2の位置からデバイスによってキャプチャされ、第2の位置が第1の位置とは異なる、ステップと、第1のキーフレームから第1の複数の関心ポイントを識別するステップであって、第1の複数の関心ポイントが、シーンから特徴を識別する、ステップと、第2のキーフレームから第2の複数の関心ポイントを識別するステップであって、第2の複数の関心ポイントが、特徴の少なくとも一部分をシーンから識別する、ステップと、第1の複数の関心ポイントと第2の複数の関心ポイントをマッチングするステップと、第1の複数の関心ポイントと第2の複数の関心ポイントのマッチングに少なくとも部分的に基づいて、オブジェクトに関連付けられたキーポイントを識別するステップと、オブジェクトに関連付けられたキーポイントを、オブジェクト表現としてオブジェクト検出データベースに記憶するステップとを含む、オフラインオブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャする方法であり得る。

オブジェクトに関連付けられたキーポイントを識別するステップが、第1の複数の関心ポイントおよび第2の複数の関心ポイントをフィルタリングして、オブジェクトに関連付けられた関心ポイントを識別するステップを含む追加実施形態がさらに動作し得る。

第1の複数の関心ポイントおよび第2の複数の関心ポイントをフィルタリングするステップが、閾値距離よりも小さい、最も近い関心ポイントの閾値数までの平均距離をもつ関心ポイントを消去するステップ、他のキーフレームからの関心ポイントとマッチングしない関心ポイントを消去するステップ、およびシーンの定義ボリュームの外側のキーポイントを消去するステップのうちの1つまたは複数を含む追加実施形態がさらに動作し得る。

シーンが平面ターゲットをさらに含み、または第1の複数の関心ポイントと第2の複数の関心ポイントをマッチングするステップが、第1の画像中の平面ターゲットの第1のロケーションから、デバイスの第1の位置を識別するステップと、第2の画像中の平面ターゲットの第2のロケーションから、デバイスの第2の位置を識別するステップと、デバイスの第1の位置とデバイスの第2の位置との間の相対的位置を判定するステップと、第1の位置と第2の位置との間の相対的位置に基づいて、第1の複数の関心ポイントと第2の複数の関心ポイントをマッチングするステップと、座標系における各キーポイントの位置を判断し、記録するステップとを含む追加実施形態がさらに動作し得る。

各キーポイントが、キーポイントロケーション情報と、関心キーポイントの周囲のピクセルエリアの外観から導出された情報を含むキーポイント記述子とを含む追加実施形態がさらに動作し得る。いくつかの実施形態では、キーポイント記述子は、キーポイントおよびキーポイントを囲むピクセルに関連した勾配または他の情報を含み得る。

第1の画像を第1のキーフレームとして識別するステップがユーザ選択を含む追加実施形態がさらに動作し得る。

第1の画像を第1のキーフレームとして識別するステップが、デバイスによる自動選択を含む追加実施形態がさらに動作し得る。

第2の画像を第2のキーフレームとして識別するステップが、第2の画像内のキーポイント密度を識別するステップと、第2の位置と第1の位置との間の空間的関係を識別するステップと、第2の位置にあるキーフレームが、オブジェクト表現中で使用するための閾値を上回るデータ値をもつデータを与えると判断するステップと、第2の画像を第2のキーフレームとして選択するステップとを含む追加実施形態がさらに動作し得る。

代替実施形態は、シーンの複数の画像をキャプチャする、デバイスのカメラモジュールであって、シーンの複数の画像の各々が、オブジェクトの少なくとも一部分の画像を含む、カメラモジュールと、(1)第1のキーフレームとしての、複数の画像のうちの第1の画像と、第1の画像に関連付けられたデバイスの第1の位置とを識別し、第1の画像が、第1の位置からデバイスによってキャプチャされ、(2)第2のキーフレームとしての、複数の画像のうちの第2の画像と、第2の画像に関連付けられたデバイスの第2の位置とを識別し、第2の画像が、第2の位置からデバイスによってキャプチャされ、第2の位置が第1の位置とは異なり、(3)第1のキーフレームから第1の複数の関心ポイントを識別し、第1の複数の関心ポイントは、シーンから特徴を識別し、(4)第2のキーフレームから第2の複数の関心ポイントを識別し、第2の複数の関心ポイントが、特徴の少なくとも一部分をシーンから識別し、(5)第1の複数の関心ポイントと第2の複数の関心ポイントをマッチングし、(6)第1の複数の関心ポイントと第2の複数の関心ポイントのマッチングに少なくとも部分的に基づいて、オブジェクトに関連付けられたキーポイントを識別する、1つまたは複数のプロセッサと、オブジェクトに関連付けられたキーポイントを、オブジェクト表現としてオブジェクト検出データベースに記憶するメモリとを備える、オフラインオブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャするためのシステムであり得る。

そのような実施形態は、デバイスが、カメラモジュールに結合されたディスプレイをさらに備える場合にさらに機能することができ、ディスプレイは、デバイスのカメラモジュールがシーンの複数の画像の少なくとも一部分をキャプチャすると、キーポイントの少なくとも一部分の画像を出力する。

そのような実施形態は、ディスプレイが、キーポイントがオブジェクトに重ねられたシーンのビデオ画像をさらに出力し、デバイスは動きセンサーをさらに備え、デバイスの第2の位置が、動きセンサーからの情報を使用して1つまたは複数のプロセッサによって識別される場合、またはデバイスが、ユーザ入力モジュールをさらに備える場合であって、第1のキーフレームとしての第1の画像を識別することが、デバイスのユーザ入力モジュールにおいて受信されたユーザ選択を含む、場合にさらに機能することができる。

そのような実施形態は、デバイスがアンテナとワイヤレストランシーバとをさらに備える場合にさらに機能することができ、1つまたは複数のプロセッサは、ネットワーク、アンテナ、およびワイヤレストランシーバを介してデバイスに結合される。

別の実施形態は、非一時的コンピュータ可読媒体に結合されたプロセッサによって実行されると、デバイスに、デバイスのカメラモジュールを使用して、シーンの複数の画像をキャプチャさせ、シーンの複数の画像の各々が、オブジェクトの少なくとも一部分の画像を含み、第1のキーフレームとしての、複数の画像のうちの第1の画像と、第1の画像に関連付けられたデバイスの第1の位置とを識別させ、第1の画像が、第1の位置からデバイスによってキャプチャされ、第2のキーフレームとしての、複数の画像のうちの第2の画像と、第2の画像に関連付けられたデバイスの第2の位置とを識別させ、第2の画像が、第2の位置からデバイスによってキャプチャされ、第2の位置が第1の位置とは異なり、第1のキーフレームから第1の複数の関心ポイントを識別させ、第1の複数の関心ポイントが、シーンから特徴を識別し、第2のキーフレームから第2の複数の関心ポイントを識別させ、第2の複数の関心ポイントは、特徴の少なくとも一部分をシーンから識別し、第1の複数の関心ポイントと第2の複数の関心ポイントをマッチングさせ、第1の複数の関心ポイントと第2の複数の関心ポイントの一致に少なくとも部分的に基づいて、オブジェクトに関連付けられたキーポイントを識別させ、オブジェクトに関連付けられたキーポイントを、オブジェクト表現としてオブジェクト検出データベースに記憶させる命令を備える非一時的コンピュータ可読媒体であり得る。

そのような実施形態の例は、命令が、プロセッサによって実行されると、デバイスにさらに、オブジェクトに関連付けられたキーポイントを識別することの一部として、第1の複数の関心ポイントおよび第2の複数の関心ポイントをフィルタリングさせて、オブジェクトに関連付けられた関心ポイントを識別させる場合にさらに動作し得る。

そのような実施形態の例は、命令が、プロセッサによって実行されると、デバイスにさらに、第1の複数の関心ポイントおよび第2の複数の関心ポイントをフィルタリングして、オブジェクトに関連付けられた関心ポイントを識別することの一部として、閾値距離よりも小さい、他の関心ポイントの閾値数までの平均距離をもつ関心ポイントを消去させ、他のキーフレームからの関心ポイントとマッチングしない関心ポイントを消去させる場合にさらに動作し得る。

そのような実施形態の例は、命令が、プロセッサによって実行されると、デバイスにさらに、第1の複数の関心ポイントおよび第2の複数の関心ポイントをフィルタリングして、オブジェクトに関連付けられた関心ポイントを識別することの一部として、オブジェクトの定義ボリュームの外側のキーポイントを消去させる場合にさらに動作し得る。

そのような実施形態の例は、オブジェクト検出データベース中のオブジェクト表現として、オブジェクトに関連付けられたキーポイントの各キーポイントが、座標情報、輝度情報、周辺ピクセルパターン情報を含む場合にさらに動作し得る。

走査されてデータベースに入れられるべきオブジェクトを含む一実施形態の態様を示す図である。 一実施形態による、オブジェクトを走査して、データベース用のオブジェクト表現を作成する方法の態様を示す図である。 あるデバイス位置からの、フィルタリングされていない関心ポイントを含む1つの可能な実施形態の態様を示す図である。 関心ポイントのヒストグラムを含む一実施形態の態様を示す図である。 フィルタリングされた関心ポイントを含む1つの可能な実施形態の態様を示す図である。 フィルタリングされた関心ポイントを含む1つの実施形態の態様を示す図である。 データベースに記憶するためのオブジェクト表現を構成する3Dキーポイントを含む一実施形態の態様を示す図である。 三角測量に関連した一実施形態の態様を示す図である。 本明細書に記載する様々な実施形態とともに使用するためのデバイスの一実施形態の図である。 本明細書に記載する様々な実施形態とともに使用するためのコンピューティングデバイスの一実施形態の図である。 本明細書に記載する様々な実施形態におけるデバイスとデータベースを接続することができるネットワークシステムの一実施形態の図である。

本明細書に記載する実施形態は、オブジェクトを走査してオブジェクト表現を作成するためのシステムおよび方法に関し、オブジェクト表現は、デバイスによるオブジェクト認識を最適化するように作成される。

本明細書に記載する実施形態は、データベースに記憶され、後になって、デバイスにおいてキャプチャされた画像中に見られるオブジェクトを、以前走査されたオブジェクトとマッチングするのに使用され得る簡潔なオブジェクト表現を作成することができる。これは、オブジェクトの簡潔表現が作成されるとともにオブジェクトを追跡するのに使用されるが、その後のオブジェクト識別のためには記憶されない他の実施形態とは区別され得る。本明細書で説明する実施形態の場合、簡潔表現は、多数のビデオまたはピクチャ画像を、関連付けられた記述データをもつ比較的少数のキーポイントに圧縮することができる。一例では、数メガバイトのビデオデータが、1000個のキーポイントおよび異なる角度から眺められるエリアを囲む勾配情報など、それらのキーポイントについての記述情報をもつ簡潔なオブジェクトモデルを達成するように処理され得る。顕著性キーポイントの抽出器が、そのようなビデオデータを、画像のサブセットをキーフレームとして選択することによってビデオデータ中の画像すべてから画像を最初にフィルタ除去することによって処理し得る。キーフレームは次いで、キーフレーム内の高コントラストまたは高曲率の関心ポイントを選択することによって処理され得る。関心ポイントは次いで、キーフレームにわたる繰返し、他の関心ポイントへの近接度、または他の画像レベルもしくは幾何学的関心ポイント値によってさらに順序付けられ得る。そのような処理は、一方では一連の画像をとり、顕著性キーポイントおよびそれらの記述からなる簡潔なオブジェクトを制作するのだが、従来技術では知られていない方法で行われる。いくつかの実施形態は、SLAM(同時位置特定およびマッピング:Simultaneous Location and Mapping)またはPTAM(並列追跡およびマッピング:Parallel Tracking and Mapping)システムの態様を、画像をキーフレームに分離させ、画像にわたって観察される関心ポイントとキーフレームとの間の幾何学的関係を確立するための手段として使用する場合があり、次いで、従来技術では知られていない方法でキーポイントのセットから簡潔なオブジェクトにたどり着くように、関心ポイント分割および剪定をさらに行い得る。そのようなシステムはしたがって、以前は知られていない方法で、任意のオブジェクトについての簡潔なオブジェクト情報のデータベースを作成するのに適したオブジェクト表現の効率的作成を行う。そのようなオブジェクト表現は、ネットワークに接続されていないデバイス上で記憶されてよく、デバイスによってキャプチャされた画像中のオブジェクトを認識するのに使用することができる。

たとえば、走査されるべきオブジェクトが、既知のシーンの隣のテーブルの上に置かれている場合がある。既知のシーンは、既知の平面オブジェクト(平面ターゲット)、既知の3次元オブジェクト(3Dターゲット)またはこれら2つの組合せによって与えられ得る。ターゲットの位置および配向は、オブジェクトを走査することになっているモバイルデバイスにとって既知である。これは、あらかじめ知られているオブジェクトターゲットのオブジェクト検出および追跡によって達成される。モバイルデバイスは、たとえば、カメラ付き電話、プロセッサ、および利用可能なメモリ記憶空間であってよい。代替として、モバイルデバイスは、別個の処理ユニットにおいてオフラインで後処理され得るビデオシーケンスを獲得するカメラであってよい。モバイルデバイスは、パーソナルコンピュータに接続されたカメラであっても、代替処理デバイスであってもよい。ユーザは、走査プロセスを開始するためのコマンドを入れることができ、この時点で、モバイル走査カメラは、オブジェクトを含むシーンの画像をキャプチャし始めることができる。デバイスは、最大で数秒だけ遅延された期間中、画像をリアルタイムで分析してもよく、または画像を後で分析するために単に記憶するだけでもよい。ユーザが、デバイスを、オブジェクトの周囲およびオブジェクト上の異なる位置に動かすと、オブジェクトの異なるビューが記憶されるように、異なる距離、角度、および高度からの画像がキャプチャされる。たとえば、リアルタイムまたはほぼリアルタイムの分析を実装するデバイスのためのいくつかの実施形態では、デバイスは、好ましい位置から画像をキャプチャするための、デバイスの動きについての方向または推奨を与えることができる。簡潔表現は次いで、画像またはビデオストリーム中のオブジェクトを識別するために、後でアクセスされ得る。

別の実施形態では、カメラ付き走査デバイスが搭載され、および固定されてよく、その間、関心オブジェクトは、その表面の大部分を可能な限り様々な視野角からあらわにするように回転され、および動かされ得る。この走査デバイスは、電話、ビデオレコーダ、デジタルカメラ、または特定の実装形態によるカメラおよび他のモジュールを含み得る他の任意のそのようなデバイスであってもよい。オブジェクトはやはり、抽出された関心ポイントを既知の座標系に関連付けるのを容易にするために、既知のターゲットを伴い得る。代替として、異なる実施形態では、カメラホルダーからオブジェクト走査のための台までのシステム全体が、オブジェクトに対するカメラ位置がどの瞬間でもわかるように、完璧に較正され得る。

いくつかの画像が次いで、キー画像フレームとして選択され得る。そのようなキーフレームは、単に定期的にとられるだけでよく、プロセッサによる分析の後に選択されてよく、またはユーザによって手動で選択されてよい。複数のキーフレームが選択されると、キーフレーム内の関心ポイントが識別され、各キーフレームがキャプチャされたときのカメラの相対ロケーションを識別するための分析が行われ得る。デバイス位置分析は、既知のターゲットについての画像データ、カメラの一部として統合された、またはカメラに結合された位置モジュールからのデータを使用することができる。位置モジュールは、加速度計やジャイロスコープなどの任意の適切なモジュール、較正された画像獲得システム(オブジェクトホルダーおよび回転テーブルをもつロボットアームのような)からのデータ、または画像がキャプチャされたときの固定座標系に対するカメラの動きおよび位置を追跡するためのそのような手段の任意の組合せでもよい。各キーフレームのキャプチャ中のカメラの位置は次いで、異なるキーフレームからの2次元関心ポイントをマッチングして、3次元(3D)キーポイントを作成するのに使用され得る。

いくつかのステップ中、キーフレームからのキーポイントまたは関心ポイントは、走査されるオブジェクトに関連付けられている可能性が低いキーポイントまたは関心ポイントを取り除くためにフィルタリングされ得る。このフィルタリングは、オブジェクトを記述するキーポイントの簡潔なセットを残す。オブジェクトを記述するこれらの残りのキーポイントは、オブジェクト表現としてデータベースに記憶され得る。後で、拡張現実またはオブジェクト識別アプリケーションがオブジェクト識別デバイスによって実行されると、オブジェクト識別デバイスのカメラによってキャプチャされた画像が、カメラビュー中に存在する特定のオブジェクトと、オブジェクト識別デバイスのカメラに対するオブジェクトのポーズとを識別するために、データベース中の簡潔なキーポイントオブジェクト表現を使用して分析され得る。このオブジェクト識別デバイスは、オブジェクト表現を最初に作成した同じ走査デバイスであってもよく、異なるデバイスであってもよい。

最終的に、フィルタリングされ、選択されたキーポイントは、オブジェクト表現の一部として集約される。オブジェクト表現は、オブジェクトまたは同様の形状およびサイズをもつ他のオブジェクトを識別する際に後で使用するために関連付けられる、特定の座標系におけるキーポイントの集合体である。オブジェクト表現は、キーポイントについての座標ロケーションだけでなく、色情報、またはオブジェクト識別に有用であり得るような任意の他の情報も含み得る。以前走査されたオブジェクトについてのキーポイントを各々が含む複数のオブジェクト表現のデータベースが次いで、ユーザがオブジェクトまたはデータベースに記憶されたオブジェクト表現を使用する同様のオブジェクトを識別するために検出モードでシーンと対話している間、アクセスされ得る。

図1は、一実施形態の態様を示す。図1は、デバイス110、オブジェクト120、ターゲット130、およびシーン100を含む。デバイス110は、第1の位置116に、および第2の位置118に示されている。シーン100は、キーポイントについての境界としてデバイス110が識別した、明確に定義されたエリアまたはボリュームであり得る。代替として、シーン100は単に、デバイス110が、データベースに記憶するためのオブジェクト120の簡潔表現を作成するための走査プロセスの一部として、画像をキャプチャする異なる位置に動くときに画像がキャプチャされるエリアの限界であってもよい。

デバイス110は、結合されたプロセッサおよび簡潔なオブジェクト表現用のストレージをもつ、画像をキャプチャすることが可能な任意のデバイスであってもよい。上述したように、一実施形態では、デバイス110は、組込みカメラ付き電話であってよい。デバイス110は代替として、専用の拡張現実デバイス、カメラモジュール付きヘッドマウントデバイス、別個のコンピューティングモジュールにデータを転送するためのポートをもつカメラ、またはオブジェクトの画像をキャプチャするとともにキーデータを識別することが可能な、任意のそのようなデバイスであってもよい。デバイス110の上記例のうちのいずれも、画像データ、キーフレームデータ、キーポイントデータ、簡潔なオブジェクト表現、またはそれらの任意の組合せも作成することができ、これらは、ローカルまたはリモートデータベースに記憶され得る。いくつかの実施形態では、このデータは次いで、オブジェクトの追跡、オブジェクトの検出、または両方において使用するために、別のデバイスに転送され得る。代替実施形態では、ローカルオブジェクト表現は、ローカルオブジェクト表現の作成のすぐ後に、オブジェクトの追跡のためにローカルデバイス上で使用され得る。

デバイス110は、画像データをキャプチャするための少なくとも1つのセンサーを含む。そのようなセンサーの例には、単眼カメラ、ステレオカメラ、およびRGBDセンサーがある。図1に示すように、走査プロセスの一部として、デバイス110は、少なくとも2つの画像を異なる位置からキャプチャし、これらの画像はキーフレームとして使用され得る。図1は、デバイス110が第1の位置116にあるときにキャプチャされる第1の画像122に対する視野112を示す。デバイス110が第2の位置118にあるときにキャプチャされる第2の画像124に対する視野114も示されている。キーフレームとして機能するために、各画像は、オブジェクト120の少なくとも一部分を含まなければならない。オブジェクト120の残りの部分は、別のオブジェクトによって遮蔽され得るか、カメラの特定の位置に対する視野の外側にあり得る。

本明細書で使用するように、デバイスの位置は、デバイス上の任意のセンサーの空間的なロケーションおよび配向も含む、デバイスの空間的なロケーションおよび配向、ならびにデバイス上のセンサーとデバイスとの間の関係を指す。位置は、ユーザによって様々な位置および配向にわたって動かされるハンドヘルドデバイスを特に対象とするとき、ポーズとも呼ばれ得る。位置情報はしたがって、オブジェクトが静的と見なされる座標系に対する、デバイスのカメラについてのロケーションおよび視野情報をキャプチャする。

オブジェクト120は、デバイス110のカメラによってキャプチャ可能な関心オブジェクトポイント特徴をもつ任意のオブジェクトであってもよい。いくつかの実施形態では、オブジェクト120は、オブジェクト120に接近したユーザによってオブジェクトの一部分のみがキャプチャされ得るほど十分に大きい場合がある。代替として、オブジェクト120は、デバイス110のカメラが、オブジェクトについての関心ポイント情報をキャプチャするための十分な解像度および感度を有する限り、任意の小さいサイズであってもよい。許容可能なオブジェクトが次いで、画像から識別され得る関心ポイントを有するオブジェクトであると見なされ得る。キーフレームの処理において、これらの関心ポイントは、3Dキーポイントの2次元側面として識別され得る。キーポイントは、オブジェクトの効率的識別を可能にする識別用ポイントであり得る。高コントラストおよび高曲率エリア近くのポイントが、キーポイントの一例であり得る。

本明細書で使用するように、「キーポイント」は、他のキーポイントとともに、オブジェクトを識別するのに使用され得る、3次元座標系におけるポイントを指す。シングルキーフレームは、これらのキーポイントに関連付けられた複数の関心ポイントの2次元投影を含み得る。これらの2次元側面は、本明細書では「関心ポイント」と呼ばれる。これらの関心ポイントが、異なるカメラポーズまたは異なるデバイス位置からの複数のキーフレーム中で識別されると、各キーポイントの3次元位置が、2次元関心ポイント情報およびデバイス位置情報から導出され得る。したがって、キーフレームは、キーポイントについての2次元情報を含む。キーフレーム内の関心ポイントの2次元ロケーションは、他のキーフレームから関連付けられた関心ポイントとともに、3次元でのオブジェクト上のポイントの、3Dキーポイントとしての識別を可能にする。関心ポイントとしてのキーポイントに関連付けられたオブジェクト上のポイントおよびキーフレーム内のその周辺の2次元の外見は次いで、キーフレームに関連付けられたこのキーポイントの記述子を形成するのに使用され得る。デバイス位置の不確実性、画像ぼけ、および他のそのようなエラーソースなどの不確実性により、キーポイントは、3D座標系において複数の可能な位置を有し得る。複数のキーフレームからの関心ポイントの統計的平均または処理は、各フレームがキャプチャされたときのデバイスの位置情報とともに複数のキーフレームの2次元情報から、3Dキーポイントロケーションを識別するのに使用され得る。関心ポイントおよびキーポイントの例は、図3A〜図3Eに見ることができ、以下でより詳しく説明する。

ターゲット130は、矢印として示されているが、画像データに基づいてデバイス110の配向を判断するのに使用され得る、任意のパターン化された、またはパターン化されていない形状であってもよい。カメラの配向は、世界座標系またはターゲット中心座標などの座標系に対するカメラ光学軸の3つの角度によって与えられ得る。デバイス110の位置は、別の3つの値、すなわち世界座標系におけるカメラレンズのx, y, zを与える。合わせて、それらはカメラの6自由度を形成する。いくつかの実施形態では、ターゲット130は、たとえば、端を有するとともにシーン100の周辺部分とは区別可能な1枚の紙であり得る。いくつかの実施形態では、ターゲット130は、オブジェクト120が置かれている既知のパターン化された表面であってよい。代替実施形態では、ボリュームターゲットが使用されてよく、平面ターゲットが使用されてよく、またはターゲットが使用されなくてもよい。

いくつかの実施形態では、ターゲット130は、以下で詳しく説明するように、オブジェクト表現作成にとってより効率的な、異なる画像からの関心ポイントのマッチングを可能にし得る。このマッチングは、典型的なSLAMキーポイントマッチングよりもデータベース作成にとって効率的であり得る。典型的なSLAMシステムは、連続する画像の間の小規模変換を算出し、キーフレームの間の複数の画像にわたる変換に従うことによって、キーフレームの間の対応を確立する。このプロセスは、プロセッサ集約的であり、待ち時間に敏感であり、この情報が他の用途を有し得る環境のリアルタイム分析に適している。処理能力が制限されるとともに、目標がデータベース用の簡潔なオブジェクト表現の作成である環境において、このプロセスは、キーフレームの間の対応を確立するのには非効率的である。さらに、いくつかの実施形態では、この情報は、キーフレームの間の画像にわたる関心ポイントの変換を追跡するのに利用可能でない場合がある。これは、デバイス110に、画像の記録を停止させ、記録を再開する前に新たな位置にジャンプさせるシステムにおいて、またはキーフレームのみが記憶され、中間画像は記憶されない実施形態において起こり得る。関心ポイントのマッチングについては、以下で図4を参照してさらに論じる。

様々な代替実施形態が、ターゲットなしで機能し得る。たとえば、いくつかの実施形態では、自動化オブジェクト分割アルゴリズムが、様々なキーフレーム中のオブジェクトを区別するのに使用され得る。代替実施形態では、ユーザ入力がオブジェクトを識別することができ、1つまたは複数のフレーム中の、ユーザによって識別されたオブジェクトが次いで、オブジェクトが存在する3Dでのボリュームを識別するユーザ入力に基づいて、他のフレーム中で追跡され得る。さらなる実施形態では、異なるオブジェクト識別方法の任意の組合せが使用されてもよい。

図2は、様々な実施形態とともに使用され得る1つの方法を記載する。S202において、デバイス110などのデバイスのカメラモジュールが、シーンの複数の画像をキャプチャするのに使用され、複数の画像の各々は、第1のオブジェクトの少なくとも一部分を含む。一例では、ユーザが、簡潔なオブジェクト表現の作成用のより多くの情報を提供するために可能な限り多くの位置から情報をキャプチャするために、走査されるオブジェクトの周囲でデバイスを動かし得る。代替実施形態では、事前プログラムされたロボットアームが、走査されるオブジェクトを含むシーンの複数の異なる画像のキャプチャを可能にするように、カメラを動かし得る。

S204aにおいて、デバイスは、走査された画像の品質と、複数の画像からデータベース用のオブジェクト表現を作成する際に画像がどれだけ有用であるかとに関するフィードバックを対話によってユーザに提供することができる。たとえば、デバイスの表示が、オブジェクト120およびターゲット130をもつシーン100を示し得る。表示は、オブジェクト120の走査中に識別されたキーポイントまたは関心ポイントの数および品質に関連したテキストおよび画像指示も含み得る。S204aは、ユーザに与えられるフィードバックを更新するために、キーフレームまたはキーポイントの識別の後、定期的に繰り返され得る。一実施形態では、抽出されたキーポイントまたは関心ポイントは、表示ステップに先立って、または表示ステップの後で分割が実装されるかどうかに依存して、オブジェクトおよび/またはシーン残りの上で直接視覚化され得る。さらに、別の代替実施形態では、走査されるオブジェクト向けの走査プロセスの一部として観察された信頼できる関心ポイントの数の粗い指示としての閾値セットをもつ、閾値数のフレーム中で関心ポイントとして観察された抽出キーポイントのみが表示され得る。

S204bにおいて、システムが、キーフレームの自動選択のための、および/またはキーフレームからの関心ポイントの自動選択のための基準を識別し得る。そのような選択に関する追加詳細は、本明細書において詳しく記載されるが、最も近い選択されたキーフレームの角度およびロケーション、画像品質、走査されるべきオブジェクト上での関心ポイントの密度、関心ポイントの外見の類似度、または他の同様のそのような基準などの基準を含み得る。オブジェクトの走査中にフィードバックがユーザに与えられ、更新されると、自動キーフレーム選択基準は、ユーザによって変えられ得る。一実施形態では、キーフレーム選択は、SLAMシステムの構造のキーフレーム部の自動選択を用いて、基底SLAMシステムからの要求ごとに全体的に行われ得る。キーフレームの選択にSLAMを使用する走査実装形態の追加詳細については、以下で論じる。代替として、そのような自動キーフレーム選択基準は、ユーザによる手動選択を優先して、無効にされてよい。手動選択システムにおいて、ユーザは、キーフレームとして識別されるべき特定のフレームを明示的に選択すればよい。この選択は、オンラインで起こってよく、その場合、ユーザは、走査システムとの生の対話によってキーフレームを選択し、またはオフラインで起こってもよく、この場合、ユーザは、システムによって判断された選択キーフレームをオーバーライドすることが可能である。

さらなる実施形態では、システムが、妥当なオブジェクト表現を作成するための、キーフレームの十分な多様性がいつ達成されたかについての自動化フィードバックを与え得る。フィードバックは、オブジェクト表現用にこうして選択されたキーポイントをオブジェクト上に単に表示することによって、および/または選択されたキーフレームカウントと、配向と結合されたロケーションとを表示することによって与えられ得る。選択された関心ポイントおよび/またはキーフレームの密度を検査することによって、ユーザは次いで、そのような表現の、可能性が高い品質を推論し、十分な情報がいつキャプチャされたか決定することができる。別の実施形態では、フィードバックは、表現品質の尺度を対話により表示することによって、より明示的な方法で与えられ得る。この尺度は、リアルタイム分析に、またはオブジェクトのビューの十分な多様性を確認するためのユーザ選択設定に基づき得る。リアルタイム分析のために、システムは、オブジェクトの遮蔽された側面、またはオブジェクトのいくつかの要素の部分的キャプチャをチェックすればよい。システムは、過度の動きまたはぼけによりキーフレーム情報が破損されていないことを保証するために、キーフレームのノイズレベルをチェックしてもよい。いくつかの実施形態では、キャプチャシステムは、オブジェクト表現をオンザフライで構築し、そのような表現を、オブジェクトをリアルタイムで検出するよう試みるのに使用する。成功した検出インスタンスは、現実のオブジェクトの近くにオーグメンテーションを表示することによって視覚化されてよく、表示のサイズおよび位置は、検出時の計算されたカメラポーズに依存する。ユーザは、様々なビューからオーグメンテーションが安定していることを観察することができるので、ユーザは次いで、視覚フィードバックから、十分な情報がいつキャプチャされたか判断すればよい。オブジェクト表現の品質は、すべてのビューから一様であるとは限らず、これも、本明細書に記載するように、対話型システムによって効率的にキャプチャされ得ることに留意されたい。

S206において、選択基準は、複数の画像のうちの第1の画像を第1のキーフレームとして識別するのに使用されてよく、S208において、異なるロケーションからキャプチャされた複数の画像のうちの第2の画像が、第2のキーフレームとして識別され得る。第1のキーフレームと第2のキーフレームの両方について、フレームが記録されたときのデバイスの位置は既知であり得る。任意の数の方法が、デバイス位置を判断するのに使用されてよい。加速度計、または任意の数の様々な変位測定方法が、各キーフレームについて、デバイスの現在の位置を判断するのに使用されてよい。別の実施形態では、キーフレームキャプチャ中、カメラは、各キーフレームにおけるカメラロケーション情報が自動的に既知であるような方法でオブジェクト座標系に対して完璧に較正されている保持デバイス上に置かれ得る。カメラロケーション情報は、任意の所与のときにもターゲット130を追跡することによって推論されてもよく、あるいはいくつかの実施形態では基底SLAMシステムによって、または任意のデバイス追跡方法もしくは並列追跡およびマッピング(PTAM)システムなどのシステムによって判断されてよい。言及したカメラ位置特定システムの任意の組合せも、やはり可能である。この位置情報は、x, y,およびz位置情報だけでなく、カメラのレンズが向いている方向およびカメラの視野についての角度情報、または他のそのような情報も含む。この位置情報は、カメラポーズとも呼ばれ得る。

S210およびS212において、各キーフレームからの関心ポイントが識別される。そのような関心ポイントは、高コントラストのエリアなど、各フレームの関心ポイント特徴を識別する。S214において、各画像からの関心ポイントがマッチングされる。各画像からの関心ポイントは異なる位置からとられるので、これにより、3次元情報が各ポイントに関連付けられることが可能になる。大きい数のキーフレームが使用されるほど、関心ポイントのマッチングにおいて作成される3次元情報の量が大きくなる。この識別プロセスの一部として、特定のフレームからの2次元関心ポイントの間の対応が確立される。この対応は、異なるキーフレームからのキーポイントに関連付けられた関心ポイントの複数の2次元識別に基づく、キーポイントについての3次元座標の判断を可能にする。その一例が、図4に記載するエピポーラ幾何の使用である。異なるキーフレームからの関心ポイント情報をマージするこのプロセスは、全キーフレームから抽出された全関心ポイントにわたって続く。このようにして対応を確立することは、複数のキーフレームからの情報を追加キーフレームからの情報とともに有する3次元キーポイントを修正することを伴うことがある。したがって、いくつかの実施形態では、3次元キーポイントは、わずか2つのキーフレーム中で、または数百もしくは数千個のキーフレーム中で識別された特定のキーポイントに関連付けられた2次元関心ポイント態様からの情報を含み得る。3次元キーポイントが、多数の関心ポイントから情報を導出すると、情報は、後で使用するためにデータベースに記憶されるべき最終オブジェクト表現において使用するためのシングルキーポイントロケーションの正確さを増すために、様々な異なる手段を使用してフィルタリングまたは平均され得る。

キーフレームからの全関心ポイントが3次元キーポイントロケーションに関連付けられると、システムは、どの3次元キーポイントがオブジェクト表現の一部として保たれるか判断することができる。S216において、オブジェクトに関連付けられたキーポイントが識別される。このステップは、オブジェクト分割、最も近いネイバーのキーポイントへの近接度に基づいて異常値をフィルタリングすること、観察の回数によってフィルタリングすること、または他のそのようなフィルタを含む様々な構成要素を含み得る。いくつかの実施形態では、これは、走査されるオブジェクトに関連付けられたキーポイントを識別するために、シーン中の既知のターゲットまたは既知の背景から情報を分離することによって行われ得る。他の実施形態では、他の情報が、背景シーン表現からオブジェクト表現をセグメント化するのに使用され得る。そのような分割の特定の実施形態について、以下でさらに説明する。オブジェクトに関連付けられたキーポイントが背景シーンキーポイントからセグメント化されると、オブジェクトに関連付けられたキーポイントおよび各キーポイントについての周辺詳細が、オブジェクト表現としてデータベースに記憶される。このオブジェクト表現は次いで、オブジェクトを識別し、追跡するのに直ちに使用され得る。

次いで、図3A、図3B、図3C、図3D、および図3Eは、データベース用の簡潔なオブジェクト表現を構成する3次元(3D)キーポイントを導出するのに使用され得る、2D画像から識別された関心ポイントのさらなる詳細を、追加記述情報とともに記載する。図3Aおよび図3Cでは、関心ポイントは、上から見下ろしているように見えるので、関心ポイントは、マグの側面周辺のポイントである。関心ポイント306aも示されている。関心ポイント306aは比較的孤立しているので、関心ポイント306aは、走査されるオブジェクトの一部でない可能性が高く、関心ポイント301および302を含む簡潔なオブジェクト表現がデータベースから取り出され、オブジェクト識別に使用される画像認識のための後の時点において、価値のある情報を与える可能性が低い。関心ポイント301周辺の形状は、おそらく、マグの底にパターンがなく、マグの底などの単色表面が、関心ポイントを作成するコントラストを与えないので、空洞である。たとえば、図3A、図3C、および図3Dに示される各関心ポイントは、関心ポイントを囲むピクセルの輝度、色、またはパターンについての関連した情報を有し得る。2Dの関心ポイントから3Dキーポイントが作成されるとき、ピクセルの関連した輝度、色、またはパターンは、後のオブジェクト検出に有用であり得るように、簡潔なオブジェクト表現に組み込まれ得る。検出に適した各オブジェクトについての一意のシグネチャを作成するのは、3Dキーポイント記述と、それらの相対的な幾何学的ロケーションの組合せである。キーポイント抽出/記述子計算システムがオブジェクト検出に適するために、データベースに記憶されたオブジェクト表現を構成する、得られるキーポイントは、照会時に、カメラの変化する位置/配向から生じるいくつかの幾何学的変換に対して不変であるが、異なるオブジェクトからの特徴との多くの誤った一致を生成するのを避けるために十分に区別的である必要がある。図3Aの位置316および図3Dの位置318など、複数の位置からキーフレームを選択することによって、図3Eに示すオブジェクト表現310を構成するキーポイントについて、十分な量の詳細が導出され得る。

したがって、図3A、図3C、および図3Dは、ある位置から所与の角度でとられたキーフレームからの関心ポイントを示す。図3Aは、フィルタリングに先立つ関心ポイント上面ビューを示す。図3Cは、フィルタリングの後の関心ポイント上面ビューを示す。図3Dは、フィルタリングの後の関心ポイント側面ビューを示す。各ビューからの関心ポイントは、3次元キーポイント305を作成するように組み合わされ、キーポイント305は、図3Eのオブジェクト表現310を構成する。マッチングの一部として、関心ポイント301および関心ポイント304が、他のキーポイントから導出される3次元キーポイント305を作成するように組み合わされる。異なる位置をもつ2つのキーフレームからの関心ポイントを図3Cおよび図3Dに示すが、異なるビューからの任意の数のキーフレームが、最終オブジェクト表現を構成するキーポイントを導出するのに使用される関心ポイントを与え得る。さらに、各位置からのキーフレームが、3次元キーポイント305の総数の一部分のみに寄与し得ることが明らかであろう。というのは、オブジェクト上の特定の表面が1つのビューから遮蔽され、またはフィルタリングされるか、もしくはキーポイントがそこから導出されるいくつかのキーフレーム中にノイズが存在する場合があるからであり得る。

上述したように、図1における、位置116からとられた画像122など、単一の位置からとられた単一の画像は本質的に、その画像によってキャプチャされたシーンからの2次元投影である。そのような画像から識別される関心ポイントは、画像によってキャプチャされた2次元投影における、それらの関心ポイント周辺のエリアを記述する詳細記述子に関連付けられる。単一の3Dキーポイントに関連付けられた関心ポイントは通常、複数のキーフレームから可視的であるので、単一の関心ポイントが多数の平面記述子に関連付けられる場合がある。これらの平面記述子は概して、非常に接近しているが異なる視野角に対して異なって見えるが、実際には、接近した視野角に対応する記述子は比較的類似しており、3Dキーポイントに関連付けられ得る単一の記述子に畳み込まれ得る。したがって、何個のキーフレームが、単一の3Dキーポイントに関連付けられた関心ポイントを含むかにかかわらず、この3Dキーポイントは、簡潔なオブジェクト表現中の多くても一握りのエントリに関連付けられる。

異なる角度からキャプチャされた第2の画像も同様に、3次元オブジェクトの2次元投影である情報をキャプチャする。2つの画像はともに、図4に示すように、複数の2次元投影から収集された単一のポイントについての3次元情報を含む。あるキーフレームからの関心ポイントを別のキーフレームからの関心ポイントと相関させると、したがって、異なる角度からキーフレームがとられるときにキーポイントを導出するのに使用され得る3次元情報が識別される。マージされた関心ポイントはしたがって、座標の標準化セットにおけるキーポイントの3次元ロケーションを識別するだけでなく、キーポイントを囲むボリュームについての3次元記述データにも関連付けられ得る。したがって、様々な実施形態において、システムが、3次元記述データとともに関心キーポイントの3次元ロケーションを識別するために、キーフレームにわたる2次元関心ポイントの間のセットの間の対応を確立することができる。境界フィルタリングなど、ある特定のタイプのフィルタリングが、シングルキーフレームからの2次元関心ポイントのセットに対して実施されてよく、オブジェクトを識別するための分割が次いで、2次元関心ポイントのセットに対してではなく相関キーポイントに対して行われてよい。このフィルタリングとともに機能する実施形態において、これにより、キーフレームからの多数の2次元関心ポイントであり得るものに対して反復分割/フィルタリングが行われなくなる。これにより、2次元情報を使用するだけでなく、空間中の3Dキーポイントロケーションおよび他のキーポイントとのキーポイントの関係についてのあらゆる情報の使用も可能になる。オブジェクト表現用のキーポイントの単一の3次元マージセットに対するフィルタリングは、2次元データの多くのセットに対するフィルタリングと同じフィルタリングを提供し得る。

一例では、中程度の背景散乱における標準フレームレートでのオブジェクトの2分間の走査により、ほぼ15000個の別個の関心ポイントが制作される場合があり、その中から、オブジェクトに属すほぼ1000〜1500個のキーポイントだけを導出することができ、さらに750〜1000個のキーポイントだけがオブジェクト検出に適し得る。図3Aは、3次元ロケーションによる分割の第1の段階を乗り切ったコーヒーマグの関心ポイントを示す。すなわち、現実的システムでは、既知のターゲットに対する、オブジェクトの3次元座標の境界ボックスを定義することが有益である。関心オブジェクトポイント分割およびフィルタリングの第1の段階において、この境界ボックス内に存在しない収集された関心ポイントはすべて、破棄されてよい。中程度の背景散乱をもつ典型的な2分間のオブジェクト走査において、15000個前後の初期数の別個の関心ポイントは、オブジェクト表現がそこから導出されたキーフレーム中にあった総関心ポイントの一部分のみを、オブジェクト表現310などのオブジェクト表現が使用することができるように、このステップ中に約2000個のキーポイントに削減され得る。ターゲット130などのターゲットを使用するシステムの場合、図3Aおよび図3Cによって表される関心ポイントをもつシーン用の座標は、ターゲットの中央に結び付けられ得る。バウンディングボリュームが次いで、オブジェクトに属すキーポイント用に識別され得る。ほぼ15000個の関心ポイントのある程度の部分が、境界ボックスの外側であると識別される場合があり、フィルタ除去され、除外され得る。

さらに、いくつかの実施形態では、システムが、オブジェクトに属す関心ポイントについて一定の密度を想定する場合がある。オブジェクトを識別するための分割は、所与の数の最も近いネイバーまでの閾値距離に基づいてフィルタリングすることによって実施され得る。図3Bは、たとえば図3Aのオブジェクトについての、3次元での、推定関心ポイント距離のヒストグラムを示す。フィルタリング閾値308は、どのピクセルをフィルタリングするべきかを識別するのに使用され得る。関心ポイント302は、密なエリアにあるので、図3Bのフィルタリング閾値308の左のピクセルとグループ化される。ただし、関心ポイント306aは、明らかに関心ポイントの密なエリアにはなく、図3Bのフィルタリング閾値308の右側になる。したがって、図3Cにおいて、フィルタリングされた関心ポイント306bは、フィルタリング閾値308の右のピクセルが簡潔なオブジェクト表現から消去されるとき、フィルタリングプロセスによって消去されるので、示されていない。

いくつかの実施形態では、分割を実施するシステムは、シーン中の支配的な平面を識別することができる。支配的な平面への参照は、シーンを定義し、異なる画像からの関心ポイントの間の対応を作成するのをさらに支援するのに使用され得る。そのようなシステムでは、シーン中の明示的に既知のオブジェクト(ターゲット)が、関心ポイント座標または分割を取得するのを支援する必要はない。ただし、具体的には、参照座標系ならびに境界ボックスは、走査時またはオフライン処理中のいずれかにおいて、ユーザによって手動で与えられ得る。

さらに、いくつかの実施形態では、特定の方法が、関心ポイントを識別するのに使用され得る。いくつかの実施形態では、周辺ピクセルの勾配に基づいて、どのポイントが選択されるか判断するのに使用される閾値を用いて高密度高勾配エリアが識別される。さらなる実施形態では、特定のスケールで観察可能である、キーフレーム中の好ましい関心ポイントを検出するための様々なスケールで画像が処理される。キーポイントおよび/または関心ポイントならびにそれらの記述の選択は、オフセット(周辺強度差または曲率が最も顕著であるスケール)を用いる特徴配向の分析、主要構成要素分析を用いる周辺ピクセルの分析、およびガウス導関数フィルタをもつステアラブルフィルタの使用を含む、そのような変換を使用する様々な方法で実施され得る。さらに、所与のキーポイントについて、微分不変式(differential invariants)が識別されてよく、選択は、回転に対して不変な値に基づく。また、形状コンテキスト記述子が、関心エリアを表すのに使用され得る。さらなる実施形態では、そのような選択基準の任意の組合せも、オフラインオブジェクト検出を支援するのに適した簡潔なオブジェクト表現の作成を最適化し得る他の任意の選択基準とともに、関心ポイントまたはキーポイントを識別するのに使用され得る。

図4は次いで、キーフレームについて対応が確立され得るための一実施形態についての詳細を与える。一例では、図1の画像122および124は、確立された対応を有するキーフレームであり得る。図4は、エピポーラ平面423をもつ、デバイス410によって2つの異なる位置からとられたオブジェクト420の画像412および414を示す。画像412は第1の位置416からとられ、画像414は第2の位置418からとられる。オブジェクト420は、関心ポイントXを有するものとして示されている。画像412中で、関心ポイントXは関心ポイントx1として画像化されている。画像414中で、関心ポイントXは、関心ポイントx2として画像化されている。

システムが画像情報を有するだけである場合、x1をx2と一貫して関連付けることが可能である可能性は低い。しかし、Xの観察x1、および位置416と第2の位置418との間の相対的位置の知識を与えられると、x1に対応するエピポーラ線l1が、画像414中で識別され得る。(A)周辺ピクセルの記述が、2度の関心ポイント観察の間で十分に接近している(たとえば、記述子ドメイン中の距離が閾値を下回る)、かつ(B)x2が、エピポーラ線l2までの閾値距離を下回る場合、関心ポイントx2は、画像414中で周辺ピクセルについての記述情報とともに抽出され得る。x(1)に対応する、記述子ドメイン中での閾値距離およびエピポーラ線からの閾値距離は、システム内の選択可能パラメータであり得る。これらは、自動的に設定されてもよく、またはユーザインターフェースを用いてユーザによって選択されてもよい。

最大エピポーラ線距離についての1つの閾値は、2ピクセル、3ピクセル、または4ピクセルであり得る。これらの閾値エピポーラ線距離値以外の値も、他の実施形態では使用され得る。例示的な記述子距離閾値は、記述情報の間の一定の差分として設定されてもよく、正規化された記述子値の分数として設定されてもよい。たとえば、128要素長の記述子が1の値に正規化されている場合、同じ関心ポイントが観察されることを示す、考慮される二乗距離は、正規化された値の0.2と0.35との間など、その正規化された範囲の一部分であり得る。言い換えると、これは、複数のキーフレームがマージされるとき、関心ポイントを囲むエリアが一貫して、他の関心ポイントに関連付けられたものとして識別されることをチェックすることである。

2つの閾値はともに、本質的には、2つの関心ポイントが実際に、関心ポイントに関連付けられた位置および情報を与えられた、対応する関心ポイントであることが可能であることを確認するためのチェックである。これらの閾値の両方について、パラメータを緩和することは、より高い数の対応につながり、したがって、可能性としてより高い数の関心ポイントの抽出が成功することになる。言い換えると、2次元関心ポイントが他の2次元関心ポイントと相関されて、3次元キーポイントを作成するとき、閾値が緩和されると、より高い数のエラーを代償として、より多くの3次元キーポイントが識別される。これらのエラーは、部分的または完全に不正確なデータを含む不正確または偽りの関心ポイントまたはキーポイントの形であり得る。関心ポイント306aなど、図3Aに示すオブジェクトの外側を浮動する関心ポイントのうちの多くはおそらく、誤った対応を使用して識別され、三角測量される。後で、フィルタリングおよび分割が、これらの偽りのポイントの一部分を識別し、取り除き得る。

さらに、いくつかの実施形態では、同様の算出が、より堅牢な方式で、関心ポイントXのロケーションを識別する際の三角測量およびバンドル調整のために使用され得る。バンドル調整は、3つ以上の異なるキーフレームからの関心ポイントのマッチングを一度に評価し、調整することを指し得る。図4において、第1の位置416における関心ポイントXの第1の投影はX0,1として示され、第2の位置418における関心ポイントXの第2の投影はX0,2として示されている。図4の画像が、ターゲット130などのターゲットである場合、システムは、ターゲットの位置および配向についての前に与えられた情報を使用して、異なる画像からの関心ポイントを関連付けることが可能である。これらの対応についての情報を与えられると、焦点のロケーションが三角測量され得る。そのような推定値は、関心ポイントxの位置におけるサブピクセルエラーが、関心ポイントXの算出位置における大きいエラーを生じ得るので、ノイズがある場合がある。これらのエラーは、同じポイントにおける複数の観察によって削減され得る。さらに、推定ロケーションの再投影エラーを最小限にすることによって、バンドル調整は、キーフレーム、たとえば、図4のフレーム412および414中のカメラポーズについての初期情報を同時に訂正することができる。

バンドル調整は、2つより多いキーフレームからの2つより多い対応および位置が使用されるとき、さらに使用されてよく、平均された情報により、すべての関連付けられた関心ポイントX, Y, およびZについての得られるロケーションにおいて、はるかに大きい信頼性を生じる。さらに、そのようなバンドル調整が、関心ポイントの追跡と検出の両方を使用して実施されると、正確さがさらに向上される。

また、上述したように、デバイス中の追加センサーが、キーフレームをキャプチャするときのデバイスの相対的測位の正確さをさらに向上させるのに使用され得る。加速度計、ジャイロスコープ、ならびにデバイスのロケーションおよび動きを測定する他の様々な測位システムが、上述した位置測定を置き換えるのに、または補うのに使用され得る。これにより、いくつかの実施形態では、正確さが向上し、またはプロセッサ使用が削減し得る。いくつかの実施形態では、これらの測位システムは、デバイスが特定のキーフレームをキャプチャするとき、デバイスの位置またはポーズを判断するのに使用され得る。この情報は、特定のキーフレーム中の2次元関心ポイントから導出されるキーポイントについての情報を作成するのに使用され得る。

いくつかの実施形態では、関心ポイントを囲むピクセルについての記述情報は、画像の間で実際のピクセルをマッチングする簡単なプロセスにより、マッチング決定に対して大きい影響を有するものとして選択され得る。しかしながら、多くのオブジェクトの場合、同じ関心ポイントの複数の観察は、複数のビューに対して徐々にだが持続して変わる傾向がある。これは、表面反射の変化、オブジェクトにおける変化する自己遮蔽、または単に投影ビューの性質による場合がある。このため、各グループ化についての記述子がいくつかの共通フィルタ要件は満足するが他の要件は満足しない、キーポイントグループ化のいくつかのクラスタが残る可能性がある。たとえば、各クラスタ内の記述子は、最大距離要件は満足し得るが、クラスタにわたる最大距離要件は満足しない場合がある。これは、ただ1つが存在する場合にいくつかの3次元キーポイント一致が推定されることにつながり得る。したがって、いくつかの実施形態では、記述子クラスタの間の交差における観察が行われ得る。これらの観察は、関心ポイントと、複数の関心ポイントまたはポイントの対応セットをマージするかどうかについての意思決定のための付加情報との間のリンクを与える。さらに、任意のバンドル調整にも堅牢性を追加し、余剰または不要データの剪定の先駆者(precursor)としても働き得る。バンドル調整プロセスは、同じ関心ポイントXが次いで、そのうちの一方が偽りである2つの別個のポイントXおよびX'を推定するのではなく、より多くのデータに基づいて推定されるので、ビューのクラスタにわたる対応のマージから利益を受け得る。このプロセスは、簡潔なオブジェクト表現としてデータベースに記憶されるべきデータを最適化するように、他の剪定またはデータフィルタリング技法と組み合わされてよく、ここで、複数のフレームからのマージされた関心ポイントは、キーポイント周辺のオブジェクトについての関連付けられた記述データをもつ単一のキーポイントとして記憶され得る。代替として、いくつかの事例では、同じ3次元ポイントロケーションXの複数のインスタンスを有し、ただし2つ以上の別個の記述子がそれに関連付けられることが有益である。これは、マッチングパイプラインが、データベース中の単一の記述子と、同じロケーションXの「遠方」照会ビューから抽出された対応する記述子との間の関連付けを形成することができないほど、複数のビューにわたる記述子差分が顕著であるときに当てはまり得る。

バンドル調整に続いて、少なくとも2つの視点から可視的な各関心ポイントXが、ここでは、その3次元ロケーションと、1つの別個のキーフレームに各々が通常対応する複数の記述子とによって表され、ここで、ポイントは、走査中に観察されたものである。このステップには通常、関心オブジェクトに関連付けられていないキーポイントを取り除くことを目指す分割およびフィルタリング技法が続く。この方法は通常、すべてのキャプチャされたキーポイントの3次元ロケーション(x1,x2,x3)のみに依存し、したがって、3次元ロケーションがこのステップにおいてすでに知られているので、バンドル調整のためのステップと組み合わせることができる。走査に続く、簡潔なオブジェクト表現を形成するためのプロセスにおける最終ステップは、特徴剪定と呼ばれる。すなわち、生き残った関心ポイントXは今では、少なくとも2つの、通常はいくつかの記述子に関連付けられている。付加記述を伴う関心ポイントのロケーションは、「特徴」と呼ばれることがある。このように、3次元座標の1つの特定のセットにおいて、単一のキーポイントに関連付けられた多くの特徴が存在する場合があり、その目的は、繰返しを避け、表現サイズを圧縮し、ただしこれらの特徴のうちのいくつかを剪定することによる混乱を最小限にすることでもあり、剪定は、いくつかの記述子を取り除くこと、および複数の生き残った記述子を組み合わせて、削減された数の新たな「剪定された」記述子を形成することの複合効果である。この剪定は、一連の剪定ステップを実装するモジュールによって実施され得る。そのようなステップは、キーポイントとして検出された特徴として関心ポイントが観察される異なる画像および視点の数だけの繰返し性に基づいて、関心ポイントをフィルタリングすることができる。このステップは、複数のビューにおいて同じキーポイントに対応する同様の特徴の一部分が選択されるような特異性に基づいてフィルタリングすることもできる。同様の特徴の残りの一部分についてのキーポイントは、簡潔なオブジェクト表現において冗長性を低減するために取り除かれる。

いくつかの実施形態では、オブジェクト表現のサイズを最適化するために、値をキーポイントに関連付ける分析が実施され得る。冗長またはそうでなければ比較的価値がないキーポイントが取り除かれる一方、データ値の閾値を上回るスコアをもつ、一意の高度に可視的なキーポイントが保存され得るような値の閾値が確立されてよい。

さらなる実施形態では、デバイスにとって利用可能な処理リソースおよびユーザによって選択された他の選択肢に依存して、異なる剪定ステップが使用され得る。キーポイント剪定のレベルを制御することができる追加パラメータの例は、キーポイント周辺のピクセルが十分に類似しているかどうか判断するための、多次元記述子空間におけるイプシロンボールの半径、別個のキーポイントがユークリッド空間中で互いに非常に接近してバンドル化されていると判断するための、3次元空間におけるイプシロンボールの半径、特定のキーポイントのビューの数に基づく繰返し性閾値、および複数のビューにおいて単一のキーポイントについて識別された特徴変化に基づく特異性閾値を含む。

一実施形態はしたがって、モバイルコンピューティングデバイスのカメラモジュールを使用して、シーンの複数の画像をキャプチャすることを伴い得る。シーンの複数の画像の各々は、第1のオブジェクトの少なくとも一部分の画像を含む。6自由度、および関心オブジェクトがその中で動いていない世界座標系に対する3次元での位置からなるカメラ位置または「カメラポーズ」は、キャプチャされた画像の各々について既知であると仮定される。カメラポーズは、様々な方法で、すなわち、(ロボットアームでのように)固定セットアップを注意深く較正することによって、または走査されているオブジェクトをもつ同じシーンに存在する既知のオブジェクト「ターゲット」の投影の外見を検出し、追跡することによって取得され得る。複数の画像のうちの第1の画像が次いで、第1のキーフレームとして識別されてよく、第1の画像は、モバイルコンピューティングデバイスによって第1の位置からキャプチャされる。複数の画像のうちの第2の画像が、第2のキーフレームとして選択され得る。第2の画像は、モバイルコンピューティングデバイスによって、第1の位置とは異なる第2の位置からキャプチャされる。第1の複数の関心ポイントは第1のキーフレームから識別することができ、ここで第1の複数の関心ポイントは、シーンから特徴を識別する。第2の複数の関心ポイントが、第2のキーフレームから識別され得る。システムは次いで、第1の複数の関心ポイントと第2の複数の関心ポイントをマッチングし、オブジェクトに関連付けられたキーポイントを識別することができる。オブジェクトに関連付けられたキーポイントは次に、各キーポイントを囲むエリアの少なくとも1つの記述に関連付けることができ、キーポイントはまとめて、簡潔なオブジェクト表現としてオブジェクト検出データベースに記憶され得る。

代替実施形態では、デバイスがSLAMシステムとして作動し得る。SLAMシステムとは、撮像データを使用して、未知の環境内で(先験的知識なしで)マップを構築するため、または既知の環境内で(所与のマップからの先験的知識を用いて)マップを更新し、同時にそれらの現在のロケーションを撮像データから追跡するための標準システムである。本明細書で説明した実施形態では、環境またはシーンを構築するのではなく、標準SLAMシステムからのマップデータが、上述したように作成されたキーポイントを使用してオブジェクトのマップを構築するのに使用される。SLAMシステムの標準動作が、SLAM動作の一部としてキーフレームの作成を含むとき、SLAMシステムは、上述したように画像からキーフレームを選択する。シーンマッピングおよびデバイス位置追跡は、上述したように、オブジェクトの顕著な特徴および構造的プロパティを抽出するためのツールとして使用され得る。このようにして、画像キャプチャおよびキーフレーム選択は、SLAMシステムによって実施され得る。システム全体が、SLAMシステムから別個の抽出および記述システムにキーフレームを提供することができる。この抽出および記述システムは次いで、オブジェクト外見情報を抽出するために、キーフレームに対して稼動され得る。別個のSLAMおよび抽出/記述システムが、追跡、マップ構築、および位置特定のためのより単純でありより安価なシステムとして、いくつかの実施形態において利益を与え得る。システム全体はより複雑であり得るが、より効率的区別および不変関心ポイント検出も提供し得る。記述システムは次いで、キーフレームにわたるキーポイント対応を確立し、任意の残りのステップも実施することができる。

そのような実施形態は、カメラ位置安定性、抽出されたいくつかの十分に「異なる」特徴、および他のそのような基準を含むいくつかの基準を使用してキーフレームを選択し、記憶するのに、SLAMを使用することができる。SLAMキーフレームはしたがって、検出特徴抽出のために修正されずに使用され得る。他の実施形態は、データベース作成とより調和して、キーフレームを自動的に作成することをターゲットにしたカスタムキーフレーム選択を可能にし得る。これらの実施形態のいずれかが、オブジェクトが走査されるときにユーザから隠され得る自動化キーフレーム選択を可能にする。

いくつかの実施形態では、SLAMシステムが、キーポイント特徴抽出がバックグラウンドプロセスにおいて稼動するマルチスレッド方式で実装される。関心ポイントとともに抽出される記述子は、特定のキーフレーム内の投影オブジェクトビューに対応し得る。キーポイントの間の相互ジオメトリをエンコードするために、上述したように、いくつかの実施形態によって、従来のマルチビューエピポーラ幾何技法が使用され得る。

様々な代替実施形態において、キーポイントを作成するために画像の間の関心ポイントをマッチングする前に、そのようなマッチングの後に、または前と後の両方に、関心ポイントがフィルタリングされ得る。さらなる実施形態は、3次元キーポイントロケーションをロバストに推定するために、検出ならびにSLAM特徴および複数のキーフレームにわたるそれらの対応を使用することができる。さらなる実施形態は、キーポイントデータを後処理して、抽出されたマルチビュー検出特徴を剪定し、オブジェクト検出データベース用の簡潔なオブジェクト表現を作成することもできる。

一実施形態では、ユーザインターフェースが、データベース作成のための簡潔なオブジェクト表現を最適化することをターゲットにし得る異なるキーフレーム選択基準を与え得る。いくつかの実施形態では、ディスプレイが、走査プロセスを視覚化するために、抽出および三角測量されたキーポイントをほぼリアルタイムで提示することができる。いくつかの実施形態では、これにより、キーフレームが選択されたとき、キーポイント作成を調整するためにユーザがパラメータをオンザフライで変えることを可能にすることができる。

次に図5は、いくつかの実施形態によるデバイス500の一実装形態を説明する。上述したように、図1および図5は、一実施形態ではオブジェクトを走査するのに使用されるデバイス110または410を含み得るシステムを示す。デバイス500は、デバイス110またはデバイス410の一実施形態であってよく、オブジェクト検出データベース用の簡潔なオブジェクト表現を作成するための方法の要素のすべてを実施することができる。図5に示すデバイス500の実施形態において、専用モジュールが、オブジェクト識別モジュール521と走査およびデータベース入力モジュール522とを含むオブジェクト走査を実装するのに使用され得る。データベース524は、専用の簡潔なオブジェクト表現ベースであっても、より大きいデータベースシステムの一部であってもよい。オブジェクト識別モジュール521は、本明細書に記載するSLAMを実装するモジュールであってもよく、キーフレームを識別するためのカスタマイズされたモジュールであってもよい。いくつかの実施形態では、オブジェクト識別モジュール521およびデータベース入力モジュール522は、単一のモジュールとして実装され得る。

さらに、いくつかの実施形態では、オブジェクト識別モジュール521ならびに/あるいは走査およびデータベース入力モジュール522向けの制御モジュールまたは制御入力により、様々な走査態様の手動選択が可能になり得る。たとえば、ユーザが、いくつかの角度においてキーフレームが疎であるとき、異なる角度からのより多くのキーフレームがいつ必要とされるか判断するために、ディスプレイ出力503において自動プロンプトを提示させることを選ぶことができる。そのようなシステムはまた、プロンプトと、高い値のキーポイントデータが期待される特定の角度への方向とを可能にし得る。いくつかの実施形態では、そのようなシステムは本質的に、オブジェクトのいくつかの部分の周囲のキーポイント密度および/または関心ポイント密度を追跡し得る。所与の画像について、システムは、画像がとられるロケーションと、最も近いキーフレームがとられたロケーションとの間の空間的関係を判断し、この情報を、これらのロケーションについての関心ポイント情報とともに使用して、新しいロケーションから追加キーフレームの値を決定することができる。

システムはしたがって、追加キーフレームがいくつかの角度から高いデータ値をいつ与えるかを、ユーザに知らせることができる。そのような制御は、ユーザがキーフレームの選択をカスタマイズすること、または進行中の走査のためにキーフレームの選択を更新することも可能にし得る。いくつかの実施形態では、これにより、ユーザが、記録された画像を閲覧すること、および特定の画像をキーフレームとして手動で選択することも可能になり得る。さらに、キーポイント剪定およびフィルタリングについての閾値が、ユーザ選択によって設定され得る。

図5に示す実施形態では、モバイルデバイス500は、いくつかの構成要素において動作を実施するための命令を実行するように構成され、たとえば、ポータブル電子デバイス内の実装に適した、汎用プロセッサ、またはマイクロプロセッサであってよいプロセッサ510を含む。プロセッサ510はしたがって、本明細書に記載する簡潔なオブジェクト表現作成のための特定のステップのいずれかまたはすべてを実装することができる。プロセッサ510は、モバイルデバイス500内の複数の構成要素と通信可能に結合される。この通信結合を実現するために、プロセッサ510は、バス540を超えて、他の図示される構成要素と通信することができる。バス540は、モバイルデバイス500内でデータを転送するように適合された任意のサブシステムであり得る。バス540は、複数のコンピュータバスであってよく、データを転送するための追加の回路を含む。

メモリ520は、プロセッサ510に接続され得る。いくつかの実施形態では、メモリ520は、短期ストレージと長期ストレージの両方を提供し、実際には、いくつかのユニットに分割され得る。メモリ520は、スタティックランダムアクセスメモリ(SRAM)および/もしくはダイナミックランダムアクセスメモリ(DRAM)など、揮発性であってよく、かつ/または読取り専用メモリ(ROM)、フラッシュメモリなど、不揮発性であってもよい。さらに、メモリ520は、セキュアデジタル(SD)カードなど、取外し可能記憶デバイスを含み得る。したがって、メモリ520は、モバイルデバイス500用のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。いくつかの実施形態では、メモリ520は、異なるハードウェアモジュールに分散され得る。

いくつかの実施形態では、メモリ520は、複数のアプリケーションモジュールを記憶する。アプリケーションモジュールは、プロセッサ510によって実行されるべき特定の命令を含む。代替実施形態では、他のハードウェアモジュールが、いくつかのアプリケーションまたはアプリケーションのうちの一部をさらに実行し得る。メモリ520は、いくつかの実施形態に従って走査を実装するモジュール用のコンピュータ可読命令を記憶するのに使用することができ、データベースの一部として簡潔なオブジェクト表現を記憶することもできる。

いくつかの実施形態では、メモリ520はオペレーティングシステム523を含む。オペレーティングシステム523は、アプリケーションモジュールによって与えられる命令の実行を開始し、かつ/または他のハードウェアモジュールならびにWANワイヤレストランシーバ512およびLANワイヤレストランシーバ542を使用し得る、通信モジュールとのインターフェースを管理するように動作可能であり得る。オペレーティングシステム523は、スレッディングと、リソース管理と、データ記憶制御と、他の類似の機能性とを含めて、モバイルデバイス500の構成要素を通して他の動作を実施するように適合され得る。

いくつかの実施形態では、モバイルデバイス500は、複数の他のハードウェアモジュールを含む。他のハードウェアモジュールの各々は、モバイルデバイス500内の物理モジュールである。しかしながら、ハードウェアモジュールの各々は、構造として永続的に構成されるが、ハードウェアモジュールのそれぞれは、特定の機能を実施するように一時的に構成され得るか、または一時的にアクティブ化され得る。一般的な例は、シャッターを切るため、および画像をキャプチャするためのカメラ501(すなわち、ハードウェアモジュール)をプログラムすることができるアプリケーションモジュールである。そのようなカメラモジュールは、図1の画像122および124ならびに図4の画像412および414などの画像をキャプチャするのに使用され得る。

他のハードウェアモジュールは、たとえば、加速度計、Wi-Fiトランシーバ、衛星ナビゲーションシステム受信機(たとえば、GPSモジュール)、圧力モジュール、温度モジュール、音声出力および/または入力モジュール(たとえば、マイクロフォン)、カメラモジュール、近接センサー、代替回線サービス(ALS)モジュール、容量性タッチセンサー、近距離通信(NFC)モジュール、Bluetooth(登録商標)1トランシーバ、セルラートランシーバ、磁力計、ジャイロスコープ、慣性センサー(たとえば、加速度計とジャイロスコープとを結合するモジュール)、周辺光センサー、相対湿度センサー、または知覚出力を提供するように、かつ/もしくは知覚入力を受信するように動作可能な任意の他の類似のモジュールであってよい。いくつかの実施形態では、ハードウェアモジュールの1つまたは複数の機能は、ソフトウェアで実装され得る。さらに、本明細書に記載するように、加速度計、GPSモジュール、ジャイロスコープ、慣性センサー、または他のそのようなモジュールなど、いくつかのハードウェアモジュールが、キーフレームの間の相対ロケーションを推定するのに使用され得る。この情報は、上述した画像ベースの技法とともにデータ品質を向上するのに使用されてもよく、プロセッサリソースを節約するために、そのような方法を置き換えてもよい。いくつかの実施形態では、ユーザが、ユーザ入力モジュール504を使用して、そのようなオプションを選択することができる。

モバイルデバイス500は、アンテナ514およびワイヤレストランシーバ512を、ワイヤレス通信に必要な他の任意のハードウェア、ファームウェア、またはソフトウェアとも統合することができるワイヤレス通信モジュールなどの構成要素を含み得る。そのようなワイヤレス通信モジュールは、ネットワークおよびネットワークアクセスポイントなどのアクセスポイントを介して、データソースなど、様々なデバイスから信号を受信するように構成され得る。いくつかの実施形態では、簡潔なオブジェクト表現が、リモートデータベースに記憶されるとともに、デバイスがオブジェクト認識機能性を実行するとき、複数の他のデバイスによって使用されるために、サーバコンピュータ、他のモバイルデバイス、または他のネットワーク化コンピューティングデバイスに通信され得る。

他のハードウェアモジュールおよびメモリ520中のアプリケーションに加えて、モバイルデバイス500は、ディスプレイ出力503と、ユーザ入力モジュール504とを有し得る。ディスプレイ出力503は、モバイルデバイス500からの情報をユーザにグラフィカルに提示する。この情報は、1つもしくは複数のアプリケーションモジュール、1つもしくは複数のハードウェアモジュール、それらの組合せ、または(たとえば、オペレーティングシステム523によって)ユーザ用のグラフィカルコンテンツを分解するための任意の他の適切な手段から導出され得る。ディスプレイ出力503は、液晶ディスプレイ(LCD)技術、発光ポリマーディスプレイ(LPD)技術、または何らかの他のディスプレイ技術であってよい。いくつかの実施形態では、ディスプレイモジュール503は、容量性または抵抗性のタッチスクリーンであり、ユーザとの触覚および/または触知性接触に反応し得る。そのような実施形態において、ディスプレイ出力503は、マルチタッチセンシティブディスプレイを備え得る。ディスプレイ出力503は次いで、データベース524からの簡潔なオブジェクト表現とともにオブジェクト認識を使用して、拡張現実出力など、オブジェクト識別モジュール521に関連付けられた任意の数の出力を表示するのに使用され得る。走査および記憶オプションを選択するために、インターフェース選択も表示され得る。オブジェクトが走査されるとき、オブジェクトの画像とともに、キーポイントもリアルタイムで表示され得る。

図6は、本明細書に記載するように、図1〜図5によって説明された実施形態など、他の様々な実施形態とともに使用され得るコンピューティングデバイス600の一実施形態の略図を与える。図6は、単に、様々な構成要素の一般化された図を提供することを意図しており、その一部または全部が適宜利用されてよい。いくつかの実施形態では、たとえば、図6および図5の構成要素は、単一のデバイス中に、または1つの特定の実施形態を含み得る複数の分散デバイス中に含まれ得る。図6はしたがって、個々のシステム要素が、比較的分離された、または比較的より統合された方法で、どのように実装され得るかを広く示し、たとえば、記憶デバイス625などの非一時的コンピュータ可読記憶デバイスからのコンピュータ可読命令によって制御されるとき、実施形態による特定の方法を実装することができる要素を記載する。

コンピューティングデバイス600は、バス605を介して電気的に結合され得る(または適宜、他の何らかの形で通信しているものとしてよい)ハードウェア要素を備えるように図示されている。ハードウェア要素には、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の(デジタル信号処理チップ、グラフィックス加速プロセッサなどの)専用プロセッサを含む1つもしくは複数のプロセッサ610と、限定はしないが、マウス、キーボードなどを含むことができる1つもしくは複数の入力デバイス615と、限定はしないが、表示デバイス、プリンタなどを含むことができる1つもしくは複数の出力デバイス620とが含まれ得る。

コンピューティングデバイス600は、限定はしないが、ローカルおよび/またはネットワークアクセス可能ストレージを含むことができ、かつ/あるいは限定はしないが、ディスクドライブ、ドライブアレイ、光記憶デバイス、プログラム可能、フラッシュ書換え可能であるものとしてよい、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリーメモリ(「ROM」)などのソリッドステート記憶デバイス、ならびに/または同様のものを含むことができる、1つまたは複数の非一時的記憶デバイス625を、さらに備える(かつ/または通信する)ことができる。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実装するように構成される場合がある。

コンピューティングデバイス600は、限定はしないが、モデム、(ワイヤレスもしくはワイヤード)ネットワークカード、赤外線通信デバイス、ワイヤレス通信デバイス、および/または(Bluetoothデバイス、702.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)チップセット、ならびに/あるいは同様の通信インターフェースを含むことができる、通信サブシステム630を含むことも可能である。通信サブシステム630は、(一例を挙げると、下で説明するネットワークなど)ネットワーク、他のコンピュータシステム、および/または本明細書で説明した任意の他のデバイスとのデータの交換を可能にし得る。モバイルデバイス500などのモバイルデバイスはしたがって、ワイヤレストランシーバ512およびLANワイヤレストランシーバ542を含むものに加え、他の通信サブシステムを含み得る。

多くの実施形態では、コンピューティングデバイス600は、上記で説明したRAMまたはROMを含み得る非一時的作業メモリ635をさらに備える。コンピューティングデバイス600は、本明細書で説明するように、オペレーティングシステム640、デバイスドライバ、実行可能ライブラリ、および/または様々な実施形態によって提供されるコンピュータプログラムを含んでもよく、かつ/もしくは方法を実装し、かつ/もしくは他の実施形態によって実現されるシステムを構成するように設計され得る、1つもしくは複数のアプリケーション645などの他のコードを含む、作業メモリ635内に現在配置されているものとして図示されている、ソフトウェア要素も備えることができる。単に例として、上記で説明した方法に関して説明した1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することも可能であり、次いで、一態様では、そのようなコードおよび/または命令は、オブジェクトを走査して、キーフレーム、関心ポイント、キーポイントを識別し、オブジェクト表現を作成し、そのオブジェクト表現をデータベースに記憶し、未知または部分的に未知であるシーンの後の走査におけるオブジェクト識別のためにオブジェクト表現を取り出すための説明した方法に従って1つまたは複数の動作を実行するように汎用コンピュータ(または他のデバイス)を構成し、かつ/または適合させるために使用され得る。

これらの命令および/またはコードのセットは、上で説明した記憶デバイス625などのコンピュータ可読記憶媒体上に記憶され得る。いくつかのケースでは、記憶媒体は、コンピューティングデバイス600などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、そこに記憶された命令/コードを用いて汎用コンピュータをプログラム、構成、および/または適合させるために使用され得るように、コンピュータシステムから分離されてもよく(たとえば、コンパクトディスクなどの取外し可能媒体)、かつ/またはインストールパッケージ内に備えられ得る。これらの命令は、コンピューティングデバイス600によって実行可能である、実行可能コードの形態をとることも可能であり、かつ/またはコンピューティングデバイス600でコンパイルおよび/もしくはインストールした後に(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/展開ユーティリティなどのいずれかを使用して)、実行可能コードの形態をとるソースコードおよび/もしくはインストール可能コードの形態をとることも可能である。オブジェクト識別モジュール521ならびに走査およびデータベース入力モジュール522はしたがって、本明細書に記載するように、実行可能コードであってよい。代替実施形態では、これらのモジュールは、ハードウェア、ファームウェア、実行可能命令、またはこれらの実装形態の任意の組合せであってもよい。

大幅な変形が、特定の要件に従って行われ得る。たとえば、カスタマイズされたハードウェアもまた、使用されることがあり、および/または特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、または両方で実装されることもある。その上、ある機能性を提供するハードウェアおよび/またはソフトウェア構成要素は、(専門構成要素を有する)専用システムを備えることが可能であるか、またはより一般的なシステムの一部であってもよい。シングルキーフレームから導出された複数の2次元関心ポイントから作成された3次元キーポイントの出力用に許容される特性の選択に関する、本明細書に記載する特徴の一部または全部を提供するように構成されたアクティブ選択サブシステム、およびそのようなサブシステムは、専用ハードウェアおよび/またはソフトウェア(たとえば、特定用途向け集積回路(ASIC)、ソフトウェア方法など)あるいは汎用(たとえば、たとえば、メモリ635内の任意のモジュールも実装することができるプロセッサ610、アプリケーション645など)を備える。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が利用され得る。

本明細書で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピューティングデバイス600を使用して実装される一実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ610に命令/コードを与えることに関与し、かつ/またはそのような命令/コード(たとえば、信号)を記憶および/または搬送するために使用されることがある。多くの実装では、コンピュータ可読媒体は物理的な、かつ/または有形の記憶媒体である。そのような媒体は、限定はしないが、不揮発性媒体、非一時的媒体、揮発性媒体、および伝送媒体を含む多くの形態をとる場合がある。不揮発性媒体は、たとえば、記憶デバイス625などの光ディスクおよび/または磁気ディスクを含む。揮発性媒体は、限定はしないが、作業メモリ635などの動的メモリを含む。伝送媒体は、限定はしないが、バス605、ならびに通信サブシステム630(および/または通信サブシステム630が他のデバイスとの通信を提供する媒体)の様々な構成要素を備える線を含めて、同軸ケーブル、銅線、および光ファイバーを含む。

物理的な、かつ/または有形のコンピュータ可読媒体の一般的な形態は、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、任意の他のメモリチップまたはカートリッジ、以下で説明されるような搬送波、あるいはコンピュータが命令および/またはコードを読み取ることのできる任意の他の媒体を含む。どのそのようなメモリも、メモリ520もしくはメモリ635として、または記憶された内容の安全性を維持するように構造化される場合はセキュアメモリとして機能し得る。いくつかの実施形態では、オブジェクト表現は、一定のレベルの関連付けられた安全性を有することができ、特定の安全性またはプライバシー設定に関連付けられたメモリ635のいくつかの部分に記憶することができる。

通信サブシステム630(および/またはその構成要素)は、一般に信号を受信し、次いで、バス605は、信号(および/または、信号によって搬送されるデータ、命令など)を作業メモリ635に搬送することができ、プロセッサ610は、作業メモリ635から命令を取り出し、実行する。作業メモリ635によって受信された命令は、オプションで、プロセッサ610による実行の前または後のいずれかに、非一時的記憶デバイス625上に記憶され得る。

本明細書に記載する様々な実施形態において、コンピューティングデバイスは、情報を通信するためにネットワーク化され得る。たとえば、モバイルデバイス500は、上述したように、情報を受信し、またはリモートオブジェクト表現データベースと通信するようにネットワーク化され得る。さらに、これらの要素の各々が、ネットワークを介してアプリケーションを可能にするために、情報へのアクセスを提供するウェブサーバ、データベース、またはコンピュータなど、他のデバイスとのネットワーク化通信に関与し得る。

図7は、システム700またはオブジェクトを識別する際に後で使用するためにオブジェクト表現を作成し、記憶するためのシステムを実装することができる他のシステムなどのシステムを可能にするために、様々な実施形態に従って使用され得るネットワーク化コンピューティングデバイスのシステム700の概略図を示す。たとえば、様々な実施形態において、出力オブジェクト表現は、システム700によって記述されるように、ネットワーク化されたコンピュータを介して、1つまたは複数のデータベースに通信され得る。システム700は、1つまたは複数のユーザコンピューティングデバイス705を含むことができる。ユーザコンピューティングデバイス705は、汎用パーソナルコンピュータ(単に例として、任意の適切な種類のMicrosoft(登録商標)Windows(登録商標)2および/またはMac OS(登録商標)3オペレーティングシステムも稼動するパーソナルコンピュータおよび/またはラップトップコンピュータを含む)ならびに/あるいは様々な市販のUNIX(登録商標)4またはUNIXライクなオペレーティングシステムのうちのいずれも稼動するワークステーションコンピュータであってよい。これらのユーザコンピューティングデバイス705はまた、本発明の方法を実施するように構成された1つまたは複数のアプリケーション、ならびに1つまたは複数のオフィスアプリケーション、データベースクライアントおよび/またはサーバアプリケーション、ならびにウェブブラウザアプリケーションを含む、様々なアプリケーションのいずれも有し得る。代替として、ユーザコンピューティングデバイス705は、ネットワーク(たとえば、以下で説明するネットワーク710)を介して通信すること、および/またはウェブページもしくは他のタイプの電子文書を表示し、ナビゲートすることが可能な、シンクライアントコンピュータ、インターネット対応モバイル電話、および/または携帯情報端末(PDA)など、他の任意の電子デバイスであってもよい。例示的なシステム700は、3つのユーザコンピューティングデバイス705a、705b、705cとともに示されているが、任意の数のユーザコンピューティングデバイスがサポートされ得る。

いくつかの本発明の実施形態は、ネットワーク710を含み得るネットワーク化環境において動作し得る。ネットワーク710は、限定はしないが、TCP/IP、SNA、IPX、AppleTalk(登録商標)3などを含む、様々な商用可能なのプロトコルのいずれも使用するデータ通信をサポートすることができる、当業者にとって身近などのタイプのネットワークでもよい。単に例として、ネットワーク710は、限定はしないが、イーサネット(登録商標)ネットワーク、トークンリングネットワークなどを含むローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(WAN)、限定はしないが、仮想プライベートネットワーク(「VPN」)を含む仮想ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網(「PSTN」)、赤外線ネットワーク、限定はしないが、当該分野において知られている、IEEE802.11プロトコルスイート、Bluetoothプロトコル、および/または他の任意のワイヤレスプロトコルのうちのいずれの下でも動作するネットワークを含むワイヤレスネットワーク、ならびに/あるいはこれらおよび/または他のネットワークの任意の組合せであってもよい。ネットワーク710は、様々なコンピューティングデバイスによるネットワーク710へのアクセスを可能にするためのアクセスポイントを含み得る。

本発明の実施形態は、1つまたは複数のサーバコンピュータ760を含み得る。サーバコンピュータ760a、760bの各々は、限定はしないが、上で論じたもののうちのいずれをも含むオペレーティングシステム、ならびに任意の商業的に(または自由に)入手可能なサーバオペレーティングシステムも有して構成され得る。サーバコンピュータ760a、760bの各々は、1つまたは複数のユーザコンピューティングデバイス705および/または他のサーバコンピュータ760にサービスを提供するように構成され得る1つまたは複数のアプリケーションを稼動中であってもよい。

単に例として、サーバコンピュータ760のうちの1つは、単に例として、ユーザコンピューティングデバイス705からの、ウェブページまたは他の電子文書についての要求を処理するのに使用され得るウェブサーバであってよい。ウェブサーバは、HTTPサーバ、FTPサーバ、CGIサーバ、データベースサーバ、Java(登録商標)5サーバなどを含む様々なサーバアプリケーションを稼動することもできる。本発明のいくつかの実施形態では、ウェブサーバは、本発明の方法を実施するように、ユーザコンピューティングデバイス705のうちの1つまたは複数におけるウェブブラウザ内で作動され得るウェブページをサービスするように構成され得る。そのようなサーバは、特定のIPアドレスに関連付けられてもよく、特定のURLを有するモジュールに関連付けられてもよく、したがって、モバイルデバイス500に提供されるロケーションサービスの一部として地理的ポイントのセキュアな指示を与えるために、モバイルデバイス500などのモバイルデバイスと対話することができるセキュアナビゲーションモジュールを記憶することができる。

さらなる実施形態によると、1つまたは複数のサーバコンピュータ760は、ファイルサーバとして機能することができ、かつ/あるいはユーザコンピューティングデバイス705および/または別のサーバコンピュータ760上で稼動するアプリケーションによって組み込まれた、様々な実施形態の方法を実装するのに必要なファイル(たとえば、アプリケーションコード、データファイルなど)のうちの1つまたは複数を含み得る。代替として、当業者には理解されるように、ファイルサーバがすべての必要なファイルを含むことができ、そのようなアプリケーションを、ユーザコンピューティングデバイス705および/またはサーバコンピュータ760によってリモートに呼び出させる。本明細書において様々なサーバ(たとえば、アプリケーションサーバ、データベースサーバ、ウェブサーバ、ファイルサーバなど)を参照して記載した機能は、実装特有の必要性およびパラメータに依存して、単一のサーバおよび/または複数の専用サーバによって実施され得ることに留意されたい。

いくつかの実施形態では、システムは、1つまたは複数のデータベース720を含み得る。データベース720のロケーションは自由裁量であり、単に例として、データベース720aは、サーバ760a(および/またはユーザコンピューティングデバイス705)に対してローカルな(および/またはその中に存在する)記憶媒体上に存在してもよい。代替として、データベース720bは、データベース720bが(たとえば、ネットワーク710を介して)これらのうちの1つまたは複数と通信している限り、ユーザコンピューティングデバイス705またはサーバコンピュータ760のいずれかまたはすべてからリモートであってもよい。実施形態の特定のセットにおいて、データベース720は、当業者にとって身近なストレージエリアネットワーク(「SAN」)に存在し得る。(同様に、ユーザコンピューティングデバイス705またはサーバコンピュータ760に起因する機能を実施するための任意の必要なファイルも、必要に応じて、それぞれのコンピュータ上にローカルに、および/またはリモートに記憶され得る)。実施形態の1つのセットにおいて、データベース720は、SQLフォーマットのコマンドに応答してデータを記憶し、更新し、取り出すように適合された、Oracle(登録商標)5データベースなどのリレーショナルデータベースであってよい。データベースは、たとえば、上述したデータベースサーバによって制御および/または維持されてもよい。そのようなデータベースは、安全性レベルに適した情報を記憶することができる。

上記で論じた方法、システム、およびデバイスは、例である。様々な実施形態は、様々な手順または構成要素を、適宜、省略し、置換し、または加えることができる。たとえば、代替構成では、説明する本方法は、説明する順序とは異なる順序で実施されてもよく、ならびに/または、様々なステージが加えられ、省略され、および/もしくは組み合わされてもよい。また、いくつかの実施形態に関して説明される特徴は、様々な他の実施形態と組み合わせることができる。実施形態の相異なる態様および要素が同様に組み合わされ得る。

実施形態の完全な理解を与えるために、説明に具体的な詳細が与えられている。しかし、実施形態は、いくつかの特定の詳細なしに実施され得る。たとえば、実施形態を不明瞭することを避けるために、周知の回路、プロセス、アルゴリズム、構造、および技法が、不要な詳細なしに言及された。この説明は、例示的な実施形態のみを提供し、様々な実施形態の範囲、適用可能性、または構成を限定することは意図されない。むしろ、実施形態の前述の説明は、実施形態を実施するための権能を付与する記載を当業者に提供する。様々な実施形態の趣旨および範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。

また、いくつかの実施形態について、プロセス矢印を用いて、フローの形で示され得るプロセスとして説明した。各々は動作を順次プロセスとして説明するが、動作の多くは、並列または同時に実施され得る。加えて、動作の順序は並べ替えられ得る。プロセスは、図に含まれていない追加のステップを有し得る。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、関連するタスクを実施するプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶され得る。プロセッサは、関連するタスクを実施し得る。さらに、上記要素は単に、より大きいシステムの構成要素であってよく、ここで他の規則が、アプリケーションの様々な実施形態に優先するか、またはそうでなければ修正し、任意の数のステップが、任意の実施形態の要素も実装される前、最中、または後に始められ得る。

いくつかの実施形態について説明してきたので、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用され得ることが、当業者には明らかであろう。

本明細書の付属書類
1 「Bluetooth」という文字商標およびロゴは、Bluetooth SIG, Inc.によって所有される登録商標である。他の商標および商標名も、それぞれの所有者の登録商標である。
2 「Microsoft」および「Windows」は、米国および/または他の国において、Microsoft Corporationの登録商標または商標のいずれかである。
3 「Mac OS」および「AppleTalk」は、米国および他の国において登録されている、Apple, Inc.の登録商標である。
4 「UNIX」は、Open Groupの登録商標である。
5 「Java」および「Oracle」は、Oracleおよび/またはその関連会社の登録商標である。他の名称も、それぞれの所有者の商標であり得る。

100 シーン
110 デバイス
112 視野
114 視野
116 第1の位置
118 第2の位置
120 オブジェクト
122 第1の画像
124 第2の画像
130 ターゲット
301 関心ポイント
302 関心ポイント
304 関心ポイント
305 3次元キーポイント
306a 関心ポイント
308 フィルタリング閾値
310 オブジェクト表現
316 位置
318 位置
410 デバイス
412 画像、フレーム
414 画像、フレーム
416 第1の位置、位置
418 第2の位置
420 オブジェクト
423 エピポーラ平面
500 デバイス、モバイルデバイス
501 カメラ、ハードウェアモジュール
503 ディスプレイ出力、ディスプレイモジュール
504 ユーザ入力モジュール
510 プロセッサ
512 WANワイヤレストランシーバ、ワイヤレストランシーバ
514 アンテナ
520 メモリ
521 オブジェクト識別モジュール
522 走査およびデータベース入力モジュール
523 オペレーティングシステム
524 データベース
540 バス
542 LANワイヤレストランシーバ
600 コンピューティングデバイス
605 バス
610 プロセッサ
615 入力デバイス
620 出力デバイス
625 記憶デバイス、非一時的記憶デバイス
630 通信サブシステム
635 非一時的作業メモリ、作業メモリ、メモリ
640 オペレーティングシステム
645 アプリケーション
700 システム
705 ユーザコンピューティングデバイス
705a ユーザコンピューティングデバイス
705b ユーザコンピューティングデバイス
705c ユーザコンピューティングデバイス
720 データベース
720a データベース
720b データベース
760 サーバコンピュータ
760a サーバコンピュータ、サーバ
760b サーバコンピュータ
710 ネットワーク

Claims (20)

  1. オブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャする方法であって、
    デバイスのカメラモジュールを使って、シーンの複数の画像をキャプチャするステップであって、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャする、ステップと、
    第1のキーフレームを、前記複数の画像および前記第1のキーフレームに関連付けられた前記デバイスの第1の位置から識別するステップと、
    第2のキーフレームを、前記複数の画像および前記第2のキーフレームに関連付けられた前記デバイスの第2の位置から識別するステップであって、前記第2の位置が前記第1の位置とは異なる、ステップと、
    前記第1のキーフレームから第1の複数の関心ポイントを識別するステップであって、前記第1の複数の関心ポイントの各々が、前記シーンから1つまたは複数の特徴を識別する、ステップと、
    前記第2のキーフレームから第2の複数の関心ポイントを識別するステップであって、前記第2の複数の関心ポイントの各々が、前記シーンから前記特徴のうちの1つまたは複数を識別する、ステップと、
    前記第1の複数の関心ポイントのサブセットと前記第2の複数の関心ポイントのサブセットをマッチングするステップと、
    前記第1の複数の関心ポイントの前記サブセットと前記第2の複数の関心ポイントの前記サブセットとをマッチングするステップに少なくとも一部分基づいて、前記オブジェクトに関連付けられた複数のキーポイントを識別し、かつ閾値距離よりも大きい、最も近い関心ポイントの閾値数までの平均距離をもつ関心ポイントを消去するステップと、
    前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶するステップと
    を含む方法。
  2. 前記オブジェクトに関連付けられた前記複数のキーポイントを識別するステップが、
    前記第1の複数の関心ポイントと前記第2の複数の関心ポイントとをフィルタリングして、前記オブジェクトに関連付けられている前記複数のキーポイントの前記少なくとも一部分を識別するステップを含む、請求項1に記載の方法。
  3. 前記第1の複数の関心ポイントと前記第2の複数の関心ポイントとをフィルタリングするステップが、
    他のキーフレームからの関心ポイントとマッチングしない前記関心ポイントを消去するステップ、および
    前記シーンの定義された関心ボリュームの外側の前記キーポイントを消去するステップ
    のうちの1つまたは複数を含む、請求項2に記載の方法。
  4. 前記シーンが平面ターゲットをさらに含む、請求項1に記載の方法。
  5. 前記平面ターゲットが、前記シーンの関心ボリュームを定義するのを支援するのに使用される、請求項4に記載の方法。
  6. 前記第1の複数の関心ポイントと前記第2の複数の関心ポイントをマッチングするステップが、
    第1の画像中の前記平面ターゲットの第1のロケーションから、前記デバイスの前記第1の位置を識別するステップと、
    第2の画像中の前記平面ターゲットの第2のロケーションから、前記デバイスの前記第2の位置を識別するステップと、
    前記デバイスの前記第1の位置と前記デバイスの前記第2の位置との間の相対的位置を判定するステップと、
    前記第1の位置と前記第2の位置との間の前記相対的位置に基づいて、前記第1の複数の関心ポイントと前記第2の複数の関心ポイントをマッチングするステップと、
    座標系における各キーポイントの位置を判定し、かつ記録するステップと
    を含む、請求項4に記載の方法。
  7. 各キーポイントが、キーポイントロケーション情報と、前記キーポイントを囲むピクセルについての情報とを含む、請求項1に記載の方法。
  8. 前記第1のキーフレームとして前記第1の画像を識別するステップが、ユーザ選択を含む、請求項1に記載の方法。
  9. 前記第1のキーフレームとして前記第1の画像を識別するステップが、前記デバイスによる自動選択を含む、請求項1に記載の方法。
  10. 前記第2のキーフレームとして前記第2の画像を識別するステップが、
    第2の画像内のキーポイント密度を識別するステップと、
    前記第2の位置と前記第1の位置との間の空間的関係を識別するステップと、
    前記第2の位置にあるキーフレームが、前記オブジェクト表現中で使用するための閾値を上回る値をもつデータを与えると判断するステップと、
    前記第2の画像を前記第2のキーフレームとして選択するステップと
    を含む、請求項9に記載の方法。
  11. オフラインオブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャするためのデバイスであって、
    シーンの複数の画像をキャプチャする、デバイスのカメラモジュールであって、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャする、カメラモジュールと、
    (1)第1のキーフレームと、前記第1のキーフレームに関連付けられた前記デバイスの第1の位置とを識別し、(2)第2のキーフレームと、前記第2のキーフレームに関連付けられた前記デバイスの第2の位置とを識別し、前記第2の位置が前記第1の位置とは異なり、(3)前記第1のキーフレームから第1の複数の関心ポイントを識別し、前記第1の複数の関心ポイントが、前記シーンから特徴を識別し、(4)前記第2のキーフレームから第2の複数の関心ポイントを識別し、前記第2の複数の関心ポイントが、前記特徴の少なくとも一部分を前記シーンから識別し、(5)前記第1の複数の関心ポイントの一部分と前記第2の複数の関心ポイントの一部分をマッチングし、(6)前記第1の複数の関心ポイントの前記一部分と前記第2の複数の関心ポイントの前記一部分との前記マッチングに少なくとも一部分基づいて、前記オブジェクトに関連付けられた複数のキーポイントを識別し、かつ閾値距離よりも大きい、最も近い関心ポイントの閾値数までの平均距離をもつ関心ポイントを消去する1つまたは複数のプロセッサと、
    前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶するメモリと
    を備えるデバイス。
  12. 前記デバイスが、
    前記カメラモジュールに結合されディスプレイであって、前記デバイスの前記カメラモジュールが前記シーンの前記複数の画像の少なくとも一部分をキャプチャすると、前記ディスプレイが前記複数のキーポイントの少なくとも一部分の画像を出力する、ディスプレイをさらに備える、請求項11に記載のデバイス。
  13. 前記ディスプレイが、前記オブジェクトに重ねられた前記複数のキーポイントの少なくとも第2の部分をもつ前記シーンのビデオ画像をさらに出力する、請求項12に記載のデバイス。
  14. 前記デバイスが、
    動きセンサーであって、前記デバイスの前記第2の位置が、前記動きセンサーからの情報を使って前記1つまたは複数のプロセッサによって識別される、動きセンサーをさらに備える、請求項11に記載のデバイス。
  15. 前記デバイスが、
    ユーザ入力モジュールであって、前記第1のキーフレームを識別することが、前記デバイスの前記ユーザ入力モジュールにおいて受信されるユーザ選択を含む、ユーザ入力モジュールをさらに備える、請求項11に記載のデバイス。
  16. 前記デバイスが、
    アンテナと、
    ワイヤレストランシーバと
    をさらに備え、
    前記1つまたは複数のプロセッサが、ネットワーク、前記アンテナ、および前記ワイヤレストランシーバを介して前記デバイスに結合される、請求項15に記載のデバイス。
  17. 非一時的コンピュータ可読記録媒体に結合されプロセッサによって実行されると、デバイスに、
    前記デバイスのカメラモジュールを使って、シーンの複数の画像をキャプチャすることであって、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャする、キャプチャすることと
    第1のキーフレームと、前記第1のキーフレームに関連付けられた前記デバイスの第1の位置とを識別することと
    第2のキーフレームと、前記第2のキーフレームに関連付けられた前記デバイスの第2の位置とを識別することであって、前記第2の位置が前記第1の位置とは異なる、識別することと
    前記第1のキーフレームから第1の複数の関心ポイントを識別することであって、前記第1の複数の関心ポイントが、前記シーンから特徴を識別する、識別することと
    前記第2のキーフレームから第2の複数の関心ポイントを識別することであって、前記第2の複数の関心ポイントが、前記特徴の少なくとも一部分を前記シーンから識別する、識別することと
    前記第1の複数の関心ポイントの一部分と前記第2の複数の関心ポイントの一部分をマッチングすることと
    前記第1の複数の関心ポイントの前記一部分と前記第2の複数の関心ポイントの前記一部分とのマッチングに少なくとも一部分基づいて、前記オブジェクトに関連付けられた複数のキーポイントを識別し、かつ閾値距離よりも大きい、最も近い関心ポイントの閾値数までの平均距離をもつ関心ポイントを消去することと
    前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶することと
    を行わせる命令を備える非一時的コンピュータ可読記録媒体。
  18. 前記命令が、前記プロセッサによって実行されると、前記デバイスに、
    前記第1の複数の関心ポイントと前記第2の複数の関心ポイントとをフィルタリングて、前記オブジェクトに関連付けられたキーポイントを識別することの一部として、前記オブジェクトに関連付けられた前記複数の関心ポイントを識別することをさらに行わせる、請求項17に記載の非一時的コンピュータ可読記録媒体。
  19. 前記命令が、前記プロセッサによって実行されると、前記デバイスに、
    前記第1の複数の関心ポイントと前記第2の複数の関心ポイントとをフィルタリングして、前記オブジェクトに関連付けられた関心ポイントを識別することの一部として、他のキーフレームからの関心ポイントとマッチングしない前記関心ポイントを消去することをさらに行わせる、請求項18に記載の非一時的コンピュータ可読記録媒体。
  20. 前記命令が、前記プロセッサによって実行されると、前記デバイスに、
    前記第1の複数の関心ポイントと前記第2の複数の関心ポイントとをフィルタリングして、前記オブジェクトに関連付けられた関心ポイントを識別することの一部として、前記オブジェクトの定義されたボリュームの外側のキーポイントのセットを消去することをさらに行わせ
    前記オブジェクト検出データベース中の前記オブジェクト表現として、前記オブジェクトに関連付けられた前記複数のキーポイントの各キーポイントが、座標情報、輝度情報、および周辺ピクセルパターン情報を含む、請求項18に記載の非一時的コンピュータ可読記録媒体。
JP2016519630A 2013-06-11 2014-06-11 データベース作成のための対話型および自動的3dオブジェクト走査方法 Active JP6144826B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201361833889P true 2013-06-11 2013-06-11
US61/833,889 2013-06-11
US14/302,056 2014-06-11
US14/302,056 US9501725B2 (en) 2013-06-11 2014-06-11 Interactive and automatic 3-D object scanning method for the purpose of database creation
PCT/US2014/042005 WO2014201176A1 (en) 2013-06-11 2014-06-11 Interactive and automatic 3-d object scanning method for the purpose of database creation

Publications (3)

Publication Number Publication Date
JP2016521892A JP2016521892A (ja) 2016-07-25
JP2016521892A5 JP2016521892A5 (ja) 2017-03-23
JP6144826B2 true JP6144826B2 (ja) 2017-06-07

Family

ID=52005520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016519630A Active JP6144826B2 (ja) 2013-06-11 2014-06-11 データベース作成のための対話型および自動的3dオブジェクト走査方法

Country Status (6)

Country Link
US (1) US9501725B2 (ja)
EP (1) EP3008694B1 (ja)
JP (1) JP6144826B2 (ja)
KR (1) KR101775591B1 (ja)
CN (1) CN105247573B (ja)
WO (1) WO2014201176A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
WO2015008798A1 (ja) * 2013-07-18 2015-01-22 三菱電機株式会社 目標類識別装置
SG2013069893A (en) * 2013-09-13 2015-04-29 Jcs Echigo Pte Ltd Material handling system and method
KR20150049535A (ko) * 2013-10-30 2015-05-08 삼성전자주식회사 전자장치 및 그 이용방법
US10380410B2 (en) * 2014-04-07 2019-08-13 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
US10026010B2 (en) * 2014-05-14 2018-07-17 At&T Intellectual Property I, L.P. Image quality estimation using a reference image portion
JP6399518B2 (ja) * 2014-12-18 2018-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 処理装置、処理方法、およびプログラム
US10133947B2 (en) * 2015-01-16 2018-11-20 Qualcomm Incorporated Object detection using location data and scale space representations of image data
WO2016135198A1 (en) * 2015-02-26 2016-09-01 Brüel & Kjær Sound & Vibration Measurement A/S Method of detecting a spatial orientation of a transducer by one or more spatial orientation features
US10042078B2 (en) * 2015-02-27 2018-08-07 The United States of America, as Represented by the Secretary of Homeland Security System and method for viewing images on a portable image viewing device related to image screening
US9595038B1 (en) * 2015-05-18 2017-03-14 Amazon Technologies, Inc. Inventory confirmation
RU2602386C1 (ru) * 2015-05-26 2016-11-20 Общество с ограниченной ответственностью "Лаборатория 24" Способ визуализации объекта
CN107851133A (zh) * 2015-06-05 2018-03-27 赫克斯冈技术中心 用于使用多事务技术对面向对象环境中的对象执行几何变换的方法和设备
US9734587B2 (en) * 2015-09-30 2017-08-15 Apple Inc. Long term object tracker
EP3408848A4 (en) 2016-01-29 2019-08-28 Pointivo Inc. SYSTEMS AND METHOD FOR EXTRACTING INFORMATION ON OBJECTS FROM SCENE INFORMATION
US10003732B2 (en) * 2016-02-25 2018-06-19 Foodim Ltd Depth of field processing
JP6744747B2 (ja) * 2016-04-01 2020-08-19 キヤノン株式会社 情報処理装置およびその制御方法
US10019839B2 (en) 2016-06-30 2018-07-10 Microsoft Technology Licensing, Llc Three-dimensional object scanning feedback
US10395125B2 (en) 2016-10-06 2019-08-27 Smr Patents S.A.R.L. Object detection and classification with fourier fans
EP3529023A4 (en) * 2016-10-19 2020-07-01 Shapeways, Inc. SYSTEMS AND METHODS FOR IDENTIFYING 3D PRINTED OBJECTS
JP2018067115A (ja) * 2016-10-19 2018-04-26 セイコーエプソン株式会社 プログラム、追跡方法、追跡装置
US10194097B2 (en) * 2017-01-13 2019-01-29 Gopro, Inc. Apparatus and methods for the storage of overlapping regions of imaging data for the generation of optimized stitched images
CN107481284A (zh) * 2017-08-25 2017-12-15 京东方科技集团股份有限公司 目标物跟踪轨迹精度测量的方法、装置、终端及系统
EP3676807A1 (en) * 2017-08-31 2020-07-08 SONY Corporation Methods, devices and computer program products for generating 3d images
US20200202624A1 (en) * 2017-08-31 2020-06-25 Sony Corporation Methods, devices and computer program products for generation of mesh in constructed 3d images
WO2019075276A1 (en) * 2017-10-11 2019-04-18 Aquifi, Inc. SYSTEMS AND METHODS FOR IDENTIFYING OBJECT
US10860847B2 (en) * 2017-10-17 2020-12-08 Motorola Mobility Llc Visual perception assistant
CN108592919B (zh) * 2018-04-27 2019-09-17 百度在线网络技术(北京)有限公司 制图与定位方法、装置、存储介质和终端设备
US10885622B2 (en) * 2018-06-29 2021-01-05 Photogauge, Inc. System and method for using images from a commodity camera for object scanning, reverse engineering, metrology, assembly, and analysis
CN109840500A (zh) * 2019-01-31 2019-06-04 深圳市商汤科技有限公司 一种三维人体姿态信息检测方法及装置
CN109931906A (zh) * 2019-03-28 2019-06-25 杭州华雁云态信息技术有限公司 摄像机测距方法、装置以及电子设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
JP4715539B2 (ja) * 2006-02-15 2011-07-06 トヨタ自動車株式会社 画像処理装置、その方法、および画像処理用プログラム
US8026931B2 (en) * 2006-03-16 2011-09-27 Microsoft Corporation Digital video effects
NO327279B1 (no) 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
US20090010507A1 (en) 2007-07-02 2009-01-08 Zheng Jason Geng System and method for generating a 3d model of anatomical structure using a plurality of 2d images
CA2703314A1 (en) 2009-05-06 2010-11-06 University Of New Brunswick Method of interest point matching for images
JP5384746B2 (ja) 2009-12-02 2014-01-08 クゥアルコム・インコーポレイテッドQualcomm Incorporated プルーニング機能、画像スケーリング、および、空間制約付き特徴マッチングによる画像認識アルゴリズムの性能の改善
JP5045827B2 (ja) * 2011-02-01 2012-10-10 カシオ計算機株式会社 画像処理装置、画像処理方法、及び、プログラム
US9020187B2 (en) 2011-05-27 2015-04-28 Qualcomm Incorporated Planar mapping and tracking for mobile devices
AU2011253973B2 (en) 2011-12-12 2015-03-12 Canon Kabushiki Kaisha Keyframe selection for parallel tracking and mapping

Also Published As

Publication number Publication date
EP3008694A1 (en) 2016-04-20
WO2014201176A1 (en) 2014-12-18
US20140363048A1 (en) 2014-12-11
EP3008694B1 (en) 2021-01-27
CN105247573B (zh) 2018-11-30
US9501725B2 (en) 2016-11-22
KR101775591B1 (ko) 2017-09-06
JP2016521892A (ja) 2016-07-25
KR20160019497A (ko) 2016-02-19
CN105247573A (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
US10311648B2 (en) Systems and methods for scanning three-dimensional objects
US20180144480A1 (en) Method and apparatus to generate haptic feedback from video content analysis
US10740975B2 (en) Mobile augmented reality system
US9870624B1 (en) Three-dimensional mapping of an environment
US9886774B2 (en) Photogrammetric methods and devices related thereto
US10593104B2 (en) Systems and methods for generating time discrete 3D scenes
Zollmann et al. Augmented reality for construction site monitoring and documentation
Chen et al. Crowd map: Accurate reconstruction of indoor floor plans from crowdsourced sensor-rich videos
US9904850B2 (en) Fast recognition algorithm processing, systems and methods
US9031283B2 (en) Sensor-aided wide-area localization on mobile devices
Wendel et al. Dense reconstruction on-the-fly
KR20180015120A (ko) 자동화된 3차원 모델 생성
TWI570633B (zh) 以參考特徵匹配影像特徵之方法
JP2015144007A (ja) 拡張現実環境のためのモバイルデバイスベースのコンテンツマッピング
JP6348574B2 (ja) 総体的カメラ移動およびパノラマカメラ移動を使用した単眼視覚slam
US10529141B2 (en) Capturing and aligning three-dimensional scenes
US10250800B2 (en) Computing device having an interactive method for sharing events
KR101548834B1 (ko) 클라우드 보조 증강 현실을 위한 적응적 프레임워크
EP2915140B1 (en) Fast initialization for monocular visual slam
Chen et al. City-scale landmark identification on mobile devices
EP2807453B1 (en) System and method for determining location of a device using opposing cameras
US9558559B2 (en) Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
JP6602889B2 (ja) 移動体装置ローカリゼーションのためのエリア記述ファイルのクラウドソーシングによる作成および更新
JP5380789B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CN109084746A (zh) 用于具有辅助传感器的自主平台引导系统的单目模式

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170410

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170417

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170511

R150 Certificate of patent or registration of utility model

Ref document number: 6144826

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250