Horn–Schunck 光流法與其算法理解(gup cuda)


1. 基於Horn-Schunck模型的光流算法

1.1     光流的約束條件

光流 的假設條件認為圖像序列,在時間t 的某一像素點與在時間t+1的這一像素點的偏移量保持不變,即 。這就是灰度值守恆假設,通過Taylor展開,就能得到光流的約束條件(OFC): ,其中下標表示圖像的梯度。

1.2     Horn-Schunck 模型

1981年,Horn和Schunck根據同一個運動物體的光流場具有連續、平滑的特點, 提出一個附加約束條件,將光流場的整體平滑約束轉換為一個變分的問題。它的能量方程如下:

其中數據項表示灰度值守恆約束,平滑項表示光流平滑約束。

1.3     Euler-Lagrange方程

根據Horn-Schunck能量方程,可以推導出離散的歐拉-拉格朗日方程如下:

其中, 表示圖像像素點的坐標,  表示一個像素點的上下左右四個方向的相鄰的像素點,當然,在圖像的邊界會少於四個元素。

1.4     超松弛迭代 (SOR)

根據上面的歐拉-拉格朗日方程,不難推到出迭代方程。這里選用收斂速度最快的超松弛算法(SOR),光流的初始值是,迭代方程如下:

其中,  w是迭代的權重因子, k 是迭代的次數, 是光流的計算的權值, 表示第 個像素點的上和左的相鄰像素點,表示第 個像素點的下和右的相鄰像素點。

以上來自http://www.eefocus.com/wangzhibin/blog/13-08/296536_641cd.html

 

2算法時間對比

使用圖片 Grove2 (來自 http://vision.middlebury.edu/flow/data/

640 x 480

金字塔層數 3

迭代次數 100

cpu i5 3210m  GPU GT630m

時間  4.479s     1.496s

加速比 2.99

 

金字塔層數 3

迭代次數 500

cpu i5 3210m  GPU GT630m

時間  20.586s     3.905s

加速比 5.27

 

3結論

加速比來自算法的並行計算

如果算法可並行程度高,則計算加快。


免責聲明!

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



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