JP2017503418A - 仮想現実システムの較正 - Google Patents

仮想現実システムの較正 Download PDF

Info

Publication number
JP2017503418A
JP2017503418A JP2016543235A JP2016543235A JP2017503418A JP 2017503418 A JP2017503418 A JP 2017503418A JP 2016543235 A JP2016543235 A JP 2016543235A JP 2016543235 A JP2016543235 A JP 2016543235A JP 2017503418 A JP2017503418 A JP 2017503418A
Authority
JP
Japan
Prior art keywords
rigid body
locator
calibration data
headset
image
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.)
Granted
Application number
JP2016543235A
Other languages
English (en)
Other versions
JP2017503418A5 (ja
JP6110573B2 (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.)
Facebook Technologies LLC
Original Assignee
Facebook Technologies LLC
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 Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of JP2017503418A publication Critical patent/JP2017503418A/ja
Publication of JP2017503418A5 publication Critical patent/JP2017503418A5/ja
Application granted granted Critical
Publication of JP6110573B2 publication Critical patent/JP6110573B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/04Diagnosis, testing or measuring for television systems or their details for receivers
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • 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/10016Video; Image sequence
    • 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/30204Marker

Abstract

仮想現実(VR)コンソールは、前部剛体及び後部剛体を含む、撮像デバイスからの低速較正データ及びVRヘッドセット上の慣性測定ユニットからの高速較正データを受信する。低速較正データは、後部剛体のロケータのみが可視である画像を含む。観測位置が低速較正データから特定され、予測位置が高速較正データから特定される。観測位置と予測位置との差が閾値よりも大きい場合、予測位置は、差が閾値未満になるまで、一時的なオフセットによって調整される。一時的なオフセットは、前部剛体及び後部剛体の両方のロケータが低速較正データの画像で可視になると、後部剛体を前部剛体に再較正することにより除去される。

Description

本開示は、概して較正システムに関し、より詳細には仮想現実システムの較正に関する。
動作追跡は、多くのデバイスで対処されてきた昔からある問題である。例としては、全地球測位システム、航空機レーダシステム、ロボットシステム、及び家庭娯楽システムが挙げられる。最後の事例では、既存のデバイスは、ゲームコントローラ又はゲームと対話する人々の動きを追跡する。
幾つかの重要な特性により、最も適切な検知及び計算ハードウェアのタイプが決まる:1)剛体のサイズ、2)剛体が移動し得る空間の容積、3)剛体の最大速度及び加速度の限界、4)剛体の予測可能性。
動作追跡システムでは、通常、比較的小さな空間にある間、通常、屋内で着座している間に人体に対して保持されるデバイスの動きを追跡する必要があるが、これは必要なことではない。より詳細には、その意図は、ユーザがヘッドマウントディスプレイを装着している間、頭部の動きを追跡することである。これは、システムの性能に対して極めて厳しい要件を生じさせる。例えば、仮想現実では、位置及び向きのエラーは、ユーザが真の没入を感じないため、不良な経験を生じさせる。さらに、ディスプレイを見ている間、人間の前庭系によって脳に提供される信号と、人間の視覚系によって脳に提供される信号との不一致があり得る。
この使用例は、動きが生じ得る空間の容積に制限を課す。これは、さらに、人間の動きから誘導される速度及び加速度への速度及び加速度を制限するが、一般に動きが予測不可能であることも極めて重要である。さらに、人体の動きの複雑性及び他の剛体との人体の対話により、動きを支配する物理学をモデリングすることは困難である。
仮想現実(VR)デバイスは、ユーザが装着したヘッドセットの位置及び動きを特定する構成要素を含む。これらの構成要素は、最初は製造許容差に起因し、続けてシステムの通常の使用に起因して、様々なときに較正する必要がある。較正されたVRデバイスを不適切に動作させると、ヘッドセットの位置又は動きの追跡が不適切になり、これは、ユーザの動きとヘッドセットを介してユーザに提示されるメディアとの間に不一致を生じさせる。さらに、ヘッドのセットの位置及び動きを特定する構成要素の1つ又は複数は、時間の経過に伴い又は使用に伴い較正を失うおそれがある。例えば、温度又は振動の変化は、ヘッドセットの動きを撮像しているカメラの較正を失わせるおそれがある。
VRシステムの仮想現実(VR)ヘッドセットは、一緒に非剛性結合される前部剛体及び後部剛体を含む。例えば、前部剛体は、弾性ヘッドバンドによって後部剛体に結合され、それにより、VRシステムは、前部剛体がVRシステムに含まれる撮像デバイスから離れて向けられたとき、VRヘッドセットを装着しているエンティティの動きを引き続き検出する。前部剛体及び後部剛体は両方とも、VRヘッドセットの位置を追跡するためのロケータを含む。ロケータとは、VRヘッドセットの別のロケータ等の1つ又は複数の構成要素に相対するとともに、VRヘッドセット上の参照点に相対して、VRヘッドセット上の特定の位置に配置される物体である。前部剛体と後部剛体との関係は必ずしも一定ではないため、VRシステムは、後部剛体に相対する前部剛体の位置の追跡を失い、VRシステムに再較正させて、VRヘッドセットの追跡を再取得させることがある。幾つかの実施形態では、VRコンソールは、後部剛体に対する前部剛体の再較正を行うことができるまで、高速較正データと、オフセット値によって調整された位置ベクトルとを使用して、後部剛体からのロケータのみを含む低速較正データ内の画像の特定の画像時刻値後の時間での後部剛体の後続予測位置を特定する。
VRシステムは、前部剛体の位置又は後部剛体の位置の追跡が失われるとき、それ自体を較正する。例えば、VRシステムは、後部体のロケータの推定位置と、前部剛体に含まれる1つ又は複数の位置センサ(例えば、加速度計、ジャイロスコープ)からのデータに基づいて前部剛体内の慣性測定ユニット(IMU)によって特定される前部剛体の参照点の中間推定位置との測定差に基づいて、いつ再較正するかを決定する。参照点の中間推定位置は、高速較正データから特定される位置であり、画像に関連付けられた時間又は画像に関連付けられた時間と低速較正データからの後続画像との間の時間が関連付けられ得る。
仮想現実(VR)システムの構成要素は、VRシステムに関連付けられたVRヘッドセットの追跡を維持するように較正される。VRシステムは、撮像デバイスから受信される低速較正データ及びVRヘッドセットに含まれる慣性測定ユニット(IMU)から受信される高速較正データを較正に使用する。幾つかの実施形態では、VRシステムの構成要素は、まず1つ又は複数のデフォルトパラメータを構成要素に適用することによって較正し得る。デフォルトパラメータに基づいて、VRシステムは、VRヘッドセットに含まれる1つ又は複数のロケータに関連付けられた位置を識別することにより、VRヘッドセットの動きを追跡する。ロケータとは、VRヘッドセットの別のロケータ等の1つ又は複数の構成要素に相対するとともに、VRヘッドセット上の参照点に相対して、VRヘッドセット上の特定の位置に配置される物体である。幾つかの実施形態では、VRヘッドセットは、互いに非剛性結合された2つの剛体を含み、ロケータは、ユーザの頭部の位置及び向きを追跡するために、各剛体に含まれる。VRシステムは、閾値未満である1つ又は複数のロケータの観測位置と1つ又は複数のロケータの推定位置との間の差まで、1つ又は複数の較正パラメータを調整する。
幾つかの実施形態では、VRシステムは、撮像デバイスからのVRヘッドセットの複数のロケータの部分を示す一連の画像を含む低速較正データを受信するVRコンソールを含む。各画像は、画像時刻値により、一連内の後続画像から隔てられる。さらに、VRコンソールは、VRヘッドセットに含まれるIMUから、VRヘッドセットの参照点の1つ又は複数の中間位置を含む高速較正データを受信する。参照点の中間推定位置は、高速較正データから特定される位置であり、画像に関連付けられた時間又は画像に関連付けられた時間と低速較正データからの後続画像との間の時間が関連付けられ得る。IMUは、VRヘッドセットに含まれる1つ又は複数の位置センサ(例えば、加速度計、ジャイロスコープ)からのデータに基づいて、参照点の中間推定位置を特定する。各中間推定位置は、画像時間未満値である位置時刻値により、後続中間推定位置から隔てられる。
幾つかの実施形態では、VRシステムに含まれるVRコンソールは、撮像デバイスから画像時刻値において撮影されたVRヘッドセットの一連の画像を含む低速較正データを受信する。一連の画像の少なくとも1つの画像は、後部剛体のロケータのみを含み、特定の画像時刻値が関連付けられる。さらに、VRコンソールは、IMUから、VRヘッドセットの前部剛体に含まれる1つ又は複数の位置センサから特定されるVRヘッドセットの前部剛体の参照点の1つ又は複数の中間推定位置を含む高速較正データを受信する。VRコンソールは、低速較正データを使用して、特定の画像時刻値での後部剛体の観測位置を特定し、高速較正データと、前部剛体と後部剛体との較正オフセットを示す位置ベクトルとを使用して、VRヘッドセットの後部剛体のみからのロケータを含む画像に関連付けられた画像時刻値での後部剛体の予測位置を特定する。
VRコンソールは、後部剛体の観測位置と後部剛体の予測位置との差を特定する。この差が閾値よりも大きい場合、VRコンソールは、後部剛体の観測位置と後部剛体の予測位置との差が閾値未満であるような一時的オフセット値により、後部剛体の予測位置を調整する。幾つかの実施形態では、VRコンソールは、後部剛体への前部剛体の再較正を行うことができるまで、高速較正データと、オフセット値により調整された位置ベクトルとを使用して、後部剛体からのロケータのみを含む低速較正データ内の画像の特定の画像時刻値後の画像の後部剛体の後続予測位置を特定する。
再較正は、後部剛体のロケータのみを含む画像の特定の時間後の時間を有し、少なくとも、前部剛体の前部閾値数の観測ロケータ及び後部剛体の後部閾値数の観測ロケータを含む、低速較正データからの少なくとも1つの画像を使用する。VRコンソールは、VRヘッドセットのヘッドセットモデルを使用して、低速較正データ内の画像からの観測ロケータに対応するモデルロケータを識別する。例えば、VRコンソールは、低速較正データ内の画像からロケータ情報を抽出し、ロケータ情報は、所与の画像内の互いに対する、VRヘッドセットの観測ロケータの位置を示す。低速較正データからの画像の少なくとも1つでは、VRコンソールは、前部剛体及び後部剛体の両方の観測ロケータに対応するモデルロケータを識別する。VRコンソールは、ロケータ情報をヘッドセットモデルと比較して、観測ロケータに対応するモデルロケータを識別する。
ロケータ情報に基づいて、VRコンソールは、ヘッドセットモデルを使用して観測ロケータの推定位置を生成する。例えば、VRコンソールは、ヘッドセットモデルと、観測ロケータの位置を識別する情報とを使用して、(ヘッドセットモデルによって記述される)理想的な位置を(観測ロケータの画像によって示される)撮像デバイスの画像平面上の位置に変換するための射影行列を特定する。VRコンソールは射影行列を使用して、観測ロケータの位置を推定する。VRコンソールは、射影行列を使用して観測ロケーションの位置を推定し、1つ又は複数の較正パラメータを調整して、前部剛体の観測ロケータの調整推定位置と、ヘッドセットモデル観測ロケーションによって特定される対応する位置との相対距離が閾値未満になるまで、前部剛体の観測ロケータの推定位置の1つ又は複数を調整する。同様に、VRコンソールは、後部剛体の観測ロケータの推定位置を特定し、上述したように、後部剛体の観測ロケーションの推定位置を調整する。前部剛体の観測ロケータの調整推定位置に基づいて、VRコンソールは、低速較正データからの1つ又は複数の画像の前部剛体の参照点の較正位置を特定する。
VRコンソールは、前部剛体の参照点に相対する後部剛体の位置を特定する。例えば、VRコンソールは、後部剛体の観測ロケータの調整推定位置を使用して、後部剛体の後部参照点を識別する。次に、VRコンソールは、前部剛体の参照点に相対する後部参照点の位置を識別する。代替の実施形態では、VRコンソールは、前部剛体の参照点に相対する後部剛体の各観測ロケータの位置を識別する。VRコンソールはさらに、前部剛体の参照点及び/又は後部参照点の中間推定位置が、前部剛体の参照点の較正位置及び/又は低速較正データからの後部参照点の較正位置(例えば、曲線近似を介して)から特定される前部剛体及び/又は後部剛体の参照点の予測位置の閾値内であるように、1つ又は複数の較正パラメータを調整する。
VRシステムの実施形態は、多数とは対照的に単一のカメラのみを使用することにより、高精度の追跡を提供するとともに、体の表面に上手く分散した多数のLEDを通して高精度を達成する。変調手法により、各LEDは一意に識別することができ、その結果、オクルージョン及び近傍の光源からの干渉に対するロバスト性がより高いシステムになる。さらに、変調手法はデジタルハードウェアと併せて、消費電力を低減し、その理由は、LEDが、カメラシャッタが開かれているときのみ給電されるためである。
VRシステムは、仮想現実及び拡張現実に適するレベルの性能で、同時に既存の技術と比較して経済的要件及び論理的要件を劇的に低減しながら、ヘッドマウントディスプレイ又はゲームコントローラ等の他の物体を追跡する問題を解消する。
実施形態による仮想現実コンソールが動作するシステム環境のブロック図である。 実施形態による仮想現実ヘッドセットのワイヤ図である。 実施形態による前部剛体及び後部剛体を含む仮想現実ヘッドセットのワイヤ図である。 実施形態による仮想現実コンソールの追跡モジュールのブロック図である。 実施形態による仮想現実システムを較正するプロセスのフローチャートである。 実施形態による、仮想現実システムに含まれる仮想現実ヘッドセット内の2つの剛体間に較正を再確立するプロセスのフローチャートである。 実施形態による、仮想現実システムに含まれる仮想現実ヘッドセット内の2つの剛体間の位置関係を維持するプロセスのフローチャートである。 実施形態による、仮想現実ヘッドセットの一連の較正位置を示すグラフ例である。 位置追跡システムの高レベル図例である。 観測された明るいドット及び予測射影の例を示す。 ポーズ最適化の例を示す。
図は、単に例示を目的として本開示の実施形態を示す。以下の説明から、本明細書に記載される本開示の原理又は得られる利点から逸脱せずに、本明細書に示される構造及び方法の代替の実施形態が利用可能であることを当業者は容易に認識しよう。
システムアーキテクチャ
図1は、VRコンソール110が動作する仮想現実(virtual reality : VR)システム環境100の一実施形態のブロック図である。図1に示されるシステム環境100は、VRヘッドセット105と、撮像デバイス135と、VR入力インターフェース140とを備え、それぞれがVRコンソール110に結合されている。図1は、1つのVRヘッドセット105、1つの撮像デバイス135、及び1つのVR入力インターフェース140を含む例としてのシステム100を示すが、他の実施形態では、任意の数のこれらの構成要素がシステム100に含まれ得る。例えば、それぞれが関連付けられたVR入力インターフェース140を有し、1つ又は複数の撮像デバイス135によってモニタされる複数のVRヘッドセット105があり得、各VRヘッドセット105、VR入力インターフェース140、及び撮像デバイス135は、VRコンソール110と通信する。代替の構成では、異なる及び/又は追加の構成要素がシステム環境100に含まれ得る。
VRヘッドセット105は、メディアをユーザに提示するヘッドマウントディスプレイである。VRヘッドセットによって提示されるメディアの例としては、1つ又は複数の画像、ビデオ、オーディオ、又はそれらの何らかの組合せが挙げられる。幾つかの実施形態では、オーディオは、オーディオ情報をVRヘッドセット105、VRコンソール110、又は両方から受信し、オーディオ情報に基づいてオーディオデータを提示する外部デバイス(例えば、スピーカ及び/又はヘッドフォン)を介して提示される。VRヘッドセット105の実施形態例については、図2A及び図2Bと併せて更に後述する。
様々な実施形態では、VRヘッドセット105は、互いに剛性結合又は非剛性結合し得る1つ又は複数の剛体(rigid body)を備え得る。剛体間の剛性結合は、結合された剛体を単一の剛性実体として機能させる。逆に、剛体間の非剛性結合は、剛体が互いに対して移動できるようにする。一緒に非剛性結合される2つの剛体を含むVRヘッドセット105の実施形態について、図2Bと併せて更に後述する。
VRヘッドセット105は、電子ディスプレイ115、1つ又は複数のロケータ(locator)120、1つ又は複数の位置センサ125、及び慣性測定ユニット(IMU:inertial measurement unit)130を含む。電子ディスプレイ115は、VRコンソール110から受信されるデータに従って画像をユーザに表示する。様々な実施形態では、電子ディスプレイ115は、単一の電子ディスプレイ又は複数の電子ディスプレイ(例えば、ユーザのそれぞれの目に1つのディスプレイ)を含み得る。電子ディスプレイ115の例としては、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、アクティブマトリックス式有機発光ダイオード(AMOLED)、何らかの他のディスプレイ、又はそれらの何らかの組合せが挙げられる。さらに、電子ディスプレイ115には、1つ又は複数のタイプの光学エラー(例えば、像面歪曲、収差、樽形歪曲、糸巻歪曲、色収差等)を補正する1つ又は複数の光学構成要素が関連付けられ得る。幾つかの実施形態では、ユーザに提示するために電子ディスプレイ115に提供されるメディアは、1つ又は複数のタイプの光学エラーの補正を補助するために予め歪ませられる。さらに、光学構成要素は、倍率又は別の適する方法を通して、表示されたメディアの視野を増大させることができる。例えば、表示されるメディアの視野は、表示されるメディアがユーザの視野の略全て(例えば、110度対角)又は幾つかの場合では全てを使用して提示されるようなものである。
ロケータ120は、互いに相対するとともに、VRヘッドセット105上の特定の参照点に相対してVRヘッドセット105上の特定の位置に配置される物体である。ロケータ120は、発光ダイオード(LED)、コーナーキューブリフレクタ、反射マーカ、VRヘッドセット105が動作する環境と対照的な光源の一種、又はそれらの何らかの組合せであり得る。ロケータ120がアクティブ(すなわち、LED又は他のタイプの発光デバイス)である実施形態では、ロケータ120は、可視帯域(約380nm〜750nm)、赤外線(IR)帯域(約750nm〜1mm)、紫外線帯域(10nm〜380nm)、電磁スペクトルの何らかの他の部分、又はそれらの組合せの光を発し得る。
幾つかの実施形態では、ロケータは、ロケータ120によって発せられるか、若しくは反射される光の波長を透過するか、又はロケータ120によって発せられるか、若しくは反射される光の波長を実質的に減衰させないほど十分に薄いVRヘッドセット105の外面の下に配置される。さらに、幾つかの実施形態では、VRヘッドセット105の外面又は他の部分は、可視帯域で不透明である。したがって、ロケータ120は、IR帯域では透明であるか、可視帯域では不透明な外面下でIR帯域の光を発し得る。
IMU130は、位置センサ125の1つ又は複数から受信される測定信号に基づいて高速較正データを生成する電子デバイスである。位置センサ125は、VRヘッドセット105の動きに応答して1つ又は複数の測定信号を生成する。位置センサ125の例としては、1つ又は複数の加速度計、1つ又は複数のジャイロスコープ、1つ又は複数の磁力計、任意の他の適するタイプのセンサ、又はそれらの何らかの組合せが挙げられる。位置センサ125は、IMU130の外部、IMU130の内部、又はそれらの何からの組合せに配置し得る。
1つ又は複数の位置センサ125からの1つ又は複数の測定信号に基づいて、IMU130は、VRヘッドセット105の初期位置に相対するVRヘッドセット105の推定位置を示す高速較正データを生成する。例えば、位置センサ125は、並進移動(前/後、上/下、左/右)を測定する複数の加速度計と、回転移動(例えば、ピッチ、ヨー、ロール)を測定する複数のジャイロスコープとを含む。幾つかの実施形態では、IMU130は、測定信号を高速サンプリングし、サンプリングデータからVRヘッドセット105の推定位置を計算する。例えば、IMU130は、加速度計から時間の経過に伴い受信した測定信号を積分して、速度ベクトルを推定し、時間の経過に伴って速度ベクトルを積分して、VRヘッドセット105上の参照点の推定位置(例えば、中間推定位置)を測定する。代替的には、IMU130は、サンプリングされた測定信号をVRコンソール110に提供し、VRコンソール110は高速較正データを特定する。参照点とは、VRヘッドセット105の位置の特定に使用し得る点である。参照点は一般に、空間内の点として定義し得るが、実際には、参照点は、VRヘッドセット105内の点(例えば、IMU130の中心)として定義される。
IMU130は、1つ又は複数の較正パラメータをVRコンソール110から受信する。更に後述するように、1つ又は複数の較正パラメータは、VRヘッドセット105の追跡を維持するために使用される。受信された較正パラメータ(例えば、IMUパラメータ)に基づいて、IMU130は動作を調整(例えば、サンプリングレート等を変更)し得る。幾つかの実施形態では、更に後述するように、特定の較正パラメータは、IMU130に、VRヘッドセット105の推定位置をオフセットさせ、VRヘッドセット105の特定の部分のみが撮像デバイス135に可視である場合に生じ得る位置エラーを補正する。幾つかの実施形態では、特定の較正パラメータは、参照点の初期位置が参照点の次の較正位置に対応するように、IMU130に参照点の初期位置を更新させる。参照点の次の較正位置として、参照点の初期位置を更新することは、特定された推定位置に関連付けられた累積エラーを除去するのに役立つ。累積エラーは、ドリフトエラーとも呼ばれ、時間の経過に伴い、参照点の推定位置を参照点の実際の位置から離す。
撮像デバイス135は、VRコンソール110から受信される較正パラメータに従って低速較正データを生成する。低速較正データは、撮像デバイス135によって検出可能なロケータ120の観測位置を示す1つ又は複数の画像を含む。撮像デバイス135は、1つ又は複数のカメラ、1つ又は複数のビデオカメラ、ロケータ120の1つ又は複数を含む画像を捕捉可能な任意の他のデバイス、又はそれらの任意の組合せを含み得る。さらに、撮像デバイス135は、1つ又は複数のフィルタ(例えば、信号対雑音比の増大に使用される)を含み得る。撮像デバイス135は、撮像デバイス135の視野にロケータ120から放射されるか、又は反射される光を検出するように構成される。ロケータ120が受動要素(例えば、再帰反射器)を含む実施形態では、撮像デバイス135は、ロケータ120の幾つか又は全てを照明する光源を含み得、ロケータ120は、光を撮像デバイス135内の光源に向けて再帰反射する。低速較正データは、撮像デバイス135からVRコンソール110に通信される。撮像デバイス135は、1つ又は複数の較正パラメータをVRコンソール110から受信し、較正パラメータに基づいて1つ又は複数の撮像パラメータ(例えば、焦点距離、焦点、フレームレート、ISO、センサ温度、シャッタ速度、アパーチャ等)を調整し得る。
VR入力インターフェース140は、ユーザが動作要求をVRコンソール110に送信できるようにするデバイスである。動作要求は、特定の動作を実行する要求である。例えば、動作要求は、アプリケーションの開始若しくは終了又はアプリケーション内の特定の動作を実行する要求であり得る。VR入力インターフェース140は、1つ又は複数の入力デバイスを含み得る。入力デバイス例としては、キーボード、マウス、ゲームコントローラ、又は動作要求を受信し、受信した動作要求をVRコンソール110に通信する任意の他の適するデバイスが挙げられる。VR入力インターフェース140によって受信された動作要求は、VRコンソール110に通信され、VRコンソール110は、動作要求に対応する動作を実行する。幾つかの実施形態では、VR入力インターフェース140は、VRコンソール110から受信される命令に従って触覚フィードバックをユーザに提供し得る。例えば、触覚フィードバックは、動作要求が受信されるときに提供されるか、又はVRコンソール110は、動作を実行するとき、VR入力インターフェース140に触覚フィードバックを生成させる命令をVR入力インターフェース140に通信する。
VRコンソール110は、撮像デバイス135、VRヘッドセット105、及びVR入力インターフェース140のうちの1つ又は複数から受信される情報に従って、ユーザに提示されるメディアをVRヘッドセット105に提供する。図1に示される例では、VRコンソール110は、メディアストア145、追跡モジュール150、及び仮想現実(VR)エンジン155を含む。VRコンソール110の幾つかの実施形態は、図1と併せて説明されるモジュールとは異なるモジュールを有する。同様に、更に後述する機能は、本明細書に記載されるものとは異なる様式でVRコンソール110の構成要素に分散し得る。
アプリケーションストア145は、VRコンソール110による実行のために1つ又は複数のアプリケーションを記憶する。アプリケーションは、プロセッサによって実行されると、ユーザに提示されるメディアを生成する命令群である。アプリケーションによって生成されるメディアは、HRヘッドセット105又はVRインターフェースデバイス140の動きを介してユーザから受信される入力に応答し得る。アプリケーション例としては、ゲーミングアプリケーション、会議アプリケーション、ビデオ再生アプリケーション、又は他の適するアプリケーションが挙げられる。
追跡モジュール150は、1つ又は複数の較正パラメータを使用してシステム環境100を較正する。図3〜図5と併せて更に説明するように、追跡モジュール150は、1つ又は複数の較正パラメータを調整して、VRヘッドセット105の位置特定におけるエラーを低減し得る。例えば、追跡モジュール150は、撮像デバイス135の合焦を調整して、VRヘッドセット105の観測ロケータのより正確な位置を取得する。さらに、追跡モジュール150によって実行される較正は、IMU130から受信される情報も考慮する。さらに、図4及び図5と併せて更に後述するように、VRヘッドセット105のその追跡が失われる(例えば、撮像デバイス135が、少なくとも閾値数のロケータ120の視線を失う)場合、追跡モジュール150は、システム環境100の幾つか又は全てを再較正する。本明細書で使用される場合、「追跡の損失(loss of tracking)」は一般に、撮像デバイス135若しくはIMU130の較正の損失、VRヘッドセット105内の1つ又は複数の剛体の相対位置の損失、撮像デバイス135に相対するVRヘッドセット105の位置の損失、又はそれらの何らかの組合せを指し得る。
システム環境100の再較正は一般に、ユーザにとってトランスペアレント(transparent)である。幾つかの実施形態では、追跡モジュール150は、VRヘッドセット105をVRヘッドセット105の1つ又は複数の側が撮像デバイス135にとって可視である向きに移動するようにユーザに促し得る。例えば、追跡モジュール150は、VRヘッドセット105の1つ又は複数の側が撮像デバイス135にとって可視であるように、上、下、左、右、又は別の指定された方向を見るようにユーザに促す。VRヘッドセット105上の閾値数のロケータ120が撮像デバイス135によって撮像されると、追跡モジュール150は較正を再確立する。幾つかの実施形態では、追跡モジュール150は、システム環境100を連続して較正し得るか、又は定期的な間隔でシステム環境100を較正して、VRヘッドセット105の正確な追跡を維持する。
追跡モジュール150は、1つ又は複数の剛体を備えるVRヘッドセット105を含むシステム環境100(例えば、図2A及び図2B参照)を較正し得る。さらに、図3及び図5と併せて更に後述するように、較正は、非剛性結合される(例えば、弾性バンドを介して一緒に結合される)2つの剛体を含むVRヘッドセット105を考慮する。2つの剛体は、ユーザの目の前に位置決めされるIMU130を含む前部剛体及びユーザの頭部の後部に位置決めされる後部剛体であり得る。前部剛体及び後部剛体のこの構成では、ユーザは撮像デバイス135に相対して360度回転させることができる。しかし、前部剛体と後部剛体との関係は必ずしも固定されないため、システム環境100は、後部剛体に相対する前部剛体の位置の較正を失うことがある。さらに、図6に関して詳細に後述するように、幾つかの実施形態では、追跡がVRヘッドセット105での複数の剛体間で失われる場合、追跡モジュール150は、再較正を行うことができるまで、剛体の位置をオフセットし得る。これらの場合、幾つかの実施形態では、追跡モジュール150は、VRヘッドセット105の中間推定位置へのオフセット値を特定し、較正パラメータとしてIMU130に提供し得る。代替的には、追跡モジュール150は、オフセット値により後部剛体への前部剛体の相対位置を示す位置ベクトルを調整し得る。幾つかの実施形態では、追跡モジュール150は、後部剛体のロケータ120によって示される動きと、IMU130から受信される高速較正データを使用して予測される動きとの測定差に基づいて、いつ再較正するかを判断する。追跡モジュール150は、前部剛体のロケータ120と、後部剛体のロケータとを含む1つ又は複数の画像を含む低速較正データを使用して再較正する。
さらに、追跡モジュール150は、撮像デバイス13からの低速較正データを使用して、VRヘッドセット105の動きを追跡する。図3と併せて更に後述するように、追跡モジュール150は、低速較正データからの観測ロケータ及びVRヘッドセット105のモデルを使用して、VRヘッドセット105の参照点の位置を特定する。追跡モジュール150は、高速較正データからの位置情報を使用して、VRヘッドセット105の参照点の位置も特定する。さらに、幾つかの実施形態では、追跡モジュール150は、高速較正データの部分、低速較正データの部分、又はそれらの何らかの組合せを使用して、ヘッドセット105の将来のロケーションを予測し得る。追跡モジュール150は、VRヘッドセット105の推定又は予測された将来の位置をVRエンジン155に提供する。
VRエンジン155は、システム環境内のアプリケーションを実行し、追跡モジュール150からVRヘッドセット105の位置情報、加速度情報、速度情報、予測される将来の位置、又はそれらの何らかの組合せを受信する。受信した情報に基づいて、VRエンジン155は、ユーザに提示するためにVRヘッドセット105に提供するメディアを決定する。例えば、受信した情報が、ユーザが左を見たことを示す場合、VRエンジン155は、仮想環境でユーザの動きをミラーリングする、VRヘッドセット105へのメディアを生成する。さらに、VRエンジン155は、VR入力インターフェース140から受信される動作要求に応答して、VRコンソール110で実行中のアプリケーション内で動作を実行し、動作が実行されたことのフィードバックをユーザに提供する。提供されたフィードバックは、VRヘッドセット105を介する可視若しくは可聴的フィードバックであってもよく、又はVR入力インターフェース140を介する触覚フィードバックであってもよい。
図2Aは、仮想現実ヘッドセットの一実施形態のワイヤ図である。VRヘッドセット200は、VRヘッドセット105の実施形態であり、前部剛体205及びバンド210を含む。前部剛体205は、電子ディスプレイ115(図示せず)、IMU130、1つ又は複数の位置センサ125、及びロケータ120を含む。図2Aに示される実施形態では、位置センサ125は、IMU130内に配置され、位置センサ125もIMU130もユーザにとって不可視である。
ロケータ120は、互いに相対するとともに、参照点215に相対して前部剛体205の固定位置に配置される。図2Aの例では、参照点215は、IMU130の中心に配置される。各ロケータ120は、撮像デバイス135によって検出可能な光を発する。ロケータ120又はロケータ120の部分は、図2Aの例では、前部剛体205の前側220A、上側220B、下側220C、右側220D、及び左側220Eに配置される。
図2Bは、前部剛体205及び後部剛体230を含むVRヘッドセット225の実施形態のワイヤ図である。図2Bに示されるVRヘッドセット225は、前部剛体205及び後部剛体230がバンド210を介して一緒に結合されるVRヘッドセット105の実施形態である。バンド210は非剛性(例えば、弾性)であり、したがって、前部剛体205は後部剛体230に剛性結合されない。したがって、後部剛体230は、前部剛体205に関連して移動し得、特に、参照点215に関連して移動し得る。図3及び図5と併せて更に後述するように、後部剛体230は、前部剛体205が撮像デバイス135にとって不可視である場合であっても、VRコンソール110がVRヘッドセット105の追跡を維持できるようにする。後部剛体230のロケータ120は、互いに相対するとともに、前部剛体205の参照点215に相対して固定位置に配置される。図2Bの例では、後部剛体230の1つ又は複数のロケータ120又はロケータ120の部分は、後部剛体230の前側235A、上側235B、下側235C、右側235D、及び左側235Eに配置される。
図3は、VRコンソール110に含まれる追跡モジュール150の一実施形態のブロック図である。追跡モジュール150の幾つかの実施形態は、本明細書に記載されるモジュールとは異なるモジュールを有する。同様に、図3と併せて説明される機能は、本明細書に記載されるものとは異なる様式で構成要素に分散し得る。図3の例では、追跡モジュール150は、追跡データベース310、初期化モジュール320、推定モジュール330、パラメータ調整モジュール340、及びモニタリングモジュール350を含む。
追跡データベース310は、1つ又は複数のVRヘッドセット105を追跡するために、追跡モジュール150によって使用された情報を記憶する。例えば、追跡データベース310は、1つ又は複数のヘッドセットモデル、1つ又は複数の較正パラメータ値、又はVRヘッドセット105の追跡に適する任意の他の情報を記憶する。図1に関して上で参照したように、ヘッドセットモデルは、互いに対し且つ参照点215に対する各ロケータ120の理想的な位置を記述する。各ロケータ120には、ヘッドセットモデル内の対応するモデルロケータ(model locator)が関連付けられ、したがって、ロケータ120に対応するモデルロケータは、ヘッドセットモデルに従ってロケータ120の理想的な位置を示す。さらに、ヘッドセットモデルは、異なる較正パラメータの関数として、ロケータ120のモデル位置又は参照点215の変化を示す情報を含み得る。幾つかの実施形態では、ヘッドセットモデルは、互いに対する後部剛体230上のロケータ120のモデル位置を記述し得、後部参照点のモデル位置は、後部剛体230の位置、前部剛体205上の参照点215に相対する後部参照点のデフォルト位置、参照点215に相対して後部剛体230上のロケータ120のモデル位置のデフォルト位置、又はそれらの何らかの組合せを示す。
較正パラメータは、VRヘッドセット105の較正に影響を及ぼすように調整し得るパラメータである。較正パラメータの例としては、撮像パラメータ、IMUパラメータ、又はそれらの何らかの組合せが挙げられる。撮像パラメータ及びIMUパラメータは、較正パラメータに含まれ得る。撮像パラメータの例としては、焦点距離、焦点、フレームレート、ISO、シャッタ速度、アパーチャ、カメラの向き、ソースアクティブ化(撮像デバイス135が反射ロケータ120を照明するソースを使用する実施形態において)、撮像デバイス135のレンズの中心からの撮像センサのオフセット、レンズ歪みパラメータ、センサ温度、又は低速較正データを出力するために撮像デバイス135によって使用される任意の他のパラメータが挙げられる。IMUパラメータは、高速較正データの収集を制御するパラメータである。IMUパラメータの例としては、位置センサ125からの測定信号の1つ又は複数のサンプリングレート、高速較正データの出力レート、高速較正データを生成するIMU130によって使用される他の適するパラメータ、IMU130への給電をオン又はオフにするコマンド、初期位置を参照点の現在位置に更新するコマンド、オフセット情報(例えば、位置情報へのオフセット)、又は任意の他の適する情報が挙げられる。
初期化モジュール320は、追跡データベース310から検索される較正パラメータ等の追跡データベース310からの情報を使用して、システム環境100を初期化する。システム環境100が前に較正されていなかった実施形態では、デフォルト較正パラメータが追跡データベース310から検索される。システム環境100が前に較正された場合、調整較正パラメータが追跡データベース310から検索され得る。初期化モジュール320は、検索された較正パラメータをIMU130及び/又は撮像デバイス130に提供する。
推定モジュール330は、VRヘッドセット105及び/又はIMU130から低速較正データ及び/又は高速較正データを受信する。低速較正データは、低速データレート(例えば、20Hz)で撮像デバイス135から受信される。これとは対照的に、高速較正データは、低速較正データが受信されるデータレートよりもはるかに高速であるデータレート(例えば、200Hz以上)でIMU130から受信される。したがって、高速較正データは、低速較正データに含まれるVRヘッドセット105の画像間のVRヘッドセット105の位置情報を特定するのに使用し得る。
追跡データベース310からのヘッドセットモデル及び撮像デバイス135からの低速較正データを使用して、推定モジュール330は、撮像デバイス135によって捕捉された画像から識別されたVRヘッドセット105の1つ又は複数のロケータに対応するモデルロケータを識別する。推定モジュール330は、低速較正データ内の画像からロケータ情報を抽出し、ロケータ情報は、所与の画像内の互いに相対する観測ロケータ120の位置を示す。所与の画像において、ロケータ情報は、画像内の観測ロケータ120間の相対位置を示す。例えば、画像が観測ロケータA、B、及びCを示す場合、ロケータ情報は、AとB、AとC、及びBとCの相対距離を示すデータを含む。上述したように、ヘッドセットモデルは、VRヘッドセット105のロケータの1つ又は複数のモデル位置を含む。推定モジュール330は、観測ロケータ120の相対位置をモデルロケータの相対位置と比較して、VRヘッドセット105の観測ロケータ120とヘッドセットモデルからのモデルロケータとの対応性を特定する。複数の剛体を含むVRヘッドセット225に対する較正が行われている実施形態では、前部剛体205及び後部剛体230の観測ロケータに対応するモデルロケータは、低速較正データの画像の少なくとも1つから識別される。
さらに、ヘッドセットモデル並びにモデルロケータ及び観測ロケータ120を示す情報に基づいて、推定モジュール330は、観測ロケータ120の推定位置を生成する。推定モジュール330は、ヘッドセットモデルと、モデルロケータ及び観測ロケータ120を示す情報とに基づいて射影行列を特定する。射影行列は、ヘッドセットモデルによって記述されるロケータ120の理想的な位置を、撮像デバイス135の、観測ロケータ120の画像によって示される画像平面上の位置に変換する数学的構造である。したがって、推定モジュール330は、射影行列(projection matrix)と、ヘッドセットモデルにおいて記述されるモデルロケータの位置とを使用して観測ロケータ120の位置を推定する。1つ又は複数の較正パラメータは、射影行列に適用し得、それにより、較正パラメータの1つ又は複数への調整は、観測ロケータ120の推定位置を変更する。
推定モジュール330は、中間位置情報、中間速度情報、中間加速度情報、又はそれらの何らかの組合せも高速較正データから抽出する。高速較正データは、低速較正データよりも高い周波数で受信されるため、高速較正データから抽出された情報により、推定モジュール330は、低速較正データからの画像間の時間期間での位置情報、速度情報、又は加速度情報を特定することができる。中間推定位置情報(例えば、中間推定位置)は、画像に関連付けられた時刻又は画像に関連付けられた時刻と低速較正データからの後続画像に関連付けられた時刻との間の時間での参照点215の位置を示す。中間速度情報は、画像に関連付けられた時刻と低速較正データからの後続画像に関連付けられた時刻との間の時間での参照点215に関連付けられた速度ベクトルを示す。中間加速度情報は、画像に関連付けられた時刻と低速較正データからの後続画像に関連付けられた時刻との間の時間での参照点215に関連付けられた加速度ベクトルを示す。幾つかの実施形態では、推定モジュール330は、中間加速度情報を使用して、又は中間速度情報から中間推定位置情報を取得するように構成される。推定モジュール330は、中間位置をパラメータ調整モジュール340に提供する。
パラメータ調整モジュール340は、1つ又は複数の較正パラメータを調整して、観測ロケータ120の調整推定位置と対応するモデルロケータの位置との相対距離が閾値未満になるまで、推定位置を調整する。観測ロケータ120の推定位置と対応するモデルロケータの位置との相対距離が閾値(例えば、1mm)に等しいか、又は超える場合、パラメータ調整モジュール340は、相対距離が閾値未満になるまで、1つ又は複数の較正パラメータ(例えば、撮像パラメータ)を調整する。例えば、パラメータ調整モジュール340は、他の較正パラメータを一定に保ちながら、1つの較正パラメータを変更して、観測ロケータ120の推定位置と対応するロケータの位置との閾値距離未満になる変更中の較正パラメータの値を特定する。次に、パラメータ調整モジュール340は、較正パラメータを特定された値に修正し、少なくとも閾値数の観測ロケータ120の調整推定位置と対応するモデルロケータの位置との相対距離が、閾値未満になるまで、他の較正パラメータを一定に保ちながら、個々の較正パラメータの値を変更するプロセスを繰り返し得る。観測ロケータ120の調整推定位置を使用して、パラメータ調整モジュール340は、低速較正データの1つ又は複数のフレームの参照点215の較正位置を生成する。
VRヘッドセット105が2つの剛体(例えば、VRヘッドセット225)を含む実施形態では、パラメータ調整モジュール340は、前部剛体205の参照点215に相対する後部剛体230の位置を特定する。幾つかの実施形態では、パラメータ調整モジュール340は、後部剛体230の観測ロケータ120と、対応するモデルロケータとを使用して、後部剛体230の後部参照点を識別する。次に、パラメータ調整モジュール340は、前部剛体205の参照点215に相対する後部参照点の位置を識別する。代替的には、VRコンソール110は、前部剛体205の参照点215に相対する後部剛体230の各観測ロケータ120の位置を識別する。幾つかの実施形態では、パラメータ調整モジュール340は、各剛体205、230の1つ又は複数の側で閾値数のロケータが撮像された(観測ロケータ)か、又は各剛体205、230の全ての側で閾値数のロケータが撮像された(観測ロケータ)との判断に応答して、参照点215の較正位置を生成する。例えば、剛体205、230の側で撮像された閾値数のロケータは、ゼロ以上である。閾値数のロケータが撮像されない場合、パラメータ調整モジュール340は、VRヘッドセット105又は別の適する構成要素を介して、VRヘッドセット105を撮像デバイス135に相対して特定の方向に向けるか、又は閾値数のロケータが撮像されるまで、VRヘッドセット105を動かし続けるようにユーザに促し得る。
パラメータ調整モジュール340は、参照点215の位置を予測する予想関数も特定し、高速較正データからの参照点215の中間推定位置が、参照点215の予測位置の閾値内になるまで、1つ又は複数の較正パラメータを調整する。例えば、予測関数は、一連の較正位置に曲線を近似することによって生成される。次に、パラメータ調整モジュール340は、参照点215の中間推定位置と参照点215の予測位置との距離が閾値未満になるまで、1つ又は複数の較正パラメータを調整する。例えば、パラメータ調整モジュール340は、参照点215の中間推定位置と参照点215の予測位置との距離が1mm以下になるまで、IMU140のサンプリングレートを増大させ得る。他の実施形態では、パラメータ調整モジュール340は、画像に関連付けられた参照点215の各中間推定位置と較正位置(例えば、CP)との距離が、画像に関連付けられた参照点215の較正位置(例えば、CP)と後続画像に関連付けられた参照点215の較正位置(例えば、CP)との距離値未満であるように、1つ又は複数の較正パラメータを調整する。
幾つかの実施形態では、パラメータ調整モジュール340は、IMU130の初期位置を参照点215の次の較正位置に更新する。図1と併せて上述し、図6と併せて後述するように、IMU130は、IMU130によって前に特定された参照点215の位置に相対する高速較正データを収集する。したがって、ドリフトエラーは、IMU130が、初期位置を較正位置に更新せずにデータを収集する時間が長いほど、増大する。パラメータ調整モジュール340は、中間推定位置を更新閾値と比較する。中間推定位置の1つ又は複数が更新閾値を超える場合、パラメータ調整モジュール340は、次の較正位置に関連付けられた位置として、初期位置を更新する命令をIMU130に通信する。代替的には、較正位置を特定した後、パラメータ調整モジュール340は、初期位置を特定された較正位置に更新するようにIMU130に命令する。パラメータ調整モジュール340は、調整較正パラメータの値を追跡データベース310に記憶し、調整較正パラメータをVRコンソール110内の他の構成要素に提供することもできる。
モニタリングモジュール350は、較正の損失についてシステム環境100をモニタする。様々な実施形態では、モニタリングモジュール350は、観測ロケータ120の調整推定位置と対応するモデルロケータの位置との相対距離をモニタする。観測ロケータの調整推定位置と対応するモデルロケータの位置との相対距離が閾値(例えば、1mm)未満である場合、モニタリングモジュール350は、観測ロケータ120の位置から特定された参照点215の較正位置をVRエンジン155に提供する。これとは対照的に、観測ロケータと対応するモデルロケータとの相対距離が閾値(例えば、1mm)を超える場合、モニタリングモジュール350は、較正が失われたと判断し、システム環境100を再較正するようにパラメータ調整モジュール340に促す。
中間推定位置と対応する予測位置とのパラメータ調整モジュール340によって特定される相対距離をモニタするために、予測位置と対応する中間推定位置との距離が閾値(例えば、1mm)未満である場合、モニタリングモジュール350は、中間推定位置をVRエンジン155に提供する。幾つかの実施形態では、モニタリングモジュール350は、高速較正データから抽出された中間速度情報又は中間加速度情報をVRエンジン155に提供することもできる。これとは対照的に、予測位置と対応する中間推定位置との距離が閾値を超える場合、モニタリングモジュール350は、較正が失われたと判断し、システム環境100に較正を再確立させる。
幾つかの場合、後部剛体230のロケータ120のみが、撮像デバイス135にとって可視である。後部剛体230のロケータ120のみが撮像デバイス135にとって可視である場合、幾つかの実施形態では、(例えば、後部剛体230の観測ロケータ120から生成される)後部剛体230の推定位置と、(例えば、高速較正データを使用して生成し得る)後部剛体230の予測位置との差が、閾値よりも大きいとき、モニタリングモジュール350は、較正が失われたと判断し、システム環境100に較正を再確立させる。さらに、後部剛体230の推定位置と後部剛体230の予測位置との差が、閾値よりも大きい場合、VRコンソール110は、後部剛体230の推定位置と後部剛体230の予測位置との距離が閾値未満であるような一時的なオフセット値で、後部剛体230の予測位置を調整する。次に、モニタリングモジュール350は、一時的なオフセット値(又は続けて生成される一時的なオフセット値)を使用して、前部剛体205と後部剛体230との間で再較正が行われ得るまで、後部剛体230の位置をより正確に予測し得る。代替的には、後部剛体230のロケータ120の推定位置と、参照点215に相対する対応するモデルロケータの位置との差が、閾値よりも大きい場合、モニタリングモジュール350は、較正が失われたと判断し、システム環境100に較正を再確立させる。幾つかの実施形態では、低速較正データが、前部剛体205の閾値数のロケータと、後部剛体230の閾値数のロケータとを含む画像を含む場合、追跡モジュール150は再較正を開始する。さらに、幾つかの実施形態では、追跡が失われると、モニタリングモジュール350は、前部剛体205及び後部剛体230の両方のロケータが可視であるようにVRヘッドセット105を調整するようにユーザに自動的に促す。
仮想現実システムの較正
図4は、図1と併せて上述したシステム環境100等のVRシステムを較正するプロセスの一実施形態のフローチャートである。他の実施形態では、プロセスは、図4に示されるステップとは異なる、追加の、又はより少数のステップを含む。さらに、幾つかの実施形態では、図4と併せて説明されるステップは、異なる順序で実行してもよい。
VRコンソール110は、1つ又は複数の較正パラメータを使用してシステム環境を初期化する(410)。例えば、VRコンソール110は、追跡データベース310から、VRヘッドセット105に関連付けられた1つ又は複数の較正パラメータを検索する。幾つかの実施形態では、VRコンソール110は、撮像デバイス135又はIMU130が特定のVRヘッドセット105について前に較正された場合、追跡データベース310から調整較正パラメータ値を検索する。撮像デバイス135又はIMU130がVRヘッドセット105を前に較正していなかった場合、VRコンソール110は、追跡データベース310からデフォルト較正パラメータを検索する。VRコンソール110は、較正パラメータをIMU130又は撮像デバイス135に提供する。
VRコンソール110は、撮像デバイス135から低速較正データを受信し、IMU130から高速較正データを受信する(420)。低速較正データは、VRヘッドセット105のロケータ120の1つ又は複数を含む一連の画像を含む。低速較正データからの画像に含まれるロケータ120は、本明細書では、「観測ロケータ(observed locator)」と呼ばれる。高速較正データは、参照点215(例えば、IMU130の中心)の1つ又は複数の中間推定位置を含み得る。他の実施形態では、高速較正データは、中間加速度情報及び/又は中間速度情報を含み、これ(ら)から、VRコンソール110は参照点215の1つ又は複数の中間推定位置を特定する。
少なくとも部分的に、低速較正データ及びヘッドセットモデルに基づいて、VRコンソール110は、ヘッドセットモデル内のロケータであるモデルロケータを識別する(430)。VRコンソール110は、低速較正データから互いに相対する観測ロケータ120の位置を示すロケータ情報を抽出し、ロケータ情報を追跡データベース310から検索されたヘッドセットモデルと比較して、観測ロケータに対応するモデルロケータを識別する(430)。モデルロケータは、ヘッドセットモデルの構成要素であり、したがって、観測ロケータに関連付けられたモデルロケータの識別430により、VRコンソール110は続けて、観測ロケータの位置を観測ロケータに関連付けられたモデルロケータのヘッドセットモデルからの理想的な位置と比較することができる。
ヘッドセットモデルを使用して、VRコンソール110は、観測ロケータ120の1つ又は複数の推定位置を生成する(440)。ヘッドセットモデルは、ロケータ120と参照点215との間の理想的な位置決めを記述する。様々な実施形態では、VRコンソール110は、ヘッドセットモデル及びロケータ情報を使用して、ヘッドセットモデルでの理想的な位置を撮像デバイス135の画像平面上の位置に変換する射影行列を特定する。VRコンソール110は、射影行列を使用して、観測ロケーションの位置を推定する。したがって、観測ロケータ120の推定位置は、低速較正データからの画像の画像平面上の観測ロケータ120の理想的な位置を識別する。
少なくとも部分的に、1つ又は複数の観測ロケータ120の推定位置と、1つ又は複数の観測ロケータ120に対応するモデルロケータの位置との相対距離に基づいて、VRコンソール110は、観測ロケータ120の推定位置と、ヘッドセットモデルからの対応するモデルロケータの位置との相対距離が、閾値(例えば、1mm)未満であるように、1つ又は複数のロケータ120の推定位置を調整する1つ又は複数の較正パラメータを調整する(450)。較正パラメータの調整は、射影行列に影響を及ぼし(例えば、焦点距離等を変更し)、したがって、1つ又は複数の較正パラメータの変更は、観測ロケータ120の推定位置に影響を及ぼし得る。観測ロケータ120の推定位置と対応するモデルロケータの位置との距離が、閾値以上である場合、一実施形態では、VRコンソール110は、他の較正パラメータを一定に保ちながら、1つの較正パラメータを調整して、閾値未満の観測ロケータ120の推定位置と対応するモデルロケータの位置との距離を生じさせる調整中の較正パラメータの値を特定する(450)。次に、較正パラメータは特定された値に固定され得、その間、別の較正パラメータは、追加のロケータ120の推定位置と追加のロケータに対応するモデルロケータの追加の位置との距離が閾値未満であるように変更される。様々な較正パラメータは、少なくとも閾値数の観測ロケータ120の調整推定位置と対応するモデルロケータの位置との相対距離が閾値未満であるように、上述したように調整し得る(450)。少なくとも閾値数の観測ロケータ120の推定位置と対応するモデルロケータの位置との距離が、閾値未満である場合、較正パラメータは調整されない(450)。
VRコンソール110は、閾値数の観測ロケータ120が前部剛体205の各側(すなわち、前側220A、上側220B、下側220C、右側220D、及び左側220E)からのものであるか否かを判断する(460)。閾値数の観測ロケータ120が各側に関連付けられている場合、VRコンソール110は、観測ロケータの調整推定位置を使用して、低速較正データの1つ又は複数のフレームの参照点215の較正位置を生成する(470)。VRヘッドセット105が複数の剛体を含む実施形態では、VRコンソール110は、閾値数のロケータが各剛体205、230の1つ又は複数の側で撮像された(観測ロケーション)との判断に応答して、又は各剛体205、230の全ての側で閾値数のロケータが撮像された(観測ロケータ)との判断に応答して、参照点215の較正位置を生成する。閾値数の観測ロケータ120が各側に関連付けられていない場合、VRコンソール110は、VRヘッドセット105の1つ又は複数の側からのロケータを含む低速較正データが捕捉可能なように、VRヘッドセット105を再位置決めするプロンプトをVRヘッドセット105又は別の構成要素を介してユーザに通信し得る。
VRコンソール110は、高速較正データから受信したVRヘッドセット105の中間推定位置が、VRヘッドセット105又は参照点215の予測位置の閾値距離内になるまで、1つ又は複数の較正パラメータを更に調整し(480)、捕捉位置は、低速較正データからの様々な画像に関連付けられた参照点215の較正位置から特定される。幾つかの実施形態では、VRコンソール110は、低速較正データからの異なる画像に関連付けられた参照点215の較正位置を使用して、予測関数を生成する(例えば、曲線近似により)ことにより、参照点215の予測位置を特定する。VRコンソール110は、参照点215の中間推定位置と参照点215の予測位置との距離が閾値距離未満になるまで、較正パラメータの1つ又は複数を調整する。例えば、VRコンソール110は、参照点215の中間推定位置と参照点215の予測位置との距離が全て1mm以下になるまで、又は参照点215の少なくとも閾値数の中間推定位置と参照点215の予測位置との距離が1mm未満になるまで、IMU130のサンプリングレートを増大させ得る。他の実施形態では、VRコンソール110は、低速較正データからの画像に関連付けられた参照点215の較正位置と、低速較正データからの後続画像に関連付けられた参照点215の較正位置との間の位置として、参照点215の予測位置を特定する。次に、VRコンソール110は、画像に関連付けられた参照点215の各中間推定位置と較正位置(例えば、CP)との距離が、画像に関連付けられた参照点215の較正位置(例えば、CP)と後続画像に関連付けられた参照点215の較正位置(例えば、CP)との距離未満であるように、1つ又は複数の較正パラメータを調整する(480)。さらに、VRコンソール110は、参照点215の較正位置であるようにIMU130の初期位置を更新し得る。
幾つかの実施形態では、VRコンソール110は、調整較正パラメータの値を追跡データベース310に記憶するか、又は調整較正パラメータの値をVRコンソール110内の他の構成要素に提供する。調整較正値は、システム環境100の後続動作での較正時間を低減し、ユーザ経験を改善する。
VRコンソール110は、較正の損失についてシステム環境100をモニタする(490)。例えば、VRコンソール110は、観測ロケータ120の調整推定位置と対応するモデルロケータの位置との相対距離をモニタする。観測ロケータ120の調整推定位置と対応するモデルロケータの位置との相対距離が閾値(例えば、1mm)未満である場合、VRコンソール110は、較正位置をVRエンジン155に提供する。これとは対照的に、観測ロケータの推定位置と対応するモデルロケータの位置との相対距離が、閾値(例えば、1mm)を超える(又は以上である)場合、VRコンソール110は、較正が失われたと判断し、低速較正データ及び高速較正データを受信し(420)、上で識別した関数を実行して、システム環境100を再較正する。
さらに、VRコンソール110は、参照点215の中間推定位置と参照点215の予測位置との相対距離をモニタする(490)。例えば、参照点215の予測位置の曲線と参照点215の中間推定位置との距離が、閾値距離(例えば、1mm)未満である場合、VRコンソール110は、中間推定位置をVRエンジン155に提供する。幾つかの実施形態では、VRコンソール110は、高速較正データから抽出された中間速度情報又は中間加速度情報もVRエンジン155に提供し得る。これとは対照的に、参照点215の予測位置と参照点215の中間推定位置との距離が、閾値距離を超えるか、又は閾値距離以上である場合、VRコンソール110は、較正が失われたと判断し、低速較正データ及び高速較正データを受信し(420)、上で識別した関数を実行して、システム環境100を再較正する。
幾つかの実施形態では、IMU130及び撮像デバイス135は、同時に較正し得る。IMU130及び撮像デバイス135を同時に較正するために、VRコンソール110は、観測ロケータの推定位置を使用して、一連の画像の参照点215の位置を推定する。さらに、VRコンソール110は、IMU130及び撮像デバイス135を較正するとき、低速較正データ内の画像に対応する特定の時刻値(time value)での参照点215の中間推定位置を含む高速較正データを使用する。IMU130及び撮像デバイス135の較正パラメータを同時に調整する場合、VRコンソール110は、(1)観測ロケータの調整推定位置と対応するモデルロケータの位置との相対距離が閾値未満であるように、観測ロケータの推定位置を調整し、(2)低速較正データ内の画像に対応する特定の時刻値での参照点の推定位置と、モデルロケータから特定されるモデル参照点の位置との相対距離が閾値未満であるように、参照点の推定値を調整する。
図5は、システム環境100に含まれる仮想現実ヘッドセット225の2つの剛体間に較正を再確立するプロセスの一実施形態を示すフローチャートである。他の実施形態では、プロセスは、図5に示されるステップとは異なる、追加の、又はより少数のステップを含む。さらに、幾つかの実施形態では、図5と併せて説明されるステップは、異なる順序で実行してもよい。
VRコンソール110は、VRヘッドセット225の前部剛体205の前部閾値数のロケータ120と、VRヘッドセット225の後部剛体230の後部閾値数(例えば、少なくとも1つ)のロケータ120とを示す画像を含む低速較正データを受信する(510)。低速較正データからの画像に含まれるロケータ120は、本明細書では「観測ロケータ」と呼ばれる。図2〜図4と併せて上述したように、VRコンソール110は、撮像デバイス135から低速較正データを受信し、IMU130から高速較正データを受信する(510)。高速較正データは、中間加速度情報及び/又は中間速度情報も含み得、これ(ら)から、VRコンソール110はVRヘッドセット225の参照点215の1つ又は複数の中間推定位置を特定する。
少なくとも部分的に、低速較正データ及びヘッドセットモデルに基づいて、VRコンソール110は、モデルロケータを識別し(520)、モデルロケータはヘッドセットモデル内のロケータである。VRコンソール110は、低速較正データからの互いに相対する観測ロケータ120の位置を示すロケータ情報を抽出し、ロケータ情報を追跡データベース310から検索されるヘッドセットモデルと比較して、観測ロケータ120に対応するモデルロケータを識別する(520)。画像の少なくとも1つでは、VRヘッドセット225の前部剛体205及び後部剛体230の観測ロケータに対応するモデルロケータが識別される。モデルロケータは、ヘッドセットモデルの構成要素であり、したがって、観測ロケータに関連付けられたモデルロケータを識別すること(520)により、VRコンソール110は、観測ロケータの位置を観測ロケータに関連付けられたモデルロケータのヘッドセットモデルからの理想的な位置と続けて比較することができる。
ヘッドセットモデルを使用して、VRコンソール110は、観測ロケータ120の1つ又は複数の推定位置を生成する(530)。ヘッドセットモデルは、ロケータ120と参照点215との間の理想的な位置決めを記述する。様々な実施形態では、VRコンソール110は、ヘッドセットモデル及びロケータ情報を使用して、ヘッドセットモデル内の理想的な位置を撮像デバイス135の画像平面上の位置に変換する射影行列を特定する。VRコンソール110は、射影行列を使用して、観測ロケータ120の位置を推定する。したがって、観測ロケータ120の推定位置は、低速較正データからの画像の画像平面上の観測ロケータ120の理想的な位置を識別する。
少なくとも部分的に、1つ又は複数の観測ロケータ120の推定位置と1つ又は複数の観測ロケータ120に対応するモデルロケータの位置との相対距離に基づいて、VRコンソール110は、第1の剛体205の観測ロケータの推定位置と対応するモデルロケータの位置との相対距離が閾値(例えば、1mm)未満となるように調整する(540)。較正パラメータの調整は射影行列に影響を及ぼし(例えば、焦点距離等を変更し)、したがって、1つ又は複数の較正パラメータの変更は、観測ロケータ120の推定位置に影響を及ぼし得る。観測ロケータ120の推定位置と対応するモデルロケータの位置との距離が、閾値以上である場合、一実施形態では、VRコンソール110は、他の較正パラメータを一定に保ちながら、1つの較正パラメータを調整して、閾値未満である観測ロケータ120の推定位置と対応するモデルロケータの位置との距離になる調整中の較正パラメータの値を特定する(540)。較正パラメータの調整540については、図4と併せて更に上述されている。少なくとも閾値数の観測ロケータ120の推定値と対応するモデルロケータの位置との距離が閾値未満である場合、較正パラメータは調整されない(540)。
観測ロケータの推定位置と対応するモデルロケータの位置との閾値数の相対距離が閾値未満であるように較正パラメータを調整した(540)後、VRコンソール110は、観測ロケータ120の調整推定位置を使用して、低速較正データの1つ又は複数の画像に関連付けられた参照点215の較正位置を生成する(550)。幾つかの実施形態では、VRコンソール110は、各剛体205、230の1つ又は複数の側の閾値数のロケータが撮像された(観測ロケータ)との判断又は各剛体205、230の全ての側で閾値数のロケータが撮像された(観測ロケータ)との判断に応答して、参照点215の較正位置を生成する。閾値数のロケータ(各剛体205、230の側又は全ての側)が撮像されない場合、VRコンソール110は、VRヘッドセット105又は別の適する構成要素を介して、撮像デバイス135に相対して特定の方向にVRヘッドセット105を向けるか、又は閾値数のロケータが撮像されるまで、VRヘッドセット105を動かし続けるように、ユーザに促し得る。
VRコンソール110は、参照点215に相対する後部剛体230の位置も特定する(560)。幾つかの実施形態では、VRコンソール110は、観測ロケータ120と、対応するモデルロケータとを使用して、後部剛体230の後部参照点を識別する。次に、VRコンソール110は、後部参照点が、位置ベクトルにより参照点215に相対して位置決めされるように、前部剛体205の参照点215に相対する後部参照点の位置を識別する。代替的には、VRコンソール110は、参照点215に相対して後部剛体230の各観測ロケータの位置を識別し、したがって、後部剛体230の各観測ロケータの位置は、それ自体の位置ベクトルにより、参照点215に相対して位置決めされる。
VRコンソール110は、参照点215の中間推定位置が参照点215の予測位置の閾値距離内にあるように、1つ又は複数の較正パラメータを調整する(570)。参照点215の中間推定位置が参照点の予測位置の閾値内にあるような較正パラメータの調整については、図4と併せて更に上述されている。1つ又は複数の較正パラメータの調整570後、VRコンソール110は、図4と併せて上述したように、システム環境100の較正の損失についてモニタする(580)。
較正の損失についてモニタする(580)とき、VRコンソール110は、第1の剛体205、後部剛体230、又はそれらの何らかの組合せのロケータ120の観測位置を含み得る低速較正データからの画像を使用する。幾つかの実施形態では、観測ロケータ120の位置と対応するモデルロケータの位置との間の閾値は、観測ロケータ120が配置される剛体に基づいて異なり得る。例えば、閾値は、前部剛体205の観測ロケータ120では1mmであり得、後部剛体230の観測ロケータ120では2mmであり得る。
さらに、幾つかのシナリオでは、撮像デバイス135は、前部剛体205のロケータ120を見ることはできないが、後部剛体230のロケータを見ることはできる。これらのシナリオでは、追跡は、図6に関して後述するプロセスを使用してモニタされる。
低速較正データが、前部剛体205の閾値数のロケータと、後部剛体230の閾値数のロケータとを含む画像を含む場合、図5と併せて上述したステップが繰り返されて、システム環境100の較正を再確立する。幾つかの実施形態では、追跡が失われると、VRコンソール110は、前部剛体205及び後部剛体230の両方のロケータが撮像デバイス135にとって可視であるように、VRヘッドセット105を調整するようにユーザに自動的に促す。ユーザに提示されるプロンプトは、前部剛体205及び後部剛体230の両方のロケータが撮像デバイス135にとって可視であるようにVRヘッドセット105を位置決めする特定の指示をユーザに提供し得る。
図6は、システム環境100に含まれる仮想現実ヘッドセット225の2つの剛体間の位置関係を維持するプロセスの一実施形態を示すフローチャートである。他の実施形態では、プロセスは、図6に示されるステップとは異なる、追加の、又はより少数のステップを含む。さらに、幾つかの実施形態では、図6と併せて説明されるステップは、異なる順序で実行してもよい。
VRコンソール110は、撮像デバイス135から低速較正データを受信する(610)。低速較正データは、画像時刻値(image time value)に関連付けられ、撮像デバイス135にとって可視の後部剛体230の観測ロケータ120のみを有する画像を含む一連の画像を含む。画像時刻値は、画像が撮像デバイス135によって捕捉されたときの時刻値である。さらに、VRコンソール110は、IMU130から、画像時刻値を含む一連の時刻値での参照点215の中間推定位置を含む高速較正データを受信する(620)。
低速較正データに基づいて、VRコンソール110は、画像時刻値での後部剛体230の観測位置を特定する(630)。後部剛体230の観測位置を特定する(620)ために、VRコンソール110は、低速較正データから、互いに相対する後部剛体230の観測ロケータ120の位置を示すロケータ情報を抽出し、ロケータ情報を追跡データベース310から検索されるヘッドセットモデルと比較して、観測ロケータ120に対応するモデルロケータを識別する。モデルロケータを識別した後、VRコンソール110は、各モデルロケータに対応する観測ロケータ120を特定し、観測ロケータ120の位置を使用して、後部剛体230の後部参照点を特定する。幾つかの実施形態では、後部剛体230の観測位置は、後部参照点の位置である。代替の実施形態では、後部剛体230の観測位置は、観測ロケータの1つ又は複数の観測位置であり得る。
VRコンソール110は、高速較正データ及び位置ベクトルを使用して、画像時刻値での後部剛体230の予測位置を特定する(640)。位置ベクトルは、前部剛体205と後部剛体230との較正オフセットを示す。例えば、位置ベクトルは、前部剛体205に関連付けられた参照点215と、後部剛体230に関連付けられた後部参照点との間の較正オフセットを示す。さらに、幾つかの実施形態では、位置ベクトルは、参照点215と後部剛体230の異なるロケータとの間の相対較正オフセットをそれぞれ示す1つ又は複数のサブベクトルを含み得る。
高速較正データから、VRコンソール110は、前部剛体205の参照点215の中間推定位置を特定する。幾つかの実施形態では、VRコンソール110は、位置ベクトルに基づいて、参照点215の位置に相対する位置として、後部剛体230の予測位置を特定する。例えば、位置ベクトルは、参照点215への後部剛体230の後部参照点の相対位置決めを識別する。代替的には、位置ベクトルは、参照点215に相対する後部剛体230の1つ又は複数のロケータ120(観測ロケータを含む)の相対位置決めを識別する。
VRコンソール110は、観測位置と予測位置との差が閾値(例えば、1mm)を超えるか否かを判断する(650)。差が閾値未満の場合、VRヘッドセット225の追跡は維持され、低速較正データが受信され(610)、プロセスは上述したように進む。しかし、後部剛体230の観測位置と後部剛体230の予測位置との間の差が閾値を超える場合、VRコンソール110は、VRヘッドセット105の追跡が失われたと判断し、オフセット値により予測位置を調整する(660)。オフセット値は、後部剛体230の観測位置と後部剛体230の予測位置との差が閾値未満であるように決定される。例えば、VRコンソール110は、オフセット値によって変更された位置ベクトルを使用して、高速較正データからの後部剛体230の位置をより正確に特定する。代替的には、VRコンソール110は、位置ベクトルを変更せずにオフセット値に基づいて推定中間位置をオフセットする命令をIMU130に通信する。
高速較正データ及び調整ベクトルに基づいて、VRコンソール110は、再較正が行われるまで(例えば、図5に関連して更に上述したように)、後部剛体の後続予測位置を特定する(670)。幾つかの実施形態では、追跡が失われる場合、VRコンソール110は、前部剛体205及び後部剛体230の両方のロケータが撮像デバイス135に可視であるようにVRヘッドセット105を調整するようユーザに促す。ユーザに提示されるプロンプトは、前部剛体205及び後部剛体230の両方のロケータが撮像デバイス135にとって可視であり、それにより、図5を参照して詳細に上述した再較正を容易にするようにVRヘッドセット105を位置決めする特定の命令をユーザに提供し得る。
図7は、仮想現実ヘッドセット105の一連の較正位置を示す例としてのグラフ700を示す。図7では、縦軸は位置を表し、横軸は時間を表す。グラフ700は、時間T、T、及びTそれぞれでのVRヘッドセット105の参照点の一連の較正位置710A〜710Cを含む。グラフ700は、参照点の一連の中間推定位置715A〜715D及び720A〜720Hも含む。較正位置710A〜710Cは、撮像デバイス135からの低速較正データを使用して生成され、中間推定位置715A〜715D及び720A〜720Hは、VRヘッドセット105に含まれるIMU130からの高速較正データを使用して生成される。なお、較正位置710A〜710C及び中間推定位置715A〜715Dの相対時間尺度は異なり、中間推定位置715A〜715D及び720A〜720Hは、較正位置710A〜710Cよりも頻繁に特定される。
グラフ700は、参照点の予測位置を示す予測関数によって示される予測位置曲線725を示す。予測関数は、較正位置710A〜710Cに曲線を近似し、近似曲線を示す関数を特定することによって生成される。較正位置710A〜710Cから位置関数を特定するために、任意の適する方法が使用可能である。
図7の例では、中間推定位置715A〜715Dは、較正パラメータの調整前に高速較正データを使用して特定される初期中間推定位置である。中間推定位置715Aは、図7の予測位置曲線に比較的近いが、時間が進むにつれて、予測位置曲線725から離れて動き、図7の中間推定位置715Dは、予測位置曲線725から最も離れる。予測位置曲線と中間推定位置との差は、実際のユーザの動き、ドリフトエラー、及び追加の要因の組合せを原因とし得る。上述したように、IMU130は、前に特定された位置に相対して中間推定位置を特定するため、エラーは蓄積され、時間の経過に伴って予測位置曲線725と中間推定位置715とのずれが大きくなる。ドリフトエラーを考慮するために、VRコンソール110は、後続較正位置としてIMU130の初期位置を更新し得る。IMU130は次に、更新された初期位置及び初期位置後に特定された中間推定位置に関して高速較正を生成する。この実施形態では、VRコンソール110は、較正位置710Bとして初期点を更新する。
中間推定位置に関連付けられたエラーを低減する別の方法は、中間推定位置が特定される頻度を増大させることによるものである。図7の例では、VRコンソール110は、中間推定位置715A〜715Dの頻度の2倍で中間推定位置720A〜720Hを特定し、中間推定位置720A〜720Hと予測位置曲線725との差をより小さくした。
追加の構成情報
剛体の予測不可能な動きを追跡する剛体追跡システムが提示される。そのような剛体追跡システムは、仮想現実、拡張現実、ゲーミング、教育、トレーニング、及びセラピーに有用であり得る。
剛体追跡システムの一実施形態は、ユーザの頭部に取り付けられたヘッドマウントディスプレイの動きを追跡することである。この場合、LEDがディスプレイの表面に取り付けられる。慣性測定ユニットが、ディスプレイの内部に搭載され、1つ又は複数のジャイロスコープ等の角速度を測定するセンサを含み得る。慣性測定ユニットは、1つ又は複数の加速度計及び1つ又は複数の磁力計を更に含み得る。別個のカメラが、ユーザに面して、固定位置に配置される。幾つかの実施形態では、剛体追跡システムはVRシステム100である。
別の実施形態では、追跡される剛体はユーザの手に保持され得る。これは、例えば、手の位置及び向きを仮想現実経験で維持できるようにし得る。別の実施形態では、カメラは、2つ以上のヘッドセット及び2つ以上の追加のハンドヘルド物体を含め、複数の剛体を追跡し得る。
慣性測定ユニットを形成するセンサは、剛体の向きの推定に十分な測定を提供する。これらのセンサは、ジャイロスコープ、加速度計、及び恐らくは磁力計を含む。剛体が静止カメラの視野内にあり、適切な距離のところにある場合、追加の向き情報は推測可能である。さらに、剛体の位置が推測される。追跡方法は、1つ又は複数のカメラを含め、全ての検知源からの測定値を組み合わせ、それにより、剛体の位置及び向きが正確に維持される。剛体追跡システムにとって重要なのは、剛体の表面上のLEDの配置、数、及び変調である。これらの要因は一緒に、剛体の確実で高精度の追跡に繋がる。
なお、本発明の様々な特徴は、単独又は組み合わせて実施することができる。本発明のこれら及び他の特徴について、本発明の詳細な説明において図8〜図10と併せてより詳細に後述する。
剛体追跡システムは、2つのソースからのセンサデータを融合することによって機能する:剛体の内部の慣性測定ユニット及び体を見る静止カメラ。最も一般的な実施形態は、剛体が人の頭部に固定されるヘッドマウントディスプレイであるものである。この場合、頭部の位置及び向きは、低い待ち時間及びジッタで追跡されなければならない。ソースによって提供される情報は、慣性測定ユニットが頭部の向きに対して最も強力な制約を提供し、カメラが頭部の位置に対して最も強力な制約を提供するという意味で、相補的なものである。これらは一緒に、頭部の位置及び向きを推定するフィルタに入力を提供する。
慣性測定入力の最も重要な構成要素は、高周波3軸ジャイロスコープであり、これは、剛体の角速度を測定する。時間の経過に伴って累積されたセンサデータが数値積分されると、初期向きに対する現在の向きが推定される。時間の経過に伴って累積するデッドレコニングエラー(dead reckoning error)を考慮するために、加速度計又は他のセンサが使用されて、「下」方向を推定して、傾斜エラーを補償し得る。可能な場合、磁力計が慣性測定に含まれて、垂直軸(重力に平行)回りの回転に関する推定向きエラーを補償し得る。これは、剛体がカメラの視野にない場合に特に有用であり、磁力計が用いられない場合、代替として、カメラがこの補正を提供し得る。
カメラは、標準レート60Hzでフレームを捕捉するが、他の実施形態では、より高いレート及びより低いレートの両方が利点を提供し得る。解像度は640×480(標準VGA)であり、他の解像度の使用も可能である。画像は、シリアル通信リンク(USB)を介して中央プロセッサに送信される。カメラとVRヘッドセットの間にもシリアルリンクがある。これは、厳密に時間が測られる短い間隔にわたり、シャッタを開閉するようにカメラに命令するために使用される。典型的な時間露出時間は0.1ミリ秒である。レンズは、狭視野、広角、又は魚眼を含め、任意のジオプタ(diopter)のものであり得る。カメラは、レンズの上に赤外線(IR)フィルタを有してもよく、又は有さなくてもよい。
ユーザがVRヘッドセットを装着し、現実世界から仮想世界に魔法のようにトランスポートすることを考える。理想的には、現実世界でのユーザの頭部の動きは、ユーザの脳が完全に騙されるように、仮想現実に完璧にミラーリングされるべきである。ユーザの目に仮想現実のイメージが提示される場合、それらは厳密に、ユーザの没入感に基づいてユーザが見ると予期するものに対応すべきである。これを達成するために重要な構成要素は、頭部の追跡であり、これは、センサからデータを収集し、データを処理して、ユーザの頭部がいかに動いているかを特定することを含む。
ユーザの頭部及びVRヘッドセットは一緒に、3D空間を通して動く剛体としてみなすことができる。剛体は、最高で6つの自由度(degrees of freedom : DOF)を有し、これは、空間での位置及び向きを完全に指定するために、6つの独立したパラメータが必要なことを意味する。これら6つのパラメータを使用して、体上の任意のポイントの座標を計算することができる。(これは、物理学の歴史の中で解明に長い時間がかかっており、最も大きな功績は18世紀後半のオイラー及びラグランジェによる)。これらのパラメータを選ぶ多くの方法があるが、それらの方法は通常、3つが向きに対応し(体がいかに回転するか)、3つが位置に対応する(体がどこに配置されるか)ように行われる。これは、向きパラメータ:ヨー、ピッチ、及びロールと呼ばれ得る。従来の方法では、これらの3つのパラメータのみが追跡され、3DOF追跡が生成された。これらを使用して、VRシステムは、頭部がどの方向を指しているかを知るが、不都合なことに、ユーザの目がどこに配置され得るかを推測する必要がある。
3つのパラメータを使用して、3D回転が頭部モデルのベースに適用され、目は妥当な場所に動くが、それは必ずしも正確であるわけではない。第1の問題は、頭部モデルの測定である(どれだけユーザの頭部が大きいか?)。より大きな問題は、ユーザが頭部のベースを動かすことを妨げるものがないことである。例えば、ユーザが前を見て、横から横に動かす場合、頭部の回転は極わずかであるが、位置は大きく変化する。代替的には、ユーザが、首を固定しながら腰を曲げて前方に屈む場合、頭部のベースは遠くに移動する。頭部ベースのそのような動きを考慮することができないことは、前庭の不一致を生じさせ、これはシミュレータ酔いの原因となり得る。問題は、ユーザの内耳内のセンサが、目が見ている物と一致しないことである。内耳は動きを検出するが、目は動きを見ない。
剛体追跡システムは、追加の3つの位置パラメータを推測する必要があるのではなく、センサデータから直接、6つ全てのパラメータを追跡する。これは、6DOF追跡であり、この追跡では、剛体追跡システムは、ユーザが面している方向及び頭部をあちこち動かす際の眼球の位置の両方を高い信頼性で推定することができる。これは、瞳孔間距離(IPD)等の幾つかの一定の人固有の数量が測定されていると仮定する。前庭の不一致の低減に加えて、没入のレベルは信じられないほど高い。ユーザは、頭部を前後に動かして、深度を判断することができる。海賊船の厚板に立っている間、ユーザは屈んで恐ろしい海面を見ることができる。可能性は無限である。
ビジョンベースの位置追跡
位置追跡は、VRでの新しい問題ではない。様々な技術を使用して多くの試みがなれてきた:少数を挙げれば、単一又は複数のカメラ、構造化された光、飛行時間、及び磁気センサ。解決策は、コスト、消費電力、精度、必要な計算、及び環境制約によって様々である。そのために、幾つかの実施形態は、単一の安価で低解像度のカメラに頼る位置追跡解決策を記述する。
カメラベースの位置追跡は、ポーズ推定(pose estimation)としても知られ、多くのコンピュータビジョン及びロボット工学アプリケーションで重要な問題である。関連する文献は膨大である。しかし、この文献の大半は精度、計算リソース、及び待ち時間に関連していない。砂漠で車をナビゲートする場合、数センチメートルずれた位置推定はかなり良好であり、位置をあまり頻繁に更新する必要はない。これとは対照的に、VRの状況では、追跡は、非常に低い待ち時間で非常に精密でなければならず、レンダリングされるコンテンツから計算リソースを引き離すことはできない。
幾つかの実施形態では、位置追跡システムは3つの構成要素から構成される:VRヘッドセット(例えば、VRヘッドセット105)に埋め込まれる1組のマーカ、IMU、及び外部カメラ。図8は、剛体追跡システムの高レベル流れ図を示す。
剛体追跡システムは、VRヘッドセットの画像を取得する。画像処理を通して、剛体追跡システムは、マーカの画像位置を抽出する。各マーカはIR LEDである。マーカの画像位置及びVRヘッドセットの既知の3Dモデルに基づいて、剛体追跡システムは6Dポーズを計算する。アルゴリズムは、IMU(ジャイロスコープ、磁力計、及び加速度計)から提供される情報を利用する。ビジョンデータ及びIMUデータを融合した後、最適なヘッドセットポーズを決定する。結果は、レンダリングのためにアプリケーションに提供される。これより、アルゴリズムの個々の構成要素をより詳細に参照する。
剛体追跡システムは、可視マーカ(LED)のそれぞれ1つを識別する。あらゆる捕捉画像において、剛体追跡システムは複数の明るいドットを検出する。各ドットはLEDに対応する。剛体追跡システムは、物理的LEDのいずれが各ドットを生成するかを識別する。これが行われると、剛体追跡システムは、VRヘッドセットのLEDの既知の3Dモデルに観測画像射影を関連付ける。この関連付けを用いて、較正カメラを所与として、剛体追跡は、ドットの観測パターンを最良に説明するポーズを推定することができる。
分かるように、識別問題は困難である。個々のLEDを識別するために、剛体追跡システムは、それぞれ1つについての幾らかの一意の情報を抽出する。まさにそれを達成する多くの可能な方法がある。例えば、剛体追跡システムは、様々な可視光LEDを使用し、色に基づいて可視光LEDを区別することができる。別の興味深い手法は、幾何学的形状情報を線又は他の形状の形態で埋め込むことである。点がいかに編成されるかに基づいて、剛体追跡システムは、LEDの個々のIDを特定することができる。そして、同一平面にあるマーカのみを可能にする等の空間構成も識別を単純化することができる。
これらの概念の大半は、計算的に複雑であり、オクルージョン(occlusion)及びノイズに対してロバストではなく、又は厳密な要件をVRヘッドセットの幾何学的形状及び外観に課す。幾つかの実施形態では、IR LEDが一般的な3D構成に使用される。LEDは、外観に基づいて区別することができない。LEDは全て、明るいドットのように見える。また、LEDの識別を簡易化することができるいかなる特別な幾何学的構成もない。明るいスポットは、画像にかなりたくさんあり、ノイズ、他の光源、及びLEDは全て同じに見える。そして最後に、LEDはVRヘッドセット全体にわたって拡散するため、LEDの幾つかのみが任意の所与の画像で可視であり、幾つかのLEDはユーザの手で隠され得る。
LEDは、VRヘッドセットに埋め込まれる。幾つかの実施形態では、解決策は、LEDの輝度の変調に頼る。時間の経過に伴い、各LEDは光の一意のパターンを表示する。LEDは、IRに近いスペクトルで動作するため、人間の目には見えない。しかし、IRスペクトルでは、LEDは非常に明るく、広い照明野(約120度)を有する。カメラは、IR近くの周波数の光に感度を有するように設計され、広視野レンズを有する。これらの特性(明るいLED及び広視野)により、大きな追跡容積が可能になる。
ビジョンアルゴリズムは、個々のLEDを検出し、幾つかのフレームにわたり個々のLEDを追跡する。次に、ビジョンアルゴリズムは、光の表示パターンを分析して、各LEDの一意のIDを特定する。剛体追跡システムは各LEDを個々に復号化するため、この手法はノイズ及びオクルージョンに対してロバストである。しかし、この手法は、復号化が達成される前に幾つかのフレームを使用する。これは、任意の所与のフレームにおいて、幾つかの新しいLED(まだ復号化されていない)があり、幾つかの復号化されたLEDが視野から外れることも意味する。再構築アルゴリズムは、偽陽性に対してロバストである必要がある。
なお、カメラは非常に短いシャッタ(1ミリ秒長未満)を有し、LEDは、シャッタが開いているときだけ照明するように同期される。その結果、剛体追跡システムは、カメラによって収集される周囲光の量を大幅に低減し、電力を節減し、高速頭部移動中のピンぼけを最小に抑え、最も重要なことには、カメラとVRヘッドセットとの既知のタイミングを維持することができる。これは、剛体追跡システムがIMUとビジョン測定との間でセンサ融合を実行する場合に重要であり得る。
ポーズ再構築
各LEDのIDが分かると、LEDの既知の3Dモデルを所与として、剛体追跡システムは、LEDの観測射影を最良に説明するVRヘッドセットの6Dポーズ(3D位置及び向き)が何であるかという従来の射影幾何学的形状問題を解決する準備ができる。
剛体追跡システムは、2つのタイプのポーズ再構築モードを有する:ブートストラップ及びインクリメント。
第1の変形であるブートストラップは、剛体追跡システムがLEDを最初に撮像するときに行われる。剛体追跡システムは前に識別問題を解決しており、これは、フレーム内の明るいドットの幾つかのIDの推測を有し得ることを意味する。しかし、剛体追跡システムは注意しなければならない。IDの幾つかは誤っている可能性があり、ドットの幾つかはまだ識別されていないことがあり、ドットの幾つかは、環境内の他の光源によるものであり得る。ブートストラップ中、剛体追跡システムは、これらの全ての競合を素早く解決し、VRヘッドセットのポーズを計算する必要がある。
ブートストラップは、復号化されたLEDに基づいてポーズ仮説を生成する計算的に非常に効率的な方法である。剛体追跡システムは、ランザック(RanSAC:Random Sampling And Consensus)の変形を使用してこれらの仮説を通してソートして、正確に識別されたLEDのサブセットを見つける。
これらのポーズ仮説が何であるかを理解するために、画像平面三角形に射影された三角形ABCをとる。ポーズ仮説は逆行して機能し、画像を説明する三角形の位置及び向きが何であるかを剛体追跡システムに教える。点A、B、及びCの場合、同じ射影を有する2つ以上のポーズがあり得る。点が同じ平面にない場合、このポーズの曖昧さが消え、点の数が3つを超えて増えるにつれて、曖昧さが低減することに気付くことが重要である。
ブートストラップの最後の部分は、可能な限り多くのLEDを包含することにより、再構築されたポーズを改良することである。剛体追跡システムは、計算されたポーズを使用して、3Dモデルを画像に射影することによってこれを行う。次に、剛体追跡システムは、予期LED位置を観測LED位置と照合する。これにより、剛体追跡システムは、識別されるLEDの数を劇的に増大させることができ、その結果として、計算されたポーズを改良する。予期LED画像位置を観測と照合することは、ポーズ再構築問題の第2のバージョン(インクリメント問題を解く鍵)であることが分かる。
図9は、観測された明るいドット(より大きなドット)及び予測射影(より小さなドット)を示す。幾つかの場合では、予測LEDと観測LEDとの対の一致は困難であり得る。
予期LED位置と観測LED位置との一致が、特に高速頭部移動下で、全てのLEDが同じように見えるため、非常に困難であり得ることに気付くことに価値がある。
ポーズ推定問題の第2の変形ははるかに容易である。幸運なことに、第2の変形が、剛体追跡システムが大半のときに解決する必要があるものである。剛体追跡システムは、インクリメントモードである場合、現在のフレームでのポーズを計算するための開始点として、前のフレームからのVRヘッドセットのポーズを使用することができる。これがいかに機能するか。一言では、予測である。インクリメントモード中、剛体追跡システムは、ビジョン及びIMUからの情報を融合して、VRヘッドセットがあると予期される場所を計算する。次に、剛体追跡システムは、予測を観測と照合し、必要に応じて補正を実行する。
インクリメント推定は、多くの様々な問題に適用されてきている。例えば、多くの最適化アルゴリズムは、あらゆるステップが解決策に少しずつ近づく反復手法を使用する。別の例は、測定がリアルタイム(オンライン)で提供される問題である。多種多様なフィルタが提案されており、その中でも最も普及しているものは、ベイジアンフィルタ(Bayesian filter)の類のものである。この類には、カルマンフィルタ、拡張カルマンフィルタ、シーケンシャルモンテカルロフィルタ等が含まれる。リアルタイムポーズ推定も、ベイジアンフィルタを使用して対処されることが多い。
剛体追跡システムは、情報を融合するカスタムフィルタを使用し、予測を行うことができる。開始点は、前のフレームで計算された位置及び向きである。これは良好な開始点であるが、カメラフレーム間で必ず少し動き得る(16.6ms@60Hz)。剛体追跡システムは、最後の少数のフレームにわたりポーズを見る場合、速度に基づいて幾らかの予測を行うことができる。ここで、本発明は少し近い。幸運なことに、剛体追跡システムはIMUも有する。これは、前の画像と現在の画像との間で、剛体追跡システムが実際に、角速度及び線形加速度の約16の測定値を有することを意味する。本発明のカスタムフィルタは、この情報を全て融合し、位置、速度、及び加速度に基づく履歴ベースのポーズ推定を提供する。最終結果は、現在フレームでの実際のポーズにかなり近い。
剛体追跡システムは、予測ポーズを使用して、LEDを画像平面に射影する。次に、剛体追跡システムは、予測LED画像座標を観測値と対にする。予測が正確である場合、一致は完全である。そして最後に、剛体追跡システムは、完全な一致を生じさせる推定ポーズに必要な補正を計算する。
図10は、ポーズ最適化ステップを示す。図10は、最適解が大域的最小(global minimum)である2Dランドスケープを示す。剛体追跡システムは、履歴、速度、及び加速度に基づいて予測されたポーズで開始される。解は、剛体追跡システムが最適なポーズを見つけるまで、勾配降下最適化を使用して繰り返し改善される。インクリメントポーズ推定は、計算的に効率的であり、時間の大半で予期される剛体追跡システムのモードである。ブートストラップが成功し、VRヘッドセットがカメラに可視である限り、システムは、ポーズ予測、観測値との照合、ポーズの改良というこのプロセスを連続して進む。
剛体追跡システムの3つの主な考慮事項は、オクルージョンへのロバスト性、効率的な計算、及び精度である。本方法は、本質的にオクルージョンに対してロバストである。識別中、剛体追跡システムは個々のLEDを認識することができる。一条件は、幾つかのフレームで少数のLEDを見ることである。ポーズ再構築もオクルージョンに対してロバストである。剛体追跡システムは、精度を検証し、フレーム毎に少数のLEDを見ることに基づいて、VRヘッドセットのポーズ推定を改良することができる。
VRでの頭部追跡の精度要件は高い。剛体追跡システムは、VRヘッドセットでのLEDの配置の入念な設計を通して必要な安定性(<0.1mm且つ<0.1度)を提供するとともに、LED、IMU、及びカメラの間での信頼性の高い同期を提供する。全ての情報を一緒に融合することは、最終的に精密な予測及び平滑な追跡を可能にするものである。
位置追跡の興味深い特性はグラウンディング(grounding)である。例えば、剛体追跡システムはここで、「前を向く」ことに意味を加えることができる。これは単に、カメラを見ることを意味する。ジャイロスコープ、加速度計、及び磁力計とは対照的に、ビジョンはドリフトしない。したがって、位置追跡を用いて、剛体追跡システムは、ドリフト補正に信頼性が高く単純な解決策を有する。
位置追跡は、幾つかの興味深い問題を残す。尺度はよい一例である。ユーザは、現実世界での動きと現実世界での動きとの間に1対1のマッピングを予期するか。いかなる不一致もユーザの前庭系を混乱させ得るため、ユーザは恐らく1対1のマッピングを予期する。しかしここでも、頭部変位(ユーザが中心から遠いほど、ユーザが速く動くこと)に基づいて速度を制御することが有用である幾つかの使用事例がある。別の興味深い問題は、ユーザがカメラの視野に留まることをいかに促進するかである。
別の例は、ユーザがいつ視野を出て、剛体追跡システムが位置追跡を失うが、それでもなおIMUにより向き追跡を有するかである。剛体追跡システムは、位置追跡を再取得する度、3Dから6Dに戻る。剛体追跡システムが、6Dに再入するためにすべきことは何か。2つの可能な解決策は、ビジョンが再取得されるとすぐに、正確な位置に移ること及び正確な位置にゆっくりと補間することであるが、両解決策は様々な方法で不安定である。
関心エリア
追加のシステム構成要素:追跡中の体の外部の少なくとも1つの静止デジタルカメラ、追跡中の体にしっかりと取り付けられる1つの慣性測定ユニット、並びに慣性測定ユニット、カメラ、及びメインCPUの構成要素間で情報を送受信するデジタルハードウェアを用いて、体表面に配置された多数の変調LEDに起因して、剛体追跡システムは、高精度及びオクルージョンロバスト性を達成する。
剛体追跡システムにおいて、慣性測定ユニットは、角速度を測定する3軸ジャイロスコープである。
剛体追跡システムにおいて、慣性測定は3軸加速度計を含む。
剛体追跡システムにおいて、慣性測定は3軸磁力計を含む。
剛体追跡システムにおいて、表面LEDは、同一平面になく、近傍LED間に十分な隔たりを提供する入念なパターンに配置される。
剛体追跡システムにおいて、LEDは、所望の時間間隔にわたり2つ以上の所定の赤外線輝度レベルのうちの1つを維持し得るように変調される。
剛体追跡システムにおいて、LEDの変調はデジタルハードウェア構成要素によって制御される。
剛体追跡システムにおいて、LEDの変調は、振幅、周波数、何らかの組合せ、又は他の信号符号化手段であり得る。
剛体追跡システムにおいて、LEDは、可視光スペクトル又は赤外線スペクトルであり得る。
剛体追跡システムにおいて、カメラシャッタが開かれる時間又は慣性測定ユニットが新しい測定を提供する時間について、サブミリ秒時間スタンプが生成され、デジタルハードウェア構成要素によって記録される。
ヘッドマウントディスプレイとの併用に有用な剛体追跡方法であって、頭部追跡方法は、慣性測定ユニット内のジャイロスコープによって得られる高周波(少なくとも1000Hz)角速度測定値から体の向き推定を更新すること、LEDの一意に識別されるサブセットを含む画像から推定される体の位置を更新すること、慣性測定ユニット及び1つ又は複数のカメラの両方からの測定値を密に統合することにより、計算効率及び推定精度を改善すること、将来の位置及び向きを予測する追加の能力を用いて、体の位置及び向きの推定を提供することを含む。
上述した方法において、加速度計測定値は、向き傾斜デッドレコニングエラーの補償に使用される。
上述した方法において、カメラ画像、場合によっては磁力計測定値が、向きヨーデッドレコニングエラー(orientation tilt dead-reckoning error)の補償に使用される。
上述した方法において、低レベル画像処理が実行されて、サブピクセル精度で画像のLED中心位置を抽出する。
上述した方法において、LED変調レベルが、連続カメラ画像にわたりデジタル符号化された識別子を提供し、それにより、LED識別問題を解決する。
上述した方法において、画像からの位置及び向きの推定は、フレーム毎にインクリメントされて計算される。
上述した方法において、連続してシャッタが開く間の時間間隔にわたるジャイロスコープ及び加速度計からの測定値が利用される。
上述した方法において、位置及び向きの正確な予測推定は、前のフレームからの推定を累積されたジャイロスコープ及び加速度計の測定値と結合することにより行われる。
上述した方法において、新しい位置及び向きの推定が、画像での予期されるLEDの中心位置と画像でのLEDの測定位置との不一致であるエラーを最適化するまで、予測推定を繰り返し摂動させる。
概要
本開示の実施形態の上記説明は、例示のために提示され、網羅的である、すなわち本開示を開示される厳密な形態に限定する意図はない。多くの変更及び変形が上記開示に鑑みて可能であることを当業者は理解することができる。
本開示の実施形態の上記説明は、例示のために提示され、網羅的である、すなわち本開示を開示される厳密な形態に限定する意図はない。多くの変更及び変形が上記開示に鑑みて可能であることを当業者は理解することができる。
この説明の幾つかの部分は、アルゴリズム及び情報への動作の象徴的表現に関して本開示の実施形態を説明している。これらのアルゴリズム的説明及び表現は、当業者が他の当業者に仕事の実質を効率的に伝えるために一般に使用するものである。これらの動作は、機能的、計算的、又は論理的に説明され、コンピュータプログラム又は同等の電気回路、マイクロコード等によって実施されると理解される。さらに、時により、一般性を失うことなく、これらの動作構成をモジュールと呼ぶことが好都合であることも証明されている。説明された動作及び関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組合せで実施し得る。
本明細書に記載される任意のステップ、動作、又はプロセスは、単独又は他のデバイスと組み合わせて1つ又は複数のハードウェア又はソフトウェアモジュールを用いて実行又は実施し得る。一実施形態では、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品を用いて実施され、コンピュータプログラムコードは、コンピュータプロセッサによって実行されて、記載される任意又は全てのステップ、動作、又はプロセスを実行することができる。
本開示の実施形態は、本明細書における動作を実行する装置にも関し得る。この装置は、必要とされる目的に向けて特に構築されてもよく、且つ/又はコンピュータに記憶されたコンピュータプログラムによって選択的にアクティブ化又は再構成される汎用計算デバイスを備えてもよい。そのようなコンピュータプログラムは、非一時的の実体的なコンピュータ可読記憶媒体又はコンピュータシステムバスに結合し得る電子命令の記憶に適する任意のタイプの媒体に記憶し得る。さらに、本明細書で参照される任意の計算システムは、単一のプロセッサを含んでもよく、又は計算能力を増大させるために複数のプロセッサ設計を利用したアーキテクチャであってもよい。
本開示の実施形態は、本明細書に記載される計算プロセスによって生成される製品に関することもできる。そのような製品は、計算プロセスから生じる情報を備え得、情報は非一時的で実体的なコンピュータ可読記憶媒体に記憶され、コンピュータプログラム製品の任意の実施形態又は本明細書に記載される他のデータの組合せを含み得る。
最後に、本明細書で使用される用語は主に、可読性及び指示を目的として選択されており、本発明の趣旨を表現又は制限するものとして選択されていないことがある。したがって、本開示の範囲がこの詳細な説明によって限定されず、むしろ、本明細書に基づいた出願で発行される任意の特許請求の範囲によって限定されることが意図される。したがって、実施形態の本開示は、本開示の範囲の限定ではなく例示であることが意図され、本開示の範囲は以下の特許請求の範囲に記載される。

Claims (40)

  1. 方法であって、
    撮像デバイスから低速較正データを受信することであって、前記低速較正データは、1つ又は複数のロケータをそれぞれ有する前部剛体及び後部剛体を含む仮想現実(VR)ヘッドセットの一連の画像を含み、前記一連の画像は、可視の前記後部剛体上のロケータのみを有し、画像時刻値が関連付けられた画像を含む、前記低速較正データを受信すること、
    前記前部剛体内の慣性測定ユニット(IMU)から、前記前部剛体の参照点の中間推定位置を含む高速較正データを受信すること、
    前記低速較正データを使用して、特定の画像時刻値での前記後部剛体の観測位置を特定すること、
    前記高速較正データと、前記前部剛体と前記後部剛体との較正オフセットを示す位置ベクトルとを使用して、前記特定の画像時刻値での前記後部剛体の予測位置を特定すること、
    前記後部剛体の観測位置と前記後部剛体の予測位置との差が、閾値よりも大きいとの判断に応答して、前記観測位置と前記予測位置との差が前記閾値未満になるようなオフセット値により、前記位置ベクトルを調整すること、
    前記高速較正データ及び調整された位置ベクトルに基づいて、前記画像時刻値後に発生する後続画像時刻値に関連付けられた前記一連の画像からの画像での前記後部剛体の後続予測位置を特定すること、を備える方法。
  2. 前記後部剛体の観測位置と前記後部剛体の予測位置との差が、前記閾値よりも大きいとの判断に応答して、前記前部剛体に対する前記後部剛体の相対位置を再較正して、前記前部剛体からの前部閾値数のロケータと、前記後部剛体での後部閾値数のロケータとを含む前記低速較正データ内の一連の画像からの画像に少なくとも部分的に基づいて、前記後部剛体の予測位置推定値への前記オフセット値をなくすことを更に備える請求項1に記載の方法。
  3. 前記前部剛体への前記後部剛体の相対位置を再較正して、前記後部剛体の予測位置推定値への一時的なオフセットをなくすことは、
    前記VRヘッドセットに関連付けられたヘッドセットモデルに基づいて、前記少なくとも1つの画像に含まれるロケータに対応するモデルロケータを識別すること、
    前記ヘッドセットモデルを使用して、少なくとも1つの画像に含まれる前記1つ又は複数のロケータのそれぞれの推定位置を生成すること、
    少なくとも1つの画像に含まれる前記前部剛体のロケータの調整推定値と、対応するモデルロケータに関連付けられた位置との相対距離が、閾値未満であるように、前記推定位置を調整する1つ又は複数の較正パラメータを調整すること、
    少なくとも部分的に、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれるロケータの1つ又は複数の調整推定位置、前記低速較正データからの画像に関連付けられた較正位置に基づいて、前記参照点の較正位置を生成すること、
    少なくとも部分的に、前記低速較正データからの少なくとも1つの画像に含まれるとともに、前記後部剛体に含まれる1つ又は複数のロケータの推定位置に基づいて、前記参照点に相対する前記後部剛体の位置を特定すること、
    少なくとも部分的に、前記参照点の較正位置、前記低速較正データからの後続画像間の時間に関連付けられた予測位置に基づいて、前記参照点の1つ又は複数の予測位置を特定すること、
    前記参照点の中間推定位置が、前記参照点の特定された予測位置の閾値距離内にあるように、前記較正パラメータの1つ又は複数を調整すること、を更に備える請求項2に記載の方法。
  4. 前記参照点に相対する前記後部剛体の位置を特定することは、
    前記低速較正データからの少なくとも1つの画像に含まれるとともに、前記後部剛体に含まれる1つ又は複数のロケータの推定位置に基づいて、後部参照点を特定すること、
    前記参照点に相対する前記後部参照点の位置を特定すること、を含む、請求項3に記載の方法。
  5. 前記参照点に相対する前記後部剛体の位置を特定することは、
    少なくとも部分的に、前記低速較正データからの少なくとも1つの画像に含まれるとともに、前記後部剛体に含まれる前記1つ又は複数のロケータの推定位置に基づいて、前記低速較正データからの少なくとも1つの画像に含まれるとともに、前記後部剛体に含まれる前記1つ又は複数のロケータの参照点に相対する位置を特定すること、を更に含む、請求項3に記載の方法。
  6. 前記低速較正データが前記前部剛体からのロケータを含む少なくとも1つの画像を含まないと判断すること、
    前記低速較正データからの少なくとも1つの画像に含まれるとともに、前記後部剛体に含まれる1つ又は複数のロケータの、前記高速較正データからの前記参照点の中間推定位置に相対する位置を推定すること、
    前記VRヘッドセット位置に関連付けられたヘッドセットモデルに基づく前記低速較正データからの少なくとも1つの画像に含まれる前記1つ又は複数のロケータに対応するモデルロケータの位置と、前記低速較正データからの少なくとも1つの画像に含まれるとともに、前記後部剛体に含まれる前記1つ又は複数のロケータの推定位置との差が、前記閾値を超えると判断すること、を更に備える請求項3に記載の方法。
  7. 1つ又は複数の較正パラメータを調整して、前記前部剛体上にあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの調整推定位置と、対応するモデルロケータに関連付けられた位置との相対距離が、前記閾値未満であるように、前記推定位置を調整することは、
    前記IMUの較正パラメータを調整すること、
    部分的に前記較正パラメータへの調整に基づいて、1つ又は複数のモデルロケータの位置を調整すること、を含む、請求項3に記載の方法。
  8. 前記IMUの較正パラメータを調整することは、
    前記IMUが、前記参照点の較正位置に相対する高速較正データを特定するように、前記IMUの初期化後の時間において、前記IMUの初期位置を前記低速較正データからの画像に関連付けられた前記参照点の較正位置に設定することを含む、請求項7に記載の方法。
  9. 調整された較正パラメータは、加速度計によって出力される測定信号の1つ又は複数のサンプリングレート、ジャイロスコープによって出力される前記測定信号の1つ又は複数のサンプリングレート、前記高速較正データの出力レート、前記IMUに電力を提供するコマンド、初期位置を前記参照点の較正位置に更新するコマンド、及びそれらの任意の組合せからなる群から選択される、請求項7に記載の方法。
  10. 前記ヘッドセットモデルを使用して前記低速較正データからの少なくとも1つの画像に含まれる前記1つ又は複数のロケータのそれぞれの推定位置を生成することは、
    射影行列を使用して、前記モデルロケータの位置を、前記VRヘッドセット上にあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置に変換することを含む、請求項3に記載の方法。
  11. 1つ又は複数の較正パラメータを調整して、前記前部剛体上にあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの調整推定位置と、対応するモデルロケータに関連付けられた位置との相対距離が、前記閾値未満であるように、前記推定位置を調整することは、
    前記射影行列による、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置への前記モデルロケータの位置の変換を調整する較正パラメータを調整することを含む、請求項10に記載の方法。
  12. 前記較正パラメータは、焦点距離、焦点、フレームレート、ISO、シャッタ速度、アパーチャ、カメラの向き、レンズ中心からの撮像センサのオフセット、レンズ歪みパラメータ、センサ温度、又はそれらの何らかの組合せからなる群から選択される、請求項11に記載の方法。
  13. 前記参照点の中間推定位置が、前記参照点の特定された予測位置の閾値距離内にあるように、前記較正パラメータの1つ又は複数を調整することは、
    前記較正位置を使用して、特定の時間での前記参照点の位置を予測する予測関数を特定すること、
    前記参照点の中間推定位置の1つ又は複数と前記予測関数を使用して特定される前記参照点の予測位置との距離を特定すること、
    前記特定される距離が前記閾値距離未満であるように、較正パラメータを調整することと、を含む、請求項3に記載の方法。
  14. 方法であって、
    撮像デバイスから低速較正データを受信することであって、前記低速較正データは、画像時刻値での仮想現実(VR)ヘッドセットの一部の画像を含み、前記VRヘッドセットは、1つ又は複数のロケータをそれぞれ有する前部剛体及び後部剛体を含み、前記後部剛体のロケータのみが、前記画像において可視である、前記低速較正データを受信すること、
    前記前部剛体内の慣性測定ユニット(IMU)から、前記画像時刻値での前記前部剛体の参照点の中間推定位置を含む高速較正データを受信すること、
    前記低速較正データを使用して、特定の画像時刻値での前記後部剛体の観測位置を特定すること、
    前記高速較正データと、前記前部剛体と前記後部剛体との較正オフセットを示す位置ベクトルとを使用して、前記特定の画像時刻値での前記後部剛体の予測位置を特定すること、
    前記後部剛体の観測位置と前記後部剛体の予測位置との差が、閾値よりも大きいとの判断に応答して、前記観測位置と前記予測位置との差が前記閾値未満になるようなオフセット値により、前記後部剛体の予測位置を調整すること、を備える方法。
  15. 前記観測位置と前記予測位置との差が前記閾値未満であるようなオフセット値により、前記後部剛体の予測位置を調整することは、
    前記オフセット値により前記位置ベクトルを調整することを含む、請求項14に記載の方法。
  16. 前記観測位置と前記予測位置との差が前記閾値未満であるようなオフセット値により、前記後部剛体の予測位置を調整することは、
    前記オフセット値だけ、前記参照点の1つ又は複数の中間推定位置をオフセットするように前記IMUに命令することを含む、請求項14に記載の方法。
  17. 前記高速較正データと、前記前部剛体と前記後部剛体との較正オフセットを示す位置ベクトルとを使用して、前記特定の画像時刻値での前記後部剛体の予測位置を特定することは、
    前記位置ベクトルによる前記参照点の中間推定位置に相対する前記後部剛体上の後部参照点の位置として、前記後部剛体の予測位置を識別することを含む、請求項14に記載の方法。
  18. 前記撮像デバイスから追加の低速較正データを受信することであって、前記低速較正データは、後続画像時刻値での後続画像を含み、前記後部剛体上のロケータのみが、前記後続画像において可視である、前記受信すること、
    前記IMUから、前記後続画像時刻値での前記前部剛体の参照点の後続中間推定位置を含む追加の高速較正データを受信すること、
    前記低速較正データを使用して、前記後続画像時刻値での前記後部剛体の後続観測位置を特定すること、
    前記高速較正データ及び調整された位置ベクトルを使用して、前記後続画像時刻値での前記後部剛体の後続予測位置を特定することを更に備える請求項14に記載の方法。
  19. 前記低速較正データが前記前部剛体及び前記後部剛体上のロケータを含む画像を含むと、前記前部剛体を前記後部剛体に再較正することを更に備える請求項14に記載の方法。
  20. システムであって、
    前部剛体及び後部剛体を含む仮想現実(VR)ヘッドセットであって、前記前部剛体は、前記前部剛体内の参照点の中間推定位置を含む高速較正データを出力するように構成される慣性測定ユニット(IMU)を含む、前記VRヘッドセットと、
    前記VRヘッドセットの一連の画像を含む低速較正データを出力するように構成される撮像デバイスであって、前記一連の画像の画像において、前記後部剛体のロケータのみが、前記画像で可視のロケータであり、前記画像には特定の画像時刻値が関連付けられる、前記撮像デバイスと、
    VRコンソールと、を備え、
    前記VRコンソールは、
    プロセッサと、
    前記プロセッサに結合され、命令を含むメモリと、を含み、
    前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
    前記撮像デバイスから低速較正データを受信すること、
    前記IMUから前記高速較正データを受信することと、
    前記低速較正データを使用して、前記特定の画像時刻値での前記後部剛体の観測位置を特定すること、
    前記高速較正データと、前記前部剛体と前記後部剛体との較正オフセットを示す位置ベクトルとを使用して、前記特定の画像時刻値での前記後部剛体の予測位置を特定すること、
    前記観測位置と前記予測位置との差が閾値よりも大きいと判断すること、
    前記後部剛体の観測位置と前記後部剛体の予測位置との差が閾値よりも大きいとの判断に応答して、前記観測位置と前記予測位置との差が前記閾値未満であるようなオフセット値により、前記位置ベクトルを調整すること、
    前記高速較正データ及び調整された位置ベクトルに基づいて、前記画像時刻値後に発生する後続画像時刻値に関連付けられた前記一連の画像からの画像での前記後部剛体の後続予測位置を特定すること、を実行させる、システム。
  21. 撮像デバイスから、仮想現実(VR)ヘッドセット上の1つ又は複数のロケータの部分を示す一連の画像を含む低速較正データを受信することであって、各画像は、画像時刻値により前記一連内の後続画像とは別個である、前記低速較正データを受信すること、
    前記VRヘッドセット上の慣性測定ユニット(IMU)から、前記VRヘッドセット上の参照点の1つ又は複数の中間推定位置を含む高速較正データを受信すること、
    前記VRヘッドセットに関連付けられた記憶ヘッドセットモデルを使用して、前記VRヘッドセット上にあり、前記低速較正データからの少なくとも1つの画像に含まれるロケータにそれぞれ対応するモデルロケータを識別すること、
    前記ヘッドセットモデルを使用して、前記VRヘッドセット上にあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置を生成すること、
    1つ又は複数の較正パラメータを調整して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置と、対応するモデルロケータの位置との相対距離が、閾値未満であるように、前記推定位置を調整すること、
    少なくとも部分的に、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置に基づいて、前記参照点の較正位置を生成することであって、較正位置には、前記低速較正データからの画像が関連付けられる、前記較正位置を生成すること、
    少なくとも部分的に、前記参照点の較正位置に基づいて、前記参照点の1つ又は複数の予測位置を特定することであって、予測位置には、前記低速較正データからの後続画像間の時間が関連付けられる、前記予測位置を特定すること、
    前記参照点の中間推定位置が、前記参照点の特定された予測位置の閾値距離内であるように、前記較正パラメータの1つ又は複数を調整すること、を備える、方法。
  22. 少なくとも部分的に、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置に基づいて、前記参照点の較正位置を生成することは、
    前記低速較正データが、前記VRヘッドセットの複数の側に少なくとも閾値数のロケータを有する画像を含むか否かを判断すること、
    前記VRヘッドセットに提示に関するプロンプトを通信することであって、前記プロンプトは、前記撮像デバイスに相対して前記VRヘッドセットを再位置決めする1つ又は複数の命令を含む、前記通信すること、を含む、請求項21に記載の方法。
  23. 前記VRヘッドセットの側は、上側、下側、右側、左側、前側、及びそれらの任意の組合せからなる群から選択される、請求項22に記載の方法。
  24. 1つ又は複数の較正パラメータを調整して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置と、対応するモデルロケータの位置との相対距離が閾値未満であるように、前記推定位置を調整することは、
    前記IMUの較正パラメータを調整すること、
    部分的に、前記較正パラメータへの調整に基づいて、1つ又は複数のモデルロケータの位置を調整すること、を含む、請求項21に記載の方法。
  25. 前記IMUの較正パラメータを調整することは、
    前記IMUが、前記参照点の較正位置に相対する高速較正データを特定するように、前記IMUの初期化後の時間において前記低速較正データからの画像に関連付けられた前記参照点の較正位置に前記IMUの初期位置を設定することを含む、請求項24に記載の方法。
  26. 前記IMUの較正パラメータは、加速度計によって出力される測定信号の1つ又は複数のサンプリングレート、ジャイロスコープによって出力される前記測定信号の1つ又は複数のサンプリングレート、前記高速較正データの出力レート、前記IMUに電力を提供するコマンド、初期位置を前記参照点の較正位置に更新するコマンド、及びそれらの任意の組合せからなる群から選択される、請求項24に記載の方法。
  27. 前記ヘッドセットモデルを使用して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置を生成することは、
    射影行列を使用して、前記モデルロケータの位置を、前記VRヘッドセット上にあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置に変換することを含む、請求項21に記載の方法。
  28. 1つ又は複数の較正パラメータを調整して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置と、対応するモデルロケータの位置との相対距離が閾値未満であるように、前記推定位置を調整することは、
    前記射影行列による、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置に対する前記モデルロケータの位置の変換を調整する較正パラメータを調整することを含む、請求項27に記載の方法。
  29. 前記較正パラメータは、焦点距離、焦点、フレームレート、ISO、シャッタ速度、アパーチャ、カメラの向き、レンズ中心からの撮像センサのオフセット、レンズ歪みパラメータ、センサ温度、又はそれらの何らかの組合せからなる群から選択される、請求項28に記載の方法。
  30. 前記参照点の中間推定位置が、前記参照点の特定された予測位置の閾値距離内にあるように、前記較正パラメータの1つ又は複数を調整することは、
    前記較正位置を使用して、特定の時間での前記参照点の位置を予測する予測関数を特定すること、
    前記参照点の中間推定位置の1つ又は複数と前記予測関数を使用して特定される前記参照点の予測位置との距離を特定すること、
    特定される距離が前記閾値距離未満であるように、較正パラメータを調整すること、を含む、請求項21に記載の方法。
  31. 方法であって、
    撮像デバイスから低速較正データを受信することであって、前記低速較正データは、仮想現実(VR)ヘッドセットでの複数のロケータからの1つ又は複数の観測ロケータの部分を示す特定の時刻値での一連の画像を含む、前記低速較正データを受信すること、
    前記VRヘッドセットでの慣性測定ユニット(IMU)から、前記特定の時刻値での前記VRヘッドセットでの参照点の位置情報を含む高速較正データを受信すること、
    前記低速較正データ内の画像からロケータ情報を抽出することであって、画像から抽出される前記ロケータ情報は、前記画像内の互いに対する観測ロケータの位置を示す、前記抽出すること、
    前記ロケータ情報をヘッドセットモデルと比較して、前記1つ又は複数の観測ロケータのそれぞれに対応するモデルロケータを識別すること、
    前記ヘッドセットモデルを使用して、前記観測ロケータの推定位置を生成すること、
    前記観測ロケータの推定位置を使用して、前記一連の画像の参照点の位置を推定すること、
    1つ又は複数の較正パラメータを調整して、
    観測ロケータの調整推定位置と対応するモデルロケータの位置との相対距離が閾値未満であるように、前記推定位置を調整し、
    前記参照点の推定位置と前記モデルロケータから特定されるモデル参照点の位置との相対距離が、前記閾値未満であるように、前記参照点の推定位置を調整することを同時に実行すること、を備える方法。
  32. 前記ヘッドセットモデルを使用して前記観測ロケータの推定位置を生成することは、
    射影行列を使用して、前記モデルロケータの位置を、前記VRヘッドセット上にあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置に変換することを含む、請求項31に記載の方法。
  33. 1つ又は複数の較正パラメータを調整して、観測ロケータの調整推定位置と対応するモデルロケータの位置との相対距離が閾値未満であるように、前記推定位置を調整することは、
    前記射影行列による、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置への前記モデルロケータの位置の変換を調整する較正パラメータを調整することを含む、請求項32に記載の方法。
  34. 較正パラメータは、加速度計によって出力される前記測定信号の1つ又は複数のサンプリングレート、ジャイロスコープによって出力される前記測定信号の1つ又は複数のサンプリングレート、前記高速較正データの出力レート、前記IMUに電力を提供するコマンド、初期位置を前記参照点の較正位置に更新するコマンド、及びそれらの任意の組合せからなる群から選択される、請求項31に記載の方法。
  35. システムであって、
    仮想現実(VR)ヘッドセットであって、複数のロケータと、前記VRヘッドセット上の参照点の1つ又は複数の中間推定位置を含む高速較正データを出力するように構成される慣性測定ユニット(IMU)とを含み、各中間推定位置は、位置時刻値により後続する中間推定位置から隔てられる、前記VRヘッドセットと、
    前記VRヘッドセット上の前記複数のロケータの観測ロケータの部分を示す一連の画像を含む低速較正データを出力するように構成される撮像デバイスであって、各画像は、前記位置時刻値よりも大きな画像時刻値により、前記一連中の後続画像から隔てられる、前記撮像デバイスと、
    VRコンソールと、を備え、
    前記VRコンソールは、
    プロセッサと、
    前記プロセッサに結合され、命令を含むメモリと、を備え、
    前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
    前記撮像デバイスから低速較正データを受信すること、
    前記VRヘッドセットから前記高速較正データを受信すること、
    前記VRヘッドセットに関連付けられた記憶ヘッドセットモデルを使用して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれるロケータにそれぞれ対応するモデルロケータを識別すること、
    前記ヘッドセットのモデルを使用して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の推定位置を生成すること、
    1つ又は複数の較正パラメータを調整して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置と対応するモデルロケータの位置との相対距離が閾値未満であるように、前記推定位置を調整すること、
    少なくとも部分的に、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の調整推定位置に基づいて、前記参照点の較正位置を生成することであって、較正位置には、前記低速較正データからの画像が関連付けられる、前記較正位置を生成すること、
    少なくとも部分的に、前記参照点の較正位置に基づいて、前記参照点の1つ又は複数の予測位置を特定することであって、予測位置には、前記低速較正データからの後続画像間の時間が関連付けられる、前記予測位置を特定すること、
    前記参照点の中間推定位置が、前記参照点の特定された予測位置の閾値距離内にあるように、前記較正パラメータの1つ又は複数を調整すること、を実行させる、システム。
  36. ロケータは、赤外線発光ダイオードを備え、前記撮像デバイスは赤外線光を検出するように構成される、請求項35に記載のシステム。
  37. 1つ又は複数の較正パラメータを調整して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の前記調整推定位置と対応するモデルロケータの位置との相対距離が、閾値未満であるように、前記推定位置を調整することは、
    前記IMUの較正パラメータを調整すると、部分的に前記較正パラメータへの前記調整に基づいて、1つ又は複数のモデルロケータの位置を調整することを含む、請求項35に記載のシステム。
  38. 前記IMUの較正パラメータを調整することは、
    前記IMUが前記参照点の較正位置に相対する高速較正データを特定するように、前記IMUの初期化後の時間において前記低速較正データからの画像に関連付けられた前記参照点の較正位置に前記IMUの初期位置を設定することを含む、請求項37に記載のシステム。
  39. 1つ又は複数の較正パラメータを調整して、前記VRヘッドセットにあり、前記低速較正データからの少なくとも1つの画像に含まれる前記ロケータの1つ又は複数の前記調整推定位置と対応するモデルロケータの位置との相対距離が、閾値未満であるように前記推定位置を調整することは、
    前記撮像デバイスの較正パラメータを調整すること、
    部分的に、前記較正パラメータへの前記調整に基づいて1つ又は複数のモデルロケータの位置を調整することを含む、請求項35に記載のシステム。
  40. 前記参照点の中間推定位置が、前記参照点の特定された予測位置の閾値距離内であるように、前記較正パラメータの1つ又は複数を調整することは、
    前記較正位置を使用して、特定の時間での前記参照点の位置を予測する予測関数を特定すること、
    前記参照点の中間推定位置の1つ又は複数と、前記予測関数を使用して特定された前記参照点の予測位置との距離を特定すること、
    前記特定される距離が前記閾値距離未満であるように、較正パラメータを調整すること、を含む、請求項35に記載のシステム。
JP2016543235A 2014-01-06 2015-01-06 仮想現実システムの較正 Active JP6110573B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201461923895P 2014-01-06 2014-01-06
US61/923,895 2014-01-06
US201462088088P 2014-12-05 2014-12-05
US201462088085P 2014-12-05 2014-12-05
US62/088,088 2014-12-05
US62/088,085 2014-12-05
US14/589,755 2015-01-05
US14/589,755 US9524580B2 (en) 2014-01-06 2015-01-05 Calibration of virtual reality systems
US14/589,774 US9600925B2 (en) 2014-01-06 2015-01-05 Calibration of multiple rigid bodies in a virtual reality system
US14/589,774 2015-01-05
PCT/US2015/010344 WO2015103621A1 (en) 2014-01-06 2015-01-06 Calibration of virtual reality systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017044754A Division JP6381711B2 (ja) 2014-01-06 2017-03-09 仮想現実システムの較正

Publications (3)

Publication Number Publication Date
JP2017503418A true JP2017503418A (ja) 2017-01-26
JP2017503418A5 JP2017503418A5 (ja) 2017-03-02
JP6110573B2 JP6110573B2 (ja) 2017-04-05

Family

ID=53495596

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2016543235A Active JP6110573B2 (ja) 2014-01-06 2015-01-06 仮想現実システムの較正
JP2017044754A Active JP6381711B2 (ja) 2014-01-06 2017-03-09 仮想現実システムの較正

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017044754A Active JP6381711B2 (ja) 2014-01-06 2017-03-09 仮想現実システムの較正

Country Status (11)

Country Link
US (4) US9524580B2 (ja)
EP (1) EP3017591B1 (ja)
JP (2) JP6110573B2 (ja)
KR (2) KR101762297B1 (ja)
CN (2) CN105850113B (ja)
AU (1) AU2015203932B2 (ja)
BR (1) BR112016013563A8 (ja)
CA (1) CA2930773C (ja)
IL (1) IL245813A (ja)
MX (1) MX348608B (ja)
WO (1) WO2015103621A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10001834B2 (en) 2014-01-06 2018-06-19 Oculus Vr, Llc Calibration of multiple rigid bodies in a virtual reality system
JP2020135192A (ja) * 2019-02-15 2020-08-31 株式会社Jvcケンウッド 画像調整システム、画像調整装置、及び画像調整方法
JP2021512388A (ja) * 2018-02-06 2021-05-13 マジック リープ, インコーポレイテッドMagic Leap,Inc. 拡張現実のためのシステムおよび方法

Families Citing this family (185)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052161B2 (en) * 2005-12-19 2015-06-09 Raydon Corporation Perspective tracking system
US20150124566A1 (en) 2013-10-04 2015-05-07 Thalmic Labs Inc. Systems, articles and methods for wearable electronic devices employing contact sensors
US10188309B2 (en) 2013-11-27 2019-01-29 North Inc. Systems, articles, and methods for electromyography sensors
US10042422B2 (en) 2013-11-12 2018-08-07 Thalmic Labs Inc. Systems, articles, and methods for capacitive electromyography sensors
US11921471B2 (en) 2013-08-16 2024-03-05 Meta Platforms Technologies, Llc Systems, articles, and methods for wearable devices having secondary power sources in links of a band for providing secondary power in addition to a primary power source
US9880632B2 (en) 2014-06-19 2018-01-30 Thalmic Labs Inc. Systems, devices, and methods for gesture identification
TWM491843U (zh) * 2014-07-24 2014-12-11 Shou-Lan Zhang 可攜式虛擬實境眼鏡
JP2017524159A (ja) 2014-08-03 2017-08-24 ポゴテック インク ウェアラブルカメラシステム、並びにカメラシステム又は他の電子デバイスをウェアラブル物品に取り付けるための装置及び方法
KR20170118054A (ko) 2014-12-23 2017-10-24 포고텍, 인크. 무선 카메라 시스템 및 방법들
US9659411B2 (en) * 2015-01-14 2017-05-23 Oculus Vr, Llc Passive locators for a virtual reality headset
EP3062142B1 (en) 2015-02-26 2018-10-03 Nokia Technologies OY Apparatus for a near-eye display
US10271042B2 (en) 2015-05-29 2019-04-23 Seeing Machines Limited Calibration of a head mounted eye tracking system
US10481417B2 (en) 2015-06-10 2019-11-19 PogoTec, Inc. Magnetic attachment mechanism for electronic wearable device
RU2017145375A (ru) 2015-06-10 2019-07-10 Поготек, Инк. Очки с магнитной дорожкой для электронного носимого устройства
US10073531B2 (en) * 2015-10-07 2018-09-11 Google Llc Electronic device pose identification based on imagery and non-image sensor data
DE102015012961B4 (de) * 2015-10-08 2022-05-05 Kastanienbaum GmbH Robotersystem
JP6517358B2 (ja) 2015-10-08 2019-05-22 株式会社ソニー・インタラクティブエンタテインメント 制御装置、ヘッドマウントディスプレイ、制御システム、制御方法及びプログラム
JP6556015B2 (ja) * 2015-10-09 2019-08-07 ソニー株式会社 情報処理装置、位置および/または姿勢の推定方法、およびコンピュータプログラム
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
US10341787B2 (en) 2015-10-29 2019-07-02 PogoTec, Inc. Hearing aid adapted for wireless power reception
CN105391858A (zh) * 2015-11-04 2016-03-09 深圳维爱特科技有限公司 虚拟现实眼镜及其控制方法、装置和系统
US10440355B2 (en) * 2015-11-06 2019-10-08 Facebook Technologies, Llc Depth mapping with a head mounted display using stereo cameras and structured light
US9805512B1 (en) 2015-11-13 2017-10-31 Oculus Vr, Llc Stereo-based calibration apparatus
JP6663040B2 (ja) * 2016-01-12 2020-03-11 華為技術有限公司Huawei Technologies Co.,Ltd. 奥行き情報取得方法および装置、ならびに画像取得デバイス
CN105487233B (zh) * 2016-02-03 2019-01-04 深圳多哚新技术有限责任公司 一种vr眼镜以及其散热结构
WO2017132863A1 (zh) * 2016-02-03 2017-08-10 深圳多哚新技术有限责任公司 一种vr眼镜以及其散热结构
US10422976B2 (en) 2016-02-26 2019-09-24 Samsung Electronics Co., Ltd. Aberration corrected optical system for near-eye displays
US11558538B2 (en) 2016-03-18 2023-01-17 Opkix, Inc. Portable camera system
US10717001B2 (en) 2016-03-25 2020-07-21 Zero Latency PTY LTD System and method for saving tracked data in the game server for replay, review and training
US10486061B2 (en) 2016-03-25 2019-11-26 Zero Latency Pty Ltd. Interference damping for continuous game play
US9916496B2 (en) 2016-03-25 2018-03-13 Zero Latency PTY LTD Systems and methods for operating a virtual reality environment using colored marker lights attached to game objects
US10421012B2 (en) 2016-03-25 2019-09-24 Zero Latency PTY LTD System and method for tracking using multiple slave servers and a master server
US10071306B2 (en) 2016-03-25 2018-09-11 Zero Latency PTY LTD System and method for determining orientation using tracking cameras and inertial measurements
US10099122B2 (en) * 2016-03-30 2018-10-16 Sony Interactive Entertainment Inc. Head-mounted display tracking
US20170300116A1 (en) * 2016-04-15 2017-10-19 Bally Gaming, Inc. System and method for providing tactile feedback for users of virtual reality content viewers
US10509469B2 (en) 2016-04-21 2019-12-17 Finch Technologies Ltd. Devices for controlling computers based on motions and positions of hands
US10890600B2 (en) 2016-05-18 2021-01-12 Google Llc Real-time visual-inertial motion tracking fault detection
US10802147B2 (en) * 2016-05-18 2020-10-13 Google Llc System and method for concurrent odometry and mapping
US11017610B2 (en) 2016-05-18 2021-05-25 Google Llc System and method for fault detection and recovery for concurrent odometry and mapping
US20170363885A1 (en) * 2016-06-20 2017-12-21 PogoTec, Inc. Image alignment systems and methods
DE102016111707B4 (de) * 2016-06-27 2019-08-14 Volkswagen Aktiengesellschaft Verfahren und System zum Erfassen einer Relativposition eines mobilen Endgeräts in Bezug auf ein Fahrzeug
CN106123901B (zh) * 2016-07-20 2019-08-06 上海乐相科技有限公司 一种定位方法及装置
WO2018022657A1 (en) * 2016-07-25 2018-02-01 Ctrl-Labs Corporation System and method for measuring the movements of articulated rigid bodies
US10409371B2 (en) 2016-07-25 2019-09-10 Ctrl-Labs Corporation Methods and apparatus for inferring user intent based on neuromuscular signals
US11179066B2 (en) 2018-08-13 2021-11-23 Facebook Technologies, Llc Real-time spike detection and identification
US11216069B2 (en) 2018-05-08 2022-01-04 Facebook Technologies, Llc Systems and methods for improved speech recognition using neuromuscular information
EP3487457B1 (en) 2016-07-25 2023-09-06 Facebook Technologies, LLC. Adaptive system for deriving control signals from measurements of neuromuscular activity
US20200073483A1 (en) 2018-08-31 2020-03-05 Ctrl-Labs Corporation Camera-guided interpretation of neuromuscular signals
WO2018022602A1 (en) 2016-07-25 2018-02-01 Ctrl-Labs Corporation Methods and apparatus for predicting musculo-skeletal position information using wearable autonomous sensors
US10687759B2 (en) 2018-05-29 2020-06-23 Facebook Technologies, Llc Shielding techniques for noise reduction in surface electromyography signal measurement and related systems and methods
US20190121306A1 (en) 2017-10-19 2019-04-25 Ctrl-Labs Corporation Systems and methods for identifying biological structures associated with neuromuscular source signals
US11331045B1 (en) 2018-01-25 2022-05-17 Facebook Technologies, Llc Systems and methods for mitigating neuromuscular signal artifacts
US10915165B2 (en) 2016-07-29 2021-02-09 Emmanuel Lusinchi Methods and systems for controlling a displacement of a virtual point of view in a virtual reality environment
US10212414B2 (en) 2016-08-01 2019-02-19 Microsoft Technology Licensing, Llc Dynamic realignment of stereoscopic digital consent
CN107690067B (zh) * 2016-08-05 2019-06-21 成都理想境界科技有限公司 头戴式显示设备帧率的检测方法及装置
CN106054392B (zh) * 2016-08-10 2018-12-04 深圳多哚新技术有限责任公司 Vr设备中光学镜头与显示屏的对准方法及系统
US10751609B2 (en) 2016-08-12 2020-08-25 Zero Latency PTY LTD Mapping arena movements into a 3-D virtual world
CN106354205A (zh) * 2016-08-25 2017-01-25 安徽协创物联网技术有限公司 一种可穿戴虚拟现实实现系统
CN109952135B (zh) * 2016-09-30 2023-05-26 索尼互动娱乐股份有限公司 具有差分渲染和声音定位的无线头戴式显示器
CA3043932A1 (en) * 2016-10-20 2018-04-26 Spookfish Innovations Pty Ltd An aerial camera boresight calibration system
CN106338712A (zh) * 2016-10-21 2017-01-18 泉州装备制造研究所 一种基于相机通信的可见光室内定位方法及系统
CN106485788B (zh) * 2016-10-21 2019-02-19 重庆虚拟实境科技有限公司 一种游戏引擎混合现实拍摄方法
US10591584B2 (en) * 2016-10-25 2020-03-17 GM Global Technology Operations LLC Radar calibration with known global positioning of static objects
CN107024980A (zh) * 2016-10-26 2017-08-08 阿里巴巴集团控股有限公司 基于增强现实的用户位置定位方法及装置
CN106546238B (zh) * 2016-10-26 2020-09-01 北京小鸟看看科技有限公司 可穿戴设备及在可穿戴设备中确定用户位移的方法
WO2018089533A1 (en) 2016-11-08 2018-05-17 PogoTec, Inc. A smart case for electronic wearable device
CN106657609A (zh) * 2016-11-18 2017-05-10 成都六维人科技有限公司 一种虚拟现实设备及其控制装置和方法
KR102540236B1 (ko) * 2016-12-05 2023-06-02 삼성전자주식회사 이미지 처리 장치 및 시스템
US10248191B2 (en) * 2016-12-12 2019-04-02 Microsoft Technology Licensing, Llc Virtual rigid framework for sensor subsystem
JP2018107695A (ja) * 2016-12-27 2018-07-05 フォーブ インコーポレーテッド 推定システム、推定方法及び推定プログラム
US10650552B2 (en) 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
EP4300160A2 (en) 2016-12-30 2024-01-03 Magic Leap, Inc. Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light
US10437343B2 (en) 2017-01-06 2019-10-08 Samsung Electronics Co., Ltd. Augmented reality control of internet of things devices
TWI664533B (zh) * 2017-01-18 2019-07-01 宏達國際電子股份有限公司 定位裝置及方法
CN110832439B (zh) 2017-04-27 2023-09-29 奇跃公司 发光用户输入设备
US10705113B2 (en) 2017-04-28 2020-07-07 Finch Technologies Ltd. Calibration of inertial measurement units attached to arms of a user to generate inputs for computer systems
US10785471B1 (en) * 2017-05-12 2020-09-22 Facebook Technologies, Llc Upsampling content for head-mounted displays
US10540006B2 (en) 2017-05-16 2020-01-21 Finch Technologies Ltd. Tracking torso orientation to generate inputs for computer systems
US10379613B2 (en) 2017-05-16 2019-08-13 Finch Technologies Ltd. Tracking arm movements to generate inputs for computer systems
US10304207B2 (en) 2017-07-07 2019-05-28 Samsung Electronics Co., Ltd. System and method for optical tracking
TWI687087B (zh) * 2017-07-13 2020-03-01 新加坡商聯發科技(新加坡)私人有限公司 呈現超出全方位媒體的vr媒體的方法和裝置
US10578870B2 (en) 2017-07-26 2020-03-03 Magic Leap, Inc. Exit pupil expander
CN107560637B (zh) * 2017-08-21 2021-02-19 歌尔光学科技有限公司 头戴显示设备校准结果验证方法及头戴显示设备
CN109491087B (zh) 2017-09-11 2022-09-20 杜比实验室特许公司 用于ar/vr/mr的模块化拆卸式可穿戴装置
KR102402457B1 (ko) 2017-09-15 2022-05-26 삼성전자 주식회사 콘텐츠 처리 방법 및 이를 지원하는 전자 장치
CN108876891B (zh) * 2017-11-27 2021-12-28 北京旷视科技有限公司 人脸图像数据采集方法及人脸图像数据采集装置
CN109862345B (zh) * 2017-11-30 2022-09-30 京东方科技集团股份有限公司 视场角测试方法和系统
CN111448497B (zh) 2017-12-10 2023-08-04 奇跃公司 光波导上的抗反射涂层
US10521011B2 (en) 2017-12-19 2019-12-31 Finch Technologies Ltd. Calibration of inertial measurement units attached to arms of a user and to a head mounted device
CN115826240A (zh) 2017-12-20 2023-03-21 奇跃公司 用于增强现实观看设备的插入件
US20220178692A1 (en) * 2017-12-21 2022-06-09 Mindmaze Holding Sa System, method and apparatus of a motion sensing stack with a camera system
CN108151738B (zh) * 2017-12-22 2019-07-16 北京轻威科技有限责任公司 带姿态解算的可编码主动光标识球
US10509464B2 (en) 2018-01-08 2019-12-17 Finch Technologies Ltd. Tracking torso leaning to generate inputs for computer systems
US11016116B2 (en) 2018-01-11 2021-05-25 Finch Technologies Ltd. Correction of accumulated errors in inertial measurement units attached to a user
US11961494B1 (en) 2019-03-29 2024-04-16 Meta Platforms Technologies, Llc Electromagnetic interference reduction in extended reality environments
US11150730B1 (en) 2019-04-30 2021-10-19 Facebook Technologies, Llc Devices, systems, and methods for controlling computing devices via neuromuscular signals of users
US10970936B2 (en) 2018-10-05 2021-04-06 Facebook Technologies, Llc Use of neuromuscular signals to provide enhanced interactions with physical objects in an augmented reality environment
US10817795B2 (en) 2018-01-25 2020-10-27 Facebook Technologies, Llc Handstate reconstruction based on multiple inputs
WO2019147949A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Real-time processing of handstate representation model estimates
US10937414B2 (en) 2018-05-08 2021-03-02 Facebook Technologies, Llc Systems and methods for text input using neuromuscular information
WO2019147958A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation User-controlled tuning of handstate representation model parameters
US11907423B2 (en) 2019-11-25 2024-02-20 Meta Platforms Technologies, Llc Systems and methods for contextualized interactions with an environment
WO2019147996A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Calibration techniques for handstate representation modeling using neuromuscular signals
WO2019148002A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Techniques for anonymizing neuromuscular signal data
US11493993B2 (en) 2019-09-04 2022-11-08 Meta Platforms Technologies, Llc Systems, methods, and interfaces for performing inputs based on neuromuscular control
US11481030B2 (en) 2019-03-29 2022-10-25 Meta Platforms Technologies, Llc Methods and apparatus for gesture detection and classification
WO2019147956A1 (en) 2018-01-25 2019-08-01 Ctrl-Labs Corporation Visualization of reconstructed handstate information
US11567573B2 (en) 2018-09-20 2023-01-31 Meta Platforms Technologies, Llc Neuromuscular text entry, writing and drawing in augmented reality systems
CN110163885B (zh) * 2018-02-12 2022-06-03 杭州海康威视数字技术股份有限公司 一种目标跟踪方法及装置
US11526216B2 (en) * 2018-02-23 2022-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Coordinating alignment of coordinate systems used for a computer generated reality device and a haptic device
KR102050059B1 (ko) * 2018-03-13 2020-01-08 서강대학교 산학협력단 헤드 마운티드 디스플레이의 자기 보정 장치 및 방법
CN112136152A (zh) 2018-03-15 2020-12-25 奇跃公司 由观看设备的部件变形导致的图像校正
US10475196B2 (en) * 2018-03-22 2019-11-12 Microsoft Technology Licensing, Llc Hybrid depth detection and movement detection
WO2019204638A1 (en) 2018-04-19 2019-10-24 Pcms Holdings, Inc. Systems and methods employing predictive overfilling for virtual reality
US11454783B2 (en) 2018-04-25 2022-09-27 Samsung Electronics Co., Ltd. Tiled triplet lenses providing a wide field of view
US10416755B1 (en) 2018-06-01 2019-09-17 Finch Technologies Ltd. Motion predictions of overlapping kinematic chains of a skeleton model used to control a computer system
DK201870351A1 (en) 2018-05-07 2020-01-13 Apple Inc. Devices and Methods for Measuring Using Augmented Reality
CN109974581B (zh) * 2018-05-07 2021-07-13 苹果公司 使用增强现实进行测量的设备和方法
US11474593B2 (en) 2018-05-07 2022-10-18 Finch Technologies Ltd. Tracking user movements to control a skeleton model in a computer system
US10592001B2 (en) 2018-05-08 2020-03-17 Facebook Technologies, Llc Systems and methods for improved speech recognition using neuromuscular information
US10623743B1 (en) * 2018-05-22 2020-04-14 Facebook Technologies, Llc Compression of captured images including light captured from locations on a device or object
WO2019226259A1 (en) 2018-05-25 2019-11-28 Ctrl-Labs Corporation Methods and apparatus for providing sub-muscular control
US11204491B2 (en) 2018-05-30 2021-12-21 Magic Leap, Inc. Compact variable focus configurations
EP3803450A4 (en) 2018-05-31 2021-08-18 Magic Leap, Inc. POSITIONING A RADAR HEAD
WO2019236495A1 (en) * 2018-06-05 2019-12-12 Magic Leap, Inc. Homography transformation matrices based temperature calibration of a viewing system
EP3803545A4 (en) 2018-06-08 2022-01-26 Magic Leap, Inc. AUGMENTED REALITY VIEWER WITH AUTOMATED SURFACE SELECTION PLACEMENT AND CONTENT ALIGNMENT PLACEMENT
WO2019241701A1 (en) 2018-06-14 2019-12-19 Ctrl-Labs Corporation User identification and authentication with neuromuscular signatures
CN108965863B (zh) * 2018-06-21 2019-09-17 歌尔股份有限公司 相机光学中心和vr透镜中心对齐的控制方法及装置
WO2020010097A1 (en) 2018-07-02 2020-01-09 Magic Leap, Inc. Pixel intensity modulation using modifying gain values
US11856479B2 (en) 2018-07-03 2023-12-26 Magic Leap, Inc. Systems and methods for virtual and augmented reality along a route with markers
WO2020010226A1 (en) 2018-07-03 2020-01-09 Magic Leap, Inc. Systems and methods for virtual and augmented reality
WO2020018892A1 (en) 2018-07-19 2020-01-23 Ctrl-Labs Corporation Methods and apparatus for improved signal robustness for a wearable neuromuscular recording device
CN110826375B (zh) * 2018-08-10 2022-08-12 广东虚拟现实科技有限公司 显示方法、装置、终端设备及存储介质
WO2020023543A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Viewing device with dust seal integration
WO2020023545A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Temperature dependent calibration of movement detection devices
US11009941B2 (en) 2018-07-25 2021-05-18 Finch Technologies Ltd. Calibration of measurement units in alignment with a skeleton model to control a computer system
US11112862B2 (en) 2018-08-02 2021-09-07 Magic Leap, Inc. Viewing system with interpupillary distance compensation based on head motion
EP3830631A4 (en) 2018-08-03 2021-10-27 Magic Leap, Inc. NON-FUSED POSE DRIFT CORRECTION OF A FUSED TOTEM IN A USER INTERACTION SYSTEM
US11100713B2 (en) 2018-08-17 2021-08-24 Disney Enterprises, Inc. System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems
EP3857342A4 (en) 2018-09-26 2021-12-01 Facebook Technologies, LLC. NEUROMUSCULAR CONTROL OF PHYSICAL OBJECTS IN AN ENVIRONMENT
US10785413B2 (en) 2018-09-29 2020-09-22 Apple Inc. Devices, methods, and graphical user interfaces for depth-based annotation
WO2020081090A1 (en) * 2018-10-18 2020-04-23 Hewlett-Packard Development Company, L.P. Video capture device positioning based on participant movement
WO2020102237A1 (en) 2018-11-13 2020-05-22 Opkix, Inc. Wearable mounts for portable camera
WO2020102412A1 (en) 2018-11-16 2020-05-22 Magic Leap, Inc. Image size triggered clarification to maintain image sharpness
CN113423341A (zh) 2018-11-27 2021-09-21 脸谱科技有限责任公司 用于可穿戴电极传感器系统的自动校准的方法和装置
CN109711302B (zh) * 2018-12-18 2019-10-18 北京诺亦腾科技有限公司 模型参数校准方法、装置、计算机设备和存储介质
US10802282B2 (en) 2018-12-21 2020-10-13 Microsoft Technology Licensing, Llc Controlling light source intensities on optically trackable object
CN109801341B (zh) * 2019-01-30 2020-11-03 北京经纬恒润科技有限公司 一种标定靶的位置校验方法及装置
US11425189B2 (en) 2019-02-06 2022-08-23 Magic Leap, Inc. Target intent-based clock speed determination and adjustment to limit total heat generated by multiple processors
US10905383B2 (en) 2019-02-28 2021-02-02 Facebook Technologies, Llc Methods and apparatus for unsupervised one-shot machine learning for classification of human gestures and estimation of applied forces
US11624757B2 (en) 2019-03-04 2023-04-11 Meta Platforms, Inc. Modeling poses of tracked objects by predicting sensor data
JP2022523852A (ja) 2019-03-12 2022-04-26 マジック リープ, インコーポレイテッド 第1および第2の拡張現実ビューア間でのローカルコンテンツの位置合わせ
KR102222136B1 (ko) * 2019-04-15 2021-03-04 주식회사 스토익엔터테인먼트 가상 현실 컨텐츠 제어 장치, 가상 현실 어트랙션 및 이의 보정 방법
WO2020223636A1 (en) 2019-05-01 2020-11-05 Magic Leap, Inc. Content provisioning system and method
CN109976535B (zh) * 2019-05-05 2022-12-02 北京七鑫易维信息技术有限公司 一种校准方法、装置、设备及存储介质
JP2022542363A (ja) 2019-07-26 2022-10-03 マジック リープ, インコーポレイテッド 拡張現実のためのシステムおよび方法
US10809797B1 (en) 2019-08-07 2020-10-20 Finch Technologies Ltd. Calibration of multiple sensor modules related to an orientation of a user of the sensor modules
CN110688002B (zh) * 2019-09-06 2023-12-19 广东虚拟现实科技有限公司 虚拟内容的调整方法、装置、终端设备及存储介质
JP7360282B2 (ja) * 2019-09-10 2023-10-12 株式会社東海理化電機製作所 制御装置、制御方法、及びプログラム
US10976863B1 (en) 2019-09-19 2021-04-13 Finch Technologies Ltd. Calibration of inertial measurement units in alignment with a skeleton model to control a computer system based on determination of orientation of an inertial measurement unit from an image of a portion of a user
US11175729B2 (en) 2019-09-19 2021-11-16 Finch Technologies Ltd. Orientation determination based on both images and inertial measurement units
CN112578901A (zh) * 2019-09-30 2021-03-30 Oppo广东移动通信有限公司 眼球追踪校准方法及相关设备
WO2021097323A1 (en) 2019-11-15 2021-05-20 Magic Leap, Inc. A viewing system for use in a surgical environment
US10705597B1 (en) 2019-12-17 2020-07-07 Liteboxer Technologies, Inc. Interactive exercise and training system and method
US11138771B2 (en) 2020-02-03 2021-10-05 Apple Inc. Systems, methods, and graphical user interfaces for annotating, measuring, and modeling environments
US11727650B2 (en) 2020-03-17 2023-08-15 Apple Inc. Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments
CN111583310B (zh) * 2020-04-29 2023-06-30 南京睿悦信息技术有限公司 一种用于虚拟现实和增强现实设备的虚实配准方法及装置
CN111988534B (zh) * 2020-07-23 2021-08-20 首都医科大学附属北京朝阳医院 一种基于多摄像头的画面拼接方法和装置
CN112015269A (zh) * 2020-08-03 2020-12-01 深圳市瑞立视多媒体科技有限公司 头显设备的显示校正方法、设备及存储介质
US20230306633A1 (en) * 2020-08-18 2023-09-28 Foresight Automotive Ltd. System and method for pose estimation of sensors using motion and angular shift
KR20220030641A (ko) * 2020-09-03 2022-03-11 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US20220075447A1 (en) * 2020-09-08 2022-03-10 Google Llc Persistent calibration of extended reality systems
US11615595B2 (en) 2020-09-24 2023-03-28 Apple Inc. Systems, methods, and graphical user interfaces for sharing augmented reality environments
CN112541932B (zh) * 2020-11-30 2024-03-26 西安电子科技大学昆山创新研究院 基于双光相机不同焦距变换参数的多源图像配准方法
US11662805B2 (en) * 2020-12-30 2023-05-30 Snap Inc. Periodic parameter estimation for visual-inertial tracking systems
WO2022146786A1 (en) * 2020-12-30 2022-07-07 Snap Inc. Periodic parameter estimation visual-inertial tracking systems
US11868531B1 (en) 2021-04-08 2024-01-09 Meta Platforms Technologies, Llc Wearable device providing for thumb-to-finger-based input gestures detected based on neuromuscular signals, and systems and methods of use thereof
US11941764B2 (en) 2021-04-18 2024-03-26 Apple Inc. Systems, methods, and graphical user interfaces for adding effects in augmented reality environments
US11688101B2 (en) 2021-05-18 2023-06-27 Snap Inc. Intrinsic parameters estimation in visual tracking systems
WO2022246388A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Intrinsic parameters estimation in visual tracking systems
BE1029715B1 (nl) * 2021-08-25 2023-03-28 Rods&Cones Holding Bv Geautomatiseerde kalibratie van hoofdgedragen handenvrije camera
CN114286075A (zh) * 2021-12-01 2022-04-05 北京新奥特图腾科技有限公司 校正参数调整方法、装置、电子设备及可读介质
WO2023130046A1 (en) * 2021-12-30 2023-07-06 Canon U.S.A., Inc. Systems and methods for virtual reality immersive calling
WO2022266556A1 (en) * 2022-08-09 2022-12-22 Innopeak Technology, Inc. Methods and systems for motion prediction
US11914800B1 (en) 2022-10-28 2024-02-27 Dell Products L.P. Information handling system stylus with expansion bay and replaceable module

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128364A1 (en) * 2011-11-22 2013-05-23 Google Inc. Method of Using Eye-Tracking to Center Image Content in a Display
WO2013119352A1 (en) * 2012-02-08 2013-08-15 Microsoft Corporation Head pose tracking using a depth camera
US20140361977A1 (en) * 2013-06-07 2014-12-11 Sony Computer Entertainment Inc. Image rendering responsive to user actions in head mounted display

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7428001B2 (en) * 2002-03-15 2008-09-23 University Of Washington Materials and methods for simulating focal shifts in viewers using large depth of focus displays
US7002551B2 (en) 2002-09-25 2006-02-21 Hrl Laboratories, Llc Optical see-through augmented reality modified-scale display
US6867753B2 (en) 2002-10-28 2005-03-15 University Of Washington Virtual image registration in augmented display field
CN100416336C (zh) * 2003-06-12 2008-09-03 美国西门子医疗解决公司 校准真实和虚拟视图
JP2005107247A (ja) 2003-09-30 2005-04-21 Canon Inc 位置姿勢推定方法および装置
JP2007071782A (ja) 2005-09-08 2007-03-22 Canon Inc 位置姿勢計測システム及びその計測方法、並びに制御プログラム
JP4757142B2 (ja) 2006-08-10 2011-08-24 キヤノン株式会社 撮影環境校正方法及び情報処理装置
JP4967546B2 (ja) * 2006-09-05 2012-07-04 株式会社島津製作所 ヘッドモーショントラッカ装置
JP5292725B2 (ja) 2007-05-24 2013-09-18 株式会社島津製作所 モーショントラッカ装置
CN100487568C (zh) * 2007-05-29 2009-05-13 南京航空航天大学 具有视线跟踪功能的增强现实自然交互式头盔
EP2012170B1 (en) 2007-07-06 2017-02-15 Harman Becker Automotive Systems GmbH Head-tracking system and operating method thereof
US8678282B1 (en) * 2010-11-29 2014-03-25 Lockheed Martin Corporation Aim assist head-mounted display apparatus
US9217867B2 (en) 2011-03-24 2015-12-22 Seiko Epson Corporation Head-mounted display device and control method for the head-mounted display device
WO2012172719A1 (ja) * 2011-06-16 2012-12-20 パナソニック株式会社 ヘッドマウントディスプレイおよびその位置ずれ調整方法
CN103179692A (zh) * 2011-12-26 2013-06-26 陈建新 基于ZigBee/IEEE802.15.4的人体运动追踪系统
US20130285885A1 (en) 2012-04-25 2013-10-31 Andreas G. Nowatzyk Head-mounted light-field display
JP2013258614A (ja) * 2012-06-13 2013-12-26 Sony Computer Entertainment Inc 画像生成装置および画像生成方法
CN203314184U (zh) * 2013-02-04 2013-12-04 浙江铭众生物医学创业投资有限公司 头戴式设备
US9239460B2 (en) * 2013-05-10 2016-01-19 Microsoft Technology Licensing, Llc Calibration of eye location
US20140362110A1 (en) * 2013-06-08 2014-12-11 Sony Computer Entertainment Inc. Systems and methods for customizing optical representation of views provided by a head mounted display based on optical prescription of a user
US9303999B2 (en) * 2013-12-30 2016-04-05 Google Technology Holdings LLC Methods and systems for determining estimation of motion of a device
US9524580B2 (en) * 2014-01-06 2016-12-20 Oculus Vr, Llc Calibration of virtual reality systems
CN106255916B (zh) * 2014-03-14 2019-08-09 索尼互动娱乐股份有限公司 跟踪头戴式显示器(hmd)的方法和系统以及用于hmd头带调整的校准
US10198865B2 (en) 2014-07-10 2019-02-05 Seiko Epson Corporation HMD calibration with direct geometric modeling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128364A1 (en) * 2011-11-22 2013-05-23 Google Inc. Method of Using Eye-Tracking to Center Image Content in a Display
WO2013119352A1 (en) * 2012-02-08 2013-08-15 Microsoft Corporation Head pose tracking using a depth camera
US20140361977A1 (en) * 2013-06-07 2014-12-11 Sony Computer Entertainment Inc. Image rendering responsive to user actions in head mounted display

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10001834B2 (en) 2014-01-06 2018-06-19 Oculus Vr, Llc Calibration of multiple rigid bodies in a virtual reality system
JP2021512388A (ja) * 2018-02-06 2021-05-13 マジック リープ, インコーポレイテッドMagic Leap,Inc. 拡張現実のためのシステムおよび方法
US11620785B2 (en) 2018-02-06 2023-04-04 Magic Leap, Inc. Systems and methods for augmented reality
JP2020135192A (ja) * 2019-02-15 2020-08-31 株式会社Jvcケンウッド 画像調整システム、画像調整装置、及び画像調整方法
JP7247636B2 (ja) 2019-02-15 2023-03-29 株式会社Jvcケンウッド 画像調整システム、画像調整装置、及び画像調整方法

Also Published As

Publication number Publication date
IL245813A0 (en) 2016-07-31
CN108107592B (zh) 2019-11-05
EP3017591A4 (en) 2017-09-27
KR20170086707A (ko) 2017-07-26
JP6381711B2 (ja) 2018-08-29
US20170147066A1 (en) 2017-05-25
CN105850113B (zh) 2018-02-13
JP2017142813A (ja) 2017-08-17
CA2930773C (en) 2017-07-11
US10001834B2 (en) 2018-06-19
CN105850113A (zh) 2016-08-10
US9524580B2 (en) 2016-12-20
CN108107592A (zh) 2018-06-01
BR112016013563A2 (ja) 2017-08-08
EP3017591A1 (en) 2016-05-11
WO2015103621A1 (en) 2015-07-09
US9779540B2 (en) 2017-10-03
MX348608B (es) 2017-06-21
BR112016013563A8 (pt) 2020-05-19
US20150193949A1 (en) 2015-07-09
EP3017591B1 (en) 2018-12-12
MX2016008908A (es) 2016-09-16
CA2930773A1 (en) 2015-07-09
KR102121994B1 (ko) 2020-06-11
US9600925B2 (en) 2017-03-21
KR101762297B1 (ko) 2017-07-28
KR20160105796A (ko) 2016-09-07
AU2015203932A1 (en) 2016-06-09
IL245813A (en) 2017-08-31
AU2015203932B2 (en) 2017-04-06
US20150193983A1 (en) 2015-07-09
JP6110573B2 (ja) 2017-04-05
US20170053454A1 (en) 2017-02-23

Similar Documents

Publication Publication Date Title
JP6381711B2 (ja) 仮想現実システムの較正
JP7026214B2 (ja) ヘッドマウントディスプレイ追跡システム
EP3469458B1 (en) Six dof mixed reality input by fusing inertial handheld controller with hand tracking
US10740924B2 (en) Tracking pose of handheld object
US10878236B2 (en) Eye tracking using time multiplexing
US11127380B2 (en) Content stabilization for head-mounted displays
JP2020034919A (ja) 構造化光を用いた視線追跡
US10504243B2 (en) Calibration system for a head-mounted display tracking system
CN110658914A (zh) 边界区域的闪烁追踪
US11914762B2 (en) Controller position tracking using inertial measurement units and machine learning
US20230206622A1 (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170120

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170120

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170130

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170309

R150 Certificate of patent or registration of utility model

Ref document number: 6110573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250