李福進,黃志偉,史濤,任紅格
(華北理工大學 電氣工程學院,河北 唐山063200)
近年來,隨著人工智能技術的快速發(fā)展,目標跟蹤已經(jīng)成為計算機視覺領域研究熱點之一,而自動駕駛、視頻監(jiān)控、人機交互等的研究使得目標跟蹤更受關注。由于在目標跟蹤中存在著目標形態(tài)、尺度變化以及環(huán)境、光照、遮擋等因素的影響,為研究增加了難度。從經(jīng)典Meanshift算法、Camshift算法等,到基于相關濾波(Correlation Filter)跟蹤方法再到基于檢測的跟蹤(Detection-based Tracking,DBT)方法,目標跟蹤方法研究一直在進步。在基于目標檢測的跟蹤算法中,將任務分解為兩個步驟簡化跟蹤任務:在視頻每一幀中獨立地檢測目標位置;通過跨時間連接相應的檢測形成軌跡,而在連接過程中,數(shù)據(jù)關聯(lián)是一項具有挑戰(zhàn)性的任務。
為此,本文提出一種融合YOLOv4檢測算法的跟蹤方法。利用YOLOv4檢測結(jié)構(gòu)進行分類和特征提取,形成檢測數(shù)據(jù)集,并將檢測和跟蹤結(jié)果作為候選框,通過分類選擇器選擇最優(yōu)的候選結(jié)果。本文還加入了基于外觀向量身份重識別(ReID)算法提取深度外觀特征,用于將跟蹤軌跡和選定候選對象關聯(lián)。
當前的目標跟蹤算法主流是DBT,所以檢測質(zhì)量對跟蹤的性能影響很大。將深度學習檢測分為兩類:基于分類的R-CNN系列目標檢測算法和將檢測轉(zhuǎn)換為回歸的檢測算法。前者首先通過Selective Search等算法產(chǎn)生候選 區(qū)域,代表算 法有R-CNN、Faster R-CNN、Mask RCNN等,此類算法檢測精度較高,但是實時性難以滿足需求;后者將檢測作為一個回歸問題處理,直接預測目標位置和分類,代表算法有YOLO(You Only Look Once)系列算法和SSD(Single Shot MultiBox Detector)算法等,此類算法速度快,但精度相對較低。為了實現(xiàn)實時跟蹤要求,本文選用YOLOv4算法作為檢測模塊。
YOLOv4算法是YOLO系列檢測算法的第4個版本,主要由CSPDarknet-53、SPP和PANet三部分組成,分別用于主干特征提取、尺度識別和分類。特征提取網(wǎng)絡結(jié)構(gòu)如圖1所示。
圖1 YOLOv4算法特征提取網(wǎng)絡結(jié)構(gòu)
首先將輸入圖像調(diào)整到416×416大小,使用類似特征金字塔網(wǎng)絡(Feature Pyramid Network,F(xiàn)PN)結(jié)構(gòu),在CSPDarknet-53特征提取網(wǎng)絡中將輸入圖像劃分成×大小的單元格,得到三種不同尺度的特征圖,即13×13,26×26,52×52,分別用于檢測大、中、小三種目標,同時在每個單元格上的回歸預測有3個anchor box預測三個邊界框。選取其中置信度最大的作為最終檢測結(jié)果。
身份重識別(Re-identification,ReID),其定義是利用計算機視覺技術在圖像庫和視頻序列中找到要搜索目標的技術,有學者將重識別看作是分類和驗證兩類問題:分類是指將目標的ID或特征作為訓練標簽來訓練模型;驗證是指輸入圖像對,讓網(wǎng)絡學習兩張圖像中目標是否相同。
用Rank1和mAP指標評價ReID算法,其主干結(jié)構(gòu)為Resnet50,將圖片輸入經(jīng)過卷積得到特征圖譜,然后經(jīng)池化層輸出特征向量,最后識別最終結(jié)果。
近年來,單目標跟蹤領域取得了重大進展。像GOTURN、Siamese FC、ECO、Siamese RPN這樣的跟蹤器極大地提高了跟蹤精度。但是,在線更新的目標跟蹤器速度慢,同時占用大量的內(nèi)存,而離線訓練跟蹤器如Siamese-RPN,以每秒超過80幀(目標)的速度達到最先進的精度。更重要的是,大多數(shù)方法沒有將目標跟蹤器生成的線索與其他線索結(jié)合起來,它們將跟蹤器和數(shù)據(jù)關聯(lián)過程分開。與此不同,本文提出一種聯(lián)合YOLOv4檢測算法的目標跟蹤算法,由候選框選擇和數(shù)據(jù)關聯(lián)兩部分組成。
本文設計了一個對象選擇器,利用深度特征和軌跡置信度設計統(tǒng)一的評分函數(shù)來選擇候選框。利用身份重識別ReID將候選信息和跟蹤軌跡關聯(lián)實現(xiàn)檢測跟蹤。
檢測過程中有多個候選框被選出,為了跟蹤更精確,需要對候選框進行篩選。本文選用HSV顏色特征直方圖和LBP局部特征直方圖篩選候選框。最后利用非極大抑制確定跟蹤目標。LBP特征提取方法如下:
式中:(,)為中心像素;i,分別是灰度值和相鄰像素灰度值。
在進行邊界框選擇時,首先分類過程會過濾掉非目標候選框,剩余候選框根據(jù)目標的HSV顏色特征和LBP局部特征進行特征相似度計算。選取計算數(shù)值最大的作為篩選結(jié)果,計算過程設置權重比例為1∶2,相似度閾值為5和3。本文利用巴氏相關系數(shù)處理直方圖特征,巴氏系數(shù)公式如下:
式中:,分別為圖像在直方圖上的中心坐標和概率密度。HSV顏色特征直方圖和LBP局部特征直方圖計算公式相似度分數(shù)為:
式中()=-ln;為候選框分數(shù)。
在視頻序列給定幀的情況下,利用Kalman濾波預測每條軌跡的新位置,這些預測結(jié)果將被作為解決物體屬性變化和在擁擠場景中遮擋而導致檢測失敗的方法。
利用Kalman濾波通過對連續(xù)的候選幀進行時間關聯(lián)生成跟蹤軌跡,可以把一個長期軌跡分割成一組短期軌跡,每一次從短期狀態(tài)檢索,卡爾曼濾波器將被重新初始化。置信度用來測量時域信息的濾波精度。僅利用最后一個軌跡的信息表示軌跡的置信度。
式中表示最后一個預測軌跡。將提取的深度特征和軌跡置信度融合,形成候選框的統(tǒng)一評分函數(shù):
式中是Kronecker delta函數(shù)用于判斷深度特征提取中某個檢測候選框和軌跡候選框是否相等。在候選框選擇中基于這個統(tǒng)一的評分,根據(jù)定義的最大交集(IOU)閾值和最小分數(shù)閾值使用非最大抑制確定最終候選框。
為了防止跟蹤目標發(fā)生漂移,本文提出一種基于Siamese網(wǎng)絡作為ReID主干的CNN方法,將得到的最優(yōu)候選框與現(xiàn)有軌跡進行數(shù)據(jù)關聯(lián),使跟蹤更加精確,關聯(lián)結(jié)構(gòu)如圖2所示。
圖2 ReID數(shù)據(jù)關聯(lián)方法
對于跟蹤目標,首先將軌跡每一幀看作一個獨立節(jié)點,提取ReID特征,將距離小于給定閾值的兩個節(jié)點進行連通,形成一個連通子圖;然后計算候選框與連通子圖的ReID特征相似度和mAP,將符合特征相似度高、mAP值大于閾值的圖合并;最后把合并圖在跟蹤軌跡上進行插值修復更多的假陰跟蹤。
該方法提出的融合YOLOv4檢測和ReID的目標跟蹤方法結(jié)構(gòu)如下:
輸入:視頻序列V
1.初始化,←,檢 測集合←在視頻序列每一幀中收集候選框
2.在每一幀中利用YOLOv4檢測得到,在中利用Kalman收集篩選候選框
3.←?,由式(8)得出
4.,←NMS(,,)
5.過濾<數(shù)據(jù)關聯(lián)
6.提 取的ReID特 征,提 取的ReID特征
7.計算與的平均特征距離和mAP
8.合并:←?
9.插值:←?
輸出:跟蹤軌跡
本文實驗設備CPU為i5-4509,GPU為GT705,該實驗在Windows 7系統(tǒng)下利用Matlab進行開發(fā),編程語言選用C語言。為了更好地展現(xiàn)跟蹤性能,本實驗利用tracker_benchmark_v1.0結(jié)合9種跟蹤算法作為對比算法,且數(shù)據(jù)結(jié)果均已在各文獻中公開發(fā)表。測試數(shù)據(jù)集為Object Tracking Benchmark(OTB)。
為了更好地衡量跟蹤算法性能,本實驗采用中心點誤差和邊界框重疊率(IOU)評價跟蹤。中心點誤差是指實際跟蹤目標的中心點與跟蹤框中心點之間的歐氏距離:
式中:(x,y)為跟蹤框中心點坐標;(x,y)為實際目標中心點坐標。邊界框重疊率是指跟蹤結(jié)果與實際目標之間的交并比:
式中:area()為算法跟蹤框面積;area()為實際面積。給定閾值,計算重疊率大于閾值的幀數(shù)量,本實驗設定=0.6。10種對比算法在OTB100數(shù)據(jù)集中選取DragonBaby、Singer1、Jump、Walking2、CarScale、Matrix這6組序列圖進行測試,其中包括了光照變化(IV)、尺度變化(SV)、物體遮擋(OCC)、形變(DEF)、運動模糊(MB)、旋轉(zhuǎn)(PR)測試結(jié)果,選取5種性能較好的算法進行對比,如表1所示。
表1 中心點距離誤差、重疊率、幀率對比
由表1可以看出,在進行中心點誤差和邊界框覆蓋率對比中,本文提出的算法跟蹤性能最優(yōu),這為跟蹤的精確度提供了保證,并且能夠適應多種復雜環(huán)境下的跟蹤。同時,本文在OTB100多種復雜環(huán)境視頻序列下與其他9種算法進行整體性能對比,跟蹤精度和成功率如圖3所示。
圖3 十種算法跟蹤性能對比曲線
可以看出,在不同干擾下本文算法性能整體優(yōu)于其他9種算法,其中跟蹤精度(Precision plots of OPE)達到84.9%,跟蹤成功率(Success plots of OPE)為82.2%,并且在濾波器與ReID不同的情況下平均跟蹤速度仍能達到29.369 6 f/s,可以滿足算法對實時性的要求。
綜合考慮實際跟蹤中受到環(huán)境變化因素影響,該實驗選取TOB100數(shù)據(jù)集中6組序列圖進行測試。測試結(jié)果如圖4所示,其中左上角“#”代表圖所在幀。本文實驗選用不同顏色的跟蹤框區(qū)分多個算法的跟蹤性能。
1)姿態(tài)變化
在序列圖Dragon Baby中選取第3、26、53、75幀圖,跟蹤性能如圖4a)所示。當跟蹤目標如第3、26幀僅僅發(fā)生手臂變化,動作姿態(tài)變化較小,10個跟蹤算法都能夠準確跟蹤目標;當目標姿態(tài)發(fā)生較大變化時,如第53幀腿部發(fā)生變化,只有TLD算法和本文提出的算法能夠準確跟蹤目標。
圖4 Dragon Baby、Jump、Singer1、Car Scale序列跟蹤結(jié)果
2)尺度變化
如圖4d)所示,選取序列圖中Car Scale作為跟蹤目標,可以看出當跟蹤目標發(fā)生不同尺度變化時各跟蹤算法基本能夠跟蹤目標,但是存在不同程度的偏移。
3)旋轉(zhuǎn)變化
圖4b)是序列Jump的旋轉(zhuǎn)跟蹤,從圖中可以看出,目標在完成起跳、旋轉(zhuǎn)等一系列動作的過程中伴隨著姿態(tài)的變化,所以跟蹤難度加大,算法發(fā)生了不同程度偏移,而KCF算法直接丟失目標,只有本文算法精度較高。
4)光照變化
圖4c)是對光照變化的跟蹤,選取Singer1序列,可以看出,在第17幀時各算法可以滿足要求,在第250幀時各算法不同程度丟失目標,只有本文算法可以滿足要求。
綜上所述,本文提出的目標跟蹤算法在遇到姿態(tài)變化、遮擋、光照變化、運動狀態(tài)等因素影響時,對比9種算法有了很大提升。
本文選用YOLOv4為檢測算法,同時在長期目標跟蹤過程中加入了基于Siamese網(wǎng)絡作為ReID主干的CNN子網(wǎng),使得在長期跟蹤過程中有效地解決了跟蹤漂移現(xiàn)象。由于實驗設備影響,本文提出的算法未達到預期效果。但是,本文提出的檢測和軌跡連接的方法使得跟蹤更加精確,有效地避免了目標跟蹤過程中的假陰現(xiàn)象,結(jié)合的ReID算法也是現(xiàn)在的研究熱點,這為以后研究目標跟蹤提供了新思路。