光流的基本概念和原理-Lucas–Kanade光流算法
光流描述的是圖像中像素強度的流動。光流法的目的是根據(jù)圖像中像素點的灰度值強度變化估計出物體移動速度與方向。
光流估計是要給予一定 的假設(shè)基礎(chǔ)上 才成立的:
(1)前后兩幀中點的位移不大;這樣才能利用相鄰幀之間的位置變化引起的灰度值變化,去求取灰度對位置的偏導(dǎo)數(shù)。所有光流法都必須滿足。
(2)灰度不變假設(shè),這要求外界光強保持恒定;一個像素點隨著時間的變化,其亮度值(像素灰度值)是恒定不變的。這是光流法的基本設(shè)定。所有光流法都必須滿足。
(3)空間一致性,每個點的運動和鄰近的點類似,即前一幀中相鄰像素點在后一幀中也是相鄰的。這是LK光流法獨有的假定,因為為了求取x,y方向的速度,需要建立多個方程聯(lián)立求解。而空間一致假設(shè)就可以利用鄰域n個像素點來建立n個方程。
Lucas–Kanade光流算法是一種兩幀差分的光流估計算法;就是基于以上假設(shè)的成立才會建立出相關(guān)的關(guān)系方程式;
假設(shè)前一幀時間為t, 后一幀時間為t+δt。則前一幀I的像素點I(x, y, z, t)在后一幀中的位置為I(x+δx, y+δy, z+δz, t+δt )。
① 根據(jù)亮度恒定假設(shè)得出:
② 根據(jù)前后兩幀唯一相差不大的假設(shè), 將上式右側(cè)用泰勒級數(shù)展開:
根據(jù)以上得出:
同時對時間t做微分得到:
其中(dx/dt, dy/dt) = (u, v)為待解像素的光流,分別表示像素在x 軸和y 軸上的運動 速度,dI/dx和 dI/dy分別代表的是像素在x方向和y方向上的梯度,分別用用Ix和Iy比表示得到:
現(xiàn)在有兩個未知數(shù),只有一個方程。因此用到第三個假設(shè):即空間一致性假設(shè),LK算法是利用3x3窗口內(nèi)的9個像素點建立9個方程。簡寫為下面的形式:
改寫成矩陣為:
當(dāng)然兩個未知數(shù),9個方程,這是一個超定問題,采用最小二乘法解決:
根據(jù)上式通過累加鄰域像素點在兩個維度的偏導(dǎo)數(shù)并做矩陣運算,即可算出該點的光流(Vx,Vy)。
求解方法可以使用求解超定方程組,也可以使用高斯牛頓等迭代操作完成。
總結(jié)
以上是生活随笔為你收集整理的光流的基本概念和原理-Lucas–Kanade光流算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: quartus频率计 时钟设置_Veri
- 下一篇: 学生抄作业之我见