,, ,,
(浙江理工大學 信息學院,杭州 310018)
目標跟蹤技術(shù)一直是計算機視覺研究領(lǐng)域中的熱點之一。目前已廣泛應(yīng)用于機器人服務(wù)、視頻監(jiān)控、人機交互等[1-3]多個方面。多數(shù)跟蹤方法主要針對的是對目標的短期跟蹤和監(jiān)控,在視頻圖像序列的第一幀中選定跟蹤的目標,然后對目標進行實時跟蹤。
對于目標跟蹤的中最困難的問題是對目標進行準確的實時跟蹤,在目標的背景或目標本身發(fā)生較大變化,如目標部分遮擋或完全遮擋、目標發(fā)生較大的形變、光照變化等,都會對跟蹤性能有較大的影響,尤其在目標發(fā)生長時間遮擋時,如何在目標出現(xiàn)后重新對其進行跟蹤,是目前丞待解決的問題。近年來隨著機器視覺的不斷發(fā)展,目標跟蹤技術(shù)得到很大的發(fā)展,研究者們提出了很多優(yōu)秀的跟蹤算法[4-12]。基于相關(guān)濾波器的實時目標跟蹤獲得了較多的關(guān)注,其中,KCF跟蹤算法[13]是公認性能較好的算法之一,在跟蹤速度上表現(xiàn)尤為優(yōu)秀,而且準確率較高。該算法采用循環(huán)偏移構(gòu)建出分類器的訓練樣本,使數(shù)據(jù)矩陣變換為循環(huán)矩陣,把問題的求解變換到傅里葉變換域,避免了矩陣求逆的過程,大大降低了算法的復(fù)雜度。雖然KCF跟蹤算法的速度和準確度較好,但是在目標發(fā)生嚴重遮擋情況時,仍然會發(fā)生目標跟丟的現(xiàn)象,而且跟蹤框不能自適應(yīng)目標尺度。
針對以上問題,本文在KCF跟蹤算法的基礎(chǔ)上,提出了一種解決目標遮擋跟蹤丟失的方法并且實現(xiàn)跟蹤窗口的自適應(yīng)尺度調(diào)節(jié),利用尺度金字塔估計出目標的尺度,使跟蹤框自適應(yīng)目標尺寸。跟蹤過程中對目標遮擋情況進行判斷, 當目標遮擋時,提取當前幀目標的SIFT特征[14]生成模板特征,并與下一幀圖像的SIFT特征進行匹配, 框出與模板特征相匹配的目標對目標繼續(xù)跟蹤。
KCF跟蹤算法采用連續(xù)樣本標記法,將[0,1]范圍的值作為樣本的回歸值,從而給不同偏移下得到的樣本不同的權(quán)值。通過循環(huán)偏移構(gòu)建出分類器的訓練樣本,使數(shù)據(jù)矩陣變換為循環(huán)矩陣,利用循環(huán)矩陣的特性把問題的求解變換到傅里葉變換域。
1.1.1 樣本表示
對樣本x進行變換,獲得循環(huán)矩陣X如下:
(1)
矩陣X完全由指定樣本向量x循環(huán)移位生成,無論生成向量x為何值,所有循環(huán)矩陣都能被離散傅里葉變換(DFT)矩陣對角化如下:
(2)
1.1.2 分類器訓練
KCF跟蹤器以目標為中心,選取目標及其周圍一定范圍內(nèi)的矩形區(qū)域圖像塊x來訓練線性分類器,選擇的圖像區(qū)域大小與目標的尺度有關(guān),若目標尺寸大小為m×n,圖像區(qū)域大小為A×B=λA×λB,λ為擴展系數(shù)。將所有循環(huán)移位圖像塊看作訓練樣本并將對應(yīng)的標簽數(shù)據(jù)用一個高斯函數(shù)來描述。分類器的訓練如下:
(3)
式(3)中,w為分類器系數(shù),φ為核K的映射函數(shù),<·>表示內(nèi)積,α為非負數(shù)是正則化參數(shù),核空間內(nèi)積[φ(x),φ(x')]=K(x,x'),圖像塊為xm,n大小不大于圖像區(qū)域大小,y(m,n)為對應(yīng)標簽數(shù)據(jù)。
1.1.3 樣本檢測
訓練樣本和檢測樣本之間的相關(guān)置信圖又稱為濾波響應(yīng)圖,表示如下:
(4)
式(4)中,Z表示檢測樣本,KXZ表示訓練樣本和檢測樣本之間的互相關(guān)核,響應(yīng)圖中峰值位置即為當前搜索區(qū)域中目標的位置。
傳統(tǒng)的KCF跟蹤算法尺度是固定,無法適應(yīng)目標尺度發(fā)生的變化情況。用固定的矩形框在下一幀中去搜索目標,需要很高的計算代價,會明顯降低算法的運算效率。本文采用尺度金字塔的方法實現(xiàn)自適應(yīng)的跟蹤框,這樣有助于把尺度空間的搜索區(qū)域限制在更小的范圍,而且在后期的目標特征提取時縮小特征檢測范圍,提高算法的運行速度。
在目標未受到遮擋的情況下,對當前目標建立尺度金字塔;然后通過相關(guān)濾波器求取尺度金字塔的最大響應(yīng)得到當前目標尺度信息;最后使用新目標圖像為訓練樣本更新目標的外 觀模型和尺度模型。
假設(shè)當前幀視頻圖像序列是第i幀,在該視頻幀中找到目標的位置,并且以此為中心提取g個尺度不同的圖像塊,將前一幀目標作為下一幀目標大小的先驗值,其大小為wi-1×hi-1。假設(shè)尺度系數(shù)為β,則每塊目標圖像塊的尺度為βτwi-1×βτhi-1。其中,τ∈{[-(g-1)/2],[-(g-3)/2],...[-(g-1)/2]}。將g個圖像塊調(diào)整到統(tǒng)一的大小,然后對其進行HOG特征提取,最后利用尺度濾波找到輸出響應(yīng)最大值所對應(yīng)的尺度即為當前幀目標尺度的估計值[15]:
C=wi×hi=βτ'wi-1×βτ'hi-1
(5)
式(5)中,τ'為尺度空間的最大響應(yīng)位置。
(6)
(7)
式(6)、(7)中,ζ為學習率。
2.1.1 構(gòu)造尺度空間
將待匹配圖像與高斯核函數(shù)卷積可得到待匹配圖像的尺度空間:
L(x,y,σ)=G(x,y,σ)*I(x,y)
(8)
(9)
式(8)、(9)中,(x,y)是像素點的位置,σ決定圖像平滑程度。將高斯尺度空間中相鄰兩層相減得到高斯差分金字塔,對其特征進行歸一化,可以得到明顯的差分圖像蘊含的特征,這些特征就是要提取的穩(wěn)定特征。
2.1.2 關(guān)鍵點定位及方向分配
高斯差分金字搭空間的局部極值點就是關(guān)鍵點,將每個像素與該像素相鄰兩層圖像的各像素點進行比較,找到局部極大值或極小值。再精確確定關(guān)鍵點的位置和尺度,去除低對比度的關(guān)鍵點和不穩(wěn)定的邊緣響應(yīng)點。
為增加描述子的旋轉(zhuǎn)不變性,給每個關(guān)鍵點分配一個基準方向。通過直方圖統(tǒng)計關(guān)鍵點鄰域內(nèi)像素的梯度和方向,將360度的方向范圍平均劃分為36個方向,直方圖峰值所在方向為關(guān)鍵點的主方向。
2.1.3 關(guān)鍵點特征描述
將關(guān)鍵點鄰域劃分為4×4個子區(qū)域,每個子區(qū)域有8個方向。直方圖統(tǒng)計鄰域內(nèi)4×4×8=128個梯度信息生成特征向量。
目標尺度變化主要由目標縱向移動引起,在目標遮擋時,將不會產(chǎn)生尺度的變化,因為目標在運動上受到橫向運動的遮擋,所以會停止在縱向上的移動。故應(yīng)在檢測到目標發(fā)生遮擋時,停止對跟蹤目標在尺度空間上的估計,同時停止對分類器模型的更新。采用文獻[16]的遮擋檢測方法進行目標遮擋的判斷。
通過對跟蹤框區(qū)域求取跟蹤目標的概率分布f(x),假設(shè)候選區(qū)域的坐標為pos(x),當概率分布取最大值fmax(x)時,此時對應(yīng)最大值的位置為posmax(x)。假設(shè)樣本x的高和寬分別為h和w,遮擋判斷的閾值為λ1,面積因子為λ2。在最大值位置posmax(x)的鄰域找出所有滿足λ1·fmax(x)的所有點,并求取相應(yīng)的位置posall(x)。求取所有posall(x)與最大位置posmax(x)之間的歐式距離:
(10)
定義一個變量G,通過G的取值來判斷目標遮擋的情況:
(11)
式(11)中,G為0時表示目標未受遮擋;相反,G為1表示目標受到遮擋。
如圖1所示:采用TB-50數(shù)據(jù)集中Girl2視頻序列進行驗證,圖1(a)是視頻的第103幀,在該幀時框出的小女孩運動到圖中男子的身后部分開始受到遮擋,此時概率分布取得最大值fmax(x),且最大值位置posmax(x)的鄰域內(nèi)滿足λ1·fmax(x)的點共有19個。(b)為對應(yīng)的響應(yīng)曲線,在103幀時取最大值。
圖1 遮擋判斷
在判斷出目標受到遮擋,對目標進行SIFT特征提取生成模板特征。繼續(xù)讀入視頻序列的下一幀,提取下一幀圖像的SIFT特征。將提取的SIFT與模板特征進行特征匹配并結(jié)合RANSAC算法[17]對誤匹配點進行刪除,保留正確的匹配對并框出目標,則該框作為當前幀目標的跟蹤框。若沒有框出目標,則繼續(xù)對下一幀視頻圖像幀進行特征匹配,直到找到目標。
在模板特征與下一幀特征匹配成功后,可以根據(jù)圖像中的匹配點位置信息計算出目標的位置。通過匹配特征點對求取兩幅圖像的單應(yīng)矩陣,獲得特征點之間的變換。單應(yīng)矩陣是3*3的矩陣,有8個未知數(shù),至少需要4個匹配點對,就可以利用多元方程組初步求解出單應(yīng)矩陣。然后利用最小化反投影誤差的方式進一步精確計算。單應(yīng)矩陣變換公式為:
(14)
u,v是原始圖片左邊,對應(yīng)得到變換后的圖片坐標x,y;其中x=x'/w',y=y'/w'。
首先,輸入視頻序列并選擇要跟蹤的目標,框出該目標,采用KCF跟蹤算法對目標進行跟蹤;在跟蹤過程中對目標進行遮擋判斷,若目標遮擋,則對當前幀目標進行SIFT特征提取,生成模板特征;然后,提取下一幀特征點與模板特征進行匹配,并結(jié)合RANSAC誤匹配剔除算法剔除錯誤匹配對,通過匹配對計算單應(yīng)矩陣并框出目標,則匹配重新定位成功。若在跟蹤過程中,目標再次從未遮擋到檢測到遮擋,此時提取特征生成的目標特征替換之前的目標特征。算法整體流程圖如圖2所示。
圖2 算法流程圖
實驗運行環(huán)境為Matlab R2014b,Window7操作系統(tǒng),Intel(R) Core(TM)i5-3210M 2.3 GHz 4 GB內(nèi)存的PC機。為了驗證算法在復(fù)雜場景下跟蹤目標遮擋處理的有效性,本文使用公開的具有挑戰(zhàn)性的跟蹤測試視頻和自己拍攝的實際場景的視頻進行測試,驗證本文算法跟蹤窗口的尺度自適應(yīng)和目標遮擋處理的效果。
采用TB-50中的視頻序列CarScale進行自適應(yīng)窗口的驗證,為更直觀的看到測試結(jié)果,所以將視頻每隔30幀取一幀圖像幀列出。如圖3所示,可以清楚的看到視頻中的汽車由遠到近時,汽車尺寸在發(fā)生變化,而跟蹤窗口采用的尺度自適應(yīng)會隨著目標的尺寸變化而變化。
圖3 CarScale尺度自適應(yīng)
選取TB數(shù)據(jù)集中受遮擋嚴重的視頻序列Girl2和個人拍攝的視頻penguin,對算法進行抗遮擋驗證,如圖4所示,黑色框為本文算法跟蹤框,白色為KCF跟蹤框,最左邊小圖為提取的目標模板特征。在Girl2中檢測到目標在第103幀發(fā)生遮擋,在第104和105幀時,兩種算法都能繼續(xù)跟蹤。到第121幀目標遮擋后再次出現(xiàn),但是KCF算法無法繼續(xù)跟蹤,而本文算法對第103幀提取了SIFT特征生成模板特征,與第105,121幀進行了特征匹配(為直觀表示匹配算法,將兩匹配點之間進行連線),在第121幀時,將目標框出并進行跟蹤。由圖中匹配點之間的連線可以看出,通過匹配找到的目標是準確的。同樣的,在penguin發(fā)生遮擋的第53幀提取特征,與下一幀進行特征匹配,直到框出目標。從兩組實驗結(jié)果可以看出,在目標剛開始部分遮擋的情況下,兩種算法都能實現(xiàn)目標的跟蹤,但目標發(fā)生全部遮擋后再次出現(xiàn),即使只有小部分的遮擋,KCF算法也無法找到跟蹤目標,而本文算法可以準確找到目標。
圖4 遮擋情況下KCF與本文算法效果對比
3.3.1 距離精度
為驗證算法的跟蹤性能,采用距離精度(DP),即中心位置誤差小于某一閾值的幀數(shù),占視頻總幀數(shù)的百分比,作為評價指標,DP值越大說明跟蹤算法性能越好。采用T B數(shù)據(jù)集Jogging、Girl2、Subway、Lemming和Penguin共5組發(fā)生遮擋的視頻序列,畫出的DP曲線圖。
由圖5可以看出,本文算法在目標發(fā)生遮擋時跟蹤效果較好(實線表示本文算法,虛線表示KCF跟蹤算法),主要是因為在目標發(fā)生遮擋時KCF跟蹤算法無法有效的跟蹤目標,而本文算法采用的特征匹配在目標再次出現(xiàn)后會重新搜索目標,繼續(xù)對目標進行跟蹤,所以后續(xù)幀的跟蹤誤差較小。
圖5 5組遮擋視頻的DP曲線圖
3.3.2 跟蹤速度對比
為驗證算法的跟蹤速度(每秒跟蹤視頻幀數(shù)),現(xiàn)采用7組測試視頻對兩種算法進行驗證,如表1所示。
表1 KCF跟蹤算法與本文算法在7組測試視頻上的運行速度對比(幀/s)
表1中,KCF跟蹤算法的平均速度約為97幀/s,本文算法平均速度為80幀/s,可見KCF跟蹤算法的速度較快一些。因為本文算法在目標跟蹤過程中進行了目標遮擋的檢測和特征匹配尋找目標,所以目標遮擋時間越長,對跟蹤速度影響越大,但是仍能滿足實時性(一般每秒15-20幀)跟蹤要求。
本文在KCF 跟蹤算法的框架下,采用尺度金字塔實現(xiàn)跟蹤框自適應(yīng)目標大??;在目標受到遮擋的情況,可以提取目標的SIFT特征生成模板特征,在下一幀中去匹配目標,重新對目標跟蹤。實驗結(jié)果顯示,本文提出的算法在自適應(yīng)跟蹤框和抗遮擋上,相比于原KCF跟蹤算法效果更好,尤其在跟蹤目標發(fā)生完全遮擋的視頻上表現(xiàn)更為優(yōu)異。但是在運行速度上,由于本文算法在跟蹤中對目標遮擋情況進行實時檢測,并且在遮擋情況下要提取SIFT特征和通過特征匹配重新尋找目標,在跟蹤速度上相比于原KCF算法,速度有所降低,但是仍能滿足實時跟蹤。下一步的研究計劃是在保證跟蹤效果的同時,如何提高該算法的跟蹤速度。
參考文獻:
[1] 李朕陽, 郎 朗, 陳孟元. 基于SR-CKF的移動機器人動態(tài)目標跟蹤算法[J]. 電子測量與儀器學報, 2016(8):1198-1205.
[2] 馮志全, 楊 波, 徐 濤,等. 基于自然手勢跟蹤的直接操作型三維人機交互范式[J]. 計算機學報, 2014(6):1309-1323.
[3] 沈 翀. 復(fù)雜視頻監(jiān)控環(huán)境下的運動目標檢測與跟蹤算法研究[D]. 北京:中國科學技術(shù)大學, 2015.
[4] Bolme D S, Beveridge J R, Draper B A, et al. Visual object tracking using adaptive correlation filters[A]. Computer Vision and Pattern Recognition[C]. IEEE, 2010:2544-2550.
[5] Henriques J F, Caseiro R, Martins P, et al. Exploiting the circulant structure of tracking-by-detection with kernels[A]. European Conference on Computer Vision[C]. Springer-Verlag, 2012:702-715.
[6] Bao C, Wu Y, Ling H, et al. Real time robust L1 tracker using accelerated proximal gradient approach[A]. IEEE Conference on Computer Vision and Pattern Recognition, IEEE Computer Society[C]. 2012:1830-1837.
[7] Danelljan M, Khan F S, Felsberg M, et al. Adaptive color attributes for Real-Time visual tracking[A]. IEEE Conference on Computer Vision and Pattern Recognition[C]. IEEE Computer Society, 2014:1090-1097.
[8] 吳賢平, 沈良忠. 基于自適應(yīng)背景的目標跟蹤算法研究[J]. 計算機測量與控制, 2017, 25(4):209-212.
[9] 熊昌鎮(zhèn), 趙璐璐, 郭芬紅. 自適應(yīng)特征融合的核相關(guān)濾波跟蹤算法[J]. 計算機輔助設(shè)計與圖形學學報, 2017, 29(6).
[10] 張煥龍, 胡士強, 楊國勝. 基于外觀模型學習的視頻目標跟蹤方法綜述[J]. 計算機研究與發(fā)展, 2015, 52(1):177-190.
[11] 徐玉龍, 王家寶, 李 陽, 等. 基于相關(guān)濾波的尺度自適應(yīng)目標跟蹤[J]. 計算機應(yīng)用研究, 2016, 33(11):3513-3516.
[12] 王治丹, 蔣建國, 齊美彬, 等. 基于最大池圖匹配的形變目標跟蹤方法[J]. 電子學報, 2017, 45(3):704-711.
[13] Henriques J F, Caseiro R, Martins P, et al. High-Speed tracking with kernelized correlation filters[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 37(3):583.
[14] Lowe D G. Distinctive image features from scale-invariant key-points[J]. International Journal of Computer Vision, 2004, 60(2):91-110.
[15] 徐玉龍, 王家寶, 李 陽,等. 融合顏色特征的尺度自適應(yīng)相關(guān)跟蹤[J]. 計算機應(yīng)用研究, 2017, 34(3):945-948.
[16] 余禮楊, 范春曉, 明 悅. 改進的核相關(guān)濾波器目標跟蹤算法[J]. 計算機應(yīng)用, 2015, 35(12):3550-3554.
[17] 趙 燁, 蔣建國, 洪日昌. 基于RANSAC的SIFT匹配優(yōu)化[J].光電工程, 2014(8):58-65.