(57)【特許請求の範囲】
【請求項１】
物体に取り付けられた単数または複数の慣性センサからの慣性センサデータに基づいて向き情報を補正する方法であって、
前記物体の現在の絶対位置を示す位置データを受信する工程、
前記位置データに基づいて前記物体の移動方向を決定する工程、および、
決定された前記移動方向に基づいて前記物体の向き情報を補正する工程、を備え、
前記物体の向き情報を補正する工程は、
前記慣性センサデータに基づいて、前記物体の実際の向きと前記物体の決定された前記移動方向との間の関係を推定するステップ、および、
推定された前記関係が、前記物体の実際の向きが前記物体の決定された前記移動方向に対応していることを示している場合、決定された前記移動方向に基づいて、前記物体の向き情報を補正するステップ、を含む方法。
【請求項２】
前記物体の向き情報を補正する工程は、前記物体の向き情報を前記物体の移動方向と対応させるステップを含む請求項１に記載の方法。
【請求項３】
平滑化フィルタを用いて前記センサデータをフィルタリングして平滑化センサデータを生成する工程をさらに備える請求項１または２に記載の方法。
【請求項４】
ローパスフィルタおよび／またはハイパスフィルタを用いて前記センサデータをフィルタリングする工程をさらに備える請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記センサデータを圧縮する工程をさらに備える請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記センサデータを圧縮する工程は、前記センサデータから１つまたは複数の統計的および／またはヒューリスティックな特徴を抽出してセンサデータ特徴ベクトルを生成するステップを含む請求項５に記載の方法。
【請求項７】
前記センサデータを圧縮する工程は、平均値を抽出すること、標準偏差を抽出すること、および、前記センサデータの主成分分析、を含む請求項５または６に記載の方法。
【請求項８】
圧縮された前記センサデータに基づいて、前記物体の実際の向きと前記物体の移動方向との間の関係を分類する工程、および、当該分類の結果に関して信頼度を生成する工程、をさらに備える請求項５〜７のいずれか１項に記載の方法。
【請求項９】
以前の信頼度および／または所定の物理的特性もしくは対象物の制限に基づいて前記信頼度を検証する工程をさらに備える請求項８に記載の方法。
【請求項１０】
前記物体の実際の向きと前記物体の実際の移動方向との間の関係を分類する工程は、単数または複数の分類アルゴリズムを使用して実行される請求項８または９に記載の方法。
【請求項１１】
前記単数または複数の分類アルゴリズムは、サポートベクターマシンを含む請求項１０に記載の方法。
【請求項１２】
前記物体の向きの誤差が漸増的に補正される請求項１〜１１のいずれか１項に記載の方法。
【請求項１３】
前記誤差は、球面線形補間に基づいて補正される請求項１２に記載の方法。
【請求項１４】
物体の定義済みの実際の向きと定義済みの移動方向との間の定義済み関係に対応するトレーニングセンサデータに基づいて、物体の実際の向きと前記物体の移動方向との間の関係を分類するための教師付き学習モデルをトレーニングする工程をさらに備える請求項１〜１３のいずれか１項に記載の方法。
【請求項１５】
前記物体の向き情報は、前記物体のヨー軸を中心とした回転向きを示す請求項１〜１４のいずれか１項に記載の方法。
【請求項１６】
前記実際の移動方向は、後続の時点に対応する位置データに基づいて決定される請求項１〜１５のいずれか１項に記載の方法。
【請求項１７】
前記センサデータは、三次元加速度データおよび三次元回転速度データを含む請求項１〜１６のいずれか１項に記載の方法。
【請求項１８】
物体に取り付けられた単数または複数の慣性センサからの慣性センサデータに基づいて向き情報を補正するための装置であって、
前記物体の現在の絶対位置を示す位置データを受け取るように構成された入力部、および、
前記位置データに基づいて前記物体の移動方向を決定し、決定された前記移動方向に基づいて前記物体の向き情報を補正するように構成された処理回路、を備え、
前記処理回路は、
前記慣性センサデータに基づいて、前記物体の実際の向きと前記物体の決定された前記移動方向との関係を推定し、かつ、
推定された前記関係が、前記物体の実際の向きが前記物体の決定された前記移動方向に対応していることを示している場合、決定された前記移動方向に基づいて、前記物体の向き情報を補正するように構成されている装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、相対モーションセンサによって取得された不正確な位置および／または向き情報を調整することに関する。これは、たとえばバーチャルリアリティ（ＶＲ）の分野において有用でありうる。
【背景技術】
【０００２】
バーチャルリアリティ（ＶＲ）は、テーマパーク、美術館、建築、トレーニング、シミュレーションなど、幅広い用途においてイノベーションを推し進める。それらのすべては、たとえば、マルチユーザーインタラクションや、２５ｍ×２５ｍよりも大きな大規模エリアからの恩恵を受ける。今日の最先端のＶＲシステムは、主にカメラベースのモーション追跡を使用している。しかし、追跡の正確性はカメラの解像度および環境の大きさとともに減少し、そしてより多くのユーザーを追跡することは、オクルージョンを避けるためにより多くのカメラを必要とする。これらのシステムのコストは、ユーザー数と追跡領域のサイズとに応じて急激に増加する。これに対して、部屋規模の追跡は数百ドルで利用可能である。
【０００３】
概念的には、完全ポーズ（complete pose）（位置および向き）ではなく、ユーザー／物体ごとに単一の位置のみを追跡する、いわゆるノーポーズ（ＮＰ）追跡システムは、大幅に低いトータルコストで、より広い追跡領域およびより多くのユーザーにおいて動作できる。ＮＰ追跡システムは、たとえば、無線周波数（ＲＦ）追跡システムをベースとすることができる。しかし、まだそれらの適用性を制限する多くの技術的な障害がある。最も重要なことには、カメラベースのモーションキャプチャシステム（フルポーズを提供する）とは対照的に、ＮＰ追跡システムは、追跡精度が不十分であるため、ポーズを導出するために組み合わせることができない物体ごとの複数のシングルポジションを提供する。したがって、物体の向き（たとえば、ユーザーの体に対する頭の向きなど）は、別途推定する必要がある。
【０００４】
現在の低コストのヘッドマウントディスプレイ（ＨＭＤ）ユニットは、物体の向き（たとえば頭の向き）を推定するために使用できる、加速度計、ジャイロスコープ、および磁力計などの局所慣性測定ユニット（ＩＭＵ）を装備している。このクライアント上の処理は、姿勢推定カメラベースのシステムの深刻な問題であるレイテンシを減らすこともできる。ＶＲシステムにおいてレイテンシを減らすことによってイマージョン（没入感）を大幅に改善できる。
【０００５】
しかし、実際には、ＩＭＵ式の向き推定は、いくつかの理由で正確さから程遠い。第一に、磁力計は多くの屋内および磁気環境で信頼度が低いため、間違った絶対向きを提供することが多い。第二に、相対ＩＭＵデータに基づく推測航法では、ドリフトが発生し、（しばらくすると）間違った向き推定となる。ナビゲーションにおいて、推測航法（またはデッドレコニング（dead reckoning））は、以前に測定された位置を使用し、経過時間および経過にわたる既知のまたは推定された速度に基づいてその位置を進めることによって、自分の現在位置を計算する処理として知られている。第三に、ＨＭＤの低コストのセンサは信頼できない運動方向の推定値を提供するので、最先端の向きフィルタは失敗する。第四に、センサノイズの他に、回転（たとえば頭部回転など）が、物体を動かして回転させている間の加速度の線形成分および重力成分を確実に推定することを不可能にする。しかし、線形加速度成分は、移動方向、変位および／または位置を推定するために必要である。
【０００６】
誤った向き推定は、現実世界とＶＲディスプレイとの間の重大な不一致をもたらす可能性がある。図１の上段は、頭を動きの方向に向けてまっすぐ歩くユーザーの図を示す。この動きは、中央列の柱１０１、１０２の中央（ドリフトなし）を通り抜けるはずであり、これはユーザーの仮想ビューを示す。しかし、ドリフト（最下列は４５度の方位オフセットを示す）の下では、誤った頭部の向き（ベクトルｖ）が画像をレンダリングするために使用されることから、同じ動きは右から左への変位をもたらす。ユーザーにとっては、動きの方向がＶＲビューに適合しない。これは乗り物酔いを引き起こす可能性がある。
【０００７】
図２は、実物体Ｒと仮想物体Ｖとの間の関係と、実視野方向（ベクトルｒ）および仮想視野方向（ベクトルｖ）の両方と、を図示している。現実の移動方向（ベクトルｍ）は、ユーザーが現実の物体Ｒに向かってまっすぐ前方に歩くことを表す。一方、ユーザーは、仮想物体Ｖが右に通り過ぎるのを経験する。現実世界（Ｒが配置されている）の観点から、仮想物体Ｖは、これらはドリフト値分回転しているため、もはや実世界の対応物Ｒと一致しない。ドリフトが増加するにつれて乗り物酔いも増加することが分かった。したがって、センサベースの向きまたはビュー方向（ベクトルｖ）を実際の向きまたはビュー方向（ベクトルｒ）とよりよく位置決めすることが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本開示の着想は、長時間安定した対象物向きを達成するために、ユーザーまたは対象物が自然に動いている間（たとえば、歩くことおよび自分の頭を回転させること）に、位置追跡を相対ＩＭＵデータと組み合わせることである。
【課題を解決するための手段】
【０００９】
本開示の一態様によれば、物体に取り付けられた１つまたは複数の慣性センサからの慣性センサデータに基づく向き情報を補正するための方法が提供される。前記物体は、原則として、それに取り付けられた１つまたは複数のＩＭＵを有する任意の種類の生物または無生物の移動可能または移動物体とすることができる。たとえば、いくつかの例では、前記物体は人の頭部またはＨＭＤでありうる。いくつかの例では、センサデータは、多次元加速度データおよび／または多次元回転速度データを含むことができる。前記方法は、前記物体の現在の絶対位置を示す位置データを受け取ることを含む。いくつかの例では、前記位置データは、ＮＰ追跡システムから生じる前記物体の単一の絶対位置を示すものとすることができる。前記方法は、また、前記位置データに基づいて前記物体の移動方向を決定し、決定された移動方向に基づいて前記物体の向き情報を補正することを含む。
【００１０】
ＶＲに関連するアプリケーションの例では、慣性センサデータに基づく前記物体の向き情報は、物体の仮想方向と見なすこともできるが、センサの不正確さのために実際の方向とは異なる可能性がある。
【００１１】
いくつかの例では、物体の向き情報は、物体の（たとえば、ユーザーの頭部の）ヨー軸の周りの回転方向を示すことができる。さまざまな物体が３次元で自由に回転できる。ピッチ（水平に走る軸を中心に上下）、ヨー（垂直に走る軸を中心に左右）、およびロール（ピッチ軸に垂直な水平軸を中心に回転）である。これらの軸は、横方向、垂直方向、および長手方向として指定することも可能である。これらの軸は物体と一緒に移動し、物体とともに地球に対して回転する。ヨー回転とは、リジッドボディのヨー軸を中心とした動きで、動きの方向の左または右に向いている方向を変える。物体のヨーレートまたはヨー速度は、この回転の角速度である。通常、度／秒またはラジアン／秒で測定される。
【００１２】
いくつかの例では、移動の方向は、後続の時点に対応する位置データに基づいて決定できる。位置データは、対象物の二次元または三次元位置（ｘ，ｙ，ｚ）を表すことができ、位置追跡システムによって提供できる。第１の時点における第１の多次元位置および次の第２の時点における第２の多次元位置に基づいて、第１の位置から第２の位置を指す現在または瞬間の多次元動きベクトルを導出することが可能である。
【００１３】
いくつかの例では、物体の向き情報を補正することは、センサデータに基づいて、物体の実際の向きと物体の（実際の）移動方向との間の関係を推定することを含むことができる。推定された関係が、物体の実際の向き（たとえば、ユーザーの頭の向き）が物体の実際の移動方向に対応することを示す場合、物体の向き情報は、決定された実際の移動方向に基づいて補正されうる。
【００１４】
いくつかの例では、人間のような生物が主にその視線方向に向かって歩く、と仮定すると、物体の向き情報を補正することは、物体の向き情報を物体の移動方向に対応させることを含みうる。そのため、１つ以上のＩＭＵによって提供される不正確な方向推定は、物体の測定された（実際の）移動方向と一致する可能性がある。
【００１５】
いくつかの例では、前記方法は、平滑化されたセンサデータを生成するために、センサデータを平滑化フィルタで前処理することをさらに、任意で含みうる。そのような平滑化フィルタの一例はＳａｖｉｔｚｋｙ−Ｇｏｌａｙフィルタであり、これはデータを平滑化するために、すなわち信号を大きく歪めることなく信号対雑音比を高めるために、一組のデジタルデータ点に適用できるデジタルフィルタである。これは、畳み込み（convolution）として知られるプロセスにおいて、線形最小二乗法によって低次多項式を用いて隣接するデータ点の連続サブセットを適合させることによって達成できる。
【００１６】
いくつかの例では、前記方法は、ローパスフィルタおよび／またはハイパスフィルタを用いて（平滑化された）センサデータをフィルタリングすることをさらに任意で含みうる。いくつかの用途では、これは、たとえば重力に関連する加速度信号成分などの望ましくないセンサ信号成分を回避または低減するのに有益でありうる。
【００１７】
いくつかの例では、物体の実際の向きと物体の（実際の）移動方向との間の関係を推定することは、（フィルタリングされた）センサデータを圧縮することをさらに含みうる。信号処理では、データ圧縮は元の表現よりも少ないビット数で情報をエンコードする。圧縮は、非可逆的または可逆的のいずれかである。可逆圧縮は、統計的冗長性を識別して排除することによってビットを削減する。可逆圧縮で情報が失われることはない。非可逆圧縮は、不要な情報や重要性の低い情報を削除することでビット数を減らす。データサイズを縮小するプロセスは、データ圧縮と呼ばれる。
【００１８】
いくつかの例では、センサデータを圧縮することは、センサデータから１つまたは複数の統計的および／またはヒューリスティックな特徴を抽出してセンサデータ特徴ベクトルを生成することを含みうる。そのような特徴は、時間領域特徴（たとえば、平均、標準偏差、ピーク）または周波数領域特徴（たとえば、ＦＦＴ、エネルギー、エントロピ）、ヒューリスティック特徴（たとえば、信号振幅面積／ベクトル、軸相関）、時間−周波数領域特徴（たとえば、ウェーブレット）、領域特有特徴（たとえば、歩行検出）、を含みうる。
【００１９】
様々な統計的および／またはヒューリスティックな特徴が原則的に可能であるが、いくつかの例では、センサデータを圧縮することは、平均値、標準偏差を抽出することを含み、センサデータの主成分分析（Principal Component Analysis）（ＰＣＡ）を含むことができる。このように、多数のセンサデータサンプルを、統計的および／またはヒューリスティック特徴を表す１つまたは少数のサンプルに減らすことができる。ＰＣＡは、直交変換を使用して、相関関係にある可能性のある変数の観測値のセットを、主成分と呼ばれる線形に相関しない変数の値のセットに変換する統計的手順である。主成分の数は元の変数の数以下である。この変換は、最初の主成分が可能な限り最大の分散を持つように定義され（つまり、データ内の可能な限り多くの分散が考慮される）、おのおのの次の成分は、それが選好する要素に対して直交するという制約下で、可能な限り最大の分散を有する。その結果得られるベクトルは、相関のない直交基底関数系である。
【００２０】
いくつかの例では、物体の実際の向きと物体の実際の移動方向との間の関係を推定することは、圧縮センサデータに基づいて関係を分類すること、および、分類結果に関して統計的信頼度を生成することをさらに含みうる。機械学習および統計学では、分類は、カテゴリメンバーシップが既知の観測値（またはインスタンス）を含むデータのトレーニングセットに基づいて、新しい観測値がカテゴリセットのどれに属するかを識別する問題と呼ばれる。カテゴリの例は、「前進しており頭部は右」、「前進しており頭部は左」、「前進しており頭部は真っ直ぐ」など、物体の実際の向きと物体の実際の移動方向との関係を示すことができる。機械学習の用語では、分類は監視された学習、すなわち正しく識別された観察のトレーニングセットが利用可能である場合の学習の事例と見なされる。多くの場合、個々の観察結果は、説明変数または特徴としていろいろ知られている、定量化可能なプロパティ（特性）のセットに分析される。
【００２１】
物体の実際の向きと物体の実際の移動方向との間の関係を分類することは、たとえばサポートベクターマシン（ＳＶＭ）などの様々な分類アルゴリズムによって実行できる。機械学習では、ＳＶＭは、分類および回帰分析に使用されるデータを分析する、関連する学習アルゴリズムを備えた教師付き学習モデルである。それぞれが２つのカテゴリのうちのどちらかに属するとマークされたトレーニング例のセットを考えると、ＳＶＭトレーニングアルゴリズムは新しいサンプルを一方または他方のカテゴリに割り当てるモデルを構築し、それを非確率的バイナリ線形分類器にする。ＳＶＭモデルは、例を空間内の点として表現したもので、別々のカテゴリの例ができるだけ広い明確なギャップで分割されるようにマッピングされる。次に、新しい例が同じ空間にマッピングされ、それらがギャップのどちら側にあるかに基づいてあるカテゴリに属すると予測される。線形分類を実行することに加えて、ＳＶＭは、いわゆるカーネルトリックを使用して非線形分類を効率的に実行し、それらの入力を高次元の特徴空間に暗黙的にマッピングできる。データがラベル付けされていない場合、教師つき学習は不可能であり、教師なし学習アプローチが必要とされ、これは、データのグループへの自然なクラスタリングを見つけて、新しいデータをこれらの形成されたグループにマッピングすることを試みる。ＳＶＭを改善するクラスタリングアルゴリズムは、サポートベクタークラスタリングと呼ばれ、データがラベル付けされていない場合や、あるいは、分類パスの前処理として一部のデータのみがラベル付けされている場合に、産業用アプリケーションでよく使用される。
【００２２】
いくつかの例では、分類の統計的信頼度は、所定の物理的特性または物体の制限に基づいてさらに検証できる。たとえば、人は、自分が動いている方向をよく見る。また、人はある短時間内にはその頭を左から右へ、またはその逆に向けることができない。たとえば、その後の２つの推定期間または予測期間が１００〜２５０ミリ秒以内であり、そして両方の予測が頭部の向きに関して矛盾する結果を生じる場合、それらのそれぞれの信頼水準は低下しうる。
【００２３】
いくつかの例では、物体の向き情報の誤差は、増分的または反復的に補正できる。すなわち、誤差は、時間の経過とともにＶＲに適用されうるより小さな部分に分割できる。ＶＲアプリケーションでは、これによって、いわゆる乗り物酔いを低減するか、さらには回避できる。いくつかの例では、球面線形補間（ＳＬＥＲＰ）を使用して誤差を補正できる。
【００２４】
いくつかの例では、前記方法は、ライブモードとトレーニングモードとを含むことができる。トレーニングモード中、教師つき学習モデル（たとえばＳＶＭ）は、物体の事前定義された実際の向きと事前定義された実際の移動方向との間の事前定義された関係に対応するトレーニングセンサデータに基づいて、物体の実際の向きと当該物体の実際の移動方向との間の関係を分類するためにトレーニングできる。
【００２５】
本開示のさらなる態様によれば、物体に取り付けられた１つまたは複数の慣性センサからの慣性センサデータに基づいて向き情報を補正するための装置が提供される。当該装置は、その動作時に、本開示による方法を実行できる。それは、物体の現在の絶対位置を示す位置データを受け取るように構成された入力と、位置データに基づいて物体の移動方向を決定し、決定された移動方向に基づいて物体の向き情報を補正するように構成される処理回路とを含む。
【００２６】
したがって、いくつかの例では、ユーザーが自然に動いている間（たとえば、自分の頭を歩いて回転させている間）、位置追跡を相対ＩＭＵデータと組み合わせて長時間安定した物体（たとえば頭）の向きを達成することを提案する。人間は主に視線方向に向かって歩くという仮定の下で、いくつかの例は、センサ信号から特徴を抽出し、（たとえば身体の）実際の移動方向と実際の物体（たとえば頭部）の方向との関係を分類し、これを絶対追跡情報と組み合わせることを提案する。これにより、オフセットをユーザーの仮想ビューに合わせるために使用可能な絶対的な頭の向きが得られる。前方移動および視線方向の高い確率（probability）を構成することによって分類エラーを減らすために、人間の歩く方向と見る方向とが一致する傾向があるという事実を、さらに利用できる。
【図面の簡単な説明】
【００２７】
装置および／または方法のいくつかの例は、単なる例として、添付の図面を参照して以下に説明される。
【００２８】
【図１】実世界（上）および仮想世界（中および下）におけるビューの視覚化を示す図。
【図２】向きドリフトに基づいてレンダリングされた画像の関連する仮想横方向の動きをもたらす直線の実の前方への動きを示す図。
【図３】頭の向きのドリフトの例を示す図。ここで、θは未知の実際の頭の向き（ベクトルｒ）と仮想の頭の向き（ベクトルｖ）との間のオフセットであり、ωは視線方向と移動方向との間のオフセットである。
【図４】本開示の一例による、向き情報を補正するための方法のフローチャート。
【図５】本開示の一例に係る向き情報を補正するための装置のブロック図。
【図６ａ】未加工の加速度信号を示す図。
【図６ｂ】（ローパス（ＬＰ）、ハイパス（ＨＰ））フィルタリングされた加速度信号を示す図。
【図７ａ】線形加速度、ＩＩＲ（ＬＰ、ＨＰ）フィルタリングを示す図。
【図７ｂ】線形加速度、ＩＩＲ（ＬＰ、ＨＰ）フィルタリングを示す図。
【図７ｃ】線形加速度、ＩＩＲ（ＬＰ、ＨＰ）フィルタリングを示す図。
【図７ｄ】線形加速度、ＩＩＲ（ＬＰ、ＨＰ）フィルタリングを示す図。
【図７ｅ】ジャイロスコープの生データを示す図。
【図７ｆ】ジャイロスコープの生データを示す図。
【図７ｇ】ジャイロスコープの生データを示す図。
【図７ｈ】ジャイロスコープの生データを示す図。
【図８】センサ信号前処理のブロック図。
【図９】履歴ベースの信頼度最適化プロセスの一例を示す図。
【図１０】特徴抽出および分類を含むセンサ信号処理のブロック図。
【図１１】センサ信号後処理のブロック図。
【図１２】競合センサ信号処理チェーンのブロック図。
【発明を実施するための形態】
【００２９】
いくつかの例が示されている添付の図面を参照しながら、さまざまな例をより完全に説明する。図において、線、層、および／または領域の厚さは、明確さのために誇張されている場合がある。
【００３０】
したがって、さらなる例は様々な補正および代替形態が可能であるが、それらのいくつかの特定の例が図面に示されており、後で詳細に説明される。しかし、この詳細な説明は、さらなる例を説明された特定の形態に限定するものではない。さらなる例は、本開示の範囲内に含まれるすべての補正形態、等価物、および代替形態をカバーしうる。図面の説明を通して、類似の番号は、類似または同様の要素を指し、同一または類似の機能を提供しながら、互いに比較したときに同一または変更された形態で実施されうる。
【００３１】
ある要素が別の要素に「接続（connected）」または「結合（coupled）」されていると言うとき、それらの要素は直接接続または結合されているか、あるいは１つ以上の介在要素を介して結合されうることが理解されるであろう。２つの要素ＡおよびＢが「または」を用いて組み合わされる場合、これはすべての可能な組み合わせ、すなわちＡのみ、Ｂのみ、ならびにＡおよびＢ、を開示するものと理解される。同じ組み合わせの別の表現は、「ＡとＢの少なくとも一方」であり。２つ以上の要素の組み合わせに対しても同じことが言える。
【００３２】
本明細書において特定の実施例を記載する目的で使用される用語は、さらなる実施例を限定することを意図するものではない。「a」、「an」および「the」などの単数形が使用され、単一の要素のみを使用することが明示的または暗黙的に必須であると定義されていない場合はいつでも、同じ機能を実施するために、さらなる例を複数の要素を使用してもよい。同様に、機能が複数の要素を使用して実装されるものとして後に説明されるとき、さらなる例は単一の要素または処理エンティティを使用して同じ機能を実施できる。用語「備える（comprises）」、「備える（comprising）」、「含む（includes）」、および／または「含む（including）」は、使用されるとき、記載された特徴、整数、ステップ、操作、プロセス、行為、要素および／または要素の存在を特定することをさらに理解されたい。ただし、１つまたは複数の他の特徴、整数、ステップ、動作、プロセス、動作、要素、構成要素、および／またはそれらの任意のグループの存在または追加を排除するものではない。
【００３３】
本明細書中において、異なる定義がされない限り、全ての用語（技術的および科学的用語を含む）は、実施例が属する技術のそれらの通常の意味で使用される。
【００３４】
以下では、本開示の原理を主にＶＲの文脈で例示するが、本開示から利益を得る当業者は、これらの原理を、生物または無生物可動物体の向き情報を提供するためにセンサデータが可能である他の多数の技術分野に直接的に移すことが可能であることを理解するであろう。ＩＭＵの場合、相対センサデータは、不可避に経時的に誤差の蓄積を招くため、時々補正する必要がある。本開示は、ＩＭＵセンサデータを位置または位置追跡データと組み合わせることによるそのような補正のための概念を提案するものである。
【００３５】
絶対センサ（磁力計など）は実際には確実には機能しないため、相対移動推定センサしか利用することができない。たとえばＶＲ用途に使用されるＨＭＤの場合、これは必然的に、センサドリフトにより、長期的には誤った頭の向きに導く。
【００３６】
図３は、ユーザー３００の上面図を用いた異なるドリフトシナリオを示している。ユーザー３００は、ＨＭＤ３１０を携帯している。図３（ａ）は、ドリフトがほとんどない（Ψ´≒０°）状況である。ユーザーの実際の頭の向き（ベクトルｒ）は、その仮想の頭の向き（ベクトルｖ）に非常に近い。したがって、実際の頭部の向きがＶＲ画像を正しくレンダリングするために使用されるため、動きは自然に感じられる。図３（ｂ）では、いくらかのドリフトが累積しており、ベクトルｖとベクトルｒとは約Ψ´≒４５°異なる。ユーザー３００がベクトルｍの方向に移動すると、ユーザー３００は、このオフセットをレンダリングされたカメラ画像のベクトルｖに向かう不自然な／誤った並進として認識する。図３（ｃ）は、この状況の縮小表示を示しており、ユーザーは下にあり、図１の柱はグリッドの上端にある。ユーザー３００は、２段階でベクトルｍの方向に前進する。ベクトルｒはユーザーの実際の視線方向であり、ベクトルｖはドリフトの影響を受けた視線方向である。ユーザー３００は、ＶＲディスプレイが、柱３０３がまっすぐ前方にあることを示唆しているので、この柱３０３に向かって歩こうと試みる。しかし、ユーザーの頭／体の向きはベクトルｍの方向に向いている。乗り物酔いを引き起こすのは、ユーザーが柱３０３に到達するために実際に真っ直ぐ前に（ベクトルｍの方向に）動くとき、ＶＲビューが横方向の動きを示すことである。図１の下段も参照されたい。図３（ｄ）では、ＶＲディスプレイがドリフトを受けていることから、ユーザーは柱３０４をベクトルｖの方向において真っ直ぐ前方に見る。Ψ´が小さいときは、ユーザーはいかなる不都合も認識しないだろう。Ψ´がより大きいときは、相対距離の歪みが、ユーザーがＶＲに見るすべての物体に影響を与えるので、ユーザーは、標的に近づく間、あたかも自分が側方に引き離されていくかのように感じる。問題は、頭の向きが未知であるときにベクトルｒとΨ´とがＶＲシステムに対して未知であり、それによりＶＲシステムがベクトルｖをベクトルｒに対してより近くに位置決めすることができない、ということである。したがって、許容可能なレベルのイマージョンを達成するためには、ベクトルｖの（連続的な）調節と、長期安定進路オリエンテーションとが必要である。
【００３７】
図４は、これを達成し、加速度計および／またはジャイロスコープなどの単数または複数の慣性センサからの慣性センサデータに基づき（不正確な）向き情報を補正する、方法４００のハイレベルフローチャートを示す。物体の一例は、ユーザー３００自身、あるいは、ユーザーの頭部に装着されたＨＭＤ３１０でありうる。本開示から利益を得る当業者は、たとえば動物や車両などの他の物体も同様に可能であることを理解するであろう。
【００３８】
方法４００は、物体３１０の現在の絶対位置を示す位置データを受信する工程４１０を含む。この目的のために、物体３１０は、たとえば統合ＧＰＳセンサによってＮＰ位置データを生成または引き起こすことができる。他の選択肢は、高周波（ＲＦ）ＮＰ追跡システムを使用することでありうる。この場合、物体３１０は、当該物体に取り付けられて複数のアンテナにＲＦ信号を放射する能動的または受動的ＲＦ位置タグによって追跡できるであろう。物体の位置は、異なるアンテナへのＲＦ信号の異なる飛行時間に基づいて決定できる。物体の実際の移動方向は、位置データに基づいて決定できる（４２０）。物体の向き情報ベクトルｖは、決定された実際の移動方向ベクトルｍに基づいて補正できる（４２０）。
【００３９】
図５は、方法４００を実行するための対応する装置５００の概略ブロック図を示す。
【００４０】
装置５００は、物体３１０の現在の絶対位置を示す位置データを受け取るように構成された入力５１０を有する。装置５００は、さらに、単数または複数の慣性センサから慣性センサデータを受け取るための入力５２０を有することができる。向き情報ベクトルｖは、慣性センサデータから導き出すことができる。装置５００の処理回路５３０は、位置データに基づいて物体３１０の実際の移動方向ベクトルｍを決定し、決定された実際の移動方向ベクトルｍに基づいて物体の向き情報ベクトルｖを補正するように構成されている。補正された向き情報は、出力５４０を介して提供できる。
【００４１】
本開示から利益を得る当業者は、装置５００が多数の方法で実施可能であることを理解するであろう。たとえば、それを、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、または特定用途向け集積回路（ＡＳＩＣ）などの、それに応じてプログラムされたプログラマブルハードウェアデバイスとすることができる。一例において、装置５００は、ＶＲアプリケーション用のＨＭＤ３１０、または、ＨＭＤを制御する別の（遠隔）装置、に統合できる。いくつかの例では、ＨＭＤは、スマートフォンまたはその他の携帯機器から構成されてもよい。
【００４２】
絶対位置追跡が（絶対）位置データを生成するために使用されるので、解決手段は、位置データまたは位置追跡情報を相対モーションセンサと組み合わせることである。人が前方への移動において前方をみている（ｆ／０、０度で前方）を見ていると仮定すると、その人の位置［ｐ０…ｐｔ］をｔ時間ステップ、記録できる。これらの記録された位置から位置軌跡ベクトルｍ（ベクトルｍ＝ｐｔ−ｐ０≒ベクトルｖ）を抽出できる。したがって、実際の移動方向ベクトルｍを決定する工程（４２０）は、後続の時点に対応する位置データに基づいてベクトルｍを決定すること工程を含むことができる。ベクトルｖへのオフセットを導出するためにベクトルｍを使用できる（図３（ｂ）を参照）。２つの次元（ｘ、ｙ）が与えられると、次のようにして予備の実際の向きベクトルｒ´を、次式によって導くことができる。
【数１】
0006761551.tif 000002
【００４３】
最後に、座標系の正しい象限Ｑｉ（Γ∈｛Ｑ１＝９０°，Ｑ２＝１８０°，Ｑ３＝２７０°，Ｑ４＝３６０°｝）について座標系を補正するために補正係数φを加えることができる（次式）。
【数２】
0006761551.tif 000003
【００４４】
この基本的実施によって、ユーザーの頭の向きがその動きの方向に等しい場合、すなわちベクトルｒ≒ベクトルｍであれば、正しいオフセットを推定できる。しかし実際には、これは必ずしも当てはまるわけではなく、間違った向きが推定される可能性がある（図３（ｃ）を参照）。ユーザーがω＝２０°（ｆ／２０）だけ右を見ている場合、正規化方法はｆ／０と想定しているが、ユーザーが右を見ているω＝２０°では、この方法は失敗する可能性がある。ＨＭＤ３１０が移動方向を向いている、すなわち、ベクトルｒ≒ベクトルｍであるかどうかを知るためには、ユーザー３００に対して前方を見て移動するように助言できるであろう。しかし、このことによって、イマージョンの欠如も引き起こされるので、これは次善策となるであろう。さらに、累積されたドリフトについての手がかりがないので（そしてもしもそれがイマージョンにとってきわどい状態にあるならば）、定期的にユーザーをトリガすることが必要となるであろう。
【００４５】
したがって、いくつかの例は、向き推定をトリガするために、ＩＭＵセンサデータを継続的に分析し、ｆ／０の動きを自動的に検出することを提案する。しかし、本開示から利益を得る当業者は、ＩＭＵに基づく頭部の向きを補正するために、任意の他の所定の頭部／身体関係も、使用、およびトレーニングされうることを理解するであろう。加えて、自動移動検出は、イマージョンを高いレベルに維持するために最大許容ヘッディングドリフトに対処できる。したがって、いくつかの例では、ドリフトを永続的にモニタリング向き推定をトリガするためにモニタリングし、それを可能な限り小さくする。
【００４６】
いくつかの実装形態では、センサデータは、三次元加速度データおよび三次元回転速度データを含む。今日の低コストの加速度計のいくつかは、２００Ｈｚで、重力と線形加速度ａｃｃｒａｗ＝ａｃｃｌｉｎ＋ａｃｃｇｒａｖとを最大±１６ｇで追跡し、一部のジャイロスコープは２００Ｈｚで回転速度を最大±２０００°／ｓで追跡する。図６（ａ）は、ｆ／−４５の加速度の生データの例を示している。Ｘは上向き、Ｙは左向き、Ｚはユーザーの後ろ向きを指す。加速度信号の生データは線形加速度だけでなく重力も含むので、この信号は加速度ａｃｃｌｉｎを得るために分解できる。ノイズに加えて、曲線は加速度信号中に重力成分を含んでいる。これは、Ｘ軸の破線曲線において最もよく見られ、ユーザーが歩いているときにユーザーの頭が上下に動いていることを示している（１歩のサイクル、すなわち２つのステップが示されている）。しかし、線形加速度だけが空間内の実際の動きを表すので、重力成分を排除する必要がある。
【００４７】
図６（ｂ）はフィルタリング後の線形加速度を示す。いくつかの実施では、バターワース設計のローパスおよびハイパス無限インパルス応答（ＩＩＲ）フィルタを使用できる。それは、正しい事前初期化後において高速で信頼度が高いためである。本開示から利益を得る当業者は、信号特性および／または抽出されるべき特徴に応じて、たとえば有限インパルス応答（ＦＩＲ）フィルタなどの他のフィルタ構成も同様に実行可能であることを理解するであろう。ローパスフィルタの一例は、非常に速い頭の動きを補償することができ、５Ｈｚの半値周波数でノイズを除去できるのに対して、ハイパスフィルタの一例は、４０Ｈｚのカットオフ周波数で長期ドリフトを補償できる。ＩＩＲフィルタのサンプルｎの出力信号ｙ［ｎ］は、次のように記載できる。
【数３】
0006761551.tif 000004
ここで、ｘは加速度の生データ、ａはフィルタ次数Ｍｌｏｗ＝３、Ｍｈｉｇｈ＝１のフィードバックフィルタへのフィルタ係数、ｂはフィルタ次数Ｎｌｏｗ＝３、Ｎｈｉｇｈ＝１のフィードフォワードフィルタへのフィルタ係数である。したがって、各フィルタ（ＬＰ、ＨＰ）には、独自のバタフライフィルタ構成（ａ、ｂ）を有することができる。不均一（たとえばＮ＝１）ａｉ（次式）およびｂｉ＝１が当てはまる。
【数４】
0006761551.tif 000005
【００４８】
図７（ａ）は、立っているときのＩＩＲフィルタリングされた加速度（ｓ／０）を示し、図７（ｂ）〜図７（ｄ）は、異なる移動タイプおよび１歩周期、たとえば左足および右足のステップに対するＩＩＲフィルタリングされた加速度を示す。
【００４９】
特徴抽出例は、線形加速度データを平滑化されたジャイロスコープデータと融合できる。したがって、方法４００は、平滑化されたセンサデータを生成するために平滑化フィルタでセンサ（生）データをフィルタリングする工程を任意選択でさらに含むことができる。信号特性を保持しながら入力生データを平滑化することは、たとえばフレームサイズＦ＝２５、多項式次数Ｎ＝３のＳａｖｉｔｚｋｙ−Ｇｏｌａｙフィルタによって達成できる。
【００５０】
【数５】
0006761551.tif 000006
に以下の２式を適用する。
【数６】
0006761551.tif 000007
【数７】
0006761551.tif 000008
ここで、数ｎはポイントｊである。
【００５１】
トレーニング段階では、入力データを一定のサンプル数のウィンドウにスライスできる。データは、最小／最大しきい値加速度ピークおよびそれらの間の時間によって加速度データ内のモーションを検出できるモーション状態モジュールによって分析できる。ゼロクロッシングの数とその方向を特定することによって、現在のウィンドウに関する追加情報（ｆｏｏｔ∈［ｌ，ｒ］によるステップ）を導き出すことができる。ライブ段階（live-phase）では、データはスライディングウィンドウで処理できる。一般に使用されている５０％のウィンドウオーバーラップとは対照的に、スライディングウィンドウアプローチを使用できる（これは自動モーション検出にも有益でありうる）。スライディングウィンドウの長さは、新しいデータフレームを作成するための物理的制限に従って、利用可能なＣＰＵ時間および将来のサンプル数ωｗａｉｔによって要求される応答時間に適応できる。ただし、ウィンドウ長は、アクティビティのセンサデータを完全に捕捉するのに十分な長さにする必要がある。人間は、最低、毎秒１．５歩（現実において１．４ｍ／ｓで歩く間。なお、ユーザーはＶＲでゆっくり歩く傾向がある。：ゆっくり０．７５ｍ／ｓ、普通１．０ｍ／ｓ、速い１．２５ｍ／ｓ）であるので、高い信頼度を作り出すために１０００ミリ秒の最小長を使用できる。
【００５２】
慣性センサ生データの前述の例示的な前処理は、図８に要約されている。
【００５３】
センサ生データ（たとえば、加速度データおよび／または平滑化されたジャイロスコープデータ）は、大きな特徴の損失を伴わずに、平滑化フィルタ８１０（たとえば、Ｓａｖｉｔｚｋｙ−Ｇｏｌａｙフィルタ）によって平滑化できる。不要な信号成分（たとえば重力など）を分離するために、（平滑化された）センサデータをＬＰおよび／またはＨＰフィルタリングできる（８２０）。このフィルタリングは、加速度データおよびジャイロスコープデータの両方またはそれらの一方のみに関連させることができる。その後、前処理されたセンサデータはデータ圧縮に使用できる。データ圧縮の一例は、センサデータから１つ以上の統計的および／またはヒューリスティックな特徴を抽出してセンサデータ特徴ベクトルを生成することである。非常に信頼度の高い結果を提供しながらも、パフォーマンスを節約するために最小限の数の統計的および／またはヒューリスティックな発見的な特徴を使用することが提案される。基本的に、特徴は、事前定義された移動クラス間の分散を最大にし、かつ事前定義された移動クラス内の分散を最小にするように選択できる。以下の表１は、一般的に使用されるいくつかの特徴を紹介し、必要な自由度および必要な特徴の数を示している。
【００５４】
表１  ＩＭＵ分類によく使用される特徴
【表１】
0006761551.tif 000009
【００５５】
１つの例では、データに１８個の特徴を使用している。すなわち、それぞれ平均値、ＳｔＤ、およびＰＣＡで表される３軸加速度計およびジャイロスコープである。したがって、いくつかの例では、センサデータ圧縮することは、平均値を抽出すること、標準偏差を抽出すること、およびセンサデータの主成分分析（ＰＣＡ）、を含むことができる。
【００５６】
平均値（Mean）：各軸の平均特徴量（次式）である。なお、Ｎはサンプル数であり、Ｘは入力データである。
【数８】
0006761551.tif 000010
【００５７】
分散(StD)：分散（φ２）と平均（μ）とに基づく標準偏差値（次式）である。なお、Ｎはサンプル数であり、Ｘは入力データである。
【数９】
0006761551.tif 000011
【００５８】
ＰＣＡ：ＰＣＡによって提供されるスコア値は、特異値分解（ＳＶＤ）に基づいて得ることができる。次元がｎ×ｐの任意の行列Ｘ（それらの平均について測定されたｐ個の変数のｎ個の観測値の行列）を考えると、行列Ｘ＝ＵＬＡ´（ここで、Ｕは（ｎ×ｒ）ユニタリ行列であり、Ａ´は（ｐ×ｒ）である。）はユニタリ行列Ａの付属物（adjunct）だといえる。Ｕ´Ｕ＝ＩｒおよびＡ´Ａ＝ＩｒＬとなるように正規直交列を有する各行列は、任意の行列Ｘのランクｒをもつ（ｒ×ｒ）対角行列（Ｌ＝Σ、対角上の特異値）である。要素ｕｉｋは、Ｕの（ｉ、ｋ）番目の要素であり、要素ａｊｋはＡの（ｊ、ｋ）番目の要素である。次式は、対角行列Ｌの（ｋ）番目の要素である。
【数１０】
0006761551.tif 000012
【００５９】
【数１１】
0006761551.tif 000013
【００６０】
ここで、
【数１２】
0006761551.tif 000014
は、ｉ＝１、２、．．．、ｎおよびｋ＝１、２、．．．、ｒで、ｋ番目のスコア（次式）を保持するベクトルを表す。
【数１３】
0006761551.tif 000015
ＳＶＭ分類器の文脈では、決定されたＰＣスコアｚｉｋは、最良適合超平面からの観察ｎの垂直距離を表す。
【００６１】
いくつかの例では、本発明の方法は、圧縮センサデータまたはセンサデータ特徴ベクトルに基づいて、物体の実際の向きベクトルｒと物体の実際の移動方向ベクトルｍとの間の関係を分類することを含む。任意選択で、分類結果に関して信頼度レベルを生成できる。移動タイプを分類するために、たとえば決定木（ＤＴ）、キュービックＫ最近傍（Ｋ−ＮＮ）、およびキュービックサポートベクターマシン（ＳＶＭ）のように、いくつかの分類器を代替的にまたは組み合わせて使用できる。すなわち、物体の実際の向きベクトルｒと物体の実際の移動方向ベクトルｍとの関係を分類するには、１つ以上の分類アルゴリズムを使用する。
【００６２】
１）決定木
ここでは、分類回帰木（ＣＡＲＴ）を使用して、最大分割数１００（複雑なツリー）および最小数のリーフ数１で合理的な結果を達成できる。下記に対して低いＣＰＵ集約性のジニ多様性指数ＩＧ（次式）を分割基準として使用できる。
【数１４】
0006761551.tif 000016
ここで、ノードｔ∈ＳＣ−１（ＳＣ−１は次式）とノードｔに到達するクラスｉを有するすべてのクラスＣのフラクションｐ（ｉ｜ｔ）とを対象とする。
【数１５】
0006761551.tif 000017
さらに、分類プロセスでデータを見逃すことがないので、代理決定分割なしでＣＡＲＴを使用するので、パフォーマンスを節約できる。各リーフの親の数がジニ不純物基準ＩＧで１０を超えるまで、ツリーを枝刈りできる。同じ親ノード（Ｐ）から発生し、親ノードに関連するリスク（ＲＰ）以上のリスク値の合計（Ｒｉ）を生成するリーフ（子ノードＣ）のマージングを残すことができる。
【数１６】
0006761551.tif 000018
【００６３】
２）Ｋ−最近傍
いくつかの実施はまた、距離パラメータ（ｋ＝３）および距離関数（Ｘ×Ｙ）ｎ→（Ｘ→Ｙ）を有するキュービックＫ最近傍分類器を使用してもよい。例として、インスタンスｘ、ラベルｙ、距離の重みωｉ、および次元数ｍを有する３次のミンコフスキー距離メトリック（次式）を選択できる。
【数１７】
0006761551.tif 000019
ここで、ｘ、ｙは次式を満たす。
【数１８】
0006761551.tif 000020
【００６４】
ｋ個の最近傍点の中で少なくとも２つのクラスが同数の最近傍点を持つときに発生する結合は、それらの最小のインデックス値に基づいて分割することができまる。より正確性の低い未補正Ｋ次元ツリーの代わりに、ＣＵＰ集約型ではあるが十分に正確で徹底的な探索アルゴリズム（ブルートフォース）を使用できる。距離の重みωｉは、インスタンスｘとラベルｙとの逆平方の２乗である（次式）。
【数１９】
0006761551.tif 000021
【００６５】
隣接行列の次元数ｍ＝１０は、妥当な結果をもたらすことができる。予測子データのスケールが大きく異なる状況を改善するためにデータをリスケーリングするデータ標準化アプローチを使用できる。これは、各予測子データを平均値と標準偏差でセンタリングおよびスケーリングすることによって実現可能である。
【００６６】
３）サポートベクターマシン
他の実施例は、空間マッピング関数φ（Ｘ）および次数ｄを有する入力センサデータ特徴ベクトルＸ（ｘｑ，ｘｉ）に適用される同次多項式カーネル（次式）を有する３次ＳＶＭを使用する。
【数２０】
0006761551.tif 000022
【００６７】
トレーニング空間Ｒｎにおけるトレーニングベクトルｔを、ｉ＝１，．．．，ｔであるｘｉ∈Ｒｎで定義し、ｙｉ∈｛１，−１｝が成り立つラベルベクトルｙ∈Ｒｔを定義する。ＳＶＭによって下記の最適化問題を解くことができる。
（ｉ）
【数２１】
0006761551.tif 000023
および、
（ｉｉ）正規化パラメータ（ボックス制約レベル）Ｃおよびスラック変数ξｉ（ξｉ＞０，ｉ＝１，．．．，ｔ）を用いて、ｘｉをより高次元の空間に
0006761551.tif 000024
マッピングする。
【数２２】
0006761551.tif 000025
【００６８】
この最適化の解は、超平面に重み変数αｉで次式を満たす最適な法線ベクトル（ｗ）を提供する。
【数２３】
0006761551.tif 000026
【００６９】
最終的に、特徴ベクトルｘｑに対する決定関数ｆ（ｘｑ）は、次式のとおりとなる。
【数２４】
0006761551.tif 000027
【００７０】
ＳＶＭ分類器の例は、Ｃ＝１で非線形特徴を分離できるように３次（ｄ＝３）カーネル関数（次式）を使用できるのに対し、カーネルスケールはγ＝４である。
【数２５】
0006761551.tif 000028
【００７１】
ハイパーパラメータは、トレーニングデータ（７０％）に基づき１０分割交差検証によって得ることができる。交差検証は、すべてのテストフォールド（１０分割）にわたる平均誤差を決定する。これにより、精度の概要が得られる。マルチクラス分類を提供するために、マルチクラスＳＶＭタイプまたはＯｎｅ−ｖｓ−Ａｌｌ  ＳＶＭタイプを使用できる。
【００７２】
上記の例の予測器または分類器（ＤＴ、ｋ−ＮＮ、ＳＶＭ）はそれぞれ、クラスラベルとその確率または信頼度とを推定できる。いくつかの例では、クラスラベルは、物体の動きの最大周波数成分よりも高い率または周波数で推定できる。たとえば、人間が頭を左から右に向けるのにかかる時間のあいだに、それぞれが関連する確率／信頼度ζを用いて、多数のクラスラベル推定値を予測できる。任意選択的に、我々のトレーニングされた分類器によって提供される信頼度ζは、それらを経時的に関連づけることおよび／または人間中心のモーション挙動を考慮することによってさらに改善できる。換言すると、推定クラスラベル出力の現在の信頼度は、以前のクラスラベル出力またはクラスラベル仮説の以前の信頼度を考慮に入れることによって、および／または、物体の１つまたは複数の所定の物理的特性もしくは制限、特に人間の動きの制限（例：頭の回転速度）、を考慮することによって、検証できる。たとえば、現在の最も可能性の高いクラスラベル推定値の現在の信頼度を、以前のクラスラベル出力の１つ以上の以前の信頼度またはその平均値と比較できる。より複雑なシナリオでは、たとえば、多数の異なるクラスラベルがあるとき、たとえば、隠れマルコフモデル（ＨＭＭ）のようなより複雑なモデルも採用できる。そこでは、以前の実際のクラスラベル出力の信頼度だけでなく、多数の異なるクラスラベルに対応する以前のクラスラベル仮定の信頼度も考慮に入れることができる。
【００７３】
いくつかの例では、考慮したい信頼度ζＨの履歴の量ｓを定義できる。したがって、分類器は、時刻ｔｉ∈［ｔｎ−ｓ，．．．，ｔｎ］における前の信頼度ζＨの履歴と比較できる時刻ζ（ｔｉ）における信頼度を予測できる。開始確率を、第１の信頼度観測Ｐ（ζＨ，ｔｉ＝０）に提供できる。すべての信頼度がその先祖（ancestors）の確率Ｐ（ζＨ，ｔｎ−ｓ）に依存するので、現在の信頼度の確率をｎ−ｓ過去の信頼度に関して決定できる。したがって、現在の信頼度の信用度を大幅に向上させ、単一の異常値を特定することも可能である。ｓ＞０の信頼度履歴ですべてのｎに基づく現在の信頼度Ｐ（ζ，ｔｎ）および現在の信頼度ζ（ｎ）の確率は次式で与えられる。
【数２６】
0006761551.tif 000029
ここで、Ｐ（ζＨ，ｔｉ）＝１．０でｔｉ＝０でのＰ（ζＨ，ｔｉ）＝１．０の初期履歴確率は、次式で与えられる。
【数２７】
0006761551.tif 000030
【００７４】
図９は、例示的な最適化プロセスＰＯが、グランドトゥルースＴ（下部）と比較して、確率ｐに基づいて誤った予測ＰＥ（上部）をどのように補償するかを示す。機械学習において、「グランドトゥルース」という用語は、教師付き学習手法に対するトレーニングセットの分類の正確さを指す。ｔｎ−ｓにおいて信頼できる精度でｆ／−４５を予測した場合、人間は２つの予測の間（ｄｔ≒ωｗａｉｔ・５ｍｓ）に頭を回転させることができないから、人間中心のモーションと比較すると、ｔｎにおけるｆ／＋４５の予測は誤りである。
【００７５】
前述の処理動作の概要を図１０に示す。前処理されたセンサデータ（図８参照）の処理は、（ｉ）トレーニングおよび（ｉｉ）ライブの２つの段階に分けることができる。両方の場合において、特徴ベクトルを入力データから抽出できる（参照番号１０１０参照）。トレーニング段階１０２０の間、平滑化センサデータを分類器（たとえば、ＳＶＭ）１０３０に提供できる。平滑化センサデータは、入力データをそれらの特徴空間にリフトするために、特徴抽出アルゴリズム１０１０によって分析できる。抽出された特徴は、分類器１０３０をトレーニングまたは最適化するための入力として使用できる。ライブ段階中に、トレーニングされた分類器１０３０は、その信頼度とともにモーションクラスまたはラベルを予測できる。たとえば、分類器１０３０は、ｆ／０のモーションに対応する入力信号を取得し、９０％の信頼度でラベルｆ／０を事前予測する。分類器は、入力データをどの程度分類できるかを判断するために、いわゆる交差検証原理を使用できる。人間は主に自分が動いている方向を見ているので、経時的な人間のモーションの確率論的な仮定により、結果はさらに改善されうる。また、人間は、２つの予測の間（［５，．．．，２０］ミリ秒）で、彼／彼女の頭の向きを左から右（またはその逆）に変えることはできない。したがって、経時的な確率依存性および／または予測信頼度の履歴を使用して、予測信頼度の現在の確率を予測し、必要に応じてラベルを補正できる（参照番号１０４０を参照）。
【００７６】
ビュー適応（後）手順の一例を図１１に示す。物体の実際の向きと物体の実際の移動方向との間の関係の分類が予測された後、物体（たとえばユーザーの頭部）が移動方向に対してどのような向きになるかがわかる。頭の向きが移動方向と一致していることがわかっている場合は、物体の仮想の向きを物体の実際の移動方向に対応させることで、センサベースの仮想ビューを補正できる。直接的な補正はいわゆる乗り物酔いにつながる可能性があるので、より成熟した解決策が提案される。エラーが特定の非没入（イマージョン）しきい値を超えた場合にエラーを補正し、より小さい没入部分でエラーをスライスし、これらの没入部分を経時的におよび現在の回転に沿って繰り返し適用することが提案される。
【００７７】
いくつかの例は、自由度（ＤＯＦ）６のセンサを使用して頭部の向きを推定し、補完フィルタを実施する。このフィルタは、静的バイアスおよび温度依存バイアスを、加法性のゼロ平均ガウスノイズとともに考慮している。現在のジャイロスコープに基づく角速度ωｘ，ｙ，ｚ＝ωｘ，ｙ，ｚ＋ｂ＋ｎを、静的および温度依存バイアスｂおよび加法性ゼロ平均ガウスノイズｎを用いて定義する。フィルタ係数αと現在の加速度計のデータａｘ，ｙ，ｚとを用いてラジアンを度（１８０／ｎ）に変換すると、ロールの方向φとピッチの方向θとを求めることができる。
【数２８】
0006761551.tif 000031
【数２９】
0006761551.tif 000032
【００７８】
ロールφおよびピッチθの方向は長期間にわたって安定していると推定できる。ヨーの方向は、加速度計とジャイロスコープとを融合することで（磁力計を無視して）決定できる。物体の（ヨー）方向情報のエラーは、増分的または反復的に補正できる。たとえば、決定された向き方位誤差ψｅｒｒをユーザーの現在のビュー方位ψｃｕｒに線形補間する球面線形補間（ＳＬＥＲＰ）メカニズムを適用できる。この補間は、現在の回転の符号（ｓｇｎ）がｓｇｎ（ψｃｕｒ）＝ｓｇｎ（ψｅｒｒ）である間にオフセットωｉｍｍ・ψｅｒｒの小さいイマージョン部分を適用することによって、ユーザーの視野への現在のドリフトψｅｒｒを近似する。反復ごとにωｉｍｍ（毎秒度数）を調整してイマージョンを最適化できる。ヨー角ψｉｎを有する初期の頭の向きに基づく補正された向きは、次のように記載できる。
【数３０】
0006761551.tif 000033
【００７９】
完全な例示的配向補正手順が図１２に要約されている。
【００８０】
いくつかの実装形態は、ωの様々な範囲を分類するために教師付き機械学習を使用することを提案する。すべての範囲の中でω＝０°のモーメントクラスが最も高い確率を持っている場合、我々はベクトルｍとベクトルｒとが一致するモーメントを検出した。ＩＭＵ（加速度計およびジャイロスコープ）の入力データから、線形加速度成分、すなわちあらゆる方向軸における運動エネルギーを抽出することができ、ωの特定の範囲を特徴付け、表す特定の特徴を定義できる。これらの特徴を使用して、事前に記録されラベル付けされたトレーニングデータに基づいてすべてのωクラスおよびその前のクラスについて分類器をトレーニングできる。実行時に、これらのモデルを使用してライブセンサデータのωを分類することができ、したがって、もしも対応する分類器が最良の適合度／最大の信頼度をもたらすならば、ω＝０°のモーメントを検出することが可能である。
【００８１】
図１２は、例示的な処理パイプラインの基本構造を概説する。まず、加速度センサおよびジャイロセンサの生データをデジタルフィルタで平滑化できる。トレーニング段階では、分類器をトレーニングするためにラベル付けされたトレーニングサンプル上の既知の範囲のωに対する特徴を抽出するためにそのような信号を使用できる。ωモーメントの細かい分解能によって、分類およびその信頼度を向上させることができる。ただし、これより多くのクラスを使用すると、トレーニングのためにより多くのデータが必要になり、実行時に分類のためにより多くのＣＰＵサイクルが必要になるため、これはトレードオフである。実行時に、トレーニングされた分類器は（平滑化された）未知の信号の特徴を処理し、最適なω範囲クラスとその分類信頼度をリターンできる。分類率を上げるために、分類器の推定された信頼度を使用し、物理的な制限（たとえば、１ミリ秒で頭を９０°回転させることが不可能であるといった人間中心の動きの制限）を含めることができる。ω＝０°のモーメントでは、頭の向きのドリフトを決定することができ、球面線形補間を使用して、ユーザーになんら適合が見えないイマージョン的にドリフトを減少させることができる。換言すると、ベクトルｒがベクトルｍとほぼ等しいときを測定するために、絶対位置データを用いてベクトルｍを決定できる。ベクトルｒを決定するために、いくつかの例では、身体の移動方向に対する頭の向きを分類することを提案する。分類器（たとえばＳＶＭ）のトレーニング段階では、既知の運動状態（頭部の実際の向きとユーザーの実際の運動方向との間の関係）に対応する相対センサデータが記録され、トレーニングに使用される。これにより、トレーニングされた分類器は、未知のセンサデータを分類し、ノーテーション（notation）と信頼度を提供できる。そのため、適切なノーテーションの選択によって、ベクトルｒがベクトルｍとほぼ等しいときがいつであるかの知識を得ることができる。たとえば、「頭／左」、「頭／右」、「頭／正面」のノーテーションを使用することができ、ここで「頭／正面」はベクトルｒがベクトルｍとほぼ等しいときに対応する。分類を最適化するために、計算の複雑さを軽減し分類を最適化することを目的とした特徴ベクトルを生成することが提案される。センサ生データは、通常、適切な特徴抽出によって回避または低減できる冗長性を含む。いわゆる特徴空間マッピングは、実世界から新しい次元へ特徴をリフトすることに役立ちうる。特徴ベクトルが十分に分離され分類されることができるように、マッピング関数が選択されうる。選択は、高い信頼度と低いパフォーマンスの間の妥協である。
【００８２】
従来の概念は長時間安定した方位バイアス推定を欠き、したがってイマージョンを減少させるが、本開示のいくつかの例は、イマーシブな頭部方位推定を可能にできる信号処理、特徴抽出、分類およびビューハーモナイゼーションを組み合わせることを提案するものである。
【００８３】
他の例の同様の特徴を置き換えるために、あるいは、その特徴を単数または複数の例に追加導入するために、単数または複数の先の詳細な例および図とともに言及および説明された態様および特徴を、単数または複数の他の例と組み合わせてもよい。
【００８４】
例はさらに、コンピュータプログラムがコンピュータまたはプロセッサ上で実行されるときに、上記の方法のうちの１つまたは複数を実行するためのプログラムコードを有するコンピュータプログラムでありうるかまたはそれに関連し得る。上述した様々な方法のステップ、動作またはプロセスは、プログラムされたコンピュータまたはプロセッサによって実行できる。例はまた、機械、プロセッサ、またはコンピュータによって読み取り可読、機械実行可能、プロセッサ実行可能、またはコンピュータ実行可能命令のプログラムであるデジタルデータ記憶媒体などのプログラム記憶装置を対象とすることができる。命令は、上述の方法の動作の一部または全部を実行するかまたは実行させる。プログラム記憶装置は、たとえば、デジタルメモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードドライブ、あるいは光学的に読み取り可能なデジタルデータ記憶媒体を含むか、それらであってもよい。さらなる例はまた、たとえばコンピュータシステム、コンピュータシステムなどをカバーできる。更なる例は、上述の方法の動作を実行するようにプログラムされた、スマートフォン、または、上述の方法の動作を実行するようにプログラムされた、（フィールド）プログラマブルロジックアレイ（（Ｆ）ＰＬＡ）または（フィールド）プログラマブルゲートアレイ（（Ｆ）ＰＧＡ）として実施される、コンピュータ、プロセッサ、または制御ユニット、もカバーしうる。
【００８５】
上記の説明および図面は単に本開示の原理を例示するものである。さらに、本明細書に列挙されたすべての例は、主に、本開示の原理および本発明者が当分野をさらに発展させるのに寄与した概念を読者が理解するのを助けるための教育目的のみに意図されている。本開示の原理、態様、および実施例、ならびにその特定の実施例を列挙する本明細書中のすべての記載は、それらの均等物を包含することを意図している。
【００８６】
特定の機能を実行するための「手段（means for ...）」として示される機能ブロックは、特定の機能を実行するように構成された回路を指すことがある。したがって、「何か（s.th）のための手段」は、各タスクのために構成または各タスクに適したデバイスまたは回路等の、「何か（s.th）のために構成または何かに適した手段」として実施できる。
【００８７】
「手段（means）」、「センサ信号を提供する手段（means for providing a sensor signal）」、「送信信号を生成する手段（means for generating a transmit signal）」などと表示された任意の機能ブロックを含む、図に示される様々な要素の機能は、「シグナルプロバイダ（a signal provider）」、「シグナル処理ユニット（a signal processing unit）」、「プロセッサ（a processor）」、「コントローラ（a controller）」などの形態の専用ハードウェアの形で、さらに、適切なソフトウェアと関連してソフトウェアを実行できるハードウェアの形で実施可能である。たとえばプロセッサによって提供される場合、上記の諸機能は、単一の専用プロセッサによって、または、またはそのうちのいくつかまたはすべてが共有されうる複数の個別プロセッサによって、提供可能である。しかし、「プロセッサ」または「コントローラ」という用語は、ソフトウェアを実行可能なハードウェアに全く限定されるものではなく、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェアを記憶するための読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、および不揮発性記憶装置も含まれうる。また、従来式および／またはカスタムの他のハードウェアも含まれうる。
【００８８】
ブロック図は、たとえば、本開示の原理を実施する高水準回路図を例示する場合がある。同様に、フローチャート、流れ図、状態遷移図、擬似コードなどは、様々なプロセス、動作、またはステップを表すことができ、それらは、たとえば、コンピュータ読み取り可能媒体で実質的に表すことができ、したがって、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかにかかわらず、コンピュータまたはプロセッサによって実行される。本明細書または特許請求の範囲に開示されている方法は、これらの方法のそれぞれの動作のそれぞれを実行するための手段を有する装置によって実施できる。
【００８９】
なお、本明細書または特許請求の範囲に開示されている複数の動作、プロセス、動作、ステップまたは機能の開示は、たとえば技術的な理由で、明示的または暗黙的にそうでないと記載されていない限り、特定の順序内にあると解釈されてはならない。したがって、複数の行為または機能の開示は、そのような行為または機能が技術的な理由で相互交換可能でない限り、これらを特定の順序に限定するものではない。さらに、いくつかの例では、単一の動作、機能、プロセス、動作またはステップは、それぞれ、複数の副動作、副機能、副プロセス、副動作またはステップを含むか、またはそれらに分割することが可能である。明示的に除外されていない限り、そのような副動作が含まれ、この単一の行為の開示の一部となりうる。
【００９０】
さらに、以下の請求の範囲は、詳細な説明に組み込まれており、各請求の範囲は、別々の例としてそれ自身で独立していてもよい。各請求項は別々の例として独立していてもよいが、従属請求項は請求項において１つまたは複数の他の請求項との特定の組み合わせを指すことがあるが、他の例は従属請求項の組み合わせも含みうることに留意されたい。互いに従属請求項または独立請求項の主題に関する請求項。そのような組み合わせは、特定の組み合わせが意図されていないと述べられていない限り、本明細書において明示的に提案される。さらに、たとえこの請求項が独立請求項に直接従属していないとしても、他の独立請求項に対する請求項の特徴も含むことを意図している。
【図１Ｐａｒｔ１】
0006761551.tif 000034
【図１Ｐａｒｔ２】
0006761551.tif 000035
【図１Ｐａｒｔ３】
0006761551.tif 000036
【図１Ｐａｒｔ４】
0006761551.tif 000037
【図１Ｐａｒｔ５】
0006761551.tif 000038
【図２】
0006761551.tif 000039
【図３】
0006761551.tif 000040
【図４】
0006761551.tif 000041
【図５】
0006761551.tif 000042
【図６ａ】
0006761551.tif 000043
【図６ｂ】
0006761551.tif 000044
【図７ａ】
0006761551.tif 000045
【図７ｂ】
0006761551.tif 000046
【図７ｃ】
0006761551.tif 000047
【図７ｄ】
0006761551.tif 000048
【図７ｅ】
0006761551.tif 000049
【図７ｆ】
0006761551.tif 000050
【図７ｇ】
0006761551.tif 000051
【図７ｈ】
0006761551.tif 000052
【図８】
0006761551.tif 000053
【図９】
0006761551.tif 000054
【図１０】
0006761551.tif 000055
【図１１】
0006761551.tif 000056
【図１２】
0006761551.tif 000057