cs131課程筆記(10)
Lecture_16 Classification
1.分類的挑戰:語意層級(semantic hierarchy),細分類別(fined-grained classes),大規模學習(large-scale learning)。
Lecture_17 Motion
1.光流(optical flow)。定義:光流場是指圖像亮度模式(brightness patterns)的表觀運動(apparent motion),目的是通過光流場恢復處圖像的運動。注意,表觀運動可能是由光線變化導致的而不是移動導致的。
2.光流場的假設:1)同一物體運動前後亮度不變,2)運動很微小,3)圖像中的點與他們領域的點運動相似。
3.根據假設1),把下面等式泰勒展開,可以得到 這個式子可以這樣理解,首先 是一個 的映射也就是把三維映射成一維,那我們先考慮只有一維映射成一維,那就變成 ,也就是說當一維的時候想要自變數變化,因變數不變,那麼這個函數得要滿足一階導數為零(近似值)。同理當自變數為三維時,只需要對應泰勒展開為零,就可以求得圖像運動的方向和距離 。
對於上面的等式,由於是個數值等式而不是矩陣等式,每一個像素點有2個未知數和一個方程,所以是欠定的。
4.另外光流存在一個孔徑問題(aperture problem),如圖
就是當不知道線段具體多長時,無法判斷具體的運動方向。
5.Lucas-Kanade method。由於一個像素只有一個方程,無法求得確定解,LK光流運用假設3),即領域運動相似,對每個像素取5x5的領域窗口,假設窗口中每個像素 一樣,一共有25個方程
對於這樣一個超定方程可以求最小二乘解 , 這個方程的特徵值需要較大且比值接近1時, 可逆,方程有解。可以看到這時 就是二階矩矩陣,和求harris角點時的矩陣對應。因此可以看出,光流場運動方向有解的條件是對應點是角點而不能是平坦的區域。
6.LK光流的誤差:當假設1,2,3違背時,LK光流就會不準確。
7.另外我們可以提高準確率。因為光流場用的是泰勒一階近似,可以用更高階的泰勒展開近似。方法為牛頓迭代,具體如下:
loop:
1. 在點 處做一次LK光流得到k階近似後的
2.
3.如果收斂,退出
8.光流場假設失效的情況:1)在連續的圖像里有個開著的電視,2)一個標準均勻的圓形在旋轉,3)光線的變化,4)獵豹身上的肌肉運動(光流場崩潰)
9.Horn-Schunk光流場。把光流場建模為最小化全局能量方程
其中第二項是鼓勵每幀之間運動最小的平滑項,類似l2正則。
將積分內等式分別對 求導得
其中 是拉格朗日運算元,一般 , 是領域平均值,用上面的式子替代 可得
可以得到 的線性方程,但是由於每次 更新後領域也會變化,因此可以用下面的式子迭代求解。
另外,上面能量方程中的平滑項主要的作用是讓運動的變化變得平滑,可以解決孔徑問題(只有一種標準解)。
10.假設2)不滿足時,也就是相鄰幀之間運動比較大時,用圖像金字塔,如圖
11.一幅圖的不同物體往往有不同的運動方向,也就是假設3)不是一直滿足的。解決辦法是運動分割,把圖像分成不同的層,每個層有一致的運動(而這個運動與像素位置有關)。
將這個等式代入光流場等式並用最小二乘求解對應參數。
還有一個問題是如何分層,解決辦法為
1)把圖像分成小塊(無重疊),對每個小塊用最小二乘求解初始假設的運動參數。
2)對這些參數用k-means聚類,得到運動參數的中心點。並保留類內點最多的類別作為描述整個場景的方向。
3)循環:
把每個像素分配給最好的運動參數
做region filtering(這是啥?)增強空間約束
重新估計每個區域內的運動參數
12.應用
推薦閱讀:
※計算機視覺方面博客及代碼
※skimage例子學習(一)HED顏色通道提取與融合
※[CVPR2018筆記]Semi-parametric Image Synthesis
※天池FashionAI全球挑戰賽小小嘗試
※CVPR2018視覺跟蹤之端到端的光流相關濾波
TAG:計算機視覺 |