(第1実施形態)
以下、本発明の第1実施形態について図面を参照して説明する。図1は、本発明の第1実施形態に係る動き評価システムS1の構成を示すブロック図である。動き評価システムS1は、制御部10、表示部15、撮像部13、音情報出力部16で構成される。音情報取得部17は、後述するように必要に応じて設けられる。
制御部10は、演算部10a、記憶部10b、通信部10cで構成される。演算部10aは、CPU(Central Processing Unit)等で構成されている。記憶部10bは、ROM(Read Only Memory)、RAM(Random access memory)等で構成され、演算部10aは、記憶部10bに記憶された制御プログラムに従って動作する。記憶部10bには、不揮発性メモリ(EEPROM(Electrically Erasable Programmable Read-Only Memory)等)が含まれる。不揮発性メモリには、音情報の生成に用いる音楽ファイルが記憶されている。記憶部10bは、SSD(Solid State Drive)やHDD(Hard Disk Drive)といった、いわゆるストレージ(大容量記憶装置)を含んでいてもよく、当該ストレージに制御プログラムや音楽ファイルが記憶されてもよい。演算部10aと他の構成要素とはバス20等で接続されており、演算部10aはバス20等を介して他の構成要素を制御する。
制御部10を、例えばPC(Personal Computer)あるいはサーバで構成してもよい。表示部15は、制御部10と別体であってもよく、タブレット型端末やノート型PC等のように制御部10と一体に構成されていてもよい。通信部10cは、例えばLTE、LTE-M、4G、5Gといった無線通信規格に準拠する通信モジュール(図示せず)を備える。更に、通信部10cは、例えばBLE(Bluetooth(登録商標) Low Energy)といった、近距離無線通信規格に準拠した通信モジュール(図示せず)を含んでいてもよい。通信部10cは、撮像部13、音情報出力部16、音情報取得部17との間で通信を確立し、制御部10とこれらとの間で相互に情報を送受信可能とされている。もちろん、これらは有線で接続されてもよい。
撮像部13は、CMOS(Complementary Metal Oxide Semiconductor)あるいはCCD(Charge Coupled Device)で構成されたイメージセンサを備える。撮像部13として、例えばスマートフォンといった情報端末に備えられたカメラを用いてもよい。この場合、情報端末は、所定の無線通信規格に準拠した図示しない通信モジュールを備え、ネットワーク50を経由して画像データを制御部10に送信してもよい。撮像部13を制御部10と一体に構成してもよく、この場合、撮像部13は、画像データを演算部10aにバス20を介して送信する。
音情報出力部16は、図示しない増幅器、スピーカ等を含んでいる。制御部10は、記憶部10bに記憶された音楽ファイルに基づいてアナログ音声信号を生成し、音情報出力部16に出力する。音情報出力部16は、アナログ音信号に基づいて音情報(音楽・楽曲)を再生する。音情報は、スピーカを介して被写体1がダンス等を行う室内で再生されてもよく、被写体1が装着するワイヤレスヘッドフォン等の機器で再生されてもよい。ここで、音情報とは、音楽ファイルを構成するデジタルデータ、当該デジタルデータをデコードしたアナログデータ、当該アナログデータに基づき音情報出力部16から出力される音のいずれかである。
被写体1は音情報取得部17を装着してもよい。音情報取得部17は、マイクロフォン、AD変換器、近距離無線通信規格に準拠した通信モジュール(いずれも図示せず)を含む。この態様においては、音情報出力部16で再生された音情報は音情報取得部17で取得・デジタル化されて、近距離無線通信によって制御部10に送信される。制御部10は、受信した音情報を音楽ファイルとして記憶部10bに記憶し、これを後述する動き検出や類似度の導出の際に用いてもよい。これによって、被写体1と音情報出力部16とが大きく離隔していても、被写体1に音情報取得部17を装着することで、音情報が被写体1に到達するまでの時間的遅延の影響を排除することができる。
ここで、被写体1は例えば人間である。被写体1は、音情報出力部16から出力される音情報(音楽)に合わせて、所定の振り付けに従ってダンスを演じる。音情報の内容(コンテンツ)は任意に選定してよく、特にビート(拍子)あるいはリズム、テンポが明確な音楽を選択するのが好ましい。また、ダンスの振り付けも任意に選択してよく、特にビートが生じたタイミング(オンビート)で被写体1の動き(変位量)を大きくする振り付けが好ましい。なお、音情報は音楽・楽曲に限らず、例えばメトロノーム等の周期的な音を発する音源を利用してもよい。
撮像部13はダンスを演じている被写体1を撮影する。制御部10は、撮像部13から受信した画像データを一旦記憶部10bに記憶する。撮像部13が画像データを可搬性記憶媒体に記憶する機能を有する場合、当該可搬性記憶媒体に記憶された画像データを制御部10で読み取って、これを記憶部10bに記憶してもよい。制御部10は、記憶された画像データを用いて被写体1の動き情報を抽出する。ここで、被写体1は第1被写体1aと第2被写体1bとを含む。制御部10は、動き情報に基づいて第1被写体1aと第2被写体1bとの動きの類似度を導出する。
図2(A)は、動き評価システムS1の利用態様を示す説明図、同(B)~(D)は、動き評価システムS1における前処理を説明する説明図である。なお、以降の説明において、図2(B)に目視される被写体1の側を前、その逆方向を後、右腕の方向を右、左腕の方向を左、頭部1HDの方向を上、その逆方向を下と称することがある。図2(A)においては、音情報出力部16はスピーカ(図示せず)を含み、音情報出力部16と被写体1とは空間的に所定の距離だけ離隔している。もちろん音情報出力部16の配置位置は任意に定めてよい。
また被写体1と撮像部13との位置関係については、被写体1の正面から前方に伸ばした線と撮像部13の光軸AxLとが成す角度θを、例えば10°≦θ≦45°[deg]の範囲とするのが好ましい。これによって、撮影の際にオクルージョン等が低減され、後述するポーズランドマークの多くを高信頼度で取得することができる。なお、被写体1と撮像部13との距離L(あるいは画角)は任意に定めてよいが、被写体1が両方の腕部1Aを上げた状態(図2(B))及び腕部1Aを左右に広げた状態(図2(C))において被写体1の全身1AL(図3参照)が撮影され、更に被写体1がダンスで移動する範囲を考慮して決定するのが好ましい。
以降、図1を併用して説明を続ける。動き評価システムS1の前処理において、撮像部13の画角等を調整した後、被写体1がダンスに合わせて動きを開始する前に、図2(B)~(D)の姿勢で被写体1を撮影する。制御部10は、撮像部13から受信した画像データに基づき、図2(B)に示す、被写体1(ここでは第1被写体1a)が両方の腕部1Aを上げた姿勢(いわゆる、「万歳」の姿勢)における、手と足との間の距離(第1手足間距離H1a)を計測する。また、図2(C)に示す、第1被写体1aが腕部1Aを左右に広げた状態における両手の間の距離(第1両手間距離Wa)を計測する。更に、図2(D)に示す、第1被写体1aが直立した姿勢(いわゆる、「気を付け」の姿勢)における、頭部1HDの頂点と足との間の距離(第1頭足間距離H2a)を計測する。なお、これらの距離情報の計測には、後述するポーズランドマークが利用できる。
第2被写体1bについても、第1被写体1aと同様に、第2手足間距離H1b(図2(B))、第2両手間距離Wb(図2(C))、第2頭足間距離H2b(図2(D))が計測される。これらの距離情報は、いわゆる3D測距によって求められてもよく、人手によってメジャー等で計測され、その数値が図示しない入力部を介して制御部10に入力されてもよい。制御部10は、得られた距離情報に基づき、以下を算出する。
(i)幅方向(x方向)補正係数
SFx=第1両手間距離Wa/第2両手間距離Wb
(ii)高さ方向(y方向)補正係数
SFy=第1手足間距離H1a/第2手足間距離H1b
(あるいはSFy2=第1頭足間距離H2a/第2頭足間距離H2b)
動きの評価にあたって、制御部10は、これらの補正係数を用いて第1被写体1aあるいは第2被写体1bに関する位置情報を補正する(詳細は後述する)。
図3は、ポーズ認識モデル40の説明図である。第1実施形態では、ポーズ認識モデル40としてオープンソースライブラリであるMediaPipe Poseを用いている。図3に示すように、人が撮影された画像(静止画あるいは動画)に対して、MediaPipe Poseは、0.nose~32.right_foot_index(合計33箇所)のキーポイント41(ポーズランドマーク(Pose Landmark))を認識し、認識されたキーポイント41の位置情報(座標値(x,y座標))を出力する。
制御部10は、得られた位置情報を用いて、全身1AL、頭部1HD、胴部1BD、脚部1Lのそれぞれに対し、被写体1の動きを代表する重心の座標を算出する。具体的には、各キーポイント41の位置情報を用いて以下の重心を算出する。
・全身1ALの重心CGa:0.nose~32.right_foot_indexの各座標値の平均値
・頭部1HDの重心CGh:0.nose~12.right_shoulderの各座標値の平均値
・胴部1BDの重心CGb:11.left_shoulder~24.right_hipの各座標値の平均値
・脚部1Lの重心CGl:23.left_hip~32.right_foot_indexの各座標値の平均値
頭部1HDの重心CGhと胴部1BDの重心CGbとの算出においては、いずれも11.left_shouldeu、12.right_shouldeが参照され、また、胴部1BDの重心CGbと脚部1Lの重心CGlとの算出においては、いずれも23.right_hip、24.left_hipが参照される。ただし、オクルージョン等によって取得されなかったり、信頼度の低いキーポイント41の座標値は、各重心の算出において除外するのが好ましい。なお、以降の説明において、重心の位置情報を「代表位置情報」と称することがある。代表位置情報は、各被写体1の動きを代表する情報である。このように、第1実施形態では、代表位置情報として、上述した重心の位置情報を用いているが、代表位置情報は、ダンスの振り付けに応じて被写体1の動きがより大きく反映されるキーポイント41に基づいて算出してもよい。また、代表位置情報に替えて(あるいは代表位置情報とともに)、上述した第1両手間距離Waあるいは両足間距離(31.left foot indexと32.right foot indexとの離隔距離)を用いてもよい。
図4(A)は、被写体1を撮影した画像の例を示す説明図、同(B)は、被写体1を撮影した画像におけるキーポイント41及び全身1ALの重心CGaを示す説明図である。以下、被写体1の撮影から代表位置情報を取得するまでの過程について説明する。第1被写体1a(例えば、指導者)と第2被写体1b(例えば、生徒)とは、音情報出力部16から出力される同一の音楽に合わせて、予め定められた同一の振り付けでダンスを演じる。まず、図4(A)に示すように、ダンスを演じる被写体1(第1被写体1aあるいは第2被写体1b)を撮像部13で撮影する。
ここで、第1被写体1aと第2被写体1bとの撮影は、それぞれ異なる撮像部13を用いて、異なる場所、異なる時点に行ってもよく、同一の撮像部13で同時に撮影してもよい。撮像部13は、所定のフレームレート(例えば60fps(frame per seconds))で時系列に被写体1を撮影し、画像データを制御部10に送信する。
制御部10は、受信した画像データに基づき動画ファイルを生成し、記憶部10bに記憶する。その後、制御部10は、記憶部10bにアクセスして画像ファイルを取り出し、画像ファイルを構成する各フレーム画像(評価用画像)からキーポイント41(及びその座標値)を取得し、代表位置情報(ここでは、全身1ALの重心CGaの座標値)を算出する。具体的には、制御部10は、上述したMediaPipe PoseのAPI(Application Programming Interface)を用いて評価用画像を処理する。これによって、図4(B)に示すように、被写体1(ここでは第1被写体1a)に対して複数のキーポイント41が認識され、各キーポイント41のx,y座標、及び代表位置情報が算出される。そして表示部15には、被写体1、キーポイント41、代表位置情報(重心CGa)が重畳して表示され、更に主要なキーポイント41を結ぶ骨格や、キーポイント41群を包含する外縁が線分として示される。第2被写体1bを撮影した評価用画像についても同様に処理が行われる。
図5(A)は、第1被写体1aのx方向の動きを表すグラフ、同(B)は、第2被写体1bのx方向の動きを表すグラフ、同(C)は、第1被写体1aのx方向の動きを±1の範囲で正規化したグラフである。ここで、図5(A)~(C)の縦軸(x方向)は、図4(A),(B)に示す被写体1の左右方向に対応しており、横軸は時間軸tである。上述したように各評価用画像は時系列に離散的(周期的)に得られることから、評価用画像に基づいて生成される代表位置情報も離散的に得られる。ただし、図5(A)~(C)のグラフでは、各代表位置情報の間を補間し曲線として描いている(後述する図6も同様)。また代表位置情報は、上述した全身1ALの重心CGaのx座標値を用いている。
以下、被写体1の動き情報を取得する過程について説明する。まず制御部10は、被写体1を撮影する際に、音情報出力部16から音情報を出力するタイミングと、撮像部13で撮影を開始するタイミングとを一致させる。音情報の再生に用いられる音楽ファイルは予め準備されていてもよい。もちろん、音情報出力部16から出力した音情報を、音情報取得部17を介して取得(録音)して音楽ファイルとしてもよく、この場合、制御部10は、撮影を開始するタイミングと録音を開始するタイミングとが同一になるように制御する。
このようにして、音楽再生の開始と撮影の開始とが同期された、音楽ファイルと動画ファイルとが得られる。なお、音情報出力部16から被写体1までの距離が大きく、動きの評価に影響を与える場合(例えば、音情報出力部16から被写体1に音情報が到達する時間が、音楽のビートの周期の1/2を超える場合)、音楽ファイルあるいは画像ファイルのタイムスタンプを調整することで、時間軸tの原点を調整するのが好ましい。なお、図5(A)~(C)では、被写体1が動きを開始した時点を時間軸tの原点(0)とし、この時点の音楽ファイルのタイムスタンプを0に調整している。
撮像部13と第1被写体1a(第2被写体1b)との位置関係は、撮影の度に異なるのが通常と考えられ、制御部10は、第1被写体1aと第2被写体1bとの初期位置(ここでは代表位置情報のx座標値)を一致させる処理を実行する。具体的には、第1被写体1aの代表位置情報の初期位置が540であるとき(図5(A))、第2被写体1bの代表位置情報にオフセットを付与して、その初期値を540に一致させる(図5(B)は、初期位置を一致させた後のグラフを示している)。このように、制御部10は、第1被写体1aと第2被写体1bとで代表位置情報の初期値を一致させるキャリブレーションを実行する。なお、代表位置情報のy座標値についても同様にキャリブレーションが実行される。
以下、第1被写体1aの代表位置情報の時系列の変化(即ち、図5(A))をCGax(x,t)、第2被写体1bの代表位置情報の時系列の変化(即ち、図5(B))をCGax'(x',t')と称することがある。ここで、代表位置情報として、全身1ALの重心CGaのx座標値を例示している。
制御部10は、CGax(x,t)に基づき、第1被写体1aについて、時系列における代表位置情報の平均値を求める。そして図5(C)に示すように、平均値を0として、各代表位置情報が±1の範囲に含まれるよう正規化する(以降、正規化後の代表位置情報を「正規化代表位置情報」と称することがある。)。以下、正規化後のCGax(x,t)を、CGax_fin(x,τ)と称することがある。更に制御部10は、第2被写体1bに関するCGax'(x',t')についても同様に正規化する。以下、正規化後のCGax'(x',t')をCGax_fin'(x',τ')と称することがある(図6(B)参照)。
なお、正規化を実行する際に、上述した補正係数(ここではSFx)を用いて、正規化代表位置情報を補正してもよい。具体的には、上述したSFx=第1両手間距離Wa/第2両手間距離Wb=0.9であれば、例えば第2被写体1bの正規化代表位置情報には0.9が乗じられる。もちろん、第1被写体1aの正規化代表位置情報に1/0.9を乗じてもよい。これによって、各被写体1の体形・体格等の相違に基づく影響を排除することができる。なお、被写体1の上下方向(即ち、y方向)の動きを評価する場合は、SFyあるいはSFy2を用いて正規化代表位置情報を補正すればよい。
図6(A),(B)は、被写体1の動き情報を取得するタイミングを示す説明図である。ここで、図6(A)は、音情報から抽出されたタイミング(τ1~τ14)と、動き情報として採用された正規化代表位置情報(x1~x14)と、動き情報を取得したタイミング(τ1a,τ2a等)とを、CGax_fin(x,τ)(図5(C)参照)に追加したものである。また、図6(B)は、CGax'(x',t')(図5(B)参照)の縦軸方向を±1に正規化し、これに、音情報から抽出されたタイミング(τ'1~τ'14)と、動き情報として採用された正規化代表位置情報(x'1~x'14)と、動き情報を取得したタイミング(τ'1a~τ'14a)とを追加したものである。
以降、図1を併用して説明を続ける。制御部10は、記憶部10bに記憶されたデジタルオーディオ形式(WAV,MP3等)の音楽ファイルを開き、デコードを実行する。デコードによって音楽データは、音圧を一定周期でサンプリングした時系列の音圧データに変換される。制御部10は、音圧データから音楽を構成する規則的なビートと不規則なビートとを検出する。ここで規則的なビートは音楽のリズムに関連しており、この観点で、制御部10は音楽のリズムに基づくテンポ(BPM(Beats Per Minute))を検出するともいえる。BPMの検出には、例えばFFT(Fast Fourier Transform)等の手法を用いることができる。
制御部10は、例えば、音圧データの変化が所定の閾値を越えた場合に、ビートが発生したと判断する。また、音圧データが所定の値を越えた場合にビートが発生したと判断してもよい。また、音圧データが所定の値を越え、かつ時系列における音圧データの変化が所定の閾値を越えた場合に、ビートが発生したと判断してもよい。即ち、制御部10は、音情報の音圧が所定の値を越えた場合、あるいは音情報の音圧の変化が所定の値を越えた場合を所定のタイミングとして抽出する。これによって、簡易に動き情報を取得するタイミングを得ることができる。
なお、ビートの検出については、規則的に発生するビートと不規則なビートとを区別して検出してもよい。規則的なビートの検出は、例えば、Sound Energy Variationに基づくアルゴリズムを利用できる(https://mziccard.me/2015/05/28/beats-detection-algorithms-1/)。このアルゴリズムは、音楽の小節毎にエネルギーを分析し、これらのエネルギーピークから規則的なビートパターンを抽出する。一方、不規則なビートの検出は、例えば、多経路探索とクラスタ分析とに基づくアルゴリズム(Hindawi Complexity Volume 2021,"Music Rhythm Detection Algorithm Based on Multipath Search and Cluster Analysis")を利用できる。このアルゴリズムは、短時間フーリエ変換(STFT)によってサンプルデータを周波数領域に変換し、振幅のピーク及びフェーズの情報を取り出し、これらの情報からPCM(Pulse Code Modulation)特徴値を抽出する。
このように、第1実施形態の動き評価システムS1において、音情報は音楽であって、制御部10は、音情報の音圧の変化に基づいて、所定のタイミング(動き情報を取得するタイミング)を決定する。これによって、音楽に合わせてダンスを演じる第1被写体1aと第2被写体1bとで、動き情報を取得するタイミングを統一することが可能となる。
制御部10は、ビートが検出されたタイミングに基づいて動き情報を取得する。図6(A)では、τ1~τ14、図6(B)では、τ'1~τ'14がビートが検出されたタイミングに相当する。ここで、第1被写体1aと第2被写体1bとが同一の楽曲に合わせてダンスを踊る状況においては、τ1とτ'1、τ2とτ'2...τ14とτ'14は同一のタイミングとなる。
上述のように評価用画像は、所定の周期で撮影されている。制御部10は、ビートが検出されたタイミングを中心として、時間的に近接して撮影された複数の評価用画像を抽出し、評価用画像に基づき各被写体1の動き情報を取得する。この際、上述した正規化代表位置情報が参照される。制御部10は、ビートを検出したタイミング(例えば図6(A)に示すτ1)を中心として所定の期間内(例えば、ビートの周期の±1/3内)に撮影された評価用画像のそれぞれに対し正規化代表位置情報を取得し、所定の基準を満たす正規化代表位置情報を被写体1の動き情報として採用する。そして、当該動き情報が得られた際の時刻情報(τ1a等)と組合せて、CGax_fin(x,τ)から、x方向第1データセット:(x1,τ1a),(x2,τ2a)...(x14,τ14a)を得る。
正規化代表位置情報から被写体1の動き情報を抽出する基準としては、例えば以下が挙げられる。
(C1)ビートを検出したタイミングτの前後に、正規化代表位置情報のピークが複数個検出された場合:絶対値が最も大きい正規化代表位置情報を動き情報として採用する。
以下、当該基準(C1)を適用した例を説明する。図6(B)において、τ'1、τ'6、τ'8の前後には複数のピークが存在する。(C1)に従って処理することで、図示するP1、P2、P3は動き情報として採用されず、結果的に第2被写体1bについて、CGax_fin'(x',τ')からx方向第2データセット:(x'1,τ'1a),(x'2,τ'2a)...(x'14,τ'14a)が得られる。
このように、第1実施形態の動き評価システムS1は、音情報を出力する音情報出力部16と、音情報に基づいて変位する被写体1を撮影する撮像部13と、制御部10と、を備え、制御部10は、音情報から抽出された所定のタイミングに基づいて、撮像部13の出力から被写体1の動き情報を取得する。これは、制御部10は、音情報に含まれるビートあるいはリズムに実質的に同期して動き情報を取得するともいえる。これによって、音情報に基づき変位する被写体1の動き情報を的確に取得することが可能となる。
また、制御部10は、音情報に含まれるビートあるいはリズムを検出し、検出されたビートあるいはリズムに基づくタイミングに時間的に前後する代表位置情報のピーク値を、動き情報として抽出する。ダンスの熟練者は、体を大きく動かすタイミングをビートが打たれる瞬間から意図的に外して、表現力を高めることが知られている。逆に初心者は、音楽のリズムに追随できずに、体の動きがビートのタイミングから遅延することもある。本発明により、このような意図的に(あるいはスキル不足等によって)ビートのタイミングを外す(あるいは外れた)動きに対しても、的確に動き情報を取得することが可能となる。
なお、上述した基準(C1)の適用は任意であり、例えばビートを検出したタイミングτの前後の所定の期間内に、複数の正規化代表位置情報のピークが存在する場合は、これら全てを動き情報として採用してもよい。即ち、一つのビートに対して複数の動き情報を取得してもよい。同じ音楽に合わせてダンスを演じたとしても、第1被写体1aと第2被写体1bとで検出されるピークの個数が異なることがあり、このピークの個数の相違を類似度の導出に反映してもよい。
制御部10は、第1被写体1aの動き情報であるx方向第1データセットを用いて、正領域でのピーク間平均時間Tpp_P_axn、負領域でのピーク間平均時間Tpp_N_axnを求める。これらは、具体的には以下のように算出される。以下の式において、kaxpは正領域でのピークの数を、kaxnは負方向でのピークの数を意味する。
・Tpp_P_axn
={(τ3a-τ1a)+(τ6a-τ3a)+(τ8a-τ6a)+...+(τ14a-τ12a)}/kaxp
=(τ12a-τ1a)/kaxp
・Tpp_N_axn
={(τ4a-τ2a)+(τ5a-τ4a)+(τ7a-τ5a)+...+(τ13a-τ11a)}/kaxn
=(τ11a-τ2a)/kaxn
同様に、第2被写体1bの動き情報であるx方向第2データセットを用いて、正領域でのピーク間平均時間(Tpp_P_axn')、負領域でのピーク間平均時間(Tpp_N_axn')を求める。これらは、具体的には以下のように算出される。以下の式において、jaxpは正領域でのピークの数、jaxnは負領域でのピークの数である。
・Tpp_P_axn'
=(τ'14a-τ'3a)/jaxp
・Tpp_N_axn'
=(τ'13a-τ'1a)/jaxn
第1被写体1aと第2被写体1bとの正領域/負領域でのピーク間平均値、ピークの数は、ビートと密接に関連しており、これらに差がある場合、例えば第2被写体1b(生徒)がダンスの動きを間違えたと判断することができる。制御部10は、評価関数として例えば、以下、F1を計算する。なお、F1におけるα、βは重み係数であり、適宜定めてよい。
・F1
=α{|(Tpp_P_axn)-(Tpp_P_axn')|+|(Tpp_N_axn)-(Tpp_N_axn')}+β(|kaxp-jaxp|+|kaxn-jaxn|)
また、制御部10は、第1被写体1aについてのCGax_fin(x,τ)の全要素の絶対値の総和と、第2被写体1bについてのCGax_fin'(x',τ')の全要素の絶対値の総和との差分を算出してもよい(評価関数F2)。なお、δは重み係数であり、適宜定めてよい。
・F2
=δ(Σ|CGax_fin(x,τ)|-Σ|CGax_fin'(x',τ')|)
F1、F2は、それぞれ類似度として用いることができる。これらは、第1被写体1aと第2被写体1bとの動き情報の差異が小さいほど、即ち動きの類似度が高いほどゼロに近づく指標である。
もちろん、これらF1とF2とを用いて、以下の評価関数F3を定めてもよい。
・F3=F1+F2
F3も類似度として用いることができる。F3も両者の動きの類似度が高いほどゼロに近づく指標である。
このように、第1実施形態の動き評価システムS1は、被写体1は第1被写体1aと第2被写体1bとを含み、制御部10は、音情報から抽出された所定のタイミングに基づいて検出された、第1被写体1aと第2被写体1bとの動き情報に基づき、第1被写体1aと第2被写体1bとの動きの類似度を導出する。これによって、音情報に基づき変位する第1被写体1aと第2被写体1bとの動きの類似度を的確に評価することが可能となる。
また、第1実施形態の動き評価システムS1は、制御部10は、第1被写体1aと第2被写体1bとについて、それぞれの位置情報を代表する少なくとも一つの代表位置情報を算出し、代表位置情報から抽出された動き情報の時系列の変化に基づき、類似度を導出する。これによって、大量の動き情報を処理することなく、高精度かつ高速に類似度を算出することが可能となる。
また、第1実施形態の動き評価システムS1は、音情報を出力する音情報出力部16と、音情報に基づいて変位する第1被写体1aと第2被写体1bとを撮影する撮像部13と、制御部10と、を備え、制御部10は、音情報から抽出された所定のタイミングに基づいて、撮像部13の出力から第1被写体1aと第2被写体1bとについて、それぞれの位置情報を代表する少なくとも一つの代表位置情報を算出し、第1被写体1aと第2被写体1bとの代表位置情報の初期値を一致させるキャリブレーションを実行し、第1被写体1aと第2被写体1bとの代表位置情報から抽出された動き情報の時系列の変化に基づき、第1被写体1aと1b第2被写体との動きの類似度を導出する。キャリブレーションを実行することによって、第1被写体1aと第2被写体1bとでダンス(動作、動き)を開始する位置が異なっていても、あるいは画像内の位置が異なっていても、高精度に動きの評価を行うことが可能となる。
また、第1実施形態の動き評価システムS1は、制御部10は、第1被写体1aと第2被写体1bとが同一の姿勢をとった際の、第1被写体1aと第2被写体1bとの高さ方向または幅方向のサイズに基づき、第1被写体1aと第2被写体1bとのサイズを一致させる補正係数を予め算出し、補正係数を用いて第1被写体1aあるいは第2被写体1bの代表位置情報を補正する。これによって、第1被写体1aと第2被写体1bとのサイズが異なっていても、高精度に動きの評価を行うことが可能となる。
以上、第1被写体1aと第2被写体1bとについて、x方向における全身1ALの動き情報の正領域/負領域でのピーク間平均値、ピークの数に基づいて類似度を導出する例を示した。もちろん、同様に両被写体1のy方向(高さ方向)における動き情報に基づき類似度を導出してもよい。更に、頭部1HD、胴部1BD、脚部1Lのx,yそれぞれの方向における動き情報の正領域/負領域でのピーク間平均値、ピークの数に基づいて類似度を導出してもよく、これらの動き情報を統合して類似度を導出してもよい。なお、撮像部13をステレオカメラで構成した場合、被写体1の前後方向(図2(A)参照)の変位を計測することができる。この前後方向の変位量から動き情報を抽出して、類似度を導出してもよい。
(第2実施形態)
図7(A),(B)は、本発明の第2実施形態において、類似度を導出する過程を説明する説明図である。ここで、図7(A)は、時系列における第1被写体1aの代表位置情報のx,y方向の分布を示しており、第1被写体1aのx方向の動き(図5(A)に示すCGax(x,t))、及びy方向の動き(図示せず)に基づいて生成される画像である。ここでは評価用画像が、例えば60fpsで24秒間撮影されたとすると、60[fps]×24[s]=1440個の代表位置情報(x,y座標値)が取得される。これらの代表位置情報がx,y座標(即ち、時間軸を含まない座標空間)に画素としてプロットされる。図7(A)では、プロットされた領域がTraとして示されている。なお、x,y座標の範囲は例えば0~511の範囲に正規化されている。また代表位置情報は8ビットのモノクロ画像データとしてプロットされ、例えば画素値は255とされる。以下、図7(A)に示す画像を「第1動き情報画像」と称する。
また、図7(B)は、時系列における第2被写体1bの代表位置情報のx,y方向の分布を示しており、第2被写体1bのx方向の動き(図5(B)に示すCGax'(x',t'))、及びy方向の動き(図示せず)に基づいて、図7(A)と同様に生成される。図7(B)では、プロットされた領域がTrbとして示されている。以下、図7(B)に示す画像を「第2動き情報画像」と称する。
第2実施形態の動き評価システムS1の構成は、第1実施形態と同様である。以下、図1を併用して説明を続ける。制御部10は、第1動き情報画像と第2動き情報画像とを生成し、各画像を構成する要素を以下[数1]に代入し、構造的類似性 (SSIM:Structural Similarity Index Measure) 指数を求める。
SSIMは、画像の輝度、コントラスト、構造の3要素に基づき人間の視覚システムの特性を考慮した評価指標(画質評価指標)を提供する。[数1]においてxとyとは、それぞれ第1動き情報画像と第2動き情報画像とにおけるウィンドウ内(ここでは、512×512)の各画素を表すベクトルである。μはウィンドウ内の平均画素値、σx,σyは同ウィンドウ内の画素値の標準偏差、σxyはxとyとの共分散である。また、C1,C2は分母の値が非常に小さくなった時に評価値が不安定にならないようにする定数である。ここで、C1=(K1L)2、C2=(K2L)2で、Lは画素値のダイナミックレンジ(ここでは8bit:255)である。また、K1,K2は定数で、例えばK1=0.01,K2=0.03とされる。
このように、第2実施形態では、第1被写体1a、第2被写体1bについて全身1AL(図3参照)のx.y方向の代表位置情報(全身1ALの重心CGa)を用いてSSIMを求めている。第1動き情報画像と第2動き情報画像とが完全に一致するときSSIM(x,y)=1となり、類似度が低下するほどSSIMの値は0に近づく。制御部10は、算出されたSSIMを類似度として表示部15に表示する。もちろん頭部1HD、胴部1BD、脚部1Lの代表位置情報を用いてSSIMを求めてもよく、これら個別のSSIMの値を適宜組み合わせて類似度の指標としてもよい。
SSIM(x,y)の算出にあたっては、第1動き情報画像と第2動き情報画像とをそれぞれ小領域に分割し、小領域毎にSSIMを求め、これらを平均してMSSIM(Mean SSIM)を求めてもよい。なお、画像間で類似度を導出するにあたり、SSIM、MSSIMに替えて、あるいはSSIM等とともに、例えばSNR(Signal to Noise Ratio)、PSNR(Peak Signal to Noise Ratio)を用いてもよい。このように第2実施形態では、第1動き情報画像と第2動き情報画像とを、いずれも画像データとして取り扱い、二つの画像データを比較することで類似度を導出する。
また、上述した例では、第1動き情報画像と第2動き情報画像とを、x,y座標空間に画素をプロットした二次元画像として説明したが、例えば、撮像部13をステレオカメラで構成して、第1被写体1aと第2被写体1bとについて深度情報(デプス情報)を得て、当該深度情報を追加した三次元情報に基づいて、類似度を導出してもよい。なお、ここで深度情報は、図4に示すx,y軸の両方に直交する方向(z軸)の動き情報を意味する。もちろん、得られた三次元情報からxy面、yz面、zx面に対応する二次元の画像データを得て、それぞれの画像データに基づいて、第1被写体1a、第2被写体1bとの動きの類似度を導出してもよい。更に、第1動き情報画像と第2動き情報画像とは、例えばx座標(あるいはy座標、z座標)にプロットされた一次元画像であっても構わない。
このように、第2実施形態の動き評価システムS1は、音情報を出力する音情報出力部16と、第1被写体1a及び第2被写体1bを撮影する撮像部13と、制御部10と、を備え、第1被写体1aと第2被写体1bとは、音情報出力部16が出力する音情報に基づいて変位し、制御部10は、第1被写体1aと第2被写体1bとについて、それぞれの位置情報を代表する少なくとも一つの代表位置情報を時系列に算出し、更にそれぞれの代表位置情報を、時間軸を含まない座標空間(ここでは二次元空間)に画素としてプロットした第1動き情報画像と第2動き情報画像(画像データ)とを生成し、第1動き情報画像と第2動き情報画像とに基づいて類似度を導出する。これによって、被写体1を代表する位置の動き(軌跡)を二次元画像として表現し、画像間の差異に基づき(画像データを比較して)類似度を導出することが可能となる。
更に、第2実施形態の動き評価システムS1は、制御部10は、第1動き情報画像と第2動き情報画像とに基づき、構造的類似性(SSIM)指数を算出する。これによって、被写体1の動きを画像に置き換え、人の視覚システムの特性を加味して類似度を導出することが可能となる。
以下、第2実施形態の変形例について説明する。制御部10は、第1被写体1aに関し、図6(A)に示すCGax_fin(x,τ)に基づいて取得したx方向第1データセット:(x1,τ1a),(x2,τ2a)...(x14,τ14a)と、x方向第1データセットと同様にして取得したy方向第1データセット:(y1,τ1a),(y2,τ2a)...(y14,τ14a)に基づき、第1動き情報画像を生成する。
更に、第2被写体1bに関し、図6(B)に示すCGax_fin'(x',τ')に基づいて取得したx方向第2データセット:(x'1,τ'1a),(x'2,τ'2a)...(x'14,τ'14a)と、x方向第2データセットと同様にして得たy方向第2データセット:(y'1,τ'1a),(y'2,τ'2a)...(y'14,τ'14a)に基づき、第2動き情報画像を生成する。即ち、変形例におけるx方向第1データセット、y方向第1データセット、x方向第2データセット、y方向第2データセットは、いずれも音情報に同期して得られた被写体1の動き情報を用いている。
変形例においても、制御部10は、第1動き情報画像と第2動き情報画像とに基づき類似度を導出する。このように、変形例の動き評価システムS1は、制御部10は、第1被写体1aと第2被写体1bとのそれぞれに対し、動き情報の時系列の変化を表す第1動き情報画像と第2動き情報画像とを生成し、第1動き情報画像と第2動き情報画像とに基づき類似度を導出する。この際、第2実施形態と同様にSSIMを用いてもよい。これによって、被写体1を代表する位置の動きを二次元画像として表現し、画像間の差異に基づき類似度を導出することが可能となる。
ただし変形例では、動き情報画像を構成する点(画素)は、上述の例では14個(図6(A)に示す(x1,τ1a)~(x14,τ14a))と非常に少ない。画像を少数の画素(ドット)で構成すると、第1動き情報画像と第2動き情報画像との構造が大きく異なることで、SSIMが非常に小さく算出され、類似度が適切に評価されない場合が考えられる。そこで、変形例では、第1動き情報画像と第2動き情報画像とを構成する画素を、1画素よりも大きい面積を有するオブジェクトに置き換える。具体的には、例えば1画素を当該画素のx,y座標を中心に所定の半径r(例えばr=5画素)を有する円に置き換える。このとき、円の内部は所定の値(例えば255)で塗り潰してもよく、あるいは、円の中心から半径方向に向けて画素値を小さくしたグラデーションを設けてもよい。グラデーションを設けることで、エッジ構造に対する感度を減少させることができる。また複数の円が重なる領域については、各グラデーションの平均値で置き換えてもよく、これによってオブジェクトのエッジが抑制され、画像の構造に関する特徴を意図的に減ずることができる。
このように、変形例の動き評価システムS1は、第1動き情報画像と第2動き情報画像とにおいて、代表位置情報(後述する代表動き情報)を、1画素サイズを超える所定のサイズのオブジェクトとして描画する。これによって、代表位置情報の個数が少ない場合であっても、SSIMを適正に取得することが可能となる。
なお、上述したように、第1被写体1aと第2被写体1bとのそれぞれの代表位置情報は、例えば60fpsの周期で時系列に取得されている。代表位置情報を時間で微分することで、速度情報(代表速度情報)を得ることが可能であり、更に代表速度情報を時間で微分することで、加速度情報(代表加速度情報)を算出することが可能である。代表位置情報、代表速度情報、代表加速度情報(以下、これらをまとめて、「代表動き情報」と称することがある。)はいずれも、各被写体1の動きを代表する情報である。即ち、代表動き情報は、位置情報、速度情報、加速度情報のいずれであってもよい。代表位置情報に代えて、代表速度情報、代表加速度情報を画素としてプロットし、第1動き情報画像、第2動き情報画像を生成してもよく、これらの画像間でSSIM、MSSIM、SNR、PSNR等を演算して類似度を導出してもよい。これによって、位置情報のみならず、速度情報、加速度情報を用いて、より詳細に第1被写体1aと第2被写体1bとの動きの類似度を評価することが可能となる。
(第3実施形態)
図8は、本発明の第3実施形態において、被写体1の動きを可視化する方法を説明する説明図である。図8は、図5(A)に示すCGax(x,t)と同(B)に示すCGax'(x',t')とをレーダーチャート上に重ねて描画したものである。第1被写体1aの動きは実線で(以下、「第1グラフ」と称する。)、第2被写体1bの動きは破線で(以下、「第2グラフ」と称する)示されている。ここでの「動き」の値は代表位置情報を意味する。レーダーチャートの半径方向は、被写体1のx方向の動き(変位量)であり、円周方向は時間経過を表す(ここでは、一周は24秒)。被写体1は0°でダンスを開始し、360°でダンスを終了している。このように第1被写体1aと第2被写体1bとの動きをレーダーチャートとして表現することで、両者の類似度が目視によって評価しやすくなる。
レーダーチャートの0°と360°とにおいて第1被写体1aと第2被写体1bとの代表位置情報は同一とされ、第1グラフと第2グラフとは、いずれも閉曲線として描画される。レーダーチャートでは半径方向が被写体1の動きの大きさに対応することから、大きい動きであるほど、閉曲線で囲まれた領域の面積の増大に反映されやすくなる。このように第3実施形態では、第1グラフで囲まれた領域の面積と第2グラフで囲まれた領域の面積とを用いて、被写体1の動きのダイナミズムを評価することが可能となる。もちろん、例えば第1グラフの面積と第2グラフの面積との比を類似度として用いてもよい。
(第4実施形態)
図9は、本発明の第4実施形態に係る動き評価システムS1の構成を示すブロック図である。第1実施形態においては、撮像部13(図1参照)で撮影した評価用画像に基づいて、被写体1の動き情報を抽出しているが、第4実施形態は、動き検出部3を用いて計測対象2の動き情報を抽出する。なお、第4実施形態の動き評価システムS1は、図1に示す撮像部13を動き検出部3に、被写体1を計測対象2に置き換えたものである。即ち、計測対象2は例えば人間であり、第1計測対象2a(第1実施形態の第1被写体1aに相当)と第2計測対象2b(同第2被写体1bに相当)とが含まれる。第1実施形態と同様に第1計測対象2aと第2計測対象2bとは、音情報出力部16から出力される音情報に合わせて変位する。
計測対象2の左右の手首、左右の足首には、それぞれ例えばボックス形状の動き検出部3がリストバンド等を用いて装着される。腕部1Aや脚部1L(図2参照)の動きを高精度に検出するためには、動き検出部3は、変位が大きい部位に装着されることが好ましい。この観点で、腕部1Aの動きを検出する動き検出部3は手首に装着されるか、あるいは手掌部で把持されることが好ましい。また、脚部1Lに対応する動き検出部3は足首に装着されることが好ましい。なお、動き検出部3は、計測対象2の頭部1HDや胴部1BD(図2参照)に設置されてもよい。
ここで、各動き検出部3とこれが装着される部位との対応関係は、予め定められているのが好ましい。例えば、各動き検出部3には、「腕(右)用」等のように装着すべき部位が明示され、計測対象2は、当該明示された部位に動き検出部3を装着する。
図10は、動き検出部3の構成を示すブロック図である。図10に示すように、動き検出部3は、第2制御部3a、第2記憶部3b、第2通信部3c、慣性センサ3dで構成される。第2制御部3aは、CPU等で構成され、ROM、RAM等で構成された第2記憶部3bに記憶された制御プログラムに従って動作する。第2制御部3aと他の構成要素とはバス等で接続されており、制御部10はバス等を介して他の構成要素を制御する。第2記憶部3bには、更に個々の動き検出部3を表す識別子(ID)が記憶されている。第2通信部3cは、例えばBLEといった、近距離無線通信規格に準拠した通信モジュール(図示せず)を備える。第2制御部3aは、第2記憶部3bに記憶されたIDと慣性センサ3dの出力とを取得し、第2通信部3cを介してこれらの情報を制御部10(図9参照)に所定の周期(例えば10ms周期)で送信する。
慣性センサ3dは、例えば三軸加速度センサ、または/及びジャイロセンサで構成される。ここで、三軸加速度センサは、計測対象2の各部位がどの方向にどの程度速度を変化させているか(加速度)をX,Y,Zの三軸について出力する。またジャイロセンサは、計測対象2の各部位がどの方向にどの程度の速度で回転しているか(角速度)をX,Y,Zの三軸について出力する。このように慣性センサ3dは、計測対象2の腕部1A、脚部1Lの動きを検出し、これに基づく三軸加速度情報及び/または三軸角速度情報(以下、「三軸加速度情報等」と称することがある。)を制御部10に出力する。この際、上述したIDが併せて出力される。
三軸加速度情報等及びIDを受信した制御部10は、三軸加速度情報等に基づき、代表位置情報を算出する。IDを参照することで、制御部10は、慣性センサ3dの出力が、どの動き検出部3から出力されたものか判断する。制御部10は、各慣性センサ3dの出力(三軸加速度情報)を積分し速度情報を得て、これを更に積分して位置情報を得る。そして各動き検出部3の位置情報を平均して、計測対象2の代表位置情報を時系列に算出する。なお、IDを参照して、特定の慣性センサ3dを出力に基づいて代表位置情報を得てもよい。更に、制御部10は、第1実施形態と同様に、音情報のビートやリズムに基づいて計測対象2の動き情報を取得する。この動き情報に基づき、制御部10は、第1計測対象2aと第2計測対象2bとの動きの類似度を導出する。
このように、第4実施形態の動き評価システムS1は、音情報を出力する音情報出力部16と、音情報に基づいて変位する計測対象2の動きを検出する動き検出部3と、制御部10と、を備え、制御部10は、音情報から抽出された所定のタイミングに基づいて、計測対象2の動き情報を取得する。これによって、音情報に基づき変位する計測対象2の動き情報を的確に取得することが可能となる。
更に、第4実施形態の動き評価システムS1は、計測対象2は第1計測対象2aと第2計測対象2bとを含み、制御部10は、音情報から抽出された所定のタイミングに基づいて検出された、第1計測対象2aと第2計測対象2bとの動き情報に基づき、第1計測対象2aと第2計測対象2bとの動きの類似度を導出する。これによって、音情報に基づき変位する第1計測対象2aと第2計測対象2bとの動きの類似度を的確に評価することが可能となる。
もちろん第4実施形態と第2実施形態を組合わせてもよい。即ち、第1計測対象2aと第2計測対象2bとの代表位置情報(あるいは代表速度情報、代表加速度情報)に基づき、それぞれ第1動き情報画像と第2動き情報画像を生成し、これらの画像データに対してSSIM、SNR、PSNRといった画質評価指標を適用して類似度を導出してもよい。
(第5実施形態)
図11は、本発明の第5実施形態に係る動き評価システムS1の構成を示すブロック図である。動き評価システムS1は、制御部10、表示部15、撮像部13で構成される。制御部10、表示部15、撮像部13は、第1実施形態で説明したものと同等の構成を備えており、ここでの説明は省略する。ただし、第5実施形態では、動き評価システムS1の構成要素に音情報出力部16、音情報取得部17(図1参照)は含まれていなくてもよい。従って、記憶部10bの不揮発性メモリには、音情報の生成に用いる音楽ファイル等は記憶されていなくてもよい。
第5実施形態においても、被写体1は例えば人間である。なお被写体1は動物であってもよく、モノ等の移動体・形態が変化する物品であってもよい。撮像部13は、所定の動作(所定の動作の例については後述する。)を行っている被写体1を撮影する。制御部10は、撮影された画像データを用いて被写体1の動き情報(代表位置情報)を抽出する。この際、第1実施形態と同様にポーズランドマークを認識して動き情報を抽出してもよい。なお被写体1に対し、例えばSIFT(Scale-Invariant Feature Transform)を用いてキーポイントを抽出し、複数の特定のキーポイントについて動き情報を抽出してもよい。
ここで、被写体1は第1被写体1aと第2被写体1bとを含む。制御部10は、第1実施形態と同様に、各被写体1の動きを代表する代表位置情報を、例えば60fpsの周期で時系列に算出する。ここで制御部10は、第1被写体1aと第2被写体1bとに関して、幅方向(x方向)補正係数(SFx)、高さ方向(y方向)補正係数(SFy)を求め、それぞれの被写体1に関する代表位置情報を補正してもよく、また第1被写体1aと第2被写体1bとで代表位置情報の初期値を一致させるキャリブレーションを実行してもよい。
制御部10は、算出された代表位置情報に基づいて第1被写体1aと第2被写体1bとの動きの類似度を導出する。類似度の導出にあたっては、第2実施形態と同様に、第1被写体1aと第2被写体1bとの代表位置情報を、時間軸を含まない座標空間に画素としてプロットした第1動き情報画像と、第2動き情報画像とが生成される。そして制御部10は、第1動き情報画像と第2動き情報画像とを用いて、SSIM、MSSIM、SNR、PSNR等の評価値を算出、即ち類似度を導出する。もちろん、代表位置情報のみならず、上述した代表動き情報(即ち、代表位置情報、代表速度情報、代表加速度情報のいずれか)をプロットした第1動き情報画像と第2動き情報画像とに基づいて、類似度を導出してもよい。
このように、第5実施形態の動き評価システムS1は、第1被写体1aと第2被写体1bとを撮影する撮像部13と、制御部10と、を備え、制御部10は、撮像部13の出力に基づいて、第1被写体1aと第2被写体1bとについて、それぞれの動きを代表する少なくとも一つの代表動き情報を時系列に算出し、更に、それぞれの代表動き情報を、時間軸を含まない座標空間に画素としてプロットした第1動き情報画像と第2動き情報画像とを生成し、第1動き情報画像と第2動き情報画像とに基づいて、第1被写体1aと第2被写体1bとの動きの類似度を導出する。これによって、各被写体1の動きを代表する代表動き情報を画像として表現し、画像間の差異に基づき簡易に類似度を導出することが可能となる。
さて、第5実施形態において、被写体1間の動きの類似度が評価されうる所定の動きとして、例えば以下が挙げられる。
・歌唱の際の振り付け
・ダンスを演じる際の動き
・楽器を演奏する際の動き
・車両、船舶、航空機、ロケット等を操縦する際の動き
・料理を行う際の動き
・手術を行う際の動き(指の動き、手の動き、特定の臓器に対する相対的な動き等)
・医師、整体師、鍼灸師、理学療法士等が施術する際の動き
・仕事等を行う際の動き(レジ打ち、スマートフォン操作、キーボード入力、接客姿勢等)
・工具を使用する際の動き
・スポーツを行う際の動き(野球やゴルフのスイング、卓球、バドミントン、テニス、フェンシング、剣道、柔道、レスリング、ボクシング、フィギュアスケート、スキー、スケートボード、ラグビー、サッカー、水泳、体操、ボウリング等)
・ペットを含む動物や昆虫の動き・挙動
・工場等における移動体の動き、製造設備・生産機器(工場における稼働部)の動き
・産業用ロボットを含むロボットの動き
なお、各被写体1が立つ床に、あるいは各被写体1の動きを評価する対象部位(例えば手や指)の近傍に、例えば所定の色票や所定の形状に構成された基準マーカを設置し、各被写体1は当該基準マーカの上に立ち、あるいは体の特定部位を当該基準マーカに触れ、これらの状態を初期位置として動きを開始するのが好ましい。これによって、実質的に被写体1間で初期位置のキャリブレーションが図られうる。
第5実施形態においては、類似度が導出される被写体1の動きは「音」あるいは「音楽」と連動・同期していなくてもよい(もちろん、連動・同期してもよい)。そして、各被写体1を撮影した画像には、同一の作業やスポーツの技等を繰り返し行う姿が含まれていてもよい。また、各被写体1を撮影する期間には特に制限はない。なお、手術やレジ打ちといった手や指の動きの類似度を評価する場合、上述したMediaPipeのMulti Hand Tracking等の追跡(トラッキング)ソフトウェアを利用することができる。またレスリング等の格闘技やサッカー等のチームスポーツにおいては、公知の画像認識技術を用いて動きを評価する対象(選手)をトレースし、当該選手以外をトリミングする等の前処理を行うのが好ましい。このように撮像部13で撮影した画像に複数の被写体1が含まれる場合は、前処理によって特定の被写体1が抽出される。もちろん、各被写体1が同一の画像に含まれていてもよく、この場合は少なくとも二つの被写体1が一つの画像から抽出され、各被写体1間の動きの類似度が導出される。
(第6実施形態)
図12は、本発明の第6実施形態に係る動き評価システムS1の構成を示すブロック図である。動き評価システムS1は、制御部10、表示部15、動き検出部3で構成される。制御部10、表示部15、動き検出部3は、第4実施形態(図9、図10)で説明したものと同等の構成を備えており、ここでの説明は省略する。ただし、第6実施形態では、動き評価システムS1の構成要素に音情報出力部16、音情報取得部17(図9参照)は含まれていなくてもよい。従って、記憶部10bの不揮発性メモリには、音情報の生成に用いる音楽ファイル等は記憶されていなくてもよい。
以下、図10を併用して説明を続ける。第6実施形態において、制御部10は、動き検出部3に含まれる各慣性センサ3d(ここでは、三軸加速度センサ)の出力(即ち、加速度情報)を積分し速度情報を得て、これを更に積分して位置情報を得る。そして各動き検出部3の位置情報を平均して、計測対象2の動きを代表する代表位置情報を得る。もちろん、加速度情報を平均して代表加速度情報を得てもよく、速度情報を平均して代表速度情報を得てもよい。このように第6実施形態では、代表位置情報を取得する過程で、代表加速度情報、代表速度情報を含む代表動き情報が得られる。もちろん、慣性センサ3dの個数は任意である。必要に応じて例えば複数の指のそれぞれに慣性センサ3dが配置され、これらの出力に基づき平均化された代表動き情報が算出されてもよい。また慣性センサ3d毎に(即ち、平均することなく、例えば個々の指の単位で)代表動き情報が取得されてもよい。この点は、上述した第5実施形態についても同様であって、例えば手あるいは指に対応するキーポイントの座標値に基づき代表動き情報が導出されてもよい。
制御部10は、算出された代表位置情報(代表動き情報)に基づいて第1計測対象2aと第2計測対象2bとの動きの類似度を導出する。類似度の導出にあたっては、第2実施形態と同様に、第1計測対象2aと第2計測対象2bとの代表動き情報を、時間軸を含まない座標空間に画素としてプロットした第1動き情報画像と、第2動き情報画像とが生成される。そして制御部10は、第1動き情報画像と第2動き情報画像とを用いて、SSIM、MSSIM、SNR、PSNR等の評価値を算出する。第6実施形態においても、類似度が導出される計測対象2の動きは、「音」あるいは「音楽」と連動・同期していなくてもよい(もちろん、「音」あるいは「音楽」と連動・同期してもよい)。
このように、第6実施形態の動き評価システムS1は、第1計測対象2aと第2計測対象2bとの動きを検出する動き検出部3と、制御部10と、を備え、制御部10は、動き検出部3の出力に基づいて、第1計測対象2aと第2計測対象2bとについて、それぞれの動きを代表する少なくとも一つの代表動き情報を時系列に算出し、更に、それぞれの代表動き情報を、時間軸を含まない座標空間に画素としてプロットした第1動き情報画像と第2動き情報画像とを生成し、第1動き情報画像と第2動き情報画像とに基づいて、第1計測対象2aと第2計測対象2bとの動きの類似度を導出する。これによって、各計測対象2の動きを代表する代表動き情報を画像として表現し、画像間の差異に基づき簡易に類似度を導出することが可能となる。
以上、本発明に係る動き評価システムS1、動き評価方法について特定の実施形態に基づいて詳細に説明したが、これらの実施形態はあくまでも例示であって、本発明はこれらの実施形態によって限定されるものではない。例えば、第1被写体1aと第2被写体1b(あるいは第1計測対象2aと第2計測対象2b)とは同一人物であってもよい。同一の被写体1について異なる時点でダンスを演じる際の動画ファイルを取得し、その類似度を導出することで、同一人の訓練の成果を数値として表すことが可能となる。
また、被写体1あるいは計測対象2は人間でなくてもよい。具体的には、例えば第1被写体1aあるいは第2被写体1bのうちいずれか一方はロボットであってもよい。この場合、ロボットは音情報に合わせて変位するようにプログラミングされる。そして類似度に基づき、例えばロボットの動きの滑らかさ、応答速度、変位量が評価されうる。もちろん、第1被写体1aと第2被写体1bとの両方がロボットであってもよい。
また、第1実施形態~第3実施形態では、ポーズ認識モデル40(図3参照)のキーポイント41の座標値に基づき代表位置情報を算出しているが、代表位置情報の算出に際して、いわゆるモーションキャプチャの技術を用いてもよい。具体的には、被写体1に装着された複数の反射型マーカを撮像部13で撮影し、検出された反射型マーカの座標に基づき代表位置情報が取得される。
また、第1実施形態では、検出されたビートあるいはリズムに基づくタイミングに時間的に前後する代表位置情報のピーク値を、動き情報として抽出しているが、ビートが検出されたタイミングに時系列に最も近接するフレーム画像(評価用画像)を選択し、この評価用画像から取得した代表位置情報を動き情報として採用してもよい。またビートが検出されたタイミングを中心として、前後の所定期間内に取得された複数の代表位置情報の平均値を動き情報として採用してもよい。
また、各実施形態においては、同一の楽曲に合わせて同一の振り付けでダンスを演じても、スキルや習熟度の差によって、二つの被写体1(計測対象2)の動きには差異が生じることから、主に第1被写体1aをダンスの指導者、第2被写体1bをその生徒として説明した。他方、本発明は、医師等と高齢者等との間で行われるリハビリテーションに応用してもよく、また発達障害等を有する子供の指導・支援に応用してもよい。