(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024071015
(43)【公開日】2024-05-24
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06T 7/73 20170101AFI20240517BHJP
G06T 7/00 20170101ALI20240517BHJP
【FI】
G06T7/73
G06T7/00 660Z
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022181705
(22)【出願日】2022-11-14
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100154036
【弁理士】
【氏名又は名称】久保 貴弘
(72)【発明者】
【氏名】西村 悠
(72)【発明者】
【氏名】河野 塁
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096CA02
5L096DA04
5L096EA39
5L096EA43
5L096FA09
5L096FA59
5L096FA60
5L096FA64
5L096FA67
5L096FA69
5L096JA03
(57)【要約】
【課題】ポーズ類似度の算出に係る演算負荷を低減する。
【解決手段】ユーザの各部位の位置情報を含むスケルトンデータを推定する推定部と、前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出部と、を備える、情報処理装置。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ユーザの各部位の位置情報を含むスケルトンデータを推定する推定部と、
前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出部と、
を備える、情報処理装置。
【請求項2】
前記算出部は、
複数のユーザの各々のスケルトンデータから算出された複数のモーメント特徴量に基づき、前記複数のユーザのポーズの類似度を算出する、
請求項1に記載の情報処理装置。
【請求項3】
前記算出部は、
複数のユーザの各々のスケルトンデータに含まれる各ボーンの長さに基づき、複数のモーメント特徴量を算出する、
請求項2に記載の情報処理装置。
【請求項4】
前記算出部は、
複数の動画において、対応フレーム毎に算出された複数のモーメント特徴量に基づき、前記対応フレーム毎の前記複数のユーザのポーズの類似度を算出する、
請求項3に記載の情報処理装置。
【請求項5】
前記算出部は、
複数の対応フレームにおいて算出された複数の類似度に基づき、合算類似度スコアを算出する、
請求項4に記載の情報処理装置。
【請求項6】
モーメント特徴量は、回転不変性を有する7または8の特徴量を含む、
請求項4に記載の情報処理装置。
【請求項7】
前記複数のユーザのポーズの類似度に基づくフィードバック情報を生成する生成部、
を更に備える、
請求項4に記載の情報処理装置。
【請求項8】
前記生成部は、
前記動画に含まれるユーザの各部位に対し、前記ユーザの各部位の長さに応じて変換された参照ボーンを含む他のユーザの参照スケルトンデータを重ね合わせた重畳画面を生成する、
請求項7に記載の情報処理装置。
【請求項9】
前記算出部は、
前記ボーンの両端の関節点ごとに推定された信頼性スコアに基づき、前記モーメント特徴量を算出する、
請求項2に記載の情報処理装置。
【請求項10】
前記算出部は、
前記信頼性スコアが所定値以上で推定された関節点から成るボーンの長さに基づき、前記モーメント特徴量を算出する、
請求項9に記載の情報処理装置。
【請求項11】
前記算出部は、
前記複数のモーメント特徴量の各々に、前記各々のモーメント特徴量の算出に用いたボーンの両端の関節点の前記信頼性スコアに基づく重み付け処理を実行し、重み付け処理が実行された複数のモーメント特徴量に基づき、前記複数のユーザのポーズの類似度を算出する、
請求項9に記載の情報処理装置。
【請求項12】
前記算出部は、
対象フレームから所定の期間にある各フレームの前記スケルトンデータに含まれる2以上のボーンの長さの平均値に基づき、前記対象フレームのモーメント特徴量を算出する、
請求項11に記載の情報処理装置。
【請求項13】
前記算出部は、
前記複数のユーザのボーンの長さを補正するキャリブレーション処理により得られた補正ボーンの長さに基づき、前記モーメント特徴量を算出する、
請求項12に記載の情報処理装置。
【請求項14】
前記生成部は、
前記複数のユーザのポーズの類似度に基づき、色情報を前記フィードバック情報として生成する、
請求項7に記載の情報処理装置。
【請求項15】
前記生成部は、
前記複数のユーザのボーン毎の類似度の大きさに基づき、各ボーンの類似度合いを示す色情報を生成する、
請求項14に記載の情報処理装置。
【請求項16】
前記生成部は、
前記複数のユーザのポーズの類似度に基づき、文字情報を前記フィードバック情報として生成する、
請求項7に記載の情報処理装置。
【請求項17】
前記生成部は、
前記複数のユーザのポーズの類似度に基づき、音声情報を前記フィードバック情報として生成する、
請求項7に記載の情報処理装置。
【請求項18】
前記生成部に生成されたフィードバック情報および重畳画面情報を出力する出力部、
を更に備える、
請求項7に記載の情報処理装置。
【請求項19】
ユーザの各部位の位置情報を含むスケルトンデータを推定することと、
前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出することと、
を含む、コンピュータにより実行される情報処理方法。
【請求項20】
コンピュータに、
ユーザの各部位の位置情報を含むスケルトンデータを推定する推定機能と、
前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出機能と、
を実現させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、ユーザのポーズと、他のユーザ(例えば、お手本となるユーザ)のポーズと、の類似度を算出し、ユーザにフィードバックを行う技術が開発されている。例えば、特許文献1では、機械学習により得られたポーズの類似度を判別する判別モデルを用いて、映像に含まれる各ユーザのポーズの類似度を算出する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載の技術では、事前にデータの学習が必要となり、任意の動画への適用は困難である。更にニューラルネットワークによる判別モデルを用いるため、演算負荷が大きく、リアルタイムによる処理が困難になり得る。
【0005】
そこで、本開示では、ポーズ類似度の算出に係る演算負荷を低減することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提案する。
【課題を解決するための手段】
【0006】
本開示によれば、ユーザの各部位の位置情報を含むスケルトンデータを推定する推定部と、前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出部と、を備える、情報処理装置が提供される。
【0007】
また、本開示によれば、ユーザの各部位の位置情報を含むスケルトンデータを推定することと、前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出することと、を含む、コンピュータにより実行される情報処理方法が提供される。
【0008】
また、本開示によれば、コンピュータに、ユーザの各部位の位置情報を含むスケルトンデータを推定する推定機能と、前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出機能と、を実現させる、プログラムが提供される。
【図面の簡単な説明】
【0009】
【
図1】本開示の一実施形態による情報処理システムを示す説明図である。
【
図2】本開示に係る情報処理装置10の機能構成の一例を説明するための説明図である。
【
図3】スケルトンデータの推定に係る具体例を説明するための説明図である。
【
図4A】本開示に係るモーメント特徴量の具体例を説明するための説明図である。
【
図4B】本開示に係るモーメント特徴量の具体例を説明するための説明図である。
【
図5】スケルトンデータの推定精度を低下させ得る要因の一例を説明するための説明図である。
【
図6】信頼性スコアに基づくモーメント特徴量の算出に係る具体例を説明するための説明図である。
【
図7】キャリブレーション処理の一例を説明するための説明図である。
【
図8】本開示に係る第1のフィードバック例を説明するための説明図である。
【
図9】本開示に係る第2のフィードバック例を説明するための説明図である。
【
図10】本開示に係る第3のフィードバック例を説明するための説明図である。
【
図11】本開示に係る情報処理装置10の全体動作を示すフローチャートである。
【
図12】本開示に係る情報処理装置10の類似度算出処理を示すフローチャートである。
【
図13】本開示の一実施形態に係る情報処理装置90のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0011】
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.情報処理システムの概要
2.情報処理装置10の機能構成例
3.詳細
3.1.全体概要
3.2.モーメント特徴量の算出
3.3.ポーズ類似度の算出
3.4.フィードバック例
4.動作処理例
5.作用効果例
6.ハードウェア構成例
7.補足
【0012】
<<1.情報処理システムの概要>>
ユーザの姿勢情報には、人間や動物等の動体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトンデータが用いられる。スケルトンデータは、部位の情報を含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトンデータは、部位間を結ぶ線分であるボーンを含んでもよい。スケルトン構造におけるボーンは、例えば人間の骨に相当し得るが、ボーンの位置や数は、必ずしも実際の人間の骨格と整合していなくてもよい。
【0013】
スケルトンデータにおける各部位の位置および姿勢は、ユーザの動きを検出するセンサにより取得可能である。例えば、撮像センサが取得した画像データの時系列データに基づいて、身体の各部位の位置および姿勢を検出する技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得された時系列データに基づいて各部位の位置および姿勢(モーションセンサの位置情報)を取得する技術が存在する。
【0014】
また、スケルトンデータの用途は多様である。例えば、スケルトンデータの時系列データは、スポーツにおいてフォーム改善に用いられたり、VR(Virtual Reality)またはAR(Augmented Reality)等のアプリケーションに用いられたりしている。また、スケルトンデータの時系列データを用いて、ユーザの動きを模したアバター映像を生成し、当該アバター映像を配信することも行われている。
【0015】
本開示に係る一実施形態では、複数のユーザのポーズの類似度を算出する処理に際して、スケルトンデータが用いられる。具体的には、本開示に係る情報処理システムは、複数のユーザのポーズの類似度を算出する処理に際して、スケルトンデータを構成するボーンの長さに関する情報を用いる。これにより、類似度判定に係る演算負荷をより低減することを可能にする。
【0016】
まず、本開示の一実施形態として、ユーザの各部位の位置情報を含むスケルトンデータを推定し、当該スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する情報処理システムの構成例を説明する。なお、以下では動体の一例として主に人間を説明するが、本開示の実施形態は、動物およびロボットなどの他の動体にも同様に適用可能である。
【0017】
図1は、本開示の一実施形態による情報処理システムを示す説明図である。
図1に示すように、本開示の一実施形態による情報処理システムは、カメラ5と、情報処理装置10と、を有する。
【0018】
(カメラ5)
本開示に係るカメラ5は、ユーザU1を撮影することで画像データを取得する。また、カメラ5は、撮影により得られた画像データを情報処理装置10に出力する。ここでの、画像データとは、主に複数のフレームからなる動画像のデータが想定されるが、1フレームからなる静止画像のデータであってもよい。
【0019】
(情報処理装置10)
本開示に係る情報処理装置10は、ユーザU1の各部位の位置情報を含むスケルトンデータを推定する。また、情報処理装置10は、推定したスケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する。スケルトンデータの推定およびモーメント特徴量の算出に関する詳細は後述する。
【0020】
また、情報処理装置10は、ユーザU1と、他のユーザと、のポーズの類似度を算出し、当該算出結果に応じたフィードバック情報を生成する。
【0021】
また、情報処理装置10は、
図1に示すように、ユーザU1を含む映像C1を表示する。また、情報処理装置10は、
図1に示すように、他のユーザを含む映像C2を併せて表示してもよい。更に、情報処理装置10は、フィードバック情報を映像または音声として出力してもよい。
【0022】
ユーザU1は、情報処理装置10により表示される自らの映像C1と、他のユーザ(例えば、お手本となるユーザ)の映像C2を確認しつつ、多種多様な動作を行う。例えば、あるユーザU1がダンスの練習を行う場合、ユーザU1は、他のユーザの一例としてダンス講師を含む映像C2と、自らの映像C1を確認しつつ、ダンスを練習することが可能である。このように、ユーザがダンス講師の動きを再現しつつ動作の練習をすることで、ユーザのダンスの上達速度が上昇され得る。
【0023】
なお、
図1では、情報処理装置10として設置型の装置を示しているが、本開示に係る情報処理装置10は係る例に限定されない。情報処理装置10は、例えば、PC(Personal Computer)、スマートフォン、タブレット端末またはサーバ等の他の装置であってもよい。
【0024】
以上、本開示に係る情報処理システムの概要を説明した。続いて、
図2を参照し、情報処理装置10の機能構成の具体例を順次説明する。
【0025】
<<2.情報処理装置10の機能構成例>>
図2は、本開示に係る情報処理装置10の機能構成の一例を説明するための説明図である。本開示に係る情報処理装置10は、
図2に示すように、操作表示部110と、音声出力部120と、通信部130と、記憶部140と、制御部150と、を備える。
【0026】
<操作表示部110>
本開示に係る操作表示部110は、ユーザの操作を受け付ける操作部としての機能と、後述する生成部155により生成されたフィードバック情報および重畳画面を表示する表示部としての機能を包含する。フィードバック情報および重畳画面の具体例については後述する。また、操作表示部110は、カメラ5の撮影により得られた画像データに含まれる
図1に示したユーザの映像C1と、後述する通信部130により得られた画像データに含まれる他のユーザの映像C2と、を表示してもよい。なお、操作表示部110は、出力部の一例である。
【0027】
操作部としての機能は、例えば、タッチパネル、キーボードまたはマウスにより実現され得る。
【0028】
また、表示部としての機能は、例えば、タッチパネル、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置により実現され得る。
【0029】
なお、情報処理装置10は、操作部および表示部の機能を一体化した構成としているが、操作部および表示部の機能を分離した構成としてもよい。また、情報処理装置10は、必ずしも操作部の機能を包含する構成を有していなくてもよい。
【0030】
<音声出力部120>
本開示に係る音声出力部120は、後述する生成部155により生成されたフィードバック情報を出力する音声出力機能を包含する。また、音声出力部120は、後述する通信部130が他の装置から受信した音声データを出力してもよい。なお、音声出力部120は、出力部の一例である。
【0031】
音声出力部120としての機能は、例えば、スピーカ、ヘッドホン、イヤフォン等の各種装置により実現され得る。
【0032】
なお、本明細書では、操作表示部110および音声出力部120が出力部である一例を主に説明するが、情報処理装置10は、操作表示部110または音声出力部120のいずれか一方のみを出力部として備えていてもよい。
【0033】
<通信部130>
本開示に係る通信部130は、ネットワークを介して、他の装置と各種情報を含む信号を送信または受信する。例えば、通信部130は、カメラ5によりユーザU1を撮影して取得された画像データを、他の装置に送信してもよい。また、通信部130は、他の装置が有するカメラにより他のユーザを撮影して取得された画像データを、当該他の装置から受信してもよい。ここでの、他の装置とは、例えば情報処理装置10と同一の機能構成を有する装置であってもよい。
【0034】
また、通信部130は、情報処理装置10が備える図示しないマイクにより得られた音声データを他の装置に送信してもよい。また、通信部130は、他の装置が有するマイクにより得られた音声データを受信してもよい。
【0035】
また、通信部130は、後述する類似度、類似度スコアまたは合算類似度スコア等の各種ポーズ類似度に関する情報を、他のユーザが利用する他の装置に送信してもよい。他のユーザがダンス講師であり、ユーザが生徒である場合、他の装置の操作表示部がポーズ類似度に関する情報をダンス講師にフィードバックすることで、当該ダンス講師は、生徒のダンスの出来具合を確認しつつ、ダンスの授業を進められ得る。
【0036】
<記憶部140>
本開示に係る記憶部140は、ソフトウェアおよび各種データを保持する。例えば、記憶部140は、画像データに含まれる複数のフレームの各々から得られた類似度スコアを保持する。
【0037】
<制御部150>
本開示に係る制御部150は、情報処理装置10の動作全般を制御する。本開示に係る制御部150は、
図2に示すように、推定部151と、算出部153と、生成部155と、を備える。
【0038】
(推定部151)
本開示に係る推定部151は、ユーザの各部位の位置情報を含むスケルトンデータを推定する。スケルトンデータには、ユーザの各部位の姿勢情報が更に含まれ得る。ここで、
図3を参照し、スケルトンデータの推定に係る具体例を説明する。
【0039】
図3は、スケルトンデータの推定に係る具体例を説明するための説明図である。推定部151は、例えば、カメラ5により取得された画像データに基づき、スケルトン構造における各部位の位置情報および姿勢情報を含むスケルトンデータUSを取得する。
【0040】
例えば、推定部151は、DNN(Deep Neural Network)等の機械学習を用いて、ユーザU1のスケルトンデータUSを生成してもよい。より具体的には、推定部151は、例えば、人物を撮影して取得された画像データと、スケルトンデータの組を教師データとする機械学習により得られた推定器を用いて、ユーザU1のスケルトンデータUSを生成してもよい。但し、推定部151によるスケルトンデータUSの推定方法は係る例に限定されない。
【0041】
なお、スケルトンデータUSには、部位の情報に加え、ボーンの情報(位置情報、姿勢情報、骨格特徴情報等)も含まれる。例えば、スケルトンデータUSには、左手K1および左肘K2を繋ぐボーンB1と、左肘K2および左肩K3を繋ぐボーンB2と、が含まれ得る。このように、スケルトンデータUSは、複数の部位Kと、当該複数の部位Kを繋ぐ複数のボーンBとで構成される。
【0042】
なお、以下の説明では、部位を関節点と称する場合があるが、ここでの、関節点とは、人間が有する実際の関節に対応していなくてもよい。例えば、関節点には、実際の関節とは異なる頭KAが含まれてもよい。また、関節点は、頭KAに含まれる目の位置に設けられてもよいし、左手K1および左肘K2の間に更に複数の関節点が設けられてもよい。このように、スケルトンデータUSがユーザU1の形状を保持可能であれば、任意の位置に関節点およびボーンが設けられてもよい。
【0043】
なお、
図3では、ユーザU1の全身のスケルトンデータUSを示しているが、推定部151は、必ずしも全身のスケルトンデータUSを推定する必要はなく、ユースケースによって必要に応じた部位のみ(例えば、上半身または手のみ等)のスケルトンデータUSを推定してもよい。
【0044】
(算出部153)
本開示に係る算出部153は、推定部151により推定されたスケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する。
【0045】
また、算出部153は、スケール不変性および並進不変性に加え、更に回転不変性を有するモーメント特徴量を算出してもよい。各モーメント特徴量の詳細については後述する。
【0046】
また、算出部153は、複数のユーザの各々のスケルトンデータから算出された複数のモーメント特徴量に基づき、ポーズの類似度を算出してもよい。例えば、算出部153は、あるポーズを行うユーザのスケルトンデータから算出されたモーメント特徴量と、ユーザと同じポーズを行う他のユーザのスケルトンデータから算出されたモーメント特徴量と、に基づき、ユーザと他のユーザが行うポーズの類似度を算出する。
【0047】
(生成部155)
本開示に係る生成部155は、複数のユーザのポーズの類似度に基づくフィードバック情報を生成する。詳細は後述するが、フィードバック情報には、例えば色情報、文字情報または音情報が含まれる。
【0048】
また、生成部155は、動画に含まれるユーザの各部位に対し、当該ユーザの各部位の長さに応じて変換された参照ボーンを含む他のユーザの参照スケルトンデータを重ね合わせた重畳画面を生成してもよい。
【0049】
以上、本開示に係る情報処理装置10の機能構成の一例を説明した。続いて、
図4~
図10を参照し、本開示に係る情報処理システムの詳細について順次説明する。
【0050】
<<3.詳細>>
<3.1.全体概要>
あるユーザは、ダンス、ヨガ、フィットネス、スポーツおよびリハビリ等の動作を練習する際に、お手本となる他のユーザのポーズ(例えば、動きおよび体勢)を参考にし、当該他のユーザのポーズに自らのポーズが近づくように練習することで上達を図る場合がある。
【0051】
このような場合、お手本となる他のユーザのポーズに対するユーザのポーズの類似度(以下では、ポーズ類似度と表現する場合がある。)を当該ユーザにフィードバックすることで、ユーザは、目標とするポーズ(即ち、他のユーザのポーズ)にどの程度近づいているかを定量的に把握することが可能になり、動作の習得に係る上達速度が早められ得る。
【0052】
ここで、ユーザによっては、練習および習得したい動作が異なり得る。そのため、任意の動作(を含む動画)に対応するポーズ類似度の算出方法が望ましい。
【0053】
また、ユーザを撮影するカメラの位置および姿勢と、お手本となる他のユーザを撮影するカメラの位置および姿勢と、を完全に一致させることは困難になり得る。そのため、カメラの位置および姿勢のズレに影響を受けないポーズ類似度の算出方法が望ましい。
【0054】
また、リアルタイムでポーズ類似度をユーザにフィードバックすることが可能であれば、ユーザの動作習得に係る上達速度が早められ得る。
【0055】
そこで、本開示に係る情報処理装置10による類似度算出処理は、任意の動作(を含む動画)に対応し、且つ、カメラの位置および姿勢にも依存せず、更に、リアルタイムでポーズ類似度のフィードバックを可能とする。以下では、その各要件を満たすことを可能にする処理の詳細について、順次説明する。
【0056】
<3.2.モーメント特徴量の算出>
本開示に係る情報処理装置10は、ポーズ類似度の算出に際して、少なくともスケール不変性および並進不変性を有するモーメント特徴量を用いることを特徴とする。本開示に係るモーメント特徴量は、更に、回転不変性を有していてもよい。
【0057】
図4Aおよび
図4Bは、本開示に係るモーメント特徴量の具体例を説明するための説明図である。スケール不変性、並進不変性および回転不変性を有するモーメント特徴量の一例としてHuモーメントが存在する。
【0058】
Huモーメントは、画像に含まれる形状の類似度判定に活用できる特徴量である。例えば、ある形状の平行移動、スケールおよび回転に対して不変な量をHuモーメントとして抽出することが可能である。
【0059】
例えば、
図4Aに示す画像と、
図4Bに示す画像と、はそれぞれ同じ三角形の形状を有している。ここで、
図4Aに示す三角形と、
図4Bに示す三角形と、はそれぞれ画像内の位置、スケールおよび回転方向が異なるが、三角形の形状が同一であることから当該画像から算出されるHuモーメントは、同一の量となる。
【0060】
そこで、本開示に係る情報処理装置10は、Huモーメントをポーズ情報に適用することで、平行移動、スケールおよび回転に対して不変なポーズの特徴量を算出する。これにより、ユーザを撮影するカメラの位置および姿勢の影響を受けずに、ポーズ類似度を算出することが可能になる。
【0061】
また、機械学習等と比較して計算負荷が小さくなるため、デバイスに対する制限を減らすことが可能になり、計算負荷の低減から更に、リアルタイムでポーズ類似度を算出することが可能になり得る。以下では、Huモーメントの算出に係る具体的な方法について順次説明する。まずは、ポーズ情報に適用するモーメント特徴量の算出方法の説明に先立ち、一般的なモーメント特徴量の算出に係る詳細を説明する。
【0062】
・一般的なモーメント特徴量
(素モーメント)
まず、素モーメントMijは、下記数式(1)により算出される。ここで、xは二次元画像のx座標であり、yは二次元画像のy座標である。Σには、二次元画像の全てのピクセルが順に代入される。また、Iは、二値画像の正規数値(1or0)であり、形状のあるピクセルを1とし、形状のないピクセルを0とする。例えば、画像から特徴点を抽出し、抽出された特徴点を2値画像変換することで、形状のあるピクセルと形状のないピクセルが判別され得る。
【0063】
【0064】
ここで、形状のあるピクセルのx軸の重心xcおよびy軸の重心ycは、それぞれ下記数式(2)により算出される。
【0065】
【0066】
(中心モーメント)
中心モーメントCijは、並進不変性を有するモーメント特徴量である。中心モーメントCijは、下記数式(3)により算出される。ここで、C00は、形状のあるピクセルの合計値であり、換言すると形状のあるピクセルの面積に相当する。
【0067】
【0068】
(正規中心モーメント)
正規中心モーメントRijは、スケール不変性および並進不変性を有するモーメント特徴量である。正規中心モーメントRijは、下記数式(4)により算出される。
【0069】
【0070】
(Huモーメント)
HuモーメントI1~I7は、回転不変性、スケール不変性および並進不変性を有するモーメント特徴量である。HuモーメントI1~I7は、下記数式(5)~(11)により算出される。また、HuモーメントI1~I7を補足する補足式I8は、下記数式(12)により算出される。
【0071】
【0072】
【0073】
【0074】
【0075】
【0076】
【0077】
【0078】
【0079】
以上、一般的なモーメント特徴量の算出方法について説明した。上述した一般的なモーメント特徴量の算出方法では、二次元画像内の全てのピクセルの数値を用いて、素モーメント、中心モーメント、正規中心モーメントおよびHuモーメント等の各種モーメント特徴量が算出される。
【0080】
このような一般的なモーメント特徴量をポーズ情報に適用すると、例えば、各ユーザの形状(例えば、体格)が異なっている場合に、両ユーザが同じポーズをしていても同一の量ではないHuモーメントが算出され得る。そのため、このようなユーザ間で形状が異なることが原因で、ポーズ類似度も低く算出され得る。また、上述した例では、全てのピクセルの数値を用いてモーメント特徴量が算出されるため、情報処理装置10の計算負荷が大きくなり得る。
【0081】
そこで、本開示に係るモーメント特徴量は、ポーズ類似度の算出に係るユーザの体格依存性を減らし、更に、計算負荷を減少させることを特徴とする。より具体的には、本開示に係る情報処理装置10は、モーメント特徴量の算出に際して、全てのピクセルではなく、ユーザのスケルトンデータを構成する各ボーン(各関節点)が位置するピクセルの数値のみを用いる。
【0082】
・ポーズ情報に適用するモーメント特徴量
ポーズ情報に適用するモーメント特徴量の算出式は、正規中心モーメントを算出する数式(4)を除いて、上述した数式(1)~(12)と同じであるため、重複する詳細な説明は省略する。但し、数式(1)~(3)のxは二次元画像に含まれるボーンの各関節点のx座標に変更され、yは二次元画像に含まれるボーンの各関節点のy座標に変更される。また、Σには、二次元画像に含まれるボーンの全ての関節点が順に代入される。
【0083】
正規中心モーメントを算出する数式(4)は、下記数式(13)に置き換えられる。数式(13)は、数式(4)の形状のあるピクセルの面積の長さ成分(即ち、面積C00の平方根)を、ボーンの長さLに置き換えた式である。また、数式(1)~(3)と同様に、数式(13)におけるxは二次元画像に含まれるボーンの各関節点のx座標であり、yは二次元画像に含まれるボーンの各関節点のy座標である。また、Σには、二次元画像に含まれるボーンの全ての関節点が順に代入される。
【0084】
【0085】
ここで、ボーンの長さLは、下記数式(14)により算出される。数式(14)における、p、qは、ボーンの関節点同士を結ぶ組合せであり、必要な関節点が任意に選択されてもよい。なお、
図3に示すスケルトンデータUSの一例では、ボーンの関節点同士を結ぶ組合せは、人間の形を構成する14本からなる。
【0086】
【0087】
以上で説明した、本開示に係るポーズ情報に適用するモーメント特徴量によれば、骨格の情報を用いるため、ユーザ間の形状(体格)の違いによる影響を抑制することが可能になり、更に、モーメント特徴量の算出に用いるピクセル数を減らすことで情報処理装置10の計算負荷が減らされ得る。
【0088】
以上、本開示に係る算出部153のモーメント特徴量の算出に係る詳細を説明した。続いて、上述したモーメント特徴量を用いた類似度算出に係る詳細を説明する。
【0089】
<3.3.ポーズ類似度の算出>
算出部153は、あるポーズを行うユーザのスケルトンデータ、および当該ポーズと同じポーズを行う他のユーザのスケルトンデータに基づき、各モーメント特徴量を算出し、当該算出した各モーメント特徴量からポーズ類似度を算出する。以下の説明では、ユーザのスケルトンデータから算出されたモーメント特徴量をユーザ特徴量と表現し、他のユーザのスケルトンデータから算出されたモーメント特徴量をお手本特徴量と表現する場合がある。
【0090】
例えば、算出部153は、複数の動画において、対応フレーム毎に算出された複数のモーメント特徴量に基づき、前記対応フレームごとの複数のユーザのポーズの類似度を算出する。ここでの対応フレームとは、ある同一の動作を行うフレームであり、例えばユーザの画像データおよび他のユーザの画像データを時刻同期させた後に時刻が対応しているフレームのペアを示す。
【0091】
モーメント特徴量がHuモーメントI(補足式を含む。)である場合、ユーザ特徴量Iaは、I1
a~I8
aからなり、お手本特徴量Ibは、I1
b~I8
bからなる。
【0092】
算出部153は、下記数式(15)~(17)のいずれかにより、類似度Dを算出してもよい。
【0093】
【0094】
【0095】
【0096】
ここで、Hnは、対数スケールの値であり、下記数式(18)により算出される。
【0097】
【0098】
但し、類似度Dは上述した例に限定されず、例えばcos類似度など、用途に合わせて変更されてもよい。また、回転に対して不変性を無くしたい場合等においては、数式(18)におけるHuモーメントIの代わりに、正規中心モーメントRが代入されてもよい。
【0099】
また、上述した数式(15)~(17)では、必ずしも数式(12)に示したHuモーメントの補足式I8を用いなくてもよい。この場合、数式(15)~(17)は、n=1~7の数列式で表せられる。
【0100】
また、算出部153は、算出した類似度Dを、0~1までの範囲に変換した類似度スコアsに変換してもよい。ここでの類似度スコアsとは、最も類似度が高い場合を1とし、下記数式(19)および(20)により算出される。
【0101】
【0102】
【0103】
ここで、数式(19)におけるkと、数式(20)におけるw1、w2と、はそれぞれ任意設定パラメータであり、適宜設定されてもよい。また、類似度スコアsの算出式は、数式(19)または(20)に限定されない。
【0104】
算出部153は、上述したようなスケルトンデータの推定から類似度スコアsの算出に係る各処理を、画像データの各フレームで行い、各フレームの類似度スコアsを記憶部140に保存してもよい。そして、算出部153は、画像データの全てのフレーム(或いは類似度評価の対象となる複数のフレーム)で算出された類似度スコアsに基づき、合算類似度スコアを算出してもよい。
【0105】
例えば、算出部153は、複数のフレームで算出された類似度スコアsの平均値を、合算類似度スコアとして算出してもよい。これにより、動画に含まれる一連の動作の総合評価を、合算類似度スコアとしてユーザにフィードバックすることが可能になり得る。
【0106】
以上、モーメント特徴量の算出およびポーズ類似度の算出等の各種処理について説明した。但し、モーメント特徴量の算出方法およびポーズ類似度の算出方法は上述した例に限定されない。各種算出処理の内容は、ユースケースに応じて適宜変形されてもよい。
【0107】
例えば、モーメント特徴量の算出には、必ずしも全てのボーンを用いなくてもよく、少なくとも2以上のボーンが用いられればよい。例えば、上半身のポーズ類似度を算出する場合、上半身のみのボーンと、当該上半身のボーンを構成する関節点の情報を用いてモーメント特徴量が算出されてもよい。
【0108】
また、算出部153は、ユーザの全身のポーズ類似度を算出するのではなく、手指のような一部位の詳細なボーン(例えば、実際の指の関節から成るボーン)の長さからモーメント特徴量を算出し、当該一部位のポーズ類似度を算出してもよい。
【0109】
また、算出部153は、Huモーメント等のモーメント特徴量を、3次元へ拡張することで、3次元ポーズの類似度を算出してもよい。
【0110】
また、算出部153は、ユーザと、他のユーザの二人のポーズ類似度ではなく、3以上のユーザのポーズ類似度を算出してもよい。この場合、算出部153は、ある基準となるユーザに対する他の複数ユーザの各ポーズの類似度をポーズ類似度として算出してもよいし、各ユーザに対するポーズの類似度の平均値をポーズ類似度として算出してもよい。
【0111】
また、複数のユーザは、それぞれ別々のカメラ5により撮影されてもよいし、同一のカメラ5により撮影されてもよい。同一のカメラ5により複数のユーザが撮影された場合、推定部251は、同一の画像データから、複数のユーザの各々のスケルトンデータを推定してもよい。そして、算出部253は、複数のユーザのスケルトンデータに基づき、当該複数のユーザのポーズのリンク具合をポーズ類似度として算出してもよい。
【0112】
また、ユーザの使用環境によっては、カメラ5の撮影により得られた画像データから推定されるユーザのスケルトンデータの推定精度が低下する場合等も想定され得る。
【0113】
図5は、スケルトンデータの推定精度を低下させ得る要因の一例を説明するための説明図である。例えば、
図5に示すようにカメラ5の画角V内にユーザの脚部DAが収まっていないと、ユーザの脚部DAのボーンおよび関節点の推定精度が低下され得る。また、ユーザが背景と同化してしまうことで、ユーザのボーンおよび関節点の推定精度が低下され得る。
【0114】
そこで、推定部251は、カメラ5により取得された画像データに基づき、関節点の信頼性スコアを更に推定してもよい。ここでの信頼性スコアとは、関節点の推定値の信頼性を示す指標であり、推定値の信頼性が高いほど、信頼性スコアも高く推定される。例えば、推定部251は、
図5に示すようにカメラ5の画角V内にユーザの脚部DAが収まっていない場合、他の関節点と比較して脚部DAの関節点の信頼性スコアを低く推定する。
【0115】
そして、算出部253は、ボーンの両端の関節点ごとに推定された信頼性スコアに基づき、モーメント特徴量を算出してもよい。
【0116】
図6は、信頼性スコアに基づくモーメント特徴量の算出に係る具体例を説明するための説明図である。算出部153は、例えば、信頼性スコアが所定値以上で推定された関節点から成るボーンの長さに基づき、モーメント特徴量を算出してもよい。
【0117】
例えば、
図6に示すユーザのスケルトンデータにおいて、右足の関節点CK1の信頼性スコアが所定値未満で推定された場合、算出部153は、右足の関節点CK1から成るボーンCB1を除外した各ボーンの長さに基づき、モーメント特徴量を算出してもよい。
【0118】
更に、ポーズ類似度を算出する対象である他のユーザのスケルトンデータにおいて、左手の関節点CK2の信頼性スコアが所定値未満で推定された場合、算出部153は、右足の関節点CK1から成るボーンCB1と、左手の関節点CK2から成るボーンCB2と、を除外した各ボーンの長さに基づき、モーメント特徴量を算出してもよい。
【0119】
また、算出部153は、ユーザのスケルトンデータの各関節点と、他のユーザのスケルトンデータの各関節点と、で信頼性スコアの小さい方を採用し、採用した信頼性スコアに基づく重み付け処理を実行してもよい。そして、算出部153は、重み付け処理が実行された複数のモーメント特徴量に基づき、ユーザおよび他のユーザのポーズ類似度を算出してもよい。
【0120】
より具体的には、算出部153は、下記数式(21)または(22)により、重み付け処理を実行してもよい。ここで、cは信頼性スコアであり、caは、ユーザ側の信頼性スコアを示し、cbは他のユーザ側の信頼性スコアを示す。数式(21)、(22)に示す算出例では、ユーザ側の信頼性スコアcaおよび他のユーザ側の信頼性スコアcbから、より小さい信頼性スコアを採用して重み付けが行われる。
【0121】
【0122】
【0123】
また、本開示に係るHuモーメントは、並進、スケールおよび回転に対する不変性を有するがユーザ間の骨格の差異に影響を受ける。例えば、ユーザと、他のユーザと、では、骨格の違いから各ボーンの長さが異なり得る。このように、ユーザ間でボーンの長さが異なると、両ユーザが同じポーズをしていた場合であっても、モーメント特徴量が同一の量にならない場合がある。
【0124】
そこで、本開示に係る算出部153は、複数のユーザのボーンの長さを補正するキャリブレーション処理により得られた補正ボーンの長さに基づき、モーメント特徴量を算出してもよい。
【0125】
図7は、キャリブレーション処理の一例を説明するための説明図である。例えば、キャリブレーション処理の事前準備として、複数のユーザは、
図7に示すように大の字で立つ。この際に、推定部151は、複数のユーザの各関節点と、当該関節点を繋ぐボーンを含むスケルトンデータをそれぞれ推定する。なお、複数のユーザの正確なスケルトンデータが推定可能であれば、事前準備で複数のユーザは必ずしも大の字に立つ必要はない。また、ここでの複数のユーザとは、左側のユーザと、右側の他のユーザと、が含まれる。
【0126】
例えば、算出部153は、ユーザのスケルトンデータの全ボーンの長さに対して、各ボーンの割合を算出する。更に、算出部153は、他のユーザのスケルトンデータの全ボーンの長さに対して、各ボーンの割合を算出する。
【0127】
そして、算出部153は、他のユーザのスケルトンデータのボーンの長さに合わせて、ユーザのスケルトンデータのボーンの長さを調整してもよい。または、算出部153は、ユーザのスケルトンデータのボーンの長さに合わせて、他のユーザのスケルトンデータのボーンの長さを調整してもよい。
【0128】
より具体的な例を挙げると、
図7に示すユーザのスケルトンデータの右肩から右肘までのボーンの長さL
1
aを、他のユーザのスケルトンデータの右肩から右肘までのボーンの長さL
1
bに合わせて調整する場合、算出部153は、下記数式(23)により、ボーンの長さL
1
aを調整してもよい。
【0129】
【0130】
ここで、L1
a´は、他のユーザのボーンの長さに合わせてキャリブレーション処理が実行された後のユーザのスケルトンデータの右肩から右肘までのボーンの長さであり、Laは、ユーザのスケルトンデータの全ボーンの長さであり、Lbは、他のユーザのスケルトンデータの全ボーンの長さである。
【0131】
このようなキャリブレーション処理を各ボーンで実行することで、算出部153は、ユーザ間の骨格の違いに依存しないモーメント特徴量を算出し得る。
【0132】
また、推定部151が推定するボーンの位置の推定精度が低下する場合があり、この場合、ある期間のフレーム間でボーンの位置にバラつきが生じ得る。そこで、本開示に係る算出部153は、時間方向で関節点の位置を平均化する処理を実行してもよい。
【0133】
例えば、算出部153は、ある期間に含まれる複数のフレームで位置を平均化させた関節点から成るボーンの長さに基づき、モーメント特徴量を算出してもよい。具体的には、算出部153は、対象フレームから所定の期間にある各フレームのスケルトンデータに含まれる2以上のボーンの長さの各平均値に基づき、当該対象フレームのモーメント特徴量を算出してもよい。
【0134】
より具体的には、モーメント特徴量の算出に係る数式(1)~(3)、(13)および(14)において、関節点の位置x、yに下記数式(24)、(25)の関節点の平均位置xave、yaveが置き換えられてもよい。ここで、xt、ytは、時刻tにおける関節点の位置x、yである。また、τは、期間内の総フレーム数(時間平均の期間)であり、任意の値が設定されてもよい。
【0135】
【0136】
【0137】
これにより、あるフレームでボーンの位置推定精度が低下した場合においても、当該フレームのポーズ類似度の算出精度の低下が抑制され得る。
【0138】
また、算出部153は、ある対象フレームにおけるユーザのスケルトンデータのモーメント特徴量に対して、当該対象フレームに対応するフレームから前後所定数のフレームにおける他のユーザのスケルトンデータの各モーメント特徴量の類似度を暫定的に算出してもよい。
【0139】
そして、算出部153は、算出した複数の類似度の暫定値のうち、最も高い暫定値を対象フレームにおける類似度の確定値として算出してもよい。これにより、ユーザを含む画像と、お手本(他のユーザ)を含む画像と、の時間ズレ(同期ズレ)による影響が軽減され得る。
【0140】
続いて、
図8~
図10を参照し、フィードバックの具体例を説明する。
【0141】
<3.4.フィードバック例>
本開示に係る情報処理装置10は、以上説明したモーメント特徴量またはポーズ類似度(類似度D、類似度スコアsまたは合算類似度スコア)に基づくフィードバック情報をユーザに提示する。なお、以下の説明では、フィードバック画面FS1~FS3として、三種類の例を説明するが、本開示に係るフィードバック画面は係る例に限定されない。また、情報処理装置10は、下記フィードバック画面FS1~FS3に含まれる各種情報を組み合わせてユーザにフィードバック情報を提示してもよい。
【0142】
図8は、本開示に係る第1のフィードバック例を説明するための説明図である。生成部155は、動画に含まれるユーザの各部位に対し、ユーザの各部位の長さに応じて変換された参照ボーンを含む他のユーザの参照スケルトンデータを重ね合わせた重畳画面SPを生成してもよい。
【0143】
そして、操作表示部110は、重畳画面SPを含むフィードバック画面FS1を表示してもよい。例えば、生成部155は、モーメント特徴量を用いることで、任意の位置にあるボーンへ、お手本のボーンを重ね合わせた重畳画面SPを生成してもよい。
【0144】
具体的には、他のユーザのボーンは、平行位置を重心(xc、yc)に合わせ、スケールをボーンの長さLに合わせることで、ユーザのボーンに合わせることが可能である。例えば、生成部155は、下記数式(26)、(27)により、ユーザのボーン(xa、ya)に、他のユーザのボーン(xb、yb)を重ね合わせた参照ボーン(xb´、yb´)を生成してもよい。
【0145】
【0146】
【0147】
また、生成部155は、上述した並進およびスケールに対するボーンの位置変換に加え、回転に対する変換を行ってもよい。例えば、回転量は、背景の床の線などの位置が不変な基準線を基に、当該基準線からの角度θに基づいて算出され得る。
【0148】
より具体的には、生成部155は、下記数式(28)、(29)により、ユーザのボーンの位置xa、yaに、他のユーザのボーンをxb、ybを重ね合わせた参照ボーンxb´、yb´を生成してもよい。
【0149】
【0150】
【0151】
上述した方法により、生成部155は、他のユーザの各ボーンを参照ボーンに変換して、参照スケルトンデータを生成してもよい。そして、操作表示部110は、生成部155により生成された参照スケルトンデータを、ユーザの映像に重畳した重畳画面SPを含むフィードバック画面FS1を表示してもよい。
【0152】
なお、フィードバック画面FS1には、算出部153により算出された類似度スコアsに基づく情報SCが含まれてもよい。類似度スコアsに基づく情報SCは、例えば、
図8に示すような類似度スコアsが100倍されたスコア値(0~100点)であってもよい。
【0153】
また、フィードバック画面FS1には、お手本となる他のユーザの撮影により得られたお手本画面TPが含まれてもよい。ここで、お手本画面TPは、他のユーザをリアルタイムの映像であってもよいし、予め他のユーザを撮影して得られた画像データに基づく映像であってもよい。
【0154】
また、
図8に示すフィードバック画面FS1では、お手本画面TPと比較して、ユーザの映像を含む重畳画面SPの方が大きく表示されているが、本開示に係る表示画面は係る例に限定されない。例えば、
図8に示す。「表示切り替えボタン」を選択するなどの操作により、重畳画面SPとお手本画面TPの位置が切り替えられてもよいし、重畳画面SPまたはお手本画面TPのいずれか一方の画面のみが表示されてもよい。
【0155】
また、重畳画面SPにおいて、ユーザの映像に重畳させるスケルトンデータは、他のユーザのスケルトンデータではなく、ユーザのスケルトンデータであってもよい。このような、重畳画面において重畳させるスケルトンデータを切り替え可能であってもよい。
【0156】
また、フィードバック画面FS1は、必ずしも重畳画面SPを含んでいなくてもよく、重畳画面SPの代わりにユーザの映像を含んでもよい。
【0157】
また、フィードバック画面FS1には、ポーズの画像を保存する保存ボタンが含まれてもよいし、再生時間を変更可能なシークバーが含まれてもよい。
【0158】
図9は、本開示に係る第2のフィードバック例を説明するための説明図である。
図9に示すフィードバック画面FS2では、お手本画面TPが右側に、重畳画面SPが左側に配置される。また、
図9に示す重畳画面SPは、ユーザの映像に対し、当該ユーザのスケルトンデータが重畳された画面である。
【0159】
生成部155は、複数のユーザのポーズの類似度に基づき、色情報LFをフィードバック情報として生成してもよい。そして、操作表示部110は、重畳画面SPと、お手本画面TPに併せて生成部155により生成した色情報LFを含むフィードバック画面FS2を表示してもよい。
【0160】
例えば、生成部155は、類似度スコアsが所定値以上になったフレームでは、光るような色情報を生成してもよい。これにより、ユーザは、フィードバック画面FS2において、画面が光った際に、お手本と自らのポーズが一致したことを知覚することができ得る。
【0161】
但し、必ずしも光るような色情報でなくてもよく、生成部155は、例えば、類似度スコアsに応じた色情報を生成してもよい。具体的には、生成部155は、類似度スコアsが第1の所定値以上になったフレームでは青色の色情報を生成し、類似度スコアが第2の所定値未満になったフレームでは赤色の色情報を生成してもよい。ここで、第1の所定値と、第2の所定値は同一の値であってもよいし、第2の所定値は、第1の所定値より小さい値であってもよい。これにより、ユーザは、お手本と自らのポーズが一致しているフレームと、一致していないフレームと、を逐一判断することが可能になり、より練習すべきポーズを直感的に把握し得る。
【0162】
また、生成部155は、複数のユーザのボーン毎の類似度D(または類似度スコアs)の大きさに基づき、各ボーンの類似度合いを示す色情報を生成してもよい。より具体的には、上半身の類似度が高く、下半身の類似度が低く算出された場合、生成部155は、スケルトンデータの上半身のボーンに青色の色情報を生成し、下半身のボーンに赤色の色情報を生成してもよい。そして、操作表示部110は、ポーズにズレが生じている部位(ボーン)の色を変化させることで、ユーザに部位ごとのポーズの類似度をフィードバックしてもよい。このように、スケルトンデータに含まれるボーンを、ヒートマップのように表現することで、ユーザは、どの部位が特にズレが生じているのか、また、どのポーズを直せば良いのか、を直感的に理解し得る。
【0163】
図10は、本開示に係る第3のフィードバック例を説明するための説明図である。生成部155は、複数のユーザのポーズの類似度に基づき、文字情報WFをフィードバック情報として生成してもよい。
【0164】
例えば、生成部155は、類似度スコアsが第1の所定値以上になったフレームでは、
図10に示すような「Excellent!」のようなポーズが一致していることをユーザに知らせる文字情報WFを生成してもよい。一方、生成部155は、類似度スコアが第2の所定値未満になったフレームでは、「Bad」のようなポーズが一致していないことをユーザに知らせる文字情報WFを生成してもよい。そして、操作表示部110は、生成部155により生成された文字情報WFを表示することで、ユーザにポーズの一致度合をフィードバックしてもよい。
【0165】
また、生成部155は、複数のユーザのポーズの類似度に基づき、音声情報SFをフィードバック情報として生成してもよい。
【0166】
例えば、生成部155は、類似度スコアが第1の所定値以上になったフレームでは、ポーズが一致している音声情報SFを生成してもよい。そして、音声出力部120は、生成部155により生成された音声情報SFを出力することで、ユーザにポーズの一致度合をフィードバックしてもよい。
【0167】
なお、
図9および
図10に示したフィードバックの提示方法では、必ずしも重畳画面SPがフィードバック画面FS2、FS3に含まれていなくてもよく、重畳画面SPの代わりにユーザの映像(即ち、参照スケルトンデータを含まない映像)を表示してもよい。
【0168】
以上、本開示に係るフィードバックの具体例を説明した。
【0169】
<<4.動作処理例>>
本開示に係る情報処理システムには、様々な適用先が挙げられる。例えば、情報処理システムは、動きを真似することで点数が表示されるゲームに適用され得る。このようなゲームを想定すると、例えば、ユーザは、フィットネス、ボクササイズ、ヨガ、ダンス、またはリハビリなどの各種動作を画面上の他のユーザ(キャラクター)の動きを真似して遊ぶことが可能になる。また、情報処理システムは、ダンスなどの動きの上達を支援する練習ツールにも適用され得る。このような練習ツールを想定すると、ユーザは、ダンス、バレエ、ゴルフ、テニス、または野球などの各種動作を練習し得る。また、情報処理システムは、オンラインレッスンの支援ツールにも適用され得る。このような支援ツールを想定すると、ユーザは、ヨガ、ダンスまたはリハビリなどの各種動作をオンラインで講師から指導され得る。
【0170】
以下では、このような様々な適用先を想定し、本開示に係る情報処理装置10の動作処理の具体例を説明する。
【0171】
図11は、本開示に係る情報処理装置10の全体動作を示すフローチャートである。まず、情報処理装置10では、ユーザによりお手本となる動画が選択またはアップロードされる(ステップS101)。
【0172】
また、お手本となる動画は、事前にモーメント特徴量が算出されていてもよいし、リアルタイムでモーメント特徴量が算出されてもよい。事前にモーメント特徴量が算出される場合、情報処理装置10は、ユーザの映像と、お手本動画と、の間で時刻同期を行い、各時刻におけるお手本動画のモーメント特徴量を読み込んでもよい。
【0173】
続いて、操作表示部110は、ユーザにより動画開始に係る操作を受け付けると(ステップS105)、動画の表示を開始する(ステップS109)。ここで、ユーザは、動画のポーズに合わせて動作(例えば、ダンス等)を開始する。
【0174】
次いで、算出部153は、ユーザを撮影して得られた画像データと、お手本となる他のユーザの画像データと、に基づいて類似度を算出する各種処理である類似度算出処理を実行する(ステップS113)。類似度算出処理については後述する。
【0175】
そして、動画が終了すると(ステップS117)、操作表示部110は、算出部153により算出された点数(例えば、合算類似度スコア)を表示し(ステップS121)、本開示に係る情報処理装置10は、動作処理を終了する。
【0176】
続いて、
図12を参照して、ステップS113における類似度算出処理の詳細を説明する。
【0177】
図12は、本開示に係る情報処理装置10の類似度算出処理を示すフローチャートである。まず、推定部151は、ユーザを映した画像データ(以下、ユーザ動画と称する。)と、他のユーザを映した画像データ(以下、お手本動画と称する)と、をそれぞれ取得する(ステップS201)。
【0178】
続いて、推定部151は、ユーザ動画からユーザのポーズ(スケルトンデータ)を推定し、お手本動画から他のユーザのポーズ(スケルトンデータ)を推定する(ステップS205)。
【0179】
そして、算出部153は、ユーザのスケルトンデータと、他のユーザのスケルトンデータと、の各々から、各モーメント特徴量を算出する(ステップS209)。
【0180】
次いで、算出部153は、各モーメント特徴量に基づき、類似度スコアを算出する(ステップS213)。この際に、算出部153は、各フレームで算出した類似度スコアを、順次記憶部140に出力する。また、操作表示部110または音声出力部120は、各フレームで算出した類似度スコアに基づくフィードバック情報を逐一出力してもよい。但し、操作表示部110または音声出力部120は、各フレームで類似度スコアのフィードバック情報を出力してもよいし、数フレームの間隔を空けて類似度スコアのフィードバック情報を出力してもよい。
【0181】
上述したステップS201~ステップS213の処理が、ユーザ動画およびお手本動画が終了するまで、または、ユーザにより終了に係る操作が実行されるまで繰り返し行われ、算出部153は、複数フレームの類似度スコアの平均値である合算類似度スコアを最終スコアとして算出し(ステップS217)、本開示に係る情報処理装置10は動作処理を終了する。
【0182】
なお、上述した動作処理は一例であり、本開示に係る情報処理装置10の動作処理は係る例に限定されない。
【0183】
例えば、本開示に係る情報処理システムを、ダンスなどの動きの上達を支援する練習ツールに適用する場合、ステップS101およびステップS105の間に、ユーザが確認するためにお手本動画が再生される処理や、再生範囲や再生速度を設定する処理が追加されてもよいし、ステップS117またはステップS121の後に振り返り画面の表示に係る処理が追加されてもよい。振り返り画面には、ユーザの映像、過去のユーザの映像およびお手本動画の比較確認画面(再生、巻き戻しなどの基本再生機能を含む)や、類似度が低いフレームのハイライト表示や、当該フレームにおいてどの部位に特にズレが生じているかを確認できる表示等の各種表示が含まれてもよい。また、このような振り返りのために、記憶部140は、ユーザ映像、スケルトンデータ、および類似度等の各種処理の結果を記録しておいてもよい。
【0184】
また、情報処理システムを、オンラインレッスンの支援ツールに適用する場合、ステップS101において、ユーザによる動画の選択やアップロードは不要になる。この場合、ユーザの情報処理装置10と、他のユーザ(お手本)の情報処理装置10は相互に接続されてもよく、カメラの位置等の調整を済ませた後にセッション(レッスン)を開始してもよい。お互いの情報処理装置10の操作表示部110は、ユーザの映像と他のユーザの映像をそれぞれ表示し、音声出力部120は、ユーザ側のマイクが取得した音声と、他のユーザ側のマイクが取得した音声と、をそれぞれ出力してもよい。また、情報処理装置10は、セッション(レッスン)中にリアルタイムで類似度算出処理を実行してもよい。この際に、ユーザの情報処理装置10にのみ、類似度に基づくフィードバックが行われてもよいし、ユーザの情報処理装置10および他のユーザの情報処理装置10の各々に類似度に基づくフィードバックが行われてもよい。また、セッション中にリアルタイムでフィードバックが行われてもよいし、セッション後にフィードバックが行われてもよい。
【0185】
<<5.作用効果例>>
以上説明した本開示によれば、多様な作用効果が得られる。例えば、本開示に係る推定部は、ユーザの各部位の位置情報を含むスケルトンデータを推定し、算出部153は、スケルトンデータに含まれる2以上のボーンの長さに基づき、正規中心モーメントを算出する。これにより、カメラ5が設置された位置および姿勢に応じたスケールの違いや、並進方向のズレに影響せずにポーズ類似度が算出され得る。また、機械学習と比較して演算負担が小さくなるため、デバイスの制限も減り、更に、リアルタイムでポーズ類似度の算出が可能になり得る。リアルタイムでユーザ間の類似度をフィードバックすることで、ユーザの動きの上達を支援することが可能になり得る。
【0186】
また、算出部153は、算出した正規中心モーメントからHuモーメントをモーメント特徴量として算出する。これにより、ユーザを撮影したカメラの設置される回転方向の位置ズレに更に影響せずにポーズ類似度の算出が可能になり得る。
【0187】
<<6.ハードウェア構成例>>
次に、本開示の一実施形態に係る情報処理装置10のハードウェア構成例について説明する。
図13は、本開示の一実施形態に係る情報処理装置90のハードウェア構成例を示すブロック図である。情報処理装置90は、情報処理装置10と同等のハードウェア構成を有する装置であってよい。
【0188】
図13に示すように、情報処理装置90は、例えば、プロセッサ871と、ROM872と、RAM873と、ホストバス874と、ブリッジ875と、外部バス876と、インターフェース877と、入力装置878と、出力装置879と、ストレージ880と、ドライブ881と、接続ポート882と、通信装置883と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
【0189】
(プロセッサ871)
プロセッサ871は、例えば、演算処理装置又は制御装置として機能し、ROM872、RAM873、ストレージ880、又はリムーバブル記憶媒体901に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
【0190】
(ROM872、RAM873)
ROM872は、プロセッサ871に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM873には、例えば、プロセッサ871に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0191】
(ホストバス874、ブリッジ875、外部バス876、インターフェース877)
プロセッサ871、ROM872、RAM873は、例えば、高速なデータ伝送が可能なホストバス874を介して相互に接続される。一方、ホストバス874は、例えば、ブリッジ875を介して比較的データ伝送速度が低速な外部バス876に接続される。また、外部バス876は、インターフェース877を介して種々の構成要素と接続される。
【0192】
(入力装置878)
入力装置878には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置878としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置878には、マイクロフォンなどの音声入力装置が含まれる。
【0193】
(出力装置879)
出力装置879は、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。また、本開示に係る出力装置879は、触覚刺激を出力することが可能な種々の振動デバイスを含む。
【0194】
(ストレージ880)
ストレージ880は、各種のデータを格納するための装置である。ストレージ880としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。
【0195】
(ドライブ881)
ドライブ881は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記憶媒体901に記録された情報を読み出し、又はリムーバブル記憶媒体901に情報を書き込む装置である。
【0196】
(リムーバブル記憶媒体901)
リムーバブル記憶媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記憶媒体901は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。
【0197】
(接続ポート882)
接続ポート882は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、又は光オーディオ端子等のようなストレージ装置902を接続するためのポートである。
【0198】
(ストレージ装置902)
ストレージ装置902は、外部接続機器であり、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。
【0199】
(通信装置883)
通信装置883は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
【0200】
<<7.補足>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0201】
例えば、
図11に示したステップS101において、複数の動画が選択またはアップロードされてもよい。例えば、ダンサーによっては同じダンスでも部位の位置または姿勢が異なる場合がある。そこで、複数の動画が選択またはアップロードされた場合、ユーザのダンスがどのダンサーのダンスに類似するかをユーザにフィードバックしてもよい。
【0202】
また、情報処理装置10の操作表示部110、音声出力部120、記憶部140および制御部150は、それぞれ別の装置に分けて備えられてもよい。また、制御部150に含まれる推定部151、算出部153および生成部155は、複数の装置に分けて備えられてもよい。
【0203】
また、カメラ5により得られた画像データからスケルトンデータが推定される例を主に説明したが、例えば、推定部151は、慣性センサや加速度センサ等の装着型のモーションセンサにより得られたセンシング情報に基づき、ユーザのスケルトンデータを推定してもよい。
【0204】
また、本明細書の情報処理装置10の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、情報処理装置10の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されてもよい。
【0205】
また、情報処理装置10に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述した情報処理装置10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させた記憶媒体も提供される。
【0206】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0207】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
ユーザの各部位の位置情報を含むスケルトンデータを推定する推定部と、
前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出部と、
を備える、情報処理装置。
(2)
前記算出部は、
複数のユーザの各々のスケルトンデータから算出された複数のモーメント特徴量に基づき、前記複数のユーザのポーズの類似度を算出する、
前記(1)に記載の情報処理装置。
(3)
前記算出部は、
複数のユーザの各々のスケルトンデータに含まれる各ボーンの長さに基づき、複数のモーメント特徴量を算出する、
前記(2)に記載の情報処理装置。
(4)
前記算出部は、
複数の動画において、対応フレーム毎に算出された複数のモーメント特徴量に基づき、前記対応フレーム毎の前記複数のユーザのポーズの類似度を算出する、
前記(3)に記載の情報処理装置。
(5)
前記算出部は、
複数の対応フレームにおいて算出された複数の類似度に基づき、合算類似度スコアを算出する、
前記(4)に記載の情報処理装置。
(6)
モーメント特徴量は、回転不変性を有する7または8の特徴量を含む、
前記(4)または前記(5)に記載の情報処理装置。
(7)
前記複数のユーザのポーズの類似度に基づくフィードバック情報を生成する生成部、
を更に備える、
前記(4)から前記(6)までのうちいずれか一項に記載の情報処理装置。
(8)
前記生成部は、
前記動画に含まれるユーザの各部位に対し、前記ユーザの各部位の長さに応じて変換された参照ボーンを含む他のユーザの参照スケルトンデータを重ね合わせた重畳画面を生成する、
前記(7)に記載の情報処理装置。
(9)
前記算出部は、
前記ボーンの両端の関節点ごとに推定された信頼性スコアに基づき、前記モーメント特徴量を算出する、
前記(2)から前記(8)までのうちいずれか一項に記載の情報処理装置。
(10)
前記算出部は、
前記信頼性スコアが所定値以上で推定された関節点から成るボーンの長さに基づき、前記モーメント特徴量を算出する、
前記(9)に記載の情報処理装置。
(11)
前記算出部は、
前記複数のモーメント特徴量の各々に、前記各々のモーメント特徴量の算出に用いたボーンの両端の関節点の前記信頼性スコアに基づく重み付け処理を実行し、重み付け処理が実行された複数のモーメント特徴量に基づき、前記複数のユーザのポーズの類似度を算出する、
前記(9)に記載の情報処理装置。
(12)
前記算出部は、
対象フレームから所定の期間にある各フレームの前記スケルトンデータに含まれる2以上のボーンの長さの平均値に基づき、前記対象フレームのモーメント特徴量を算出する、
前記(11)に記載の情報処理装置。
(13)
前記算出部は、
前記複数のユーザのボーンの長さを補正するキャリブレーション処理により得られた補正ボーンの長さに基づき、前記モーメント特徴量を算出する、
前記(12)に記載の情報処理装置。
(14)
前記生成部は、
前記複数のユーザのポーズの類似度に基づき、色情報を前記フィードバック情報として生成する、
前記(7)に記載の情報処理装置。
(15)
前記生成部は、
前記複数のユーザのボーン毎の類似度の大きさに基づき、各ボーンの類似度合いを示す色情報を生成する、
前記(14)に記載の情報処理装置。
(16)
前記生成部は、
前記複数のユーザのポーズの類似度に基づき、文字情報を前記フィードバック情報として生成する、
前記(7)に記載の情報処理装置。
(17)
前記生成部は、
前記複数のユーザのポーズの類似度に基づき、音声情報を前記フィードバック情報として生成する、
前記(7)に記載の情報処理装置。
(18)
前記生成部に生成されたフィードバック情報および重畳画面情報を出力する出力部、
を更に備える、
前記(7)または前記(8)に記載の情報処理装置。
(19)
ユーザの各部位の位置情報を含むスケルトンデータを推定することと、
前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出することと、
を含む、コンピュータにより実行される情報処理方法。
(20)
コンピュータに、
ユーザの各部位の位置情報を含むスケルトンデータを推定する推定機能と、
前記スケルトンデータに含まれる2以上のボーンの長さに基づき、少なくともスケール不変性および並進不変性を有するモーメント特徴量を算出する算出機能と、
を実現させる、プログラム。
【符号の説明】
【0208】
5 カメラ
10 情報処理装置
110 操作表示部
120 音声出力部
130 通信部
140 記憶部
150 制御部
151 推定部
153 算出部
155 生成部