覃瑞國,張燦龍,2,黃 玲,2,李志欣,2,韋沛佚
1(廣西師范大學 廣西多源信息挖掘與安全重點實驗室,廣西 桂林 541004)
2(廣西區(qū)域多源信息集成與智能處理協(xié)同創(chuàng)新中心,廣西 桂林 541004)
E-mail:zcltyp@163.com
在計算機視覺領域中視頻目標跟蹤是一個重要的研究方向,能被廣泛應用于視頻監(jiān)控、自動駕駛、軍事指導等方面.目標跟蹤旨在給出目標在每一幀圖像中的所處位置和狀態(tài).目標跟蹤面臨諸多挑戰(zhàn),如光照變化、目標遮擋、尺度變化、快速運動和形變等.
目標跟蹤方法主要有兩大類:非深度學習和深度學習,前者主要使用手工提取特征,典型的有基于相關濾波的單模態(tài)跟蹤方法[1,2],和基于壓縮感知[3]和空間直方圖[4]的多模態(tài)跟蹤方法,此外融合深度信息[5]的跟蹤方法也是其中的亮點.后者進行提取目標特征方法主要通過特征學習來完成目標跟蹤.MDNet[6]是最早的深度目標跟蹤模型[7],以此網(wǎng)絡為基礎,發(fā)展了很多網(wǎng)絡模型.受孿生網(wǎng)絡[8]啟發(fā),Bertinetto等人提出了SiamFC[9]模型,該模型主要兩個分支構(gòu)成,分別為檢測分支和模版分支,兩個分支均用同一個網(wǎng)絡來提取特征的.模版分支用于提取第一幀或者前一幀目標圖片的特征,檢測分支用于提取當前幀圖的特征.最后,將模板分支特征與檢測分支特征進行相關運算,相關度最高區(qū)即為目標.此后Li[10]等人在SiamFC的基礎上提出了一種基于候選區(qū)域推薦網(wǎng)絡的孿生跟蹤器SiamRPN,該模型主要是在檢測分支添加了一個候選區(qū)域推薦網(wǎng)絡,以此選出圖片中的候選目標,其推薦網(wǎng)絡所預設的錨點數(shù)量和尺寸種類固定不變,并在特征圖上的每個位置進行滑動.這種做法會導致以下問題:1)因為不同目標需要制定不同尺寸和比例的錨點,而固定不變的錨點框尺寸和比例會無法適應這種需求,從而會導致模型的精度和跟蹤速度嚴重地下降;2)對于候選區(qū)域有一個很高的召回率,這就產(chǎn)生了大量的錨點,其中有大量的錨點是包含了非目標區(qū)域,在計算這些錨點的時候,就會占用大量的計算資源.
針對以上問題,受Guided Anchor[11]的啟發(fā),本文提出了一種基于啟發(fā)式候選區(qū)域推薦的目標孿生跟蹤模型.該模型仍由模版分支和檢測分支組成,在檢測分支中,為了判定目標可能出現(xiàn)的位置本文通過學習一個概率圖,以此來確定錨點的位置,并預測錨點可能的尺寸,這樣使得產(chǎn)生的候選區(qū)域能夠更準確地定位到圖像中的目標物體,自動適應目標的大小,并且大大降低了推薦區(qū)域的數(shù)量.
本文所提出的基于SiamFC的引導錨點生成網(wǎng)絡如圖1所示.該模型網(wǎng)絡主要分為兩個分支,第1個為模板分支,另一個為檢測分支.
圖1 模型結(jié)構(gòu)圖Fig.1 Model structure
模板分支主要處理視頻的第一幀或者前一幀的目標圖片信息,該分支的輸入為一張大小為127×127、通道數(shù)為3的圖片,為了提取該圖片中的目標特征本文使用ResNet50[12]網(wǎng)絡,最后輸出特征圖為4×4×2048.
檢測分支的輸入是一張大小為255×255,通道數(shù)為3的圖片,該分支主要用于提取所要檢測圖片的特征信息.檢測分支主干網(wǎng)絡輸入一張255×255×3的圖片之后,將其送入ResNet+FPN[13]網(wǎng)絡進行提取特征,之后輸出4張?zhí)卣鲌D.每一張都要學習其錨點的位置與大小.以ResNet+FPN第1層輸出的特征圖為例子,設其為p(i,j|FI),p(i,j|FI)里的i,j分別對應FI的坐標((i+1/2)s,(j+1/2)s),((i+1/2)s,(j+1/2)s)1×1其中s為錨點之間的距離.在模型中,F(xiàn)I通過一個的卷積NL得到目標位置分數(shù)的映射,為了得到對應的概率值,sigmoid[14]函數(shù)對其進行轉(zhuǎn)化.根據(jù)這個概率圖,得到圖片中目標物體可能出現(xiàn)位置的概率分布.
在獲得特征圖中物體位置的概率分布圖之后,再通過一個卷積網(wǎng)絡NS學習出錨點的形狀大小.傳統(tǒng)的邊界盒回歸的方法和本文使用的學習錨點形狀的方法有很大的不同,因為本文使用的學習錨點形狀的方法在不改變錨點的位置同時,也不會使錨點對應的特征與錨點之間的錯位.為了獲得錨點的形狀,用以下公式轉(zhuǎn)換網(wǎng)絡NL學習到的參數(shù)dw、dh.
w=σ·s·edwh=σ·s·edh
(1)
我們可以通過學習到的參數(shù)dw、dh轉(zhuǎn)化為錨點的長和寬.公式中的σ為經(jīng)驗尺度因子(實驗中σ=8),s為Ns網(wǎng)絡的步長.通過上述的非線性變換,可以將輸出空間[0,1000]近似投影到[-1,1],這樣使得學習錨點變得更加容易且穩(wěn)定.Ns網(wǎng)絡是由一個1×1的卷積核構(gòu)成,輸出兩個值dw、dh.
在傳統(tǒng)的候選區(qū)域網(wǎng)絡[15]中,整個特征圖上所有的錨點都是一致的,也就是說每個錨點的形狀和比例都是共享的,但是在這個模型中,錨點在不同的位置是具有不同的形狀.因此我們使用了一個3×3大小的可變形卷積網(wǎng)絡NT處理這個問題.它可以根據(jù)錨點的形狀在每個單獨的位置改變特征,公式定義如下:
f′=NT(fi)f′=NT(fi,wi,hi)
(2)
其中,fi為特征在第i個位置,(wi,hi)為錨對應的形狀.因此在NS網(wǎng)絡確定錨點形狀之后,我們從NS的輸出中預測一個偏移,然后根據(jù)這個偏移對原始的特征圖進行可變形卷積,得到Fi.
之后Fi經(jīng)過一個大小為3×3的卷積,最后得到大小為12×12×2的特征圖.模板分支此時也經(jīng)過一個3×3的卷積,輸出大小為2×2(2k×2048)的特征圖.之后,模板分支與檢測分支輸出的特征圖進行互相關數(shù)據(jù)運算,公式如下:
(3)
模型的損失函數(shù)有兩部分網(wǎng)絡構(gòu)成,一部分為孿生主干網(wǎng)絡中的檢測分支,另一部分為候選區(qū)域推薦網(wǎng)絡.
確定錨點最佳形狀主要由兩個步驟,首先把真實框和錨點進行匹配,然后再學習錨點形狀,即與真實框匹配度最高.選定錨點的模型在訓練之前為真實邊界框分配了一個候選的錨點,該錨點產(chǎn)生的IOU最大.因為錨點的長和寬是一個變量,因此我們要采取另一種策略.給定一個變量錨點awh={(x0,y0,hg,wg)|w>0,h>0},它與實際邊界框gt=(xg,yg,hg,wg)之間的IOU為:
(4)
上述公式中,vIOU、w和h都是變量.因為對于vIOU解析相對于復雜,難以在端對端的訓練實現(xiàn).于是我們采取其他方法進行模擬.為了去模擬錨點的所有值,本文在給定的anchor(x0,y0)中,對它的長和寬的一些公共值進行抽樣.實驗中采用了9對不同的長寬比和大小縮放比例的錨點.再用實際邊緣框計算這些錨點的IOU,采用最大的近似值vIOU,損失函數(shù)采用的是Bounded iou loss[17],損失函數(shù)定義為:
(5)
其中,L1為smoothL1損失,(w,h)表示錨點的大小,(wg,hg)表示錨點的大小.
本模型中的候選區(qū)域推薦網(wǎng)絡部分,使用的損失函數(shù)和SiamRPN一致,均是采用Faster R-CNN[15]中的損失函數(shù).分類損失使用的是交叉熵損失函數(shù),回歸損失采用的是歸一化坐標的smoothL1損失函數(shù).將Ax,Ay,Aw,Ah定義為錨點中心和錨點框的長寬.定義Tx,Ty,Tw,Th為目標真實位置中心和其長寬,則正則化后的距離為:
(6)
定義候選區(qū)域推薦網(wǎng)絡的分類損失為Lcls,回歸損失為Lreg損失函數(shù)定義如下:
(7)
因此模型的損失為:
loss=λ1Lloc+λ2Lshape+Lloc+Lreg
(8)
其中λ1=1,λ2=0.1.Lloc和Lshape為Guided Anchor中的損失,Lcls和Lreg分別為分類損失、回歸損失.
本次實驗在幾個常用的數(shù)據(jù)集上進行,并使用幾個典型的目標跟蹤算法與本文模型進行性能對比.
本實驗采用6個數(shù)據(jù)集,其中,訓練集為4個,分別為COCO[18]數(shù)據(jù)集,ILSVRC2017_DET數(shù)據(jù)集YOUTUBEBB數(shù)據(jù)集以及ILSVRC2015_VID數(shù)據(jù)集,測試集有兩個,分別為OTB2015[19]數(shù)據(jù)集和VOT2016[20]數(shù)據(jù)集.COCO數(shù)據(jù)集是由微軟團隊制作的,其數(shù)據(jù)集中的數(shù)據(jù)圖片主要從日常場景中拍攝,數(shù)據(jù)集中圖像包含91類目標,328000影像以及2500000個標簽.ILSVRC2015_VID數(shù)據(jù)集有30個類別目標,并且包含3826個片段用于訓練,555個片段用于實驗驗證,937個片段用于對實驗的測試,每一個片段包含56-458幀圖像.
本文實驗實驗環(huán)境為Intel Xeon(R)CPU E5-2620 v4,顯卡GTX-1080TI,64G RAM,Pytorch版本為0.4.1,python版本為3.7.本文模型的模板分支是采用ResNet50作為主干網(wǎng)絡,檢測分支是采用ResNet50+FPN作為主干網(wǎng)絡.在實驗中,我們檢測分支的輸入圖片改為255×255大小,將σ1=0.2,σ2=0.6.為了平衡位置和形狀分支,將λ1=1,λ2=0.1.實驗中,實驗批次設置為50批次,批次大小為28,學習率從10-2~10-6降低.
SiamRPN使用預選定義的錨點框進行初始化,之后在候選區(qū)域網(wǎng)絡中,生成對應的錨點組.很容易的發(fā)現(xiàn),在生成區(qū)域錨點時,會產(chǎn)生眾多無效的錨點,且部分非目標錨點也會被加入計算.本文提出的網(wǎng)絡模型,很巧妙地避過了這個缺點.本文模型在進行網(wǎng)絡提取特征之后,經(jīng)過GuidedRPN模塊學習錨點的位置,無須使用預定義的錨點框,生成錨點之后,不用再和SiamRPN一樣使用其他的策略來選取錨點.
經(jīng)過實驗,圖2左邊為SiamRPN所生成的錨點,圖2右邊為本文模型生成的錨點.可以很明顯地看出,生成的錨點數(shù)量,要少于本文模型生成的數(shù)量,并且錨點數(shù)量減少的同時,錨點地質(zhì)量也明顯提高.
圖2 候選區(qū)域?qū)Ρ葓DFig.2 Comparison of region proposal
OTB2015數(shù)據(jù)集中含有100個視頻序列.在該數(shù)據(jù)集上采用兩種一次性通過的評價指標,第1種是計算實際目標和跟蹤結(jié)果之間的重疊率,稱為success plots of OPE,定義重疊率為OS.當某個指定的閾值低于某一幀圖像的重疊率時,那么該幀圖像被記為跟蹤成功,反之為失敗,跟蹤成功的幀數(shù)的總和占所有幀的百分比,記為成功率.另一種指標為precision plots of OPE,其首先計算跟蹤結(jié)果和目標真實框的目標中心距離,然后設定一個閾值,當某一幀計算出來的距離小于該閾值,那么該幀跟蹤成功.最后計算所有跟蹤成功的幀數(shù)占所有幀數(shù)的百分比.
本文并與SiamRPN,PTAV[21],CREST[22],SRDCF[23],SINT[24]目標跟蹤模型進行比較.經(jīng)過實驗評估,得到如表1所示的結(jié)果.本文模型在OTB2015數(shù)據(jù)集上評估,成功率達到了0.64,精確值達到了0.857,性能均超過這5個跟蹤模型.
表1 在OTB2015數(shù)據(jù)集上的評估結(jié)果Table 1 Experimental results on OTB2015
VOT2016包含60個視頻.我們采用3個測量指標來評估本次實驗,分別為EAO(平均重疊期望),Accuracy(精確度),Robustness(魯棒性).平均重疊期望是用于衡量跟蹤過程中模型的魯棒性與準確性的指標.精確度表示跟蹤器跟蹤目標的準確度,數(shù)值越大,則跟蹤器準確度越高,性能越好.魯棒性是評價一個跟蹤器的穩(wěn)定性,其數(shù)值越小穩(wěn)定性越強.與當前主要的目標跟蹤模型進行比較,實驗結(jié)果如表2所示,其中,EAO指平均重疊期望,A指平均精確度,R指平均魯棒性.SiamFC-R指在SiamFC中的主干網(wǎng)絡采用的是ResNet[12].不難看出,本文模型與其他跟蹤器比較,其平均重疊期望,精確度以及魯棒性均達到了一個不錯的效果.
表2 在VOT2016數(shù)據(jù)集上的評估結(jié)果Table 2 Experimental results on VOT2016
圖3展示了本文方法與SiamRPN在VOT數(shù)據(jù)集上部分跟蹤結(jié)果的截圖,其中白色矩形框為本文模型的跟蹤結(jié)果,黑色矩形框為SiamRPN跟蹤結(jié)果.可以看出本文方法目標在快速移動、光照陰暗和不同攝像頭之間的跟蹤性能,都表現(xiàn)極佳,且整體定位精度要比SiamRPN好.
圖3 本文方法與SiamRPN在VOT2016上的跟蹤結(jié)果Fig.3 Tracking results of our method and SiamRPN on VOT2016
本文借鑒了GuidedRPN,并將其融入孿生網(wǎng)絡當中,改變了孿生網(wǎng)絡中生成錨點的方法.在學習錨點的時候,不再需要預定義錨點框,使得學習錨點的過程變得靈活多變.本文的跟蹤模型,檢測分支通過學習一個概率圖,來確定圖像中目標可能出現(xiàn)的位置,之后再預測錨點的形狀,得到錨點之后,將特征圖與錨點映射,最后再將特征圖與模板分支進行互相關操作,通過閾值對比,確定該錨點的目標是正樣本或負樣本.本文模型在提升了錨點的質(zhì)量的同時,跟蹤性能也能夠提高,且魯棒性與SiamRPN保持穩(wěn)定.本文下一步工作,計劃在目標模板更新上進行改進.