(57)【要約】  オフラインオブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャし、簡潔表現を、オブジェクト表現としてデータベースに記憶するためのシステム、方法、およびデバイスについて記載する。一実施形態は、シーンのフレームをキャプチャすること、シーンの異なるキーフレームから関心ポイントを識別すること、関心ポイントを使用して、関連付けられた3次元キーポイントを作成すること、およびオブジェクトに関連付けられたキーポイントを、オブジェクト表現としてオブジェクト検出データベースに記憶することを含み得る。
2016521892.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャする方法であって、
デバイスのカメラモジュールを使用して、シーンの複数の画像をキャプチャするステップであって、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャする、ステップと、
第1のキーフレームを、前記複数の画像および前記第1のキーフレームに関連付けられた前記デバイスの第1の位置から識別するステップと、
第2のキーフレームを、前記複数の画像および前記第2のキーフレームに関連付けられた前記デバイスの第2の位置から識別するステップであって、前記第2の位置が前記第1の位置とは異なる、ステップと、
前記第1のキーフレームから第1の複数の関心ポイントを識別するステップであって、前記第1の複数の関心ポイントの各々が、前記シーンから1つまたは複数の特徴を識別する、ステップと、
前記第2のキーフレームから第2の複数の関心ポイントを識別するステップであって、前記第2の複数の関心ポイントの各々が、前記シーンから前記特徴のうちの1つまたは複数を識別する、ステップと、
前記第1の複数の関心ポイントのサブセットと前記第2の複数の関心ポイントのサブセットをマッチングするステップと、
前記第1の複数の関心ポイントの前記サブセットと前記第2の複数の関心ポイントの前記サブセットの前記マッチングに少なくとも部分的に基づいて、前記オブジェクトに関連付けられた複数のキーポイントを識別するステップと、
前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶するステップとを含む方法。
【請求項２】
前記オブジェクトに関連付けられた前記複数のキーポイントを識別するステップが、
前記第1の複数の関心ポイントおよび前記第2の複数の関心ポイントをフィルタリングして、前記オブジェクトに関連付けられている前記複数のキーポイントの前記少なくとも一部分を識別するステップを含む、請求項1に記載の方法。
【請求項３】
前記第1の複数の関心ポイントおよび前記第2の複数の関心ポイントをフィルタリングするステップが、
閾値距離よりも小さい、閾値数の最も近い関心ポイントまでの平均距離をもつ関心ポイントを消去するステップ、
他のキーフレームからの関心ポイントとマッチングしない前記関心ポイントを消去するステップ、および
前記シーンの定義された関心ボリュームの外側の前記キーポイントを消去するステップのうちの1つまたは複数を含む、請求項2に記載の方法。
【請求項４】
前記シーンが平面ターゲットをさらに含む、請求項1に記載の方法。
【請求項５】
前記平面ターゲットが、前記シーンの関心ボリュームを定義するのを支援するのに使用される、請求項4に記載の方法。
【請求項６】
前記第1の複数の関心ポイントと前記第2の複数の関心ポイントをマッチングするステップが、
第1の画像中の前記平面ターゲットの第1のロケーションから、前記デバイスの前記第1の位置を識別するステップと、
第2の画像中の前記平面ターゲットの第2のロケーションから、前記デバイスの前記第2の位置を識別するステップと、
前記デバイスの前記第1の位置と前記デバイスの前記第2の位置との間の相対的位置を判定するステップと、
前記第1の位置と前記第2の位置との間の前記相対的位置に基づいて、前記第1の複数の関心ポイントと前記第2の複数の関心ポイントをマッチングするステップと、
座標系における各キーポイントの位置を判断し、記録するステップとを含む、請求項4に記載の方法。
【請求項７】
各キーポイントが、キーポイントロケーション情報と、前記キーポイントを囲むピクセルについての情報とを含む、請求項1に記載の方法。
【請求項８】
前記第1の画像を前記第1のキーフレームとして識別するステップがユーザ選択を含む、請求項1に記載の方法。
【請求項９】
前記第1の画像を前記第1のキーフレームとして識別するステップが、前記デバイスによる自動選択を含む、請求項1に記載の方法。
【請求項１０】
前記第2の画像を前記第2のキーフレームとして識別するステップが、
前記第2の画像内のキーポイント密度を識別するステップと、
前記第2の位置と前記第1の位置との間の空間的関係を識別するステップと、
前記第2の位置にあるキーフレームが、前記オブジェクト表現中で使用するための閾値を上回るデータ値をもつデータを与えると判断するステップと、
前記第2の画像を前記第2のキーフレームとして選択するステップとを含む、請求項9に記載の方法。
【請求項１１】
オフラインオブジェクト検出に適した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つまたは複数のプロセッサと、
前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶するメモリとを備えるデバイス。
【請求項１２】
前記デバイスが、
前記カメラモジュールに結合されたディスプレイであって、前記ディスプレイが、前記デバイスの前記カメラモジュールが前記シーンの前記複数の画像の少なくとも一部分をキャプチャすると、前記複数のキーポイントの少なくとも一部分の画像を出力する、ディスプレイをさらに備える、請求項11に記載のデバイス。
【請求項１３】
前記ディスプレイが、前記オブジェクトに重ねられた前記複数のキーポイントの少なくとも第2の部分をもつ前記シーンのビデオ画像をさらに出力する、請求項12に記載のデバイス。
【請求項１４】
前記デバイスが、
動きセンサーであって、前記デバイスの前記第2の位置が、前記動きセンサーからの情報を使用して前記1つまたは複数のプロセッサによって識別される、動きセンサーをさらに備える、請求項11に記載のデバイス。
【請求項１５】
前記デバイスが、
ユーザ入力モジュールであって、前記第1のキーフレームを識別することが、前記デバイスの前記ユーザ入力モジュールにおいて受信されるユーザ選択を含む、ユーザ入力モジュールをさらに備える、請求項11に記載のデバイス。
【請求項１６】
前記デバイスが、
アンテナと、
ワイヤレストランシーバとをさらに備え、
前記1つまたは複数のプロセッサが、ネットワーク、前記アンテナ、および前記ワイヤレストランシーバを介して前記デバイスに結合される、請求項15に記載のデバイス。
【請求項１７】
非一時的コンピュータ可読媒体に結合されたプロセッサによって実行されると、デバイスに、
前記デバイスのカメラモジュールを使用して、シーンの複数の画像をキャプチャさせ、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャし、
第1のキーフレームと、前記第1のキーフレームに関連付けられた前記デバイスの第1の位置とを識別させ、
第2のキーフレームと、前記第2のキーフレームに関連付けられた前記デバイスの第2の位置とを識別させ、前記第2の位置が前記第1の位置とは異なり、
前記第1のキーフレームから第1の複数の関心ポイントを識別させ、前記第1の複数の関心ポイントが、前記シーンから特徴を識別し、
前記第2のキーフレームから第2の複数の関心ポイントを識別させ、前記第2の複数の関心ポイントが、前記特徴の少なくとも一部分を前記シーンから識別し、
前記第1の複数の関心ポイントの一部分と前記第2の複数の関心ポイントの一部分をマッチングさせ、
前記第1の複数の関心ポイントの前記部分と前記第2の複数の関心ポイントの前記部分の一致に少なくとも部分的に基づいて、前記オブジェクトに関連付けられた複数のキーポイントを識別させ、
前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶させる命令を備える非一時的コンピュータ可読媒体。
【請求項１８】
前記命令が、前記プロセッサによって実行されると、前記デバイスにさらに、
前記オブジェクトに関連付けられたキーポイントを識別することの一部として、前記第1の複数の関心ポイントおよび前記第2の複数の関心ポイントをフィルタリングさせて、前記オブジェクトに関連付けられた前記複数の関心ポイントを識別させる、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記命令が、前記プロセッサによって実行されると、前記デバイスにさらに、
前記第1の複数の関心ポイントおよび前記第2の複数の関心ポイントをフィルタリングして、前記オブジェクトに関連付けられた関心ポイントを識別することの一部として、閾値距離よりも小さい、閾値数の他の関心ポイントまでの平均距離をもつ関心ポイントを消去させ、他のキーフレームからの関心ポイントとマッチングしない前記関心ポイントを消去させる、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記命令が、前記プロセッサによって実行されると、前記デバイスにさらに、
前記第1の複数の関心ポイントおよび前記第2の複数の関心ポイントをフィルタリングして、前記オブジェクトに関連付けられた関心ポイントを識別することの一部として、前記オブジェクトの定義されたボリュームの外側のキーポイントのセットを消去させ、
前記オブジェクト検出データベース中の前記オブジェクト表現として、前記オブジェクトに関連付けられた前記複数のキーポイントの各キーポイントが、座標情報、輝度情報、および周辺ピクセルパターン情報を含む、請求項18に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、画像認識に関し、詳細には、オブジェクトを識別するのを支援するのに使用され得る情報に基づくオブジェクト表現の作成に関する。
【背景技術】
【０００２】
デジタルカメラ、組込みカメラ付き電話、または他のカメラもしくはセンサーデバイスなどのデバイスが、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  ネットワーク
【図１】
2016521892.tif 000003
【図２】
2016521892.tif 000004
【図５】
2016521892.tif 000005
【図６】
2016521892.tif 000006
【図７】
2016521892.tif 000007
【図３Ａ】
2016521892.tif 000008
【図３Ｂ】
2016521892.tif 000009
【図３Ｃ】
2016521892.tif 000010
【図３Ｄ】
2016521892.tif 000011
【図３Ｅ】
2016521892.tif 000012
【図４】
2016521892.tif 000013
【手続補正書】
【提出日】平成27年8月11日(2015.8.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャする方法であって、
デバイスのカメラモジュールを使って、シーンの複数の画像をキャプチャするステップであって、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャする、ステップと、
第1のキーフレームを、前記複数の画像および前記第1のキーフレームに関連付けられた前記デバイスの第1の位置から識別するステップと、
第2のキーフレームを、前記複数の画像および前記第2のキーフレームに関連付けられた前記デバイスの第2の位置から識別するステップであって、前記第2の位置が前記第1の位置とは異なる、ステップと、
前記第1のキーフレームから第1の複数の関心ポイントを識別するステップであって、前記第1の複数の関心ポイントの各々が、前記シーンから1つまたは複数の特徴を識別する、ステップと、
前記第2のキーフレームから第2の複数の関心ポイントを識別するステップであって、前記第2の複数の関心ポイントの各々が、前記シーンから前記特徴のうちの1つまたは複数を識別する、ステップと、
前記第1の複数の関心ポイントのサブセットと前記第2の複数の関心ポイントのサブセットをマッチングして、3次元キーポイントのセットを作成するステップと、
3次元キーポイントの前記セットから、前記オブジェクトに関連付けられた複数のキーポイントを識別して、背景を表すキーポイントから、前記オブジェクトを表すキーポイントを分離するステップと、
前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶するステップとを含む方法。
【請求項２】
前記オブジェクトに関連付けられた前記複数のキーポイントを識別するステップが、
3次元キーポイントの前記セットをフィルタリングして、前記オブジェクトに関連付けられている前記複数のキーポイントを識別するステップを含む、請求項1に記載の方法。
【請求項３】
3次元キーポイントの前記セットをフィルタリングするステップが、
閾値距離よりも小さい、閾値数の最も近いキーポイントまでの平均距離をもつキーポイントを消去するステップ、および
前記シーンの定義された関心ボリュームの外側のキーポイントを消去するステップのうちの1つまたは複数を含む、請求項2に記載の方法。
【請求項４】
前記シーンが平面ターゲットをさらに含む、請求項1に記載の方法。
【請求項５】
前記平面ターゲットが、前記シーンの関心ボリュームを定義するのを支援するのに使用される、請求項4に記載の方法。
【請求項６】
前記第1の複数の関心ポイントと前記第2の複数の関心ポイントをマッチングするステップが、
前記第1のキーフレーム中の前記平面ターゲットの第1のロケーションから、前記デバイスの前記第1の位置を識別するステップと、
前記第2のキーフレーム中の前記平面ターゲットの第2のロケーションから、前記デバイスの前記第2の位置を識別するステップと、
前記デバイスの前記第1の位置と前記デバイスの前記第2の位置との間の相対的位置を判定するステップと、
前記第1の位置と前記第2の位置との間の前記相対的位置に基づいて、前記第1の複数の関心ポイントと前記第2の複数の関心ポイントをマッチングするステップと、
座標系における各キーポイントの位置を判定し、記録するステップとを含む、請求項4に記載の方法。
【請求項７】
各キーポイントが、キーポイントロケーション情報と、前記キーポイントを囲むピクセルに関連付けられた情報とを含む、請求項1に記載の方法。
【請求項８】
前記複数の画像から前記第1のキーフレームを識別するステップが、前記第1のキーフレームとしての第1の画像のユーザ選択を含む、請求項1に記載の方法。
【請求項９】
前記複数の画像から前記第1のキーフレームを識別するステップが、前記デバイスによる、前記第1のキーフレームとしての画像の自動選択を含む、請求項1に記載の方法。
【請求項１０】
前記複数の画像から前記第2のキーフレームを識別するステップが、
第2の画像内のキーポイント密度を識別するステップと、
前記第2の位置と前記第1の位置との間の空間的関係を識別するステップと、
前記キーポイント密度および前記空間的関係に基づいて、前記第2の位置にあるキーフレームが、前記オブジェクト表現中で使用するための閾値を上回る値をもつデータを与えると判断するステップと、
前記第2の画像を前記第2のキーフレームとして選択するステップとを含む、請求項9に記載の方法。
【請求項１１】
オフラインオブジェクト検出に適した3次元オブジェクトの簡潔表現をキャプチャするためのデバイスであって、
シーンの複数の画像をキャプチャする、デバイスのカメラモジュールであって、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャする、カメラモジュールと、
(1)第1のキーフレームと、前記第1のキーフレームに関連付けられた前記デバイスの第1の位置とを識別し、(2)第2のキーフレームと、前記第2のキーフレームに関連付けられた前記デバイスの第2の位置とを識別し、前記第2の位置が前記第1の位置とは異なり、(3)前記第1のキーフレームから第1の複数の関心ポイントを識別し、前記第1の複数の関心ポイントが、前記シーンから特徴を識別し、(4)前記第2のキーフレームから第2の複数の関心ポイントを識別し、前記第2の複数の関心ポイントが、前記特徴の少なくとも一部分を前記シーンから識別し、(5)前記第1の複数の関心ポイントの一部分と前記第2の複数の関心ポイントの一部分をマッチングして、3次元キーポイントのセットを作成し、(6)3次元キーポイントの前記セットから、前記オブジェクトに関連付けられた複数のキーポイントを識別して、背景を表すキーポイントから、前記オブジェクトを表すキーポイントを分離する1つまたは複数のプロセッサと、
前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶するメモリとを備えるデバイス。
【請求項１２】
前記デバイスが、
前記カメラモジュールに結合されたディスプレイであって、前記ディスプレイが、前記デバイスの前記カメラモジュールが前記シーンの前記複数の画像の少なくとも一部分をキャプチャすると、前記複数のキーポイントの少なくとも一部分の画像を出力する、ディスプレイをさらに備える、請求項11に記載のデバイス。
【請求項１３】
前記ディスプレイが、前記オブジェクトに重ねられた前記複数のキーポイントの少なくとも第2の部分をもつ前記シーンのビデオ画像をさらに出力する、請求項12に記載のデバイス。
【請求項１４】
前記デバイスが、
動きセンサーであって、前記デバイスの前記第2の位置が、前記動きセンサーからの情報を使って前記1つまたは複数のプロセッサによって識別される、動きセンサーをさらに備える、請求項11に記載のデバイス。
【請求項１５】
前記デバイスが、
ユーザ入力モジュールであって、前記第1のキーフレームを識別することが、前記デバイスの前記ユーザ入力モジュールにおいて受信されるユーザ選択を含む、ユーザ入力モジュールをさらに備える、請求項11に記載のデバイス。
【請求項１６】
前記デバイスが、
アンテナと、
ワイヤレストランシーバとをさらに備え、
前記1つまたは複数のプロセッサが、ネットワーク、前記アンテナ、および前記ワイヤレストランシーバを介して前記デバイスに結合される、請求項15に記載のデバイス。
【請求項１７】
非一時的コンピュータ可読媒体に結合されたプロセッサによって実行されると、デバイスに、
前記デバイスのカメラモジュールを使って、シーンの複数の画像をキャプチャさせ、前記シーンの前記複数の画像の各々が、オブジェクトの少なくとも一部分をキャプチャし、
第1のキーフレームと、前記第1のキーフレームに関連付けられた前記デバイスの第1の位置とを識別させ、
第2のキーフレームと、前記第2のキーフレームに関連付けられた前記デバイスの第2の位置とを識別させ、前記第2の位置が前記第1の位置とは異なり、
前記第1のキーフレームから第1の複数の関心ポイントを識別させ、前記第1の複数の関心ポイントが、前記シーンから特徴を識別し、
前記第2のキーフレームから第2の複数の関心ポイントを識別させ、前記第2の複数の関心ポイントが、前記特徴の少なくとも一部分を前記シーンから識別し、
前記第1の複数の関心ポイントの一部分と前記第2の複数の関心ポイントの一部分をマッチングして、3次元キーポイントのセットを作成させ、
3次元キーポイントの前記セットから、前記オブジェクトに関連付けられた複数のキーポイントを識別して、背景を表すキーポイントから、前記オブジェクトを表すキーポイントを分離させ、
前記オブジェクトに関連付けられた前記複数のキーポイントの少なくとも一部分を、オブジェクト検出データベース中のオブジェクト表現として記憶させる命令を備える非一時的コンピュータ可読媒体。
【請求項１８】
前記命令が、前記プロセッサによって実行されると、前記デバイスにさらに、
3次元キーポイントの前記セットをフィルタリングさせて、前記オブジェクトに関連付けられた前記複数のキーポイントを識別させる、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記命令が、前記プロセッサによって実行されると、前記デバイスにさらに、
3次元キーポイントの前記セットをフィルタリングして、前記オブジェクトに関連付けられたキーポイントを識別することの一部として、閾値距離よりも小さい、閾値数の他のキーポイントまでの平均距離をもつキーポイントを消去させる、請求項18に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記命令が、前記プロセッサによって実行されると、前記デバイスにさらに、
3次元キーポイントの前記セットをフィルタリングして、前記オブジェクトに関連付けられたキーポイントを識別することの一部として、前記オブジェクトの定義されたボリュームの外側のキーポイントのセットを消去させ、
前記オブジェクト検出データベース中の前記オブジェクト表現として、前記オブジェクトに関連付けられた前記複数のキーポイントの各キーポイントが、座標情報、輝度情報、および周辺ピクセルパターン情報を含む、請求項18に記載の非一時的コンピュータ可読媒体。
【国際調査報告】
2016521892.tif 000014
2016521892.tif 000015