本方法は、人体モデル中のノード毎に処理を行う。一枚の差分画像についてノ ード毎にマッチング処理を行い、その時刻での関節角度を求める。さらに、フ レーム間で関節角速度保存則を考慮して、次フレームにおける処理の前に関節 角度の予測を行い、隠蔽状態のノードに対応する。全体の処理の流れを図 1で示す。
なお、初期処理として、第1フレームのシルエット画像に対して姿勢が与えら
れたものとする。この姿勢については人手で合わせるか、別の姿勢推定法
[2]を利用することが考えられる。また、この時の関節角度の
可動範囲は、その姿勢からの範囲を指定する。角速度について
は、
とする。
時刻における差分画像と人体モデルの姿勢
との関
係が
を満たせば、画像平面上で正しくマッチングされたことになる。た
だし、
は姿勢
を画像平
面に投影してできる領域である。
一般に、から式(2)
に基づいて生成された差分画像
では、
が求められない。しかし、第2フレームの処理の場合だけは仮
定から
と見なせる。これから
が得られるので、式
(6)の最小化を考えることにする。ただし、
は
領域
の面積を求める関数であり、
は二つの領域に対する排
他的論理和演算子である。
一方、第nフレームの処理のときは、マッチング処理の進行につ
れて
の精度の劣化が不可避であり、
が仮定できなくなる。その代わり、処理の進行によって関節速度の予測が可能
になるので、
を満たせば
マッチングが正しく行われているものとし、式(7)の最小化
を考える。
以上の手順をまとめると、図2のようになる。
まず、処理開始時は、未処理ノード数は人体モデルのノード数に等し
い。この中から姿勢決定木の根ノードに近い未処理のノードpを取りだし、
既に関節角度決定済のノードの影に隠れているかどうかを人体モデルで調べ
る。もし隠蔽されていれば、そのノードを隠蔽状態と判断し、画像情報が利用
できないのでその関節角度を関節角速度の分だけ移動した予測値に設定する。
隠蔽されてないノードについては、そのノードの関節可動範囲を適当なサンプ
リング間隔sでサンプリングし、それぞれについて式(6)
ないし(7)を最小化するようなマッチング評価関数を計算する。その中で最も値の大きいサンプルについて、
運動領域識別値
と比較し、それより小さく、かつそのノードpから根ノ
ードに至る姿勢決定木上の経路に運動状態のノードが存在しない場合、そのノ
ードは静止状態にあると判断する。静止状態のノードについては、許された関
節可動範囲のなかで最も前フレームでの関節角度に近い関節角度を採用し、関
節角速度を零にする。
一方、それ以外の場合は、ノードpを運動状態であると判断する。運動状態 のノードについては、最大値を与えたサンプル点をその関節角度とする。
このようにそれぞれの状態に応じて関節角度を決定したのち、の値を
一つ減らし、処理の最初に戻る。
以後、5.2節と5.3節でマッチング評価関数について述べる。