JP6761551B2 - 1つ以上の慣性センサからの向き情報を補正する装置および方法 - Google Patents

1つ以上の慣性センサからの向き情報を補正する装置および方法 Download PDF

Info

Publication number
JP6761551B2
JP6761551B2 JP2019557675A JP2019557675A JP6761551B2 JP 6761551 B2 JP6761551 B2 JP 6761551B2 JP 2019557675 A JP2019557675 A JP 2019557675A JP 2019557675 A JP2019557675 A JP 2019557675A JP 6761551 B2 JP6761551 B2 JP 6761551B2
Authority
JP
Japan
Prior art keywords
sensor data
orientation
data
actual
orientation information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2019557675A
Other languages
English (en)
Other versions
JP2020505614A (ja
Inventor
ムチュラー,クリストファー
ファイグル,トービアス
Original Assignee
フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ.
フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ., フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ. filed Critical フラウンホーファー−ゲゼルシャフト ツール フエルデルング デア アンゲヴァンテン フォルシュング エー.ファオ.
Publication of JP2020505614A publication Critical patent/JP2020505614A/ja
Application granted granted Critical
Publication of JP6761551B2 publication Critical patent/JP6761551B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20182Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Manufacturing & Machinery (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Measurement Of Length, Angles, Or The Like Using Electric Or Magnetic Means (AREA)

Description

本開示は、一般に、相対モーションセンサによって取得された不正確な位置および/または向き情報を調整することに関する。これは、たとえばバーチャルリアリティ(VR)の分野において有用でありうる。
バーチャルリアリティ(VR)は、テーマパーク、美術館、建築、トレーニング、シミュレーションなど、幅広い用途においてイノベーションを推し進める。それらのすべては、たとえば、マルチユーザーインタラクションや、25m×25mよりも大きな大規模エリアからの恩恵を受ける。今日の最先端のVRシステムは、主にカメラベースのモーション追跡を使用している。しかし、追跡の正確性はカメラの解像度および環境の大きさとともに減少し、そしてより多くのユーザーを追跡することは、オクルージョンを避けるためにより多くのカメラを必要とする。これらのシステムのコストは、ユーザー数と追跡領域のサイズとに応じて急激に増加する。これに対して、部屋規模の追跡は数百ドルで利用可能である。
概念的には、完全ポーズ(complete pose)(位置および向き)ではなく、ユーザー/物体ごとに単一の位置のみを追跡する、いわゆるノーポーズ(NP)追跡システムは、大幅に低いトータルコストで、より広い追跡領域およびより多くのユーザーにおいて動作できる。NP追跡システムは、たとえば、無線周波数(RF)追跡システムをベースとすることができる。しかし、まだそれらの適用性を制限する多くの技術的な障害がある。最も重要なことには、カメラベースのモーションキャプチャシステム(フルポーズを提供する)とは対照的に、NP追跡システムは、追跡精度が不十分であるため、ポーズを導出するために組み合わせることができない物体ごとの複数のシングルポジションを提供する。したがって、物体の向き(たとえば、ユーザーの体に対する頭の向きなど)は、別途推定する必要がある。
現在の低コストのヘッドマウントディスプレイ(HMD)ユニットは、物体の向き(たとえば頭の向き)を推定するために使用できる、加速度計、ジャイロスコープ、および磁力計などの局所慣性測定ユニット(IMU)を装備している。このクライアント上の処理は、姿勢推定カメラベースのシステムの深刻な問題であるレイテンシを減らすこともできる。VRシステムにおいてレイテンシを減らすことによってイマージョン(没入感)を大幅に改善できる。
しかし、実際には、IMU式の向き推定は、いくつかの理由で正確さから程遠い。第一に、磁力計は多くの屋内および磁気環境で信頼度が低いため、間違った絶対向きを提供することが多い。第二に、相対IMUデータに基づく推測航法では、ドリフトが発生し、(しばらくすると)間違った向き推定となる。ナビゲーションにおいて、推測航法(またはデッドレコニング(dead reckoning))は、以前に測定された位置を使用し、経過時間および経過にわたる既知のまたは推定された速度に基づいてその位置を進めることによって、自分の現在位置を計算する処理として知られている。第三に、HMDの低コストのセンサは信頼できない運動方向の推定値を提供するので、最先端の向きフィルタは失敗する。第四に、センサノイズの他に、回転(たとえば頭部回転など)が、物体を動かして回転させている間の加速度の線形成分および重力成分を確実に推定することを不可能にする。しかし、線形加速度成分は、移動方向、変位および/または位置を推定するために必要である。
誤った向き推定は、現実世界とVRディスプレイとの間の重大な不一致をもたらす可能性がある。図1の上段は、頭を動きの方向に向けてまっすぐ歩くユーザーの図を示す。この動きは、中央列の柱101、102の中央(ドリフトなし)を通り抜けるはずであり、これはユーザーの仮想ビューを示す。しかし、ドリフト(最下列は45度の方位オフセットを示す)の下では、誤った頭部の向き(ベクトルv)が画像をレンダリングするために使用されることから、同じ動きは右から左への変位をもたらす。ユーザーにとっては、動きの方向がVRビューに適合しない。これは乗り物酔いを引き起こす可能性がある。
図2は、実物体Rと仮想物体Vとの間の関係と、実視野方向(ベクトルr)および仮想視野方向(ベクトルv)の両方と、を図示している。現実の移動方向(ベクトルm)は、ユーザーが現実の物体Rに向かってまっすぐ前方に歩くことを表す。一方、ユーザーは、仮想物体Vが右に通り過ぎるのを経験する。現実世界(Rが配置されている)の観点から、仮想物体Vは、これらはドリフト値分回転しているため、もはや実世界の対応物Rと一致しない。ドリフトが増加するにつれて乗り物酔いも増加することが分かった。したがって、センサベースの向きまたはビュー方向(ベクトルv)を実際の向きまたはビュー方向(ベクトルr)とよりよく位置決めすることが望ましい。
本開示の着想は、長時間安定した対象物向きを達成するために、ユーザーまたは対象物が自然に動いている間(たとえば、歩くことおよび自分の頭を回転させること)に、位置追跡を相対IMUデータと組み合わせることである。
本開示の一態様によれば、物体に取り付けられた1つまたは複数の慣性センサからの慣性センサデータに基づく向き情報を補正するための方法が提供される。前記物体は、原則として、それに取り付けられた1つまたは複数のIMUを有する任意の種類の生物または無生物の移動可能または移動物体とすることができる。たとえば、いくつかの例では、前記物体は人の頭部またはHMDでありうる。いくつかの例では、センサデータは、多次元加速度データおよび/または多次元回転速度データを含むことができる。前記方法は、前記物体の現在の絶対位置を示す位置データを受け取ることを含む。いくつかの例では、前記位置データは、NP追跡システムから生じる前記物体の単一の絶対位置を示すものとすることができる。前記方法は、また、前記位置データに基づいて前記物体の移動方向を決定し、決定された移動方向に基づいて前記物体の向き情報を補正することを含む。
VRに関連するアプリケーションの例では、慣性センサデータに基づく前記物体の向き情報は、物体の仮想方向と見なすこともできるが、センサの不正確さのために実際の方向とは異なる可能性がある。
いくつかの例では、物体の向き情報は、物体の(たとえば、ユーザーの頭部の)ヨー軸の周りの回転方向を示すことができる。さまざまな物体が3次元で自由に回転できる。ピッチ(水平に走る軸を中心に上下)、ヨー(垂直に走る軸を中心に左右)、およびロール(ピッチ軸に垂直な水平軸を中心に回転)である。これらの軸は、横方向、垂直方向、および長手方向として指定することも可能である。これらの軸は物体と一緒に移動し、物体とともに地球に対して回転する。ヨー回転とは、リジッドボディのヨー軸を中心とした動きで、動きの方向の左または右に向いている方向を変える。物体のヨーレートまたはヨー速度は、この回転の角速度である。通常、度/秒またはラジアン/秒で測定される。
いくつかの例では、移動の方向は、後続の時点に対応する位置データに基づいて決定できる。位置データは、対象物の二次元または三次元位置(x,y,z)を表すことができ、位置追跡システムによって提供できる。第1の時点における第1の多次元位置および次の第2の時点における第2の多次元位置に基づいて、第1の位置から第2の位置を指す現在または瞬間の多次元動きベクトルを導出することが可能である。
いくつかの例では、物体の向き情報を補正することは、センサデータに基づいて、物体の実際の向きと物体の(実際の)移動方向との間の関係を推定することを含むことができる。推定された関係が、物体の実際の向き(たとえば、ユーザーの頭の向き)が物体の実際の移動方向に対応することを示す場合、物体の向き情報は、決定された実際の移動方向に基づいて補正されうる。
いくつかの例では、人間のような生物が主にその視線方向に向かって歩く、と仮定すると、物体の向き情報を補正することは、物体の向き情報を物体の移動方向に対応させることを含みうる。そのため、1つ以上のIMUによって提供される不正確な方向推定は、物体の測定された(実際の)移動方向と一致する可能性がある。
いくつかの例では、前記方法は、平滑化されたセンサデータを生成するために、センサデータを平滑化フィルタで前処理することをさらに、任意で含みうる。そのような平滑化フィルタの一例はSavitzky−Golayフィルタであり、これはデータを平滑化するために、すなわち信号を大きく歪めることなく信号対雑音比を高めるために、一組のデジタルデータ点に適用できるデジタルフィルタである。これは、畳み込み(convolution)として知られるプロセスにおいて、線形最小二乗法によって低次多項式を用いて隣接するデータ点の連続サブセットを適合させることによって達成できる。
いくつかの例では、前記方法は、ローパスフィルタおよび/またはハイパスフィルタを用いて(平滑化された)センサデータをフィルタリングすることをさらに任意で含みうる。いくつかの用途では、これは、たとえば重力に関連する加速度信号成分などの望ましくないセンサ信号成分を回避または低減するのに有益でありうる。
いくつかの例では、物体の実際の向きと物体の(実際の)移動方向との間の関係を推定することは、(フィルタリングされた)センサデータを圧縮することをさらに含みうる。信号処理では、データ圧縮は元の表現よりも少ないビット数で情報をエンコードする。圧縮は、非可逆的または可逆的のいずれかである。可逆圧縮は、統計的冗長性を識別して排除することによってビットを削減する。可逆圧縮で情報が失われることはない。非可逆圧縮は、不要な情報や重要性の低い情報を削除することでビット数を減らす。データサイズを縮小するプロセスは、データ圧縮と呼ばれる。
いくつかの例では、センサデータを圧縮することは、センサデータから1つまたは複数の統計的および/またはヒューリスティックな特徴を抽出してセンサデータ特徴ベクトルを生成することを含みうる。そのような特徴は、時間領域特徴(たとえば、平均、標準偏差、ピーク)または周波数領域特徴(たとえば、FFT、エネルギー、エントロピ)、ヒューリスティック特徴(たとえば、信号振幅面積/ベクトル、軸相関)、時間−周波数領域特徴(たとえば、ウェーブレット)、領域特有特徴(たとえば、歩行検出)、を含みうる。
様々な統計的および/またはヒューリスティックな特徴が原則的に可能であるが、いくつかの例では、センサデータを圧縮することは、平均値、標準偏差を抽出することを含み、センサデータの主成分分析(Principal Component Analysis)(PCA)を含むことができる。このように、多数のセンサデータサンプルを、統計的および/またはヒューリスティック特徴を表す1つまたは少数のサンプルに減らすことができる。PCAは、直交変換を使用して、相関関係にある可能性のある変数の観測値のセットを、主成分と呼ばれる線形に相関しない変数の値のセットに変換する統計的手順である。主成分の数は元の変数の数以下である。この変換は、最初の主成分が可能な限り最大の分散を持つように定義され(つまり、データ内の可能な限り多くの分散が考慮される)、おのおのの次の成分は、それが選好する要素に対して直交するという制約下で、可能な限り最大の分散を有する。その結果得られるベクトルは、相関のない直交基底関数系である。
いくつかの例では、物体の実際の向きと物体の実際の移動方向との間の関係を推定することは、圧縮センサデータに基づいて関係を分類すること、および、分類結果に関して統計的信頼度を生成することをさらに含みうる。機械学習および統計学では、分類は、カテゴリメンバーシップが既知の観測値(またはインスタンス)を含むデータのトレーニングセットに基づいて、新しい観測値がカテゴリセットのどれに属するかを識別する問題と呼ばれる。カテゴリの例は、「前進しており頭部は右」、「前進しており頭部は左」、「前進しており頭部は真っ直ぐ」など、物体の実際の向きと物体の実際の移動方向との関係を示すことができる。機械学習の用語では、分類は監視された学習、すなわち正しく識別された観察のトレーニングセットが利用可能である場合の学習の事例と見なされる。多くの場合、個々の観察結果は、説明変数または特徴としていろいろ知られている、定量化可能なプロパティ(特性)のセットに分析される。
物体の実際の向きと物体の実際の移動方向との間の関係を分類することは、たとえばサポートベクターマシン(SVM)などの様々な分類アルゴリズムによって実行できる。機械学習では、SVMは、分類および回帰分析に使用されるデータを分析する、関連する学習アルゴリズムを備えた教師付き学習モデルである。それぞれが2つのカテゴリのうちのどちらかに属するとマークされたトレーニング例のセットを考えると、SVMトレーニングアルゴリズムは新しいサンプルを一方または他方のカテゴリに割り当てるモデルを構築し、それを非確率的バイナリ線形分類器にする。SVMモデルは、例を空間内の点として表現したもので、別々のカテゴリの例ができるだけ広い明確なギャップで分割されるようにマッピングされる。次に、新しい例が同じ空間にマッピングされ、それらがギャップのどちら側にあるかに基づいてあるカテゴリに属すると予測される。線形分類を実行することに加えて、SVMは、いわゆるカーネルトリックを使用して非線形分類を効率的に実行し、それらの入力を高次元の特徴空間に暗黙的にマッピングできる。データがラベル付けされていない場合、教師つき学習は不可能であり、教師なし学習アプローチが必要とされ、これは、データのグループへの自然なクラスタリングを見つけて、新しいデータをこれらの形成されたグループにマッピングすることを試みる。SVMを改善するクラスタリングアルゴリズムは、サポートベクタークラスタリングと呼ばれ、データがラベル付けされていない場合や、あるいは、分類パスの前処理として一部のデータのみがラベル付けされている場合に、産業用アプリケーションでよく使用される。
いくつかの例では、分類の統計的信頼度は、所定の物理的特性または物体の制限に基づいてさらに検証できる。たとえば、人は、自分が動いている方向をよく見る。また、人はある短時間内にはその頭を左から右へ、またはその逆に向けることができない。たとえば、その後の2つの推定期間または予測期間が100〜250ミリ秒以内であり、そして両方の予測が頭部の向きに関して矛盾する結果を生じる場合、それらのそれぞれの信頼水準は低下しうる。
いくつかの例では、物体の向き情報の誤差は、増分的または反復的に補正できる。すなわち、誤差は、時間の経過とともにVRに適用されうるより小さな部分に分割できる。VRアプリケーションでは、これによって、いわゆる乗り物酔いを低減するか、さらには回避できる。いくつかの例では、球面線形補間(SLERP)を使用して誤差を補正できる。
いくつかの例では、前記方法は、ライブモードとトレーニングモードとを含むことができる。トレーニングモード中、教師つき学習モデル(たとえばSVM)は、物体の事前定義された実際の向きと事前定義された実際の移動方向との間の事前定義された関係に対応するトレーニングセンサデータに基づいて、物体の実際の向きと当該物体の実際の移動方向との間の関係を分類するためにトレーニングできる。
本開示のさらなる態様によれば、物体に取り付けられた1つまたは複数の慣性センサからの慣性センサデータに基づいて向き情報を補正するための装置が提供される。当該装置は、その動作時に、本開示による方法を実行できる。それは、物体の現在の絶対位置を示す位置データを受け取るように構成された入力と、位置データに基づいて物体の移動方向を決定し、決定された移動方向に基づいて物体の向き情報を補正するように構成される処理回路とを含む。
したがって、いくつかの例では、ユーザーが自然に動いている間(たとえば、自分の頭を歩いて回転させている間)、位置追跡を相対IMUデータと組み合わせて長時間安定した物体(たとえば頭)の向きを達成することを提案する。人間は主に視線方向に向かって歩くという仮定の下で、いくつかの例は、センサ信号から特徴を抽出し、(たとえば身体の)実際の移動方向と実際の物体(たとえば頭部)の方向との関係を分類し、これを絶対追跡情報と組み合わせることを提案する。これにより、オフセットをユーザーの仮想ビューに合わせるために使用可能な絶対的な頭の向きが得られる。前方移動および視線方向の高い確率(probability)を構成することによって分類エラーを減らすために、人間の歩く方向と見る方向とが一致する傾向があるという事実を、さらに利用できる。
装置および/または方法のいくつかの例は、単なる例として、添付の図面を参照して以下に説明される。
実世界(上)および仮想世界(中および下)におけるビューの視覚化を示す図。 向きドリフトに基づいてレンダリングされた画像の関連する仮想横方向の動きをもたらす直線の実の前方への動きを示す図。 頭の向きのドリフトの例を示す図。ここで、θは未知の実際の頭の向き(ベクトルr)と仮想の頭の向き(ベクトルv)との間のオフセットであり、ωは視線方向と移動方向との間のオフセットである。 本開示の一例による、向き情報を補正するための方法のフローチャート。 本開示の一例に係る向き情報を補正するための装置のブロック図。 未加工の加速度信号を示す図。 (ローパス(LP)、ハイパス(HP))フィルタリングされた加速度信号を示す図。 線形加速度、IIR(LP、HP)フィルタリングを示す図。 線形加速度、IIR(LP、HP)フィルタリングを示す図。 線形加速度、IIR(LP、HP)フィルタリングを示す図。 線形加速度、IIR(LP、HP)フィルタリングを示す図。 ジャイロスコープの生データを示す図。 ジャイロスコープの生データを示す図。 ジャイロスコープの生データを示す図。 ジャイロスコープの生データを示す図。 センサ信号前処理のブロック図。 履歴ベースの信頼度最適化プロセスの一例を示す図。 特徴抽出および分類を含むセンサ信号処理のブロック図。 センサ信号後処理のブロック図。 競合センサ信号処理チェーンのブロック図。
いくつかの例が示されている添付の図面を参照しながら、さまざまな例をより完全に説明する。図において、線、層、および/または領域の厚さは、明確さのために誇張されている場合がある。
したがって、さらなる例は様々な補正および代替形態が可能であるが、それらのいくつかの特定の例が図面に示されており、後で詳細に説明される。しかし、この詳細な説明は、さらなる例を説明された特定の形態に限定するものではない。さらなる例は、本開示の範囲内に含まれるすべての補正形態、等価物、および代替形態をカバーしうる。図面の説明を通して、類似の番号は、類似または同様の要素を指し、同一または類似の機能を提供しながら、互いに比較したときに同一または変更された形態で実施されうる。
ある要素が別の要素に「接続(connected)」または「結合(coupled)」されていると言うとき、それらの要素は直接接続または結合されているか、あるいは1つ以上の介在要素を介して結合されうることが理解されるであろう。2つの要素AおよびBが「または」を用いて組み合わされる場合、これはすべての可能な組み合わせ、すなわちAのみ、Bのみ、ならびにAおよびB、を開示するものと理解される。同じ組み合わせの別の表現は、「AとBの少なくとも一方」であり。2つ以上の要素の組み合わせに対しても同じことが言える。
本明細書において特定の実施例を記載する目的で使用される用語は、さらなる実施例を限定することを意図するものではない。「a」、「an」および「the」などの単数形が使用され、単一の要素のみを使用することが明示的または暗黙的に必須であると定義されていない場合はいつでも、同じ機能を実施するために、さらなる例を複数の要素を使用してもよい。同様に、機能が複数の要素を使用して実装されるものとして後に説明されるとき、さらなる例は単一の要素または処理エンティティを使用して同じ機能を実施できる。用語「備える(comprises)」、「備える(comprising)」、「含む(includes)」、および/または「含む(including)」は、使用されるとき、記載された特徴、整数、ステップ、操作、プロセス、行為、要素および/または要素の存在を特定することをさらに理解されたい。ただし、1つまたは複数の他の特徴、整数、ステップ、動作、プロセス、動作、要素、構成要素、および/またはそれらの任意のグループの存在または追加を排除するものではない。
本明細書中において、異なる定義がされない限り、全ての用語(技術的および科学的用語を含む)は、実施例が属する技術のそれらの通常の意味で使用される。
以下では、本開示の原理を主にVRの文脈で例示するが、本開示から利益を得る当業者は、これらの原理を、生物または無生物可動物体の向き情報を提供するためにセンサデータが可能である他の多数の技術分野に直接的に移すことが可能であることを理解するであろう。IMUの場合、相対センサデータは、不可避に経時的に誤差の蓄積を招くため、時々補正する必要がある。本開示は、IMUセンサデータを位置または位置追跡データと組み合わせることによるそのような補正のための概念を提案するものである。
絶対センサ(磁力計など)は実際には確実には機能しないため、相対移動推定センサしか利用することができない。たとえばVR用途に使用されるHMDの場合、これは必然的に、センサドリフトにより、長期的には誤った頭の向きに導く。
図3は、ユーザー300の上面図を用いた異なるドリフトシナリオを示している。ユーザー300は、HMD310を携帯している。図3(a)は、ドリフトがほとんどない(Ψ´≒0°)状況である。ユーザーの実際の頭の向き(ベクトルr)は、その仮想の頭の向き(ベクトルv)に非常に近い。したがって、実際の頭部の向きがVR画像を正しくレンダリングするために使用されるため、動きは自然に感じられる。図3(b)では、いくらかのドリフトが累積しており、ベクトルvとベクトルrとは約Ψ´≒45°異なる。ユーザー300がベクトルmの方向に移動すると、ユーザー300は、このオフセットをレンダリングされたカメラ画像のベクトルvに向かう不自然な/誤った並進として認識する。図3(c)は、この状況の縮小表示を示しており、ユーザーは下にあり、図1の柱はグリッドの上端にある。ユーザー300は、2段階でベクトルmの方向に前進する。ベクトルrはユーザーの実際の視線方向であり、ベクトルvはドリフトの影響を受けた視線方向である。ユーザー300は、VRディスプレイが、柱303がまっすぐ前方にあることを示唆しているので、この柱303に向かって歩こうと試みる。しかし、ユーザーの頭/体の向きはベクトルmの方向に向いている。乗り物酔いを引き起こすのは、ユーザーが柱303に到達するために実際に真っ直ぐ前に(ベクトルmの方向に)動くとき、VRビューが横方向の動きを示すことである。図1の下段も参照されたい。図3(d)では、VRディスプレイがドリフトを受けていることから、ユーザーは柱304をベクトルvの方向において真っ直ぐ前方に見る。Ψ´が小さいときは、ユーザーはいかなる不都合も認識しないだろう。Ψ´がより大きいときは、相対距離の歪みが、ユーザーがVRに見るすべての物体に影響を与えるので、ユーザーは、標的に近づく間、あたかも自分が側方に引き離されていくかのように感じる。問題は、頭の向きが未知であるときにベクトルrとΨ´とがVRシステムに対して未知であり、それによりVRシステムがベクトルvをベクトルrに対してより近くに位置決めすることができない、ということである。したがって、許容可能なレベルのイマージョンを達成するためには、ベクトルvの(連続的な)調節と、長期安定進路オリエンテーションとが必要である。
図4は、これを達成し、加速度計および/またはジャイロスコープなどの単数または複数の慣性センサからの慣性センサデータに基づき(不正確な)向き情報を補正する、方法400のハイレベルフローチャートを示す。物体の一例は、ユーザー300自身、あるいは、ユーザーの頭部に装着されたHMD310でありうる。本開示から利益を得る当業者は、たとえば動物や車両などの他の物体も同様に可能であることを理解するであろう。
方法400は、物体310の現在の絶対位置を示す位置データを受信する工程410を含む。この目的のために、物体310は、たとえば統合GPSセンサによってNP位置データを生成または引き起こすことができる。他の選択肢は、高周波(RF)NP追跡システムを使用することでありうる。この場合、物体310は、当該物体に取り付けられて複数のアンテナにRF信号を放射する能動的または受動的RF位置タグによって追跡できるであろう。物体の位置は、異なるアンテナへのRF信号の異なる飛行時間に基づいて決定できる。物体の実際の移動方向は、位置データに基づいて決定できる(420)。物体の向き情報ベクトルvは、決定された実際の移動方向ベクトルmに基づいて補正できる(420)。
図5は、方法400を実行するための対応する装置500の概略ブロック図を示す。
装置500は、物体310の現在の絶対位置を示す位置データを受け取るように構成された入力510を有する。装置500は、さらに、単数または複数の慣性センサから慣性センサデータを受け取るための入力520を有することができる。向き情報ベクトルvは、慣性センサデータから導き出すことができる。装置500の処理回路530は、位置データに基づいて物体310の実際の移動方向ベクトルmを決定し、決定された実際の移動方向ベクトルmに基づいて物体の向き情報ベクトルvを補正するように構成されている。補正された向き情報は、出力540を介して提供できる。
本開示から利益を得る当業者は、装置500が多数の方法で実施可能であることを理解するであろう。たとえば、それを、汎用プロセッサ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)などの、それに応じてプログラムされたプログラマブルハードウェアデバイスとすることができる。一例において、装置500は、VRアプリケーション用のHMD310、または、HMDを制御する別の(遠隔)装置、に統合できる。いくつかの例では、HMDは、スマートフォンまたはその他の携帯機器から構成されてもよい。
絶対位置追跡が(絶対)位置データを生成するために使用されるので、解決手段は、位置データまたは位置追跡情報を相対モーションセンサと組み合わせることである。人が前方への移動において前方をみている(f/0、0度で前方)を見ていると仮定すると、その人の位置[p…p]をt時間ステップ、記録できる。これらの記録された位置から位置軌跡ベクトルm(ベクトルm=p−p≒ベクトルv)を抽出できる。したがって、実際の移動方向ベクトルmを決定する工程(420)は、後続の時点に対応する位置データに基づいてベクトルmを決定すること工程を含むことができる。ベクトルvへのオフセットを導出するためにベクトルmを使用できる(図3(b)を参照)。2つの次元(x、y)が与えられると、次のようにして予備の実際の向きベクトルr´を、次式によって導くことができる。
最後に、座標系の正しい象限Qi(Γ∈{Q=90°,Q=180°,Q=270°,Q=360°})について座標系を補正するために補正係数φを加えることができる(次式)。
この基本的実施によって、ユーザーの頭の向きがその動きの方向に等しい場合、すなわちベクトルr≒ベクトルmであれば、正しいオフセットを推定できる。しかし実際には、これは必ずしも当てはまるわけではなく、間違った向きが推定される可能性がある(図3(c)を参照)。ユーザーがω=20°(f/20)だけ右を見ている場合、正規化方法はf/0と想定しているが、ユーザーが右を見ているω=20°では、この方法は失敗する可能性がある。HMD310が移動方向を向いている、すなわち、ベクトルr≒ベクトルmであるかどうかを知るためには、ユーザー300に対して前方を見て移動するように助言できるであろう。しかし、このことによって、イマージョンの欠如も引き起こされるので、これは次善策となるであろう。さらに、累積されたドリフトについての手がかりがないので(そしてもしもそれがイマージョンにとってきわどい状態にあるならば)、定期的にユーザーをトリガすることが必要となるであろう。
したがって、いくつかの例は、向き推定をトリガするために、IMUセンサデータを継続的に分析し、f/0の動きを自動的に検出することを提案する。しかし、本開示から利益を得る当業者は、IMUに基づく頭部の向きを補正するために、任意の他の所定の頭部/身体関係も、使用、およびトレーニングされうることを理解するであろう。加えて、自動移動検出は、イマージョンを高いレベルに維持するために最大許容ヘッディングドリフトに対処できる。したがって、いくつかの例では、ドリフトを永続的にモニタリング向き推定をトリガするためにモニタリングし、それを可能な限り小さくする。
いくつかの実装形態では、センサデータは、三次元加速度データおよび三次元回転速度データを含む。今日の低コストの加速度計のいくつかは、200Hzで、重力と線形加速度accraw=acclin+accgravとを最大±16gで追跡し、一部のジャイロスコープは200Hzで回転速度を最大±2000°/sで追跡する。図6(a)は、f/−45の加速度の生データの例を示している。Xは上向き、Yは左向き、Zはユーザーの後ろ向きを指す。加速度信号の生データは線形加速度だけでなく重力も含むので、この信号は加速度acclinを得るために分解できる。ノイズに加えて、曲線は加速度信号中に重力成分を含んでいる。これは、X軸の破線曲線において最もよく見られ、ユーザーが歩いているときにユーザーの頭が上下に動いていることを示している(1歩のサイクル、すなわち2つのステップが示されている)。しかし、線形加速度だけが空間内の実際の動きを表すので、重力成分を排除する必要がある。
図6(b)はフィルタリング後の線形加速度を示す。いくつかの実施では、バターワース設計のローパスおよびハイパス無限インパルス応答(IIR)フィルタを使用できる。それは、正しい事前初期化後において高速で信頼度が高いためである。本開示から利益を得る当業者は、信号特性および/または抽出されるべき特徴に応じて、たとえば有限インパルス応答(FIR)フィルタなどの他のフィルタ構成も同様に実行可能であることを理解するであろう。ローパスフィルタの一例は、非常に速い頭の動きを補償することができ、5Hzの半値周波数でノイズを除去できるのに対して、ハイパスフィルタの一例は、40Hzのカットオフ周波数で長期ドリフトを補償できる。IIRフィルタのサンプルnの出力信号y[n]は、次のように記載できる。
ここで、xは加速度の生データ、aはフィルタ次数Mlow=3、Mhigh=1のフィードバックフィルタへのフィルタ係数、bはフィルタ次数Nlow=3、Nhigh=1のフィードフォワードフィルタへのフィルタ係数である。したがって、各フィルタ(LP、HP)には、独自のバタフライフィルタ構成(a、b)を有することができる。不均一(たとえばN=1)a(次式)およびb=1が当てはまる。
図7(a)は、立っているときのIIRフィルタリングされた加速度(s/0)を示し、図7(b)〜図7(d)は、異なる移動タイプおよび1歩周期、たとえば左足および右足のステップに対するIIRフィルタリングされた加速度を示す。
特徴抽出例は、線形加速度データを平滑化されたジャイロスコープデータと融合できる。したがって、方法400は、平滑化されたセンサデータを生成するために平滑化フィルタでセンサ(生)データをフィルタリングする工程を任意選択でさらに含むことができる。信号特性を保持しながら入力生データを平滑化することは、たとえばフレームサイズF=25、多項式次数N=3のSavitzky−Golayフィルタによって達成できる。
に以下の2式を適用する。
ここで、数nはポイントjである。
トレーニング段階では、入力データを一定のサンプル数のウィンドウにスライスできる。データは、最小/最大しきい値加速度ピークおよびそれらの間の時間によって加速度データ内のモーションを検出できるモーション状態モジュールによって分析できる。ゼロクロッシングの数とその方向を特定することによって、現在のウィンドウに関する追加情報(foot∈[l,r]によるステップ)を導き出すことができる。ライブ段階(live-phase)では、データはスライディングウィンドウで処理できる。一般に使用されている50%のウィンドウオーバーラップとは対照的に、スライディングウィンドウアプローチを使用できる(これは自動モーション検出にも有益でありうる)。スライディングウィンドウの長さは、新しいデータフレームを作成するための物理的制限に従って、利用可能なCPU時間および将来のサンプル数ωwaitによって要求される応答時間に適応できる。ただし、ウィンドウ長は、アクティビティのセンサデータを完全に捕捉するのに十分な長さにする必要がある。人間は、最低、毎秒1.5歩(現実において1.4m/sで歩く間。なお、ユーザーはVRでゆっくり歩く傾向がある。:ゆっくり0.75m/s、普通1.0m/s、速い1.25m/s)であるので、高い信頼度を作り出すために1000ミリ秒の最小長を使用できる。
慣性センサ生データの前述の例示的な前処理は、図8に要約されている。
センサ生データ(たとえば、加速度データおよび/または平滑化されたジャイロスコープデータ)は、大きな特徴の損失を伴わずに、平滑化フィルタ810(たとえば、Savitzky−Golayフィルタ)によって平滑化できる。不要な信号成分(たとえば重力など)を分離するために、(平滑化された)センサデータをLPおよび/またはHPフィルタリングできる(820)。このフィルタリングは、加速度データおよびジャイロスコープデータの両方またはそれらの一方のみに関連させることができる。その後、前処理されたセンサデータはデータ圧縮に使用できる。データ圧縮の一例は、センサデータから1つ以上の統計的および/またはヒューリスティックな特徴を抽出してセンサデータ特徴ベクトルを生成することである。非常に信頼度の高い結果を提供しながらも、パフォーマンスを節約するために最小限の数の統計的および/またはヒューリスティックな発見的な特徴を使用することが提案される。基本的に、特徴は、事前定義された移動クラス間の分散を最大にし、かつ事前定義された移動クラス内の分散を最小にするように選択できる。以下の表1は、一般的に使用されるいくつかの特徴を紹介し、必要な自由度および必要な特徴の数を示している。
表1 IMU分類によく使用される特徴
1つの例では、データに18個の特徴を使用している。すなわち、それぞれ平均値、StD、およびPCAで表される3軸加速度計およびジャイロスコープである。したがって、いくつかの例では、センサデータ圧縮することは、平均値を抽出すること、標準偏差を抽出すること、およびセンサデータの主成分分析(PCA)、を含むことができる。
平均値(Mean):各軸の平均特徴量(次式)である。なお、Nはサンプル数であり、Xは入力データである。
分散(StD):分散(φ)と平均(μ)とに基づく標準偏差値(次式)である。なお、Nはサンプル数であり、Xは入力データである。
PCA:PCAによって提供されるスコア値は、特異値分解(SVD)に基づいて得ることができる。次元がn×pの任意の行列X(それらの平均について測定されたp個の変数のn個の観測値の行列)を考えると、行列X=ULA´(ここで、Uは(n×r)ユニタリ行列であり、A´は(p×r)である。)はユニタリ行列Aの付属物(adjunct)だといえる。U´U=IおよびA´A=ILとなるように正規直交列を有する各行列は、任意の行列Xのランクrをもつ(r×r)対角行列(L=Σ、対角上の特異値)である。要素uikは、Uの(i、k)番目の要素であり、要素ajkはAの(j、k)番目の要素である。次式は、対角行列Lの(k)番目の要素である。
ここで、
は、i=1、2、...、nおよびk=1、2、...、rで、k番目のスコア(次式)を保持するベクトルを表す。
SVM分類器の文脈では、決定されたPCスコアzikは、最良適合超平面からの観察nの垂直距離を表す。
いくつかの例では、本発明の方法は、圧縮センサデータまたはセンサデータ特徴ベクトルに基づいて、物体の実際の向きベクトルrと物体の実際の移動方向ベクトルmとの間の関係を分類することを含む。任意選択で、分類結果に関して信頼度レベルを生成できる。移動タイプを分類するために、たとえば決定木(DT)、キュービックK最近傍(K−NN)、およびキュービックサポートベクターマシン(SVM)のように、いくつかの分類器を代替的にまたは組み合わせて使用できる。すなわち、物体の実際の向きベクトルrと物体の実際の移動方向ベクトルmとの関係を分類するには、1つ以上の分類アルゴリズムを使用する。
1)決定木
ここでは、分類回帰木(CART)を使用して、最大分割数100(複雑なツリー)および最小数のリーフ数1で合理的な結果を達成できる。下記に対して低いCPU集約性のジニ多様性指数I(次式)を分割基準として使用できる。
ここで、ノードt∈SC−1(SC−1は次式)とノードtに到達するクラスiを有するすべてのクラスCのフラクションp(i|t)とを対象とする。
さらに、分類プロセスでデータを見逃すことがないので、代理決定分割なしでCARTを使用するので、パフォーマンスを節約できる。各リーフの親の数がジニ不純物基準Iで10を超えるまで、ツリーを枝刈りできる。同じ親ノード(P)から発生し、親ノードに関連するリスク(RP)以上のリスク値の合計(R)を生成するリーフ(子ノードC)のマージングを残すことができる。
2)K−最近傍
いくつかの実施はまた、距離パラメータ(k=3)および距離関数(X×Y)→(X→Y)を有するキュービックK最近傍分類器を使用してもよい。例として、インスタンスx、ラベルy、距離の重みω、および次元数mを有する3次のミンコフスキー距離メトリック(次式)を選択できる。
ここで、x、yは次式を満たす。
k個の最近傍点の中で少なくとも2つのクラスが同数の最近傍点を持つときに発生する結合は、それらの最小のインデックス値に基づいて分割することができまる。より正確性の低い未補正K次元ツリーの代わりに、CUP集約型ではあるが十分に正確で徹底的な探索アルゴリズム(ブルートフォース)を使用できる。距離の重みωは、インスタンスxとラベルyとの逆平方の2乗である(次式)。
隣接行列の次元数m=10は、妥当な結果をもたらすことができる。予測子データのスケールが大きく異なる状況を改善するためにデータをリスケーリングするデータ標準化アプローチを使用できる。これは、各予測子データを平均値と標準偏差でセンタリングおよびスケーリングすることによって実現可能である。
3)サポートベクターマシン
他の実施例は、空間マッピング関数φ(X)および次数dを有する入力センサデータ特徴ベクトルX(x,x)に適用される同次多項式カーネル(次式)を有する3次SVMを使用する。
トレーニング空間Rにおけるトレーニングベクトルtを、i=1,...,tであるx∈Rで定義し、y∈{1,−1}が成り立つラベルベクトルy∈Rを定義する。SVMによって下記の最適化問題を解くことができる。
(i)
および、
(ii)正規化パラメータ(ボックス制約レベル)Cおよびスラック変数ξ(ξ>0,i=1,...,t)を用いて、xをより高次元の空間に
マッピングする。
この最適化の解は、超平面に重み変数αで次式を満たす最適な法線ベクトル(w)を提供する。
最終的に、特徴ベクトルxに対する決定関数f(x)は、次式のとおりとなる。
SVM分類器の例は、C=1で非線形特徴を分離できるように3次(d=3)カーネル関数(次式)を使用できるのに対し、カーネルスケールはγ=4である。
ハイパーパラメータは、トレーニングデータ(70%)に基づき10分割交差検証によって得ることができる。交差検証は、すべてのテストフォールド(10分割)にわたる平均誤差を決定する。これにより、精度の概要が得られる。マルチクラス分類を提供するために、マルチクラスSVMタイプまたはOne−vs−All SVMタイプを使用できる。
上記の例の予測器または分類器(DT、k−NN、SVM)はそれぞれ、クラスラベルとその確率または信頼度とを推定できる。いくつかの例では、クラスラベルは、物体の動きの最大周波数成分よりも高い率または周波数で推定できる。たとえば、人間が頭を左から右に向けるのにかかる時間のあいだに、それぞれが関連する確率/信頼度ζを用いて、多数のクラスラベル推定値を予測できる。任意選択的に、我々のトレーニングされた分類器によって提供される信頼度ζは、それらを経時的に関連づけることおよび/または人間中心のモーション挙動を考慮することによってさらに改善できる。換言すると、推定クラスラベル出力の現在の信頼度は、以前のクラスラベル出力またはクラスラベル仮説の以前の信頼度を考慮に入れることによって、および/または、物体の1つまたは複数の所定の物理的特性もしくは制限、特に人間の動きの制限(例:頭の回転速度)、を考慮することによって、検証できる。たとえば、現在の最も可能性の高いクラスラベル推定値の現在の信頼度を、以前のクラスラベル出力の1つ以上の以前の信頼度またはその平均値と比較できる。より複雑なシナリオでは、たとえば、多数の異なるクラスラベルがあるとき、たとえば、隠れマルコフモデル(HMM)のようなより複雑なモデルも採用できる。そこでは、以前の実際のクラスラベル出力の信頼度だけでなく、多数の異なるクラスラベルに対応する以前のクラスラベル仮定の信頼度も考慮に入れることができる。
いくつかの例では、考慮したい信頼度ζの履歴の量sを定義できる。したがって、分類器は、時刻t∈[tn−s,...,t]における前の信頼度ζの履歴と比較できる時刻ζ(t)における信頼度を予測できる。開始確率を、第1の信頼度観測P(ζ,t=0)に提供できる。すべての信頼度がその先祖(ancestors)の確率P(ζ,tn−s)に依存するので、現在の信頼度の確率をn−s過去の信頼度に関して決定できる。したがって、現在の信頼度の信用度を大幅に向上させ、単一の異常値を特定することも可能である。s>0の信頼度履歴ですべてのnに基づく現在の信頼度P(ζ,t)および現在の信頼度ζ(n)の確率は次式で与えられる。
ここで、P(ζ,t)=1.0でt=0でのP(ζ,ti)=1.0の初期履歴確率は、次式で与えられる。
図9は、例示的な最適化プロセスPOが、グランドトゥルースT(下部)と比較して、確率pに基づいて誤った予測PE(上部)をどのように補償するかを示す。機械学習において、「グランドトゥルース」という用語は、教師付き学習手法に対するトレーニングセットの分類の正確さを指す。tn−sにおいて信頼できる精度でf/−45を予測した場合、人間は2つの予測の間(dt≒ωwait・5ms)に頭を回転させることができないから、人間中心のモーションと比較すると、tにおけるf/+45の予測は誤りである。
前述の処理動作の概要を図10に示す。前処理されたセンサデータ(図8参照)の処理は、(i)トレーニングおよび(ii)ライブの2つの段階に分けることができる。両方の場合において、特徴ベクトルを入力データから抽出できる(参照番号1010参照)。トレーニング段階1020の間、平滑化センサデータを分類器(たとえば、SVM)1030に提供できる。平滑化センサデータは、入力データをそれらの特徴空間にリフトするために、特徴抽出アルゴリズム1010によって分析できる。抽出された特徴は、分類器1030をトレーニングまたは最適化するための入力として使用できる。ライブ段階中に、トレーニングされた分類器1030は、その信頼度とともにモーションクラスまたはラベルを予測できる。たとえば、分類器1030は、f/0のモーションに対応する入力信号を取得し、90%の信頼度でラベルf/0を事前予測する。分類器は、入力データをどの程度分類できるかを判断するために、いわゆる交差検証原理を使用できる。人間は主に自分が動いている方向を見ているので、経時的な人間のモーションの確率論的な仮定により、結果はさらに改善されうる。また、人間は、2つの予測の間([5,...,20]ミリ秒)で、彼/彼女の頭の向きを左から右(またはその逆)に変えることはできない。したがって、経時的な確率依存性および/または予測信頼度の履歴を使用して、予測信頼度の現在の確率を予測し、必要に応じてラベルを補正できる(参照番号1040を参照)。
ビュー適応(後)手順の一例を図11に示す。物体の実際の向きと物体の実際の移動方向との間の関係の分類が予測された後、物体(たとえばユーザーの頭部)が移動方向に対してどのような向きになるかがわかる。頭の向きが移動方向と一致していることがわかっている場合は、物体の仮想の向きを物体の実際の移動方向に対応させることで、センサベースの仮想ビューを補正できる。直接的な補正はいわゆる乗り物酔いにつながる可能性があるので、より成熟した解決策が提案される。エラーが特定の非没入(イマージョン)しきい値を超えた場合にエラーを補正し、より小さい没入部分でエラーをスライスし、これらの没入部分を経時的におよび現在の回転に沿って繰り返し適用することが提案される。
いくつかの例は、自由度(DOF)6のセンサを使用して頭部の向きを推定し、補完フィルタを実施する。このフィルタは、静的バイアスおよび温度依存バイアスを、加法性のゼロ平均ガウスノイズとともに考慮している。現在のジャイロスコープに基づく角速度ωx,y,z=ωx,y,z+b+nを、静的および温度依存バイアスbおよび加法性ゼロ平均ガウスノイズnを用いて定義する。フィルタ係数αと現在の加速度計のデータax,y,zとを用いてラジアンを度(180/n)に変換すると、ロールの方向φとピッチの方向θとを求めることができる。
ロールφおよびピッチθの方向は長期間にわたって安定していると推定できる。ヨーの方向は、加速度計とジャイロスコープとを融合することで(磁力計を無視して)決定できる。物体の(ヨー)方向情報のエラーは、増分的または反復的に補正できる。たとえば、決定された向き方位誤差ψerrをユーザーの現在のビュー方位ψcurに線形補間する球面線形補間(SLERP)メカニズムを適用できる。この補間は、現在の回転の符号(sgn)がsgn(ψcur)=sgn(ψerr)である間にオフセットωimm・ψerrの小さいイマージョン部分を適用することによって、ユーザーの視野への現在のドリフトψerrを近似する。反復ごとにωimm(毎秒度数)を調整してイマージョンを最適化できる。ヨー角ψinを有する初期の頭の向きに基づく補正された向きは、次のように記載できる。
完全な例示的配向補正手順が図12に要約されている。
いくつかの実装形態は、ωの様々な範囲を分類するために教師付き機械学習を使用することを提案する。すべての範囲の中でω=0°のモーメントクラスが最も高い確率を持っている場合、我々はベクトルmとベクトルrとが一致するモーメントを検出した。IMU(加速度計およびジャイロスコープ)の入力データから、線形加速度成分、すなわちあらゆる方向軸における運動エネルギーを抽出することができ、ωの特定の範囲を特徴付け、表す特定の特徴を定義できる。これらの特徴を使用して、事前に記録されラベル付けされたトレーニングデータに基づいてすべてのωクラスおよびその前のクラスについて分類器をトレーニングできる。実行時に、これらのモデルを使用してライブセンサデータのωを分類することができ、したがって、もしも対応する分類器が最良の適合度/最大の信頼度をもたらすならば、ω=0°のモーメントを検出することが可能である。
図12は、例示的な処理パイプラインの基本構造を概説する。まず、加速度センサおよびジャイロセンサの生データをデジタルフィルタで平滑化できる。トレーニング段階では、分類器をトレーニングするためにラベル付けされたトレーニングサンプル上の既知の範囲のωに対する特徴を抽出するためにそのような信号を使用できる。ωモーメントの細かい分解能によって、分類およびその信頼度を向上させることができる。ただし、これより多くのクラスを使用すると、トレーニングのためにより多くのデータが必要になり、実行時に分類のためにより多くのCPUサイクルが必要になるため、これはトレードオフである。実行時に、トレーニングされた分類器は(平滑化された)未知の信号の特徴を処理し、最適なω範囲クラスとその分類信頼度をリターンできる。分類率を上げるために、分類器の推定された信頼度を使用し、物理的な制限(たとえば、1ミリ秒で頭を90°回転させることが不可能であるといった人間中心の動きの制限)を含めることができる。ω=0°のモーメントでは、頭の向きのドリフトを決定することができ、球面線形補間を使用して、ユーザーになんら適合が見えないイマージョン的にドリフトを減少させることができる。換言すると、ベクトルrがベクトルmとほぼ等しいときを測定するために、絶対位置データを用いてベクトルmを決定できる。ベクトルrを決定するために、いくつかの例では、身体の移動方向に対する頭の向きを分類することを提案する。分類器(たとえばSVM)のトレーニング段階では、既知の運動状態(頭部の実際の向きとユーザーの実際の運動方向との間の関係)に対応する相対センサデータが記録され、トレーニングに使用される。これにより、トレーニングされた分類器は、未知のセンサデータを分類し、ノーテーション(notation)と信頼度を提供できる。そのため、適切なノーテーションの選択によって、ベクトルrがベクトルmとほぼ等しいときがいつであるかの知識を得ることができる。たとえば、「頭/左」、「頭/右」、「頭/正面」のノーテーションを使用することができ、ここで「頭/正面」はベクトルrがベクトルmとほぼ等しいときに対応する。分類を最適化するために、計算の複雑さを軽減し分類を最適化することを目的とした特徴ベクトルを生成することが提案される。センサ生データは、通常、適切な特徴抽出によって回避または低減できる冗長性を含む。いわゆる特徴空間マッピングは、実世界から新しい次元へ特徴をリフトすることに役立ちうる。特徴ベクトルが十分に分離され分類されることができるように、マッピング関数が選択されうる。選択は、高い信頼度と低いパフォーマンスの間の妥協である。
従来の概念は長時間安定した方位バイアス推定を欠き、したがってイマージョンを減少させるが、本開示のいくつかの例は、イマーシブな頭部方位推定を可能にできる信号処理、特徴抽出、分類およびビューハーモナイゼーションを組み合わせることを提案するものである。
他の例の同様の特徴を置き換えるために、あるいは、その特徴を単数または複数の例に追加導入するために、単数または複数の先の詳細な例および図とともに言及および説明された態様および特徴を、単数または複数の他の例と組み合わせてもよい。
例はさらに、コンピュータプログラムがコンピュータまたはプロセッサ上で実行されるときに、上記の方法のうちの1つまたは複数を実行するためのプログラムコードを有するコンピュータプログラムでありうるかまたはそれに関連し得る。上述した様々な方法のステップ、動作またはプロセスは、プログラムされたコンピュータまたはプロセッサによって実行できる。例はまた、機械、プロセッサ、またはコンピュータによって読み取り可読、機械実行可能、プロセッサ実行可能、またはコンピュータ実行可能命令のプログラムであるデジタルデータ記憶媒体などのプログラム記憶装置を対象とすることができる。命令は、上述の方法の動作の一部または全部を実行するかまたは実行させる。プログラム記憶装置は、たとえば、デジタルメモリ、磁気ディスクおよび磁気テープなどの磁気記憶媒体、ハードドライブ、あるいは光学的に読み取り可能なデジタルデータ記憶媒体を含むか、それらであってもよい。さらなる例はまた、たとえばコンピュータシステム、コンピュータシステムなどをカバーできる。更なる例は、上述の方法の動作を実行するようにプログラムされた、スマートフォン、または、上述の方法の動作を実行するようにプログラムされた、(フィールド)プログラマブルロジックアレイ((F)PLA)または(フィールド)プログラマブルゲートアレイ((F)PGA)として実施される、コンピュータ、プロセッサ、または制御ユニット、もカバーしうる。
上記の説明および図面は単に本開示の原理を例示するものである。さらに、本明細書に列挙されたすべての例は、主に、本開示の原理および本発明者が当分野をさらに発展させるのに寄与した概念を読者が理解するのを助けるための教育目的のみに意図されている。本開示の原理、態様、および実施例、ならびにその特定の実施例を列挙する本明細書中のすべての記載は、それらの均等物を包含することを意図している。
特定の機能を実行するための「手段(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)」などの形態の専用ハードウェアの形で、さらに、適切なソフトウェアと関連してソフトウェアを実行できるハードウェアの形で実施可能である。たとえばプロセッサによって提供される場合、上記の諸機能は、単一の専用プロセッサによって、または、またはそのうちのいくつかまたはすべてが共有されうる複数の個別プロセッサによって、提供可能である。しかし、「プロセッサ」または「コントローラ」という用語は、ソフトウェアを実行可能なハードウェアに全く限定されるものではなく、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、および不揮発性記憶装置も含まれうる。また、従来式および/またはカスタムの他のハードウェアも含まれうる。
ブロック図は、たとえば、本開示の原理を実施する高水準回路図を例示する場合がある。同様に、フローチャート、流れ図、状態遷移図、擬似コードなどは、様々なプロセス、動作、またはステップを表すことができ、それらは、たとえば、コンピュータ読み取り可能媒体で実質的に表すことができ、したがって、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかにかかわらず、コンピュータまたはプロセッサによって実行される。本明細書または特許請求の範囲に開示されている方法は、これらの方法のそれぞれの動作のそれぞれを実行するための手段を有する装置によって実施できる。
なお、本明細書または特許請求の範囲に開示されている複数の動作、プロセス、動作、ステップまたは機能の開示は、たとえば技術的な理由で、明示的または暗黙的にそうでないと記載されていない限り、特定の順序内にあると解釈されてはならない。したがって、複数の行為または機能の開示は、そのような行為または機能が技術的な理由で相互交換可能でない限り、これらを特定の順序に限定するものではない。さらに、いくつかの例では、単一の動作、機能、プロセス、動作またはステップは、それぞれ、複数の副動作、副機能、副プロセス、副動作またはステップを含むか、またはそれらに分割することが可能である。明示的に除外されていない限り、そのような副動作が含まれ、この単一の行為の開示の一部となりうる。
さらに、以下の請求の範囲は、詳細な説明に組み込まれており、各請求の範囲は、別々の例としてそれ自身で独立していてもよい。各請求項は別々の例として独立していてもよいが、従属請求項は請求項において1つまたは複数の他の請求項との特定の組み合わせを指すことがあるが、他の例は従属請求項の組み合わせも含みうることに留意されたい。互いに従属請求項または独立請求項の主題に関する請求項。そのような組み合わせは、特定の組み合わせが意図されていないと述べられていない限り、本明細書において明示的に提案される。さらに、たとえこの請求項が独立請求項に直接従属していないとしても、他の独立請求項に対する請求項の特徴も含むことを意図している。

Claims (18)

  1. 物体に取り付けられた単数または複数の慣性センサからの慣性センサデータに基づいて向き情報を補正する方法であって、
    前記物体の現在の絶対位置を示す位置データを受信する工程、
    前記位置データに基づいて前記物体の移動方向を決定する工程、および、
    決定された前記移動方向に基づいて前記物体の向き情報を補正する工程、を備え、
    前記物体の向き情報を補正する工程は、
    前記慣性センサデータに基づいて、前記物体の実際の向きと前記物体の決定された前記移動方向との間の関係を推定するステップ、および、
    推定された前記関係が、前記物体の実際の向きが前記物体の決定された前記移動方向に対応していることを示している場合、決定された前記移動方向に基づいて、前記物体の向き情報を補正するステップ、を含む方法。
  2. 前記物体の向き情報を補正する工程は、前記物体の向き情報を前記物体の移動方向と対応させるステップを含む請求項1に記載の方法。
  3. 平滑化フィルタを用いて前記センサデータをフィルタリングして平滑化センサデータを生成する工程をさらに備える請求項1または2に記載の方法。
  4. ローパスフィルタおよび/またはハイパスフィルタを用いて前記センサデータをフィルタリングする工程をさらに備える請求項1〜3のいずれか1項に記載の方法。
  5. 前記センサデータを圧縮する工程をさらに備える請求項1〜4のいずれか1項に記載の方法。
  6. 前記センサデータを圧縮する工程は、前記センサデータから1つまたは複数の統計的および/またはヒューリスティックな特徴を抽出してセンサデータ特徴ベクトルを生成するステップを含む請求項5に記載の方法。
  7. 前記センサデータを圧縮する工程は、平均値を抽出すること、標準偏差を抽出すること、および、前記センサデータの主成分分析、を含む請求項5または6に記載の方法。
  8. 圧縮された前記センサデータに基づいて、前記物体の実際の向きと前記物体の移動方向との間の関係を分類する工程、および、当該分類の結果に関して信頼度を生成する工程、をさらに備える請求項5〜7のいずれか1項に記載の方法。
  9. 以前の信頼度および/または所定の物理的特性もしくは対象物の制限に基づいて前記信頼度を検証する工程をさらに備える請求項8に記載の方法。
  10. 前記物体の実際の向きと前記物体の実際の移動方向との間の関係を分類する工程は、単数または複数の分類アルゴリズムを使用して実行される請求項8または9に記載の方法。
  11. 前記単数または複数の分類アルゴリズムは、サポートベクターマシンを含む請求項10に記載の方法。
  12. 前記物体の向きの誤差が漸増的に補正される請求項1〜11のいずれか1項に記載の方法。
  13. 前記誤差は、球面線形補間に基づいて補正される請求項12に記載の方法。
  14. 物体の定義済みの実際の向きと定義済みの移動方向との間の定義済み関係に対応するトレーニングセンサデータに基づいて、物体の実際の向きと前記物体の移動方向との間の関係を分類するための教師付き学習モデルをトレーニングする工程をさらに備える請求項1〜13のいずれか1項に記載の方法。
  15. 前記物体の向き情報は、前記物体のヨー軸を中心とした回転向きを示す請求項1〜14のいずれか1項に記載の方法。
  16. 前記実際の移動方向は、後続の時点に対応する位置データに基づいて決定される請求項1〜15のいずれか1項に記載の方法。
  17. 前記センサデータは、三次元加速度データおよび三次元回転速度データを含む請求項1〜16のいずれか1項に記載の方法。
  18. 物体に取り付けられた単数または複数の慣性センサからの慣性センサデータに基づいて向き情報を補正するための装置であって、
    前記物体の現在の絶対位置を示す位置データを受け取るように構成された入力部、および、
    前記位置データに基づいて前記物体の移動方向を決定し、決定された前記移動方向に基づいて前記物体の向き情報を補正するように構成された処理回路、を備え、
    前記処理回路は、
    前記慣性センサデータに基づいて、前記物体の実際の向きと前記物体の決定された前記移動方向との関係を推定し、かつ、
    推定された前記関係が、前記物体の実際の向きが前記物体の決定された前記移動方向に対応していることを示している場合、決定された前記移動方向に基づいて、前記物体の向き情報を補正するように構成されている装置。
JP2019557675A 2017-01-13 2018-01-03 1つ以上の慣性センサからの向き情報を補正する装置および方法 Expired - Fee Related JP6761551B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102017100622.2 2017-01-13
DE102017100622.2A DE102017100622A1 (de) 2017-01-13 2017-01-13 Vorrichtungen und Verfahren zum Korrigieren von Ausrichtungsinformationen von einem oder mehreren Trägheitssensoren
PCT/EP2018/050129 WO2018130446A1 (en) 2017-01-13 2018-01-03 Apparatuses and methods for correcting orientation information from one or more inertial sensors

Publications (2)

Publication Number Publication Date
JP2020505614A JP2020505614A (ja) 2020-02-20
JP6761551B2 true JP6761551B2 (ja) 2020-09-23

Family

ID=60953860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019557675A Expired - Fee Related JP6761551B2 (ja) 2017-01-13 2018-01-03 1つ以上の慣性センサからの向き情報を補正する装置および方法

Country Status (8)

Country Link
US (1) US20190346280A1 (ja)
EP (1) EP3568801A1 (ja)
JP (1) JP6761551B2 (ja)
KR (1) KR102207195B1 (ja)
CN (1) CN110073365A (ja)
CA (1) CA3044140A1 (ja)
DE (1) DE102017100622A1 (ja)
WO (1) WO2018130446A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10883831B2 (en) * 2016-10-28 2021-01-05 Yost Labs Inc. Performance of inertial sensing systems using dynamic stability compensation
DE102017208365A1 (de) * 2017-05-18 2018-11-22 Robert Bosch Gmbh Verfahren zur Orientierungsschätzung eines tragbaren Gerätes
US11238297B1 (en) * 2018-09-27 2022-02-01 Apple Inc. Increasing robustness of computer vision systems to rotational variation in images
CN110837089B (zh) * 2019-11-12 2022-04-01 东软睿驰汽车技术(沈阳)有限公司 一种位移填补的方法和相关装置
US11911147B1 (en) 2020-01-04 2024-02-27 Bertec Corporation Body sway measurement system
US11531115B2 (en) * 2020-02-12 2022-12-20 Caterpillar Global Mining Llc System and method for detecting tracking problems
KR102290857B1 (ko) * 2020-03-30 2021-08-20 국민대학교산학협력단 채널상태정보를 이용한 인공지능 기반의 스마트 사용자 검출 방법 및 장치
CN111947650A (zh) * 2020-07-14 2020-11-17 杭州瑞声海洋仪器有限公司 基于光学追踪与惯性追踪的融合定位系统及方法
KR102321052B1 (ko) * 2021-01-14 2021-11-02 아주대학교산학협력단 인공지능 기반의 vr 환경에서의 전후진 움직임 탐지 장치 및 방법
CN112415558B (zh) * 2021-01-25 2021-04-16 腾讯科技(深圳)有限公司 行进轨迹的处理方法及相关设备
CN112802343B (zh) * 2021-02-10 2022-02-25 上海交通大学 面向虚拟算法验证的通用虚拟传感数据采集方法及系统
CN116744511B (zh) * 2023-05-22 2024-01-05 杭州行至云起科技有限公司 智能调光调色照明系统及其方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495427A (en) 1992-07-10 1996-02-27 Northrop Grumman Corporation High speed high resolution ultrasonic position and orientation tracker using a single ultrasonic frequency
US5615132A (en) 1994-01-21 1997-03-25 Crossbow Technology, Inc. Method and apparatus for determining position and orientation of a moveable object using accelerometers
US6176837B1 (en) 1998-04-17 2001-01-23 Massachusetts Institute Of Technology Motion tracking system
US6474159B1 (en) * 2000-04-21 2002-11-05 Intersense, Inc. Motion-tracking
US20030120425A1 (en) 2001-12-26 2003-06-26 Kevin Stanley Self-correcting wireless inertial navigation system and method
US6720876B1 (en) 2002-02-14 2004-04-13 Interval Research Corporation Untethered position tracking system
KR101680044B1 (ko) * 2008-08-19 2016-11-28 디지맥 코포레이션 콘텐트 처리를 위한 방법들 및 시스템들
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US9891054B2 (en) 2010-12-03 2018-02-13 Qualcomm Incorporated Inertial sensor aided heading and positioning for GNSS vehicle navigation
CN105009027B (zh) * 2012-12-03 2018-09-04 纳维森斯有限公司 用于估计对象的运动的系统和方法
US20140266878A1 (en) 2013-03-15 2014-09-18 Thales Visionix, Inc. Object orientation tracker
US9367960B2 (en) * 2013-05-22 2016-06-14 Microsoft Technology Licensing, Llc Body-locked placement of augmented reality objects
US10317421B2 (en) * 2014-03-31 2019-06-11 Stmicroelectronics S.R.L Positioning apparatus comprising an inertial sensor and inertial sensor temperature compensation method
CN104834917A (zh) * 2015-05-20 2015-08-12 北京诺亦腾科技有限公司 一种混合运动捕捉系统及方法

Also Published As

Publication number Publication date
JP2020505614A (ja) 2020-02-20
KR102207195B1 (ko) 2021-01-22
KR20190085974A (ko) 2019-07-19
WO2018130446A1 (en) 2018-07-19
DE102017100622A1 (de) 2018-07-19
CA3044140A1 (en) 2018-07-19
CN110073365A (zh) 2019-07-30
EP3568801A1 (en) 2019-11-20
US20190346280A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
JP6761551B2 (ja) 1つ以上の慣性センサからの向き情報を補正する装置および方法
US11379287B2 (en) System and method for error detection and correction in virtual reality and augmented reality environments
CN110998604B (zh) 有局部外观的对象的识别与重构
CN106780608B (zh) 位姿信息估计方法、装置和可移动设备
Clark et al. Vinet: Visual-inertial odometry as a sequence-to-sequence learning problem
KR102442780B1 (ko) 장치의 자세 추정 방법 및 그 장치
Baak et al. A data-driven approach for real-time full body pose reconstruction from a depth camera
Wang et al. Hidden‐Markov‐models‐based dynamic hand gesture recognition
US10830584B2 (en) Body posture tracking
US20190065872A1 (en) Behavior recognition apparatus, learning apparatus, and method and program therefor
US9098740B2 (en) Apparatus, method, and medium detecting object pose
US20160180195A1 (en) Augmenting Layer-Based Object Detection With Deep Convolutional Neural Networks
JP2022500725A (ja) 自己意識的な視覚的−テキスト的共グラウンディング・ナビゲーションエージェント
JP5525407B2 (ja) 動作モデル学習装置、3次元姿勢推定装置、動作モデル学習方法、3次元姿勢推定方法およびプログラム
KR20200071990A (ko) 전자 장치 및 그의 3d 이미지 표시 방법
Benli et al. Human behavior-based target tracking with an omni-directional thermal camera
JP2023513613A (ja) 適応共蒸留モデル
Martinez-del-Rincon et al. Generalized Laplacian eigenmaps for modeling and tracking human motions
JP2024520377A (ja) マルチエージェント追跡のための視覚とrfセンサとの融合
TWI812053B (zh) 定位方法、電子設備及電腦可讀儲存媒體
US20240013357A1 (en) Recognition system, recognition method, program, learning method, trained model, distillation model and training data set generation method
Jeong et al. Facial landmark detection based on an ensemble of local weighted regressors during real driving situation
Amudha et al. Suitability of genetic algorithm and particle swarm optimization for eye tracking system
Lee et al. Real-time face tracking and recognition using the mobile robots
Zhang et al. Lightweight network for small target fall detection based on feature fusion and dynamic convolution

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200904

R150 Certificate of patent or registration of utility model

Ref document number: 6761551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees