盧錦亮
(華南理工大學(xué) 數(shù)學(xué)學(xué)院,廣東 廣州 510640)
目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域重要的組成部分,已在視頻監(jiān)控[1]、自動(dòng)駕駛[2]等方面得到廣泛的應(yīng)用,根據(jù)跟蹤目標(biāo)數(shù)量的不同,可以分為單目標(biāo)跟蹤和多目標(biāo)跟蹤。單目標(biāo)跟蹤領(lǐng)域的目的在于只給定視頻第一幀單目標(biāo)的位置信息,預(yù)測(cè)該目標(biāo)在后續(xù)幀中的位置;多目標(biāo)跟蹤的目的在于對(duì)不具有任何先驗(yàn)信息的視頻數(shù)據(jù)中可能存在的目標(biāo)進(jìn)行跟蹤。隨著深度學(xué)習(xí)算法和計(jì)算機(jī)硬件的不斷發(fā)展,目前在單目標(biāo)跟蹤[3-5]和多目標(biāo)跟蹤[6-9]方面的研究和應(yīng)用越來越多。
在單目標(biāo)跟蹤方面,孿生神經(jīng)網(wǎng)絡(luò)成為了深度學(xué)習(xí)跟蹤方法的主流,Bertinetto 等人首次將孿生全卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在單目標(biāo)跟蹤領(lǐng)域中,提出了SiamFC 算法[3]。Li等[4]人在SiamFC 基礎(chǔ)上引入了Faster R-CNN 算法[10]的RPN 算法[10],提出了SiamRPN 算法,在目標(biāo)定位和邊界框微調(diào)上都取得了巨大的提升。針對(duì)孿生網(wǎng)絡(luò)結(jié)構(gòu)受到絕對(duì)平移不變性和卷積對(duì)稱性的限制,Li 等[4]人提出了:(1)空間感知采樣策略;(2)按通道的互相關(guān);(3)多層次聚合方法,使得SiamRPN++算法能夠使用深層網(wǎng)絡(luò),如ResNet-50[11]作為骨干網(wǎng)絡(luò),從而提出了SiamRPN++算法[5]。
在多目標(biāo)跟蹤方面,基于檢測(cè)的跟蹤(Tracking-by-Detection,TBD)是多目標(biāo)跟蹤研究領(lǐng)域中十分流行的范式?;赥BD 范式,Bewley 等人提出了SORT 算法[6]。針對(duì)SORT 算法存在目標(biāo)被遮擋之后目標(biāo)ID 頻繁切換的問題,Wojke 等人在SORT 算法的基礎(chǔ)上引入重識(shí)別特征和級(jí)聯(lián)匹配方式提出了DeepSORT 算法[7]。針對(duì)Deep-SORT 算法中檢測(cè)網(wǎng)絡(luò)和重識(shí)別網(wǎng)絡(luò)之間權(quán)重不共享問題,Wang 等[8]人在YOLOv3 算法[12]的基礎(chǔ)上,將單一輸出擴(kuò)展為三種輸出,提出了JDE 算法。針對(duì)YOLOv3 算法中容易出現(xiàn)先驗(yàn)框和目標(biāo)不對(duì)齊導(dǎo)致網(wǎng)絡(luò)歧義的問題,Zhang 等人在JDE 的基礎(chǔ)上進(jìn)行了改進(jìn):(1)使用Cen terNet 算法[13]作為目標(biāo)檢測(cè)算法;(2)將重識(shí)別特征從256 維降低到128 維,多方面提升了多目標(biāo)跟蹤算法的性能,提出了目前代表最高水平的FairMOT 算法[9]。
首先,針對(duì)SiamRPN++算法在有語(yǔ)義和外觀均相似行人的場(chǎng)景下存在跟蹤結(jié)果在正確和錯(cuò)誤之間頻繁切換的問題,受Wu[14]、Luo[15]等人對(duì)行人重識(shí)別研究的啟發(fā),本文使用重識(shí)別特征對(duì)算法進(jìn)行改進(jìn),提出EmSiamRPN算法,該算法利用重識(shí)別特征對(duì)SiamRPN++算法原始的預(yù)測(cè)進(jìn)行重排序,解決跟蹤結(jié)果切換的問題。其次,針對(duì)FairMOT 算法中卡爾曼濾波器存在手工設(shè)計(jì)關(guān)鍵參數(shù)問題,本文使用EmSiamRPN 算法代替卡爾曼濾波器,提出了EmSiamMOT 算法,該算法利用孿生網(wǎng)絡(luò)單目標(biāo)跟蹤算法端到端訓(xùn)練的優(yōu)勢(shì),避免了手工設(shè)計(jì)卡爾曼濾波器中的關(guān)鍵參數(shù),從而使得算法能夠進(jìn)行端到端的訓(xùn)練。
SiamRPN++算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。SiamRPN++算法使用孿生全卷積神經(jīng)網(wǎng)絡(luò)分別提取初始幀的目標(biāo)(Target)圖像特征和后續(xù)幀的搜索(Search)圖像特征,然后在Siamese RPN 模塊使用卷積模塊分別提取目標(biāo)圖像特征和搜索圖像特征的分類特征,記為[φ(z)]cls、[φ(x)]cls和回歸特征,記為[φ(z)]reg、[φ(x)]reg。式(1)給出了Siamese RPN 模塊中通過對(duì)分類特征之間的互相關(guān)和回歸特征之間的互相關(guān)來計(jì)算目標(biāo)識(shí)別和定位的信息。最后,SiamRPN++算法對(duì)圖1 中多個(gè)Siamese RPN 模塊輸出的得分響應(yīng)圖進(jìn)行加權(quán)平均以聚合低級(jí)語(yǔ)義和高級(jí)語(yǔ)義信息,并以此得到最終的單目標(biāo)跟蹤結(jié)果。
圖1 SiamRPN++網(wǎng)絡(luò)結(jié)構(gòu)[5]
其中w和h分別表示目標(biāo)-搜索分類(回歸)圖像特征互相關(guān)后對(duì)應(yīng)得分響應(yīng)圖的寬高,k表示RPN 中先驗(yàn)框的數(shù)量,*表示互相關(guān)。
FairMOT 算法主要由兩個(gè)部分組成:(1)目標(biāo)檢測(cè)部分:使用CenterNet 算法,網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,對(duì)視頻幀中可能存在的目標(biāo)進(jìn)行檢測(cè);(2)軌跡關(guān)聯(lián)部分:首先使用卡爾曼濾波器對(duì)之前已經(jīng)存在的軌跡進(jìn)行預(yù)測(cè),然后使用匈牙利算法基于重識(shí)別特征的余弦距離如式(2)所示、馬氏距離如式(3)所示和IOU 距離如式(4)所示對(duì)預(yù)測(cè)后軌跡和步驟(1)中新檢測(cè)的目標(biāo)進(jìn)行線性分配以實(shí)現(xiàn)身份的傳遞。
圖2 FairMOT 算法中目標(biāo)檢測(cè)部分的網(wǎng)絡(luò)結(jié)構(gòu)
其中Si檢測(cè)i的邊界框的面積,Sj表示軌跡j的邊界框的面積,Si∩j表示檢測(cè)i邊界框和軌跡j邊界框交集的面積。若檢測(cè)i邊界框和軌跡j邊界框相離,則Si∩j=0。
在對(duì)SiamRPN++算法在多目標(biāo)場(chǎng)景下跟蹤效果的觀察中,發(fā)現(xiàn)當(dāng)場(chǎng)景中存在多個(gè)語(yǔ)義和外觀都相似的行人時(shí),SiamRPN++算法存在跟蹤結(jié)果在正確和錯(cuò)誤之間頻繁切換的問題。這種問題對(duì)于TBD 范式中基于IOU 距離來分配檢測(cè)和軌跡是十分不利的,若記所要跟蹤的行人的身份為I,那么在跟蹤錯(cuò)誤幀中通過IOU 距離來分配檢測(cè)和軌跡,身份I就會(huì)被傳遞到錯(cuò)誤的行人身上。因此簡(jiǎn)單地使用SiamRPN++算法代替FairMOT 算法中的卡爾曼濾波器是存在不足的。
在TBD 范式中,由于目標(biāo)檢測(cè)先于目標(biāo)跟蹤,因此對(duì)于SiamRPN++算法而言,目標(biāo)檢測(cè)部分輸出的重識(shí)別特征是“免費(fèi)”提供的。因此,本文利用這種“免費(fèi)”提供的重識(shí)別特征來對(duì)SiamRPN++算法進(jìn)行改進(jìn),提出EmSiamRPN 算法,如算法1 所示。
在FairMOT 算法中,對(duì)檢測(cè)和軌跡進(jìn)行分配之前需要使用卡爾曼濾波器對(duì)軌跡進(jìn)行預(yù)測(cè),而卡爾曼濾波器中的多種參數(shù)均需要手工設(shè)計(jì)。在沒有足夠多先驗(yàn)知識(shí)的情況下,設(shè)計(jì)出符合多目標(biāo)跟蹤算法的參數(shù)是極其困難的。本文所提出的EmSiamRPN 算法是數(shù)據(jù)驅(qū)動(dòng)的,不需要手工設(shè)計(jì)參數(shù)。因此,針對(duì)FairMOT 算法中卡爾曼濾波器手工設(shè)計(jì)關(guān)鍵參數(shù)的問題,本文使用EmSiamRPN 算法代替卡爾曼濾波器,提出EmSiamMOT 算法。
在EmSiamMOT 算法中,對(duì)當(dāng)前軌跡集合中的每一個(gè)軌跡都分配一個(gè)EmSiamRPN 跟蹤算法。在對(duì)檢測(cè)和軌跡進(jìn)行分配之前,使用每個(gè)軌跡自身的跟蹤算法基于軌跡在當(dāng)前時(shí)間步中的邊界框大小位置、圖像信息、重識(shí)別特征信息以及下一個(gè)時(shí)間步的視頻幀圖像信息,來預(yù)測(cè)軌跡在下一個(gè)時(shí)間步中邊界框的位置大小和重識(shí)別特征。EmSiamMOT 算法的流程如算法2 所示。
為了確保實(shí)驗(yàn)結(jié)果的可比性,所有實(shí)驗(yàn)均在硬件條件為Intel i7-9700K 3.6GHz CPU、NVIDIA RTX2070 Super GPU 以及32G 內(nèi)存的個(gè)人計(jì)算機(jī)上進(jìn)行,數(shù)據(jù)集使用MOT Challenge 2016(MOT16)[16]作為測(cè)試集。以上述實(shí)驗(yàn)環(huán)境和數(shù)據(jù)集為基礎(chǔ),本節(jié)分別設(shè)置兩個(gè)實(shí)驗(yàn)。
(1)單目標(biāo)跟蹤算法的對(duì)比分析。通過SiamRPN++算法和EmSiamRPN 算法在多目標(biāo)跟蹤場(chǎng)景下單目標(biāo)跟蹤對(duì)比實(shí)驗(yàn),驗(yàn)證使用重識(shí)別特征改進(jìn)SiamRPN++算法的有效性。
(2)多目標(biāo)跟蹤算法的對(duì)比分析。通過FairMOT 算法和EmSiamMOT 算法的對(duì)比實(shí)驗(yàn),驗(yàn)證使用EmSiamRPN算法代替卡爾曼濾波器的有效性以及驗(yàn)證EmSiamMOT算法相比于FairMOT 算法在多目標(biāo)跟蹤結(jié)果上的提升。
在使用FairMOT 算法中目標(biāo)檢測(cè)部分的重識(shí)別特征輸出作為EmSiamRPN 算法中重識(shí)別特征輸入的情況下,SiamRPN++算法和EmSiamRPN 算法在MOT16-03 視頻中某一目標(biāo)上的單跟蹤結(jié)果如圖3 所示。
從圖3 可知,由于在預(yù)測(cè)時(shí)引入了重識(shí)別特征信息,在場(chǎng)景中存在多個(gè)語(yǔ)義和外觀都相似的目標(biāo)時(shí),EmSiamRPN 算法能夠很好地區(qū)分要跟蹤的目標(biāo)和非跟蹤的目標(biāo),而SiamRPN++算法由于只基于圖像信息進(jìn)行預(yù)測(cè),導(dǎo)致出現(xiàn)了錯(cuò)誤識(shí)別的情況。
如圖3 所示,EmSiamRPN 算法能夠?qū)δ繕?biāo)進(jìn)行很好的跟蹤。圖3(d)中,當(dāng)兩個(gè)語(yǔ)義和外觀都十分相似的目標(biāo)發(fā)生互相遮擋時(shí),SiamRPN++算法基于目標(biāo)的外觀信息給出了錯(cuò)誤的預(yù)測(cè)直到第243 幀,在錯(cuò)誤跟蹤結(jié)果被遮擋后才恢復(fù)正確的跟蹤結(jié)果。而對(duì)于EmSiamRPN 算法,由于在跟蹤策略中使用了重識(shí)別特征信息對(duì)目標(biāo)中心進(jìn)行修正,因此在相似的目標(biāo)發(fā)生互相遮擋的情況下仍然能夠做出正確的預(yù)測(cè)。
圖3 EmSiamRPN 算法和SiamRPN++算法的跟蹤結(jié)果對(duì)比
綜上所述,可以認(rèn)為針對(duì)SiamRPN++算法在有語(yǔ)義和外觀均相似行人的場(chǎng)景下存在跟蹤結(jié)果在正確和錯(cuò)誤之間頻繁切換的問題,算法1 中利用重識(shí)別特征對(duì)SiamRPN++算法的預(yù)測(cè)結(jié)果進(jìn)行重排序的改進(jìn)方法是有效的。
在本實(shí)驗(yàn)中,使用的數(shù)據(jù)是MOT16 數(shù)據(jù)集中訓(xùn)練集數(shù)據(jù),對(duì)比實(shí)驗(yàn)對(duì)象為FairMOT 算法和EmSiamMOT 算法。選取的衡量算法性能的評(píng)價(jià)指標(biāo)為:ID F1 值(IDF1)、ID 精確率(IDP)、ID 召回率(IDR)、ID 切換總數(shù)(IDs)、多目標(biāo)跟蹤準(zhǔn)確度(MOTA)和多目標(biāo)跟蹤精確度(MOTP),表1 給出了不同評(píng)價(jià)指標(biāo)的描述。
表1 多目標(biāo)跟蹤算法的評(píng)價(jià)指標(biāo)
兩種不同算法的多目標(biāo)跟蹤結(jié)果如表2 所示,其中↑表示指標(biāo)值越高越好,↓表示指標(biāo)值越低越好,加粗的指標(biāo)值表示該算法在取值越高越好的指標(biāo)中領(lǐng)先,斜體的指標(biāo)值表示該算法在取值越低越好的指標(biāo)中領(lǐng)先。
從表2 可知,EmSiamMOT 算法和FairMOT 算法有相似的多目標(biāo)跟蹤結(jié)果。整體上,EmSiamMOT 算法在IDF1、IDP、IDR 和MOTP 指標(biāo)上均有提升,在IDs 和MOTA 指標(biāo)上略有下降。在不同視頻中,兩種算法互有優(yōu)勢(shì)但差距不大。在視頻MOT16-10 的多目標(biāo)跟蹤結(jié)果中,EmSiamMOT 算法與FairMOT 算法在除MOTA 和MOTP外的指標(biāo)上差距最大,EmSiamMOT 算法在IDF1、IDP 和IDR 上分別提升了6.7%、7%和6.4%的同時(shí)減少了51 次ID 切換總數(shù)。
表2 兩種算法在MOT16 中的多目標(biāo)跟蹤結(jié)果
通過對(duì)視頻數(shù)據(jù)的分析,發(fā)現(xiàn)MOT16-10、MOT16-11 和MOT16-13 均由移動(dòng)中的攝像頭拍攝視頻,而其余的視頻為靜止的攝像頭所拍攝。在MOT16-10、MOT16-11和MOT16-13 當(dāng)中,相比其他兩個(gè)視頻,MOT16-10 畫面中出現(xiàn)更大幅度的攝像頭移動(dòng),導(dǎo)致目標(biāo)出現(xiàn)更嚴(yán)重的運(yùn)動(dòng)模糊,因?yàn)镋mSiamRPN 算法對(duì)運(yùn)動(dòng)模糊的目標(biāo)有較好的跟蹤效果,所以EmSiamMOT 算法比FairMOT 算法在IDF1、IDP、IDR 和IDs 上有較大的提升。
綜上所述,可以認(rèn)為針對(duì)FairMOT 算法中卡爾曼濾波器手工設(shè)計(jì)關(guān)鍵參數(shù)的問題,使用EmSiamRPN 算法代替卡爾曼濾波器,得到能夠端到端訓(xùn)練的多目標(biāo)跟蹤算法EmSiamMOT 是可行且有效的。
目標(biāo)跟蹤作為計(jì)算機(jī)視覺研究領(lǐng)域的重要組成部分,本文針對(duì)SiamRPN++算法在有語(yǔ)義和外觀均相似目標(biāo)的場(chǎng)景下存在跟蹤結(jié)果在正確和錯(cuò)誤之間頻繁切換的問題,使用重識(shí)別特征對(duì)跟蹤算法進(jìn)行了改進(jìn),提出了EmSiamRPN 算法,通過EmSiamRPN 算法和SiamRPN++算法在多行人場(chǎng)景下的單目標(biāo)跟蹤對(duì)比分析驗(yàn)證了EmSiamRPN 算法可以有效解決在存在外觀相似行人的場(chǎng)景下單目標(biāo)跟蹤算法跟蹤特定目標(biāo)的問題。針對(duì)FairMOT 算法中卡爾曼濾波器存在手工設(shè)計(jì)關(guān)鍵參數(shù)問題,本文通過使用EmSiamRPN 算法替代FairMOT 算法中的卡爾曼濾波器對(duì)算法進(jìn)行了改進(jìn),提出了EmSiamMOT 算法,并且通過EmSiamMOT 算法和FairMOT 算法在公開數(shù)據(jù)集中多行人視頻的多目標(biāo)跟蹤對(duì)比分析,驗(yàn)證了該算法能夠有效解決卡爾曼濾波器手工設(shè)計(jì)關(guān)鍵參數(shù)問題,另外,相比于FairMOT 算法,EmSiamMOT 算法在目標(biāo)出現(xiàn)運(yùn)動(dòng)模糊的情況下有更好的多目標(biāo)跟蹤結(jié)果。