朱新麗, 才 華,2, 寇婷婷, 杜冬暉, 孫俊喜
(1. 長春理工大學(xué) 電子信息工程學(xué)院, 長春 130022; 2. 長春中國光學(xué)科學(xué)技術(shù)館, 長春 130117;3. 東北師范大學(xué) 信息科學(xué)與技術(shù)學(xué)院, 長春 130117)
多目標(biāo)跟蹤技術(shù)廣泛應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域中的智能視頻監(jiān)控、 自動駕駛和人機(jī)交互[1]中. 采用傳統(tǒng)多目標(biāo)跟蹤方法進(jìn)行目標(biāo)跟蹤, 跟蹤準(zhǔn)確率和跟蹤速率都較低, 且很難適應(yīng)較復(fù)雜的背景. 在多目標(biāo)跟蹤中應(yīng)用深度學(xué)習(xí)可有效提高模型的準(zhǔn)確性和魯棒性, 從而適應(yīng)更復(fù)雜的背景環(huán)境, 因此基于深度學(xué)習(xí)的多目標(biāo)跟蹤算法已成為多目標(biāo)跟蹤技術(shù)的發(fā)展趨勢. 多目標(biāo)跟蹤技術(shù)可實(shí)現(xiàn)對給定的視頻或圖像中多個對象進(jìn)行同時定位, 同時保持他們的身份(ID)標(biāo)簽不變, 并最終給出各自的運(yùn)動軌跡. 跟蹤的對象可為行人、 車輛和鳥類等, 目前研究最多的跟蹤對象為行人, 因?yàn)樾腥耸堑湫偷姆莿傂阅繕?biāo), 其在跟蹤難度上比剛性目標(biāo)更大, 且在實(shí)際應(yīng)用中行人的檢測跟蹤應(yīng)用范圍更廣泛.
傳統(tǒng)目標(biāo)檢測算法主要包括預(yù)處理、 窗口滑動、 特征提取、 特征選擇、 特征分類和后處理等6個主要步驟[2]. Girshick等[3]采用基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(region based convolutional neural network, R-CNN)將深度學(xué)習(xí)應(yīng)用于目標(biāo)檢測, 將在數(shù)據(jù)集PASCAL VOC 2007上的檢測精度從29.2%提升到66.0%, 極大提高了目標(biāo)檢測的準(zhǔn)確率, 這種基于端到端的訓(xùn)練, 將目標(biāo)的特征提取、 特征選擇和特征分類融合在同一模型中, 實(shí)現(xiàn)了性能與效率的整體優(yōu)化[2]. 近年來, 深度學(xué)習(xí)技術(shù)迅速發(fā)展, 其在檢測和識別的應(yīng)用中都取得了良好效果. 在深度學(xué)習(xí)算法中, 目標(biāo)檢測可分為雙階段檢測和單階段檢測, 其中: 雙階段檢測[2,4-7]基于候選區(qū)域, 首先粗略地定位檢測框, 然后進(jìn)行細(xì)化; 單階段檢測[8-10]是基于回歸的端到端目標(biāo)檢測. 其主要區(qū)別在于檢測過程是否分為兩個階段, 前者由檢測和分類兩個階段組成, 后者則將這兩個階段融合到一個階段進(jìn)行. 在性能上, 單階段檢測網(wǎng)絡(luò)速度快, 雙階段檢測網(wǎng)絡(luò)準(zhǔn)確度更好. Baser等[11]提出了一種數(shù)據(jù)驅(qū)動的在線多目標(biāo)檢測與跟蹤算法, 該算法使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)在每個檢測器中進(jìn)行數(shù)據(jù)關(guān)聯(lián), 通過深度學(xué)習(xí)技術(shù)將數(shù)據(jù)關(guān)聯(lián)問題等效為CNN中的推理, 同時監(jiān)督學(xué)習(xí)一種相似性函數(shù), 該函數(shù)包含了目標(biāo)所在圖像上和空間上特征的信息, 該算法可從3D上對數(shù)據(jù)進(jìn)行全局分配, 對檢測雜亂和數(shù)量分布不均的目標(biāo)進(jìn)行精確處理, 并且容易訓(xùn)練. Yu等[12]提出了一種具有高性能檢測和外觀特征的多目標(biāo)跟蹤算法(POI), 該算法采用動態(tài)尺度的多尺度訓(xùn)練策略, 組合不同尺度和水平層次的特征. He等[13]對YOLOv3[14]進(jìn)行了改進(jìn), 使用雙線性插值方法調(diào)整圖像大小, 使網(wǎng)絡(luò)檢測小目標(biāo)的能力得到提升, 更適合行人多目標(biāo)跟蹤的應(yīng)用場景, 提升了跟蹤效率[15]. Bewley等[16]提出了SORT算法, 該算法只使用Kalman濾波器和匈牙利算法等基本組合構(gòu)建跟蹤器, 由于使用了Faster RCNN作為檢測器, 使算法有較高的效率, 但其目標(biāo)的標(biāo)簽交換次數(shù)過多; 文獻(xiàn)[17]在SORT算法的基礎(chǔ)上又提出了Deepsort算法, Deepsort算法是在原算法的基礎(chǔ)上整合了外觀信息, 并在預(yù)訓(xùn)練階段加入了深層關(guān)聯(lián)度量, 在線期間使用視覺外觀空間中的最近鄰數(shù)據(jù)關(guān)聯(lián)算法進(jìn)行軌跡關(guān)聯(lián), 同時使用級聯(lián)匹配算法進(jìn)行匹配, 并使用馬氏距離和余弦距離計(jì)算運(yùn)動信息和外觀信息. Wang等[18]提出了JDE算法, 通過在單階段檢測的檢測器中嵌入外觀模型的方法, 使其在輸出檢測結(jié)果的同時輸出相對應(yīng)的嵌入向量, 并對各損失值進(jìn)行自動加權(quán)計(jì)算. AI對象檢測器FairMOT[19]通過一個統(tǒng)一的網(wǎng)絡(luò)同時完成目標(biāo)檢測和身份重識別(REID)兩項(xiàng)任務(wù), 并通過對大部分計(jì)算共享減少時間. 任珈民等[20]提出了一種基于YOLOv3與Kalman濾波的多目標(biāo)跟蹤算法, 只使用Kalman濾波算法, 在應(yīng)對復(fù)雜背景等非線性的情形下, 最終得到了目標(biāo)跟蹤34.4%的準(zhǔn)確度.
但上述算法在面對多目標(biāo)跟蹤中目標(biāo)被遮擋的問題時, 其跟蹤效率均較低, 為提高目標(biāo)被遮擋情形下的多目標(biāo)跟蹤效率, 本文提出一種新的行人多目標(biāo)跟蹤算法: 首先使用YOLOv4[21]檢測待跟蹤目標(biāo)得到檢測框, 利用擴(kuò)展Kalman濾波器預(yù)測下幀圖像中跟蹤目標(biāo)的位置; 其次采用匈牙利算法進(jìn)行數(shù)據(jù)關(guān)聯(lián), 確定行人目標(biāo)的運(yùn)動軌跡, 并針對發(fā)生遮擋的目標(biāo)加入軌跡異常修正算法緩解遮擋引起的目標(biāo)丟失.
為提高多目標(biāo)跟蹤的跟蹤準(zhǔn)確度及跟蹤速度, 本文使用YOLOv4作為檢測器, 檢測出當(dāng)前幀中不同尺寸的行人目標(biāo)并確定對應(yīng)的邊界框(Bbox); 利用擴(kuò)展Kalman濾波器預(yù)測下幀圖像中跟蹤目標(biāo)的位置; 采用匈牙利算法進(jìn)行數(shù)據(jù)關(guān)聯(lián), 確定行人目標(biāo)的運(yùn)動軌跡, 并針對發(fā)生遮擋的目標(biāo)加入軌跡異常修正算法緩解遮擋引起的目標(biāo)丟失.
YOLOv4深度神經(jīng)網(wǎng)絡(luò)由卷積層、 殘差網(wǎng)絡(luò)層、 激活函數(shù)層、 批標(biāo)準(zhǔn)化(batch normlization)等網(wǎng)絡(luò)基礎(chǔ)層組成, YOLOv4整體結(jié)構(gòu)如圖1所示. 本文選用YOLOv4網(wǎng)絡(luò)作為檢測器.
圖1 YOLOv4整體結(jié)構(gòu)Fig.1 Overall structure of YOLOv4
目標(biāo)檢測網(wǎng)絡(luò)首先通過骨干CSPDarknet(卷積-批量歸一化層-Mish激活函數(shù))改變輸入圖像的尺寸, 通過多個殘差組提取圖像特征, 獲得多種分辨率的特征圖, 采用1×1,5×5,9×9, 13×13的最大池化方式進(jìn)行多尺度融合, 然后對特征圖進(jìn)行上采樣, 與原特征圖拼接, 利用特征金字塔結(jié)構(gòu)獲得19×19,38×38,76×76三種不同尺度的預(yù)測結(jié)果. 在檢測模塊中添加了深度殘差收縮網(wǎng)絡(luò)(DRSN)[22], 使網(wǎng)絡(luò)模型引入了軟閾值函數(shù), 并將其作為非線性層, 以增強(qiáng)深度學(xué)習(xí)方法對含噪聲數(shù)據(jù)或復(fù)雜數(shù)據(jù)的特征學(xué)習(xí)效果.
深度殘差收縮網(wǎng)絡(luò)由深度殘差網(wǎng)絡(luò)、 注意力機(jī)制和軟閾值函數(shù)三部分組成, 其先通過注意力機(jī)制查找無用特征, 再使用軟閾值函數(shù)將其設(shè)為零, 增強(qiáng)了深度神經(jīng)網(wǎng)絡(luò)從含噪聲數(shù)據(jù)中提取有用特征的能力. 軟閾值函數(shù)是將絕對值小于某個閾值的特征設(shè)為零, 將絕對值大于該閾值的特征趨近于零, 計(jì)算公式為
(1)
其中x為輸入特征,y為輸出特征,τ為閾值(非負(fù)值).軟閾值函數(shù)的導(dǎo)數(shù)為
(2)
由式(2)可得軟閾值函數(shù)的導(dǎo)數(shù)為1或0.該屬性類似于整流線性單元(ReLU)激活函數(shù). 因此, 軟閾值函數(shù)的使用也能減小梯度彌散和梯度爆炸的可能性.
在計(jì)算機(jī)視覺領(lǐng)域, 注意力機(jī)制是使系統(tǒng)快速掃描范圍內(nèi)的所有物體, 找到目標(biāo)物體, 從而將注意力放在目標(biāo)物體上, 以提取目標(biāo)物體更多有用的細(xì)節(jié)信息, 同時忽略無關(guān)物體的所有信息. 深度殘差收縮網(wǎng)絡(luò)通過改進(jìn)SENet[23]的子網(wǎng)絡(luò)結(jié)構(gòu), 達(dá)到在深度注意力機(jī)制下使特征軟閾值化的目的, 其殘差模塊如圖2所示.
深度殘差收縮網(wǎng)絡(luò)對深度殘差網(wǎng)絡(luò)的殘差模塊進(jìn)行改進(jìn), 在其中引入子網(wǎng)絡(luò), 通過子網(wǎng)絡(luò)學(xué)習(xí), 得到一組閾值, 并對每個特征通道進(jìn)行軟閾值化處理. 在子網(wǎng)絡(luò)中, 所有輸入特征的絕對值經(jīng)過全局平均池化得到最后的平均值A(chǔ); 同時, 全局均值池化后的特征圖, 通過一個全連接網(wǎng)絡(luò)(其最后一層為Sigmoid激活函數(shù))輸出系數(shù)α; 平均值A(chǔ)和系數(shù)α相乘得到最后的閾值.這樣既可以使閾值大于零且每個樣本都有自己的閾值, 同時保證閾值大小適當(dāng).因此, 深度殘差收縮網(wǎng)絡(luò)的工作原理是注意到無用特征, 通過軟閾值函數(shù), 將其設(shè)為零; 或注意到有用特征, 將其保存.完整的深度殘差收縮網(wǎng)絡(luò)如圖3所示.由圖3可見, 輸入首先通過卷積層, 然后經(jīng)過多個基本模塊, 再經(jīng)過批標(biāo)準(zhǔn)化、 整流線性單元激活函數(shù)、 全局均值池化層, 最后從全連接輸出層得到分類結(jié)果.
圖2 深度殘差收縮網(wǎng)絡(luò)的殘差模塊Fig.2 Residual module of deep residual shrinkage network
圖3 深度殘差收縮網(wǎng)絡(luò)的整體結(jié)構(gòu)Fig.3 Overall structure of deep residual shrinkage network
本文采用改進(jìn)的Deepsort作為跟蹤器, 將其中的Kalman濾波器調(diào)整為擴(kuò)展Kalman濾波器, 以滿足非線性輸入線性化, 并預(yù)測下一幀目標(biāo)位置, 先將YOLOv4的檢測結(jié)果輸入擴(kuò)展Kalman濾波器, 得到當(dāng)前幀的估計(jì)值, 然后使用融合度量的方法計(jì)算檢測結(jié)果與跟蹤結(jié)果的匹配程度, 最后對運(yùn)動軌跡中發(fā)生遮擋的物體加入軌跡異常修正算法, 以得到更準(zhǔn)確的跟蹤軌跡.
1.2.1 擴(kuò)展Kalman濾波
傳統(tǒng)Kalman濾波器只適用于高斯分布的線性系統(tǒng)中, 但在多目標(biāo)跟蹤的實(shí)際應(yīng)用中存在大量非線性因素, 如光照、 形變、 復(fù)雜的環(huán)境背景以及各種遮擋等因素. 因此, 本文引入擴(kuò)展Kalman濾波器解決上述問題.
擴(kuò)展Kalman濾波算法通過狀態(tài)方程和觀測方程描述. 狀態(tài)方程是關(guān)于上一個狀態(tài)和將要執(zhí)行控制量的二元函數(shù), 再疊加一個高斯噪聲, 計(jì)算公式為
θk=f(θk-1)+sk,
(3)
其中θk是第k幀目標(biāo)的系統(tǒng)狀態(tài)向量(第k幀目標(biāo)的真實(shí)值),f(θk-1)為狀態(tài)轉(zhuǎn)移矩陣,sk是協(xié)方差為Q的零均值高斯噪聲.觀測方程是關(guān)于當(dāng)前狀態(tài)的函數(shù)再疊加一個高斯噪聲, 計(jì)算公式為
zk=h(θk)+vk,
(4)
其中zk為第k幀目標(biāo)的系統(tǒng)觀測向量(第k幀目標(biāo)的檢測值),h(θk)為觀測矩陣,vk是協(xié)方差為R的零均值高斯噪聲.
對于非線性系統(tǒng)中的狀態(tài)估計(jì)問題, 采用Kalman濾波器解決.對f(θk-1)和h(θk)非線性函數(shù)進(jìn)行Taylor級數(shù)展開, 取一次項(xiàng)為一階擴(kuò)展Kalman濾波, 公式為
(5)
(6)
1.2.2 軌跡異常修正
圖4 遮擋情形下的行人跟蹤結(jié)果Fig.4 Pedestrian tracking results under occlusion
圖5 軌跡異常修正算法流程Fig.5 Flow chart of trajectory anomaly correction algorithm
當(dāng)跟蹤目標(biāo)被遮擋時, 利用匈牙利算法進(jìn)行數(shù)據(jù)關(guān)聯(lián), 雖然可能跟蹤到目標(biāo), 但效果不佳, 如圖4所示. 由圖4可見, 行人從開始被遮擋到遮擋結(jié)束, 遮擋前后跟蹤目標(biāo)的ID發(fā)生了轉(zhuǎn)變, 即跟蹤軌跡有發(fā)生中斷的情況. 基于此, 本文加入了軌跡異常修正算法, 以減少因遮擋情形出現(xiàn)的軌跡中斷, 即跟蹤目標(biāo)ID變換現(xiàn)象.
軌跡異常修正算法[24]步驟如下:
3) 比較(T-1)時刻和T時刻目標(biāo)i的中心點(diǎn)P(Ti-1)和P(Ti);
4) 更新邊界框中心點(diǎn)坐標(biāo).坐標(biāo)更新過程如下:
(7)
其中Δh為(T-1)時刻和T時刻的邊界框高度變化量.
(8)
其中Δω為(T-1)時刻和T時刻的邊界框?qū)挾茸兓?
軌跡異常修正算法的流程如圖5所示.
本文算法步驟如下:
1) 用YOLOv4檢測器對目標(biāo)進(jìn)行檢測, 得到當(dāng)前幀目標(biāo)的檢測框和置信度;
2) 通過置信度刪除部分檢測框, 并利用深度神經(jīng)網(wǎng)絡(luò)提取各檢測目標(biāo)的特征, 由輸入第一幀圖像的檢測輸出信息初始化擴(kuò)展Kalman濾波器;
3) 通過擴(kuò)展Kalman濾波器, 根據(jù)上一幀的目標(biāo)框信息為當(dāng)前幀預(yù)測目標(biāo)位置信息, 得到預(yù)測目標(biāo)框;
4) 計(jì)算面積交并比(IOU), 并使用級聯(lián)匹配得到匹配成功和匹配失敗的邊界框;
5) 利用匈牙利算法進(jìn)行數(shù)據(jù)關(guān)聯(lián), 對于匹配成功的邊界框, 直接輸出其坐標(biāo); 對于匹配失敗的檢測框, 首先創(chuàng)建一個新的跟蹤器, 保存其坐標(biāo)及特征, 若連續(xù)3幀均跟蹤成功, 則將其作為新增的檢測目標(biāo), 然后初始化新的擴(kuò)展Kalman濾波器; 若連續(xù)3幀均跟蹤失敗, 則將其作為目標(biāo)丟失處理, 然后加入軌跡異常修正算法尋找丟失目標(biāo), 在尋找過程中若幀數(shù)超過60幀還未找到, 則刪除跟蹤器;
6) 處理完所有圖像則結(jié)束, 否則轉(zhuǎn)步驟3).
本文算法流程如圖6所示.
圖6 本文算法流程Fig.6 Flow chart of proposed algorithm
本文采用COCO數(shù)據(jù)集訓(xùn)練本文算法的模型, 用MOT16的訓(xùn)練集作為測試集測試本文算法, 數(shù)據(jù)集中包含多個行人目標(biāo), 且存在目標(biāo)交互和遮擋現(xiàn)象. MOT16訓(xùn)練集中各包含7段視頻. 實(shí)驗(yàn)環(huán)境: Ubuntu 18.04, Intel Xeon(R) CPU E5-2660 V2 @ 2.20 GHz×40處理器, GeForce GTX 2080Ti GPU顯卡, Python3.6.12.
實(shí)驗(yàn)采用跟蹤準(zhǔn)確度(MOTA)、 跟蹤精度(MOTP)、 命中的軌跡假設(shè)占地面真實(shí)總軌跡的比例(MT)、 丟失的目標(biāo)軌跡占地面真實(shí)總軌跡的比例(ML)、 身份標(biāo)簽切換總數(shù)(ID_Sw)、 誤檢總數(shù)(FP)和漏檢總數(shù)(FN)作為評判標(biāo)準(zhǔn).
設(shè)計(jì)兩組實(shí)驗(yàn), 對比分析本文算法的性能.
實(shí)驗(yàn)1本文算法在不同視頻序列上進(jìn)行多目標(biāo)跟蹤測試, 分析在不同背景下本文算法的實(shí)驗(yàn)結(jié)果.
實(shí)驗(yàn)2將本文算法與其他算法進(jìn)行對比, 從而對本文算法的性能做進(jìn)一步分析. 對比算法為RFS[25],MTDF[26],AM_ADM[27]和HISP_T[28].
用本文算法在測試集MOT16的所有不同視頻序列上進(jìn)行對比實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果列于表1. 由表1可見: 本文算法在視頻序列MOT16-03上效果最佳, 在視頻序列MOT16-14上效果最差, 這是因?yàn)镸OT16-14背景顏色對比不明顯, 且行人目標(biāo)過小, 導(dǎo)致誤差較大, 跟蹤效果較差; 視頻序列MOT16-03相對背景對比顏色明顯, 行人目標(biāo)大小適宜; 視頻序列MOT16-01背景過暗且行人目標(biāo)有的太小, 導(dǎo)致跟蹤效果一般; 視頻序列MOT16-06的圖像分辨率低, 有鏡面成像現(xiàn)象, 且相機(jī)晃動影響了最終的跟蹤效果; 視頻序列MOT16-07和MOT16-08都存在行人目標(biāo)過小且部分行人目標(biāo)與背景顏色相似的問題, 從而影響了跟蹤效果; 視頻序列MOT16-12有過多的鏡面成像現(xiàn)象且相機(jī)晃動, 從而影響了跟蹤結(jié)果.
表1 本文算法在測試集MOT16不同序列上的量化跟蹤結(jié)果
在測試集MOT16上, 將本文算法與RFS,MTDF,AM_ADM,HISP_T算法進(jìn)行對比實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果列于表2. 由表2可見: 本文算法的跟蹤準(zhǔn)確度為56.5%, 比第二位的RFS算法(準(zhǔn)確度為50.9%)高出5.6%; 本文算法的MT為20.4%, 是5種算法中的最高值, 比第二位的RFS算法(MT為16.7%)高出3.7%; 且本文算法在數(shù)據(jù)集MOT16中的誤檢和漏檢數(shù)目為2 740個和75 925個, 其標(biāo)簽切換總數(shù)為610, 是5種算法中最少的, 從而證明了本文算法有良好的跟蹤準(zhǔn)確度且可有效解決目標(biāo)被遮擋問題的軌跡丟失問題及標(biāo)簽切換問題.
表2 不同算法在數(shù)據(jù)集MOT16上的量化跟蹤結(jié)果對比
為更直觀展現(xiàn)本文算法在處理遮擋問題時的優(yōu)勢, 在視頻序列MOT16-01和MOT16-06上使用本文算法與RFS,MTDF,AM_ADM,HISP_T算法進(jìn)行對比實(shí)驗(yàn), 其中遮擋效果截圖如圖7所示, 連續(xù)遮擋效果如圖8所示.
圖7 不同算法在目標(biāo)被遮擋情形下的跟蹤效果Fig.7 Tracking effect of different algorithms in the case of target occlusion
圖8 不同算法在目標(biāo)被連續(xù)遮擋情形下的跟蹤效果Fig.8 Tracking effect of different algorithms in the case of target continuous occlusion
圖7中第一行為第176幀目標(biāo)被遮擋發(fā)生前, 第二行為第186幀目標(biāo)被遮擋正在發(fā)生, 第三行為第200幀目標(biāo)被遮擋已結(jié)束. 由圖7可見, 本文算法在目標(biāo)被遮擋前后可準(zhǔn)確地跟蹤到行人目標(biāo)且不發(fā)生標(biāo)簽交換; RFS,MTDF,AM_ADM,HISP_T算法在這3幀圖像中都框選到了行人目標(biāo), 但都存在遮擋前后行人目標(biāo)標(biāo)簽交換的問題, 而且HISP_T算法還存在誤檢現(xiàn)象. 圖8中第一行為第311幀目標(biāo)被遮擋發(fā)生前, 第二行為第315幀目標(biāo)被遮擋第一個行人, 第三行為第318幀目標(biāo)被遮擋兩個行人, 第四行為第326幀目標(biāo)被遮擋已結(jié)束. 由圖8可見, 本文算法在目標(biāo)被遮擋前后可準(zhǔn)確地跟蹤到行人目標(biāo)且不發(fā)生標(biāo)簽交換; RFS,MTDF,HISP_T算法在這4幀圖像中都框選到了行人目標(biāo), 但都存在遮擋前后行人目標(biāo)標(biāo)簽交換的問題, 而AM_ADM算法在第311幀和315幀圖像中存在漏檢和誤檢的問題.
圖9 不同算法在目標(biāo)過小時的跟蹤效果Fig.9 Tracking effect of different algorithms when targets are too small
為直觀展現(xiàn)本文算法在處理目標(biāo)過小問題時的優(yōu)勢, 在視頻序列MOT16-07和MOT16-14上進(jìn)行不同算法處理效果的對比分析, 實(shí)驗(yàn)結(jié)果如圖9所示. 圖9中第一行為視頻序列MOT16-07中第290幀, 由圖9可見, 本文算法和AM_ADM算法各檢測出一個小目標(biāo), 但AM_ADM算法和其他算法都存在漏檢問題, 而且MTDF算法還存在誤檢問題; 圖9中第二行為視頻序列MOT16-14中第269幀, 由圖9可見, RFS和HISP_T算法都漏檢了兩個目標(biāo), MTDF和AM_ADM算法都漏檢了一個小目標(biāo), 而且AM_ADM算法還誤檢了兩個目標(biāo).
實(shí)驗(yàn)結(jié)果表明, 本文算法的跟蹤準(zhǔn)確率比其他對比算法都高, 且在遮擋問題上有較好的跟蹤結(jié)果, 能有效緩解目標(biāo)標(biāo)簽交換問題, 且對小目標(biāo)的跟蹤也有一定效果.
綜上所述, 本文使用YOLOv4進(jìn)行行人多目標(biāo)檢測, 在保證檢測精度的同時, 實(shí)現(xiàn)了實(shí)時檢測. 使用YOLOv4檢測到跟蹤目標(biāo)后, 通過擴(kuò)展Kalman濾波器預(yù)測下一幀目標(biāo)的位置, 以此獲得當(dāng)前幀的先驗(yàn)假設(shè), 在獲得檢測和預(yù)測結(jié)果后, 計(jì)算兩者的交并比, 并用級聯(lián)匹配方法將擴(kuò)展Kalman濾波預(yù)測的檢測框與目標(biāo)檢測的檢測框進(jìn)行匹配, 然后用匈牙利算法找到最佳匹配, 同時針對發(fā)生遮擋的目標(biāo)加入軌跡異常修正算法, 即根據(jù)跟蹤框的高度和寬度與其中心坐標(biāo)對比, 更新目標(biāo)的中心坐標(biāo), 從而達(dá)到軌跡異常修正的目的. 實(shí)驗(yàn)結(jié)果表明, 本文算法在數(shù)據(jù)集MOT16上進(jìn)行目標(biāo)跟蹤達(dá)到了56.5%的準(zhǔn)確度, 且減少了目標(biāo)標(biāo)簽交換次數(shù).