(57)【要約】【課題】  ある人物に他の人物の動きを実現させるために有用な情報を提供する。【解決手段】  情報処理装置１００は、第１オブジェクト（例えば学習者）の体格を表す第１体格情報を取得する。この第１体格情報は、第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される情報である。また情報処理装置１００は、第２オブジェクト（例えば模範者）の体格を表す第２体格情報と、第２オブジェクトの複数の部位の動きを表す動き情報とを取得する。そして情報処理装置１００は、第２オブジェクトに関するこれらの第２体格情報と動き情報とに基づいて、第１体格情報に関連付けられる動き情報を生成する。【選択図】  図５
2020005192.tif 000002
【特許請求の範囲】
【請求項１】
第１オブジェクトとしての人物の体格を表す第１体格情報であって、前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１体格情報を取得する第１取得手段と、
第２オブジェクトとしての人物の体格を表す第２体格情報と、前記第２オブジェクトの複数の部位の動きを表す動き情報とを取得する第２取得手段と、
前記第２取得手段により取得される前記第２体格情報と前記第２オブジェクトの複数の部位の動きを表す前記動き情報とに基づいて、前記第１取得手段により取得される前記第１体格情報に関連付けられる動き情報を生成する生成手段とを有することを特徴とする情報処理装置。
【請求項２】
カメラによる前記第１オブジェクトの撮影に基づく前記第１オブジェクトの動きを表す第１画像と、前記生成手段により生成された前記第１体格情報に関連付けられる動き情報に基づく第２画像とを、表示部に表示させる表示制御手段とを有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１画像は、前記第１オブジェクトをカメラにより撮影することで得られる撮影画像、又は、前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１オブジェクトの動き情報に基づく画像であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２画像は、オブジェクトの３次元形状を表す画像、又は、オブジェクトのスケルトン画像であることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記表示制御手段は、前記第１画像と前記第２画像とを重ねて表示させることを特徴とする請求項２乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記表示制御手段は、前記第２画像における特定の関節の位置と前記第１画像における前記特定の関節に対応する位置とが重なるように、前記第１画像と前記第２画像とを表示させることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第１画像および前記第２画像は動画像であり、
前記表示制御手段は、前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１オブジェクトの動き情報により特定される前記第１画像の特定時点と、前記生成手段により生成された前記第１体格情報に関連付けられる動き情報により特定される前記第２画像の特定時点とが同期するように、前記第１画像と前記第２画像とを表示させることを特徴とする請求項２乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記表示制御手段は、前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１オブジェクトの動き情報と、前記生成手段により生成された前記第１体格情報に関連付けられる動き情報とに基づいて決まる視点で、前記第１画像と前記第２画像とを表示させることを特徴とする請求項２乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記表示制御手段は、前記第１画像と前記第２画像とを表示させる第１表示モードと、前記第１画像と前記第２オブジェクトの動きを表す第３画像とを表示させる第２表示モードとを含む複数の表示モードのうち、選択された表示モードに応じた画像を前記表示部に表示させることを特徴とする請求項２乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１オブジェクトの動き情報と、前記生成手段により生成された前記第１体格情報に関連付けられる動き情報とを比較した結果を出力する出力手段を有することを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記第１体格情報および前記第２体格情報は、オブジェクトの関節の位置を表す情報、身長に関する情報、及び体重に関する情報の少なくとも何れかを含むことを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記動き情報は、オブジェクトの関節の動きを表す情報であることを特徴とする請求項１乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記第２取得手段により取得される前記第２体格情報と前記第２オブジェクトの複数の部位の動きを表す動き情報は、前記第２オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される情報であることを特徴とする請求項１乃至１２の何れか１項に記載の情報処理装置。
【請求項１４】
第１オブジェクトとしての人物の体格を表す第１体格情報を取得する第１取得手段と、
第２オブジェクトとしての人物の体格を表す第２体格情報と、前記第２オブジェクトの複数の部位の動きを表す動き情報であって前記第２オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記動き情報とを取得する第２取得手段と、
前記第２取得手段により取得される前記第２体格情報と前記第２オブジェクトの複数の部位の動きを表す前記動き情報とに基づいて、前記第１取得手段により取得される前記第１体格情報に関連付けられる動き情報を生成する生成手段とを有することを特徴とする情報処理装置。
【請求項１５】
カメラによる前記第１オブジェクトの撮影に基づく前記第１オブジェクトの動きを表す第１画像と、前記生成手段により生成された前記第１体格情報に関連付けられる動き情報に基づく第２画像とを、表示部に表示させる表示制御手段とを有することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１オブジェクトの動き情報と、前記生成手段により生成された前記第１体格情報に関連付けられる動き情報とを比較した結果を出力する出力手段を有することを特徴とする請求項１４又は１５に記載の情報処理装置。
【請求項１７】
第１オブジェクトとしての人物の体格を表す第１体格情報であって、前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１体格情報を取得する第１取得工程と、
第２オブジェクトとしての人物の体格を表す第２体格情報と、前記第２オブジェクトの複数の部位の動きを表す動き情報とを取得する第２取得工程と、
前記第２取得工程において取得される前記第２体格情報と前記第２オブジェクトの複数の部位の動きを表す前記動き情報とに基づいて、前記第１取得工程において取得される前記第１体格情報に関連付けられる動き情報を生成する生成工程とを有することを特徴とする情報処理方法。
【請求項１８】
カメラによる前記第１オブジェクトの撮影に基づく前記第１オブジェクトの動きを表す第１画像と、前記生成工程において生成された前記第１体格情報に関連付けられる動き情報に基づく第２画像とを、表示部に表示させる表示制御工程とを有することを特徴とする請求項１７に記載の情報処理方法。
【請求項１９】
前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１オブジェクトの動き情報と、前記生成工程において生成された前記第１体格情報に関連付けられる動き情報とを比較した結果を出力する出力工程を有することを特徴とする請求項１７又は１８に記載の情報処理方法。
【請求項２０】
コンピュータを、請求項１乃至１６の何れか１項に記載の情報処理装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトの体格と動きに関する情報を処理する技術に関する。
【背景技術】
【０００２】
スポーツ競技等の練習を行う学習者が、その競技に習熟した模範者のフォームを参考にして、自らのフォームを修正することがある。例えばゴルフの練習を行う学習者は、カメラにより自分のフォームを撮影した画像と、模範者のフォームを撮影した画像とを比較することで、自分のフォームをどのように修正すればよいか考えることができる。
【０００３】
特許文献１には、学習者のフォームを撮影した動画像に対して、内側が半透明又は透明のワイヤーフレームからなる模範フォームを表すスケルトン画像を重畳させて表示することで、学習者のフォームと模範フォームとを比較しやすくすることが記載されている。また、特許文献１には、スケルトン画像の位置、向き、サイズ等をユーザ操作により調整することで、学習者の撮影画像にスケルトン画像をより正確に重ねられることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６４６２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、学習者がどのような姿勢をとれば模範フォームが表す習熟した動きを実現できるのかを知ることができない場合がある。例えば、学習者の体格と模範フォームの体格とが異なる場合、学習者は模範フォームと一致する姿勢をとることはできず、無理に模範フォームに近い姿勢を取ろうとしても習熟した動きを実現できない。
【０００６】
本発明は上記の課題に鑑みてなされたものであり、ある人物（例えば学習者）に他の人物（例えば模範者）の動きを実現させるために有用な情報を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明に係る情報処理装置は、例えば以下の構成を有する。すなわち、第１オブジェクトとしての人物の体格を表す第１体格情報であって、前記第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される前記第１体格情報を取得する第１取得手段と、第２オブジェクトとしての人物の体格を表す第２体格情報と、前記第２オブジェクトの複数の部位の動きを表す動き情報とを取得する第２取得手段と、前記第２取得手段により取得される前記第２体格情報と前記第２オブジェクトの複数の部位の動きを表す前記動き情報とに基づいて、前記第１取得手段により取得される前記第１体格情報に関連付けられる動き情報を生成する生成手段とを有する。
【発明の効果】
【０００８】
本発明によれば、ある人物に他の人物の動きを実現させるために有用な情報を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態における分析システムの構成の一例を示す図である。
【図２】実施形態におけるカメラ群による撮影について説明するための図である。
【図３】実施形態におけるデータ推定ＧＵＩの一例を示す図である。
【図４】実施形態におけるフォーム修正ＧＵＩの一例を示す図である。
【図５】実施形態におけるデータ表示設定ＧＵＩの一例を示す図である。
【図６】実施形態における情報処理装置の動作について説明するためのフローチャートである。
【図７】実施形態における情報処理装置による動作データ推定の処理について説明するためのフローチャートである。
【図８】実施形態における情報処理装置による推定データ修正の処理について説明するためのフローチャートである。
【図９】実施形態におけるデータ表示設定の処理について説明するためのフローチャートである。
【図１０】実施形態における情報処理装置の機能構成の一例を示すブロック図である。
【図１１】実施形態における回転の転写について説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１１】
［分析システムの構成］
図１は、本実施形態における、分析システム１０の構成の一例を示す図である。図１に示す分析システム１０は、情報処理装置１００と複数の撮像装置（カメラ群）１０９とで構成される。そして、情報処理装置１００は、ＣＰＵ１０１、メインメモリ１０２、記憶部１０３、入力部１０４、表示部１０５、外部Ｉ／Ｆ部１０６を備え、各機能部がバス１０７を介して接続されている。
【００１２】
まず、ＣＰＵ１０１は、情報処理装置１００を統括的に制御する演算処理装置であり、記憶部１０３等に格納された各種プログラムを実行して様々な処理を行う。なお、情報処理装置１００がＣＰＵ１０１とは異なる１又は複数の専用のハードウェアを有し、ＣＰＵ１０１による処理の少なくとも一部を専用のハードウェアが実行してもよい。専用のハードウェアの例としては、ＡＳＩＣ（特定用途向け集積回路）、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、およびＤＳＰ（デジタルシグナルプロセッサ）などがある。メインメモリ１０２は、各種処理で用いるデータやパラメータなどを一時的に格納するほか、ＣＰＵ１０１に作業領域を提供する。記憶部１０３は、各種プログラムやＧＵＩ（グラフィカル・ユーザ・インターフェイス）表示に必要な各種データを記憶する大容量記憶装置で、例えばハードディスクやシリコンディスク等の不揮発性メモリが用いられる。
【００１３】
入力部１０４は、キーボードやマウス、電子ペン、タッチパネル等の装置であり、ユーザからの操作入力を受け付ける。表示部１０５は、液晶パネルなどで構成され、分析結果のＧＵＩ表示などを行う。外部Ｉ／Ｆ部１０６は、カメラ群１０９を構成する各カメラなどの外部装置とＬＡＮ１０８を介して接続され、映像データや制御信号データの送受信を行う。バス１０７は上述の各部を接続し、データ転送を行う。カメラ群１０９は、ＬＡＮ１０８経由で情報処理装置１００と接続されており、情報処理装置１００からの制御信号をもとに、撮影の開始や停止、カメラ設定（シャッタースピード、絞りなど）の変更、撮影した画像データの転送を行う。カメラ群１０９は１以上のカメラを含んでいればよく、カメラの数は限定されない。
【００１４】
なお、分析システム１０の構成は、上記に限定されるものではない。例えば、情報処理装置１００は、カメラ群１０９と接続されていなくてもよく、カメラ群１０９による撮影に基づくデータを記憶する記憶装置（不図示）とＬＡＮ１０８を介して接続され、記憶装置から撮影に基づくデータを取得してもよい。また例えば、情報処理装置１００は、入力部１０４と表示部１０５との少なくとも一方を備えていなくてもよい。また、入力部１０４と表示部１０５との少なくとも一方が情報処理装置１００の外部に別の装置として存在していて、ＣＰＵ１０１が、入力部１０４を制御する入力制御部、及び表示部１０５を制御する表示制御部として動作してもよい。
【００１５】
図１０は、本実施形態に係る情報処理装置１００の機能構成の一例を示す図である。情報処理装置１００は、撮影決定部１００１、データ重畳部１００５、データ比較部１００９、データ編集部１０１０、表示方法設定部１０１１、ユーザ入力部１０１２、推定部１０１３、及び補正部１０１４を有する。また、推定部１０１３は、動作推定部１００３、及びスキニング部１００４を有する。補正部１０１４は、位置補正部１００６、時刻同期部１００７、及び欠損補間部１００８を有する。情報処理装置１００が有するこれらの機能部は、ＣＰＵ１０１が記憶部１０３等に格納された各種プログラムを実行することで実現される。なお、これらの機能部の少なくとも何れかが専用のハードウェアによって実現されてもよい。情報処理装置１００が有する各機能部の詳細については、フローチャートを用いながら後述する。
【００１６】
図２は、カメラ群１０９を構成する各カメラの配置例を示した図である。分析を行う対象はスポーツ、演技等、数多く考えられるが、本実施形態では、ゴルフのスイングを分析する場合を中心に説明する。図２において、空間２０１内に被写体（オブジェクト）２０２としての学習者が存在し、６台のカメラ２０３が被写体２０２を複数の方向から撮影できるように配置されている。カメラ群１０９を構成する個々のカメラ２０３においては、空間２０１全体、或いは空間２０１内の被写体２０２を含む注目領域が画角内に収まるように、カメラの向き、焦点距離、露出制御パラメータ等の撮影パラメータが設定されている。
【００１７】
［ＧＵＩの説明］
図３、図４、図５は本実施形態に係る、分析システム１０により表示されるＧＵＩの一例を示した図である。これらの画面は、情報処理装置１００の表示部１０５に表示される。ただし、これらの画面が情報処理装置１００に接続された別の表示装置（不図示）に表示されてもよい。図３は当該ＧＵＩの基本画面であり、データ推定を行う際に表示される画面の一例を示す。データ推定ＧＵＩ３００は、画像表示領域３０１、分析データ表示領域３０２、撮影ボタン３０３、データ推定ボタン３０４、及びデータ重畳ボタン３０５を有する。さらにデータ推定ＧＵＩ３００は、位置合わせボタン３０６、時刻同期ボタン３０７、欠損補間ボタン３０８、フォーム修正遷移ボタン３０９、表示設定遷移ボタン３１０、シークバー３１１を有する。
【００１８】
図４は学習者がフォームを修正するために表示させる画面の一例を示す。フォーム修正ＧＵＩ４００は、画像表示領域４０１、フォーム修正用の別視点表示領域４０２、シークバー４０３、データ推定遷移ボタン４０４、表示設定遷移ボタン４０５を有する。図５はデータの表示設定を行うために表示される画面の一例を示す。データ表示設定ＧＵＩ５００は、画像表示領域５０１、編集データ表示領域５０２、模範者データ用の表示設定領域５０３、学習者データ用の表示設定領域５０４、編集データ用の表示設定領域５０５を有する。さらにデータ表示設定ＧＵＩ５００は、シークバー５０６、データ推定遷移ボタン５０７、フォーム修正遷移ボタン５０８を有する。
【００１９】
以下では、ＧＵＩに対する操作とそれに応じた情報処理装置１００の動作について説明する。ＧＵＩに対する操作は、例えばマウスやタッチパネルを用いてユーザにより行われる。まず、データ推定ＧＵＩ３００において、撮影ボタン３０３が押下されると、カメラ群１０９によって学習者のスイングが多視点から動画で撮影が開始されるように、情報処理装置１００がカメラ群１０９へ指示を出力する。さらに、撮影中にもう一度撮影ボタン３０３が押されると、撮影を終了するための指示がカメラ群１０９へ出力される。
【００２０】
撮影終了後にデータ推定ボタン３０４が押下されると、撮影された画像に基づいて情報処理装置１００が学習者の３次元形状のデータ（以下では形状データと記載）とスケルトンデータを推定し、推定結果に基づく学習者の画像が画像表示領域３０１に表示される。本実施形態において、学習者や模範者などの被写体（オブジェクト）の形状データはその被写体の外形を表し、被写体のスケルトンデータはその被写体の骨格を表す。被写体の骨格を表すスケルトンデータは、例えば、被写体が有する複数の関節の位置を示すマーカーと、マーカー同士を接続する線分などにより表現される。画像表示領域３０１に表示される画像は、例えばカメラ群１０９に含まれる何れかのカメラの視点に対応する画像である。本実施形態では、学習者の正面から撮影するカメラ（仮にＣａｍ７とする）の視点に対応する画像が表示されるものとする。
【００２１】
次にデータ重畳ボタン３０５が押下されると、情報処理装置１００は、模範者の動きを表す画像を、画像表示領域３０１に表示された学習者の画像に重畳して表示させる。このとき、情報処理装置１００は、模範者の形状データ及びスケルトンデータを示す画像を表示させてもよいし、模範者の動き情報を学習者のスケルトンデータに適用した結果を示す画像を表示してもよい。模範者の動き情報を学習者のスケルトンデータに適用することで、模範者の動きを学習者の体格で再現した様子を示す画像を生成することができる。また、情報処理装置１００は、画像を重畳して表示させる際、学習者の画像と模範者の動きを表す画像の少なくともいずれかを透明又は半透明にして表示してもよい。
【００２２】
また、情報処理装置１００は、分析データ表示領域３０２に、学習者の動きに関する情報と模範者の動きに関する情報とを比較可能なように表示する。ここで表示される内容としては、例えば時間経過に伴う各被写体における特定の関節の角度の変化や、角度の変化の変曲点などである。何れの関節の角度情報を表示させるかについては、ユーザ操作に応じて選択されてもよいし、情報処理装置１００が、学習者と模範者とで動きが大きく異なる関節などを自動で選択してもよい。
【００２３】
次に、位置合わせボタン３０６、時刻同期ボタン３０７、及び欠損補間ボタン３０８の何れかが押されると、情報処理装置１００は、学習者が模範者とのフォーム比較を行いやすいように、模範者のデータと学習者のデータの少なくとも何れかを補正する。この時、各ボタンの横に表示されている自動チェックボックスにチェックが入っていれば、自動で補正が行われ、チェックが入っていなければ、手動で補正するためのユーザ操作に応じて補正が行われる。データの補正結果は画像表示領域３０１及び分析データ表示領域３０２の画像に反映される。
【００２４】
また、シークバー３１１を動かす操作が行われると、情報処理装置１００は、シークバー３１１の位置に応じた時点に対応する画像を画像表示領域３０１に表示させる。シークバー３１１には、学習者と模範者との動きの差が大きい時刻などの特定の時点に対応する位置が表示されていてもよい。例えば図３では、シークバー３１１上の○印が、情報処理装置１００により特定された、学習者と模範者の動きの差が大きい時刻を示している。フォーム修正遷移ボタン３０９が押下されると、情報処理装置１００は、表示させる画像をフォーム修正ＧＵＩ４００に遷移させる。また、表示設定遷移ボタン３１０が押下されると、情報処理装置１００は、表示させる画像をデータ表示設定ＧＵＩ５００に遷移させる。
【００２５】
フォーム修正ＧＵＩ４００に画面が遷移した際、画像表示領域４０１には、画像表示領域３０１と同様の画面が表示されている。一方、別視点表示領域４０２には、学習者と模範者の動きの差が最も大きく表れる視点からの映像が表示される。学習者はこの領域に表示されたデータを見ながらフォームを修正していくことができる。シークバー４０３、および表示設定遷移ボタン４０５の機能については、データ推定ＧＵＩ３００の説明において記述したものと同様である。データ推定遷移ボタン４０４が押下されると、情報処理装置１００は、表示画面をデータ推定ＧＵＩ３００に遷移させる。
【００２６】
データ表示設定ＧＵＩ５００に画面が遷移すると、画像表示領域５０１には、模範者および学習者の形状データ及びスケルトンデータが表示される。また、情報処理装置１００は、データ表示設定ＧＵＩ５００におけるユーザ操作に応じて学習者の形状データ及びスケルトンデータの編集を行い、編集後の形状データ及びスケルトンデータを画像表示領域５０１に表示できる。なお、形状データとスケルトンデータの一方のみが表示されてもよいし、形状データとスケルトンデータの一方のみが編集可能であってもよい。また、画像表示領域５０１におけるオブジェクト（模範者又は学習者）の関節がユーザ操作により指定されると、画像表示領域５０１には関節の曲がり具合などが定量的に表示される。編集データ表示領域５０２には、画像表示領域５０１において指定された関節の曲がり具合がグラフ化して表示される。ユーザは、編集データ表示領域５０２を見ながら、学習者と模範者の関節の状態が近づくように学習者の形状データ及びスケルトンデータの編集を行うことで、学習者が模範者と同様の動きをした場合の様子を画像表示領域５０１に表示させることができる。なお、情報処理装置１００は、ユーザ操作により指定された関節の状態が模範者に近い状態になるように学習者の形状データ及びスケルトンのデータを自動で編集してもよいし、指定されていない関節についても自動で編集してもよい。
【００２７】
模範データ用の表示設定領域５０３、推定データ用の表示設定領域５０４、及び編集データ用の表示設定領域５０５には、各種のデータを表示するか否か、また表示する場合にどのような表示形式で表示するかを、ユーザに選択させるための画像が表示される。例えば、図５の推定データ用の表示設定領域５０４のように、表示対象としてオブジェクトの形状が選択され、表示形式としてテクスチャが選択され、透明度が中間値（５０％）に設定されると、半透明な色付き（テクスチャ付き）の形状データが表示される。シークバー５０６、データ推定遷移ボタン５０７、及びフォーム修正遷移ボタン５０８の機能については、データ推定ＧＵＩ３００、及びフォーム修正ＧＵＩ４００の説明において記述したものと同様である。
【００２８】
［情報処理装置の処理フロー］
次に、情報処理装置１００で行われる処理について、図６、図７、図８、及び図９に示すフローチャートと図１０に示すブロック図を参照して説明する。これらのフローチャートにより示される処理は、ＣＰＵ１０１が所定のプログラムを記憶部１０３から読み込んでメインメモリ１０２に展開し、これをＣＰＵ１０１が実行することで実現される。図１０は、情報処理装置１００の機能構成を示しており、各機能部はＣＰＵ１０１が上記のプログラムを実行することで実現される。なお、フローチャート内の処理や情報処理装置１００の機能部の少なくとも一部を、ＣＰＵ１０１とは異なる１又は複数の専用のハードウェアにより実現してもよい。
【００２９】
初めに、図６に示すフローチャート及び図１０に示すブロック図を参照して、情報処理装置１００で行われる処理の概要を示す。図６に示す処理は、カメラ群１０９を含む分析システム１０の初期設定が完了したタイミングで開始可能である。ただし図６に示す処理の開始タイミングはこれに限定されない。例えば、学習者などの被写体（オブジェクト）を複数の方向から撮影することで得られるデータが情報処理装置１００に入力された後、フォーム比較用の画像を表示させるための操作がユーザにより行われたタイミングで、図６に示す処理が実行されてもよい。
【００３０】
Ｓ６０１では動作推定部１００３が、画像入力部１００２に入力された動画像に基づいて被写体の動作データ（形状とスケルトンの動きのデータ）の生成を行い、スキニング部１００４が形状データとスケルトンデータの関連付けを行う。Ｓ６０１の詳細については、図７を用いて後述する。Ｓ６０２では、データ重畳部１００５が学習者の動作データと比較するための模範者の動作データを読み込んで取得する。模範者の動作データには、模範者の体格を表す情報（形状データ及びスケルトンデータ）と、模範者の動きを表す情報とが含まれる。本実施形態では、模範者や学習者などのオブジェクトの動きを表す情報は、複数の関節とその接続部からなるスケルトンの動きを表す情報、すなわちオブジェクトの複数の関節の動きを表す動き情報として表現される。なお、動き情報の内容はこれに限定されず、例えば関節同士の中間部など、関節とは異なる部位の動きを表す情報であってもよい。また本実施形態では、情報処理装置１００がオブジェクトの体格を表す情報としてオブジェクトの形状データとスケルトンデータの両方を取得して処理する場合を中心に説明する。ただしこれに限定されず、情報処理装置１００は形状データとスケルトンデータの何れか一方を取得して同様の処理を行ってもよい。
【００３１】
ここで、データ重畳部１００５により読み込まれる模範者のデータは、ユーザにより入力された属性情報（年齢や性別、身長、及び体重等）を参考に自動的に選択されてもよい。また、データベースに記憶された複数のデータの中から対象のデータを指定するユーザにより選択されてもよい。また、読み込まれるデータが、撮影画像に基づいて判定された学習者の属性を用いて選択されてもよい。なお、模範者のデータは、模範者を複数のカメラにより複数の方向から撮影することで得られる画像に基づいて予め生成されたものであってもよいし、その他のコンピュータグラフィックス処理で生成されたものであってもよい。
【００３２】
Ｓ６０３では、位置補正部１００６及び時刻同期部１００７が、学習者の動作データと模範者の動作データに対して、位置合わせ及び時刻同期を行う。また、欠損補間部１００８が、データに欠損が存在する場合の欠損補間を行う。Ｓ６０３の詳細については、図８を用いて後述する。なお、これらの処理は選択的に行うことができ、すべてを実行することは必須ではない。時刻同期については、学習者のデータを模範者のデータに合わせる処理とは逆に、模範者のデータを学習者のデータに合わせてもよいが、本実施形態では学習者のデータを模範者のデータに合わせる場合を中心に説明する。
【００３３】
Ｓ６０４では、データ比較部１００９が、データの比較を行いその結果をＧＵＩの表示領域に表示させる。この時、データ編集部１０１０及び表示方法設定部１０１１はデータの編集及び表示方法の設定を行ってもよく、その結果が表示領域に表示される画像に反映される。Ｓ６０４の詳細については、図９を用いて後述する。Ｓ６０５では、撮影決定部１００１がユーザ入力部１０１２への入力に応じて、カメラ群１０９による再撮影を行うかを決定する。再撮影を行わない場合は、処理を終了する。再撮影を行う場合、撮影決定部１００１がＬＡＮ１０８経由でカメラ群１０９に撮影指示を送り、撮影が開始される。以上が情報処理装置１００で行われる処理の概要である。
【００３４】
続いて、各ステップの詳細について、図７、図８、及び図９に示すフローチャート、並びに図１０に示すブロック図を参照して述べる。この時、各機能部の処理は、前述したようなＧＵＩに対するユーザ入力をユーザ入力部１０１２が受けつけ、入力に応じた指示が各ブロックに出力されることで実行される。
【００３５】
まずは、Ｓ６０１の動作データ生成について図７及び図１０を参照して具体的に述べる。図７は、Ｓ６０１における処理の詳細のフローを示す。Ｓ７０１では、撮影ボタン３０３が押下されたことに応じて、撮影決定部１００１がＬＡＮ１０８経由でカメラ群１０９に撮影指示を送る。この指示に応じて、カメラ群１０９に含まれる複数のカメラは、学習者を複数の方向から撮影する。この撮影により得られる動画像は、ＬＡＮ１０８、外部Ｉ／Ｆ部１０６、及びバス１０７を介してメインメモリ１０２に読み込まれる。再度撮影ボタン３０３が押下されると、動画像の撮影が停止する。
【００３６】
Ｓ７０２では、データ推定ボタン３０４が押下されたことに応じて、動作推定部１００３がメインメモリ１０２から上記の撮影に基づく動画像を読み込み、その画像に基づいて学習者の動作データを生成する。ここで生成される動作データには、学習者の体格を表す情報（形状データ及びスケルトンデータの推定結果）と、学習者の動きを表す情報（スケルトンの動きの推定結果）が含まれる。生成された動作データは、スキニング部１００４に出力される。複数の方向から撮影された画像から被写体の形状を推定する方法としては、例えば視体積交差法がある。視体積交差法とは、複数視点から撮影された各画像から物体のシルエットを抽出し、それらのシルエットを３次元空間中に投影して交差部分を求めることで、物体の３次元形状データを得る手法である。なお、被写体の形状を推定する方法はこれに限らず、種々の手法を用いることができる。
【００３７】
また、動画像からスケルトンデータの推定する方法として、本実施形態では、上記の推定された形状データを用いてスケルトンデータを推定する方法について述べる。人間の形状の大まかな凹凸は、体の各部位によって決まっている。例えば、首が頭部よりも細く、首から下は左右の肩及び胸部の三又に分岐するという人間の構造は、基本的に共通している。このような大まかな凹凸の情報をスケルトンデータ推定に利用できる。人間が起立している場合を考え、頭から足方向に断面形状を走査していくと、断面形状が徐々に伸縮したり、分岐したりする構造を確認することができる。このような構造から、頭部、首、肩、肘、手首、骨盤付近、太もも、膝、及び足首の関節を算出し、その関節を接続するようにスケルトンデータを生成する。ただし、スケルトンデータの推定方法は上記の方法に限定されない。
【００３８】
Ｓ７０３では、動作推定部１００３から出力された動作データに基づいて、スキニング部１００４が形状データとスケルトンデータの関連付けを行い、データ重畳部１００５に出力する。スキニング部１００４が行う処理であるスキニングとは、スケルトンの動きと、そのスケルトンに対応する物体の表面形状の頂点がどのように変形するかを関連付ける処理である。スキニングの方法の一つとして、スケルトンの根元にある関節から表面形状の頂点までの距離に合わせて形状の変形度を決定する方法がある。例えば、関節に対して三次元的に近い位置にある頂点は小さく移動させ、遠い位置にある頂点は大きく移動させる処理である。しかし、三次元的な距離だけによって頂点の移動量を決定した場合、腕の関節を動かした際に腹部の頂点が移動する等の不具合が起こることがあるため、形状データ上の測地線距離と三次元距離を用いて最適にスキニングを行う方法なども用いられる。なお、これらはスキニング処理の一例であり、スキニング部１００４による処理の具体的な内容はこれに限定されない。
【００３９】
Ｓ７０４では、撮影決定部１００１が、カメラ群１０９に再撮影を行わせるかを決定する。例えば、Ｓ７０２において推定された形状データ及びスケルトンデータの少なくとも何れかの破綻の程度が所定の閾値より大きい場合、撮影決定部１００１がカメラ群１０９に撮影指示を送り、再撮影が行われてもよい。また例えば、情報処理装置１００は再撮影を行うか否かを選択するための画面を表示し、ユーザ操作に応じて再撮影の指示を行ってもよい。再撮影を行う場合、Ｓ７０１へ戻り、動画像の撮影と、形状データ及びスケルトンデータの推定が再度行われる。本実施形態では一例として、Ｓ７０４で再撮影を行うか判定しているが、情報処理装置１００は任意のタイミングで撮影ボタン３０３が押下されたことを検出して再撮影の指示を出力してもよい。以上がＳ６０１における具体的な処理の内容である。
【００４０】
Ｓ６０１の処理が終了すると、Ｓ６０２において模範者のデータが読み込まれ、学習者のデータと模範者のデータの表示が行われるが、その表示の方法は、複数考えられる。例えば、模範者の形状及びスケルトンの動きを表す画像を、学習者の画像にそのまま重畳する方法がある。また例えば、模範者のスケルトンの動きを学習者のスケルトンデータに適用して、模範者の動きを伴った学習者の画像を表示する方法がある。その他にも、種々の表示方法が考えられるが、本実施形態では、学習者の動きを表す画像と、模範者の動きを伴った学習者の形状を表す画像とを、重ねて表示する場合を中心に述べる。上述したように、Ｓ７０３において形状データとスケルトンデータの関連付けが行われている。そのため、模範者のスケルトンの動きを示すデータを学習者のスケルトンデータに転写すると、その動きに合わせて学習者の形状データが変形し、模範者の動きを伴った学習者の形状を表す画像が得られる。
【００４１】
なお、表示される画像の一方である学習者の動きを表す画像は、学習者をカメラにより撮影することで得られる撮影画像であってもよいし、Ｓ６０１の処理により生成される学習者の動き情報に基づく画像（例えばスケルトンの動きを表す画像）であってもよい。また、表示される画像のもう一方である模範者の動きに応じた画像として、本実施形態では模範者の動きをする学習者の３次元形状を表す画像を表示する場合を中心に説明するが、これに限らず、模範者の動きをする学習者のスケルトン画像が表示されてもよい。また、情報処理装置１００は、上記の種々の内容を表示する複数の表示モードのうち、選択された表示モードに応じた画像を表示部に表示させてもよい。それにより、ユーザにとって見やすい画像を提供できる。
【００４２】
ここで、スケルトンの動きの転写について図１１を用いて説明する。模範者の初期関節位置をＨＥＰとし、模範者の動作後の関節位置をＨＥ、学習者の初期関節位置をＨＬＰ、学習者の動作後の関節位置をＨＬとする。また、関節の回転を表す回転行列Ｒθを定義する。まず、模範者の関節に対する回転行列は以下のような式（１）〜（３）で定義される。
【００４３】
【数１】
2020005192.tif 000003
【００４４】
なお、各関節間のスケルトンを表すベクトルは正規化されているものとする。これを学習者の関節に転写すると、式（４）、（５）のような式で関節の回転は表される。
【００４５】
【数２】
2020005192.tif 000004
【００４６】
なお、ここでは簡単のため二次元的な関節の回転について示しているが、三次元の回転でも同様の方法で転写を行うことができる。このように、関節の回転のみを転写すると、基準の関節の位置を変えずに関節の曲がり具合のみを変更することが可能である。
【００４７】
以上のように、模範者のスケルトンの動きを学習者のスケルトンデータに転写することで、学習者のスケルトンデータに模範者の動きをさせることができる。すなわち、情報処理装置１００は、模範者の体格を表すスケルトンデータと模範者の複数の関節の動きを表す動き情報とに基づいて、学習者の体格を表すスケルトンデータに関連付けられる動き情報を生成することができる。そして情報処理装置１００は、学習者のスケルトンデータに関連付けられる動き情報に基づく画像と、カメラによる学習者の撮影に基づく学習者の動きを表す画像（Ｓ６０１の処理により取得されるデータに基づく画像）とを表示部に表示させることができる。これらの画像は何れも学習者の体格に応じた画像であるが、一方は学習者の動きを表す画像であり、他方は模範者の動きを表す画像である。
【００４８】
ここで、模範者の動きを表す画像と学習者の動きを表す画像とを重畳表示する場合、その比較がしやすいように、情報処理装置１００はスケルトンデータの位置合わせ及び時刻同期を行う。また、撮影に基づくデータを用いて形状データ及びスケルトンデータの推定を行った結果、データに欠損が発生する場合には、その欠損を補間する処理が行われる。このようなスケルトンデータの位置合わせ、時刻同期、及び欠損補間を行うＳ６０３の処理について、図８及び図１０を参照して具体的に述べる。図８は、Ｓ６０３における処理の詳細のフローを示す。
【００４９】
Ｓ８０１では、位置補正部１００６が、模範者の動きを表すスケルトンデータと学習者のスケルトンデータとの位置合わせを行い、時刻同期部１００７に出力する。スケルトンデータの位置合わせの基準とする点としては、例えばスケルトンの分岐が多い人間の骨盤付近の基準関節Ｈを基準とすることで、大まかな位置合わせを行える。すなわち、学習者の基準関節ＨＬの回転軸及び位置と、模範者の基準関節ＨＥの回転軸及び位置とが重なるように、表示のための位置合わせが行わればよい。ただし、位置合わせの基準となる特定の関節は、必ずしも骨盤付近の関節にしなくてもよい。例えば、野球の投手の手首の動きを比較する場合には、手首の関節の位置を合わせてもよい。また、関節に限らず、例えば学習者と模範者の重心などを基準に位置合わせが行われてもよい。位置合わせボタン３０６が押下されたとき、自動チェックボックスにチェックが入っている場合は、位置補正部１００６は、基準関節を基準に自動で位置合わせを行う。自動チェックボックスにチェックが入っておらず、特定の関節が指定されている場合には、位置補正部１００６は、その関節を基準に位置合わせを行う。
【００５０】
Ｓ８０２では、時刻同期部１００７が、模範者の動きと学習者の動きの時刻同期を行い、同期された動作データを欠損補間部１００８に出力する。例えば、模範者のゴルフのスイングの動きを表す動画像と学習者のスイングの動きを表す動画像とが表示される場合、両画像におけるインパクトの瞬間などの特定時点が同期するように、時刻同期処理が行われる。具体的には、分析データ表示領域３０２に示されるようなスケルトンの動きの変曲点を基準に同期処理が行われる。なお、撮影データに基づく学習者のスケルトンの動きにノイズが含まれる場合には、動きの変曲点を求める前にノイズを除くための平滑化処理を行う。時間方向の平滑化の方法として、例えば平均値フィルタ、中間値フィルタ、及びガウシアンフィルタなどを用いることができる。時刻同期部１００７は、平滑化された動作データＳ（ｆ（ｔ））に対して式（６）を満たすｔを複数算出することで、変曲点を求める。これらの処理はすべての関節について行われてもよいし、１以上の所定の関節について行われてもよい。
【００５１】
【数３】
2020005192.tif 000005
【００５２】
時刻同期部１００７は、これらの処理を模範者の動作データに対しても行うことで、模範者の動きの変曲点も算出する。時刻同期部１００７は、これらの結果に基づいて変曲点を合わせる前に、まず、動きの開始時点と終了時点を一致させる。時刻同期部１００７は、模範者の動作データにあって学習者の動作データにない時系列、もしくは模範者の動作データになく、学習者の動作データにのみある時系列など、不要なデータについては比較対象とせず、除外してもよい。これらの処理が適宜行われた後、時刻同期部１００７は模範者の動きの変曲点と学習者の動きの変曲点を対応付ける。変曲点を対応付ける方法として、例えば、関節の動きを表すグラフにおける変曲点周辺の傾きの変化を用いる方法がある。変曲点周辺の傾きは微分式から算出でき、各変曲点の時刻ｔに対して傾きの変化ｃが記録される（式（７））。ここで、各ｔと対応する傾きの変化を記録した行列をＴとする。例えば、模範者の変曲点及び傾きの変化を記録した行列ＴＥ（ｍ，ｎ）について、開始からｍ番目の変曲点について、ｍ＝ｔｍ，ｎ＝ｃｔｍとなる。
【００５３】
【数４】
2020005192.tif 000006
【００５４】
これらの変曲点の時刻と、変曲点前後の傾きの変化を用いて、変曲点の対応がとられる。一例として、動作データの開始時点からの対応をとる場合について説明する。開始時点から変曲点を探索する場合、まず模範者の動作データの開始直後の変曲点ｔＥ１が探索される。また学習者の動作データについて、ｔＥ１の周囲に変曲点があるかが判定される。対応する変曲点が一つしかない場合、その変曲点が対応点として扱われる。対応する変曲点が複数存在する場合、複数の変曲点候補の中で、変曲点前後の傾きが一致する変曲点が対応点として扱われる。傾きが一致する変曲点が複数存在する場合は、よりｔＥ１に近い変曲点が対応点として扱われる。対応点が見つかった後、時間方向の伸縮が行われる。まず、区間０〜ｔＬ１の区間のデータがｔＥ１／ｔＬ１倍され、そのあとの区間のデータがなめらかになるように接続される（式（８））。
【００５５】
【数５】
2020005192.tif 000007
【００５６】
対応点がない場合、この処理を行わず次の変曲点について処理が行われる。この後、模範者の動きの最後の変曲点まで、区間ごとに処理を繰り返すことで時刻の同期が行われる。また、変曲点の対応は必ずしも動きの開始時点からとる必要はない。動きの終了時点から逆順に対応をとっていってもよいし、ゴルフのインパクトの瞬間など、動きの特徴のある１以上の時点を基準として時刻同期を行ってもよい。
【００５７】
Ｓ８０３では、欠損補間部１００８が、学習者のスケルトンの動きの欠損補間を行い、補間された動作データをデータ比較部１００９とデータ編集部１０１０に出力する。スケルトンの動きの時刻同期はスケルトンの動きの変曲点を基準に行うため、変曲点間の時点における学習者のデータに欠損がある場合には、同時点の模範者データを用いて補間を行う。ここで、欠損の開始時刻をｔＬｒ１、終了時刻をｔＬｒ２、その時点での模範者及び学習者の関節の変位をθＬｒ１、θＬｒ２、θＥｒ１、θＥｒ２とすると、欠損区間の補間は式（９）で行われる。
【００５８】
【数６】
2020005192.tif 000008
【００５９】
このようにして欠損区間毎に補間が行われる。以上がＳ６０３における具体的な処理の内容である。
【００６０】
続いて、Ｓ６０４におけるデータ表示に関わる処理について、図９及び図１０を参照して具体的に述べる。図９は、Ｓ６０４における処理の詳細なフローを示す。Ｓ９０１では、データ比較部１００９が模範者と学習者の動作データを比較し、その比較結果を出力する。出力される比較結果には、図５の編集データ表示領域５０２に示されるような数値的な情報と、画像表示領域５０１に示されるような画像情報が含まれる。なお、これらの情報の何れか一方のみが出力されてもよい。画像情報の出力においては、学習者にとって違いが分かりやすいようにデータ表示が行われる。データ比較の例として、任意の視点からみた人物の輪郭の違いを計算する方法がある。学習者のデータ（学習者の形状とその動きを表すデータ）と模範者のデータ（学習者が模範者の動きをした場合の形状を表すデータ）はそれぞれ３次元形状を持っている。そのため、３次元空間上の任意の視点に置かれた仮想的なカメラによってうつされる形状がどのようになるかを算出することができる。例えば、仮想カメラの各画素から出る光線と被写体の形状データとの衝突判定を行い、衝突した画素にだけラベル付を行うことで、被写体の輪郭を算出できる。ここで、ある仮想視点Ｈから見た、学習者のデータの輪郭画像をＭＬＨとし、模範者のデータの輪郭画像をＭＥＨとすると、データ比較部１００９は、式（１０）を満たす仮想視点Ｈを算出して、その視点から見た画像を表示させる。
【００６１】
【数７】
2020005192.tif 000009
【００６２】
ここでは、学習者の動き情報と模範者の動き情報とに基づいて決まる視点として、模範者と学習者の動きの差が最も大きく表れる視点の画像が表示されるものとしているが、表示画像に対応する視点はこれに限定されない。例えば、動きの差が最も小さく見える視点の画像が表示されてもよいし、側面図、上面図、及び前面図など、複数の視点からの画像が表示されてもよい。また、学習者と模範者のデータを直接比較する画像だけでなく、Ｓ９０２におけるデータ編集後に、編集後データと学習者、または模範者との動きの比較を表す画像が表示されてもよい。
【００６３】
次にＳ９０２では、データ編集部１０１０が、Ｓ８０３で出力された動作データの編集を行い、編集された動作データをデータ比較部１００９と表示方法設定部１０１１に出力する。動作データの編集は、画像表示領域５０１に対するユーザ操作に基づいて行われてもよいし、編集データ表示領域５０２のグラフに対するユーザ操作に基づいて行われてもよい。ユーザは、画像表示領域５０１で操作する場合、選択した関節を三次元的に操作することで、学習者の動作データを編集できる。一方、ユーザは、編集データ表示領域５０２のグラフを編集する場合、二次元的な関節の角度変位グラフを操作することで、学習者のデータを編集できる。本実施形態では、動作データが編集された場合には、元の動作データは保持したまま、編集後の動作データが別に作成されるものとする。なお、データ編集部１０１０は、学習者のデータ及び模範者のデータの少なくとも何れかに基づいて、動作データを自動で編集してもよい。
【００６４】
Ｓ９０３では、表示方法設定部１０１１が、Ｓ９０２において出力されたデータの表示方法を設定する。データの表示方法は、模範データ用の表示設定領域５０３、推定データ用の表示設定領域５０４、及び編集データ用の表示設定領域５０５のそれぞれに対する操作に基づいて設定される。例えば、模範データ用の表示設定領域５０３の模範データチェックボックスによって、模範データを表示するか否かが選択される。模範データが表示される場合は、形状データ及びスケルトンデータの少なくとも一方が表示される。また、各表示データについて透明度を設定し、透過させて表示することが可能である。さらに、表示データについてテクスチャ付きで表示するか、輪郭だけ表示するかなど、表示形式を設定可能である。以上がＳ６０４の具体的な処理の内容である。
【００６５】
Ｓ６０４の処理が終了すると、Ｓ６０５において、ユーザ入力部１０１２への入力に応じて、撮影決定部１００１が動画像の再撮影を行うかどうかを決定する。データ推定遷移ボタン５０７が押下されると、データ推定ＧＵＩ３００に戻り、撮影ボタン３０３の押下に応じて再撮影が行われる。再撮影が行わない場合は処理が終了する。
【００６６】
なお、学習者が本実施形態に係る分析システム１０を使用してフォームの改善を行う場合には、自分のフォームを撮影した後に情報処理装置１００を操作して模範者の動作データと自分の動作データの比較をしてもよいが、撮影を行いながら比較してもよい。撮影を行いながら比較する場合、情報処理装置１００は撮影に基づくデータを用いてリアルタイムに形状推定及びスケルトン推定を行い、画像の表示を行う。この場合に学習者は、表示画像を見ながら自分でフォームを修正することで、模範者との差を徐々に小さくすることができる。例えば、情報処理装置１００は初めに学習者と模範者の動きの差が最も大きい視点の画像を表示し、フォーム修正によってその視点に置ける差がある程度小さくなると、表示画像を次に差が大きい視点の画像に切り替えてもよい。そして情報処理装置１００は、全視点において学習者と模範者の差がある程度以上小さくなると、差が小さくなったことを示す画像を表示部に表示させてもよい。
【００６７】
以上説明したように、本実施形態に係る情報処理装置１００は、第１オブジェクト（例えば学習者）の体格を表す第１体格情報を取得する。この第１体格情報は、第１オブジェクトを複数のカメラにより複数の方向から撮影することで得られる画像に基づいて生成される情報である。また情報処理装置１００は、第２オブジェクト（例えば模範者）の体格を表す第２体格情報と、第２オブジェクトの複数の部位の動きを表す動き情報とを取得する。そして情報処理装置１００は、第２オブジェクトに関するこれらの第２体格情報と動き情報とに基づいて、第１体格情報に関連付けられる動き情報を生成する。上記のような構成によれば、第２オブジェクトの動きを、第２オブジェクトとは別の第１オブジェクトの体格に適用した結果を提供することができる。例えば、模範者の動きを学習者がした場合の様子を表す画像を表示部に表示させることができる。
【００６８】
また、情報処理装置１００が、通常の学習者の画像と、模範者の動きをする学習者の画像とを表示部に表示させることで、ユーザは学習者の動きと模範者の動きとを容易に比較することができる。さらに、情報処理装置１００が、学習者の動きのデータと模範者の動きのデータの位置合わせ及び時刻同期の少なくとも何れかを行って、模範者の動きの画像と学習者の動きの画像を重ねて表示させることで、よりそれらの比較が容易となる。さらに、情報処理装置１００が、学習者の動きと模範者の動きの差が大きくあらわれる視点の画像を表示することで、それらの比較がさらに容易となる。このようにして表示された画像を見ることで、学習者は、自分の動きの改善を従来よりも簡単に行うことができる。また、情報処理装置１００が、学習者の動きと模範者の動きを比較した結果（関節の角度の情報など）も出力することで、学習者は模範者との差を数値的に把握することもできる。
【００６９】
なお、本実施形態では、模範者の動きを表す画像と学習者の動きを表す画像とを重ねて表示する場合を中心に説明したが、表示形態はこれに限らない。例えば、模範者の動きを表す画像と学習者の動きを表す画像とが並べて表示されてもよい。また、模範者の動きを表す動画像と学習者の静止画像とが表示されてもよい。また、模範者の動きを学習者の体格に適用することで得られる、模範者の動きをする学習者の画像のみを表示してもよい。
【００７０】
また、本実施形態では、被写体の体格を表す体格情報に、被写体の３次元形状の情報及び関節の位置を表すスケルトンの情報が含まれる場合を中心に説明したが、体格情報の内容はこれに限定されない。例えば、情報処理装置１００が取得する学習者及び模範者の体格情報には、３次元形状の情報とスケルトンの情報の何れか一方のみが含まれていてもよい。また例えば、情報処理装置１００は、学習者の２次元形状を示すデータを体格情報として取得し、模範者の動作データを学習者の２次元形状を表すデータに適用してもよい。また例えば、体格情報は、被写体の身長に関する情報、体重に関する情報、及び体型（痩せ型か肥満型かなど）に関する情報の少なくとも何れかであってもよい。情報処理装置１００は、このような学習者の体格情報の入力を受け付け、模範者の動作データをそれらの入力された情報に応じて補正して、その補正された動きを表す画像を表示させてもよい。撮影に基づいて得られる学習者のスケルトンデータなどの情報に模範者の動作データを適用すれば、実際の学習者が模範者の動きをした場合に近い画像が得られる。一方、撮影画像によらず、ユーザ操作により入力された体格情報に合わせて模範者の動作データを補正する方法によれば、システムの処理量を低減でき、且つ、撮影に係るユーザの手間を削減できる。
【００７１】
また、本実施形態では学習者と模範者の動きを比較する場合について説明したが、学習者と模範者の形状の比較のために上記の構成を適用してもよい。この場合にも、位置合わせ、時刻同期、欠損補間、及びＧＵＩを用いたデータ表示について、上記と同様の方法を用いることができる。
【００７２】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ等）によっても実現可能である。また、そのプログラムをコンピュータにより読み取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【００７３】
１００  情報処理装置
１０９  カメラ群
【図１】
2020005192.tif 000010
【図２】
2020005192.tif 000011
【図３】
2020005192.tif 000012
【図４】
2020005192.tif 000013
【図５】
2020005192.tif 000014
【図６】
2020005192.tif 000015
【図７】
2020005192.tif 000016
【図８】
2020005192.tif 000017
【図９】
2020005192.tif 000018
【図１０】
2020005192.tif 000019
【図１１】
2020005192.tif 000020