圖像偏導數(比較有用的知識);光流法(看了就懂的程序分析講解)

我們接觸到的很多數學公式涉及到偏導數,那麼圖像的偏導數怎麼求呢?
我們可以認爲:圖像就是一個複雜的曲面,我們要想得到曲面點的梯度,就需要對該點求偏導。
求偏導的輸入:附近點的灰度值
求偏導的輸出:一個數

這裏有人會問了,我們的梯度是一個有方向有大小的值呀。
沒錯,我們這裏求導的輸出:兩個數
一個x方向的偏導,一個y方向的偏導,合成就是總的梯度方向和大小。

我們需要用的信息是點附近的點,那麼如何用呢?用窗操作,卷積操作(我不想提卷積操作,因爲事實就是一個簡單的相乘相加的數學公式)
對x求導
在這裏插入圖片描述

Kx = 0.25 * [-1 1; -1 1];
Ex = conv2(Im1, Kx, 'same')

這裏的卷積核爲Kx,被卷積圖像爲Im1,卷積形式爲’same’——卷積後的圖像大小和原圖像大小相同,計算邊緣的時候擴充數據,但不對擴充的數據邊進行計算。
那麼,有很多時候圖像涉及了t,這裏我們的輸入就變爲:圖像幀
有幀二減去幀一,就能反映圖像對t的導數了
在這裏插入圖片描述

Kt = 0.25 * [-1 -1; -1 -1];
Et = conv2(Im1, Kt, 'same') + conv2(Im2, -Kt, 'same');

光流法

二郎理解,它最主要的用途爲尋找下一幀物體的位置(匹配)
來源於一個公式——兩幀同一個物體,雖然位置變了,但是物體還是原來物體。
例如跟蹤人,雖然剛纔人在小賣鋪前,下一幀,人買了根辣條準備回家,他位置可能變了,但是他還是他。
他還是他怎麼表示呢?圖像中表示爲灰度值不變(當然也有說光照變了,灰度值就變了,採用梯度更合適,但是這裏二郎只想說一個簡單的情況,從簡單的引申覆雜的很有用的,不要上來就弄男的。。。。哈哈哈)
在這裏插入圖片描述
這個公式被研究光流法的玩嗨了,如何理解呢?
點的x座標經過t+1後,變爲x+u
點的y座標經過t+1後,變爲y+v
這就是時間變了,點的位置變了,但是點的灰度沒有變。
利用泰勒展開,展開後一項得(具體泰勒咋展開的就不說了,有這麼個形式)
在這裏插入圖片描述
從上面知道兩項相等,而且∈及泰勒的高階項都可以省略
在這裏插入圖片描述
我們通過一個式子就可以表達上面的關係了,時間變了,位置變了,但是同一個物體的像素值不會變。

一個假設:小運動,時間的變化不會引起位置的劇烈變化,因此搜索下一幀時無需在全圖進行全局搜索,只需要在一個框內進行即可,在一個框內找到滿足上述公式的u和v,就能知道圖像變化的方向。
在這裏插入圖片描述
這個打個比方,其實是有多組數據用來求u,v的,這裏用到最小二乘法
在這裏插入圖片描述
爲什麼用這個就能求最小二乘了?其實是有一定數學推導關係的,具體可以看我之前的博客,裏面有詳細講解。
至此我們求出了點的u和v
這裏會問了,我們需要把全圖每個點的u,v求出來麼?
沒必要……因爲我們只關係運動物體的角點
因此在用光流法之前可以用其他方法先確定運動物體和運動物體上的角點,進而在得到的角點像素位置進行光流法操作。

這裏光流法就解釋完了,其他光流法多爲該方法的改進,具體問題具體分析。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章