HS 光流法詳解


前言

  本文較為詳細地介紹了一種經典的光流法 - HS 光流法

光流法簡介

  當人的眼睛被觀察物體發生相對運動時,物體的影像視網膜平面上形成一系列連續變化的圖像,這一系列變化的圖像信息不斷 "流過" 視網膜,好像是一種光的  "",所以被稱為光流

  光流是基於像素點定義的,所有光流的集合稱為光流場。通過對光流場進行分析,可以得到物體相對觀察者的運動場。在這過程中分析的算法稱為光流法

HS 光流法的推導

  HS光流計算基於物體移動的光學特性的兩個假設:

    1. 運動物體的灰度在很短的間隔時間內保持不變

    2. 給定鄰域內的速度向量場變化是緩慢

  由 1 可得:

    (1)

  上式右邊在 x y 處泰勒展開,得:

    (2)

  ε 是包含有 δx,δy 和 δt 的二階和更高階項。兩邊減去 I(x,y,t),再除以δt有:

    (3)

  O (δt) 是含δt的一個小量。在極限中當δt->0時,上式變成:

    (4)

  令 u = dx/dt  v = dy / dt,得:

    (5)

  這條式子就是光流約束方程,它反映了灰度與速度的一個對應關系

  但,一個式子中有兩個變量:u 和 v,顯然不能將速度解出,因此需要引入一個新的條件:光流的全局平滑約束條件

  即 u 和 v 隨着像素點移動而發生的改變是緩慢的,局部區域的變化不大,尤其是在目標做無變形剛體運動時,局部區域速度的空間變化率為0。

  因此,引入以下速度平滑項:

    (6)

  對於所有的像素點,需要滿足上式和最小。

  綜合光流約束條件 (5) 和速度平滑約束條件 (6),可建立以下的極小化方程

    (7)

  式中的 α平滑權重系數,表示速度光滑項所占的權重

  即:

    (8)

  采用變分計算,根據歐拉方程,

    (9)

    (10)

  得到:

    (11)

    (12)

  式中,拉普拉斯算子可以用某一點的速度與其周圍速度平均值之差來近似,有:

  (13)

  (14)

  化簡 (13) 和 (14),可得:  ( 這一步運算量比較大 )

    (15)

    (16)

  這樣便可以考慮使用迭代法進行求解了,但在此之前,還需要明確其中幾個量的求法。

  對於 u 和 v 的均值,采用九點差分格式進行計算

    (17)

    (18)

  而對於其中的灰度梯度,可以采用以下方法近似計算:

    (19)

    (20)

    (21)

  至此,所有的量都已明確下來,輸入前后兩幀灰度進行迭代運算便可以得到速度場了,下面是具體的執行過程。

HS光流法執行流程圖

  

  1. 讀取雷達拼圖數據並初始化

  2. 計算求解點的灰度梯度

  3. 設定速度平滑權重系數( 一般設為1 ),初始速度( 一般設為0 ),迭代誤差等。

  4. 計算 k-1 次速度平均值

  5. 計算 k 次迭代的速度值

  6. 計算兩次迭代光流值的誤差,如果小於給定誤差閾值,或者者迭代次數超過迭代次數,則計算過程結束,否則進行k+1次迭代。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM