【文献】
河崎雷太 等,3点の6自由度トラッカによる両手把持道具を利用する人体運動アニメーション生成,情報処理学会論文誌,2004年,Vol.45,No.8,2078-2086
【文献】
Masaki Oshita,Multi-Touch Interface for Character Motion Control Using Example-Based Postyre Synthesis,20th International Conference on Computer Graphics,Visualization and Computer Vision 2012,2012年06月,213-222
【文献】
Huajun Liu ほか, Realtime Human Motion Control with A Small Number of Inertial Sensors,2011年,https://dl.acm.org/doi/pdf/10.1145/1944745.1944768,特に本文を参照。
【文献】
Hassan Ghasemzadeh ほか,Energy-Efficient Information-Driven Coverage for Physical Movement Monitoring in Body Sensor Networks,2008年,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4740886,特に本文を参照。
(58)【調査した分野】(Int.Cl.,DB名)
前記計算部は、前記動作モデルが示す動作パターンに従った、前記ひとつ以上のセンサ装置の位置情報の時系列変化に対応する前記対象物の他の部位の位置情報の時系列変化を推定する、請求項8に記載の情報処理装置。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
また、本明細書及び図面において、実質的に同一の機能構成を有する要素を、同一の符号の後に異なるアルファベットを付して区別する場合もある。例えば、実質的に同一の機能構成を有する複数の要素を、必要に応じてセンサ装置10A、10B及び10Cのように区別する。ただし、実質的に同一の機能構成を有する複数の要素の各々を特に区別する必要がない場合、同一符号のみを付する。例えば、センサ装置10A、10B及び10Cを特に区別する必要が無い場合には、単にセンサ装置10と称する。
【0013】
なお、説明は以下の順序で行うものとする。
1.第1の実施形態
1.1.システムの概要
1.2.センサ装置の構成例
1.3.情報処理装置の構成例
1.4.技術的特徴
1.5.処理の流れ
2.第2の実施形態
2.1.情報処理装置の構成例
2.2.技術的特徴
2.3.処理の流れ
3.ハードウェア構成例
4.まとめ
【0014】
<<1.第1の実施形態>>
本実施形態は、実物体の動作を可視化する形態である。
【0015】
<1.1.システムの概要>
図1は、本実施形態に係るシステム1の概要を説明するための図である。
図1に示すように、システム1は、センサ装着用装備20に取り付けられた複数のセンサ装置10(即ち、10A〜10C)を含む。
【0016】
センサ装置10は、各種データを測定する装置である。センサ装置10は、センサ装着用装備20が有するセンサ取付具21に取り付けられ、対象物の動きを対象とした測定を行う。対象物は、人間、犬、猫その他の生物であってもよいし、ロボット等の無生物であってもよい。
図1に示した例では、対象物はユーザ(即ち、人間)である。また、対象物は、生物により使用される物体であってもよい。例えば、対象物は、ゴルフクラブやテニスラケット、ボール、スキー板、スキーブーツ、ゴール、バット等の競技のために使用される道具であってもよい。また、対象物は、義手や車椅子等の生活のために使用される道具であってもよい。また、対象物は、首輪や馬蹄等の動物に使用される装具であってもよい。
【0017】
センサ装置10は、測定結果を示す情報(以下、センサ情報とも称する)を、情報処理装置30に送信する。この送信は、測定と並行してリアルタイムに行われてもよいし、記憶されて測定後の任意のタイミングで行われてもよい。
【0018】
センサ装着用装備20は、対象物にセンサ装置10を固定するための装備である。
図1に示すように、センサ装着用装備20は、センサ装置10を着脱可能に取り付けるための取り付け位置(センサ取付具21)をひとつ以上備え、その一部又は全部にセンサ装置10を取り付け可能である。センサ装着用装備20は、ユーザの体幹や手足等の一部又は全部を覆う形状であってもよく、その場合はユーザの動きを妨げないために伸縮可能な素材により形成されることが望ましい。また、取り付けられたセンサ装置10が対象物と離隔していてもよく、センサ装着用装備20は、例えばヘルメットやプロテクター等のような厚みを持っていてもよい。他にも、センサ装着用装備20は、ゴルフクラブやテニスラケット、スキー板等の物体に装着され、又は物体と一体的に形成されてもよい。ユーザは、測定したい部位に位置するセンサ取付具21に、センサ装置10を取り付けることができる。
【0019】
情報処理装置30は、センサ装置10からセンサ情報を取得して、対象物の動作を可視化するための各種処理を行う。
【0020】
<1.2.センサ装置の構成例>
図2は、本実施形態に係るセンサ装置10の構成の一例を示すブロック図である。
図2に示すように、本実施形態に係るセンサ装置10は、慣性センサ110、通信部120、記憶部130及び制御部140を含む。
【0021】
(1)慣性センサ110
慣性センサ110は、慣性を利用して測定を行う装置である。慣性センサ110は、加速度センサ、ジャイロセンサ、及び地磁気センサ等を含み、測定したセンサ情報(例えば、加速度及び角速度)を制御部140へ出力する。
【0022】
(2)通信部120
通信部120は、有線/無線により情報処理装置30との間でデータの送受信を行うための通信モジュールである。通信部120は、例えばLAN(Local Area Network)、無線LAN、Wi−Fi(登録商標)、Bluetooth(登録商標)又は赤外線通信等の任意の通信方式に準拠した通信を行い得る。通信部120は、慣性センサ110により測定されたセンサ情報を、情報処理装置30に送信する。
【0023】
(3)記憶部130
記憶部130は、センサ装置10の動作のためのプログラム及び様々なデータを一時的に又は恒久的に記憶する。例えば、記憶部130は、慣性センサ110により測定された情報を一時的に記憶する。
【0024】
(4)制御部140
制御部140は、CPU(Central Processing Unit)又はDSP(Digital Signal Processor)などに相当し、センサ装置10の様々な機能を提供するための処理を行う。センサ装置10は、制御部140による制御に基づき動作する。制御部140による制御に基づくセンサ装置10の動作については、後に詳しく説明する。
【0025】
<1.3.情報処理装置の構成例>
図3は、本実施形態に係る情報処理装置30の構成の一例を示すブロック図である。
図3に示すように、本実施形態に係る情報処理装置30は、通信部310、入力部320、出力部330、記憶部340及び制御部350を含む。
【0026】
(1)通信部310
通信部310は、有線/無線によりセンサ装置10との間でデータの送受信を行うための通信モジュールである。通信部310は、例えばLAN、無線LAN、Wi−Fi、Bluetooth又は赤外線通信等の任意の通信方式に準拠した通信を行い得る。通信部310は、センサ装置10からセンサ情報を受信する。
【0027】
(2)入力部320
入力部320は、情報の入力を受け付ける。例えば、入力部320は、ユーザからの情報の入力を受け付ける。入力部320は、入力された情報を制御部350に出力する。
【0028】
(3)出力部330
出力部330は、情報の出力を行う。例えば、出力部330は、画像、音声、及び/又は振動等により情報を出力する。出力部330は、制御部350による制御に基づいて情報を出力する。
【0029】
(4)記憶部340
記憶部340は、情報処理装置30の動作のためのプログラム及び様々なデータを一時的に又は恒久的に記憶する。例えば、記憶部340は、後述する動作モデルを記憶する。
【0030】
(5)制御部350
制御部350は、CPU又はDSPなどに相当し、情報処理装置30の様々な機能を提供するための処理を行う。制御部350は、
図3に開示された機能ユニットを実行可能に構成された少なくとも1つの電気回路としてみなされてよい。
図3に示すように、制御部350は、モデル学習部351、モデル取得部352、第1の位置情報計算部353、第2の位置情報計算部354及び出力制御部355を含む。なお、制御部350は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、制御部350は、これらの構成要素の動作以外の動作も行い得る。これらの構成要素の動作については、後に詳しく説明する。
【0031】
<1.4.技術的特徴>
(1)対象物
本実施形態では、対象物は実物体である。また、本実施形態における位置情報とは、実空間における三次元座標(即ち、X座標、Y座標及びZ座標)である。
【0032】
例えば、対象物は、ひとつ以上の動物体を含む。即ち、対象物は単数であってもよいし複数であってもよい。例えば人間及び人間に操作される物体(例えば、道具)が対象物になり得る。対象物の動作は、対象物の姿勢の時系列変化によって表現される。
【0033】
例えば、対象物は、複数の関節を有する動物体を含んでいてもよい。このような対象物としては、人間、及びロボット等が挙げられる。そして、対象物の動作は、動物体の複数の関節の位置情報の時系列変化を含んでいてもよい。即ち、情報処理装置30は、関節の位置関係が変化する複雑な動作を可視化することが可能である。
【0034】
本実施形態では、可視化される対象物は人間であるものとする。対象物である人間を、以下ではユーザとも称する。
【0035】
センサ装置10は、対象物の任意の部位に配置される。例えば、センサ装置10は、ユーザの関節に配置されてもよい。その場合、センサ取付具21は、ユーザの関節に配置される。センサ装置10が配置される部位、例えば、センサ装置10が取り付けられるセンサ取付具21の位置を、第1のポイントとも称する。他方、センサ装置10が配置されない部位、例えばセンサ装置10が取り付けられないセンサ取付具21の位置を、第2のポイントとも称する。
【0036】
情報処理装置30の操作者とユーザとは、同一人物であってもよいし、異なる人物であってもよい。以下では、一例として同一人物であるものとして説明する。
【0037】
(2)センサ情報に基づく位置情報の計算
情報処理装置30(例えば、第1の位置情報計算部353)は、対象物に配置されたひとつ以上のセンサ装置10により測定されたセンサ情報に基づいて、当該ひとつ以上のセンサ装置10の位置情報の時系列変化を特定する。より簡易には、情報処理装置30は、センサ情報に基づいて第1のポイントの位置情報を計算する。例えば、情報処理装置30は、慣性航法(INS:Inertial Navigation System)を用いて、センサ装置10から取得したセンサ情報から第1のポイントの位置情報を計算する。
【0038】
慣性航法は、角速度及び加速度を複数回積分することでセンサ位置を計算する技術であり、例えば船舶又は航空機等に採用される。慣性航法では、まず角速度を積分(1回目の積分)することで、センサ装置の姿勢(即ち、実空間における姿勢角度)が計算される。次いで、加速度を積分(2回目の積分)することで、センサ装置の速度(speed)が計算される。次に、速度を積分(3回目の積分)することで、センサ装置の移動距離が計算される。そして、移動距離と姿勢(即ち、移動方向)のベクトルを細分点ごとに合成していくことにより、初期位置を起点とした相対的な位置情報が計算される。初期位置が既知であれば、上記計算によりセンサ装置の絶対的な位置情報(即ち、実空間における三次元座標)を計算することができる。
【0039】
例えば、ユーザがアイアンと呼ばれるゴルフクラブをスイングする様子を測定する例を想定する。一例として、首、腰、右膝、右足、左膝、左足、手及びアイアンのクラブヘッドにセンサ装置10が取り付けられているものとする。この場合、情報処理装置30は、各センサ装置10の位置情報を計算することで、ユーザがアイアンをスイングする動作を可視化することが可能である。この可視化の例を、
図4を参照して説明する。
【0040】
図4は、本実施形態に係るユーザ動作の可視化処理の一例を示す図である。姿勢40A〜40Fは、アイアンをスイングするユーザの各タイミングにおける姿勢(即ち、各センサ装置10の位置情報)を示しており、姿勢40Aから姿勢40Fへ順に時間が流れる。姿勢40Aは、アイアンを構えたタイミングの姿勢を示している。姿勢40Bは、バックスイングのタイミングの姿勢を示している。姿勢40Cは、バックスイングがトップに到達したタイミングの姿勢を示している。姿勢40Dは、ダウンスィングのタイミングの姿勢を示している。姿勢40Eは、フォロースルーのタイミングの姿勢を示している。姿勢40Fは、フィニッシュのタイミングの姿勢を示している。各姿勢における各プロット41は、センサ装置10が取り付けられた位置を示している。プロット41Aは首に対応し、プロット41Bは腰に対応し、プロット41Cは右膝に対応し、プロット41Dは右足に対応し、プロット41Eは左膝に対応し、プロット41Fは左足に対応し、プロット41Gは手に対応し、プロット41Hはアイアンのクラブヘッドに対応する。
【0041】
情報処理装置30は、慣性航法以外にも任意のアルゴリズムを用いて第1のポイントの位置情報を計算し得る。例えば、情報処理装置30は、ユーザの一部の関節に設けられたマーカーの撮像画像を用いた光学式のモーションキャプチャー技術により、マーカーが付された関節の位置情報を計算してもよい。
【0042】
(3)動作モデル
動作モデルは、対象物に関連するモデル化物体の動作パターンを示す情報である。
【0043】
モデル化物体は、センサ装置10が取り付けられる物体である。対象物とモデル化物体とは同一であってもよいし、異なっていてもよい。例えば、ユーザと、モデル化物体としてモデリングされた人とは、同一人物であってもよいし、異なる人物であってもよい。
【0044】
動作モデルは、コンテキストに応じて異なり、コンテキストごとに記憶部340に記憶される。即ち、動作モデルは、第1のコンテキストに応じた第1の動作モデル及び第2のコンテキストに応じた第2の動作モデル等、コンテキストに応じた動作モデルを複数含み得る。動作モデルは、モデル化物体があるコンテキストにおいて動作する場合の、モデル化物体の各部位の位置情報の時系列変化を示す情報である。一例として、アイアンのスイング動作に関する動作モデルについて説明する。この場合、動作モデルは、例えば首、腰、右膝、右足、左膝、左足、手及びアイアンのクラブヘッドの各部位の位置情報の時系列変化を示す情報を含む。ここで、動作モデルに含まれる位置情報に対応する各部位は、センサ装置10が配置される部位(即ち、センサ取付具21が配置される位置)に対応する。
【0045】
コンテキストは多様に考えられる。例えば、コンテキストは、モデル化物体の種別、モデル化物体が行う動作の種別、モデル化物体の属性情報及び状態を示す情報を含み得る。具体的には、例えば、モデル化物体が人である場合、コンテキストは、歩行、走行、ゴルフ及びテニス等の動作の種別、性別、年齢、身長及び体重等の属性情報、並びに健康状態及び動作のくせ等を示す情報等を含み得る。
【0046】
例えば、動作モデルは、回帰モデルとして表現され得る。また、動作モデルは、多次元の情報を次元圧縮された形式で表現されてもよい。
【0047】
また、情報処理装置30(モデル学習部351)は、動作モデルを学習してもよい。例えば、アイアンのスイング動作に関しては、情報処理装置30は、全てのセンサ取付具21及びアイアンのクラブヘッドにセンサ装置10を取り付けた状態でユーザがスイング動作を行った場合の、センサ情報に基づく位置情報の計算に基づいて動作モデルを生成する。
【0048】
(4)動作モデルの選択
情報処理装置30(例えば、モデル取得部352)は、対象物に関する少なくとも1つの動作モデルを取得する。詳しくは、情報処理装置30は、記憶部340に記憶された動作モデルの中から、対象物のコンテキストに対応する動作モデルを取得する。例えば、アイアンのスイング動作に関しては、情報処理装置30は、モデル化物体が人であり、動作の種別がゴルフである動作モデルを取得する。
【0049】
例えば、情報処理装置30は、ユーザ操作に基づいて動作モデルを取得してもよい。例えば、ユーザのコンテキストがユーザ自身により情報処理装置30に入力され、入力されたコンテキストに応じた動作モデルが選択される。この場合、ユーザに指定されたコンテキストに対応する動作モデルを、正しく参照することが可能となる。なお、ユーザ操作とは、意図的に行われた操作(例えば、手動操作)と無意識に行われた操作(例えば、動作の画像認識)との双方が含まれる。
【0050】
例えば、情報処理装置30は、対象物の動作のうち特定された一部の動作に対応する動作モデルを取得してもよい。そのために、まず、情報処理装置30は、ユーザに配置されたセンサ装置10により測定されたセンサ情報により特定されたユーザの一部の動作に基づいてコンテキストを認識する。即ち、情報処理装置30は、計算された第1のポイントの位置情報の時系列変化に基づいてユーザのコンテキストを認識する。次いで、情報処理装置30は、認識したコンテキストに応じた動作モデルを記憶部340から自動的に取得する。例えば、情報処理装置30は、認識したコンテキストに応じて、第1の動作モデル及び第2の動作モデルのうち一方を自動的に取得する。この場合、情報処理装置30は、コンテテキスト入力の負担を軽減することが可能となる。
【0051】
なお、情報処理装置30は、第1の動作モデル及び第2の動作モデルの各々を、異なるタイミングで取得してもよい。その場合、情報処理装置30は、ユーザのコンテキストの変化に応じて、参照する動作モデルを変化させることが可能である。また、情報処理装置30は、第1の動作モデル及び第2の動作モデルを、同時に取得してもよい。その場合、情報処理装置30は、複数の動作モデルを組み合わせて対象物の動作を計算することが可能となる。
【0052】
(5)動作モデルに基づく位置情報の計算
情報処理装置30(例えば、第2の位置情報計算部354)は、取得された動作モデルを参照して、対象物の動作のうち特定された一部の動作を含む全体の動作を計算する。情報処理装置30は、対象物の動作の一部のみが特定される場合であっても全体の動作を計算可能であるので、対象物の動作をより少ない情報から可視化することが可能である。なお、第1のポイントが増加するほど、可視化の精度は向上する。
【0053】
より詳しくは、情報処理装置30は、動作モデルが示す動作パターンに従った、ひとつ以上のセンサ装置の位置情報の時系列変化に対応する対象物の他の部位の位置情報の時系列変化を計算する。即ち、情報処理装置30は、動作モデルが示す動作パターンに従った、第1のポイントの位置情報の時系列変化に対応する第2のポイントの位置情報の時系列変化を計算する。これにより、情報処理装置30は、第1のポイントの位置情報及び第2のポイントの位置情報の時系列変化から成る、ユーザの全体の動作を計算することが可能となる。なお、第2のポイントの位置情報を計算することを、以下では予測するとも称する。
【0054】
例えば、情報処理装置30は、動作モデルを参照して、ユーザの動作のうち特定された一部の動作に基づいて全体の動作を計算してもよい。対象物は複数物体であってもよく、情報処理装置30は、動作モデルを参照して、特定されたユーザの一部又は全部の動作に基づいて、ユーザに操作される物体の動作を計算してもよい。例えば、情報処理装置30は、ゴルフクラブのスイング動作に関する動作モデルを参照して、特定されたユーザのスイング動作に基づいてユーザによりスイングされるゴルフクラブの動作を計算する。これにより、ゴルフクラブにセンサ装置10が取り付けられていなくても、ゴルフクラブの軌道を計算することが可能となる。
【0055】
以下では、
図4に示した例と同様に、ユーザがアイアンをスイングする様子を測定する例を想定する。ただし、
図4に示した例とは異なり、右膝と手にのみセンサ装置10が取り付けられているものとする。この可視化の例を、
図5及び
図6を参照して説明する。
【0056】
図5は、本実施形態に係るユーザ動作の可視化処理の一例を示す図である。まず、情報処理装置30(例えば、第1の位置情報計算部353)は、センサ装置10が取り付けられた第1のポイント(即ち、右膝及び手)の位置情報を計算する。姿勢42は、バックスイングのタイミングにおける、測定されたユーザの姿勢の一部を示しており、プロット43Cは右膝に対応し、プロット43Gは手に対応する。次いで、情報処理装置30(例えば、モデル取得部352)は、ユーザのコンテキストに対応する動作モデルとして、歩行の動作モデル44A、ゴルフの動作モデル44B及びテニスの動作モデル44Cの中から、ゴルフの動作モデル44Bを選択する。そして、情報処理装置30(例えば、第2の位置情報計算部354)は、ゴルフの動作モデル44Bを参照して、第1のポイントの位置情報から、第2のポイント(即ち、首、腰、右足、左膝、左足及びアイアンのクラブヘッド)の位置情報を予測する。姿勢45は、バックスイングのタイミングにおける測定されたユーザの姿勢の一部に、その他の姿勢の予測結果を加えたものを示している。プロット43Aは首であり、プロット43Bは腰であり、プロット43Dは右足であり、プロット43Eは左膝であり、プロット43Fは左足であり、プロット43Hはアイアンのクラブヘッドである。
【0057】
情報処理装置30は、上述した予測処理をスイングの各タイミングにおいて行うことで、
図6に示すように、ユーザがアイアンをスイングする動作全体を可視化することが可能である。
【0058】
図6は、本実施形態に係るユーザ動作の可視化処理の一例を示す図である。姿勢46A〜46Fは、スイング動作を行うユーザの各タイミングにおける、センサ装置10の位置(プロット43C及び43G)、及びその他の部位の位置の予測結果(プロット43A、43B、43D、43E、43F、及び43H)を示している。姿勢46Aから姿勢46Fへ順に時間が流れ、姿勢46Aから姿勢46Fまでの各タイミングは、
図4における姿勢40Aから姿勢40Fまでの各タイミングと同様である。また、
図5に示した姿勢45は、
図6における姿勢46Bに相当する。
【0059】
このように、情報処理装置30は、センサ装置10の位置情報からセンサ装置10が取り付けられていない部位の位置情報を予測して、ユーザのスイング動作全体を可視化することが可能である。
【0060】
ここで、センサ装置10は、予め定められた複数の関節のうち、コンテキストに応じた関節に配置されることが望ましい。コンテキストによって、予測精度を担保可能な配置位置が異なり得るためである。より詳しくは、後述するように、各コンテキストにおける主成分結果が示す因子負荷量が多い因子に対応する関節に配置されることが望ましい。例えば、センサ装置10は、コンテキストがゴルフクラブのスイング動作である場合、手及び膝(右利きの場合は右膝)の2カ所に配置されることが望ましい。これにより、スイング動作をより少ない数のセンサ装置10で予測することが可能となる。
【0061】
(6)予測アルゴリズム
第2のポイントの位置情報の予測アルゴリズムは、多様に考えられる。
【0062】
・線形回帰
例えば、情報処理装置30(例えば、第2の位置情報計算部354)は、線形回帰モデルを用いて、第1のポイントの位置情報を入力として、第2のポイントの位置情報を予測してもよい。この場合、動作モデルは、線形回帰モデルである。
【0063】
図7は、本実施形態に係る予測アルゴリズムの一例を説明するための図である。
図7では、右膝及び手の位置情報を回帰モデルに入力した場合に得られる、アイアン、左膝、左足、右足、首、及び腰の位置情報の時系列変化が表されている。
図7に示した各グラフの横軸は時間であり、縦軸はX座標、Y座標又はZ座標である。また、各グラフにおける破線は学習時の位置情報の時系列変化を示し、実線は予測時の位置情報の時系列変化を示している。
【0064】
なお、線形回帰モデルが確率モデルとして構築される場合、情報処理装置30は、ベイズ推定により第2のポイントの位置情報を予測してもよい。線形回帰の手法は、ベイズ推定に限定されず、種々のモデルが用いられ得る。
【0065】
・次元圧縮
例えば、情報処理装置30(例えば、第2の位置情報計算部354)は、次元圧縮された動作モデルを用いて、第2のポイントの位置情報を予測してもよい。
【0066】
例えば、上記説明したアイアンのスイング動作は、首、腰、右膝、右足、左膝、左足、手及びアイアンのクラブヘッドの8部位ごとのX座標、Y座標及びZ座標の3つの情報、即ち計24次元の情報により表現される。次元圧縮された動作モデルは、この24次元の情報を、24未満の次元数の情報として表現する。次元圧縮には、例えば主成分分析(PCA:Principal Component Analysis)が用いられ得る。
【0067】
人の姿勢には強い高速条件があるため、多自由度の姿勢パラメータ(即ち、各関節の位置情報)により表現される多次元の空間を、より低次元の空間で表現可能なことが一般的に知られている。低次元の空間で人の姿勢を扱うことは、骨格モデルを潜在的に考慮していることに等しいと言える。
【0068】
以下、
図8を参照して、次元圧縮された動作モデルの一例を説明する。
【0069】
図8は、本実施形態に係る次元圧縮された動作モデルの一例を示す図である。
図8では、アイアンのクラブヘッド以外の7部位に関する21次元の情報を、第1主成分(PC1)、第2主成分(PC2)及び第3主成分(PC3)の3次元に圧縮した動作モデルの一例が示されている。アイアンのクラブヘッドを除外したのは、予測精度の向上のためである。次元圧縮された動作モデルの空間における各プロットは、人のゴルフスイング時の各タイミングにおける姿勢に対応する。例えば、プロット50A〜50Fは、それぞれ姿勢51A〜51Fに対応する。
【0070】
続いて、
図9を参照して、次元圧縮された動作モデルを用いた予測アルゴリズムを説明する。
【0071】
図9は、本実施形態に係る予測アルゴリズムの一例を説明するための図である。
図9に示すように、情報処理装置30は、第1のポイント(右膝及び手)の位置情報を計算する。次いで、情報処理装置30は、第1のポイントの位置情報を再現する圧縮空間上の点を最急降下法により探索し(符号52)、探索した1点からPCA逆写像により第1のポイント及び第2のポイントの位置情報を計算する(符号53)。情報処理装置30は、探索前後の第1のポイントの位置情報の差分が閾値を下回るまで、これらの計算を繰り返し行う(符号54)。その後、情報処理装置30は、第1のポイント及び第2のポイントの位置情報に基づいて、アイアンのクラブヘッドの位置情報を線形回帰により予測する(符号55)。
【0072】
情報処理装置30は、上述した予測処理をスイングの各タイミングにおいて行うことで、
図6に示したような、ユーザがアイアンをスイングする動作全体を可視化することが可能である。
【0073】
なお、情報処理装置30は、PCAの代わりの次元圧縮法として、例えばGPLVM(Gaussian Process Latent Variable Models)を用いてもよい。GPLVMは、非線形の圧縮手法であり、学習及び予測のコストはPCAよりも高いが、より複雑な動作を予測することに適している。
【0074】
(7)情報出力
情報処理装置30(例えば、出力制御部355)は、計算された対象物の全体の動作を示す出力情報を出力する。この情報出力は、ユーザの動作と並行してリアルタイムに行われてもよいし、測定後の任意のタイミングで行われてもよい。
【0075】
例えば、出力情報は、対象物に対応する仮想物体が対象物の全体の動作に対応する動作を行う画像(動画像又は静止画像)であってもよい。例えば、出力情報は、
図6に示したような、ユーザの各ポイントの位置情報の時系列変化を示す画像であってもよい。他にも、出力情報は、ユーザに対応するアバターが、ユーザの動作に対応する動作を行う画像であってもよい。この場合のUI(User Interface)例を、
図10を参照して説明する。
【0076】
図10は、本実施形態に係るUIの一例を説明するための図である。
図10に示すように、ユーザは、センサ装置10A及び10Bを含むゲーム用のコントローラ60を持ち、VR(Virtual Reality)機器61を装着している。ユーザは、コントローラ60の位置又は姿勢を変化させることで、VR機器61に表示されるアバターを操作する。具体的には、センサ装置10A及び10Bの位置情報の計算結果に基づいてユーザの姿勢全体が計算され、全体の姿勢の計算結果が、アバターの動きに反映される。例えば、
図10に示すように、ユーザがコントローラ60を頭上に掲げてから振り下ろすと、VR機器61には、アバターが剣を頭上に掲げた画像62A及び剣を振り下ろす画像62Bが表示される。ここで、ユーザの足にはセンサ装置10が配置されていないのにも関わらず、上記予測処理により、足の動きをアバターで再現することが可能である。
【0077】
他にも、出力情報は、センサ装置10の取り付け位置に関する指示であってもよい。例えば、情報処理装置30は、PCAの分析結果に基づいて、最適なセンサ装置10の取り付け位置を指示する情報を出力してもよい。下記の表1に、アイアンのスイング動作における各主成分の寄与率及び因子負荷量の一例を示す。
【0079】
上記表1に示すように、第1主成分の寄与率は65.8%であり、第1主成分と第2主成分の累積寄与率は94%であり、第1〜第3主成分の累積寄与率は99%である。また、上記表1では、各主成分の因子負荷量が多い順に因子が列挙されている。第1〜第3主成分における因子負荷量の和が多い因子に対応する部位にセンサ装置10が取り付けられると、スイング動作をより少ない数のセンサ装置10で予測することが可能となる。例えば、上記表1によれば、センサ装置10が2つである場合、手と右膝にセンサ装置10が取り付けられることが望ましい。そこで、情報処理装置30は、スイング動作を行うユーザに対して、手と右膝にセンサ装置10を取り付けることを指示する情報を出力する。
【0080】
<1.5.処理の流れ>
続いて、
図11を参照して、本実施形態に係る情報処理装置30において実行される動作可視化処理の流れの一例を説明する。
図11は、本実施形態に係る情報処理装置30において実行される動作可視化処理の流れの一例を示すフローチャートである。
【0081】
図11に示すように、まず、情報処理装置30は、コンテキストに対応する動作モデルを取得する(ステップS102)。例えば、情報処理装置30は、ユーザ操作に基づいて、又は対象物の動作のうち特定された一部の動作に対応する、動作モデルを取得する。次いで、情報処理装置30は、センサ装置10により測定され送信されたセンサ情報を取得する(ステップS104)。次いで、情報処理装置30は、センサ情報に基づいて第1のポイントの位置情報を計算する(ステップS106)。そして、情報処理装置30は、第1のポイントの位置情報及び動作モデルに基づいて、第2のポイントの位置情報を計算する(ステップS108)。次に、情報処理装置30は、出力情報を生成する(ステップS110)。例えば、情報処理装置30は、第1のポイントの位置情報及び第2のポイントの位置情報に基づいて画像を生成したり、PCAの分析結果に基づいて最適なセンサ装置10の取り付け位置を指示する情報を生成したりする。次いで、情報処理装置30は、生成した出力情報を出力する(ステップS112)。
【0083】
<<2.第2の実施形態>>
本実施形態は、仮想物体の動作を可視化する形態である。
【0084】
本実施形態に係るシステム1は、情報処理装置30を含む。以下、
図12を参照して、本実施形態に係る情報処理装置30の構成例を説明する。
【0085】
<2.1.情報処理装置の構成例>
図12は、本実施形態に係る情報処理装置30の構成の一例を示すブロック図である。
図12に示すように、本実施形態に係る情報処理装置30は、入力部320、出力部330、記憶部340及び制御部350を含む。なお、入力部320、出力部330、及び記憶部340の機能は、第1の実施形態と同様であるため、ここでの説明は省略する。
【0086】
制御部350は、CPU又はDSPなどに相当し、情報処理装置30の様々な機能を提供するための処理を行う。制御部350は、
図12に開示された機能ユニットを実行可能に構成された少なくとも1つの電気回路としてみなされてよい。
図12に示すように、制御部350は、モデル取得部352、第1の位置情報計算部353、第2の位置情報計算部354、キーフレーム登録部356及び補完部357を含む。なお、制御部350は、これらの構成要素以外の他の構成要素をさらに含み得る。即ち、制御部350は、これらの構成要素の動作以外の動作も行い得る。これらの構成要素の動作については、後に詳しく説明する。
【0087】
<2.2.技術的特徴>
(1)対象物
本実施形態では、対象物は仮想物体である。また、本実施形態における位置情報とは、仮想空間における三次元座標である。
【0088】
例えば、対象物は、ひとつ以上の仮想的な動物体を含んでいてよい。
【0089】
例えば、対象物は、複数の関節を有する仮想的な動物体を含んでいてもよい。そして、対象物の動作は、仮想的な動物体の複数の関節の位置情報の時系列変化を含んでいてもよい。
【0090】
本実施形態では、可視化される対象物は仮想的な人間のアバターであるものとする。
【0091】
情報処理装置30の操作者を、以下ではユーザとも称する。
【0092】
本実施形態では、仮想物体の各部位のうちユーザ操作がされた部位を第1のポイントとも称する。また、仮想物体の各部位のうち、ユーザ操作がされない部位を第2のポイントとも称する。
【0093】
(2)ユーザ操作に基づく位置情報の計算
情報処理装置30(例えば、第1の位置情報計算部353)は、仮想物体へのユーザの操作情報に基づいて、仮想物体の一部の動作を特定する。具体的には、情報処理装置30は、仮想物体の一部分の動作を指示するユーザ操作を示す操作情報に基づいて第1のポイントの位置情報を計算する。例えば、情報処理装置30は、アバターのひとつの関節をドラッグで移動させる操作を受け付けて、ドラッグ量及びドラッグ方向に基づいて移動後の当該関節の位置情報を計算する。
【0094】
(3)動作モデルに基づく位置情報の計算
情報処理装置30(例えば、第2の位置情報計算部354)は、動作モデルが示す動作パターンに従った、ひとつ以上の操作対象の部位の位置情報の時系列変化に対応する対象物の他の部位の位置情報の時系列変化を計算する。即ち、情報処理装置30は、動作モデルが示す動作パターンに従った、第1のポイントの位置情報の時系列変化に対応する第2のポイントの位置情報の時系列変化を計算する。これにより、情報処理装置30は、第1のポイントの位置情報及び第2のポイントの位置情報の時系列変化から成る、アバターの全体の動作を計算することが可能となる。
【0095】
なお、動作モデル、動作モデルの選択及び予測アルゴリズムに関する技術的特徴は、対象物が仮想物体であること、及びセンサ情報に基づく位置情報の計算が操作情報に基づく位置情報の計算になること以外、第1の実施形態と同様である。
【0096】
(4)情報出力
・UI例
典型的には、本実施形態に係る情報処理装置30は、3Dアニメーションの制作支援のために利用される。3Dアニメーションの制作支援のためのUIの一例を、
図13を参照して説明する。
【0097】
図13は、本実施形態に係るUIの一例を示す図である。
図13に示すように、制作画面70Aには、アバター71が表示されている。ユーザは、制作画面70Aにおいて、アバター71の右手72をポインタ73により選択してドラッグする。すると、制作画面70Bのように、ドラッグされた右手72(即ち、第1のポイント)だけでなく、右手72の動きに応じて左手及び両足等(即ち、第2のポイント)が動く。このように、ユーザは、アバター71の全身の動きを各部位ごとの細かく指定せずとも、一部の部位の動きを指定するだけで、アバター71に自然な動作を行わせることが可能である。従って、3Dアニメーションの制作負荷を軽減することが可能である。
【0098】
・アニメーションの生成
情報処理装置30は、例えばキーフレーム法を用いてアニメーションを生成する。キーフレーム法は、数フレームおきにキーフレームを配置し、キーフレーム間を補完することで動画を生成する技術である。
【0099】
例えば、情報処理装置30(例えば、キーフレーム登録部356)は、アニメーションのキーフレームを登録する。例えば、情報処理装置30は、
図13に示したような制作画面においてユーザ操作されたアバター71の姿勢を、キーフレームとして登録する。
【0100】
次いで、情報処理装置30(例えば、補完部357)は、キーフレーム間を補完することで、アニメーションを生成する。
【0101】
<2.3.処理の流れ>
続いて、
図14を参照して、本実施形態に係る情報処理装置30において実行される動作可視化処理の流れの一例を説明する。
図14は、本実施形態に係る情報処理装置30において実行される動作可視化処理の流れの一例を示すフローチャートである。
【0102】
図14に示すように、まず、情報処理装置30は、コンテキストに対応する動作モデルを取得する(ステップS202)。例えば、情報処理装置30は、ユーザ操作に基づいて動作モデルを取得する。次いで、情報処理装置30は、仮想物体の一部分の動作を指示するユーザ操作を示す操作情報を取得する(ステップS204)。次に、情報処理装置30は、操作情報に基づいて第1のポイントの位置情報を計算する(ステップS206)。そして、情報処理装置30は、第1のポイントの位置情報及び動作モデルに基づいて、第2のポイントの位置情報を計算する(ステップS208)。次に、情報処理装置30は、アニメーションを生成する(ステップS210)。例えば、情報処理装置30は、キーフレーム群を登録し、キーフレーム間を補完することで、アニメーションを生成する。次いで、情報処理装置30は、生成したアニメーションを出力する(ステップS212)。
【0104】
<<3.ハードウェア構成例>>
最後に、
図15を参照して、上記各実施形態に係る情報処理装置のハードウェア構成について説明する。
図15は、上記各実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。なお、
図15に示す情報処理装置900は、例えば、
図3又は
図12にそれぞれ示した情報処理装置30を実現し得る。上記各実施形態に係る情報処理装置30による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【0105】
図15に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903及びホストバス904aを備える。また、情報処理装置900は、ブリッジ904、外部バス904b、インタフェース905、入力装置906、出力装置907、ストレージ装置908、ドライブ909、接続ポート911及び通信装置913を備える。情報処理装置900は、CPU901に代えて、又はこれとともに、DSP若しくはASIC等の処理回路を有してもよい。
【0106】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。CPU901は、例えば、
図3又は
図12に示す制御部350を形成し得る。
【0107】
CPU901、ROM902及びRAM903は、CPUバスなどを含むホストバス904aにより相互に接続されている。ホストバス904aは、ブリッジ904を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス904bに接続されている。なお、必ずしもホストバス904a、ブリッジ904および外部バス904bを分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0108】
入力装置906は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置906は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器であってもよい。さらに、入力装置906は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などを含んでいてもよい。情報処理装置900のユーザは、この入力装置906を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。入力装置906は、例えば、
図3又は
図12に示す入力部320を形成し得る。
【0109】
他にも、入力装置906は、ユーザに関する情報を検知する装置により形成され得る。例えば、入力装置906は、画像センサ(例えば、カメラ)、深度センサ(例えば、ステレオカメラ)、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサ、測距センサ、力センサ等の各種のセンサを含み得る。また、入力装置906は、情報処理装置900の姿勢、移動速度等、情報処理装置900自身の状態に関する情報や、情報処理装置900の周辺の明るさや騒音等、情報処理装置900の周辺環境に関する情報を取得してもよい。また、入力装置906は、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して装置の緯度、経度及び高度を含む位置情報を測定するGNSSモジュールを含んでもよい。また、位置情報に関しては、入力装置906は、Wi−Fi(登録商標)、携帯電話・PHS・スマートフォン等との送受信、または近距離通信等により位置を検知するものであってもよい。
【0110】
出力装置907は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置、レーザープロジェクタ、LEDプロジェクタ及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置907は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。上記表示装置及び上記音声出力装置は、例えば、
図3又は
図12に示す出力部330を形成し得る。
【0111】
ストレージ装置908は、情報処理装置900の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置908は、例えば、HDD等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置908は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置908は、CPU901が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置908は、例えば、
図3又は
図12に示す記憶部340を形成し得る。
【0112】
ドライブ909は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ909は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ909は、リムーバブル記憶媒体に情報を書き込むこともできる。
【0113】
接続ポート911は、外部機器と接続されるインタフェースであって、例えばUSB(Universal Serial Bus)などによりデータ伝送可能な外部機器との接続口である。
【0114】
通信装置913は、例えば、ネットワーク920に接続するための通信デバイス等で形成された通信インタフェースである。通信装置913は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置913は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置913は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。通信装置913は、例えば、
図3に示す通信部310を形成し得る。
【0115】
なお、ネットワーク920は、ネットワーク920に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク920は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク920は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
【0116】
以上、上記各実施形態に係る情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、上記各実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0117】
なお、上述のような上記各実施形態に係る情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【0118】
<<4.まとめ>>
以上、
図1〜
図15を参照して、本開示の一実施形態について詳細に説明した。上記説明したように、本実施形態に係る情報処理装置30は、対象物に関する動作パターンを示す動作モデルを取得し、取得した動作モデルを参照して、対象物の動作のうち特定された一部の動作から全体の動作を計算する。これにより、第1の実施形態においては、対象物の一部の部位に取り付けられたセンサ装置10から得られたセンサ情報により、対象物の全体の部位の動作を予測することが可能となる。また、第2の実施形態においては、対象物の一部の部位を動作させるユーザ操作により、対象物の全体の部位を動作させたアニメーションを生成することが可能となる。このように、情報処理装置30は、対象物の動作をより少ない情報から可視化することが可能である。なお、対象物としてユーザの腕、足、上半身、下半身といった特定区分のみを特定して動作情報が出力されても良い。すなわち、本明細書において、「対象物」とは、物理的あるいは仮想的に独立した対象物に限られない。
【0119】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0120】
例えば、本開示の第1の実施形態および第2の実施形態は適宜組み合わせることが可能である。例えば、各タイミングにおけるユーザの動作に基づいてキーフレームが登録され、キーフレーム間が補完されてユーザ動作を示すアニメーションが生成されてもよい。
【0121】
例えば、本明細書において説明した各装置は、単独の装置として実現されてもよく、一部または全部が別々の装置として実現されても良い。例えば、
図3又は
図12に示した情報処理装置30の機能構成例のうち、記憶部340及び/又は制御部350が、入力部320及び出力部330とネットワーク等で接続されたサーバ等の装置に備えられていても良い。また、センサ装置10と情報処理装置30とが一体的に形成されてもよい。
【0122】
また、本明細書においてフローチャート及びシーケンス図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
【0123】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0124】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
対象物に関する動作パターンを示す動作モデルを取得する取得部と、
前記取得部により取得された前記動作モデルを参照して、前記対象物の動作のうち特定された一部の動作を含む全体の動作を計算する計算部と、
前記計算部により計算された前記対象物の全体の動作を示す出力情報を出力する出力制御部と、
を備える情報処理装置。
(2)
前記取得部は、前記対象物のコンテキストに対応する前記動作モデルを取得する、前記(1)に記載の情報処理装置。
(3)
前記取得部は、ユーザ操作に基づいて前記動作モデルを取得する、前記(2)に記載の情報処理装置。
(4)
前記取得部は、前記対象物の動作のうち特定された一部の動作に対応する前記動作モデルを取得する、前記(2)に記載の情報処理装置。
(5)
前記対象物は、ユーザを含み、
前記動作モデルは、第1の動作モデル及び第2の動作モデルを含み、
前記取得部は、前記ユーザに配置されたセンサ装置により測定されたセンサ情報により特定された前記ユーザの一部の動作に基づいて前記コンテキストを認識し、認識した前記コンテキストに応じて前記第1の動作モデル及び前記第2の動作モデルのうち一方を自動的に取得する、前記(3)又は(4)に記載の情報処理装置。
(6)
前記出力情報は、前記対象物に対応する仮想物体が前記対象物の全体の動作に対応する動作を行う画像を含む、前記(1)〜(5)のいずれか一項に記載の情報処理装置。
(7)
前記対象物は、ユーザを含み、
前記出力情報は、前記ユーザに装着されたVR(Virtual Reality)機器により表示される、前記(6)に記載の情報処理装置。
(8)
前記対象物は、実物体であり、
前記計算部は、前記対象物に配置されたセンサ装置により測定されたセンサ情報に基づいて、前記センサ装置の位置情報の時系列変化を特定する、前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(9)
前記計算部は、前記動作モデルが示す前記動作パターンに従った、前記ひとつ以上のセンサ装置の位置情報の時系列変化に対応する前記対象物の他の部位の位置情報の時系列変化を計算する、前記(8)に記載の情報処理装置。
(10)
前記センサ装置は、予め定められた複数の関節のうちコンテキストに応じた関節に配置される、前記(8)又は(9)に記載の情報処理装置。
(11)
前記センサ装置は、前記コンテキストがゴルフクラブのスイング動作の場合、手及び膝の2カ所に配置される、前記(10)に記載の情報処理装置。
(12)
前記センサ装置は、慣性センサを含む、前記(8)〜(11)のいずれか一項に記載の情報処理装置。
(13)
前記センサ装置は、前記対象物に前記センサ装置を固定するためのセンサ取付具に着脱可能に取り付けられる、前記(8)〜(12)のいずれか一項に記載の情報処理装置。
(14)
前記対象物は、ユーザ及び前記ユーザに操作される物体を含む、前記(1)に記載の情報処理装置。
(15)
前記計算部は、前記動作モデルを参照して、特定されたユーザの動作に基づいて前記ユーザに操作される物体の動作を計算する、前記(14)に記載の情報処理装置。
(16)
前記計算部は、ゴルフクラブのスイング動作に関する前記動作モデルを参照して、特定されたユーザのスイング動作に基づいて前記ユーザによりスイングされるゴルフクラブの動作を計算する、前記(15)に記載の情報処理装置。
(17)
前記対象物は、仮想物体であり、
前記計算部は、前記仮想物体へのユーザの操作情報に基づいて、前記仮想物体の一部の動作を特定する、前記(1)〜(7)のいずれか一項に記載の情報処理装置。
(18)
前記対象物は、複数の関節を有する動物体を含み、
前記対象物の動作は、前記動物体の前記複数の関節の位置情報の時系列変化を含む、前記(1)〜(17)のいずれか一項に記載の情報処理装置。
(19)
対象物に関する動作パターンを示す動作モデルを取得することと、
取得された前記動作モデルを参照して、前記対象物の動作のうち特定された一部の動作を含む全体の動作をプロセッサにより計算することと、
計算された前記対象物の全体の動作を示す出力情報を出力することと、
を含む情報処理方法。
(20)
コンピュータを、
対象物に関する動作パターンを示す動作モデルを取得する取得部と、
前記取得部により取得された前記動作モデルを参照して、前記対象物の動作のうち特定された一部の動作を含む全体の動作を計算する計算部と、
前記計算部により計算された前記対象物の全体の動作を示す出力情報を出力する出力制御部と、
として機能させるためのプログラムが記憶された記憶媒体。