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