(57)【要約】【課題】身体の部位の位置情報をより高精度に得ることが可能なプログラム、情報処理装置、及び情報処理方法を提供する。【解決手段】身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正機能を、コンピュータに実現させるためのプログラム。【選択図】図１５
2019203188.tif 000002
【特許請求の範囲】
【請求項１】
身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正機能を、コンピュータに実現させるためのプログラム。
【請求項２】
前記センサデータは加速度を含み、
前記第１の処理は、前記加速度の積分を含み、
前記第１の出力は前記積分により得られる、前記装着部位の位置情報を含む、請求項１に記載のプログラム。
【請求項３】
前記センサデータは加速度を含み、
前記第２の処理は、前記装着部位の位置情報を回帰により推定する回帰推定処理を含み、
前記回帰推定処理は、前記加速度に基づいて行われる、請求項１に記載のプログラム。
【請求項４】
前記センサデータは角速度をさらに含み、
前記回帰推定処理は、前記角速度にさらに基づいて行われる、請求項３に記載のプログラム。
【請求項５】
前記回帰推定処理の入力として、前記角速度に基づいて座標系変換された前記加速度が用いられる、請求項４に記載のプログラム。
【請求項６】
前記回帰推定処理の入力として、前記角速度に基づいて得られる前記装着部位の姿勢情報が用いられる、請求項４に記載のプログラム。
【請求項７】
前記回帰推定処理の入力として、前記モーションセンサにより取得された前記加速度または前記角速度が用いられる、請求項４に記載のプログラム。
【請求項８】
前記回帰推定処理は、過去に前記回帰推定処理により推定された前記装着部位の位置情報に基づいて行われる、請求項３に記載のプログラム。
【請求項９】
前記補正機能により補正された前記装着部位の位置情報に基づいて、前記モーションセンサが装着されていない非装着部位の位置情報、または姿勢情報を推定する補間機能を、前記コンピュータにさらに実現させるための、請求項１に記載のプログラム。
【請求項１０】
前記補間機能は、所定のスケルトン構造において、複数の前記装着部位の間に位置する前記非装着部位の位置情報、または姿勢情報を推定する、請求項９に記載のプログラム。
【請求項１１】
前記補間機能は、前記非装着部位の位置情報または姿勢情報を回帰により推定する、請求項９に記載のプログラム。
【請求項１２】
前記第１の出力または前記第２の出力に含まれる前記装着部位の位置情報の信頼度を示す信頼度を特定する信頼度特定機能を前記コンピュータにさらに実現させるための、請求項９に記載のプログラム。
【請求項１３】
前記補正機能は、前記信頼度特定機能により特定された前記信頼度に基づいて、前記装着部位の位置情報を補正する、請求項１２に記載のプログラム。
【請求項１４】
前記第２の処理は、前記回帰推定処理により推定された前記装着部位の位置情報に基づいて、前記モーションセンサが装着されていない非装着部位の位置情報または姿勢情報を推定する補間処理をさらに含む、請求項３に記載のプログラム。
【請求項１５】
前記補正機能は、前記第１の出力に基づいて、前記第２の出力に含まれる前記非装着部位の位置情報または姿勢情報をさらに補正する、請求項１４に記載のプログラム。
【請求項１６】
前記補正機能は、カルマンフィルタにより実現される、請求項９に記載のプログラム。
【請求項１７】
前記補正機能は、接地状態を検出し、検出結果に基づいて前記装着部位の位置情報を補正する、請求項１に記載のプログラム。
【請求項１８】
前記補正機能は、前記センサデータに含まれる加速度及び角速度を用いて、足先の速度及び位置を推定し、推定結果に基づいて、当該足先が所定の速度を持つ状態である前記接地状態を検出する、請求項１７に記載のプログラム。
【請求項１９】
身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正部を備える、情報処理装置。
【請求項２０】
身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正をプロセッサが行うこと、を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、身体の動き情報を取得するためのモーションキャプチャ技術が盛んに開発されている。取得された身体の動き情報は、例えばスポーツにおいてフォーム改善に用いられたり、ＶＲ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ）やＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）等のアプリケーションに用いられたりしている。【０００３】
身体の動き情報を取得するため、例えば慣性航法（ＩＮＳ：Ｉｎｅｒｔｉａｌ  Ｎａｖｉｇａｔｉｏｎ  Ｓｙｓｔｅｍ）を用いて、身体に装着されたモーションセンサにより取得されたセンサデータからモーションセンサの位置を計算することが行われている（例えば下記特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１７／２１７０５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、慣性航法ではセンサデータに含まれる加速度を複数回積分することで位置の計算を行うため、得られる位置の誤差が時間に応じて大きくなってしまう恐れがあった。そのため、モーションセンサが装着された部位の位置の情報をより高精度に得るための技術が望まれていた。
【課題を解決するための手段】
【０００６】
本開示によれば、身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正機能を、コンピュータに実現させるためのプログラムが提供される。【０００７】
また、本開示によれば、身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正部を備える、情報処理装置が提供される。【０００８】
また、本開示によれば、身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正をプロセッサが行うこと、を含む情報処理方法が提供される。
【発明の効果】
【０００９】
以上説明したように本開示によれば、モーションセンサが装着された部位の位置の情報をより高精度に得ることが可能である。【００１０】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１１】
【図１】本開示の第１の実施形態の概要を説明するためのイメージ図である。
【図２】順運動学計算を用いた既存のモーションキャプチャ技術について説明するための説明図である。
【図３】順運動学計算について説明するための説明図である。
【図４】逆運動学計算を用いたアプローチについて説明するための説明図である。
【図５】逆運動学計算について説明するための説明図である。
【図６】同実施形態にかかる第１のステップを説明するための説明図である。
【図７】同実施形態にかかる第２のステップを説明するための説明図である。
【図８】慣性航法に基づく位置推定処理の概略を示す模式図である。
【図９】慣性航法に基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。
【図１０】運動モデルに基づく位置推定処理の概略を示す模式図である。
【図１１】運動モデルに基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。
【図１２】同実施形態にかかる位置推定処理の概略を示す模式図である。
【図１３】同実施形態にかかる位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。
【図１４】同実施形態にかかるシステムの装置構成の一例を示す図である。
【図１５】同実施形態にかかるシステムの機能構成の一例を示す図である。
【図１６】装着部位の組み合わせと運動モデルの例を示す説明図である。
【図１７】信頼度特定部５５０による信頼度の特定の一例を示す図である。
【図１８】同実施形態にかかるシステムの動作例を示すフローチャート図である。
【図１９】第１の変形例にかかるシステムの機能構成例を示す図である。
【図２０】第２の変形例にかかるシステムの機能構成例を示す図である。
【図２１】第３の変形例にかかるシステムの機能構成例を示す図である。
【図２２】非トラッキング型運動モデルの概要を説明するための説明図である。
【図２３】トラッキング型運動モデルの概要を説明するための説明図である。
【図２４】第４の変形例にかかるシステムの機能構成例を示す図である。
【図２５】第５の変形例にかかるシステムの装置構成例を示す図である。
【図２６】本開示の第２の実施形態に係る第１のＺＵＰＴ手法を説明するための説明図（その１）である。
【図２７】同実施形態に係る第１のＺＵＰＴ手法を説明するための説明図（その２）である。
【図２８】同実施形態に係る第２のＺＵＰＴ手法を説明するための説明図（その１）である。
【図２９】同実施形態に係る第２のＺＵＰＴ手法を説明するための説明図（その２）である。
【図３０】同実施形態に係るシステムの機能構成の一例を示す図である。
【図３１】同実施形態に係るシステムの動作例を示すフローチャート図である。
【図３２】同実施形態に係る足先速度の推定を説明するための説明図である。
【図３３】同実施形態に係る足先位置の推定を説明するための説明図である。
【図３４】同実施形態の変形例１に係るＺＵＰＴ手法を説明するための説明図である。
【図３５】同実施形態の変形例１に係る相対位置の推定を説明するための説明図である。
【図３６】同実施形態の変形例１に係るシステムの動作例を示すフローチャート図である。
【図３７】同実施形態の変形例２に係るセンサ装置１０の装置構成の一例を示す図である。
【図３８】同実施形態の変形例２に係るＺＵＰＴ手法を説明するための説明図である。
【図３９】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
また、本明細書及び図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。ただし、実質的に同一の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１４】
なお、説明は以下の順序で行うものとする。
＜＜１．第１の実施形態の概要＞＞
＜＜２．本技術の原理＞＞
＜＜３．構成例＞＞
＜＜４．動作例＞＞
＜＜５．変形例＞＞
＜＜６．第２の実施形態の概要＞＞
＜＜７．ハードウェア構成例＞＞
＜＜８．むすび＞＞
【００１５】
＜＜１．第１の実施形態の概要＞＞
人間や動物等の身体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトン情報が用いられる。スケルトン構造は、部位の情報と、部位間を結ぶ線分であるボーンを含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトン構造におけるボーンは例えば人間の骨に相当し得るが、ボーンの位置や数は必ずしも実際の人間の骨格と整合していなくてもよい。
【００１６】
スケルトン情報における部位の位置は、例えば対応する身体の各部位にマーカを装着したり、モーションセンサを装着したりすることにより取得することができる。例えば、身体の各部位にマーカを装着して、外部のカメラ等を用いてマーカの位置を取得する技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得されたセンサデータに基づいてモーションセンサの位置情報を取得する技術が存在する。
【００１７】
身体に装着されたマーカを用いる技術と比べると、身体に装着したモーションセンサを用いた技術では、外部のカメラ、光源、及びマーカが不要であり、持ち運び可能でセットアップが容易であるという利点がある。また、身体に装着したモーションセンサを用いた技術は、カメラの撮像範囲による制限を受けないため、広い屋外空間や、死角の発生し易い複雑な形状の空間、狭小空間等でも利用可能であるという利点がある。
【００１８】
しかし、身体に装着したモーションセンサを用いた技術において全身のスケルトンを推定するためには、各関節にモーションセンサを装着する必要があり、ユーザへの負荷が大きい場合があった。また、多数のモーションセンサをユーザの各部位に適切に装着するための専用スーツも開発されているが、専用スーツは製造コストが高い場合があった。
【００１９】
そこで、本発明者らは、上記事情を一着眼点にして本開示の第１の実施形態を創作するに至った。本開示の第１の実施形態によるシステムでは、装着されるモーションセンサの数を削減しつつ、装着されるモーションセンサより多くの部位の位置情報を取得することが可能である。なお、本明細書においてモーションセンサとは、身体の動きをセンシングするデバイスであり、慣性センサ（加速度センサ、角速度センサ）、地磁気センサ、気圧センサ、イメージセンサ等を含み得る。以下では、モーションセンサとして、少なくとも慣性センサが身体に装着される例について主に説明を行う。
【００２０】
本実施形態の概要について、図１を参照して説明する。図１は、本実施形態の概要を説明するためのイメージ図である。図１に示す例では、ユーザＵ１の身体の６箇所の部位に、６つのセンサ装置１０Ａ〜１０Ｆが装着されている。センサ装置１０Ａ〜１０Ｆは、例えば加速度（Ａｃｃｅｌｅｒａｔｉｏｎ）を取得する加速度センサや角速度（Ａｎｇｕｌａｒ  ｖｅｌｏｃｉｔｙ）を取得するジャイロセンサ（角速度センサ）等の慣性センサ（ＩＭＵ：Ｉｎｅｒｔｉａｌ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｕｎｉｔ）を含む。センサ装置１０Ａ〜１０Ｆは、身体の基準となる関節部位（例えば腰や頭部）、あるいは身体の末端近傍（手首、足首、頭部等）に装着されることが望ましい。図１に示す例では、ユーザＵ１の腰にセンサ装置１０Ａが、手首にセンサ装置１０Ｂ、１０Ｅが、足首にセンサ装置１０Ｃ、１０Ｄが、頭部にセンサ装置１０Ｆが装着されている。なお、以下の説明において、センサ装置１０Ａ〜１０Ｆを特に区別する必要がない場合には、まとめて単にセンサ装置１０と呼ぶ場合がある。また、以下では、センサ装置１０が装着された身体の部位を装着部位とも称する場合がある。また、センサ装置１０の数や装着位置（装着部位の位置）は図１に示す例に限定されるものではない。
【００２１】
本実施形態によるシステムは、センサ装置１０により取得されたセンサデータに基づいて、各装着部位の位置（Ｐｏｓｉｔｉｏｎ）及び姿勢（Ｏｒｉｅｎｔａｔｉｏｎ）の情報を取得する。図１には、センサ装置１０Ａ〜１０Ｆが装着された装着部位Ｐ１０１〜Ｐ１０６に関する情報（以下、装着部位情報とも称する）として、位置情報及び姿勢情報を含む装着部位情報ＰＤ１００が示されている。
【００２２】
また、本実施形態によるシステムは、センサ装置１０Ａ〜１０Ｆが装着された装着部位Ｐ１０１〜Ｐ１０６の位置情報及び姿勢情報に基づいて、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトン情報を推定する。ここで、本実施形態では、スケルトン構造における部位のうち、センサ装置１０が装着された装着部位だけでなく、センサ装置１０が装着されていない部位（以下、非装着部位とも称する）の位置情報及び姿勢情報を推定する。
【００２３】
図１の例では、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトン情報ＳＤ１００が示されている。スケルトン情報ＳＤ１００には、装着部位Ｐ１０１に対応する装着部位ＳＰ１０１や装着部位Ｐ１０２に対応する装着部位ＳＰ１０２の情報だけでなく、非装着部位ＳＰ１０７の情報が含まれる。
【００２４】
なお、スケルトン情報には、部位の情報に加え、ボーンの情報（位置情報、姿勢情報等）も含まれ得る。例えば図１に示す例において、スケルトン情報ＳＤ１００には、ボーンＳＢ１０１の情報が含まれ得る。例えば、スケルトン構造における部位の位置情報及び姿勢情報に基づいて、部位間のボーンの情報を特定することが可能である。
【００２５】
上述したように本実施形態によれば、モーションセンサが装着された装着部位の情報に基づいて、モーションセンサが装着されていない非装着部位の情報を推定することで、情報を取得したい部位の数を維持しつつ、装着されるモーションセンサの数を削減することが可能である。以下、上述した効果を実現するための本実施形態にかかる技術の原理について説明する。
【００２６】
＜＜２．本技術の原理＞＞
＜２−１．本実施形態のアプローチ＞
既存のモーションキャプチャ技術として、順運動学（ＦＫ：Ｆｏｒｗａｒｄ  Ｋｉｎｅｍａｔｉｃｓ）計算によりスケルトン情報を取得する技術が存在する。順運動学計算とは、各関節部位の姿勢に基づいて、末端部位の位置を計算する手法である。
【００２７】
図２は、順運動学計算を用いた既存のモーションキャプチャ技術について説明するための説明図である。図２には、スケルトン構造で表現されたスケルトン情報ＳＤ９０が示されている。
【００２８】
図２に示すスケルトン情報ＳＤ９０において、慣性センサを含むセンサ装置が装着された装着部位には丸印が付されており、すなわち部位ＳＰ９１〜ＳＰ９６は装着部位である。ここで、センサ装置に角速度センサが含まれる場合、ＡＨＲＳ（Ａｔｔｉｔｕｄｅ  ａｎｄ  Ｈｅａｄｉｎｇ  Ｒｅｆｅｒｅｎｃｅ  Ｓｙｓｔｅｍ）等の姿勢計測技術を用いることで、装着部位の姿勢情報（角度情報）を特定することが可能である。
【００２９】
例えば、身体の腰に対応する部位ＳＰ９１を基準（原点）とした身体座標系を設定した場合、部位ＳＰ９１〜ＳＰ９５の姿勢情報に基づいて順運動学計算を行うことで、身体座標系における部位ＳＰ９２〜ＳＰ９６の位置情報を特定することができる。なお、身体座標系において基準とされる部位を以下ではルート部位と称する場合がある。
【００３０】
ここで、順運動学計算について図３を参照して説明を行う。図３は、順運動学計算について説明するための説明図である。説明を簡単にするため、図３には、腕を２自由度の単純なリンク機構とみなした場合の例が示されている。
【００３１】
図３に示す例では、部位ＳＰ８１がルート部位であり、部位ＳＰ８１を基準（原点）としたｘｙ座標系（平面座標系）が示されている。順運動学計算において、上述したように各部位の姿勢情報が既知であり、図３に示す例では部位ＳＰ８１の姿勢に基づくボーンＳＢ８１とｘ軸のなす角の角度θ１、及び部位ＳＰ８２の姿勢に基づくボーンＳＢ８１とボーンＳＢ８２のなす角の角度θ２が既知である。また、順運動学計算において、部位間の距離、すなわちボーンの長さも既知であり、図３に示す例では、ボーンＳＢ８１の長さｌ１、及びボーンＳＢ８２の長さｌ２が既知である。
【００３２】
順運動学計算によれば、上記のような既知の情報を用いて、部位ＳＰ８３の位置（ｘ１，ｙ１）を計算することができる。具体的には、部位ＳＰ８３の位置（ｘ１，ｙ１）は以下の数式（１）、（２）のように表現される。
【００３３】
【数１】
2019203188.tif 000003
【００３４】
図３に示したのは平面的かつ単純な機構の例であるが、三次元的かつより複雑な機構の場合であっても、同様に順運動学計算を行うことが可能である。すなわち、基準となるルート部位から末端部位までの間の関節部位の姿勢情報と部位間の距離の情報を用いて、末端部位の位置情報を特定することが可能である。また、末端部位に限らず、スケルトン構造においてルート部位から末端部位までの間に位置する関節部位の位置情報（例えば図３に示す例では部位ＳＰ８２の位置情報）についても順運動学計算により特定される。
【００３５】
以上、順運動学計算を用いた既存のモーションキャプチャ技術の一例について説明した。しかし、図２、図３を参照して説明したように順運動学計算を用いて各部位の位置情報を特定するためには、各関節部位の姿勢情報が必要であり、順運動学計算を用いることは身体に装着されるモーションセンサの数が多くなる要因となっていた。
【００３６】
そこで、本実施形態においては、上述した順運動学計算ではなく、逆運動学（ＩＫ：Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）計算を用いてスケルトン情報を取得する。逆運動学計算とは、末端部位の位置に基づいて、各関節部位の姿勢を計算する手法である。
【００３７】
図４は、逆運動学計算を用いたアプローチについて説明するための説明図である。図４には、図２と同様にスケルトン構造で表現されたスケルトン情報ＳＤ９０が示されている。
【００３８】
図４に示すスケルトン情報ＳＤ９０において、慣性センサを含むセンサ装置が装着された装着部位には丸印が付されており、すなわち部位ＳＰ９１と部位ＳＰ９６は装着部位である。一方、図４に示すスケルトン情報ＳＤ９０において、慣性センサを含むセンサ装置が装着されていない部位にはバツ印が付されており、すなわち部位ＳＰ９１と部位ＳＰ９６の間の部位ＳＰ９２〜ＳＰ９５は非装着部位である。
【００３９】
ここで、身体の腰に対応する部位ＳＰ９１を基準（原点）とした身体座標系が設定され、身体座標系における部位ＳＰ９６の位置情報が得られているものとする。かかる場合、末端部位である部位ＳＰ９６の位置情報に基づいて逆運動学計算を行うことで、身体座標系における部位ＳＰ９２〜ＳＰ９５の姿勢情報、及び位置情報を特定することができる。
【００４０】
ここで、逆運動学計算について図５を参照して説明を行う。図５は、逆運動学計算について説明するための説明図である。説明を簡単にするため、図５には、腕を２自由度の単純なリンク機構とみなした場合の例が示されている。
【００４１】
図５に示す例では、部位ＳＰ８１がルート部位であり、部位ＳＰ８１を基準（原点）としたｘｙ座標系（平面座標系）が示されている。ここで、図５の左上に示すように、部位ＳＰ８１を一方の端点とするボーンＳＢ８１の長さｌ１、及び部位ＳＰ８３を一方の端点とするボーンＳＢ８２の長さｌ２が既知であるものとする。
【００４２】
逆運動学計算では、上記のような既知の情報を用いて、ボーンＳＢ８１とｘ軸のなす角、及びボーンＳＢ８１とボーンＳＢ８２のなす角の角度を計算する。ただし、逆運動学計算では、解が複数存在し得る。図５の例では、図５の右上に示すように、ボーンＳＢ８１とｘ軸のなす角が角度θ１１、ボーンＳＢ８１とボーンＳＢ８２のなす角が角度θ２１である解と、図５の右下に示すように、ボーンＳＢ８１とｘ軸のなす角が角度θ１２、ボーンＳＢ８１とボーンＳＢ８２のなす角が角度θ２２である解が得られる。なお、図５に示したのは平面的かつ単純な機構の例であり、例えば三次元的な機構の場合や、より多くの関節部位が存在する場合には、より多数の解が存在し得る。
【００４３】
以上、逆運動学計算を用いたアプローチについて説明した。続いて、本実施形態にかかる処理の概略について説明する。本実施形態では、上述したように逆運動学計算を用いてスケルトン情報（関節部位の位置及び姿勢）を取得するため、以下に説明する図６、図７にそれぞれ示すように大きく分けて２つのステップで処理が行われ得る。
【００４４】
図６は、本実施形態にかかる第１のステップを説明するための説明図である。図１を参照して説明したように、本実施形態において、身体の２以上の部位に装着された２以上の慣性センサから、加速度、及び角速度の情報が取得され得る。また、慣性センサから取得された加速度、及び角速度の情報から、グローバル座標系の加速度（３次元）と姿勢（４次元）の情報を得ることが可能である。なお、グローバル座標系とは、例えば複数のセンサやデバイス等において共通して用いられる座標系であり、実空間に対応する座標系であってもよい。図６に示す装着部位情報ＰＤ１０には、慣性センサにより取得された装着部位Ｐ１１〜Ｐ１６の加速度と姿勢の情報が含まれるため、合計６×７＝４２次元の情報が含まれる。
【００４５】
第１のステップでは装着部位情報ＰＤ１０に基づいて装着部位の位置推定が行われることで（Ｓ１００）、装着部位Ｐ１１〜Ｐ１６の位置（３次元）を示す位置情報を含む装着部位情報ＰＤ１２が得られる。なお、装着部位情報ＰＤ１２が装着部位Ｐ１１をルート部位とした身体座標系で表現される場合、装着部位Ｐ１１の位置情報は不要であるため、装着部位情報ＰＤ１２には、合計５×３＝１５次元の位置情報が含まれる。また、装着部位情報ＰＤ１２は、装着部位情報ＰＤ１０に含まれていたグローバル座標系における各部位の姿勢情報を含んでもよい。かかる場合、装着部位情報ＰＤ１２には、合計６×４＝２４次元の姿勢情報が含まれる。
【００４６】
図７は、本実施形態にかかる第２のステップを説明するための説明図である。図７に示す装着部位情報ＰＤ１２は、図６に示した装着部位情報ＰＤ１２と同様であるためここでの説明は省略する。
【００４７】
第２のステップでは装着部位情報ＰＤ１２に基づいて非装着部位の位置推定（補間）が行われることで（Ｓ２００）、装着部位の位置情報に加え、慣性センサが装着されていない非装着部位の位置情報を含むスケルトン情報ＳＤ１０が得られる。図７に示す例では、例えば部位ＳＰ１１、ＳＰ１２が装着部位であり、部位ＳＰ２０が非装着部位である。
【００４８】
ここで、第２のステップである非装着部位の位置推定は、上述したように逆運動学計算により行われ得るが、非装着部位の位置推定を高精度に行うためには、その入力となる装着部位情報ＰＤ１２が第１のステップにより高精度に得られていることが望ましい。第１のステップである装着部位の位置推定は、例えば慣性航法により実現可能ではあるが、慣性航法により装着部位の位置推定が行われた場合、推定される位置の誤差が時間に応じて大きくなってしまう恐れがある。そこで、本実施形態においては、慣性航法により推定される装着部位の位置情報を補正して、より高精度に装着部位の位置情報を取得する。以下、本実施形態にかかる装着部位の位置情報の補正について説明する。
【００４９】
＜２−２．装着部位の位置情報の補正＞
まず、慣性航法に基づく位置推定処理について説明する。慣性航法は、角速度及び加速度を複数回積分（Ｉｎｔｅｇｒａｔｉｏｎ）することでセンサ位置を計算する技術であり、例えば船舶又は航空機等に採用されている。図８は、慣性航法に基づく位置推定処理の概略を示す模式図である。
【００５０】
慣性航法では、まずセンサ装置に含まれるジャイロセンサにより取得されたローカル座標系における角速度（センサデータの一例）を積分する（Ｓ１１１）ことで、グローバル座標系におけるセンサ装置の姿勢が計算される。次いで、慣性航法においては、グローバル座標系におけるセンサ装置の姿勢に基づいて、センサ装置に含まれる加速度センサにより取得されたローカル座標系（センサ装置毎に設定された座標系）におけるセンサ装置の加速度（センサデータの一例）をグローバル座標系におけるセンサ装置の加速度へ座標系変換する（Ｓ１１２）。そして、座標系変換されたグローバル座標系におけるセンサ装置の加速度を積分する（Ｓ１１３）ことで、グローバル座標系におけるセンサ装置の速度が計算される。次に、グローバル座標系におけるセンサ装置の速度を積分する（Ｓ１１４）ことで、センサ装置の移動距離が計算される。ここで、グローバル座標系における移動距離を細分点ごとに合成していくことにより、初期位置を起点とした相対的な位置情報が得られる。初期位置が既知であれば、上記の情報によりセンサ装置の絶対的な位置情報（即ち、グローバル座標系における三次元座標）を計算することができる。上記のようにして、慣性航法に基づく位置推定処理により、センサ装置の姿勢情報と位置情報が出力される。
【００５１】
図８に示した慣性航法に基づく位置推定処理は、比較的処理負荷が小さく高速に実行され得る。
【００５２】
ここで、慣性航法では、姿勢情報を得るために角速度に対して施される積分はステップＳ１１１の１回のみであり、また、ＡＨＲＳ等の周知技術を組み合わせることで、姿勢情報を高精度に取得することが可能であった。一方、位置情報を得るためにはステップＳ１１３とステップＳ１１４の２回の積分が加速度に対して施されるため、加速度センサにより取得される加速度に誤差が含まれる場合には、出力される位置情報に誤差が蓄積され得る。
【００５３】
図９は、慣性航法に基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図９に示すように、慣性航法により位置情報を推定し始めてから短い時間の間であれば、位置誤差は小さく、位置情報を高精度に推定可能である。しかし、慣性航法により推定される位置情報に含まれる誤差は図９に示すように時間に応じて大きくなり得るため、長時間継続して実行された場合に、非常に大きな誤差が位置情報に含まれてしまう恐れがある。
【００５４】
そこで、本実施形態においては、運動モデル（Ｄｙｎａｍｉｃｓ  Ｍｏｄｅｌ）に基づいて、回帰による装着部位の位置推定を行う。図１０は、運動モデルに基づく位置推定処理の概略を示す模式図である。
【００５５】
図１０に示すステップＳ１２１〜Ｓ１２２の処理は、図８を参照して説明したステップＳ１１１〜Ｓ１１２の処理と同様であるためここでの説明は省略する。図１０に示すように運動モデルに基づく位置推定処理においては、加速度の積分を行うことなく、センサ装置の位置情報を回帰により推定する（Ｓ１２３）。ステップＳ１２３の回帰推定処理では、グローバル座標系におけるセンサ装置の姿勢と加速度を、事前に用意された運動モデルに当てはめる回帰により、位置情報が推定される。ここで、運動モデルは、例えば事前に運動制約情報（例えば過去に取得されたポーズや一連の動きにおける各部位の位置と姿勢のサンプルを複数含む情報）を学習することで生成することが可能である。なお、ステップＳ１２３の回帰推定処理には、多様な回帰分析手法を用いることが可能であり、例えばＤＮＮ（Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）やＲａｎｄｏｍ  Ｆｏｒｅｓｔ等の手法が単独で、あるいは組み合わせて用いられてもよい。
【００５６】
ここで、図１０に示される処理では、加速度が積分されないため、図８、図９を参照して説明した慣性航法の場合のように位置誤差が時間に応じて大きくなり難い。図１１は、運動モデルに基づく位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図１０に示すように、運動モデルに基づく位置推定処理においても位置誤差は発生しているが、時間に応じて大きくならないため、長時間継続して実行された場合であっても、大きな誤差が発生し難い。
【００５７】
したがって、図１０に示した運動モデルに基づく位置推定処理により、より高精度に位置情報を推定可能であると考えられる。ただし、運動モデルに基づく位置推定処理では、回帰による統計的な推定が行われるため、入力の変化が連続的な場合であっても出力（推定結果）の変化が非連続的になりやすい。その結果、例えば最終的に得られるスケルトン情報を可視化した際に違和感を与えやすくなる恐れがある。また、図１０に示した運動モデルに基づく位置推定処理は、図８に示した慣性航法に基づく位置推定処理と比較すると処理負荷が大きく、慣性航法に基づく位置推定処理よりも高速な実行は困難である。
【００５８】
上述したように、慣性航法に基づく位置推定処理と運動モデルに基づく位置推定処理には、各々の特長がある。そこで、本実施形態においては、慣性航法に基づく位置推定処理と運動モデルに基づく位置推定処理の両方を組み合わせて、推定される位置情報を補正することで、より高精度に位置情報を推定する。なお、以下では、慣性航法に基づく位置推定処理を第１の処理、運動モデルに基づく位置推定処理を第２の処理と称する場合がある。
【００５９】
図１２は、本実施形態にかかる位置推定処理の概略を示す模式図である。なお、図１２に示したのは概略であり、本実施形態にかかる位置推定処理は図１２に示されていない処理も含んでもよい。
【００６０】
図１２に示すように、本実施形態にかかる位置推定処理は、慣性航法に基づく第１の処理（Ｓ１１１〜Ｓ１１４）と運動モデルに基づく第２の処理（Ｓ１２１〜Ｓ１２３）に加え、補正処理（Ｓ１３０）をも含む。ステップＳ１３０の補正処理では、第１の処理の出力（以下、第１の出力とも称する）、及び第２の処理の出力（以下、第２の出力とも称する）を参照して、補正が行われる。なお、第１の出力は装着部位の姿勢情報と位置情報を含み、第２の出力は位置情報を含む。そして、ステップＳ１３０においては、第１の出力に含まれる位置情報を第１の出力に含まれる姿勢情報と第２の出力に含まれる位置情報に基づいて補正する。なお、ステップＳ１３０において、第１の出力に含まれる姿勢情報については位置情報の補正に用いられると共に、そのまま出力されてもよい。また、ステップＳ１３０の補正処理は、例えばカルマンフィルタにより実現され得る。
【００６１】
また、上述したように、第１の処理は、第２の処理よりも高速に実行され得る。したがって、補正処理（Ｓ１３０）は、第２の出力が得られたタイミングで実行され、第２の出力が得られず第１の出力のみが得られた場合には、第１の出力が本実施形態にかかる位置推定処理の出力としてそのまま出力されてもよい。
【００６２】
図１３は、本実施形態にかかる位置推定処理において発生し得る位置誤差の時間変化イメージを示す模式図である。図１３に示す例では、時刻ｔ１１において第２の出力が得られ、第２の出力に基づく補正が行われるものとする。図１３に示すように、本実施形態にかかる位置推定処理では、処理の開始から、時刻ｔ１１までの間は時間に応じて位置誤差が大きくなるが、時刻ｔ１１において第２の出力に基づく補正が行われた結果、位置誤差が抑制される。
【００６３】
このように、本実施形態にかかる位置推定処理によれば、補正が行われる度に位置誤差が抑制されるため、誤差が時間に応じて大きくなりにくく、長時間継続して実行された場合であっても、大きな誤差が発生し難い。また、本実施形態にかかる位置推定処理では、第２の出力が得られない場合には第１の出力がそのまま出力されるため、運動モデルに基づく第２の処理のみにより位置推定を行う場合と比べて、高頻度に位置情報を推定することが可能となる。
【００６４】
＜＜３．構成例＞＞
以上、本実施形態にかかる技術の原理について説明した。続いて、本実施形態の構成例について説明する。以下では、本実施形態の装置構成例、及び機能構成例を順次に説明する。
【００６５】
＜３−１．装置構成例＞
図１４は、本実施形態にかかるシステムの装置構成の一例を示す図である。図１４に示すように、本実施形態にかかるシステムは、センサ装置１０Ａ〜１０Ｆ、ハブ装置２０、情報処理装置３０、及び出力装置４０を含む。
【００６６】
センサ装置１０は少なくともモーションセンサを備え、身体の部位に装着される装置である。センサ装置１０Ａ〜１０Ｆが装着される部位については、図１を参照して説明したため、個々での説明は省略する。センサ装置１０は、例えば図１４に示すように、ジャイロセンサ１２、加速度センサ１４、制御部１６、及び通信部１８を備える。なお、センサ装置１０が備えるモーションセンサは、慣性センサ（ジャイロセンサ１２、及び加速度センサ１４）に限定されない。例えば、センサ装置１０は、慣性センサに代えて、または慣性センサに加えて、地磁気センサ、気圧センサ、イメージセンサ等のモーションセンサを備えてもよい。また、図１４では、センサ装置１０Ａの構成のみが示されているが、センサ装置１０Ａ〜１０Ｆの構成は同一であってもよい。
【００６７】
ジャイロセンサ１２は、センサデータとして角速度を取得する慣性センサである。ジャイロセンサ１２により取得される角速度は、ローカル座標系におけるセンサ装置１０の角速度であり得る。
【００６８】
また、加速度センサ１４は、センサデータとして加速度を取得する慣性センサである。加速度センサ１４により取得される加速度は、センサ装置１０ごとに設定されたローカル座標系におけるセンサ装置１０の加速度であり得る。
【００６９】
制御部１６は、センサ装置１０の動作を制御する。例えば、制御部１６は、通信部１８による通信を制御し、ジャイロセンサ１２及び加速度センサ１４により取得されたセンサデータ（角速度、及び加速度）をハブ装置２０へ送信させてもよい。あるいは、制御部１６は、ジャイロセンサ１２及び加速度センサ１４により取得されたセンサデータに対して処理を施してもよく、当該処理により得られた処理結果をハブ装置２０へ送信させてもよい。
【００７０】
通信部１８は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部１８は、例えば有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮ、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ、登録商標）、赤外線通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離／非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
【００７１】
ハブ装置２０は、複数のセンサ装置１０から情報を受信して集約する情報処理装置である。なお、センサ装置１０とハブ装置２０との間は、有線接続されていてもよいし、無線接続されていてもよい。ハブ装置２０は、例えば図１４に示すように通信部２２と制御部２４とを備える。
【００７２】
通信部２２は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部２２は、例えば有線ＬＡＮ、無線ＬＡＮ、Ｗｉ−Ｆｉ、赤外線通信、Ｂｌｕｅｔｏｏｔｈ、近距離／非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
【００７３】
制御部２４は、ハブ装置２０の動作を制御する。例えば、制御部２４は、通信部２２による通信を制御し、センサ装置１０から受信した情報を、そのまま情報処理装置３０へ送信させてもよい。あるいは、制御部２４は、センサ装置１０から受信した情報に対して処理を施してもよく、当該処理により得られた処理結果を情報処理装置３０へ送信させてもよい。
【００７４】
情報処理装置３０は、ハブ装置２０から情報を受信して処理する情報処理装置である。なお、ハブ装置２０と情報処理装置３０との間は、有線接続されていてもよいし、無線接続されていてもよい。情報処理装置３０は、例えば図１４に示すように通信部３２と制御部３４とを備える。
【００７５】
通信部３２は有線または無線により他の装置との間でデータの送受信を行うための通信モジュールである。通信部３２は、例えば有線ＬＡＮ、無線ＬＡＮ、Ｗｉ−Ｆｉ、赤外線通信、Ｂｌｕｅｔｏｏｔｈ、近距離／非接触通信等の方式で、外部機器と直接またはネットワークアクセスポイントを介して無線通信する。
【００７６】
制御部３４は、情報処理装置３０の動作を制御する。例えば、制御部３４は、通信部３２が受信した情報に対する処理を行う。また、制御部３４は、通信部３２を制御して、当該処理の結果を情報処理装置３０に接続された出力装置４０に送信させることで、出力装置４０の表示を制御し得る。例えば、制御部３４は、処理の結果得られたスケルトン情報に基づいて、可視化されたスケルトン情報や、スケルトン情報を反映させた３Ｄモデル等を出力装置４０に表示させてもよい。
【００７７】
出力装置４０は、少なくとも表示機能を有する装置であり、情報処理装置３０の制御部３４の制御に従って表示を行う。出力装置４０は、例えば設置型のディスプレイであってもよいし、ユーザに装着されるＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）であってもよい。また、出力装置４０と情報処理装置３０とは、一体の装置であってもよい。
【００７８】
＜３−２．機能構成例＞
以上、本実施形態にかかるシステムの装置構成例を説明した。続いて、本実施形態にかかるシステムの機能構成例について説明する。図１５は、本実施形態にかかるシステムの機能構成の一例を示す図である。なお、図１５には、主に本実施形態の特徴を示す機能構成のみを示しており、本実施形態にかかるシステムは図１５に示されない機能構成を含んでもよい。
【００７９】
図１５を参照すると、本実施形態にかかるシステムは、グローバル運動加速度姿勢計算部５１０、積分計算部５２０、選択部５３０、装着位置回帰推定部５４０、信頼度特定部５５０、接地検出部５６０、補正部５７０、及び補間部５８０としての機能を有する。
【００８０】
なお、以下に説明する図１５の各機能構成は、図１４に示したいずれかの装置により実現されてもよい。例えば、センサ装置１０の制御部１６またはハブ装置２０の制御部２４がグローバル運動加速度姿勢計算部５１０としての機能を有し、情報処理装置３０の制御部３４がそれ以外の積分計算部５２０〜補間部５８０としての機能を有してもよい。ただし、いずれの装置がいずれの機能を有するかはかかる例に限定されるものではない。
【００８１】
グローバル運動加速度姿勢計算部５１０は、図１４に示したセンサ装置１０Ａ〜１０Ｆにより取得されたセンサデータ（角速度と加速度）に基づいて処理を行う機能を有する。なお、グローバル運動加速度姿勢計算部５１０は、センサ装置１０Ａ〜１０Ｆの各々により取得されたセンサデータを独立に処理してもよい。
【００８２】
例えば、グローバル運動加速度姿勢計算部５１０は、センサデータに含まれるローカル座標系におけるセンサ装置１０の角速度を積分してグローバル座標系におけるセンサ装置１０の姿勢を計算する処理（図１２のステップＳ１１１、Ｓ１２１に相当）を行う。グローバル運動加速度姿勢計算部５１０はＡＨＲＳによりセンサ装置１０の姿勢を計算してもよい。なお、センサ装置１０が地磁気センサを含む場合、グローバル運動加速度姿勢計算部５１０は、ＡＨＲＳによるセンサ装置１０の姿勢計算に、地磁気センサにより取得されるセンサデータを用いてもよい。
【００８３】
また、グローバル運動加速度姿勢計算部５１０は、計算されたグローバル座標系におけるセンサ装置１０の姿勢を、グローバル座標系における当該センサ装置１０が装着された装着部位の姿勢へ変換する処理を行う。グローバル運動加速度姿勢計算部５１０は、事前のキャリブレーション結果を用いてセンサ装置１０の姿勢を装着部位の姿勢へ変換してもよい。
【００８４】
また、グローバル運動加速度姿勢計算部５１０は、グローバル座標系における装着部位の姿勢に基づいて、センサデータに含まれるにローカル座標系における加速度をグローバル座標系における加速度へ変換する処理（図１２のステップＳ１１２、Ｓ１２２に相当）を行う。
【００８５】
また、グローバル運動加速度姿勢計算部５１０は、上述のように得られたグローバル座標系における加速度から重力成分を除去する処理を行う。例えば、グローバル運動加速度姿勢計算部５１０は、グローバル座標系における装着部位の姿勢に基づいてグローバル座標系における加速度から重力成分を除去してもよい。
【００８６】
グローバル運動加速度姿勢計算部５１０は、上述の処理により得られたグローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度を、積分計算部５２０、選択部５３０、及び装着位置回帰推定部５４０へ出力する。
【００８７】
積分計算部５２０は、グローバル運動加速度姿勢計算部５１０から入力された重力成分が除去されたグローバル座標系における加速度を２回積分する処理（図１２のステップＳ１１３、Ｓ１１４に相当）により、グローバル座標系における装着部位の位置情報を計算する。積分計算部５２０は、計算されたグローバル座標系における装着部位の位置情報、及びグローバル運動加速度姿勢計算部５１０から入力されたグローバル座標系における装着部位の姿勢情報を補正部５７０へ出力する。
【００８８】
なお、上述したグローバル運動加速度姿勢計算部５１０、及び積分計算部５２０により、上述した慣性航法に基づく第１の処理が行われ得る。そして、積分計算部５２０から出力される位置情報、及び姿勢情報が第１の出力に相当する。
【００８９】
選択部５３０は、装着位置回帰推定部５４０が装着部位の位置情報を回帰により推定するための運動モデルの選択を行う。例えば、運動モデルは、センサ装置１０が装着される部位のパターンに応じて複数用意されて不図示の記憶部に記憶されていてもよく、選択部５３０は、かかる複数の運動モデルの中から、装着位置回帰推定部５４０により用いられる運動モデルを選択する。
【００９０】
運動モデルは、例えば装着部位の組み合わせごとに予め用意されてよい。そして、選択部５３０は、グローバル運動加速度姿勢計算部５１０から入力される情報に基づいて、装着部位の組み合わせを特定して、適切な運動モデルを選択してよい。かかる構成により、例えばユーザがシステムの動作途中で一部のセンサ装置１０を着脱したり、一部のセンサ装置１０のバッテリ（不図示）の電力供給が失われたとしても、選択部５３０が動的に適切な運動モデルを選択することができる。なお、図１５では、グローバル運動加速度姿勢計算部５１０から入力される情報に基づいて装着部位の組み合わせが特定される例を示したが、選択部５３０はセンサデータそのものを入力として、あるいは他の情報を用いて装着部位の組み合わせを特定してもよい。
【００９１】
図１６は、装着部位の組み合わせと運動モデルの例を示す説明図である。図１６に示されるスケルトン情報ＳＤ１０１〜ＳＤ１０５の各々において、センサ装置１０が装着された装着部位には丸印が付されている。また、運動モデルごとに異なるルート部位が設定されて得る。
【００９２】
例えば、全身モデルに対応するスケルトン情報ＳＤ１０１において、腰に相当する装着部位ＳＰ１０１がルート部位であり、６箇所の装着部位ＳＰ１０１〜ＳＰ１０６にセンサ装置１０が装着される。上肢モデルに対応するスケルトン情報ＳＤ１０２において、頭部に相当する装着部位ＳＰ１０６がルート部位であり、３箇所の装着部位ＳＰ１０２、ＳＰ１０５、ＳＰ１０６にセンサ装置１０が装着される。また、頭−腕モデルに対応するスケルトン情報Ｄ１０３において、頭部に相当する装着部位ＳＰ１０６がルート部位であり、２箇所の装着部位ＳＰ１０２、ＳＰ１０６にセンサ装置１０が装着される。また、腰−腕モデルに対応するスケルトン情報Ｄ１０４において、腰に相当する装着部位ＳＰ１０１がルート部位であり、２箇所の装着部位ＳＰ１０１、ＳＰ１０５にセンサ装置１０が装着される。また、下肢モデルに対応するスケルトン情報Ｄ１０５において、腰に相当する装着部位ＳＰ１０１がルート部位であり、３箇所の装着部位ＳＰ１０１、ＳＰ１０３、ＳＰ１０４にセンサ装置１０が装着される。
【００９３】
なお、後述する装着位置回帰推定部５４０だけでなく、後述する補正部５７０や補間部５８０も、装着部位の組み合わせに応じて処理を行うため、装着部位の組み合わせに応じて（つまり運度モデルに応じて）、推定される非装着部位の組み合わせも異なり得る。本実施形態にかかるシステムにより位置情報、及び姿勢情報を推定可能な部位は、装着部位、及び所定のスケルトン構造において複数の装着部位の間に位置する非装着部位であり得る。図１６のスケルトン情報ＳＤ１０１〜ＳＤ１０５には、本実施形態において装着部位の組み合わせに応じた、位置情報、及び姿勢情報を推定可能な部位（装着部位と非装着部位を含む）がハッチングにより示されている。
【００９４】
なお、図１６に示したのは一例であって本実施形態において用いられ得る運動モデルにおける装着部位の組み合わせは図１６に示した例に限定されるものではない。
【００９５】
装着位置回帰推定部５４０は、選択部５３０により選択された運動モデルを用いて、グローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度とに基づいて、装着部位の位置情報を回帰により推定する回帰推定処理（図１２のステップＳ１２３に相当）を行う。なお、本実施形態にかかる装着位置回帰推定部５４０は、装着部位の位置情報を、運動モデルごとに設定されたルート部位を基準とした身体座標系において推定する。装着位置回帰推定部５４０は、推定された身体座標系における装着部位の位置情報を信頼度特定部５５０と補正部５７０へ出力する。
【００９６】
なお、上述したグローバル運動加速度姿勢計算部５１０、及び装着位置回帰推定部５４０により、上述した運動モデルに基づく第２の処理が行われ得る。そして、装着位置回帰推定部５４０から出力される位置情報が第２の出力に相当する。
【００９７】
信頼度特定部５５０は、装着位置回帰推定部５４０により推定された装着部位の位置情報（第２の出力に含まれる位置情報とも称する）の信頼度を特定する信頼度特定機能を有する。信頼度特定部５５０により特定される信頼度は、後述する補正部５７０による補正において用いられ得る。例えば、後述する補正部５７０は、第２の出力に含まれる位置情報の信頼度が高い場合には第１の出力に含まれる位置情報よりも第２の出力に含まれる位置情報をより重視（信頼）して補正を行い、当該信頼度が低い場合には第２の出力に含まれる位置情報よりも第１の出力に含まれる位置情報をより重視して補正を行う。
【００９８】
例えば、信頼度特定部５５０は、第２の出力に含まれる位置情報の尤度分布がより小さい場合により高い信頼度を設定してもよい。図１７は、信頼度特定部５５０による信頼度の特定の一例を示す図である。図１７には、装着位置回帰推定部５４０により推定された位置と、その尤度分布Ｒ１０が示されている。例えば、尤度分布Ｒ１０の上限Ｌ１と下限Ｌ２との差がより小さい場合により高い信頼度が特定される。図１７に示す例では、時刻ｔ２１〜時刻ｔ２２の区間と時刻ｔ２３〜時刻ｔ２４の区間において高い信頼度が特定され、すなわち第２の出力に含まれる位置情報がより重視される。また、図１７に示す例では、時刻ｔ２２〜時刻ｔ２３の区間において低い信頼度が特定され、すなわち第１の出力に含まれる位置情報がより重視される。
【００９９】
信頼度特定部５５０は、特定した信頼度を補正部５７０へ出力する。
【０１００】
接地検出部５６０は、センサ装置１０Ａ〜１０Ｆにより取得されたセンサデータ（角速度と加速度）に基づいて、身体の足元の接地検出処理を行う。かかる構成により、後述する補正部５７０が、装着位置回帰推定部５４０により推定された身体座標系における位置情報をグローバル座標系に変換することが可能である。
【０１０１】
接地検出部５６０は、例えば所謂ゼロ速度更新（ＺＵＰＴ：Ｚｅｒｏ  Ｖｅｌｏｃｉｔｙ  Ｕｐｄａｔｅ）における接地検出を行ってもよい。なお、ＺＵＰＴは速度がゼロの状態を接地状態として検出して位置を補正する手法であり、このＺＵＰＴが用いられる場合、後述する補正部５７０による位置情報の補正機能もＺＵＰＴにより実現され得る。また、接地検出部５６０による接地検出の方法はかかる例に限定されず、他の手法により身体の足元の接地検出が行われてもよい。
【０１０２】
補正部５７０は、積分計算部５２０から入力される第１の出力と、装着位置回帰推定部５４０から入力される第２の出力とを参照して、第１の出力に含まれる装着部位の位置情報の補正を行う。なお、以下では、補正部５７０の機能を補正機能と称する場合がある。かかる補正機能により、図１２、図１３を参照して説明したように誤差が時間に応じて大きくなりにくく、より高精度に装着部位の位置情報を推定することが可能である。
【０１０３】
上述したように、補正部５７０は、信頼度特定部５５０により特定された信頼度に基づいて、装着部位の位置情報を補正してもよい。かかる構成により、より高精度に装着部位の位置情報を推定することが可能である。
【０１０４】
また、補正部５７０は、接地検出部５６０による接地検出結果に基づいて、装着位置回帰推定部５４０により推定された身体座標系における装着部位の位置情報（第２の出力）をグローバル座標系における装着部位の位置情報へ変換する。かかる構成により、座標系をグローバル座標系に統一して補正を行うことが可能となる。
【０１０５】
なお、補正部５７０の補正機能は、カルマンフィルタにより実現されてもよい。さらに、上述した積分計算部５２０による積分機能と補正部５７０による補正機能を合わせてカルマンフィルタにより実現することが可能である。例えば、各装着部位の速度と位置を内部状態として有するカルマンフィルタを想定することができる。かかるカルマンフィルタは、グローバル運動加速度姿勢計算部５１０から出力されるグローバル座標系における装着部位の加速度を積分することにより装着部位の速度と位置を予測する。そして、かかるカルマンフィルタは、第２の出力に含まれる位置情報をグローバル座標系に変換して得られる位置を観測として内部状態を更新することにより、位置情報の補正を行うことが可能である。
【０１０６】
補間部５８０は、補正部５７０の補正機能により補正された装着部位の位置情報に基づいて、非装着部位の位置情報を推定してスケルトン情報を生成する。補間部５８０は、図１６を参照して説明したように、所定のスケルトン構造において、複数の装着部位の間に位置する非装着部位の位置情報を推定してもよい。なお、以下では、補間部５８０の機能を補間機能と称する場合がある。かかる補間機能は、例えば図４、図５を参照して説明した逆運動学計算により実現され得る。
【０１０７】
図４、図５を参照して説明したように、逆運動学計算では、一般に複数の解が存在し、例えば関節部位の数によっては非常に多数の解が存在する場合がある。したがって、より高精度なスケルトン情報を得るためには、存在する多数の解のうち、より適切な解を特定可能な仕組みが求められる。そこで、本実施形態にかかる補間部５８０は、非装着部位の位置情報を予め用意された逆運動学モデルに当てはめる回帰により推定する。
【０１０８】
ここで、逆運動学モデルは、例えば事前に運動制約情報（例えば過去に取得されたポーズや一連の動きにおける各部位の位置と姿勢のサンプルを複数含む情報）を学習することで生成することが可能である。なお、補間部５８０の補間機能には、多様な回帰分析手法を用いることが可能であり、例えばＤＮＮやＲａｎｄｏｍ  Ｆｏｒｅｓｔ等の手法が単独で、あるいは組み合わせて用いられてもよい。
【０１０９】
なお、上記では補間部５８０が各部位の位置情報を推定する説明したが、本実施形態はかかる例に限定されない。各部位の位置情報、または姿勢情報のいずれか一方が得られれば、スケルトン構造に従って他方を特定することが可能である。したがって、補間部５８０は、非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を推定すればよい。
【０１１０】
＜＜４．動作例＞＞
以上、本実施形態の装置構成例、及び機能構成例について説明した。続いて、本実施形態の動作例について説明する。図１８は、本実施形態にかかるシステムの動作例を示すフローチャート図である。なお、図１８には、主に本実施形態の特徴を示す処理のみを示しており、本実施形態にかかるシステムは図１８に示されない処理を実行してもよい。
【０１１１】
図１８に示すように、まずグローバル運動加速度姿勢計算部５１０が、ジャイロセンサ１２により取得された角速度に基づいて、グローバル座標系におけるセンサ装置１０の姿勢をＡＨＲＳにより計算する（Ｓ５０２）。なお、ステップＳ５０２は、図１２のステップＳ１１１、Ｓ１２１に相当する。
【０１１２】
続いて、グローバル運動加速度姿勢計算部５１０は、ステップＳ５０２で得られたグローバル座標系におけるセンサ装置１０の姿勢を、グローバル座標系における当該センサ装置１０が装着された装着部位の姿勢へ変換する（Ｓ５０４）。
【０１１３】
続いて、グローバル運動加速度姿勢計算部５１０は、ステップＳ５０４で得られたグローバル座標系における装着部位の姿勢に基づいて、加速度センサ１４により取得されたローカル座標系における加速度をグローバル座標系における加速度へ変換する（Ｓ５０６）。なお、ステップＳ５０６は、図１２のステップＳ１１２、Ｓ１２２に相当する。
【０１１４】
続いて、グローバル運動加速度姿勢計算部５１０は、ステップＳ５０４で得られたグローバル座標系における装着部位の姿勢に基づいて、ステップＳ５０６で得られたグローバル座標系における加速度から重力成分を除去する（Ｓ５０８）。
【０１１５】
続いて、積分計算部５２０が、ステップＳ５０８で得られた重力成分が除去されたグローバル座標系における加速度を２回積分することにより、グローバル座標系における装着部位の位置情報を計算する（Ｓ５１０）。なお、ステップＳ５１０は、図１２のステップＳ１１３、Ｓ１１４に相当する。
【０１１６】
続いて、ステップＳ５１０の補正を行うか否かが判定される（Ｓ５１２）。上述したように、運動モデルに基づく位置推定処理は、慣性航法に基づく位置推定処理よりも処理負荷が大きい。したがって、運動モデルに基づく位置推定処理（Ｓ５１４）の実行頻度は慣性航法に基づく位置推定処理（Ｓ５０２〜Ｓ５１０）の実行頻度よりも少ない。そこで、ステップＳ５１２において、図１８に示した処理が所定の回数行われるごとに１回補正を行うと判定されてもよい。ただし、本実施形態はかかる例に限定されず、例えば、センサデータに基づいて装着部位が静止していないと判定可能な場合には補正を行うと判定し、静止していると判定可能な場合には補正を行わないと判定してもよい。
【０１１７】
補正を行うと判定された場合（Ｓ５１２においてＹＥＳ）、装着位置回帰推定部５４０は、運動モデルを用いた回帰推定により、身体座標系における装着部位の位置情報を推定する（Ｓ５１４）。なお、ステップＳ５１４は、図１２のステップＳ１２３に相当する。
【０１１８】
続いて、補正部５７０は、接地検出部５６０による接地検出結果に基づいて、ステップＳ５１４で推定された身体座標系における装着部位の位置情報をグローバル座標系における装着部位の位置情報へ変換する（Ｓ５１６）。
【０１１９】
そして、補正部５７０は、ステップＳ５１６で得られたグローバル座標系における装着部位の位置情報に基づいて、ステップＳ５１０で得られたグローバル座標系における装着部位の位置情報を補正する（Ｓ５１８）。
【０１２０】
続いて、補間部５８０は、グローバル座標系における装着部位の位置情報に基づいて、非装着部位の位置情報を逆運動学モデルに当てはめる回帰により推定（補間）する（Ｓ５２０）。なお、ステップＳ５２０において非装着部位の位置情報の回帰推定に用いられる装着部位の位置情報は、ステップＳ５１２における判定結果に応じて異なり得る。ステップＳ５１２において補正を行うと判定された場合、ステップＳ５１８で補正された装着部位の位置情報がステップＳ５２０における回帰推定に用いられる。一方、ステップＳ５１２において補正を行わないと判定された場合、ステップＳ５１０で得られたグローバル座標系における装着部位の位置情報がステップＳ５２０における回帰推定に用いられる。
【０１２１】
以上、本実施形態に係るシステムの動作について説明した。なお、図１８に示した処理は、ジャイロセンサ１２及び加速度センサ１４によりセンサデータが取得される度に、あるいは所定の頻度で、繰り返し実行されてもよい。
【０１２２】
＜＜５．変形例＞＞
以上、本開示の一実施形態を説明した。以下では、本実施形態の幾つかの変形例を説明する。なお、以下に説明する各変形例は、単独で本実施形態に適用されてもよいし、組み合わせで本実施形態に適用されてもよい。また、各変形例は、本実施形態で説明した構成に代えて適用されてもよいし、本実施形態で説明した構成に対して追加的に適用されてもよい。
【０１２３】
＜５−１．第１の変形例＞
上記実施形態では、装着位置回帰推定部５４０が、グローバル運動加速度姿勢計算部５１０により計算されたグローバル座標系における装着部位の姿勢情報と、重力成分が除去されたグローバル座標系における加速度とに基づいて回帰推定処理を行う例を説明した。しかし、本技術はかかる例に限定されない。例えば、ジャイロセンサ１２及び加速度センサ１４により取得された角速度や加速度がかかる回帰推定処理への入力として用いられてもよい。かかる例について、第１の変形例として説明を行う。
【０１２４】
図１９は、第１の変形例にかかるシステムの機能構成例を示す図である。図１９に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図１９を参照すると、本変形例にかかるシステムは、装着位置回帰推定部５４０に代えて装着位置回帰推定部５４１を含む点において図１５に示したシステムと相違する。
【０１２５】
本変形例にかかる装着位置回帰推定部５４１は、グローバル運動加速度姿勢計算部５１０により計算された情報に加え、または代えて、ジャイロセンサ１２及び加速度センサ１４により取得された角速度や加速度を入力として用いて、回帰推定処理を行う。かかる回帰推定に用いられる運動モデルは、当該回帰推定に用いられる情報と同種の情報（角速度や加速度）を含んだ運動制約情報を学習することにより事前に用意され得る。
【０１２６】
以上、第１の変形例について説明した。本変形例によれば、より多くの情報を用いることで、より高精度に装着部位の位置情報を推定することが可能となり得る。なお、上記では角速度や加速度が装着位置回帰推定部５４１による回帰推定処理への入力として用いられる例を説明したが、さらに他の情報が入力として用いられてもよい。例えば、センサ装置１０が、ジャイロセンサ１２と加速度センサ１４に加えて、地磁気センサや気圧センサを備える場合、地磁気や気圧の情報が、かかる回帰推定処理への入力として用いられてもよい。
【０１２７】
＜５−２．第２の変形例＞
続いて、第２の変形例として、補正部が信頼度の特定を行う例を説明する。図２０は、本変形例にかかるシステムの機能構成例を示す図である。図２０に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図２０を参照すると、本変形例にかかるシステムは、信頼度特定部５５０と補正部５７０に代えて補正部５７２を含む点において図１５に示したシステムと相違する。
【０１２８】
補正部５７２は、図１５を参照して説明した補正部５７０の機能に加え、積分計算部５２０、及び装着位置回帰推定部５４０のそれぞれから入力される装着部位の位置情報の少なくともいずれか一方の信頼度を特定する機能を有する。かかる機能は、例えばカルマンフィルタにより実現されてもよいし、予め定められたルールに基づいて行うように実現されてもよいし、あるいは学習により事前に用意されたモデルを用いた回帰推定により実現されてもよい。
【０１２９】
＜５−３．第３の変形例＞
続いて、第３の変形例として、非装着部位の位置推定（補間）処理の後に補正処理を行う例を説明する。図２１は、本変形例にかかるシステムの機能構成例を示す図である。図２１に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図２１を参照すると、本変形例にかかるシステムは、信頼度特定部５５０、補正部５７０、及び補間部５８０に代えて補正部５７３、及び補間部５８３を含む点において図１５に示したシステムと相違する。
【０１３０】
本変形例にかかる補間部５８３は、グローバル運動加速度姿勢計算部５１０により計算されたグローバル座標系における装着部位の姿勢情報と装着位置回帰推定部５４０により推定された装着部位の位置情報に基づいて、非装着部位の位置情報、及び姿勢情報のうち少なくとも一方を回帰により推定する。なお、補間部５８３による回帰推定は、入力される情報が異なる点を除いて、補間部５８０による非装着部位の回帰推定と同様であってよい。補間部５８３により推定された非装着部位の位置情報あるいは姿勢情報は、補正部５７３へ出力される。
【０１３１】
なお、本変形例にかかる第２の処理は、上述した補間部５８３が非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を推定する補間処理を含む。そして、本変形例にかかる第２の出力（第２の処理の出力）は、補間部５８３により推定された非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を含む。さらに、本変形例にかかる第２の出力は、グローバル運動加速度姿勢計算部５１０あるいは装着位置回帰推定部５４０により得られた装着部位の位置情報あるいは姿勢情報を含んでもよい。つまり、本変形例にかかる第２の出力は推定対象となる全ての部位の位置情報、及び姿勢情報のうち少なくともいずれか一方を含む。
【０１３２】
本変形例にかかる補正部５７３は、積分計算部５２０から入力される第１の出力（装着部位の姿勢情報と位置情報）に基づいて、補間部５８３から入力される第２の出力に含まれる非装着部位の位置情報及び姿勢情報のうち少なくともいずれか一方を補正する。本変形例では、装着部位の速度及び位置と、非装着部位の位置または姿勢の関係が非線形であるため、本変形例にかかる補正部５７３の補正機能は、例えば、拡張カルマンフィルタにより実現され得る。以下では拡張カルマンフィルタにより、非装着部位の姿勢情報を補正する補正機能が実現される例について説明する。
【０１３３】
かかる拡張カルマンフィルタは内部状態として、全装着部位の速度と位置、及び推定対象となる全ての部位（装着部位と非装着部位を含む）の姿勢を有する。かかる拡張カルマンフィルタは、グローバル運動加速度姿勢計算部５１０から出力されるグローバル座標系における装着部位の加速度を積分することにより装着部位の速度と位置を予測する。そして、かかる拡張カルマンフィルタは、第２の出力に含まれる推定対象となる全ての部位の姿勢情報を観測として内部状態を更新することにより、姿勢情報の補正を行うことが可能である。なお、拡張カルマンフィルタが内部的に持つ誤差の共分散行列の予測には、逆運動学計算で用いられる装着部位の速度と非装着部位の姿勢の関係を記述するヤコビアンが用いられてもよい。
【０１３４】
なお、図２１では、装着位置回帰推定部５４０と補間部５８３を別個の機能構成として示したが、装着位置回帰推定部５４０と補間部５８３の機能を統合してもよい。かかる場合、グローバル運動加速度姿勢計算部５１０から入力される情報に基づく回帰により直接的に推定対象の全ての部位の位置情報及び姿勢情報が推定されてもよい。かかる場合、回帰推定のために事前に用意するモデルの数が少なく済むという効果がある。
【０１３５】
＜５−４．第４の変形例＞
上記実施形態では、装着位置回帰推定部５４０が、非トラッキング型運動モデルを用いた回帰推定を行う例を説明したが、トラッキング型運動モデルが用いられてもよい。以下、図２２、図２３を参照して、非トラッキング型運動モデルとトラッキング型運動モデルの概要について説明する。
【０１３６】
図２２は、非トラッキング型運動モデルの概要を説明するための説明図である。図２２に示すように、非トラッキング型運動モデルを用いた回帰推定では、加速度と姿勢の情報が入力されて、位置情報が出力され得る。
【０１３７】
図２３は、トラッキング型運動モデルの概要を説明するための説明図である。図２３に示すように、トラッキング型運動モデルを用いた回帰推定においても、加速度と姿勢の情報が入力されて、位置情報が出力され得る。ただし、トラッキング型運動モデルを用いた回帰推定では、加速度と姿勢の情報に加え、遅延器Ｄにより１サンプル分遅延させられた位置情報（すなわち前回の回帰推定処理の出力）が、次の回帰推定処理へ入力される。トラッキング型運動モデルには、追従性が向上し得るという利点がある。
【０１３８】
このようなトラッキング型運動モデルを用いた回帰により装着部位の位置情報を推定する例について、第４の実施形態として説明する。図２４は、本変形例にかかるシステムの機能構成例を示す図である。図２４に示す構成のうち、図１５に示した構成と実質的に同一の構成については、同一の符号を付してあるため、ここでの説明は省略し、図１５に示したシステムと相違する点について以下では説明を行う。図２４を参照すると、本変形例にかかるシステムは、装着位置回帰推定部５４０、及び補正部５７０に代えて装着位置回帰推定部５４４及び補正部５７４を含む点において図２４に示したシステムと相違する。
【０１３９】
装着位置回帰推定部５４４は、グローバル運動加速度姿勢計算部５１０により計算された情報に加え、過去の回帰推定処理により推定された装着部位の位置情報を用いて補正部５７４により補正された装着部位の位置情報を入力として用いて、回帰推定処理を行う。かかる回帰推定に用いられる運動モデルは、上述したトラッキング型運動モデルであり、例えば１サンプル分遅延させられた位置情報を含む運動制約情報を学習することにより事前に用意され得る。
【０１４０】
上述した第４の変形例によれば、様々な動きへの追従性が向上し、より高精度に装着部位の位置情報を推定することが可能となり得る。
【０１４１】
＜５−５．第５の変形例＞
上記実施形態では、図１４を参照して装置構成例を説明したが、本技術はかかる例に限定されない。以下では第５の変形例として、ハブ装置２０を備えないシステムの装置構成例を説明する。図２５は、本変形例にかかるシステムの装置構成例を示す図である。
【０１４２】
図２５に示すように、本変形例にかかるシステムは、センサ装置１０Ａ〜１０Ｆ、情報処理装置３０、及び出力装置４０を含む。図２５に示すように、本変形例において、センサ装置１０は、ハブ装置２０を介することなく、直接的に情報処理装置３０と接続される。なお、センサ装置１０と情報処理装置３０との間は、有線接続されていてもよいし、無線接続されていてもよい。かかる接続の関係を除いて、図２５に示す各装置の構成は、図１４に示した同一の符号が付された各装置の構成と同様であってよい。
【０１４３】
＜５−６．第６の変形例＞
上記実施形態では、運動モデル、及び逆運動学モデルを用いて回帰推定を行う例を説明した。この回帰推定の推定結果は、運動モデル、及び逆運動学モデルを生成するための学習に用いられる運動制約情報に応じて大きく異なり得る。例えば特徴的な姿勢や動作をセンシングして得られた運動制約情報が、学習に用いられた場合、推定結果は実際の身体の動きよりも、学習に用いられた動きに近い特徴を有し易くなる。
【０１４４】
特徴的な姿勢や動作の例としては、ゾンビのようなキャラクタ独特の姿勢や、格闘シーンに典型的なダイナミックな動作、シューティングゲーム等のゲーム中に頻出する姿勢、ダンスのジャンルごとに特徴的な振り付け動作、あるいはスポーツごとの個別ルールに応じた動作等が挙げられるが、かかる例に限定されるものではない。
【０１４５】
上記のような運動制約情報をアプリケーションに応じて適宜用意して、運動モデル、及び逆運動学モデルを生成するための学習に用いることで、アプリケーションに応じたスケルトン情報を推定することが可能となる。そのため、例えばスケルトン情報に基づいてアニメーションを作成する場合においては、上述した一連の処理により推定されたスケルトン情報に対して後処理を要することなく、特徴的なアニメーションを生成することも可能となる。
【０１４６】
＜＜６．第２の実施形態の概要＞＞
上述の本開示の実施形態においては、先に説明したように、装着位置回帰推定部５４０等により推定された身体座標系における位置情報をグローバル座標系に変換するために、接地検出部５６０により、身体の足元の接地検出処理を行う。例えば、当該接地検出部５６０は、ＺＵＰＴを利用して、言い換えると、速度がゼロ（所定の速度）の状態を接地状態として検出して位置を補正する手法を利用することができる。
【０１４７】
＜６−１．第１のＺＵＰＴ手法＞
まずは、第１のＺＵＰＴ手法について、図２６及び図２７を参照して説明する。図２６及び図２７は、本実施形態に係る第１のＺＵＰＴ手法を説明するための説明図である。
【０１４８】
第１のＺＵＰＴ手法においては、図２６に示されるように、足先（具体的には、つま先や足の甲）に装着した、加速度センサやジャイロセンサ等の慣性センサを含むセンサ装置１０によって取得されたセンサデータを利用する。
【０１４９】
詳細には、第１のＺＵＰＴ手法においては、図２７に示すように、上記センサ装置１０からセンサデータを取得し、センサデータに含まれるセンサ装置１０のローカル座標系における加速度、及び、センサ装置１０のローカル座標系における角速度を取得する。そして、第１のＺＵＰＴ手法においては、取得した加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、グローバル座標系における加速度、速度及び位置を取得する（Ｓ６００）。
【０１５０】
次に、本手法においては、上記センサデータを用いて、足先の速度がゼロとなる状態を検出する（Ｓ６０１）。この際、本手法においては、上記センサデータに含まれる加速度の分散、角速度のノルム等を閾値と比較したり、機械学習で加速度や角速度から速度がゼロとなる状態を検出したりしてもよく、特に限定されるものではない。
【０１５１】
そして、本手法においては、足先の速度がゼロであると検出された際は、Ｓ６００において慣性航法に基づく処理により取得されたグローバル座標系における足先の速度はゼロであるとして、Ｓ６００において慣性航法に基づく処理により取得されたグローバル座標系における足先の位置を補正する（Ｓ６０２）。上記補正は、カルマンフィルタ等を用いることができる。例えば、かかるカルマンフィルタによれば、グローバル座標系における足先の加速度を積分することによりグローバル座標系における足先の位置を予測することができる。さらに、当該カルマンフィルタは、足先の速度が速度ゼロとした観測値を用いて内部状態を更新することにより、グローバル座標系における足先の位置の補正を行うことが可能である。
【０１５２】
＜６−２．第２のＺＵＰＴ手法＞
次に、第２のＺＵＰＴ手法について、図２８及び図２９を参照して説明する。図２８及び図２９は、本実施形態に係る第２のＺＵＰＴ手法を説明するための説明図である。
【０１５３】
ところで、モーションキャプチャにおいては、上記センサ装置１０は、図２６に示されるような足先に装着されるとは限らず、例えば、図２８に示すように、足首やふくらはぎ等に装着されることがある。人間の動作の特性として、足先が接地した際には、確実にある一定時間の間において足先の速度がゼロになるのに対し、足首等については、その速度がゼロになり難い。特に、モーションキャプチャにおいて走る動作を行った場合等では上述の傾向が顕著に現れることがある。従って、ある一定時間の間に速度がゼロになり難いことから、足首等に装着したセンサ装置１０のセンサデータを用いてＺＵＰＴを行った場合、精度よくグローバル座標系における位置を補正することが難しい場合がある。
【０１５４】
また、本発明者らの検討によれば、センサ装置１０を足首に装着し、足先にはセンサ装置１０を装着しない構成におけるモーションキャプチャで得られた身体の動きを、身体の構造を示すスケルトン構造によって再現した場合、人物の腰から足首までの部位は、高精度に再現することができる。しかしながら、足先等の部位は、膝等の部位に比べて人体拘束力が弱いことから、高精度にその動作を再現することが難しい。特に、アバターが動作するアニメーション等にモーションキャプチャで得られた身体の動きを適用した場合、当該アニメーション内においてアバターの足先がふらふらしてしまい、アバターの重力感が失われてしまうことがある。
【０１５５】
そこで、上述のような状況を鑑みて、本発明者らは、足首等に装着したセンサ装置１０のセンサデータを用いて、足先の速度がゼロとなる状態を推定することを独自に着想し、以下に説明する本実施形態に係る第２のＺＵＰＴ手法を創作するに至った。当該第２のＺＵＰＴ手法によれば、足先の速度を間接的に推定することにより、走る動作をモーションキャプチャした際であっても、安定して足先の速度がゼロとなる状態を検出することができることから、よりロバストな足先の位置の補正が可能となる。さらに、当該第２のＺＵＰＴ手法によれば、上述のようなアバターの足先を、推定した足先の速度や足先の位置を用いて制御することができることから、アニメーション内においてアバターの足先が接地する動作を再現した場合、安定感のある足先の挙動を再現することができる。
【０１５６】
詳細には、第２のＺＵＰＴ手法においては、図２９に示すように、足首やふくらはぎ等に装着されたセンサ装置１０からセンサデータを取得し、センサデータに含まれるセンサ装置１０のローカル座標系における加速度、及び、センサ装置１０のローカル座標系における角速度を取得する。そして、第２のＺＵＰＴ手法においては、取得した加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、センサ装置１０のグローバル座標系における加速度及び姿勢を取得する（Ｓ６１０）。
【０１５７】
次に、本手法においては、センサデータ（センサ装置１０のローカル座標系における加速度及び角速度）と、慣性航法によるグローバル座標系におけるセンサ装置１０の加速度及び姿勢とを用いて、足先の速度を推定する（Ｓ６１１）。そして、本手法においては、センサデータ（センサ装置１０のローカル座標系における加速度及び角速度）と、慣性航法によるグローバル座標系におけるセンサ装置１０の加速度及び姿勢とを用いて、足首から見た足先の位置を推定する（Ｓ６１２）。さらに、本手法においては、上述のステップにおいて取得されたグローバル座標系における加速度及び姿勢、足先の速度の推定結果、及び、足先の位置の推定結果を融合するフュージョン処理を実行する（Ｓ６１３）。その結果、本手法においては、補正されたグローバル座標系における足首及び足先の位置を取得することができる。なお、各ステップにおける処理の詳細については、後述する。
【０１５８】
＜６−３．機能構成例＞
以上、本実施形態に係る第１及び第２のＺＵＰＴ手法の概要について説明した。次に、一例として、本実施形態の第２のＺＵＰＴ手法に係るシステム機能構成について、図３０を参照して説明する。図３０は、本実施形態に係るシステムの機能構成の一例を示す図である。なお、図３０は、主に本実施形態の特徴を示す機能構成のみを示しており、本実施形態に係るシステムは図１５に示される機能構成を含んでもよい。
【０１５９】
図３０を参照すると、本実施形態にかかるシステムは、グローバル運動加速度姿勢計算部５１０、積分計算部５２０、選択部５３０、装着位置回帰推定部５４０、信頼度特定部５５０、接地検出部５６０、補正部５７０、補間部５８０及び推定部５６１としての機能を有する。なお、図３０に示されるグローバル運動加速度姿勢計算部５１０、積分計算部５２０、選択部５３０、装着位置回帰推定部５４０、信頼度特定部５５０、接地検出部５６０、補正部５７０及び補間部５８０は、図１５を参照して説明した第１の実施形態にかかるシステムの機能構成と同様であるため、ここでは説明を省略し、第１の実施形態とは異なる推定部５６１のみを説明する。また、以下に説明する図３０の各機能構成は、図１４に示したいずれかの装置により実現されてもよく、特に限定されるものではない。
【０１６０】
推定部５６１は、センサデータ（センサ装置１０のローカル座標系における加速度及び角速度）、及び、積分計算部５２０からのグローバル座標系におけるセンサ装置１０の加速度及び姿勢を用いて、足先の速度、及び、足首から見た足先の位置を推定し、推定結果を補正部５７０に出力する。
【０１６１】
＜６−４．動作例＞
以上、本実施形態に係る機能構成例について説明した。続いて、本実施形態の第２のＺＵＰＴ手法の動作例について、図３１を参照して説明する。図３１は、本実施形態にかかるシステムの動作例を示すフローチャート図である。なお、図３１には、主に本実施形態の特徴を示す処理のみを示しており、本実施形態にかかるシステムは図３１に示されない処理を実行してもよい。
【０１６２】
図３１に示すように、グローバル運動加速度姿勢計算部５１０及び推定部５６１は、足首やふくらはぎ等に装着されたセンサ装置１０からセンサデータ（センサ装置１０のローカル座標系における加速度及び角速度）を取得する（Ｓ７００）。そして、グローバル運動加速度姿勢計算部５１０及び積分計算部５２０は、ステップＳ７００で取得した加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、センサ装置１０のグローバル座標系における加速度及び姿勢を計算する（Ｓ７０２）。
【０１６３】
続いて、推定部５６１は、ステップＳ７００で取得したセンサデータ（センサ装置１０のローカル座標系における加速度及び角速度）と、ステップＳ７０２で計算した慣性航法によるグローバル座標系におけるセンサ装置１０の加速度及び姿勢とを用いて、足先の速度を推定する（Ｓ７０４）。さらに、推定部５６１は、ステップＳ７００で取得したセンサデータ（センサ装置１０のローカル座標系における加速度及び角速度）と、ステップＳ７０２で計算した慣性航法によるグローバル座標系におけるセンサ装置１０の加速度及び姿勢とを用いて、足首から見た足先の位置を推定する（Ｓ７０６）。
【０１６４】
次に、補正部５７０は、ステップＳ７０４で推定された足先の速度に対して、ＺＵＰＴ処理による補正を実行し、ステップＳ７０６で推定された足先の位置を融合するフュージョン処理を実行する（Ｓ７０８）。
【０１６５】
さらに、図３１に示す各ステップＳ７０４、Ｓ７０６、Ｓ７０８の詳細について、図３２及び図３３を参照して説明する。なお、図３２は、本実施形態に係る足先速度の推定を説明するための説明図であり、図３３は、本実施形態に係る足先位置の推定を説明するための説明図である。
【０１６６】
（足先の速度推定）
推定部５１６は、上述のステップＳ７０４において足先の速度を推定する。詳細には、まずは、上記推定部５１６には、図３２に示されるように、足首に装着されたセンサ装置１０で取得されたセンサデータに含まれるローカル座標系におけるセンサ装置１０の加速度及び角速度が入力される。さらに、推定部５１６には、上記センサデータに含まれるローカル座標系におけるセンサ装置１０の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより得られた、グローバル座標系におけるセンサ装置１０の加速度及び姿勢が入力される。なお、足先の速度の推定においては、上記センサデータ（ローカル座標系における加速度及び角速度）、上記グローバル座標系における加速度、及び、上記グローバル座標系における姿勢のうちの、いずれか１つ、又は、２つが推定部５１６に入力されてもよい。また、足先の速度の推定においては、推定部５１６には、他の部位に装着されたセンサ装置１０のセンサデータや、当該センサデータを慣性航法に基づく処理を行うことによって得られたグローバル座標系における加速度及び姿勢が入力されてもよく、特に限定されるものではない。
【０１６７】
そして、推定部５１６は、上述の入力に基づいて、予め記述されたルールに従って、足先の速度を推定する。本実施形態においては、推定部５１６は、機械学習によるクラス分類及び回帰を用いて足先の速度を推定してもよい。この際、推定部５１６は、推定結果として、足先の速度がゼロであるか否かの２値のラベルを出力することができる。また、本実施形態においては、このような２値のラベルを推定結果として出力することに限定されるものではない。本実施形態においては、例えば、足先の速度が「０ｍ／ｓ２以上  ０．０１ｍ／ｓ２未満」、「０．０１ｍ／ｓ２以上  ０．１０ｍ／ｓ２未満」、「０．１０ｍ／ｓ２以上」等の３値以上のラベルを出力してもよい。さらに、本実施形態においては、このようなラベルではなく、足先の速度自体を推定して出力してもよい。
【０１６８】
（足先の位置推定）
推定部５１６は、上述のステップＳ７０６において足首から見た足先の位置を推定する。詳細には、上記推定部５１６には、図３３に示されるように、足首に装着されたセンサ装置１０で取得されたセンサデータに含まれるローカル座標系における加速度及び角速度が入力される。また、推定部５１６には、上記センサデータに含まれるローカル座標系におけるセンサ装置１０の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより得られた、グローバル座標系におけるセンサ装置１０の加速度及び姿勢が入力される。なお、足先の位置の推定においては、上記センサデータ（ローカル座標系における加速度及び角速度）、上記グローバル座標系における加速度、及び、上記グローバル座標系における姿勢のうちの、いずれか１つ、又は、２つが推定部５１６に入力されてもよい。また、足先の位置の推定においては、推定部５１６には、他の部位に装着されたセンサ装置１０のセンサデータや、当該センサデータを慣性航法に基づく処理を行うことによって得られたグローバル座標系における加速度及び姿勢が入力されてもよく、特に限定されるものではない。さらに、推定部５１６には、図３３に示すように、身長や足の各部位の長さ（例えば、ひざ上長さ、ひざ下長さ）等の身体パラメータを入力してもよい。
【０１６９】
そして、推定部５１６は、上述の入力に基づいて、予め記述されたルールに従って、足先の位置を推定する。本実施形態においては、推定部５１６は、機械学習によるクラス分類および回帰を用いて足先の速度を推定してもよい。
【０１７０】
（フュージョン処理）
補正部５７０は、上述のステップＳ７０８において、グローバル座標系における加速度及び姿勢、推定された足先の速度、及び、推定された足先の位置を融合するフュージョン処理を実行する。補正部５７０は、例えば、信頼性の高いデータほど高い重みづけをして複数のデータを融合するようなカルマンフィルタ等を用いてフュージョン処理を行うことができる。例えば、かかるカルマンフィルタによれば、ステップＳ７０４において推定された足先の速度が足先の速度がゼロであるか否かの２値のラベルであった場合には、速度ゼロのラベルに対して観測値の補正を行うことはできる。また、例えば、カルマンフィルタによれば、推定された足先の速度が３つ以上の複数値のラベルであった場合には、速度ゼロに近いラベルから遠いラベルに対して順次速度ゼロのベクトルの信頼度を下げるように信頼度を与えることにより、好適にフュージョン処理を行うことができる。
【０１７１】
以上のように、本実施形態に係る第２のＺＵＰＴ手法によれば、足先の速度を間接的に推定することができることから、走る動作をモーションキャプチャした際であっても、安定して足先の速度がゼロとなる状態を検出することができることから、よりロバストな足先の位置の補正が可能となる。さらに、当該第２のＺＵＰＴ手法によれば、上述のようなアバターの足先を、推定した足先の速度や足先の位置を用いて制御することができることから、アニメーション内においてアバターの足先が接地する動作を再現した場合、安定感のある足先の挙動を再現することができる。
【０１７２】
＜６−５．変形例１＞
上述した実施形態においては、片足の足首に装着されたセンサ装置１０のセンサデータを使用していたが、本実施形態においてはそれに限定されるものではなく、両足の足首に装着されたセンサ装置１０のセンサデータを使用してもよい。このようにすることで、より高精度にＺＵＰＴを行うことが可能となる。そこで、本実施形態の変形例１として、図３４から図３６を参照して、両足の足首に装着されたセンサ装置１０のセンサデータを使用する変形例を説明する。図３４は、変形例１に係るＺＵＰＴ手法を説明するための説明図であり、図３５は、変形例１に係る相対位置の推定を説明するための説明図であり、さらに、図３６は、変形例１に係るシステムの動作例を示すフローチャート図である。
【０１７３】
詳細には、本変形例１においては、図３４に示すように、右足首に装着されたセンサ装置１０、左足首に装着されたセンサ装置１０、その他の部位に装着されたセンサ装置１０からセンサデータを取得する。さらに、本変形例１においては、右足首のローカル座標系における加速度及び角速度と、左足首のローカル座標系における加速度及び角速度と、その他の部位のローカル座標系における加速度及び角速度とを取得する。そして、本変形例１においては、取得した右足首の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、右足首のグローバル座標系における加速度及び姿勢を取得する（Ｓ８００）。
【０１７４】
さらに、上述と同様に、本変形例１においては、取得した左足首の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、左足首のグローバル座標系における加速度及び姿勢を取得する（Ｓ８０２）。さらに、本変形例１においては、取得したその他の部位の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、その他の部位のグローバル座標系における加速度及び姿勢を取得する（Ｓ８０４）。
【０１７５】
次に、本変形例においては、慣性航法によるグローバル座標系における右足首、左足首及びその他の部位の加速度及び姿勢を用いて、両足先の速度をそれぞれ推定する（Ｓ８０６）。そして、本変形例においては、慣性航法によるグローバル座標系における右足首、左足首及びその他の部位の加速度及び姿勢を用いて、両足先の位置をそれぞれ推定する（Ｓ８０８）。さらに、本変形例においては、慣性航法によるグローバル座標系における右足首、左足首及びその他の部位の加速度及び姿勢を用いて、両足首の相対位置（図３５に示されるＲ２０）を推定する（Ｓ８１０）。
【０１７６】
本変形例においては、新たに両足首の相対位置を推定することから、より制約の強いグローバル座標系における足首及び足先の位置を取得することが可能となる。当該推定においては、上述の実施形態における推定と同様に、機械学習を用いることができる。さらに、両足首の速度、両足首の位置、両足首の相対位置の推定においては、慣性航法によるグローバル座標系における右足首、左足首及びその他の部位の加速度及び姿勢だけでなく、上記センサデータに含まれる右足首、左足首及びその他の部位のローカル座標系における加速度及び角速度も用いてもよく、身長や足の各部位の長さ等の身体パラメータを用いてもよく、特に限定されるものではない。
【０１７７】
さらに、本変形例においては、両足先の速度の推定結果、両足先の位置の推定結果、及び、両足首の相対位置を融合するフュージョン処理を実行する（Ｓ８１２）。なお、本変形例におけるフュージョン処理も、上述と同様に、両足首及び両足先の速度及び位置の状態を推定するカルマンフィルタ等を用いることにより処理を行うことができる。その結果、本変形例においては、補正されたグローバル座標系における足首及び足先の位置を取得することができる。
【０１７８】
上述の変形例１の動作をまとめると、図３６に示すように、グローバル運動加速度姿勢計算部５１０及び推定部５６１は、両足首等に装着されたセンサ装置１０からセンサデータ（両足首及びその他の部位のローカル座標系における加速度及び角速度）を取得する（Ｓ８２０）。そして、グローバル運動加速度姿勢計算部５１０及び積分計算部５２０は、ステップＳ８２０で取得した加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、両足首及びその他の部位のグローバル座標系における加速度及び姿勢を計算する（Ｓ８２２）。
【０１７９】
続いて、推定部５６１は、ステップＳ８２２で計算した慣性航法によるグローバル座標系における両足首及びその他の部位の加速度及び姿勢を用いて、両足先の速度を推定する（Ｓ８２４）。さらに、推定部５６１は、ステップＳ８２２で計算した慣性航法によるグローバル座標系における両足首及びその他の部位を用いて、両足首から見た両足足先の位置をそれぞれ推定する（Ｓ８２６）。
【０１８０】
次に、推定部５６１は、慣性航法によるグローバル座標系における両足首及びその他の部位の加速度及び姿勢を用いて、両足首の相対位置（図３５に示されるＲ２０）を推定する（Ｓ８２８）。さらに、補正部５７０は、ステップＳ８２４で推定された両足先の速度に対して、ＺＵＰＴ処理による補正を実行し、ステップＳ８２６で推定された両足先の位置、及び、ステップＳ８２８で推定された両足首の相対位置を融合するフュージョン処理を実行する（Ｓ８３０）。
【０１８１】
上述した本変形例においては、両足の足首に装着されたセンサ装置１０のセンサデータ等を利用して、新たに両足首の相対位置を推定することから、より制約の強いグローバル座標系における足首及び足先の位置を取得することが可能となる。その結果、本変形例においては、より高精度にＺＵＰＴを行うことが可能となる。
【０１８２】
＜６−６．変形例２＞
上述した変形例１においては、両足首の相対位置を推定していたが、さらに、相対位置を測定する距離センサのセンサデータを用いてもよい。このようにすることで、より高精度にＺＵＰＴを行うことが可能となる。そこで、本実施形態の変形例２として、図３７及び図３８を参照して、相対位置を測定する距離センサのセンサデータを使用する変形例を説明する。図３７は、変形例２に係るセンサ装置１０の装置構成の一例を示す図であり、図３８は、変形例２に係るＺＵＰＴ手法を説明するための説明図である。
【０１８３】
図３７に示すように、本変形例２にかかるシステムは、センサ装置１０Ｇを含むことができる。当該センサ装置１０Ｇは、例えば図１４に示すセンサ装置１０と同様に、ジャイロセンサ１２、加速度センサ１４、制御部１６、及び通信部１８を有する。さらに、当該センサ装置１０Ｇは、両足首の間の相対距離を測定することができる距離センサ５０をさらに含むことができる。当該距離センサ５０は、例えば、超音波の反射により距離を測定することができる超音波センサ等であることができる。
【０１８４】
詳細には、本変形例２においては、図３４に示すように、右足首に装着されたセンサ装置１０、左足首に装着されたセンサ装置１０、その他の部位に装着されたセンサ装置１０からセンサデータを取得する。さらに、本変形例２においては、距離センサ５０から両足首の相対距離についてのセンサデータを取得する。そして、本変形例２においては、取得した両足首の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、両足首のグローバル座標系における加速度及び姿勢を取得する（Ｓ９００、Ｓ９０２）。さらに、本変形例２においては、取得したその他の部位の加速度及び角速度に対して上述した慣性航法に基づく処理を行うことにより、その他の部位のグローバル座標系における加速度及び姿勢を取得する（Ｓ９０４）。
【０１８５】
次に、本変形例においては、慣性航法によるグローバル座標系における右足首、左足首及びその他の部位の加速度及び姿勢、さらにはセンサデータに含まれる両足首の相対距離を用いて、両足先の速度及び位置、さらには両足首の相対位置をそれぞれ推定する（Ｓ９０６、Ｓ９０８、Ｓ９１０）。
【０１８６】
さらに、本変形例においては、両足先の速度の推定結果、両足先の位置の推定結果、及び、両足首の相対位置、さらには、センサデータに含まれる両足首の相対距離を融合するフュージョン処理を実行する（Ｓ９１２）。
【０１８７】
以上、上述した変形例２においては、新たに相対位置を測定する距離センサのセンサデータを用いることにより、より高精度にＺＵＰＴを行うことが可能となる。
【０１８８】
＜＜７．ハードウェア構成例＞＞
以上、本開示の実施形態を説明した。最後に、図３９を参照して、本開示の実施形態にかかる情報処理装置のハードウェア構成について説明する。図３９は、本開示の実施形態にかかる情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図３９に示す情報処理装置９００は、例えば、図１４に示したセンサ装置１０、ハブ装置２０、及び情報処理装置３０を実現し得る。本開示の実施形態にかかるセンサ装置１０、ハブ装置２０、及び情報処理装置３０による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【０１８９】
図３９に示すように、情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０３及びホストバス９０４ａを備える。また、情報処理装置９００は、ブリッジ９０４、外部バス９０４ｂ、インタフェース９０５、入力装置９０６、出力装置９０７、ストレージ装置９０８、ドライブ９０９、接続ポート９１１、通信装置９１３、及びセンサ９１５を備える。情報処理装置９００は、ＣＰＵ９０１に代えて、又はこれとともに、ＤＳＰ若しくはＡＳＩＣ等の処理回路を有してもよい。
【０１９０】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置９００内の動作全般を制御する。また、ＣＰＵ９０１は、マイクロプロセッサであってもよい。ＲＯＭ９０２は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０３は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。ＣＰＵ９０１は、例えば、制御部１６、制御部２４、制御部３４を形成し得る。
【０１９１】
ＣＰＵ９０１、ＲＯＭ９０２及びＲＡＭ９０３は、ＣＰＵバスなどを含むホストバス９０４ａにより相互に接続されている。ホストバス９０４ａは、ブリッジ９０４を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９０４ｂに接続されている。なお、必ずしもホストバス９０４ａ、ブリッジ９０４および外部バス９０４ｂを分離構成する必要はなく、１つのバスにこれらの機能を実装してもよい。
【０１９２】
入力装置９０６は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置９０６は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話やＰＤＡ等の外部接続機器であってもよい。さらに、入力装置９０６は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などを含んでいてもよい。情報処理装置９００のユーザは、この入力装置９０６を操作することにより、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１９３】
出力装置９０７は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置９０７は、例えば、情報処理装置９００が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置９００が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
【０１９４】
ストレージ装置９０８は、情報処理装置９００の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置９０８は、例えば、ＨＤＤ等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置９０８は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置９０８は、ＣＰＵ９０１が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。
【０１９５】
ドライブ９０９は、記憶媒体用リーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９０９は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、ＲＡＭ９０３に出力する。また、ドライブ９０９は、リムーバブル記憶媒体に情報を書き込むこともできる。
【０１９６】
接続ポート９１１は、外部機器と接続されるインタフェースであって、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などによりデータ伝送可能な外部機器との接続口である。
【０１９７】
通信装置９１３は、例えば、ネットワーク９２０に接続するための通信デバイス等で形成された通信インタフェースである。通信装置９１３は、例えば、有線若しくは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）又はＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９１３は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ又は各種通信用のモデム等であってもよい。この通信装置９１３は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。通信装置９１３は、例えば、通信部１８、通信部２２、通信部３２を形成し得る。
【０１９８】
センサ９１５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサである。センサ９１５は、情報処理装置９００の姿勢、移動速度等、情報処理装置９００自身の状態に関する情報や、情報処理装置９００の周辺の明るさや騒音等、情報処理装置９００の周辺環境に関する情報を取得する。また、センサ９１５は、ＧＰＳ信号を受信して装置の緯度、経度及び高度を測定するＧＰＳセンサを含んでもよい。センサ９１５は、例えば、ジャイロセンサ１２、加速度センサ１４を形成し得る。
【０１９９】
なお、ネットワーク９２０は、ネットワーク９２０に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク９２０は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ｅｔｈｅｒｎｅｔ（登録商標）を含む各種のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などを含んでもよい。また、ネットワーク９２０は、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）などの専用回線網を含んでもよい。
【０２００】
以上、本開示の実施形態にかかる情報処理装置９００の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本開示の実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０２０１】
なお、上述のような本開示の実施形態にかかる情報処理装置９００の各機能を実現するためのコンピュータプログラムを作製し、ＰＣ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【０２０２】
＜＜８．むすび＞＞
以上説明したように、本開示の実施形態によれば、モーションセンサが装着された身体の部位の位置情報をより高精度に得ることが可能である。さらに、本開示の実施形態によれば、モーションセンサが装着されていない部位の位置情報、及び姿勢情報をも得ることが可能であるため、より少ないモーションセンサを用いて、スケルトン情報を得ることが可能である。
【０２０３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２０４】
例えば、上記実施形態では、モーションセンサとして、慣性センサが身体に装着される例を主に説明したが、本技術はかかる例に限定されない。モーションセンサは、身体の動きをセンシングするセンサであればよく、上述したように地磁気センサ、気圧センサ、イメージセンサ等であってもよい。
【０２０５】
また、上記実施形態における各ステップは、必ずしもフローチャート図として記載された順序に沿って時系列に処理される必要はない。例えば、上記実施形態の処理における各ステップは、フローチャート図として記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【０２０６】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示にかかる技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０２０７】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正機能を、コンピュータに実現させるためのプログラム。
（２）
前記センサデータは加速度を含み、
前記第１の処理は、前記加速度の積分を含み、
前記第１の出力は前記積分により得られる、前記装着部位の位置情報を含む、前記（１）に記載のプログラム。
（３）
前記センサデータは加速度を含み、
前記第２の処理は、前記装着部位の位置情報を回帰により推定する回帰推定処理を含み、
前記回帰推定処理は、前記加速度に基づいて行われる、前記（１）または（２）に記載のプログラム。
（４）
前記センサデータは角速度をさらに含み、
前記回帰推定処理は、前記角速度にさらに基づいて行われる、前記（３）に記載のプログラム。
（５）
前記回帰推定処理の入力として、前記角速度に基づいて座標系変換された前記加速度が用いられる、前記（４）に記載のプログラム。
（６）
前記回帰推定処理の入力として、前記角速度に基づいて得られる前記装着部位の姿勢情報が用いられる、前記（４）または（５）に記載のプログラム。
（７）
前記回帰推定処理の入力として、前記モーションセンサにより取得された前記加速度または前記角速度が用いられる、前記（４）〜（６）のいずれか一項に記載のプログラム。
（８）
前記回帰推定処理は、過去に前記回帰推定処理により推定された前記装着部位の位置情報に基づいて行われる、前記（３）〜（７）のいずれか一項に記載のプログラム。
（９）
前記補正機能により補正された前記装着部位の位置情報に基づいて、前記モーションセンサが装着されていない非装着部位の位置情報、または姿勢情報を推定する補間機能を、前記コンピュータにさらに実現させるための、前記（１）〜（８）のいずれか一項に記載のプログラム。
（１０）
前記補間機能は、所定のスケルトン構造において、複数の前記装着部位の間に位置する前記非装着部位の位置情報、または姿勢情報を推定する、前記（９）に記載のプログラム。
（１１）
前記補間機能は、前記非装着部位の位置情報または姿勢情報を回帰により推定する、前記（９）または（１０）に記載のプログラム。
（１２）
前記第１の出力または前記第２の出力に含まれる前記装着部位の位置情報の信頼度を示す信頼度を特定する信頼度特定機能を前記コンピュータにさらに実現させるための、前記（９）〜（１１）のいずれか一項に記載のプログラム。
（１３）
前記補正機能は、前記信頼度特定機能により特定された前記信頼度に基づいて、前記装着部位の位置情報を補正する、前記（１２）に記載のプログラム。
（１４）
前記第２の処理は、前記回帰推定処理により推定された前記装着部位の位置情報に基づいて、前記モーションセンサが装着されていない非装着部位の位置情報または姿勢情報を推定する補間処理をさらに含む、前記（３）〜（８）のいずれか一項に記載のプログラム。
（１５）
前記補正機能は、前記第１の出力に基づいて、前記第２の出力に含まれる前記非装着部位の位置情報または姿勢情報をさらに補正する、前記（１４）に記載のプログラム。
（１６）
前記補正機能は、カルマンフィルタにより実現される、前記（９）〜（１５）のいずれか一項に記載のプログラム。
（１７）
前記補正機能は、接地状態を検出し、検出結果に基づいて前記装着部位の位置情報を補正する、前記（１）に記載のプログラム。
（１８）
前記補正機能は、前記センサデータに含まれる加速度及び角速度を用いて、足先の速度及び位置を推定し、推定結果に基づいて、当該足先が所定の速度を持つ状態である前記接地状態を検出する、前記（１７）に記載のプログラム。
（１９）
身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正を行う補正部を備える、情報処理装置。
（２０）
身体の２箇所以上の部位に装着された２以上のモーションセンサにより取得されたセンサデータに対して第１の処理を施して得られた第１の出力と、前記センサデータに対して第２の処理を施して得られた第２の出力とを参照して、前記モーションセンサが装着された装着部位の位置情報の補正をプロセッサが行うこと、を含む情報処理方法。
【符号の説明】
【０２０８】
１０、１０Ａ、１０Ｂ、１０Ｃ、１０Ｄ、１０Ｅ、１０Ｆ、１０Ｇ  センサ装置
１２  ジャイロセンサ
１４  加速度センサ
１６  制御部
１８、３２  通信部
２０  ハブ装置
２２  通信部
２４、３４  制御部
３０  情報処理装置
４０、９０７  出力装置
５０  距離センサ
５１０  グローバル運動加速度姿勢計算部
５２０  積分計算部
５３０  選択部
５４０、５４１、５４４  装着位置回帰推定部
５５０  信頼度特定部
５６０  接地検出部
５６１    推定部
５７０、５７２、５７３、５７４  補正部
５８０、５８３  補間部
９００  情報処理装置
９０１  ＣＰＵ
９０２  ＲＯＭ
９０３  ＲＡＭ
９０４  ブリッジ
９０４ａ  ホストバス
９０４ｂ  外部バス
９０５  インタフェース
９０６  入力装置
９０８  ストレージ装置
９０９  ドライブ
９１１  接続ポート
９１３  通信装置
９１５  センサ
９２０  ネットワーク
Ｄ  遅延器
Ｄ１０３、Ｄ１０４、Ｄ１０５、ＳＤ１０、ＳＤ９０、ＳＤ１００、ＳＤ１０１、ＳＤ１０２、ＳＤ１０３、ＳＤ１０４、ＳＤ１０５  スケルトン情報
Ｌ１  上限
Ｌ２  下限
Ｐ１１、Ｐ１２、Ｐ１３、Ｐ１４、Ｐ１５、Ｐ１６、Ｐ１０１、Ｐ１０２、Ｐ１０３、Ｐ１０４、Ｐ１０５、Ｐ１０６、ＳＰ１０１、ＳＰ１０２、ＳＰ１０３、ＳＰ１０５、ＳＰ１０６、ＳＰ１０７  装着部位
ＰＤ１０、ＰＤ１２、ＰＤ１００  装着部位情報
Ｒ１０  尤度分布
Ｒ２０  相対位置
Ｓ１００、Ｓ１１１、Ｓ１１２、Ｓ１１３、Ｓ１１４、Ｓ１２１、Ｓ１２２、Ｓ１２３、Ｓ１３０、Ｓ２００、Ｓ５０２、Ｓ５０４、Ｓ５０６、Ｓ５０８、Ｓ５１０、Ｓ５１２、Ｓ５１４、Ｓ５１６、Ｓ５１８、Ｓ５２０、Ｓ６００、Ｓ６０１、Ｓ６０２、Ｓ６１０、Ｓ６１１、Ｓ６１２、Ｓ６１３、Ｓ７００、Ｓ７０２、Ｓ７０４、Ｓ７０６、Ｓ７０８、Ｓ７１０、Ｓ８００、Ｓ８０２、Ｓ８０４、Ｓ８０６、Ｓ８０８、Ｓ８１０、Ｓ８１２、Ｓ９００、Ｓ９０２、Ｓ９０４、Ｓ９０６、Ｓ９０８、Ｓ９１０、Ｓ９１２  ステップ
Ｓ５３、Ｓ５４、Ｓ５５、Ｓ５６、Ｓ５７、Ｓ５８、Ｓ５９  位置推定処理
ＳＢ１０１、ＳＢ８１、ＳＢ８２  ボーン
ＳＰ１１，ＳＰ１２、ＳＰ２０、ＳＰ８１、ＳＰ８２、ＳＰ８３、ＳＰ９１、ＳＰ９２、ＳＰ９３、ＳＰ９４、ＳＰ９５、ＳＰ９６  部位
Ｕ１  ユーザ
【図１】
2019203188.tif 000004
【図２】
2019203188.tif 000005
【図３】
2019203188.tif 000006
【図４】
2019203188.tif 000007
【図５】
2019203188.tif 000008
【図６】
2019203188.tif 000009
【図７】
2019203188.tif 000010
【図８】
2019203188.tif 000011
【図９】
2019203188.tif 000012
【図１０】
2019203188.tif 000013
【図１１】
2019203188.tif 000014
【図１２】
2019203188.tif 000015
【図１３】
2019203188.tif 000016
【図１４】
2019203188.tif 000017
【図１５】
2019203188.tif 000018
【図１６】
2019203188.tif 000019
【図１７】
2019203188.tif 000020
【図１８】
2019203188.tif 000021
【図１９】
2019203188.tif 000022
【図２０】
2019203188.tif 000023
【図２１】
2019203188.tif 000024
【図２２】
2019203188.tif 000025
【図２３】
2019203188.tif 000026
【図２４】
2019203188.tif 000027
【図２５】
2019203188.tif 000028
【図２６】
2019203188.tif 000029
【図２７】
2019203188.tif 000030
【図２８】
2019203188.tif 000031
【図２９】
2019203188.tif 000032
【図３０】
2019203188.tif 000033
【図３１】
2019203188.tif 000034
【図３２】
2019203188.tif 000035
【図３３】
2019203188.tif 000036
【図３４】
2019203188.tif 000037
【図３５】
2019203188.tif 000038
【図３６】
2019203188.tif 000039
【図３７】
2019203188.tif 000040
【図３８】
2019203188.tif 000041
【図３９】
2019203188.tif 000042
【国際調査報告】
2019203188.tif 000043
2019203188.tif 000044
2019203188.tif 000045