(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 16/732 20190101AFI20240717BHJP
G06F 16/783 20190101ALI20240717BHJP
G06T 13/40 20110101ALI20240717BHJP
G06T 7/20 20170101ALI20240717BHJP
G06V 10/74 20220101ALI20240717BHJP
G06V 40/20 20220101ALI20240717BHJP
A61B 5/11 20060101ALI20240717BHJP
G06F 16/73 20190101ALI20240717BHJP
【FI】
G06F16/732
G06F16/783
G06T13/40
G06T7/20 300Z
G06V10/74
G06V40/20
A61B5/11 200
G06F16/73
(21)【出願番号】P 2022568034
(86)(22)【出願日】2021-02-19
(86)【国際出願番号】 JP2021006290
(87)【国際公開番号】W WO2022123800
(87)【国際公開日】2022-06-16
【審査請求日】2024-01-09
(32)【優先日】2020-12-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100140958
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100154036
【氏名又は名称】久保 貴弘
(72)【発明者】
【氏名】望月 敬太
(72)【発明者】
【氏名】田中 佑樹
【審査官】早川 学
(56)【参考文献】
【文献】特開2010-033163(JP,A)
【文献】高原健輔ほか,特徴ベクトルの簡略離散表現によるモーション検索高速化手法,インタラクション2015論文集 [online],一般社団法人 情報処理学会,2015年02月26日,pp.390-395,[検索日:2017.06.30], Internet<URL:http://www.interaction-ipsj.org/proceedings/2015/data/20150226/A62.pdf>
【文献】XIAO, Qinkun et al.,Human Motion Retrieval Based on Deep Learning and Dynamic Time Warping,2017 2nd International Conference on Robotics and Automation Engineering (ICRAE),IEEE,2017年12月31日,pp.426-430
【文献】石川知一ほか,キーモーションの入力によるモーションキャプチャデータの検索手法,情報処理学会研究報告 2012(平成24)年度▲3▼ [CD-ROM],一般社団法人情報処理学会,2012年,Vol.2012-CG-148, No.10,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-958
G06T 13/40
G06T 7/20
G06V 10/74
G06V 40/20
A61B 5/11
(57)【特許請求の範囲】
【請求項1】
対象の動きの時系列データから算出された時間ご
との特徴量である処理前特徴量に、
時間ごとの特徴量および時間ごとの重みパラメータの関係の学習により得られた推定器により決定される重みパラメータを適用して算出された特徴量である処理後特徴量を取得する取得部と、
前記取得部によって取得された前記処理後特徴量を用いてモーションデータを検索する検索部と、
を備える、情報処理装置。
【請求項2】
前記取得部は、前記対象の動きの時系列データから算出された前記対象の部位ごとの特徴量である処理前特徴量に、部位ごとの特徴量
および部位ごとの重みパラメータとの関係の学習により得られた推定器により決定される
重みパラメータを適用して算出された特徴量である処理後特徴量をさらに取得する、
請求項1に記載の情報処理装置。
【請求項3】
前記検索部は、
前記取得部によって取得された前記対象の処理後特徴量および複数のモーションデータの各々の特徴量の類似度を算出し、類似度の算出結果に基づいてモーションデータを検索する、
請求項
2に記載の情報処理装置。
【請求項4】
前記検索部は、
前記類似度の算出結果に基づき、前記処理後特徴量との特徴量の類似度が高い方から所定数のモーションデータを検索結果として取得する、
請求項
3に記載の情報処理装置。
【請求項5】
前記取得部は、
前記対象の骨格を参照骨格に変換した参照対象の動きの時系列データから算出される処理後特徴量と、スケルトンデータの骨格を前記参照骨格に変換した参照モーションデータから算出される特徴量との比較により前記モーションデータを検索する、
請求項
4に記載の情報処理装置。
【請求項6】
前記情報処理装置は、
少なくとも1の部位について、前記モーションデータの特徴量に前記処理後特徴量を設定比率で混合することにより前記モーションデータの特徴量を補正する補正部、
を更に備える、
請求項
5に記載の情報処理装置。
【請求項7】
前記対象の部位ごとの特徴量は、速度、位置または姿勢のうち少なくともいずれか一つを含む、
請求項
6に記載の情報処理装置。
【請求項8】
対象の動きの時系列データから算出された時間ご
との特徴量である処理前特徴量に、
時間ごとの特徴量および時間ごとの重みパラメータの関係の学習により得られた推定器により決定される重みパラメータを適用して算出された特徴量である処理後特徴量を取得することと、
取得された前記処理後特徴量を用いてモーションデータを検索することと、
を含む、コンピュータにより実行される情報処理方法。
【請求項9】
前記取得することは、前記対象の動きの時系列データから算出された前記対象の部位ごとの特徴量である処理前特徴量に、部位ごとの特徴量
および部位ごとの重みパラメータとの関係の学習により得られた推定器により決定される
重みパラメータを適用して算出された特徴量である処理後特徴量をさらに取得する、
請求項8に記載の情報処理方法。
【請求項10】
前記検索することは、
前記取得することによって取得された前記対象の処理後特徴量および複数のモーションデータの各々の特徴量の類似度を算出し、類似度の算出結果に基づいてモーションデータを検索する、
請求項9に記載の情報処理方法。
【請求項11】
前記検索することは、
前記類似度の算出結果に基づき、前記処理後特徴量との特徴量の類似度が高い方から所定数のモーションデータを検索結果として取得する、
請求項10に記載の情報処理方法。
【請求項12】
前記取得することは、
前記対象の骨格を参照骨格に変換した参照対象の動きの時系列データから算出される処理後特徴量と、スケルトンデータの骨格を前記参照骨格に変換した参照モーションデータから算出される特徴量との比較により前記モーションデータを検索する、
請求項11に記載の情報処理方法。
【請求項13】
少なくとも1の部位について、前記モーションデータの特徴量に前記処理後特徴量を設定比率で混合することにより前記モーションデータの特徴量を補正すること、
を更に含む、
請求項12に記載の情報処理方法。
【請求項14】
前記対象の部位ごとの特徴量は、速度、位置または姿勢のうち少なくともいずれか一つを含む、
請求項13に記載の情報処理方法。
【請求項15】
コンピュータに、
対象の動きの時系列データから算出された時間ご
との特徴量である処理前特徴量に、
時間ごとの特徴量および時間ごとの重みパラメータの関係の学習により得られた推定器により決定される重みパラメータを適用して算出された特徴量である処理後特徴量を取得する取得機能と、
前記取得機能によって取得された前記処理後特徴量を用いてモーションデータを検索する検索機能と、
を実現させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、ユーザの動きを示す動き情報を取得するためのモーションキャプチャを利用したアニメーション制作や配信が盛んに行われている。例えば、取得された動き情報を用いて、ユーザの動きを模したモーションデータを生成し、当該モーションデータに基づくアバター映像を配信することが行われている。
【0003】
このような背景から、年々、モーションデータが増加しており、これまでに生成されたモーションデータを再活用する技術が開発されている。例えば、特許文献1では、複数のモーションデータを連結して、アニメーションデータを作成する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】米国特許出願公開第2012/0038628号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上述したモーションデータおよびアニメーションデータをユーザが利用する際に、ユーザは、テキスト検索またはカテゴリ検索による検索方法を用いてモーションデータ等を検索する必要がある。モーションデータが増加、かつ複雑化していく中で、ユーザは、ユーザが求めるモーションデータ等を検索することが困難になり得る。
【0006】
そこで、本開示では、ユーザの利便性を向上することが可能な、新規かつ改良された情報処理方法、情報処理装置およびプログラムを提案する。
【課題を解決するための手段】
【0007】
本開示によれば、対象の動きの時系列データから算出された時間ごと、または前記対象の部位ごとの特徴量である処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して算出された特徴量である処理後特徴量を取得する取得部と、前記取得部によって取得された前記処理後特徴量を用いてモーションデータを検索する検索部と、を備える、情報処理装置が提供される。
【0008】
また、本開示によれば、対象の動きの時系列データから算出された時間ごと、または前記対象の部位ごとの特徴量である処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して算出された特徴量である処理後特徴量を取得することと、取得された前記処理後特徴量を用いてモーションデータを検索することと、を含む、コンピュータにより実行される情報処理方法が提供される。
【0009】
また、本開示によれば、コンピュータに、対象の動きの時系列データから算出された時間ごと、または前記対象の部位ごとの特徴量である処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して算出された特徴量である処理後特徴量を取得する取得機能と、前記取得機能によって取得された前記処理後特徴量を用いてモーションデータを検索する検索機能と、を実現させる、プログラムが提供される。
【図面の簡単な説明】
【0010】
【
図1】本開示に係る情報処理端末10のモーションデータの検索に係る動作処理例を説明するための説明図である。
【
図2】本開示に係る情報処理端末10の機能構成例を説明するための説明図である。
【
図3】本開示に係るサーバ20の機能構成例を説明するための説明図である。
【
図4】複数の検索結果を連結するGUI(Graphical User Interface)の一例を説明するための説明図である。
【
図5】既存アニメーションデータに含まれる一部の区間をモーションデータに修正する一例を説明するための説明図である。
【
図6】既存アニメーションを修正するGUIの一例を説明するための説明図である。
【
図7】スケルトンデータの生成方法の具体例を示す説明図である。
【
図8】機械学習技術を用いてスケルトンデータの時系列データと処理前特徴量との関係を学習する方法の一例を説明する説明図である。
【
図9】本開示に係る部位ごとに処理前特徴量を算出する方法の一例を説明するための説明図である。
【
図10】処理前特徴量に重みパラメータを適用して処理後
特徴量を算出
する方法の一例を説明するための説明図である。
【
図11】時間ごとに用意した重みパラメータの一例を説明するための説明図である。
【
図12】重みパラメータの学習方法の一例を説明するための説明図である。
【
図13】モーションデータの特徴量を補正する処理の一例を説明するための説明図である。
【
図14】本開示に係る情報処理端末10のモーションデータの検索に係る動作処理例を説明するための説明図である。
【
図15】本開示に係るサーバ20のモーションデータの検索に係る動作処理例を説明するための説明図である。
【
図16】情報処理端末10のハードウェア構成を示したブロック図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0012】
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.情報処理システムの概要
2.機能構成例
2-1.情報処理端末の機能構成例
2-2.サーバの機能構成例
3.詳細
3-1.ユーザインタフェースの具体例
3-2.姿勢推定
3-3.特徴量算出
3-4.重みパラメータ
3-5.類似度評価
3-6.補正
4.動作例
4-1.情報処理端末の動作
4-2.サーバの動作
5.作用効果例
6.ハードウェア構成
7.補足
【0013】
<<1.情報処理システムの概要>>
モーションデータには、人間や動物等の動体の動きの情報を可視化するため、例えば身体の構造を示すスケルトン構造により表現されるスケルトンデータが用いられる。スケルトンデータは、部位の位置や姿勢などの情報を含む。なお、スケルトン構造における部位は、例えば身体の末端部位や関節部位等に対応する。また、スケルトンデータは、部位間を結ぶ線分であるボーンを含んでもよい。スケルトン構造におけるボーンは例えば人間の骨に相当し得るが、ボーンの位置や数は必ずしも実際の人間の骨格と整合していなくてもよい。
【0014】
スケルトンデータにおける各部位の位置および姿勢は、多様なモーションキャプチャ技術により取得可能である。例えば、身体の各部位にマーカを装着し、外部のカメラ等を用いてマーカの位置を取得するカメラ式の技術や、身体の部位にモーションセンサを装着し、モーションセンサにより取得された時系列データに基づいてモーションセンサの位置情報を取得するセンサ方式の技術が存在する。
【0015】
また、スケルトンデータの用途は多様である。例えば、スケルトンデータの時系列データは、スポーツにおいてフォーム改善に用いられたり、VR(Virtual Reality)またはAR(Augmented Reality)等のアプリケーションに用いられたりしている。また、スケルトンデータの時系列データを用いて、ユーザの動きを模したアバター映像を生成し、当該アバター映像を配信することも行われている。
【0016】
以下では、本開示の一実施形態として、ユーザの全身の動きの時系列データから算出されたスケルトンデータの特徴量またはスケルトンデータの部位ごとの特徴量を取得し、当該特徴量を用いてモーションデータを検索する情報処理システムの構成例を説明する。なお、以下では動体の一例として主に人間を説明するが、本開示の実施形態は、動物およびロボットなどの他の動体にも同様に適用可能である。
【0017】
図1は、本開示の一実施形態による情報処理システムを示す説明図である。
図1に示したように、本開示の一実施形態による情報処理システムは、ユーザUが装着する6つのセンサ装置S1~S6、情報処理端末10およびサーバ20を有する。
【0018】
情報処理端末10およびサーバ20は、ネットワーク1を介して接続されている。ネットワーク1は、ネットワーク1に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク1は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク1は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
【0019】
(センサ装置S)
センサ装置Sは、ユーザUの動きを検出する。センサ装置Sは、例えば、加速度(Acceleration)を取得する加速度センサや角速度(Angular velocity)を取得するジャイロセンサ(角速度センサ)等の慣性センサ(IMU:Inertial Measurement Unit)を含む。
【0020】
また、センサ装置Sは、撮像センサ、ToF(Time of Flight)センサ、磁気センサまたは超音波センサなどのユーザUの動きを検出するセンサを搭載した各種センサ装置であってもよい。
【0021】
センサ装置S1~S6は、身体の基準となる関節部位(例えば腰や頭部)、あるいは身体の末端近傍(手首、足首、頭部等)に装着されることが望ましい。
図1に示す例では、ユーザUの腰にセンサ装置S1が装着され、両手首にセンサ装置S2およびS5が装着され、両足首にセンサ装置S3およびS4が装着され、頭部にセンサ装置S
6が装着されている。なお、以下では、センサ装置Sが装着された身体の部位を装着部位とも称する場合がある。また、センサ装置Sの数や装着位置(装着部位の位置)は
図1に示す例に限定されず、ユーザUに装着されるセンサ装置Sはより多くてもよいし、より少なくてもよい。
【0022】
このようなセンサ装置Sは、装着部位の加速度または角速度などを時系列データとして取得し、当該時系列データを情報処理端末10に送信する。
【0023】
また、ユーザUはセンサ装置Sを装着しなくてもよい。例えば、情報処理端末10は、情報処理端末10が備える各種センサ(例えば、撮像センサやToFセンサ)を用いて、ユーザUの動きを検出してもよい。
【0024】
(情報処理端末10)
情報処理端末10は、情報処理装置の一例である。情報処理端末10は、センサ装置Sから受信した時系列データからユーザUの動きの特徴量を算出し、算出した特徴量を用いてモーションデータを検索する。
【0025】
例えば、情報処理端末10は、処理後特徴量を検索要求としてサーバ20に送信する。そして、情報処理端末10は、当該検索要求に応じてサーバ20により検索されたモーションデータをサーバ20から受信する。
【0026】
なお、
図1では、情報処理端末10としてスマートフォンを示しているが、情報処理端末10は、ノートPC(Personal Computer)およびデスクトップPC等の他の情報処理装置であってもよい。
【0027】
(サーバ20)
サーバ20は、複数のモーションデータおよび複数のモーションデータの各々の特徴量を保持する。また、サーバ20は、複数のモーションデータの各々の特徴量と情報処理端末10から受信した処理後特徴量との類似度評価を行い、類似度評価の結果に応じたモーションデータを情報処理端末10に送信する。
【0028】
以上、本開示における情報処理システムの概要を説明した。続いて、本開示に係る情報処理端末10およびサーバ20の機能構成例を説明する。
【0029】
<<2.機能構成例>>
<2-1.情報処理端末の機能構成例>
図2は、本開示に係る情報処理端末10の機能構成例を説明するための説明図である。
図2に示すように、情報処理端末10は、操作表示部110と、通信部120と、制御部130とを備える。
【0030】
(操作表示部110)
操作表示部110は、サーバ20により送信された検索結果を表示する表示部としての機能を有する。また、操作表示部110は、ユーザが操作入力を行うための操作部としての機能を有する。
【0031】
表示部としての機能は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置により実現される。
【0032】
また、操作部としての機能は、例えば、タッチパネル、キーボードまたはマウスにより実現される。
【0033】
なお、
図1において、情報処理端末10は、表示部および操作部の機能を一体化した構成としているが、表示部および操作部の機能を分離した構成としてもよい。
【0034】
(通信部120)
通信部120は、ネットワーク1を介して、サーバ20と各種情報を通信する。例えば、通信部120は、ユーザの動きの時系列データから算出されたスケルトンデータの処理後をサーバ20に送信する。また、通信部120は、送信した処理後特徴量に応じてサーバ20により検索されたモーションデータを受信する。
【0035】
(制御部130)
制御部130は、情報処理端末10の動作全般を制御する。
図2に示すように、制御部130は、姿勢推定部131と、特徴量算出部135と、検索要求部139と、補正部143とを備える。
【0036】
姿勢推定部131は、センサ装置Sから取得された装着部位の加速度または速度などの時系列データに基づいて、各装着部位の位置および姿勢を示す装着部位情報を推定する。なお、各装着部位の位置および姿勢は、二次元位置であってもよいし、三次元位置であってもよい。
【0037】
そして、姿勢推定部131は、装着部位情報に基づいて、スケルトン構造における各部位の位置情報および姿勢情報を含むスケルトンデータを生成する。また、姿勢推定部131は、生成したスケルトンデータを参照スケルトンデータに変換してもよい。姿勢推定に係る詳細については後述する。
【0038】
特徴量算出部135は、取得部の一例であり、スケルトンデータの時系列データからスケルトンデータの全身の特徴量または部位ごとの特徴量である処理前特徴量を算出する。そして、特徴量算出部135は処理前特徴量に対して、重みパラメータを適用し、処理後特徴量を算出する。処理前特徴量、重みパラメータおよび処理後特徴量の詳細は後述する。
【0039】
検索要求部139は、検索部の一例であり、特徴量算出部135により算出された処理後特徴量を検索要求として、通信部120に送信させる。
【0040】
補正部143は、サーバ20から検索結果として受信したモーションデータの特徴量に処理後特徴量を設定比率で混合することによりモーションデータの特徴量を補正する。補正に係る詳細は後述する。
【0041】
以上、情報処理端末10の機能構成例を説明した。続いて、
図3を参照し、サーバ20の機能構成例を説明する。
【0042】
<2-2.サーバの機能構成例>
図3は、本開示に係るサーバ20の機能構成例を説明するための説明図である。
図3に示すように、サーバ20は、通信部210と、記憶部220と、制御部230とを備える。
【0043】
(通信部210)
通信部210は、ネットワーク1を介して、情報処理端末10と各種情報を通信する。例えば、通信部210は、ユーザの動きの時系列データから算出したスケルトンデータの全身または各部位の処理後特徴量を情報処理端末10から受信する。また、通信部210は、情報処理端末10から受信した処理後特徴量に応じて検索したモーションデータを情報処理端末10に送信する。
【0044】
(記憶部220)
記憶部220は、ソフトウェアおよび各種データを保持する。
図3に示すように、記憶部220は、モーションデータ記憶部221と、モーション特徴量記憶部225とを備える。
【0045】
モーションデータ記憶部221は、複数のモーションデータを保持する。
【0046】
モーション特徴量記憶部225は、モーションデータ記憶部221に保持される複数のモーションデータの各々の特徴量を保持する。より具体的には、モーション特徴量記憶部225は、モーションデータに含まれる各スケルトンデータが参照スケルトンデータに変換されたモーションデータである参照モーションデータの特徴量を保持する。
【0047】
(制御部230)
制御部230は、サーバ20の動作全般に係る制御を行う。
図3に示すように、制御部230は、参照骨格変換部231と、特徴量算出部235と、類似度評価部239と、学習部243と推定器247とを備える。
【0048】
参照骨格変換部231は、複数のモーションデータの各々に含まれるスケルトンデータを参照スケルトンデータに変換する。より具体的には、スケルトンデータの各々が有する各部位の骨格を、それぞれ所定の骨格情報を含む参照骨格に変換する。
【0049】
特徴量算出部235は、参照スケルトンデータに変換されたモーションデータの特徴量を算出し、特徴量の算出結果をモーション特徴量記憶部225に出力する。なお、参照スケルトンデータに変換されたモーションデータは、参照モーションデータの一例である。
【0050】
類似度評価部239は、情報処理端末10から受信した処理後特徴量と、モーション特徴量記憶部225に保持される複数のモーションデータの各々の特徴量との類似度を評価する。類似度評価の詳細については後述する。
【0051】
学習部243は、スケルトンデータの部位ごとの時系列データと、モーションデータの部位ごとの特徴量との組を教師データとする機械学習技術により学習データを生成する。
【0052】
また、学習部243は、スケルトンデータの時系列データと、モーションデータの部位ごとの特徴量の組を教師データとする機械学習技術に、アテンションを用いることにより、部位ごとの重みパラメータや時間ごとの重みパラメータを取得してもよい。
【0053】
推定器247は、ユーザのスケルトンデータから各部位の処理前特徴量を推定する。推定器247の機能は、学習部243により生成された学習データにより得られる。
【0054】
以上、本開示に係る機能構成例を説明した。続いて、
図4~13を参照し、本開示に係るシステムの詳細を順次説明する。
【0055】
<<3.詳細>>
<3-1.ユーザインタフェースの具体例>
ユーザは操作表示部110の表示画面上での操作を行うことにより、モーションデータの検索または既存アニメーションデータの修正を行う。本開示では、モーションデータの検索に係る一例として、ユーザの動きに応じて検索された複数のモーションデータを連結し、一つのアニメーションデータを生成する例を説明する。また、アニメーションデータの修正に係る一例として、既存のアニメーションデータに含まれる一部の区間を、重みパラメータに応じて検索されたモーションデータに修正する例を説明する。
【0056】
(検索結果の連結)
図4は、複数の検索結果を連結するGUI(Graphical User Interface)の一例を説明するための説明図である。複数の検索結果を連結するGUIは、
図4に示すように、スケルトンデータ
Sと、検索ボタンs1と、区間A1~A3と、補正区間d2と、シークバーb1とを含んでもよい。
【0057】
検索ボタンs1は、ユーザの動き情報を取得する検索機能をONまたはOFFにするボタンである。また、区間A1~A3は、ユーザの動きに応じて検索されたモーションデータを挿入する区間であり、補正区間d2は、二つのモーションデータの挿入する区間を繋ぐ区間である。また、シークバーb1は、カーソルで指定したタイミングのスケルトンデータsを表示するための指示バーをである。
【0058】
当該GUIにおいて行われる操作および処理は以下の通りである。
(1)まず、ユーザは検索ボタンs1を所定の操作に基づいて選択し、検索機能をONにする。
(2)次に、ユーザは、ユーザがモーションデータとして検索したい情報を含む動作を行う。
(3)続いて、ユーザは再度、検索ボタンs1を選択し、検索機能をOFFにする。
(4)そして、操作表示部110は、ユーザの動きに応じて検索されたモーションデータを表示する。
(5)ユーザの動きに応じて検索されたモーションデータが複数表示された場合、ユーザは複数表示されたうちの1のモーションデータを選択する。
(6)さらにユーザは、挿入区間として区間A1~A3のいずれかを選択する。
(7)そして、操作表示部110は、ユーザにより選択された区間にモーションデータを挿入する。
【0059】
(1)~(7)の操作および処理を複数回に亘って繰り返し行われることにより、複数のモーションデータが連結されたアニメーションデータが生成される。
【0060】
なお、補正区間d2は任意であり、任意の補正方法を用いて補正区間d2を埋めてもよいし、補正区間d2をなくして複数の挿入区間を繋いでアニメ―ションデータが生成されてもよい。
【0061】
また、操作表示部110がシークバーb1を表示することにより、ユーザは、モーションデータの連結により生成されたアニメーションデータを確認できてもよい。
【0062】
また、(6)において、ユーザが挿入区間を指定しなくてもよい。例えば、時刻が前であるタイミングの区間から順番にモーションデータが挿入されてもよい。例えば、複数回に亘って(1)~(5)の操作および処理が実行された際に、(5)においてユーザが選択したモーションデータが区間A1から順に挿入されてもよい。そして、情報処理端末10は、区間A1および区間A2の間と、区間A2および区間A3の間である補正区間d2に任意の補正方法用いて各区間のモーションデータを連結してもよい。
【0063】
また、
図4では、モーションデータを挿入する区間として区間A1~A3の3区間を示しているが、挿入する区間の数は、3区間でなくてもよい。(1)~(5)の操作および処理を行う回数に応じて、モーションデータを挿入する区間の数が決定されてもよい。
【0064】
また、詳細は後述するが、操作表示部110は、各種重みパラメータや処理後特徴量およびモーションデータの特徴量の設定比率などの各種パラメータの設定欄を表示してもよい。
【0065】
続いて、
図5および
図6を参照し、既存アニメーションデータに含まれる一部の区間をモーションデータに修正に係る一例を説明する。
【0066】
(既存アニメーションデータの修正)
図5は、既存アニメーションデータに含まれる一部の区間をモーションデータに修正する一例を説明するための説明図である。本開示に係る一実施形態では、モーションキャプチャまたは手作業により得られたアニメーションデータ(以下、既存アニメーションデータAと表現する。)に含まれる一部の区間をモーションデータBに置き換えて修正してもよい。
【0067】
例えば、ユーザは、既存アニメーションデータに含まれる複数の区間A1~A3のうち、修正区間として区間A2を選択する。
【0068】
そして、操作表示部110は、区間A2に含まれるスケルトンデータの時系列データの処理後特徴量に基づき検索されたモーションデータBを既存アニメーションデータの区間A2に置き換えて表示してもよい。
【0069】
例えば、
図5に示すように、検索結果として二つのモーションデータBが表示された場合、ユーザはいずれかのモーションデータBを選択する。ユーザが
図5に示すモーションデータBの左図を選択した場合、操作表示部110は、既存アニメーションの区間A2に、
図5に示すモーションデータBの左図を置き換えて表示する。
【0070】
本開示に係る既存アニメーションを修正する一例について、
図6を参照して、より具体的に説明する。
【0071】
図6は、既存アニメーションを修正するGUIの一例を説明するための説明図である。
図6に示すように、既存アニメ―ションを修正するGUIは、スケルトンデータ
Sと、部位ごとの重みパラメータ設定欄w1と、時間ごとの重みパラメータ設定欄w2と、設定比率設定欄qbと、検索ボタンs2と、区間A2と、シークバーb2と、再生コマンドc1とを含んでもよい。
【0072】
部位ごとの重みパラメータ設定欄w1は、部位ごとに算出された処理前特徴量に適用する重みパラメータを設定する設定欄である。また、時間ごとの重みパラメータ設定欄w2は、時間ごとに算出された処理前特徴量に適用する重みパラメータを設定する設定欄である。また、設定比率設定欄qbは、部位ごとのモーションデータの特徴量に処理後特徴量を混合する比率を設定する設定欄である。部位ごとの重みパラメータと、時間ごとの重みパラメータと、設定比率の詳細については後述する。
【0073】
また、再生コマンドc1による操作により、ユーザは修正したアニメーションデータを確認できる。なお、シークバーb2による操作により、ユーザは修正したアニメーションデータを確認してもよい。
【0074】
まず、ユーザは、修正区間として区間A2を選択する。続いて、ユーザは、部位ごとの重みパラメータ設定欄w1、時間ごとの重みパラメータ設定欄w2および設定比率設定欄qbの各設定欄において、各種パラメータを設定し、検索ボタンs2を選択する。
【0075】
そして、操作表示部110は、ユーザの操作に応じて検索された少なくとも1以上のモーションデータを表示する。1のモーションデータが検索結果として表示された場合、操作表示部110は、当該モーションデータを区間A2に置き換えて挿入する。複数のモーションデータが検索結果として表示された場合、ユーザは複数のモーションデータのうち、1のモーションデータを選択し、操作表示部110は、ユーザに選択された1のモーションデータを区間A2に置き換えて挿入する。
【0076】
以上、ユーザインタフェースの具体例を説明したが、本開示に係る一実施形態は係る例に限定されない。例えば、既存アニメーションの修正において、ユーザが修正する区間を選択する例を説明したが、情報処理端末10が修正候補区間をユーザに提示してもよい。例えば、操作表示部110は、既存アニメーションデータの表示とともに、修正候補区間をユーザに提示してもよい。この場合、ユーザは、提示された修正候補区間を変更する操作を行ってもよい。
【0077】
なお、操作表示部110により提示される修正候補区間は、例えば、既存アニメーションデータの全区間の中で相対的に動きの大きい区間や、DNN(Deep Neural Network)などの機械学習技術を用いて、特に重要度が高いと推定された区間であってもよい。
【0078】
<3-2.姿勢推定>
図7は、スケルトンデータの生成方法の具体例を示す説明図である。姿勢推定部131は、時系列データに基づいて、
図7の左図に示すように、センサ装置S1~S6が装着された装着部位の位置情報及び姿勢情報を含む装着部位情報PDを取得する。
【0079】
さらに、姿勢推定部131は、装着部位の装着部位情報PDに基づき、
図7の右図に示すように、スケルトン構造における各部位の位置情報及び姿勢情報を含むスケルトンデータSDを取得する。スケルトンデータSDには、センサ装置S1の装着部位に対応する装着部位SP1やセンサ装置S2の装着部位に対応する装着部位SP2の情報だけでなく、非装着部位SP7の情報が含まれる。
【0080】
なお、スケルトンデータSDには、部位の情報に加え、ボーンの情報(位置情報、姿勢情報等)も含まれ得る。例えば、
図7に示した例において、スケルトンデータSDには、ボーンSB1の情報が含まれ得る。姿勢推定部
131は、スケルトン構造における部位の位置情報及び姿勢情報に基づいて、部位間のボーンの情報を特定することが可能である。
【0081】
また、情報処理端末10に備えられる撮像センサやToFセンサを用いてユーザの動きを検出してもよい。この場合、姿勢推定部131は、例えば、人物を撮影して取得された画像の時系列データと、スケルトンデータの組を教師データとする機械学習技術により得られた推定器を用いて、ユーザのスケルトンデータSDを生成してもよい。
【0082】
また、詳細は後述するが、装着部位情報に基づき生成されたスケルトンデータSDの時系列データから算出される処理後特徴量と、モーションデータ記憶部221により保持される複数のモーションデータの各々の特徴量との類似度評価を行う際に、同一の骨格情報(ボーン長さ、ボーン太さ等)に各スケルトンデータを変換した方がよい場合がある。
【0083】
そこで、姿勢推定部131は、スケルトンデータSDの各部位の骨格を参照骨格に変換し、スケルトンデータSDを参照スケルトンデータに変換してもよい。ただし、骨格に依存しない特徴量による類似度評価がされる場合、姿勢推定部131は、スケルトンデータSDを参照スケルトンデータに変換しなくてもよい。例えば、骨格に依存しない特徴量は、各部位の姿勢情報を含む。
【0084】
姿勢推定部131は、例えば、任意の手法を用いて、スケルトンデータSDを参照スケルトンデータに変換してもよい。任意の手法とは、例えば、各関節の姿勢のコピー、身長に応じてルート位置のスケーリングおよびIK(Inverse Kinematics)を用いて各部位の末端位置の調整などを含む。
【0085】
また、サーバ20が備える学習部243は、DNNを用いて、スケルトンデータの骨格情報と動き情報とを分離する学習を行ってもよい。学習により得られた推定器247を用いることにより、姿勢推定部131は、スケルトンデータSDを参照スケルトンデータに変換する処理を省略してもよい。以下の説明において、参照スケルトンデータを単にスケルトンデータと表現する場合がある。
【0086】
<3-3.特徴量算出>
本開示において、特徴量を、処理前特徴量と、処理前特徴量に後述する重みパラメータを適用した処理後特徴量の二種類に分けて説明する。
【0087】
特徴量算出部135は、姿勢推定部131により推定されたスケルトンデータの時系列データから、処理前特徴量を算出する。
【0088】
例えば、処理前特徴量は、各関節の速度、位置または姿勢(回転など)であってもよいし、接地情報であってもよい。
【0089】
また、学習部243は、DNNなどの機械学習技術を用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。この場合、特徴量算出部135は、学習により得られた推定器247を用いて、処理前特徴量を算出する。以下、
図8を参照し、機械学習技術を用いてスケルトンデータの時系列データと処理前特徴量との関係を学習する方法の一例を説明する。
【0090】
図8は、機械学習技術を用いてスケルトンデータの時系列データと処理前特徴量との関係を学習する方法の一例を説明する説明図である。例えば、学習部243は、Encoder-Decoder Modelを用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。
【0091】
例えば、時間区間t~t+Tにおけるスケルトンデータの全身の姿勢情報を入力とした場合、学習部243は、EncoderとしてCNN(ConvolutionalNeural Network)を用いて処理前特徴量を推定する。そして、学習部243は、推定された処理前特徴量に対してDecoderとしてCNNを用いて時間区間t~t+Tにおけるスケルトンデータの全身の姿勢を出力する。
【0092】
なお、
図8では、スケルトンデータの時系列データとして全身の姿勢を入力とする例を示しているが、例えば入力は、関節の位置や速度等の他の動きに関する情報であってもよいし、複数の情報を入力としてもよい。また、本開示に係るEncoder-Dec
oder Modelは、構造をより多層化や複雑化してもよいし、RNN(Recurrent Neural Network)などの他の機械学習技術を用いてもよい。
【0093】
また、学習部243は、Deep Metric Learningを用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。例えば、学習部243は、Triplet Lossを用いて、スケルトンデータの時系列データと処理前特徴量との関係を学習してもよい。
【0094】
Triplet Lossを用いる際に、ある入力(anchor)と類似するデータ(positive data)と、anchorと非類似のデータ(negative data)を人為的に用意してもよいし、時系列データの類似度評価手法を用いてもよい。または、時間的に近いデータは類似していると見なし、時間的に遠いデータは被類似であると見なしてもよい。なお、時系列データの類似度評価手法は、例えばDTW(Dynamic Time Warping)を含む。
【0095】
また、学習させるデータセットは、クラスラベル(例えば、キック、パンチ等)の情報を付与してもよい。学習させるデータセットにクラスラベルの情報を付与した場合、クラス分類を行う中間特徴量を処理前特徴量としてもよい。また、学習させるデータセットの一部にクラスラベルが付与される場合、Encoder-Decoder ModelおよびTriplet Lessを組み合わせた半教師学習による機械学習技術を用いて学習させてもよい。
【0096】
図9は、本開示に係る部位ごとに処理前特徴量を算出する方法の一例を説明するための説明図である。
【0097】
図9に示すように、全身が有する部位を頭(Head)、胴体(Body)、右手(RArm)、左手(LArm)、右足(RLeg)および左足(Lleg)の5部位に分けた場合、学習部243は、スケルトンデータの各部位ごとにDNNを用いて、スケルトンデータの各部位の時系列データと各処理前特徴量との関係を学習してもよい。
【0098】
例えば、学習部243は、時間区間t~t+Tにおけるスケルトンデータの胴体の姿勢を入力し、EncoderとしてDNNを用いて、スケルトンデータの胴体の処理前特徴量を推定する。
【0099】
そして、特徴量算出部135は、算出した各部位の処理前特徴量に対して、DecoderとしてDNNを用いて各部位の処理前特徴量を統合することにより、時間区間t~t+Tにおけるスケルトンデータの全身の姿勢を出力する。
【0100】
以上、入力と処理前特徴量の学習方法の具体例を説明した。なお、学習部243は、上述した複数の処理前特徴量の学習方法を組み合わせて、入力と処理前特徴量との関係を学習してもよい。
【0101】
<3-4.重みパラメータ>
本開示では、モーションデータの検索に際して、ユーザはモーションデータの検索に関連する動作を行う。また、ユーザがGUI上で検索開始を選択してから検索終了を選択するまでの時間において、特徴量算出部135は、ユーザの動きを示すスケルトンデータの時系列データから所定の時間区間ごとに特徴量を算出する。
【0102】
また、特徴量算出部135は、ユーザの動きを示すスケルトンデータの各部位の処理前特徴量を算出する。例えば、ユーザがキックの動作を行った際に、特徴量算出部135は、ユーザが蹴り上げた足の処理前特徴量だけでなく、例えば頭や手などの部位ごとの処理前特徴量も算出する。
【0103】
しかし、モーションデータの検索に際して、必ずしも全ての時間区間の特徴量または全ての部位の特徴量が重要ではない場合がある。そこで、本開示に係る特徴量算出部135は、スケルトンデータの動きの時系列データから算出された時間ごと、または部位ごとの処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して処理後特徴量を算出する。
【0104】
図10は、処理前特徴量に重みパラメータを適用して処理後
特徴量を算出
する方法の一例を説明するための説明図である。
図10に示すように、特徴量算出部135は、1つの部位jの処理前特徴量bmの各次元または各時間に対して、それぞれ重みパラメータwmを適用することにより、処理後特徴量amを算出する。
【0105】
当該部位jの処理前特徴量bmは、bm
j∈R
M×Tの行列式で表現される。ここで、Mは特徴量方向の次元数を示し、Tは時間方向で所定の時間区間ごとに分割した時間区間数を示す。すなわち、
図10は、特徴量方向の次元数Mおよび時間方向の時間区間数Tが5である例を示す。なお、特徴量方向の次元数Mは単数であってもよいし、複数であってもよい。また、重みパラメータwmおよび処理後特徴量amも処理前特徴量bmと同じ行数および列数で表現される。
【0106】
また、
図10では、処理前特徴量に含まれる各特徴量および重みパラメータに含まれる各パラメータおよび処理後特徴量に含まれる各特徴量の大きさの度合いを色の濃淡で表現する。なお、
図10では、処理前特徴量bmに含まれる各特徴量の濃淡度合を1値で表現し、重みパラメータwmに含まれる各パラメータの濃淡度合および処理後特徴量amに含まれる各特徴量の濃淡度合を2値で表現しているが、様々な値を含み得る。
【0107】
また、部位数が複数個あった場合、特徴量方向に他の部位を連結させてもよい。例えば、部位数をN個とした場合、重みパラメータwmは、wm∈R(M×N)×Tの行列式で表現される。
【0108】
重みパラメータwmは、ユーザによりGUI上で設定されても良いし、機械学習技術により得られた推定器247を用いて決定されてもよい。まず、
図11を参照し、重みパラメータがユーザにより設定される一例を説明する。
【0109】
図11は、時間ごとに用意した重みパラメータの一例を説明するための説明図である。
図11において、ユーザの足に取り付けられたセンサ装置Sが取得した足の加速度の時系列データを足の速度vの時系列データに変換した例を示す。
【0110】
例えば、ユーザがキックの動作を行った場合、センサ装置Sは、キック前、キック中、キック後の時系列データを取得する。モーションデータの検索においてキックの動作に特徴があった場合、ユーザはキック前およびキック後の時間区間における重みパラメータを小さくまたは0に設定してもよい。
【0111】
例えば、ユーザは、情報処理端末10が備える操作表示部110を用いて時間ごとに重みパラメータwmを設定してもよい。例えば、
図11に示すハッチングが付された区間がユーザによりキックの動作が行われた時間区間であった場合、ユーザは、ハッチングが付された区間の特徴量を取得する重みパラメータwmを時間ごとに設定してもよい。
【0112】
ハッチングが付された区間を採用区間と称し、採用区間以外の区間を非採用区間と称した場合、時間ごとの重みパラメータwmtは以下の数式1を用いて設定されてもよい。
wmt=1/L (採用区間)
wmt=0 (非採用区間)
Σwmt=1
・・・(数式1)
【0113】
なお、数式1におけるLは、採用区間の時間長である。
【0114】
特徴量算出部135は、時間ごとの処理前特徴量に、時間ごとに設定された重みパラメータwmtとして数式1を用いることにより、例えば、ユーザがキックの動作を行った時間区間の特徴量を処理後特徴量として算出することができる。
【0115】
続いて、部位ごとに設定された重みパラメータwmjを用いて処理後特徴量を算出する一例を説明する。
【0116】
例えば、キック動作を行うモーションデータの検索の場合、ユーザは、蹴り上げた足に対する重みパラメータwmLegを、他の部位の重みパラメータwmjと比較して大きく設定してもよい。
【0117】
また、重みパラメータwmは、ユーザが操作表示部110を用いて設定してもよいし、特徴量算出部135により自動的に設定されてもよい。例えば、動いている部位が重要であると仮定した場合、特徴量算出部135は、速度の大きさや速度の変化量が所定値以上である部位の重みパラメータwmjを大きく、速度の大きさや速度の変化量が所定値未満である部位の重みパラメータwmjを小さく設定してもよい。
【0118】
また、学習部243は、スケルトンデータの時系列データと処理前特徴量との関係の学習に加え、処理前特徴量と重みパラメータwmとの関係を併せて学習してもよい。
【0119】
図12は、重みパラメータの学習方法の一例を説明するための説明図である。学習部243は、
図9を参照して説明した処理前特徴量の算出方法を用いて、スケルトンデータの各部位の姿勢と時間区間t~t+Tにおける各部位の処理前特徴量との関係を学習する。
【0120】
さらに、学習部243は、時間区間t~t+Tにおける、スケルトンデータの全身の姿勢と各部位の姿勢を入力し、DNNのアテンションを用いて、部位ごとの処理前特徴量と、部位ごとの重みパラメータとの関係を学習してもよい。同様に、学習部243は、スケルトンデータの全身の姿勢と各部位の姿勢を入力し、DNNのアテンションを用いて、時間ごとの処理前特徴量と時間ごとの重みパラメータとの関係を学習してもよい。この場合、特徴量算出部235は、時間ごとの重みパラメータおよび部位ごとの重みパラメータを、学習により得られた推定器247を用いて決定する。
【0121】
<3-5.類似度評価>
情報処理端末10は、処理後特徴量の情報をサーバ20に送信する。そして、サーバ20が備える類似度評価部239は、受信した処理後特徴量と、モーション特徴量記憶部225に保持されるモーションデータの特徴量との類似度を評価する。
【0122】
類似度評価部239は、例えば、二乗誤差を用いて類似度評価を行ってもよい。例えば、部位jにおける時間区間t、次元mの処理前特徴量をqueryfj
t、mとし、モーションデータの特徴量をdatasetfj
t、mとし、重みパラメータをwj
t、mとし、類似度をsとする。この場合、類似度評価部239は、数式2を用いて、処理後特徴量とモーションデータの特徴量との類似度を評価する。
【0123】
1/s=Σj、t、mwj
t、m(queryfj
t、m―datasetfj
t、m)
・・・(数式2)
【0124】
また、類似度評価部239は、例えば、相関係数を用いて類似度評価を行ってもよい。より具体的には、類似度評価部239は、数式3を用いて、処理後特徴量とモーションデータの特徴量との類似度を評価する。
【0125】
s=Σj、m{(Σj
t、m
queryfj
t、m×datasetfj
t、m)/(|queryfj
m|2×|datasetfj
m|2)}
・・・(数式3)
【0126】
そして、サーバ20は、類似度評価部239による類似度評価の結果に応じたモーションデータを情報処理端末10に送信する。例えば、類似度評価部239は、受信した処理後特徴量と複数のモーションデータの各々の特徴量の類似度を算出し、サーバ20は類似度が高い方から所定数のモーションデータを検索結果として情報処理端末10に送信してもよい。
【0127】
また、ユーザは類似度が高いモーションデータを検索結果から除外する操作を行ってもよい。この場合、類似度評価部239より類似度が所定値以上であったモーションデータは検索結果から除外される。
【0128】
<3-6.補正>
類似度評価に応じて取得されたモーションデータは、ユーザの全身の動きまたは重みパラメータを大きくした部位の動きで、特にユーザが必要とする動きになり得る。一方、モーションデータの全ての部位の動きが必ずしもユーザが必要とする動きと一致または類似するとは限らない。
【0129】
そこで、補正部143は、検索結果として取得されたモーションデータの少なくとも1以上の部位について、モーションデータの特徴量を補正する処理を実行してもよい。以下、
図13を参照して、モーションデータの特徴量を補正する処理の一例を説明する。
【0130】
図13は、モーションデータの特徴量を補正する処理の一例を説明するための説明図である。
図13では、センサ装置Sが取得したユーザの動きを示すスケルトンデータをクエリQ(t)とし、検索結果として取得されたモーションデータのスケルトンデータを検索結果R(t)とする。
【0131】
例えば、ユーザが検索結果R(t)の左手の位置および動きをクエリQ(t)の位置および動きに補正したい場合、ユーザが上述したように設定した設定比率に基づき、補正部143は、検索結果を補正する処理を実行してもよい。
【0132】
例えば、補正部143は、サーバ20から検索結果として受信したモーションデータの少なくとも1以上の部位について、モーションデータの特徴量に処理後特徴量を混合することにより、モーションデータの特徴量を補正する処理を実行する。これにより、補正部143は、クエリQ(t)と、検索結果R(t)とを混合した補正後検索結果R´(t)を取得する。
【0133】
また、補正部143は、ユーザにより補正対象として指定された部位について、クエリQ(t)の位置と同じになるように補正してもよい。
【0134】
例えば、補正部143は、検索結果R(t)の姿勢を初期値として、検索結果R(t)の末端部位の位置がクエリQ(t)の位置と一致するように、IKを用いた補正処理を実行してもよい。なお、部位の位置補正に際して、クエリQ(t)と検索結果R(t)との腰の位置がずれる可能性があるため、例えば補正部143は、腰からの相対位置に基づく補正処理を実行してもよい。
【0135】
また、補正する部位は、例えば、操作表示部110を用いてユーザにより指定されてもよいし、補正部143により自動的に指定されてもよい。
【0136】
補正部143により補正する部位を自動的に指定される場合、例えば、補正部143は、部位ごとに用意された重みパラメータに基づき、補正する部位を決定してもよい。例えば、補正部143は、重みパラメータが所定の基準を満たす部位に検索結果R(t)の特徴量を採用し、重みパラメータが所定の基準を満たさない部位にクエリQ(t)の処理後特徴量に補正する処理を実行してもよい。
【0137】
なお、ユーザがGUI上でクエリQ(t)の処理後特徴量と検索結果R(t)の特徴量との設定比率を設定した場合であっても、補正部143は、当該設定比率に基づく補正処理を実行しなくてもよい場合がある。例えば、設定比率に従って補正処理を行うことによりモーションデータの全身のバランスが取れなくなる場合、補正部143は、各部位の位置関係に応じて部位および他の部位の特徴量を補正する処理を実行してもよい。
【0138】
以上、本開示に係る詳細を説明した。続いて、本開示に係るシステムの動作処理例を説明する。
【0139】
<<4.動作例>>
<4-1.情報処理端末の動作例>
図14は、本開示に係る情報処理端末10のモーションデータの検索に係る動作処理例を説明するための説明図である。
【0140】
図14に示すように、情報処理端末10は、センサ装置Sから対象の動きの時系列データを取得する(S101)。
【0141】
続いて、姿勢推定部131は、取得した対象の動きの時系列データからスケルトンデータを生成する(S105)。
【0142】
そして、姿勢推定部131は、生成したスケルトンデータの各部位の骨格を参照骨格に変換し、参照スケルトンデータを生成する(S109)。
【0143】
そして、特徴量算出部135は、参照スケルトンデータの時系列データから参照スケルトンデータの各部位の処理前特徴量を算出する(S113)。
【0144】
続いて、特徴量算出部135は、時間ごと、または部位ごとに設定された重みパラメータを処理前特徴量に適用して、処理後特徴量を算出する(S117)。
【0145】
続いて、通信部120は、検索要求部139の制御に従い、算出した処理後特徴量の情報を含む信号をサーバ20に送信する(S121)。
【0146】
そして、通信部120は、送信した処理後特徴量の情報に応じてサーバ20により検索されたモーションデータの情報を含む信号を受信する(S125)。
【0147】
そして、補正部143は、処理後特徴量と取得したモーションデータの特徴量との設定比率に基づき、モーションデータの特徴量を補正する(S129)。
【0148】
そして、操作表示部110は、モーションデータの補正後特徴量に基づいて生成された補正後モーションデータを表示し(S133)、情報処理端末10はモーションデータの検索に係る動作処理を終了する。
【0149】
続いて、S121からS125までの間におけるサーバ20のモーションデータの検索に係る動作処理の一例を説明する。
【0150】
<4-2.サーバの動作例>
図15は、本開示に係るサーバ20のモーションデータの検索に係る動作処理例を説明するための説明図である。
【0151】
まず、通信部210は、情報処理端末10から処理後特徴量を受信する(S201)。
【0152】
続いて、類似度評価部239は、受信した処理後特徴量と、モーション特徴量記憶部225に保持される複数のモーションデータの各々の特徴量との類似度を算出する(S205)。
【0153】
そして、類似度評価部239は、類似度が高い方から所定数のモーションデータを検索結果として取得する(S209)。
【0154】
そして、通信部210は、S209により取得された所定数のモーションデータを検索結果として情報処理端末10に送信し(S213)、サーバ20はモーションデータの検索に係る動作処理を終了する。
【0155】
以上、本開示に係るシステムの動作処理の一例を説明した。続いて、本開示に係る作用効果例を説明する。
【0156】
<<5.作用効果例>
以上説明した本開示によれば、多様な作用効果が得られる。例えば、特徴量算出部135は、ユーザの動きの時系列データから算出した処理前特徴量に、部位ごとに用意された重みパラメータを適用して処理後特徴量を算出する。これにより、モーションデータの検索において、より重要度の高い部位に注目した検索が可能になり得る。
【0157】
また、特徴量算出部135は、ユーザの動きの時系列データから算出された時間ごとの処理前特徴量に、時間ごとに用意された重みパラメータを適用して処理後特徴量を算出する。これにより、モーションデータの検索において、より重要度の高い時間区間に注目した検索が可能になり得る。
【0158】
また、重みパラメータが機械学習技術により得られた推定器247を用いて決定されることにより、ユーザが重みパラメータを手動で入力する必要がなくなり、ユーザの利便性を向上し得る。
【0159】
また、情報処理端末10は、ユーザの動きを示すスケルトンデータの時系列データから算出された処理後特徴量と複数のモーションデータの各々の特徴量との類似度が高い方から所定数のモーションデータを検索結果として取得する。これにより、ユーザは、複数提示されたモーションデータの中から、特に求める動き情報を含むモーションデータを選択し得る。
【0160】
また、本開示に係る一実施形態では、ユーザの動きを示すスケルトンデータ、およびモーションデータのスケルトンデータの各々は、参照スケルトンデータに変換され、参照スケルトンデータの特徴量同士で比較が行われる。これにより、ユーザの骨格およびモーションデータの骨格の相違による検索誤差の可能性を低減し得る。
【0161】
また、補正部143は、少なくとも1の部位について、モーションデータの特徴量に、処理後特徴量を設定比率で混合し、モーションデータの特徴量を補正する。これにより、モーションデータの部位の動きをよりユーザが必要とする部位の動きに修正することができ、よりユーザの利便性を向上し得る。
【0162】
<<6.ハードウェア構成例>>
以上、本開示の実施形態を説明した。上述したスケルトンデータの生成および特徴量の抽出などの情報処理は、ソフトウェアと、以下に説明する情報処理端末10のハードウェアとの協働により実現される。なお、以下に説明するハードウェア構成はサーバ20にも適用可能である。
【0163】
図16は、情報処理端末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とを備える。
【0164】
CPU1001は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理端末10内の動作全般を制御する。また、CPU1001は、マイクロプロセッサであってもよい。ROM1002は、CPU1001が使用するプログラムや演算パラメータ等を記憶する。RAM1003は、CPU1001の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス1004により相互に接続されている。CPU1001、ROM1002およびRAM1003とソフトウェアとの協働により、
図2を参照して説明した姿勢推定部131や特徴量算出部135の機能が実現され得る。
【0165】
ホストバス1004は、ブリッジ1005を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1006に接続されている。なお、必ずしもホストバス1004、ブリッジ1005および外部バス1006を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0166】
入力装置1008は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU1001に出力する入力制御回路などから構成されている。情報処理端末10のユーザは、該入力装置1008を操作することにより、情報処理端末10に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0167】
出力装置1010は、例えば、液晶ディスプレイ装置、OLED装置およびランプなどの表示装置を含む。さらに、出力装置1010は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置1010は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
【0168】
ストレージ装置1011は、データ格納用の装置である。ストレージ装置1011は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置1011は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置1011は、ハードディスクを駆動し、CPU1001が実行するプログラムや各種データを格納する。
【0169】
ドライブ1012は、記憶媒体用リーダライタであり、情報処理端末10に内蔵、あるいは外付けされる。ドライブ1012は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体30に記録されている情報を読み出して、RAM1003に出力する。また、ドライブ1012は、リムーバブル記憶媒体30に情報を書き込むこともできる。
【0170】
通信装置1015は、例えば、ネットワーク1に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置1015は、無線LAN対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
【0171】
<<7.補足>>
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0172】
例えば、情報処理端末10は、本開示に係るサーバ20の全てまたは一部の機能構成を更に備えてもよい。情報処理端末10が本開示に係るサーバ20の全ての機能構成を備えた場合、情報処理端末10は、ネットワーク1を介した通信をせずに、一連の検索に係る処理を実行し得る。また、情報処理端末10が本開示に係るサーバ20の一部の機能構成を備えた場合、例えば、情報処理端末10は、予めネットワーク1を介した通信を用いてサーバ20から複数のモーションデータを受信してもよい。そして、情報処理端末10は、特徴量算出部135により算出された処理後特徴量と、サーバ20から予め受信した複数のモーションデータとの類似度評価を行い、類似度の評価結果に応じてモーションデータを検索してもよい。
【0173】
本明細書の情報処理端末10およびサーバ20の処理における各ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、情報処理端末10およびサーバ20の処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されてもよい。
【0174】
また、情報処理端末10に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述した情報処理端末10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、当該コンピュータプログラムを記憶させた記憶媒体も提供される。
【0175】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0176】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
対象の動きの時系列データから算出された時間ごと、または前記対象の部位ごとの特徴量である処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して算出された特徴量である処理後特徴量を取得する取得部と、
前記取得部によって取得された前記処理後特徴量を用いてモーションデータを検索する検索部と、
を備える、情報処理装置。
(2)
前記処理前特徴量に適用する前記重みパラメータは、部位ごとの特徴量と、部位ごとの重みパラメータとの関係の学習により得られた推定器により決定される、
前記(1)に記載の情報処理装置。
(3)
前記処理前特徴量に適用する重みパラメータは、時間ごとの特徴量と、時間ごとの重みパラメータとの関係の学習により得られた推定器により決定される、
前記(1)または前記(2)に記載の情報処理装置。
(4)
前記検索部は、
前記取得部によって取得された前記対象の処理後特徴量および複数のモーションデータの各々の特徴量の類似度を算出し、類似度の算出結果に基づいてモーションデータを検索する、
前記(1)から前記(3)までのうちいずれか一項に記載の情報処理装置。
(5)
前記検索部は、
前記類似度の算出結果に基づき、前記処理後特徴量との特徴量の類似度が高い方から所定数のモーションデータを検索結果として取得する、
前記(4)に記載の情報処理装置。
(6)
前記取得部は、
前記対象の骨格を参照骨格に変換した参照対象の動きの時系列データから算出される処理後特徴量と、スケルトンデータの骨格を前記参照骨格に変換した参照モーションデータから算出される特徴量との比較により前記モーションデータを検索する、
前記(4)または前記(5)に記載の情報処理装置。
(7)
前記情報処理装置は、
少なくとも1の部位について、前記モーションデータの特徴量に前記処理後特徴量を設定比率で混合することにより前記モーションデータの特徴量を補正する補正部、
を更に備える、前記(1)から前記(6)までのうちいずれか一項に記載の情報処理装置。
(8)
前記対象の部位ごとの特徴量は、速度、位置または姿勢のうち少なくともいずれか一つを含む、
前記(1)から前記(7)までのうちいずれか一項に記載の情報処理装置。
(9)
対象の動きの時系列データから算出された時間ごと、または前記対象の部位ごとの特徴量である処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して算出された特徴量である処理後特徴量を取得することと、
取得された前記処理後特徴量を用いてモーションデータを検索することと、
を含む、コンピュータにより実行される情報処理方法。
(10)
コンピュータに、
対象の動きの時系列データから算出された時間ごと、または前記対象の部位ごとの特徴量である処理前特徴量に、時間ごと、または部位ごとに用意された重みパラメータを適用して算出された特徴量である処理後特徴量を取得する取得機能と、
前記取得機能によって取得された前記処理後特徴量を用いてモーションデータを検索する検索機能と、
を実現させる、プログラム。
【符号の説明】
【0177】
10 情報処理端末
20 サーバ
110 操作表示部
120 通信部
130 制御部
131 姿勢推定部
135 特徴量算出部
139 検索要求部
143 補正部
210 通信部
220 記憶部
221 モーションデータ記憶部
225 モーション特徴量記憶部
230 制御部
231 参照骨格変換部
235 特徴量算出部
239 類似度評価部
243 学習部
247 推定器