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