譚建豪 殷 旺 劉力銘 王耀南
(湖南大學(xué)電氣與信息工程學(xué)院 長沙 410082)
(機(jī)器人視覺感知與控制技術(shù)國家工程實(shí)驗(yàn)室 長沙 410082)
目標(biāo)跟蹤是計算機(jī)視覺領(lǐng)域最基本也是最有挑戰(zhàn)的熱點(diǎn)研究問題之一,基于視覺的運(yùn)動目標(biāo)跟蹤已經(jīng)廣泛應(yīng)用在監(jiān)控系統(tǒng)、無人機(jī)視覺系統(tǒng)、軍事偵查、人機(jī)交互以及無人駕駛等領(lǐng)域[1]。
近年來,目標(biāo)跟蹤主要分為兩類,基于相關(guān)濾波的方法和基于深度網(wǎng)絡(luò)方法。相關(guān)濾波方法如Henrique等人[2]提出的核相關(guān)濾波器(Kernelized Correlation Filter, KCF)算法、Danelljan等人[3]提出的空間正則化判別相關(guān)濾波器(S p a t i a l l y Regularized Discriminative Correlation Filters,SRDCF)算法,該類方法引入了核技巧,提高了跟蹤器效率,但相關(guān)濾波方法僅考慮相鄰幀間的相關(guān)特征信息,當(dāng)目標(biāo)出現(xiàn)漂移或遮擋時容易出現(xiàn)跟丟。隨著深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,以孿生卷積網(wǎng)絡(luò)來提取深度特征,進(jìn)行相似度衡量的方法具有較好的跟蹤性能。孿生全卷積(Siamese Fully-Convolutional, SiamFC)算法[4]采用兩個網(wǎng)絡(luò)分支,模板分支和目標(biāo)分支,通過相關(guān)層計算相似性,在速度和精度上獲得較好的性能?;谙嚓P(guān)濾波器的跟蹤(Correlation Filter based tracking, CFNet)算法[5]在目標(biāo)分支中引入相關(guān)濾波層對文獻(xiàn)[4]進(jìn)行改進(jìn),在線調(diào)整目標(biāo)模型。動態(tài)孿生網(wǎng)絡(luò)(Dynamic Siamese network, DSiam)[6]通過設(shè)計在線動態(tài)調(diào)整模型,提高了性能。上述Siamese系列算法雖然取得了一定的跟蹤精度和速度,但仍存在一些問題。首先,大多數(shù)孿生網(wǎng)絡(luò)算法是基于AlexNet骨干網(wǎng)絡(luò),其提取的特征都是淺層的外觀特征,缺乏深度特征,雙分支孿生神經(jīng)網(wǎng)絡(luò)(twofold Siamese network, SA-Siam)算法[7]使用兩個Siamese網(wǎng)絡(luò),一個用于提取語義信息的網(wǎng)絡(luò),另一個用于構(gòu)建外觀模型,將語義信息合并到響應(yīng)圖中,彌補(bǔ)深度信息的不足,但它們都是直接從卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)中獲取的局部特征,并沒有獲取全局上下文特征。
針對以往骨干網(wǎng)絡(luò)難以提取深層特征,且外觀模型不具有全局上下文特征兩個問題,本文在Siamese網(wǎng)絡(luò)思想的基礎(chǔ)上重新進(jìn)行網(wǎng)絡(luò)設(shè)計與搭建,提出一種引入全局上下文信息模塊的Dense-Net孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法。其創(chuàng)新有:(1)采用密集網(wǎng)絡(luò)DenseNet作為骨干網(wǎng)絡(luò),提出一種全新端到端深度密集連體結(jié)構(gòu)網(wǎng)絡(luò),它在減少網(wǎng)絡(luò)參數(shù)的同時,將層與層之間的特征在channel上進(jìn)行拼接從而達(dá)到特征重用,提高了泛化能力;(2)在網(wǎng)絡(luò)中加入全局上下文模塊(Global Context feature Module, GC-Model),通過全局池化、 1×1特征變化、特征融合等步驟將全局上下文信息進(jìn)行聚合,用以提升該算法的跟蹤性能。
網(wǎng)絡(luò)的深度對于模型的性能是至關(guān)重要的,He等人[8]在實(shí)驗(yàn)中發(fā)現(xiàn),網(wǎng)絡(luò)層數(shù)增加到一定程度時,網(wǎng)絡(luò)準(zhǔn)確度會出現(xiàn)飽和,甚至出現(xiàn)下降,并且不是過擬合所導(dǎo)致的問題,因此,殘差網(wǎng)絡(luò)由此產(chǎn)生,對于一個堆基層結(jié)構(gòu),當(dāng)輸入為 x時其所學(xué)習(xí)到的特征記作H (x),我們期望真實(shí)地學(xué)習(xí)到殘差
因此,原始的學(xué)習(xí)特征為 F(x)+x,殘差學(xué)習(xí)相比原始特征學(xué)習(xí)容易,且實(shí)際殘差不會為0,這讓堆基層在輸入特征的基礎(chǔ)上能夠?qū)W習(xí)到新特征,從而具有更好的性能。
ResNet網(wǎng)絡(luò)是在VGG19網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行修改,并引入殘差模塊,該網(wǎng)絡(luò)為后續(xù)密集型網(wǎng)絡(luò)DenseNet提供了理論與經(jīng)驗(yàn)基礎(chǔ)。
非局部神經(jīng)網(wǎng)絡(luò)(Non Local neural Network,NLNet)[11]采用自注意力機(jī)制來建模像素對關(guān)系,但是其對于每一個位置學(xué)習(xí)不受限制依賴的注意力圖(attention map), 造成了很大的計算資源浪費(fèi)。
NLNet旨在從其他位置聚集信息來增強(qiáng)當(dāng)前位置的特征, x 和z 定義為該網(wǎng)絡(luò)結(jié)構(gòu)的輸入與輸出,則NLNet可以表示為
NLNet[11]將每個查詢位置進(jìn)行全局上下文聚合,提供了一種非局部特征捕獲的開創(chuàng)性方法,該類方法旨在提取視覺場景的全局理解,廣泛應(yīng)用于識別、物體檢測、分割等領(lǐng)域。為了模擬全局上下文特征,SENet[12],GENet[13]對不同通道執(zhí)行重新加權(quán)操作,以重新校準(zhǔn)具有全局上下文的通道依賴性。
如圖2(b)所示為SENet網(wǎng)絡(luò)結(jié)構(gòu),其可以大致理解成3個過程:網(wǎng)絡(luò)中全局平均池化用于上下文建模,增強(qiáng)位置的特征;通道權(quán)值計算,即1×1卷積、RELU和Sigmoid等計算,使用特征轉(zhuǎn)換來獲取通道間的依賴;通道特征重標(biāo)定。
GC-Model是結(jié)合了SENet計算量小以及NLNet全局上下文能力等優(yōu)點(diǎn)提出了非局部操作網(wǎng)絡(luò)[14],其計算量相對較小,又能夠很好地融合全局信息,在目標(biāo)檢測中取得了重要的提升。
GC-Model中非局部操作可分為3個過程[14]:(1)用于上下文建模的全局注意力集中機(jī)制,采用1×1卷積Wk和Softmax函數(shù)來得到自注意權(quán)重,然后進(jìn)行注意力集中獲取全局背景特征;(2)特征轉(zhuǎn)換獲取通道依賴性;(3)特征融合,全局上下文模型的詳細(xì)結(jié)構(gòu)如圖3所示,可表示為式(4)GC-Model是輕量級的模型,能夠獲取遠(yuǎn)程非局部特征,且能靈活地插入各個視覺問題的網(wǎng)絡(luò)架構(gòu)中,本文將GC-Model放入骨干DenseNet網(wǎng)絡(luò)架構(gòu)中,用以提升網(wǎng)絡(luò)訓(xùn)練的泛化性能。
圖1 DenseNet的網(wǎng)絡(luò)結(jié)構(gòu)
圖2 兩種長距離依賴模型圖
近年來,SiamFC開啟了深度學(xué)習(xí)方法在目標(biāo)跟蹤領(lǐng)域的大門,通過端到端網(wǎng)絡(luò)學(xué)習(xí),使用相似度學(xué)習(xí)的方法來實(shí)現(xiàn)目標(biāo)跟蹤。其網(wǎng)絡(luò)框架如圖4所示。
孿生網(wǎng)絡(luò)通過建立兩個分支進(jìn)行訓(xùn)練,兩分支所使用的骨干網(wǎng)絡(luò)完全一致,在SiamFC中,采用互相關(guān)函數(shù) f(z,x)作 為相似度函數(shù),計算經(jīng)過φ 之后的特征提取后的特征圖相似性[15]
圖3 全局上下文GC-Model模塊
其中,*表示卷積, kI表示響應(yīng)圖在每個位置的取值。
上述第2節(jié),第3節(jié)詳細(xì)地介紹了骨干網(wǎng)絡(luò)架構(gòu)和孿生網(wǎng)絡(luò)架構(gòu)的基本信息。(1)DenseNet網(wǎng)絡(luò)是一種密集連接型網(wǎng)絡(luò),在構(gòu)建更深層網(wǎng)絡(luò)的同時減少了層之間的參數(shù)量,能夠增強(qiáng)算法的泛化性能,并且能夠解決訓(xùn)練過程中的梯度消失問題;(2)GCNet綜合了SENet計算量小以及NLNet全局上下文能力等優(yōu)點(diǎn),其計算量相對較小,又能夠很好地融合全局信息,可融入任何骨干網(wǎng)絡(luò)當(dāng)中用以提升性能;(3)孿生網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)方式已經(jīng)在目標(biāo)跟蹤上取得了較好的跟蹤性能,且實(shí)時性較好。據(jù)此以上述3個研究成果為出發(fā)點(diǎn),整理思路,本文通過假設(shè)、組合、實(shí)驗(yàn)驗(yàn)證等一系列步驟,最終得出本文SDGCNet目標(biāo)跟蹤網(wǎng)絡(luò)框架。其網(wǎng)絡(luò)框圖如圖5所示。
本文提出一種引入全局上下文信息模塊的Dense-Net孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法SiamDenseNet+GCModel,簡稱SD-GCNet,其核心思想是以密集型網(wǎng)絡(luò)DenseNet作為孿生網(wǎng)絡(luò)的骨干[16],在骨干網(wǎng)絡(luò)中引入GC-Model,搭建SD-GCNet網(wǎng)絡(luò)框架。
為了更加明顯地表示網(wǎng)絡(luò)結(jié)構(gòu),特以表1形式進(jìn)行展示。
SD-GCNet網(wǎng)絡(luò)實(shí)際上是一種判別的二分類方法,在正負(fù)樣本對上采用極大似然估計進(jìn)行訓(xùn)練,本文采用Logistic損失函數(shù),如式(6)
圖4 孿生網(wǎng)絡(luò)目標(biāo)跟蹤框架圖
圖5 SD-GCNet算法框架
表1 網(wǎng)絡(luò)結(jié)構(gòu)
對每一個像素位置o ,都有對應(yīng)的標(biāo)簽y。當(dāng)位置 o 與圖像中心位置的距離在一個閾值內(nèi)時,將其視為正樣本,否則視為負(fù)樣本。
本文算法實(shí)現(xiàn)與調(diào)試在ubuntu16.04操作系統(tǒng)下,計算機(jī)硬件配置為Intel Core i7-8700k 主頻3.7 GHz, GeForce RTX2080TI顯卡。
SD-GCNet算法在ILSVRC2015和GOT-10K數(shù)據(jù)集共6000個視頻序列上進(jìn)行訓(xùn)練,該數(shù)據(jù)集具有各種各樣的視頻目標(biāo)對象,具備一定的普遍性。本文采用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)優(yōu)化算法以動量參數(shù)為0.9訓(xùn)練網(wǎng)絡(luò),學(xué)習(xí)率從10?8~ 10?3在訓(xùn)練過程中逐漸遞減,用高斯函數(shù)初始化參數(shù),batchsize設(shè)置為16。通過5種尺寸1.0327{?2,?1,0,1,2}上的搜索對象來調(diào)整尺寸變化,輸入候選圖像尺寸為127×127,搜索圖像尺寸為255×255,使用線性插值來更新尺寸。
為驗(yàn)證本文提出的SD-GCNet算法可靠性,特在VOT2017數(shù)據(jù)集上對算法進(jìn)行定量評估,在OTB50數(shù)據(jù)集上對算法進(jìn)行定性分析,從多個數(shù)據(jù)集多種角度驗(yàn)證算法的有效性和優(yōu)越性。
5.2.1 定量分析
如表2所示,為本文算法在VOT2017[17]數(shù)據(jù)集上與目前較為主流的6種目標(biāo)跟蹤算法SiamFC,SiamVGG[18], DCFNet[19], SRDCF[3], DeepCSRDC,Staple[20]在精確度、魯棒性等指標(biāo)上的性能對比,其中表中魯棒性用跟丟次數(shù)來衡量,SiamFC,SiamVGG, DCFNet為深度學(xué)習(xí)算法,SRDCF,DeepCSRDCF, Staple為相關(guān)濾波算法。
由表2可知,本文算法在目標(biāo)跟蹤的精確度上均高于其余算法,與用VGG-16作為骨干網(wǎng)絡(luò)SiamVGG算法相比,在VOT2017數(shù)據(jù)集上,其精確度提升了1.9%,平均重疊期望提升了1.0%,與以AlexNet作為主干網(wǎng)絡(luò)的SiamFC算法相比,則性能提升更多,這更進(jìn)一步驗(yàn)證了本文DenseNet作為主干網(wǎng)絡(luò)的優(yōu)越性。
為了進(jìn)一步分析該算法的優(yōu)缺點(diǎn),本文提供了其在VOT2017數(shù)據(jù)集上的具體屬性對比,包括相機(jī)移動、目標(biāo)丟失、光照變化、運(yùn)動變化、目標(biāo)遮擋、尺度變化共6種屬性。
表3和表4分別列出了上述6種屬性下算法的跟蹤精度和跟蹤魯棒性,其中,加粗?jǐn)?shù)字表示排名第1,藍(lán)色數(shù)字表示排名第2,從表中可以看出,本文算法除光照變化外,其跟蹤精度均處于最優(yōu)位置,在跟蹤魯棒性上,相機(jī)移動和尺度變化也處于領(lǐng)先位置,其余均排在前列。由此表明,本文算法具有較好的跟蹤精度,在較多復(fù)雜的條件下也能有較好的跟蹤魯棒性。
5.2.2 定性分析
圖6給出了本文算法與另外4種算法SiamFC,SRDCF, Staple, Struck[21]在OTB50[22]上的跟蹤結(jié)果,表5表示了測試序列的影響因素。
根據(jù)圖6的跟蹤結(jié)果和表5的影響因素對算法進(jìn)行如下定性分析:
(1) 快速運(yùn)動:以測試序列Bolt和Ironman為例,目標(biāo)快速移動,目標(biāo)外觀和背景都發(fā)生快速變化,對匹配性算法和更新模板類算法都會產(chǎn)生較大的影響。SRDCF和Struck算法在序列Bolt上第10幀就完全丟失了目標(biāo),并且基于模板更新,后續(xù)不能恢復(fù)跟蹤,在序列Ironman第38幀,SRDCF,Staple, Struck已經(jīng)完全丟失目標(biāo),只有本文算法在兩種干擾因素下保持良好跟蹤。
(2) 背景干擾、雜波,光照變化:以測試序列carDark為例,在背景干擾嚴(yán)重,光照變化明顯的條件下,對于前景特征提取的準(zhǔn)確性顯得尤為重要。在carDark序列第295幀,匹配類算法SiamFC已經(jīng)出現(xiàn)目標(biāo)丟失,這進(jìn)一步說明DenseNet骨干網(wǎng)絡(luò)優(yōu)于AlexNet在背景干擾上的特征提取能力。
表2 在VOT2017數(shù)據(jù)集上與主流算法的基礎(chǔ)模型結(jié)果對比
(3) 遮擋:以測試序列Jogging-2為例,在該序列第53幀時出現(xiàn)跟蹤目標(biāo)完全被遮擋情況,當(dāng)遮擋消失,Staple算法和Struck算法全部跟丟,本文算法,SiamFC, SRDCF能夠重新恢復(fù)跟蹤,本文算法和SiamFC采用第1幀目標(biāo)匹配方法,能夠在目標(biāo)消失遮擋時恢復(fù)跟蹤。
本文所提算法有上述優(yōu)點(diǎn),在快速運(yùn)動、背景干擾、遮擋等方面具備一定的性能,但其涉及較深的深度網(wǎng)絡(luò),在運(yùn)行時對計算機(jī)性能要求頗高,如果將其運(yùn)用在機(jī)器人或旋翼無人機(jī)等實(shí)際設(shè)備上,對小型機(jī)載計算機(jī)性能有要求,才能確保達(dá)到實(shí)時跟蹤狀態(tài),且本文算法并沒有設(shè)定自適應(yīng)目標(biāo)跟蹤框,也沒有使用動態(tài)孿生網(wǎng)絡(luò)方法進(jìn)行參數(shù)更新,后續(xù)可以考慮在這幾個方面進(jìn)行進(jìn)一步的研究,以便達(dá)到更好的跟蹤性能。
本文提出了一種引入全局上下文特征模塊的DenseNet孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法。使用較深層的密集型DenseNet網(wǎng)絡(luò),獲取更深層的前景外觀特征和語義背景,增強(qiáng)了算法的泛化性能;將全局上下文特征模塊嵌入孿生網(wǎng)絡(luò)分支,提高算法跟蹤精度。在兩個流行的數(shù)據(jù)集VOT2017, OTB50上評估,實(shí)驗(yàn)結(jié)果表明了該算法具備良好的跟蹤精度與魯棒性,在尺度變化、低分辨率、遮擋等情況下具有良好的跟蹤效果。
表3 不同屬性下算法的跟蹤精度對比
表4 不同屬性下算法的跟蹤魯棒性對比(數(shù)字表示失敗次數(shù))
圖6 本文算法與4種算法的跟蹤結(jié)果對比
表5 OTB50中測試序列與其影響因素