以下、添付図面を参照しながら、本発明に係る情報処理装置、システムおよびプログラムの実施形態を詳細に説明する。
図1は、本実施形態のシステム1の概略構成の一例を示す図である。図1に示すように、システム1は、被験者が利用(使用)する運動器具10と、情報処理システム20とを備え、これらはアーム部30を介して機械的に接続されている。
本実施形態の運動器具10は、介護予防や運動能力向上に効果がある運動(トレーニング)を被験者に行わせるためのマシンである。被験者は運動器具10を利用して、図2の(A)に示すような、足を回転させずに交互に前後へ移動させる「すり足運動」、または、図2の(B)に示すような、足を回転させながら交互に前後へ移動させる「足こぎ運動」を行うことができる。
ここで、本実施形態の運動器具10を利用した運動(この例では「足こぎ運動」)の理想的な状態としては、(1)横から見て腰が大きな楕円軌道を描く、(2)体の軸が動かない、(3)踏み込むときに腰が下に落ちない(沈み込まずに腰高をキープ)、(4)膝が真っ直ぐに上がる、(5)肩は動かず腰だけ動かすといった状態が挙げられる。本実施形態では、トレーニング中の被験者に対して、自身が理想的な運動(理想的な「足こぎ運動」)を行っているかどうかを認識させることが可能なシステム1を提供することを目的とする。
図3は、運動器具10の概略構成の一例を示す図である。図3に示すように、運動器具10は、手摺部301と、被験者の右足および左足と1対1に対応する2つの負荷ユニット302と、モーター303と、モーター303の駆動を制御するための駆動制御コントローラー304とを備える。
図4は、運動器具10の駆動に関する部分(駆動部)の正面図である。モーター303の駆動力は、モーター歯車310、歯付きベルト311、歯車312、シャフト313、歯車314を介して、左右一対の歯付きベルト315に伝達される。左右の負荷ユニット302の各々はクランク316と同軸で連結され、クランク先端には回転フリーのペダル317が連結している。
図5の(A)は、図4の左側の側面図である。モーター303の駆動により、歯付きベルト315に連結するコロ320がガイド321上を往復運動する。図5の(A)では負荷ユニット302等の図示を省略している。図5の(B)は、図4の右側の側面図である。コロ320(図5の(B)では不図示)には回転フリーのクランク316が連結しており、クランク316の先端には回転フリーのペダル317が連結している。図5の(C)は、図4の左側の側面図であり、負荷ユニット302を図示した図である。クランク316(図5の(C)では不図示)の同軸上には負荷ユニット302が設けられ、クランク316の回転負荷を調節可能な構成となっている。本実施形態の運動器具10の構成は、特開平9−154989号公報に開示されたスプリント・トレーニング・マシンと同様の構成である。なお、運動器具10の構成は、以上の構成に限られるものではない。要するに、運動器具10を利用する運動の種類は「足こぎ運動」に限られるものではなく、様々な運動を採用することができる。
次に、情報処理システム20の構成について説明する。図6は、情報処理システム20のハードウェア構成の一例を示す図である。図6に示すように、情報処理システム20は、センサ40と、リモコン50と、情報処理装置60と、出力装置70とを備える。説明の便宜上、ここでは、本実施形態に関するハードウェア要素を主に例示して説明するが、情報処理システム20が有するハードウェア要素は図6の例に限られるものではない。
センサ40は、運動器具10を利用して運動する被験者を検出するための検出領域(予め定められている)を所定のフレームレートで撮像するカメラ(RGBカメラ)41と、検出領域の被写体の深度情報を検出する深度センサ42を備える。深度センサ42は、例えば、検出領域の深度画像を撮像することにより、深度センサ42から検出領域の被写体までの深度(距離)を検出し得る。なお、被写体には、検出領域内の被験者や運動器具10等が含まれる。センサ40は、例えばKinect(登録商標) v2で構成される。この例では、センサ40は、撮像画像および深度情報を所定のフレームレートで連続的に出力する。
リモコン50は、各種の操作を受け付ける操作デバイスであり、この例では赤外線リモコンが採用されている。リモコン50は、受け付けた操作に応じた操作信号(赤外線の点灯/消灯で表現される)を情報処理装置60へ出力する。
情報処理装置60は、センサ40やリモコン50から入力される情報に基づいて各種の情報処理を行う装置であり、例えばPC(Personal Computer)で構成される。図7は、情報処理装置60のハードウェア構成の一例を示す図である。説明の便宜上、図7の例では、最低限のハードウェア要素を主に例示しているが、情報処理装置60が有するハードウェア要素は、これらに限られるものではない。また、この例では、情報処理装置60には、後述の見本動画が入力される。
図7に示すように、情報処理装置60は、CPU61と、ROM62と、RAM63と、I/F64とを備える。CPU61は、情報処理装置60の動作を統括的に制御する。
ROM62は、プログラム等の各種のデータを記憶する不揮発性のメモリである。RAM63は、CPU61が実行する各種の処理の作業領域(ワークエリア)として機能する揮発性のメモリである。I/F64は、他の外部機器(例えばセンサ40等)と通信(接続)するためのインタフェースである。
出力装置70としては、運動器具10を利用して運動する被験者と対面するように配置される表示装置71と、スピーカー72とを含む。表示装置71は、例えば液晶型ディスプレイ装置で構成される。
本実施形態では、情報処理装置60には、運動器具10を利用して運動する被験者の運動状態(トレーニング状態)を可視化/分析した映像を出力するためのアプリケーション(以下、「トレーニングアプリケーション」と称する場合がある)がインストールされている。このアプリケーションが起動すると、情報処理装置60は、カメラ41からの撮像画像と、深度センサ42からのデプス情報の取得を開始し、撮像画像とデプス情報とから、該撮像画像に映り込んだ被験者の身体の各部の関節を推定して骨格データ(スケルトンデータ)を得る。この骨格データを得る方法は、公知の様々な技術を利用することができる(例えばKinect v2に対応するアプリケーションを用いる形態などが考えられる)。そして、図8に示すように、撮像画像と骨格データとを重ね合わせた画像の上に、各種のモードを選択するためのボタン画像を表示した画面(モード選択画面)を表示装置71に出力(表示)する。以下の説明では、撮像画像と骨格データとを重ね合わせた画像は、被験者の各部の動きを特定するための「モーション画像」と称する場合がある。図8の例では、選択されたボタン画像を見易くするために半透明の黒を全面に被せ、選択されたボタン画像の背景色の透過率は、選択されていないボタン画像の背景色の透過率に比べて低くなるように設定される構成である。
本実施形態では、各種のモードとして、トレーニングモード、見本動画モードの2つのモードがある。トレーニングモードは、トレーニングアイテムを表示して画面を見ながらトレーニングを行うモードである。見本動画モードは、見本となるトレーナーの動画(見本動画)を再生するモードである。
また、本実施形態では、トレーニングアプリケーションの起動中に、リモコン50の「メニュー」ボタンの押下を受け付けた場合、図9に示すような、トレーニングアイテムを選択するための画面(トレーニングアイテム選択画面)を表示装置71に出力する。この例では、トレーニングアイテムの項目として、「スケルトン」、「基準線」、「腰高ターゲット」、「腰の水平回転」、「左右バランス」、「重心ポジション」、「腰の軌跡」、「アバター」、「膝ガイド」、「足上げタイミング」の10項目が用意されており、何れか1つ以上の項目を任意に選択することができる。図9の例では、10種類の項目ごとに、該項目の選択/非選択を切り替えるためのON/OFFボタンが表示され、「ON」が押下されると該項目が選択され、「OFF」が押下されると該項目が非選択となる。トレーニングモードでは、選択された項目に対応するトレーニングアイテムが表示されることになる。また、図9の例では、選択したトレーニングアイテムの詳細な内容(各種のパラメータ設定値)を可変に設定するための詳細設定ボタン80も表示されている。
説明の便宜上、本実施形態では、トレーニングアイテムの項目として「スケルトン」は予め選択済みであることを前提として説明する。この例では、「スケルトン」に対応するトレーニングアイテムは上記骨格データであり、トレーニングモード中は、図10に示すようなモーション画像が表示装置71に表示されることを前提とする。ただし、これに限らず、例えばトレーニングアイテム選択画面から「スケルトン」を非選択とすることもでき、この場合は、骨格データは非表示となる。
図10の例では、関節を表す関節マーカーの種類として、Head201、SpineShoulder202、ShoulderLeft203、ShoulderRight204、ElbowLeft205、ElbowRight206、SpineMid207、SpineBase208、HipLeft209、HipRight210、KneeLeft211、KneeRight212、AnkleLeft213、AnkleRight214が存在する。なお、関節マーカーの数および種類は、パラメータ設定値の設定に応じて任意に変更可能である。
また、図10の例では、隣接する関節マーカー同士を結ぶ直線を示す体軸補助線の種類として、Head201とSpineShoulder202を結んだ直線221、SpineShoulder202とShoulderLeft203を結んだ直線222、SpineShoulder202とShoulderRight204を結んだ直線223、ShoulderLeft203とElbowLeft205を結んだ直線224、ShoulderRight204とElbowRight206を結んだ直線225、SpineShoulder202とSpineMid207を結んだ直線226、SpineMid207とSpineBase208を結んだ直線227、HipLeft209とHipRight210を結んだ直線228、HipLeft209とKneeLeft211を結んだ直線229、HipRight210とKneeRight212を結んだ直線230、KneeLeft211とAnkleLeft213を結んだ直線231、KneeRight212とAnkleRight214を結んだ直線232が存在する。
ここでは、10種類のトレーニングアイテムのうち、「スケルトン」に対応するトレーニングアイテム(骨格データ)以外の9つのトレーニングアイテムは、理想的な運動(この例では理想的な「足こぎ運動」)を行っているかどうかを被験者に認識させるための情報であり、以下の説明ではそれぞれを「ガイド情報」と称する場合がある。具体的な内容については後述する。
以下においては、トレーニングモード時の情報処理装置60の機能を中心に説明する。図11は、本実施形態の情報処理装置60が有する機能の一例を示す図である。図11に示すように、情報処理装置60は、受付部101と、画面切替制御部102と、取得部103と、選択部104と、ガイド情報生成部105と、出力制御部106とを有する。説明の便宜上、図11の例では、トレーニングモードにおいてトレーニングアプリケーションにより提供される機能を主に例示しているが、情報処理装置60が有する機能はこれらに限られるものではない。
受付部101は、各種の操作を受け付ける。例えば受付部101は、リモコン50からの操作信号を受け付ける機能を有している。画面切替制御部102は、受付部101で受け付けた操作などに応じて、表示装置71に表示する画面を切り替える制御を行う。
取得部103は、運動器具10を利用して運動する被験者を検出するための検出領域を撮像して得られる撮像画像と、検出領域の被写体の深度情報とから、該撮像画像に映り込んだ被験者の各部の関節を推定した結果を示す骨格データを取得する。より具体的には、取得部103は、センサ40から撮像画像と深度情報を受け取るたびに、その受け取った撮像画像と深度情報とから骨格データを生成し、その生成した骨格データを取得する。このようにして、取得部103は連続して骨格データを取得する。なお、例えば撮像画像と深度情報とから骨格データを生成する機能が取得部103とは別に設けられ、取得部103は、該機能から骨格データを受け取る形態であってもよい。
選択部104は、複数種類のトレーニングアイテムの中から表示対象となるトレーニングアイテムを選択する。例えば選択部104は、表示対象となるレーニングアイテムとして、トレーニングアイテム選択画面から選択された1以上の項目に対応するトレーニングアイテムを選択することができる。前述したように、この例では、表示対象のトレーニングアイテムとして、「スケルトン」に対応するトレーニングアイテムは選択済みであることを前提とする(つまり、前述のモーション画像が表示されることを前提とする)。
ガイド情報生成部105は、運動器具10を利用して運動する被験者を検出するための検出領域を撮像して得られる撮像画像、および、検出領域の被写体の深度情報に基づいて、理想的な運動を行っているかどうかを被験者に認識させるためのガイド情報を生成する。例えばガイド情報生成部105は、取得部103により取得された骨格データに基づいて、選択部104によって選択されたガイド情報を生成することができる。ガイド情報の具体的な内容については後述する。
出力制御部106は、前述の検出領域を撮像して得られる撮像画像と、前述の深度情報とから該撮像画像に映り込んだ被験者の各部の関節を推定した結果を示す骨格データを該撮像画像上に重ね合わせたモーション画像と併せて、ガイド情報を出力する制御を行う。例えばガイド情報が画像情報である場合、出力制御部106は、モーション画像と併せて、ガイド情報を表示装置71から出力させる制御を行う。より具体的には、出力制御部106は、モーション画像と、ガイド情報生成部105により生成されたガイド情報を合成した画像を表示装置71(「表示部」の一例)に表示する制御を行う。また、例えばガイド情報が音声情報である場合、出力制御部106は、モーション画像を表示装置71に表示する制御を行うとともに、ガイド情報生成部105により生成されたガイド情報をスピーカー72から出力する制御を行うこともできる。
本実施形態では、以上に説明した情報処理装置60が有する機能(受付部101、画面切替制御部102、取得部103、選択部104、ガイド情報生成部105、出力制御部106)は、CPU61がROM62等に格納されたプログラムを実行することにより実現されるが、これに限らず、例えば以上に説明した情報処理装置60が有する機能のうちの少なくとも一部が専用のハードウェア回路で実現されてもよい。
以下、トレーニングアイテムの項目として、「基準線」、「腰高ターゲット」、「腰の水平回転」、「左右バランス」、「重心ポジション」、「腰の軌跡」、「アバター」、「膝ガイド」、「足上げタイミング」の各々が選択された場合の情報処理装置60の動作例を説明する。
まず、トレーニングアイテムの項目として「基準線」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、被験者が基準姿勢のときの骨格データに基づいて、体が左右へぶれているかどうかの基準となる基準線を表す情報をガイド情報として(「基準線」に対応するガイド情報として)生成する。この例では、情報処理装置60は、トレーニングモードが選択されると、トレーニングモードを開始する前に、被験者に対して、基準姿勢(例えば直立不動の姿勢)をとることを促す情報を出力(例えば該情報を表示装置71に表示、もしくは、該情報をスピーカー72から出力)する。そして、この情報の出力後、取得部103により連続して取得される骨格データの変化量が閾値以下になった場合の骨格データを、基準姿勢のときの骨格データとして利用することができる。そして、ガイド情報生成部105は、この基準姿勢のときの骨格データに基づいて、基準線を表す情報を生成することができる。より具体的には以下のとおりである。
ガイド情報生成部105は、基準姿勢のときの骨格データに含まれるHipRight210とHipLeft209の中点を基準点とする。この例では、撮像画像に映り込んだ被験者の奥行き方向に延びる軸をz軸(第1の軸)、被験者の左右方向に延びるとともにz軸と直交する軸をx軸(第2の軸)、被験者の上下方向に延びるとともにz軸と直交する軸をy軸(第3の軸)とする。HipRight210とHipLeft209の中点は、HipRight210のx軸方向の座標値(以下、x座標値と称する)とHipLeft209のx座標値との中点をx座標値、HipRight210のy軸方向の座標値(以下、y座標値と称する)とHipLeft209のy座標値との中点をy座標値、HipRight210のz軸方向の座標値(以下、z座標値と称する)とHipLeft209のz座標値との中点をz座標値とする3次元座標値で表すことができる。そして、ガイド情報生成部105は、基準点を通り、かつ、x軸に平行な直線と、基準点を通り、かつ、y軸に平行な直線とからなる基準線を表す情報をガイド情報として生成する。以上のようにしてガイド情報生成部105により生成された基準線を表す情報は、ROM62やRAM63等の記憶装置に格納される。この例では、以上のようにして基準線を表す情報が生成された後に、トレーニングモードが開始される。
トレーニングモードが開始されると、出力制御部106は、取得部103により骨格データが取得されるたびに、図12に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、記憶装置から読み出した基準線を表す情報(「基準線」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。図12の例では、他の項目に対応するガイド情報も同時に表示されている(つまり、他の8つの項目も同時に選択されている)が、例えば他の項目が選択されておらず、ガイド情報として「基準線」に対応するガイド情報のみが表示される形態であってもよい。
図13は、この場合の情報処理装置60の動作例を示すフローチャートである。図13に示すように、まず、情報処理装置60(取得部103)は、センサ40から撮像画像および深度情報を取得する(ステップS1)、次に、情報処理装置60は、ステップS1で取得した撮像画像および深度情報から、該撮像画像に映り込んだ被験者の各部の関節を推定した結果を示す骨格データを生成(取得)する(ステップS2)。次に、情報処理装置60(ガイド情報生成部105)は、前述の基準線を表す情報を記憶装置から読み出す(ステップS3)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS2で生成した骨格データを、該骨格データの元になる撮像画像(ステップS1で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS3で読み出した情報を合成した画像を生成する(ステップS4)。そして、出力制御部106は、ステップS4で合成した画像を表示装置71に表示する制御を行う(ステップS5)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「重心ポジション」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、取得部103により取得された骨格データに含まれる各部の関節のうち重心位置に対応する関節の位置を、被験者の奥行き方向に延びる第1の軸(この例ではz軸)と、被験者の左右方向に延びるとともに第1の軸と直交する第2の軸(この例ではx軸)とを含む第1の平面(この例ではxz平面)上で表す情報をガイド情報として(「重心ポジション」に対応するガイド情報として)生成する。より具体的には、以下のとおりである。前述したように、取得部103は骨格データを連続して取得する。そして、ガイド情報生成部105は、取得部103により骨格データが取得されるたびに、その取得された骨格データに含まれる各部の関節のうち重心位置に相当する関節の位置の軌跡をxz平面上で表す情報をガイド情報として生成する。この例では、骨格データに含まれる各部の関節のうち、SpineBase208の関節マーカーで表される関節が、重心位置に相当する関節として採用され、設定パラメータで設定されたフレーム数分のSpineBase208のxz平面上の軌跡が生成される。このフレーム数は任意に変更可能である。
また、ガイド情報生成部105は、骨格データに含まれる各部の関節のうち重心位置に対応する関節の位置と、該骨格データを有する被験者の頭部および肩部のうちの少なくとも一方の輪郭とをxz平面上で表す情報をガイド情報として生成する。さらに言えば、ガイド情報生成部105は、骨格データに含まれる各部の関節のうち重心位置に対応する関節の位置と、重心位置の推奨範囲(キープゾーン)とをxz平面上で表す情報をガイド情報として生成する。
また、例えばガイド情報生成部105は、重心位置に対応する関節の位置がキープゾーン内に存在する場合と、キープゾーンから外れた場合とで、キープゾーンの色を異ならせてもよい。例えば重心位置に対応する関節の位置がキープゾーンを外れた場合は、被験者に注意を促すために、キープゾーンの色を視認性の高い色(例えば赤色等)に設定する形態であってもよい。さらに、キープゾーンの範囲は、トレーニングのレベルに応じて多段階(例えば3段階)に変化させることもできる。例えば前述のトレーニングアイテム選択画面から「重心ポジション」の項目が選択された状態で詳細設定ボタン80の押下を受け付けると、「重心ポジション」に対応するトレーニングアイテムのレベル設定を行うための設定画面が表示され、この設定画面から任意のレベルを設定するための操作(例えば3段階のレベルのうちの何れかのレベルに設定するための操作)を受け付ける形態であってもよい。情報処理装置(ガイド情報生成部105)は、設定画面で受け付けた操作に応じて、キープゾーンの範囲を決定することができる。なお、この例では、設定画面が表示された状態でリモコン50の「戻る」ボタンの押下を受け付けると、前述のトレーニングアイテム選択画面の表示に戻る。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図14に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「重心ポジション」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。なお、図14の例では、基準姿勢のときのSpineBase208のxz平面上の位置が原点に対応している。なお、図14の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「重心ポジション」に対応するガイド情報のみが表示される形態であってもよい。
図15は、この場合の情報処理装置60の動作例を示すフローチャートである。図15に示すステップS11〜ステップS12の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS12の後、情報処理装置60(ガイド情報生成部105)は、ステップS12で取得した骨格データを用いて、以上に説明したガイド情報(「重心ポジション」に対応するガイド情報)を生成する(ステップS13)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS12で生成した骨格データを、該骨格データの元になる撮像画像(ステップS11で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS13で生成したガイド情報を合成した画像を生成する(ステップS14)。この例では、図14に示すように、モーション画像の上方の領域に、ステップS13で生成したガイド情報を配置した合成画像を生成する。そして、出力制御部106は、ステップS14で合成した画像を表示装置71に表示する制御を行う(ステップS15)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「アバター」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、取得部103により取得された骨格データ、および、体軸の推奨範囲(キープゾーン)を、被験者の奥行き方向に延びる第1の軸(この例ではz軸)と、被験者の上下方向に延びるとともに第1の軸と直交する第3の軸(この例ではy軸)とを含む第2の平面(この例ではyz平面)上で表す情報を、ガイド情報として(「アバター」に対応するガイド情報として)生成する。
また、この例では、例えばガイド情報生成部105は、骨格データの体軸(例えば、骨格データに含まれるHipRight210とHipLeft209の中点を通り、かつ、y軸に平行な直線)がキープゾーン内に存在する場合と、キープゾーンから外れた場合とで、キープゾーンの色を異ならせてもよい。例えば体軸がキープゾーンを外れた場合は、被験者に注意を促すために、キープゾーンの色を視認性の高い色(例えば赤色等)に設定する形態であってもよい。さらに、キープゾーンの範囲は、トレーニングのレベルに応じて多段階(例えば3段階)に変化させることもできる。例えば前述のトレーニングアイテム選択画面から「アバター」の項目が選択された状態で詳細設定ボタン80の押下を受け付けると、「アバター」に対応するトレーニングアイテムのレベル設定を行うための設定画面が表示され、この設定画面から任意のレベルを設定するための操作を受け付ける形態であってもよい。情報処理装置(ガイド情報生成部105)は、設定画面で受け付けた操作に応じて、キープゾーンの範囲を決定することができる。以上のようにして、ガイド情報生成部105は、取得部103により骨格データが取得されるたびに、その取得された骨格データを用いて、以上に説明した「アバター」に対応するガイド情報を生成する。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図16に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「アバター」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。なお、図16の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「アバター」に対応するガイド情報のみが表示される形態であってもよい。
図17は、この場合の情報処理装置60の動作例を示すフローチャートである。図17に示すステップS21〜ステップS22の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS22の後、情報処理装置60(ガイド情報生成部105)は、ステップS22で取得した骨格データを用いて、以上に説明したガイド情報(「アバター」に対応するガイド情報)を生成する(ステップS23)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS22で生成した骨格データを、該骨格データの元になる撮像画像(ステップS21で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS23で生成したガイド情報を合成した画像を生成する(ステップS24)。この例では、図16に示すように、モーション画像の上方の領域に、ステップS23で生成したガイド情報を配置した合成画像を生成する。そして、出力制御部106は、ステップS24で合成した画像を表示装置71に表示する制御を行う(ステップS25)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「左右バランス」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、骨格データの体軸と、体が左右へぶれているかどうかの基準となる前述の基準線(y軸方向に延びる基準線)との乖離の度合いを表す情報をガイド情報として生成する。この例では、頭、肩、腰のx方向の平均値(Head201のx座標値と、SpineShoulder202のx座標値と、SpineBase208のx座標値との平均値)を入力値として、入力値がどのくらい前述の基準線から離れているかを画素数で算出し、その画素数に予め定められた係数α(バーの動きの感度を表す)を乗算することで左右バランス値を算出し、算出した左右バランス値を表すバーグラフを生成する。この例では、基準線を中心として±Aの幅に入力値が存在する場合は「0%」となるように左右バランス値を算出する。また、左右バランス値が閾値(例えば70%)を超える場合は、被験者に注意を促すために、バーグラフの色を視認性の高い色(例えば赤色等)に設定する形態であってもよい。また、被験者の重心の動きをそのまま画面に反映させるため、バーグラフの中央値を画面の中央に配置することが好ましい。例えばy軸方向に延びる基準線がバーグラフの中央値を通るようにバーグラフを配置してもよい。以上のようにして、ガイド情報生成部105は、取得部103により骨格データが取得されるたびに、その取得された骨格データを用いて、以上に説明した「左右バランス」に対応するガイド情報を生成する。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図18に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「左右バランス」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。なお、図18の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「左右バランス」に対応するガイド情報のみが表示される形態であってもよい。
図19は、この場合の情報処理装置60の動作例を示すフローチャートである。図19に示すステップS31〜ステップS32の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS32の後、情報処理装置60(ガイド情報生成部105)は、ステップS32で取得した骨格データを用いて、以上に説明したガイド情報(「左右バランス」に対応するガイド情報)を生成する(ステップS33)。この例では、情報処理装置60(ガイド情報生成部105)は、前述の基準線を表す情報を記憶装置から読み出し、その読み出した情報と、ステップS32で取得した骨格データとを用いて、以上に説明したガイド情報を生成する。次に、情報処理装置60(ガイド情報生成部105)は、ステップS32で生成した骨格データを、該骨格データの元になる撮像画像(ステップS31で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS33で生成したガイド情報を合成した画像を生成する(ステップS34)。この例では、図18に示すように、モーション画像の上方の領域に、ステップS33で生成したガイド情報を配置した合成画像を生成する。そして、出力制御部106は、ステップS34で合成した画像を表示装置71に表示する制御を行う(ステップS35)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「腰の軌跡」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、取得部103により骨格データが取得されるたびに、該骨格データに含まれる各部の関節のうち対象となる左右一対の関節の右側に対応する関節を示す第1の関節の位置の軌跡を、被験者の奥行き方向に延びる第1の軸(この例ではz軸)と、被験者の上下方向に延びるとともに第1の軸と直交する第3の軸(この例ではy軸)とを含む第2の平面(この例ではyz平面)上で表す第1の情報、または、左側に対応する関節を示す第2の関節の位置の軌跡を第2の平面上で表す情報をガイド情報として生成する。そして、出力制御部106は、取得部103により骨格データが取得されるたびに、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(第1の情報または第2の情報)を合成した画像を表示装置71に表示する制御を行う。
ここでは、前述の第1の情報は、第1の軸と第3の軸とで定まる座標系(yz座標系)において、取得部103により取得された骨格データに含まれる第1の関節のz軸方向の位置と、該骨格データに含まれる第2の関節のz軸方向の位置との差分をz座標値とし、該骨格データに含まれる第1の関節のy軸方向の位置と、被験者が基準姿勢のときの骨格データに含まれる第1の関節のy軸方向の位置との差分をy座標値として表される変位情報の軌跡を表す。一例として、ここでは、第1の関節は右側の腰の関節(HipRight210が表す関節)であり、第2の関節は左側の腰の関節(HipLeft209が表す関節)であるとする。この例では、前述の第1の情報は、Hipleft209のz軸方向の位置と、HipRight210のz軸方向の位置との差分をz座標値とし、HipRight210のy軸方向の位置と、基準姿勢のときのHipRight210のy軸方向の位置との差分をy座標値として表される変位情報の軌跡を表す情報となり、図20のように表される。この例では、z座標値は、被験者の前側に位置するほど(センサ40に近いほど)小さい値を示すが、これに限らず、座標値の設定方法は任意である。
また、前述の第2の情報は、yz座標系において、取得部103により取得された骨格データに含まれる第2の関節のz軸方向の位置と、該骨格データに含まれる第2の関節のz軸方向の位置との差分をz座標値とし、該骨格データに含まれる第2の関節のy軸方向の位置と、被験者が基準姿勢のときの骨格データに含まれる第2の関節のy軸方向の位置との差分をy座標値として表される変位情報の軌跡を表す。
また、本実施形態では、出力制御部106は、第1の情報、および、第2の情報のうちの何れかを表示装置71に表示する制御を行い、予め定められた条件に従って表示対象を切り替える。ただし、これに限らず、例えば出力制御部106は、第1の情報、および、第2の情報の両方を表示装置71に表示する制御を行う形態であってもよい。この場合、ガイド情報生成部105は、取得部103により骨格データが取得されるたびに、前述の第1の情報および前述の第2の情報を生成する必要がある。
本実施形態では、出力制御部106は、第1の関節が第2の関節よりも被験者の前側に位置する場合は、前述の第1の情報を表示装置71に表示する制御を行い、第2の関節が第1の関節よりも被験者の前側に位置する場合は、前述の第2の情報を表示装置71に表示する制御を行う。より具体的には、出力制御部106は、取得部103により取得された骨格データに含まれるHipRight210のz座標値が、該骨格データに含まれるHipLeft209のz座標値よりも小さい場合は、前述の第1の情報を表示装置71に表示する制御を行う。一方、出力制御部106は、取得部103により取得された骨格データに含まれるHipLeft209のz座標値が、該骨格データに含まれるHipRight210のz座標値よりも小さい場合は、前述の第2の情報を表示装置71に表示する制御を行う。
なお、表示対象を切り替えるための条件は上記形態に限られるものではない。例えば出力制御部106は、第1の関節がz軸方向の予め定められた位置(例えばペダル317の最後方の位置など)に到達した場合は、第2の関節が該予め定められた位置に到達するまでの間、前述の第1の情報を表示装置71に表示する制御を行い、第2の関節が該予め定められた位置に到達した場合は、第1の関節が該予め定められた位置に到達するまでの間、前述の第2の情報を表示装置71に表示する制御を行う形態であってもよい。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図21に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成された表示対象のガイド情報(「腰の軌跡」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。図21の例では、このときの骨格データに含まれるHipLeft209のz座標値が、該骨格データに含まれるHipRight210のz座標値よりも小さいために、前述の第2の情報が表示対象のガイド情報になっている(前述の第1の情報は非表示)。
図22は、この場合の情報処理装置60の動作例を示すフローチャートである。図22に示すステップS41〜ステップS42の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS42の後、情報処理装置60(ガイド情報生成部105)は、ステップS42で取得した骨格データに含まれるHipRight210のz座標値が、該骨格データに含まれるHipLeft209のz座標値よりも小さいか否かを判断する(ステップS43)。
ステップS43の結果が肯定の場合(ステップS43:Yes)、情報処理装置60(ガイド情報生成部105)は、前述の第1の情報をガイド情報として生成する(ステップS44)。ステップS43の結果が否定の場合(ステップS43:No)、情報処理装置60(ガイド情報生成部105)は、前述の第2の情報をガイド情報として生成する(ステップS45)。
ステップS44またはステップS45の後、情報処理装置60(ガイド情報生成部105)は、ステップS42で生成した骨格データを、該骨格データの元になる撮像画像(ステップS31で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS44またはステップS45で生成したガイド情報を合成した画像を生成する(ステップ46)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS46で合成した画像を表示装置71に表示する制御を行う(ステップS47)。情報処理装置60は以上の処理を繰り返し実行する。
なお、上記の形態に限らず、例えば情報処理装置60(ガイド情報生成部105)は、骨格データを取得するたびに、前述の第1の情報および前述の第2の情報の両方を生成しておき、ステップS43の結果に応じて、前述の第1の情報または前述の第2の情報を表示対象として決定する形態であってもよい。
次に、トレーニングアイテムの項目として「膝ガイド」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、被験者が基準姿勢のときの骨格データに含まれる膝の関節の位置を下端とし、予め定められた量だけ上方向に延びて所定の範囲を表す情報(以下、「膝ガイド情報」と称する)をガイド情報として生成する。この例では、ガイド情報生成部105は、前述の基準線を表す情報を生成するタイミングで、膝ガイド情報も併せて生成し、その生成した膝ガイド情報をROM62やRAM63等の記憶装置に格納しておく。なお、膝ガイド情報のy軸方向(上下方向)の長さは、可変に設定可能である。例えば前述のトレーニングアイテム選択画面から「膝ガイド」の項目が選択された状態で詳細設定ボタン80の押下を受け付けると、膝ガイド情報のy軸方向(上下方向)の長さの設定を行うための設定画面が表示され、この設定画面から任意の長さを設定するための操作を受け付ける形態であってもよい。情報処理装置(ガイド情報生成部105)は、設定画面で受け付けた操作に応じて、膝ガイド情報のy軸方向の長さを決定することができる。
また、例えばガイド情報生成部105は、取得部103により取得された骨格データに含まれる右側の膝の関節または左側の膝の関節が、膝ガイド情報により規定された範囲内に存在する場合と、範囲外に存在する場合とで、膝ガイド情報の色を異ならせてもよい。例えば右側の膝の関節または左側の膝の関節が、膝ガイド情報により規定された範囲外に存在する場合は、被験者に注意を促すために、膝ガイド情報の色を視認性の高い色(例えば赤色等)に設定する形態であってもよい。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図23に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「膝ガイド」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。なお、図23の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「膝ガイド」に対応するガイド情報のみが表示される形態であってもよい。
図24は、この場合の情報処理装置60の動作例を示すフローチャートである。図24に示すステップS51〜ステップS52の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS52の後、情報処理装置60(ガイド情報生成部105)は、前述の膝ガイド情報を記憶装置から読み出す(ステップS53)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS52で生成した骨格データを、該骨格データの元になる撮像画像(ステップS51で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS53で読み出した膝ガイド情報を合成した画像を生成する(ステップS54)。そして、出力制御部106は、ステップS54で合成した画像を表示装置71に表示する制御を行う(ステップS55)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「腰高ターゲット」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、被験者が基準姿勢のときの骨格データに含まれる右側の腰の関節と、左側の腰の関節との中点を通り、かつ、左右方向に延びる線(この例ではy軸方向に延びる基準線)から、該骨格データに含まれる各部の関節のうち背骨の中心に対応する関節(この例ではSpinemid207が表す関節)の位置よりも下側までの所定の範囲を表す情報(以下、「腰高ターゲット情報」と称する)をガイド情報として生成する。この例では、ガイド情報生成部105は、前述の基準線を表す情報を生成するタイミングで、腰高ターゲット情報も併せて生成し、その生成した腰高ターゲット情報をROM62やRAM63等の記憶装置に格納しておく。なお、腰高ターゲット情報のy軸方向(上下方向)の長さは、可変に設定可能である。例えば前述のトレーニングアイテム選択画面から「腰高ターゲット」の項目が選択された状態で詳細設定ボタン80の押下を受け付けると、腰高ターゲット情報のy軸方向(上下方向)の長さの設定を行うための設定画面が表示され、この設定画面から任意の長さを設定するための操作を受け付ける形態であってもよい。情報処理装置(ガイド情報生成部105)は、設定画面で受け付けた操作に応じて、腰高ターゲット情報のy軸方向の長さを決定することができる。
また、例えばガイド情報生成部105は、取得部103により取得された骨格データに含まれる右側の腰の関節または左側の腰の関節が、腰高ターゲット情報により規定された範囲内に存在する場合と、範囲外に存在する場合とで、腰高ターゲット情報の色を異ならせてもよい。例えば右側の腰の関節または左側の腰の関節が、腰高ターゲット情報により規定された範囲外に存在する場合は、理想的な状態であることを被験者に知らせるために、腰高ターゲット情報の色を安定や調和を表す色(例えば緑色等)に設定する形態であってもよい。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図25に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「腰高ターゲット」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。なお、図25の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「腰高ターゲット」に対応するガイド情報(腰高ターゲット情報)のみが表示される形態であってもよい。
図26は、この場合の情報処理装置60の動作例を示すフローチャートである。図26に示すステップS61〜ステップS62の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS62の後、情報処理装置60(ガイド情報生成部105)は、前述の腰高ターゲット情報を記憶装置から読み出す(ステップS63)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS62で生成した骨格データを、該骨格データの元になる撮像画像(ステップS61で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS63で読み出した腰高ターゲット情報を合成した画像を生成する(ステップS64)。そして、出力制御部106は、ステップS64で合成した画像を表示装置71に表示する制御を行う(ステップS65)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「腰の水平回転」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、被験者の左右方向に延びる第2の軸(この例ではx軸)に対して、骨格データに含まれる右側の腰に対応する関節と、左側の腰に対応する関節とを結ぶ線がなす角度に応じて、右側の腰および左側の腰の一方が他方に比べて被験者の前側に出ている度合いを表す情報(以下、「腰水平回転ユニット」と称する)をガイド情報として生成する。この例では、図27に示すように、腰水平回転ユニットは、右側の腰に対応する右側ユニットと、左側の腰に対応する左側ユニットとを含んでいる。この例では、右側ユニットおよび左側ユニットの各々は、互いに対称な半円を描くように延在するとともに7段階に区分され(説明の便宜上、区分された1つの単位を「単位ユニット」と称する)、x軸に対して、骨格データに含まれる右側の腰に対応する関節と、左側の腰に対応する関節とを結ぶ線がなす角度に応じて、所定の表示色に設定される単位ユニットの数が変化する。
この例では、ガイド情報生成部105は、取得部103により骨格データが取得されるたびに、図28に示すように、x軸と平行な直線に対して、その取得された骨格データに含まれるHipLeft209とHipRight210を結ぶ線のなす角度θ(腰の水平回転角度θ)を算出し、算出した角度θに応じて腰水平回転ユニットを生成する。この例では、腰の水平回転角度θは、ATAN({(HipRightのz座標値−HipLeftのz座標値)}/{(HipRightのx座標値)−(HipLeftのx座標値)}で表される。この例では、腰の水平回転角度θが、予め定められた上限設定値(絶対値)に到達した場合、右側ユニットまたは左側ユニットを構成する7つの単位ユニットの全てが所定の表示色に設定される。
さらに、前述の上限設定値は、トレーニングのレベルに応じて多段階(例えば3段階)に変化させることもできる。例えば前述のトレーニングアイテム選択画面から「腰の水平回転」の項目が選択された状態で詳細設定ボタン80の押下を受け付けると、「腰の水平回転」に対応するトレーニングアイテムのレベル設定を行うための設定画面が表示され、この設定画面から任意のレベルを設定するための操作(例えば3段階のレベルのうちの何れかのレベルに設定するための操作)を受け付ける形態であってもよい。情報処理装置(ガイド情報生成部105)は、設定画面で受け付けた操作に応じて、前述の上限設定値を決定することができる。ここでは、上位のレベルほど上限設定値(絶対値)が大きくなるよう、上限設定値を決定する。例えば最上位のレベルに対応する上限設定値は12.5°、中間のレベルに対応する上限設定値は10°、最下位のレベルに対応する上限設定値は7.5°に決定される形態であってもよい。
一例として、上限設定値が12.5°に設定されている場合を例に挙げて説明する。この場合、図29に示すように、腰の水平回転角度θに応じて、右側ユニットおよび左側ユニットの各々を構成する7つの単位ユニットのうち所定の表示色に表示される単位ユニットの数が変化する。図29の例では、腰の水平回転角度θが上限設定値に相当する「−12.5°」以上の場合、左側ユニットを構成する全ての単位ユニット(7つの単位ユニット)が所定の表示色に表示される。また、腰の水平回転角度θが上限設定値に相当する「+12.5°」以上の場合、右側ユニットを構成する全ての単位ユニット(7つの単位ユニット)が所定の表示色に表示される。これらは、腰の水平回転が理想的な状態であることを表している。
この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図27に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「腰の水平回転」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。なお、図27の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「腰の水平回転」に対応するガイド情報のみが表示される形態であってもよい。
図30は、この場合の情報処理装置60の動作例を示すフローチャートである。図30に示すステップS71〜ステップS72の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS72の後、情報処理装置60(ガイド情報生成部105)は、ステップS72で取得した骨格データを用いて、以上に説明したガイド情報(「腰の水平回転」に対応するガイド情報、この例では前述の腰水平回転ユニット)を生成する(ステップS73)。次に、情報処理装置60(ガイド情報生成部105)は、ステップS72で生成した骨格データを、該骨格データの元になる撮像画像(ステップS71で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS73で生成したガイド情報を合成した画像を生成する(ステップS74)。そして、出力制御部106は、ステップS74で合成した画像を表示装置71に表示する制御を行う(ステップS75)。情報処理装置60は以上の処理を繰り返し実行する。
次に、トレーニングアイテムの項目として「足上げタイミング」が選択された場合を例に挙げて説明する。この場合、ガイド情報生成部105は、前述の検出領域を撮像して得られる撮像画像、および、前述の深度情報に基づいて、被験者の足が載せられる部材であって、足を回転させながら交互に前後へ移動させる足こぎ運動を行うためのペダル317の位置が、被験者の奥行き方向に延びる第1の軸と平行な方向(この例ではz軸と平行な方向)の予め定められた位置に到達したと判断した場合に、足を上げる動作を行うことを促す情報をガイド情報として生成する。上記予め定められた位置は任意に設定可能であるが、例えばペダル317がz軸と平行な方向に移動可能な位置のうち最後方の位置(ペダル317が最もセンサ40から離れる位置)であってもよい。また、ガイド情報生成部105は、ペダル317の位置が前述の予め定められた位置に到達したと判断した場合は、足を上げる動作を行うことを促す情報をガイド情報として生成するとともに、予め定められた通知音を出力することを出力制御部106へ指示することもできる。
また、ガイド情報生成部105は、ペダル317の位置が前述の予め定められた位置に到達していないと判断した場合は、そのときのペダル317の位置に応じて、足を上げる動作を行うタイミングまでの遠近を表す情報をガイド情報として生成することができる。この例では、ガイド情報生成部105は、取得部103により撮像画像および深度情報が取得されるたびに、ペダル317の位置が前述の予め定められた位置に到達したか否かを判断し、その判断結果に応じたガイド情報を生成する。
図31は、この例においてガイド情報生成部105により生成されるガイド情報の遷移の一例を示す図である。この例においてガイド情報生成部105により生成されるガイド情報は、右足に対応する表示ユニットと、左足に対応する表示ユニットとを含み、各表示ユニットは3つの単位ユニット(ボックス)から構成される。図31の例では、(タイミングC)は、左足に対応するペダル317の位置が前述の予め定められた位置に到達した場合に対応している。この場合は、左足に対応する表示ユニットを構成する3つの単位ユニットの全ての色は任意の第1の色に設定され、かつ、足上げ動作を促す「FOOT UP」という情報を含むよう、左足に対応する表示ユニットが生成される。また、右足に対応する表示ユニットを構成する3つの単位ユニットの各々には色が表示されないよう、右足に対応する表示ユニットが生成される。この左足に対応する表示ユニット、および、右足に対応する表示ユニットが、足を上げる動作を行うことを促すガイド情報として生成されるという具合である。
また、ここでは、左足に対応するペダル317の位置が前述の予め定められた位置に近づくにつれて、図31の(タイミングA)および(タイミングB)のように、左足に対応する表示ユニットを構成する3つの単位ユニットの下側から順番に任意の第2の色(第1の色と異なる色でも良いし、同じ色でも良い)が表示されるよう、左足に対応する表示ユニットが生成される。また、右足に対応する表示ユニットを構成する3つの単位ユニットの各々には色が表示されないよう、右足に対応する表示ユニットが生成される。この左足に対応する表示ユニット、および、右足に対応する表示ユニットが、足を上げる動作を行うタイミングまでの遠近を表すガイド情報として生成されるという具合である。
また、この例では、出力制御部106は、取得部103により骨格データが取得されるたびに、図32に示すように、その取得された骨格データを該骨格データの元となる撮像画像上に重ね合わせたモーション画像と、ガイド情報生成部105により生成されたガイド情報(「足上げタイミング」に対応するガイド情報)とを合成した画像を表示装置71に表示する制御を行う。図32の例では、「足上げタイミング」に対応するガイド情報(右足に対応する表示ユニット、左足に対応する表示ユニット)は、画面に映る運動器具10に合わせて遠近法を用いて表示されている。なお、図31の例では、他の項目に対応するガイド情報も同時に表示されているが、例えば他の項目が選択されておらず、ガイド情報として「足上げタイミング」に対応するガイド情報のみが表示される形態であってもよい。
図33は、この場合の情報処理装置60の動作例を示すフローチャートである。図33に示すステップS81〜ステップS82の処理内容は図13に示すステップS1〜ステップS2の処理内容と同様であるため、詳細な説明を省略する。ステップS82の後、情報処理装置60(ガイド情報生成部105)は、ステップS81で取得した撮像画像および深度情報に基づいて、以上に説明したガイド情報(「足上げタイミング」に対応するガイド情報)を生成する(ステップS83)。前述したように、情報処理装置60(ガイド情報生成部105)は、ペダル317の位置が前述の予め定められた位置に到達したと判断した場合は、足を上げる動作を行うことを促す情報をガイド情報として生成するとともに、予め定められた通知音を出力することを出力制御部106へ指示する。一方、ペダル317の位置が前述の予め定められた位置に到達していないと判断した場合は、足を上げる動作を行うタイミングまでの遠近を表す情報をガイド情報として生成するという具合である。
ステップS83の後、情報処理装置60(ガイド情報生成部105)は、ステップS82で生成した骨格データを、該骨格データの元になる撮像画像(ステップS81で取得された撮像画像)上に重ね合わせたモーション画像と、ステップS83で生成したガイド情報を合成した画像を生成する(ステップS84)。そして、出力制御部106は、ステップS84で合成した画像を表示装置71に表示する制御を行う(ステップS85)。例えば足を上げる動作を行うことを促す情報がガイド情報として生成されていた場合、出力制御部106は、ガイド情報生成部105からの指示に従って、予め定められた通知音をスピーカー72から出力する。情報処理装置60は以上の処理を繰り返し実行する。
以上に説明したように、本実施形態の情報処理装置60は、運動器具10を利用して運動する被験者を検出するための検出領域を撮像して得られる撮像画像、および、検出領域の被写体の深度情報に基づいて、理想的な運動を行っているかどうかを被験者に認識させるためのガイド情報を生成し、その生成したガイド情報を、被験者の各部の動きを特定するための前述のモーション画像と併せて出力する制御を行う。これにより、運動器具10を利用して運動する被験者に対して、自身が理想的な運動を行っているかどうかを認識させることができる。
以上、本発明の実施形態を説明したが、上述の実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。