(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-14
(45)【発行日】2024-03-25
(54)【発明の名称】電磁追跡のための周囲電磁歪み補正
(51)【国際特許分類】
G06F 3/0346 20130101AFI20240315BHJP
G06F 3/04815 20220101ALI20240315BHJP
【FI】
G06F3/0346 424
G06F3/04815
(21)【出願番号】P 2021521431
(86)(22)【出願日】2019-10-16
(86)【国際出願番号】 US2019056516
(87)【国際公開番号】W WO2020086356
(87)【国際公開日】2020-04-30
【審査請求日】2022-10-04
(32)【優先日】2018-10-26
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-03-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514108838
【氏名又は名称】マジック リープ, インコーポレイテッド
【氏名又は名称原語表記】Magic Leap,Inc.
【住所又は居所原語表記】7500 W SUNRISE BLVD,PLANTATION,FL 33322 USA
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】チャン, リッチモンド ビー.
【審査官】塚田 肇
(56)【参考文献】
【文献】国際公開第2017/189450(WO,A1)
【文献】特開2004-056272(JP,A)
【文献】特開2008-062040(JP,A)
【文献】特開2018-029628(JP,A)
【文献】特開2013-213745(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/033-3/039
G06F 3/048-3/04895
(57)【特許請求の範囲】
【請求項1】
拡張現実ディスプレイシステムであって、
仮想画像を装着者の眼に投影するように構成されるディスプレイと、
前記装着者の眼の正面に前記ディスプレイを搭載するように構成されるフレームと、
磁場を生成するように構成される電磁(EM)エミッタと、
前記磁場を感知し、EMセンサデータを提供するように構成されるEMセンサであって、前記EMエミッタまたは前記EMセンサのうちの一方は、前記フレームに機械的に結合され、前記EMエミッタまたは前記EMセンサのうちの他方は、前記フレームに対して独立して移動可能である前記拡張現実ディスプレイシステムのコンポーネントに機械的に結合される、EMセンサと、
ハードウェアプロセッサであって、
前記EMセンサから、EMセンサデータを受信することであって、前記EMセンサデータは、EM場行列を備える、ことと、
少なくとも部分的に前記EM場行列に基づいて、EM歪みの存在を検出することと、
歪み補償行列のそれぞれの行列式が単位元に近いように、前記歪み補償行列を計算することと、
少なくとも部分的に前記歪み補償行列に基づいて、特異値分解(SVD)を使用して、歪んでいないEM場行列を計算することにより、固有値が約[1,1/2,1/2]に比例するという制約を伴う前記歪んでいないEM場行列の前記固有値を抽出することと、
少なくとも部分的に前記歪んでいないEM場行列に基づいて、前記EMセンサの姿勢を計算することと、
前記ディスプレイに、少なくとも部分的に前記計算された姿勢に基づいて前記仮想画像を投影させることと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、拡張現実ディスプレイシステム。
【請求項2】
前記EMセンサおよび前記EMエミッタはそれぞれ、3つの相互直交コイルを備える、請求項1に記載の拡張現実ディスプレイシステム。
【請求項3】
前記姿勢は、3つの空間座標と、3つの角座標とを有する6自由度姿勢を備える、請求項1に記載の拡張現実ディスプレイシステム。
【請求項4】
前記EM歪みの存在を検出するために、前記ハードウェアプロセッサは、歪んでいないEM場行列に関する固有値からの前記EM場行列の固有値の逸脱を計算するようにプログラムされる、請求項1に記載の拡張現実ディスプレイシステム。
【請求項5】
前記EMセンサの姿勢を計算するために、前記ハードウェアプロセッサは、前記歪んでいないEM場行列の特異値分解(SVD)を実施するようにプログラムされる、請求項1に記載の拡張現実ディスプレイシステム。
【請求項6】
前記ハードウェアプロセッサは、前記SVDから、前記EMエミッタに対する前記EMセンサの3自由度位置を計算するようにプログラムされる、請求項5に記載の拡張現実ディスプレイシステム。
【請求項7】
前記ハードウェアプロセッサは、少なくとも部分的に前記歪んでいないEM場行列、対角行列、および方位角およびピッチに基づく回転行列に基づいて、前記EMエミッタに対する前記EMセンサの3自由度配向を計算するようにプログラムされる、請求項1に記載の拡張現実ディスプレイシステム。
【請求項8】
前記EMセンサの姿勢を計算するために、前記ハードウェアプロセッサは、前記拡張現実ディスプレイシステムの世界フレーム内の前記姿勢を計算するようにプログラムされる、請求項1に記載の拡張現実ディスプレイシステム。
【請求項9】
前記世界フレーム内の前記姿勢を計算するために、前記ハードウェアプロセッサは、球面調和関数または高次多項式を適用するようにプログラムされる、請求項8に記載の拡張現実ディスプレイシステム。
【請求項10】
前記ハードウェアプロセッサは、前記検出されたEM歪みが第1の閾値を上回る、または前記検出されたEM歪みの変化が第2の閾値を上回るときのみ、前記歪み補償行列を計算するようにプログラムされる、請求項1に記載の拡張現実ディスプレイシステム。
【請求項11】
前記拡張現実ディスプレイシステムのコンポーネントは、ユーザ入力トーテムを備え、
前記EMセンサは、前記フレームに機械的に結合され、
前記EMエミッタは、前記ユーザ入力トーテムに機械的に結合される、
請求項1に記載の拡張現実ディスプレイシステム。
【請求項12】
前記フレームに機械的に結合される、外向きに向いたカメラをさらに備える、請求項11に記載の拡張現実ディスプレイシステム。
【請求項13】
前記ハードウェアプロセッサはさらに、
前記外向きに向いたカメラによって取得される画像を分析することと、
少なくとも部分的に前記分析された画像に基づいて、前記ユーザ入力トーテムの姿勢を決定することと、
少なくとも部分的に前記ユーザ入力トーテムの決定された姿勢に基づいて、前記歪み補償行列を計算することと
を行うようにプログラムされる、請求項12に記載の拡張現実ディスプレイシステム。
【請求項14】
前記ユーザ入力トーテムはさらに、前記ユーザ入力トーテムの姿勢を決定することを補助するように構成される光源または光学的に認識可能な基準マーカを備える、請求項11に記載の拡張現実ディスプレイシステム。
【請求項15】
前記ハードウェアプロセッサはさらに、前記EM場行列の固有値に基づくメトリックを使用して、前記
拡張現実ディスプレイシステムの周囲環境内のEM歪みの程度を計算するようにプログラムされる、請求項1に記載の拡張現実ディスプレイシステム。
【請求項16】
前記メトリックは、基準値からの前記固有値の差異の組み合わせに基づく、請求項15に記載の拡張現実ディスプレイシステム。
【請求項17】
前記固有値は、前記EM場行列の行列式に基づいて正規化される、請求項16に記載の拡張現実ディスプレイシステム。
【請求項18】
コンピューティングシステムによって実施されるコンピュータ化された方法であって、前記コンピューティングシステムは、1つ以上のハードウェアコンピュータプロセッサと、前記コンピュータ化された方法を実施するために前記コンピューティングシステムによって実行可能なソフトウェア命令を記憶する1つ以上の非一過性のコンピュータ可読記憶デバイスとを有し、前記コンピュータ化された方法は、
拡張現実システムに機械的に結合されたEMセンサから、EMセンサデータを受信することであって、前記EMセンサデータは、EM場行列を備える、ことと、
少なくとも部分的に前記EM場行列に基づいて、EM歪みの存在を検出することと、
歪み補償行列のそれぞれの行列式が単位元に近いように、前記歪み補償行列を計算することと、
少なくとも部分的に前記歪み補償行列に基づいて、特異値分解(SVD)を使用して、歪んでいないEM場行列を計算することにより、固有値が約[1,1/2,1/2]に比例するという制約を伴う前記歪んでいないEM場行列の前記固有値を抽出することと、
少なくとも部分的に前記歪んでいないEM場行列に基づいて、前記EMセンサの姿勢を計算することと、
前記拡張現実システムのディスプレイに、少なくとも部分的に前記計算された姿勢に基づいて仮想画像を前記ディスプレイ上に投影させることと
を含む、コンピュータ化された方法。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、両方とも「AMBIENT ELECTROMAGNETIC DISTORTION CORRECTION FOR ELECTROMAGNETIC TRACKING」と題され、両方とも参照することによってそれらの全体として本明細書に組み込まれる、2018年10月26日に出願された米国特許出願第62/751,467号および2019年3月26日に出願された米国特許出願第62/823,956号の優先権の利益を主張する。
【0002】
本開示は、概して、電磁追跡を使用して、オブジェクトの位置または配向を決定するためのシステムおよび方法に関し、より具体的には、電磁エミッタまたはセンサの近傍の電磁場の周囲歪みを補正することに関する。
【背景技術】
【0003】
現代のコンピューティングおよびディスプレイ技術は、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式でユーザに提示される、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進している。仮想現実、すなわち、「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。拡張現実、すなわち、「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。
【発明の概要】
【課題を解決するための手段】
【0004】
頭部搭載型拡張現実(AR)デバイスは、装着者の環境内のオブジェクトの3次元仮想表現を提供することが可能であるように、装着者の頭部(または他の身体部分)の姿勢を追跡することができる。電磁(EM)追跡システムの実施形態は、頭部姿勢または身体ジェスチャを追跡するために使用されることができる。例えば、ハンドヘルドユーザ入力デバイスは、EMエミッタを含むことができ、頭部搭載型ARデバイスは、EMセンサを含むことができる。いくつかの実装では、EMエミッタは、EMセンサによって感知され得るEM場を生成する。センサからのEM情報は、センサの場所および/または配向、それによって、装着者の頭部姿勢を決定するように分析されることができる。姿勢は、3つの空間座標と、3つの角座標とを含む、6自由度(6DOF)姿勢であり得る。
【0005】
EMエミッタによって生成されるEM場は、近傍の導電体または強磁性材料の存在に起因して歪まされ得る。これらのEM場歪みは、決定された姿勢の誤差につながり得る。EM歪みを補正する、システムおよび方法が、開示される。EM歪み補正は、いくつかの実装では、(例えば、姿勢または距離に対するEMセンサおよびEMエミッタに関するグランドトゥルース推定値を決定するために)結像カメラまたは他のセンサからの付加的データを必要とすることなく、EM追跡システムによってリアルタイムで実施され得る。いくつかのシステムおよび方法では、EM場行列の特異値分解に基づく新規のEM歪み補正スキームが、EM歪みが存在するかどうかを推定するように、および歪みを補正するように、適用されることができる。さらに、いくつかのシステムおよび方法は、有利なこととして、いくつかの状況では、算出上非効率的であり、誤差を生じやすくあり得る、反復数値的方法を必要とすることなく、EM場行列から6DOF姿勢を決定するための高速かつ算出上効率的な分析技法を利用する。
【0006】
周囲電磁場歪み補正技法は、ARまたはVR用途に限定されず、他の実装では、任意のオブジェクトのEM追跡に適用されることができる。例えば、EM場歪み補正技法は、手術室内の医療デバイスおよび器具を追跡することに適用されることができる。
【0007】
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および請求項から明白となるであろう。本概要または以下の詳細な説明のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
本発明は、例えば、以下を提供する。
(項目1)
拡張現実ディスプレイシステムであって、
仮想画像を装着者の眼に投影するように構成されるディスプレイと、
前記装着者の眼の正面に前記ディスプレイを搭載するように構成されるフレームと、
磁場を生成するように構成される電磁(EM)エミッタと、
前記磁場を感知し、EMセンサデータを提供するように構成されるEMセンサであって、前記EMエミッタまたは前記EMセンサのうちの一方は、前記フレームに機械的に結合され、前記EMエミッタまたは前記EMセンサのうちの他方は、前記フレームに対して独立して移動可能である前記拡張現実ディスプレイシステムのコンポーネントに機械的に結合される、EMセンサと、
ハードウェアプロセッサであって、
前記EMセンサから、EMセンサデータを受信することであって、前記EMセンサデータは、EM場行列を備える、ことと、
少なくとも部分的に前記EM場行列に基づいて、EM歪みの存在を検出することと、
歪み補償行列を計算することと、
少なくとも部分的に前記歪み補償行列に基づいて、歪んでいないEM場行列を計算することと、
少なくとも部分的に前記歪んでいないEM場行列に基づいて、前記EMセンサの姿勢を計算することと、
前記ディスプレイに、少なくとも部分的に前記計算された姿勢に基づいて前記仮想画像を投影させることと
を行うようにプログラムされる、ハードウェアプロセッサと
を備える、拡張現実ディスプレイシステム。
(項目2)
前記EMセンサおよび前記EMエミッタはそれぞれ、3つの相互直交コイルを備える、項目1に記載の拡張現実ディスプレイシステム。
(項目3)
前記姿勢は、3つの空間座標と、3つの角座標とを有する6自由度姿勢を備える、項目1に記載の拡張現実ディスプレイシステム。
(項目4)
EM歪みの存在を検出するために、前記ハードウェアプロセッサは、歪んでいないEM場行列に関する固有値からの前記EM場行列の固有値の逸脱を計算するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目5)
前記歪み補償行列を計算するために、前記ハードウェアプロセッサは、前記歪み補償行列のそれぞれの行列式が単位元に近く、前記歪んでいないEM場行列の固有値が[1,1/2,1/2]に比例するという制約を適用するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目6)
前記ハードウェアプロセッサは、特異値分解(SVD)を実施し、前記歪んでいないEM場行列の固有値を計算するようにプログラムされる、項目5に記載の拡張現実ディスプレイシステム。
(項目7)
前記制約は、[1,1/2,1/2]に近い前記歪んでいないEM場行列の固有値を備える、項目5に記載の拡張現実ディスプレイシステム。
(項目8)
前記EMセンサの姿勢を計算するために、前記ハードウェアプロセッサは、前記歪んでいないEM場行列の特異値分解(SVD)を実施するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目9)
前記ハードウェアプロセッサは、前記SVDから、前記EMエミッタに対する前記EMセンサの3自由度位置を計算するようにプログラムされる、項目8に記載の拡張現実ディスプレイシステム。
(項目10)
前記ハードウェアプロセッサは、少なくとも部分的に前記歪んでいないEM場行列、対角行列、および方位角およびピッチに基づく回転行列に基づいて、前記EMエミッタに対する前記EMセンサの3自由度配向を計算するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目11)
前記EMセンサの姿勢を計算するために、前記ハードウェアプロセッサは、前記拡張現実ディスプレイシステムの世界フレーム内の前記姿勢を計算するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目12)
前記世界フレーム内の前記姿勢を計算するために、前記ハードウェアプロセッサは、球面調和関数または高次多項式を適用するようにプログラムされる、項目11に記載の拡張現実ディスプレイシステム。
(項目13)
前記ハードウェアプロセッサは、前記検出されたEM歪みが第1の閾値を上回る、または前記検出されたEM歪みの変化が第2の閾値を上回るときのみ、前記歪み補償行列を計算するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目14)
前記拡張現実ディスプレイシステムのコンポーネントは、ユーザ入力トーテムを備え、
前記EMセンサは、前記フレームに機械的に結合され、
前記EMエミッタは、前記ユーザ入力トーテムに機械的に結合される、
項目1に記載の拡張現実ディスプレイシステム。
(項目15)
前記フレームに機械的に結合される、外向きに向いたカメラをさらに備える、項目14に記載の拡張現実ディスプレイシステム。
(項目16)
前記ハードウェアプロセッサはさらに、
前記外向きに向いたカメラによって取得される画像を分析することと、
少なくとも部分的に前記分析された画像に基づいて、前記ユーザ入力トーテムの姿勢を決定することと、
少なくとも部分的に前記ユーザ入力トーテムの決定された姿勢に基づいて、前記歪み補償行列を計算することと
を行うようにプログラムされる、項目15に記載の拡張現実ディスプレイシステム。
(項目17)
前記ユーザ入力トーテムはさらに、前記ユーザ入力トーテムの姿勢を決定することを補助するように構成される光源または光学的に認識可能な基準マーカを備える、項目14に記載の拡張現実ディスプレイシステム。
(項目18)
前記ハードウェアプロセッサはさらに、前記EM場行列の固有値に基づくメトリックを使用して、前記周囲環境内のEM歪みの程度を計算するようにプログラムされる、項目1に記載の拡張現実ディスプレイシステム。
(項目19)
前記メトリックは、基準値からの前記固有値の差異の組み合わせに基づく、項目18に記載の拡張現実ディスプレイシステム。
(項目20)
前記固有値は、前記EM場行列の行列式に基づいて正規化される、項目19に記載の拡張現実ディスプレイシステム。
【図面の簡単な説明】
【0008】
【
図1】
図1は、人物によって視認されるある仮想現実オブジェクトおよびある物理的オブジェクトを伴う、拡張現実シナリオの例証を描写する。
【0009】
【
図2A】
図2A-2Dは、ウェアラブルシステムの実施例を図式的に図示する。
【
図2B】
図2A-2Dは、ウェアラブルシステムの実施例を図式的に図示する。
【
図2C】
図2A-2Dは、ウェアラブルシステムの実施例を図式的に図示する。
【
図2D】
図2A-2Dは、ウェアラブルシステムの実施例を図式的に図示する。
【0010】
【
図3】
図3は、クラウドコンピューティングアセットとローカル処理アセットとの間の協調を図式的に図示する。
【0011】
【
図4】
図4は、電磁(EM)追跡システムの例示的系統図を図式的に図示する。
【0012】
【
図5】
図5は、EM追跡システムの実施形態の例示的機能を説明する、フローチャートである。
【0013】
【
図6】
図6は、ARシステムとともに組み込まれる、EM追跡システムの実施例を図式的に図示する。
【0014】
【
図7】
図7は、ARデバイスのコンテキストにおけるEM追跡システムの実施例の機能を説明する、フローチャートである。
【0015】
【
図8】
図8は、ARシステムの実施形態のコンポーネントの実施例を図式的に図示する。
【0016】
【
図9A】
図9Aおよび9Bは、頭部搭載型ディスプレイに結合されるEM感知コイルの実施例を図式的に図示する。
【
図9B】
図9Aおよび9Bは、頭部搭載型ディスプレイに結合されるEM感知コイルの実施例を図式的に図示する。
【0017】
【
図10】
図10および11は、頭部搭載型ARシステム内のEM追跡システムを用いた姿勢追跡の実施例を図示する、フローチャートである。
【
図11】
図10および11は、頭部搭載型ARシステム内のEM追跡システムを用いた姿勢追跡の実施例を図示する、フローチャートである。
【0018】
【
図12】
図12は、EM場行列の不変性の実施例を示すグラフである。異なるEM場歪みの範囲に関して、歪んでいないEM場行列の行列式が、水平軸上でプロットされ、歪んだEM場行列の行列式が、垂直軸上でプロットされる。本グラフは、EM場行列の行列式が、EM歪みの存在に対して実質的に不変であることを示す。
【0019】
【
図13】
図13は、リアルタイムで周囲EM歪みを補正し得る、EM追跡システムの実施例を図示する、ブロック図である。
【0020】
【
図14】
図14は、EM追跡システムにおけるEM歪みを補正するための例示的方法を図示する、フローチャートである。
【0021】
【
図15】
図15は、異なる量の金属歪みを有する3つの環境、すなわち、低金属環境(塗りつぶした丸)、中金属環境(塗りつぶした三角形)、および高金属環境(塗りつぶした正方形)内の歪みメトリック(DM)の実験測定値の実施例を提示するグラフである。
【0022】
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。図面は、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
【発明を実施するための形態】
【0023】
(AR、VR、および位置特定システムの概要)
図1では、拡張現実場面(4)が、描写されており、AR技術のユーザには、人々、木々、背景における建物、およびコンクリートプラットフォーム(1120)を特徴とする、実世界公園状設定(6)が見える。これらのアイテムに加え、AR技術のユーザはまた、実世界プラットフォーム(1120)上に立っているロボット像(1110)と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ(2)とが「見える」と知覚するが、これらの要素(2、1110)は、実世界には存在しない。結論から述べると、ヒト視知覚系は、非常に複雑であって、他の仮想または実世界画像要素の中で仮想画像要素の快適かつ自然な感覚で豊かな提示を促進する、VRまたはAR技術を生成することは、困難である。
【0024】
例えば、頭部装着型ARディスプレイ(またはヘルメット搭載型ディスプレイまたはスマートグラス)は、典型的には、ユーザの頭部に少なくとも緩く結合され、したがって、ユーザの頭部が移動すると、移動し得る。ユーザの頭部の運動が、ディスプレイシステムによって検出される場合、表示されているデータは、頭部姿勢の変化を考慮するように更新されることができる。
【0025】
実施例として、頭部装着型ディスプレイを装着するユーザが、ディスプレイ上の3次元(3D)オブジェクトの仮想表現を視認し、3Dオブジェクトが現れる面積の周囲を歩き回る場合、その3Dオブジェクトは、視点毎に再レンダリングされ、彼らが、実空間を占有するオブジェクトの周囲を歩き回っているような知覚をユーザに与えることができる。頭部装着型ディスプレイが、仮想空間内に複数のオブジェクト(例えば、豊かな仮想世界)を提示するために使用される場合、頭部の姿勢の測定(例えば、ユーザの頭部の場所および配向)が、ユーザの動的に変化する頭部場所および配向に合致するように場面を再レンダリングし、仮想空間内への没入感の増加を提供するために使用されることができる。
【0026】
ARシステムでは、頭部の姿勢の検出または計算は、ユーザにとって意味をなす様式において、ディスプレイシステムが実世界内の空間を占有するように現れるように、仮想オブジェクトをレンダリングすることを促進することができる。加えて、ユーザの頭部またはARシステムと連動したハンドヘルドデバイス(「トーテム」とも称され得る)、触知デバイス、または他の実際の物理的オブジェクト等の実オブジェクトの位置および/または配向の検出もまた、ディスプレイシステムが、表示情報をユーザに提示し、ユーザが、ARシステムのある側面と効率的に相互作用することを可能にすることを促進し得る。ユーザの頭部が、実世界内で動き回るにつれて、仮想オブジェクトは、仮想オブジェクトが実世界に対して安定したまま現れるように、頭部の姿勢の関数として再レンダリングされ得る。少なくともAR用途に関して、物理的オブジェクトと空間的に連動した仮想オブジェクトの設置(例えば、2または3次元において物理的オブジェクトに空間的に近接して現れるように提示される)は、些細な問題ではあり得ない。例えば、頭部の移動が、周囲環境のビュー内の仮想オブジェクトの設置を有意に複雑にし得る。これは、ビューが周囲環境の画像として捕捉され、次いで、エンドユーザに投影または表示されるかどうか、またはエンドユーザが周囲環境のビューを直接知覚するかどうかに当てはまる。例えば、頭部の移動は、エンドユーザの視野を変化させる可能性が高く、これは、種々の仮想オブジェクトがエンドユーザの視野に表示される場所に対する更新を要求する可能性が高いであろう。加えて、頭部移動は、多種多様な範囲および速度で生じ得る。頭部移動速度は、異なる頭部移動間においてだけではなく、単一頭部移動の範囲内でまたは該範囲を横断しても変動し得る。例えば、頭部移動速度は、最初に、始点から増加し得(例えば、線形または非線形に)、終点に到達するにつれて、減少し得、頭部の移動の始点と終点との間のある場所で最大速度を得る。高速頭部移動は、特定の表示または投影技術の能力さえ超え、均一および/または平滑運動としてエンドユーザに現れる画像をレンダリングし得る。
【0027】
頭部追跡正確度および待ち時間(例えば、ユーザがその頭部を移動させてから、画像が更新され、ユーザに表示されるまでの経過時間)は、VRおよびARシステムにとって課題となっている。特に、ユーザの視野の実質的部分を仮想要素で充填する、ディスプレイシステムに関して、頭部追跡の正確度が高く、頭部運動の最初の検出からディスプレイによってユーザの視覚系に送達される光の更新までの全体的システム待ち時間が非常に短い場合、有利である。待ち時間が長い場合、システムは、ユーザの前庭と視感覚系との間に不整合をもたらし、乗り物酔いまたは3D酔いにつながり得る、ユーザ知覚シナリオを生成させ得る。システム待ち時間が長い場合、仮想オブジェクトの見掛け場所は、高速頭部運動の間、不安定に現れ得る。
【0028】
頭部装着型ディスプレイシステムに加え、他のディスプレイシステムもまた、正確かつ短い待ち時間の頭部の姿勢検出から恩恵を受け得る。これらとして、ディスプレイが、ユーザの身体上に装着されず、例えば、壁または他の表面上に搭載される、頭部追跡型ディスプレイシステムが挙げられる。頭部追跡型ディスプレイは、場面上で窓のように作用し得、ユーザがその頭部を「窓」に対して移動させるにつれて、場面は、ユーザの変化する視点に合致するように、再レンダリングされる。他のシステムとして、頭部装着型ディスプレイが光を実世界上に投影する、頭部装着型投影システムが挙げられる。
【0029】
加えて、現実的拡張現実体験を提供するために、ARシステムは、ユーザと相互作用するように設計されてもよい。例えば、複数のユーザが、仮想ボールおよび/または他の仮想オブジェクトを用いて、ボールゲームをプレーしてもよい。1人のユーザが、仮想ボールを「キャッチ」し、ボールを別のユーザに投げ返してもよい。いくつかの実施形態では、第1のユーザは、仮想ボールを打つためのトーテム(例えば、ARシステムに通信可能に結合される実際のバット)を提供されてもよい。いくつかの実施形態では、仮想ユーザインターフェースは、ユーザが多くのオプションのうちの1つを選択することを可能にするために、ARユーザに提示されてもよい。ユーザは、トーテム、触知デバイス、ウェアラブルコンポーネントを使用し、または単に、仮想画面をタッチし、システムと相互作用してもよい。
【0030】
ユーザの頭部の姿勢および配向を検出することと、空間内の実オブジェクトの物理的場所を検出することは、ARシステムが、仮想コンテンツを効果的かつ享受可能な様式で表示することを可能にする。しかしながら、これらの能力は、ARシステムにとって重要であるが、達成することが困難である。言い換えると、ARシステムは、実オブジェクト(例えば、ユーザの頭部、トーテム、触知デバイス、ウェアラブルコンポーネント、ユーザの手等)の物理的場所を認識し、実オブジェクトの物理的座標をユーザに表示されている1つ以上の仮想オブジェクトに対応する仮想座標に相関させなければならない。これは、概して、1つ以上のオブジェクトの位置および配向を高速レートで追跡する非常に正確なセンサおよびセンサ認識システムを要求する。現在のアプローチは、満足のゆく速度または精度規格において位置特定を行わない。
【0031】
したがって、ARおよびVRデバイスのコンテキストにおいて、より優れた位置特定システムの必要がある。
(例示的ARおよびVRシステムおよびコンポーネント)
【0032】
図2A-2Dを参照すると、いくつかの一般的コンポーネントオプションが、図示される。
図2A-2Dの議論に従う、詳細な説明の部分では、種々のシステム、サブシステム、およびコンポーネントが、ヒトVRおよび/またはARのための高品質かつ快適に知覚されるディスプレイシステムを提供する目的に対処するために提示される。
【0033】
図2Aに示されるように、ARシステムユーザ(60)は、ユーザの眼の正面に位置付けられるディスプレイシステム(62)に結合されるフレーム(64)構造を特徴とする、頭部搭載型コンポーネント(58)を装着するように描写される。スピーカ(66)が、描写される構成においてフレーム(64)に結合され、ユーザの外耳道に隣接して位置付けられる(一実施形態では、示されない別のスピーカが、ユーザの他方の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供する)。ディスプレイ(62)は、有線導線または無線コネクティビティ等によって、ローカル処理およびデータモジュール(70)に動作可能に結合(68)され、これは、フレーム(64)に固定して取り付けられる、
図2Bの実施形態に示されるようにヘルメットまたは帽子(80)に固定して取り付けられる、ヘッドホンに内蔵される、
図2Cの実施形態に示されるようにリュック式構成においてユーザ(60)の胴体(82)に除去可能に取り付けられる、または
図2Dの実施形態に示されるようにベルト結合式構成においてユーザ(60)の腰部(84)に除去可能に取り付けられる等、種々の構成において搭載されてもよい。
【0034】
ローカル処理およびデータモジュール(70)は、電力効率の良いプロセッサまたはコントローラおよびフラッシュメモリ等のデジタルメモリを含んでもよく、両方とも、a)画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等、フレーム(64)に動作可能に結合され得る、センサから捕捉されるデータ、および/またはb)可能性として、処理または読出後、ディスプレイ(62)への通過のために、遠隔処理モジュール(72)および/または遠隔データリポジトリ(74)を使用して、入手かつ/または処理され得る、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。ローカル処理およびデータモジュール(70)は、有線または無線通信リンク等を介して、遠隔モジュール(72、74)が、相互に動作可能に結合され、ローカル処理およびデータモジュール(70)へのリソースとして利用可能であるように、これらの遠隔処理モジュール(72)および遠隔データリポジトリ(74)に動作可能に結合(76、78)されてもよい。
【0035】
一実施形態では、遠隔処理モジュール(72)は、データおよび/または画像情報を分析および処理するように構成される、1つ以上の比較的に高性能なプロセッサまたはコントローラを備えてもよい。一実施形態では、遠隔データリポジトリ(74)は、比較的に大規模なデジタルデータ記憶設備を含んでもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。一実施形態では、全てのデータは、記憶されてもよく、全ての算出は、ローカル処理およびデータモジュール内で行われ、任意の遠隔モジュールから完全に自律的使用を可能にしてもよい。
【0036】
ここで
図3を参照すると、概略図は、例えば、ユーザの頭部(120)に結合される頭部搭載型コンポーネント(58)およびユーザのベルト(308)に結合されるローカル処理およびデータモジュール(70)内に常駐し得る、クラウドコンピューティングアセット(46)とローカル処理アセットとの間の協調を図示する(したがって、コンポーネント70はまた、
図3に示されるように、「ベルトパック」70とも称され得る)。一実施形態では、1つ以上のサーバシステム(110)等のクラウド(46)アセットは、有線または無線ネットワーキング等を介して(無線は、モバイル式のために好ましく、有線は、所望され得る、ある高帯域幅または高データ量転送のために好ましい)、直接、上記に記載されるように、ユーザの頭部(120)およびベルト(308)に結合されるプロセッサおよびメモリ構成等のローカルコンピューティングアセットの一方または両方(40、42)に動作可能に結合(115)される。ユーザにローカルのこれらのコンピューティングアセットは同様に、
図8を参照して以下に議論される有線結合(68)等、有線および/または無線コネクティビティ構成(44)を介して、相互に動作可能に結合されてもよい。一実施形態では、ユーザの頭部(120)に搭載される低慣性および小型サブシステムを維持するために、ユーザとクラウド(46)との間の一次転送は、ベルト(308)に搭載されるサブシステムとクラウドとの間のリンクを介してもよく、頭部搭載型サブシステム(120)は、主に、例えば、パーソナルコンピューティング周辺コネクティビティ用途において現在採用されるような超広帯域(「UWB」)コネクティビティ等の無線コネクティビティを使用して、ベルトベースのサブシステム(308)にデータテザリングされる。
【0037】
効率的ローカルおよび遠隔処理協調および
図2Aに示されるユーザインターフェースまたはユーザディスプレイシステム(62)またはその変形例等のユーザのための適切なディスプレイデバイスを用いることで、ユーザの現在の実際または仮想場所に関する1つの世界の側面は、ユーザに転送または「パス」され、効率的方式で更新され得る。言い換えると、世界のマップが、ユーザのARシステム上に部分的に常駐し、かつクラウドリソース内に部分的に常駐し得る記憶場所において、持続的に更新され得る。マップ(「パス可能世界モデル」とも称される)は、ラスタ画像、3Dおよび2D点、パラメータ情報、および実世界についての他の情報を含む、大型データベースであってもよい。ますます多くのARユーザが、その実環境についての情報を持続的に捕捉するにつれて(例えば、カメラ、センサ、IMU等を通して)、マップは、ますます正確かつ完全となる。
【0038】
上記に記載されるような構成を用いることで、クラウドコンピューティングリソース上に常駐し、そこから配信され得る、1つの世界モデルが存在し、そのような世界は、リアルタイムビデオデータまたは同等物の回送を試みるために好ましい比較的に低帯域幅形態において、1人以上のユーザに「パス可能」となり得る。像の近くに立っている人(例えば、
図1に示されるように)の拡張体験は、クラウドベースの世界モデルによって情報提供されてもよく、そのサブセットは、彼らおよび彼らのローカルディスプレイデバイスにパスされ、ビューを完成させてもよい。机上にあるパーソナルコンピュータと同程度に単純であり得る、遠隔ディスプレイデバイスに向かって着座している人が、その情報の同一セクションをクラウドから効率的にダウンロードし、それをそのディスプレイ上にレンダリングさせることもできる。実際、実際に像の近くに居る公園内に存在する1人の人物は、遠隔に位置する友人と公園内を散歩してもよく、友人は、仮想および拡張現実を通して参加する。システムは、通りの場所、木々の場所、像の場所を把握する必要があるであろうが、クラウド上のその情報を用いることで、参加する友人は、クラウドから、シナリオの側面をダウンロードし、次いで、実際に公園内に居る人物に対してローカルな拡張現実に沿って歩行を開始することができる。
【0039】
3次元(3D)点が、環境から捕捉されてもよく、それらの画像または点を捕捉するカメラの姿勢(例えば、世界に対するベクトルおよび/または原位置情報)が、これらの点または画像が、本姿勢情報と「タグ付けされる」、または関連付けられ得るように、決定されてもよい。次いで、第2のカメラによって捕捉された点は、第2のカメラの姿勢を決定するために利用されてもよい。言い換えると、第1のカメラからのタグ付けされた画像との比較に基づいて、第2のカメラを配向および/または位置特定することができる。次いで、本知識は、テクスチャを抽出する、マップを作成する、および実世界の仮想コピーを作成するために利用されてもよい(その時点で、位置合わせされる2つのカメラが周囲に存在するため)。
【0040】
したがって、基礎レベルでは、一実施形態では、人物装着型システムは、3D点およびその点を生産した2D画像の両方を捕捉するために利用されることができ、これらの点および画像は、クラウド記憶および処理リソースに送信されてもよい。それらはまた、内蔵姿勢情報とともにローカルにキャッシュされてもよい(すなわち、タグ付けされた画像をキャッシュする)。したがって、クラウドは、すぐ使える状態の(すなわち、利用可能なキャッシュ内において)タグ付けされた2D画像(例えば、3D姿勢とタグ付けされた)を3D点とともに有し得る。ユーザが、動的なものを観察している場合、また、クラウドに、運動に関する付加的情報を送信してもよい(例えば、別の人物の顔を見ている場合、ユーザは、顔のテクスチャマップを撮影し、周囲世界がその他の点では基本的に静的であっても、それを最適化された周波数でプッシュ配信することができる)。オブジェクト認識装置およびパス可能世界モデルに関するさらなる情報は、「System and method for augmented and virtual reality」と題された米国特許公開第2014/0306866号(参照することによって本明細書にその全体として組み込まれる)とともに、Magic Leap,Inc.(Plantation, Florida)によって開発されたもの等の拡張および仮想現実システムに関連する、以下の付加的開示、すなわち、米国特許公開第2015/0178939号、米国特許公開第2015/0205126号、米国特許公開第2014/0267420号、米国特許公開第2015/0302652号、米国特許公開第2013/0117377号、および米国特許公開第2013/0128230号(それぞれ、参照することによってその全体として本明細書に組み込まれる)に見出され得る。
【0041】
GPSおよび他の位置特定情報が、そのような処理のための入力として利用されてもよい。ユーザの頭部、トーテム、手のジェスチャ、触知デバイス等の非常に正確な位置特定が、適切な仮想コンテンツをユーザに表示するために、有利であり得る。
【0042】
頭部搭載型デバイス(58)は、デバイスの装着者の眼の正面に位置付け可能なディスプレイを含んでもよい。ディスプレイは、ライトフィールドディスプレイを含んでもよい。ディスプレイは、複数の深度平面において画像を装着者に提示するように構成されてもよい。ディスプレイは、回折要素を伴う平面導波管を含んでもよい。本明細書に開示される実施形態のいずれかと併用可能なディスプレイ、頭部搭載型デバイス、および他のARコンポーネントの実施例は、米国特許公開第2015/0016777号に説明される。米国特許公開第2015/0016777号は、参照することによってその全体として本明細書に組み込まれる。
(電磁位置特定の実施例)
【0043】
高精度位置特定を達成するための1つのアプローチは、ユーザのARヘッドセット、ベルトパック、および/または他の補助デバイス(例えば、トーテム、触知デバイス、ゲーム器具等)上に方略的に設置される、EMセンサと結合される電磁場(EM)の使用を伴い得る。EM追跡システムは、典型的には、少なくとも、EM場エミッタ(時として、概して、伝送機またはエミッタと称されることもある)と、少なくとも1つのEM場センサ(時として、概して、受信機またはセンサと称されることもある)とを含む。EMエミッタは、ARヘッドセットの装着者の環境内の既知の空間(および/または時間的)分布を有する、電磁場を生成する。EM場センサは、センサの場所において生成された電磁場を測定する。これらの測定および生成されたEM場の分布の知識に基づいて、エミッタに対する電磁場センサの姿勢(例えば、位置および/または配向)が、決定され得る。故に、センサが取り付けられるオブジェクトの姿勢が、決定され得る。
【0044】
EM追跡は、AR、VR、医学、スポーツ、製造、およびゲームにおける用途を含む、複数の分野内のオブジェクトの位置特定および追跡のための有望なアプローチであり得る。光学結像技法を使用するいくつかの他の方法と比べたEM位置特定の可能性として考えられる利点は、EM追跡が、(例えば、第1のオブジェクトが第2のオブジェクトの正面にあり、結像システムのビューから第2のオブジェクトを少なくとも部分的に遮断する)オクルージョンの存在下でオブジェクトを位置特定し得ることである。EM追跡はまた、良好な動的応答時間ももたらすことができ、時として、カメラ方法を伴って実装される、複雑な画像処理およびコンピュータビジョン技法の実施を要求しない場合がある。カメラベースの追跡システムは、それらの高い算出作業負荷のために専用アルゴリズムおよびハードウェアを要求し得、また、高速運動力学およびオクルージョンに対するロバスト性が欠け得る。ARおよびVR用途では、プロセッサ(例えば、ローカル処理およびデータモジュール70)が、多くの算出上集約的なタスク(例えば、
図1を参照して説明されるように、仮想コンテンツをユーザにレンダリングすること)を実施するとともに、リアルタイムでこれらのタスクの多くを実施する。したがって、プロセッサによって実施されるタスクの算出複雑性を削減することは、ARおよびVR用途において有利であり得、EM追跡システムの使用もまた、プロセッサからタスクをオフロードすることに有利であり得る。
【0045】
ここで
図4を参照すると、電磁追跡システムの例示的系統図(例えば、Johnson & Johnson Corporationの子会社であるBiosense、Polhemus, Inc.(Colchester, Vermont)等の組織によって開発されたもの、Sixense Entertainment, Inc.(Los Gatos, California)、および他の追跡装置製造企業によって製造されたもの等)が、図示される。1つ以上の実施形態では、EM追跡システムは、既知の磁場を放出するように構成される、EMエミッタ402(時として、EM場エミッタまたは単にエミッタと称され得る)を含む。
図4に示されるように、EMエミッタは、電力供給源(例えば、電流、バッテリ等)に結合され、電力をエミッタ402に提供してもよい。
【0046】
1つ以上の実施形態では、EMエミッタ402は、磁場を生成する、いくつかのコイル(例えば、相互に垂直に位置付けられ、場をX、Y、およびZ方向に生産する、少なくとも3つのコイル)を備える。本磁場は、座標空間(例えば、X-Y-Zデカルト座標空間)を確立するために使用される。これは、システムが、既知の磁場と関連してセンサの位置(例えば、(X,Y,Z)位置)をマップすることを可能にし、センサの位置および/または配向を決定することに役立つ。1つ以上の実施形態では、EMセンサ404a、404b等が、1つ以上の実オブジェクトに取り付けられてもよい。EMセンサ404(時として、EM場センサまたは単にセンサと称され得る)は、電流が放出される電磁場を通して誘発され得る、より小さいコイルを含んでもよい。概して、「センサ」コンポーネント(404)は、エミッタ(402)によって放出される磁場から流入する磁束を捕捉するように位置付けられる/配向される立方体または他の容器等の小型構造内にともに結合される、3つの異なるように配向される(例えば、相互に対して直交して配向される等)コイルのセット等の小型コイルまたはループを含んでもよく、これらのコイルを通して誘発される電流を比較することによって、かつ相互に対するコイルの相対的位置および配向を把握することによって、エミッタに対するセンサの相対的位置および配向が、計算され得る。
【0047】
EM追跡センサに動作可能に結合される、コイルおよび慣性測定ユニット(「IMU」)コンポーネントの挙動に関する1つ以上のパラメータが、EMエミッタが結合される座標系に対するセンサ(およびそれが取り付けられるオブジェクト)の位置および/または配向を検出するために、測定されてもよい。1つ以上の実施形態では、複数のセンサが、EMエミッタと連動して使用され、座標空間内のセンサのそれぞれの位置および配向を検出してもよい。EM追跡システムは、3つの方向(すなわち、X、Y、およびZ方向)において、さらに、2つまたは3つの配向角度(例えば、ヨー、ピッチ、およびロール)において、位置を提供してもよい。例えば、EM追跡システムは、3つの空間座標(例えば、X、Y、およびZ)と、3つの配向角度(例えば、ヨー、ピッチ、およびロール)とを含む、6自由度(6DOF)姿勢を決定してもよい。1つ以上の実施形態では、IMUの測定は、コイルの測定と比較され、センサの位置および配向を決定してもよい。1つ以上の実施形態では、EMデータおよびIMUデータは両方とも、カメラ、深度センサ、および他のセンサ等の種々の他のデータ源とともに、位置および配向を決定するために組み合わせられてもよい。本情報は、コントローラ406に伝送されてもよい(例えば、無線通信、Bluetooth(登録商標)等)。1つ以上の実施形態では、姿勢(または位置および配向)は、従来のシステムにおいて比較的に高リフレッシュレートで報告されてもよい。従来、EMエミッタは、テーブル、手術台、壁、または天井等の比較的に安定した大型オブジェクトに結合され、1つ以上のセンサは、医療デバイス、ハンドヘルドゲームコンポーネント、または同等物等のより小型のオブジェクトに結合される。代替として、
図6を参照して以下に説明されるように、EM追跡システムの種々の特徴が、採用され、より安定したグローバル座標系に対する空間内を移動する2つのオブジェクト間の位置および/または配向における変化またはデルタが追跡され得る、構成を生産してもよい。言い換えると、構成は、
図6に示されており、EM追跡システムの変形例が、利用され、頭部搭載型コンポーネントとハンドヘルドコンポーネントとの間の位置および配向デルタを追跡し得る一方、(例えば、ユーザにローカルの室内環境の)グローバル座標系に対する頭部の姿勢は、システムの頭部搭載型コンポーネントに結合され得る外向き捕捉カメラを使用して、同時位置特定およびマッピング(「SLAM」)技法等によって別様に決定される。
【0048】
コントローラ406は、EM場発生器402を制御してもよく、また、データを種々のEMセンサ404から捕捉してもよい。システムの種々のコンポーネントは、任意の電気機械的または無線/Bluetooth(登録商標)手段を通して相互に結合されてもよいことを理解されたい。コントローラ406はまた、既知の磁場および磁場に関連する座標空間に関するデータを含んでもよい。本情報は、次いで、既知の電磁場に対応する座標空間に関連してセンサの位置および配向を検出するために使用される。
【0049】
EM追跡システムの1つの利点は、最小限の待ち時間および高分解能を伴って非常に正確な追跡結果を生産することができることである。加えて、EM追跡システムは、必ずしも、光学追跡装置に依拠せず、ユーザの視線内にないセンサ/オブジェクトは、容易に追跡され得る。
【0050】
EM場の強度は、コイル伝送機(例えば、EMエミッタ402)からの距離(「r」)の三次関数として低下することを理解されたい。したがって、アルゴリズムは、EMエミッタからの距離に基づいて、使用されてもよい。コントローラ406は、そのようなアルゴリズムを用いて、EMエミッタからの可変距離におけるセンサ/オブジェクトの位置および配向(例えば、6DOF姿勢)を決定するように構成されてもよい。センサがEMエミッタから離れて移動するにつれて、EM場の強度の急減を前提として、正確度、効率、および短待ち時間の観点から、最良結果が、より近い距離において達成され得る。典型的EM追跡システムでは、EMエミッタは、電流(例えば、差込式電力供給源)によって給電され、EMエミッタから半径20フィート以内に位置するセンサを有する。センサとエミッタとの間の半径が短いほど、AR用途を含む、多くの用途においてより望ましくあり得る。
【0051】
ここで
図5を参照すると、典型的電磁追跡システムの機能を説明する例示的フロー図が、簡単に説明される。502では、既知のEM場が、放出される。1つ以上の実施形態では、磁場エミッタは、磁場を生成してもよく、各コイルは、電場を一方向(例えば、X、Y、またはZ)に生成させ得る。磁場は、恣意的波形を伴って生成されてもよい。1つ以上の実施形態では、軸のそれぞれに沿った磁場成分は、他の方向に沿った他の磁場成分と若干異なる周波数で発振してもよい。504では、EM場に対応する座標空間が、決定され得る。例えば、
図4の制御406は、電磁場に基づいて、エミッタの周囲の座標空間を自動的に決定してもよい。506では、センサ(既知のオブジェクトに取り付けられ得る)におけるコイルの挙動が、検出され得る。例えば、コイルにおいて誘発される電流が、計算されてもよい。いくつかの実施形態では、コイルの回転または任意の他の定量化可能挙動が、追跡および測定されてもよい。508では、本挙動は、センサおよび/または既知のオブジェクトの位置または配向を検出するために使用されてもよい。例えば、コントローラ406は、センサにおけるコイルの挙動を種々の位置または配向に相関させる、マッピングテーブルを参考にしてもよい。これらの計算に基づいて、座標空間内の位置が、センサの配向とともに、決定されてもよい。
図5のフローチャート内のブロックの順序は、限定的ではなくて例証的であることを意図している。例えば、ブロック506は、いくつかの実施形態では、ブロック504が実施される前に実施されることができる。
【0052】
ARシステムのコンテキストでは、電磁追跡システムの1つ以上のコンポーネントは、モバイルコンポーネントの正確な追跡を促進するために、修正される必要があり得る。上記に記載されるように、ユーザの頭部の姿勢および配向の追跡は、多くのAR用途において望ましくあり得る。ユーザの頭部の姿勢および配向の正確な決定は、ARシステムが、正しい仮想コンテンツをユーザに表示することを可能にする。例えば、仮想場面は、実際の建物の背後に隠れているモンスタを含み得る。建物と関連したユーザの頭部の姿勢および配向に応じて、仮想モンスタのビューは、現実的AR体験が提供されるように修正される必要があり得る。または、トーテム、触知デバイス、または仮想コンテンツと相互作用するある他の手段の位置および/または配向は、ARユーザがARシステムと相互作用することを可能にする際に重要であり得る。例えば、多くのゲーム用途では、ARシステムは、仮想コンテンツと関連した実オブジェクトの位置および配向を検出しなければならない。または、仮想インターフェースを表示するとき、トーテム、ユーザの手、触知デバイス、またはARシステムとの相互作用のために構成される任意の他の実オブジェクトの位置が、システムがコマンド等を理解するために、表示される仮想インターフェースと関連して把握され得る。光学追跡および他の方法を含む、従来の位置特定方法は、典型的には、長待ち時間および低分解能問題に悩まされ、仮想コンテンツのレンダリングを多くの拡張現実用途において困難にする。
【0053】
1つ以上の実施形態では、
図4および5に関連して議論される、EM追跡システムは、放出されるEM場に関連して1つ以上のオブジェクトの位置および配向を検出するようにARシステムに適合されてもよい。典型的EMシステムは、大型かつ嵩張るEMエミッタ(例えば、
図4における402)を有する傾向にあって、これは、頭部搭載型ARデバイスにとって問題となる。しかしながら、より小型の電磁エミッタ(例えば、ミリメートル範囲内)が、ARシステムのコンテキストにおいて既知のEM場を放出するために使用されてもよい。
【0054】
ここで
図6を参照すると、EM追跡システムは、ハンドヘルドコントローラ606の一部として組み込まれるEMエミッタ602とともに、示されるように、ARシステムとともに組み込まれてもよい。コントローラ606は、ARヘッドセット(またはベルトパック70)に対して独立して移動可能であることができる。例えば、ユーザは、コントローラ606をその手の中に保持することができる、またはコントローラは、ユーザの手または腕に搭載され得る(例えば、指輪またはブレスレットとして、またはユーザによって装着される手袋の一部として)。1つ以上の実施形態では、ハンドヘルドコントローラは、ゲームシナリオにおいて使用されるため、または豊かなユーザ体験をAR環境内で提供するため、またはユーザがARシステムと相互作用することを可能にするためのトーテムであってもよい(例えば、多自由度コントローラ)。いくつかの実施形態では、ハンドヘルドコントローラは、触知デバイスであってもよい。いくつかの実施形態では、EMエミッタは、単に、ベルトパック70の一部として組み込まれてもよい。ハンドヘルドコントローラ606は、EMエミッタ602に給電する、バッテリ610または他の電力供給源を含んでもよい。EMエミッタ602はまた、他のコンポーネントに対するEMエミッタ602の位置および/または配向の決定を補助するように構成される、IMUコンポーネント650を含む、またはそれに結合されてもよいことを理解されたい。これは、エミッタ602およびセンサ(604)の両方がモバイル式である場合、特に有利であり得る。
図6の実施形態に示されるように、ベルトパックではなく、ハンドヘルドコントローラ内にEMエミッタ602を設置することは、EMエミッタがベルトパックにおいてリソースを競合するのではなく、むしろ、ハンドヘルドコントローラ606においてその独自のバッテリ源を使用することを確実にすることに役立つ。いくつかの実施形態では、EMエミッタ602は、ARヘッドセット58上に配置されることができ、センサ604は、コントローラ606またはベルトパック70上に配置されることができる。
【0055】
1つ以上の実施形態では、EMセンサ604は、1つ以上のIMUまたは付加的磁束捕捉コイル(608)等、他の感知デバイスとともに、ユーザのヘッドセット上の1つ以上の場所に設置されてもよい。例えば、
図6に示されるように、センサ(604、608)は、ヘッドセット(58)の片側または両側に設置されてもよい。これらのセンサは、非常に小型(故に、ある場合には、低感度であり得る)に加工されるため、複数のセンサを有することは、効率および精度を改良し得る。1つ以上の実施形態では、1つ以上のセンサはまた、ベルトパック70またはユーザの身体の任意の他の部分上に、またはハンドヘルドコントローラ606内に設置されてもよい。センサ(604、608)は、無線でまたはBluetooth(登録商標)を通してセンサ(およびそれが取り付けられるARヘッドセット)の姿勢および配向を決定する、コンピューティング装置と通信してもよい。いくつかの実施形態では、コンピューティング装置は、ベルトパック70に常駐してもよい。いくつかの実施形態では、コンピューティング装置は、ヘッドセット自体またはさらにハンドヘルドコントローラ606に常駐してもよい。コンピューティング装置は、ひいては、マッピングデータベース(例えば、パス可能世界モデル、座標空間等)を含み、姿勢を検出し、実オブジェクトおよび仮想オブジェクトの座標を決定してもよく、さらに、1つ以上の実施形態では、クラウドリソースおよびパス可能世界モデルに接続してもよい。
【0056】
上記に説明されるように、従来のEMエミッタは、ARデバイスにおいて使用するために嵩張りすぎ得る。したがって、EMエミッタは、従来のシステムと比較してより小型のコイルを使用して、コンパクトに加工されてもよい。しかしながら、EM場の強度がエミッタからの距離の三次関数として減少することを前提として、EMセンサ604とEMエミッタ602との間の半径が短いほど(例えば、約3~3.5フィート)、
図4に詳述されるもの等の従来のシステムと比較して、電力消費を低減させ得る。
【0057】
本側面は、1つ以上の実施形態では、コントローラ606およびEMエミッタ602に給電し得る、バッテリ610の寿命を延長させるために利用されてもよい。いくつかの実施形態では、本側面は、EMエミッタ602において磁場を生成するコイルのサイズを縮小させるために利用されてもよい。しかしながら、同一の強度の磁場を得るために、電力は、増加される必要があり得る。これは、ハンドヘルドコントローラ606においてコンパクトにフィットし得る、コンパクトなEMエミッタユニット602を可能にする。
【0058】
いくつかの他の変更が、ARデバイスのためにEM追跡システムを使用するときに行われてもよい。本姿勢報告レートは、非常に良好であるが、ARシステムは、さらにより効率的な姿勢報告レートを要求し得る。この目的を達成するために、IMUベースの姿勢追跡が、(加えて、または代替として)センサ内で使用されてもよい。有利なこととして、IMUは、姿勢検出プロセスの効率を増加させるために、可能な限り安定したままであり得る。IMUは、最大50~100ミリ秒、安定したままであるように加工されてもよい。いくつかの実施形態は、姿勢更新が10~20Hzのレートで報告されることを可能にし得る、外部姿勢推定器モジュールを利用してもよいことを理解されたい(例えば、IMUは、経時的にドリフトし得る)。IMUを合理的レートに安定して保つことによって、姿勢更新レートは、10~20Hzまで著しく低下され得る(従来のシステムにおけるより高い周波数と比較して)。
【0059】
EM追跡システムが、例えば、10%デューティサイクルにおいて起動され得る場合(例えば、100ミリ秒毎にのみグラウンドトゥルースのためにピングする)、これは、ARシステムにおける電力を節約する別の方法となるであろう。これは、EM追跡システムが、100ミリ秒毎に10ミリ秒にわたってウェイクアップし、姿勢推定値を生成することを意味するであろう。これは、直接、電力消費節約につながり、ひいては、ARデバイスのサイズ、バッテリ寿命、およびコストに影響を及ぼし得る。
【0060】
1つ以上の実施形態では、デューティサイクルの本低減は、1つのみではなく、2つのハンドヘルドコントローラ(図示せず)を提供することによって方略的に利用されてもよい。例えば、ユーザは、2つのトーテム等を要求する、ゲームをプレーしてもよい。または、マルチユーザゲームでは、2人のユーザが、その独自のトーテム/ハンドヘルドコントローラを有し、ゲームをプレーしてもよい。1つではなく、2つのコントローラ(例えば、手毎の対称コントローラ)が、使用されるとき、コントローラは、オフセットデューティサイクルで動作してもよい。同一概念はまた、例えば、マルチプレーヤゲームをプレーしている2人の異なるユーザによって利用されるコントローラにも適用されてもよい。
【0061】
ここで
図7を参照すると、ARデバイスのコンテキストにおける電磁追跡システムを説明する例示的フロー図が、説明される。702では、EMエミッタを含むポータブル(例えば、ハンドヘルド)コントローラが、磁場を放出する。704では、EMセンサ(ヘッドセット、ベルトパック等上に設置される)が、磁場を検出する。706では、ヘッドセット/ベルトの姿勢(例えば、位置または配向)は、センサにおけるコイル/IMUの挙動に基づいて決定される。姿勢は、6DOF姿勢または6つ全てよりも少ない自由度(例えば、1つ以上の空間座標または1つ以上の配向角度)を含み得る。708では、姿勢情報が、コンピューティング装置(例えば、ベルトパックまたはヘッドセットにおける)に伝達される。710では、随意に、マッピングデータベース(例えば、パス可能世界モデル)は、実世界座標(例えば、ヘッドセット/ベルトの姿勢に関して決定される)と仮想世界座標を相関させるために参考にされてもよい。712では、仮想コンテンツは、ARヘッドセットにおいてユーザに送達され、ユーザに表示されてもよい(例えば、本明細書に説明されるライトフィールドディスプレイを介して)。上記に説明されるフロー図は、例証目的にすぎず、限定として読み取られるべきではないことを理解されたい。
【0062】
有利なこととして、
図6に概略されるものに類似するEM追跡システムの使用は、低遅延姿勢追跡を可能にする(例えば、頭部位置または配向、トーテム、ベルトパック、および他のコントローラの位置および配向)。これは、ARシステムが、光学追跡技法と比較して、より高い正確度およびより短い待ち時間を伴って、仮想コンテンツを投影することを可能にする(少なくとも部分的に、決定された姿勢に基づいて)。
【0063】
図8を参照すると、多くの感知コンポーネントを特徴とする、システム構成が、図示される。頭部搭載型ウェアラブルコンポーネント(58)は、ここでは、制御および急速解除モジュール(86)もまた特徴とする、物理的マルチコア導線を使用して、ベルトパック等のローカル処理およびデータモジュール(70)に動作可能に結合(68)されて示される。制御および急速解除モジュール(86)は、関連付けられるシステムの動作のためのボタン、例えば、オン/オフボタンおよび上/下音量制御を含むことができる。モジュール(86)の対向端が、
図8に示されるように、ローカル処理およびデータモジュール(70)とディスプレイ(62)との間に延設される電気導線に接続されてもよい。
【0064】
ローカル処理およびデータモジュール(70)は、ここでは、低電力Bluetooth(登録商標)等の無線接続によって、ハンドヘルドコンポーネント(606)に動作可能に結合(100)される。ハンドヘルドコンポーネント(606)はまた、低電力Bluetooth(登録商標)等の無線接続等によって、直接、頭部搭載型ウェアラブルコンポーネント(58)に動作可能に結合(94)されてもよい。概して、IMUデータが、種々のコンポーネントの座標姿勢検出に通過される場合、数百または数千サイクル/秒またはより高い範囲内等、高周波数接続が、望ましい。センサ(604)および伝送機(602)ペアリング等によるEM位置特定感知のためには、数十サイクル/秒が、適正であり得る。また、壁(8)等のユーザの周囲の実世界内の固定オブジェクトを表す、グローバル座標系(10)も示される。
【0065】
クラウドリソース(46)はまた、それぞれ、ローカル処理およびデータモジュール(70)に、頭部搭載型ウェアラブルコンポーネント(58)に、壁(8)またはグローバル座標系(10)に対して固定される他のアイテムに結合され得るリソースに動作可能に結合(42、40、88、90)されてもよい。壁(8)に結合される、またはグローバル座標系(10)に対して既知の位置および/または配向を有する、リソースは、無線送受信機(114)、EMエミッタ(602)および/または受信機(604)、赤外線LEDビーコン等の所与のタイプの放射線を放出または反射させるように構成されるビーコンまたは反射体(112)、セルラーネットワーク送受信機(110)、RADARエミッタまたは検出器(108)、LIDARエミッタまたは検出器(106)、GPS送受信機(118)、既知の検出可能パターン(122)を有するポスタまたはマーカ、およびカメラ(124)を含んでもよい。
【0066】
頭部搭載型ウェアラブルコンポーネント(58)は、赤外線カメラ(124)のための赤外線エミッタ(130)等のカメラ(124)検出器を補助するように構成される光エミッタ(130)に加え、図示されるような類似コンポーネントを特徴とする。頭部搭載型ウェアラブルコンポーネント(58)はまた、1つ以上の歪みゲージ(116)を特徴とし、これは、頭部搭載型ウェアラブルコンポーネント(58)のフレームまたは機械的プラットフォームに固定して結合され、EM受信機センサ(604)またはディスプレイ要素(62)等のコンポーネント間のそのようなプラットフォームの偏向を決定するように構成されてもよく、
図8に描写される眼鏡様プラットフォーム上の突出部の上方の部分等のプラットフォームの薄い部分等においてプラットフォームの屈曲が生じた場合、それを理解することが重要であり得る。
【0067】
頭部搭載型ウェアラブルコンポーネント(58)はまた、プロセッサ(128)と、1つ以上のIMU(102)とを特徴とする。コンポーネントはそれぞれ、好ましくは、ハードウェアコントローラ、ハードウェアマイクロプロセッサ、特定用途向け集積回路(ASIC)等を含み得る、プロセッサ(128)に動作可能に結合される。ハンドヘルドコンポーネント(606)およびローカル処理およびデータモジュール(70)は、類似コンポーネントを特徴とするように図示される。
図8に示されるように、そのように多くの感知およびコネクティビティ手段を用いることで、そのようなシステムは、重く、電力を大量に消費し、大型で、かつ比較的に高価である可能性が高い。しかしながら、例証目的のために、そのようなシステムは、非常に高レベルのコネクティビティ、システムコンポーネント統合、および位置/配向追跡を提供するために利用されてもよい。例えば、そのような構成を用いることで、種々の主要モバイルコンポーネント(58、70、606)は、Wi-Fi、GPS、またはセルラー信号三角測量を使用して、グローバル座標系に対する位置の観点から位置特定されてもよく、ビーコン、EM追跡(本明細書に説明されるように)、RADAR、およびLIDIRシステムはさらに、場所および/または配向情報およびフィードバックを提供してもよい。マーカおよびカメラもまた、相対および絶対位置および配向に関するさらなる情報を提供するために利用されてもよい。例えば、頭部搭載型ウェアラブルコンポーネント(58)に結合されて示されるもの等の種々のカメラコンポーネント(124)は、コンポーネント(58)が他のコンポーネントに対して配向される場所およびその状態を決定するために、同時位置特定およびマッピングプロトコル、すなわち、「SLAM」において利用され得る、データを捕捉するために利用されてもよい。
【0068】
いくつかの実施形態では、LIDAR(106)タイプの深度センサに加えて、またはその代替として、システムは、例えば、ステレオ三角測量式深度センサ(受動ステレオ深度センサ、テクスチャ投影ステレオ深度センサ、または構造化光ステレオ深度センサ等)または飛行時間式深度センサ(LIDAR深度センサまたは変調放出深度センサ等)のいずれかであり得る、汎用深度カメラまたは深度センサを含む。さらに、システムは、付加的前向き「世界」カメラ(124、これは、720p範囲の分解能が可能なセンサを有するグレースケールカメラであり得る)および比較的に高分解能の「写真カメラ」(これは、例えば、2メガピクセル以上の高い分解能が可能なセンサを有する、フルカラーカメラであり得る)を含んでもよい。
(ARシステム内の例示的電磁感知コンポーネント)
【0069】
図9Aを参照すると、EM感知コイルアセンブリ(604、例えば、筐体に結合される3つの個々のコイル)が、頭部搭載型コンポーネント(58)に結合されて示される。そのような構成は、付加的幾何学形状を全体的アセンブリに追加し、これは、望ましくない場合がある。
図9Bを参照すると、
図9Aの構成におけるように、コイルをボックスまたは単一筐体604内に格納するのではなく、個々のコイルは、
図9Bに示されるように、頭部搭載型コンポーネント(58)の種々の構造の中に統合されてもよい。
図9Bは、X-軸コイル(148)、Y-軸コイル(150)、およびZ-軸コイル(152)のための頭部搭載型ディスプレイ58上の場所の実施例を示す。したがって、感知コイルは、頭部搭載型ディスプレイ(58)上またはそれを中心として空間的に分散され、EM追跡システムによって、ディスプレイ(58)の位置特定および/または配向の所望の空間分解能または正確度を提供し得る。
【0070】
図9Bを再び参照すると、分散センサコイル構成が、ARデバイス58に関して示される。ARデバイス58は、本明細書に説明されるように、6自由度(6DOF)追跡のためにウェアラブルコンポーネント(58)に結合され得る、X、Y、Zの方向毎に1つずつ、3つの直交感知コイルを含有する、筐体等の単一のEMセンサデバイス(604)を有することができる。また、上記のように、そのようなデバイスは、
図9Bに示されるように、ウェアラブルコンポーネント(58)の異なる場所において取り付けられた3つのサブ部分(例えば、コイル)を伴って、分解されてもよい。さらなる設計代替物を提供するために、各個々のセンサコイルは、任意の所与の直交方向のための全体的磁束が、直交方向毎に単一のコイルによってではなく、同様に配向されたコイルの群によって捕捉されるように、その群と置換されてもよい。言い換えると、直交方向毎に1つのコイルではなく、より小型のコイルの群が、利用されてもよく、それらの信号が、その直交方向のための信号を形成するように集約されてもよい。頭部搭載型コンポーネント(58)等の特定のシステムコンポーネントが、2つ以上のEMコイルセンサセットを特徴とする、いくつかの実施形態では、システムは、システムの性能を改良または最適化するために相互に最も近い(例えば、1cm、2cm、3cm、4cm、5cm、または10cm以内)センサおよびエミッタ対合を選択的に利用するように構成されてもよい。いくつかの実施形態では、EMエミッタおよびEMセンサは、異なるように配列されることができる。例えば、EMエミッタは、頭部搭載型コンポーネント(58)内または上に配置されることができ、EMセンサは、ハンドヘルドコントローラ(606)またはベルトパック(70)内または上に配置されることができる。別の実施例として、EMセンサは、頭部搭載型コンポーネント(58)内または上に配置されることができ、EMエミッタは、ハンドヘルドコントローラ(606)またはベルトパック(70)内または上に配置されることができる。さらに別の実施例として、EMエミッタは、ベルト(70)内または上に配置されることができ、EMセンサは、ハンドヘルドコントローラ(606)または頭部搭載型コンポーネント(58)内または上に配置されることができる。
【0071】
EM追跡更新は、ポータブルシステムのための電力の観点から比較的に「高価」であり得、非常に高頻度の更新が可能ではない場合がある。「センサ融合」構成では、IMU等の別のセンサからのより頻繁に更新される位置特定情報が、光学センサ(例えば、カメラまたは深度カメラ)等の別のセンサからのデータとともに組み合わせられ得、これは、比較的に高い頻度にある場合とそうではない場合がある。これらの入力の全てを融合することの要点は、EMシステムにより低い要求を課し得、より迅速な更新を提供する。
(ユーザ頭部姿勢または手姿勢のEM追跡の実施例)
【0072】
図10を参照すると、一実施形態では、ユーザがそのウェアラブルコンピューティングシステム(160)に電源を投入後、頭部搭載型コンポーネントアセンブリは、IMUおよびカメラデータ(カメラデータは、例えば、より多くの未加工処理能力が存在し得る、ベルトパックプロセッサ等のSLAM分析のために使用される)の組み合わせを捕捉し、実世界グローバル座標系(162)に対する頭部の姿勢(例えば、位置または配向)を決定および更新してもよい。ユーザはまた、ハンドヘルドコンポーネントをアクティブ化し、例えば、拡張現実ゲーム(164)をプレーしてもよく、ハンドヘルドコンポーネントは、ベルトパックおよび頭部搭載型コンポーネント(166)の一方または両方に動作可能に結合されるEM伝送機を含んでもよい。頭部搭載型コンポーネントに結合される1つ以上のEM場コイル受信機セット(例えば、セットは、3つの異なるように配向される個々のコイルである)が、伝送機から磁束を捕捉し、これは、頭部搭載型コンポーネントとハンドヘルドコンポーネント(168)との間の位置または配向差(または「デルタ」)を決定するために利用されてもよい。グローバル座標系に対する姿勢の決定を補助する頭部搭載型コンポーネントと、頭部搭載型コンポーネントに対するハンドヘルドの相対的場所および配向の決定を補助するハンドヘルドの組み合わせは、システムが、概して、各コンポーネントがグローバル座標系に対して位置する場所、したがって、ユーザの頭部の姿勢を決定することを可能にし、ハンドヘルド姿勢は、好ましくは、拡張現実画像特徴の提示と、ハンドヘルドコンポーネント(170)の移動および回転を使用した相互作用とのために、比較的に短待ち時間で追跡され得る。
【0073】
図11を参照すると、
図10のものに幾分類似するが、ユーザの頭部の姿勢およびハンドヘルド姿勢が、好ましくは、拡張現実画像特徴の提示と、ハンドヘルドコンポーネント(180)の移動および回転を使用した相互作用とのために、比較的に短待ち時間において追跡され得るように、システムが頭部搭載型コンポーネント(172)およびハンドヘルドコンポーネント(176、178)の両方の姿勢の決定を補助するために利用可能なより多くの感知デバイスおよび構成を有する、実施形態が、図示される。
【0074】
種々の実装では、拡張現実デバイスは、1つ以上のコンピュータビジョン技法を実装し、システムの環境内のオブジェクト、ユーザジェスチャを識別する、または本明細書で使用または説明される他のコンピュータビジョンプロシージャを実施するように構成される、コンピュータビジョンシステムを含むことができる。例えば、下記に説明されるように、コンピュータビジョンシステムは、外向きに向いたカメラ124によって撮影されるユーザ入力デバイス606の画像を分析し、電磁追跡システムにおけるEM歪みを補償する際に使用するためのデバイスの姿勢(例えば、位置または配向)を決定することができる。コンピュータビジョン技法の非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトルマシン、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
(電磁追跡システムにおける電磁歪みの概要)
【0075】
EM追跡および位置特定の実践的用途における1つの課題は、環境内に存在する強磁性材料(例えば、鉄、ニッケル、コバルト、およびそれらの合金)に起因するEMの発生である。EM位置特定が、磁場を使用するため、EM位置特定は、EMエミッタ(例えば、EMエミッタ402)によって生成されるEM位置特定場の歪みを引き起こす、環境内の金属および強磁性材料の存在に敏感であり得る。さらに、EM追跡システム内の交流(AC)磁場は、近傍の導電性材料に循環渦電流を生産し、それによって、EM歪みをさらに導入する二次AC磁場を生成することができる。EMセンサが、ARまたはVRデバイス内の電子機器の近傍に位置し得る(例えば、
図6および8参照)ため、歪みは、電子機器と関連付けられ得る。
【0076】
近傍のオブジェクトからの歪みの程度を例証するために、以下の非限定的な簡略化されたモデルが、使用され得る。強磁性材料は、材料を囲繞する磁場の形状を改変する。一般的環境内の強磁性構造の複雑性により、これらの強磁性構造によって引き起こされる歪みの分析決定は、困難であり得る。ソース(例えば、EMエミッタ)からセンサ(例えば、EMセンサ)までの同一の距離における任意のオブジェクトと比較して、無限伝導面が磁場歪みに関して最悪のシナリオを表すと仮定することによって、有用な限定的近似が、行われ得る。画像の理論を使用することによって、無限伝導面は、そこからEM歪みがモデル化され得る、(例えば、ソースから無限伝導面までの距離の2倍において)画像ソースによって置換され得る。
【0077】
本分析に基づいて、経験則は、EMエミッタおよびEMセンサを分離する距離の2倍におけるオブジェクトが、EMエミッタによって生成されるEM場と比較して、約1%またはそれよりも少ない歪みを生産し得ることになる。故に、遠隔の強磁性オブジェクトによって引き起こされる歪みは、EMエミッタおよびEMセンサを分離する距離がより小さい場合、より少なくあり得る。したがって、EMセンサがEMエミッタから約1メートルまたはそれよりも少なく位置する、短距離用途に関して、2メートル(またはそれを上回って)離れて位置する強磁性材料が、EMエミッタによって生成されるEM場と比較して、約1%またはそれよりも少ない歪みを導入し得る。
【0078】
EMエミッタおよびEMセンサを分離する距離の2倍よりも近い強磁性オブジェクトは、さらにかなり大きいEM歪みを生産し得、本明細書に説明されるEM歪み補正技術の実施形態が、リアルタイムでEM歪みを補正するために使用されてもよく、これは、それによって、EMエミッタに対してEMセンサのよりロバストかつ正確な位置特定を提供する。そのようなEM歪み補正技術を利用するARまたはVRシステムは、AR/VR環境内のユーザの頭部、手、または他の身体部分の姿勢(例えば、位置または配向)がより正確に把握され得るため、改良されたユーザ体験を提供することができる。
【0079】
いくつかの例証的な非限定的実装では、EM歪み補正技術は、2つの部分で説明され得る。EM歪み補正技術の第1の部分は、EM歪み補正をモデル化するステップを含む。歪んだ磁場は、3×3行列によって表され得、一対の3×3行列が、そのオリジナル形態(EM歪みを伴わない)に戻るように、歪んだ磁場を表す3×3行列を変換するために、使用されてもよい。一対の3×3歪み補正行列は、数値的または分析技法を使用して解法され得る、最大18個のパラメータ(例えば、2×3×3)を含んでもよい。本歪み補正モデルの使用は、強磁性的に歪んだ環境内で歪みの有意な低減をもたらし得る。EM歪み補正技術の第2の部分は、数回(例えば、2~4回)の反復以内で未知の歪みパラメータを決定し得る、高速収束アルゴリズムを含む。本アルゴリズムの使用は、歪み補正が(例えば、ローカル処理およびデータモジュール70によって)リアルタイムで実施されることを可能にし得るという点で有利であり得、これは、特に、ユーザの頭部、手、およびハンドヘルドコントローラ(例えば、ハンドヘルドコントローラ606)の移動が、周囲EM歪みを急速に変化させ得る、ARまたはVR環境内の周囲歪みを補正するために有利であり得る。
【0080】
加えて、または代替として、EM位置特定データからの6自由度(6DOF)姿勢の算出のための直接閉形式解が、使用されてもよい。本解は、下記に説明され、非線形方程式の数値解法を用いることなく、特異値分解(SVD)技法を使用する。本閉形式解は、(数値解法と比較して)算出速度の有意な改良を提供し得、また、反復数値的方法を使用することと関連付けられる潜在的問題を回避し得る。
(電磁位置特定の概要)
【0081】
EM位置特定は、EMエミッタによる磁場の励起に由来する磁場結合に基づく。磁場を励起する2つの一般的な方法が存在する。一方は、パルス交流(AC)場に基づき、他方は、パルス直流(DC)場に基づく。現在、AC EM場を利用するEM追跡システムが、雑音にあまり敏感ではない傾向があるため、より一般的である。
図9Aおよび9Bを参照して説明されるように、6DOF位置特定に関して、EMセンサ(例えば、EMセンサ604)およびEMエミッタ(例えば、EMエミッタ602)はそれぞれ、(例えば、個別のX、Y、Z軸に沿って)3つの直交整合コイルを含むことができる。本構成を使用する多くの用途では、EMエミッタ602内のエミッタコイル電流は、連続的に(例えば、Xにおいて、次いで、Yにおいて、次いで、Zにおいて)パルス状であり、結果として生じた磁場は、EMセンサ604内の各センサコイル内で電流を誘発し、これは、次いで、エミッタコイルに対するセンサコイル、したがって、EMエミッタ602に対するEMセンサ604の位置または配向を決定するために使用される。
【0082】
以下の理論展開によって拘束または限定されるわけではないが、EM位置特定のためのEMモデルが、ここで提示されるであろう。本モデルでは、EMエミッタ602内のエミッタコイルによって生成される磁場は、同等の磁気双極子場(EMエミッタ602内のエミッタコイルのサイズがエミッタコイルとセンサコイルとの間の距離よりも小さいときに、正確である傾向がある)であると仮定される。磁場は、以下によって説明され得る。
【化1】
式中、H
rは、磁場の半径方向成分であり、H
tは、磁場の接線成分であり、Mは、EMエミッタにおける磁気モーメントであり、rは、EMエミッタ602とEMセンサ604との間の距離であり、ζは、EMエミッタ602の対称面に対するEMセンサ604の位置のピッチ角である。
【0083】
6DOF位置特定のための方程式は、オイラー角変換を使用し、EMエミッタ602に対するEMセンサ604の位置および配向を説明する。EMセンサ604によって感知されるEM場は、行列方程式によって表され得る。
【化2】
式中、Fは、3×3EM場行列であり、cは、任意の所与のコイル構成に関する定数(例えば、ワイヤのループの数、ループの面積、およびセンサ利得の積に比例する)であり、rは、EMエミッタ602とEMセンサ604との間の距離であり、Tは、EMエミッタ602に対するEMセンサ604の3自由度(3DOF)配向を表す3×3回転行列であり、Pは、EMエミッタ602に対するEMセンサ604の位置を表す3×3回転行列であり、Kは、[1,-1/2,-1/2]に比例する対角要素を伴う3×3対角行列であり、Eは、対角要素がEMエミッタ602の3つの直交エミッタコイルの強度を表す、3×3対角行列である。行列Pは、以下によって、方位角θおよびピッチφの観点から表され得る。
【化3】
式中、rotyは、Y軸の周囲の3×3回転行列であり、rotzは、Z軸の周囲の3×3回転行列である。
【0084】
行列の要素が、三角関数を伴うため、方程式(3)は、実際には、EMエミッタ602に対するEMセンサ604の6DOF姿勢を得るように同時に解法される必要がある、6つの未知数(3つの位置変数および3つの配向変数)を伴う連立一次方程式である。反復数値解方法は、いくつかの問題に直面し得る。より長い算出時間の他に、特に、雑音および歪みが存在するときに、意図された解の代わりに、極小値において反復を終了させる潜在的危険性が存在する。また、磁場の大きさが、対称位置等の異なる場所において同一であり得るため、反復数値的方法は、象限の反対側の結果、または誤った符号を伴う座標を提供する危険性がある。これは、特に、動いていないセンサの位置を見出すときに当てはまる。故に、EM歪み補正技術のいくつかの実装は、下記に説明される直接閉形式解を使用し、方程式(3)を解法する。
(例示的歪みマッピングスキーム)
【0085】
EM歪みを伴うEM場に関して、歪んだEM場行列F
dは、以下として表され得る。
【化4】
式中、Fは、歪んでいないEM場行列(例えば、方程式(3)参照)であり、D
LおよびD
Rは、一対の3×3歪み行列である。
【0086】
歪みを除去するために、歪んでいないEM場が、以下から見出され得るように、一対の3×3EM歪み補償行列およびC
LおよびC
Rが、決定され得る。
【化5】
式中、方程式(6)内の第2の等式が、方程式(5)から続く。方程式(6)内の第2の等式は、補償行列C
LおよびC
Rが、それぞれ、歪み行列D
LおよびD
Rの逆行列であることを示す。
【0087】
いったん計算されると、補償行列は、測定される歪んだEM場行列から歪んでいないEM場行列を決定するように、歪んだEM場行列に適用され得る(例えば、方程式(6)内の第1の等式参照)。
【0088】
補償行列CLおよびCRは、それぞれ、最大9つの自由パラメータを含む、一対の3×3行列であり、したがって、一対は、決定される必要がある、最大18個の自由パラメータを含む。パラメータは、最適化(例えば、線形または二次プログラミング、勾配降下、条件付き最適化技法等)を通した数値的方法を使用して見出され得る。本公式には最大18個の自由パラメータが存在するが、18未満が必要とされ得る可能性が存在する。例えば、補償行列のうちの1つが、回転行列であることが見出される場合、その行列は、9つの自由パラメータではなく、3つの自由パラメータ(例えば、3つの回転角)のみを有する。
【0089】
いくつかの実装では、多数の位置および配向においてEMセンサデータを収集することによって、EM歪み補償行列CLおよびCRが、決定され得る。EMセンサ604の位置および配向に関するグランドトゥルース値もまた、収集されることができる。このように補償行列を決定することは、工場でのEM追跡システムの製造の間に、またはセンサのグランドトゥルース位置および配向が、例えば、カメラまたは他のセンサを使用する、他の技法を用いて見出され得る、使用の間に、実行可能であり得る。さらに、補償行列を決定するための本方法は、環境内のEM場が、補償行列の計算の間に受けられるEM場から著しく変化しない、状況に限定され得る。
【0090】
ARまたはVR環境の実際に使用時に、周囲EM場は、多くの場合、例えば、ユーザが、その身体位置を移動させる、部屋を動き回る、または部屋から部屋に移動するにつれて、リアルタイムで変化する。そのようなARまたはVR環境では、補償行列の計算のためにEMセンサ604のグランドトゥルース位置および配向を提供するために使用され得る、いくつかの方法が存在し得る。例えば、AR/VRシステムは、超音波、赤外線(IR)発光ダイオード(LED)、または環境内のユーザ入力デバイス(例えば、ハンドヘルドコントローラ606)の位置および配向を結像し得る外向きに向いた世界カメラ(例えば、カメラ124)を利用することができる(例えば、
図8参照)。ユーザ入力デバイスは、ユーザ入力デバイスの姿勢または外向きに向いた世界カメラとユーザ入力デバイスとの間の距離を決定することを補助するための光学的に認識可能な基準マーカ(例えば、Arucoマーカ)またはIR LEDを含むことができる。ユーザ入力デバイスが、外向きに向いた世界カメラの視野(FOV)内にないとき、ユーザは、場面からのフィードバックを使用し、ユーザ入力デバイスを動作させてもよく、ユーザが、ユーザ入力デバイスを動作させるために、ユーザ入力デバイスの精密な姿勢よりも場面のフィードバックに若干依拠し得るため、ユーザ入力デバイスの正確な姿勢を把握することにより大きい許容差が存在し得る。したがって、EM歪み補正は、ある場合には、ユーザ入力デバイスが、より高い正確度が所望される、外向きに向いたカメラの視野内(FOV)にあるときのみ、必要とされ得る。ユーザ入力デバイスのグランドトゥルース姿勢は、外向きに向いた世界カメラからの画像の分析から取得され得る。
【0091】
いくつかの実施形態では、補償行列は、グランドトゥルース姿勢情報を取得する必要なく(例えば、外向きに向いた世界カメラから収集される画像データを使用することなく)リアルタイムで行列技法(例えば、特異値分解)を使用して決定され得る。そのような行列分析技法の種々の実装が、方程式(12)を参照して下記に説明される。
(高次マッピング)
【0092】
上記に説明される方法からの位置および配向は、通常、ウェアラブルコンポーネント58の基準系に対するEMセンサコイルの設置により、異なる基準系に変換される必要がある。本フレーム(または基準系)は、時として、世界フレーム(または世界基準系)と呼ばれることもある。いくつかの実装では、世界フレームへの変換を、近傍の環境からのEM歪みを補正するために使用され得る高次変換と組み合わせることが、便宜的である。回転行列P(EMエミッタに対するEMセンサの位置を表す(例えば、方程式(4)参照)から導出される座標は、例えば、(例えば、2以上の次数の)高次多項式または球面調和関数を使用して、世界フレームの座標にマッピングされることができる。したがって、
【化6】
であり、式中、X、Y、およびZは、世界フレーム内のセンサの座標であり、x、y、およびzは、行列Pから導出される座標であり、関数H
x、H
y、およびH
zは、マッピングを実施するために使用される球面調和関数または多項式を表す。既知の関数H
x、H
y、およびH
zを用いると、x、y、およびzからX、Y、およびZへのマッピングが、直接、算出され得る。
【0093】
本マッピングスキームの実施は、いくつかの(例えば、N個の)位置および配向において対応するEMデータとともに収集される、EMエミッタに対するEMセンサのグランドトゥルース位置および配向を利用してもよい。6DOFが存在するため、非実用的であり得る、データのN6個のセットが収集される必要があると考える傾向があり得る。しかしながら、これは、当てはまらない。N個の位置のそれぞれにおいて、EMエミッタに対するEMセンサの異なる配向が、割り当てられるように、データのN個のセットが、マッピングを実施するように収集されてもよい。したがって、マッピングスキームは、迅速かつ効率的に実施され得る。
【0094】
実践では、上記に説明される歪み補正およびマッピングスキームは、数回の反復のみが、CLおよびCRの収束解を取得するために必要とされるという点で、非常に迅速に実施され得ることが見出されている。収束の速度により、本アルゴリズムは、リアルタイム歪み再マッピングで使用されてもよく、これは、歪み場が、通常、移動、例えば、頭部、手、またはハンドヘルドコントローラ移動、または1つの部屋から別の部屋に移動すること等のユーザがその環境を変化させることに起因して、リアルタイムで変化する、周囲EM歪みに対処するために有利である。
【0095】
歪みマッピングスキームが、下記に説明される6DOF姿勢を見出すための直接解方法と組み合わせられる、実施形態では、非常にロバスト、効率的、および算出上高速のEM歪みマッピングスキームが、リアルタイムで達成され得る。
(6DOF姿勢に関する直接閉形式解)
【0096】
数値的方法を使用することなく、6DOF姿勢を解法する直接閉形式の実施例が、ここで説明される。本方法は、数値的方法を使用して、遭遇され得る問題を削減または回避する潜在性を有する。例えば、ある数値的方法を用いると、特に、雑音およびEM歪みがEM位置特定データに存在するときに、意図された解の代わりに、極小値において数値的方法を終了させる潜在的危険性が存在する。また、磁場の大きさが、対称位置等の異なる場所において同一であり得るため、数値的方法の使用は、象限の反対側の結果、または誤った符号を伴う座標を提供する危険性がある。これは、特に、動いていないEMセンサの位置を見出すときに当てはまり得る。直接閉形式方法はまた、種々の数値的方法と比較して、算出速度の有意な改良も提供し得る。
【0097】
6DOF姿勢決定のための直接方法は、磁場行列方程式(下記に再現される方程式(3))がSO(3)回転行列(SO(3)は、3D回転群である)および対角行列の関数であるという事実を利用する。
【化7】
【0098】
したがって、特異値分解(SVD)が、磁場行列Fを分解するために使用される場合、2つの回転行列UとVとの間に対角行列Sを含む、3つの行列が取得されることが予期される。
【化8】
【0099】
対角行列Sは、それらに吸収されるc、r、およびEからの定数の値を伴う対角要素を有することが予期される。3つのソースコイルが同一の強度を有する場合において、行列Eは、3×3単位行列で乗算される定数になる。行列Kが、要素[k,-k/2,-k/2]と対角であるため、Sの対角要素は、第2の要素および第3の要素が、ほぼ等しい大きさとなり、第1の要素が、第2の要素のものの2倍および第3の要素のものの2倍の大きさ(および反対の符号)を有するであろうようなものであろうことが予期される。
【0100】
回転行列Vは、回転行列Pに関連する。行列Pの第1の列が、EMセンサとEMエミッタとの間の距離rで乗算されるとき、EMエミッタに対するEMセンサの座標x、y、およびzが、取得される。上記に説明されるように、これらの座標は、方程式(7)を使用して、ARデバイスの世界フレームに変換されてもよい。
【0101】
Pが、方位角およびピッチ回転行列の積であるため(例えば、方程式(4)参照)、付加的ロール項を追加させることにかかわらず、結果として生じる行列の第1の列が変化しないであろうことが示され得る。したがって、V行列上の付加的ロールにかかわらず、Vの第1の列は、EMエミッタに対するEMセンサの相対位置に比例する情報を含有するであろう。
【0102】
Eを単位行列であるとすると、EMエミッタに対するEMセンサの3DOF回転を表す回転行列Tは、以下であることが見出され得る。
【化9】
式中、ここで、K
νは、対角要素(1/k)
*[1,-2,-2]を伴う、Kの逆行列であり、Pは、以下によって表される方位角θおよびピッチφの観点から、EMエミッタに対するEMセンサの位置に基づいて算出される、3×3回転行列である。
【化10】
【0103】
3×3行列Tは、EMエミッタに対するEMセンサの3DOF配向を提供し、方程式(9)から計算され得る。
【0104】
本方法は、EMセンサを囲繞する2つの半球のうちの一方において姿勢を提供する。他方の半球に関して、姿勢は、x、y、およびz位置値の符号を変化させることによって取得され得る。
【0105】
方程式(8)および(9)は、歪んでいないEM場行列Fを利用することに留意されたい。EM歪みの存在下で、歪んでいないEM場行列Fは、例えば、本明細書に説明される歪みマッピング技法を使用することによって(例えば、補償行列CLおよびCRを使用することによって)歪んだEM場行列Fdから決定され得る。
【0106】
上記の方法を用いると、EMセンサの6DOF姿勢(例えば、位置および配向)は、反復数値的方法を使用することなく、上記に説明される行列から直接計算され得る。6DOF姿勢は、EM追跡システムの環境内の強磁性および導電性材料によって引き起こされるEM歪みの存在下でさえも決定され得る。上記のように、本直接方法は、算出時間の有意な改良を提供するとともに、反復数値的方法で見られる種々の問題を削減または回避することができる。
【0107】
歪みマッピングおよび補正技法は、直接閉形式6DOF姿勢決定技法とともに使用されてもよいが、これは、要件ではない。EM追跡システムの種々の実施形態は、別個にいずれか一方の別個に実装することができる、または両方の技法をともに実装することができる。
(EM歪みマッピングおよび直接6DOF姿勢技法の例示的実験的検証)
【0108】
簡潔に言うと、EM歪みを除去する、または低減させるために、一対の補償行列CLおよびCRは、歪んでいないEM場行列Fが、F=CLFdCRを介して、測定される歪んだEM場行列から算出され得るように、収集されたデータから決定された。歪んでいないEM場行列Fを求めた後、EMセンサの位置および配向が、直接閉形式6DOF姿勢算出技法を使用して算出された。上記に説明されるように、直接閉形式解は、SVDを使用して、磁場行列を対角行列および2つの回転行列に分解する。EMセンサの位置および配向は、2つの回転行列から決定される。
【0109】
直接6DOF姿勢算出とともに、EM歪み補正技法の組み合わせの検証が、EM追跡システムの実施形態を用いた実験から収集される実際のデータを使用して実施された。例示的結果は、EM歪みの最初の量から(位置に関して)5mmおよび(配向に関して)5度を下回る第95パーセンタイル誤差のレベルまでの歪みの有意な低減を示した。これは、例えば、約5~10倍の実質的な誤差低減を表す。
(行列技法を使用するリアルタイムEM歪み補正)
【0110】
上記に議論されるように、ARまたはVRのコンテキストでは、環境内の伝導性または強磁性材料からのEMセンサおよびEMエミッタの距離および配向が、変化するであろうため、周囲EM歪みは、ユーザが、例えば、その姿勢を変化させる、ユーザ入力デバイスを周囲に移動させる、部屋を動き回る、または部屋から部屋に移動するにつれて、変化する。したがって、周囲EM歪みは、リアルタイムで変化するであろう。下記に説明されるであろうように、グランドトゥルース情報(例えば、EMセンサおよびEMエミッタの相対距離または姿勢)を取得する必要なく、周囲EM歪みのリアルタイム補正を提供する技法が、開発された。本技法は、EMセンサによって測定される歪んだEM場行列を補正するために、SVDを使用して抽出され得る、EM場行列の固有値を使用する。
【0111】
EM場行列Fは、以下のような方程式(3)(上記に説明され、下記に再現される)に従って書かれ得る。
【化11】
式中、Kは、対角要素[k,-k/2,-k/2]を伴う3×3対角行列であり、kは、最大固有値の大きさである。方程式(8)(下記に再現される)を参照して上記に説明されるように、EM場行列Fは、SVDを介して、2つの回転行列UおよびV、それらの間の対角行列Sに分解され得る。
【化12】
Sの対角要素もまた、EM場行列Fの固有値である。
【0112】
EM場が歪んでいないとき、Fの固有値は、kが最大固有値の大きさである、約[k,k/2,k/2]の大きさを有することが予期される。EM場が歪んでいるとき、Fの固有値は、[k,k/2,k/2]から逸脱する大きさを有することが予期される。本逸脱からの情報は、EM場が歪んでいる量を計測する、歪みメトリック(DM)を計算するために使用されてもよい。ある時間周期にわたって閾値レベルを上回る歪みメトリック(DM)が、歪み補正をトリガするために使用されてもよい。歪みメトリック(DM)の実施例および関連付けられる閾値が、
図15を参照して下記に説明される。
【0113】
出願人は、EM場行列Fの不変性を識別している。EM場行列の行列式は、周囲EM場が歪みを誘発しているときでさえも、実質的に不変(例えば、変化していない)ままである。したがって、
【化13】
であり、式中、「det」は、行列の行列式を表す。
【0114】
図12は、本不変性の実施例を示すグラフである。
図12では、異なるEM場歪みの範囲に関して、歪んでいないEM場行列の行列式det(F)が、水平軸上でプロットされ、歪んだEM場行列の行列式det(F
d)が、垂直軸上でプロットされる。
図12から分かり得るように、方程式(11)に関して強力な実験的検証を提供する、det(F)とdet(F
d)との間の1(単位元)の傾斜を伴う極めて線形の関係が存在する。
【0115】
上記に説明されるような方程式(6)を使用して、出願人は、例えば、C
LおよびC
Rが補償行列である、F=C
LF
dC
Rを介して、リアルタイムで収集される、一連の連続的な歪んだEM場行列F
dから、歪んでいないEM場行列Fおよび補償行列を決定するための方法を開発した。方程式(11)からの不変行列式性質および歪んでいないEM場行列Fの固有値が約[k,k/2,k/2]の大きさを有するという予期は、以下の制約を含む数値的最適化方法論を使用して、補償行列を計算するための方法を提供する。
【化14】
Fの固有値は、大きさk、k/2、k/2を有する。
【0116】
いくつかの実施形態では、制約は、単位元に近いkと、[1,1/2,1/2]に近い固有値とを含む。近いことの程度は、例えば、ウェアラブルディスプレイデバイスの動作のために容認可能である姿勢誤差の量に依存し得る。例えば、より小さい許容量の姿勢誤差に関して、固有値は、[1,1/2,1/2]により近いであろう。種々の実施形態では、近いことは、5%、1%、0.1%、0.01%、または他の許容差または[1,1/2,1/2]以内であることを含む。
【0117】
方程式(12)を使用して、補償行列を決定するための実装は、いくつかの利点を有し得る。例えば、EMセンサまたはEMエミッタ姿勢または相対距離からのグランドトゥルースデータは、必要とされない(例えば、世界カメラまたは他のセンサからのデータは、必要とされない)。さらに、歪んだEM場行列の固有値は、EM歪みの存在または周囲EM歪みの変化を検出するためのメトリックを提供する。また、補償行列の決定は、リアルタイムで周囲EM歪みを補正するために、算出上効率的かつ迅速に実施されてもよく、これは、ARまたはVR用途のために有利であり得る。
【0118】
補償行列CLおよびCR(例えば、方程式(12)における制約を介して計算される)を使用して、EMセンサによって測定される歪んだEM場行列Fdから歪んでいないEM場行列Fを求めた後、EMセンサの位置および配向は、上記に説明される直接閉形式6DOF姿勢算出技法を使用して算出され得る。
【0119】
前述の技法が説明され、EMセンサおよびエミッタ姿勢または相対距離に関するグランドトゥルースデータを提供するために、世界カメラまたは他のセンサを使用することなく実施され得るが、いくつかの実施形態では、世界カメラまたは他のセンサデータが、上記に説明される技法を補完するために使用され得る。
(リアルタイムEM歪み補正を伴う例示的EM追跡システム)
【0120】
図13は、リアルタイムで周囲EM歪みを補正し得る、EM追跡システム1300の実施例を図示する、ブロック図である。EM追跡システム1300の実施形態は、
図4および6を参照して説明される例示的EM追跡システム、および
図2A-2D、3、8、および9A-9Bを参照して説明されるウェアラブルディスプレイシステムと互換性があり、それにおいて使用されてもよい。
【0121】
EM追跡システム1300は、EMセンサ604と、EMエミッタ602と、EM位置特定プロセッサ1305とを含む。EMセンサ604およびEMエミッタ602はそれぞれ、両方とも、上記に説明されるような3つの直交コイルを含んでもよい。EM位置特定プロセッサ1305は、例えば、
図6を参照して説明される、ローカル処理およびデータモジュール70またはプロセッサ128等のARまたはVRシステム内のプロセッサのうちのいずれかを介して、実装されてもよい。いくつかの実施形態では、EM位置特定プロセッサ1305は、外向きに向いた世界カメラ(例えば、外向きに向いた世界カメラ124)および/または他のセンサ(例えば、IMU102)から入力を受信して処理し、例えば、(例えば、EM歪み補償行列を計算するために使用される)EMセンサ姿勢またはEMセンサ604とEMエミッタ602との間の相対距離に関するグランドトゥルース推定値を提供し得る。EM位置特定プロセッサ1305は、いくつかの実施形態では、EMエミッタ602を駆動し、例えば、EMエミッタ602のコイルへのACまたはDC電流を介して、磁場を生成するための制御論理を含んでもよい。
【0122】
EM位置特定プロセッサ1305は、歪んだEM場行列Fdが、EM歪み補償行列CLおよびCRの適用を介して周囲EM歪みを補正される、EM歪み補正1310を実施するようにプログラムされてもよい。補償行列は、方程式(12)を参照して説明される不変技法を含む方法によって、計算されてもよい。いくつかの実施形態では、EM位置特定プロセッサ1305は、例えば、方程式(7)に記載されるような球面調和関数または多項式方程式を使用することによって、例えば、ARまたはVRシステムの世界フレームへのセンサ姿勢の高次マッピング1315を決定してもよい。
【0123】
EM位置特定プロセッサ1305は、姿勢計算ブロック1320においてEMセンサ604の姿勢を決定することができる。いくつかの実施形態では、姿勢計算は、6DOF姿勢(例えば、位置および配向)であってもよい。いくつかの実施形態では、姿勢計算は、3DOF姿勢(例えば、位置または配向)であってもよい。姿勢計算ブロック1320は、EM歪み補正ブロック1310によって計算される歪んでいないEM場行列Fを受信し、姿勢1330を生成する。例えば、6DOF姿勢は、方程式(8)-(10)を参照して上記に説明される直接閉形式解を使用して、迅速かつ効率的に計算され得る。
【0124】
EMセンサ604は、典型的には、3つの直交感知コイル内の電圧を測定する。測定された電圧をEMセンサ604とEMエミッタ602との間の距離に変換するために、利得較正1325が、測定された電圧に適用されてもよい。概して、3つのコイル毎に異なる利得、例えば、xコイルに関する利得Gx、yコイルに関する利得Gy、およびzコイルに関する利得Gzが存在する。利得は、製造段階の間に計算され、(例えば、不揮発性の非一過性記憶装置内に)EM追跡システム1300によって記憶されてもよい。いくつかの実施形態では、利得は、外向きに向いた世界カメラ124がEMエミッタ602(例えば、ハンドヘルドコントローラ606内に配置される)を結像するために使用され、コンピュータビジョン技法が距離を計算するために使用される、現場で計算されてもよい。
【0125】
EM歪み補正ブロック1310および姿勢計算ブロック1320は、相互から独立して実施されてもよい。例えば、リアルタイム姿勢が所望される、ARまたはVR用途では、姿勢計算ブロック1320は、リアルタイムで実行されてもよい。EM歪み補正1310ブロックによるEM歪みの補正のためのパラメータおよび行列は、リアルタイムで実施されてもよいが、その必要はない。例えば、本明細書に説明されるように、測定されたEM場行列の固有値は、周囲EM環境内に歪みが存在するかどうかに関するメトリックを提供する。歪みメトリック(DM)の実施例および関連付けられる閾値が、
図15を参照して下記に説明される。歪みメトリック(DM)のより高い値は、EM場における歪みに寄与し得る、環境内のより多くの金属材料の存在を示し得る。歪みメトリック(DM)のより低い値は、環境内のより少ない金属材料の存在を示し得る。歪みメトリック(DM)が閾値を超える場合、EM歪み補正ブロック1310は、測定されたEM場行列から歪みを除去するために、歪み補償行列を計算するように実行されてもよい。メトリックの変化は、周囲EM環境の変化を示し、EM歪み補正ブロック1310は、歪み補償行列を再計算し、変化した周囲EM環境を反映するように、再実行されてもよい。いくつかの実施形態では、EM歪み補正ブロック1310は、周期的に、または事前設定された間隔において(例えば、30秒毎に、1分毎に、2分毎に等)、または随時(例えば、周囲EM場が十分に変化するときに)、実行されてもよい。例えば、EM歪み補正ブロック1310は、ある時間周期にわたってEM場行列測定値(例えば、2分の周期にわたって200~300点)を収集し、時間周期の終わりに、またはEM場行列の変化(例えば、閾値を上回る)が生じるときに、補償行列に関する新しい値を計算してもよい。
【0126】
ウェアラブルARまたはVRデバイスに関して、頭部搭載型コンポーネント(例えば、頭部搭載型コンポーネント58)は、
図9Aに示されるEMセンサ604、または
図9Bに示されるコイル148、150、152を含むことができ、これらのEMセンサ604は、EM位置特定プロセッサ1305によって処理されたときに、装着者の6DOF頭部姿勢を提供することができる。EMセンサ604は、加えて、または代替として、装着者の身体姿勢を決定するためのベルトパック(例えば、ベルトパック70)(例えば、
図6参照)内に配置されることができる。EMエミッタ602は、ハンドヘルドコントローラ(例えば、ハンドヘルドコントローラ606)内に配置されてもよい。いくつかの実施形態では、EMエミッタ602は、頭部搭載型コンポーネント(例えば、頭部搭載型コンポーネント58)上に配置されてもよく、EMセンサ604は、ハンドヘルドコントローラ(例えば、ハンドヘルドコントローラ606)またはベルトパック(例えば、ベルトパック70)上に配置されてもよい。
(EM追跡システムにおけるEM歪み補正のための例示的方法)
【0127】
図14は、いくつかの実施形態による、EM追跡システムにおけるEM歪みを補正するための例示的方法1400を図示する、フローチャートである。方法1400の実施形態は、
図13を参照して説明されるEM追跡システム1300によって(例えば、EM位置特定プロセッサ1305によって)実施されてもよい。方法1400の実施形態はまた、
図4および6を参照して説明される例示的EM追跡システムによって、および
図2A-2D、3、8、および9A-9Bを参照して説明されるウェアラブルディスプレイシステムによって(例えば、ローカル処理およびデータモジュール70またはプロセッサ128によって)実施されてもよい。
【0128】
ブロック1404では、方法1400は、EMセンサ(例えば、EMセンサ604のうちのいずれか)からEMセンサデータを受信する。EMセンサデータは、EMエミッタ(例えば、EMエミッタ602)によって生成される磁場へのEMセンサの応答を示すEM場行列を含んでもよい。上記に説明されるように、測定されたEM場は、EM追跡システムの近傍の強磁性または導電性材料の存在によって歪まされ得る。
【0129】
ブロック1408では、方法1400は、EM歪みが測定されたEMセンサデータに存在する可能性が高いかどうかを検出する。上記に説明されるように、EM場が歪んでいないとき、EM場行列の固有値は、kが最大固有値の大きさである、約[k,k/2,k/2]の大きさを有することが予期される。EM場が歪んでいるとき、EM場行列の固有値は、[k,k/2,k/2]から逸脱する大きさを有することが予期される。したがって、方法1400は、本逸脱を測定し、EM場が歪んでいる量を計測するメトリックとして、逸脱を使用することができる。例えば、歪んでいない固有値[k,k/2,k/2]からの逸脱の大きさが、(例えば、個々の固有値逸脱、固有値逸脱の二乗の総和、または(EM場行列の行列式である)固有値の積からの逸脱のいずれかに関して)閾値を超える場合、EM歪みが、検出されている。歪んでいない固有値[k,k/2,k/2]からの逸脱の大きさが、閾値未満である場合、EM歪みは、存在しない、または姿勢推定がEM歪みによって実質的に影響を受けないほど十分に低いレベルで存在する。歪んでいない固有値からの逸脱の大きさは、
図15を参照して下記に説明される歪みメトリック(DM)に少なくとも部分的に基づいてもよい。方法1400はまた、経時的に逸脱の値を追跡し、EM歪みが著しく変化したかどうかを決定してもよい。
【0130】
ブロック1408では、方法1400は、固有値逸脱(または
図15を参照して説明される歪みメトリック(DM))の変化が別の閾値を超えるかどうかを監視し、EM歪みが変化したことを決定してもよい。例えば、EM歪みが著しくは変化していない(例えば、固有値逸脱の変化が1%、5%、10%等の閾値を下回る)場合、方法1400は、(ブロック1412に関して下記に説明される)歪み補償行列を再計算する必要がない場合がある。代替として、EM歪みが著しく変化した(例えば、固有値逸脱変化の変化が閾値を上回る、または歪みメトリック(DM)の変化が閾値を上回る)場合、ブロック1408は、方法1400をトリガし、ブロック1412において歪み補償行列を再計算してもよい。いくつかの実施形態では、ブロック1408は、随意であり得、実施されない場合があり、歪み補償行列は、継続的に更新されてもよい。これは、継続的更新がEM追跡システムへの大きすぎる算出負担ではないように、処理能力が十分に高い場合に、有益であり得る。
【0131】
ブロック1412では、方法1400は、歪み補償行列CLおよびCRを計算する。例えば、方法1400は、方程式(12)を参照して説明される技法を利用し、一対の補償行列を計算することができる。種々の実装では、歪み補償行列は、EM歪み変化が著しく変化するとき、随時(例えば、10分、20分毎に等)、または連続的に(例えば、リアルタイムで)ブロック1412において再計算されてもよい。そのような場合において、上記に説明されるように誘起される金属歪みプロシージャは、随意であり得る。
【0132】
ブロック1416では、方法1400は、ブロック1412において計算される歪み補償行列を使用して、測定されたEM場行列(ブロック1404において受信されるFd)から、歪んでいないEM場行列(F)を計算する。方程式(6)を参照して説明されるように、歪んでいないEM場行列は、F=CLFdCRとして計算され得る。
【0133】
ブロック1420では、方法1400は、歪んでいないEM場行列からEMセンサの姿勢を計算する。姿勢は、6DOF姿勢(例えば、位置および配向)であってもよい。ブロック1420は、方程式(8)-(10)を参照して説明される6DOF姿勢に関して直接閉形式解を利用してもよい。例えば、歪んでいないEM場行列の特異値分解(SVD)は、(例えば、SVDにおいて算出される行列Vの第1の列から)EMエミッタに対するEMセンサの3DOF相対位置を提供する。EMエミッタに対するEMセンサの3DOF配向は、方程式(9)から計算される行列Tから見出され得る。計算された姿勢は、姿勢の空間座標がARまたはVRデバイスの世界フレームにマッピングされる、方程式(7)を参照して説明される高次マッピングを含むことができる。
【0134】
EMセンサによって測定される電圧をEMセンサとEMエミッタとの間の距離rに変換するために、ブロック1424において、利得較正が、測定された電圧に適用されてもよい(例えば、
図13のブロック1325を参照して説明される)。利得較正は、EM追跡システムによって記憶される工場較正、またはAR/VRデバイスの外向きに向いたカメラによって取得される画像の画像分析が、相対的EMセンサ-EMエミッタ距離のグランドトゥルース推定値のために使用される、現場較正であってもよい。
【0135】
方法1400は、リアルタイムで実施されてもよく、これは、EM歪みがリアルタイムで変化する可能性が高い、ARまたはVR環境で有利であり得る。しかしながら、
図13のEM追跡システム1300を参照して説明されるように、
図14の全てのブロックがリアルタイムで実行される必要があるわけではない。例えば、姿勢が、ARまたはVRシステムに関してリアルタイムで必要とされ得、ブロック1404、1416、および1420が、リアルタイムで実行されてもよい一方、(補償行列を計算するための)ブロック1408および1412は、低頻度で、例えば、EM歪みが著しくまたは周期的に変化するときに、実行されてもよい。したがって、方法1400の実施形態は、効率的に実施されてもよく、歪み補償行列の再計算が必要とされるときのみに(または随時)実施されるため、正確な姿勢推定を提供するように動的に調整されることができる。
(金属歪みに関するメトリック)
【0136】
上記に説明されるように、EM場が歪んでいないとき、EM場行列Fの固有値は、kが最大固有値の大きさである、約[k,k/2,k/2]の大きさを有することが予期される。EM場が歪んでいるとき、Fの固有値は、[k,k/2,k/2]から逸脱する大きさを有することが予期される。本逸脱からの情報は、EM場が歪んでいる量を計測する、歪みメトリック(DM)を計算するために使用されてもよい。いくつかの実施形態では、歪みメトリック(DM)は、環境内の金属材料の存在が増加するにつれて、増加し得る。ある時点において、またはある時間周期にわたって、閾値レベルを上回る歪みメトリック(DM)が、歪み補正プロシージャをトリガするために使用されてもよい(例えば、
図13を参照して説明されるEM位置特定プロセッサ1305によるEM歪み補正1310、または
図14を参照して説明される方法1400のブロック1412および1416におけるEM歪み補正を参照)。
【0137】
方程式(8)(下記に再現される)を参照して上記に説明されるように、EM場行列Fは、SVDを介して、2つの回転行列UおよびV、それらの間の対角行列Sに分解され得る。
【化15】
Sの対角要素もまた、EM場行列Fの固有値である。
【0138】
歪みメトリック(DM)は、以下のプロシージャから計算されることができる。行列Sの対角要素を[E1,E2,E3]によって表すとする。対角要素は、行列Sの行列式の立方根に等しい係数fによって正規化され得る。正規化された対角要素は、[e1,e2,e3]によって表され、以下によって与えられる。
【化16】
式中、f=det(S)
1/3である。
【0139】
e1、e2、およびe3を取得するための正規化後、歪みメトリック(DM)は、以下の式から見出されることができる。
【化17】
式中、norm([x,y,z])は、正規化関数であり、Mは、本実施形態では、4
1/3に等しい定数である。定数Mは、金属を含まない環境内のEM場行列または行列Sの行列式の値に基づき得る。正規化関数は、3つの数字をスカラー値にマッピングする、任意の好適な関数であり得る。正規化関数は、(歪みメトリック(DM)もまた、正定値であるように)正定値であるように選択されることができる。いくつかの実施形態では、正規化関数は、sqrtが平方根関数である、norm([x,y,z])=sqrt(x
2+y
2+z
2)である。
【0140】
金属歪みがないと、歪みメトリック(DM)は、0に等しいことが予期される。歪みメトリック(DM)は、金属歪みの量が増加するにつれて、増加する傾向がある。実質的に金属を含まない環境では、ハンドヘルドコントローラ606またはARヘッドセット58上の金属の他に、歪みメトリックDMは、約0~約0.02の範囲内である傾向がある。
【0141】
図15は、異なる量の金属歪みを有する3つの環境、すなわち、低金属環境(塗りつぶした丸)、中金属環境(塗りつぶした三角形)、および高金属環境(塗りつぶした正方形)内の歪みメトリック(DM)の実験測定値の実施例を提示するグラフである。低金属環境は、ハンドヘルドコントローラ606またはARヘッドセット58上の金属を除く金属が殆どまたは全くない環境を指し、中金属環境は、低金属環境よりも多くの環境金属を有し、高金属環境は、中金属環境よりも多くの環境金属を有する。これらの実験では、300個のサンプルが、環境のそれぞれで採取され、歪みメトリック(DM)が、サンプル毎に算出された。
【0142】
図15で見られ得るように、環境内の金属の量が、低から中、高に増加するにつれて、歪みメトリック(DM)値もまた、増加する傾向がある。これらの実験では、低金属環境に関して、DMは、約0~約0.02の範囲内であり、中金属環境に関して、DMは、約0.02~約0.08の範囲内であり、高金属環境に関して、DMは、約0.08~約0.12の範囲内であった。いくつかの実施形態では、「m」(またはミリ)が、m=×10
-3を表すように歪みメトリック(DM)値の後に付加される、測定の代替単位が、使用されてもよい。
【0143】
図15に示される実験結果は、例えば、
図13を参照して説明されるEM位置特定プロセッサ1305によるEM歪み補正1310、または
図14を参照して説明される方法1400のブロック1412および1416におけるEM歪み補正による、金属歪みの補正を正当化するために環境内に十分な金属歪みが存在するかどうかと関連付けられる、1つ以上の閾値を設定するために使用されてもよい。例えば、歪みメトリック(DM)が、金属歪みが殆どまたは全くないことを示す第1の閾値を下回る場合、金属歪み補正プロシージャは、EM位置特定プロセッサ1305によって実装されなくてもよい。いくつかの実施形態では、第1の閾値は、0.02である。低金属環境内で金属歪み補正プロシージャを実装しないことによって、ARシステムは、ARシステムが低金属環境に位置するときに電力および算出リソースを節約することができる。
【0144】
いくつかの実施形態では、歪みメトリック(DM)が、第2の閾値を上回る場合、金属歪みが、環境内に存在し、金属歪みプロシージャが、EM位置特定プロセッサによって実装されることができる。いくつかの実施形態では、第2の閾値は、単一の閾値が存在するように、第1の閾値に等しい。そのような実装では、金属歪みプロシージャは、歪みメトリック(DM)が閾値を超えるときに実装されてもよく、DMが閾値を下回るときに、実装されなくてもよい。例えば、歪みメトリック(DM)が、EM追跡システム1300によって閾値を上回ることが測定される場合、EM位置特定プロセッサ1305は、金属歪み補正プロシージャを実施することができる(例えば、
図14を参照して説明される方法1400のブロック1412および1416を実施する)。
【0145】
いくつかの実施形態では、第2の閾値は、第1の閾値、例えば、約0.03を上回り得る。金属歪み補正プロシージャは、歪みメトリック(DM)が第2の閾値を超える場合に実装されてもよい。歪みメトリック(DM)が、第1の閾値と第2の閾値との間(例えば、いくつかの実施形態では、0.02と0.03との間)であることが測定される場合、例えば、歪みメトリック(DM)が閾値時間周期よりも長い時間周期にわたって本範囲内であれば、ある程度の金属補正を有することが有益であり得る。実施例として、歪みメトリック(DM)が、閾値時間周期よりも長い時間にわたって第1の閾値と第2の閾値との間であることが測定される場合、EM位置特定プロセッサ1305は、(例えば、
図14を参照して説明される方法1400のブロック1412および1416を実施することによって)金属歪みプロシージャを実装してもよい。歪みメトリック(DM)が第2の閾値を上回るとき、または歪みメトリック(DM)が閾値時間周期よりも長く第1の閾値と第2の閾値との間であるときのみ、金属補正プロシージャが実装されるため、算出リソースおよび電力が削減され得るため、2つの異なる閾値を有することが有利であり得る。いくつかの実施形態では、歪みメトリック(DM)が、所定の時間周期よりも長く閾値を上回るとき、ユーザが、環境内の可能性として考えられる歪み源を除去する、または環境内の歪みの存在がより少ない別の面積に移動し得るように、ユーザはまた、これを警告されてもよい。
(付加的側面)
【0146】
側面1.拡張現実ディスプレイシステムであって、仮想画像を装着者の眼に投影するように構成される、ディスプレイと、装着者の眼の正面にディスプレイを搭載するように構成される、フレームと、磁場を生成するように構成される、電磁(EM)エミッタと、磁場を感知し、EMセンサデータを提供するように構成される、EMセンサであって、EMエミッタまたはEMセンサのうちの一方は、フレームに機械的に結合され、EMエミッタまたはEMセンサのうちの他方は、フレームに対して独立して移動可能である拡張現実ディスプレイシステムのコンポーネントに機械的に結合される、EMセンサと、EMセンサから、EMセンサデータであって、EM場行列を備える、EMセンサデータを受信し、少なくとも部分的にEM場行列に基づいて、EM歪みの存在を検出し、歪み補償行列を計算し、少なくとも部分的に歪み補償行列に基づいて、歪んでいないEM場行列を計算し、少なくとも部分的に歪んでいないEM場行列に基づいて、EMセンサの姿勢を計算し、ディスプレイに、少なくとも部分的に計算された姿勢に基づいて仮想画像を投影させるようにプログラムされる、ハードウェアプロセッサとを備える、拡張現実ディスプレイシステム。
【0147】
側面2.EMセンサおよびEMエミッタはそれぞれ、3つの相互直交コイルを備える、側面1に記載の拡張現実ディスプレイシステム。
【0148】
側面3.姿勢は、3つの空間座標と、3つの角座標とを有する、6自由度姿勢を備える、側面1または側面2に記載の拡張現実ディスプレイシステム。
【0149】
側面4.EM歪みの存在を検出するために、ハードウェアプロセッサは、歪んでいないEM場行列に関する固有値からのEM場行列の固有値の逸脱を計算するようにプログラムされる、側面1-3のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0150】
側面5.歪み補償行列を計算するために、ハードウェアプロセッサは、歪み補償行列のそれぞれの行列式が単位元に近く、歪んでいないEM場行列の固有値が[1,1/2,1/2]に比例するという制約を適用するようにプログラムされる、側面1-4のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0151】
側面6.ハードウェアプロセッサは、特異値分解(SVD)を実施し、歪んでいないEM場行列の固有値を計算するようにプログラムされる、側面5に記載の拡張現実ディスプレイシステム。
【0152】
側面7.制約は、[1,1/2,1/2]に近い、歪んでいないEM場行列の固有値を備える、側面5または側面6に記載の拡張現実ディスプレイシステム。
【0153】
側面8.EMセンサの姿勢を計算するために、ハードウェアプロセッサは、歪んでいないEM場行列の特異値分解(SVD)を実施するようにプログラムされる、側面1-7のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0154】
側面9.ハードウェアプロセッサは、SVDから、EMエミッタに対するEMセンサの3自由度位置を計算するようにプログラムされる、側面8に記載の拡張現実ディスプレイシステム。
【0155】
側面10.ハードウェアプロセッサは、少なくとも部分的に歪んでいないEM場行列、対角行列、および方位角およびピッチに基づく回転行列に基づいて、EMエミッタに対するEMセンサの3自由度配向を計算するようにプログラムされる、側面1-9のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0156】
側面11.EMセンサの姿勢を計算するために、ハードウェアプロセッサは、拡張現実ディスプレイシステムの世界フレーム内の姿勢を計算するようにプログラムされる、側面1-10のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0157】
側面12.世界フレーム内の姿勢を計算するために、ハードウェアプロセッサは、球面調和関数または高次多項式を適用するようにプログラムされる、側面11に記載の拡張現実ディスプレイシステム。
【0158】
側面13.ハードウェアプロセッサは、検出されたEM歪みが第1の閾値を上回る、または検出されたEM歪みの変化が第2の閾値を上回るときのみ、歪み補償行列を計算するようにプログラムされる、側面1-12のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0159】
側面14.拡張現実ディスプレイシステムのコンポーネントは、ユーザ入力トーテムを備え、EMセンサは、フレームに機械的に結合され、EMエミッタは、ユーザ入力トーテムに機械的に結合される、側面1-13のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0160】
側面15.フレームに機械的に結合される、外向きに向いたカメラをさらに備える、側面14に記載の拡張現実ディスプレイシステム。
【0161】
側面16.ハードウェアプロセッサはさらに、外向きに向いたカメラによって取得される画像を分析し、少なくとも部分的に分析された画像に基づいて、ユーザ入力トーテムの姿勢を決定し、少なくとも部分的にユーザ入力トーテムの決定された姿勢に基づいて、歪み補償行列を計算するようにプログラムされる、側面15に記載の拡張現実ディスプレイシステム。
【0162】
側面17.ユーザ入力トーテムはさらに、ユーザ入力トーテムの姿勢を決定することを補助するように構成される、光源または光学的に認識可能な基準マーカを備える、側面14-16のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0163】
側面18.ハードウェアプロセッサはさらに、EM場行列の固有値に基づくメトリックを使用して、周囲環境内のEM歪みの程度を計算するようにプログラムされる、側面1-17のうちのいずれか1つに記載の拡張現実ディスプレイシステム。
【0164】
側面19.メトリックは、基準値からの固有値の差異の組み合わせに基づく、側面18に記載の拡張現実ディスプレイシステム。
【0165】
側面20.固有値は、EM場行列の行列式に基づいて正規化される、側面19に記載の拡張現実ディスプレイシステム。
【0166】
側面21.システムであって、磁場を生成するように構成される、電磁(EM)エミッタと、磁場を感知し、EMセンサデータを提供するように構成される、EMセンサと、EMセンサから、EMセンサデータであって、EM場行列を備える、EMセンサデータを受信し、少なくとも部分的にEMセンサデータに基づいて、歪み補償行列を計算し、少なくとも部分的に歪み補償行列に基づいて、歪んでいないEM場行列を計算し、少なくとも部分的に歪んでいないEM場行列に基づいて、EMセンサの姿勢を計算するようにプログラムされる、ハードウェアプロセッサとを備える、システム。
【0167】
側面22.ハードウェアプロセッサは、EM歪みの存在を検出し、検出されたEM歪みが第1の閾値を上回る、または検出されたEM歪みの変化が第2の閾値を上回るときのみ、歪み補償行列を計算するようにプログラムされる、側面21に記載のシステム。
【0168】
側面23.歪み補償行列を計算するために、ハードウェアプロセッサは、歪み補償行列のそれぞれの行列式が単位元に近く、歪んでいないEM場行列の固有値が[1,1/2,1/2]に比例するという制約を適用するようにプログラムされる、側面21または側面22に記載のシステム。
【0169】
側面24.外向きに向いた結像システムと、ハンドヘルドユーザ入力デバイスとをさらに備え、ハードウェアプロセッサは、外向きに向いた結像システムによって取得される画像を分析し、少なくとも部分的に分析された画像に基づいて、ユーザ入力デバイスの姿勢を決定し、少なくとも部分的にユーザ入力デバイスの決定された姿勢に基づいて、歪み補償行列を計算するようにプログラムされる、側面21-23のうちのいずれか1つに記載のシステム。
【0170】
側面25.歪み補償行列は、第1の行列CLと、第2の行列CRとを備え、歪んでいないEM場行列を計算するために、ハードウェアプロセッサは、CLFdCRを評価するようにプログラムされ、Fdは、EM場行列である、側面21-24のうちのいずれか1つに記載のシステム。
【0171】
側面26.EMセンサの姿勢を計算するために、ハードウェアプロセッサは、歪んでいないEM場行列の特異値分解(SVD)を計算するようにプログラムされる、側面21-25のうちのいずれか1つに記載のシステム。
【0172】
側面27.EMセンサの姿勢を計算するために、ハードウェアプロセッサは、数値的反復を利用しない、直接算出方法を使用するようにプログラムされる、側面21-26のうちのいずれか1つに記載のシステム。
【0173】
側面28.ハードウェアプロセッサはさらに、少なくとも部分的に計算された姿勢に基づいて、仮想オブジェクトをレンダリングするようにプログラムされる、側面21-27のうちのいずれか1つに記載のシステム。
【0174】
側面29.ハードウェアプロセッサはさらに、EM場行列の固有値に基づくメトリックを使用して、周囲環境内のEM歪みの程度を計算するようにプログラムされる、側面21-28のうちのいずれか1つに記載のシステム。
【0175】
側面30.メトリックは、基準値からの固有値の差異の組み合わせに基づく、側面29に記載のシステム。
【0176】
側面31.固有値は、EM場行列の行列式に基づいて正規化される、側面30に記載のシステム。
【0177】
側面32.EM追跡システムにおいて電磁(EM)歪みを補正するための方法であって、ハードウェアプロセッサの制御下で、EMセンサから、EMセンサデータであって、EM場行列を備える、EMセンサデータを受信するステップと、少なくとも部分的にEMセンサデータに基づいて、歪み補償行列を計算するステップと、少なくとも部分的に歪み補償行列に基づいて、歪んでいないEM場行列を計算するステップと、少なくとも部分的に歪んでいないEM場行列に基づいて、EMセンサの姿勢を計算するステップとを含む、方法。
【0178】
側面33.姿勢は、6自由度(6DOF)姿勢を備える、側面32に記載の方法。
【0179】
側面34.EM歪みの存在を検出するステップをさらに含む、側面32または側面33に記載の方法。
【0180】
側面35.EM歪みの存在を検出するステップは、歪んでいないEM場行列に関する固有値からのEM場行列の固有値の逸脱を計算するステップを含む、側面34に記載の方法。
【0181】
側面36.EM歪みの存在を検出するステップは、固有値の逸脱が閾値を超えることを決定するステップを含む、側面35に記載の方法。
【0182】
側面37.歪み補償行列を計算するステップは、EM歪みが第1の閾値を超える、またはEM歪みの変化が第2の閾値を超えるときのみ、実施される、側面32-36のうちのいずれか1つに記載の方法。
【0183】
側面38.姿勢を計算するステップは、EM場行列の特異値分解を実施するステップを含む、側面32-37のうちのいずれか1つに記載の方法。
【0184】
側面39.歪み補償行列を計算するステップは、非EM追跡システムによって取得される、EMエミッタに対するEMセンサの相対姿勢に関するグランドトゥルースデータと比較するステップを含む、側面32-38のうちのいずれか1つに記載の方法。
【0185】
側面40.非EM追跡システムは、結像システムまたは超音波システムを備える、側面39に記載の方法。
【0186】
側面41.EM場行列の固有値に基づくメトリックを使用して、周囲環境内のEM歪みの程度を計算するステップをさらに含む、側面32-40のうちのいずれか1つに記載の方法。
【0187】
側面42.メトリックは、基準値からの固有値の差異の組み合わせに基づく、側面41に記載の方法。
【0188】
側面43.固有値は、EM場行列の行列式に基づいて正規化される、側面42に記載の方法。
【0189】
側面44.電磁(EM)追跡システムであって、磁場を生成するように構成される、EMエミッタと、磁場を感知するように構成される、EMセンサと、側面32-43のうちのいずれか1つに記載の方法を実施するようにプログラムされる、ハードウェアプロセッサとを備える、EM追跡システム。
【0190】
側面45.磁場を生成するように構成される、電磁(EM)エミッタと、磁場を感知し、EMセンサデータを提供するように構成される、EMセンサと、EMセンサから、EMセンサデータであって、EM場行列を備える、EMセンサデータを受信し、少なくとも部分的にEM場行列に基づいて、歪みメトリックであって、EMセンサの環境内のEM歪みの存在を示す、歪みメトリックを計算し、歪みメトリックが閾値を通過するかどうかを決定し、歪みメトリックが閾値を通過するという決定に応答して、少なくとも部分的にEMセンサデータに基づいて、歪み補償行列を計算し、少なくとも部分的に歪み補償行列に基づいて、歪んでいないEM場行列を計算し、少なくとも部分的に歪んでいないEM場行列に基づいて、EMセンサの姿勢を計算するようにプログラムされる、ハードウェアプロセッサとを備える、システム。
【0191】
側面46.ハードウェアプロセッサは、歪みメトリックが閾値を通過しないという決定に応答して、少なくとも部分的にEM場行列に基づいて、EMセンサの姿勢を計算するようにプログラムされる、側面45に記載のシステム。
【0192】
側面47.閾値は、第1の閾値と、第1の閾値を上回る第2の閾値とを備え、ハードウェアプロセッサは、その間に歪みメトリックが第1の閾値を通過し、第2の閾値を通過しない、時間周期を決定し、時間周期が閾値時間周期を通過するかどうかを決定し、時間周期が閾値時間周期を通過するという決定に応答して、少なくとも部分的にEMセンサデータに基づいて、歪み補償行列を計算し、少なくとも部分的に歪み補償行列に基づいて、歪んでいないEM場行列を計算し、少なくとも部分的に歪んでいないEM場行列に基づいて、EMセンサの姿勢を計算するようにプログラムされる、側面45または側面46に記載のシステム。
【0193】
側面48.ハードウェアプロセッサは、少なくとも部分的に歪みメトリックに基づいて、EM歪みの存在を検出し、検出されたEM歪みが第1の閾値を上回る、または検出されたEM歪みの変化が第2の閾値を上回るときのみ、歪み補償行列を計算するようにプログラムされる、側面45-47のうちのいずれか1つに記載のシステム。
【0194】
側面49.歪みメトリックを検出するために、ハードウェアプロセッサは、歪んでいないEM場行列に関する固有値からのEM場行列の固有値の逸脱を計算するようにプログラムされる、側面45-48のうちのいずれか1つに記載のシステム。
【0195】
側面50.歪みメトリックを計算するために、ハードウェアプロセッサは、EM場行列の特異値分解(SVD)を実施するようにプログラムされる、側面45-49のうちのいずれか1つに記載のシステム。
【0196】
側面51.歪みメトリックを計算するために、ハードウェアプロセッサは、EM場行列のSVDの固有値を計算するようにプログラムされる、側面50に記載のシステム。
【0197】
側面52.歪みメトリックを計算するために、ハードウェアプロセッサは、EM場行列の行列式またはEM場行列のSVDを計算して、正規化係数を提供し、正規化係数に基づいて固有値を正規化して、正規化された固有値を提供し、少なくとも部分的に正規化された固有値に基づいて、歪みメトリックを計算するようにプログラムされる、側面51に記載のシステム。
(付加的考慮点)
【0198】
EM場歪み補正技術のある実施形態が、ウェアラブルディスプレイシステムのコンポーネント(例えば、ARまたはVRコンテキストにおいて頭部姿勢または身体姿勢を追跡するためのEMセンサ)に関するリアルタイム姿勢決定の文脈において説明されるが、これは、限定ではなく例証のためである。EM場歪み補正技術の実施形態が、他の用途で他のデバイスと併用されることができ、一般に、任意のEM追跡システムに適用されることができる。例えば、EM場歪み補正技術は、医療または外科的環境で生じる電磁場歪みを補正し、それによって、医療または外科的手技の間に使用される医療器具の改良された位置または配向を提供するために使用されることができる。
【0199】
本明細書に説明される、および/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/または電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全または部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされ得る、動的リンクライブラリ内にインストールされ得る、またはインタープリタ型プログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
【0200】
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスは、例えば、関与する計算の量または複雑性に起因して、または結果を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。さらに、EM追跡を使用する姿勢推定は、典型的には、ARまたはVR環境においてリアルタイムで行われる必要があり、ハードウェア処理が、姿勢推定タスクおよび周囲電磁場歪みの補正を実施し、享受できるユーザ体験を提供するために要求される。
【0201】
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性または不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的または別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
【0202】
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、または機能性は、プロセスにおいて具体的機能(例えば、論理または算術)またはステップを実装するための1つまたはそれを上回る実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムまたはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して、並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
【0203】
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線または無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
【0204】
本開示は、対象デバイスを使用して行われ得る方法を含む。方法は、そのような好適なデバイスを提供するという行為を含んでもよい。そのような提供は、エンドユーザによって行われてもよい。換言すれば、「提供する」行為は、単に、エンドユーザが、対象方法において必須デバイスを提供するように、取得し、アクセスし、接近し、位置付けし、設定し、起動し、電源を入れ、または別様に作用することを要求する。本明細書で記載される方法は、論理的に可能である記載された事象の任意の順序で、および事象の記載された順序で実行されてもよい。
【0205】
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
【0206】
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要または必須ではない。
【0207】
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記述されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/またはステップが、1つまたはそれを上回る実施形態に対していかようにも要求されること、または1つまたはそれを上回る実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/またはステップが任意の特定の実施形態において含まれる、または実施されるべきかどうかを決定するための論理を必然的に含むことを合意することを意図されない。用語「~を備える(comprising)」、「~を含む(including)」、「~を有する(having)」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。本明細書で具体的に定義されないことを除いて、本明細書で使用される全ての技術的および科学的用語は、請求項の妥当性を維持されながら、可能な限り広義に一般的に理解される意味として与えられるべきである。
【0208】
本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、およびA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
【0209】
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、または連続的順序で実施される、または全ての図示される動作が実施される必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。