馮琪堯,張?bào)@雷
(1.天津理工大學(xué)電氣工程與自動(dòng)化學(xué)院,天津 300384;2.天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點(diǎn)實(shí)驗(yàn)室,天津 300384)
隨著卷積神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)在目標(biāo)檢測(cè)領(lǐng)域取得成功,越來越多的研究者將其運(yùn)用到目標(biāo)跟蹤中,并取得了很好的效果[1]。深度學(xué)習(xí)方法的優(yōu)勢(shì)在于使用深度特征對(duì)圖像信息進(jìn)行編碼,而深度特征有較強(qiáng)的特征表達(dá)能力和泛化能力[2],相比傳統(tǒng)手工特征更加精確,能減小復(fù)雜外觀和背景的影響,適應(yīng)不同的跟蹤場(chǎng)景。
目前,目標(biāo)跟蹤算法主要分為基于相關(guān)濾波的算法和基于深度學(xué)習(xí)的算法?;谙嚓P(guān)濾波的算法中以核化相關(guān)濾波器KCF (Kernelized Correlation Filters)[3]為代表,使用循環(huán)矩陣采集正負(fù)樣本,利用脊回歸訓(xùn)練目標(biāo)檢測(cè)器,取得了良好的效果。后續(xù)的區(qū)別尺度空間跟蹤器DSST (Discriminative Scale Space Tracker )[4]、時(shí)域正則相關(guān)濾波SRDCF (Spatially Regularized Discriminative Correlation Filters)[5]、高效卷積算子ECO (Efficient Convolution Operators )[6]等算法均在此基礎(chǔ)上進(jìn)行改進(jìn),但都以增加算法復(fù)雜度的方式提升跟蹤效果,導(dǎo)致速度大幅降低?;谏疃葘W(xué)習(xí)類算法中,孿生網(wǎng)絡(luò)類算法因其在速度與精度上取得了良好的平衡,受到學(xué)者們的廣泛關(guān)注[7,8]。該類算法以全卷積孿生SiamFC (Fully-Convolutional Siamese) 網(wǎng)絡(luò)目標(biāo)跟蹤算法[9]為代表,將目標(biāo)跟蹤看作圖像匹配任務(wù),將標(biāo)記的跟蹤目標(biāo)作為模板,在后續(xù)幀中尋找匹配的樣本,取得了良好的效果,此類算法僅需進(jìn)行離線訓(xùn)練,使速度得到保證。孿生實(shí)例搜索跟蹤器SINT (Siamese InNstance search for Tracker)[10]在孿生網(wǎng)絡(luò)框架下重新設(shè)計(jì)了特征提取網(wǎng)絡(luò),將目標(biāo)跟蹤任務(wù)看作一個(gè)定位問題,加入了感興趣區(qū)域池化層,并利用光流進(jìn)一步提升了跟蹤效果。DSiam (Dynamic Siamese)[11]是一種動(dòng)態(tài)孿生網(wǎng)絡(luò)模型,可在線學(xué)習(xí)目標(biāo)外觀變化,并在網(wǎng)絡(luò)中融合多層特征,提升了網(wǎng)絡(luò)特征表達(dá)能力。早停跟蹤器EAST (EArly-Stopping Tracker)[12]提出一種根據(jù)特征提取網(wǎng)絡(luò)中每層的特征表達(dá)質(zhì)量“早?!钡呗?,若淺層網(wǎng)絡(luò)中表達(dá)質(zhì)量滿足需求則不向深層傳遞,降低了算法復(fù)雜度。相關(guān)濾波器孿生網(wǎng)CFNet (Correlation Filter siamese Network)[13]將相關(guān)濾波器作為孿生網(wǎng)絡(luò)中的一個(gè)分層進(jìn)行訓(xùn)練,提升了算法性能,但為保證速度縮減了網(wǎng)絡(luò)步長(zhǎng)和特征通道數(shù),降低了特征表達(dá)質(zhì)量。
針對(duì)孿生網(wǎng)絡(luò)類算法易導(dǎo)致算法在光照變化、目標(biāo)形變和遮擋等復(fù)雜場(chǎng)景中跟蹤失敗的問題,本文提出一種混合注意力機(jī)制,以抑制圖像中的干擾信息,使跟蹤算法在復(fù)雜場(chǎng)景中具有更好的跟蹤精度。另外,在訓(xùn)練階段本文提出一種自對(duì)抗訓(xùn)練樣本對(duì)的構(gòu)建方法,以模擬復(fù)雜場(chǎng)景,并利用多個(gè)損失函數(shù)進(jìn)行聯(lián)合訓(xùn)練,提升了算法的泛化性。在多個(gè)公開測(cè)試集上的實(shí)驗(yàn)表明,本文算法較經(jīng)典算法取得了更好的跟蹤精度與更強(qiáng)的泛化性,同時(shí)速度滿足實(shí)時(shí)跟蹤需求。
SiamFC是一種基于深度學(xué)習(xí)的目標(biāo)跟蹤算法,包括離線訓(xùn)練和在線跟蹤2個(gè)階段。
離線訓(xùn)練階段采用圖像對(duì)進(jìn)行訓(xùn)練,從視頻序列圖像中取距離小于閾值D的2幀構(gòu)建訓(xùn)練樣本對(duì),較前一幀作為示例圖像z,較后一幀作為搜索圖像x,分別輸入孿生網(wǎng)絡(luò)的2個(gè)分支;利用骨干網(wǎng)絡(luò)進(jìn)行特征提取,骨干網(wǎng)絡(luò)使用調(diào)整后的AlexNet[14],得到模板特征圖和搜索區(qū)域特征圖,對(duì)二者進(jìn)行卷積操作,得到最終的響應(yīng)得分圖。該過程表示如式(1)所示:
fSiamFC(z,x)=φ(z)*φ(x)
(1)
其中,φ表示骨干網(wǎng)絡(luò),*表示卷積操作。
訓(xùn)練階段將得分圖與標(biāo)簽(數(shù)據(jù)集中使用一個(gè)矩形框在每幀圖像中標(biāo)出目標(biāo)位置,以矩形框區(qū)域作為目標(biāo),以像素點(diǎn)為單位,在每幀圖像上生成目標(biāo)的概率分布圖,即為標(biāo)簽)進(jìn)行對(duì)比,若得分圖上某一像素點(diǎn)與標(biāo)簽相差小于閾值R時(shí),視為正樣本,否則視為負(fù)樣本,如式(2)所示:
(2)
其中,p是得分圖中某個(gè)位置的正負(fù)樣本屬性,u是該位置對(duì)應(yīng)的標(biāo)簽,c是該位置在得分圖中的響應(yīng)值,k是網(wǎng)絡(luò)步長(zhǎng)。
訓(xùn)練過程利用Logistic loss定義損失,如式(3)所示:
L(p,u)=log(1+exp(-pu))
(3)
以所有像素點(diǎn)損失的平均值作為該圖像對(duì)的總損失。SiamFC應(yīng)用隨機(jī)梯度下降法最小化損失函數(shù),來訓(xùn)練孿生網(wǎng)絡(luò)參數(shù)θ,如式(4)所示:
(4)
其中,E表示期望,L(·)表示Logistic loss。
訓(xùn)練階段使用127*127的示例圖像和255*255的搜索圖像,按照式(5)構(gòu)建圖像對(duì):
(5)
Figure 1 Image pair build圖1 圖像對(duì)構(gòu)建
示例圖像與搜索圖像均輸入權(quán)重共享的骨干網(wǎng)絡(luò)進(jìn)行特征提取,骨干網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
Table 1 Structure of backbone network
在線跟蹤階段從初始幀中選定目標(biāo)區(qū)域作為跟蹤模板,輸入孿生網(wǎng)絡(luò)示例分支,算法運(yùn)行時(shí)無需調(diào)整跟蹤模板及網(wǎng)絡(luò)參數(shù),后續(xù)幀輸入孿生網(wǎng)絡(luò)搜索圖像分支。所有圖像均使用式(5)方式裁剪后輸入網(wǎng)絡(luò),其中搜索圖像分支裁剪時(shí)使用前一幀目標(biāo)框的中心位置,利用訓(xùn)練好的端到端的網(wǎng)絡(luò)模型直接獲得跟蹤框。
本文提出一種基于混合注意力機(jī)制的孿生網(wǎng)絡(luò)目標(biāo)跟蹤SiamMA (Siamese network object tracking based on Mixed Attention mechanism) 算法,算法結(jié)構(gòu)如圖2所示。該算法在訓(xùn)練階段使用堆疊裁剪法構(gòu)建訓(xùn)練樣本對(duì),在骨干網(wǎng)絡(luò)后添加通道注意力CA(Channel Attention)和空間注意力SA(Spatial Attention)混合的注意力機(jī)制,同時(shí)調(diào)整損失函數(shù),使算法性能得到有效提升。
Figure 2 Structure of SiamMA algorithm 圖2 SiamMA算法結(jié)構(gòu)
如圖3b所示,經(jīng)典SiamFC算法構(gòu)建訓(xùn)練樣本對(duì)時(shí),使用像素均值填充圖像裁剪時(shí)尺寸不足部分,該方法易在訓(xùn)練圖像中出現(xiàn)大量均值填充區(qū)域,與實(shí)際跟蹤場(chǎng)景不符。
Figure 3 Training sample pairs圖3 訓(xùn)練樣本對(duì)
本文提出一種構(gòu)建自對(duì)抗訓(xùn)練樣本對(duì)的數(shù)據(jù)增強(qiáng)方法,利用圖像自身信息通過堆疊裁剪法提高訓(xùn)練樣本的復(fù)雜度。數(shù)據(jù)增強(qiáng)是提高深度學(xué)習(xí)算法性能的常用方法,即人為增加輸入圖像的復(fù)雜度,提升網(wǎng)絡(luò)魯棒性[15]。通過堆疊裁剪法構(gòu)建自對(duì)抗樣本的方法如圖4所示,將圖像自身信息作為尺寸不足部分的填充元素,首先將訓(xùn)練圖像堆疊成3*3的圖像陣列,然后以中心圖像左下角為坐標(biāo)原點(diǎn),利用式(5)對(duì)圖像進(jìn)行裁剪。
Figure 4 Stacking and cropping圖4 堆疊裁剪法
目標(biāo)跟蹤任務(wù)需在圖像序列首幀選取感興趣目標(biāo),可人工剔除干擾因素,獲得較純凈的示例圖像,而后續(xù)幀中的干擾因素?zé)o法依賴人工處理。本文在網(wǎng)絡(luò)訓(xùn)練階段模擬這一現(xiàn)象,在構(gòu)建訓(xùn)練樣本對(duì)時(shí),對(duì)孿生網(wǎng)絡(luò)搜索分支的輸入圖像使用堆疊裁剪法進(jìn)行處理,為搜索圖像引入更多干擾因素,模擬實(shí)際跟蹤時(shí)的復(fù)雜場(chǎng)景,使訓(xùn)練的網(wǎng)絡(luò)模型獲得更強(qiáng)的魯棒性和泛化性。
堆疊裁剪法為搜索圖像引入大量語義背景,導(dǎo)致訓(xùn)練中前景與背景的類不均衡,為此本文引入Focal loss來平衡前景與背景,如式(6)所示:
(6)
其中,p是得分圖中某個(gè)位置的正負(fù)樣本屬性,γ為常數(shù)調(diào)節(jié)因子。算法總損失LSiamMA如式(7)所示:
LSiamMA=L(p,u)+FL(p,u)
(7)
計(jì)算機(jī)視覺中的注意力機(jī)制是模仿人類大腦處理視覺信號(hào)的機(jī)制。當(dāng)人觀察場(chǎng)景時(shí),首先快速掃視整個(gè)場(chǎng)景,然后會(huì)發(fā)現(xiàn)感興趣區(qū)域進(jìn)行重點(diǎn)觀察。同理在深度學(xué)習(xí)中,淺層卷積神經(jīng)網(wǎng)絡(luò)提取到的信息以相同權(quán)重向深層傳遞,但當(dāng)知道某些先驗(yàn)信息后,就能相應(yīng)調(diào)整權(quán)重,抑制某些干擾因素,提高深度特征的編碼質(zhì)量,增強(qiáng)網(wǎng)絡(luò)的特征表達(dá)能力[16]。
卷積神經(jīng)網(wǎng)絡(luò)的核心是卷積運(yùn)算,卷積是跨通道和空間提取特征的,因此卷積神經(jīng)網(wǎng)絡(luò)中的注意力機(jī)制主要從通道和空間2個(gè)維度進(jìn)行權(quán)重建模,以提高特征表達(dá)質(zhì)量。本文根據(jù)目標(biāo)跟蹤任務(wù)特點(diǎn),提出一種通道-空間混合注意力機(jī)制,如式(8)和式(9)所示:
CA(n1,n2)=σ(S2δ(S1n1)+S2δ(S1n2))
(8)
SA(m1,m2)=σ(Conv(m1⊙m2))
(9)
通道注意力(CA)機(jī)制如式(8)所示,其中,n1和n2分別是將特征圖逐通道進(jìn)行全局最大池化GMP (Global Maximum Pooling)和全局平均池化GAP (Global Average Pooling)的結(jié)果,S1和S2是全連接層,δ是ReLU函數(shù),σ是Sigmoid函數(shù)。CA模塊結(jié)構(gòu)如圖5所示,其對(duì)骨干網(wǎng)絡(luò)輸出的特征圖(Feature map)同時(shí)進(jìn)行GAP和GMP操作,F(xiàn)C1和FC2是全連接層,再以獲得的數(shù)組為特征圖逐通道重新分配權(quán)重(Rewight)。
Figure 5 Channel attention module圖5 通道注意力模塊
空間注意力(SA)機(jī)制如式(9)所示,m1和m2分別是將特征圖上的像素點(diǎn)逐空間位置進(jìn)行全局最大池化(GMP)和全局平均池化(GAP)的結(jié)果;⊙是連接操作,將獲得的2個(gè)單通道特征圖連接成1個(gè)兩通道特征圖;Conv()是卷積操作,將兩通道特征圖映射到同一特征空間,以獲得的矩陣為輸入的特征圖逐像素位置重新分配權(quán)重(Rewight)。SA模塊結(jié)構(gòu)如圖6所示。
Figure 6 Spatial attention module圖6 空間注意力模塊
此時(shí)算法的相似度匹配過程可表示如式(10)所示:
fSiamMA(z,x)=CA(φ(z))*SA(CA(φ(x)))
(10)
在孿生網(wǎng)絡(luò)示例分支中僅包含目標(biāo)信息和少量的背景信息,這對(duì)于跟蹤任務(wù)同樣重要。因此,本文算法僅在示例分支中添加通道注意力模塊,使包含目標(biāo)信息更豐富的通道在網(wǎng)絡(luò)中獲得更大權(quán)重;而在搜索分支中,除目標(biāo)信息外通常包含更多的背景信息和干擾信息,本文算法使用空間注意力模塊,抑制搜索圖像中多余的背景信息和干擾信息,同時(shí)使用通道注意力模塊調(diào)整各個(gè)通道權(quán)重。
為評(píng)估改進(jìn)后的SiamMA算法的性能,本文使用OTB2015[17]、GOT-10k[18]、UAV123[19]和Temple Color 128[20]等關(guān)注點(diǎn)不同的數(shù)據(jù)集進(jìn)行測(cè)試,并將改進(jìn)算法與SiamFC[9]、區(qū)域候選孿生網(wǎng)絡(luò)SiamRPN (Siamese Region Proposal Network)[7]、SINT[10]、DSiam[11]和CFNet[13]等孿生網(wǎng)絡(luò)類算法,以及KCF[3]、DSST[4]、SRDCF[5]和ECO[6]等經(jīng)典相關(guān)濾波類算法進(jìn)行對(duì)比。本文算法使用Python 3.6實(shí)現(xiàn),深度學(xué)習(xí)框架使用PyTorch 1.1.0,實(shí)驗(yàn)平臺(tái)為NVIDIA GeForce 1080Ti的Ubuntu服務(wù)器,使用GOT-10k訓(xùn)練集進(jìn)行訓(xùn)練。
GOT-10k是一個(gè)含10 000個(gè)訓(xùn)練集視頻和180個(gè)測(cè)試集視頻的大型數(shù)據(jù)集,包含563個(gè)目標(biāo)種類,評(píng)價(jià)指標(biāo)包括:平均重合度AO(Average Overlap)、成功跟蹤的準(zhǔn)確度SR(Success Rate,取0.5和0.75這2個(gè)閾值)和速度(fps)。OTB2015包含100個(gè)涵蓋外觀變形、光照變化、快速運(yùn)動(dòng)、運(yùn)動(dòng)模糊等經(jīng)典挑戰(zhàn)性場(chǎng)景的視頻序列,評(píng)價(jià)指標(biāo)為精度Pre(即跟蹤框和真實(shí)目標(biāo)框中心位置平均歐氏距離小于20像素值幀數(shù)占總幀數(shù)之比)和成功率Suc(即跟蹤框和真實(shí)目標(biāo)框的重疊部分面積與二者總面積之比)。UAV123由123個(gè)1 000幀以上無人機(jī)拍攝的長(zhǎng)視頻序列組成,其中UAV20L包含20個(gè)5 000幀以上的超長(zhǎng)序列,包括目標(biāo)尺度和拍攝角度劇烈變化、目標(biāo)被完全遮擋的情況。Temple Color 128包含128個(gè)彩色視頻序列,與其他標(biāo)準(zhǔn)數(shù)據(jù)集不同,該數(shù)據(jù)集注重算法對(duì)色彩的識(shí)別能力。
實(shí)驗(yàn)結(jié)果如表2所示。GOT-10k測(cè)試結(jié)果展示了算法對(duì)不同目標(biāo)類別跟蹤的泛化性,如圖7所示,本文SiamMA算法的AO較SiamFC提升了21.7%,在0.5和0.75這2個(gè)閾值下也分別提升了23.9%和17%。同時(shí)速度達(dá)到60.47 fps(較SiamFC下降1.17 fps),表明本文提出的混合注意力機(jī)制在提升了算法對(duì)不同類別目標(biāo)的泛化性的同時(shí),僅增加極小的計(jì)算成本。OTB2015測(cè)試結(jié)果展示了算法在復(fù)雜跟蹤場(chǎng)景中的性能,本文SiamMA算法較SiamFC性能指標(biāo)分別提升4.5%和3.3%,但與ECO等相關(guān)濾波算法仍有差距,然而ECO算法運(yùn)行速度僅為2.62 fps,難以滿足實(shí)時(shí)性要求,而本文SiamMA算法在運(yùn)行速度較快的同時(shí)保證了一定的精確度與成功率,取得了良好的速度與性能的平衡。本文SiamMA算法在UAV123上較SiamFC成功率提升1.3%。在超長(zhǎng)跟蹤序列UAV20L上相比對(duì)照算法,精度和成功率均為最優(yōu),且較SiamFC性能分別提升7.9%和6.2%。在Temple Color 128數(shù)據(jù)集上,本文SiamMA算法較SiamFC性能指標(biāo)分別提升3.4%和2.2%,表明本文提出的混合注意力機(jī)制在復(fù)雜色彩場(chǎng)景中也能有效提升算法性能。SiamRPN是目前孿生網(wǎng)絡(luò)類最先進(jìn)的算法之一,在實(shí)驗(yàn)中其與本文算法的精度和成功率十分接近。ECO在多個(gè)常規(guī)數(shù)據(jù)集上的精度和成功率高于本文SiamMA算法的,但其速度差距明顯。
Table 2 Experimental results of different algorithms
Figure 7 Average overlap (AO) normalization results of different algorithms on GOT-10k圖7 不同算法在GOT-10k上平均重合度(AO)歸一化結(jié)果
算法可視化結(jié)果如圖8所示。圖8a中,由于第23幀目標(biāo)快速移動(dòng),SiamFC跟蹤框已經(jīng)發(fā)生偏移,第81幀由于尺度突然變化,SiamFC跟蹤框已經(jīng)完全偏移目標(biāo),而本文SiamMA算法仍能框定目標(biāo)。在無人機(jī)拍攝圖像(圖8b)中,從首幀時(shí)的遠(yuǎn)處小尺度目標(biāo),到第243幀開始目標(biāo)逐漸接近鏡頭,到第785幀大尺度,本文SiamMA算法都能準(zhǔn)確框定目標(biāo),SiamFC僅能標(biāo)定目標(biāo)的一部分,至第1 051幀結(jié)束也未能完全框定目標(biāo),表明本文算法對(duì)目標(biāo)尺度變化和目標(biāo)角度變化跟蹤時(shí)有較強(qiáng)的魯棒性。圖8c中,第 906幀目標(biāo)被部分遮擋,所有算法均未被影響,在第1 085幀中,目標(biāo)左側(cè)行人移動(dòng)至目標(biāo)右側(cè),過程中目標(biāo)被完全遮擋,SiamFC跟蹤框發(fā)生偏移,至第1 536幀完全偏移目標(biāo),而本文SiamMA算法全程可精確框定目標(biāo)。圖8d中,銀白色的打火機(jī)由于其本身像素值較高,對(duì)卷積神經(jīng)網(wǎng)絡(luò)中目標(biāo)響應(yīng)值造成了一定影響,初始幀中目標(biāo)遮擋住打火機(jī),第56幀時(shí)目標(biāo)離開打火機(jī)位置,SiamFC跟蹤框完全偏移目標(biāo),至最終第370幀始終未能框定目標(biāo),而本文SiamMA算法始終都能準(zhǔn)確框定目標(biāo)。圖8e中,視頻中目標(biāo)發(fā)生劇烈形變,由彎曲逐漸伸展,本文SiamMA算法較SiamFC可更加精確地標(biāo)定整個(gè)目標(biāo),更加接近真實(shí)值。
Figure 8 Visualization results of different algorithms圖8 不同算法可視化結(jié)果
本文在經(jīng)典SiamFC算法的基礎(chǔ)上,提出了一種基于混合注意力機(jī)制的孿生網(wǎng)絡(luò)目標(biāo)跟蹤算法(SiamMA),有效抑制了跟蹤中的背景干擾,在訓(xùn)練階段提出構(gòu)建自對(duì)抗訓(xùn)練樣本對(duì)的數(shù)據(jù)增強(qiáng)方法,使訓(xùn)練的網(wǎng)絡(luò)模型具有更強(qiáng)的泛化性。實(shí)驗(yàn)表明,本文算法在多個(gè)數(shù)據(jù)集上獲得了更好的精度與成功率,然而與部分相關(guān)濾波算法相比仍有差距,在保證算法運(yùn)行速度前提下提升跟蹤效果仍是今后需完善的工作。