Transcript CV08
コンピュータビジョン特論 第8回対象追跡 2006年11月22日 加藤丈和 対象追跡とは(検出と追跡) • 検出:一枚の画像から指定した条件をみたす 画像領域を抜き出す処理 • 追跡:動画像から指定した領域を抜き出し、 フレーム間で対応づける処理 • 追跡の分類 – 対象の表現(モデル)による分類 – 類似性尺度による分類 – 探索方法による分類 色ヒストグラムによる追跡 Mean Shift法 • 対象領域内のヒストグラムを計算 対象モデル u番目の色の割合 モデルヒストグラム 入力ヒストグラム ポジション 色ヒストグラムによる追跡 Mean Shift法 類似度 yˆ arg max ˆ (y) y ヒストグラムによる追跡 Mean Shift法 重み付きヒストグラム u番目のbinの値 1 if i 0 [i] 0 otherwisex 領域の中心を重視 変形に強い b(x) : xの場所の色(何番目の binの色か) k (d ) :中心に近いほど大きい値をとる微分可能な重 み関数 カーネル関数 k(d) d Mean Shift 入力画像のヒストグラムも同様に定義 xi y hはスケール h Mean Shift バタッチャリア係数をテイラー展開(1次の項まで) 前のフレームの位置 重み付きヒストグラムの式を第二項に代入 定数 Mean Shift 第二項を最大化→微分=0より カーネル関数の微分 Mean Shift ヒストグラムの比 特に とすると 1 微分が定数 ヒストグラムの比 ヒストグラムの比を重みとして、領域内の重心を求める まとめ • モデルの表現と類似性尺度 • 勾配法に基づく探索 • 見えに基づく追跡 – →Lucas Kanade法 • 色ヒストグラムによる追跡 – →Mean Shift法 運動予測に基づく追跡 パーティクルフィルタとその 実装 勾配に基づく追跡の問題点 • 対象の動きに関する知識を利用しない • 初期値(前フレームの結果)が十分解 に近い必要がある • 類似度が解周辺でなめらか(微分可 能)である必要がある • ノイズの影響を受けやすい 類似度 状態 動きと観測のモデル 推定→ x t 状態ベクトル(時刻tの対象の状態、観測できない) yt 観測ベクトル(実際に観測される値) 観測モデル システムモデル xt Ft xt 1 , vt vt : システムノイズ pyt | xt pxt | xt 1 観測できる 観測できない x0 y t Ht xt , wt w:観測ノイズ t y1 y2 yt xt x1 x2 システムモデル pxt | xt 1 観測モデル pyt | xt 観測ベクトルから観測できない状態ベクトルを推定 状態の推定 観測できる y1 観測できない x0 y2 yt xt x1 x2 システムモデル pxt | xt 1 観測モデル pyt | xt Yt y1, y 2 ,, yt という観測が得られたときに x t が何であったかを推定する問題 ただし xはマルコフ性を満たす t pxt | X t 1 pxt | xt 1 X t x1, x2 ,, xt x t の期待値 xˆ t xt | Yt xt pxt | Yt dxt pxt | Yt : Ytという観測が得られた とき xtの状態だった確率 事後確率 線形システムの状態推定 Kalman filter • 線形システム – システムプロセス、観測プロセスが線形 – ガウシアン分布 xt Ft xt 1, vt xt Fx t 1 Gvt yt Hxt wt yt Ht xt , wt ガウシアン分布 pxt | xt 1 N Fxt 1, GQtG pyt | xt N Hxt , Rt xˆ t xt | Yt xt pxt | Yt dxt T vt~N (0, Qt ) wt~N (0, Rt ) 正規分布 Qt : vの共分散 t Rt : wtの共分散 線形システムの状態推定 Kalman filter pxt | xt 1 N Fxt 1, GQtGT pyt | xt N Hxt , Rt 線形システム、ガウシアン分布no場合 線形解が求まる(導出は省略) Kalman filter 推定量 期待値 xの共分散 予測 xˆ t|t xˆ t|t 1 Kt yt Hxt|t 1 Pt|t Pt|t 1 Kt HPt|t 1 H HP Kt Pt|t 1 T カルマンゲイン H Rt 1 t|t 1 T 一つ前の推定量 xˆ t|t 1 Fxˆ t 1|t 1 1 Pt|t 1 FPt 1|t 1FT GQt 1G Kalman filter を用いた追跡の例 α-β(-γ)tracker P.R. Kalata 1986 • 慣性を持つ剛体の運動予測のモデル xt 1 Fx t Gv yt Hxt w 運動方程式 2 1 1 t t x t 2 xt xt F 0 1 t 0 0 1 x t 位置 速度 加速度 1 2 xt 1 xt txt t xt v1 2 xt 1 xt txt v2 xt 1 xt v3 画像上の対象追跡では2次元に拡張 1 H 0 0 yt xt w 位置が観測 Kalman filterを用いた追跡の例 • 複数ターゲットの追跡 ICIS2003 W. Niuら F yt xˆ t 1|t 1 x̂t|t xˆ t|t 1 Pt|t 1 t-1 背景差分 ノイズ 予測 t 近いほうを観測値にする Pt|t 推定値(ろ波) Kalman filterを用いた追跡の例 • アフィン変換による変形を含む追跡 – ICCV98(Jebara, Russel and Pentland)など – 対象表現:特徴点集合、アフィン行列 • 剛体の3次元位置、姿勢の追跡 – VISP97(Jung and Wohn)など – 対象表現:特徴点集合、3次元位置、姿勢 • 予測を使って、テンプレートの探索範囲を限定 – ISIE03(G. CAOら)など – 対象表現:テンプレート、位置、速度 Kalman filter の利点と欠点 • 利点 – 線形解が与えられる(計算コスト小) – 次のフレームの予測ができる – 観測ノイズ、システムノイズを吸収できる • 欠点 – 強い制約条件 • システムプロセス、観測プロセスが線形 • ガウシアン分布 – 適用範囲が限られる • CV分野では限定的な利用 – 検出結果のフレーム間対応付け – ノイズの吸収、スムージング – 探索範囲の限定 Particle Filter • システムプロセス、観測プロセスを非線形に拡張 – Kalman filter のような制約がない – 非ガウシアンの分布を表現 • ランダムサンプリングによる仮説の生成と、各仮説 の尤度推定によって、事後分布を推定(モンテカル ロ近似) • Monte Carlo Filter(北川ら、1995), Bootstrap Filter(Gordon,1996), ConDensation(Isardら、1998) とも呼ばれるが基本的に同じ • その後 Particle Filter(粒子フィルタ)という呼び名に 落ち着く – ただし、CV分野ではConDensationと呼ばれることも多 動きと観測のモデル システムモデル xt Ft xt 1 , vt vt : システムノイズ pxt | xt 1 観測できる y1 観測モデル y t Ht xt , wt w:観測ノイズ t pyt | xt y2 yt 観測モデル 観測できない x0 x t の期待値 pxt | xt 1 xt x1 x2 システムモデル pxt | xt 1 t dxt xˆ t xt | Yt xt pxt | Y pyt | xt Yt y1, y 2 ,, yt pyt | xt が既知で観測 Yt が与えられたとき pxt | Yt を推定 事後確率 Particle Filter 観測できる y1 y2 yt 観測モデル 観測できない x0 xt x1 x2 システムモデル pxt | xt 1 pyt | xt 事後確率 pxt , y t , Yt 1 ベイズの定理より pxt | Yt pxt | y t , Yt 1 py t , Yt 1 py t | xt , Yt 1 pxt , Yt 1 py t | xt , Yt 1 pxt | Yt 1 pYt 1 py t , Yt 1 py t , Yt 1 py t | xt , Yt 1 pxt | Yt 1 py t | xt , Yt 1 pxt | Yt 1 py t , Yt 1 py t | Yt 1 pYt 1 ベイズの定理 py t | xt pxt | Yt 1 pa, b p(a) p(b | a) Kt py t | xt pxt | Yt 1 py t | Yt 1 p(b) p(a | b) Particle Filter の枠組み 事後確率 py t | x t px t | Yt1 px t | Yt py t | Yt1 尤度 観測モデル 事前確率 (前フレーム からの予測) pxt | Yt 1 pxt , xt 1 | Yt 1 dxt 1 pxt | xt 1 , Yt 1 pxt 1 | Yt 1 dxt 1 pxt | xt 1 pxt 1 | Yt 1 dxt 1 状態遷移確率 システムモデル 前フレームの 事後確率 事後分布の推定=システムモデルによって予測しながら、 フレームごとに尤度を求める ただし、状態空間全体を推定することはできない。 →ランダムサンプリングにより近似 Particle Filter の枠組み py t | x t px t | Yt1 px t | Yt py t | Yt1 pxt | Yt 1 pxt | xt 1 pxt 1 | Yt 1 dxt 1 これを連続な状態空間全体で求めるのは非現実的 サンプル集合 St|t s , s ,, s St|t 1 s , s ,, st(|Nt)1 (1) ( 2) t|t t|t (1) ( 2) t|t 1 t|t 1 (N) t|t st(|it)~pxt | Yt s ~pxt | Yt 1 (i ) t|t 1 1 N pxt | Yt xt st(|it) N i 0 1 N pxt | Yt 1 xt st(|it)1 N i 0 N→∞で一致する を用いて離散近似 1 N (i ) xˆ Ext | Yt st|t N i 0 ディラックデルタ関数 x 0 xdx 1 ifx 0 otherwise Particle Filter (1) ( 2) (N) どうやって St|t st(1|t) , st(|2t ) ,, st(|Nt ) St|t 1 st|t 1, st|t 1,, st|t 1 を pxt | Yt pxt | Yt 1 に従って発生させるか p xt 1 | xt st(i )1|t 1 St(i1)|t 1 F s st(|it)1~p xt 1 | xt st(i )1|t 1 ①Fに従って変化させる st(|it)1 St(|ti) 1 (i ) t ②尤度=重みを計算 ③重みの比に従って選択 St(|ti ) 消滅 消滅 消滅 消滅 ,v py t | xt st(|it)1 ( j) p y | x s t t t|t 1 N j 1 (i ) N t i 1 (i ) t 1|t 1 Particle Filter 事後分布 を事前分布 に従って生成したサンプル と各サンプルの尤度 の組で表現 の比に従って選択 に従って更新 尤度 を計算 The Condensation Algorithm home page (Bob Fisher)より サンプルコードが公開されている Particle filterを用いた追跡の例 • ConDensation (IJCV98 M. Isard and A. Blake) • 対象表現:輪郭モデル • 類似度(尤度):エッジと輪郭の距離 – 照明変化、色の変化に強い – 裾野が広く、滑らかな尤度分布 スプラインモデル 楕円モデル x p1, p2 ,, pM 2M次元 p3 p2 x x, y,, , θ α p4 p2 p5 p1 5次元 β (x,y) Particle filterを用いた追跡の例 輪郭からエッジ点までの距離 p(yt | xt st(|it) ) p(z | x) z The Condensation algorithm home pageより Monte Carlo Filterを用いた追跡の利点と欠 点 • 利点 – システムプロセス、観測プロセスが任 意 • あるサンプルに対する尤度が定義でき れば基本的になんでもいい 尤度 – 非ガウシアン分布を表現可能 – 多重仮説 – 尤度分布が局所的に滑らかでなくても いい 状態 • 欠点 – 状態ベクトルが高次元になると計算量 が増加 • 多数のサンプリングが必要 尤度 – 複数ターゲットへの拡張が難しい – 尤度分布の裾野が狭いと不安定になる 状態 まとめ • 動き予測に基づく探索 – 過去のフレームから次の位置を予測 • 線形システム→カルマンフィルタ – 線形に解がもとまる – 制限が大きい • 非線形に拡張→Particle Filter – ランダムサンプリングによる推定