李福進,黃志偉
(華北理工大學 電氣工程學院,河北 唐山 063210)
近年來,隨著人工智能技術的快速發展,目標跟蹤已經成為計算機視覺領域研究熱點之一。目標跟蹤技術在生產生活中的應用非常廣泛,例如自動駕駛[1]、視頻監控[2]、虛擬現實、人機交互等。由于在目標跟蹤中存在著目標形態、尺度變化以及環境、光照、遮擋等因素的影響,增加了研究難度。因此,研究一種性能優良的跟蹤器尤為重要。從經典的Meanshift算法、Camshift算法等,到基于相關濾波跟蹤方法,如KCF、SAMF,以及基于檢測框架的跟蹤方法,如TLD(Tracking-Learning-Detection),目標跟蹤方法研究一直在進步。
通常,目標跟蹤算法依據工作原理可分為2類:生產式跟蹤模型和判別式跟蹤模型。基于生產式跟蹤模型首先需要建立目標模型和提取目標特征,在后續幀中搜索相似特征實現目標定位。此類算法跟蹤速度快,但在過程中由于目標形態、尺度變化的不確定性,使得單依靠數學模型跟蹤目標有很大的弊端。基于判別式跟蹤模型首先對目標進行特征提取,然后訓練分類器來區別背景和目標,此類算法的跟蹤精度高,即使存在遮擋也能有效跟蹤目標。但是當目標模板存在漂移,特別是在目標消失時常常跟蹤失敗。為此,研究人員將目標檢測算法融入到跟蹤中。在基于目標檢測的跟蹤算法中,將任務分解為2個步驟,簡化跟蹤任務:(1)在視頻每一幀中獨立地檢測目標位置,(2)通過跨時間連接相應的檢測來形成軌跡。而在連接過程中,數據關聯是一項具有挑戰性的任務,因為在前后關聯的目標中存在偽檢測、遮擋和目標交互等問題。
為此,該項研究提出一種融合YOLOv3檢測算法的跟蹤方法,稱為TOD(Tracking based on Detector of YOLOv3)。利用YOLOv3檢測結構進行分類和特征提取,將檢測結果(目標邊界框Bbox和特征向量)作為輸入并初始化,通過將 幀的Bbox進行回歸,得到第t幀新的位置以此來解決跟蹤問題。為了保持跟蹤的準確性,該項研究還加入了基于孿生網絡的外觀向量長期重新身份識別(ReID)算法作為目標跟蹤子網。圖1所示為YOLOv3算法網絡結構。

圖1 YOLOv3算法網絡結構
當前的目標跟蹤算法主流是基于檢測的框架,即DetectionbasedTracking(DBT),所以檢測的質量對于跟蹤的性能影響很大。而基于深度學習模型的檢測算法,在目標檢測中展現出其優勢,性能比傳統檢測算法明顯增強。將深度學習檢測分為2類:基于分類的R-CNN系列目標檢測算法和將檢測轉換為回歸的檢測算法。前者首先通過SelectiveSearch等算法產生候選區域[3]根據圖像中紋理、邊緣、顏色等信息檢測較少區域的同時保證了較高的召回率。然后利用卷積神經網絡進行分類、回歸。代表算法有R-CNN[4],FastR-CNN,FasterR-CNN[5],MaskR-CNN[6]等。此類算法檢測精度較高,但是實時性難以滿足需求。后者將檢測作為一個回歸問題處理,直接預測目標位置和分類。代表算法有YOLO(You Only Look Once)[7]系列算法和SSD(Single Shot Multi Box Detector)算法[8]等。此類算法速度快,但精度相對較低。為了實現實時跟蹤要求,該項研究選用YOLOv3算法作為檢測模塊。
YOLOv3算法是YOLO系列檢測算法的第3個版本,主要由Darknet-53和YOLO層兩部分組成,分別用于特征提取、尺度識別和分類。網絡結構如圖1所示,首先將輸入圖像調整到416×416大小,使用類似特征金字塔(Feature Pyramid Networks,FPN)[9]結構網絡,在Darknet-53特征提取網絡中將輸入圖像劃分成S×S大小的單元格得到3種不同尺度的特征圖,即13×13、26×26、52×52分別用于檢測大中小3種目標,同時在每個單元格上的回歸預測有3個anchorbox預測3個邊界框。選取其中置信度最大的作為最終檢測結果。
YOLOv3在每個單元格上預測了4個邊界框坐標(tx,ty,tw,th),分別表示邊界框左上角坐標和目標的寬和高。如圖2所示,單元格與圖像左上角的偏移量為(cx,cy),并且前一個邊框的寬和高為(pw,ph),預測對應于:

圖2 位置預測邊界框
bx=σ(tx)+cx
(1)
by=σ(ty)+cy
(2)
bw=pw·etw
(3)
bh=ph·eth
(4)
通過閾值設定,過濾掉得分較低的預測框,對剩下的進行非極大抑制(Non Maximum Suppression,NMS)處理得到最終預測結果。
身份重識別(Re-identification ReID),其定義是利用計算機視覺技術,在圖像庫和視屏序列中找到搜索目標的技術,ReID更像一個圖像檢索工具,把檢測圖像中的目標提取一個feature,然后根據feature判斷前后圖像的相似度,實現檢索的目的。有學者將重識別看作是分類和驗證2類問題:(1)分類是指將目標的ID或特征作為訓練標簽來訓練模型。(2)驗證是指判斷輸入的兩張圖像中是否有相同目標。在目標跟蹤中,常常因為遮擋或者跟蹤目標消失導致跟蹤失敗,利用行人重識別匹配失敗跟蹤,重新找到跟蹤目標,是該項研究解決遮擋和目標跟蹤錯誤的主要方法。
首先對視屏第t-1幀圖像進行目標檢測,將檢測到的目標進行特征提取,作為跟蹤底庫。對 幀圖像提取特征,并計算與底庫中的圖像特征的距離。根據所得結果排序,排名靠前則相似度高。利用rank1和map指標評價ReID算法,其主干結構為Resnet50,將輸入圖像經過卷積得到特征圖譜,然后經池化層輸出特征向量,最后識別最終結果。
近年來,單目標跟蹤領域取得了重大進展。像GOTURN[10]、Siamese-FC[11]、ECO[12]、Siamese-RPN[13]這樣的跟蹤器極大地提高了跟蹤精度。但是,在線更新的目標跟蹤器速度慢,同時占用大量的內存。而離線訓練跟蹤器,如Siamese-RPN[14],速度超過每秒80幀,但精度卻不夠。更重要的是,大多數方法沒有將目標跟蹤器生成的線索與其他線索結合起來。它們將跟蹤器和數據關聯過程分開。與此不同,該研究提出一種基于YOLOv3檢測算法的目標跟蹤算法,將跟蹤信息和來自長期軌跡線索關聯,實現檢測跟蹤。使用長期線索有助于解決短期目標跟蹤中漂移的問題,這些問題在現有的短期目標跟蹤中無法得到有效的解決。
檢測過程中有多個候選框被選出,為了跟蹤更加精確,需要對候選框進行篩選。選用HSV顏色特征直方圖和LBP局部特征直方圖來篩選候選框。最后利用非極大抑制確定跟蹤目標。LBP特征提取方法:
(5)
其中(xc,yc)為中心像素,ip,ic分別是灰度值和相鄰像素灰度值。

(6)
進行邊界框篩選時,首先分類過程會過濾掉非目標候選框,剩余候選框根據目標的HSV顏色特征和LBP局部特征進行特征相似度計算。選取計算數值最大的作為篩選結果,計算過程設置權重比例為1:2,相似度閾值為5和3。該項研究利用巴氏相關系數處理直方圖特征匹配,巴氏系數公式:
(7)
其中p、q分別為2張圖像在直方圖上同一位置的概率分布,則HSV顏色特征直方圖和LBP局部特征直方圖計算公式為:
(8)
(9)
相似度分數為:
S=Y(BC(x1,x2))+2Y(BC(y1,y2))
(10)
式中Y(a)=-ln(b),S為候選框分數。
目標跟蹤的難點在于提取空間位置和時間位置,該研究提出的TOD跟蹤算法流程框圖如圖3所示:

圖3 TOD流程框圖


在邊界盒回歸之后,跟蹤器會考慮2種放棄軌跡的情況:(1)如果物體在當前幀消失或被一個非跟蹤物體遮擋時,它的新分類分數低于設定閾值則放棄軌跡。(2)當對象之間存在遮擋時,則對剩余的邊界框與其對應的分類分數的IOU值運用非極大抑制(NMS)處理。
與t=0相似,當Dt在檢測集中與當前幀存在的邊界框沒有顯著的IOU時,被認為有新目標出現初始化并更新跟蹤列表。
為了使防止跟蹤目標發生漂移,提出一種基于Siamese網絡作為ReID主干的方法使跟蹤更加精確,跟蹤結構如圖4所示。

圖4 ReID長期軌跡跟蹤方法
為獲得高質量的長期線索,使用一個質量過濾器來選擇過去K個時間段內最好的K張圖像,以確保質量和魯棒性。K幀圖像的選取規則:
(11)

(12)
(13)

該方法提出的聯合YOLOv3檢測和ReID的TOD目標跟蹤方法結構如下:

(2)在第t-1幀,對于M個目標,使用YOLOv3網絡進行檢測,并將檢測結果回歸到下一幀 中形成軌跡。YOLOv3子網為 幀中的目標輸出最可能的檢測結果。
(3)對于t幀中的一個檢測結果Dt,其對應的檢測圖像外觀將被ReID子網用來提取長期的ReID特征。
(4)將跟蹤算法在步驟2中得到的目標數據框位置及檢測集Dt,與步驟3中獲得的ReID特征進行結合,然后進行目標特征匹配。
(5)對于匹配的目標,利用匹配檢測的信息更新位置和模板。對于未匹配的目標,更新軌跡位置,并放棄被認為不可靠或丟失的目標。對于孤立的檢測結果,如果其置信度滿足新目標的條件,則將其添加到跟蹤目標集合中。
(6)通過設置t=t+1,在下一幀重復從2到5的步驟,直到沒有更多的幀出現。
該項研究的實驗設備CPU為i5-4509,GPU為GT705,該項研究在Windows7系統下利用MATLAB進行開發,編程語言選用C語言。為了更好地展現跟蹤性能,實驗利用tracker_benchmark_v1.0結合9種跟蹤算法作為對比算法。測試數據集為OTB100。
綜合考慮實際跟蹤中受到環境變化因素影響,如目標姿勢變化、尺度變化、旋轉變化、光照強度變化,遮擋等。該實驗選取OTB100數據集中CarScale、Jumping、Skating1、Deer、Matrix、Bolt這6組序列圖進行測試。測試結果如圖5所示,其中左上角"#X"代表圖所在幀。該實驗選用不同顏色的跟蹤框區分多個算法的跟蹤性能。

圖5 CarScale、Skating1、Deer、Bolt部分跟蹤結果
圖5所示為跟蹤算法對比跟蹤框圖,其中左上角的#表示所選序列幀,選用不同顏色的框表示不同算法的跟蹤。針對本實驗選擇的6組測試序列,利用其中4組進行詳細分析。
圖5(a)是Bolt測試序列,選擇第10、15、69、312幀進行分析,這一序列背景包含高速運動、旋轉和遮擋,由于速度快,對跟蹤算法性能的要求較高,由圖5(a)可以看出,在起點位置時各個算法差異不大,但是在后續跟蹤中各算法丟失目標嚴重,第69幀只有少數幾個算法能跟隨目標,在第312幀時只剩下該研究算法和L1APG2個能夠維持穩定。由此可見,該研究提出的算法在高速運動、旋轉和遮擋同時存在時性能穩定。
圖5(b)是Deer序列,該序列存在快速運動、遮擋、跳躍等影響因素。從圖5(b)中可以看出,在目標起跳落下的過程中各算法漂移嚴重,對實時性無法滿足,只有該研究算法實現了實時跟蹤,由此可見,該研究提出的跟蹤方法滿足實時要求。同樣受光照影響的還有圖5(c)的Skating1序列,在該系列的跟蹤過程中性能穩定,無漂移現象的發生,而其他算法丟失目標嚴重,表現最差的為DFT算法。圖5(d)是CarScale測試序列,該序列影響因素是尺度變化、快速運動和遮擋。通過比較發現該研究提出的算法在面對各種復雜環境是都有較好的魯棒性。
為了更好地衡量跟蹤算法性能,該項研究采用中心點誤差和覆蓋IOU來評價跟蹤。中心點誤差是指實際跟蹤目標的中心點與跟蹤框中心點之間的歐式距離,覆蓋IOU是指跟蹤邊界框與實際邊界框的交集與并集的比值。計算方式如式(14)、(15)所示:
(14)
(15)
其中(xq1,yq1)為跟蹤框中心點坐標,(xq2,yq2)為實際目標中心點坐標。area(c)為算法跟蹤框面積,area(g)為實際面積。如圖6所示為中心點距離誤差與覆蓋IOU跟蹤性能比較。

圖6 中心點距離誤差與覆蓋IOU跟蹤性能比較
在選取的6組測試序列中,利用公式可以得出算法的中心點誤差值和覆蓋IOU值如表1、表2所示:

表1 中心點距離誤差平均值

表2 平均覆蓋率/%
由表1中可以看出,實驗所選6組序列圖中,中心點距離誤差對比,在Bmx序列圖上的表現除了BOOSTING算法與該研究方法接近,其他算法差異很大,對比其他組序列圖數據該研究提出的TOD表現最優;而在平均覆蓋率IOU指標上,除MIL算法在Iceskater1序列圖上表現優于TOD,TOD跟蹤算法表現最優。通過比較選取的4種跟蹤算法發現KCF算法表現較好,在選取數據集中6組序列圖上的中心點平均值約為54.003像素,覆蓋率IOU為43.546%,TOD跟蹤算法中心點距離誤差和覆蓋率平均值分別為40.537和51.526%。
綜上所述,該研究提出的TOD目標跟蹤算法在遇到姿態變化、遮擋、光照變化、運動狀態等因素影響時同比4種對比算法有了很大提升。
實驗選用YOLOv3檢測算法作為檢測與跟蹤模塊。同時,在對圖形進行特征提取中,選用HSV和LBP相聯合的方式,對檢測集合中的目標進行擇優選取。多線索目標跟蹤中利用檢測回歸作為短期跟蹤模型,不需要額外的短期跟蹤模塊減少了計算量,加快了計算速度。而長期目標跟蹤過程中加入了ReID網絡,使得在長期跟蹤過程中有效的解決了跟蹤漂移現象。最后,結合的ReID算法也是現在研究熱點,能夠為以后研究目標跟蹤提供新思路。