JP6198230B2 - 深度カメラを使用した頭部姿勢トラッキング - Google Patents

深度カメラを使用した頭部姿勢トラッキング Download PDF

Info

Publication number
JP6198230B2
JP6198230B2 JP2014556555A JP2014556555A JP6198230B2 JP 6198230 B2 JP6198230 B2 JP 6198230B2 JP 2014556555 A JP2014556555 A JP 2014556555A JP 2014556555 A JP2014556555 A JP 2014556555A JP 6198230 B2 JP6198230 B2 JP 6198230B2
Authority
JP
Japan
Prior art keywords
color image
frame
image frame
transformation matrix
input color
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
JP2014556555A
Other languages
English (en)
Other versions
JP2015513662A (ja
JP2015513662A5 (ja
Inventor
リウ,ズーチュヨン
ジャーン,ジュヨンヨウ
リー,ジェンニーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015513662A publication Critical patent/JP2015513662A/ja
Publication of JP2015513662A5 publication Critical patent/JP2015513662A5/ja
Application granted granted Critical
Publication of JP6198230B2 publication Critical patent/JP6198230B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Description

頭部姿勢トラッキングには通常、空間内の人の頭部の位置及び向きを周期的に求めることが関係する。
空間内の人の頭部の位置は通常、空間の予め確立されたワールド座標系によって表される3D位置として規定される。前述の位置は例えば、頭部の重心(すなわち、人の頭部の推定中心)と関連付けることが可能である。しかし、代替的には、人の頭部に関連付けられた容易に確かめることができる別の点を規定することも可能である。頭部姿勢の向きは通常、頭部の重心(又は規定された頭部の他の点)においてその共通の原点を有する3つの直交軸を中心とした回転(ピッチ、ロール、ヨー)によって規定される。通常、ピッチは頭部の上下移動であり、ヨーは頭部の左右移動であり、ロールは頭部の側方移動である。
頭部姿勢は、種々のアプリケーションにおいて使用される。例えば、頭部姿勢は、拡張現実アプリケーションのコンテキストにおいて追跡される。拡張現実アプリケーションでは、ユーザは、ディスプレイ上にレンダリングされた仮想オブジェクト、及び現実世界をともに視ることが可能であるように少なくとも1つの半透明ディスプレイを備えたゴーグル又は同様な装置を身に着ける。仮想オブジェクトは、現実環境の一部であるかのようにみえる必要がある。環境の一部であるかのように仮想オブジェクトがみえることを確実にするための技術的構成部分の1つには、頭部姿勢トラッキングがある。ユーザが自分の頭部を移動させると、(ユーザの頭部とともに移動する)ディスプレイ上にレンダリングされた仮想オブジェクトは、実環境に対して静止状態にみえる必要がある。
正確な頭部姿勢トラッキングを実現する試みの1つには、例えば、壁又は天井の既知の位置に既知のパターンを有するマーカを配置することにより、実環境の計装を行うことが関係する。(ユーザの頭部上、又は空間内の別の箇所上に搭載された)通常のビデオ・カメラによって捕捉された画像が次いで、画像内のマーカの位置に基づいてユーザの頭部姿勢を計算するためのコンピュータ・ビジョン技術を使用して処理される。別の試みには、ユーザの頭部姿勢を確かめるための、(ヘルメット上、又はゴーグル対内などの)ユーザの頭部上に搭載された慣性センサ(例えば、ジャイロスコープ、加速度計、及びコンパス)の使用が関係する。更に、環境を計装する必要なしで頭部姿勢推定を得るために従来の1つ又は複数のビデオ・カメラと慣性センサが組み合わせられる頭部姿勢トラッキング手法が提案されている。
本明細書及び特許請求の範囲に記載された頭部姿勢トラッキング手法の実施例には、一般に、空間内の人の頭部の位置及び向きを周期的に求めることも関係する。一般的な例示的実施例の1つでは、これは、ユーザの頭部上に配置されるよう構成されたセンサ群を使用して実現される。前述のセンサ群は効果的には、センサ群によって検知されたシーン内の点の3次元位置を識別するために使用される深度センサ装置、及び少なくとも1つの他のタイプのセンサを含む。コンピューティング装置は、頭部姿勢トラッキング・コンピュータ・プログラムを実行させるために使用される。コンピュータ・プログラムは、センサ群内の各センサによって出力されたデータを周期的に入力するためのモジュールを含む。これは更に、センサの1つ又は複数からデータが入力される都度、変換行列を計算するために、入力されたデータを使用するためのモジュールを含む。最初のセンサ・データが入力された際に確立された、先行して求められた頭部姿勢の位置及び向きに適用されると、前述の変換行列は、現在の頭部姿勢の位置及び向きを識別する。
特に、一実施例では、上述の他のタイプのセンサは、カラー・ビデオ・カメラである。深度センサ装置及びカラー・ビデオ・カメラは、深度フレーム及びカラー画像フレームそれぞれの形式で、同時のシーン・データを周期的に生成するように同期化される。更に、深度センサ装置及びカラー・ビデオ・カメラは、(可能な場合、)同時生成された深度フレームにおける対応する3次元シーン位置に各カラー画像フレーム内の各画素をマッピングするよう校正される。その場合、前述のコンピュータ・プログラムには、同時に生成された深度フレーム及びカラー画像フレームそれぞれを最初に入力する工程が関係する。(最初の入力フレーム対後に)入力された前述のフレーム対毎に、最後に入力されたカラー画像フレームと、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間で、一致特徴が識別される。次いで、最初の変換行列が、識別された一致特徴、及び、最後に入力されたカラー画像フレームと、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴の対応する3次元位置を使用して推定される。前述の変換行列は、一フレ―ムから別のフレームへの、特に、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームから、最後に入力されたカラー画像フレームへの、点の平行移動及び回転を規定する。次いで、最初の入力カラー画像フレームから、最後に入力されたカラー画像フレームへの、点の平行移動及び回転を規定する最後の変換行列が推定される。このことは、最初のカラー画像フレームから、最後に入力されたカラー画像フレームの直前に入力されたカラー画像フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び、直近のカラー画像フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する最初の変換行列を累算することによって実現される。現在の頭部姿勢の位置及び向きを識別するために、最初の入力カラー画像フレームにおいて表すシーン内の先行して求められた頭部姿勢の位置及び向きに、最後の変換行列が次いで適用される。
更に別の実施例では、上述の他のタイプのセンサは、上述のように構成されたカラー・ビデオ・カメラを含むのみならず、3つの軸を中心とした角速度、及び3つの軸に沿った線加速度を測定する慣性センサ一式も含む。慣性センサは、深度フレーム及びカラー画像フレームが提供されるレート以上のレートで1フレーム分の角速度及び線加速度データを提供する。この場合、上述のコンピュータ・プログラムには、生成された慣性センサ・フレームそれぞれを最初に入力する工程が関係する。次いで、(最初の入力慣性センサ・フレームの後に)入力された慣性センサ・フレーム毎に、現在の慣性センサ・ベースの変換行列が、最後に入力された慣性センサ・フレームを使用して推定される。前述の慣性センサ・ベースの変換行列は、直前の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び移動を規定する。最初の慣性センサ・フレームから、最後に入力された慣性センサ・フレームの直前に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び、直前の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する現在の慣性センサ・ベースの変換行列を累算することにより、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する最後の慣性センサ・ベースの変換行列が次いで、推定される。次いで、新たなカラー・ビデオ及び深度フレームが生成されているかが判定される。否定の場合、現在の頭部姿勢の位置及び向きを識別するために、最後の慣性センサ・ベースの変換行列が、最初の入力慣性センサ・フレームに関連付けられた先行して求められた頭部姿勢の位置及び向きに適用される。しかし、新たなカラー・ビデオ及び深度フレームは、生成されている場合、入力され、最後に入力されたカラー画像フレームと、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴が識別される。次いで、画像ベースの変換行列が、識別された一致特徴、及び、最後に入力されたカラー画像フレームと、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の、一致特徴の対応する3次元位置を使用して推定される。前述の画像ベースの変換行列は、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する。最初の入力慣性センサ・フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する最後の画像ベースの変換行列は次いで、最初の慣性センサ・フレームから、最後に入力されたカラー画像フレームの直前に入力されたカラー画像フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び
直前のカラー画像フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する現在の画像ベースの変換行列を累算することによって推定される。最後の画像ベースの変換行列、及び最後の慣性センサ・ベースの変換行列を、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する単一の結合変換行列を生成するよう合併させる。前述の結合変換行列は次いで、現在の頭部姿勢の位置及び向きを識別するために、最初の入力慣性センサ・フレームに関連付けられた先行して求められた頭部姿勢の位置及び向きに適用される。
本概要は、詳細な説明において以下に更に説明された、単純化された形式での概念の選択肢を紹介するために提供する。本概要は、特許請求の範囲に記載の主題の主要な構成又は必須の構成を識別することを意図するものでなく、特許請求の範囲に記載の主題の範囲の規定を助けるものとして使用されることを意図するものでもない。
本開示の特定の構成、局面、及び利点は、以下の明細書、特許請求の範囲、及び図面に関連して、よりよく理解されるであろう。
本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例を実現する頭部姿勢トラッキング・システムを図示する概略図である。 本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例を実現するうえで使用される種々のフレーム及び座標手法を表す概略図である。 通常のカラー・ビデオ・カメラとともに深度センサ装置を使用する、図1の例示的な頭部姿勢トラッキング・システムを図示する概略図である。 図3に図示する深度センサ装置及びカラー・ビデオ・カメラによって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図3に図示する深度センサ装置及びカラー・ビデオ・カメラによって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図3に図示する深度センサ装置及びカラー・ビデオ・カメラによって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図3に図示する深度センサ装置及びカラー・ビデオ・カメラによって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 キーフレーム・マッチングを行うか否かを判定するための処理の一実現形態を概説するフロー図である。 通常のカラー・ビデオ・カメラ及び慣性センサ一式とともに深度センサ装置を使用する、図1の例示的な頭部姿勢トラッキング・システムを図示した概説図である。 図6に描く深度センサ装置、カラー・ビデオ・カメラ、及び慣性センサ一式によって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図6に描く深度センサ装置、カラー・ビデオ・カメラ、及び慣性センサ一式によって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図6に描く深度センサ装置、カラー・ビデオ・カメラ、及び慣性センサ一式によって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図6に描く深度センサ装置、カラー・ビデオ・カメラ、及び慣性センサ一式によって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 図6に描く深度センサ装置、カラー・ビデオ・カメラ、及び慣性センサ一式によって出力されるデータを使用した頭部トラッキング処理の一実施例を概説するフロー図である。 本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例を実現する例示的なシステムを構成する汎用コンピューティング装置を図示した図である。
頭部姿勢トラッキング手法の実施例の以下の詳細な説明では、その一部を構成し、上記手法を実施し得る特定の実施例を例証によって示す添付図面を参照する。他の実施例を利用し得、構造的変更を、上記手法の範囲から逸脱しない限り、行い得る。
1.0 頭部姿勢トラッキング
一般に、本明細書及び特許請求の範囲に記載された頭部姿勢トラッキング手法の実施例は、空間内の人の頭部の位置及び向きを周期的に追跡する。図1に示す概括的な一実現形態では、これには、ユーザの頭部上に配置されるように構成されたセンサ群100を使用するシステムが関係する。前述の頭部装着センサ群100は、上記センサ群によって検知されたシーン内の特徴の3次元位置を識別するために使用される深度センサ装置102、及び他の少なくとも1つのタイプのセンサ104を含む。更に、前述の例示的な頭部姿勢トラッキング・システムは、センサ・モジュール110及び変換行列モジュール112を含むプログラム・モジュールを有するコンピュータ・プログラム108を実行させる(本明細書において後述する、コンピューティング環境の部分において記載されたものなどの)コンピューティング装置106を有する。一般に、センサ・モジュールは、センサ群におけるセンサそれぞれによって出力されたデータを周期的に入力し、変換行列モジュールは、データがセンサの1つ又は複数から入力される都度、入力データを使用して変換行列を計算する。最初のセンサ・データが入力された際に確立された、先行して求められた頭部姿勢の位置及び向きに適用されると、変換行列は、現在の頭部姿勢の位置及び向きを識別するために使用することが可能である。
種々のセンサ手法が、本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例によって使用される。上述のように、前述の手法はそれぞれ、空間内の位置と装置との間の距離を識別するために使用される(、通常、特定のタイプのプロジェクタ及び受信器を含む)深度センサ装置を含む。例示的な一実施例では、深度センサ装置が、通常のカラー・ビデオ・カメラとともに使用される。別の例示的な一実施例では、深度センサ装置が、通常のカラー・ビデオ・カメラ及び慣性センサ一式とともに使用される。更に、前述の手法はそれぞれ、種々のセンサによって出力されるセンサ信号を処理するための、上述したようなコンピューティング装置を含む。後続部分では、上述した例示的な実現形態がそれぞれ、更に詳細に説明され、実現処理もそれぞれについて説明される。
しかし、まず、頭部姿勢トラッキングでは、ワールド・フレーム(フレーム「W」)における頭部座標フレーム(フレーム「H」)又はセンサ・フレーム(フレーム「S」)の位置(TWH又はTWS)及び向き(RWH又はRWS)が推定される。センサ・フレームは、カラー・カメラ・フレーム(フレーム「C」)202、及び深度センサ装置受信器フレーム(フレーム「DC」)204を表し、含まれる場合、慣性センサ・フレーム(フレーム「I」)206も表す。前述のセンサ・フレームは、頭部フレームと同じになるように変換され、追跡の最初に、変換されたセンサ・フレームにワールド・フレーム200が重なるとみなす。特に、3つのセンサ・フレームそれぞれは3つの軸を有する。3つのセンサ・フレーム間の相対変換は経時的に変わらない。そういうものとして、相対変換はオフラインで、予め校正される。実用的には、最初の時点でのカラー・カメラのセンサ・フレームがワールド・フレームとして使用され、深度センサ受信器フレーム及び慣性センサ・フレームは、一致するよう変換される。上記フレームは図2において示すように規定され、ワールド・フレーム200の座標はX、Y、Zとして表し、カラー・カメラ・フレーム202の座標はX、Y、Zとして表し、深度センサ受信器フレーム204の座標はXDC、YDC、ZDCとして表し、慣性センサ・フレーム206の座標はX、Y、Zとして表す。矢印T及びTDCは、深度センサ受信器フレーム及び慣性センサ・フレームに関連付けられた上記相対変換を表し、点線Oは、カラー・カメラ・フレームと、ワールド・フレームとの間の対応関係を示す。
上記フレーム及び座標に加えて、以下の表記及び定義が、本明細書の以下に続く部分で使用される。
:「フレーム1内の点pの座標」
:「フレーム2内の点pの座標」
12:「フレーム1からフレーム2への回転」又は「フレーム1に表されたフレーム2」
12:「フレーム1に表された、フレーム2の原点への、フレーム1の原点からの平行移動」
=R12+T12:「フレーム2からフレーム1への点pの座標の変換」
一般に、使用される規則は、上付き文字は、点がどのフレーム中にあるかを示す一方、下付き文字は変換の順序などの他の情報を示すというものである。
1.1 カラー・ビデオ・カメラ及び深度センサ装置を使用した例示的なシステム実現形態及び処理
上述したように、例示的な一システム実現形態は一般に、図3に示すように、深度センサ装置302と通常のカラー・ビデオ・カメラ304とを含む頭部装着センサ300、及びコンピュータ306を使用する。
各種深度センサ装置を使用することが可能である。例として、しかし、限定でなく、深度センサ装置は、赤外線ビデオ・カメラの形態の赤外線プロジェクタ及び赤外線受信器であり得る。赤外線プロジェクタ及び赤外線カメラは、赤外線プロジェクタが赤外光を環境に放出し、赤外線カメラが環境内の表面及び物体からの赤外光反射を捕捉して、通常の態様で作動する。反射赤外光は次いで、通常の態様で環境内の点又は特徴、及び受信器からの距離を計算するために使用される。カラー・ビデオ・カメラについては、これは、何れかの適切な(RGB(赤/緑/青)ビデオ・カメラとしても知られている)可視光ビデオ・カメラであり得る。
深度センサ装置及びカラー・ビデオ・カメラは、ユーザにより、自分の頭部上に装着される(例えば、ヘルメット上に構築され、ゴーグル又はめがねの対に内蔵され、又はその両方である)ように構成される。固定の空間関係が深度センサ装置とカラー・ビデオ・カメラとの間に維持される。更に、深度センサ装置及びカラー・ビデオ・カメラの向き及び位置が、ユーザの頭部の向き及び位置を模倣するものとする。更に、深度センサ装置及びカラー・ビデオ・カメラは、同期化されたカラー画像系列及び深度画像系列を提供するよう構成される。
追跡する前に、カラー・カメラ及び深度カメラは、それらの間の変換を得るために互いに対して校正される。これは、通常の手法を使用して実現される。校正の結果を使用して、カラー画像内の画素は、可能な場合、対応する深度画像内の画素にマッピングすることが可能である。一実現形態では、姿勢トラッキングは、オプティカル・フロー・トラッカをカラー画像系列に適用することによって行われる。深度情報は変換の算出において使用される。しかし、単にオプティカル・フロー・トラッキングに基づいた頭部姿勢推定は最終的にはドリフトにつながり得る。したがって、一実現形態では、1つ又は複数のキーフレームが記録され、トラッキング結果は、上記結果を前述のキーフレームと比較することによって補正される。
特に、図4A乃至図4Dを参照すれば、本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例の一実現形態では、深度センサ装置及びカラー・ビデオ・カメラによって捕捉された画像データはフレーム単位で捕捉される。捕捉されたフレームそれぞれは今度は、上記コンピュータに入力される。よって、処理は、最後に捕捉されたカラー・ビデオ・フレーム及び深度フレームを入力することによって始まる(処理動作400)。次いで、新たなキーフレームを確立するかを判定する(処理動作402)。一バージョンでは、最初の入力フレームがキーフレームとして確立される。前述の最初のキーフレームは、処理の持続時間中に確立される唯一のキーフレームであり得る。あるいは、新たなキーフレームは周期的に確立することが可能である。例えば、最後に入力されたカラー・フレームが描くのが、先行して確立されたキーフレームにおいて描かれるシーンの所定の部分(例えば、40%)よりも少ない場合である。よって、周囲のシーンの視覚的特徴のパノラマが経時的に構築されるようにキーフレームの集まりを記録することが可能である。1つ又は複数のキーフレームを確立する目的は以下に、更に詳細に説明する。
新たなキーフレームを確立しないと判定された都度、キーフレーム・マッチングを行うか否かが判定される(処理動作404)。オプティカル・フロー・トラッキングは、連続するフレームにおける特徴点を追跡する。連続するフレーム間で計算される変換は最終的にはドリフト効果を生成し得る。一実現形態では、前述のドリフト効果は、絶対参照を使用することによって補正される。前述の絶対参照を作成するやり方の1つには、連続するフレームが処理されるにつれて、最初の入力カラー画像フレームまで、1つ又は複数のキーフレーム及びその変換行列を記憶することがある。現在のフレームが、キーフレームにおいても捕捉されたシーンの一部分(例えば、50%)を描く場合は常に、以下に説明するようにドリフトを補正することが可能である。前述の態様でキーフレーム・マッチングを使用することは更に、時間的トラッキング障害からの回復を可能にするという利点を有する。しかし、以下に説明する理由で、キーフレーム・マッチングは、新たなカラー画像フレーム入力毎に行わないことがあり得る。最後に入力されたカラー画像フレームについてキーフレーム・マッチングを行わない場合は常に、最初に入力されたフレームの後に入力された新たなフレーム毎に、上記オプティカル・フロー手法が、最後に入力されたカラー画像フレームと、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴を識別するために使用される(処理動作406)。何れかの適切な通常のオプティカル・フロー手法をこの目的で使用することが可能であるが、一実現形態では、リアルタイムの実行を可能にするために、計算量上、効率的であるべきである。30Hz程度のカメラ・フレーム・レートを仮定すれば、オプティカル・フロー・トラッカは、通常速度の動きについて効率的に先行フレームと現在フレームとの間の点の一致を見つけることが可能である。見つかった一致点の数は、トラッカ内のパラメータ設定及び環境に依存する。点以外の画像特徴は時には、オプティカル・フロー手順においてマッチングされる。本明細書記載の説明は、一致点を表すが、一致点の代わりに、又は一致点に加えて、他の一致特徴を使用することが可能である。
次に、処理動作420では、現在の変換行列が、オプティカル・フロー情報、及び先行して入力された深度フレームを使用して推定される。前述の変換行列は、直前に生成されたフレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する。オプティカル・フロー手法は、2つのフレームにおける一致点の2D画像座標を識別する。しかし、尺度の不明確さが存在し、精度を保証することは難しい。2つのカラー画像フレームに対応する深度画像が作用するのはここである。深度画像は、シーンの3D情報を提供し、よって、一致点の3D位置を、カラー・カメラ・フレーム毎に見つけることが可能である。2つ以上の一致点の組の3D座標があれば、標準手法を使用して、上記変換行列を推定することが可能である。
しかし、対応する深度画像から、カラー画像内の特定の点の深度値を確かめることは、一致点が多くの場合、隅の点であるということが理由で難しいことがあり得る。よって、一致点が3Dの隅である可能性が存在している。この場合において、深度マップ上のこの点の投影は、エッジ上に、又は真空領域内に収まり得る。これは、不明確さをもたらす。2つの一致点について、一方が、より近い表面上で見つかり得る一方で、他方が、更に遠くの表面上で見つかり得、又は、無効の深度値を何れか一方が有し得る。これは、有用な一致の数を削減する。前述の課題に対処するために、(動作の任意的な特性を示すために、破線のボックス内に図4Cに示す)一実現形態では、変換行列を計算する前に、深度補正モジュールが使用される。特に、前述のモジュールには、直接マッピングされた一致点周りに、小さいサーチ・ウィンドウ(例えば、3×3画素)を規定することが関係する(処理動作408)。各ウィンドウ内のカメラに最も近い点が次いで、識別され、精緻化された一致点として規定される(処理動作410)。次いで、前述の精緻化された一致点を用いて、処理動作420において変換行列を計算することが可能である。より近い表面を選ぶことにより、上記不明確さが避けられる。
オプティカル・フロー・トラッキング中、一致点アウトライアが導入される可能性が高くなる。アウトライアの数は、通常、使用されるマッチング・アルゴリズムによって識別されるように、より低い一致品質を有する一致を削除することによって削減することが可能である。特に、(図4Cにおいて、動作の任意的な性質を示すために破線ボックス内に示す)一実現形態では、変換行列を計算する前に、一致点の先行して選択されていない対が選択される(処理動作412)。選択された一致点を識別するために使用されるマッチング・アルゴリズムによって識別されるような一致品質レベルが所定の最小レベル(例えば、1ミリメートル)を下回るかが、次いで、処理動作414において判定される。肯定の場合、選択された一致点が一致点として指定解除される(処理動作416)。選択された一致点が指定解除されると、又は、選択された点の一致品質レベルが所定の最小レベルを下回らない場合、選択されていない残りの一致点が存在しているかが判定される(処理動作418)。存在している場合、一致点の対全てが考慮されるまで、処理動作412乃至418が必要に応じて反復される。
上記手順はアウトライア一致点の数を削減するが、多くの場合、残りのアウトライアのせいで、高い性能が保証されなくなる。よって、その一致品質が所定の最小レベル未満であることによって示されるように劣悪な一致品質を有する一致を削除した後、少なくとも、残りのアウトライアのうちの最上位のものを更に除去するよう使用することが可能である。特に、(動作の任意的な特性を示すために破線ボックスで図4Dに示す)一実現形態では、最後の推定された変換行列(RAB,TAB)(ここで、Aは、現在のフレームの点Bの組における点にそれぞれ一致する、先行フレームにおける点の組を表す)が、組Bにおける点を変換するために使用される(処理動作422)。変換された点それぞれの結果として生じる点座標は次いで、差尺度を確立するために組Aにおけるその対応する点と比較される(処理動作424)。次いで、一致点対の差尺度の平均が計算され、この平均が所定の最小レベル(例えば、1ミリメートル)を超えたかが処理動作426において判定される。平均が、所定の最小レベルを超える場合、差尺度が大きさによって順序付けされ、最大から始め、大きさの降順で、差尺度の所定の割合(例えば、10%)が識別される(処理動作428)。組Bにおける一致点、及び、識別された差尺度の1つに関連付けられた一致対それぞれの組Aにおけるその対応する一致点は次いで、一致点対として指定解除される(処理動作430)。次いで、変換行列が、残りの一致点対を使用して再推定される(処理動作432)。次いで、所定の最大数(例えば、3)の変換行列再推定反復に達したかが判定される(処理動作434)。否定の場合、処理動作422乃至434が、適宜、反復される。これは、先行して計算された平均が所定の最小レベルを超えない状態になるか、又は、所定の最大数の変換行列再推定反復に達したことが判定されるまで続く。
次に、最初に入力されたカラー画像フレームから、最後に入力されたフレーム直前に入力されたカラー画像フレームへの点の平行移動及び回転を規定する最後の変換行列、及び、直前のフレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する現在の変換行列を累算することにより、最初の入力カラー画像フレームから最後の入力フレームへの点の平行移動及び回転を規定する最後の変換行列が推定される(処理動作438)。更に、上記変換行列は、通常の手法を使用して最後の変換行列を形成するよう累算される。
しかし、処理動作402では、新たなキーフレームを確立すると判定された場合、カラー・カメラの最後に入力されたフレームが記録され、現在のキーフレームとして指定される(処理動作436)。更に、キーフレーム・マッチングを行うか否かについての決定に関しては、現在のフレームとキーフレームとの間では両方がシーンの同じ部分を表す場合でも、かなりの動きが存在し得るので、(通常の高速化ロバスト特徴(SURF)マッチング手順を使用して求めることが可能なものなどの)強い特徴が、高精度な結果を実現するためにマッチングにおいて通常必要である。残念ながら、前述の強力な特徴検出器及び記述器は通常、計算量的に高価である。よって、一バージョンでは、キーフレーム・マッチングは、数(例えば、15)フレームおきにのみ行う。ドリフトがかなり大きくなるのは、変換誤差がいくつかのフレームについて累積された後に過ぎないので、これは意味がある。上記に鑑みて、図5は、キーフレーム・マッチングを行うか否かを判定する1つのやり方を概説する。まず、キーフレーム・マッチング手順が最後に行われてから、所定数のフレームが入力されているかが判定される(処理動作500)。所定数のフレームが入力されていない場合、新たなキーフレーム・マッチングを行う時点でないと指示される(処理動作502)。しかし、所定数のフレームが入力されている場合、キーフレーム・マッチング手順を行う時点であると判断される(処理動作504)。
上記に鑑み、かつ、図4をもう一度、参照するに、キーフレーム・マッチングを行うと処理動作404で判定されるか、又は、最後に入力されたカラー画像フレームが現在のキーフレームとして指定されている場合、(識別されたキーフレームとして以降表す、)少なくとも、最後に入力されたフレームにおいて表すシーンの所定の部分を表すキーフレームと、最後に入力されたカラー画像フレームとの間の一致点が識別される(処理動作440)。上述したように、一実現形態では、通常のSURFマッチング手順がこの目的で使用される。処理動作408乃至410、及び処理動作412乃至418において上述した任意的な一致点精緻化及びアウトライア除去動作は、ここでも、識別されたキーフレームと、最後に入力されたフレームとの間の一致点位置を精緻化するために実現することが可能である。
最後に入力された色画像フレームと、識別されたキーフレームとの間の一致点が識別されると、処理動作442において、現在の変換行列(すなわち、(Rt,k,Tt,k))を推定するために、対応する深度フレームからの3D位置データとともに使用される。この変換行列は、識別されたキーフレーム(すなわち、k)から、最後に入力されたフレーム(すなわち、t)への点の平行移動及び回転を規定する。連続するフレーム間の変換行列が処理動作420において推定された態様と同様にこの変換行列推定が実現される。更に、処理動作422乃至434において上述した任意の反復的アウトライア除去動作はここでも、推定された変換の精度を潜在的に増加させるために実現することが可能である。次いで、最初の入力カラー画像フレームから、最後に入力されたフレームへの点の平行移動及び回転を規定するキーフレーム一致変換行列は、識別されたキーフレームと最後に入力されたフレームとの間で得られる変換行列と、最初の入力カラー画像フレーム入力(すなわち、フレーム1)から識別されたキーフレームへの点の平行移動及び回転を規定する先行して計算されたキーフレーム変換行列(すなわち、(R1,t,T1,t))を使用して推定される(処理動作444)。一実現形態では、これは、識別されたキーフレームと、最後に入力されたフレームとの間で推定された変換行列と、最初のフレームと、識別されたキーフレームとの間の先行して計算された変換行列とを乗算することによって実現される。最後に入力されたカラー画像フレームが現在のフレームとして指定されている場合、このフレームと関連付けられたキーフレーム一致変換行列が次いで、上記フレームのキーフレーム変換行列として指定される(処理動作445)。このことにより、次のキーフレームが作成される際にキーフレーム一致変換行列を計算するうえで使用するために最初の入力カラー画像フレームから現在のキーフレームへの点の平行移動及び回転を規定する予め計算されたキーフレーム変換行列が確立されている。更に、最後に入力されたフレーム直前に入力されたカラー画像フレームへの、最初に入力されたカラー画像フレームからの点の平行移動及び回転を規定する最後の変換行列、及び直前のフレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する現在の変換行列を累算することにより、最初の入力カラー画像フレームから最後に入力されたフレームへの点の平行移動及び回転を規定する変換行列が推定される(処理動作446)。上述のように、オプティカル・フロー・トラッキングの場合、最初のフレームから始めて、各フレームから、次のフレームへ推定される変換(すなわち、(R12,T12),(R23,T23),……,(Rk−1,k,Tk−1,k))は、通常の手法を使用して、最初のフレーム・キーフレーム(フレーム1)から直近のフレーム(すなわち、フレームk)への変換行列を生成するよう累算することができるために、このことは可能である。
処理のこの時点で、オプティカル・フロー・トラッキング及びキーフレーム・マッチングに基づく、最初の入力カラー画像フレームから、最後に入力されたフレームへの点の平行移動及び回転を規定する別個の変換行列が存在している。前述の変換行列を、単一の結合変換行列を生成するよう合併させる(処理動作448)。
一実現形態では、2つの変換行列推定間の重み付けされた補間が、潜在的に更に好適な変換を得るために行われる。一致点の3D位置は深度画像を介して分かるので、3D情報を使用して変換推定誤差メトリックを規定することが可能である。より具体的には、座標フレーム1(F1)から、画像1(I1)を考慮する。更に、座標フレーム2(F2)から、画像2(I2)を考慮する。先行して推定された変換行列(R12,T12)は、F1からF2への回転及び平行移動を表す。F2からのI2における画像点は、(R12,T12)を適用することにより、F1に変換される。(その時点におけるカメラの光学中心である)F1の原点が次いで、変換された点それぞれと結ばれる。3D空間内の結ばれた線上のI1に点が存在している場合、前述の2つの点間の距離が算出される。上記誤差メトリックはその場合、(線上にI1の点が存在しているものである)算出に関係した点全てにわたる算出された距離の平均である。計算の量を削減するために、一実現形態では、画像は、上記変換手順に先行して、同程度(例えば、50%)までダウンサンプリングされる。更に、考慮されない、変換後、I1に表すシーン外の一部の点が存在する。
(以降、誤差として表す)変換推定誤差メトリックが計算されると、現在のフレームについて計算された2つの変換行列間の補間が行われる。一実現形態では、これは、四元数空間内の線形補間を使用することによって行われる。
より具体的には、上記重みは式
Figure 0006198230
を用いて算出され、ここで、aは定数である(例えば、10000)である。結果として生じる重み値を次いで、使用される前に正規化して、現在のフレームについて計算された2つの変換行列間で補間する。一実現形態では、この補間は以下の通りに実現される。p1及びq1は、第1の変換行列の位置及び向き(四元数による)を表しているとする。p2及びq2は、第2の変換行列の位置及び向き(四元数による)を表しているとする。w1は第1の変換行列に対応する誤差を表し、w2は第2の変換行列に対応する誤差を表しているとする。a1=w1/(w1+w2)であり、a2=w2/(w1+w2)であるとする。補間された位置及び四元数はその場合、p=a1p1+a2p2、q=a1q1+a2q2である。2つの四元数間の角度が小さい場合、四元数で表される向きの上記線形補間は好適に機能する。角度がより大きい場合には、球面線形補間を使用することが可能である。
もう一度、図4Bを参照すれば、単一の結合変換行列は、生成されると、最後の変換行列として指定される(処理動作450)。次いで、最後の変換行列を、(処理動作438で生成されたものであっても、処理動作450で生成されたものであっても、)最初の入力カラー画像フレームにおいて表されたシーン内の先行して求められた頭部姿勢の位置及び向きに適用して、最後に入力されたカラー画像フレームにおいて表されたシーンにおける現在の頭部姿勢の位置及び向きを識別する(処理動作452)。現在の頭部姿勢及び変換行列を、次いで、拡張現実アプリケーションにおける現在のフレームにおける仮想オブジェクトの位置を計算する工程を含む種々の他のタスクに使用することが可能である。
次いで、新たなカラー・ビデオ及び深度フレームが入力されているか否かが判定される(処理動作454)。肯定の場合、処理動作400乃至454が、必要に応じて、反復される。このことは、新たなフレームが捕捉され、コンピュータに入力される限り、続く。
2 カラー・ビデオ・カメラ、深度センサ装置、及び慣性センサを使用した例示的なシステム実現形態及び処理
上述するように、別の例示的なシステム実現形態は一般に、図6に示すように、コンピュータ608とともに、深度センサ装置602、通常のカラー・ビデオ・カメラ604、及び慣性センサ一式606を含む頭部装着センサ600を使用する。ここではもう一度、上述した赤外線プロジェクタ及び赤外線カメラ装置などの各種深度センサ装置を使用することが可能である。慣性センサに関し、一般に、これは、加速度計及びジャイロスコープの組み合わせを使用して速度、向き、及び重力を測定するセンサ群を含む。一実現形態では、ジャイロスコープ及び加速度計(センサが1つの微細なチップに一体化されることを可能にする3軸MEMジャイロスコープ及び3軸MEM加速度計)を含む通常の慣性測定装置が使用される。ジャイロスコープが3軸周りの角速度を測定する一方、加速度計は3軸に沿った線形加速度を測定する。
深度センサ装置、カラー・ビデオ・カメラ、及び慣性センサは、ユーザにより、自分の頭部上に装着される(例えば、ヘルメット上に構築され、ゴーグル又はめがねの対に内蔵され、又はその両方である)ように構成される。前述のセンサ間で、固定の空間関係が維持され、前述のセンサは共通の座標系原点を共有する。更に、前述のセンサの向き及び位置が、ユーザの頭部の向き及び位置を模倣すると仮定される。ここでも、もう一度、深度センサ装置及びカラー・ビデオ・カメラは、同期化されたカラー画像系列及び深度画像系列を提供するよう構成される。
慣性センサの追加は、特に、環境が、視覚的に豊かなテクスチャを有していない場合に利点を有する。特に、カメラ及び慣性センサは、補完的な特性を有する。例えば、カメラは、より低いフレーム・レートを有し、処理において、より多くの計算量を必要とするが、視覚的に豊富な環境では、慣性センサに対して、ずっと精度の高い測定を提供することが可能である。これに対し、慣性センサは、非常に高いフレーム・レートに達することが可能であり、処理は効率がずっと高く、視覚的特徴が弱い期間を、例示的なシステムが解決することに寄与し得る。更に、ジャイロスコープ及び加速度計に基づいたトラッキングは、数秒間でかなりのドリフトにつながるが、カメラを使用して、ランドマークを記録し、ドリフトを補正することが可能である。
一実現形態では、姿勢トラッキングは、慣性センサからの測定を使用して、かつ、利用可能な場合、カラー画像及び深度画像からの視覚的測定と組み合わせて行われる。ここでも、視覚的測定に関し、オプティカル・フロー・トラッカがカラー画像系列に適用される。深度情報は変換の算出において使用される。しかし、単にオプティカル・フロー・トラッキングに基づいた頭部姿勢推定は最終的にはドリフトにつながり得る。したがって、一実現形態では、1つ又は複数のキーフレームが記録され、トラッキング結果は、上記結果を前述のキーフレームと比較することによって補正される。
特に、図7A乃至図7Eを参照すれば、本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例の一実現形態では、深度センサ装置及びカラー・ビデオ・カメラによって捕捉された画像データはフレーム単位で捕捉される。更に、慣性センサによって捕捉された慣性データは、周期的に、上記画像データに少なくとも等しく、かつ、通常、上記画像データよりも速いレートで捕捉される。便宜上、同時に捕捉された慣性センサ示度の各組は、慣性センサのフレームとして表す。捕捉された画像フレーム及び慣性センサ・フレームそれぞれは今度は、上記コンピュータに入力される。処理は、入ってくるフレームを監視することで始まる(処理動作700)。(最初のものに後続する)新たな慣性センサ・フレームが入力されているかが周期的に判定される(処理動作702)。否定の場合、監視が続く。新たな慣性センサ・フレームが入力されている場合、現在の慣性センサ・ベースの変換行列が推定される(処理動作704)。前述の慣性センサ・ベースの変換行列は、直前の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び移動を規定し、通常の手法を使用して推定される。慣性センサ・ベースの変換行列は、次いで、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する最後の慣性センサ・ベースの変換行列を推定するために使用される(処理動作706)。このことは、最初の慣性センサ・フレームから、最後に入力された慣性センサ・フレームの直前に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する単一の結合変換行列、及び直前の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する現在の慣性センサ・ベースの変換行列を、通常の手法を使用して累算することによって実現される。次いで、新たなカラー・ビデオ及び深度フレームも生成されているかが判定される(処理動作708)。否定の場合、最後の慣性センサ・ベースの変換行列を、最初の入力慣性センサ・フレームに関連付けられた、先行して求められた頭部姿勢の位置及び向きに適用して、現在の頭部姿勢の位置及び向きを識別する(処理動作710)。現在の頭部姿勢及び最後の慣性センサ・ベースの変換行列を、次いで、拡張現実アプリケーションにおける現在のフレームにおける仮想オブジェクトの位置の計算を含む種々の他のタスクに使用することが可能である。
しかし、新たなカラー・ビデオ及び深度フレームも生成されていると処理動作708で判定された場合、これらは図4A乃至図4Dに関して説明したものと同様に処理される。より具体的には、新たなカラー・ビデオ及び深度フレームが入力され(処理動作712)、新たなキーフレームを確立するかが判定される(処理動作714)。一バージョンでは、最初のフレームの入力がキーフレームとして確立される。前述の最初のキーフレームは、処理の持続時間中に確立される唯一のキーフレームであり得る。あるいは、新たなキーフレームは周期的に確立することが可能である。例えば、最後に入力されたカラー・フレームが描くのが、先行して確立されたキーフレームにおいて描くシーンの所定の部分(例えば、40%)よりも少ない場合である。よって、周囲のシーンの視覚的特徴のパノラマが経時的に構築されるようにキーフレームの集まりを記録することが可能である。1つ又は複数のキーフレームを確立する目的は以下に、更に詳細に説明する。
新たなキーフレームを確立しないと判定された場合は必ず、次いで、キーフレーム・マッチングを行うか否かが判定される(処理動作716)。オプティカル・フロー・トラッキングは、連続するフレームにおける特徴点を追跡する。連続するフレーム間で計算される変換は最終的にはドリフト効果をもたらし得る。一実現形態では、前述のドリフト効果は、絶対参照を使用することによって補正される。前述の絶対参照を作成するやり方の1つには、連続するフレームが処理されるにつれて、最初の入力カラー画像フレームまで、1つ又は複数のキーフレーム及びその変換行列を記憶することがある。現在のフレームが、キーフレームにおいても捕捉されたシーンの一部分(例えば、50%)を描く場合は必ず、以下に説明するようにドリフトを補正することが可能である。前述の態様でキーフレーム・マッチングを使用することは更に、時間的トラッキング障害からの回復を可能にするという利点を有する。しかし、以下に説明する理由で、キーフレーム・マッチングは、新たなカラー画像フレーム入力毎に行わないことがあり得る。最後に入力されたカラー画像フレームについてキーフレーム・マッチングを行わない場合はいつでも、最初のものの後の新たなフレームの入力毎に、上記オプティカル・フロー手法が、最後に入力されたカラー画像フレームと、最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴を識別するために使用される(処理動作718)。何れかの適切な通常のオプティカル・フロー手法をこの目的のために使用することが可能であるが、一実現形態では、リアルタイム実行を可能にするために計算量的に効率的であるべきである。30Hz程度のカメラ・フレーム・レートを仮定すれば、オプティカル・フロー・トラッカは、通常の速度の動きについて効率的に先行フレームと現在フレームとの間の点の一致を見つけることが可能である。見つかった一致点の数は、トラッカ内のパラメータ設定及び環境に依存する。点以外の画像特徴は時には、オプティカル・フロー手順においてマッチングされる。本明細書記載の説明は、一致点を表すが、一致点の代わりに、又は一致点に加えて、他の一致特徴を使用することが可能である。
次に、処理動作732では、現在の変換行列が、オプティカル・フロー情報、及び先行して入力された深度フレームを使用して推定される。前述の変換行列は、直前に生成されたフレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する。上述のように、オプティカル・フロー手法は、2つのフレームにおける一致点の2D画像座標を識別する。しかし、尺度の不明確さが存在し、精度を保証することは難しい。2つのカラー画像フレームに対応する深度画像が作用するのはここである。深度画像は、シーンの3D情報を提供し、よって、一致点の3D位置を、カラー・カメラ・フレーム毎に見つけることが可能である。2つ以上の一致点の組の3D座標があれば、標準手法を使用して、上記変換行列を推定することが可能である。
更に、上述したように、対応する深度画像から、カラー画像内の特定の点の深度値を確かめることは、一致点が多くの場合、隅の点であるということが理由で難しいことがあり得る。よって、一致点が3Dの隅である可能性が存在している。この場合において、深度マップ上のこの点の投影は、エッジ上に、又は空白領域内に収まり得る。これは、不明確さをもたらす。2つの一致点について、一方が、より近い表面上で見つかり得る一方で、他方が、更に遠くの表面上で見つかり得、又は、無効の深度値を何れか一方が有し得る。これは、有用な一致の数を削減する。前述の課題に対処するために、(動作の任意的な特性を示すために、破線のボックス内に図7Dに示す)一実現形態では、変換行列を計算する前に、深度補正モジュールが使用される。より具体的には、このモジュールには、直接マッピングされた一致点周りに小さいサーチ・ウィンドウ(例えば、3×3画素)を規定することが関係する(処理動作720)。各ウィンドウ内のカメラに最も近い点が次いで、識別され、精緻化された一致点として指定される(処理動作722)。次いで、前述の精緻化された一致点を用いて、処理動作732において変換行列を計算することが可能である。より近い表面を選ぶことにより、上記不明確さが避けられる。
更に、オプティカル・フロー・トラッキング中、一致点アウトライアが導入される可能性が高くなる。アウトライアの数は、通常、使用されるマッチング・アルゴリズムによって識別されるように、より低い一致品質を有する一致を削除することによって削減することが可能である。特に、(図7Dにおいて、動作の任意的な性質を示すために破線ボックス内に示す)一実現形態では、変換行列を計算する前に、一致点の先行して選択されていない対が選択される(処理動作724)。次いで、選択された一致点を識別するために使用されるマッチング・アルゴリズムによって識別されるような一致品質レベルが所定の最小レベル(例えば、1ミリメートル)を下回るかが、処理動作726において判定される。肯定の場合、選択された一致点が一致点として指定解除される(処理動作728)。選択された一致点が指定解除されると、又は、選択された点の一致品質レベルが所定の最小レベルを下回らない場合、選択されていない残りの一致点が存在しているかが判定される(処理動作730)。存在している場合、一致点の対全てが考慮されるまで、処理動作724乃至730が必要に応じて反復される。
上述したように、上記手順はアウトライア一致点の数を削減するが、多くの場合、残りのアウトライアのせいで、高い性能が保証されなくなる。よって、その一致品質が所定の最小レベル未満であることによって示されるように劣悪な一致品質を有する一致を削除した後、少なくとも、残りのアウトライアのうちの最上位のものを更に除去するために、反復的手法を使用することが可能である。特に、(動作の任意的な特性を示すために破線ボックスで図7Eに示す)一実現形態では、最後に推定された変換行列(RAB,TAB)(ここで、Aは、現在のフレームの点Bの組における点にそれぞれ一致する、先行フレームにおける点の組を表す)が、組Bにおける点を変換するために使用される(処理動作734)。変換された点それぞれの結果として生じる点座標は次いで、差尺度を確立するために組Aにおけるその対応する点と比較される(処理動作736)。次いで、一致点対の差尺度の平均が計算され、この平均が所定の最小レベル(例えば、1ミリメートル)を超えたかが処理動作738において判定される。平均が、所定の最小レベルを超える場合、差尺度が大きさによって順序付けされ、最大から始め、大きさの降順で、差尺度の所定の割合(例えば、10%)が識別される(処理動作740)。組Bにおける一致点、及び、識別された差尺度の1つに関連付けられた一致対それぞれの組Aにおけるその対応する一致点は次いで、一致点対として指定解除される(処理動作742)。次いで、変換行列が、残りの一致点対を使用して再推定される(処理動作744)。次いで、所定の最大数(例えば、3)の変換行列再推定反復に達したかが判定される(処理動作746)。否定の場合、処理動作734乃至746が、適宜、反復される。これは、先行して計算された平均が所定の最小レベルを超えない状態になるか、又は、所定の最大数の変換行列再推定反復に達したことが判定されるまで続く。
次に、最初の慣性センサ・フレームから、最後に入力されたカラー画像フレームの直前に入力されたカラー画像フレームへの点の平行移動及び回転を規定する単一の結合変換行列、及び最後に入力されたカラー画像フレームへの、直前のカラー画像フレームからの点の平行移動及び回転を規定する現在の変換行列を累算することにより、最初の入力慣性センサ・フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する変換行列が推定される(処理動作750)。更に、上記変換行列は、通常の手法を使用して前述の変換行列を形成するよう累算される。
しかし、処理動作714では、新たなキーフレームを確立すると判定された場合、カラー・カメラの最後に入力されたフレームが記録され、現在のキーフレームとして指定される(処理動作748)。更に、キーフレーム・マッチングを行うか否かについての決定に関しては、現在のフレームとキーフレームとの間では両方がシーンの同じ部分を表す場合でも、かなりの動きが存在し得るので、(通常の高速化ロバスト特徴(SURF)マッチング手順を使用して求めることが可能なものなどの)強い特徴が、高精度な結果を実現するためにマッチングにおいて通常必要である。残念ながら、前述の強力な特徴検出器及び記述器は通常、計算量的に高価である。よって、一バージョンでは。キーフレーム・マッチングは、上述したように、数(例えば、15)フレームおきについてのみ行う。ドリフトがかなり大きくなるのは、変換誤差がいくつかのフレームについて累積された後に過ぎないので、これは意味がある。上記に鑑みて、図5は、キーフレーム・マッチングを行うか否かを判定する1つのやり方を概説する。まず、キーフレーム・マッチング手順が最後に行われてから、所定数のフレームが入力されているかが判定される(処理動作500)。所定数のフレームが入力されていない場合、新たなキーフレーム・マッチングのための時点でないと指示される(処理動作502)。しかし、所定数のフレームが入力されている場合、キーフレーム・マッチング手順を行うための時点であると判断される(処理動作504)。
上記に鑑み、かつ、図7Bをもう一度、参照するに、キーフレーム・マッチングを行うと処理動作716で判定されるか、又は、最後に入力されたカラー画像フレームが現在のキーフレームとして指定されている場合、(識別されたキーフレームとして以降表す、)少なくとも、最後に入力されたフレームにおいて表すシーンの所定の部分を表すキーフレームと、最後に入力されたカラー画像フレームとの間の一致点が識別される(処理動作752)。上述したように、一実現形態では、通常のSURFマッチング手順がこの目的で使用される。処理動作720乃至722、及び処理動作724乃至730において上述した任意的な一致点精緻化及びアウトライア除去動作は、ここでも、識別されたキーフレームと、最後に入力されたフレームとの間の一致点位置を精緻化するために実現することが可能である。
最後に入力された色画像フレームと、識別されたキーフレームとの間の一致点が識別されると、処理動作754において、現在の変換行列(すなわち、(Rt,k,Tt,k))を推定するために、対応する深度フレームからの3D位置データとともに使用される。この変換行列は、識別されたキーフレーム(すなわち、k)から、最後に入力されたフレーム(すなわち、t)への点の平行移動及び回転を規定する。連続するフレーム間の変換行列が処理動作732において推定されたのと同様にこの変換行列推定が実現される。更に、処理動作734乃至746において上述した任意の反復的アウトライア除去動作はここでも、推定された変換の精度を潜在的に増加させるために実現することが可能である。次いで、最初の入力カラー画像フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定するキーフレーム一致変換行列は、識別されたキーフレームと最後に入力されたフレームとの間で得られる現在の変換行列を使用して推定され、先行して計算されたキーフレーム変換行列(すなわち、(Rt,k,Tt,k))は、最初の入力カラー画像フレーム(すなわち、フレーム1)から識別されたキーフレームへの点の平行移動及び回転を規定する(処理動作756)。一実現形態では、このことは、識別されたキーフレームと、最後に入力されたフレームとの間で推定された変換行列、及び最初のフレームと、識別されたキーフレームとの間の先行して計算された変換行列を乗算することによって実現される。最後に入力されたカラー画像フレームが現在のフレームとして指定されている場合、このフレームと関連付けられたキーフレーム一致変換行列が次いで、上記フレームのキーフレーム変換行列として指定される(処理動作757)。これにより、次のキーフレームが作成される際にキーフレーム一致変換行列を計算するうえで使用するために、最初の入力カラー画像フレームから、現在のキーフレームへの点の平行移動及び回転を規定する予め計算されたキーフレーム変換行列が確立されている。更に、最初の慣性センサ・フレームから、最後に入力されたカラー画像フレームの直前に入力されたカラー画像フレームへの点の平行移動及び回転を規定する単一の結合変換行列、及び最後に入力されたカラー画像フレームへの、直前のカラー画像フレームからの点の平行移動及び回転を規定する現在の変換行列を累算することにより、最初の入力慣性センサ・フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する変換行列が推定される(処理動作758)。上述のように、オプティカル・フロー・トラッキングの場合、最初から始めて、各フレームから、次のフレームへ推定される変換(すなわち、(R12,T12),(R23,T23),……,(Rk−1,k,Tk−1,k))は、通常の手法を使用して、最初のフレーム・キーフレーム(フレーム1)から直近のフレーム(すなわち、フレームk)への変換行列を生成するよう累算することができるために、このことは可能である。
処理のこの時点で、慣性データ及びオプティカル・フロー・トラッキング、又は慣性データ、オプティカル・フロー・トラッキング、及びキーフレーム・マッチングに基づく、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する別個の変換行列が存在している。最初のケースでは、オプティカル・フロー・トラッキングに基づいて、最初の入力慣性センサ・フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する変換行列、及び、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する最後の慣性センサ・ベースの変換行列を、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する単一の結合変換行列を生成するよう合併させる(処理動作760)。後のケースでは、オプティカル・フロー・トラッキング及びキーフレーム・マッチングに基づいて、最初の入力慣性センサ・フレームから、最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する変換行列、及び、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する最後の慣性センサ・ベースの変換行列を、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する単一の結合変換行列を生成するよう合併させる(処理動作762)。
一実現形態では、再帰的ベイジアン・フレームワーク及び拡張カルマン・フィルタ(EKF)を使用して変換行列を合併させる。特に、前述の種類の合併及び状態推定の課題に対応するための慣用されている一方で強力なツールが、再帰的ベイジアン・フィルタである。別々のソースからの測定を1つの一様なフレームワークに合併させ、確立された処理モデル及び観察モデルを介して、隠れ状態を推定することが可能である。自然に別々のセンサの別々のフレーム・レートに対応することが可能である。
再帰的ベイジアン・フィルタは、システムのモデリング及びシステム出力を介して、システムの隠れ状態変数の事後確率分布関数(PDF)を推定するために使用される。状態ベクトルx(ここで、xが観察可能でないことがあり得る)を備えた特定のシステムの場合、その処理は、
=f(xk−1,u,vk−1
としてモデリングすることが可能であり、ここで、uはシステムに対する入力であり、vはプロセス・ノイズである。この式は、入力uの影響による、状態変数の時間発展を表す。
同時に、システムの測定可能な出力は、測定式
=h(x,e
を使用した状態変数に関連付けることが可能であり、ここで、zは観察ベクトルであり、eは測定ノイズである。
その考えというのは、z1:kが与えられた下でxの事後分布を推定することである。再帰的解法は、ベイズの定理を適用し、
Figure 0006198230
をもたらすことによって得ることが可能であることがよく知られている。
上記式における多次元積分は、いくつかの特別なケース以外は全て、解析的に解くことが可能でない。一般的なケースは、プロセス方程式及び測定方程式が線形であり、プロセス・ノイズ及び測定ノイズはゼロ平均ガウス分布
=Axk−1+Bu+vk−1
=Hx+e
p(w)〜N(0,Q)
p(v)〜N(0,R)
を使用してモデリングすることが可能である場合であり、ここで、Qはプロセス・ノイズの共分散であり、Rは測定ノイズの共分散である。
この場合、密度は全て、ガウシアンとなり、平均及び共分散のみを伝播させることで十分である。これにより、有名なカルマン・フィルタがもたらされる。
時間更新:
Figure 0006198230
測定更新:
Figure 0006198230
モデルが非線形の場合、偏導関数を算出することにより、局所で線形化することが可能である。これにより、拡張カルマン・フィルタ(EKF)
Figure 0006198230
がもたらされる。
時間更新:
Figure 0006198230
測定更新:
Figure 0006198230
上記が与えられた下で、システム・モデルを定義することが可能である。特に、状態変数は、頭部の位置及び向きを含むべきである。更に、線形速度及び加速度、並びに回転速度が含まれるので、一定の線形加速度及び回転速度を仮定することが可能である。センサ・バイアスを更に、慣性センサのわずかに変動するバイアスに対応するために含める。以下では、慣性センサが、共通の座標フレーム原点を有する加速度計(a)及びジャイロスコープ(g)であると仮定する。よって、一実現形態では、
Figure 0006198230
であり、ここで、
Figure 0006198230
は、フレーム「W」において表されるヘッド位置である。
Figure 0006198230
及び
Figure 0006198230
は頭部線速度及び加速度それぞれである。
Figure 0006198230
は、フレーム「W」において四元数を使用して表される頭部の向きである。
Figure 0006198230
は、フレーム「I」において表される頭部角速度である。バイアス
Figure 0006198230
は、更に、慣性センサ座標フレームにある。四元数は向きを表すために使用される。トラッキング空間において連続的であるからである。
次に、処理は
Figure 0006198230
の通り、モデリングされる。
演算は、
Figure 0006198230
として定義される。
観察方程式については、慣性センサ・データ、並びに、カラー画像データ及び深度画像データに対応する必要がある。慣性センサ(すなわち、ジャイロスコープ及び加速度計)の場合、観察方程式は、
Figure 0006198230
である。
しかし、画像データをどのようにして使用するかに関し、種々のオプションが存在している。一実現形態では、観察方程式を線形化するために、変換推定が測定値として使用される。(利用可能な場合、)キーフレーム・マッチング及びオプティカル・フロー・トラッキングからの推定を、
Figure 0006198230
のように含める。
ここで、
Figure 0006198230
は、k−sにおけるカメラ座標フレームにおける、オプティカル・フロー・パイプラインから得られた現在の時間ステップkへの時間ステップk−sからの回転を表す四元数である。qICは、フレーム「I」からフレーム「C」への既知の回転である。
Figure 0006198230
は、k−sにおけるカメラ座標フレームにおける、オプティカル・フロー・パイプラインから得られたステップkへの時間ステップk−sからの平行移動である。
Figure 0006198230
は、キーフレーム・パイプラインから得られた、現在の時間ステップkへの時間ステップk−tからの回転を表す四元数である。時間ステップtは、キーフレームが記録されたフレームである。
Figure 0006198230
は、キーフレーム・パイプラインからの平行移動である。キーフレーム一致変換行列が存在せず、慣性データ及びオプティカル・フロー・トラッキングに基づく行列のみが存在する場合、キーフレーム一致変換行列の補間重みはゼロにセットされる。
Qパラメータ及びRパラメータが調節された場合、EKFはより効果的に実行される。上述の通り、Qはプロセス・ノイズの共分散であり、Rは測定ノイズの共分散である。一般に、Qが小さいほど処理の精度が高くなり、Rが小さいほど測定の精度が高くなる。Rはオフラインで測定することが可能である一方、Qは、事前知識、又は移動の仮定のみに基づいて調整することが可能である。
単一の結合変換行列は、生成されると、現在の頭部姿勢の位置及び向きを識別するために、最初の入力慣性センサ・フレームに関連付けられた先行して求められた頭部姿勢の位置及び向きに適用される(処理動作764)。現在の頭部姿勢及び変換行列を、次いで、拡張現実アプリケーションにおける現在のフレームにおける仮想オブジェクトの位置の計算を含む種々の他のタスクに使用することが可能である。
上記処理は次いで、新たな慣性センサ・フレーム、カラー・ビデオ・フレーム、及び深度フレームが捕捉され、コンピューティング装置に入力される限り、反復される。
2.0 例示的な頭部姿勢トラッキング・アプリケーション
上述のように、上記態様でユーザの頭部姿勢を追跡することは、拡張現実を含む種々のアプリケーションにおいて有用である。拡張現実アプリケーションでは、高精度かつロバストな頭部姿勢トラッキング・システムが、仮想オブジェクトの安定した表示を確実にするために必要である。ユーザの頭部姿勢を追跡するための上記頭部装着センサに加え、前述の拡張実現アプリケーションは更に、頭部搭載型ディスプレイ(HMD)を含む。例えば、一実現形態では、HMDは、ユーザの眼の一方の手前に搭載された単一の半透明ガラス・ディスプレイの形態をとる。
3.0 例示的な動作環境
本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例は、数多くのタイプの汎用の、又は特殊用途向のコンピューティング・システム環境内若しくは構成内で動作可能である。図8は、本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の種々の実施例及び構成要素を実現し得る、汎用コンピュータ・システムの単純化された例を示す。図8中に断続線又は破線で表すボックスは何れも、単純化されたコンピューティング装置の代替的な実施例を表し、後述する上記別の実施例の何れか又は全てを、本明細書及び特許請求の範囲を通して記載された他の代替的な実施例と組み合わせて使用し得る。
例えば、図8は、単純化されたコンピューティング装置10を示す概略システム図を示す。前述のコンピューティング装置は通常、限定列挙でないが、パソコン、サーバ・コンピュータ、ハンドヘルド・コンピューティング装置、ラップトップ又はモバイル・コンピュータ、携帯電話機及びPDAなどの通信装置、マルチプロセッサ・システム、マイクロプロセッサベースのシステム、セット・トップ・ボックス、プログラマブル家電機器、ネットワークPC、ミニコンピュータ、汎用コンピュータ、オーディオ又はビデオ・メディア・プレイヤ等を含む少なくとも一部の最小限のコンピューティング機能を有する装置において存在し得る。
本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法の実施例を装置が実現することを可能にするために、装置は、基本コンピューティング動作を可能にするために十分なコンピューティング機能及びシステム・メモリを有するべきである。特に、図8に示すように、コンピューティング機能は一般に、1つ又は複数の処理装置12によって示され、更に、1つ又は複数のGPU14を含み得、一方又は両方がシステム・メモリ16と通信する。一般的なコンピューティング装置の処理装置12は、DSP、VLIWなどの専用マイクロプロセッサ、若しくは他のマイクロコントローラであり得、又は、マルチコアCPU内の専用GPUベースのコアを含む1つ又は複数の処理コアを有する通常のCPUであり得る。
更に、図8の単純化されたコンピューティング装置は更に、例えば通信インタフェース18などの他の構成部分も含み得る。図8の単純化されたコンピューティング装置は更に、1つ又は複数の通常のコンピュータ入力装置20(例えば、ポインティング・デバイス、オーディオ入力装置、ビデオ入力装置、ハプティック入力装置、有線又は無線のデータ伝送を受信するための装置等)を含み得る。図8の単純化されたコンピューティング装置は更に、例えば1つ又は複数の通常の表示装置24及び他のコンピュータ出力装置22(例えば、オーディオ出力装置、ビデオ出力装置、有線又は無線のデータ伝送を伝送するための装置等)などの他の任意的な構成部分も含み得る。汎用コンピュータ用の通常の通信インタフェース18、入力装置20、出力装置22、及び記憶装置26は当業者によく知られており、ここで詳細に説明しない。
図8の単純化されたコンピューティング装置は更に、種々のコンピュータ読み取り可能な媒体を含み得る。コンピュータ読み取り可能な媒体は、記憶装置26を介してコンピュータ10によってアクセス可能な何れかの利用可能な媒体であり得、コンピュータ読み取り可能な命令又はコンピュータ実行可能な命令、データ構造、プログラム・モジュール、又は他のデータなどの情報の記憶のために、着脱可能であり(28)、かつ/又は着脱可能でない(30)揮発性及び不揮発性の媒体を含む。例として、かつ、限定列挙でないが、コンピュータ読み取り可能な媒体はコンピュータ記憶媒体及び通信媒体を含み得る。コンピュータ記憶媒体は、限定列挙でないが、DVD、CD、フロッピー(登録商標)・ディスク、テープ・ドライブ、ハード・ドライブ、光学ドライブ、ソリッド・ステート・メモリ装置、RAM、ROM、EEPROM、フラッシュ・メモリ又は他のメモリ技術、磁気カセット、磁気テープ、磁気ディスク記憶装置、若しくは他の磁気記憶装置、又は、所望の情報を記憶するために使用することが可能であり、1つ又は複数のコンピューティング装置によってアクセスすることが可能な何れかの他の装置を含む。
コンピュータ読み取り可能な命令又はコンピュータ実行可能な命令、データ構造、プログラム・モジュール等などの情報の保持は、更に、1つ又は複数の変調データ信号若しくは搬送波を符号化するための種々の上記通信媒体の何れか、又は他の伝送機構の通信プロトコルを使用することによって実現することが可能であり、何れかの有線又は無線の情報配信機構を含む。「変調データ信号」又は「搬送波」の語は一般に、信号内の情報を符号化するような態様でその特性の1つ又は複数が設定又は変更された信号を表す。例えば、通信媒体は、1つ又は複数の変調データ信号を搬送する有線ネットワーク又は直接有線接続などの有線媒体、並びに、1つ又は複数の変調データ信号又は搬送波を送信し、かつ/又は受信するための、音響、RF、赤外線、レーザ、及び他の無線媒体などの無線媒体を含む。上記の何れかの組み合わせも、通信媒体の範囲内に含まれるべきである。
更に、本明細書及び特許請求の範囲記載の種々の頭部姿勢トラッキング手法の実施例の一部又は全部を実施するソフトウェア、プログラム、及び/又はコンピュータ・プログラム・プロダクトは、コンピュータ実行可能な命令又は他のデータ構造の形態における通信媒体、及びコンピュータ又はマシン読み取り可能な媒体若しくは記憶装置の何れかの組み合わせにより、記憶し、受信し、送信し、又は読み取り得る。
最後に、本明細書及び特許請求の範囲記載の頭部姿勢トラッキング手法は、コンピューティング装置によって実行されている、プログラム・モジュールなどのコンピュータ実行可能な命令の一般的なコンテキストにおいて更に説明し得る。一般に、プログラム・モジュールは、特定のタスクを行い、又は特定の抽象データ・タイプを実現するルーチン、プログラム、オブジェクト、構成部分、及びデータ構造等を含む。本明細書及び特許請求の範囲記載の実施例は更に、タスクが1つ又は複数の遠隔処理装置によって行われる分散コンピューティング環境において、又は、1つ若しくは複数の通信ネットワークを介して連結された1つ又は複数の装置のクラウド内で実施し得る。分散コンピューティング環境では、プログラム・モジュールは、媒体記憶装置を含む局所及び遠隔のコンピュータ記憶媒体に配置し得る。更に、上記命令は、プロセッサを含んでいてもいなくてもよいハードウェア論理回路として部分的に、又は全体を実現し得る。
4.0 他の実施例
更に別の例示的なハードウェア・システム実現形態では、深度センサ装置が慣性センサ一式とともに使用されるが、カラー・カメラは存在しない。前述の実現形態は、最初の入力深度フレームから、最後に入力された深度フレームへの点の平行移動及び回転を規定する変換行列を計算するための反復最近点(ICP)手順及び深度センサを使用する。その場合、前述の深度フレームベースの変換行列が、カラー・ビデオ・カメラ、深度センサ、及び慣性センサを使用した上述の例示的なシステムにおいてカラー画像フレームを使用して推定された上述の最後の画像ベースの変換行列にとって代わることになる。よって、深度フレームベースの変換行列を、最後の慣性センサ・ベースの変換行列と合併させて、最初の入力慣性センサ・フレームから、最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する単一の結合変換行列を生成し、次いで、結合変換行列を、最初の入力慣性センサ・フレームに関連付けられた先行して求められた頭部姿勢の位置及び向きに適用して、現在の頭部姿勢の位置及び向きを識別する。
更に、本明細書及び特許請求の範囲を通じて、上記実施例の何れか又は全部を、何れの所望の組み合わせでも使用して、更なる混合実施例を形成し得る。更に、本願の主題は、構造的な特徴及び/又は方法論的な動作に特有の文言で記載しているが、特許請求の範囲記載の本願の主題は、記載された特定の特徴又は動作に必ずしも制限されない。むしろ、上記特定の特徴及び動作は、本特許請求の範囲記載の発明を実現する例示的な形態として開示している。

Claims (14)

  1. 頭部姿勢トラッキングのためのシステムであって、
    ユーザの頭部上に配置されるように構成されたセンサ群であって、前記センサ群は、前記センサ群によって検知されたシーン内の点の3次元位置を識別するために使用される深度センサ装置、及びカラー・ビデオ・カメラを含み、前記深度センサ装置及び前記カラー・ビデオ・カメラは、深度フレーム及びカラー画像フレームの形式で同時シーン・データを周期的に生成するように同期化され、前記の同時に生成された深度フレーム内の対応する3次元シーン位置に各カラー画像フレーム内の各画素をマッピングするように校正される、センサ群と、
    コンピューティング装置と、
    前記コンピューティング装置によって実行されるプログラム・モジュールを含むコンピュータ・プログラムと
    を備え、
    前記コンピューティング装置は、
    同時に生成された各深度フレーム及び各カラー画像フレームを入力し、
    最初の深度フレーム及びカラー画像フレーム対の後に入力された、同時に生成された深度フレーム及びカラー画像フレーム対毎に、
    最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴を識別し、
    前記の識別された一致特徴と、前記最後に入力されたカラー画像フレーム、及び前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレームの両方における一致特徴の対応する3次元位置とを使用して第1の変換行列を推定し、ここで、前記第1の変換行列は、前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定し、
    最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する前記第1の変換行列を累算することにより、前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する最後の変換行列を推定し、
    前記最初に入力されたカラー画像フレーム内に表されたシーンにおける先行して求められた頭部姿勢の位置及び向きに、前記最後の変換行列を適用して、前記最後に入力されたカラー画像フレーム内に表されたシーンにおける現在の頭部姿勢の位置及び向きを識別する
    よう、前記コンピュータ・プログラムの前記プログラム・モジュールによって指示される、
    システム。
  2. 請求項記載のシステムであって、一致特徴を識別するための前記プログラム・モジュールは、オプティカル・フロー手法を使用して、前記最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致点を識別するためのサブモジュールを含む、システム。
  3. 請求項記載のシステムであって、前記第1の変換行列を推定するための前記プログラム・モジュールを実行する前に実行される深度補正プログラム・モジュールを更に備え、前記深度補正プログラム・モジュールは、
    識別された各一致点周りのウィンドウを規定するためのサブモジュールと、
    各ウィンドウ内の、前記カメラに対する最近点を識別するためのサブモジュールと、
    前記ウィンドウに関連付けられた先行して識別された一致点の代わりに、各ウィンドウ内の前記の識別された最近点を一致点として指定するためのサブモジュールと
    を含む、システム。
  4. 請求項記載のシステムであって、前記第1の変換行列を推定するための前記プログラム・モジュールを実行する前に実行される一致点アウトライア指定解除プログラム・モジュールを更に備え、前記一致点アウトライア指定解除プログラム・モジュールは、所定の最小レベルを下回る一致品質レベルを有する識別された一致点の各対を一致点として指定解除することを含む、システム。
  5. 請求項記載のシステムであって、前記第1の変換行列を推定するための前記プログラム・モジュールを実行した後であって、前記最後の変換行列を推定するためのプログラム・モジュールを実行する前に実行される一致点アウトライア指定解除プログラム・モジュールを更に備え、前記一致点アウトライア指定解除プログラム・モジュールは、
    (a)前記最後に入力されたカラー画像フレーム内の識別された一致点に、最後に推定された変換行列を適用して、前記最後に入力されたカラー画像フレーム内の一致点に対応する、前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレーム内の一致点を確かめるためのサブモジュールと、
    (b)前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレーム内の先行して識別された一致点毎に、前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレーム内の前記先行して識別された一致点に対応する、前記最後に入力されたカラー画像フレーム内の一致点に、前記最後に推定された変換行列を適用することによって確かめられた一致点の座標と、前記先行して識別された一致点の座標との間の差尺度を計算するためのサブモジュールと、
    (c)残りの一致点対の差尺度の平均を計算し、前記の計算された平均が所定の最小レベルを超えるか否かを判定するためのサブモジュールと、
    (d)前記の計算された平均が所定の最小レベルを超える場合には常に、
    大きさにより、前記差尺度を順序付けし、最大のものから始まる大きさの降順に所定の割合の前記差尺度を識別し、
    前記の識別された差尺度のうちの1つに関連付けられた一致点対それぞれの、前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレーム内の前記先行して識別された一致点、及び前記最後に入力されたカラー画像フレーム内のその対応する一致点を、一致点として指定解除し、
    残りの一致点を用いて前記変換行列を再推定する
    ためのサブモジュールと、
    (e)所定の最大数の変換行列再推定反復に達したかを判定するためのサブモジュールと、
    (f)前記所定の最大数の変換行列再推定反復に達していない場合には常に、前記サブモジュール(a)乃至(e)の実行を反復するためのサブモジュールと
    を含む、システム。
  6. 請求項記載のシステムであって、前記最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴を識別するための前記プログラム・モジュールを実行する前に実行されるキーフレーム・プログラム・モジュールを更に備え、前記キーフレーム・プログラム・モジュールは、
    新たなキーフレームを確立するかを判定するためのサブモジュールと、
    新たなキーフレームを確立すると判定された場合には常に、前記最後に入力されたカラー画像フレームを記録し、前記の記録されたフレームをキーフレームとして指定するためのサブモジュールと
    を含む、システム。
  7. 請求項記載のシステムであって、新たなキーフレームを確立するかを判定するための前記サブモジュールは、前記最後に入力されたカラー画像フレームが、最初のカラー画像フレームであり、かつ、前記最後に入力されたカラー画像フレームが表すのが、先行して確立されたキーフレーム内に表されたシーンの所定の部分よりも小さい場合には常に、新たなキーフレームを確立すると判定することを含む、システム。
  8. 請求項記載のシステムであって、前記キーフレーム・プログラム・モジュールは、更に、
    新たなキーフレームを確立しないと判定された場合には常に、キーフレーム・マッチングを行うか否かを判定するためのサブモジュールと、
    キーフレーム・マッチングを行うと判定された場合、又は、新たなキーフレームが確立された場合には常に、
    前記最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す記録されたキーフレームとの間のキーフレーム一致点を識別し、
    前記の識別されたキーフレーム一致点と、前記最後に入力されたカラー画像フレーム、及び前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレームの両方におけるキーフレーム一致特徴の対応する3次元位置とを用いて第2の変換行列を推定し、ここで、前記第2の変換行列は、前記最後に入力された画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定し、
    前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレームへの点の平行移動及び回転を規定する先行して計算されたキーフレーム変換行列、及び前記第2の変換行列を使用して第3の変換行列を推定し、ここで、前記第3の変換行列は、前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定し、
    前記最後に入力されたカラー画像フレームが、新たに確立されたキーフレームである場合には常に、前記最初に入力されたカラー画像フレームから、前記新たに確立されたキーフレームへの点の平行移動及び回転を規定するキーフレーム変換行列として前記第3の変換行列を指定し、
    前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームへの点の平行移動及び回転を規定する最後の変換行列、及び前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する前記第1の変換行列を累算することにより、前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する第4の変換行列を推定し、
    前記第3の変換行列及び前記第4の変換行列を合併させて、前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する単一の結合変換行列を生成し、
    前記最後に入力されたカラー画像フレームの前記最後の変換行列であるよう、前記結合変換行列を指定する
    ためのサブモジュールと
    を含む、システム。
  9. 請求項記載のシステムであって、
    キーフレーム一致点を識別するための前記サブモジュールを実行した後であって、前記第2の変換行列を推定するための前記サブモジュールを実行する前に実行される深度補正サブモジュールであって、
    識別された各キーフレーム一致点周りのウィンドウを規定するためのサブモジュールと、
    各ウィンドウ内の、前記カメラに対する最近点を識別するためのサブモジュールと、
    前記ウィンドウに関連付けられた先行して識別されたキーフレーム一致点の代わりに、各ウィンドウ内の前記の識別された最近点をキーフレーム一致点として指定するためのサブモジュールと
    を含む深度補正サブモジュールと、
    深度を補正するための前記サブモジュールを実行した後であって、前記第2の変換行列を推定するための前記サブモジュールを実行する前に実行されるキーフレーム一致点アウトライア指定解除サブモジュールであって、所定の最小レベルを下回る一致品質レベルを有する識別されたキーフレーム一致点の各対を、キーフレーム一致点として指定解除することを含むキーフレーム一致点アウトライア指定解除サブモジュールと、
    前記第2の変換行列を推定するための前記サブモジュールを実行した後であって、前記第3の変換行列を推定するための前記サブモジュールを実行する前に実行される第2のキーフレーム一致点アウトライア指定解除サブモジュールであって、
    (a)前記最後に入力されたカラー画像フレーム内で識別されたキーフレーム一致点に前記第2の変換行列を適用して、前記最後に入力されたカラー画像フレーム内のキーフレーム一致点に対応する、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレーム内のキーフレーム一致点を確かめるためのサブモジュールと、
    (b)前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレーム内の先行して識別されたキーフレーム一致点毎に、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレーム内の前記先行して識別されたキーフレーム一致点に対応する、前記最後に入力されたカラー画像フレーム内のキーフレーム一致点に前記第2の変換行列を適用することによって確かめられたキーフレーム一致点の座標と、前記先行して識別されたキーフレーム一致点の座標との間の差尺度を計算するためのサブモジュールと、
    (c)残りのキーフレーム一致点対の差尺度の平均を計算し、前記の計算された平均が所定の最小レベルを超えるか否かを判定するためのサブモジュールと、
    (d)前記の計算された平均が所定の最小レベルを超える場合には常に、
    大きさにより、前記差尺度を順序付けし、最大のものから始まる大きさの降順に所定の割合の前記差尺度を識別し、
    前記の識別された差尺度のうちの1つに関連付けられたキーフレーム一致点対それぞれの、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレーム内の前記先行して識別されたキーフレーム一致点、及び前記最後に入力されたカラー画像フレーム内のその対応するキーフレーム一致点を、キーフレーム一致点として指定解除し、
    残りのキーフレーム一致点を用いて前記第2の変換行列を再推定する
    ためのサブモジュールと、
    (e)所定の最大数の変換行列再推定反復に達したかを判定するためのサブモジュールと、
    (f)前記所定の最大数の変換行列再推定反復に達していない場合には常に、前記サブモジュール(a)乃至(e)の実行を反復するためのサブモジュールと
    を含む第2のキーフレーム一致点アウトライア指定解除サブモジュールと
    を更に備える、システム。
  10. 請求項記載のシステムであって、前記キーフレーム・マッチングを行うか否かを判定するための前記サブモジュールは、
    キーフレーム・マッチングが最後に行われてから、所定数のフレームが入力されているかを判定することと、
    キーフレーム・マッチングが最後に行われてから、所定数のフレームが入力されていないと判定された場合には常に、キーフレーム・マッチングが行われる時点でないと指示することと、
    キーフレーム・マッチングが最後に行われてから、所定数のフレームが入力されていると判定された場合には常に、キーフレーム・マッチングが行われる時点であると指示することと
    を含む、システム。
  11. 頭部姿勢トラッキングのためのシステムであって、
    ユーザの頭部上に配置されるように構成されたセンサ群であって、前記センサ群は、前記センサ群によって検知されたシーン内の点の3次元位置を識別するために使用される深度センサ装置と、カラー・ビデオ・カメラと、3軸周りの角速度、及び前記3軸に沿った線形加速度を測定する一式の慣性センサとを含み、前記深度センサ装置及び前記カラー・ビデオ・カメラは、深度フレーム及びカラー画像フレームの形式で同時シーン・データを周期的に生成するように同期化され、前記の同時に生成された深度フレーム内の対応する3次元シーン位置に各カラー画像フレーム内の各画素をマッピングするように校正され、前記一式の慣性センサは、前記深度フレーム及び前記カラー画像フレームが供給されるレート以上のレートで角速度データ及び線形加速度データのフレームを提供する、センサ群と、
    コンピューティング装置と、
    前記コンピューティング装置によって実行されるプログラム・モジュールを含むコンピュータ・プログラムと
    を備え、
    前記コンピューティング装置は、
    生成された各慣性センサ・フレームを入力し、
    最初の慣性センサ・フレームの後に入力された慣性センサ・フレーム毎に、
    最後に入力された慣性センサ・フレームを使用して現在の慣性センサ・ベースの変換行列を推定し、ここで、前記現在の慣性センサ・ベースの変換行列は、前記最後に入力された慣性センサ・フレームの直前に入力された慣性センサ・フレームから、前記最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定し、
    最初に入力された慣性センサ・フレームから、前記最後に入力された慣性センサ・フレームの直前に入力された前記慣性センサ・フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び前記最後に入力された慣性センサ・フレームの直前に入力された前記慣性センサ・フレームから、前記最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する前記現在の慣性センサ・ベースの変換行列を累算することにより、前記最初に入力された慣性センサ・フレームから、前記最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する最後の慣性センサ・ベースの変換行列を推定し、
    新たなカラー・ビデオ・フレーム及び深度フレームが生成されているかを判定し、
    新たなカラー・ビデオ・フレーム及び深度フレームが生成されていない場合には常に、前記最後の慣性センサ・ベースの変換行列を、前記最初に入力された慣性センサ・フレームに関連付けられた先行して求められた頭部姿勢の位置及び向きに適用して、現在の頭部姿勢の位置及び向きを識別し、
    新たなカラー・ビデオ・フレーム及び深度フレームが生成されている場合には常に、
    新たな前記カラー画像フレーム及び前記深度フレームを入力し、
    前記最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴を識別し、
    前記の識別された一致特徴と、前記最後に入力されたカラー画像フレーム、及び前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレームの両方における一致特徴の対応する3次元位置とを使用して、現在の画像ベースの変換行列を推定し、ここで、前記現在の画像ベースの変換行列は、前記最後に入力されたカラー画像フレームの直前に生成された前記カラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定し、
    前記最初に入力された慣性センサ・フレームから、前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する前記現在の画像ベースの変換行列を累算することにより、前記最初に入力された慣性センサ・フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する最後の画像ベースの変換行列を推定し、
    前記最後の画像ベースの変換行列及び前記最後の慣性センサ・ベースの変換行列を合併させて、前記最初に入力された慣性センサ・フレームから、前記最後に入力された慣性センサ・フレームへの点の平行移動及び回転を規定する単一の結合変換行列を生成し、
    前記結合変換行列を、前記最初に入力された慣性センサ・フレームに関連付けられた先行して求められた頭部姿勢の位置及び向きに適用して、現在の頭部姿勢の位置及び向きを識別する
    よう、前記コンピュータ・プログラムの前記プログラム・モジュールによって指示される、
    システム。
  12. 請求項11記載のシステムであって、新たな前記カラー画像フレーム及び前記深度フレームを入力するための前記プログラム・モジュールを実行した後であって、前記最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレームの直前に生成されたカラー画像フレームとの間の一致特徴を識別するための前記プログラム・モジュールを実行する前に実行されるキーフレーム・プログラム・モジュールを更に備え、前記キーフレーム・プログラム・モジュールは、
    新たなキーフレームを確立するかを判定するためのサブモジュールと、
    新たなキーフレームを確立すると判定された場合には常に、前記最後に入力されたカラー画像フレームを記録し、前記の記録されたフレームをキーフレームとして指定するためのサブモジュールと
    を含む、システム。
  13. 請求項12記載のシステムであって、新たなキーフレームを確立するかを判定するための前記サブモジュールは、前記最後に入力されたカラー画像フレームが、最初に入力されたカラー画像フレームであり、かつ、前記最後に入力されたカラー画像フレームが表すのが、先行して確立されたキーフレーム内に表されたシーンの所定の部分よりも小さい場合には常に、新たなキーフレームを確立すると判定することを含む、システム。
  14. 請求項12記載のシステムであって、前記キーフレーム・プログラム・モジュールは、更に、
    新たなキーフレームを確立しないと判定された場合には常に、キーフレーム・マッチングを行うかを判定するためのサブモジュールと、
    キーフレーム・マッチングを行うと判定された場合、又は新たなキーフレームが確立された場合には常に、
    前記最後に入力されたカラー画像フレームと、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す記録されたキーフレームとの間のキーフレーム一致点を識別し、
    前記の識別されたキーフレーム一致点と、前記最後に入力されたカラー画像フレーム、及び前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレームの両方におけるキーフレーム一致特徴の対応する3次元位置とを用いて第2の変換行列を推定し、ここで、前記第2の変換行列は、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定し、
    最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレーム内に表されたシーンの少なくとも所定の部分を表す前記記録されたキーフレームへの点の平行移動及び回転を規定する先行して計算されたキーフレーム変換行列、及び前記第2の変換行列を使用して第3の変換行列を推定し、ここで、前記第3の変換行列は、前記最初に入力されたカラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定し、
    前記最後に入力されたカラー画像フレームが、新たに確立されたキーフレームである場合には常に、前記最初に入力されたカラー画像フレームから、前記新たに確立されたキーフレームへの点の平行移動及び回転を規定するキーフレーム変換行列として前記第3の変換行列を指定し、
    前記最初に入力された慣性センサ・フレームから、前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームへの点の平行移動及び回転を規定する先行して計算された変換行列、及び前記最後に入力されたカラー画像フレームの直前に入力された前記カラー画像フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する前記現在の画像ベースの変換行列を累算することにより、前記最初に入力された慣性センサ・フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する第4の変換行列を推定し、
    前記第3の変換行列及び前記第4の変換行列を合併させて、前記最初に入力された慣性センサ・フレームから、前記最後に入力されたカラー画像フレームへの点の平行移動及び回転を規定する単一の結合画像ベースの変換行列を生成し、
    前記最後の画像ベースの変換行列であるよう、前記結合画像ベースの変換行列を指定する
    ためのサブモジュールと
    を含む、システム。
JP2014556555A 2012-02-08 2013-01-14 深度カメラを使用した頭部姿勢トラッキング Active JP6198230B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/369,168 2012-02-08
US13/369,168 US9529426B2 (en) 2012-02-08 2012-02-08 Head pose tracking using a depth camera
PCT/US2013/021353 WO2013119352A1 (en) 2012-02-08 2013-01-14 Head pose tracking using a depth camera

Publications (3)

Publication Number Publication Date
JP2015513662A JP2015513662A (ja) 2015-05-14
JP2015513662A5 JP2015513662A5 (ja) 2016-02-18
JP6198230B2 true JP6198230B2 (ja) 2017-09-20

Family

ID=48902542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014556555A Active JP6198230B2 (ja) 2012-02-08 2013-01-14 深度カメラを使用した頭部姿勢トラッキング

Country Status (6)

Country Link
US (1) US9529426B2 (ja)
EP (1) EP2813082B1 (ja)
JP (1) JP6198230B2 (ja)
KR (1) KR102006043B1 (ja)
CN (1) CN104106262B (ja)
WO (1) WO2013119352A1 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2984057B1 (fr) 2011-12-13 2014-01-03 Solidanim Systeme de tournage de film video
GB201208088D0 (en) * 2012-05-09 2012-06-20 Ncam Sollutions Ltd Ncam
WO2013173728A1 (en) * 2012-05-17 2013-11-21 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for unified scene acquisition and pose tracking in a wearable display
WO2014089542A1 (en) * 2012-12-06 2014-06-12 Eyefluence, Inc. Eye tracking wearable devices and methods for use
WO2014160342A1 (en) 2013-03-13 2014-10-02 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
US8995754B2 (en) * 2013-05-30 2015-03-31 Xerox Corporation Estimating a pose of a camera for volume estimation
US9336440B2 (en) * 2013-11-25 2016-05-10 Qualcomm Incorporated Power efficient use of a depth sensor on a mobile device
US9524580B2 (en) * 2014-01-06 2016-12-20 Oculus Vr, Llc Calibration of virtual reality systems
US9437000B2 (en) * 2014-02-20 2016-09-06 Google Inc. Odometry feature matching
JP2017512398A (ja) * 2014-02-27 2017-05-18 トムソン ライセンシングThomson Licensing 映像を提示する方法及び装置
US9495801B2 (en) 2014-05-01 2016-11-15 Microsoft Technology Licensing, Llc Pose tracking an augmented reality device
DE102014106718B4 (de) * 2014-05-13 2022-04-07 Immersight Gmbh System, welches eine Blickfelddarstellung in einer gegenständlichen Lage in einem veränderbaren Raumwinkelbereich darbietet
US9727776B2 (en) * 2014-05-27 2017-08-08 Microsoft Technology Licensing, Llc Object orientation estimation
US20160027220A1 (en) * 2014-07-24 2016-01-28 JRC Integrated Systems, Inc. Low latency methodologies for a headset-mounted camera on virtual reality displays
US20160077166A1 (en) * 2014-09-12 2016-03-17 InvenSense, Incorporated Systems and methods for orientation prediction
CN104346816B (zh) * 2014-10-11 2017-04-19 京东方科技集团股份有限公司 一种深度确定方法、装置及电子设备
WO2016073557A1 (en) 2014-11-04 2016-05-12 The University Of North Carolina At Chapel Hill Minimal-latency tracking and display for matching real and virtual worlds
GB2532461A (en) * 2014-11-19 2016-05-25 Bae Systems Plc System and method for position tracking in a head mounted display
CN107847187B (zh) * 2015-07-07 2021-08-17 皇家飞利浦有限公司 用于对肢体的至少部分进行运动跟踪的装置和方法
US10360718B2 (en) * 2015-08-14 2019-07-23 Samsung Electronics Co., Ltd. Method and apparatus for constructing three dimensional model of object
US10742961B2 (en) 2015-09-02 2020-08-11 Industrial Technology Research Institute Depth sensing apparatus with self-calibration and self-calibration method thereof
CN106488204B (zh) * 2015-09-02 2018-06-15 财团法人工业技术研究院 具备自身校准的深度摄影装置以及自身校准方法
KR102371634B1 (ko) * 2015-09-10 2022-03-08 엘지이노텍 주식회사 스테레오 카메라의 거리 추출 방법
CA3005894A1 (en) 2015-11-20 2017-05-26 Magic Leap, Inc. Methods and systems for large-scale determination of rgbd camera poses
US9872011B2 (en) * 2015-11-24 2018-01-16 Nokia Technologies Oy High-speed depth sensing with a hybrid camera setup
EP3386389B1 (en) 2015-12-11 2020-03-11 Brainlab AG Determination of center of rotation of a bone
US10565723B2 (en) * 2016-02-02 2020-02-18 Samsung Electronics Co., Ltd. Systems and methods for drift correction
CN107122002A (zh) * 2016-02-24 2017-09-01 北京锤子数码科技有限公司 一种头戴式可视设备
CN106095090A (zh) * 2016-06-07 2016-11-09 北京行云时空科技有限公司 基于智能系统的空间场景的操控方法、装置和系统
CN106325517A (zh) * 2016-08-29 2017-01-11 袁超 一种基于虚拟现实的目标对象触发方法、系统和穿戴设备
FR3057347B1 (fr) * 2016-10-06 2021-05-28 Univ Aix Marseille Systeme de mesure de la distance d'un obstacle par flux optique
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
CN108335327B (zh) * 2017-01-19 2021-09-24 富士通株式会社 摄像机姿态估计方法和摄像机姿态估计装置
US10698068B2 (en) * 2017-03-24 2020-06-30 Samsung Electronics Co., Ltd. System and method for synchronizing tracking points
EP3388863A1 (en) * 2017-04-10 2018-10-17 Bea S.A. Sensor for controlling an automatic door
EP3616400A4 (en) * 2017-04-28 2020-05-13 Samsung Electronics Co., Ltd. METHOD FOR PROVIDING CONTENT AND DEVICE THEREFOR
US20180322689A1 (en) * 2017-05-05 2018-11-08 University Of Maryland, College Park Visualization and rendering of images to enhance depth perception
JP7189156B2 (ja) * 2017-05-15 2022-12-13 アウスター インコーポレイテッド 色によるパノラマlidar結果の増強
US10621751B2 (en) * 2017-06-16 2020-04-14 Seiko Epson Corporation Information processing device and computer program
CN107516327B (zh) * 2017-08-21 2023-05-16 腾讯科技(上海)有限公司 基于多层滤波确定相机姿态矩阵的方法及装置、设备
TWI652447B (zh) 2017-09-12 2019-03-01 財團法人成大研究發展基金會 適用於疊代最近點法以選擇關鍵圖框的系統與方法
US10839547B2 (en) * 2017-09-28 2020-11-17 Samsung Electronics Co., Ltd. Camera pose determination and tracking
GB2569803B (en) * 2017-12-22 2021-11-24 Novarum Dx Ltd Analysis of a captured image to determine a test outcome
JP7207809B2 (ja) * 2018-01-18 2023-01-18 バルブ コーポレーション センサ集積回路を含むヘッドマウントディスプレイのためのポジショントラッキングシステム
US10706813B1 (en) 2018-02-03 2020-07-07 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10559276B2 (en) 2018-02-03 2020-02-11 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
JP6516042B2 (ja) * 2018-05-11 2019-05-22 セイコーエプソン株式会社 信号処理装置、検出装置、センサー、電子機器及び移動体
US11677833B2 (en) * 2018-05-17 2023-06-13 Kaon Interactive Methods for visualizing and interacting with a three dimensional object in a collaborative augmented reality environment and apparatuses thereof
US10678325B2 (en) * 2018-05-22 2020-06-09 Facebook Technologies, Llc Apparatus, system, and method for accelerating positional tracking of head-mounted displays
US10410372B1 (en) 2018-06-14 2019-09-10 The University Of North Carolina At Chapel Hill Methods, systems, and computer-readable media for utilizing radial distortion to estimate a pose configuration
JPWO2020110659A1 (ja) * 2018-11-27 2021-10-14 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
CN109960402B (zh) * 2018-12-18 2022-04-01 重庆邮电大学 一种基于点云和视觉特征融合的虚实注册方法
KR102256050B1 (ko) * 2019-01-28 2021-05-25 한국기술교육대학교 산학협력단 웨어러블 장치 및 이를 포함하는 컴퓨터 시각 증후군 방지 시스템
KR102100639B1 (ko) * 2019-05-28 2020-04-14 주식회사 젠다카디언 낙상 및 기립 감지 장치
US11153488B2 (en) 2019-09-26 2021-10-19 United States Of America, As Represented By The Secretary Of The Army Variable latency and frame rate camera
US11061469B2 (en) * 2019-11-20 2021-07-13 XRSpace CO., LTD. Head mounted display system and rotation center correcting method thereof
CN111242090B (zh) * 2020-01-22 2023-06-23 腾讯科技(深圳)有限公司 基于人工智能的人脸识别方法、装置、设备及介质
CN111369596B (zh) * 2020-02-26 2022-07-05 华南理工大学 一种基于视频监控的手扶电梯客流量统计方法
US11625857B1 (en) 2020-06-15 2023-04-11 Apple Inc. Enhanced content positioning
DE102020121408A1 (de) 2020-08-14 2022-02-17 Bayerische Motoren Werke Aktiengesellschaft Computerimplementiertes Verfahren und System zur Vorhersage einer Orientierung und räumlichen Position einer am Kopf eines Nutzers montierbaren Anzeigevorrichtung
US20210110606A1 (en) * 2020-12-23 2021-04-15 Intel Corporation Natural and immersive data-annotation system for space-time artificial intelligence in robotics and smart-spaces
CN113900516A (zh) * 2021-09-27 2022-01-07 阿里巴巴达摩院(杭州)科技有限公司 数据处理方法、装置、电子设备和存储介质
CN114007099A (zh) * 2021-11-04 2022-02-01 北京搜狗科技发展有限公司 一种视频处理方法、装置和用于视频处理的装置
CN116704587B (zh) * 2023-08-02 2023-10-20 山东建筑大学 融合纹理信息和深度信息的多人头部姿态估计方法及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414731B2 (en) * 1990-11-30 2002-07-02 Sun Microsystems, Inc. Low cost virtual reality system
US6064749A (en) 1996-08-02 2000-05-16 Hirota; Gentaro Hybrid tracking for augmented reality using both camera motion detection and landmark tracking
AU7171698A (en) 1997-05-05 1998-11-27 Shell Oil Company Visual recognition method
JP2001101410A (ja) * 1999-09-28 2001-04-13 Suzuki Motor Corp 変換行列データ生成方法及び較正治具並びに三次元計測システム
US20020105484A1 (en) * 2000-09-25 2002-08-08 Nassir Navab System and method for calibrating a monocular optical see-through head-mounted display system for augmented reality
US7203356B2 (en) * 2002-04-11 2007-04-10 Canesta, Inc. Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications
US8570378B2 (en) 2002-07-27 2013-10-29 Sony Computer Entertainment Inc. Method and apparatus for tracking three-dimensional movements of an object using a depth sensing camera
JP2004085476A (ja) 2002-08-28 2004-03-18 Sony Corp ヘッドトラッキング方法及び装置
US20070035562A1 (en) 2002-09-25 2007-02-15 Azuma Ronald T Method and apparatus for image enhancement
US7002551B2 (en) 2002-09-25 2006-02-21 Hrl Laboratories, Llc Optical see-through augmented reality modified-scale display
WO2004107266A1 (en) 2003-05-29 2004-12-09 Honda Motor Co., Ltd. Visual tracking using depth data
JP4532856B2 (ja) 2003-07-08 2010-08-25 キヤノン株式会社 位置姿勢計測方法及び装置
JP2005147894A (ja) * 2003-11-17 2005-06-09 Canon Inc 計測方法、計測装置
US8040361B2 (en) * 2005-04-11 2011-10-18 Systems Technology, Inc. Systems and methods for combining virtual and real-time physical environments
US7542210B2 (en) * 2006-06-29 2009-06-02 Chirieleison Sr Anthony Eye tracking head mounted display
CN103258184B (zh) 2008-02-27 2017-04-12 索尼计算机娱乐美国有限责任公司 用于捕获场景的深度数据并且应用计算机动作的方法
US9600067B2 (en) 2008-10-27 2017-03-21 Sri International System and method for generating a mixed reality environment
KR101537948B1 (ko) 2008-12-16 2015-07-20 삼성전자주식회사 얼굴 포즈 추정을 이용한 촬영 방법 및 장치
US8970690B2 (en) 2009-02-13 2015-03-03 Metaio Gmbh Methods and systems for determining the pose of a camera with respect to at least one object of a real environment
US8831277B1 (en) * 2009-10-02 2014-09-09 Rockwell Collins, Inc. Optical helmet tracking system
KR101313797B1 (ko) 2009-12-18 2013-10-01 한국전자통신연구원 머리 위치 추적을 이용한 입체 영상 표시 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
JP2015513662A (ja) 2015-05-14
KR20140126707A (ko) 2014-10-31
EP2813082A1 (en) 2014-12-17
US9529426B2 (en) 2016-12-27
CN104106262B (zh) 2017-01-18
US20130201291A1 (en) 2013-08-08
KR102006043B1 (ko) 2019-07-31
EP2813082B1 (en) 2018-03-28
CN104106262A (zh) 2014-10-15
WO2013119352A1 (en) 2013-08-15
EP2813082A4 (en) 2015-09-23

Similar Documents

Publication Publication Date Title
JP6198230B2 (ja) 深度カメラを使用した頭部姿勢トラッキング
US10948297B2 (en) Simultaneous location and mapping (SLAM) using dual event cameras
US11734846B2 (en) System and method for concurrent odometry and mapping
KR101776622B1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101725060B1 (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN108700946B (zh) 用于并行测距和建图的故障检测和恢复的系统和方法
KR101776621B1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101708659B1 (ko) 이동 로봇의 맵을 업데이트하기 위한 장치 및 그 방법
KR101776620B1 (ko) 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
JP2023021994A (ja) 自動運転車両に対するデータ処理方法及び装置、電子機器、記憶媒体、コンピュータプログラム、ならびに自動運転車両
JP7103354B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
KR20220122287A (ko) 증강 현실 제공 장치의 포즈 결정 방법 및 장치
WO2023087681A1 (zh) 定位初始化方法、装置、计算机可读存储介质和计算机程序产品
CN116704022A (zh) 基于结构线段的vio系统的位姿估计方法、装置及介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170220

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: 20170718

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170816

R150 Certificate of patent or registration of utility model

Ref document number: 6198230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250