以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の情報処理装置は、入力動画に、登録されているアクションが含まれているか否かを認識する情報処理装置(たとえば、図1の認識処理装置11、または、図1の認識処理部22が有する機能を有する装置、もしくは、図10のパーソナルコンピュータ500)であって、前記アクションを認識するためのモデルを含むモデル動画を画像平面および時間の3次元とした場合における、特徴点であるモデル特徴点と、前記モデル特徴点における特徴量であるモデル特徴量の情報を記憶する記憶手段(例えば、図1の辞書登録部61)と、前記入力動画を取得する第1の取得手段(例えば、図1の入力動画バッファ部62)と、前記第1の取得手段により取得された前記入力動画を画像平面および時間の3次元として、前記入力動画から前記アクションを認識するための特徴点である入力特徴点を抽出する第1の特徴点抽出手段(例えば、図1の特徴点抽出部64)と、前記第1の特徴点抽出手段により抽出された前記入力特徴点における特徴量である入力特徴量を抽出する第1の特徴量抽出手段(例えば、図1の特徴量抽出部65)と、前記第1の特徴量抽出手段により抽出された前記入力特徴量と、前記記憶手段により記憶された前記モデル特徴量とを比較し、類似する特徴量を有する特徴点の組としての候補対応特徴点ペアを生成する特徴量比較手段(例えば、図1の特徴量比較部66)と、前記特徴量比較手段による比較の結果得られた前記候補対応特徴点ペアから、アウトライヤを除去し、前記入力動画上での前記モデルの姿勢(例えば、モデル姿勢)を推定するとともに、前記モデルの姿勢に対応する認識対応特徴点ペア群を求める姿勢推定手段(例えば、図1の姿勢パラメータ推定部67)と、前記姿勢推定手段により得られる前記モデルの姿勢の推定結果、および、前記認識対応特徴点ペア群に基づいて、認識結果を生成する認識結果生成手段(例えば、図1の認識結果生成部68)とを備える。
前記第1の取得手段により取得された前記入力動画を、前記モデルに対応する領域と背景に対応する領域とに分割する分割手段(例えば、図1の前処理実行部63)を更に備えることができ、前記第1の特徴点抽出手段は、前記分割手段によって分割された前記入力動画中の前記モデルに対応する領域から、前記入力特徴点を抽出することができる。
本発明の第1の側面の情報処理方法は、アクションを認識するためのモデルを含むモデル動画を画像平面および時間の3次元とした場合における、特徴点であるモデル特徴点と、前記モデル特徴点における特徴量であるモデル特徴量の情報を記憶する記憶部を有し、入力動画に、登録されている前記アクションが含まれているか否かを認識する情報処理装置(たとえば、図1の認識処理装置11、または、図1の認識処理部22が有する機能を有する装置、もしくは、図10のパーソナルコンピュータ500)の情報処理方法であって、前記入力動画を取得し(例えば、図7のステップS41の処理)、前記入力動画を画像平面および時間の3次元として、前記入力動画から前記アクションを認識するための特徴点である入力特徴点を抽出し(例えば、図7のステップS43の処理)、前記入力特徴点における特徴量である入力特徴量を抽出し(例えば、図7のステップS44の処理)、前記入力特徴量と、前記記憶部に記憶されている前記モデル特徴量とを比較し、類似する特徴量を有する特徴点の組としての候補対応特徴点ペアを生成し(例えば、図7のステップS45の処理)、前記候補対応特徴点ペアから、アウトライヤを除去し、前記入力動画上での前記モデルの姿勢(例えば、モデル姿勢)を推定するとともに、前記モデルの姿勢に対応する認識対応特徴点ペア群を求め(例えば、図7のステップS46の処理)、前記モデルの姿勢の推定結果、および、前記認識対応特徴点ペア群に基づいて、認識結果を生成する(例えば、図7のステップS47の処理)ステップを含む。
本発明の第1の側面のプログラムは、所定の記憶部に記憶されているアクションを認識するためのモデルを含むモデル動画を画像平面および時間の3次元とした場合における、特徴点であるモデル特徴点と、前記モデル特徴点における特徴量であるモデル特徴量の情報を用いて、入力動画に、登録されている前記アクションが含まれているか否かを認識する処理をコンピュータに実行させるためのプログラムであって、前記入力動画を取得し(例えば、図7のステップS41の処理)、前記入力動画を画像平面および時間の3次元として、前記入力動画から前記アクションを認識するための特徴点である入力特徴点を抽出し(例えば、図7のステップS43の処理)、前記入力特徴点における特徴量である入力特徴量を抽出し(例えば、図7のステップS44の処理)、前記入力特徴量と、前記記憶部に記憶されている前記モデル特徴量とを比較し、類似する特徴量を有する特徴点の組としての候補対応特徴点ペアを生成し(例えば、図7のステップS45の処理)、前記候補対応特徴点ペアから、アウトライヤを除去し、前記入力動画上での前記モデルの姿勢(例えば、モデル姿勢)を推定するとともに、前記モデルの姿勢に対応する認識対応特徴点ペア群を求め(例えば、図7のステップS46の処理)、前記モデルの姿勢の推定結果、および、前記認識対応特徴点ペア群に基づいて、認識結果を生成する(例えば、図7のステップS47の処理)ステップを含む処理をコンピュータに実行させる。
以下、図を参照して、本発明の実施の形態について説明する。
図1に、本発明を適用した認識処理装置11の構成を示す。
認識処理装置11は、モデルアクションの登録を行う特徴抽出処理部21と、認識対象となる入力動画を取得して、認識処理を実行する認識処理部22とで構成されている。認識処理装置11は、ユーザが登録した画像シーケンス中のアクション、ジェスチャ、イベントなどの時空間パターンに対して、入力画像シーケンスから、類似した時空間パターンを検出し、検出された場合には、対応点の情報や対応する時刻および対応箇所、対応姿勢やそのパラメータ、または、それらの類似度合いなどを出力することができる。
以下、画像シーケンス中のアクション、ジェスチャ、イベントなどの時空間パターンを総称してアクションと称するものとする。また、画像シーケンスは、動画または動画像とも称するものとする。
ここでは、認識処理装置11として1つの装置であるものとして説明するが、特徴抽出処理部21および認識処理部22が、それぞれ1つの装置として構成されていても良いことは言うまでもない。
まず、特徴抽出処理部21の各部について説明する。
特徴抽出処理部21は、モデル動画記録部41、前処理実行部42、特徴点抽出部43、および、特徴量抽出部44を含んで構成されている。
モデル動画記録部41は、認識処理のモデルとなる特徴量を取得するための動画像データを取得し、時間情報とともに記録する。記録される動画像データは、システムに認識させたいアクション(以下、モデルアクションと称する)を含むモデル画像シーケンス(以下、モデル動画とも称する)である。
モデル動画記録部41は、動画像を撮像可能なカメラを内蔵し、例えば、録画開始終了ボタンのようなユーザインタフェース用いて、ユーザの指示により、動画像データを取得するものとしても良いし、外部の装置から、有線または無線を介して、モデル動画として用いられる動画像データを取得するものとしても良い。そして、モデル動画記録部41は、例えば、図示しない操作入力部により入力されるユーザの操作入力に基づいて、取得された動画像データのうち、モデルとして用いる部分の開始および終了時刻を設定し、その部分の動画像データをモデル動画として記録するとともに、前処理実行部42に供給する。
認識処理装置11においては、画像平面x−yに対して、時間tを空間的奥行き方向の次元と見立てることにより、例えば、図2に示されるように、画像シーケンスを3次元画像として扱うものとする。すなわち、画像シーケンスは、時間(タイムスタンプt)と平面(t時刻における画像のx−y平面)とによる3次元座標系として捉えることができるため、画像シーケンスの数学的表現として、I(x,y,t)という表現を用いるものとする。したがって、以下、複数のモデル動画のうちのi番目のモデル動画を、IMODEL [i](x,y,t)のように表するものとする。
前処理実行部42は、モデル動画中のアクション部分と背景部とを分離する。具体的には、前処理実行部42は、例えば、モデル動画IMODEL [i](x,y,t)からアクション部と背景部とを分離し、アクション部のピクセルが1、背景部のピクセルが0となったマスク動画を生成することができる。アクション部分と背景部との分離の方法は任意の方法でよい。
前処理実行部42は、例えば、図示しない操作入力部のマウスポインタデバイスやタッチパッドといった入力インターフェースを用いて、ユーザから、モデル動画の各フレームにおけるアクションの領域を直接選択することができるようにし、その選択領域、すなわち、アクションピクセルが1、非選択領域、すなわち、背景領域のピクセルが0という2値画像シーケンスを得ることができるようにしても良い。
また、前処理実行部42は、例えば、図3のモデル動画の時刻tの画像101に対する背景画像102、すなわち、モデル動画を撮像するカメラ等の設置場所において、アクションが撮像されていない、環境のみ、つまり背景のみが撮像された画像を取得し、動画の各時刻tの画像から背景画像を差し引いて得られた背景差分画像103を算出し、この背景差分画像シーケンスを、所定の閾値により2値化して、2値画像シーケンスを得ることができるようにしても良い。
また、図4に示されるように、上述した閾値を用いた2値化処理のみを行った後の画像111には、例えば、図中、白い部分の内側の黒い部分のように、ノイズ部分が残り、アクション部分となるべき範囲内に、背景部分と判定される領域が発生してしまう可能性が高い。そのような場合、例えば、形態学的膨張処理(例えば、8近傍膨張処理)を行うようにすると好適である。
8近傍膨張処理は、2値画像上のある画素P0を注目画素として、注目画素の近傍の8画素P1乃至P8中に、少なくとも1つアクション部分と判断された画素、すなわち、画素値が1である画素がある場合、注目画素P0の画素値を1、すなわち、アクション部分に変換する処理を行うことにより、画素値1の部分、すなわち、アクション部分を膨張させる処理である。この処理を数式で示すと、次の式(1)となる。
f(P0)=f(P1)∪f(P2)∪・・・∪f(P8)・・・(1)
ここで、∪は、論理和(オア)を示し、f(Px)は、画素Pxにおける画素値を示すものである。
この処理における膨張の度合い、換言すれば、アクション部分としての認識領域の外周を膨らませる度合いを増すためには、以上の処理を所定の複数回繰り返すようにしても良いし、注目画素の近傍8画素よりも広い範囲の近傍画素のうち、少なくとも1つアクション部分と判断された画素、すなわち、画素値が1である画素がある場合、注目画素の画素値を1、すなわち、アクション部分に変更するものとしても良い。
上述したように、ユーザの選択により得られた、または、背景差分画像103により得られた2値画像、もしくは、その2値画像に対して必要に応じて8近傍膨張処理を施した2値画像を、マスク画像1と称し、画像IMASK1 [i](x,y,t)と表すものとする。
前処理実行部42は、図5に示されるように、マスク画像1に対応する画像IMASK1 [i](x,y,t)、すなわち、中央値フィルタリング後の画像121を用いて、モデル動画とマスク動画1を乗算することで、背景がマスクアウトされ、背景のピクセルが0、それ以外が元の画素値となった、すなわち、背景分離処理が行われたモデル動画を得ることができる。このとき得られるマスキング済みの画像は、例えば、同じく図5に示される、背景分離処理後のモデル動画の時刻tの画像122となる。
ここでは、特に区別する必要がない場合には、背景分離処理が行われたモデル動画についても、IMODEL [i](x,y,t)のように表するものとする。
特に、上述した8近傍膨張処理のように、アクション部分に対応する領域の膨張処理が施されたとき、背景分離処理後のモデル動画の時刻tの画像122は、実際のアクション部分(ここでは、人物の顔部分)の周辺の、本来ならば背景として分離されなくてはいけない部分を含んでしまう可能性がある。この背景分離処理後のモデル動画の時刻tの画像122を用いて後述する特徴点抽出処理および特徴量抽出処理が行われた場合、背景に対応する部分の特徴点および特徴量が抽出されてしまう恐れがある。
そこで、前処理実行部42は、上述したようにして得られた2値画像シーケンスのそれぞれのフレームに対して、形態学的収縮処理(例えば、8近傍収縮処理)を施すようにしても良い。形態学的収縮処理が施されたマスク画像を用いてマスキングした画像を利用して特徴点の抽出を行うことにより、得られる特徴点は少なくなってしまう可能性があるが、背景に対応する部分の特徴点および特徴量が抽出されてしまう恐れを限りなく除去することができ、認識の精度が向上する。
形態学的収縮処理の具体的な例として、8近傍収縮処理について説明する。
8近傍収縮処理とは、2値画像上のある画素P0を注目画素とし、注目画素P0に対する近傍8画素P1乃至P8中に少なくとも1つの背景画素、すなわち、画素値が0である画素がある場合、P0の画素値を背景画素値、すなわち0に変更する処理である。この処理を数式で示すと、次の式(2)となる。
f(P0)=f(P1)∩f(P2)∩・・・∩f(P8)・・・(2)
ここで、∩は、論理積(アンド)を示し、f(Px)は、画素Pxにおける画素値を示すものである。
この処理における収縮の度合い、換言すれば、アクション部分としての認識領域の外周を狭める度合いを増すためには、以上の処理を所定回数繰り返すようにしても良いし、注目画素の近傍8画素よりも広い範囲の近傍画素のうち少なくとも1つ背景部分と判断された画素(画素値が0である画素)がある場合、注目画素の画素値を0(すなわち、背景部分)に変えるものとしても良い。
前処理実行部42は、マスク画像1(IMASK1 [i](x,y,t))に対して、形態学的収縮処理(例えば8近傍収縮処理)を施し、マスク画像2(IMASK2 [i](x,y,t)と表される)を生成する。
前処理実行部42は、上述した8近傍膨張処理のような、アクション部分に対応する領域の膨張処理と、形態学的収縮処理(例えば、8近傍収縮処理)との、一件相反する処理を画像に対して施す。これは、例えば、図4を用いて説明した閾値処理後の画像111において、図中、白い部分の内側の黒い部分のように発生するノイズ部分を除去しつつ、背景に対応する部分の特徴点および特徴量が抽出されてしまう恐れを限りなく除去するために、非常に有用な処理である。例えば、図4を用いて説明した閾値処理後の画像111に直接形態学的収縮処理を施した場合、図4中、白い部分の内側の黒い部分のように発生するノイズを除去することができず、誤検出の原因となってしまう。これに対して、図4の形態学的膨張後の画像112のように、白い部分の内側の黒い部分のように発生するノイズを除去した、換言すれば、白い部分の内側の黒い部分の値を全て1(白い部分)としたあとに形態学的収縮処理を施した場合、収縮によって再びノイズ部分が発生ことはない。
なお、前処理実行部42が省略され、前処理が実行されない場合、後述する処理が実行不可になり、モデル動画の特徴点および特徴量の抽出処理ができなくなるものではない。すなわち、前処理実行部42が省略され、前処理が実行されない場合には、背景部分に対しても、モデル動画の特徴点および特徴量の抽出処理が行われてしまうため、処理時間が長くなり、これらを用いた認識処理の認識精度も落ちてしまうことが考えられるが、背景部分を含む動画像に対して、モデル動画の特徴点および特徴量の抽出処理を行うことは可能である。
図1に戻って、認識処理装置11の各部の説明を続ける。
特徴点抽出部43は、モデル動画から特徴点の抽出を行う。特徴点抽出部43は、既に公知であるさまざまな手法のうちのいずれの手法を用いて特徴点を抽出するものとしても良いが、時空間、すなわち、図2を用いて説明した画像平面x−yに対して、時間tを空間的奥行き方向の次元とした3次元の変形に対して頑強な特徴点抽出法を利用すると、認識の精度があがり、好適である。
特徴点抽出部43が行う特徴点抽出のために用いる手法の具体的な例として、”I. Laptev, ”On Space-Time Interest Points”, in International Journal of Computer Vision, vol 64, number 2/3, 2005”に記載された技術を用いた特徴点抽出方法について説明する。以下、この特徴点抽出法で抽出される特徴点をST(Spatio-Temporal)特徴点、または単に特徴点と称する。
ST特徴点は、時空間、すなわち、図2を用いて説明した画像平面x−yに対して、時間tを空間的奥行き方向の次元とした3次元に拡張を行った一般化Harris尺度に基づいて検出される特徴点であり、式(3)に示す3次元拡張Harris関数Hの極大および極小を与える3次元座標(x,y,t)として定義される。
H=det(μ)−k・trace3(μ) ・・・(4)
式(3)におけるdet(μ)は、正方行列の行列式を示し、trace3(μ)は、行列の対角成分の和の3乗を示し、kは、定数である。
そして、式(3)のμは、次の式(4)で与えられる。
μ(x,y,t;σ2,τ2)=G(x,y,t;σ2,τ2)*(▽L(▽L)T)
・・・(4)
式(4)中のG(x,y,t;σ2,τ2)は、3次元ガウスフィルタであり、次の式(5)で与えられる。
G(x,y,t;σ2,τ2)=
(1/sqrt((2π)3σ4τ2))exp(−(x2+y2)/2σ2−t2/2τ2)
・・・(5)
そして、式(4)および式(5)において、σは、空間領域におけるガウス形状(裾野の広がり)を決めるパラメータであり、τは、時間領域におけるガウス形状を決めるパラメータである。換言すれば、σは、空間領域におけるローパスフィルタによる値のぼかし度合いに対応するパラメータであり、τは、時間領域におけるローパスフィルタによる値のぼかし度合いに対応するパラメータである。ここで、σおよびτは、画像を取得するカメラデバイスなどの解像度によって最適な値を用いると好適であり、例えば、σ=8、τ=4程度の値とすることができる。
また、式(4)の*は内積を示す。すなわち、式(4)の右辺は、(▽L(▽L)T)を3次元ガウスフィルタGでぼかすオペレーションであり、式(4)中の▽Lは、次の式(6)で表される。
そして、式(6)において、以下の式(7)乃至式(9)が成立する。
Lx(x,y,t;σL 2,τL 2)=
∂x(G(x,y,t;σL 2,τL 2))*I(x,y,t) ・・・(7)
Ly(x,y,t;σL 2,τL 2)=
∂y(G(x,y,t;σL 2,τL 2))*I(x,y,t) ・・・(8)
Lt(x,y,t;σL 2,τL 2)=
∂t(G(x,y,t;σL 2,τL 2))*I(x,y,t) ・・・(9)
すなわち、式(6)の▽Lは時空間画像グラディエントを表しており、式(4)のμは時空間画像グラディエントの2次モーメントマトリクスを示している。
そして、パラメータσLは、空間スケールパラメータであり、τLは、時間スケールパラメータであり、それぞれ、特徴点を抽出する際に考慮に入れるべき時間または空間(画像のx−y平面)方向のサイズを決めるパラメータとなっている。なお、σLとτLとは、それぞれ独立に決められる。ここでは、例えば、σL={2,4,8}、τL={2,4,8}の、全9通りの組み合わせでST特徴点の検出を行うもことができる。また、例えば、σL={2,4,8}、τL={2,4,8}などとすることにより、時間的にも、x−y平面内の空間的にもスケールに幅を持つことができ、広い範囲から特徴点を拾うことが可能となる。
特徴点抽出部43は、供給されたモデル動画IMODEL [i](x,y,t)を用いて式(3)を計算して、その極大値および極小値を与える座標(x,y,t)を検出し、ST特徴点とする。
このとき、特徴点抽出部43は、前処理として背景がマスクされた動画に対してST特徴点の抽出処理を行う。このとき、上述したマスク動画1を利用するものとしても良いが、特に、マスク動画2を用いてマスクされた動画を用いるようにした場合、または、抽出されたST特徴点のうち、特徴点位置(x,y,t)におけるマスク動画2の値が1の特徴点のみを、モデルアクションを記述する有効な特徴点とした場合、上述したように、背景部分から特徴点を抽出する可能性を大幅に排除することができ、好適である。
取得されたモデル動画において、アクションを起こした人体や物体によって背景は不連続的に隠される。この部分は画像情報が極端に変化するため、上述したST特徴点が検出されてしまう可能性が高い。また、ある特徴点に対して求められる特徴量は、その特徴点近傍領域の画像情報から計算されるため、特徴点が背景領域に近い点である場合、背景部分の情報を含むことになり、入力動画とアクション部において、画像平面x−yと時間tとの3次元座標位置が同じ対応特徴点であっても、背景が微妙に異なることで特徴量のマッチングが取れなくなってしまう。すなわち、このような特徴点は、視点変化や背景変化に頑強でない特徴点である。
そこで、マスク動画2を用いたマスク処理により、背景部とアクション部の境界付近に検出された、視点変化や背景変化に頑強でない特徴点を排除する処理を入れることで、認識性能が向上する。
以上の処理により特徴点抽出部43において求められたモデル動画IMODEL [i](x,y,t)のN個のST特徴点を、PMODEL [i]={P1 [i],P2 [i],・・・PN [i]}と表するものとする。特徴点抽出部43は、N個のST特徴点PMODEL [i]={P1 [i],P2 [i],・・・PN [i]}を、特徴量抽出部44に供給する。
特徴量抽出部44は、特徴点抽出部43により抽出されて供給されたモデル動画IMODEL [i](x,y,t)の特徴点における特徴量を抽出する。一般的にアクションイベント認識において利用される特徴量は、例えば、“I. Laptev and T. Lindeberg, “Local Descriptors for Spatio-Temporal Recognition”, in ECCV Workshop “Spatial Coherence for Visual Motion Analysis”, Springer LNCS Vol.3667, pp. 91-103, 2004”など、いくつか提案されており、さまざまな方法を特徴量抽出部44の特徴量抽出処理に適用することが可能である。ここでは、その一例として、“I. Laptev, ”On Space-Time Interest Points”, in International Journal of Computer Vision, vol 64, number 2/3, 2005”に記載されている技術を用いた特徴量の抽出について説明する。
特徴点抽出部43により抽出されたST特徴点のうちのあるST特徴点P=(xP,yP,tP)における時空間特徴量VPは、次の式(10)で定義される。
VP
={σPLx,σPLy,τPLt,σP 2Lxx,・・・,σPτP 3Lyttt,τP 4Ltttt}
・・・(10)
ここで、Lに下付のxyzがついているものは、次の式(11)に対応するものであり、パラメータσP,τPはPが検出されたときのスケールパラメータである。
Lx m y n t k(xP,yP,tP;σP 2,τP 2)=
∂x m y n t k(G(xP,yP,tP;σP 2,τP 2)*I(xP,yP,tP)
・・・(11)
式(11)において、mは、式(10)におけるxの次数であり、nは、式(10)におけるyの次数であり、kは、式(10)におけるtの次数である。
すなわち、時空間特徴量VPは、x、y、tのそれぞれの次元について、4次までの偏微分ガウスオペレーションをかけた画像情報から構成される特徴ベクトルであり、その次元数は、3C2+4C2+5C2+6C2=34の34次元となる。
以上の処理で求めたi番目のモデル動画IMODEL [i](x,y,t)の各ST特徴点(ST特徴点の総数をNとする)で求めた特徴量を、ST特徴点Pj [i]の特徴量がVj [i]であるものとして、VMODEL [i]={V1 [i],V2 [i],・・・VN [i]}と表記する。
特徴量抽出部44は、モデル動画IMODEL [i]から抽出されたST特徴点PMODEL [i]とその特徴量VMODEL [i]を、モデルアクションMODEL[i]=(Pj [i],Vj [i])として、認識処理部22の辞書登録部61に供給する。
次に、認識処理部22の各部について説明する。
認識処理部22は、辞書登録部61、入力動画バッファ部62、前処理実行部63、特徴点抽出部64、特徴量抽出部65、特徴量比較部66、姿勢パラメータ推定部67、および、認識結果生成部68を含んで構成されている。
認識処理部22の辞書登録部61は、特徴抽出処理部21の特徴量抽出部44から供給されたモデルアクションMODEL[i]=(Pj [i],Vj [i])を、認識処理時に参照可能な形で保存する。
入力動画バッファ部62は、入力動画像データ(以下、入力動画とも称する)を取得し、バッファリングする。入力動画像データは、辞書登録部61に保存されているモデルアクションMODEL[i]=(Pj [i],Vj [i])を用いて所定のアクションの有無を認識するための認識対象である。入力動画バッファ部62にバッファされる入力動画を、IINPUT(x,y,t)のように表すものとする。
入力動画バッファ部62は、動画像を撮像可能なカメラを内蔵し、例えば録画開始終了ボタンのようなユーザインタフェース用いて、ユーザの指示により、動画像データを取得するものとしても良いし、外部の装置から、有線または無線を介して、動画像データを取得するものとしても良い。
認識処理部22における認識処理が逐次認識の形態をとる場合には、入力動画バッファ部62は、少なくとも、最新フレームから認識対象時間長(所定フレーム数)さかのぼったフレームまでの画像シーケンスを入力動画としてバッファする。また、入力動画バッファ部62は、例えば、録画開始終了ボタンのようなユーザインタフェース用いたユーザの指示により、所定時間の認識対象画像シーケンスを入力動画としてバッファする構成であっても良い。
前処理実行部63は、入力動画中のアクション部分と背景部とを分離する。分離の方法は任意の方法でよく、例えば、逐次認識ではない場合においては、特徴抽出処理部21の前処理実行部42と同様の方法を用いてアクション部分と背景部を分離するものであっても良い。また、前処理実行部63を省略しても、認識処理部22における認識処理は実行可能である。
すなわち、前処理を行わない背景部を含んだ入力動画から特徴点および特徴量の抽出を行っても、特徴点および特徴量の抽出時間、並びに、特徴量の比較処理にかかる時間が増えてしまうが、辞書登録部61に登録されているモデルアクションMODEL[i]=(Pj [i],Vj [i])と最終的には一致しないので、認識処理は実行可能である。具体的には、後述する処理により特徴量の比較が行われ、対応する特徴量のペアが生成されるが、前処理が行われない場合、多くの誤った特徴量のペアが生成されてしまう恐れがある。しかしながら、後述する処理によって誤った特徴量のペアのほとんどはアウトライヤとして除去されることが期待されるため、前処理が行われなくても、認識処理は正しく実行される。もちろん、前処理を行ったほうが、処理時間が短縮され、認識精度も更に高くなるので好適である。
また、ここでは、前処理実行部63により前処理が行われているか否かにかかわらず、特徴点抽出部64に供給される入力動画も、IINPUT(x,y,t)のように表すものとする。
特徴点抽出部64は、特徴点抽出部43と同様の方法を用いて、入力動画IINPUT(x,y,t)から特徴点の抽出を行い、抽出された特徴点の情報を、特徴量抽出部65に供給する。特徴点抽出部64により抽出された入力動画IINPUT(x,y,t)のM個の特徴点(ST特徴点)を、QINPUT={Q1,Q2,・・・QM}と表する。
特徴量抽出部65は、特徴点抽出部64により抽出された入力動画IINPUT(x,y,t)の特徴点QINPUT={Q1,Q2,・・・QM}の各点において、上述した特徴量抽出部44と同様の方法を用いて、特徴量の抽出を行う。特徴量抽出部65により抽出された入力動画IINPUT(x,y,t)のM個の特徴点QINPUT={Q1,Q2,・・・QM}の各点における特徴量を、特徴点Qkの特徴量がWkであるものとして、WINPUT={W1,W2,・・・WM}と表記する。
特徴量抽出部65は、この入力動画の特徴点特徴量情報INPUT=(Qk,Wk)(ここで、kは、1以上M以下の整数)を参照可能な形でバッファするとともに、特徴量比較部66に供給する。
特徴量比較部66は、特徴量抽出部65から供給された特徴点特徴量情報INPUT=(Qk,Wk)と、辞書登録部61に登録されているモデルアクションMODEL[i]=(Pj [i],Vj [i])とのマッチング処理を行う。
例えば、辞書登録部61にL個のモデルアクションが登録されているものとする。すなわち、モデルアクションMODEL[i]=(Pj [i],Vj [i])において、1≦i≦Lであるものとする。
特徴量比較部66は、特徴量抽出部65から供給された特徴点特徴量情報INPUT=(Qk,Wk)と、辞書登録部61に登録されているモデルアクションMODEL[i]=(Pj [i],Vj [i])とで、類似度の高い特徴量のペア群の抽出を行う。抽出された特徴量のペア群に対応する特徴点のペア群を、候補対応特徴点ペア群と称するものとする。
類似度の高い特徴点のペア群の抽出を行うために用いる類似尺度、または、非類似尺度には、様々なものを用いることができる。ここでは、その一例として、非類似度として任意のノルムを用いる場合について説明する。
i番目のモデル動画のj番目の特徴点の特徴量Vj [i]と入力動画のk番目の特徴点の特徴量Wkとの非類似度D(Vj [i],Wk)を、次の式(12)で定義する。
D(Vj [i],Wk)=norm(Vj [i],Wk)
(12)
特徴量比較部66は、全てのVj [i]とWkとの組み合わせにおいて、式(12)で定義される非類似度D(Vj [i],Wk)を演算する。そして、特徴量比較部66は、式(12)で定義される非類似度D(Vj [i],Wk)の値に基づいて、特徴点Pj[i]に対する候補対応特徴点群を、例えば、D(Vj [i],Wk)が最も小さいK個(例えば、K=3程度の、複数であって、かつ、あまり大きくない値であると好適である)の特徴量Wkに対応する特徴点Qkを、Pj [i]の候補対応特徴点群とすることができる。また、特徴量比較部66は、式(12)で定義される非類似度D(Vj [i],Wk)の値が、所定の閾値γを下回る全ての特徴量Wkに対応する特徴点Qkを、Pj [i]の候補対応特徴点群とすることも可能である。
ここで、特徴量比較部66により得られる候補対応特徴点群におけるPj [i]と各対応特徴点Qaをペアにして、候補対応特徴点ペア[Pj [i],Qa]のように表現し、入力動画とi番目のモデルアクションに関する候補対応特徴点ペア群をCMP[i]と表記するものとする。すなわち、ペア群CMP[i]={(Pj [i],Qa)|Qa:Pj [i]の対応特徴点}となり、このとき、iは1からLまでの整数、jは1からNまでの整数となる。
特徴量比較部66は、上述したような処理により得られた候補対応特徴点ペア群CMP[i]の情報を、姿勢パラメータ推定部67に供給する。
姿勢パラメータ推定部67は、特徴量比較部66により得られる候補対応特徴点ペア群CMP[i]のアウトライヤ除去を施した後、各モデルアクション検出の有無の判定、および、検出有りのモデルに対するモデルアクションの姿勢パラメータ推定を行う。
特徴量比較部66により得られる候補対応特徴点ペア群CMP[i]の抽出処理においては、特徴量を抽出した特徴点の位置情報は使っていないため、巨視的に見ると、候補対応特徴点ペア群CMP[i]には、対応特徴点間の位置関係が、モデルアクションの入力動画上での姿勢(モデル姿勢)と矛盾しない真の対応特徴点ペア(インライヤ)だけでなく、局所的な画像情報から得られたいずれかの特徴量に関して類似しているが、時空間的な幾何学的配置という視点から見ると対応しないような偽の対応特徴点ペア(アウトライヤ)も多数混在している。また、上述したように、前処理実行部63による前処理が省略される場合、アウトライヤの混在可能性が高くなる。すなわち、特徴量比較部66により得られる候補対応特徴点ペア群CMP[i]を全て利用して、モデルアクションの入力動画中の存在有無の判定とモデルアクションの入力動画中の姿勢推定を行うようにした場合、アウトライヤの混在により、認識結果が著しく悪くなる。
そこで、「モデルアクションは、入力動画中に時空間画像変換(つまり3次元画像変換)されて出現する」という時空間的な変換仮定を立てることにより、姿勢パラメータ推定部67は、候補対応特徴点ペア群CMP[i]の中からもっとも正しそうな時空間画像変換パラメータ、および、それを決める候補対応特徴点ペア群CMP[i]の部分集合を求め、その部分集合を、最終的な認識結果を計算する認識対応特徴点ペア群RMP[i]とする。
2次元静止画像における変換仮説の概念は、例えば、特開2006-065399に記載されているが、ここでは、それを、単純に2次元(平面)から3次元(空間)に拡張するのではなく、2次元と時間とによる時空間、すなわち、画像平面x−yに対して、時間tを空間的奥行き方向の次元とした3次元に拡張することにより、動画に適用する。
姿勢パラメータ推定部67が実行する画像変換としては、いずれも3次元画像変換に拡張された、ユークリッド変換、相似変換、アフィン変換、または、射影変換などを用いることができる、ここでは、その一例として、姿勢パラメータ推定部67が、3次元アフィン変換の拘束の下、姿勢推定を行う場合を例として、詳細に説明する。
姿勢パラメータ推定部67により実行される3次元アフィン変換は、x−yの2次元と時間tとによる3次元において、平行移動および回転変換(ユークリッド変換)に、拡大縮小変換を加えた相似変換に、せん断変形を許すような変換であり、元の図形で直線上に並ぶ点は変換後も直線上に並び、平行線は変換後も平行線であるなど、幾何学的性質が保たれる変換である。変換前の点の座標を(x,y,t)、変換後の点の座標を(x′,y′,t′)とすると、3次元アフィン変換は、次の式(13)で示される。
候補対応特徴点ペア群CMP[i]からその一部を抽出することにより、候補対応特徴点ペア群CMP[i]の部分集合である、ある対応特徴点ペア群MPを抽出したとき、抽出された対応特徴点ペア群MPについて、対応特徴点ペア群MPに含まれるモデルアクション特徴量の特徴点Pの座標を(xs,ys,ts)、それに対応した入力動画特徴量の特徴点Qの座標を(xs′,ys′,ts′)(ここで、sは、1≦s≦対応特徴点ペア群MP中の対応特徴点ペア数)とすると、対応特徴点ペア群MPから推定される、x-y-tの3次元のアフィンパラメータは、次の式(14)から求められる。
式(14)において、a1,a2,a3,a4,a5,a6,a7,a8,a9は、回転、拡大縮小、および、せん断変形のそれぞれを決定するパラメータを表し、b1,b2,b3は、平行移動を決定するためのパラメータを表す。
そして、式(14)の変数を、次の式(15)に示されるように置き換えたとき、その最小二乗解は、次の式(16)で表される。
ここで、式(14)に示される決定パラメータ数が12であることから、2次元と時間とによる3次元アフィン変換パラメータを決定するためには、対応特徴点ペア群MP中に対応特徴点ペアが4組以上必要となる。よって、候補対応特徴点ペア群CMP[i]に対応特徴点ペアが3組以下しか存在しない場合、姿勢パラメータ推定部67は、対応特徴点ペアが3組以下しか存在しないことを認識結果生成部68に通知するので、認識結果生成部68は、i番目のモデルアクションに対して非検出という認識をする。
これに対して、候補対応特徴点ペア群CMP[i]に対応特徴点ペアが4組以上存在する場合、i番目のモデルアクションは、入力動画に対して少なくともある程度は対応するという結果を得ることができる。
候補対応特徴点ペア群CMP[i]から、ランダムに対応特徴点ペア群Rを選択し、その対応特徴点ペア群Rにアウトライヤが1つ以上混入していた場合、その3次元画像変換パラメータは、パラメータ空間上に散らばって投射される。一方、ランダムに対応特徴点ペア群Rを選択し、その対応特徴点ペア群Rがインライヤのみから構成されていた場合、その3次元画像変換パラメータは、パラメータ空間上で距離の近い範囲にまとまって投影される。すなわち、インライヤである対応特徴点ペアでは、何れもモデルアクションの入力動画中の姿勢の真のアフィン変換パラメータに極めて類似したものであるので、その3次元画像変換パラメータの投影先は、パラメータ空間上で距離の近いものとなる。
したがって、候補対応特徴点ペア群CMP[i]から、ランダムに対応特徴点ペア群Rを選択し、その3次元画像変換パラメータをパラメータ空間上に投射していく処理を繰り返すと、インライヤはパラメータ空間上で密度の高い(メンバ数の多い)クラスタを形成し、アウトライヤは散らばって出現することになる。すなわち、パラメータ空間上でクラスタリングを行えば、最多メンバ数を持つクラスタの要素を認識することができる。そして、姿勢パラメータ推定部67は、このクラスタ内の要素をインライヤと認識することができる。
姿勢パラメータ推定部67は、パラメータ空間上におけるクラスタリング手法として、NN(Nearest Neighbor)法を用いることができる。
姿勢パラメータ推定部67は、候補対応特徴点ペア群CMP[i]からランダムに4組以上のペアを対応特徴点ペア群R1として選択し、上述した式(14)乃至式(16)を用いて、3次元アフィン変換パラメータΘR1を求め、パラメータ空間に投射する。姿勢パラメータ推定部67は、クラスタ数を表す変数NZをNZ=1とし、3次元アフィン変換パラメータ空間Θ上で3次元アフィン変換パラメータΘR1をセントロイドとするクラスタZ1を作る。具体的には、姿勢パラメータ推定部67は、このクラスタZ1のセントロイドC1をC1=ΘR1とし、クラスタのメンバ数を表す変数nz1をnz1=1とする。
そして、姿勢パラメータ推定部67は、候補対応特徴点ペア群CMP[i]からランダムに4組以上のペアを次の対応特徴点ペア群R2として選択し、上述した式(14)乃至式(16)を用いて、3次元アフィン変換パラメータΘR2を求め、パラメータ空間に投射する。そして、姿勢パラメータ推定部67は、NN法によりアフィン変換パラメータ空間をクラスタリングする。姿勢パラメータ推定部67は、クラスタリングの結果、新たなクラスタが発生した場合、そのクラスタを新たなクラスタZ2とし、新たなクラスタが発生しなかった場合、クラスタC1のメンバ数をnz1=2とする。
そして、姿勢パラメータ推定部67は、所定の条件が満たされるまで、候補対応特徴点ペア群CMP[i]からランダムに4組以上のペアを選択し、上述した式(14)乃至式(16)を用いて、3次元アフィン変換パラメータを求め、パラメータ空間に投射し、NN法によりアフィン変換パラメータ空間をクラスタリングする。
クラスタリングについて具体的に説明すると、姿勢パラメータ推定部67は、次の式(17)に従って、3次元アフィン変換パラメータΘRcnt(cntは何回目の処理であるかを示す変数)と、各クラスタZg(gは、1≦g≦NZとなる値)のセントロイドCg(gは、1≦g≦NZとなる値)との距離d(ΘRcnt,Cg)のうち、最小の距離dminを求める。
dmin=min{d(ΘRcnt,Cg)} (17)
ここで、クラスタリング規範となる距離d(ΘRcnt,Cg)として、例えば、ユークリッド距離を用いることができ、セントロイドCgとして、クラスタメンバの平均ベクトルを用いることができる。
そして、所定の閾値Eに対してdmin<Eであれば、姿勢パラメータ推定部67は、dminを与えるクラスタZgにΘRcntを属させ、ΘRcntを含めた全メンバでクラスタZgのセントロイドCgを更新する(クラスタZgのメンバ数nzgは、1インクリメントされる)。一方、dmin≧Eであれば、姿勢パラメータ推定部67は、3次元アフィン変換パラメータ空間上で3次元アフィン変換パラメータΘRcntをセントロイドCg+1とする新しいクラスタZg+1を作り、そのクラスタのメンバ数nzgをnzg+1=1とし、クラスタ数NZをNZ=NZ+1とする。
そして、姿勢パラメータ推定部67は、所定の条件が満たされたか否かを判断する。所定の条件とは、例えば、最多メンバ数が所定の閾値(例えば15)を超え、かつ、最多メンバ数と2番目に多いメンバ数との差が所定の閾値(例えば3)を超える場合、または、処理の繰り返し回数が、所定の閾値(例えば5000回)を超える場合などである。所定の条件が満たされなかった場合、姿勢パラメータ推定部67は、繰り返し回数を計数するカウンタを1インクリメントし、候補対応特徴点ペア群CMP[i]からランダムに4組以上のペアを選択し、上述した式(14)乃至式(16)を用いて、3次元アフィン変換パラメータを求め、パラメータ空間に投射し、NN法によりアフィン変換パラメータ空間をクラスタリングする処理を繰り返す。一方、所定の条件が満たされた場合、姿勢パラメータ推定部67は、最多メンバ数を持つクラスタZmaxのメンバである対応特徴点ペア群をi番目のモデルアクションに対する認識対応特徴点ペア群RMP[i]として保持するとともに、クラスタZmaxのセントロイドCmaxを認識姿勢パラメータθ〜[i]として保持する。
姿勢パラメータ推定部67は、L個のモデルアクションに対して、順次、処理を実行する。そして、L個のモデルアクションそれぞれの認識対応特徴点ペア群RMP[i]と認識姿勢パラメータθ〜[i]とを、認識結果生成部68に供給する。なお、いずれかのモデルアクションにおいて、候補対応特徴点ペア群CMP[i]に対応特徴点ペアが3組以下しか存在しない場合、姿勢パラメータ推定部67は、認識対応特徴点ペア群RMP[i]=NULL、認識姿勢パラメータθ〜[i]=NULLとして、認識結果生成部68に供給する。
なお、上述したクラスタリング手法では、クラスタリング規範となる距離尺度d(ΘRcnt,Cg)として、たとえばユークリッド距離を用い、セントロイドとして、クラスタメンバの平均ベクトルを用いる構成として説明したが、距離尺度として、クラスタの分散を考慮したマハラノビス距離を用い、セントロイドとしてクラスタメンバの平均ベクトル及び分散の情報を用いる構成を用いることも可能であることはいうまでもない。
さらに、上記クラスタリング手法では、3次元アフィン変換パラメータΘRcntの12次元全ての次元について同じ重みでクラスタとパラメータベクトルとの距離d(ΘRcnt,Cg)を計算し、クラスタ更新かクラスタ新規作成かの判別を、全ての次元において同一の閾値Eを用いて行っている。しかしながら、3次元アフィン変換パラメータΘRcntの12次元のうち、式(14)においてa1乃至a9で構成される最初の9次元と、b1乃至b3で構成される残りの3次元とでは、b1乃至b3が時空間内の平行移動を表すパラメータであり、a1乃至a9が回転、拡大縮小、せん断変形など平行移動以外の空間変形写像を表すパラメータであるため、レンジが非常に異なる。
そこで、姿勢パラメータ推定部67は、例えば、3次元アフィン変換パラメータΘRcntの各次元に対して独立に所定の正規化係数を乗ずることでレンジの正規化を行い、正規化後の3次元アフィン変換パラメータΘRcntをパラメータ空間に投射し、クラスタリングを行うようにしてもよい。正規化係数nfとしては、例えば、a1乃至a9で構成される最初の9次元に対してnf=1.0、10次元目のb1に対する正規化係数nfを、想定される動画の横ピクセル数の逆数(例えば、動画のサイズがVGA(Video Graphics Array)サイズならnf=1/640)とし、11次元目のb2に対する正規化係数nfを、想定される動画の縦ピクセル数の逆数(例えば、動画のサイズがVGAサイズなら1/480)とし、12次元目のb3に対する正規化係数nfを、想定される動画の時間長の逆数とすることができる。
また、姿勢パラメータ推定部67は、例えば、クラスタとパラメータベクトルとの距離d(ΘRcnt,Cg)を、a1乃至a9で構成される最初の9次元と、b1乃至b3で構成される残りの3次元とで独立に計算し、距離d(ΘRcnt <1-9>,Cg <1-9>)と距離d(ΘRcnt <10-12>,Cg <10-12>)のそれぞれに対して、閾値E<1-9>と閾値E<10-12>閾値を別に設け、いずれの閾値判定も満たされるクラスタがあれば、そのクラスタの更新を、無ければ新規クラスタを生成するものとしてもよい。閾値の設定例としては、例えば、閾値E<1-9>=1とした場合、閾値E<10-12>=5とすることができる。
このようにして、姿勢パラメータ推定部67は、L個のモデルアクションそれぞれにおいて、インライヤと認識された候補対応特徴点ペア群CMP[i]の部分集合、すなわち、最終的な認識結果を計算する認識対応特徴点ペア群RMP[i]と認識姿勢パラメータθ〜[i]とを、認識結果生成部68に供給する。
認識結果生成部68は、姿勢パラメータ推定部67から供給された認識対応特徴点ペア群RMP[i]と認識姿勢パラメータθ〜[i]とに基づいて、最終的なモデルアクションの認識結果を生成する。
認識結果を利用するユーザまたはアプリケーションは、その目的によって、最も認識結果が高いと考えられる唯一のモデルアクションだけを出力して欲しい場合や、信頼度付きで複数の認識モデルアクションの候補を出力して欲しい場合、また、検出有無のみが知りたい場合や、対応するアクションが検出された場合にはその結果のみならず入力動画中の検出モデルアクションの姿勢パラメータ(3次元画像変換パラメータ)を出力して欲しい場合などが考えられる。
認識結果生成部68は、上述したように、全モデルアクションの認識対応特徴点ペア群RMP[i]について、その要素数が4を上回るものが無かった場合、すなわち、認識対応特徴点ペア群RMP[i]=NULL、認識姿勢パラメータθ〜[i]=NULLであるとき、認識結果を「非検出」として出力する。そして、それ以外の場合は、いずれかのモデルアクションが認識されたこととなるので、認識結果生成部68は、認識結果を利用するユーザまたはアプリケーションの要求に基づいた形式で検出結果を生成し、出力する。
認識結果生成部68は、例えば、認識対応特徴点ペア群RMP[i]の要素数(対応特徴点ペア数)が所定の閾値以上となっているモデルアクションi全てを、検出されたモデルアクションとして出力することができる。
また、認識結果生成部68は、例えば、認識対応特徴点ペア群RMP[i]の要素数が最大であるモデルアクションiを、検出されたモデルアクションとして出力することができる。
また、認識結果生成部68は、例えば、認識対応特徴点ペア群RMP[i]の要素数(対応特徴点ペア数)が所定の閾値以上となっているモデルアクションi全てを要素数の多い順にソートし、検出されたモデルアクションi全てとそれらの順位とを、検出結果として出力することができる。
また、認識結果生成部68は、例えば、認識対応特徴点ペア群RMP[i]の要素数(対応特徴点ペア数)が所定の閾値以上となっているモデルアクションi全てを、検出されたモデルアクションとし、検出されたモデルアクションiの要素数の総和に対する、それぞれのモデルアクションの認識対応特徴点ペア群RMP[i]の要素数の割合を信頼度として、検出されたモデルアクションi全てとそれらの信頼度とを、検出結果として出力することができる。
また、検出されたモデルアクションの姿勢パラメータ(3次元画像変換パラメータ)の出力が求められている場合、認識結果生成部68は、認識結果として、検出されたモデルアクションi全てとそれらの姿勢パラメータとを出力する。
認識結果生成部68は、例えば、検出されたモデルアクションiのRMP[i]の要素すべてを用いて、式(14)乃至式(16)を用いてパラメータの最小二乗推定を行い、その結果を検出モデルアクションの認識姿勢パラメータΘ[i]として出力することができる。
また、認識結果生成部68は、例えば、検出されたモデルアクションiの認識姿勢パラメータθ〜[i]を検出モデルアクションの認識姿勢パラメータΘ[i]として出力するようにしても良い。
次に、図6のフローチャートを参照して、認識処理装置11の特徴抽出処理部21が実行する特徴抽出処理について説明する。
ステップS11において、モデル動画記録部41は、認識処理のモデルとなる特徴量を取得するための動画データを記録する。
ステップS12において、モデル動画記録部41は、図示しない操作入力部により入力されるユーザの操作入力に基づいて、登録に利用するための動画の開始時刻と終了時刻の指定を受け、その部分の動画像データをモデル動画として記録するとともに、前処理実行部42に供給する。
ステップS13において、前処理実行部42は、モデル動画中のアクション部分と背景部とを分離する前処理を実行する。
上述したように、アクション部分と背景部との分離の方法は任意の方法でよいが、例えば、上述したように、アクション部分に対応する領域の形態学的膨張処理(例えば、8近傍膨張処理)が行われると、アクション部分と背景部との分離のための2値画像から、アクション部分として検出するべき領域内に発生するノイズを除去することができるので好適であり、さらに、膨張処理後の2値画像に対して、形態学的収縮処理(例えば、8近傍収縮処理)が施されると、アクション部分周辺の背景に対応する部分の特徴点および特徴量が抽出されてしまう恐れを限りなく除去することができ、認識の精度が向上するので、好適である。
ステップS14において、特徴点抽出部43は、前処理が実行されたモデル動画から特徴点の抽出を行い、抽出された特徴点の情報を、特徴量抽出部44に供給する。
特徴点抽出部43は、既に公知であるさまざまな手法のうちのいずれの手法を用いて特徴点を抽出するものとしても良いが、時空間、すなわち、図2を用いて説明した画像平面x−yに対して、時間tを空間的奥行き方向の次元とした3次元の変形に対して頑強な特徴点抽出法を利用すると、認識の精度があがり、好適である。特徴点抽出部43は、例えば、上述したST特徴点を抽出することができる。
ステップS15において、特徴量抽出部44は、特徴点抽出部43により抽出されて供給されたモデル動画の特徴点における特徴量を抽出する。
特徴量抽出部44は、既に公知であるさまざまな手法のうちのいずれの手法を用いて特徴量を抽出するものとしても良い。特徴量抽出部44は、例えば、上述した式(10)および式(11)で示される時空間特徴量VPを用いて特徴量を抽出することができる。
ステップS16において、特徴量抽出部44は、抽出されたモデル動画の特徴点における特徴量を認識処理部22の辞書登録部61に供給し、モデル動画ごとに特徴点と特徴量を記憶させ、処理が終了される。
このような処理により、大量のモデルデータを用意したり、複雑な学習処理を行うことなく、モデル動画の特徴点と特徴量を抽出し、認識用に記憶させることができる。
次に、図7のフローチャートを参照して、認識処理装置11の認識処理部22において実行される認識処理について説明する。この処理が実行されるとき、認識処理部22の辞書登録部61には、特徴抽出処理部21の特徴点抽出部43から供給されたモデル動画の特徴点および特徴量が、認識処理時に参照可能な形で保存されている。
ステップS41において、入力動画バッファ部62は、入力動画像データを取得し、バッファリングする。
ステップS42において、前処理実行部63は、入力動画中のアクション部分と背景部とを分離する前処理を実行する。
前処理実行部63は、例えば、特徴抽出処理部21の前処理実行部42と同様の方法を用いてアクション部分と背景部を分離することができる。また、上述したように、前処理実行部63を省略しても、認識処理部22における認識処理は実行可能であるので、ステップS42の処理は、省略することができる。
ステップS43において、特徴点抽出部64は、特徴点抽出部43と同様の方法を用いて、入力動画から特徴点を抽出し、抽出された特徴点の情報を、特徴量抽出部65に供給する。
ステップS44において、特徴量抽出部65は、特徴点抽出部64により抽出された入力動画の特徴点における特徴量を、上述した特徴量抽出部44と同様の方法を用いて抽出し、特徴量比較部66に供給する。
ステップS45において、図8のフローチャートを用いて後述する特徴量比較処理が実行される。
そして、ステップS46において、図9のフローチャートを用いて後述する姿勢パラメータ推定処理が実行される。
ステップS47において、認識結果生成部68は、姿勢パラメータ推定部67から供給された認識対応特徴点ペア群と認識姿勢パラメータθ〜[i]とに基づいて、認識結果を利用するユーザまたはアプリケーションの要求に基づいた形式で、最終的なモデルアクションの認識結果を生成し、認識結果を出力して処理が終了される。
このような処理により、入力動画に含まれるアクションが、登録されているモデルアクションと一致しているか否かを認識する処理が行われ、認識結果が、認識結果を利用するユーザまたはアプリケーションの要求に基づいた形式で出力される。
なお、認識処理において、上述したように、前処理実行部63を省略しても、認識処理部22における認識処理は実行可能であり、ステップS42の処理は、省略することができる。ステップS42の処理が省略された場合においても、アウトライヤが除去されることにより、背景部分から抽出された特徴点を含むペアについては除去されることとなるため、認識結果を著しく悪化させることはない。ステップS42の処理が省略された場合、候補対応特徴点ペア群を生成する際の閾値を、ステップS42の処理がある場合と比べて弱く設定すると好適である。
次に、図8のフローチャートを参照して、図7のステップS45において実行される特徴量比較処理について説明する。
ステップS71において、特徴量比較部66は、処理対象のモデルアクションを示す変数iを、i=1とする。
ステップS72において、特徴量比較部66は、処理中のモデルアクションの特徴点特徴量情報のST特徴点とその特徴量を示す変数jをj=1とする。
ステップS73において、特徴量比較部66は、処理中の入力動画の特徴点特徴量情報のST特徴点とその特徴量を示す変数kをk=1とする。
ステップS74において、特徴量比較部66は、i番目のモデル動画のj番目の特徴点の特徴量Vj [i]と入力動画のk番目の特徴点の特徴量Wkとの非類似度Dを、例えば、上述した式(12)を用いて算出する。
ステップS75において、特徴量比較部66は、k=処理中の入力動画の特徴点特徴量情報のST特徴点の数であるか否かを判断する。
ステップS75において、k=処理中の入力動画の特徴点特徴量情報のST特徴点の数ではないと判断された場合、ステップS76において、特徴量比較部66は、k=k+1とし、処理は、ステップS74に戻り、それ以降の処理が繰り返される。
ステップS75において、k=処理中の入力動画の特徴点特徴量情報のST特徴点の数であると判断された場合、ステップS77において、特徴量比較部66は、j=処理中のモデルアクションの特徴点特徴量情報のST特徴点の数であるか否かを判断する。
ステップS77において、j=処理中のモデルアクションの特徴点特徴量情報のST特徴点の数でないと判断された場合、ステップS78において、特徴量比較部66は、j=j+1とし、処理は、ステップS73に戻り、それ以降の処理が繰り返される。
ステップS77において、j=処理中のモデルアクションの特徴点特徴量情報のST特徴点の数であると判断された場合、ステップS79において、特徴量比較部66は、i=登録モデルアクション数であるか否かを判断する。
ステップS79において、i=登録モデルアクション数でないと判断された場合、ステップS80において、特徴量比較部66は、i=i+1とし、処理は、ステップS72に戻り、それ以降の処理が繰り返される。
ステップS79において、i=登録モデルアクション数であると判断された場合、ステップS81において、特徴量比較部66は、得られた全ての非類似度Dの値に基づいて、モデル特徴点のそれぞれに対応する入力動画の特徴点である対応特徴点の候補となる候補対応特徴点群を求め、モデル特徴点と対応特徴点の候補のペアを、候補対応特徴点ペアとして姿勢パラメータ推定部67に供給し、処理は、図7のステップS45に戻り、ステップS46に進む。
このような処理により、モデル動画と入力動画の全ての特徴点の組み合わせにおいて、例えば、上述した式(12)を用いて説明した非類似度Dが演算されて、対応するモデル特徴点と対応特徴点の候補のペアが求められる。
次に、図7のステップS46において実行される姿勢パラメータ推定処理について説明する。
ステップS111において、姿勢パラメータ推定部67は、処理対象のモデルアクションを示す変数iを、i=1とする。
ステップS112において、姿勢パラメータ推定部67は、何回目の処理であるかを示す変数cntを、cnt=1に初期化する。
ステップS113において、姿勢パラメータ推定部67は、候補対応特徴点ペア群からランダムに所定数のペア(例えば、4ペア)を選択し、上述した式(14)乃至式(16)を用いて、3次元アフィン変換パラメータを計算する。
ステップS114において、姿勢パラメータ推定部67は、ステップS113において計算された3次元アフィン変換パラメータをパラメータ空間に投射し、NN法により3次元アフィン変換パラメータ空間をクラスタリングする。なお、cnt=1のときは、ステップS113において計算された3次元アフィン変換パラメータをセントロイドとする1つ目のクラスタを生成する。
ステップS115において、姿勢パラメータ推定部67は、例えば、最多メンバ数が所定の閾値(例えば15)を超え、かつ、最多メンバ数と2番目に多いメンバ数との差が所定の閾値(例えば3)を超える場合、または、処理の繰り返し回数が、所定の閾値(例えば5000回)を超える場合などの、繰り返し終了条件を満たすか否かを判断する。
ステップS115において、繰り返し終了条件を満たしていないと判断された場合、ステップS116において、姿勢パラメータ推定部67は、cnt=cnt+1として、処理はステップS113に戻り、それ以降の処理が繰り返される。
ステップS115において、繰り返し終了条件を満たしていると判断された場合、ステップS117において、姿勢パラメータ推定部67は、i=登録モデルアクション数であるか否かを判断する。
ステップS117において、i=登録モデルアクション数でないと判断された場合、ステップS118において、姿勢パラメータ推定部67は、i=i+1とし、処理は、ステップS112に戻り、それ以降の処理が繰り返される。
ステップS117において、i=登録モデルアクション数であると判断された場合、ステップS119において、姿勢パラメータ推定部67は、クラスタリングの結果に基づいて、全てのモデルアクションについて、それぞれ、最多メンバ数を持つクラスタZmaxのメンバである対応特徴点ペア群を、それぞれのモデルアクションに対する認識対応特徴点ペア群とし、クラスタZmaxのセントロイドCmaxを認識姿勢パラメータとして、認識結果生成部に出力し、処理は、図7のステップS46に戻り、ステップS47に進む。
このような処理により、それぞれのモデルアクションに対する認識対応特徴点と、認識姿勢パラメータとを求めることができる。
以上説明したように、認識処理装置11は、登録したアクションを入力動画から検出する処理を実行するものであって、1学習サンプルから認識が可能であるため、統計学習を用いた認識処理を行う場合とは異なり、大量の学習用データを用意する必要がない。
また、認識処理装置11においては、ユーザが認識対象となるモデルアクションを容易に新規登録することができるので、事前に学習されているアクションのみが認識可能な統計学習を用いた手法や、登録可能なアクションにより認識アルゴリズムがことなるアクションおよびボディパーツを限定した手法とは異なり、認識対象となるモデルアクションの数を容易に増やすことができる。
また、認識処理装置11によって実行される認識処理は、入力動画の部分隠れやカメラ視点の変化に対して頑強である。例えば、ボディパーツ同定を行う手法や、動き領域の形状または重心の移動を用いる方法は、画像変形に弱いため、認識処理装置11によって実行される認識処理は、これらの手法と比較して、有利である。認識処理装置11によって実行される認識処理においては、例えば、手を振る動作が認識されるべきモデルアクションである場合、入力動画において、認識対象の人物が、立った姿勢で手を振っていても、据わった姿勢で手を振っていても、寝転んだ姿勢で手を振っていても、柔軟に認識することが可能となる。
なお、ここでは、認識処理装置11は1つの装置であるものとして説明したが、特徴抽出処理部21および認識処理部22は、同様の機能を有するそれぞれ1つの装置として構成されていても良い。
また、特徴抽出処理と、認識処理は連続して行われなくても良く、特徴抽出処理部21および認識処理部22が、それぞれ、異なる1つの装置として構成され、乖離して設置されていても良いことはいうまでもない。換言すれば、特徴抽出処理部21に対応する装置により生成される特徴量の情報が辞書登録部61に記憶されている認識処理部22に対応する装置は、特徴抽出処理部21に対応する装置と乖離した場所に設置されても、単独で、入力動画のアクションを認識する処理を行うことができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。この場合、上述した処理は、図10に示されるようなパーソナルコンピュータ500により実行される。
図10において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または、記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU501、ROM502、およびRAM503は、内部バス504を介して相互に接続されている。この内部バス504にはまた、入出力インターフェース505も接続されている。
入出力インターフェース505には、キーボード、マウスなどの操作入力部、または、カメラなどの撮像装置などよりなる入力部506、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、並びに、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
入出力インターフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア521が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、図10に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM502や記憶部508が含まれるハードディスクなどで構成される。
上述した一連の処理を実行するソフトウェアを実行するパーソナルコンピュータ500において、上述した認識処理は、例えば、次のようなアプリケーションに適用可能である。
パーソナルコンピュータ500において、内部(辞書登録部61に対応して、モデルアクションを、認識処理時に参照可能な形で保存する記憶部508)に記憶されているジェスチャを、パーソナルコンピュータ500が実行するソフトウェアを操作するためのコマンドと予め関係付けておく。ジェスチャは、上述したモデル動画に含まれるアクションとして、ユーザが固有に登録可能である。例えば、手の上下ジェスチャを、ブラウザやワードプロセッサ等の実行ウィンドウのスクロールを指令するコマンドに対応付けて登録することができる。
そして、パーソナルコンピュータ500において、出力部507のディスプレイ付近に設置された入力部506のカメラ(入力動画バッファ部62に対応する)により、パーソナルコンピュータ500を使用するユーザを撮像し、これを、入力動画とする。そして、前処理実行部63乃至認識結果生成部68に対応する機能を実現することができるCPU501は、ユーザが固有に登録し、内部(記憶部508)に記憶されているジェスチャとの認識処理を実行する。
例えば、ブラウザやワードプロセッサ等の対応するソフトウェアの起動中は、逐次認識を行うようにする。そして、例えば、手の上下など、登録されたジェスチャが検出された時には、それに対応したコマンド処理が実行される。
なお、記憶部508にジェスチャを記憶する処理は、予め、パーソナルコンピュータ500において実行されていても良いし、他の装置において実行され、得られたモデルアクションが、記憶部508に、認識処理時に参照可能な形で保存されるものとしてもよい。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 認識処理装置, 21 特徴抽出処理部, 22 認識処理部, 41 モデル動画記録部, 42 前処理実行部, 43 特徴点抽出部, 44 特徴量抽出部, 61 辞書登録部, 62 入力動画バッファ部, 63 前処理実行部, 64 特徴点抽出部, 65 特徴量抽出部, 67 姿勢パラメータ推定部, 68 認識結果生成部