(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023160548
(43)【公開日】2023-11-02
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06T 13/40 20110101AFI20231026BHJP
【FI】
G06T13/40
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022070981
(22)【出願日】2022-04-22
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100154036
【弁理士】
【氏名又は名称】久保 貴弘
(72)【発明者】
【氏名】オウ キ
(72)【発明者】
【氏名】福本 康隆
(72)【発明者】
【氏名】田中 佑樹
(72)【発明者】
【氏名】望月 敬太
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050AA10
5B050BA06
5B050BA09
5B050BA12
5B050BA20
5B050CA07
5B050CA08
5B050DA01
5B050EA04
5B050EA19
5B050EA26
5B050FA02
5B050FA12
5B050FA13
5B050FA16
(57)【要約】
【課題】モーションデータを再活用する。
【解決手段】ユーザの動きの時系列データを示すモーションデータ群を取得する取得部と、前記取得部により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与部と、前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換部と、
を備える、情報処理装置。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ユーザの動きの時系列データを示すモーションデータ群を取得する取得部と、
前記取得部により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与部と、
前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換部と、
を備える、情報処理装置。
【請求項2】
前記置換部は、
前記指定区間の基本動作に対応づけられた複数のモーションデータを、前記メタ情報を参照して、前記基準モーションデータに置換する、
請求項1に記載の情報処理装置。
【請求項3】
前記付与部は、
前記ユーザの各部位の位置および姿勢情報に基づき、前記モーションデータ群に対し、前記メタ情報を付与する、
請求項2に記載の情報処理装置。
【請求項4】
前記モーションデータ群は、ある音楽に合わせて動く前記ユーザの動きの時系列データを含む、
請求項3に記載の情報処理装置。
【請求項5】
前記取得部は、
前記音楽に関する情報を示す音楽情報を取得し、
前記付与部は、
前記取得部により取得された前記音楽情報に基づき、前記モーションデータ群に対し、前記メタ情報を付与する、
請求項4に記載の情報処理装置。
【請求項6】
前記付与部は、
複数の階層において、前記モーションデータ群に対し、階層ごとに異なるメタ情報を付与する、
請求項5に記載の情報処理装置。
【請求項7】
前記複数の階層は、付与される前記基本動作の粒度が異なる、
請求項6に記載の情報処理装置。
【請求項8】
前記置換部は、
前記指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記指定区間に含まれる前記モーションデータ群から算出された時間ごと、または前記ユーザの部位ごとの特徴量を用いて検索された基準モーションデータに置換する、
請求項7に記載の情報処理装置。
【請求項9】
前記特徴量は、時間ごとまたは部位ごとに用意された重みパラメータが適用される、
請求項8に記載の情報処理装置。
【請求項10】
前記置換部は、
前記指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記ユーザにより指定された、前記音楽情報または前記ユーザの動きのジャンルに基づく前記基準モーションデータに置換する、
請求項9に記載の情報処理装置。
【請求項11】
前記置換部は、
前記指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記ユーザにより設定された、前記ジャンルの寄与率に基づく前記基準モーションデータに置換する、
請求項10に記載の情報処理装置。
【請求項12】
前記基準モーションデータに対応する映像を表示する表示部、
を更に備える、請求項11に記載の情報処理装置。
【請求項13】
前記取得部は、
前記ユーザの映像を取得し、
前記表示部は、
前記ユーザの映像と、前記基準モーションデータに対応する映像と、を表示する、
請求項12に記載の情報処理装置。
【請求項14】
前記表示部は、
前記ユーザにより選択された提示方法に応じて、リアルタイムのユーザの映像または事前に録画したユーザの映像のうちいずれか一方の映像を前記ユーザの映像として表示する、
請求項13に記載の情報処理装置。
【請求項15】
前記置換部は、
前記指定区間の範囲がユーザにより調整された後の区間を示すユーザ指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記基準モーションデータに置換する、
請求項11に記載の情報処理装置。
【請求項16】
ユーザの動きの時系列データを示すモーションデータ群を取得することと、
取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与することと、
前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換することと、
を含む、コンピュータにより実行される情報処理方法。
【請求項17】
コンピュータに、
ユーザの動きの時系列データを示すモーションデータ群を取得する取得機能と、
前記取得機能により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与機能と、
前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換機能と、
を実現させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、ユーザの動きを示す動き情報を取得するためのモーションキャプチャを利用したアニメーション制作や配信が盛んに行われている。例えば、取得された動き情報を用いて、ユーザの動きを模したモーションデータを生成し、当該モーションデータに基づくアバター映像を配信することが行われている。このような背景から、年々、モーションデータが増加しており、これまでに生成されたモーションデータを再活用する技術が開発されている。
【0003】
例えば、下記非特許文献1では、音楽と、基本となる動作から三次元ダンスモーションを生成する技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Ruilong Li,外3名、「AI Choreographer:Music Conditioned 3D Dance Generation with AIST++」、ICCV paper、[Online]、[令和3年3月24日検索]、<https://openaccess.thecvf.com/content/ICCV2021/papers/Li_AI_Choreographer_Music_Conditioned_3D_Dance_Generation_With_AIST_ICCV_2021_paper.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上述した非特許文献1では、例えば、ユーザの動作を過去に生成されたモーションデータに置換するような、これまでに生成されたモーションデータを再活用することが困難である。
【0006】
そこで、本開示では、モーションデータを再活用することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提案する。
【課題を解決するための手段】
【0007】
本開示によれば、ユーザの動きの時系列データを示すモーションデータ群を取得する取得部と、前記取得部により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与部と、前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換部と、を備える、情報処理装置が提供される。
【0008】
また、本開示によれば、ユーザの動きの時系列データを示すモーションデータ群を取得することと、取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与することと、前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換することと、を含む、コンピュータにより実行される情報処理方法が提供される。
【0009】
また、本開示によれば、コンピュータに、ユーザの動きの時系列データを示すモーションデータ群を取得する取得機能と、前記取得機能により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与機能と、前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換機能と、を実現させる、プログラムが提供される。
【図面の簡単な説明】
【0010】
【
図1】本開示の一実施形態による情報処理システムを示す説明図である。
【
図2】本開示に係る情報処理端末10の機能構成例を説明するための説明図である。
【
図3】本開示に係るサーバ20の機能構成例を説明するための説明図である。
【
図4】スケルトンデータの生成方法の具体例を示す説明図である。
【
図5】機械学習技術を用いてスケルトンデータの時系列データと処理前特徴量との関係を学習する方法の一例を説明する説明図である。
【
図6】本開示に係る部位ごとに処理前特徴量を算出する方法の一例を説明するための説明図である。
【
図7】処理前特徴量に重みパラメータを適用して処理後パラメータを算出方法の一例を説明するための説明図である。
【
図8】時間ごとに用意した重みパラメータの一例を説明するための説明図である。
【
図9】重みパラメータの学習方法の一例を説明するための説明図である。
【
図10】モーションデータの特徴量を補正する処理の一例を説明するための説明図である。
【
図11】データ収集画面D1の一例を説明するための説明図である。
【
図12】アップロード画面D2の一例を説明するための説明図である。
【
図13】レコード画面D3の一例を説明するための説明図である。
【
図14】確認画面D4の一例を説明するための説明図である。
【
図15】結果表示画面D5の一例を説明するための説明図である。
【
図16】分割部により分割された複数の区間の一例を説明するための説明図である。
【
図17】結果表示画面D5の他の例を説明するための説明図である。
【
図18】結果表示画面D5の他の例を説明するための説明図である。
【
図19】第3の実施例に係る結果表示画面D5の一例を説明するための説明図である。
【
図20】ユーザへの提示方法の設定画面D6の一例を説明するための説明図である。
【
図21】ユーザによりリアルタイム練習ボタンB10が選択された際に表示される練習画面7の一例を説明するための説明図である。
【
図22】手動で指定区間を指定するマニュアル画面の一例を説明するための説明図である。
【
図23】基準モーションデータの候補表示画面の一例を説明するための説明図である。
【
図24】本開示に係る情報処理端末10のモーションデータの置換に係る動作処理例を説明するための説明図である。
【
図25】本開示に係るサーバ20のモーションデータの検索に係る動作処理例を説明するための説明図である。
【
図26】情報処理端末10のハードウェア構成を示したブロック図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.情報処理システムの概要
2.機能構成例
2-1.情報処理端末の機能構成例
2-2.サーバの機能構成例
3.詳細
3-1.姿勢推定
3-2.特徴量算出
3-3.重みパラメータ
3-4.類似度評価
3-5.補正
4.ユーザインタフェース
4-1.第1の実施例
4-2.第2の実施例
4-3.第3の実施例
4-4.第4の実施例
4-5.第5の実施例
5.動作例
5-1.情報処理端末の動作例
5-2.サーバの動作例
6.ハードウェア構成例
7.補足
【0013】
<<1.情報処理システムの概要>>
モーションデータには、人間や動物等の動体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトンデータが用いられる。スケルトンデータは、部位の位置や姿勢などの情報を含む。より具体的には、スケルトンデータは、ルート関節のグローバル位置と、各関節の相対的な姿勢等の各種情報を含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトンデータは、部位間を結ぶ線分であるボーンを含んでもよい。スケルトン構造におけるボーンは例えば人間の骨に相当し得るが、ボーンの位置や数は必ずしも実際の人間の骨格と整合していなくてもよい。
【0014】
スケルトンデータにおける各部位の位置および姿勢は、多様なモーションキャプチャ技術により取得可能である。例えば、身体の各部位にマーカを装着し、外部のカメラ等を用いてマーカの位置を取得するカメラ式の技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得された時系列データに基づいてモーションセンサの位置情報を取得するセンサ方式の技術が存在する。
【0015】
また、スケルトンデータの用途は多様である。例えば、スケルトンデータの時系列データは、ダンスやスポーツにおいてフォームの改善に用いられたり、VR(Virtual Reality)またはAR(Augmented Reality)等のアプリケーションに用いられたりしている。また、スケルトンデータの時系列データであるモーションデータを用いて、ユーザの動きを模したアバター映像を生成し、当該アバター映像を配信することも行われている。
【0016】
なお、モーションデータは、各ボーンの長さや他のボーンとの接続関係を示す骨格情報や、両足の接地情報の時系列データ等の各種情報を更に含んでもよい。
【0017】
以下では、本開示の一実施形態として、ユーザの動きの時系列データを取得し、当該時系列データに含まれるユーザの基本動作を当該基本動作の基準となる基準モーションデータに置換する情報処理システムの構成例を説明する。
【0018】
図1は、本開示の一実施形態による情報処理システムを示す説明図である。
図1に示したように、本開示の一実施形態による情報処理システムは、ユーザUが装着する6つのセンサ装置S1~S6、情報処理端末10およびサーバ20を有する。
【0019】
情報処理端末10およびサーバ20は、ネットワーク1を介して接続されている。ネットワーク1は、ネットワーク1に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク1は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク1は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
【0020】
(センサ装置S)
センサ装置Sは、ユーザUの動きを検出する。センサ装置Sは、例えば、加速度(Acceleration)を取得する加速度センサや角速度(Angular velocity)を取得するジャイロセンサ(角速度センサ)等の慣性センサ(IMU:Inertial Measurement Unit)を搭載した装置であってもよい。
【0021】
また、センサ装置Sは、撮像センサ、ToF(Time of Flight)センサ、磁気センサまたは超音波センサなどのユーザUの動きを検出するセンサを搭載した装置であってもよい。
【0022】
センサ装置S1~S6は、身体の基準となる関節部位(例えば腰や頭部)、あるいは身体の末端近傍(手首、足首、頭部等)に装着されることが望ましい。
図1に示す例では、ユーザUの腰にセンサ装置S1が装着され、両手首にセンサ装置S2およびS5が装着され、両足首にセンサ装置S3およびS4が装着され、頭部にセンサ装置S6が装着されている。なお、以下では、センサ装置Sが装着された身体の部位を装着部位とも称する場合がある。また、センサ装置Sの数や装着位置(装着部位の位置)は
図1に示す例に限定されず、ユーザUに装着されるセンサ装置Sはより多くてもよいし、より少なくてもよい。
【0023】
このようなセンサ装置Sは、装着部位の加速度または角速度などを時系列データとして取得し、当該時系列データを情報処理端末10に送信する。
【0024】
また、ユーザUはセンサ装置Sを装着しなくてもよい。例えば、情報処理端末10は、情報処理端末10が備える各種センサ(例えば、撮像センサやToFセンサ)を用いて、ユーザUの動きを検出してもよい。
【0025】
(情報処理端末10)
情報処理端末10は、情報処理装置の一例である。情報処理端末10は、センサ装置Sからユーザの動きの時系列データを取得する。以下の説明では、ユーザの動きの時系列データをモーションデータ群と表現する場合がある。
【0026】
また、情報処理端末10は、センサ装置Sから受信したモーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応付けて付与する。
【0027】
また、情報処理端末10は、ユーザUにより指定された区間を示す指定区間に対応するメタ情報に対応づけられたモーションデータ、基準となる基準モーションデータに置換する。
【0028】
なお、
図1では、情報処理端末10としてスマートフォンを示しているが、情報処理端末10は、ノートPC(Personal Computer)またはデスクトップPC等の他の装置であってもよい。
【0029】
(サーバ20)
サーバ20は、複数のモーションデータおよび複数のモーションデータの各々の特徴量を保持する。また、サーバ20は、複数のモーションデータの各々の特徴量と情報処理端末10から受信した処理後特徴量との類似度評価を行い、類似度評価の結果に応じたモーションデータを情報処理端末10に送信する。
【0030】
以上、本開示における情報処理システムの概要を説明した。続いて、本開示に係る情報処理端末10およびサーバ20の機能構成例を説明する。
【0031】
<<2.機能構成例>>
<2-1.情報処理端末の機能構成例>
図2は、本開示に係る情報処理端末10の機能構成例を説明するための説明図である。
図2に示すように、情報処理端末10は、操作表示部110と、音声取得部115と、通信部120と、制御部130とを備える。
【0032】
(操作表示部110)
操作表示部110は、サーバ20により送信された検索結果を表示する表示部としての機能を有する。例えば、操作表示部110は、サーバ20により送信された基準モーションデータを表示する。
【0033】
また、操作表示部110は、ユーザが操作入力を行うための操作部としての機能を有する。
【0034】
表示部としての機能は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置により実現される。
【0035】
また、操作部としての機能は、例えば、タッチパネル、キーボードまたはマウスにより実現される。
【0036】
なお、
図1において、情報処理端末10は、表示部および操作部の機能を一体化した構成としているが、表示部および操作部の機能を分離した構成としてもよい。
【0037】
(音声取得部115)
音声取得部115は、音声を取得する。例えば、音声取得部115の機能は、マイクにより実現される。
【0038】
(通信部120)
通信部120は、ネットワーク1を介して、サーバ20と各種情報を通信する。例えば、通信部120は、取得部の一例であり、センサ装置Sからユーザの動きの時系列データを受信する。例えば、通信部120は、ある音楽に合わせて動くユーザの動きの時系列データを受信してもよい。
【0039】
また、通信部120は、ユーザの動きの時系列データから算出されたスケルトンデータの処理後特徴量をサーバ20に送信する。また、通信部120は、送信した処理後特徴量に応じてサーバ20により検索された基準モーションデータを受信する。
【0040】
(制御部130)
制御部130は、情報処理端末10の動作全般を制御する。
図2に示すように、制御部130は、姿勢推定部131と、音声分析部132、分割部133と、特徴量算出部135と、検索要求部139と、補正部143とを備える。
【0041】
姿勢推定部131は、センサ装置Sから取得された装着部位の加速度または速度などの時系列データに基づいて、各装着部位の位置および姿勢を示す装着部位情報を推定する。なお、各装着部位の位置および姿勢は、二次元位置であってもよいし、三次元位置であってもよい。
【0042】
そして、姿勢推定部131は、装着部位情報に基づいて、スケルトン構造における各部位の位置情報および姿勢情報を含むスケルトンデータを生成する。また、姿勢推定部131は、生成したスケルトンデータを参照スケルトンデータに変換してもよい。姿勢推定に係る詳細については後述する。
【0043】
音声分析部132は、取得部の一例であり、音声取得部により取得された音声に基づき、音楽に関する情報を示す音楽情報を取得する。
【0044】
なお、音楽情報とは、例えば、音楽のリズム(例えば、音が鳴るパターン等)や、音楽のテンポ(例えば、曲の再生スピード等)や曲名などの各種音楽に関する情報を含む。より具体的には、音楽情報は、音楽のテンポの一例としてBPM(Beats Per Minute)を含んでもよい。
【0045】
分割部133は、付与部の一例であり、取得されたモーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応付けて付与する。例えば、分割部133は、モーションデータ群を、付与したメタ情報に基づき、基本動作に対応づけられたモーションデータに対応する複数の区間に分割してもよい。
【0046】
例えば、分割部133は、姿勢推定部131により推定された装着部位情報に基づき、メタ情報を付与し、付与したメタ情報に基づき、モーションデータ群を基本動作ごとの区間に分割してもよい。
【0047】
また、分割部133は、音声分析部132により得られた音楽情報に基づき、メタ情報を付与し、付与したメタ情報に基づき、モーションデータ群を複数の区間に分割してもよい。
【0048】
また、分割部133は、装着部位情報および音楽情報に基づき、メタ情報を付与し、付与したメタ情報に基づき、モーションデータ群を複数の区間に分割してもよい。
【0049】
特徴量算出部135は、スケルトンデータの時系列データからスケルトンデータの全身の特徴量または部位ごとの特徴量である処理前特徴量を算出する。
【0050】
例えば、特徴量算出部135は、分割部133により分割された時系列データの各区間の処理前特徴量を算出してもよい。また、特徴量算出部135は、分割部133により分割された時系列データの各区間のうち、ユーザにより指定された区間を示す指定区間の処理前特徴量を算出してもよい。
【0051】
また、特徴量算出部135は処理前特徴量に対して、重みパラメータを適用し、処理後特徴量を算出してもよい。処理前特徴量、重みパラメータおよび処理後特徴量の詳細は後述する。
【0052】
検索要求部139は、特徴量算出部135により算出された処理後特徴量を検索要求として、通信部120に送信させる。
【0053】
例えば、検索要求部139は、分割部133により分割された基本動作を含む区間のうち、ユーザにより指定された区間を示す指定区間に含まれる基本動作を行うユーザの動きの処理後特徴量を検索要求として通信部120に送信させる。
【0054】
また、検索要求部139は、置換部の一例であり、指定区間に対応するメタ情報に対応づけられたモーションデータを、当該基本動作の基準となる基準モーションデータに置換する。
【0055】
補正部143は、サーバ20から検索結果として受信したモーションデータの特徴量に処理後特徴量を設定比率で混合することによりモーションデータの特徴量を補正する。補正に係る詳細は後述する。
【0056】
以上、情報処理端末10の機能構成例を説明した。続いて、
図3を参照し、サーバ20の機能構成例を説明する。
【0057】
<2-2.サーバの機能構成例>
図3は、本開示に係るサーバ20の機能構成例を説明するための説明図である。
図3に示すように、サーバ20は、通信部210と、記憶部220と、制御部230とを備える。
【0058】
(通信部210)
通信部210は、ネットワーク1を介して、情報処理端末10と各種情報を通信する。例えば、通信部210は、ユーザの動きの時系列データから算出したスケルトンデータの全身または各部位の処理後特徴量を情報処理端末10から受信する。
【0059】
また、通信部210は、情報処理端末10から受信した処理後特徴量に応じて検索したモーションデータを情報処理端末10に送信する。
【0060】
(記憶部220)
記憶部220は、ソフトウェアおよび各種データを保持する。
図3に示すように、記憶部220は、モーションデータ記憶部221と、モーション特徴量記憶部225と、を備える。
【0061】
モーションデータ記憶部221は、複数のモーションデータを保持する。例えば、モーションデータ記憶部221は、基本動作の基準となる基準モーションデータを保持する。
【0062】
モーションデータ記憶部221は、例えば、ダンスの熟練度が高いユーザが基本動作を行った際に得られた基準モーションデータを保持する。以下の説明では、基準モーションデータを単にモーションデータと表現する場合がある。
【0063】
モーション特徴量記憶部225は、モーションデータ記憶部221に保持される複数のモーションデータの各々の特徴量を保持する。また、モーション特徴量記憶部225は、モーションデータに含まれる各スケルトンデータが参照スケルトンデータに変換されたモーションデータである参照モーションデータの特徴量を保持してもよい。
【0064】
(制御部230)
制御部230は、サーバ20の動作全般に係る制御を行う。
図3に示すように、制御部230は、参照骨格変換部231と、特徴量算出部235と、類似度評価部239と、学習部243と、推定器247と、を備える。
【0065】
参照骨格変換部231は、複数のモーションデータの各々に含まれるスケルトンデータを参照スケルトンデータに変換する。より具体的には、参照骨格変換部231は、スケルトンデータの各々が有する各部位の骨格を、それぞれ所定の骨格情報を含む参照骨格に変換する正規化処理を実行する。
【0066】
特徴量算出部235は、参照スケルトンデータに変換されたモーションデータの特徴量を算出し、特徴量の算出結果をモーション特徴量記憶部225に出力する。なお、参照スケルトンデータに変換されたモーションデータは、参照モーションデータの一例である。
【0067】
類似度評価部239は、情報処理端末10から受信した処理後特徴量と、モーション特徴量記憶部225に保持される複数のモーションデータの各々の特徴量との類似度を評価する。類似度評価の詳細については後述する。
【0068】
学習部243は、スケルトンデータの部位ごとの時系列データと、モーションデータの部位ごとの特徴量との組を教師データとする機械学習技術により学習データを生成する。
【0069】
また、学習部243は、スケルトンデータの時系列データと、モーションデータの部位ごとの特徴量の組を教師データとする機械学習技術に、アテンションを用いることにより、部位ごとの重みパラメータや時間ごとの重みパラメータを取得してもよい。
【0070】
推定器247は、ユーザのスケルトンデータから各部位の処理前特徴量を推定する。推定器247の機能は、学習部243により生成された学習データにより得られる。
【0071】
以上、本開示に係る機能構成例を説明した。続いて、
図4~10を参照し、本開示に係る処理の詳細を順次説明する。
【0072】
<<3.詳細>>
<3-1.姿勢推定>
図4は、スケルトンデータの生成方法の具体例を示す説明図である。姿勢推定部131は、時系列データに基づいて、
図4の左図に示すように、センサ装置S1~S6が装着された装着部位の位置情報及び姿勢情報を含む装着部位情報PDを取得する。
【0073】
さらに、姿勢推定部131は、装着部位の装着部位情報PDに基づき、
図4の右図に示すように、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトンデータSDを取得する。スケルトンデータSDには、センサ装置S1の装着部位に対応する装着部位SP1やセンサ装置S2の装着部位に対応する装着部位SP2の情報だけでなく、非装着部位SP7の情報が含まれる。
【0074】
なお、スケルトンデータSDには、部位の情報に加え、ボーンの情報(位置情報、姿勢情報等)も含まれ得る。例えば、
図4に示した例において、スケルトンデータSDには、ボーンSB1の情報が含まれ得る。姿勢推定部131は、スケルトン構造における部位の位置情報及び姿勢情報に基づいて、部位間のボーンの情報を特定することが可能である。
【0075】
また、情報処理端末10に備えられる撮像センサやToFセンサを用いてユーザの動きを検出してもよい。この場合、姿勢推定部131は、例えば、人物を撮影して取得された画像の時系列データと、スケルトンデータの組を教師データとする機械学習技術により得られた推定器を用いて、ユーザのスケルトンデータSDを生成してもよい。
【0076】
また、詳細は後述するが、装着部位情報に基づき生成されたスケルトンデータSDの時系列データから算出される処理後特徴量と、モーションデータ記憶部221により保持される複数のモーションデータの各々の特徴量との類似度評価を行う際に、同一の骨格情報(ボーン長さ、ボーン太さ等)に各スケルトンデータを変換した方がよい場合がある。
【0077】
そこで、姿勢推定部131は、スケルトンデータSDの各部位の骨格を参照骨格に変換し、スケルトンデータSDを参照スケルトンデータに変換してもよい。ただし、骨格に依存しない特徴量による類似度評価がされる場合、姿勢推定部131は、スケルトンデータSDを参照スケルトンデータに変換しなくてもよい。例えば、骨格に依存しない特徴量は、各部位の姿勢情報を含む。
【0078】
姿勢推定部131は、例えば、任意の手法を用いて、スケルトンデータSDを参照スケルトンデータに変換してもよい。任意の手法とは、例えば、各関節の姿勢のコピー、身長に応じてルート位置のスケーリングおよびIK(Inverse Kinematics)を用いて各部位の末端位置の調整などを含む。
【0079】
また、サーバ20が備える学習部243は、DNN(Deep Neural Network)を用いて、スケルトンデータの骨格情報と動き情報とを分離する学習を行ってもよい。学習により得られた推定器247を用いることにより、姿勢推定部131は、スケルトンデータSDを参照スケルトンデータに変換する処理を省略してもよい。以下の説明において、参照スケルトンデータを単にスケルトンデータと表現する場合がある。
【0080】
<3-2.特徴量算出>
本開示において、特徴量を、処理前特徴量と、処理前特徴量に後述する重みパラメータを適用した処理後特徴量の二種類に分けて説明する。但し、本開示に係る特徴量は、必ずしも処理後特徴量まで算出されなくてもよい。即ち、本開示に係る特徴量は、処理前特徴量のみであってもよい。
【0081】
特徴量算出部135は、姿勢推定部131により推定されたスケルトンデータの時系列データから、処理前特徴量を算出する。
【0082】
例えば、処理前特徴量は、各関節の速度、位置または姿勢(回転など)であってもよいし、接地情報であってもよい。
【0083】
また、学習部243は、DNNなどの機械学習技術を用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。この場合、特徴量算出部135は、学習により得られた推定器247を用いて、処理前特徴量を算出する。以下、
図5を参照し、機械学習技術を用いてスケルトンデータの時系列データと処理前特徴量との関係を学習する方法の一例を説明する。
【0084】
図5は、機械学習技術を用いてスケルトンデータの時系列データと処理前特徴量との関係を学習する方法の一例を説明する説明図である。例えば、学習部243は、Encoder-Decoder Modelを用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。
【0085】
例えば、時間区間t~t+Tにおけるスケルトンデータの全身の姿勢情報を入力とした場合、学習部243は、EncoderとしてCNN(Convolutional Neural Network)を用いて処理前特徴量を推定する。そして、学習部243は、推定された処理前特徴量に対してDecorderとしてCNNを用いて時間区間t~t+Tにおけるスケルトンデータの全身の姿勢を出力する。
【0086】
なお、
図5では、スケルトンデータの時系列データとして全身の姿勢を入力とする例を示しているが、例えば入力は、関節の位置や速度等の他の動きに関する情報であってもよいし、複数の情報を入力としてもよい。
【0087】
また、入力は、例えば、音声分析部132により分析された音楽情報を含んでもよい。
【0088】
また、本開示に係るEncoder-Decorder Modelは、構造をより多層化や複雑化してもよいし、RNN(Recurrent Neural Network)などの他の機械学習技術を用いてもよい。
【0089】
また、学習部243は、Deep Metric Learningを用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。例えば、学習部243は、Triplet Lossを用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。
【0090】
Triplet Lossを用いる際に、ある入力(anchor)と類似するデータ(positive data)と、anchorと非類似のデータ(negative data)を人為的に用意してもよいし、時系列データの類似度評価手法を用いてもよい。または、時間的に近いデータは類似していると見なし、時間的に遠いデータは非類似であると見なしてもよい。なお、時系列データの類似度評価の手法は、例えばDTW(Dynamic Time Warping)を含む。
【0091】
また、学習させるデータセットは、クラスラベル(例えば、ステップ、キック等)の情報を付与してもよい。学習させるデータセットにクラスラベルの情報を付与した場合、クラス分類を行う中間特徴量を処理前特徴量としてもよい。また、学習させるデータセットの一部にクラスラベルが付与される場合、Encoder-Decoder ModelおよびTriplet Lossを組み合わせた半教師学習による機械学習技術を用いて学習させてもよい。
【0092】
図6は、本開示に係る部位ごとに処理前特徴量を算出する方法の一例を説明するための説明図である。
【0093】
図6に示すように、全身が有する部位を頭(Head)、胴体(Body)、右手(RArm)、左手(LArm)、右足(RLeg)および左足(LLeg)の5部位に分けた場合、学習部243は、スケルトンデータの各部位ごとにDNNを用いて、スケルトンデータの各部位の時系列データと各処理前特徴量との関係を学習してもよい。
【0094】
例えば、学習部243は、時間区間t~t+Tにおけるスケルトンデータの胴体の姿勢を入力し、EncoderとしてDNNを用いて、スケルトンデータの胴体の処理前特徴量を推定する。
【0095】
そして、学習部243は、算出した各部位の処理前特徴量に対して、DecorderとしてDNNを用いて各部位の処理前特徴量を統合することにより、時間区間t~t+Tにおけるスケルトンデータの全身の姿勢を出力する。
【0096】
以上、入力と処理前特徴量の学習方法の具体例を説明した。なお、学習部243は、上述した複数の処理前特徴量の学習方法を組み合わせて、入力と処理前特徴量との関係を学習してもよい。
【0097】
<3-3.重みパラメータ>
本開示では、モーションデータの検索に際して、ユーザはモーションデータの検索に関連する動作を行う。そして、特徴量算出部135は、ユーザの動きを示すスケルトンデータの時系列データから指定区間ごとに特徴量を算出する。また、特徴量算出部135は、ユーザの動きを示すスケルトンデータの時系列データから指定区間に含まれる所定の時間区間ごとに特徴量を算出してもよい。
【0098】
また、特徴量算出部135は、ユーザの動きを示すスケルトンデータの各部位の処理前特徴量を算出してもよい。例えば、ユーザがキックの動作を行った際に、特徴量算出部135は、ユーザが蹴り上げた足の処理前特徴量だけでなく、例えば頭や手などの部位ごとの処理前特徴量も算出する。
【0099】
しかし、モーションデータの検索に際して、必ずしも全ての時間区間の特徴量または全ての部位の特徴量が重要ではない場合がある。そこで、本開示に係る特徴量算出部135は、スケルトンデータの動きの時系列データから算出された時間ごと、または部位ごとの処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して処理後特徴量を算出してもよい。
【0100】
図7は、処理前特徴量に重みパラメータを適用して処理後パラメータを算出方法の一例を説明するための説明図である。
図7に示すように、特徴量算出部135は、1つの部位jの処理前特徴量bmの各次元または各時間に対して、それぞれ重みパラメータwmを適用することにより、処理後特徴量amを算出する。
【0101】
当該部位jの処理前特徴量bmは、bm
j∈R
M×Tの行列式で表現される。ここで、Mは特徴量方向の次元数を示し、Tは時間方向で所定の時間区間ごとに分割した時間区間数を示す。すなわち、
図7は、特徴量方向の次元数Mおよび時間方向の時間区間数Tが5である例を示す。なお、特徴量方向の次元数Mは単数であってもよいし、複数であってもよい。また、重みパラメータwmおよび処理後特徴量amも処理前特徴量bmと同じ行数および列数で表現される。
【0102】
また、
図7では、処理前特徴量に含まれる各特徴量および重みパラメータに含まれる各パラメータおよび処理後特徴量に含まれる各特徴量の大きさの度合いを色の濃淡で表現する。なお、
図7では、処理前特徴量bmに含まれる各特徴量の濃淡度合を1値で表現し、重みパラメータwmに含まれる各パラメータの濃淡度合および処理後特徴量amに含まれる各特徴量の濃淡度合を2値で表現しているが、様々な値を含み得る。
【0103】
また、部位数が複数個あった場合、特徴量方向に他の部位を連結させてもよい。例えば、部位数をN個とした場合、重みパラメータwmは、wm∈R(M×N)×Tの行列式で表現される。
【0104】
重みパラメータwmは、ユーザによりUI上で設定されても良いし、機械学習技術により得られた推定器247を用いて決定されてもよい。まず、
図8を参照し、重みパラメータがユーザにより設定される一例を説明する。
【0105】
図8は、時間ごとに用意した重みパラメータの一例を説明するための説明図である。
図8において、ユーザの足に取り付けられたセンサ装置Sが取得した足の加速度の時系列データを足の速度vの時系列データに変換した例を示す。
【0106】
例えば、ユーザがキックの動作を行った場合、センサ装置Sは、キック前、キック中、キック後の時系列データを取得する。モーションデータの検索においてキックの動作に特徴があった場合、ユーザはキック前およびキック後の時間区間における重みパラメータを小さくまたは0に設定してもよい。
【0107】
例えば、ユーザは、情報処理端末10が備える操作表示部110を用いて時間ごとに重みパラメータwmを設定してもよい。例えば、
図8に示すハッチングが付された区間がユーザによりキックの動作が行われた時間区間であった場合、ユーザは、ハッチングが付された区間の特徴量を取得する重みパラメータwmを時間ごとに設定してもよい。
【0108】
ハッチングが付された区間を採用区間と称し、採用区間以外の区間を非採用区間と称した場合、時間ごとの重みパラメータwmtは以下の数式1を用いて設定されてもよい。
wmt=1/L (採用区間)
wmt=0 (非採用区間)
Σwmt=1
・・・(数式1)
【0109】
なお、数式1におけるLは、採用区間の時間長である。
【0110】
特徴量算出部135は、時間ごとの処理前特徴量に、時間ごとに設定された重みパラメータwmtとして数式1を用いることにより、例えば、ユーザがキックの動作を行った時間区間の特徴量を処理後特徴量として算出することができる。
【0111】
続いて、部位ごとに設定された重みパラメータwmjを用いて処理後特徴量を算出する一例を説明する。
【0112】
例えば、キック動作を行うモーションデータの検索の場合、ユーザは、蹴り上げた足に対する重みパラメータwmLegを、他の部位の重みパラメータwmjと比較して大きく設定してもよい。
【0113】
また、重みパラメータwmは、ユーザが操作表示部110を用いて設定してもよいし、特徴量算出部135により自動的に設定されてもよい。例えば、動いている部位が重要であると仮定した場合、特徴量算出部135は、速度の大きさや速度の変化量が所定値以上である部位重みパラメータwmjを大きく、速度の大きさや速度の変化量が所定値未満である部位の重みパラメータwmjを小さく設定してもよい。
【0114】
また、学習部243は、スケルトンデータの時系列データと処理前特徴量との関係の学習に加え、処理前特徴量と重みパラメータwmとの関係を併せて学習してもよい。
【0115】
図9は、重みパラメータの学習方法の一例を説明するための説明図である。学習部243は、
図6を参照して説明した処理前特徴量の算出方法を用いて、スケルトンデータの各部位の姿勢と時間区間t~t+Tにおける各部位の処理前特徴量との関係を学習する。
【0116】
さらに、学習部243は、時間区間t~t+Tにおける、スケルトンデータの全身の姿勢と各部位の姿勢を入力し、DNNのアテンションを用いて、部位ごとの処理前特徴量と、部位ごとの重みパラメータとの関係を学習してもよい。同様に、学習部243は、スケルトンデータの全身の姿勢と各部位の姿勢を入力し、DNNのアテンションを用いて、時間ごとの処理前特徴量と時間ごとの重みパラメータとの関係を学習してもよい。この場合、特徴量算出部235は、時間ごとの重みパラメータおよび部位ごとの重みパラメータを、学習により得られた推定器247を用いて決定する。
【0117】
<3-4.類似度評価>
情報処理端末10は、処理後特徴量の情報をサーバ20に送信する。そして、サーバ20が備える類似度評価部239は、受信した処理後特徴量と、モーション特徴量記憶部225に保持されるモーションデータの特徴量との類似度を評価する。
【0118】
類似度評価部239は、例えば、二乗誤差を用いて類似度評価を行ってもよい。例えば、部位jにおける時間区間t、次元mの処理前特徴量をqueryfj
t、mとし、モーションデータの特徴量をdatesetfj
t、mとし、重みパラメータをwj
t、mとし、類似度をsとする。この場合、類似度評価部239は、数式2を用いて、処理後特徴量とモーションデータの特徴量との類似度を評価する。
【0119】
1/s=Σj、t、mwj
t、m(queryfj
t、m―datesetfj
t、m)
・・・(数式2)
【0120】
また、類似度評価部239は、例えば、相関係数を用いて類似度評価を行ってもよい。より具体的には、類似度評価部239は、数式3を用いて、処理後特徴量とモーションデータの特徴量との類似度を評価する。
【0121】
s=Σj、m{(Σj
t、m
queryfj
t、m×datesetfj
t、m)/(|queryfj
m|2×|datesetfj
m|2)}
・・・(数式3)
【0122】
そして、サーバ20は、類似度評価部239による類似度評価の結果に応じたモーションデータを情報処理端末10に送信する。例えば、類似度評価部239は、受信した処理後特徴量と複数のモーションデータの各々の特徴量の類似度を算出し、サーバ20は類似度が高い方から所定数のモーションデータを検索結果として情報処理端末10に送信してもよい。
【0123】
また、ユーザは類似度が高いモーションデータを検索結果から除外する操作を行ってもよい。この場合、類似度評価部239より類似度が所定値以上であったモーションデータは検索結果から除外される。
【0124】
<3-5.補正>
類似度評価に応じて取得されたモーションデータは、ユーザの全身の動きまたは重みパラメータを大きくした部位の動きは特にユーザが必要とする動きになり得る。一方、モーションデータの全ての部位の動きが必ずしもユーザが必要とする動きと一致または類似するとは限らない。
【0125】
そこで、補正部143は、検索結果として取得されたモーションデータの少なくとも1以上の部位について、モーションデータの特徴量を補正する処理を実行してもよい。以下、
図10を参照して、モーションデータの特徴量を補正する処理の一例を説明する。
【0126】
図10は、モーションデータの特徴量を補正する処理の一例を説明するための説明図である。
図10では、センサ装置Sが取得したユーザの動きを示すスケルトンデータをクエリQ(t)とし、検索結果として取得されたモーションデータのスケルトンデータを検索結果R(t)とする。
【0127】
例えば、ユーザが検索結果R(t)の左手の位置および動きをクエリQ(t)の位置および動きに補正したい場合、ユーザが操作表示部110により設定した設定比率に基づき、補正部143は、検索結果を補正する処理を実行してもよい。
【0128】
例えば、補正部143は、サーバ20から検索結果として受信したモーションデータの少なくとも1以上の部位について、モーションデータの特徴量に処理後特徴量を混合することにより、モーションデータの特徴量を補正する処理を実行する。これにより、補正部143は、クエリQ(t)と、検索結果R(t)とを混合した補正後検索結果R´(t)を取得する。
【0129】
また、補正部143は、ユーザにより補正対象として指定された部位について、クエリQ(t)の位置と同じになるように補正してもよい。
【0130】
例えば、補正部143は、検索結果R(t)の姿勢を初期値として、検索結果R(t)の末端部位の位置がクエリQ(t)の位置と一致するように、IKを用いた補正処理を実行してもよい。なお、部位の位置補正に際して、クエリQ(t)と検索結果R(t)との腰の位置がずれる可能性があるため、例えば補正部143は、腰からの相対位置に基づく補正処理を実行してもよい。
【0131】
また、補正する部位は、例えば、操作表示部110を用いてユーザにより指定されてもよいし、補正部143により自動的に指定されてもよい。
【0132】
補正部143により補正する部位を自動的に指定される場合、例えば、補正部143は、部位ごとに用意された重みパラメータに基づき、補正する部位を決定してもよい。例えば、補正部143は、重みパラメータが所定の基準を満たす部位に検索結果R(t)の特徴量を採用し、重みパラメータが所定の基準を満たさない部位にクエリQ(t)の処理後特徴量に補正する処理を実行してもよい。
【0133】
なお、ユーザがUI上でクエリQ(t)の処理後特徴量と検索結果R(t)の特徴量との設定比率を設定した場合であっても、補正部143は、当該設定比率に基づく補正処理を実行しなくてもよい場合がある。例えば、設定比率に従うことによりモーションデータの全身のバランスが取れなくなる場合、補正部143は、各部位の位置関係に応じて部位および他の部位の特徴量を補正する処理を実行してもよい。
【0134】
以上、本開示に係る処理の詳細を説明した。続いて、本開示に係るユーザインタフェースの具体例を説明する。以下の説明では、第1の実施例~第5の実施例を順次説明するが、本開示に係るユーザインタフェースは、第1の実施例~第5の実施例のうちのいずれか一つが適用されてもよいし、複数が組み合わされて適用されてもよい。
【0135】
また、以下の説明では本開示に係る情報処理システムが、ダンススキルの向上を目的としてユーザにより利用される例を主に説明するが、本開示に係る情報処理システムの活用例は係る例に限定されない。例えば、本開示に係る情報処理システムは、フィギュアスケートのようなスポーツのスキル向上に活用されてもよい。
【0136】
<<4.ユーザインタフェース>>
<4―1.第1の実施例>
図11は、データ収集画面D1の一例を説明するための説明図である。まず、情報処理端末10が備える操作表示部110は、ユーザの操作により、ブラウザ又はアプリケーション上で、データ収集画面D1を表示する。
【0137】
データ収集画面D1は、例えば
図11に示すような、アップロードボタンB1と、レコ―ドボタンB2と、を含んでもよい。また、データ収集画面D1は、「ようこそ」や、「以下のボタンを選択してください」といったようなユーザに対するメッセージを含んでもよい。
【0138】
例えば、ユーザは、操作表示部110によりアップロードボタンB1を選択すると、ユーザが事前に取得した映像等の時系列データをアップロードすることが可能である。また、ユーザは、操作表示部110によりレコードボタンB2を選択すると、リアルタイムで映像等の時系列データを記録することが可能である。
【0139】
図12は、アップロード画面D2の一例を説明するための説明図である。
図12に示すアップロード画面D2は、
図11に示したアップロードボタンB1が選択された後に表示される画面の一例である。
【0140】
例えば、ユーザは、操作表示部110上でアップロードしたい時系列データ(例えば、映像データ)を登録する。例えば、ユーザは、ドラッグ&ドロップ等の任意の操作に基づき、時系列データを登録してもよい。この際、ユーザにより登録される時系列データは、
図12に示すような複数の時系列データ群A1であってもよいし、一つの時系列データであってもよい。
【0141】
複数の時系列データ群A1が登録された場合、ユーザは、更に操作表示部110上で一つの時系列データM1を選択し、確認ボタンB3を選択する。または一つの時系列データが登録された場合、自動的に確認ボタンB3が選択されたと見なされても良いし、一つの時系列データが登録された後にユーザが確認ボタンB3を選択してもよい。
【0142】
図13は、レコード画面D3の一例を説明するための説明図である。
図13に示すレコード画面D3は、
図11に示したレコードボタンB2がされた後に表示される画面の一例である。
【0143】
レコード画面D3は、例えば
図13に示すような録画開始ボタンB4と、録画停止ボタンB5と、を含んでもよい。また、レコード画面D3は、情報処理端末10が備えるカメラの撮影により得られた映像等を含んでもよい。
【0144】
例えば、ユーザは、操作表示部110上で録画開始ボタンB4を選択する。次に、ユーザは、練習したい一連のダンスモーションを行った後、録画停止ボタンB5を選択する。この結果、録画開始ボタンB4が選択されてから録画停止ボタンB5が選択されるまでの時間の時系列データがアップロードされる。
【0145】
なお、ユーザは、ある音楽に合わせてダンスモーションを行ってもよい。この場合、音声取得部115は、録画開始ボタンB4が選択されてから録画停止ボタンB5が選択されるまでの音声を取得してもよい。
【0146】
また、レコード画面D3が録画開始ボタンB4および録画停止ボタンB5の二つのボタンを含む例を説明したが、レコード画面D3は係る例に限定されない。例えば、レコード画面D3は、録画開始ボタンB4および録画停止ボタンB5の両方の機能を含む一つのボタンを含んでもよい。例えば、両方の機能を含む一つのボタンとは、ユーザにより選択する回数によって、録画開始ボタンB4の機能と、録音停止ボタンB5の機能が交互に実現されるボタンであってもよい。
【0147】
図14は、確認画面D4の一例を説明するための説明図である。
図14に示す確認画面D4は、
図12に示した確認ボタンB3が選択された後、又は、
図13に示した録音停止ボタンB5が選択された後に表示される画面の一例である。
【0148】
確認画面D4は、例えば
図14に示すような実映像R1と、当該実映像R1に基づき生成された生成スケルトン映像R2と、シークバーC1と、変更ボタンB6と、改善ボタンB7と、を含んでもよい。
【0149】
例えば、ユーザは、シークバーC1に含まれるカーソルを移動させることで、カーソルに対応する各時刻の実映像R1と、生成スケルトン映像R2を確認することが可能である。例えば、ユーザは、改善したいダンスモーションが含まれていないと判断した場合、変更ボタンB6を選択してもよい。
【0150】
例えば、ユーザにより変更ボタンB6が選択された場合、操作表示部110は、再び
図11に示したデータ収集画面D1、又は、
図12に示したアップロード画面D2を表示し、時系列データの収集または登録をユーザに促してもよい。
【0151】
また、ユーザにより改善ボタンB7が選択された場合、実映像R1と、生成スケルトン映像R2を改善対象として、ダンスモーションの改善に係る各種処理が実行される。
【0152】
ここでの改善に係る各種処理とは、例えば、姿勢推定部131によりユーザの姿勢を推定する処理や、音声分析部132により音声を分析する処理や、分割部133により時系列データを複数の区間に分割する処理が含まれてもよい。
【0153】
また、改善に係る各種処理とは、検索要求部139により分割部133により分割された複数の区間に含まれる各基本動作の基準となる各基準モーションデータが検索される処理を含んでもよい。
【0154】
図15は、結果表示画面D5の一例を説明するための説明図である。
図15に示す結果表示画面D5は、
図14に示した改善ボタンB7が選択された後に表示される画面の一例である。
【0155】
結果表示画面D5は、例えば
図15に示すようなユーザ映像群RGと、基準映像群VGと、複数の区間MS1と、ダウンロードボタンB8と、キャラクター変更ボタンB9と、を含んでもよい。
【0156】
ユーザ映像群RGは、
図14に示した改善ボタンB7が選択された際の改善対象である実映像R1と、生成スケルトン映像R2と、を含んでもよい。
【0157】
また、基準映像群VGは、ユーザが行った基本動作の基準となる基準モーションデータに関する映像群である。例えば、基準映像群VGは、基準モーションデータに対応して動く各種映像を含む。
【0158】
より具体的には、基準映像群VGは、基準モーションデータに対応して動くスケルトン映像を示す基準スケルトン映像V1と、基準モーションデータに対応して動くユーザの映像示す基準映像V2と、基準モーションデータに対応して動く所定のキャラクターの映像を示す基準キャラクター映像V3と、を含んでもよい。
【0159】
例えば、ユーザは、分割部133により分割された時系列データに含まれる複数の区間MS1のうち、一の区間を指定する。ここで、ユーザにより指定された区間を指定区間DSと称する。
【0160】
そして、検索要求部139は、指定区間DSに含まれる基本動作に対応づけられたモーションデータを、基準モーションデータに置換してもよい。例えば、操作表示部110は、複数の区間MS1のうち、指定区間DSのみを基準モーションデータに置換した各種映像を表示してもよい。
【0161】
この結果、ユーザは、指定区間における自らの動きと、より理想的な動きを、ユーザ映像群RGおよび基準映像群VGを比較しつつ確認することが可能になり、ダンススキルの向上に係る改善点をより容易に把握し得る。
【0162】
また、ユーザがダウンロードボタンB8を選択すると、情報処理端末10は、基準映像群VGに含まれる各種映像のうち、一部または全ての映像をダウンロードしてもよい。
【0163】
また、ユーザがキャラクター変更ボタンB9を選択すると、制御部130は、基準映像群VGに含まれる基準キャラクター映像V3のキャラクターを変更してよい。当該キャラクターは、ユーザにより用意されたキャラクターデータであってもよいし、予めサーバ20上で用意されたキャラクターデータであってもよい。
【0164】
以上、第1の実施例に係るユーザインタフェースの具体例を説明した。但し、
図11~
図15を参照して説明した各画面は上述した例に限定されない。例えば、結果表示画面D5は、
図15に示したユーザ映像群RGに含まれる生成スケルトン映像R2と、基準映像群VGに含まれる基準スケルトン映像V1と、を重畳した映像を含んでもよい。これにより、ユーザは、ユーザの各部位の位置と、理想的な各部位の位置のズレをより直感的に把握し得る。
【0165】
また、ユーザが複数の区間MS1のうち、一の区間を指定する例を説明したが、ユーザは、例えば、同一の基本動作である2以上の区間を指定してもよい。また、ユーザが一の区間を指定した場合、検索要求部139は、当該指定区間に対応する基本動作に対応づけられた2以上の区間の各モーションデータを、基準モーションデータに置換してもよい。
【0166】
また、第1の実施例によれば、予め熟練度の高いダンサーのモーションデータを再活用することが可能になり、ユーザは、自分の理想とするダンサーの動きを参考にしつつ、練習することが可能になり得る。
【0167】
また、分割部133が時系列データを一群の複数の区間MS1に分割する例を説明したが、分割部133は、時系列データを、複数の階層でそれぞれ複数の区間に分割してもよい。例えば、分割部133は、複数の階層において、時系列データを複数の区間に分割してもよい。以下、
図16~
図18を参照し、第2の実施例に係るユーザインタフェースの一例を説明する。
【0168】
<4―2.第2の実施例>
図16は、分割部により分割された複数の区間の一例を説明するための説明図である。例えば、分割部133は、
図16に示すように、Level1、Level2およびLevel3のような3つの階層で時系列データを複数の区間に分割してもよい。
【0169】
また、Level1、Level2およびLevel3は、
図16に示すように、付与される基本動作の粒度が異なってもよい。より具体的には、分割部133は、Level1からLevel3に向けて、粒度をより細かくして時系列データを分割してもよい。
【0170】
例えば、分割部133は、Level1の階層で、時系列データを「Booty Pop」や「The Two Step」等の基本動作ごとに分割する。また、分割部133は、Level2の階層では、「Booty Pop(right)」や「Stand up」、「Booty Pop(left)」等のように、Level1の階層における「Booty Pop」を更に細分化した基本動作ごとに分割してもよい。更に、分割部133は、Level3の階層では、「Band Down」や「Hip pop」等のように、Level2の階層における「Booty Pop(right)」を更に細分化した基本動作ごとに分割してもよい。
【0171】
この場合、
図15に示した結果表示画面D5は、Level1、Level2またはLevel3のいずれかに含まれる一の区間を指定区間としてユーザにより選択可能な画面であってもよい。
【0172】
図17および
図18は、結果表示画面D5の他の例を説明するための説明図である。例えば、結果表示画面D5は、
図17に示すように、複数の階層のうち一の階層が選択可能な階層選択領域L1と、階層ごとに分割された複数の区間MS2と、を含んでもよい。
【0173】
図17に示す例の場合、ユーザは、階層選択領域L1から一の階層を選択する。そして、ユーザは選択した一の階層における、複数の区間から一の区間を更に指定する。そして、検索要求部139は、ユーザにより選択された階層で、指定区間DSに含まれる基本動作に対応づけられたモーションデータを、基準モーションデータに置換してもよい。
【0174】
また、結果表示画面D5は、
図18に示すような、階層選択領域L2と、階層選択領域L2により選択された階層S2の複数の区間MS3と、を含んでもよい。
【0175】
図18に示す例の場合、ユーザが階層選択領域L2から一の階層S2を選択すると、操作表示部110は、ユーザにより選択された階層S2における、複数の区間MS3を表示する。そして、ユーザは、表示された複数の区間MS3から一の区間を更に指定する。そして、検索要求部139は、ユーザにより選択された階層S2で、指定区間DSに含まれる基本動作に対応づけられたモーションデータを、基準モーションデータに置換してもよい。
【0176】
以上説明した第2の実施例によれば、様々な階層で分解された基本動作を含む区間が選択可能になるため、ユーザは、より希望する基本動作を練習し得る。
【0177】
また、ダンスモーションは、同一の動作であっても、ジャズや、ヒップホップ等の音楽またはユーザの動きのジャンルやスタイルに応じて、各部位の動く向きや速度が変動し得る。そこで、検索要求部139は、ユーザにより指定された音楽またはユーザの動きのジャンルに基づく基準モーションデータを検索し、指定区間に含まれるユーザの動きを当該ジャンルに基づく基準モーションデータに置換してもよい。以下、
図19を参照し、第3の実施例に係るユーザインタフェースの一例を説明する。
【0178】
<4-3.第3の実施例>
図19は、第3の実施例に係る結果表示画面D5の一例を説明するための説明図である。例えば、結果表示画面D5は、
図18に示した、階層選択領域L2や複数の区間M3に加え、ジャンル設定領域STを更に含んでもよい。
【0179】
ジャンル設定領域STは、例えば、
図19に示すような、ジャンル指定欄G1と、詳細設定バーC2と、を含んでもよい。
【0180】
ジャンル指定欄G1は、例えば、
図19に示すような、「Jazz」や、「Hip-hop」等の音楽またはユーザの動きのジャンルを指定可能な指定欄である。ユーザは、例えば、ジャンル指定欄G1に含まれる一のジャンルを選択してもよい。
【0181】
詳細設定バーC2は、ユーザが指定したジャンルの寄与率を設定するカーソルを含むバーである。例えば、詳細設定バーC2は、カーソルが1に近づくにつれてユーザが指定したジャンルの寄与率が大きくなり、カーソルが0に近づくにつれてジャンルの寄与率が小さくなってもよい。
【0182】
より具体的には、ユーザがPopingのジャンルを選択した場合、詳細設定バーC2のカーソルが1に近づくにつれて、Popingのジャンルにより近い(又は、よりPopingのジャンルの特徴が強調された)基準モーションデータが検索されてもよい。
【0183】
また、補正部143は、詳細設定バーC2が1に近づくにつれて、ジャンルに基づく基準モーションデータの特徴量の設定比率の割合をより大きくして、補正処理を実行してもよい。
【0184】
なお、
図19に示した例では、結果表示画面D5がジャンル設定領域STを含む例を説明したが、他の画面を含んでもよい。例えば、
図14に示した確認画面D4がジャンル設定領域STを含んでもよい。
【0185】
以上説明した第3の実施例によれば、ユーザが練習したいジャンルやスタイルに応じて変動し得る動きの特徴を含む基準モーションデータにユーザの動きを置換することが可能になり、ユーザは、より理想的なダンスモーションを確認し得る。
【0186】
また、ダンスモーションの改善に際して、
図15に示したような基準映像群VGは、多様な提示方法でユーザに提示する需要が想定され得る。以下、
図20および
図21を参照し、第4の実施例に係るユーザインタフェースの一例を説明する。
【0187】
<4-4.第4の実施例>
図20は、ユーザへの提示方法の設定画面D6の一例を説明するための説明図である。例えば、提示方法の設定画面D6は、
図14に示した確認画面D4において、ユーザにより改善ボタンB7が選択された後で、結果表示画面D5の表示前に表示される画面の一例であってもよい。
【0188】
例えば、提示方法の設定画面D6は、リアルタイム練習ボタンB10と、映像分析ボタンB11と、を含んでもよい。
【0189】
リアルタイム練習ボタンB10は、例えば、ユーザがリアルタイムでダンスモーションを練習する際に選択されるボタンである。
【0190】
また、映像分析ボタンB11は、例えば、事前に録画した映像データを分析する際に選択されるボタンである。
【0191】
例えば、映像分析ボタンB11が選択された場合は、第1の実施例~第3の実施例において上述したような結果表示画面によりユーザは理想的なダンスを練習することが可能である。
【0192】
また、基準モーションデータを参考にしつつリアルタイムで練習したいというようなユーザの需要が想定され得る。以下、
図21を参照し、リアルタイム練習ボタンB10が選択された際に表示される練習画面の一例を説明する。
【0193】
図21は、ユーザによりリアルタイム練習ボタンB10が選択された際に表示される練習画面D7の一例を説明するための説明図である。練習画面D7は、ユーザのリアルタイムの映像であるユーザ映像群RGと、基本動作の選択欄SAと、ユーザが基本動作の選択欄SAで選択した基本動作を行う基準モーションデータに対応する基準映像V2と、を含んでもよい。ここで、基本動作は、例えば、Motion1、Motion2およびMotion3を含み、上述した分割部133により分割された複数の区間に対応していてもよい。
【0194】
例えば、ユーザがMotion2を選択すると、選択したMotion2を行う基準モーションデータに対応する基準映像V2が繰り返し表示される。また、モーションの選択欄SAに含まれるシークバーにより基準映像V2の再生される位置が変更されてもよい。
【0195】
そして、繰り返し表示されたMotion2を行う基準映像V2に合うようにユーザはMotion2の動作を行う。また、操作表示部110は、類似度評価部239により評価された類似度の評価結果SSを表示してもよい。
【0196】
なお、類似度の評価結果SSは、Motion2を繰り返すうちのリアルタイムのユーザの映像に含まれるユーザの動きの特徴量と、基準モーションデータの各特徴量の類似度の平均値であってもよいし、最大値であってもよいし、最小値であってもよい。
【0197】
また、操作表示部110は、Motion2を行うユーザの各部位と、基準映像V2の各部位のズレが大きい部位(即ち、類似度が小さい部位)を強調した強調情報Pを更に表示してもよい。
【0198】
また、
図20に示した映像分析ボタンB11が選択された場合、操作表示部110は、
図21に示すような練習画面D7のような分析結果画面を表示してもよい。分析結果表示画面は、例えば、ユーザ映像群RGに、ユーザのリアルタイムの映像ではなく、ユーザによりアップロードされた映像データが含まれてもよい。
【0199】
以上説明した第4の実施例によれば、ユーザは、事前に取得した時系列データを用いて、ユーザのダンスモーションを分析するだけでなく、リアルタイムで分析しながら練習することが可能になる。この結果、情報処理端末10は、ダンスモーションの練習に際して、ユーザの利便性を更に向上し得る。
【0200】
また、以上説明した例によれば、検索要求部139は、分割部133が分割した基本動作を含む区間のうち、指定区間に含まれるユーザの動きを、基準モーションデータに置換する例を説明した。一方、指定区間は、分割部133により分割された区間をユーザが指定するのではなく、ユーザが手動で調整してもよい。以下、
図22および
図23を参照し、第4の実施例に係るユーザインタフェースの一例を説明する。
【0201】
<4-5.第5の実施例>
図22は、手動で指定区間を指定するマニュアル画面の一例を説明するための説明図である。マニュアル画面D8は、基準モーションデータを検索する区間をユーザにより手動で指定する際に表示される画面の一例である。
【0202】
まず、ユーザは、操作表示部110を用いて、検索区間指定バーC3により指定区間を手動で指定してもよい。例えば、ユーザは、操作表示部110による操作により、指定する区間の開始地点SPを指定する。続いて、ユーザは、操作表示部110による操作により、指定する区間の終了地点EPを指定し、置換ボタンB12を選択する。
【0203】
置換ボタンB12が選択された際に、開始地点SPから終了地点EPまでの区間を指定区間として、当該指定区間に含まれる基本動作に対応づけられたモーションデータを、基準モーションデータに置換してもよい。
【0204】
また、基準モーションデータの置換に際して、操作表示部110は、類似度評価に結果に基づく所定数のモーションデータを置換する基準モーションデータの候補として表示してもよい。
【0205】
図23は、基準モーションデータの候補表示画面の一例を説明するための説明図である。候補表示画面D9は、
図22に示した置換ボタンB12が選択された後に表示される画面の一例を説明するための説明図である。
【0206】
例えば、操作表示部110は、類似度評価の高い方から所定数のモーションデータを示す類似モーションデータ群SMをユーザの基本動作に対応する基準モーションデータの候補として表示してもよい。
【0207】
また、操作表示部110は、指定区間に含まれるユーザの動きに関連するモーションデータを示す関連モーションデータ群RMを、基準モーションデータの候補として表示してもよい。ここで、関連モーションデータ群RMとは、例えば、ユーザの動きに関連する動作のうち、特に困難な動作を含んでもよい。
【0208】
また、関連モーションデータ群RMは、モーションデータ記憶部221が同一の基本動作で複数のモーションデータを保持していた場合、ユーザの基本動作に対応する複数のモーションデータを含んでもよい。
【0209】
より具体的には、モーションデータ記憶部221により、熟練度が高い複数のユーザの各々の「Booty Pop」等の同一の基本動作のモーションデータが保持されていた場合、関連モーションデータ群RMは、同一の基本動作で、異なるユーザから得られた各モーションデータを含んでもよい。
【0210】
そして、ユーザは、類似モーションデータ群SMまたは関連モーションデータ群RMから一のモーションデータを指定し、適用ボタンB13を選択した後、指定した基準モーションデータを含む結果表示画面に遷移してもよい。
【0211】
また、分割部133により分割された各区間のうち一の区間をユーザが指定し、当該指定区間を更にユーザが手動で調整してもよい。この場合、検索要求部139は、指定区間の範囲がユーザにより調整された後の区間を示すユーザ指定区間に含まれるモーションデータを、当該ユーザ指定区間に含まれる基本動作の基準となる基準モーションデータに置換してもよい。
【0212】
また、
図22に示した開始地点SPおよび終了地点EPは、ユーザの操作により、分割部133が分割した基本動作を含む区間の境界位置に一定の距離まで近づいた際に、当該境界位置に自動的に引き付けられてもよい。これにより、区間の指定に際した手動調整の手間を低減し、ユーザの利便性がより向上され得る。
【0213】
以上、説明した第5の実施例によれば、ユーザは、細かい指定区間の調整が可能になり、検索要求部139は、指定区間に含まれるユーザの動きを、よりユーザが求める基準モーションデータに置換し得る。
【0214】
以上、本開示に係るユーザインタフェースの具体例を説明した。続いて、
図24および
図25を参照し、本開示に係る情報処理システムの動作処理の具体例を説明する。
【0215】
<<5.動作例>>
<5-1.情報処理端末の動作例>
図24は、本開示に係る情報処理端末10のモーションデータの置換に係る動作処理例を説明するための説明図である。
【0216】
図24に示すように、情報処理端末10は、センサ装置Sからユーザの動きの時系列データおよび音声を取得する(S101)。
【0217】
続いて、姿勢推定部131は、取得した対象の動きの時系列データから各部位の姿勢情報としてスケルトンデータを生成する(S105)。
【0218】
次に、音声分析部132は、取得した音声に基づき、音楽のリズムおよびテンポを分析する(S109)。
【0219】
そして、姿勢推定部131は、生成したスケルトンデータの各部位の骨格を参照骨格に変換する正規化処理を実行する(S113)。この際に、姿勢推定部131は、分析された音楽のリズムやテンポに基づき、ユーザの動きを正規化してもよい。
【0220】
分割部133は、各部位の姿勢情報と、音楽のリズムおよびテンポに基づき、時系列データにメタ情報を付与し、付与したメタ情報に基づき、時系列データを複数の区間に分割する(S117)。
【0221】
そして、特徴量算出部135は、ユーザにより指定された区間に含まれる時系列データに基づき、正規化されたスケルトンデータの各部位の特徴量を算出する(S121)。
【0222】
続いて、検索要求部139は、算出した特徴量を通信部120からサーバ20に送信する(S125)。
【0223】
そして、通信部120は、特徴量に応じて検索された基準モーションデータを受信する(S129)。
【0224】
その後、検索要求部139は、指定区間のモーションデータを基準モーションデータに置換し(S133)、本開示に係る情報処理端末10はモーションデータの置換に係る動作処理を終了する。
【0225】
続いて、S125からS129までの間におけるサーバ20のモーションデータの検索に係る動作処理の一例を説明する。
【0226】
<5-2.サーバの動作例>
図25は、本開示に係るサーバ20のモーションデータの検索に係る動作処理例を説明するための説明図である。
【0227】
まず、通信部210は、情報処理端末10から特徴量を受信する(S201)。
【0228】
続いて、類似度評価部239は、受信した特徴量と、モーション特徴量記憶部225に保持される複数のモーションデータの各々の特徴量との類似度を算出する(S205)。
【0229】
そして、類似度評価部239は、類似度が高い方から所定数のモーションデータを検索結果として取得する(S209)。
【0230】
そして、通信部210は、S209により取得された所定数のモーションデータを検索結果として情報処理端末10に送信し(S213)、サーバ20はモーションデータの検索に係る動作処理を終了する。
【0231】
<<6.ハードウェア構成例>>
以上、本開示の実施形態を説明した。上述した時系列データを基本動作ごとの区間に分割する処理や、特徴量を算出する処理等の情報処理は、ソフトウェアと、以下に説明する情報処理端末10のハードウェアとの協働により実現される。なお、以下に説明するハードウェア構成はサーバ20にも適用可能である。
【0232】
図26は、情報処理端末10のハードウェア構成を示したブロック図である。情報処理端末10は、CPU(Central Processing Unit)1001と、ROM(Read Only Memory)1002と、RAM(Random Access Memory)1003と、ホストバス1004と、を備える。また、情報処理端末10は、ブリッジ1005と、外部バス1006と、インタフェース1007と、入力装置1008と、出力装置1010と、ストレージ装置(HDD)1011と、ドライブ1012と、通信装置1015とを備える。
【0233】
CPU1001は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理端末10内の動作全般を制御する。また、CPU1001は、マイクロプロセッサであってもよい。ROM1002は、CPU1001が使用するプログラムや演算パラメータ等を記憶する。RAM1003は、CPU1001の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス1004により相互に接続されている。CPU1001、ROM1002およびRAM1003とソフトウェアとの協働により、
図2を参照して説明した姿勢推定部131や分割部133や特徴量算出部135等の機能が実現され得る。
【0234】
ホストバス1004は、ブリッジ1005を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1006に接続されている。なお、必ずしもホストバス1004、ブリッジ1005および外部バス1006を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0235】
入力装置1008は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU1001に出力する入力制御回路などから構成されている。情報処理端末10のユーザは、該入力装置1008を操作することにより、情報処理端末10に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0236】
出力装置1010は、例えば、液晶ディスプレイ装置、OLED装置およびランプなどの表示装置を含む。さらに、出力装置1010は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置1010は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
【0237】
ストレージ装置1011は、データ格納用の装置である。ストレージ装置1011は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置1011は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置1011は、ハードディスクを駆動し、CPU1001が実行するプログラムや各種データを格納する。
【0238】
ドライブ1012は、記憶媒体用リーダライタであり、情報処理端末10に内蔵、あるいは外付けされる。ドライブ1012は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体30に記録されている情報を読み出して、RAM1003に出力する。また、ドライブ1012は、リムーバブル記憶媒体30に情報を書き込むこともできる。
【0239】
通信装置1015は、例えば、ネットワーク12に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置1015は、無線LAN対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【0240】
<<7.補足>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0241】
例えば、情報処理端末10は、本開示に係るサーバ20の全てまたは一部の機能構成を更に備えてもよい。情報処理端末10が本開示に係るサーバ20の全ての機能構成を備えた場合、情報処理端末10は、ネットワーク1を介した通信をせずに、一連の検索に係る処理を実行し得る。また、情報処理端末10が本開示に係るサーバ20の一部の機能構成を備えた場合、例えば、情報処理端末10は、予めネットワーク1を介した通信を用いてサーバ20から複数のモーションデータを受信してもよい。そして、情報処理端末10は、特徴量算出部135により算出された処理後特徴量と、サーバ20から予め受信した複数のモーションデータとの類似度評価を行い、類似度の評価結果に応じてモーションデータを検索及び置換してもよい。
【0242】
本明細書の情報処理端末10およびサーバ20の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、情報処理端末10およびサーバ20の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されてもよい。
【0243】
また、情報処理端末10に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述した情報処理端末10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させた記憶媒体も提供される。
【0244】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0245】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
ユーザの動きの時系列データを示すモーションデータ群を取得する取得部と、
前記取得部により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与部と、
前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換部と、
を備える、情報処理装置。
(2)
前記置換部は、
前記指定区間の基本動作に対応づけられた複数のモーションデータを、前記メタ情報を参照して、前記基準モーションデータに置換する、
前記(1)に記載の情報処理装置。
(3)
前記付与部は、
前記ユーザの各部位の位置および姿勢情報に基づき、前記モーションデータ群に対し、前記メタ情報を付与する、
前記(1)または前記(2)に記載の情報処理装置。
(4)
前記モーションデータ群は、ある音楽に合わせて動く前記ユーザの動きの時系列データを含む、
前記(1)から前記(3)までのうちいずれか一項に記載の情報処理装置。
(5)
前記取得部は、
前記音楽に関する情報を示す音楽情報を取得し、
前記付与部は、
前記取得部により取得された前記音楽情報に基づき、前記モーションデータ群に対し、前記メタ情報を付与する、
前記(4)に記載の情報処理装置。
(6)
前記付与部は、
複数の階層において、前記モーションデータ群に対し、階層ごとに異なるメタ情報を付与する、
前記(5)に記載の情報処理装置。
(7)
前記複数の階層は、付与される前記基本動作の粒度が異なる、
前記(1)から前記(6)までのうちいずれか一項に記載の情報処理装置。
(8)
前記置換部は、
前記指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記指定区間に含まれる前記モーションデータ群から算出された時間ごと、または前記ユーザの部位ごとの特徴量を用いて検索された基準モーションデータに置換する、
前記(1)から前記(7)までのうちいずれか一項に記載の情報処理装置。
(9)
前記特徴量は、時間ごとまたは部位ごとに用意された重みパラメータが適用される、
前記(8)に記載の情報処理装置。
(10)
前記置換部は、
前記指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記ユーザにより指定された、前記音楽情報または前記ユーザの動きのジャンルに基づく前記基準モーションデータに置換する、
前記(1)から前記(9)までのうちいずれか一項に記載の情報処理装置。
(11)
前記置換部は、
前記指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記ユーザにより設定された、前記ジャンルの寄与率に基づく前記基準モーションデータに置換する、
前記(10)に記載の情報処理装置。
(12)
前記基準モーションデータに対応する映像を表示する表示部、
を更に備える、前記(1)から前記(11)までのうちいずれか一項に記載の情報処理装置。
(13)
前記取得部は、
前記ユーザの映像を取得し、
前記表示部は、
前記ユーザの映像と、前記基準モーションデータに対応する映像と、を表示する、
前記(12)に記載の情報処理装置。
(14)
前記表示部は、
前記ユーザにより選択された提示方法に応じて、リアルタイムのユーザの映像または事前に録画したユーザの映像のうちいずれか一方の映像を前記ユーザの映像として表示する、
前記(13)に記載の情報処理装置。
(15)
前記置換部は、
前記指定区間の範囲がユーザにより調整された後の区間を示すユーザ指定区間に対応する基本動作に対応づけられた前記モーションデータを、前記基準モーションデータに置換する、
前記(1)から前記(11)までのうちいずれか一項に記載の情報処理装置。
(16)
ユーザの動きの時系列データを示すモーションデータ群を取得することと、
取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与することと、
前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換することと、
を含む、コンピュータにより実行される情報処理方法。
(17)
コンピュータに、
ユーザの動きの時系列データを示すモーションデータ群を取得する取得機能と、
前記取得機能により取得された前記モーションデータ群に対し、基本動作に関するメタ情報をモーションデータに対応づけて付与する付与機能と、
前記モーションデータ群のうち、前記ユーザにより指定された区間を示す指定区間に対応する前記メタ情報に対応づけられた前記モーションデータを、基準となる基準モーションデータに置換する置換機能と、
を実現させる、プログラム。
【符号の説明】
【0246】
10 情報処理端末
20 サーバ
110 操作表示部
115 音声取得部
120 通信部
130 制御部
131 姿勢推定部
132 音声分析部
133 分割部
135 特徴量算出部
139 検索要求部
143 補正部
210 通信部
220 記憶部
221 モーションデータ記憶部
225 モーション特徴量記憶部
230 制御部
231 参照骨格変換部
235 特徴量算出部
239 類似度評価部
243 学習部
247 推定器