JP7389825B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP7389825B2
JP7389825B2 JP2021573688A JP2021573688A JP7389825B2 JP 7389825 B2 JP7389825 B2 JP 7389825B2 JP 2021573688 A JP2021573688 A JP 2021573688A JP 2021573688 A JP2021573688 A JP 2021573688A JP 7389825 B2 JP7389825 B2 JP 7389825B2
Authority
JP
Japan
Prior art keywords
information
acceleration
time
estimating
input data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021573688A
Other languages
English (en)
Other versions
JPWO2021152723A1 (ja
Inventor
良徳 大橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of JPWO2021152723A1 publication Critical patent/JPWO2021152723A1/ja
Application granted granted Critical
Publication of JP7389825B2 publication Critical patent/JP7389825B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P21/00Testing or calibrating of apparatus or devices covered by the preceding groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Navigation (AREA)
  • Manipulator (AREA)

Description

本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
従来、IMU(inertial measurement unit:慣性計測ユニット)の出力する角速度や、加速度を表す信号を校正する方法として、次のような方法が知られている。
従来の方法の一例では、加速度の信号を校正する方法として、IMUを含むデバイスが静止している状態であると判定したときにIMUが出力する信号(バイアス誤差)と、出力される信号から推定される計測値の最大値と、実際の計測値の最大値との差(スケールファクタ誤差)と、さらに非直交性誤差とを校正する方法が知られている。
具体的にはバイアス誤差を表すベクトル(X,Y,Z軸方向の各成分からなる3次元のベクトル)dと、スケールファクタ誤差を表す対角行列(3×3の行列)Sと、非直交性誤差を表す上三角行列TNとを用い、IMUが出力する加速度の信号(上記3軸の各成分を含むベクトル値の信号)imuを、
imu′=TNS(imu+d)
と補正して、この補正後の加速度の値imu′を用いてデバイスの位置等の推定を行うこととしていた。
しかしながら、上記従来例の校正の方法では、IMUが備えるセンサの歪みによる誤差や、力を受ける向きによる感度差による誤差が校正できない。さらに、上記従来例のように信号を補正しても、ホワイトノイズ誤差等、除去できない誤差もあるため、長時間に亘る時間積分等の処理に供することは実用的でない。
また、IMUから、実質的に同一の信号が予め定めた回数以上連続して得られたときにデバイスが静止していると判断する場合、デバイスが低速で移動している状況では静止していると判断されやすいという問題がある。また、デバイスの動き始めは静止と判断されやすく、この場合は、次にデバイスが静止するときのデバイスの位置の情報に誤りが生じる。
このように、上記従来のIMUの出力を校正する方法では、IMUの出力に基づいてデバイスの位置を推定することが容易でないという問題点があった。
本発明は上記実情に鑑みて為されたもので、IMUが出力する信号の誤差をより低減でき、また、IMUが出力する信号に基づいて、IMUを含むデバイスの位置の推定を実用的なものとする情報処理装置、情報処理方法、及びプログラムを提供することを、その目的の一つとする。
本発明の一態様に係る情報処理装置は、所定の時刻TSから時刻TEまでの間に複数の入力データを逐次的に受け入れる手段と、前記受け入れた入力データに基づいて、時刻T(TS<T<TE)の時点での所定の推定データを推定する状態に機械学習されたモデル情報を用い、前記受け入れた入力データに基づく、前記時刻Tの時点での推定データを推定する推定手段と、を含むこととしたものである。
また本発明の一態様に係る情報処理装置は、慣性計測ユニットを備えたデバイスから、当該慣性計測ユニットの出力を受け入れる手段と、前記受け入れた慣性計測ユニットの出力に基づいて、前記デバイスの姿勢情報を推定する手段と、当該推定される姿勢情報に基づく情報を入力データとし、当該入力データと、前記慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差との関係を少なくとも機械学習した状態にある第1の機械学習モデルを用い、当該第1の機械学習モデルに、前記推定した前記デバイスの姿勢情報に基づく情報を入力して、前記デバイスが備える慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差を少なくとも推定する推定手段と、を有し、当該推定されたバイアス誤差が、前記慣性計測ユニットが出力する移動加速度の校正の処理に供されることとしたものである。
本発明をデバイスが備えるIMUが出力する信号に適用することにより、当該信号の誤差をより低減でき、また、IMUが出力する信号に基づいて、IMUを含むデバイスの位置の推定を実用的なものとすることができる。
本発明の実施の形態に係る情報処理装置の例を表す構成ブロック図である。 本発明の実施の形態に係る情報処理装置に接続されるデバイスの例を表す構成ブロック図である。 本発明の実施の形態に係る情報処理装置の例を表す機能ブロック図である。 本発明の実施の形態に係る情報処理装置が利用する第1のニューラルネットワークの構成例を表すブロック図である。 本発明の実施の形態に係る情報処理装置が利用する第2のニューラルネットワークの構成例を表すブロック図である。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、図1に例示するように、例えばユーザが手に持って移動操作するデバイス2に対して有線、または無線にて通信可能に接続される。
またこの情報処理装置1は、図1に示すように、制御部11と、記憶部12と、操作入力部13と、出力制御部14と、撮像部15とを含んで構成される。本実施の形態の一例では、この情報処理装置1は家庭用ゲーム機であり、デバイス2はそのゲームコントローラであってもよい。
本実施の形態の例では、このデバイス2は、ユーザが手に把持して利用するコントローラデバイスである。このデバイス2には、例えば円柱状の筐体を有し、当該筐体にLEDなどのマーカーMが配されているものでもよい。情報処理装置1は撮像部15で撮像した画像からユーザが手に把持したデバイス2のマーカーMを検出して、デバイス2の位置や向き等の姿勢情報を取得してもよい。
またこのデバイス2は、図2に例示するように、慣性計測ユニット(IMU)21と、コントローラ22と、通信部23とを含んで構成される。ここでIMU21は、互いに直交する3つの軸方向の加速度を計測する加速度センサ(3軸加速度センサ)と、ジャイロセンサとを含む。またこのIMU21は、方位を推定するため、磁気センサが含まれてもよい。
コントローラ22は、マイクロプロセッサ等であり、内蔵するメモリ等に格納されたプログラムに従って動作する。このコントローラ22は、IMU21が出力する加速度センサの計測値(上記3軸方向のそれぞれへの移動加速度を表す値)である加速度情報aと、ジャイロセンサの表す角速度の値ωとを所定のタイミングごと(ここでの例では一定の時間間隔Δtごと)に繰り返し得て、通信部23に出力する。
通信部23は、有線または無線にて情報処理装置1との間で通信可能に接続されており、コントローラ22が出力する加速度情報aと、角速度の値ωとを表す信号を、情報処理装置1に対して送出する。
また、情報処理装置1の制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。例えばこの制御部11は、ゲームアプリケーションの処理として、利用者によるデバイス2の移動操作等に基づいてゲームアプリケーションの処理を実行する。
具体的に本実施の形態の制御部11は、デバイス2から加速度情報aと、角速度の値ωとを表す信号の入力を受けて、次の処理を実行する。ここで受け入れる加速度情報aと、角速度の値ωとはいずれもデバイス2に固有な座標系(センサ座標系)での値である。この座標系は、例えば円柱状をなすデバイス2の長手方向(円柱の回転対称軸の方向)をζ軸とし、これに垂直な面内であって、デバイス2をユーザが把持したときに、ユーザ側となる方向を例えばη軸、上記面内で、ζ,η軸に直交する方向をξ軸として、このξηζ直交座標系とする。
制御部11は、まず角速度の値ωから、デバイス2の姿勢を推定する。本実施の形態の例では、制御部11は、角速度の値ωに対してマッジウィックフィルタ(Madgwick Filter:Madgwick, An efficient orientation filter for inertial and inertial/magnetic sensor arrays, Technical Report, University of Bristol, UK., 2010.)を適用し、当該マッジウィックフィルタが出力する姿勢の推定結果に基づいて姿勢クオタニオンqを求める。この姿勢クオタニオンqが本発明の姿勢情報に相当する。ここで求められる姿勢クオタニオンqの各成分は、グローバル座標系(デバイス2の姿勢に関わらない座標系、例えば重力方向をY軸、これに垂直な床面であって、ユーザの前方方向をZ軸、Z,Y軸に直交する、上記床面内の軸方向をX軸としたXYZ直交座標系など)で表される回転軸方向を表すベクトルと、当該回転軸周りの回転角wとを含む。
また制御部11は、姿勢クオタニオンqを入力として、加速度のバイアス誤差のベクトル値と、加速度のスケールファクタ誤差を表す行列の対角成分との推定値を出力するよう機械学習された状態にある第1のニューラルネットワークを利用し、デバイス2から受け入れた角速度得られた姿勢クオタニオンqをこの第1のニューラルネットワークに入力して、対応する加速度のバイアス誤差のベクトル値と、加速度のスケールファクタ誤差を表す行列の対角成分とを推定する。
制御部11は、ここで推定したバイアス誤差のベクトル値とスケールファクタ誤差の行列(推定された対角成分を対応する要素に配した行列)とを用いて、デバイス2から受け入れた加速度情報aからこれらの誤差を除去した誤差除去後の加速度情報a′を求める。
制御部11は、誤差除去後の加速度情報a′と、姿勢クオタニオンqとを用いて、加速度の値を、グローバル座標系の加速度情報agに変換する。さらに制御部11は、所定の時刻TSから時刻TEまでの間に逐次的に得られる上記加速度情報agを入力データとして、当該入力データに基づいて、時刻T(T=TS+Δτであり、このΔτは予め定めておく、ただし、TS<T<TE)の時点での所定のグローバル座標系での加速度の真の値を推定して出力するよう機械学習された状態にある第2のニューラルネットワーク(モデル情報)を利用して、上記入力された加速度情報agに基づいて上記時刻Tの時点での推定データである、加速度の真の値の推定値αを得る。
制御部11は、この時刻Tの時点での加速度の推定値αと、この時刻T以降、時刻TEまでに得られた加速度情報agとを用いて、グローバル座標系での速度の値と、位置の値とを得る。この制御部11の詳しい処理の内容については、後に述べる。
記憶部12は、ディスクデバイスやメモリデバイスをふくみ、制御部11によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ非一時的な記録媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。
操作入力部13は、コントローラであるデバイス2から入力される信号を制御部11に出力する。この信号には既に述べた加速度情報aと、角速度の値ωとを表す信号が含まれる。
出力制御部14は、ディスプレイ等の表示デバイスに接続され、制御部11から入力される指示に従って画像を表示する。撮像部15は、カメラ等であり、所定の方向の画像を撮像して制御部11に出力する。本実施の形態では、この撮像部15は、ユーザが所在する方向の画像を撮像するよう設置される。
次に、本実施の形態の制御部11の動作について説明する。本発明の実施の形態に係る制御部11は、記憶部12に格納されたプログラムを実行して、図3に例示する機能的構成を実現する。
制御部11は、機能的に、検出値受入部31と、角速度誤差除去部32と、姿勢推定部33と、加速度誤差除去部34と、座標変換部35と、ノイズ除去部36と、速度推定部37と、位置推定部38とを含んで構成される。
検出値受入部31は、デバイス2から加速度情報aと、角速度の値ωとを表す信号の入力を受け入れる。検出値受入部31は、受け入れた角速度の値ωを、角速度誤差除去部32に出力する。また、この検出値受入部31は、受け入れた加速度情報aを、角速度誤差除去部32及び姿勢推定部33と、加速度誤差除去部34とに出力する。ここで角速度の値ωには、ξ軸周りの回転角度(ヨー角)と、η軸周りの回転角度(ピッチ角)及び、ζ軸周りの回転角度(ロール角)とのそれぞれの角度方向に対する角速度の値が含まれる。
角速度誤差除去部32は、所定のタイミング(例えば最初に角速度の値が入力された時点)で、ユーザに対して一時的に静止するように指示する画面を表示するよう、出力制御部14に指示する。そしてこの角速度誤差除去部32は、ユーザが静止したと判断したとき(例えばデバイス2が所定のタイミングごとに出力する角速度の値の各成分のノルム(二乗和)が、所定の回数だけ連続して予め定めたしきい値を下回ったと判断したとき)に、その時点での角速度の値を複数回取得して、その平均を、ロール、ピッチ、ヨーの各成分ごとに角速度バイアスとして求める。角速度誤差除去部32は、ここで求めた角速度バイアスを記憶部12等に保持する。その後、角速度誤差除去部32は、ユーザに対してキャリブレーションが終了したことを示す画面を提示するよう出力制御部14に指示する。
また角速度誤差除去部32は、角速度バイアスを得た後は、入力された角速度の値ωの各成分の値から、対応する角速度バイアスの成分の値を差し引いて、キャリブレーション後の角速度の値ω′を出力する。
姿勢推定部33は、角速度誤差除去部32が出力する角速度の値ω′からドリフト誤差を除去するとともに、センサ座標系での重力方向のベクトルを推定し、グローバル座標系でのデバイス2の姿勢を表す姿勢クオタニオンqを生成して出力する。
この姿勢推定部33の動作は、例えばマッジウィックフィルタを用いた広く知られた方法を採用できるので、ここでの詳しい説明は省略する。
加速度誤差除去部34は、図4に例示するように、入力層41と、中間層42と、出力層43とを含む第1のニューラルネットワークを用いて、姿勢クオタニオンqから加速度バイアス値d及び加速度スケールファクタの値sを推定する。
この第1のニューラルネットワークは、各層間を全結合ネットワークで結合したものであり、入力層41及び中間層42は活性化関数として例えばReLU等の公知のものを採用する。
本実施の形態の例では、第1のニューラルネットワークの各層間の結合重みやバイアス情報等の学習パラメータは、デバイス2ごとに、デバイス2の工場出荷前に生成される。この学習パラメータは、例えばデバイス2内に不揮発性のメモリを配してこのメモリ内に格納されていてもよい。この場合はデバイス2が情報処理装置1に接続された際に、デバイス2から学習パラメータが情報処理装置1へ転送され、情報処理装置1は、この第1のニューラルネットワークの各層間の結合重みを、この学習パラメータによって設定して、第1のニューラルネットワークを利用する。あるいは、デバイス2ごとに固有な識別情報を割り当てておき、ネットワークを介してアクセス可能なサーバに、識別情報に関連付けて、当該識別情報で識別されるデバイス2について予め機械学習して得られている学習パラメータを保持しておいてもよい。この場合、デバイス2が情報処理装置1に接続された際に情報処理装置1がデバイス2の識別情報を参照し、当該識別情報に関連付けてサーバに保持されている学習パラメータを取得して、の第1のニューラルネットワークの各層間の結合重みを設定する。
またこの学習パラメータは、次のようにして得られる。デバイス2を本実施の形態の情報処理装置1に接続し、デバイス2を複数の姿勢で静止させた状態とする。そして情報処理装置1の制御部1がデバイス2が静止した状態であると判断したときに、上記姿勢推定部33が出力する姿勢クオタニオンqを入力とし、加速度情報aが加速度バイアス値dとして出力されるように機械学習を行う。また、加速度スケールファクタ値(加速度スケールファクタ誤差を表す行列の対角成分)sについては、その各成分の値が、姿勢クオタニオンqの値によらずに一定となるよう機械学習する。
この機械学習の処理は、姿勢クオタニオンqを入力層41に入力したときの第1のニューラルネットワークの出力層43の出力の各値と、当該各値に対応する加速度情報a及び予め定めた加速度スケールファクタ誤差を表す行列Sの各成分の値sとの差に基づくバックプロパゲーションの処理など、広く知られた方法を用いて行われる。
またここでの例では、第1のニューラルネットワークに入力される入力データは姿勢クオタニオンqであるものとしたが、本実施の形態はこれに限られるものではなく、環境温度(デバイス2が備える、図示しない温度センサが計測した温度)や、デバイス2の動作時間(電源がオンとなってからの経過時間)、湿度(デバイス2が備える、図示しない湿度センサが計測した湿度)をさらに含んでもよい。
さらにここではデバイス2が静止した状態にあるときの加速度情報aを教師データとしたが、本実施の形態はこれに限らず、デバイス2がユーザによって移動されている間の、デバイス2の振動の大きさや加速度の変化(加速度情報aの時間変化)を姿勢クオタニオンqとともに入力データに含めてもよい。
なお、デバイス2が静止した状態であるか否かの判断は、例えば、
・デバイス2が所定のタイミングごとに出力する角速度の値の各成分のノルム(二乗和)が、所定の回数だけ連続して予め定めたしきい値を下回ること、
・デバイス2が所定のタイミングごとに出力する加速度の絶対値が、所定の回数だけ連続して予め定めたしきい値を下回ること、あるいは、
・デバイス2が出力した加速度の時間差分(デバイス2が異なるタイミングで出力する二回分の加速度の差)の絶対値が、所定の回数だけ連続して予め定めたしきい値を下回ること、
などを判断することで行うことができる。
また、制御部11の加速度誤差除去部34は、第1のニューラルネットワークを用いて推定した加速度バイアス値dと、加速度スケールファクタ値sとを用いて、加速度情報aからこれらの誤差を除去する。なお、加速度バイアス値d及び加速度情報aは、いずれもセンサ座標系の各成分方向の加速度の値を含む3次元のベクトルであり、加速度スケールファクタ値sは、スケールファクタ誤差を表す対角行列(3×3の行列)Sの各対角成分を表す。
本実施の形態の例では、加速度誤差除去部34は、誤差を除去した加速度情報a′を、
a′=S(a+d)
あるいは、
a′=Sa+d
として求める。
座標変換部35は、加速度誤差除去部34が出力する、誤差を除去した加速度情報a′(センサ座標系での値)を、姿勢推定部33が出力する姿勢クオタニオンqを用いて、グローバル座標系での加速度情報agに変換する。
ノイズ除去部36は、図5に例示するように、LSTM(Long Short Term Memory)層51と、第1の全結合層52と、第2の全結合層53と、出力層54とを含む第2のニューラルネットワークを用い、所定の時間の間に入力される複数の、グローバル座標系での加速度の値を入力データとして、最後に当該加速度の値が入力された時点より過去の時点における、グローバル座標系での加速度の真の値を推定する。
具体的に、この第2のニューラルネットワークの各層間の結合重みやバイアス等の学習パラメータは、少なくとも初期(この制御部11が実行するプログラムのインストールの時点)では、予め定めた値に設定される。この学習パラメータは、当該少なくとも初期の状態では、デバイス2の製造元の側で生成される。
一例としてこの第2のニューラルネットワークの学習パラメータは、次のように得られる。本実施の形態の情報処理装置1は、ユーザがデバイス2を手に把持して移動させている場面を、このデバイス2を撮像部15で撮像し、当該撮像した画像から、時刻t0,t1,…tnにおけるn+1回分のグローバルのデバイス2の位置情報p(t0),p(t1)…を得る。ここでti+1-tiは、一定の時間Δtであるとする。また情報処理装置1は、ここで得られた位置情報の時間差分v(t1)=(p(t1)-p(t0))/Δt,v(t2)=(p(t2)-p(t1))/Δt…を求め、さらに各時点の時間差分に対してローパスフィルタを適用して、デバイス2の移動速度の情報を得、さらに移動速度の情報の当初速度v(t1)との時間差分(つまり当初の時点からの速度の差分)であるL(t2)=(v(t2)-v(t1))/Δt,L(t3)=(v(t3)-v(t1))/(2Δt)…を求め、さらに各時点の速度の差分に対してローパスフィルタを適用して、移動加速度の教師データとする。なお、移動加速度の教師データは、さらに、ローパスフィルタ適用後の差分を累算して位置情報との整合がとれるよう補正されてもよい。これらの処理は、画像データに基づく速度や加速度の取得の処理として広く知られた種々の方法を採用できる。
一方、情報処理装置1は、このデバイス2から時刻t2,t2…tnの時点でそれぞれ入力される加速度情報a及び、角速度の値ωを用いて、座標変換部35が出力する、各時点でのグローバル座標系での加速度情報ag(t2),ag(t3),…ag(tn)を得ておく。
また情報処理装置1は、姿勢推定部33が出力する、各時点での姿勢クオタニオンの情報q(t1),q(t2)…q(tn)から、上記各時点でのグローバル座標系での加速度情報ag(t2),ag(t3),…ag(tn)のそれぞれのY軸成分(グローバル座標系で鉛直下方方向)の値から、重力加速度に相当する値を差し引いて重力成分を除いた加速度情報ag′(t2),ag′(t3),…ag′(tn)を得る。
さらに情報処理装置1は、各時点に対する姿勢クオタニオンの時間差分である角速度
ωq(t2)=q(t2)-q(t1)
ωq(t3)=q(t3)-q(t2)…
を求めておく。
情報処理装置1は、第2のニューラルネットワークの学習パラメータをランダムに初期化し、加速度情報ag(t2)からag(t2+N・Δt)のN個(Nを2以上の自然数として、N・Δtの時間に亘って入力される加速度情報ag)及びN個の角速度ωq(t2),ωq(t3),…ωq(t2+N・Δt)を入力データとしてLSTM層51に入力したときの出力層54の出力値を得る。情報処理装置1は、時刻t2+M・Δt(ただし0<M<Nなる自然数)の教師データL(t2+M・Δt)=v(t2+M・Δt)-v(t1)と、この出力値との差に基づいて、重力加速度を除いた加速度情報ag′(t2)からag′(t2+N・Δt)及び角速度ωq(t2),ωq(t3),…ωq(t2+N・Δt)を入力したときの第2のニューラルネットワークの出力値が、教師データL(t2+M・Δt)に一致することとなるよう、第2のニューラルネットワークの学習パラメータを更新する。この更新の処理は、広く知られたバックプロパゲーション等の処理によって実行できる。
情報処理装置1は、この機械学習の処理を多数の入力データと教師データとの対を用いて行う。そして、第2のニューラルネットワークを、ある時刻TSから時刻TE(ただしTE=TS+Δt×N)までの間に逐次的に得られる、重力加速度を除いたN個の加速度情報ag′、及び角速度ωを入力データとして、当該入力データに基づいて、時刻T(T=TS+Δτであり、このΔτは予め定めておく、ただし、TS<T<TE)の時点での所定のグローバル座標系での加速度の真の値を推定して出力するよう機械学習した状態とする。
制御部11のノイズ除去部36は、以上に例示したように機械学習した状態にある第2のニューラルネットワークのLSTM(Long Short Term Memory)層51に、直近の時刻TSから時刻TEまでの間に逐次的に得られる、重力加速度を除いたN個の加速度情報ag′と、姿勢クオタニオンqの時間変化(グローバル座標系での角速度に相当する)である
ωq(tS+Δt)=q(tS+Δt)-q(ts)
ωq(tS+2Δt)=q(tS+2Δt)-q(ts+Δt)

ωq(tS+NΔt)=q(tS+NΔt)-q(ts+(N-1)×Δt)
とを入力データとして入力する。
ノイズ除去部36は、当該入力データに基づいて第2のニューラルネットワークが出力する、時刻T(T=TS+Δτであり、このΔτは予め定めておく、ただし、TS<T<TE)の時点での所定のグローバル座標系での加速度の真の値の推定値αを得る。
速度推定部37は、前回、速度推定部37が求めた時刻TSの時点での速度の値を記憶しており(当初はグローバル座標系での各成分とも「0」にリセットしておく)、この速度の値に、時刻TSからTまでの間の移動加速度の推定値αを加算して、時刻Tでの速度の値V(T)を推定する。
また、速度推定部37は、ここで推定した速度V(T)に対してさらに、時刻Tより後の時刻tであって、T<t≦TEまでの各時点での座標変換部35の出力から重力加速度を除いて得た加速度情報ag′(T+Δt),ag′(T+2Δt),…ag′(TE)を用い、
V(T)+ag′(T+ΔT)により、時刻T+Δtでの速度の推定値V(T+Δt)と、
V(T+Δt)+ag′(T+2Δt)、つまり時刻Tから時刻T+2ΔTまでの座標変換部35の出力(重力加速度を除く)ag′の累算(積分)をV(T)に加算して時刻(T+2Δt)での速度の推定値V(T+2Δt)と…
V(TE-Δt)+ag′(TE)、つまり時刻Tから時刻T+TEまでの座標変換部35の出力(重力加速度を除く)ag′の累算(積分)をV(T)に加算して、時刻TEでの速度の推定値V(TE)と、
をそれぞれ得る。
速度推定部37はこれら各時点での推定値を出力する。また、時刻Tでの速度の推定値V(T)を、次回の演算のために記憶しておく。この時刻Tが次回の演算の時刻TSとなる。
位置推定部38は、前回、位置推定部38が求めた時刻TSの時点での位置の値P(TS)を記憶している(当初はグローバル座標系での各成分とも「0」にリセットしておく)。そして位置推定部38は、当該記憶している位置の値に、時刻Tでの速度の推定値V(T)を加えて時刻Tでの位置P(T)を得る。また、時刻Tより後、時刻TEまでの速度の推定値(積分の結果)を累算(積分)して、V(T+Δt)+V(T+2Δt)+…+V(TE-Δt)+V(TE)を求め、これを位置P(T)に加算して、時刻TEでの位置P(TE)を推定する。
位置推定部38は、時刻TEでの位置P(TE)を出力して、ゲームアプリケーション等の所定の処理に供する。また位置推定部38は、時刻Tでの位置の推定値P(T)を、次回の演算のために記憶しておく。既に述べたように、この時刻Tが次回の演算の時刻TSとなる。
[動作]
本実施の形態は、以上の構成を備えており、次の例のように動作する。なお、以下の説明で情報処理装置1は、第1の機械学習モデルの例である第1のニューラルネットワークと、第2の機械学習モデルの例となる第2のニューラルネットワークとを保持しており、それぞれ予め機械学習した状態としておく。
すなわち、第1のニューラルネットワークの層間の結合重みやバイアス等の学習パラメータは、デバイス2ごとに、デバイス2の工場出荷前に生成されるものである。本実施の形態の例では、この第1のニューラルネットワークの学習パラメータは、デバイス2を複数の姿勢でそれぞれ静止させた状態としたときの姿勢クオタニオンqとデバイス2が備える温度センサの出力とを入力データとし、この入力データの状態にあるときに、デバイス2が備える慣性計測ユニットが出力する加速度情報aを、加速度バイアス値dとして出力し、また入力データのうち、専ら温度センサの出力に依存する加速度スケールファクタ値sを出力するように機械学習を行って得たものである。
また本実施の形態の例では、第2のニューラルネットワークの層間の結合重みやバイアス等の学習パラメータは、デバイス2の姿勢や移動加速度を変化させつつ取得した、実際のデバイス2の移動加速度の情報(デバイス2を含む画像を撮像し、当該画像に基づいて得ることとすればよい)と、デバイス2が備える慣性計測ユニットが出力する角速度及び移動加速度の情報とを用いて得られる。
この例では、第2のニューラルネットワークの機械学習を行うコンピュータデバイス(情報処理装置1等)は、上記デバイス2の姿勢や移動加速度を変化させつつ取得した、複数の時点でデバイス2が備える慣性計測ユニットが出力する角速度(センサ座標系での角速度)及び移動加速度(センサ座標系での加速度情報)の情報を保持する。
そしてこのコンピュータデバイスは、上記各時点での角速度の情報に基づいて、上記各時点での姿勢クオタニオンの時間差分(グローバル座標系での角速度)を得る。またこのコンピュータデバイスは、上記各時点での移動加速度の情報から加速度バイアスや加速度スケールファクタの誤差を除き、さらにグローバル座標系での値に変換して、重力成分を差引きして、上記各時点での移動加速度の情報(グローバル座標系での加速度)を得る。
第2のニューラルネットワークの機械学習を行うコンピュータデバイスは、ある時間範囲TSからTEの間のN個の時刻の各時点でのグローバル座標系での角速度及び加速度(重力成分を除いたもの)を入力データとしたとき、当該時間範囲内にある時刻T(TS<T<TE)で得られた、実際のデバイス2の移動加速度の情報(この移動加速度には、重力加速度は含まれない)を出力するよう、第2のニューラルネットワークを機械学習する。
情報処理装置1は、こうして機械学習された状態にある第1、第2のニューラルネットワークの情報を保持する。そして、情報処理装置1は、有線または無線にて接続されたデバイス2から、当該デバイス2が備える慣性計測ユニットの加速度情報aと、角速度の値ωとを表す信号の入力を、一定のタイミングごとに繰り返し受け入れる。また情報処理装置1は、デバイス2から慣性計測ユニットが出力する角速度等の情報とともに、当該デバイス2が備える温度センサが出力する温度の情報の入力を受け入れる。
情報処理装置1は、デバイス2を保持したユーザが静止した(デバイス2が静止した)と判断したときに、その時点での角速度の値を複数回取得して、その平均を、ロール、ピッチ、ヨーの各成分ごとに角速度バイアスとして求めて保持しておく。
情報処理装置1は、角速度の値ωが入力されるごとに、当該入力された角速度ωの各成分の値から、保持している角速度バイアスの対応する成分の値を差し引いて、キャリブレーション後の角速度の値ω′を得る。さらに情報処理装置1は、ここで得た角速度の値ω′に基づいてマッジウィックフィルタを用いるなどして、センサ座標系での重力方向のベクトルを推定し、角速度の値が入力されるごとの各時点でのグローバル座標系でのデバイス2の姿勢を表す姿勢クオタニオンqを生成する。
また情報処理装置1は、第1のニューラルネットワークを用いて、上記得られた姿勢クオタニオンq及びデバイス2から受けた温度の情報から、上記各時点での加速度バイアス値d及び加速度スケールファクタの値を推定する。
そして情報処理装置1は、デバイス2から各時点で受けた加速度情報aから誤差を除去した、各時点での加速度情報a′を、これら各時点での加速度バイアス値d及び加速度スケールファクタの推定値sを配した行列Sと用いて、
a′=S(a+d)
として求める。
情報処理装置1は、先に求めた姿勢クオタニオンqを用いて、この誤差を除去した加速度情報a′(センサ座標系での値)をグローバル座標系での加速度情報agに変換する。
そして情報処理装置1は、第2のニューラルネットワークを用い、時刻TSからTEまでの時間の間に入力される複数の、グローバル座標系での加速度の値、及び上記姿勢クオタニオンの時間差分(グローバル座標系での角速度の値)を入力データとして、最後に当該加速度の値が入力された時点TEより過去の時点T(つまりTS<T<TEなる時刻T)における、グローバル座標系での加速度の真の値を推定し、当該推定値αを得る。
また情報処理装置1は、時刻TSの時点での前回求めた速度の値を記憶しており、この速度の値に、時刻TSからTまでの間の移動加速度の推定値αを加算して、時刻Tでの速度の値V(T)を推定する。
さらに情報処理装置1は、時刻Tから時刻TEまでの各時点(加速度の情報が得られている各時点)での速度の値を、V(T)に各時点での加速度情報a′を加算して求め、さらにこの情報を累算して、時刻TEにおける位置情報を求める。そして情報処理装置1は、この位置情報を、ゲームアプリケーション等の所定の処理に供する。
[重力成分]
なお、ここまでの説明では、第2のニューラルネットワークの入力データとする加速度の情報は、重力成分を除去した後の加速度の情報を用いていたが、本実施の形態はこれに限られず、重力成分を除去しない状態での(重力方向の軸、ここでの例ではY軸に固定の重力加速度1Gが加算された状態での)加速度の情報を入力データとして用いてもよい。
[ランタイム学習]
また、本実施の形態では、第1,第2のニューラルネットワークは、情報処理装置1を利用している間、つまり情報処理装置1でアプリケーションを実行している間に、ランタイムに機械学習を行ってもよい。
一例として、情報処理装置1は、デバイス2が所定のタイミングごとに出力する角速度の値ωの各成分のノルム(二乗和)が、所定の回数だけ連続して予め定めたしきい値を下回ったときに、デバイス2が静止していると判断する。そして情報処理装置1は、デバイス2が静止していると判断したときに、姿勢クオタニオンqとデバイス2が備える温度センサの出力とを入力データとして第1のニューラルネットワークに入力する。また情報処理装置1は、このときにデバイス2が出力している加速度情報aを保持しておく。
情報処理装置1は、第1のニューラルネットワークの出力である加速度バイアス値dと、加速度スケールファクタ値sとを得る。情報処理装置1は、そして、上記保持している加速度情報aを、加速度バイアス値dの教師データとしてその差d-aを求める。また、温度センサの出力に依存する値として予め定められた加速度スケールファクタ値の教師データと、第1のニューラルネットワークの出力として得られた加速度スケールファクタ値sとの差を求める。
そしてこれらの差が「0」となるようにバックプロパゲーションの処理により、第1のニューラルネットワークの学習パラメータ(層間の結合重みやバイアス等の情報)を更新する。
また情報処理装置1は、デバイス2が撮像部15の撮像する画角内にある場合には、複数の時点で、デバイス2が備える慣性計測ユニットが出力する角速度及び移動加速度の情報を保持するとともに、その時点での実際のデバイス2の位置、速度、あるいは移動加速度の少なくともいずれかの情報を、撮像部15が撮像した画像データに基づいて取得する。
具体的にこのデバイス2の移動加速度等の情報の取得は、慣性計測ユニットを用いる方法以外のトラッキング手段(他のトラッキング手段)を用いて行う。ここで、他のトラッキング手段として動作する情報処理装置1は、例えばデバイス2が備えるマーカーの位置を、撮像部15が撮像した画像から検出する。そして情報処理装置1は、当該検出した位置の時間差分(速度)を得て、さらにこの速度の時間差分を得ることで移動加速度の情報を取得する。また他のトラッキング手段として動作する情報処理装置1は、デバイス2の速度を、慣性計測ユニットを用いる以外の、何らかの方法で直接的に検出できる場合、当該速度の時間差分を得ることで移動加速度の情報を取得すればよい。同様に情報処理装置1は、デバイス2の移動加速度を、慣性計測ユニットを用いる以外の、何らかの方法で直接的に検出できる場合、当該検出した移動加速度の情報をそのまま用いてもよい。
この例では、情報処理装置1は、上記各時点で保持した角速度の情報に基づいて、対応する各時点での姿勢クオタニオンq(制御部11の姿勢推定部33の出力)の時間差分(グローバル座標系での角速度)を得る。
またこの情報処理装置1は、上記各時点での加速度情報aから加速度バイアスや加速度スケールファクタの誤差を除き、さらにグローバル座標系での値に変換し、重力成分を差引きする。具体的には制御部11の座標変換部35の出力から重力成分を差引きする。そしてこれにより、情報処理装置1は、上記各時点での移動加速度の情報(グローバル座標系での加速度)を得る。
そして情報処理装置1は、上記各時点のうち、ある時間範囲TSからTEの間のN個の時刻の各時点でのグローバル座標系での角速度及び加速度(重力成分を除いたもの)を入力データとしたときの第2のニューラルネットワークの出力と、当該時間範囲内にある時刻T(T=TS+Δτであり、このΔτは予め定めておく、ただし、TS<T<TE)で得られた、実際のデバイス2の移動加速度の情報(この移動加速度には、重力加速度は含まれない)との差を求め、この差が「0」となるように第2のニューラルネットワークを機械学習する。
このようにランタイムに機械学習を行うこととすれば、デバイス2の経年劣化や、使用場面で温度などの環境変化に対応して、出力を調整できる。
[重力方向を軸とする回転を除く機械学習]
さらに本実施の形態の一例では、第1のニューラルネットワークの機械学習時、またはその利用時に入力する姿勢クオタニオンqは、重力軸(Y軸)周りの回転成分(すなわちグローバル座標系でのロール角)を取り除いたものとしてもよい。具体的に情報処理装置1は、第1のニューラルネットワークに入力するべき姿勢クオタニオンqのうち、そのロール角成分を予め定めた角度(例えば0度)に設定した、姿勢クオタニオンq′を求める。そして情報処理装置1は、実際に第1のニューラルネットワークに入力する姿勢クオタニオンとして、ここで求めた姿勢クオタニオンq′を用いることとする。
このようにすると、ロール角成分だけ自由度が減るため、機械学習の対象となる訓練データのバリエーションを少なくでき、機械学習結果が比較的早く収束することが期待でき、また安定性を向上できる。また、グローバル座標系でのロール角成分は、実質的にバイアス誤差等に影響しないので、推定するバイアス誤差の精度への影響も軽微である。
また、ここではロール角成分を予め定めた角度に設定することとしたが、これに代えて、姿勢クオタニオンqをXYZ座標の各軸周りの回転角度(ヨー角,ロール角,ピッチ角)の情報に変換してこれを姿勢情報とし、第1のニューラルネットワークの入力データとしてもよい。この場合、ロール角の情報は破棄し、ヨー角、ピッチ角の情報を第1のニューラルネットワークの入力データとして用いることとしてもよい。
このように、ヨー角、ピッチ角の情報を第1のニューラルネットワークの入力データとして用いれば、ロール角成分だけ自由度が減るため、機械学習の対象となる訓練データのバリエーションを少なくでき、機械学習結果が比較的早く収束することが期待でき、また安定性を向上できる。また、グローバル座標系でのロール角成分は、実質的にバイアス誤差等に影響しないので、推定するバイアス誤差の精度への影響も軽微である。
この例によると、迅速に機械学習結果が収束し、安定性を向上できるので、ランタイムの機械学習を行う際には好適である。
[データの取りこぼし]
また、デバイス2が無線にて情報処理装置1との間で通信を行っている場合、情報処理装置1が、デバイス2が出力する加速度情報や、角速度の情報の受信に失敗する場合(データの取りこぼしが発生する場合)が想定される。
このような事態に対応するため、第2のニューラルネットワークの機械学習時には、訓練データをランダムに欠損させて(例えば対応する成分の値を「0」に設定して)、データの取りこぼし状態を機械学習させることとしてもよい。
この例では、実際の第2のニューラルネットワークの使用時(機械学習後の第2のニューラルネットワークを使用して、加速度の真値の推定を行っているとき)に、入力データとなる加速度の情報等に取りこぼしが生じたときには、当該取りこぼした情報に対応する値を「0」に設定して入力データとする。
あるいは取りこぼしがあったことを表すフラグ(取りこぼしたときに「1」とする)を入力データに含めて第2のニューラルネットワークを機械学習し、実際の使用時に取りこぼしがないときには、取りこぼしフラグを「0」として入力データを入力し、取りこぼしがあったときには、取りこぼしフラグを「1」として入力データを入力するようにしてもよい。
[角速度に対する適用]
また、ここまでの説明において第1のニューラルネットワークは、加速度の情報の校正にのみ利用しているが、角速度についても第1のニューラルネットワークを用いて校正するようにしてもよい。この例では、デバイス2が静止していると判断されるとき、角速度のすべての成分が「0」となるべきであるので、デバイス2ごとに、静止時の角速度の値を、加速度情報とともに第1のニューラルネットワークで機械学習して、補正することとすればよい。
[変形例]
以上の例では、情報処理装置1とデバイス2は別体のものとしていたが、本実施の形態の一例では、これらは一体的に構成されてもよい。具体的に本実施の形態の情報処理装置1及びデバイス2は、スマートフォンなどの一体のデバイスとして実現されてもよい。
1 情報処理装置、2 デバイス、11 制御部、12 記憶部、13 操作入力部、14 出力制御部、15 撮像部、21 IMU、22 コントローラ、23 通信部、31 検出値受入部、32 角速度誤差除去部、33 姿勢推定部、34 加速度誤差除去部、35 座標変換部、36 ノイズ除去部、37 速度推定部、38 位置推定部、41 入力層、42 中間層、43 出力層、52 第1の全結合層、53 第2の全結合層、54 出力層。

Claims (10)

  1. 所定の時刻TSから時刻TEまでの間に複数の入力データを逐次的に受け入れる手段と、
    前記受け入れた入力データに基づいて、時刻T(TS<T<TE)の時点での所定の推定データを推定する状態に機械学習されたモデル情報を用い、前記受け入れた入力データに基づく、前記時刻Tの時点での推定データを推定する推定手段と、
    を含み、
    前記入力データは、所定の対象物の加速度に関する測定データであり、
    前記推定データは、所定の対象物の加速度の真値を推定したデータであり、
    前記時刻Tより後の時刻に入力された入力データを、前記推定データに対して累算して、前記所定の対象物の速度または位置の少なくとも一方に関する情報を生成する情報処理装置。
  2. 慣性計測ユニットを備えたデバイスから、当該慣性計測ユニットの出力を受け入れる手段と、
    前記受け入れた慣性計測ユニットの出力に基づいて、前記デバイスの姿勢情報を推定する手段と、
    当該推定される姿勢情報に基づく情報を入力データとし、当該入力データと、前記慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差との関係を少なくとも機械学習した状態にある第1の機械学習モデルを用い、当該第1の機械学習モデルに、前記推定した前記デバイスの姿勢情報に基づく情報を入力して、前記デバイスが備える慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差を少なくとも推定する推定手段と、
    を有し、
    当該推定されたバイアス誤差が、前記慣性計測ユニットが出力する移動加速度の校正の処理に供され、
    所定の時刻TSから時刻TEまでの間の複数の時点で、前記デバイスの前記校正の処理が行われた移動加速度の情報を逐次的に受け入れる手段と、
    前記受け入れた移動加速度の情報を入力データとして、時刻T(TS<T<TE)の時点での所定の対象物の加速度の真値を推定する状態に機械学習された第2の機械学習モデル情報を用い、前記受け入れた移動加速度の情報に基づく、前記時刻Tの時点での所定の対象物の加速度の真値を推定する推定手段と、
    をさらに含み、
    前記時刻Tより後の時刻に入力された移動加速度の情報を、前記推定した真値に対して累算して、前記デバイスの速度または位置の少なくとも一方に関する情報を生成する情報処理装置。
  3. 慣性計測ユニットを備えたデバイスから、当該慣性計測ユニットの出力を受け入れる手段と、
    前記受け入れた慣性計測ユニットの出力に基づいて、前記デバイスの姿勢情報を推定する手段と、
    前記推定される姿勢情報のうち、重力方向の回転角を、予め定めた角度に設定した姿勢情報を入力データとして用い、当該入力データと前記慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差との関係を少なくとも機械学習した状態にある第1の機械学習モデルを用い、前記推定した前記デバイスの姿勢情報のうち、重力方向の回転角を、予め定めた角度に設定して得た情報を、当該第1の機械学習モデルに入力して、前記デバイスが備える慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差を少なくとも推定する推定手段と、
    を有し、
    当該推定されたバイアス誤差が、前記慣性計測ユニットが出力する移動加速度の校正の処理に供され、
    所定の時刻TSから時刻TEまでの間の複数の時点で、前記デバイスの前記校正の処理が行われた移動加速度の情報を逐次的に受け入れる手段と、
    前記受け入れた移動加速度の情報を入力データとして、時刻T(TS<T<TE)の時点での所定の対象物の加速度の真値を推定する状態に機械学習された第2の機械学習モデル情報を用い、前記受け入れた移動加速度の情報に基づく、前記時刻Tの時点での所定の対象物の加速度の真値を推定する推定手段と、
    をさらに含み、
    前記時刻Tより後の時刻に入力された移動加速度の情報を、前記推定した真値に対して累算して、前記デバイスの速度または位置の少なくとも一方に関する情報を生成する情報処理装置。
  4. 慣性計測ユニットを備えたデバイスから、当該慣性計測ユニットの出力を受け入れる手段と、
    前記受け入れた慣性計測ユニットの出力に基づいて、前記デバイスの姿勢情報を推定する手段と、
    前記推定される姿勢情報のうち、重力方向の回転角を除いた情報を入力データとして用い、当該入力データと前記慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差との関係を少なくとも機械学習した状態にある第1の機械学習モデルを用い、前記推定した前記デバイスの姿勢情報のうち、重力方向の回転角を除いた情報を、当該第1の機械学習モデルに入力して、前記デバイスが備える慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差を少なくとも推定する推定手段と、
    を有し、
    当該推定されたバイアス誤差が、前記慣性計測ユニットが出力する移動加速度の校正の処理に供され、
    所定の時刻TSから時刻TEまでの間の複数の時点で、前記デバイスの前記校正の処理が行われた移動加速度の情報を逐次的に受け入れる手段と、
    前記受け入れた移動加速度の情報を入力データとして、時刻T(TS<T<TE)の時点での所定の対象物の加速度の真値を推定する状態に機械学習された第2の機械学習モデル情報を用い、前記受け入れた移動加速度の情報に基づく、前記時刻Tの時点での所定の対象物の加速度の真値を推定する推定手段と、
    をさらに含み、
    前記時刻Tより後の時刻に入力された移動加速度の情報を、前記推定した真値に対して累算して、前記デバイスの速度または位置の少なくとも一方に関する情報を生成する情報処理装置。
  5. 請求項2から4のいずれか一項に記載の情報処理装置であって、
    前記推定手段が用いる第1の機械学習モデルは、前記入力データと、前記慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差及び加速度スケールファクタ値との関係を機械学習した状態にあり、
    前記推定手段は、前記推定した前記デバイスの姿勢情報に基づく入力データを、当該第1の機械学習モデルに入力して、前記デバイスが備える慣性計測ユニットが出力する移動加速度の情報に含まれるバイアス誤差及び加速度スケールファクタ値を推定する推定手段であり、
    当該推定されたバイアス誤差及び加速度スケールファクタ値が、前記慣性計測ユニットが出力する移動加速度の校正の処理に供される情報処理装置。
  6. 請求項2から4のいずれか一項に記載の情報処理装置であって、
    前記慣性計測ユニットが出力する情報とは異なる情報に基づいて前記デバイスの位置、速度、移動加速度のいずれかの情報を取得する、他のトラッキング手段をさらに含み、
    所定の時刻TSから時刻TEまでの間の複数の時点で受け入れた、前記デバイスの前記校正の処理が行われた移動加速度の情報と、前記時刻T(TS<T<TE)の時点で当該他のトラッキング手段が取得した位置、速度、移動加速度のいずれかの情報とが、前記第2の機械学習モデルの機械学習に供される情報処理装置。
  7. 請求項2から4のいずれか一項に記載の情報処理装置であって、
    前記第2の機械学習モデルは、ランダムに欠損させた入力データを利用して、当該入力データを入力したときの、前記時刻T(TS<T<TE)の時点での所定の対象物の加速度の真値を推定する状態に機械学習されている情報処理装置。
  8. 請求項2から4のいずれか一項に記載の情報処理装置であって、
    前記デバイスが静止した状態にあるか否かを判定する手段をさらに含み、
    前記デバイスが静止した状態にあると判定されたときに、前記慣性計測ユニットが出力する移動加速度の情報を出力するべきバイアス誤差として、前記推定される姿勢情報に基づく情報を入力データとして第1の機械学習モデルの機械学習を行う情報処理装置。
  9. コンピュータを用い、
    受入手段が、所定の時刻TSから時刻TEまでの間に所定の対象物の加速度に関する測定データである複数の入力データを逐次的に受け入れ、
    推定手段が、前記受け入れた入力データに基づいて、時刻T(TS<T<TE)の時点での所定の推定データを推定する状態に機械学習されたモデル情報を用い、前記受け入れた入力データに基づく、前記時刻Tの時点での、前記所定の対象物の加速度の真値を推定したデータである推定データを推定する情報処理方法であって、
    生成手段が、前記時刻Tより後の時刻に入力された入力データを、前記推定データに対して累算して、前記所定の対象物の速度または位置の少なくとも一方に関する情報を生成する情報処理方法。
  10. コンピュータを、
    所定の時刻TSから時刻TEまでの間に、所定の対象物の加速度に関する測定データである複数の入力データを逐次的に受け入れる手段と、
    前記受け入れた入力データに基づいて、時刻T(TS<T<TE)の時点での所定の推定データを推定する状態に機械学習されたモデル情報を用い、前記受け入れた入力データに基づく、前記時刻Tの時点での前記所定の対象物の加速度の真値を推定したデータである推定データを推定する推定手段と、
    前記時刻Tより後の時刻に入力された入力データを、前記推定データに対して累算して、前記所定の対象物の速度または位置の少なくとも一方に関する情報を生成する手段と、
    として機能させるプログラム。

JP2021573688A 2020-01-29 2020-01-29 情報処理装置、情報処理方法、及びプログラム Active JP7389825B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/003173 WO2021152723A1 (ja) 2020-01-29 2020-01-29 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021152723A1 JPWO2021152723A1 (ja) 2021-08-05
JP7389825B2 true JP7389825B2 (ja) 2023-11-30

Family

ID=77078676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021573688A Active JP7389825B2 (ja) 2020-01-29 2020-01-29 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US20230066821A1 (ja)
JP (1) JP7389825B2 (ja)
WO (1) WO2021152723A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113916223B (zh) * 2021-09-29 2022-11-11 深圳市慧鲤科技有限公司 定位方法及装置、设备、存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004239881A (ja) 2003-02-04 2004-08-26 Pioneer Electronic Corp 角速度検出装置
US20050021270A1 (en) 2003-07-22 2005-01-27 Samsung Electronics Co., Ltd. Method and apparatus for measuring speed of moving body using accelerometer
JP2010107244A (ja) 2008-10-28 2010-05-13 Daihatsu Motor Co Ltd 車載用加速度センサ零点補正装置
JP2017147825A (ja) 2016-02-16 2017-08-24 株式会社東芝 列車速度位置算出装置、列車運転支援装置、および列車運転制御装置
JP2017146279A (ja) 2016-02-19 2017-08-24 ヤフー株式会社 推定装置、推定方法及び推定プログラム
JP2018194441A (ja) 2017-05-18 2018-12-06 いすゞ自動車株式会社 車両用情報処理システム
US20190331832A1 (en) 2018-04-25 2019-10-31 Microsoft Technology Licensing, Llc Predicting microclimate

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004239881A (ja) 2003-02-04 2004-08-26 Pioneer Electronic Corp 角速度検出装置
US20050021270A1 (en) 2003-07-22 2005-01-27 Samsung Electronics Co., Ltd. Method and apparatus for measuring speed of moving body using accelerometer
JP2010107244A (ja) 2008-10-28 2010-05-13 Daihatsu Motor Co Ltd 車載用加速度センサ零点補正装置
JP2017147825A (ja) 2016-02-16 2017-08-24 株式会社東芝 列車速度位置算出装置、列車運転支援装置、および列車運転制御装置
JP2017146279A (ja) 2016-02-19 2017-08-24 ヤフー株式会社 推定装置、推定方法及び推定プログラム
JP2018194441A (ja) 2017-05-18 2018-12-06 いすゞ自動車株式会社 車両用情報処理システム
US20190331832A1 (en) 2018-04-25 2019-10-31 Microsoft Technology Licensing, Llc Predicting microclimate

Also Published As

Publication number Publication date
WO2021152723A1 (ja) 2021-08-05
JPWO2021152723A1 (ja) 2021-08-05
US20230066821A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
JP6702543B2 (ja) 情報処理装置、方法およびプログラム
JP5861235B2 (ja) 物体の向きをより正確に推定する方法および前記方法を実装した姿勢制御システム
JP6533590B2 (ja) ウェアラブル装置とその姿勢測定方法及びプログラム
JP2010534316A (ja) 対象物の動きを捕捉するシステム及び方法
KR101708584B1 (ko) 고정 기준계에서의 공간 내 물체의 배향을 감지하기 위한 개선된 방법 및 장치
JP2014089113A (ja) 姿勢推定装置及びプログラム
CN108827341A (zh) 用于确定图像采集装置的惯性测量单元中的偏差的方法
JP2017119102A (ja) 運動解析装置、方法及びプログラム
JP7034264B2 (ja) 自己位置推定方法
JP5630969B2 (ja) 姿勢算出装置、姿勢算出プログラム、姿勢算出システム、および、姿勢算出方法
JP7389825B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2015179002A (ja) 姿勢推定方法、姿勢推定装置及びプログラム
KR20190022198A (ko) 착용형 센서를 이용한 자세정보 보정 방법 및 이를 수행하는 기록매체
CN107145706B (zh) 虚拟现实vr设备融合算法性能参数的评估方法及装置
JP6999542B2 (ja) 携帯型電子装置を使用して測定するためのシステム及び方法
US9297660B2 (en) System and method for determining parameters representing orientation of a solid in movement subject to two vector fields
JP2018159569A (ja) 姿勢算出装置、姿勢計測システム、及び姿勢算出方法
JP2021128030A (ja) 較正装置およびその制御方法
CN116310991A (zh) 一种基于强化学习的篮板落点预测方法及***
JP6922208B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN115049697A (zh) 视觉测速方法、装置、设备和存储介质
US20200310435A1 (en) Self-position estimation method
JP6147446B1 (ja) ソフト制約及びペナルティ機能を使用した慣性センサの初期化
CN108413970B (zh) 一种定位方法、云***、电子设备及计算机程序产品
WO2022269985A1 (ja) 情報処理装置、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231016

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231117

R150 Certificate of patent or registration of utility model

Ref document number: 7389825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150