運動の推定 なぜ運動を推定しますか? たくさんの使い道があるからです。 • • • • • • 運動の検出 物体の行動の追跡 カメラの手ぶれの補正 複数の画像合わせ (mosaics) 3次元形状復元 ビデオの圧縮 Optical flowの推定 画素ごとに運動を推定する 画像1 画像2 Optical Flowの例 平行移動 回転 拡大・縮小 Optical flowの例 Optical flowの推定 画素ごとに運動を推定する 画像1 画像2 問題の定義: optical flow 画像 H から画像 I までの画素の運動を推定する方法は? • 画素の対応付け問題を解決する – Hにある画素を与え、Iにおいて、その画素の近くから同じ色の画素を探す 重要な仮定 • 色の定常性: Hにある点はIにも同じ色に見える – グレイ画像の場合、それは明るさ定常性になる • 微小運動: 点の移動量は小さい これはoptical flow問題という Optical flowの拘束 (grayscale images) それらの拘束について詳しく見てみよう • 明るさ定常性: Q: 方程式は? I ( x u, y v) H ( x, y) 0 • 微小運動: (u と v は1画素以下) – I についテーラー(Taylor)展開する: I I u v 2次以上の高次項 x y I I I ( x, y ) u v x y I ( x u , y v ) I ( x, y ) Optical flow方程式 二つの方程式を合併すると 0 I ( x u , y v ) H ( x, y ) I I I ( x, y ) u v H ( x, y ) x y I I I ( x, y ) H ( x, y ) u v x y I I I ( x, y ) H ( x, y ) u v x y I I I u v x y Optical flow方程式 式の両側をΔtで割ると I u I v I 0 x t y t t Δtに関する極限をとると I u I v I I x I x I lim 0 t 0 x t y t t x t y t t x y I I t 0 t t ここで、 t t I It t Optical flowの方程式 x y I I t 0 t t Q: 画素あたりに、未知数、方程式はいくつ? 方程式=1 未知数=2 この方程式の本当の意味は? • エッジの勾配方向の速度成分は計算できる • エッジと並行する速度成分は決定できない これは、Aperture problemという Aperture problem (このように見えるが) Aperture problem (本当は...) Aperture problem (本当は...) エッジ勾配 x y I t t I t 0 内積 すなわち 移動ベクトル I 垂直成分 I t 0 エッジ勾配 垂直成分 移動ベクトル 平行成分 Aperture problemを解決しよう 画素あたりの方程式の数を増やすには? • 基本アイディア: 拘束条件を追加する – 最も一般的なのは: 速度場は局所的に滑らかの仮定、つまり、画面上の 画素の移動速度は、場所によって急激に変化しない こと – ひとつの方法: 隣接する画素の速度も同じとする Aperture problemを解決しよう 5x5の窓を用いると、画素あたりに25個の方程式が得られる RGB version How to get more equations for a pixel? • Basic idea: impose additional constraints – most common is to assume that the flow field is smooth locally – one method: pretend the pixel’s neighbors have the same (u,v) » If we use a 5x5 window, that gives us 25*3 equations per pixel! Lukas-Kanade flow 問題: 未知数より、方程式の方の数が多い 解方: 最小2乗問題を解く • 最小2乗誤差を持つ解を求める方法: • K x K のwindow内の全画素に対する累積を計算する • この方法は Lukas & Kanade (1981) によって最初に提案された 問題を解ける条件 • 下記のLucas-Kanade方程式に最適な(u, v)を求める 解ける場合 • ATA の逆行列は存在する • |ATA| はある程度大きい – ATA の二つの固有値 l1と l2 微小ではない • ATA 良い状態である – l1/ l2 は極端に大きくない(l1 は大きいほうの固有値) ATAの固有ベクトル (x,y) がエッジ上にあるとすると、ATAは? • エッジ上の点に勾配は強くて、方向も揃っている • エッジから離れる勾配は弱い • は固有値 と対応している固有ベクトルである • ATAのもう一個の固有ベクトルは? – Nは と垂直のベクトルとする – N は0の固有値と対応する固有ベクトルである。 – ATAの固有ベクトルはエッジの方向と強度に依存する Edge – large gradients, all the same – large l1, small l2 Low texture region – gradients have small magnitude – small l1, small l2 High textured region – gradients are different, large magnitudes – large l1, large l2 考察 これは二つの画像間の問題ですが、しかし • 一枚の画像を見るだけで、解の安定性がわかる! • それはどの画素が追跡しやすく、どの画素が追跡しにくいかを教えてく れる – 特徴追跡を行うときに大変役立つ... Lukas-Kanadeにおけるエラー この方法における誤りの潜在原因は? • ATA の逆行列が容易に求められ、 • 画像にノイズはそうたくさん存在しない と仮定していること 仮定が崩れたとき • 明るさ定常性は満たされていない • 移動は小さくない • 点はその隣と同じように移動していない – window sizeは大きすぎる – 理想のwindow sizeは? 精度の改善 微小運動の仮定を思い出して この近似は粗すぎる • 良くするために、省略した高次項を元のように書き加える: それは、多項式の解を求める問題となる • ニュートン法(Newton’s method)を用いて解ける – Also known as Newton-Raphson method • Lukas-Kanade 法はニュートン法を用いて一回の繰り返しを行う – 繰り返し回数を増やすことにより更に良い結果が得られる 繰り返し改善 繰り返しLukas-Kanade アルゴリズム 各画素の速度をLucas-Kanade方程式を解くことにより求める 1. 求まった速度場を用いて、移動後の画像をimage warping技術で画像H から再構成して、画像Iとの間の速度を計算する 2. 速度場の解が安定する(変化が少なくなる)まで繰り返す Revisiting the small motion assumption Is this motion small enough? • Probably not—it’s much larger than one pixel (2nd order terms dominate) • How might we solve this problem? Reduce the resolution! Coarse-to-fine optical flow estimation u=1.25 pixels u=2.5 pixels u=5 pixels image H Gaussian pyramid of image H u=10 pixels image I Gaussian pyramid of image I Coarse-to-fine optical flow estimation run iterative L-K warp & upsample run iterative L-K . . . image H J Gaussian pyramid of image H image I Gaussian pyramid of image I Multi-resolution Lucas Kanade Algorithm Optical Flow Results Optical Flow Results
© Copyright 2024 ExpyDoc