粒子フィルタとは †パーティクルフィルタ、あるいは逐次モンテカルロフィルタとも呼ばれる。 ここでは、人や車両など物体の位置追跡(トラッキング)を例に挙げて、粒子フィルターを紹介する。
2次元空間(平面)上での追跡モデル †時刻t でのi 番目のパーティクルの位置ベクトルをxit=(xit,yit) で表す。カッコ内は、(x,y)座標系での位置を表わす変数である。 また,時刻t でのi 番目のパーティクルの尤度と重みをそれぞれΠit、witで表し,パーティクルの数をN とする。
観測 †観測によって、物体の位置が画像上で認識されるが、その尤度(どのあたりにいるかを表わす指数)が計算できる。具体的には、入力画像と背景画像の明度の差分値を尤度πitとして用いる。 次々に変わる入力画像の物体は、広がりがある物体の明度で表わされ、ノイズもあるので、差分値を用いて尤もらしい中心位置Ptを推定することになる。 画像座標を(u,v)としてこの上の点Pg=(u,v)を、(x,y)座標上の点P=(x,y)に変換する座標変換行列をRとすれば、次式が成立する。 p(t)=R pg(t) で表わされる。 背景画像の明度値B(u,v)と入力画像の明度値Gi(u,v)の差を用いて、尤度を表わす。 尤度は、 πit=SQRT{(B(u,v)-Gi(u,v))^2} 尤度から重みを決定する。重みwit は,以下のようにパーティクルの数Nで合計して1になるように正規化したものを用いる。 Wit = πit/(Σ Πit) Σは、i=1~Nの合計 中心位置推定 †重み付き平均により,時刻t での物体中心位置Pt を推定する。 Pt=Σ witxit Σは、i=1~Nの合計 参考 † |