(57)【要約】  ユーザが多くのトラッカーを装着することなく的確なボディトラッキングを行える体の部位の向き推定装置、体の部位の向き推定方法及びプログラムを提供する。時系列データ入力部（６８）は、それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する。時系列データ入力部（６８）は、複数の時系列データを変換部（６０）に入力する。出力取得部（７０）は、時系列データを変換部（６０）に入力した際の出力である、当該部位よりも体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する。
2019167214.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する時系列データ取得部と、
前記複数の時系列データを変換部に入力する入力部と、
前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する出力取得部と、
を含むことを特徴とする推定装置。
【請求項２】
前記複数の時系列データは、互いに異なる前記部位についての時系列データである、
ことを特徴とする請求項１に記載の推定装置。
【請求項３】
前記入力部は、前記体に含まれる頭部の向きを示す第１時系列データと、前記体に含まれる左手の角速度を示す第２時系列データと、前記体に含まれる右手の角速度を示す第３時系列データと、を前記変換部に入力し、
前記出力取得部は、前記体に含まれる胸部若しくは腰部の向き、又は、前記体に含まれる胸部若しくは腰部の角速度の推定結果を取得する、
ことを特徴とする請求項２に記載の推定装置。
【請求項４】
前記複数の時系列データには、前記部位の向きを示す時系列データ、当該部位の角速度を示す時系列データ、当該部位の位置を示す時系列データ、又は、当該部位の速度を示す時系列データのうちの複数が含まれる、
ことを特徴とする請求項１に記載の体の部位の向き推定装置。
【請求項５】
前記入力部は、前記体に含まれる手の向きを示す第１時系列データと、当該手の角速度を示す第２時系列データと、当該手の位置又は速度を示す第３時系列データと、を前記変換部に入力し、
前記出力取得部は、前記体に含まれる前記手の側の手首の向き又は角速度の推定結果を取得する、
ことを特徴とする請求項４に記載の推定装置。
【請求項６】
前記変換部は、学習済の機械学習モデルである、
ことを特徴とする請求項１から５のいずれか一項に記載の推定装置。
【請求項７】
それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得するステップと、
前記複数の時系列データを変換部に入力するステップと、
前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得するステップと、
を含むことを特徴とする推定方法。
【請求項８】
それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する手順、
前記複数の時系列データを変換部に入力する手順、
前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する手順、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推定装置、推定方法及びプログラムに関する。
【背景技術】
【０００２】
ユーザが装着する複数のトラッカーの位置や向きを示すデータに基づいて、逆運動学（ＩＫ）によって、当該ユーザの体に含まれる、トラッカーが装着されていない部位を含む複数の部位の位置や向きを推定するボディトラッキングの技術が知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
現状では、ボディトラッキングが的確に行われるようにするためには、ユーザは胸部又は腰部にトラッカーを装着する必要がある。しかし胸部や腰部へのトラッカーの装着はユーザにとって煩わしい。【０００４】
またボディトラッキングにおいて、手のトラッカーの位置や向きを示すデータがあっても手首の向きを示すデータがないと肘の位置が的確に推定できないことがある。例えば、手を振る動作などといった手だけを動かす動作を行った際に、実際には肘が大きく動いていないにも関わらず肘の位置が大きく動く推定結果が得られてしまうことがある。しかし手首へのトラッカーの装着もユーザにとっては煩わしい。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的の１つは、ユーザが多くのトラッカーを装着することなく的確なボディトラッキングを行える推定装置、推定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る推定装置は、それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する時系列データ取得部と、前記複数の時系列データを変換部に入力する入力部と、前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する出力取得部と、を含む。【０００７】
本発明の一態様では、前記複数の時系列データは、互いに異なる前記部位についての時系列データである。【０００８】
この態様では、前記入力部は、前記体に含まれる頭部の向きを示す第１時系列データと、前記体に含まれる左手の角速度を示す第２時系列データと、前記体に含まれる右手の角速度を示す第３時系列データと、を前記変換部に入力し、前記出力取得部は、前記体に含まれる胸部若しくは腰部の向き、又は、前記体に含まれる胸部若しくは腰部の角速度の推定結果を取得してもよい。【０００９】
また、本発明の一態様では、前記複数の時系列データには、前記部位の向きを示す時系列データ、当該部位の角速度を示す時系列データ、当該部位の位置を示す時系列データ、又は、当該部位の速度を示す時系列データのうちの複数が含まれる。【００１０】
この態様では、前記入力部は、前記体に含まれる手の向きを示す第１時系列データと、当該手の角速度を示す第２時系列データと、当該手の位置又は速度を示す第３時系列データと、を前記変換部に入力し、前記出力取得部は、前記体に含まれる前記手の側の手首の向き又は角速度の推定結果を取得してもよい。【００１１】
また、本発明の一態様では、前記変換部は、学習済の機械学習モデルである。【００１２】
また、本発明に係る推定方法は、それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得するステップと、前記複数の時系列データを変換部に入力するステップと、前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得するステップと、を含む。【００１３】
また、本発明に係るプログラムは、それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する手順、前記複数の時系列データを変換部に入力する手順、前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する手順、をコンピュータに実行させる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るエンタテインメントシステムの一例を示す構成図である。
【図２】本発明の一実施形態に係るエンタテインメント装置の一例を示す構成図である。
【図３】スケルトンモデルの一例を示す図である。
【図４】胸部ノードの向きの推定に用いられる機械学習モデルの一例を示す図である。
【図５】左手首ノード又は右手首ノードの向きの推定に用いられる機械学習モデルの一例を示す図である。
【図６】本発明の一実施形態に係るエンタテインメント装置で実装される機能の一例を示す機能ブロック図である。
【図７】本発明の一実施形態に係るエンタテインメント装置で行われる処理の流れの一例を示すフロー図である。
【発明を実施するための形態】
【００１５】
図１は、本発明の一実施形態に係るエンタテインメントシステム１０の構成の一例を示す図である。図２は、本実施形態に係るエンタテインメント装置１４の構成の一例を示す図である。
【００１６】
図１に示すように、本実施形態に係るエンタテインメントシステム１０は、複数のトラッカー１２（図１の例ではトラッカー１２ａ〜１２ｅ）とエンタテインメント装置１４と中継装置１６とディスプレイ１８とカメラマイクユニット２０とを含んでいる。
【００１７】
本実施形態に係るトラッカー１２は、例えば、当該トラッカー１２の位置や向きを追跡するためのデバイスである。ここでトラッカー１２が、例えばカメラ、慣性センサ（ＩＭＵ）、地磁気センサ（方位センサ）、加速度センサ、モーションセンサ、ＧＰＳ（Global Positioning System）モジュールなどといった各種センサを備えていてもよい。そしてトラッカー１２は、当該トラッカー１２が備えるセンサによる計測結果であるセンシングデータに基づいて、当該トラッカー１２の位置及び向きを特定してもよい。
【００１８】
また例えば、後述するカメラマイクユニット２０に含まれるカメラ２０ａが撮影する、トラッカー１２の像が含まれる画像に基づいて、当該トラッカー１２の位置及び向きが特定されてもよい。
【００１９】
本実施形態ではトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅは、それぞれ、ユーザの頭部、左手、右手、左足、右足に装着される。ここで図１に示すようにトラッカー１２ｂやトラッカー１２ｃはユーザによって手で把持されるものであってもよい。本実施形態ではトラッカー１２ａ、トラッカー１２ｂ、トラッカー１２ｃ、トラッカー１２ｄ、トラッカー１２ｅによって特定される位置及び向きは、それぞれ、ユーザの頭部、左手、右手、左足、右足の位置及び向きに相当する。このように本実施形態では複数のトラッカー１２によって、ユーザの体に含まれる複数の部位の位置及び向きが特定されることとなる。
【００２０】
本実施形態に係るエンタテインメント装置１４は、例えばゲームコンソール、ＤＶＤプレイヤ、Ｂｌｕ−ｒａｙ（登録商標）プレイヤなどといったコンピュータである。本実施形態に係るエンタテインメント装置１４は、例えば記憶されている、あるいは、光ディスクに記録された、ゲームプログラムの実行やコンテンツの再生などによって映像や音声を生成する。そして本実施形態に係るエンタテインメント装置１４は、生成される映像を表す映像信号や生成される音声を表す音声信号を、中継装置１６を経由してディスプレイ１８に出力する。
【００２１】
本実施形態に係るエンタテインメント装置１４には、例えば図２に示すように、プロセッサ３０、記憶部３２、通信部３４、入出力部３６が含まれる。
【００２２】
プロセッサ３０は、例えばエンタテインメント装置１４にインストールされるプログラムに従って動作するＣＰＵ等のプログラム制御デバイスである。本実施形態に係るプロセッサ３０には、ＣＰＵから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するＧＰＵ（Graphics Processing Unit）も含まれている。
【００２３】
記憶部３２は、例えばＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。記憶部３２には、プロセッサ３０によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部３２には、ＧＰＵにより画像が描画されるフレームバッファの領域が確保されている。
【００２４】
通信部３４は、例えば無線ＬＡＮモジュールなどの通信インタフェースなどである。
【００２５】
入出力部３６は、ＨＤＭＩ（登録商標）（High-Definition Multimedia Interface）ポート、ＵＳＢポートなどの入出力ポートである。
【００２６】
本実施形態に係る中継装置１６は、エンタテインメント装置１４から出力される映像信号や音声信号を中継してディスプレイ１８に出力するコンピュータである。
【００２７】
本実施形態に係るディスプレイ１８は、例えば液晶ディスプレイ等であり、エンタテインメント装置１４から出力される映像信号が表す映像などを表示させる。
【００２８】
本実施形態に係るカメラマイクユニット２０は、例えば被写体を撮像した画像をエンタテインメント装置１４に出力するカメラ２０ａ及び周囲の音声を取得して当該音声を音声データに変換してエンタテインメント装置１４に出力するマイク２０ｂを含んでいる。また本実施形態に係るカメラ２０ａはステレオカメラである。
【００２９】
トラッカー１２と中継装置１６とは、例えば、無線によるデータの送受信が互いに可能になっている。エンタテインメント装置１４と中継装置１６とは、例えば、ＨＤＭＩケーブルやＵＳＢケーブルなどを介して接続されており、データの送受信が互いに可能になっている。中継装置１６とディスプレイ１８とは、例えば、ＨＤＭＩケーブルなどを介して接続されている。エンタテインメント装置１４とカメラマイクユニット２０とは、例えば、ＡＵＸケーブルなどを介して接続されている。
【００３０】
本実施形態では例えば、エンタテインメント装置１４によってゲームプログラムが実行されている際に、図３に示すスケルトンモデル４０における、ユーザの体に含まれる複数の部位の位置又は向きに応じたゲーム処理等の各種の処理が実行される。そして当該処理の結果に応じた映像が例えばディスプレイ１８に表示される。
【００３１】
図３に示すように、本実施形態に係るスケルトンモデル４０には、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅが含まれている。頭部ノード４２ａは、トラッカー１２ａが装着されるユーザの頭部に相当する。左手ノード４２ｂは、トラッカー１２ｂが装着されるユーザの左手に相当する。右手ノード４２ｃは、トラッカー１２ｃが装着されるユーザの右手に相当する。左足ノード４２ｄは、トラッカー１２ｄが装着されるユーザの左足に相当する。右足ノード４２ｅは、トラッカー１２ｅが装着されるユーザの右足に相当する。
【００３２】
またスケルトンモデル４０には、上記のノード４２の他に、胸部ノード４２ｆ、腰部ノード４２ｇ、左肩ノード４２ｈ、左肘ノード４２ｉ、左手首ノード４２ｊが含まれている。またスケルトンモデル４０には、さらに、右肩ノード４２ｋ、右肘ノード４２ｌ、右手首ノード４２ｍ、左膝ノード４２ｎ、左足首ノード４２ｏ、右膝ノード４２ｐ、右足首ノード４２ｑが含まれている。
【００３３】
ここで図３に示すように、頭部ノード４２ａと胸部ノード４２ｆとはリンクで接続されている。また胸部ノード４２ｆと腰部ノード４２ｇとはリンクで接続されている。
【００３４】
また胸部ノード４２ｆと左肩ノード４２ｈとはリンクで接続されている。また左肩ノード４２ｈと左肘ノード４２ｉとはリンクで接続されている。また左肘ノード４２ｉと左手首ノード４２ｊとはリンクで接続されている。また左手首ノード４２ｊと左手ノード４２ｂとはリンクで接続されている。
【００３５】
また胸部ノード４２ｆと右肩ノード４２ｋとはリンクで接続されている。また右肩ノード４２ｋと右肘ノード４２ｌとはリンクで接続されている。また右肘ノード４２ｌと右手首ノード４２ｍとはリンクで接続されている。また右手首ノード４２ｍと右手ノード４２ｃとはリンクで接続されている。
【００３６】
また腰部ノード４２ｇと左膝ノード４２ｎとはリンクで接続されている。また左膝ノード４２ｎと左足首ノード４２ｏとはリンクで接続されている。また左足首ノード４２ｏと左足ノード４２ｄとはリンクで接続されている。
【００３７】
また腰部ノード４２ｇと右膝ノード４２ｐとはリンクで接続されている。また右膝ノード４２ｐと右足首ノード４２ｑとはリンクで接続されている。また右足首ノード４２ｑと右足ノード４２ｅとはリンクで接続されている。
【００３８】
これらのノード４２は、それぞれユーザの体に含まれる部位に対応している。そして本実施形態では例えば、複数のトラッカー１２について特定される位置及び向きに基づくボディトラッキングが行える。ここでは例えば、スケルトンモデル４０に含まれる複数のノード４２のそれぞれについての、初期状態における基準の位置に対する位置及び初期状態における基準の向きに対する向きの推定が実行される。
【００３９】
ここで例えば、トラッカー１２ａについて特定される位置及び向きを示すデータに基づいて、頭部ノード４２ａの位置及び向きは決定できる。同様に、トラッカー１２ｂについて特定される位置及び向きを示すデータに基づいて、左手ノード４２ｂの位置及び向きは決定できる。また、トラッカー１２ｃについて特定される位置及び向きを示すデータに基づいて、右手ノード４２ｃの位置及び向きは決定できる。また、トラッカー１２ｄについて特定される位置及び向きを示すデータに基づいて、左足ノード４２ｄの位置及び向きは決定できる。また、トラッカー１２ｅについて特定される位置及び向きを示すデータに基づいて、右足ノード４２ｅの位置及び向きは決定できる。
【００４０】
ここで、決定される頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅの位置及び向きを示すデータに基づいて、逆運動学（ＩＫ）によって、他のノード４２の位置及び向きを推定することが考えられる。
【００４１】
しかしこの場合、胸部ノード４２ｆ又は腰部ノード４２ｇの向きの情報がないと、逆運動学によって、他のノード４２についての位置及び向きを推定することができない。
【００４２】
また左手ノード４２ｂの位置及び向きを示すデータがあっても左手首ノード４２ｊの向きの情報がないと、逆運動学によって、左肘ノード４２ｉの位置及び向きを推定することが困難なことがある。例えば、手を振る動作などといった手だけを動かす動作を行った際に、実際には肘が大きく動いていないにも関わらず肘の位置が大きく動く推定結果が得られてしまうことがある。
【００４３】
同様に、右手ノード４２ｃの位置及び向きを示すデータがあっても右手首ノード４２ｍの向きの情報がないと、逆運動学によって、右肘ノード４２ｌの位置及び向きを推定することが困難なことがある。
【００４４】
そこで本実施形態では以下のようにして、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅの位置及び向きを示すデータに基づいて、胸部ノード４２ｆ又は腰部ノード４２ｇの向きを的確に推定できるようにした。また本実施形態では以下のようにして、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、右足ノード４２ｅの位置及び向きを示すデータに基づいて、左手首ノード４２ｊ及び右手首ノード４２ｍの向きを的確に推定できるようにした。
【００４５】
なお本実施形態では例えば、所定のサンプリングレートでトラッカー１２ａ〜１２ｅのそれぞれについて、当該トラッカー１２の位置及び向きの特定が行われることとする。そしてトラッカー１２の位置及び向きの特定に応じて、当該トラッカー１２の位置及び向きを示すデータが、エンタテインメント装置１４に送信されることとする。そしてエンタテインメント装置１４において、当該データに基づく上述の向きの推定が実行されることとする。
【００４６】
以下、胸部ノード４２ｆの向きの推定について説明する。なお以下に示す方法により、腰部ノード４２ｇの向きの推定も同様に可能である。
【００４７】
図４は、胸部ノード４２ｆの向きの推定に用いられる機械学習モデルの一例を示す図である。図４に示すように、胸部ノード４２ｆの向きの推定に用いられる機械学習モデルには、入力層４４と、中間ブロック４６と、第１中間層４８と、第２中間層５０と、出力層５２と、が含まれている。
【００４８】
本実施形態では例えば、トラッカー１２による位置及び向きの特定に応じて、入力層４４には、頭部の向きの時系列を示す時系列データＤ１、左手の角速度の時系列を示す時系列データＤ２、及び、右手の角速度の時系列を示す時系列データＤ３が入力される。
【００４９】
本実施形態では例えば、直近２００回の特定におけるトラッカー１２ａの向きの時系列を示すデータが時系列データＤ１（Ｄ１（ｔ−１９９）〜Ｄ１（ｔ））として入力層４４に入力される。
【００５０】
ここでは例えば、最新の特定タイミングにおけるトラッカー１２ａの向きを示すデータがデータＤ１（ｔ）として表現されている。また、直前の特定タイミングにおけるトラッカー１２ａの向きを示すデータがデータＤ１（ｔ−１）として表現されている。また、１９９回前の特定タイミングにおけるトラッカー１２ａの向きを示すデータがデータＤ１（ｔ−１９９）として表現されている。
【００５１】
また本実施形態では図４に示すように、時系列データＤ１（Ｄ１（ｔ−１９９）〜Ｄ１（ｔ））には、それぞれ、ピッチ角（Ｐｉｔｃｈ）、ヨー角（Ｙａｗ）、ロール角（Ｒｏｌｌ）といった、３個の要素が含まれている。当該ピッチ角、当該ヨー角、当該ロール角のそれぞれは例えば、上述の基準の向きに対するピッチ角、ヨー角、ロール角に相当する。
【００５２】
また本実施形態では、前回の特定における向きを示すデータの値と今回の特定における向きを示すデータの値との差分が、角速度を示す値として用いられる。そして本実施形態では、直近２０１回の特定におけるトラッカー１２ｂの向きを示すデータに基づく、トラッカー１２ｂの角速度の時系列を示すデータが、時系列データＤ２（Ｄ２（ｔ−１９９）〜Ｄ２（ｔ））として入力層４４に入力される。
【００５３】
ここでは例えば最新の特定タイミングにおけるトラッカー１２ｂの向きと直前の特定タイミングにおけるトラッカー１２ｂの向きとの差分に相当する角速度を示すデータがデータＤ２（ｔ）として表現されている。また直前の特定タイミングにおけるトラッカー１２ｂの向きと２回前の特定タイミングにおけるトラッカー１２ｂの向きとの差分に相当する角速度を示すデータがデータＤ２（ｔ−１）として表現されている。そして１９９回前の特定タイミングにおけるトラッカー１２ｂの向きと２００回前の特定タイミングにおけるトラッカー１２ｂの向きとの差分に相当する角速度を示すデータがデータＤ２（ｔ−１９９）として表現されている。
【００５４】
また本実施形態では図４に示すように、時系列データＤ２（Ｄ２（ｔ−１９９）〜Ｄ２（ｔ））には、それぞれ、ピッチ角速度（ΔＰｉｔｃｈ）、ヨー角速度（ΔＹａｗ）、ロール角速度（ΔＲｏｌｌ）といった、３個の要素が含まれている。ここで当該ピッチ角速度、当該ヨー角速度、当該ロール角速度は、それぞれ、連続する２つの特定タイミング間における上述の基準の向きに対するピッチ角の差分、ヨー角の差分、ロール角の差分に相当する。
【００５５】
また本実施形態では、直近２０１回の特定におけるトラッカー１２ｃの向きを示すデータに基づく、トラッカー１２ｃの角速度の時系列を示すデータが、時系列データＤ３（Ｄ３（ｔ−１９９）〜Ｄ３（ｔ））として入力層４４に入力される。
【００５６】
ここでは例えば最新の特定タイミングにおけるトラッカー１２ｃの向きと直前の特定タイミングにおけるトラッカー１２ｃの向きとの差分に相当する角速度を示すデータがデータＤ３（ｔ）として表現されている。また直前の特定タイミングにおけるトラッカー１２ｃの向きと２回前の特定タイミングにおけるトラッカー１２ｃの向きとの差分に相当する角速度を示すデータがデータＤ３（ｔ−１）として表現されている。そして１９９回前の特定タイミングにおけるトラッカー１２ｃの向きと２００回前の特定タイミングにおけるトラッカー１２ｃの向きとの差分に相当する角速度を示すデータがデータＤ３（ｔ−１９９）として表現されている。
【００５７】
また本実施形態では図４に示すように、時系列データＤ３（Ｄ３（ｔ−１９９）〜Ｄ３（ｔ））には、それぞれ、ピッチ角速度（ΔＰｉｔｃｈ）、ヨー角速度（ΔＹａｗ）、ロール角速度（ΔＲｏｌｌ）といった、３個の要素が含まれている。上述のように当該ピッチ角速度、当該ヨー角速度、当該ロール角速度は、それぞれ、連続する２つの特定タイミング間における上述の基準の向きに対するピッチ角の差分、ヨー角の差分、ロール角の差分に相当する。
【００５８】
以上で説明したように、本実施形態では、入力層４４に、１８００（２００×３×３）の要素を含むデータが入力されることとなる。
【００５９】
そして入力層４４に入力された上記のデータは、中間ブロック４６に入力される。中間ブロック４６は、本実施形態では例えば、ＬＳＴＭ（Long short-term memory）が実装されたＲＮＮ（Recurrent Neural Network）（ＬＳＴＭブロック）である。
【００６０】
そして中間ブロック４６の出力が、第１中間層４８に入力される。そして第１中間層４８からの出力が第２中間層５０に入力される。第１中間層４８及び第２中間層５０は、例えば正規化線形関数（ＲｅＬＵ）を活性化関数とする全結合層である。
【００６１】
そして第２中間層５０からの出力が出力層５２に入力される。出力層５２は、例えば線形関数を活性化関数とする層である。そして出力層５２からは、最新の特定タイミングにおける胸部の向きに相当するデータＤ４（ｔ）が出力５４として出力される。図４に示すように、時系列データＤ４（ｔ）には、ピッチ角（Ｐｉｔｃｈ）、ヨー角（Ｙａｗ）、ロール角（Ｒｏｌｌ）といった、３個の要素が含まれている。当該ピッチ角、当該ヨー角、当該ロール角のそれぞれは例えば、上述の基準の向きに対するピッチ角、ヨー角、ロール角に相当する。
【００６２】
本実施形態では、予め、図４に示す機械学習モデルについて、頭部の向き、左手の角速度、及び、右手の角速度の組合せに対応付けられた胸部の向きを示すデータによる学習が実行されていることとする。そのため本実施形態では図４に示す学習済の機械学習モデルに、時系列データＤ１、時系列データＤ２、及び、時系列データＤ３を入力した際の出力であるデータＤ４（ｔ）が、胸部ノード４２ｆの向きの推定結果に相当することとなる。
【００６３】
ここで予め図４に示す機械学習モデルについて、頭部の向き、左手の角速度、及び、右手の角速度の組合せに対応付けられた腰部の向きを示すデータによる学習が実行されていてもよい。この場合は、図４に示す学習済の機械学習モデルに、時系列データＤ１、時系列データＤ２、及び、時系列データＤ３を入力した際の出力であるデータＤ４（ｔ）は、腰部ノード４２ｇの向きの推定結果に相当することとなる。
【００６４】
また予め図４に示す機械学習モデルについて、頭部の向き、左手の角速度、及び、右手の角速度の組合せに対応付けられた胸部の角速度を示すデータによる学習が実行されていてもよい。この場合は、図４に示す学習済の機械学習モデルに、時系列データＤ１、時系列データＤ２、及び、時系列データＤ３を入力した際の出力であるデータＤ４（ｔ）は、胸部ノード４２ｆの角速度の推定結果に相当することとなる。
【００６５】
また予め図４に示す機械学習モデルについて、頭部の向き、左手の角速度、及び、右手の角速度の組合せに対応付けられた腰部の角速度を示すデータによる学習が実行されていてもよい。この場合は、図４に示す学習済の機械学習モデルに、時系列データＤ１、時系列データＤ２、及び、時系列データＤ３を入力した際の出力であるデータＤ４（ｔ）は、腰部ノード４２ｇの角速度の推定結果に相当することとなる。
【００６６】
以上のようにして本実施形態では、時系列データＤ１〜Ｄ３に基づく胸部ノード４２ｆ若しくは腰部ノード４２ｇの向き、又は、胸部ノード４２ｆ若しくは腰部ノード４２ｇの角速度の推定が実行される。
【００６７】
以下、左手首ノード４２ｊの向きの推定について説明する。なお以下に示す方法により、右手首ノード４２ｍの向きの推定も同様に可能である。
【００６８】
図５は、左手首ノード４２ｊの向きの推定に用いられる機械学習モデルの一例を示す図である。図５に示すように、左手首ノード４２ｊの向きの推定に用いられる機械学習モデルには、図４に示す機械学習モデルと同様、入力層４４と、中間ブロック４６と、第１中間層４８と、第２中間層５０と、出力層５２と、が含まれている。
【００６９】
本実施形態では例えば、トラッカー１２による位置及び向きの特定に応じて、入力層４４には、左手の向きの時系列を示すデータＤ５、左手の角速度の時系列を示すデータＤ６、及び、左手の速度の時系列を示すデータＤ７が入力される。
【００７０】
本実施形態では例えば、直近２００回の特定におけるトラッカー１２ｂの向きの時系列を示すデータが時系列データＤ５（Ｄ５（ｔ−１９９）〜Ｄ５（ｔ））として入力層４４に入力される。
【００７１】
ここでは例えば、最新の特定タイミングにおけるトラッカー１２ｂの向きを示すデータがデータＤ５（ｔ）として表現されている。直前の特定タイミングにおけるトラッカー１２ｂの向きを示すデータがデータＤ５（ｔ−１）として表現されている。そして１９９回前の特定タイミングにおけるトラッカー１２ｂの向きを示すデータがデータＤ５（ｔ−１９９）として表現されている。
【００７２】
また本実施形態では図５に示すように、時系列データＤ５（Ｄ５（ｔ−１９９）〜Ｄ５（ｔ））には、それぞれ、ピッチ角（Ｐｉｔｃｈ）、ヨー角（Ｙａｗ）、ロール角（Ｒｏｌｌ）といった、３個の要素が含まれている。上述のように当該ピッチ角、当該ヨー角、当該ロール角のそれぞれは例えば、上述の基準の向きに対するピッチ角、ヨー角、ロール角に相当する。
【００７３】
また本実施形態では、前回の特定における向きを示すデータの値と今回の特定における向きを示すデータの値との差分が、角速度を示す値として用いられる。そして本実施形態では、直近２０１回の特定におけるトラッカー１２ｂの向きを示すデータに基づく、トラッカー１２ｂの角速度の時系列を示すデータが、時系列データＤ６（Ｄ６（ｔ−１９９）〜Ｄ６（ｔ））として入力層４４に入力される。
【００７４】
ここでは例えば最新の特定タイミングにおけるトラッカー１２ｂの向きと直前の特定タイミングにおけるトラッカー１２ｂの向きとの差分に相当する角速度を示すデータがデータＤ６（ｔ）として表現されている。また直前の特定タイミングにおけるトラッカー１２ｂの向きと２回前の特定タイミングにおけるトラッカー１２ｂの向きとの差分に相当する角速度を示すデータがデータＤ６（ｔ−１）として表現されている。そして１９９回前の特定タイミングにおけるトラッカー１２ｂの向きと２００回前の特定タイミングにおけるトラッカー１２ｂの向きとの差分に相当する角速度を示すデータがデータＤ６（ｔ−１９９）として表現されている。
【００７５】
また本実施形態では図５に示すように、時系列データＤ６（Ｄ６（ｔ−１９９）〜Ｄ６（ｔ））には、それぞれ、ピッチ角速度（ΔＰｉｔｃｈ）、ヨー角速度（ΔＹａｗ）、ロール角速度（ΔＲｏｌｌ）といった、３個の要素が含まれている。上述のように当該ピッチ角速度、当該ヨー角速度、当該ロール角速度は、それぞれ、連続する２つの特定タイミング間における上述の基準の向きに対するピッチ角の差分、ヨー角の差分、ロール角の差分に相当する。
【００７６】
また本実施形態では、直近２０１回の特定におけるトラッカー１２ｂの位置を示すデータに基づく、トラッカー１２ｂの速度の時系列を示すデータが、時系列データＤ７（Ｄ７（ｔ−１９９）〜Ｄ７（ｔ））として入力層４４に入力される。
【００７７】
ここでは例えば最新の特定タイミングにおけるトラッカー１２ｂの位置と直前の特定タイミングにおけるトラッカー１２ｂの位置との差分に相当する速度を示すデータがデータＤ７（ｔ）として表現されている。また直前の特定タイミングにおけるトラッカー１２ｂの位置と２回前の特定タイミングにおけるトラッカー１２ｂの位置との差分に相当する速度を示すデータがデータＤ７（ｔ−１）として表現されている。そして１９９回前の特定タイミングにおけるトラッカー１２ｂの位置と２００回前の特定タイミングにおけるトラッカー１２ｃの位置との差分に相当する速度を示すデータがデータＤ７（ｔ−１９９）として表現されている。
【００７８】
また本実施形態では図５に示すように、時系列データＤ７（Ｄ７（ｔ−１９９）〜Ｄ７（ｔ））には、それぞれ、３軸方向の速度にそれぞれ対応するΔｘ、Δｙ、Δｚといった、３個の要素が含まれている。当該３軸方向の速度は、それぞれ、連続する２つの特定タイミング間における上述の基準の位置に対するｘ座標値の差分、ｙ座標値の差分、ｚ座標値の差分に相当する。
【００７９】
以上で説明したように、本実施形態では、入力層４４に、１８００（２００×３×３）の要素を含むデータが入力されることとなる。
【００８０】
そして図４での説明と同様にして、入力層４４に入力された上記のデータに基づいて、最終的には、出力層５２から、最新の特定タイミングにおける左手首の向きに相当するデータＤ８（ｔ）が出力５４として出力される。図５に示すように、時系列データＤ８（ｔ）には、ピッチ角（Ｐｉｔｃｈ）、ヨー角（Ｙａｗ）、ロール角（Ｒｏｌｌ）といった、３個の要素が含まれている。当該ピッチ角、当該ヨー角、当該ロール角のそれぞれは例えば、上述の基準の向きに対するピッチ角、ヨー角、ロール角に相当する。
【００８１】
そして本実施形態ではデータＤ８（ｔ）が左手首ノード４２ｊの向きの推定結果として用いられる。
【００８２】
本実施形態では、予め、図５に示す機械学習モデルが、左手の向き、左手の角速度、及び、左手の速度の組合せに対応付けられた左手首の向きを示すデータによる学習が実行されていることとする。そのため本実施形態では図５に示す学習済の機械学習モデルに、時系列データＤ５、時系列データＤ６、及び、時系列データＤ７を入力した際の出力であるデータＤ８（ｔ）が、左手首ノード４２ｊの向きの推定結果に相当することとなる。なお時系列データＤ７として、左手の速度の時系列を示すデータの代わりに左手の位置の時系列を示すデータが用いられてもよい。
【００８３】
ここで予め図５に示す機械学習モデルが、左手の向き、左手の角速度、及び、左手の位置又は速度の組合せに対応付けられた左手首の角速度を示すデータによる学習が実行されていてもよい。この場合は、図５に示す学習済の機械学習モデルに、時系列データＤ５、時系列データＤ６、及び、時系列データＤ７を入力した際の出力であるデータＤ８（ｔ）は、左手首ノード４２ｊの角速度の推定結果に相当することとなる。
【００８４】
また本実施形態では、図５に示す機械学習モデルと同様の機械学習モデルについて、右手の向き、右手の角速度、及び、右手の速度の組合せに対応付けられた右手首の向きを示すデータによる学習が実行される。そして当該学習済の機械学習モデルに、右手の向きの時系列を示すデータ、右手の角速度の時系列を示すデータ、及び、右手の速度の時系列を示すデータを入力した際に出力は、右手首ノード４２ｍの向きの推定結果に相当することとなる。なお右手の速度の時系列を示すデータの代わりに右手の位置の時系列を示すデータが用いられてもよい。
【００８５】
ここで例えば図５に示す機械学習モデルと同様の機械学習モデルについて、右手の向き、右手の角加速度、及び、右手の位置又は速度の組合せに対応付けられた右手首の角速度を示すデータによる学習が実行されていてもよい。そして当該学習済の機械学習モデルに、右手の向きの時系列を示すデータ、右手の角速度の時系列を示すデータ、及び、右手の速度の時系列を示すデータを入力した際に出力は、右手首ノード４２ｍの角速度の推定結果に相当することとなる。
【００８６】
以上のようにして本実施形態では、左手首ノード４２ｊ、及び、右手首ノード４２ｍの向き又は角速度の推定が実行される。
【００８７】
そして本実施形態では例えば、逆運動学によって、以上で説明した推定結果に基づく、他のノード４２の位置及び向きの推定が実行される。
【００８８】
本実施形態では、ユーザが胸部又は腰部にトラッカー１２を装着することなく、スケルトンモデル４０に含まれる各ノード４２の位置及び向きが推定される。また本実施形態では、５個という限られた数のトラッカー１２の位置や向きを示すデータから、左手首ノード４２ｊの向き及び右手首ノード４２ｍの向きが推定される。そして当該推定の結果に基づいて、逆運動学によって、左肘ノード４２ｉ及び右肘ノード４２ｌの位置を的確に推定できる。以上のようにして本実施形態によれば、ユーザは多くのトラッカー１２を装着することなく的確なボディトラッキングを行えることとなる。具体的には例えば、ユーザは胸部や腰部や手首にトラッカー１２を装着することなく的確なボディトラッキングを行えることとなる。
【００８９】
以下、本実施形態に係るエンタテインメント装置１４の機能、及び、エンタテインメント装置１４で実行される処理についてさらに説明する。
【００９０】
図６は、本実施形態に係るエンタテインメント装置１４で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエンタテインメント装置１４で、図６に示す機能のすべてが実装される必要はなく、また、図６に示す機能以外の機能が実装されていても構わない。
【００９１】
図６に示すように、エンタテインメント装置１４には、機能的には例えば、変換部６０、姿勢データ取得部６２、姿勢データ記憶部６４、時系列データ生成部６６、時系列データ入力部６８、出力取得部７０、ボディトラッキング実行部７２が含まれる。また変換部６０には、第１変換部６０ａ、第２変換部６０ｂ、及び、第３変換部６０ｃ、が含まれる。また時系列データ生成部６６には、第１時系列データ生成部６６ａ、第２時系列データ生成部６６ｂ、及び、第３時系列データ生成部６６ｃ、が含まれる。また時系列データ入力部６８には、第１時系列データ入力部６８ａ、第２時系列データ入力部６８ｂ、及び、第３時系列データ入力部６８ｃ、が含まれる。また出力取得部７０には、第１出力取得部７０ａ、第２出力取得部７０ｂ、及び、第３出力取得部７０ｃ、が含まれる。
【００９２】
変換部６０は、プロセッサ３０及び記憶部３２を主として実装される。姿勢データ取得部６２は、プロセッサ３０及び入出力部３６を主として実装される。姿勢データ記憶部６４は、記憶部３２を主として実装される。時系列データ生成部６６、時系列データ入力部６８、出力取得部７０、ボディトラッキング実行部７２は、プロセッサ３０を主として実装される。本実施形態に係るエンタテインメント装置１４は、ユーザの体に含まれる部位の向きを推定する体の部位の向き推定装置としての役割を担うこととなる。
【００９３】
以上の機能は、コンピュータであるエンタテインメント装置１４にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ３０で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してエンタテインメント装置１４に供給されてもよい。
【００９４】
第１変換部６０ａは、本実施形態では例えば、図４に例示する、胸部ノード４２ｆの向きの推定に用いられる学習済の機械学習モデルに相当する。なお第１変換部６０ａが機械学習モデルによって実装されている必要はなく、例えば、一般的なソフトウェアや回路などのハードウェアによって実装されていてもよい。
【００９５】
第２変換部６０ｂは、本実施形態では例えば、図５に例示する、左手首ノード４２ｊの向きの推定に用いられる学習済の機械学習モデルに相当する。なお第２変換部６０ｂが機械学習モデルによって実装されている必要はなく、例えば、一般的なソフトウェアや回路などのハードウェアによって実装されていてもよい。
【００９６】
第３変換部６０ｃは、本実施形態では例えば、図５に例示する機械学習モデルと同様の、右手首ノード４２ｍの向きの推定に用いられる学習済の機械学習モデルに相当する。なお第３変換部６０ｃが機械学習モデルによって実装されている必要はなく、例えば、一般的なソフトウェアや回路などのハードウェアによって実装されていてもよい。
【００９７】
姿勢データ取得部６２は、本実施形態では例えば、所定のサンプリングレートで特定されるトラッカー１２ａ〜１２ｅの位置及び向きを示す姿勢データを取得する。ここで例えば、所定のサンプリングレートでトラッカー１２が、当該トラッカー１２の位置及び向きを示す姿勢データを生成してもよい。そして生成に応じてトラッカー１２が、当該トラッカー１２が生成した姿勢データを、中継装置１６経由でエンタテインメント装置１４に送信してもよい。また例えば、カメラマイクユニット２０が、所定のサンプリングレートでトラッカー１２ａ〜１２ｅの位置及び向きを示す姿勢データを生成してもよい。そして生成に応じてカメラマイクユニット２０が、当該カメラマイクユニット２０が生成した姿勢データを、エンタテインメント装置１４に送信してもよい。
【００９８】
姿勢データ記憶部６４は、本実施形態では例えば、姿勢データ取得部６２が取得する姿勢データを記憶する。
【００９９】
第１時系列データ生成部６６ａは、本実施形態では例えば、姿勢データ記憶部６４に記憶されている姿勢データに基づいて、第１変換部６０ａに入力される時系列データを生成する。ここでは例えば、頭部の向きの時系列を示す時系列データＤ１、左手の角速度の時系列を示す時系列データＤ２、及び、右手の角速度の時系列を示す時系列データＤ３といった、３つの時系列データが生成される。このように第１時系列データ生成部６６ａが生成する複数の時系列データは、体に含まれる互いに異なる部位（ここでは例えば頭部、左手、及び、右手）についての時系列データであってもよい。
【０１００】
なお第１時系列データ生成部６６ａは、生成した時系列データを保持してもよい。そして例えば、最新の特定タイミングにおける姿勢データに基づいて時系列データＤ１（ｔ）が生成されるようにしてもよい。そして、保持されている時系列データＤ１（ｔ−１９８）〜Ｄ１（ｔ）を時系列データＤ１（ｔ−１９９）〜Ｄ１（ｔ−１）として含み、生成された時系列データＤ１（ｔ）をさらに含む時系列データＤ１が生成されるようにしてもよい。なお時系列データＤ２、Ｄ３についても同様に、保持されている時系列データと最新の特定タイミングにおける姿勢データとに基づいて生成されるようにしてもよい。
【０１０１】
第２時系列データ生成部６６ｂは、本実施形態では例えば、姿勢データ記憶部６４に記憶されている姿勢データに基づいて、第２変換部６０ｂに入力される時系列データを生成する。ここでは例えば上述の、左手の向きの時系列を示す時系列データＤ５、左手の角速度の時系列を示す時系列データＤ６、及び、左手の速度の時系列を示す時系列データＤ７といった、３つの時系列データが生成される。このように第２時系列データ生成部６６ｂが生成する複数の時系列データに、体に含まれる部位（ここでは例えば左手）の向きを示す時系列データと当該部位（ここでは例えば左手）の角速度を示す時系列データとが含まれていてもよい。なお時系列データＤ５〜Ｄ７についても上述のように、保持されている時系列データと最新の特定タイミングにおける姿勢データとに基づいて生成されるようにしてもよい。
【０１０２】
第３時系列データ生成部６６ｃは、本実施形態では例えば、姿勢データ記憶部６４に記憶されている姿勢データに基づいて、第３変換部６０ｃに入力される時系列データを生成する。右手の向きについての時系列データ、右手の角速度についての時系列データ、及び、右手の速度についての時系列データが生成される。このように第３時系列データ生成部６６ｃが生成する複数の時系列データに、体に含まれる部位（ここでは例えば右手）の向きを示す時系列データと当該部位（ここでは例えば右手）の角速度を示す時系列データとが含まれていてもよい。なおこれらの時系列データについても上述のように、保持されている時系列データと最新の特定タイミングにおける姿勢データとに基づいて生成されるようにしてもよい。
【０１０３】
時系列データ入力部６８は、本実施形態では例えば、それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する。そして時系列データ入力部６８は、本実施形態では例えば、当該複数の時系列データを学習済の変換部６０に入力する。なお時系列データは、上述のような向き、角速度（向きの差分）、速度（位置の差分）を示すデータには限定されない。例えば時系列データが、位置を示すデータ、加速度（速度の差分）を示すデータ、角加速度（角速度の差分）を示すデータであっても構わない。また時系列データは、例えば、ある部位の別の部位に対する相対的な位置、姿勢、又は、動きを示すデータであってもよい。より具体的には例えば、時系列データが、手の向きと腕の向きとの差分（手の向きを基準とする腕の相対的な向き）を示すデータであってもよい。
【０１０４】
ここで第１時系列データ入力部６８ａは、本実施形態では例えば、第１時系列データ生成部６６ａが生成する時系列データを取得する。そして第１時系列データ入力部６８ａは、本実施形態では例えば、当該時系列データを第１変換部６０ａに入力する。また第２時系列データ入力部６８ｂは、本実施形態では例えば、第２時系列データ生成部６６ｂが生成する時系列データを取得する。そして第２時系列データ入力部６８ｂは、本実施形態では例えば、当該時系列データを第２変換部６０ｂに入力する。また第３時系列データ入力部６８ｃは、本実施形態では例えば、第３時系列データ生成部６６ｃが生成する時系列データを取得する。そして第３時系列データ入力部６８ｃは、本実施形態では例えば、当該時系列データを第３変換部６０ｃに入力する。
【０１０５】
出力取得部７０は、本実施形態では例えば、時系列データを変換部６０に入力した際の出力である、時系列データが位置、姿勢、又は、動きを示す体の部位よりも当該体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する。
【０１０６】
ここで第１出力取得部７０ａは、本実施形態では例えば、第１時系列データ生成部６６ａが生成する時系列データを第１変換部６０ａに入力した際の出力を取得する。
【０１０７】
例えば上述のように第１時系列データ生成部６６ａが生成する時系列データは、頭部の向き、左手の角速度、及び、右手の角速度を示すデータである。そしてスケルトンモデル４０において、頭部ノード４２ａと胸部ノード４２ｆとは１個のリンクを介して接続されている。またスケルトンモデル４０において、左手ノード４２ｂと胸部ノード４２ｆとは４個のリンクを介して接続されている。またスケルトンモデル４０において、右手ノード４２ｃと胸部ノード４２ｆとは４個のリンクを介して接続されている。そして胸部ノード４２ｆは、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃのいずれに対しても体の中心に近いノード４２である。そして本実施形態では例えば、第１時系列データ生成部６６ａが生成する時系列データが位置、姿勢、又は、動きを示す体の部位よりも当該体の中心に近い部位である胸部に相当する胸部ノード４２ｆの位置、姿勢、又は、動きの推定結果が取得されることとなる。なおここで向きの推定値（ピッチ角、ヨー角、ロール角の組合せ）や角速度の推定値などといった位置、姿勢、又は、動きの推定値が取得されてもよい。また位置、姿勢、又は、動きの推定値の算出の基礎となるスコア値が取得されてもよい。
【０１０８】
また第２出力取得部７０ｂは、本実施形態では例えば、第２時系列データ生成部６６ｂが生成する時系列データを第２変換部６０ｂに入力した際の出力を取得する。
【０１０９】
例えば上述のように第２時系列データ生成部６６ｂが生成する時系列データは、左手の向きを示すデータ、左手の角速度を示すデータ、左手の位置を示すデータ、又は、左手の速度を示すデータのうちの複数である。そしてスケルトンモデル４０において、左手ノード４２ｂと左手首ノード４２ｊとは１個のリンクを介して接続されている。そして左手首ノード４２ｊは、左手ノード４２ｂに対して体の中心に近いノード４２である。そして本実施形態では例えば、第２時系列データ生成部６６ｂが生成する時系列データが位置、姿勢、又は、動きを示す体の部位よりも当該体の中心に近い部位である左手の側の手首に相当する左手首ノード４２ｊの位置、姿勢、又は、動きの推定結果が取得されることとなる。なおここで向きの推定値（ピッチ角、ヨー角、ロール角の組合せ）や角速度の推定値などといった位置、姿勢、又は、動きの推定値が取得されてもよい。また位置、姿勢、又は、動きの推定値の算出の基礎となるスコア値が取得されてもよい。
【０１１０】
また第３出力取得部７０ｃは、本実施形態では例えば、第３時系列データ生成部６６ｃが生成する時系列データを第３変換部６０ｃに入力した際の出力を取得する。そしてこの場合、第３時系列データ生成部６６ｃが生成する時系列データが位置、姿勢、又は、動きを示す体の部位である右手よりも当該体の中心に近い部位である右手の側の手首に相当する右手首ノード４２ｍの位置、姿勢、又は、動きの推定結果が取得されることとなる。なおここで向きの推定値（ピッチ角、ヨー角、ロール角の組合せ）や角速度の推定値などといった位置、姿勢、又は、動きの推定値が取得されてもよい。また位置、姿勢、又は、動きの推定値の算出の基礎となるスコア値が取得されてもよい。
【０１１１】
なお変換部６０が出力して出力取得部７０が取得するデータは、上述のような向き又は角速度（向きの差分）を示すデータには限定されない。例えば変換部６０が、速度（位置の差分）を示すデータ、位置を示すデータ、加速度（速度の差分）を示すデータ、角加速度（角速度の差分）を示すデータを出力してもよい。また変換部６０は、ある部位の別の部位に対する相対的な位置、姿勢、又は、動きを示すデータを出力してもよい。であってもよい。より具体的には例えば、変換部６０が、手の向きと腕の向きとの差分（手の向きを基準とする腕の相対的な向き）を示すデータを出力してもよい。
【０１１２】
ボディトラッキング実行部７２は、本実施形態では例えば、出力取得部７０が取得する向きの推定結果、及び、姿勢データ取得部６２が取得する姿勢データに基づいて、ボディトラッキングの処理を実行する。ここでは例えば、スケルトンモデル４０に含まれる複数のノード４２のそれぞれについての位置及び向きが推定される。なおボディトラッキング実行部７２は、姿勢データ記憶部６４に記憶されている姿勢データに基づいてボディトラッキングの処理を実行してもよい。
【０１１３】
ここで例えば、トラッカー１２ａの位置及び向きを示す姿勢データに基づいて、頭部ノード４２ａの位置及び向きが決定されてもよい。また例えば、トラッカー１２ｂの位置及び向きを示す姿勢データに基づいて、左手ノード４２ｂの位置及び向きが決定されてもよい。また例えば、トラッカー１２ｃの位置及び向きを示す姿勢データに基づいて、右手ノード４２ｃの位置及び向きが決定されてもよい。また例えば、トラッカー１２ｄの位置及び向きを示す姿勢データに基づいて、左足ノード４２ｄの位置及び向きが決定されてもよい。また例えば、トラッカー１２ｅの位置及び向きを示す姿勢データに基づいて、右足ノード４２ｅの位置及び向きが決定されてもよい。
【０１１４】
またボディトラッキング実行部７２は、上述のように、決定又は推定されたノード４２の位置又は向きに基づいて、逆運動学によって、推定されていないノード４２の位置及び推定されていないノード４２の向きを推定してもよい。
【０１１５】
体に含まれる部位に相当するノード４２の向きは、当該ノード４２と１又は複数のリンクで接続されている、当該部位よりも体の中心から離れた他のノード４２の回転の時間的な動きのパターンを用いれば的確に推定できると考えられる。そこで本実施形態ではこのことに着目して上述のように、それぞれ体の部位の向き又は角速度を示す複数の時系列データを変換部６０に入力した際の出力に基づいて、当該部位よりも体の中心に近い当該体の別の部位の向きが推定されるようにした。
【０１１６】
ここで、本実施形態に係るエンタテインメント装置１４で行われる処理の流れの一例を、図７に例示するフロー図を参照しながら説明する。本処理例では、以下のＳ１０１〜Ｓ１１２に示す処理が所定のサンプリングレートで繰り返し実行される。
【０１１７】
まず、姿勢データ取得部６２が、トラッカー１２によって生成される最新の特定タイミングにおける当該トラッカー１２の位置及び向きを示す姿勢データを取得して、姿勢データ記憶部６４に記憶させる（Ｓ１０１）。ここでは例えば、姿勢データ取得部６２は、トラッカー１２ａ〜１２ｅのそれぞれについての、当該トラッカー１２の位置及び向きを示す姿勢データを取得する。
【０１１８】
そして第１時系列データ生成部６６ａが、姿勢データ記憶部６４に記憶されている姿勢データに基づいて、第１変換部６０ａに入力される時系列データを生成する（Ｓ１０２）。
【０１１９】
そして第２時系列データ生成部６６ｂが、姿勢データ記憶部６４に記憶されている姿勢データに基づいて、第２変換部６０ｂに入力される時系列データを生成する（Ｓ１０３）。
【０１２０】
そして第３時系列データ生成部６６ｃが、姿勢データ記憶部６４に記憶されている姿勢データに基づいて、第３変換部６０ｃに入力される時系列データを生成する（Ｓ１０４）。
【０１２１】
そして第１時系列データ入力部６８ａが、Ｓ１０２に示す処理で生成された時系列データを取得して、当該時系列データを第１変換部６０ａに入力する（Ｓ１０５）。
【０１２２】
そして第２時系列データ入力部６８ｂが、Ｓ１０３に示す処理で生成された時系列データを取得して、当該時系列データを第２変換部６０ｂに入力する（Ｓ１０６）。
【０１２３】
そして第３時系列データ入力部６８ｃが、Ｓ１０４に示す処理で生成された時系列データを取得して、当該時系列データを第３変換部６０ｃに入力する（Ｓ１０７）。
【０１２４】
そして第１出力取得部７０ａが、Ｓ１０５に示す処理での入力に応じた、第１変換部６０ａからの出力である、胸部ノード４２ｆの向きの推定結果を取得する（Ｓ１０８）。
【０１２５】
そして第２出力取得部７０ｂが、Ｓ１０６に示す処理での入力に応じた、第２変換部６０ｂからの出力である、左手首ノード４２ｊの向きの推定結果を取得する（Ｓ１０９）。
【０１２６】
そして第３出力取得部７０ｃが、Ｓ１０７に示す処理での入力に応じた、第３変換部６０ｃからの出力である、右手首ノード４２ｍの向きの推定結果を取得する（Ｓ１１０）。
【０１２７】
そしてボディトラッキング実行部７２が、本サイクルにおける頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、及び、右足ノード４２ｅのそれぞれについて、位置及び向きを決定する（Ｓ１１１）。ここで例えば、Ｓ１０１に示す処理で取得された姿勢データに基づいて、頭部ノード４２ａ、左手ノード４２ｂ、右手ノード４２ｃ、左足ノード４２ｄ、及び、右足ノード４２ｅのそれぞれについての位置及び向きが決定されてもよい。
【０１２８】
そしてボディトラッキング実行部７２が、逆運動学によって、スケルトンモデル４０に含まれるノード４２の位置及び向きのうちの、Ｓ１０８〜Ｓ１１１に示す処理で決定又は推定結果の取得が行われていない残りを、逆運動学によって推定する（Ｓ１１２）。
【０１２９】
以上のようにして１サイクルにおけるスケルトンモデル４０に含まれるすべてのノード４２についての位置及び向きの推定が実行される。そしてＳ１０１に示す処理に戻る。
【０１３０】
以上で説明した処理例に示す処理において、各ステップの実行順序は上述のものに限定されない。例えばＳ１０２〜Ｓ１０４に示す処理の実行順序、Ｓ１０５〜Ｓ１０７に示す処理の実行順序、Ｓ１０８〜Ｓ１１０に示す処理の実行順序は上述のものに限定されない。
【０１３１】
またＳ１０２に示す処理に続いて、Ｓ１０５、Ｓ１０８に示す処理が順次実行されてもよい。同様にＳ１０３に示す処理に続いて、Ｓ１０６、Ｓ１０９に示す処理が順次実行されてもよい。同様にＳ１０４に示す処理に続いて、Ｓ１０７、Ｓ１１０に示す処理が順次実行されてもよい。
【０１３２】
また上述の各ステップが並列処理で実行されてもよい。例えば、Ｓ１０２、Ｓ１０５、及び、Ｓ１０８に示す処理、Ｓ１０３、Ｓ１０６、及び、Ｓ１０９に示す処理、Ｓ１０４、Ｓ１０７、及び、Ｓ１１０に示す処理が、並列処理で実行されてもよい。
【０１３３】
なお上述のように、第１変換部６０ａが胸部ノード４２ｆではなく腰部ノード４２ｇの向きの推定に用いられる機械学習モデルであってもよい。この場合、第１出力取得部７０ａが、腰部ノード４２ｇの向きの推定結果を取得してもよい。
【０１３４】
なお、本発明は上述の実施形態に限定されるものではない。
【０１３５】
例えばトラッカー１２ａは、ヘッドマウントディスプレイ（ＨＭＤ）であってもよい。この場合に、ユーザに含まれる複数の部位の位置又は向きに応じたゲーム処理等の各種の処理の結果に応じた映像が例えばＨＭＤの表示部に表示されるようにしてもよい。
【０１３６】
また例えば、図６に示す機能の一部又は全部がトラッカー１２によって実装されてもよい。
【０１３７】
また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
【図１】
2019167214.tif 000003
【図２】
2019167214.tif 000004
【図３】
2019167214.tif 000005
【図４】
2019167214.tif 000006
【図５】
2019167214.tif 000007
【図６】
2019167214.tif 000008
【図７】
2019167214.tif 000009
【手続補正書】
【提出日】令和2年3月17日(2020.3.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する時系列データ取得部と、
前記複数の時系列データを変換部に入力する入力部と、
前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する出力取得部と、を含み、
前記複数の時系列データには、前記部位の速度についての時系列データ、又は、前記部位の角速度についての時系列データが含まれる、
ことを特徴とする推定装置。
【請求項２】
前記複数の時系列データは、互いに異なる前記部位についての時系列データである、
ことを特徴とする請求項１に記載の推定装置。
【請求項３】
前記入力部は、前記体に含まれる頭部の向きを示す第１時系列データと、前記体に含まれる左手の角速度を示す第２時系列データと、前記体に含まれる右手の角速度を示す第３時系列データと、を前記変換部に入力し、
前記出力取得部は、前記体に含まれる胸部若しくは腰部の向き、又は、前記体に含まれる胸部若しくは腰部の角速度の推定結果を取得する、
ことを特徴とする請求項２に記載の推定装置。
【請求項４】
前記複数の時系列データには、前記部位の向きを示す時系列データ、当該部位の角速度を示す時系列データ、当該部位の位置を示す時系列データ、又は、当該部位の速度を示す時系列データのうちの複数が含まれる、
ことを特徴とする請求項１に記載の体の部位の向き推定装置。
【請求項５】
前記入力部は、前記体に含まれる手の向きを示す第１時系列データと、当該手の角速度を示す第２時系列データと、当該手の位置又は速度を示す第３時系列データと、を前記変換部に入力し、
前記出力取得部は、前記体に含まれる前記手の側の手首の向き又は角速度の推定結果を取得する、
ことを特徴とする請求項４に記載の推定装置。
【請求項６】
前記変換部は、学習済の機械学習モデルである、
ことを特徴とする請求項１から５のいずれか一項に記載の推定装置。
【請求項７】
それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得するステップと、
前記複数の時系列データを変換部に入力するステップと、
前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得するステップと、を含み、
前記複数の時系列データには、前記部位の速度についての時系列データ、又は、前記部位の角速度についての時系列データが含まれる、
ことを特徴とする推定方法。
【請求項８】
それぞれ体の部位の位置、姿勢、又は、動きを示す複数の時系列データを取得する手順、
前記複数の時系列データを変換部に入力する手順、
前記時系列データを前記変換部に入力した際の出力である前記部位よりも前記体の中心に近い当該体の別の部位の位置、姿勢、又は、動きの推定結果を取得する手順、をコンピュータに実行させ、
前記複数の時系列データには、前記部位の速度についての時系列データ、又は、前記部位の角速度についての時系列データが含まれる、
ことを特徴とするプログラム。
【国際調査報告】
2019167214.tif 000010
2019167214.tif 000011
2019167214.tif 000012
2019167214.tif 000013