張曉麗,張龍信,肖滿生,左國(guó)才
(湖南工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,湖南 株洲 412007)
Figure 1 對(duì)RPN網(wǎng)絡(luò)的改進(jìn)圖1 Improvement of RPN network
目標(biāo)跟蹤是計(jì)算機(jī)視覺(jué)中的重要研究課題,主要是為了估計(jì)移動(dòng)目標(biāo)在各種場(chǎng)景中的位置,目標(biāo)跟蹤環(huán)境復(fù)雜多樣,光照、遮擋、天氣等各種因素會(huì)對(duì)目標(biāo)跟蹤帶來(lái)干擾。目前目標(biāo)跟蹤有生成方法或判別方法2種,前者通過(guò)使用稀疏表示、密度估計(jì)和增量子空間學(xué)習(xí)來(lái)描述目標(biāo)外觀,以找到最佳目標(biāo)范圍;相反,判別方法通過(guò)創(chuàng)建一個(gè)模型來(lái)確定背景物體的主要目標(biāo)?,F(xiàn)在國(guó)內(nèi)外很多學(xué)者都在基于這2種方法進(jìn)行目標(biāo)跟蹤研究工作,取得了一系列研究結(jié)果,如基于生成的方法,Tao等人[1]提出了具有代表性的生成方法,使用多種類型的神經(jīng)網(wǎng)絡(luò)計(jì)算該方法的誤差,跟蹤結(jié)果可以選取最靠近目標(biāo)的范圍。經(jīng)典的判別跟蹤算法有KCF(Kernelized Correlation Filters)[2]、C-COT(Continuous Convolution Operators for Visual Tracking)[3]和Staple[4]等,它們?cè)跇?biāo)準(zhǔn)視頻跟蹤中均取得了良好的效果。近年來(lái),卷積神經(jīng)網(wǎng)絡(luò)(CNN)已應(yīng)用于各種計(jì)算機(jī)視覺(jué)任務(wù),例如圖像分類[5 - 7]、語(yǔ)義分割[8 - 10]、目標(biāo)檢測(cè)[11,12]及其他任務(wù)[13,14]。卷積神經(jīng)網(wǎng)絡(luò)(CNN)在目標(biāo)識(shí)別方面也非常成功?;贑NN的目標(biāo)跟蹤算法是一種判別方法,文獻(xiàn)[4,15]直接利用深度學(xué)習(xí)的判別模型進(jìn)行目標(biāo)跟蹤,不需要對(duì)參數(shù)進(jìn)行更新,獲得了較好的跟蹤速度。MDNet(Multi-Domain Convolutional Neural Network)[16]提出了一種新的CNN體系結(jié)構(gòu),在目標(biāo)跟蹤學(xué)習(xí)過(guò)程中,將獲得的樣本分?jǐn)?shù)與閾值相比較,若高于此閾值作為正樣本進(jìn)行訓(xùn)練。目前在線跟蹤算法的性能得到了較大的提升,但其計(jì)算速率還是較慢,雖然GPU的性能很高,但只達(dá)到了1~2 frame/s[17,18],這極大地限定了該算法的實(shí)際應(yīng)用。文獻(xiàn)[10]是在MDNet基礎(chǔ)上進(jìn)行改進(jìn),得到了一種快速多域卷積神經(jīng)網(wǎng)絡(luò),跟蹤目標(biāo)檢測(cè)速度和性能良好;文獻(xiàn)[12]的算法與本文算法相似,將區(qū)域卷積神經(jīng)網(wǎng)絡(luò)與光流法相結(jié)合,但是跟蹤速度還是沒(méi)有達(dá)到良好的效果。因此,為解決目標(biāo)跟蹤速度慢的問(wèn)題,本文提出了一種融合Faste MDNet與光流法的目標(biāo)跟蹤算法。首先利用光流法獲取目標(biāo)的運(yùn)動(dòng)狀態(tài),從而獲得目標(biāo)位置的初選框,然后將該初選框作為快速多域卷積神經(jīng)網(wǎng)絡(luò)的輸入,通過(guò)學(xué)習(xí)得到目標(biāo)的確切位置和邊界框。
Faster MDNet基于MDNet網(wǎng)絡(luò)結(jié)構(gòu)框架引進(jìn)了RPN和ROIAlign層,目的是加快候選區(qū)域建議框特征的提取,并且降低特征空間信息量化損失。使用Faster MDNet算法對(duì)目標(biāo)檢測(cè),首先取最后一層輸出的特征圖在ImageNet上進(jìn)行訓(xùn)練,然后用RPN獲取目標(biāo)位置并用回歸方法校正,通過(guò)Softmax圖層確定該目標(biāo)是前景目標(biāo)還是背景。
通過(guò)RPN上的CNN網(wǎng)絡(luò)輸出從最后一層特征圖上獲取的錨點(diǎn),分別取前景和背景12個(gè)大小不變的錨點(diǎn)進(jìn)行1*1卷積,然后用Softmax歸類,F(xiàn)aster MDNet的輸入為卷積獲取的24維向量,再將分類后舍去背景的錨點(diǎn)所對(duì)應(yīng)的邊界框進(jìn)行微調(diào)和歸類。本文只需將目標(biāo)前景和背景作區(qū)分,因此對(duì)RPN進(jìn)行改進(jìn),移除分類Softmax層,如圖1所示,刪除虛線框中的部分。
將初步獲得的初選框作為Faster MDNet的輸入,特征為通過(guò)卷積神經(jīng)網(wǎng)絡(luò)輸出的最后一層特征圖,然后用RPN確定跟蹤目標(biāo)的位置。
(1)
新的初選框的中心點(diǎn)D(xD,yD)T及初選框的大小S(w,h)T可以根據(jù)式(2)得出:
(2)
其中,w和h分別為新的初選框的寬和高;θ為用于確定光流矢量的加權(quán)值,本文通過(guò)實(shí)驗(yàn)得出θ取0.5比較合適。
最后,F(xiàn)aster MDNet的輸入為D(xD,yD)T和S(w,h)T在第T幀圖像上截取的初選框,并以檢測(cè)的目標(biāo)精確位置,作為確定下一幀初選框位置和大小的基礎(chǔ)。
Figure 2 Flow chart of tracking algorithm圖2 跟蹤算法流程圖
本文通過(guò)ImageNet-Vid[21]獲取參數(shù)對(duì)網(wǎng)絡(luò)進(jìn)行初始化,在線網(wǎng)絡(luò)訓(xùn)練期間,RPN用于提取每個(gè)視頻跟蹤序列第1幀的ROI特征,因此,獲得更高特征的語(yǔ)義表示需要2個(gè)輸入過(guò)程。本文在大量的標(biāo)準(zhǔn)目標(biāo)跟蹤視頻數(shù)據(jù)集上通過(guò)采用隨機(jī)梯度下降SGD(Stochastic Gradient Desent)的方法對(duì)Faster MDNet網(wǎng)絡(luò)完成端到端的離線訓(xùn)練。
本文首先利用光流矢量確定目標(biāo)的初選框,以此作為Faster MDNet的輸入,特征為通過(guò)卷積神經(jīng)網(wǎng)絡(luò)輸出的最后一層的特征圖,然后用RPN確定跟蹤目標(biāo)的位置。本文實(shí)現(xiàn)的跟蹤算法流程圖如圖2所示。
視頻目標(biāo)跟蹤的具體實(shí)現(xiàn)步驟如下所示:
第1步光流法確定初選框。用第1幀獲得目標(biāo)邊界框的中心G(xG,yG),然后在第2幀上剪切出2倍長(zhǎng)度和寬度的搜索塊,從而獲得初選框。在文獻(xiàn)[15]中,隨后的跟蹤過(guò)程可以直接使用前一幀的跟蹤結(jié)果的2倍來(lái)獲得一個(gè)初選框,且跟蹤的結(jié)果通過(guò)相鄰幀間的相關(guān)性獲取,前一幀的形變和位移較大時(shí),可能會(huì)移出初選框,這時(shí)跟蹤就會(huì)失敗。在本文中,使用光流法得到目標(biāo)的運(yùn)動(dòng)狀況,將先前幀跟蹤結(jié)果的邊界框分別與目標(biāo)位移系數(shù)α和目標(biāo)位移方向系數(shù)β相乘,得到初選框,這樣就不會(huì)出現(xiàn)由于嚴(yán)重變形和位移而導(dǎo)致的目標(biāo)漂移。
第2步對(duì)目標(biāo)精確位置的檢測(cè):從整幅圖像上截取的大小為跟蹤框的α倍的一小塊作為卷積網(wǎng)絡(luò)的輸入,那么通過(guò)改進(jìn)的RPN不需要提供許多推薦框,因此減少了一些計(jì)算量?;谇耙粠\(yùn)動(dòng)狀態(tài)的跟蹤結(jié)果,通過(guò)計(jì)算光流矢量確定初選幀,F(xiàn)aster MDNet用作檢測(cè)器以確定目標(biāo)的確切位置。
第3步獲得的特征提取器為ImageNet的預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),特征選擇為網(wǎng)絡(luò)輸出的最后一層特征圖,然后根據(jù)RPN確定推薦幀是前景目標(biāo)還是背景,目標(biāo)的確切位置為前景中得分最高的推薦幀,最終獲取目標(biāo)的準(zhǔn)確位置。
本文用于訓(xùn)練的數(shù)據(jù)是ILSVRC[22]競(jìng)賽中的VID(視頻對(duì)象檢測(cè))數(shù)據(jù)集和PASCAL VOC2012[23]數(shù)據(jù)集,ILSVRC競(jìng)賽VID數(shù)據(jù)集中的訓(xùn)練數(shù)據(jù)包括3 386個(gè)視頻,分為30個(gè)類別共1 122 397幅圖像;PASCAL VOC2012共20種數(shù)據(jù)集和11 000幅圖像。
PASCAL VOC原始數(shù)據(jù)格式類似于ILSVRC VID,于是預(yù)處理的格式數(shù)據(jù)仍為PASCAL VOC數(shù)據(jù)集的格式。
在檢測(cè)目標(biāo)精確位置時(shí),可能會(huì)出現(xiàn)Faster MDNet的輸入質(zhì)量很差的情形,因?yàn)樵诟欉^(guò)程中,目標(biāo)可能只占初選框的一部分,或者目標(biāo)只會(huì)出現(xiàn)在圖像的邊緣部分,因此需要對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)預(yù)處理時(shí)訓(xùn)練數(shù)據(jù)以圖像中標(biāo)記的真實(shí)框?yàn)橹行?,并?倍大小的標(biāo)記框執(zhí)行“隨機(jī)”截取。截取的部分必須包含目標(biāo),所以“隨機(jī)”截取的過(guò)程需要在真實(shí)標(biāo)記框的前提下進(jìn)行,截取尺寸大小也需固定,為了與實(shí)際應(yīng)用相符,在模擬過(guò)程中需要將輸入樣本多樣化,將隨機(jī)截取目標(biāo)區(qū)域中的左上方、右上方、左下方、右下方和中間,并且每個(gè)樣本都是從5個(gè)截取模式中隨機(jī)選擇的,如圖3所示。
Figure 3 Random data interception 圖3 數(shù)據(jù)隨機(jī)截取
為了驗(yàn)證本文算法的性能,進(jìn)行了相關(guān)實(shí)驗(yàn),具體實(shí)驗(yàn)方案如下所示:
(1)實(shí)驗(yàn)環(huán)境:計(jì)算機(jī)硬件配置,2臺(tái)PC機(jī),其CPU: Intel? Pentium? CPU G3220@3.00 GHz 3.00 GHz,內(nèi)存:RAM 4 GB;軟件配置,操作系統(tǒng)為Windows 7旗艦版,編程與計(jì)算工具為Matlab 2018b,所有實(shí)驗(yàn)數(shù)據(jù)存儲(chǔ)在本地硬盤(pán)上。
(2)實(shí)驗(yàn)數(shù)據(jù):將VOT2014數(shù)據(jù)集用作測(cè)試數(shù)據(jù)。
(3)實(shí)驗(yàn)評(píng)價(jià)指標(biāo):①AO(Average Overlap),即跟蹤成功時(shí)跟蹤框和ground truth框之間的平均重合率,用于衡量跟蹤算法對(duì)跟蹤變形的魯棒性。②EFO(Equivalent Filter Operations),即分析跟蹤算法速度的重要指標(biāo);③精度A(Accuracy),魯棒性R(Robustness),精度水平Ar(Accuracy Rank),魯棒性等級(jí)Rr(Robustness Rank),AO的期望值EAO(Expected Average Overlap)。
為了可視化算法的性能改進(jìn),對(duì)比了C-COT[3]、TCNN[18]和Staple[4]算法。實(shí)驗(yàn)結(jié)果如表1所示。
Table 1 Comparing VOT tracking results of multiple tracking algorithms on the test dataset表1 比較多種跟蹤算法在測(cè)試數(shù)據(jù)集VOT上的跟蹤結(jié)果
從表1中看出,本文跟蹤算法在AO和EFO指標(biāo)上均有出色表現(xiàn)。不同算法的運(yùn)行性能不同,因此在評(píng)估跟蹤算法的速度時(shí)很難統(tǒng)一?;诖丝紤],VOT比賽在計(jì)算EFO時(shí)進(jìn)行了改進(jìn):先在大小為900×900 pixel的圖像上進(jìn)行窗口大小為60×60 pixel的濾波,所用時(shí)間與跟蹤算法獲取一幀圖像的時(shí)間相除,對(duì)得出的結(jié)果進(jìn)行歸一化處理獲得其性能[6]。從表1中可以看出,本文算法的EFO達(dá)到了94.256,相比其他算法高出很多。
表2為本文算法在不同測(cè)試樣本上的跟蹤長(zhǎng)度,其中,L1為測(cè)試樣本中的幀總數(shù),L2為取得成功追蹤的幀數(shù)(其閾值為0.5,表示跟蹤成功)。
Table 2 Target tracking results of the algorithm on the VOT dataset 表2 VOT數(shù)據(jù)集上本文算法的目標(biāo)跟蹤結(jié)果
根據(jù)表2的結(jié)果,本文實(shí)現(xiàn)的算法先以一個(gè)共同的目標(biāo)跟蹤框架為基礎(chǔ),然后通過(guò)光流法計(jì)算出目標(biāo)的運(yùn)動(dòng)狀態(tài),得到目標(biāo)的初選框。可以看出,本文算法的目標(biāo)跟蹤結(jié)果明顯較好,但是有許多Man樣本由于具有光遮擋和相同類型的目標(biāo),且成功跟蹤的時(shí)間很短,很容易引起漂移導(dǎo)致跟蹤失敗。
由圖4可以得出,在VOT測(cè)試集上不僅可以完全標(biāo)記出目標(biāo)的邊界,而且在目標(biāo)的移動(dòng)過(guò)程中,即使目標(biāo)會(huì)出現(xiàn)大幅度的變化(第5行和第6行),也能夠?qū)⒛繕?biāo)的邊界完整地標(biāo)記出來(lái)(灰色代表ground truth框,白色代表本文算法獲得的結(jié)果)。
Figure 4 Tracking results of algorithms圖4 不同算法的跟蹤結(jié)果
從實(shí)驗(yàn)中可看出,本文提出的融合快速多域卷積神經(jīng)網(wǎng)絡(luò)與光流法的目標(biāo)跟蹤算法,與基于深度學(xué)習(xí)的跟蹤算法相比,其跟蹤速度明顯提高;通過(guò)使用Faster MDNet算法來(lái)確定目標(biāo)的確切位置,該算法的跟蹤速度和性能表現(xiàn)良好;對(duì)于視頻中迅速移動(dòng)的目標(biāo),本文算法使用光流法先獲得初選框,使得跟蹤結(jié)果有較好的魯棒性,與文獻(xiàn)[13,16]中使用區(qū)域卷積神經(jīng)網(wǎng)絡(luò)模型以及直接使用先前跟蹤結(jié)果2倍大小的候選區(qū)域作為輸入相比,本文算法具有較大的性能優(yōu)勢(shì)。對(duì)于使用深度學(xué)習(xí)進(jìn)行目標(biāo)追蹤不能同時(shí)兼顧準(zhǔn)確度和速度的問(wèn)題,通過(guò)本文算法得到了一定的緩解,后續(xù)將進(jìn)一步提升光照遮擋和重疊魯棒性,對(duì)算法性能進(jìn)行進(jìn)一步優(yōu)化。