陳麗萍,苑侗侗,楊文柱,陳向陽(yáng),王思樂(lè)
(河北大學(xué) 網(wǎng)絡(luò)空間安全與計(jì)算機(jī)學(xué)院,河北 保定 071002)
視覺(jué)目標(biāo)跟蹤一直以來(lái)都是一項(xiàng)具有挑戰(zhàn)性的工作,也是計(jì)算機(jī)視覺(jué)領(lǐng)域研究的熱點(diǎn)方向,其任務(wù)就是在給定特定視頻序列初始幀的目標(biāo)位置的情況下,預(yù)測(cè)后續(xù)幀中該目標(biāo)的準(zhǔn)確位置及目標(biāo)狀態(tài),從而得到目標(biāo)完整的運(yùn)動(dòng)軌跡.目標(biāo)跟蹤在現(xiàn)實(shí)生活中有著廣泛的應(yīng)用,如視頻監(jiān)控、智能人機(jī)交互、跟蹤系統(tǒng)的設(shè)計(jì)[1].由于目標(biāo)在運(yùn)動(dòng)過(guò)程中的背景復(fù)雜、運(yùn)動(dòng)模糊、外觀形變等問(wèn)題,使得跟蹤器很難對(duì)目標(biāo)進(jìn)行準(zhǔn)確定位.雖然深度學(xué)習(xí)的發(fā)展和計(jì)算能力的增強(qiáng)使得目標(biāo)跟蹤算法在效果上有了顯著的提升,但仍有許多難題亟待解決.近年來(lái),隨著人工智能技術(shù)的發(fā)展,眾多的研究者將深度學(xué)習(xí)算法應(yīng)用到目標(biāo)跟蹤中,取得了較好的跟蹤性能,其中基于孿生卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤算法在目標(biāo)跟蹤國(guó)際大賽中取得了優(yōu)異的成績(jī)[2].
基于孿生卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)跟蹤算法采用互相關(guān)操作來(lái)計(jì)算目標(biāo)模板和搜索區(qū)域的特征表示圖的相似度,將相似度最大的區(qū)域作為跟蹤目標(biāo)區(qū)域.首次將孿生神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)運(yùn)用到目標(biāo)跟蹤領(lǐng)域的是全卷積孿生網(wǎng)絡(luò)算法(fully-convolutional siamese network,SiamFC)[3]. SiamFC的網(wǎng)絡(luò)結(jié)構(gòu)足夠簡(jiǎn)單,采用端到端的離線訓(xùn)練,跟蹤速度很快,但在遇到復(fù)雜背景及劇烈的背景變化時(shí)跟蹤效果不佳. SiamRPN[4]將SiamFC結(jié)構(gòu)與目標(biāo)檢測(cè)任務(wù)中的候選區(qū)域網(wǎng)絡(luò)(region proposal network,RPN)串聯(lián)在一起,進(jìn)行端到端的離線訓(xùn)練,然后將在線跟蹤任務(wù)轉(zhuǎn)換為one-shot檢測(cè)任務(wù),避免了多尺度測(cè)試,在保證了準(zhǔn)確率的同時(shí)達(dá)到了實(shí)時(shí)檢測(cè)的速度要求.孿生級(jí)聯(lián)RPN網(wǎng)絡(luò)(siamese cascaded RPN,C-RPN)[5]通過(guò)正負(fù)樣本抽樣,解決了訓(xùn)練樣本失衡問(wèn)題,當(dāng)出現(xiàn)與目標(biāo)相似的干擾物時(shí),算法不易出現(xiàn)目標(biāo)丟失;同時(shí)融合了多層次特征,得到了更好的特征表達(dá). SiamRPN++[4]通過(guò)均勻分布的采樣方式,緩解深層網(wǎng)絡(luò)對(duì)平移不變性的破壞,進(jìn)而將深層次網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)用到跟蹤任務(wù)中. SiamDW (deeper and wider siamese networks for real-time visual tracking)算法[6]使用CIResNet網(wǎng)絡(luò)作為跟蹤器的主干網(wǎng)絡(luò),同時(shí)使用CIR單元減弱網(wǎng)絡(luò)填充對(duì)跟蹤性能的影響,有效解決了深度模型應(yīng)用到目標(biāo)跟蹤上的退化問(wèn)題. SiamAttn(deformable siamese attention networks)算法[7]提出一種新的孿生注意力機(jī)制,包括可變形的自注意力機(jī)制和互注意力機(jī)制,該算法在各個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果均達(dá)到了先進(jìn)水平.
盡管基于孿生卷積神經(jīng)網(wǎng)絡(luò)的跟蹤算法效果顯著,但仍存在一些尚未解決的問(wèn)題,如:為應(yīng)對(duì)跟蹤過(guò)程中的目標(biāo)模糊、尺度變化問(wèn)題,模型需要強(qiáng)大的特征表達(dá)能力和目標(biāo)判別能力.因此,為提高特征圖質(zhì)量,增強(qiáng)模型在復(fù)雜背景下的判別能力,文章在SiamFC的跟蹤算法框架之下,將深層殘差網(wǎng)絡(luò)ResNet-50[8]引入孿生網(wǎng)絡(luò),提出了一種融合多層特征圖進(jìn)行目標(biāo)預(yù)測(cè)的深層孿生網(wǎng)絡(luò)跟蹤算法(fully convolutional siamese network with ResNet-50,SiamFC-50),并設(shè)計(jì)了高置信度模板更新機(jī)制以避免模板更新過(guò)程中的錯(cuò)誤累積導(dǎo)致的模板漂移.
如圖1所示,SiamFC算法的網(wǎng)絡(luò)結(jié)構(gòu)由上下2個(gè)結(jié)構(gòu)相同、參數(shù)共享的子網(wǎng)絡(luò)構(gòu)成.Z為輸入的模板圖像,即第1幀圖像中的目標(biāo)框,大小為127×127×3;X表示搜索區(qū)域,大小為255×255×3.2個(gè)輸入分別送入2個(gè)子網(wǎng)絡(luò)進(jìn)行特征提取后,得到大小分別為6×6×128和22×22×128的特征圖.然后再對(duì)提取的特征進(jìn)行互相關(guān)操作,得到1張大小為17×17×1的響應(yīng)圖,響應(yīng)圖值最高的位置即為Z可能的位置.互相關(guān)操作如下:
f(z,x)=φ(z)*φ(x)+b∏,
(1)
其中,b∏為響應(yīng)圖中每個(gè)位置對(duì)應(yīng)的值,φ為特征提取操作,*為卷積運(yùn)算,通過(guò)卷積運(yùn)算提取X中與Z最為相近的部分.
圖1 SiamFC結(jié)構(gòu)Fig.1 Architecture of SiamFC
SiamFC的特征提取網(wǎng)絡(luò)采用的是改進(jìn)后的AlexNet.改進(jìn)后的主干網(wǎng)絡(luò)去掉了全連接層,并在Conv2、Conv4、Conv5中將卷積核進(jìn)行分組,以提升模型的計(jì)算速度.
在SiamFC的基礎(chǔ)上,本文構(gòu)建的深層孿生網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.該網(wǎng)絡(luò)結(jié)構(gòu)分為前后2部分:前半部分是特征提取網(wǎng)絡(luò),用ResNet-50深層殘差網(wǎng)替換SiamFC的AlexNet淺層網(wǎng)絡(luò);后半部分是模板更新機(jī)制,通過(guò)以模板特征為卷積核,在檢測(cè)特征圖上進(jìn)行卷積操作得到模板與檢測(cè)特征圖的相似度響應(yīng)圖,然后通過(guò)計(jì)算響應(yīng)圖的平均峰值相關(guān)能量(average peak-to correlation energy,APCE)[9]衡量跟蹤的穩(wěn)定性及結(jié)果的有效性,當(dāng)滿足更新條件時(shí),利用高置信度的跟蹤結(jié)果對(duì)模板進(jìn)行更新.
隨著深度學(xué)習(xí)的不斷發(fā)展,深層網(wǎng)絡(luò)結(jié)構(gòu)逐步被應(yīng)用于目標(biāo)檢測(cè)和目標(biāo)分割任務(wù)中.但是,當(dāng)用深層網(wǎng)絡(luò)直接替換孿生網(wǎng)絡(luò)跟蹤模型的淺層主干網(wǎng)后,跟蹤效果并未得到提升.對(duì)此,SiamRPN++算法進(jìn)行了詳細(xì)的分析和實(shí)驗(yàn),得出了以下結(jié)論:1)降低主干網(wǎng)絡(luò)的有效步長(zhǎng)有利于提升孿生網(wǎng)絡(luò)的跟蹤效果;2)填充操作導(dǎo)致深層網(wǎng)絡(luò)喪失了平移不變性.為降低位置偏差對(duì)跟蹤效果帶來(lái)的影響,訓(xùn)練中可以將正樣本均勻分布在目標(biāo)中心點(diǎn)周?chē)?
依據(jù)以上分析,對(duì)ResNet-50主干網(wǎng)的網(wǎng)絡(luò)步長(zhǎng)和感受野進(jìn)行了調(diào)整.在原有的網(wǎng)絡(luò)結(jié)構(gòu)中,步長(zhǎng)為32像素,輸出的特征圖大小為7×7.由于特征圖變小,相似度響應(yīng)圖中保留的目標(biāo)信息就很少,不利于對(duì)目標(biāo)的準(zhǔn)確定位.針對(duì)此問(wèn)題,將殘差塊layer3和layer4的步長(zhǎng)縮短為單位步長(zhǎng),同時(shí)通過(guò)空洞卷積操作增大感受野,最后有效步長(zhǎng)從16像素、32像素縮減為8像素,使得后3層殘差塊輸出的特征圖大小保持一致.為降低后續(xù)卷積操作的運(yùn)算量及模型復(fù)雜度,通過(guò)1×1卷積操作將特征圖通道數(shù)降至統(tǒng)一維度,同時(shí)對(duì)模板特征圖中心位置進(jìn)行裁剪,將模板特征圖大小變?yōu)?×7.調(diào)整后的網(wǎng)絡(luò)結(jié)果如表1所示.
圖2 SiamFC-50網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Architecture of SiamFC-50 network
表1 ResNet-50網(wǎng)絡(luò)結(jié)構(gòu)
(2)
然后,以模板分支得到的特征圖為卷積核,在檢測(cè)分支輸出的特征圖上卷積,公式如下:
(3)
SiamFC算法在跟蹤時(shí)沒(méi)有設(shè)置模板在線更新機(jī)制,雖然速度快,但要求特征必須對(duì)各種干擾和目標(biāo)形變都具有非常強(qiáng)的魯棒性.引入模板在線更新機(jī)制雖然能隨時(shí)適應(yīng)目標(biāo)和背景的變化,而且對(duì)特征的要求較低,但是如果模板被頻繁更新則很難應(yīng)對(duì)跟蹤過(guò)程中出現(xiàn)的目標(biāo)尺度變化及形變等問(wèn)題.因此,文中算法利用平均峰值相關(guān)能量APCE[9]作為判別目標(biāo)模板是否更新的標(biāo)準(zhǔn),其定義為
(4)
其中,F(xiàn)max、Fmin和Fw,h分別表示響應(yīng)圖的最大值、最小值和點(diǎn)(w,h)處的響應(yīng)值.
APCE通過(guò)判斷目標(biāo)遮擋程度來(lái)衡量當(dāng)前跟蹤情況的穩(wěn)定性.當(dāng)目標(biāo)未被遮擋時(shí),APCE值較高,響應(yīng)圖出現(xiàn)明顯的單峰狀態(tài),接近正太分布;當(dāng)目標(biāo)被遮擋時(shí),APCE值較低,響應(yīng)圖呈現(xiàn)多峰狀態(tài).根據(jù)不同場(chǎng)景設(shè)置閾值,當(dāng)APCE值超過(guò)閾值時(shí),表示跟蹤結(jié)果可信度較高,此時(shí)對(duì)模板進(jìn)行更新;反之,則不更新.模板更新公式為
RT=RT*η+(1-η)*RX,
(5)
其中η表示更新比例,RT表示模板特征,RX表示高置信度的跟蹤結(jié)果特征.
采用YouTube-BB(YouTube-Bounding Boxes)[10]、COCO[11]、ImageNet VID[12]數(shù)據(jù)集進(jìn)行離線訓(xùn)練.從數(shù)據(jù)集中隨機(jī)選擇一幀包含目標(biāo)的圖像后,再隨機(jī)選擇一幀不包括相同目標(biāo)的圖像組成負(fù)樣本對(duì);選擇同一視頻序列中相隔不超過(guò)100幀且都包含目標(biāo)的2幀圖像作為正樣本訓(xùn)練對(duì).在訓(xùn)練和測(cè)試過(guò)程中,使用單張大小為127×127像素的圖像作為搜索模板,大小為255×255像素的圖像作為搜索區(qū)域.訓(xùn)練時(shí),前5個(gè)周期設(shè)置學(xué)習(xí)率為0.001,之后的15個(gè)周期以端到端方式訓(xùn)練網(wǎng)絡(luò).采用隨機(jī)梯度下降法來(lái)調(diào)整網(wǎng)絡(luò)參數(shù),將動(dòng)量置為0.9、權(quán)重衰減系數(shù)置為0.000 5.整體迭代次數(shù)為50次,每次迭代60 000個(gè)樣本對(duì).為得到更適用于跟蹤任務(wù)的特征提取網(wǎng)絡(luò)參數(shù),在后40次迭代中更新主干網(wǎng)絡(luò)參數(shù)且學(xué)習(xí)率設(shè)為預(yù)測(cè)網(wǎng)絡(luò)的十分之一.
實(shí)驗(yàn)用電腦配置:Windows10操作系統(tǒng),英特爾i7-8700K CPU和GTX1080Ti顯卡.
為評(píng)估所提算法的有效性,選擇在OTB2015[13]視頻基準(zhǔn)庫(kù)上進(jìn)行實(shí)驗(yàn),同時(shí)與多種最新算法和經(jīng)典算法進(jìn)行了對(duì)比實(shí)驗(yàn).OTB2015數(shù)據(jù)集是視覺(jué)跟蹤領(lǐng)域廣泛使用的基準(zhǔn)庫(kù),包含了100個(gè)人工標(biāo)注的視頻序列,并涵蓋了跟蹤過(guò)程中的11種挑戰(zhàn)性因素,如:尺度變化、光照變化、運(yùn)動(dòng)模糊、平面內(nèi)旋轉(zhuǎn)等.為準(zhǔn)確、公平、全面地評(píng)估跟蹤器的性能,本文使用一次評(píng)估(OPE)法,分別從成功率和精確度2個(gè)性能指標(biāo)來(lái)衡量目標(biāo)跟蹤精準(zhǔn)度.成功率是跟蹤成功的視頻幀數(shù)占視頻序列總幀數(shù)的百分比,當(dāng)重合率得分大于給定閾值后即視為跟蹤成功;精確度指預(yù)測(cè)目標(biāo)中心位置誤差小于給定閾值的視頻幀數(shù)占比,誤差是預(yù)測(cè)位置中心與標(biāo)注中心位置間的歐氏距離.重合率定義為
(6)
其中,Grec、Prec分別表示人工標(biāo)注的目標(biāo)邊界框和預(yù)測(cè)得出的邊界框;∩和∪分別表示交集、并集運(yùn)算.
OTB100數(shù)據(jù)集上不同算法的成功率、精確度對(duì)比如圖3所示,其中包括本文算法SiamFC-50和7個(gè)具有代表性的算法SiamFC[4]、Staple[14]、LCT[15]、CFNet[16]、MEEM[17]、DSST[18]、KCF[1].從圖3中可以看出,文中所提算法SiamFC-50在成功率和精確度上都排在第1位,對(duì)比基準(zhǔn)算法SiamFC,成功率提高了3.4%,精確度提高了2.6%,驗(yàn)證了算法的有效性.
為全面驗(yàn)證文中算法的有效性,對(duì)不同跟蹤器在不同挑戰(zhàn)因素下的跟蹤成功率進(jìn)行了對(duì)比.由表2所知,只有在低分辨率時(shí)所提算法成功率低于其他算法,在剩余的場(chǎng)景中都高于其他算法.實(shí)驗(yàn)結(jié)果表明,SiamFC-50算法在跟蹤過(guò)程中能夠很好地處理目標(biāo)的快速運(yùn)動(dòng)、遮擋和運(yùn)動(dòng)模糊等問(wèn)題,所提模型有較好的魯棒性.
a.成功率對(duì)比;b.精確度對(duì)比.圖3 不同算法在OTB100上的對(duì)比結(jié)果Fig.3 Comparisons of different algorithms on OTB100
表2 多種挑戰(zhàn)因素下的跟蹤結(jié)果對(duì)比
為了對(duì)比各個(gè)算法在不同環(huán)境下的跟蹤效果,將SiamFC-50與SiamFC、CFNet、Staple這3種算法在OTB100上進(jìn)行了對(duì)比,實(shí)驗(yàn)效果如圖4所示.
1)圖4a中,目標(biāo)在運(yùn)動(dòng)過(guò)程中發(fā)生了形變,同時(shí)伴有運(yùn)動(dòng)模糊狀態(tài).對(duì)比基準(zhǔn)算法SiamFC,文中算法SiamFC-50面對(duì)目標(biāo)旋轉(zhuǎn),能夠更快、更精準(zhǔn)地實(shí)現(xiàn)目標(biāo)定位.在第118幀時(shí),SiamFC丟失了目標(biāo),而SiamFC-50成功定位出目標(biāo)位置;第398和435幀時(shí),目標(biāo)出現(xiàn)了模糊狀態(tài),所提算法也較為精準(zhǔn)地定位出目標(biāo).由此說(shuō)明更深層的特征有助于提升跟蹤精度.
2)圖4b中,盒子不斷旋轉(zhuǎn),第517幀時(shí),圖像出現(xiàn)盒子的2個(gè)面,此時(shí)只有SiamFC-50可以較完整地框出盒子,說(shuō)明高置信度模板更新機(jī)制能夠幫助模型篩選出更為有效的信息,使用可信度高的跟蹤結(jié)果更新模板后,學(xué)習(xí)到了盒子多個(gè)面的特征.同樣,序列(f)Sylvester中目標(biāo)也頻繁發(fā)生旋轉(zhuǎn),所提算法表現(xiàn)也優(yōu)于其他算法.
3)圖4c中的汽車(chē)發(fā)生了明顯的尺度變化,隨著車(chē)輛的行駛,SiamFC-50不僅能夠?qū)?chē)輛尺度變大做出迅速反應(yīng),而且對(duì)比其他算法框出的邊界框,SiamFC-50的邊界框更貼合車(chē)輛.
4)序列Dudek(圖4d)和序列Lemming(圖4g)中出現(xiàn)了不同程度的目標(biāo)遮擋情況.在序列(圖4d)中的第212幀人臉被輕微遮擋,所有算法跟蹤效果都比較穩(wěn)定;序列(圖4g)中第345幀時(shí)目標(biāo)被嚴(yán)重遮擋,各個(gè)算法都未定位到目標(biāo),之后目標(biāo)緩慢出現(xiàn),當(dāng)?shù)?68幀時(shí),SiamFC-50最先定位到目標(biāo).
5)序列Matrix(圖4e)中環(huán)境光照出現(xiàn)變化,對(duì)目標(biāo)識(shí)別和定位都有嚴(yán)重影響.第82幀時(shí),環(huán)境變亮,只有SiamFC-50定位到目標(biāo),其他算法都出現(xiàn)了目標(biāo)丟失,這說(shuō)明深度特征對(duì)目標(biāo)有更加強(qiáng)大的表達(dá)能力.
通過(guò)上述分析,所提算法SiamFC-50可以較好地抵抗目標(biāo)形變、遮擋、運(yùn)動(dòng)模糊、光照變化等多種復(fù)雜因素帶來(lái)的影響,有較好的魯棒性.
a.Board;b.Box;c.CarScale;d.Dudek;e.Matrix;f.Sylvester;g.Lemming.圖4 不同場(chǎng)景下的跟蹤結(jié)果對(duì)比Fig.4 Tracking results in different video scenes
通過(guò)改進(jìn)SiamFC框架提出了一種基于模板更新的深層孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法.1)用深度殘差網(wǎng)絡(luò)ResNet-50替代SiamFC的淺層主干網(wǎng),使網(wǎng)絡(luò)能提取到更具有表征能力的深層網(wǎng)絡(luò)特征;2)為應(yīng)對(duì)背景干擾、運(yùn)動(dòng)模糊等問(wèn)題,對(duì)高、中、低層特征進(jìn)行融合,提高了跟蹤的準(zhǔn)確度;3)通過(guò)對(duì)響應(yīng)圖進(jìn)行置信度評(píng)估,選取高置信度的結(jié)果對(duì)模板進(jìn)行更新,減少模板更新次數(shù),避免了跟蹤過(guò)程中的模板漂移.實(shí)驗(yàn)結(jié)果表明,所提算法相較于其他經(jīng)典算法在成功率、準(zhǔn)確度和魯棒性方面表現(xiàn)更好.下一步將探索更有效的特征提取方法來(lái)描述對(duì)象,并改進(jìn)模板更新模塊以完善跟蹤器.