まず、本発明の実施形態の概略を説明する。本発明の実施形態は、概略、撮像画像から抽出した空間方向と時間方向の動きの特徴量である利用者の特徴ベクトルと、動きの量のそれぞれを手本動作の特徴パターン、動きの量と比較し、利用者の動作を採点するというものである。
次に、本発明の実施形態について図面を参照して詳細に説明する。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態である動作採点装置100に含まれる機能ブロックを表すブロック図である。
動作採点装置100は、手本データ生成部111、手本データ格納部112、映像入力部101、差分画像生成部102、特徴ベクトル抽出部103、パターン比較部104、パターン類似度スコア算出部105、動き量算出部106、動き量比較部107、動きスコア算出部108、総合スコア算出部109及び出力部110を含む。
なお、動作採点装置100に含まれるこれら各機能ブロックは、動作採点装置100に含まれる演算処理装置が本実施形態特有のソフトウェアに基づいた演算処理を行い、演算結果に応じてハードウェアを制御することにより実現される。ここで、動作採点装置100は任意の装置により実現することが可能である。また、動作採点装置100は、単一の装置により実現されても良いが複数の装置が協働することにより実現されても良い。例えば、ネットワークを介して接続された複数の装置により実現されても良い。
手本データ格納部112は、手本動作者を撮像することにより作成された撮像動画(以下、単に「手本動作者の撮像動画」という)から事前に生成した特徴ベクトルである「手本動作特徴ベクトル」に基づいて生成される「手本動作特徴パターン」を格納する。ここで特徴ベクトルとは、動画像から抽出した動画像中の人物の空間方向と時間方向の動きの特徴量を表すベクトルである。
特徴ベクトルの一例である立体高次局所自己相関特徴ベクトル(CHLA特徴ベクトル)についての説明は、特許文献2に記載されている。特許文献2に記載されているとおり、立体高次局所自己相関(CHLAC)とは、注目画素について、注目画素の差分値と注目画素から変位量だけ離れているN個の画素それぞれの差分値とを乗じて得た値を所定の範囲の時間範囲で時間積分したものであり、立体高次局所自己相関特徴ベクトルとは、注目画素に関する所定数の変位方向にそれぞれ対応する複数の立体高次局所自己相関を成分とするベクトルである。また特徴パターンとは撮像動画の全てのフレームから得た特徴ベクトルについて、上位からn次(n<251)までの主成分ベクトルを採用し、これらの主成分ベクトルによって張られるn次元ベクトル空間のことである。
更に、手本データ格納部112は、手本動作者の撮像動画から事前に算出した手本動作の動きの量を表す情報である「手本動作動き量」を格納する。
ここで、手本データ格納部112に格納されている手本動作特徴ベクトル及び手本動作動き量は、手本データ生成部111により生成される。手本データ生成部111及び手本データ格納部112の詳細な機能ブロック及びその動作、並びに本実施形態における特徴ベクトルの具体的な抽出方法及び動き量の具体的な算出方法については後述する。
映像入力部101は、被評価者を撮像することにより作成された撮像動画(以下、単に「被評価者の撮像動画」という)を入力する。被評価者の撮像動画は任意の方法により入力することができる。例えばビデオカメラにより撮像された動画を実時間でリアルタイムに入力しても良いし、事前に撮像した動画を入力してもよい。また、後者の場合であれば、動作採点装置100内部又は外部の記録装置に格納されている撮像動画を入力しても良いし、DVD(Digital Versatile Disc)等の記録媒体に格納されている撮像動画を読み込んで入力しても良いし、ファイル化された撮像動画をネットワーク等を介して入力するようにしても良い。
差分画像生成部102は、映像入力部101で入力された被評価者の撮像動画内の各フレームにおける画像に基づいて差分画像を生成する。差分画像は、例えば、隣接するフレーム間の差分画像である。従って、入力したフレーム数から例えば1を減じて得た数のフレーム間の差分画像を生成する。
特徴ベクトル抽出部103は、差分画像生成部102で得た差分画像から被評価者の動作特徴ベクトルを抽出する。
パターン比較部104は、手本データ格納部112に格納されている手本動作の特徴パターンである手本動作特徴パターンと、特徴ベクトル抽出部103で抽出した被評価者動作特徴ベクトルとの距離を算出する。
パターン類似度スコア算出部105は、パターン比較部104で算出した手本動作のパターンと被評価者動作の特徴ベクトルとの距離に基づいて、パターン類似度スコアを算出する。
動き量算出部106は、差分画像生成部102で得た差分画像から被評価者動作の動き量を算出する。
動き量比較部107は、手本データ格納部112に格納されている手本動作の動き量のデータと動き量算出部106で算出した被評価者動作の動き量とを比較する。
動きスコア算出部108は、動き量比較部107で比較した動き量の比較結果に基づいて、動きスコアを算出する。
総合スコア算出部109は、パターン類似度スコア算出部105で算出したパターン類似度スコアと、動きスコア算出部108で算出した動きスコアに基づいて、最終的なスコアである総合スコアを算出する。すなわち、本実施形態では、パターン類似度と動き量の2つの観点に基づいてスコアを算出する。
出力部110は、総合スコア算出部109が算出した総合スコアを外部に出力する。出力方法としては任意の方法を用いることができ、例えば、出力部110をディスプレイにより実現して、画面上に表示するようにしたり、紙媒体に印刷するようにしたり、外部ネットワークに出力したり、何れかの記録媒体に記録するようにしても良い。また、これらの出力方法を組み合わせるようにしても良い。
続いて、図2を参照して、手本データ生成部111及び手本データ格納部112に含まれる機能ブロックについて詳細に説明する。図2は、手本データ生成部111及び手本データ格納部112のそれぞれに含まれる機能ブロックを表すブロック図である。
手本データ生成部111は、映像入力部111−1、差分画像生成部111−2、特徴ベクトル抽出部111−3、手本動作特徴パターン生成部111−4及び動き量算出部111−5を含む。
また、手本データ格納部112は、手本動作特徴パターン格納部112−1及び手本動作動き量格納部112−2を含む。
手本データ生成部111は、図1に表される手本データ生成部111以外の各機能ブロックの動作に先立ち、前もって手本動作者の撮像動画から手本データを生成する。
ここで、生成される手本データは、上述したように手本動作特徴パターンと手本動作動き量の2つを含む。そして、手本動作特徴パターンは、手本データ格納部112に含まれる手本動作特徴パターン格納部112−1に格納され、手本動作動き量は、手本データ格納部112に含まれる手本動作動き量格納部112−2に格納される。
次に、手本データ生成部111の各機能ブロックについて説明する。
映像入力部111−1は、手本となるダンスの動画である手本動作者の撮像動画を入力する。この点、映像入力部101における被評価者の撮像動画を入力と同様に、手本動作者の撮像動画は任意の方法により入力することができる。具体的な入力方法の例も上述した映像入力部101の例と同様である。
差分画像生成部111−2は、映像入力部111−1で入力された動画内の各フレームにおける画像に基づいて差分画像を生成する。差分画像は、例えば、隣接するフレーム間の差分画像である。従って、入力したフレーム数から例えば1を減じて得た数のフレーム間の差分画像を生成する。
特徴ベクトル抽出部111−3は、差分画像生成部111−2で得た差分画像のそれぞれから特徴ベクトルを抽出し、これを手本動作特徴ベクトルとして手本動作特徴パターン生成部111−4に入力する。
手本動作特徴パターン生成部111−4は、手本動作特徴パターン生成部111−4に入力された手本動作特徴ベクトルに基づいて手本動作特徴パターンを生成する。生成した手本動作特徴パターンは、手本データ格納部112の手本動作特徴パターン格納部112−1に入力する。入力した手本動作特徴パターンは、手本動作特徴パターン格納部112−1に格納される。
動き量算出部111−5は、差分画像生成部111−2で得た差分画像から手本動作の動き量を算出し、これを手本動作動き量として手本データ格納部112の手本動作動き量格納部112−2に入力する。入力された手本動作動き量は、手本動作動き量格納部112−2に格納される。
次に、上述した図1及び図2に含まれる各部の処理動作、並びに、本実施形態における特徴ベクトルの具体的な抽出方法及び動き量の具体的な算出方法について更に図を参照して詳細に説明をする。
上述したように、処理の時系列としては、まず図2に詳細に表される手本データ生成部111による処理が先であるので、以下の説明においても、まず手本データ生成部111による処理について説明する。
図3は、差分画像生成部111−2における差分画像の生成処理の一具体例を表す図である。
フレーム201は手本の動画の或る時刻におけるフレームである番号tのフレームの画像を表す。また、フレーム202は手本の動画の番号tのフレームに時間的に隣接している、番号tのフレームの次のフレームである番号t+1のフレームの画像を表す。すなわち、時系列的にフレーム202は、フレーム201の次のフレームである。そして、フレーム203は、フレーム201とフレーム202から生成した差分画像を表す。
差分画像生成部111−2は、フレーム間差分2値画像を生成する。具体的には、フレーム201とフレーム202の各画素の輝度値を比較し、輝度値の差の絶対値が、事前に設定した閾値を超えた場合に、「その画素は動き有り」と判定する。一方で、輝度値の差の絶対値が事前に設定した閾値以下の場合、「その画素は動き無し」と判定する。
この判定を各画素について行い、各画素が「動き有り画素」、「動き無し画素」の何れかをとる2値画像を生成して差分画像とする。
なお、差分画像生成部111−2は、差分画像の生成にあたり、ノイズを除去するための処理を適宜行うようにしても良い。例えば、ノイズを除去するためにローパスフィルタなどのフィルタをかけるようにしても良い。
図4は、特徴ベクトル抽出部111−3における差分画像に基づいた特徴ベクトルの抽出処理の一例を表す図である。特徴ベクトルの抽出には、種々の画像処理手段を用いることができる。例えば、非特許文献1を参照して背景技術として説明した立体高次局所自己相関(CHLAC)、と呼ばれる動画特徴量を特徴ベクトルとして抽出する方法が知られている。なお、CHLACに関しては、他にも例えば特許文献2や非特許文献2等にも詳細な記載があるため、以下の説明においては特に本実施形態と関連する箇所についてのみ説明する。
CHLACは、空間方向と時間方向の動きの双方をCHLAC特徴データ(以下の説明においては、本実施形態における呼称である「特徴ベクトル」と表記する。)としてコンパクトに表現することができるという特徴を有する。そのため、本実施形態における演算処理量を削減することが可能となる、という点で本実施形態に好適である。
また、CHLACでは、対象が画像に含まれているのならば、対象の画像中の位置に関わらず抽出される特徴ベクトルは不変である。そのため、画像内の被評価者の位置と手本動作者の位置を合わせる必要がない、という点で本実施形態に好適である。
ここで、CHLACでは特徴ベクトルの抽出にあたり、まず映像内の各フレーム画像に基づいて差分画像を生成する。そして、生成した差分画像を時系列に沿って並べて観察し、この時系列差分画像を所定の変位パターンにあてはめることで特徴ベクトル(特許文献2でいう「立体高次局所自己相関特徴ベクトル(CHLA特徴ベクトル)」がこれに対応する。)を得る。
ここで、変位パターンは差分画像中の任意の画素を第1の注目画素とし、その注目画素から或る空間方向変位幅の画素であって、或る時間方向の変位幅に位置する画素である第2の画素を最大2つ選択する。
ここで、空間方向の変位幅とは、第1の注目画素と第2の注目画素が同一フレーム内に存在したとした場合における注目画素からの距離である。距離は画素数を用いて表すことができる。
また、時間方向の変位幅とは、注目画素の存在するフレームからの時間的なフレームの隔たりを意味する。なお、空間方向においても時間方法においても変位幅は任意の整数を選択することが可能である。
例えば、時間方向の変位幅を1とした場合について図4の左側概念図を参照して説明する。まず、注目画素の存在するフレームの番号をtとする。そして、このフレームtと時刻的に隣接したt−1のフレームとt+1のフレームが、注目画素の存在するフレームから時間方向の変位幅分のフレームの隔たりを持ったフレームとなる。
また、変位パターンは、図4の右側に表されるような3×3×3画素の局所領域を表す立方体の格子で考えれば良く、二値画像からの特徴ベクトルの成分の数は、選択した画素数が1個のもの:1個、2個のもの:26個、3個のもの:26×25/2=325個の計352個ある。そして、重複するパターンを除くと、変位パターンの種類は251種類となる。即ち、1つの3次元データに対する立体高次局所自己相関特徴ベクトルの次元は251次元となることになる。これらの変位パターンを時系列差分画像に当てはめ、各変位パターンに対する相関値が得られる。結果、CHLAC特徴は251次元のベクトル空間における特徴ベクトルとして得られる。
図5は、手本動作特徴パターン生成部111−4の詳細な動作を示すフローチャートである。
まず、手本動作特徴パターン生成部111−4に特徴ベクトル抽出部111−3で算出した特徴ベクトルが入力される(ステップS11)。
手本動作特徴パターン生成部111−4は、特徴ベクトル抽出部111−3によって得られた全ての特徴ベクトルに対して主成分分析を行い、251次元の特徴ベクトルの分布を最も良く近似する部分空間を求める(ステップS12)。上位からn次(n<251)までの主成分ベクトルを採用し、これらの主成分ベクトルによって張られる空間を部分空間とする。なお、nの値は予め決定して固定値としておいても良いし、元の251次元空間に対する累積寄与率によって決めるようにしても良い。この部分空間の情報を手本動作特徴パターンとして手本動作特徴パターン格納部112−1へ出力する(ステップS13)。
他方、動き量算出部111−5は、差分画像生成部111−2で生成したフレーム間差分2値画像において動き有りと判定された画素の数を計数し、この動き有り画素の総数をそのフレームにおける「動き量」とする。すなわち、本実施形態における動き量とはベクトル量ではなくスカラー量である。そして、動き量算出部111−5は、算出した動き量を各フレーム毎に記録し、この記録内容を手本動作動き量として手本動作動き量格納部112−2へ出力する。
続いて、図1に表される各機能ブロックの動作について説明する。
前提として、上述した手本データ生成部111による各動作が既に行われており、手本動作特徴パターンは、手本データ格納部112に含まれる手本動作特徴パターン格納部112−1に格納済みであり、手本動作動き量は、手本データ格納部112に含まれる手本動作動き量格納部112−2に格納済みであるものとする。
なお、図1の映像入力部101、差分画像生成部102、特徴ベクトル抽出部103及び動き量算出部106の処理動作は、その処理対象が手本動作者の撮像動画から被評価者の撮像動画へと変わる以外は、それぞれ、映像入力部111−1、差分画像生成部111−2、特徴ベクトル抽出部111−3及び動き量算出部111−5と処理動作は同一である。そのため、図1の映像入力部101、差分画像生成部102、特徴ベクトル抽出部103及び動き量算出部106の処理動作についての説明は省略する。
図6は、パターン比較部104の詳細な動作を示すフローチャートである。また、図7は、パターン比較部104の処理結果の一例を表す図である。
図6を参照すると、まず、パターン比較部104に特徴ベクトル抽出部103で算出した被評価者動作の撮影データに含まれる全てのフレームの全ての画素にそれぞれ対応する複数の特徴ベクトルが入力される(ステップS21)。ただし、全てのフレームではなく、一部のフレームであってもよく、全ての画素ではなく一部の画素であってもよい。
次に、パターン比較部104は、手本データ格納部112に格納されている手本動作特徴パターンである手本動作の特徴ベクトルの部分空間へ、特徴ベクトル抽出部103で抽出した被評価者動作の特徴ベクトルを射影する(ステップS22)。
次に、手本動作の特徴ベクトルの部分空間と、射影された被評価者動作の特徴ベクトルとの距離を算出する(ステップS23)。
このステップS22及びステップS23の処理について図7を参照して説明をする。ここで、図7は手本動作の特徴ベクトルの部分空間と、射影された被評価者動作の特徴ベクトルとの距離ついて表す図であり251次元で表される特徴ベクトルを説明の便宜のために三次元化して表した概念図である。
図7における、或る時刻における被評価動作特徴ベクトル301とは、差分画像(仮にフレーム番号tにおける差分画像)とその前後の差分画像(t−a、t+b)により得られる特徴ベクトルである。a,bは任意に設定可能な整数である。つまり、a,bを1としてフレームtの直前・直後の連続した差分画像を使用しても良いし、そうでなくても良い。
ここで差分画像とは、上述したように或るフレーム数から例えば1を減じて得た数のフレーム間の差分画像を生成する。
また、特徴ベクトル手本データに保存されている部分空間302とは、手本動作の映像における全てのフレームから得た特徴ベクトルについて、上位からn次(n<251)までの主成分ベクトルを採用し、これらの主成分ベクトルによって張られる空間のことである。なお、特徴ベクトル手本データに保存されている部分空間302は、手本動作の映像における全てのフレームに基づいた空間であるため、参照時の時刻により変動することはない。つまり、手本動作の特徴パターンは各フレームでの値として保持されるのではなく、全てのフレームの特徴ベクトルを網羅するような空間として保持されている。そのため、どの時刻にどのような特徴があったかは分からないが、対象となる一連の動作の特徴を網羅して表している。
そして、ステップS23では特徴ベクトル手本データに保存されている部分空間302と或る時刻における被評価動作特徴ベクトル301との距離である、部分空間との距離303を算出する。
そして、ステップS23にて算出された距離を複数の区間に分類し、その区間を階級、その区間の出現頻度を度数とするヒストグラムであり、図6の右側に示されるような「パターン比較結果ヒストグラム」を作成する。なお、パターン比較結果ヒストグラムの階級幅、階級数は任意に設定することができる。例えば、手本動作となる動作(例えば、ダンスの内容)により適切な階級幅及び階級数が異なることも想定されるので、手本動作となる動作に応じて階級幅及び階級数を異なる設定とするようにしても良い。また、予め幾つかの階級幅及び階級数の組み合わせを用意しておき、手本動作となる動作に応じて選択するようにしても良い。
また、パターン比較結果ヒストグラムの階級幅は全て一定であっても良いが、不定であっても良い。例えば図6の右側に示される例においては階級幅は各階級で10であり一定であるが、例えば、或る階級からは10よりも大きな値とするようにしても良い。
そして、ステップS23にて距離を算出すると、算出結果に基づいてパターン比較結果ヒストグラムにおける該当区間の頻度の値を1増やす(ステップS24)。
これら、ステップS22〜ステップS24の処理をステップS21で入力されたデータが終了するまで繰り返す(ステップS25においてNo)。そして、ステップS21で入力されたデータが終了すると(ステップS25においてYes)、パターン比較結果ヒストグラムを比較データとして出力して処理を終了する(ステップS26)。なお、パターン比較結果ヒストグラムの比較データとしての出力はステップS25においてYesとなった時点ではなく、ステップS22〜ステップS24の処理を1回又は所定の回数実行するたびに行うようにしても良い。
図8は、動き量比較部107の詳細な動作を示すフローチャートである。
図8を参照すると、まず、動き量比較部107に、動き量算出部106で算出した動き量が入力される(ステップS31)。
この点、動き量算出部106で算出した動き量は、被評価動作が手本動作と同じ動作であったと仮定しても、個々人の体の大きさや髪形、服の模様によって異なる。例えば、体格が大きな者と小さな者であれば同じ動作をしたとしても、動き量は前者の方が大きくなる。よって、この点を考慮することなく動き量算出部106で算出した動き量を、そのまま比較に用いることは適切ではない。
そこで、動き量比較部107は、比較を行うに先立って、以下の手順で被評価者の動き量を補正する。
まず、被評価者動作及び手本動作のそれぞれについて動き量の移動平均を求め、それぞれの動き量を平滑化する。次に、平滑化した動き量の最大値を被評価者動作及び手本動作のそれぞれについて探す。そして、被評価者動作の動き量の最大値と、手本動作の動き量の最大値が一致するような倍率を算出する。最後に算出した倍率を、各フレーム毎の被評価者動作の動き量に適用する。
なお、上記では最大値を用いているが、最小値や中央値又は最頻値等に基づいて倍率を算出するようにしても良い。また、複数の基準を用いるようにしても良い。例えば、最大値が一致する倍率と、最小値が一致する倍率をそれぞれ算出し、この2つの倍率の平均値を各フレーム毎の被評価者動作の動き量に適用するようにしても良い。
次に、動き量比較部107は、各フレームについて補正後の被評価者動作の動き量と手本動作の動き量の差を求める(ステップS33)。
そして、ステップS33にて算出された動き量の差を複数の区間に分類し、その区間を階級、その区間の出現頻度を度数とするヒストグラムであり図8の右側に示されるような「動き量比較結果ヒストグラム」を作成する。なお、動き量比較結果ヒストグラムの階級幅、階級数は任意に設定することができる。例えば、手本動作となる動作(例えば、ダンスの内容)により適切な階級幅及び階級数が異なることも想定されるので、手本動作となる動作に応じて階級幅及び階級数を異なる設定とするようにしても良い。また、予め幾つかの階級幅及び階級数の組み合わせを用意しておき、手本動作となる動作に応じて選択するようにしても良い。
また、動き量比較結果ヒストグラムの階級幅は、パターン比較結果ヒストグラムと同様に全て一定であっても良いが、不定であっても良い。
そして、ステップS33にて動き量の差を算出すると、算出結果に基づいて動き量比較結果ヒストグラムにおける該当区間の頻度の値を1増やす(ステップS34)。
これら、ステップS32〜ステップS34の処理をステップS31で入力されたデータが終了するまで繰り返す(ステップS35においてNo)。そして、ステップS31で入力されたデータが終了すると(ステップS35においてYes)、動き量結果ヒストグラムを比較データとして出力して処理を終了する(ステップS36)。なお、動き量比較結果ヒストグラムの比較データとしての出力はステップS35においてYesとなった時点ではなく、ステップS32〜ステップS34の処理を1回又は所定の回数実行するたびに行うようにしても良い。
図9は、パターン類似度スコア算出部105の詳細な動作を示すフローチャートである。
パターン類似度スコア算出部105は、予めヒストグラムの各階級に減点値を任意に設定した配点表を備えている。例えば、ステップS23にて算出された距離が短い場合に該当する区間よりも、ステップS23にて算出された距離が長い場合に該当する区間の方が減点値が大きくなるように設定されている配点表を備えている。
そして、パターン類似度スコア算出部105は、パターン比較部104から、パターン比較結果ヒストグラムを入力される(ステップS41)。
次に、パターン類似度スコア算出部105は、配点表に設定されている減点値と、パターン比較部104で作成したパターン比較結果ヒストグラムの度数の積和を算出し(ステップS42)、算出した値をパターン類似度スコアとして出力する(ステップS43)。
図10は、動きスコア算出部108の詳細な動作を示すフローチャートである。
動きスコア算出部108は、予めヒストグラムの各階級に減点値を任意に設定した配点表を備えている。例えば、ステップS33にて算出された動き量の差が小さい場合に該当する区間よりも、ステップS33にて算出された動き量の差が大きい場合に該当する区間の方が減点値が大きくなるように設定されている配点表を備えている。
そして、動きスコア算出部108は、動き量比較部107から、動き量比較結果ヒストグラムを入力される(ステップS51)。
次に、動きスコア算出部108は、配点表に設定されている減点値と、動き量比較部107で作成した動き量比較結果ヒストグラムの度数の積和を算出し(ステップS52)、算出した値を動きスコアとして出力する(ステップS53)。
ここで、本実施形態にて、パターン比較結果ヒストグラム及び動き量結果ヒストグラムを使用している理由について説明する。
部分空間と特徴ベクトルとの距離を算出し、算出した距離をそのまま用いて評価値(例えば、減点値)とした場合には、評価値は、距離と比例した線形且つ連続した値となる。そのため、[発明が解決すべき課題]の欄で述べた理由により、人間の主観とは異なる評価となることが考えられる。
そして、これでは、評価値が線形な値となることにより、スコアが人間の主観からズレたものになるという課題を解決することができない。
そこで、本実施形態では、上述したように階級幅及び階級数を任意に設定可能としたヒストグラムを用意し、これを利用する。これにより評価値は、距離と比例した線形且つ連続した値とはならない。
そして、算出されるスコアが人間の主観に沿ったものとなるように階級幅及び階級数を設定し、各階級に評価値を配点することにより、結果として人間の主観に沿った評価値を算出することが可能となる。
また、動き量の比較についても同様のことがいえ、単に動き量の比較結果と評価値を比例させるのではなく、算出されるスコアが人間の主観に沿ったものとなるように階級幅及び階級数を設定し、各階級に評価値を配点することにより、結果として人間の主観に沿った評価値を算出することが可能となる。
以上が本実施形態にて、パターン比較結果ヒストグラム及び動き量結果ヒストグラムを使用している理由である。
図11は、総合スコア算出部109の詳細な動作を示すフローチャートである。
まず、総合スコア算出部109は、パターン類似度スコア算出部105で算出したパターン類似度減点値と動きスコア算出部108で算出した動き量減点値を入力される(ステップS61及びステップS62)。なお、パターン類似度減点値及び動き量減点値の一方が極端に大きな値となってしまった場合には、2つの減点値を使用する意味が薄れてしまうので、パターン類似度減点値及び動き量減点値の双方に値の上限値を定めるようにしても良い。
次に、総合スコア算出部109は、パターン類似度スコア算出部105で算出したパターン類似度減点値と動きスコア算出部108で算出した動き量減点値を足し合わせ、総合減点値を算出する(ステップS63)。
このときに必要に応じて両者に重み付け係数を乗じて加重加算を行うようにしてもよい。例えば、振りの正確性よりも、動きの抑揚が重視されるダンスであれば動き量減点値が重くなるように重み付けを行う。一方で、動きの速度よりも、振りの正確性が重視されるダンスであればパターン類似度減点値が重くなるように重み付けを行う。
このようにして2つのスコアに重みづけ係数を掛けて足し合わせるようにすることで、ダンスの種類によって2つのスコアの重みを変えることが可能となる。これにより、より人間の主観に近い採点結果を得ることができる。
また、総合減点値の算出方法としては、上述したようなパターン類似度減点値及び動き量減点値の加算や加重加算以外の方法を取っても良い。例えば、パターン類似度減点値及び動き量減点の算術平均した結果や、幾何平均した結果を総合減点値としても良いし、パターン類似度減点値及び動き量減点の最大値又は最小値を採用するようにしても良い。つまり、パターン類似度減点値及び動き量減点の内の値の大きい方又は小さい方を総合スコアとするようにしても良い。すなわち、パターン類似度減点値及び動き量減点値の双方に基づく方法であれば任意の方法で総合スコアを算出するようにしても良い。
次に、総合スコア算出部109は、満点(例えば100点)から総合減点値を減じた値を最終的な採点結果である総合スコアとしてとして出力部110に入力する(ステップS64)。
出力部110は、入力された総合スコアを外部に出力する。
なお、以上の説明における「減算値」を全て「加算値」として置き換えるようにしても良い。
つまり、パターン類似度スコア算出部105ではパターン類似度減点値を算出しており、動きスコア算出部108では動き量減点値を算出していた。もっともこれは一例に過ぎずパターン類似度スコア算出部105及び動きスコア算出部108が加点値を算出するようにしても良い。この場合には以上の説明における「減算値」を全て「加算値」として置き換え、総合スコア算出部109が、パターン類似度加点値と動き量加点値を足し合わせて総合スコアとして算出するようにしても良い。また、足し合わせの際に、ステップS63にて説明した加重加算等を行うようにしても良い。
以上説明した本発明の実施形態は、以下に示すような多くの効果を奏する。
第1の効果は人間の主観に近い採点結果を得ることができることである。
その理由は、特徴量抽出部で空間方向と時間方向の特徴量を抽出することにより動きの形と流れの両方の特徴を抽出することが可能となるからである。
第2の効果は運動量の差を採点結果に反映できることである。
その理由は、動き量抽出部で動きの量を抽出することにより、運動量を算出することができるからである。
第3の効果は手本者との体格や髪形、服の模様の違いによる影響を受けずに動き量を比較できることである。
その理由は、動き量比較部で利用者動作の動き量を手本動作に合わせて補正してから動き量を比較するからである。
第4の効果は映像中の全ての動きについて手本動作と利用者動作を比較し採点できることである。
その理由は、動きの特徴量と動き量のそれぞれを比較することにより、例えば利用者が振付を忘れてしまい静止してしまったときのような、特徴量だけでは比較できない利用者が静止中の場合も、手本動作と利用者動作を比較できるからである。
第5の効果は、ごく微小な動きの差異については減点をせず、動きがある程度大きく外れると大きく減点する、というように人間の主観に近い採点を行うことができることである。
その理由は、パターン類似度スコア算出部と動きスコア算出部のそれぞれでヒストグラムを用いてスコアを算出することで、お手本とのズレと減点値の非線形な配点が可能だからである。
第6の効果は、採点対象等に応じた適切な配点の調整が可能となることである。
その理由は、パターン類似度スコア算出部と動きスコア算出部が、各フレームにおける比較結果を格納したヒストグラムとヒストグラムの各階級に対して減点値を設定した配点表を用いてスコアを算出するからである。また、このヒストグラムの階級幅、階級数、各階級に対応する減点値は任意に設定可能だからである。
第7の効果は、そのダンスに適したパラメタを与えることでより人間の主観に近い採点結果を得ることができることである。
その理由は、最終的なスコアを求める際にパターン類似度スコア算出部で算出したパターン類似度スコアの値と動きスコア算出部で算出した動きスコアの値に重みづけ係数を掛けて足し合わせるので、ダンスの種類によって2つのスコアの重みを変えることが可能であるからである。
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
例えば、本発明の実施形態の変形例として複数フレームに含まれる一連の動作に対して採点結果を出力するのではなく、一連の動作中の一部の動作についてフレーム単位で採点結果を出力することが考えられる。例えば、毎フレーム毎に採点結果を出力する形態が考えられる。
この場合、パターン比較部104と動き量比較部107は、ヒストグラム(パターン比較結果ヒストグラム及び動き量比較結果ヒストグラム)を作成せず、現フレームにおける手本動作のパターンとの差と手本動作の動き量との差をそのまま出力する。
次に、パターン類似度スコア算出部105と動きスコア算出部108は、予め距離や差の値について範囲ごとに減点値を設定しておくことで、減点値を算出する。
総合スコア算出部109は、算出したパターン類似度減点値と動き量減点値を足し合わせ、現フレームにおける採点結果を出力する。
また、総合スコア算出部109は、過去のフレームにおける採点結果を総合的に判断し、現フレームまでの総合的な採点結果を合わせて出力することも可能である。
このようにして、毎フレーム採点結果を出力することで、どの動作が悪かったのかすぐに知ることができる。
更に、以上説明した実施形態では映像入力部101や映像入力部111−1に入力された動画の連続するフレーム全てを利用して比較を行っていたが、所定時間あたりのフレーム数であるフレームレートが非常に高いカメラを利用する場合等には演算処理が膨大となってしまうようなことも考えられる。
このような場合には所定の基準でフレームを間引き、間引いた後に残ったフレームを利用して全ての処理を行うようにしても良い。
更に、上記の説明においては、もっぱらダンスの採点を例に取って説明したが、これは本発明の実施形態を説明するための一例に過ぎない。本発明の実施形態の適用範囲はダンスに限られず、スポーツやテレビゲーム等の種々の用途に適用することが可能である。
更に、また、手本動作及び被評価動作の何れか又は双方は人間の動きには限定されず、例えば人間以外の生物や、人間により作成された映像や、ロボット等の動きであっても良い。
なお、上記の動作採点装置は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の動作採点装置により行なわれる動作採点方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) 手本動作及び被評価動作のそれぞれから、空間方向と時間方向の動きを表す特徴ベクトル及び動き量を抽出し、抽出した前記手本動作の特徴ベクトルと前記被評価動作の特徴ベクトルの比較に加えて、抽出した前記手本動作の動き量と前記被評価動作の動き量の比較をし、双方の比較結果に基づいて前記手本動作と前記被評価動作との近似性を評価することを特徴とする動作評価装置。
(付記2) 前記手本動作に含まれるフレームそれぞれから抽出した複数の特徴ベクトルに基づいて手本動作の特徴パターンを表す部分空間を生成し、前記部分空間と前記被評価動作から抽出した特徴ベクトルとの距離が短いほど前記手本動作と前記被評価動作とが近似していると評価する付記1に記載の動作評価装置。
(付記3) 特徴ベクトルの比較結果に対応して階級が設けられている第1のヒストグラムと、動き量の比較結果に対応して階級が設けられている第2のヒストグラムと、前記第1及び第2のヒストグラムの各階級に対してスコアを設定した配点表とを使用し、
各フレームにおける比較結果を、該比較結果と対応する前記第1及び第2のヒストグラムの階級に格納し、格納結果と前記配点表とに基づいて前記近似性の評価を行うことを特徴とする付記1又は2に記載の動作評価装置。
(付記4) 前記第1及び第2のヒストグラムの階級数及び階級幅をユーザが任意に設定可能なことを特徴とする付記3に記載の動作評価装置。
(付記5) 前記動き量の比較は、複数フレーム分の手本動作の動き量と複数フレーム分の被評価動作の動き量の比較結果に基づいて、前記被評価動作の各フレームの動き量を補正し、補正後の前記被評価動作の動き量と、前記手本動作の動き量とを比較することにより行うことを特徴とする付記1乃至4の何れか1に記載の動作評価装置。
(付記6) 手本動作及び被評価動作の双方について、フレーム毎に他のフレームとの差分画像を生成し、該差分画像から前記特徴ベクトル及び前記動き量を抽出することを特徴とする付記1乃至5の何れか1に記載の動作評価装置。
(付記7) コンピュータが行う動作評価方法であって、手本動作及び被評価動作のそれぞれから、空間方向と時間方向の動きを表す特徴ベクトル及び動き量を抽出し、抽出した前記手本動作の特徴ベクトルと前記被評価動作の特徴ベクトルの比較に加えて、抽出した前記手本動作の動き量と前記被評価動作の動き量の比較をし、双方の比較結果に基づいて前記手本動作と前記被評価動作との近似性を評価することを特徴とする動作評価方法。
(付記8) 手本動作及び被評価動作のそれぞれから、空間方向と時間方向の動きを表す特徴ベクトル及び動き量を抽出し、抽出した前記手本動作の特徴ベクトルと前記被評価動作の特徴ベクトルの比較に加えて、抽出した前記手本動作の動き量と前記被評価動作の動き量の比較をし、双方の比較結果に基づいて前記手本動作と前記被評価動作との近似性を評価することを特徴とする動作評価装置としてコンピュータを機能させることを特徴とする動作評価プログラム。
(付記9) 手本動作の映像から特徴量と動き量を算出する手本データ生成部と、手本動作のデータを格納する手本データ格納部と、利用者の動作を撮影した映像を入力する映像入力部と、フレーム毎に差分画像を生成する差分画像生成部と、空間方向と時間方向の特徴量を抽出する特徴ベクトル抽出部と、利用者の特徴ベクトルと手本動作の特徴パターンを比較し、階級幅と階級数を任意に設定可能とするヒストグラムに各フレームにおける比較結果を格納するパターン比較部と、パターン比較部の結果に基づきヒストグラムの各階級に対して減点値を任意に設定した配点表を用いてスコアを算出するパターン類似度スコア算出部と、利用者の動作の動き量を算出する動き量算出部と、利用者の動き量を手本動作に合わせて補正した後の利用者動作の動き量と手本動作の動き量を比較し、階級幅と階級数を任意に設定可能とするヒストグラムに各フレームにおける比較結果を格納する動き量比較部と、動き量比較部の結果に基づきヒストグラムの各階級に対して減点値を任意に設定した配点表を用いてスコアを算出する動きスコア算出部と、パターン類似度スコア算出部で算出したパターン類似度スコアの値と動きスコア算出部で算出した動きスコアの値に重みづけ係数を掛けて足し合わせ、最終的なスコアを算出するスコア算出部を備えるダンス採点システム。