毛曉波, 周曉東, 劉艷紅
(鄭州大學(xué) 電氣工程學(xué)院,河南 鄭州 450001)
目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的重要研究?jī)?nèi)容,可以理解為在已知目標(biāo)先驗(yàn)信息情況下,在視頻序列中持續(xù)地對(duì)目標(biāo)的位置、形狀和運(yùn)動(dòng)狀態(tài)進(jìn)行發(fā)現(xiàn)的過(guò)程.同時(shí),目標(biāo)跟蹤也一直是計(jì)算機(jī)視覺的難點(diǎn)之一[1],除了光照變化,障礙物遮擋等環(huán)境影響,目標(biāo)本身的旋轉(zhuǎn)、尺度變化及出視野都對(duì)準(zhǔn)確地進(jìn)行目標(biāo)跟蹤造成挑戰(zhàn).
近些年來(lái),國(guó)內(nèi)外的研究人員根據(jù)實(shí)際需要提出和實(shí)現(xiàn)了多種跟蹤算法.如meanshift[2]、卡爾曼濾波[3]、粒子濾波[4]等算法,它們針對(duì)特定的場(chǎng)景都有較好的效果.我們注意到上述算法在跟蹤過(guò)程中,隨著跟蹤誤差的逐漸增大及目標(biāo)本身的大小、形態(tài)改變,尤其是當(dāng)目標(biāo)離開視野后又重新回到視野時(shí),都會(huì)造成跟蹤失敗.這種隨著跟蹤時(shí)間的延長(zhǎng)逐漸導(dǎo)致跟蹤失敗的算法稱為短時(shí)跟蹤算法.為了解決這一問(wèn)題,與之對(duì)應(yīng)的長(zhǎng)時(shí)間跟蹤算法是我們研究的重點(diǎn).為了避免隨著時(shí)間推移導(dǎo)致跟蹤失敗,長(zhǎng)時(shí)間跟蹤算法應(yīng)該至少具有以下兩個(gè)特點(diǎn),一是能夠在跟蹤過(guò)程中逐漸地減少或保持跟蹤誤差;二是在完全遮擋或是出視野造成跟蹤失敗后,具有對(duì)目標(biāo)的重識(shí)別能力.
TLD(tracking-learning-detection)算法[5]是近年來(lái)十分具有代表性的長(zhǎng)時(shí)間跟蹤算法,它將傳統(tǒng)的跟蹤算法和檢測(cè)算法結(jié)合起來(lái),同時(shí)引入在線學(xué)習(xí)機(jī)制,三者并行運(yùn)行,實(shí)現(xiàn)長(zhǎng)時(shí)間跟蹤.然而該算法也存在明顯的不足,如:算法計(jì)算量大,運(yùn)行幀率達(dá)不到實(shí)時(shí)應(yīng)用的標(biāo)準(zhǔn);跟蹤器均勻選取的點(diǎn),在跟蹤中可靠性不高;跟蹤過(guò)程中模板累積效應(yīng)明顯,后期運(yùn)行速率越來(lái)越慢等.針對(duì)TLD算法的缺點(diǎn),已有許多學(xué)者提出改進(jìn)的方法.周鑫[6]和董永坤[7]分別對(duì)TLD的檢測(cè)部分進(jìn)行改進(jìn),提高了跟蹤效果,然而算法的最終輸出結(jié)果是跟蹤器和檢測(cè)器返回目標(biāo)框的融合,且跟蹤器的結(jié)果在TLD融合部分占比更大.文獻(xiàn)[8]指出,提高跟蹤器的可靠性將對(duì)算法整體準(zhǔn)確性和魯棒性提供積極的影響.邢藏菊[9]對(duì)跟蹤器的歸一化互相關(guān)匹配進(jìn)行改進(jìn),減少了跟蹤器的計(jì)算量,同時(shí)降低了誤匹配率,也取得了不錯(cuò)的效果.所以針對(duì)跟蹤器的不足,對(duì)其進(jìn)行改進(jìn)也是具有重要研究意義的.
針對(duì)TLD算法中,跟蹤器均勻選取的點(diǎn)無(wú)法在下一步的中值光流法中保證準(zhǔn)確跟蹤的問(wèn)題,筆者提出采用快速檢測(cè)的FAST特征點(diǎn)替代跟蹤器中均勻選取的點(diǎn),保證選取點(diǎn)的穩(wěn)定準(zhǔn)確跟蹤,提高算法的準(zhǔn)確性和實(shí)時(shí)性.針對(duì)跟蹤后期由于模板累積使得算法后期的匹配過(guò)程耗時(shí)增加,實(shí)時(shí)性降低的問(wèn)題,采用一種動(dòng)態(tài)的模板管理機(jī)制,使得模板總量保持穩(wěn)定,提高算法后期的實(shí)時(shí)性.
TLD算法是由Kalal等人于2010年提出的新型跟蹤算法,結(jié)構(gòu)如圖1所示.
圖1 TLD算法示意圖Fig.1 TLD algorithm
TLD跟蹤模塊的本質(zhì)是中值流跟蹤,是一種增加了跟蹤失敗校驗(yàn)的LK光流法.跟蹤模塊根據(jù)所選目標(biāo)確定邊界框,并在框內(nèi)生成10×10的矩形網(wǎng)格,以每個(gè)網(wǎng)格的中心位置作為跟蹤的特征點(diǎn),對(duì)應(yīng)一個(gè)局部的跟蹤器.每個(gè)跟蹤器采用LK光流法跟蹤特征點(diǎn)的運(yùn)動(dòng),由于LK光流法3個(gè)假設(shè)[10]的局限性,當(dāng)目標(biāo)完全遮擋或者出視野后,將出現(xiàn)跟蹤偏移.由此,采用一種跟蹤誤差檢測(cè)機(jī)制,通過(guò)計(jì)算當(dāng)前圖像和被跟蹤區(qū)域的相似程度(normalized cross correlation,NCC)及前向后向誤差(forward-backward error,F(xiàn)B)對(duì)每個(gè)點(diǎn)的跟蹤質(zhì)量進(jìn)行評(píng)估,去除誤差排名前50%的點(diǎn),使用余下的點(diǎn)來(lái)評(píng)估邊界框的狀態(tài)改變情況,生成新的跟蹤窗口,完成一次短期跟蹤.
檢測(cè)模塊采用不同尺度的滑動(dòng)窗口掃描整幅圖像,將掃描產(chǎn)生的大量窗口送入級(jí)聯(lián)分類器判別是否存在前景目標(biāo).級(jí)聯(lián)分類器由3部分組成,依次是方差分類器、集合分類器和最近鄰分類器.只有當(dāng)窗口內(nèi)的圖像依次通過(guò)上述3種分類器時(shí),窗口才被認(rèn)為含有前景目標(biāo).
學(xué)習(xí)模塊在第一幀初始化檢測(cè)器,隨后采用P-N專家產(chǎn)生的正負(fù)模板訓(xùn)練檢測(cè)器.使用P專家來(lái)尋找目標(biāo)新的外觀變化,使用N專家確定檢測(cè)器應(yīng)該忽略的背景部分.通過(guò)P-N專家的相互作用,提高樣本標(biāo)記的準(zhǔn)確性,并在運(yùn)行時(shí)實(shí)時(shí)更新檢測(cè)器.在算法的運(yùn)行過(guò)程中,通過(guò)檢測(cè)模塊和跟蹤模塊并行運(yùn)行,更新目標(biāo)信息,減少跟蹤誤差.通過(guò)在線學(xué)習(xí)模塊,對(duì)產(chǎn)生的新樣本進(jìn)行標(biāo)簽學(xué)習(xí),更新檢測(cè)器.當(dāng)完全遮擋或者出視野等導(dǎo)致跟蹤失敗時(shí),由于檢測(cè)模塊的全局掃描能力,在跟蹤目標(biāo)重回視野后具有重識(shí)別能力,3種模塊相互配合,共同實(shí)現(xiàn)目標(biāo)的長(zhǎng)時(shí)間跟蹤.
從上節(jié)可以看出,TLD跟蹤算法相對(duì)于傳統(tǒng)的跟蹤算法在長(zhǎng)時(shí)間目標(biāo)跟蹤上具有較大的優(yōu)勢(shì),然而它也有許多不足之處,下面對(duì)它的一些缺陷進(jìn)行分析并提出改進(jìn)方法.
1.2.1跟蹤模塊分析及改進(jìn)
盡管這種中值流跟蹤方式在實(shí)際應(yīng)用中取得了不錯(cuò)的跟蹤效果,但是從理論分析來(lái)看,在目標(biāo)上均勻地選取固定數(shù)目的特征點(diǎn)并不能保證這些點(diǎn)能可靠地被LK光流法進(jìn)行跟蹤,若選取的特征點(diǎn)處于灰度值變化平緩或者無(wú)變化的區(qū)域,將給光流法跟蹤帶來(lái)很大的問(wèn)題.同時(shí)如果這些選出的點(diǎn)不能被可靠跟蹤,那么也將影響目標(biāo)跟蹤的效率和準(zhǔn)確性.針對(duì)該問(wèn)題,筆者采用可用于快速檢測(cè)的特征角點(diǎn)來(lái)替代原算法中均勻選取的點(diǎn),以獲得對(duì)目標(biāo)更好的表觀能力,保證可靠跟蹤.
常用的特征角點(diǎn)有SIFT(scale-invariant feature transform)[11],SURF(speed up robust features)[12],Harris[13],F(xiàn)AST(features from accelerated segment test)[14]及BRISK(binary robust invariant scalable key points)[15]等.其中Harris和FAST特征點(diǎn)是簡(jiǎn)單的單尺度角點(diǎn),而SIFT、SURF和BRISK是多尺度特征點(diǎn),在生成方式上除極值檢測(cè)外,還需要構(gòu)造尺度空間、濾波及生成描述子,因此在檢測(cè)速度上要遠(yuǎn)低于單尺度角點(diǎn).多尺度特征點(diǎn)的優(yōu)點(diǎn)在于對(duì)尺度變化不敏感,具有尺度不變性,同時(shí)對(duì)旋轉(zhuǎn)和亮度變化能保持較強(qiáng)的魯棒性.借助opencv圖像處理庫(kù),在待測(cè)圖片為Eiffe,大小為925×650時(shí),上述算子的檢測(cè)時(shí)間和檢測(cè)點(diǎn)數(shù)如表1所示.經(jīng)過(guò)對(duì)比可知,Harris和FAST特征角點(diǎn)的檢測(cè)速度遠(yuǎn)遠(yuǎn)超過(guò)多尺度特征點(diǎn)的檢測(cè)速度,印證了上面的分析.前向后向算法對(duì)角點(diǎn)的尺度變化并不敏感.文獻(xiàn)[15]指出Harris的角點(diǎn)穩(wěn)定性與經(jīng)驗(yàn)值k有關(guān),k值不好確定且浮動(dòng)較大,這就意味著對(duì)于一個(gè)跟蹤目標(biāo),經(jīng)過(guò)多次嘗試效果較好的k值對(duì)另一目標(biāo)很有可能效果十分糟糕,這種情形將極大地降低算法的穩(wěn)定性.對(duì)于跟蹤目標(biāo)來(lái)說(shuō),目標(biāo)框通常只是圖像整體很小的一部分,表1表明FAST角點(diǎn)的檢出率比Harris高出一個(gè)數(shù)量級(jí).
表1 特征角點(diǎn)檢測(cè)對(duì)比
在實(shí)際檢測(cè)中,目標(biāo)框的FAST角點(diǎn)數(shù)最少時(shí)僅幾十個(gè),如采用Harris獲取的角點(diǎn)數(shù)目只有個(gè)位量級(jí),對(duì)于后續(xù)的跟蹤算法來(lái)說(shuō)太過(guò)稀少,所以應(yīng)選取能檢測(cè)較多角點(diǎn)的算法.由此,筆者采用FAST特征點(diǎn)來(lái)取代原算法中均勻選取的點(diǎn).
FAST特征點(diǎn)是Rosten等人在SUSAN角點(diǎn)特征檢測(cè)方法的基礎(chǔ)上,利用機(jī)器學(xué)習(xí)方法提出的,其主要特點(diǎn)是檢測(cè)速度快.最初的檢測(cè)方法就是檢測(cè)在圓環(huán)上的16個(gè)像素點(diǎn),如果有n個(gè)連續(xù)的點(diǎn)比中心像素m的強(qiáng)度都大或都小的話,這樣的中心點(diǎn)就是角點(diǎn).我們采用FAST-9角點(diǎn)檢測(cè)算法,每個(gè)像素m周圍的像素mi,i∈{1,2,…,16}的灰度值如圖2所示,按式(1)將像素m分為3類.
圖2 FAST檢測(cè)鄰域圖Fig.2 Schematic diagram of FAST detection field
(1)
式中:Im表示m點(diǎn)的像素值;Im→i表示m點(diǎn)第i個(gè)鄰接像素點(diǎn)的像素值;d表示鄰接像素點(diǎn)比m點(diǎn)暗;s表示鄰接像素點(diǎn)與m有相似的像素值;b表示鄰接像素點(diǎn)比m點(diǎn)亮.n為檢測(cè)閾值,當(dāng)至少有9個(gè)鄰接的參考像素檢測(cè)結(jié)果均為d或b時(shí),則m點(diǎn)為FAST角點(diǎn).
在獲取了跟蹤框內(nèi)目標(biāo)的FAST特征點(diǎn)后,將獲得的點(diǎn)送入后續(xù)的中值光流法中進(jìn)行跟蹤,跟蹤模塊結(jié)構(gòu)如圖3所示.
圖3 跟蹤模塊圖Fig.3 Tracking module
1.2.2模板累積改進(jìn)
S(pi,M)=0.5(NCC(pi,M)+1),
(2)
則圖像區(qū)域和目標(biāo)區(qū)域的最終相似度為
(3)
為驗(yàn)證改進(jìn)算法性能,將原始TLD(稱TLD)算法、筆者改進(jìn)的TLD算法(稱TLD+)和文獻(xiàn)[16]中采用的具有旋轉(zhuǎn)不變性和尺度不變性的BRISK角點(diǎn)改進(jìn)TLD算法(稱BTLD)做對(duì)比.測(cè)試環(huán)境為I7-4720HQ @ 2.6 GHz 8 G內(nèi)存的Win10 64位計(jì)算機(jī),試驗(yàn)軟件為Visual Studio 2015和opencv 3.1.0.測(cè)試集為公開的視頻序列Motocross、Car、David、pedestrian2和Singer1,包含了目標(biāo)遮擋、光照變化、尺度變化、出視野等情形.定義兩個(gè)具有代表性的評(píng)估準(zhǔn)則:①跟蹤成功率(success rate,SR),是指成功跟蹤的幀數(shù)占總幀數(shù)的比例,當(dāng)跟蹤框與手工標(biāo)定的目標(biāo)框重合率在50%以上時(shí),稱為一次成功跟蹤;②幀率(frame per second,FPS)指每秒處理的幀數(shù),反映算法運(yùn)行速度.
設(shè)定FAST特征點(diǎn)的檢測(cè)閾值n=24,最近鄰分類器的閾值θ=0.6,前向后向誤差的閾值FBr=10.另外為了保證試驗(yàn)的客觀性,采用筆者方式指定初始化目標(biāo)跟蹤框,其余未改進(jìn)的參數(shù)均采用算法原來(lái)的參數(shù),BTLD與筆者改進(jìn)算法區(qū)別僅在于跟蹤模塊特征點(diǎn)的產(chǎn)生方式不同.表2為TLD算法和兩種改進(jìn)算法的跟蹤準(zhǔn)確率對(duì)比.表3為3種算法運(yùn)行幀率對(duì)比.
表2 算法跟蹤準(zhǔn)確率比較
表3 算法運(yùn)行幀率比較Tab.3 Tracking FPS comparison
由表2可以看出,TLD+的跟蹤準(zhǔn)確率高于原TLD算法,而略低于BTLD算法.這是由于FAST特征點(diǎn)不具有BRISK的尺度不變性,相對(duì)來(lái)說(shuō)對(duì)噪聲較為敏感.兩者差距不大是因?yàn)檫x取的特征點(diǎn)只是參與到后續(xù)的光流跟蹤中,并不涉及特征點(diǎn)匹配.TLD+和BTLD算法在跟蹤精度上與原算法相比都有提高.圖4反映了原TLD算法和TLD+算法在跟蹤視頻序列目標(biāo)時(shí)的差異.第一組(紅色跟蹤框)表示原TLD算法跟蹤情況,第二組(藍(lán)色跟蹤框)為同一幀TLD+跟蹤情況.
圖4 算法跟蹤差異Fig.4 Tracking algorithms differences
視頻Motocross中,在目標(biāo)平穩(wěn)運(yùn)動(dòng)情況下,原TLD算法和改進(jìn)的TLD+算法都可以穩(wěn)定跟蹤.在目標(biāo)發(fā)生較大傾斜、抖動(dòng)情況下,原始的算法因?yàn)榫鶆蜻x取的特征點(diǎn)無(wú)法有效表述目標(biāo)特征,導(dǎo)致跟蹤失敗,而改進(jìn)的TLD+由于穩(wěn)定性較強(qiáng)的角點(diǎn),依然可以進(jìn)行跟蹤.在視頻Pedestrian2中,視頻的分辨率較低,存在較為嚴(yán)重的鏡頭晃動(dòng)和出視野情況,原算法在目標(biāo)發(fā)生形變及出視野后,不能有效地對(duì)后續(xù)的目標(biāo)進(jìn)行識(shí)別,而改進(jìn)后的算法能在出視野前后有效跟蹤目標(biāo).Singer1視頻中光照變化明顯,原算法在目標(biāo)被強(qiáng)光覆蓋后無(wú)法繼續(xù)有效跟蹤,改進(jìn)的算法借助對(duì)光照不敏感的特征角點(diǎn)仍然可以進(jìn)行跟蹤.以上試驗(yàn)表明,結(jié)合FAST特征點(diǎn)的TLD算法可以有效應(yīng)對(duì)目標(biāo)抖動(dòng)、偏移、光照變化造成的跟蹤失敗,相比于原算法具有更好的魯棒性.
從表3可得,改進(jìn)的TLD+在實(shí)時(shí)性上優(yōu)于原算法和BTLD.由于BTLD中特征點(diǎn)采用具有抗噪及旋轉(zhuǎn)尺度不變的BRISK特征,其計(jì)算過(guò)程需要構(gòu)造尺度空間及濾波的過(guò)程,因此雖然提升了準(zhǔn)確性,但嚴(yán)重犧牲了實(shí)時(shí)性能.TLD+的模板累積改進(jìn)對(duì)于跟蹤模板數(shù)量較多的情況具有較好的效果.一般來(lái)說(shuō)模板的數(shù)量取決于跟蹤的時(shí)間和跟蹤目標(biāo)變化的差異程度.對(duì)于Pedestrian2和Singer1幀數(shù)較少的視頻序列,模板數(shù)量尚達(dá)不到閾值要求,因此模板累計(jì)改進(jìn)對(duì)它們的幀率基本沒有影響.對(duì)于Car視頻序列,雖然幀數(shù)較多,但目標(biāo)車輛形態(tài)缺乏變化,所獲取的模板數(shù)量仍然不多,故而改進(jìn)對(duì)于Car視頻序列的實(shí)時(shí)性提高較為有限,而在David視頻序列中,具有較強(qiáng)的光照變化,目標(biāo)的狀態(tài)變化十分明顯,因此獲得的模板數(shù)量較多,改進(jìn)算法的實(shí)時(shí)性提升較為明顯.
TLD是近年來(lái)較為新穎的長(zhǎng)時(shí)間跟蹤算法,筆者在它的基礎(chǔ)上引入FAST特征點(diǎn)取代跟蹤模塊中均勻選取的點(diǎn),提高跟蹤的魯棒性.對(duì)其因模板累積導(dǎo)致的實(shí)時(shí)性降低問(wèn)題,采用動(dòng)態(tài)的模板替換更新機(jī)制,經(jīng)過(guò)多個(gè)視頻測(cè)試集測(cè)試表明,筆者算法相比于原算法在跟蹤準(zhǔn)確性和實(shí)時(shí)性方面均有小幅提高,相比于BRISK特征點(diǎn)改進(jìn)的TLD算法,準(zhǔn)確性與其差異微小,實(shí)時(shí)性取得較大的提高.
參考文獻(xiàn):
[1]高文, 朱明, 賀柏根,等. 目標(biāo)跟蹤技術(shù)綜述[J]. 中國(guó)光學(xué), 2014, 7(3):365-375.
[2]郝向東,毛曉波,梁靜.ELM與Mean Shift相結(jié)合的抗遮擋目標(biāo)跟蹤算法[J].鄭州大學(xué)學(xué)報(bào)(工學(xué)版),2016,37(1):1-5.
[3]WENG S K, KUO C M, TU S K. Video object tracking using adaptive kalman filter[J]. Journal of visual communication & image representation, 2006, 17(6):1190-1208.
[4]宋策. 基于粒子濾波的目標(biāo)跟蹤技術(shù)研究[D]. 長(zhǎng)春:中國(guó)科學(xué)院大學(xué)長(zhǎng)春光學(xué)精密機(jī)械與物理研究所, 2014.
[5]KALAL Z, MIKOLAJCZYK K, MATAS J. Forward-backward error: automatic detection of tracking failures[C]// International Conference on Pattern Recognition, IEEE Computer Society, Turkey: Lstanbul, 2010:2756-2759.
[6]周鑫, 錢秋朦, 葉永強(qiáng),等. 改進(jìn)后的TLD視頻目標(biāo)跟蹤方法[J]. 中國(guó)圖象圖形學(xué)報(bào), 2013, 18(9):1115-1123.
[7]董永坤, 王春香, 薛林繼,等. 基于TLD框架的行人檢測(cè)和跟蹤[J]. 華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版), 2013, 41(s1):226-228.
[8]秦飛, 汪榮貴, 梁?jiǎn)⑾?等. 基于關(guān)鍵特征點(diǎn)的改進(jìn)TLD目標(biāo)跟蹤算法研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 2016, 52(4):181-187.
[9]邢藏菊, 溫蘭蘭, 何蘇勤. TLD視頻目標(biāo)跟蹤器快速匹配的研究[J]. 小型微型計(jì)算機(jī)系統(tǒng), 2015, 36(5):1113-1116.
[10] BIRCHFIELD S. Derivation of kanade-lucas-tomasi tracking equation[J]. Unpublished notes, 1997, 44(5): 1811-1843.
[11] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004, 60(2):91-110.
[12] BAY H, ESS A, TUYTELAARS T, et al. Speeded-up robust features[J]. Computer vision & image understanding, 2008, 110(3):404-417.
[13] HARRIS C. A combined corner and edge detector[J]. Proc alvey vision conf, 1988, 15(3):147-151.
[14] ROSTEN E, DRUMMOND T. Machine learning for high-speed corner detection[C]// European Conference on Computer Vision. Berlin: Heide berg, 2006:430-443.
[15] LEUTENEGGER S, CHLI M, SIEGWART R Y. BRISK: binary robust invariant scalable keypoints[J]. Computer vision (ICCV), 2011, 58(11):2548-2555.
[16] 祝賢坦, 石繁槐. 基于BRISK特征點(diǎn)改進(jìn)的跟蹤學(xué)習(xí)檢測(cè)方法[J]. 計(jì)算機(jī)工程,2017,43(2):268-272.