2021-11-05深度学习
?關注微信公眾號:人工智能技術與咨詢。了解更多咨詢
基于YOLOv3 和ASMS 的目標跟蹤算法
人工智能技術與咨詢?3天前
本文來自《光電工程》,作者呂晨等
1.?? 引言
目標跟蹤一直是計算機視覺的重要應用領域和研究熱點。隨著硬件設施的完善和人工智能技術的發展,目標跟蹤技術也變得愈發重要。目前目標跟蹤已在智能人機交互[1]、交通領域和軍事領域占據重要地位。然而目標跟蹤也面臨著外觀形變、光照變化、尺度變化、快速運動的運動模糊和目標遮擋等[2]導致的目標丟失問題。
目標跟蹤方法就工作原理[3]可分為生成式模型和判別式模型,生成式模型有光流法[4]、粒子濾波[5]、Meanshift[6]算法等,判別式模型包括MIL[7](multiple instance learning)、TLD[8](tracking learning detection)、支持向量機[9]等經典的目標跟蹤算法。傳統Meanshift算法采用目標的顏色概率直方圖作為搜索特征,通過不斷迭代Meanshift向量使得算法收斂于目標的真實位置,因其計算量不大,具有較好的實時性。但由于在跟蹤過程中窗口尺度保持不變,當目標尺度有所變化時,跟蹤就會失敗。ASMS[10](adaptive scale meanshift)算法在經典Meanshift框架下加入了尺度估計,引入尺度不劇變和可能偏最大兩個先驗作為正則項,從而實現了尺度自適應,同時增強了算法的魯棒性。但是ASMS算法仍需手動圈取感興趣區域,屬于半自動跟蹤算法且缺失在目標丟失后的后續處理。
為了實現跟蹤的有效性和魯棒性,深度學習算法已廣泛應用于目標跟蹤領域。常見的算法主要分為兩種,一種是基于候選區域,這種方法需要先獲取候選區域,然后進行分類,如R-CNN[11](region convolutional neural networks)、Fast R-CNN[12]、Faster R-CNN[13]等算法。另一種是單次目標跟蹤算法,該方法直接在網絡中提取特征來預測物體分類和位置,如YOLO[14](you only look once)和SSD[15](single shot multibox detector)。相比較于基于候選區域的算法,單次目標跟蹤算法的實時性更高,可以避免背景錯誤, 學習到物體的泛化特征。YOLOv3[16](you only look once version 3)是基于YOLOv1和v2[17]的改進版本,采用Darknet-53作為新的主干網絡,借鑒了ResNet的殘差結構,去掉池化層和全連接層,通過改變卷積核的步長來實現張量的尺寸變化,在保持速度優勢的前提下,提升了預測精度,尤其是加強了對小物體的識別能力。在SSD的基礎上衍生出DSSD[18](deconvolutional single shot detector)和FSSD(feature fusion single shot multibox detector)算法[19]。DSSD是利用反卷積將特征圖進行上采樣,與原始的特征圖進行融合,然后混合后的特征圖輸入感知器網絡進行預測,解決了SSD對于小目標物體的檢測效果依然不夠理想的缺點。FSSD算法提出了一種特征融合的方式,利用得到的特征圖重新進行下采樣得到不同的特征圖尺度,輸入感知器網絡進行預測。
YOLOv3算法相較DSSD和FSSD算法具有更高的精確性和實時性,所以本文選擇YOLOv3算法與ASMS算法相結合,并引入實時跟蹤效果判斷機制,以解決目標受到物體遮擋或快速運動而導致的丟失問題。并且為了提升算法運行速度,降低算法對于硬件的要求,對YOLOv3進行剪枝。
2.?? 相關工作
2.1?? YOLOv3前景檢測算法介紹
YOLOv3保留了前兩代算法用網格來劃分輸入圖片區域,每塊區域單獨檢測目標的思想;延續了v2版本使用BN(batch normalization)做正則化的方法,把BN層和LeakyReLU層連接到每一層卷積層之后;采用端到端訓練,省去了在每一個獨立學習任務執行之前所做的數據標注。
YOLOv3的檢測框架圖如圖 1所示。
圖?1.??YOLOv3的檢測框架圖
Figure?1.??Block diagram of YOLOv3
下載:?全尺寸圖片?幻燈片
YOLOv3對邊界框進行預測時采用邏輯回歸,在預測進行之前,對錨框包圍的部分進行一個目標性評分以去掉不必要的錨框,減少計算量。
由于在進行目標跟蹤時,只需要判斷出前景和背景即可,無需對目標進行更進一步的種類劃分,所以本文將邏輯回歸Softmax的輸出由80個種類更改為前景和背景兩種。
2.2?? ASMS跟蹤算法介紹
ASMS是基于Meanshift算法的一種改進算法,加入了尺度估計,引入尺度不劇變和可能偏最大兩個先驗作為正則項,主要解決了Meanshift預測邊框不能自適應的問題,并且使得范圍估計更加具有魯棒性。ASMS算法通過最小化候選區域與目標區域顏色特征的Hellinger距離并使用Meanshift迭代候選區域使得兩者匹配從而完成跟蹤。
候選區域和目標區域的Hellinger距離計算如下:
| H[p^(y),q^]=1?ρ[p^(y),q^]???????????√,H[p^(y),q^]=1?ρ[p^(y),q^], | (1) |
其中:
| ρ[p^(y),q^]=∑u=1mp^u(y),q^u???????√。ρ[p^(y),q^]=∑u=1mp^u(y),q^u。 | (2) |
上式中目標區域特征u∈{1,...,m}u∈{1,...,m}的概率為q^uq^u,候選區域的特征概率為p^u(y)p^u(y)。
本文為了使距離度量結果更加直觀以及便于對候選區域和目標區域的相似度展開分析和對目標丟失條件進行評判,使用Bhattacharyya距離(即上式(2))作為距離度量公式,使式(2)最大化,并通過Meanshift迭代得到新的候選區域坐標和邊框尺度。
3.?? 基于YOLOv3和ASMS的目標跟蹤算法
本文所研究的是在攝像頭和背景均固定的情況下運動物體的跟蹤問題,由YOLOv3算法檢測出的前景區域通過非極大抑制確定目標框,將運動目標直接作為ASMS算法的初始目標區域,并對目標進行跟蹤,即可實現算法的全自動運行。在跟蹤過程中實時判斷跟蹤效果,當候選區域與實際目標產生較大偏差或發生遮擋時,使用YOLOv3算法對目標進行更新從而提升算法跟蹤精度,解決了目標丟失的問題。在對YOLOv3和ASMS算法進行聯合時,為了提升算法的運算速度,實現實時性要求,減少算法的參數量以及體量,本文對YOLOv3算法進行模型剪枝。
3.1?? YOLOv3剪枝
模型壓縮是一種重新調整深度模型所需資源消耗的有效工具,該方法可以精簡網絡結構,減少參數, 壓縮網絡體量,提升算法的運行速度。現有的模型壓縮方法主要包括模型剪枝[20-21]、參數量化[22]、動態計算[23]等。模型剪枝可在權重[24]、核、通道和層這些不同級別實現。本節將具體討論YOLOv3模型剪枝方法。
通道剪枝雖然是一種粗粒度的壓縮方法,但較其他方法來說十分有效且不需要專用的軟件和硬件與之匹配。本文采用該方法來精簡網絡,對YOLOv3算法進行壓縮,直接在批量歸一化(BN)層選用尺度因子作為信道放縮因子并且通過在這些放縮因子上使用L1正則項訓練網絡以實現通道稀疏化,減少YOLOv3模型尺寸及計算復雜性。
通過通道剪枝可得到一個更緊湊和有效的卷積通道配置,從而減少參數,提升算法運行效率。且卷積神經網絡的計算量主要來自卷積層,減少卷積層通道可節約運行時間同時降低算法對于硬件的要求。按圖 2所示的步驟獲得剪枝后的YOLOv3。
圖?2.??通過稀疏訓練和通道剪枝獲得剪枝后的YOLOv3
Figure?2.??YOLOv3 pruned through sparse training and channel pruning
下載:?全尺寸圖片?幻燈片
剪枝主要分為以下幾個迭代步驟:1) 對YOLOv3網絡進行稀疏訓練;2) 剔除對模型推理不重要的成分即得分較少的部分,本文使用的方法主要是指卷積層通道;3) 微調剪枝模型,以彌補潛在的暫時性能下降。
1) 稀疏訓練
為了對深度模型的通道進行剪枝,需要為每個通道分配一個放縮因子對通道進行選擇。對于YOLOv3網絡而言,除了輸入卷積層沒有BN層以外,其他卷積層均包含BN層,BN層的計算式:
| zout=γzin?μBσ2B√+ε+β,zout=γzin?μBσB2+ε+β, | (3) |
其中:μBμB和σBσB分別是輸入特征的均值和標準差,γγ代表可訓練的比例因子ββ表示偏差,本文直接將γγ參數作為通道的放縮因子和重要性評估指標。為了更好地判別通道的重要性,本文通過對γγ使用L1正則化來進行通道稀疏化訓練。稀疏訓練的目標:
| L=Lloss+α∑γ∈Γf(γ),L=Lloss+α∑γ∈Γf(γ), | (4) |
式中:Lloss為YOLOv3網絡的訓練損失函數,αα為式(4)前后兩項的平衡因子,f(?)f(?)是在放縮因子上的懲罰項,本文選擇L1正則化即f(γ)=|γ|f(γ)=|γ|,選擇次梯度下降法作為L1懲罰項的優化方法。
2) 通道剪枝
在引入放縮因子正則項進行稀疏訓練之后,引入全局閾值γ^γ^來決定需要剪枝哪些特征通道,γ^γ^表示所有縮放因子值的一個比例,在具體操作中,本文剪枝掉所有小于全局閾值的通道。YOLOv3中的最大池化層和上采樣層因為沒有通道,所以在進行網絡壓縮時不對其進行考慮。接下來通過全局閾值為YOLOv3網絡所有卷積層構建剪枝掩碼。對于route層,將其輸入層的剪枝掩碼按順序拼接,并將拼接后的掩碼作為其剪枝掩碼;對于shortcut層,為了與其相連層的通道數匹配,本文迭代所有和shortcut相連的卷積層掩碼,并對其進行或計算從而得到最終的掩碼。
3) 微調和迭代
為了補償通道剪枝帶來的算法精度下降,對剪枝后的網絡進行微調。為了防止過度剪枝造成網絡的退化,本文使用增量剪枝策略。
3.2?? 目標丟失的判斷和目標重識別
傳統ASMS算法在目標丟失后無后續解決方案,基于此問題,本文引入巴氏距離衡量候選區域與目標區域的相似程度,將巴氏距離作為判斷跟蹤效果和目標發生遮擋丟失的依據,并結合YOLOv3算法進行目標丟失后的重識別。
在跟蹤時,ASMS算法以采樣點為中心計算相鄰區域的局部顏色概率密度,并沿概率密度梯度方向逼近梯度的最大值,直到移動的距離小于閾值,認定此時搜索框的區域為候選區域。已知候選區域的顏色概率特征為{qu}u=1,...,m{qu}u=1,...,m,目標區域的顏色概率特征為{pu}u=1,...,m{pu}u=1,...,m,計算候選區域與目標區域的相似度如式(2),所得結果ρ[p^(y),q^]ρ[p^(y),q^]越大則表示兩者距離越相近。
對照跟蹤效果和實際巴氏距離數值,當巴氏距離 > 0.8時可取得較好跟蹤效果,此時ASMS算法跟蹤框能緊密貼合檢測目標;當巴氏距離 < 0.5時跟蹤框與檢測目標發生較大偏移或尺度過大從而包含過多的背景信息。本文將0.7作為判斷目標丟失的閾值,這樣可以保證較高的跟蹤精度又不會過多調用剪枝后的YOLOv3算法,影響算法實時性。當ρ[p^(y),q^]>0.7ρ[p^(y),q^]>0.7時,則判斷在當前幀下目標跟蹤成功,下一幀繼續使用ASMS算法進行跟蹤;若ρ[p^(y),q^]<0.7ρ[p^(y),q^]<0.7則為跟蹤失敗。
考慮到一般情況下目標的速度不會發生突變,而是處于勻速運動或勻加速運動中,利用被遮擋前的序列圖像中目標的位置信息可二次擬合出位置和幀數的關系,并對被遮擋的目標進行位置預估,與剪枝后的YOLOv3算法所檢測的前景進行比較進而重新定位跟蹤框的位置。
3.3?? 算法步驟
本文提出基于YOLOv3和ASMS的跟蹤算法,實現了ASMS算法的全自動跟蹤,并且解決了目標發生遮擋后丟失的問題,提升了ASMS的跟蹤精度和魯棒性。具體算法步驟如下:
輸入:視頻幀
輸出:目標位置
1) 開始;
2) 獲取視頻序列幀圖像,并使用剪枝后的YOLOv3算法對首幀圖像進行前景檢測,將檢測出的目標區域信息保存;
3) 選取下一幀,執行后續操作;
4) 使用ASMS算法讀取前景目標信息并進行目標跟蹤,同時通過巴氏距離判斷跟蹤效果和目標是否發生遮擋;
5) 判斷巴氏距離計算結果是否 > =0.7;
6) 如果 > =0.7,則認為跟蹤成功,讀取下一幀視頻并用ASMS算法繼續跟蹤;
7) 若 < 0.7,則認為跟蹤失敗,使用遮擋前的序列圖像中目標位置信息二次擬合出位置和幀數的關系,并對被遮擋的目標進行位置預估,與剪枝后的YOLOv3算法所檢測的前景進行比較,重新定位前景區域并將前景區域信息傳遞給ASMS算法進行跟蹤;
8) 反復執行3)~7),直到視頻結束;
9) 結束。
算法流程圖如圖 3所示。
圖?3.??基于YOLOv3和ASMS的跟蹤算法流程圖
Figure?3.??The tracking algorithm flow chart based on YOLOv3 and ASMS
下載:?全尺寸圖片?幻燈片
4.?? 實驗仿真對比
實驗硬件平臺采用Intel(R) Core(TM)i5-7500 3.40 Hz CPU,GPU為GTX1060,PC機內存為16 GB。實驗先對改進后的YOLOv3算法進行了驗證,通過對YOLOv3、YOLOv3-tiny和剪枝的YOLOv3算法進行對比,說明了改進后YOLOv3算法的優越性。之后選用在有遮擋和無遮擋情況下的視頻進行實驗仿真以檢測聯合跟蹤算法。在對比算法方面,本文分別嘗試了YOLOv3、YOLOv3-tiny和聯合剪枝YOLOv3算法與ASMS算法,并與KCF(kernelized correlation filters)算法[25]、VITAL(visual tracking via adversarial learning)算法[26]和SANet(structure aware network)算法[27]進行了對比。測試視頻幀率為30 f/s,視頻幀大小為1960×1080,視頻時長均為10 s。實驗結果將從精確度和實時性兩個方面進行量化對比。
4.1?? 實驗1
在本實驗中,數據庫采用YOLOv3作者使用的COCO數據庫。主要在0.5交并比(IOU)時對YOLOv3、YOLOv3-tiny和剪枝的YOLOv3算法針對目標檢測在精確度、mAP、速度(f/s)方面進行了驗證,并對網絡的體量進行比較。本文在對YOLOv3進行稀疏訓練時迭代次數設置為100,平衡因子α的值需由網絡搜索得到,本文設置為0.0001。其余超參數與正常訓練無異,本文選用DarkNet中的默認配置,動量參數設置為0.9,權重衰減正則項為0.0005,初始學習率為0.001,在40000到45000的迭代步驟中衰減10倍。進行剪枝時,分別將γ^γ^設置為50%、80%和95%對應的剪枝率分別為50%、80%和95%。通過剪枝得到更緊湊的模型后進行微調[20],本文使用與正常訓練相同的超參數對剪枝模型再訓練,即將迭代次數設置為100,動量參數設置為0.9,權重衰減正則項為0.0005,初始學習率為0.001,在40000到45000的迭代步驟中衰減10倍。并將微調后得到的模型分別稱為YOLOv3-50、YOLOv3-80和YOLOv3-95(如表 1所示)。
表?1.??對比模型和剪枝模型評價結果
Table?1.??Evaluation results of comparison model and pruning model
| 模型 | 精確度 | mAP | 速度/(f/s) | 參數 | 體量 | |
| CPU | GPU | |||||
| YOLOv3-tiny | 32.7 | 24.1 | 48 | 120 | 8.9M | 33.1MB |
| YOLOv3 | 55.8 | 57.9 | 13 | 27 | 60.6M | 231MB |
| YOLOv3-50 | 57.6 | 56.6 | 22 | 48 | 19.8M | 91.7MB |
| YOLOv3-80 | 51.7 | 52.4 | 23 | 50 | 12.3M | 46.6MB |
| YOLOv3-95 | 49.4 | 46.5 | 27 | 57 | 4.8M | 18.7MB |
?|?Show Table
DownLoad:?CSV
在本文實驗中,分別通過剪枝得到了YOLOv3-50、YOLOv3-80和YOLOv3-95,對應剪枝率分別是50%、80%和95%。在只使用CPU運算的情況下,剪枝后的運行時間比YOLOv3減少了39.7%,42.8%和49.9%。YOLOv3-95在與YOLOv3接近的精確度的情況下,實時性達到了27 f/s,是YOLOv3算法的2倍,在加入GPU計算后,YOLOv3-95達到了57 f/s,可完全滿足實時性的要求,實現在線檢測。剪枝后的模型參數量分別比YOLOv3減少60.2%、79.7%和92.0%,體量比YOLOv3減少60.3%、79.8%和91.9%。隨著剪枝率的提升,網絡的檢測精確度有一定程度下降,但是YOLOv3-95在參數和體量遠小于YOLOv3-tiny的情況下,精確度比其提升51%。由于YOLOv3-tiny的網絡較淺,就運行時間來說YOLOv3-tiny要短。根據實驗對比及以上分析,可得出YOLOv3-95在保證精度基本不下降的情況下,運行時間最短,參數量和體量最小,剪枝效果達到最優,所以本文在下面的實驗中將YOLOv3-95算法與ASMS算法相結合以提升聯合算法的性能。
4.2?? 實驗2
為了檢測聯合算法的效果,采用行人視頻對不同算法進行對照,本文使用跟蹤區域與前景目標之間的巴氏距離來表示算法的跟蹤精度,巴氏距離數值越大說明目標框圈定區域與前景目標區域重合度越高,進而表明算法的跟蹤準確率越高,實時性通過有效跟蹤時間內的每幀平均運行時間來衡量。分別用傳統ASMS算法、KCF算法、基于YOLOv3和ASMS算法、基于YOLOv3-95和ASMS算法共四種算法進行實驗。算法均采用矩形框來對前景進行跟蹤,傳統ASMS算法和KCF算法在手動圈動目標后進行跟蹤,基于YOLOv3和ASMS算法、基于YOLOv3-95和ASMS算法可自動檢測前景目標進行跟蹤。
視頻選取前景無遮擋的情況,由于實驗各算法均能實現對移動前景目標的實時跟蹤,只是在跟蹤過程中跟蹤框的大小和位置有一定差異,本文僅對聯合YOLOv3-95和ASMS算法的跟蹤效果進行展示。圖 4是行人途中無遮擋視頻序列的第69幀,104幀和第239幀(對應圖片從左到右)。
圖?4.??聯合YOLOv3-95和ASMS算法的跟蹤效果
Figure?4.??The tracking performance of algorithm based on YOLOv3-95 and ASMS
下載:?全尺寸圖片?幻燈片
傳統ASMS和KCF算法跟蹤邊界框選定的范圍更大。由表 2可知,改進后的算法較ASMS算法在跟蹤精度上有一定提升,基于YOLOv3和ASMS算法對于測試視頻分別提升了2.4%,基于YOLOv3-95和ASMS算法提升了2.1%,原因是在引入跟蹤效果判斷機制后,算法對于出現ASMS在視頻的某些幀中跟蹤效果不理想,檢測框與實際前景目標的巴氏距離 < 0.7的情況調用了YOLOv3-95算法進行目標重新定位,從而提升了算法的準確度。基于YOLOv3-95和ASMS算法精度比基于YOLOv3和ASMS算法略低的原因是:經過剪枝后的YOLOv3-95雖然運行速度提升了兩倍,但對于目標檢測的精度有所下降,從而導致聯合算法的平均巴氏距離數值有所降低。在實時性方面,傳統算法的運行速度要更快。
表?2.??算法對比表
Table?2.??Comparison among different algorithms
| 算法 | 平均巴氏距離 | 單幀平均耗時/s |
| 傳統ASMS算法 | 0.786 | 0.0098 |
| KCF算法 | 0.795 | 0.0073 |
| 基于YOLOv3和ASMS算法 | 0.805 | 0.0631 |
| 基于YOLOv3-95和ASMS算法 | 0.803 | 0.0463 |
?|?Show Table
DownLoad:?CSV
4.3?? 實驗3
視頻選取行人、動物、小車三種前景有遮擋的情況。分別使用傳統ASMS算法和KCF算法、基于YOLOv3和ASMS算法、基于YOLOv3-95和ASMS算法和近年在遮擋情況下跟蹤效果較優的VITAL算法、SANet算法進行實驗。使用精確度和實時性來評價算法性能。行人視頻在159幀發生遮擋,到200幀時目標遮擋結束。動物視頻從103幀開始發生遮擋,到257幀時目標遮擋結束。小車實驗視頻在100幀發生遮擋,到194幀時目標遮擋結束。圖 5(a)、6(a)、7(a)分別是行人中途被遮擋視頻序列的第97幀、201幀和210幀。圖 5(b)、6(b)、7(b)分別是動物中途被遮擋視頻序列的第93幀、201幀和277幀。圖 5(c)、6(c)、7(c)分別是小車中途被遮擋視頻序列的第96幀、173幀和273幀。所有的測試視頻中,傳統ASMS算法和KCF算法在目標發生遮擋時雖仍能進行跟蹤,但隨著目標遮擋范圍的增加,跟蹤精度直線下降,跟蹤框與實際目標產生較大偏移,匹配程度變差,直到最后徹底丟失目標。ASMS算法在目標被遮擋后,雖然跟蹤框進行了尺度和位置變換,如圖 5所示,但在目標走出遮擋范圍后仍無法對其進行準確定位,跟蹤失敗。KCF算法的情況也是如此。而基于YOLOv3-95和ASMS算法能夠在存在遮擋的情況下準確地實現前景目標的穩定跟蹤。在目標被遮擋后,通過計算巴氏距離判定ASMS算法跟蹤失敗,采用YOLOv3算法對目標進行重新定位。在目標從遮擋區域走出時,YOLOv3算法識別出目標并將目標區域傳遞給ASMS算法并繼續使用ASMS算法進行跟蹤。基于YOLOv3和ASMS算法、VITAL算法和SANet算法的方法與基于YOLOv3-95和ASMS算法的方法從跟蹤效果方面分析相差不大,本文不做贅述。
圖?5.??傳統ASMS算法的跟蹤效果。(a) 行人;(b) 動物;(c) 小車
Figure?5.??Tracking performance of the ASMS algorithm. (a) Pedestrian; (b) Animal; (c) Car
下載:?全尺寸圖片?幻燈片
圖?6.??KCF算法跟蹤效果。(a) 行人;(b) 動物;(c) 小車
Figure?6.??Tracking performance of the KCF algorithm. (a) Pedestrian; (b) Animal; (c) Car
下載:?全尺寸圖片?幻燈片
圖?7.??基于YOLOv3-95和ASMS算法的跟蹤效果。(a) 行人;(b) 動物;(c) 小車
Figure?7.??Tracking performance of the algorithm based on YOLOv3-95 and ASMS. (a) Pedestrian; (b) Animal; (c) Car
下載:?全尺寸圖片?幻燈片
圖 8為本次實驗行人視頻中,傳統ASMS算法、KCF算法,基于YOLOv3-95和ASMS算法候選區域和目標區域巴氏距離的變化曲線圖,其中橫坐標為視頻的序列幀數,縱坐標為巴氏距離結果。ASMS算法和KCF算法在目標發生遮擋后跟蹤精度驟降,大部分被遮擋后目標完全丟失,出現了算法失效的情況。由圖 8可以觀察到在159幀至200幀由于目標被遮擋從而無法通過算法定位。ASMS算法從159幀目標發生遮擋開始巴氏距離數值驟減,線段發生階躍式跌落,在跟蹤了5幀之后巴氏距離降至最低值,在164幀時目標徹底丟失。KCF算法與ASMS算法情況大致相同,雖較ASMS算法跟蹤效果有一些增強,在目標發生遮擋后,巴氏距離數值減少比ASMS算法緩慢一些,但在跟蹤了8幀之后也丟失了目標。聯合YOLOv3-95和ASMS算法在目標發生遮擋階段調用YOLOv3-95算法對目標進行檢測,在目標有遮擋情況下仍能進行較長時間跟蹤,且跟蹤精度優于ASMS和KCF算法,直至目標將要完全被遮擋時才發生丟失。并在201幀時目標從遮擋區域走出后,經過YOLOv3-95算法的重新定位確定目標位置,計算此時搜索窗鎖定的區域與真實目標的巴氏距離并判斷是否超過閾值,在204幀時巴氏距離數值> 0.7,繼續使用ASMS算法進行跟蹤。而傳統ASMS算法和KCF算法目標受遮擋丟失,在201幀目標再次出現后也無后續解決方案。對于動物和小車改進算法也能很好地進行目標丟失后的重跟蹤,在此不做贅述。
圖?8.??巴氏系數的曲線變化圖
Figure?8.??Bhattacharyya coefficient curves of different algorithms
下載:?全尺寸圖片?幻燈片
圖 9為行人視頻中,基于YOLOv3-95和ASMS算法、VITAL算法和SANet算法候選區域和目標區域巴氏距離的變化曲線圖。由圖 9可以觀察到,三種算法的巴氏距離走向基本一致,在未發生遮擋時,三種算法均能很好地對目標進行跟蹤,當目標發生遮擋時,三種算法均有很強的魯棒性,直至目標將要被完全遮擋前跟蹤框均能較好地跟蹤目標。當目標走出遮擋區域,三種算法都能立即識別并完成跟蹤。
圖?9.??巴氏系數的曲線變化圖
Figure?9.??Bhattacharyya coefficient curves of different algorithms
下載:?全尺寸圖片?幻燈片
表 3為各算法的性能對比,進行定量分析可知,在實時性方面基于YOLOv3和ASMS算法相較于傳統ASMS和KCF算法而言運行速度較慢,是因為算法提出了新的功能,采用巴氏距離判斷和YOLOv3檢測,算法耗時主要體現在前景自動識別和在目標丟失后通過YOLOv3算法對目標的重新定位,所以相較于傳統算法來說聯合算法的復雜度更高,單幀處理的耗時更長,基于YOLOv3和ASMS算法三組測試視頻的平均運行速度為16.3 f/s,基于YOLOv3-95和ASMS算法的平均運行速度為21.4 f/s,比其運行速度提升了31.2%,說明了剪枝的有效性。VITAL和SANet算法三組測試視頻單幀視頻平均耗時分別為1.33 s和1.65 s,耗時是本文基于YOLOv3-95和ASMS算法的26.6倍和33倍。在精確度方面,本文算法雖稍遜色于VITAL算法和SITN算法,但比傳統ASMS算法和KCF算法在有遮擋的情況下的精確度提升了2倍,很好地解決了目標丟失問題。
表?3.??算法對比表
Table?3.??Comparison among different algorithms
| 算法 | 平均巴氏距離 | 單幀平均耗時/s | |||||
| 行人 | 動物 | 小車 | 行人 | 動物 | 小車 | ||
| ASMS算法 | 0.3128 | 0.2564 | 0.3397 | 0.0093 | 0.0101 | 0.0104 | |
| KCF算法 | 0.3275 | 0.2631 | 0.3463 | 0.0078 | 0.0073 | 0.0085 | |
| 基于YOLOv3和ASMS的算法 | 0.6965 | 0.6700 | 0.7201 | 0.0626 | 0.0611 | 0.0607 | |
| 基于YOLOv3-95和ASMS的算法 | 0.6733 | 0.6574 | 0.7196 | 0.0469 | 0.0460 | 0.0473 | |
| VITAL算法 | 0.7043 | 0.6852 | 0.7253 | 1.6667 | 1.6823 | 1.6295 | |
| SANet算法 | 0.6965 | 0.6700 | 0.7201 | 1.3333 | 1.3478 | 1.3256 | |
?|?Show Table
DownLoad:?CSV
基于YOLOv3-95和ASMS算法除了可以應用于目標發生遮擋情況,對于目標運動過快導致目標丟失的場景也同樣適用,處理機制與目標被遮擋場景一致。當目標運動過快時,當前幀的初始搜索窗口不包含運動目標,則ASMS算法無法迭代出目標的精確位置,這一過程與目標受到遮擋時的場景類似。基于YOLOv3-95和ASMS的算法先使用YOLOv3-95算法對下一幀進行目標重檢測,準確定位后再將目標信息傳遞給ASMS算法繼續跟蹤。
5.?? 結論
本文針對傳統算法在目標丟失后無法進行后續跟蹤的問題,提出了一種基于YOLOv3和ASMS的目標跟蹤算法,可應用于目標受到遮擋或發生快速運動導致搜索窗口不包含運動目標等場景。通過YOLOv3算法檢測出前景目標,然后采用ASMS算法進行后續跟蹤和更新,但是該算法時間復雜度較高,所以本文繼而對網絡進行剪枝,得到了YOLOv3-50、YOLOv3-80和YOLOv3-95,通過聯合YOLOv3-95和ASMS最終得到了本文提出的基于YOLOv3和ASMS的目標跟蹤算法,并將測試結果與其他主流算法的結果進行分析和對比可知,本文算法不僅實現了全自動跟蹤,還解決了跟蹤目標丟失問題,提升了算法精度和運行速度,證明了該算法具有抗干擾能力強、魯棒性高、計算速度快、效率高、實時性好的優點。雖然基于YOLOv3和ASMS的目標跟蹤算法能更好地適應目標跟蹤任務,但是其仍具有只能對單個目標進行跟蹤,且應用場景簡單的缺點;未來將會重點對跟蹤算法部分進行改進,以實現對多目標的精確跟蹤,適用于更為復雜的場景。
【轉載聲明】轉載目的在于傳遞更多信息。如涉及作品版權和其它問題,請在30日內與本號聯系,我們將在第一時間刪除!
總結
以上是生活随笔為你收集整理的2021-11-05深度学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年北京交通大学925数据结构考研
- 下一篇: 2021-11-06深度学习