武漢大學測繪學院 王晨捷
基于光流法的視頻中目標跟蹤
武漢大學測繪學院 王晨捷
視頻信號是視覺信息的一大源頭,它是由按序列排放的圖像組成,即幀(Frame)。這些圖像通過有規(guī)律的間隔進行拍攝(以幀率的形式指定),它們展示了動態(tài)的場景。一旦我們能夠提取視頻中的某個單獨幀,就可以通過比較相鄰幀的方式對物體進行跟蹤,本文研究利用光流法來進行視頻中目標的跟蹤。
光流的概念最初是由Gibson在1950年首先提出來的。它是在成像平面中運動物體的像素運動的瞬時速度。利用時域中的圖像序列的像素變化和相鄰幀之間的相關性,可以找到前一幀與當前幀之間的對應關系。最重要的是,該方法計算了相鄰幀中物體的運動信息,研究光流場的目的是獲得無法直接從圖像序列中獲得的運動場。運動場是物體在三維真實世界中的運動;光流場是二維圖像平面運動的投影。
為了在不同幀之間跟蹤特征點,我們必須定位特征點在隨后的圖像幀中的新位置。如果我們假設特征點的強度在相鄰幀之間不發(fā)生變化,那么我們要找到一個偏移量(u,v):It(x,y)= It+1(x+u,y+v)。其中,It和It+1分別是當前幀以及下一時刻的值。這個強度不變的假設對于拍攝時間相近的圖像中的微小偏移量而言都是成立的。我們可以使用泰勒展開式來近似這個方程式,新的方程式將涉及圖像的倒數:

如果強度不變假設成立,可以推出另一個方程式:

這個著名的約束便是基礎光流約束方程式,在引入另一個假設后,它被使用于Lukas-Kanade特征跟蹤算法,即特征點附近所有點的偏移量都是一致的。因此我們對于擁有獨特未知偏移量(u,v)的點都利用光流約束。這給予我們超過未知數數量(兩個)的方程式,我們可以使用均方法進行求解。在實踐中它通過迭代的方式進行求解,Opencv實現了在不同分辨率進行估算求解的函數,使得可以更有效地進行搜索,同時也能適應較大的偏差。默認情況下,圖像的層數是3,而搜索窗口的尺寸是15.這些參數是可以修改的,可以通過制定終止條件來控制迭代過程,本文就是利用Opencv實現了Lukas-Kanade跟蹤器的編程。
生成的程序展示出隨時間變化的特征點,例如此處便是兩個不同時刻的圖像幀。在這個視頻中,相機的位置是規(guī)定的,因此運動的小車是唯一的運動物體。

圖3.1 視頻開始時刻的圖像幀

圖3.2 開始幾秒后的圖像幀
在視頻流中,選擇特征點,并跟蹤它們。當檢測到特征點時,計算位移向量,并在連續(xù)幀間顯示這些關鍵點的運動,這些向量被稱為運動向量。由實驗分析可以得到,光流法能夠近似得到圖像中特征點的運動向量,通過找到其中光流值不為零的特征點組成的最大連通區(qū)域,比較前一幀與當前幀實現在視頻中對于運動目標的跟蹤。
[1]B.Lucas&T.Kanade. An Iterative Image Registration Technique with an Application to Stereo Vision [J].Proceedings of Imaging Understanding Workshop,1981:121-130.
[2]Zhendong Yu.Iris detection tracking based on optical flow[D].LanZhou:LanZhou University,2015.
[3]董穎.于光流場的視頻運動檢測[D].山東:山東大學,2008.
王晨捷(1996—),男,安徽合肥人,武漢大學本科在讀,研究方向:遙感、計算機視覺。