馬 峻,姚震,徐翠鋒,2,陳壽宏,2
(1.桂林電子科技大學(xué)電子工程與自動(dòng)化學(xué)院,廣西桂林 541004;2.廣西自動(dòng)檢測(cè)技術(shù)與儀器重點(diǎn)實(shí)驗(yàn)室(桂林電子科技大學(xué)),廣西桂林 541004)
隨著民用無(wú)人機(jī)(Unmanned Aerial Vehicle,UAV)市場(chǎng)的快速發(fā)展,給人們帶來(lái)便利和樂(lè)趣的同時(shí),也引發(fā)了諸多安全問(wèn)題,如干擾航班運(yùn)行、攜帶危險(xiǎn)品、侵犯他人隱私等[1],因此有效檢測(cè)和跟蹤無(wú)人機(jī)是十分必要的。
在目標(biāo)檢測(cè)領(lǐng)域,傳統(tǒng)目標(biāo)檢測(cè)依賴于顏色、紋理,外形等特征,是早期目標(biāo)檢測(cè)的主要方法。大致包括以滑動(dòng)窗口為代表的區(qū)域選擇方法,以尺度不變特征變換(Scale Invariant Feature Transform,SIFT)和方向梯度直方圖(Histogram of Oriented Gradient,HOG)為代表的特征提取方法,以支持向量機(jī)(Support Vector Machines,SVM)和自適應(yīng)增強(qiáng)(Adaptive Boosting,AdaBoost)為代表的分類器方法等。由于傳統(tǒng)方法存在滑窗選擇策略缺乏針對(duì)性、時(shí)間復(fù)雜度高、窗口冗余以及手工設(shè)計(jì)的特征魯棒性較差等問(wèn)題,導(dǎo)致檢測(cè)效果不夠理想。近年來(lái),隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像處理方面的應(yīng)用,目標(biāo)檢測(cè)取得了巨大的突破,涌現(xiàn)出大量基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法,應(yīng)用最為廣泛的兩個(gè)方向是:以基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(Region-based CNN,R-CNN)為代表的區(qū)域建議(Region Proposal)型目標(biāo)檢測(cè)算法和以YOLO(You Only Look Once)及其改進(jìn)版本為代表的回歸型目標(biāo)檢測(cè)算法。前者屬于兩級(jí)檢測(cè)算法,先通過(guò)算法產(chǎn)生目標(biāo)候選框,然后再對(duì)候選框做分類與回歸,能在一定程度上適應(yīng)不同場(chǎng)景、不同尺度、不同外觀等復(fù)雜情況,具有較高的定位和目標(biāo)識(shí)別精度。后者屬于單級(jí)檢測(cè)算法,通過(guò)對(duì)網(wǎng)絡(luò)模型進(jìn)行裁剪,減少網(wǎng)絡(luò)模型的參數(shù)量,僅使用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)直接預(yù)測(cè)不同目標(biāo)的類別與位置,因而具有較高的推理速度。
運(yùn)動(dòng)目標(biāo)跟蹤可分為單目標(biāo)跟蹤(Single Object Tracking,SOT)和多目標(biāo)跟蹤(Multiple Object Tracking or Multiple Target Tracking,MOT or MTT)[2]。前者是指在視頻首幀初始化目標(biāo)位置,并根據(jù)前一幀的信息在后續(xù)幀中跟蹤目標(biāo)[3],相關(guān)濾波在單目標(biāo)跟蹤中應(yīng)用廣泛,如CSK(exploiting the Circulant Structure of tracking-by-detection with Kernels)[4]、核相關(guān)濾波算法(Kernel Correlation Filter,KCF)[5]、判別尺度空間跟蹤器(Discriminative Scale Space Tracker,DSST)[6]等,在跟蹤速度上有出色的表現(xiàn)。后者在每一幀進(jìn)行目標(biāo)檢測(cè),再利用目標(biāo)檢測(cè)的結(jié)果來(lái)進(jìn)行目標(biāo)跟蹤,不需要預(yù)先知道目標(biāo)的外觀和數(shù)量。SORT(Simple Online and Realtime Tracking)算法[7]將多目標(biāo)跟蹤看作視頻幀的數(shù)據(jù)關(guān)聯(lián)問(wèn)題,將重點(diǎn)聚集在效率上,可以達(dá)到實(shí)時(shí)的效果;Deep-SORT(Simple Online and Realtime Tracking with a Deep association metric)[8]在SORT 的基礎(chǔ)上集成了跟蹤目標(biāo)的外觀信息,進(jìn)一步提高了跟蹤性能。
Liu 等[9]利用無(wú)人機(jī)運(yùn)行軌跡特征與圖像特征結(jié)合,先提取軌跡特征,再利用殘差神經(jīng)網(wǎng)絡(luò)分類識(shí)別。首先使用PTZ(Pan,Tilt,and Zoom)相機(jī)平臺(tái)對(duì)大目標(biāo)和小目標(biāo)分別處理;然后使用殘差網(wǎng)絡(luò)(Residual Network,ResNet)[10]將圖像分為鳥類、無(wú)人機(jī)和雜波三類,從而實(shí)現(xiàn)對(duì)較遠(yuǎn)距離的小目標(biāo)的準(zhǔn)確檢測(cè)。Demir 等[11]使用16 臺(tái)攝像機(jī)搭建成環(huán)形的實(shí)時(shí)無(wú)人機(jī)檢測(cè)和跟蹤系統(tǒng),該系統(tǒng)能夠在700 m 以內(nèi)實(shí)現(xiàn)360°全方位檢測(cè)。Craye 等[12]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的時(shí)空語(yǔ)義分割方法,使用一個(gè)U-Net 模型[13]來(lái)檢測(cè)小目標(biāo),然后使用圖像分類網(wǎng)絡(luò)ResNet 對(duì)無(wú)人機(jī)和鳥類加以區(qū)分,同時(shí)利用時(shí)空的語(yǔ)義特征提高了檢測(cè)性能,該研究是在無(wú)人機(jī)與鳥類(Drone-vs-Bird)挑戰(zhàn)賽[14]的背景下展開(kāi)的。Hu 等[15]通過(guò)改進(jìn)YOLOv3[16]來(lái)檢測(cè)無(wú)人機(jī)目標(biāo),在預(yù)測(cè)過(guò)程中采用4 種尺度的特征圖進(jìn)行多尺度預(yù)測(cè),獲得更多的紋理和輪廓信息來(lái)檢測(cè)小目標(biāo);同時(shí),為了減少計(jì)算量,根據(jù)輸入的數(shù)據(jù)計(jì)算無(wú)人機(jī)在特征圖中的尺寸,然后調(diào)整錨框的數(shù)量,檢測(cè)精度可達(dá)89%。Pham 等[17]提出采用哈爾特征(Haar-like features,Haar)的級(jí)聯(lián)分類器來(lái)檢測(cè)無(wú)人機(jī),平均精度可達(dá)到91.9%。
無(wú)人機(jī)作為“低小慢”目標(biāo)的代表,無(wú)論是傳統(tǒng)的檢測(cè)和跟蹤方法,還是基于深度學(xué)習(xí)的檢測(cè)和跟蹤方法,都有著各自的局限。Torvik 等[18]指出,雷達(dá)會(huì)因?yàn)闊o(wú)人機(jī)和鳥類目標(biāo)的雷達(dá)散射截面小,導(dǎo)致檢測(cè)混亂。視覺(jué)的方法主要依賴于對(duì)特征的提取,關(guān)鍵在于小目標(biāo)無(wú)人機(jī)的檢測(cè)。當(dāng)無(wú)人機(jī)在整幅圖像中占據(jù)1%甚至更小的比例時(shí),特征就會(huì)消失,導(dǎo)致提取失敗,影響檢測(cè)效果。
大多數(shù)目標(biāo)檢測(cè)模型都是為中等大小的對(duì)象而設(shè)計(jì)的[19],但隨著檢測(cè)距離的增加,無(wú)人機(jī)目標(biāo)僅只有幾個(gè)像素,再加上復(fù)雜多變的環(huán)境以及邊緣計(jì)算設(shè)備有限的資源,無(wú)人機(jī)檢測(cè)仍然是一項(xiàng)具有挑戰(zhàn)性的任務(wù)[20]。目前主流的跟蹤算法大多依賴于檢測(cè)結(jié)果,也有研究人員將檢測(cè)任務(wù)和跟蹤任務(wù)放在同一個(gè)網(wǎng)絡(luò)中進(jìn)行處理,但這兩種策略的跟蹤對(duì)象都是類似行人、車輛等較大,特征較明顯的目標(biāo),并且多個(gè)目標(biāo)之間有著明顯的區(qū)別。無(wú)人機(jī)目標(biāo)尺寸小,多架無(wú)人機(jī)之間特征也不明顯,這就導(dǎo)致現(xiàn)有檢測(cè)算法容易漏檢,跟蹤過(guò)程也容易出現(xiàn)“丟幀”。
本文針對(duì)跟蹤多架無(wú)人機(jī)時(shí)容易出現(xiàn)目標(biāo)丟失,跟蹤“丟幀”等問(wèn)題,提出了一種用于多無(wú)人機(jī)實(shí)時(shí)檢測(cè)和跟蹤的方 法,采用 PP-YOLO(PaddlePaddle-YOLO)[21]結(jié)合Deep-SORT 的兩階段跟蹤方法,采用Mish 激活函數(shù)提升檢測(cè)性能,通過(guò)對(duì)Deep-SORT 的外觀信息提取部分進(jìn)行主干網(wǎng)絡(luò)替換,選取更合適的Loss 函數(shù)的方法來(lái)改善跟蹤效果。
本文的主要工作有:
1)提出了基于改進(jìn)PP-YOLO 和Deep-SORT 的多無(wú)人機(jī)實(shí)時(shí)跟蹤算法,通過(guò)引入通道注意力機(jī)制和Mish 激活函數(shù)提高檢測(cè)性能。
2)為了更好利用跟蹤目標(biāo)的外觀信息,采用ResNet 為主干網(wǎng)絡(luò)提取外觀信息,同時(shí)選用更加符合跟蹤策略的損失函數(shù)Margin Loss,提高了跟蹤器對(duì)相同目標(biāo)的辨別能力。
3)在真實(shí)環(huán)境中收集了大量的無(wú)人機(jī)圖像,構(gòu)建了一個(gè)用于檢測(cè)的無(wú)人機(jī)數(shù)據(jù)集和一個(gè)由10 種無(wú)人機(jī)組成的無(wú)人機(jī)重識(shí)別數(shù)據(jù)集,為不同種類的無(wú)人機(jī)的穩(wěn)定跟蹤提供了樣本支持。
目前,多目標(biāo)跟蹤主要分為兩大類:一類是將檢測(cè)和跟蹤作為兩個(gè)獨(dú)立的任務(wù)來(lái)完成,例如Deep-SORT 算法;另一類則只需利用單個(gè)網(wǎng)絡(luò)便可同時(shí)完成檢測(cè)和跟蹤任務(wù),例如FairMOT(Fair Multi-Object Tracking)算法[22]。前者需要分別訓(xùn)練檢測(cè)和跟蹤兩個(gè)網(wǎng)絡(luò),因此通過(guò)單獨(dú)改進(jìn)其中一個(gè)網(wǎng)絡(luò)即可達(dá)到改善跟蹤效果的目的;而后者雖然僅用單個(gè)網(wǎng)絡(luò)就能完成檢測(cè)和跟蹤,但對(duì)于一些特定的目標(biāo)容易誤檢,所以在跟蹤精度上難以保證。
無(wú)人機(jī)目標(biāo)占據(jù)整個(gè)畫面的比例很小,并且在不同光線下其外觀特征會(huì)發(fā)生變化,采用單一網(wǎng)絡(luò)進(jìn)行檢測(cè)極易出現(xiàn)漏檢情況,這就導(dǎo)致僅依靠其外觀特征匹配到的跟蹤效果欠佳。因此,將檢測(cè)和跟蹤任務(wù)分開(kāi)處理,融合目標(biāo)的外觀特征和運(yùn)動(dòng)信息,從而改善跟蹤效果。
如圖1 所示,本文算法結(jié)構(gòu)主要分為檢測(cè)和跟蹤兩個(gè)部分:檢測(cè)部分由注意力模塊、特征金字塔和Loss 模塊三部分組成,在PP-YOLO 的基礎(chǔ)上,將通道注意力機(jī)制融入特征提取的主干網(wǎng)絡(luò)ResNet50-vd 中來(lái)增加對(duì)無(wú)人機(jī)小目標(biāo)的感知能力;跟蹤部分由卡爾曼濾波器和外觀匹配模塊組成,在Deep-SORT 算法的基礎(chǔ)上,保留其描述運(yùn)動(dòng)信息的級(jí)聯(lián)匹配部分,同時(shí)對(duì)外觀信息的匹配作出改進(jìn),引入Margin Loss 函數(shù)增加同類別目標(biāo)之間的關(guān)聯(lián)度。
圖1 整體網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Overall network structure
在計(jì)算機(jī)視覺(jué)任務(wù)中融入注意力機(jī)制可以幫助網(wǎng)絡(luò)關(guān)注輸入的重要信息,排除其他信息干擾。注意力機(jī)制可以分為通道注意力和空間注意力,用于捕捉通道間和像素間的依賴關(guān)系[23]。雖然近年來(lái)有研究表明,在圖像分類任務(wù)中將兩者結(jié)合起來(lái)的效果要比使用單個(gè)注意力模塊的效果更好,但是會(huì)增加額外的運(yùn)算量,影響實(shí)時(shí)性。此外,神經(jīng)網(wǎng)絡(luò)利用卷積操作來(lái)提高感受野,很大程度上融合了更多的空間信息?;谶@兩點(diǎn)考慮,本文提出融合通道注意力的PP-YOLO檢測(cè)網(wǎng)絡(luò)。
注意力機(jī)制的核心是通過(guò)權(quán)重分配達(dá)到凸顯目標(biāo)特征的目的,在此引入SENet(Squeeze and Excitation Networks)[24]中的壓縮-激勵(lì)模塊,通過(guò)建立特征通道之間的相互依賴關(guān)系,獲取各個(gè)特征通道的權(quán)重,根據(jù)該權(quán)重提升當(dāng)前任務(wù)關(guān)注的特征,并抑制對(duì)當(dāng)前任務(wù)無(wú)貢獻(xiàn)的特征。
壓縮-激勵(lì)模塊的結(jié)構(gòu)如圖2 所示。假設(shè)輸入X為所得到的特征圖,首先經(jīng)過(guò)卷積和變換后,得到特征通道數(shù)為c的特征圖,然后在空間維度上將二維的特征通道壓縮到一維,使其具備全局的感受野,同時(shí),保證了輸入附近的特征提取層也可以獲得全局感受野,提升對(duì)目標(biāo)的感知能力;緊接著是激勵(lì)操作,利用參數(shù)w生成每個(gè)通道的權(quán)重并通過(guò)特征映射的方式傳遞給后續(xù)特征層;最后將激勵(lì)產(chǎn)生的權(quán)重逐一加權(quán)到先前的特征通道上,至此,就完成了通道維度上的注意力模塊的構(gòu)建。
圖2 壓縮-激勵(lì)模塊結(jié)構(gòu)Fig.2 Squeeze-excitation module structure
如圖2 所示,壓縮操作采用了全局平均池化來(lái)壓縮輸入通道的特征層,對(duì)特征圖u壓縮空間維度后的結(jié)果如式(1)所示:其中:zc表示第c個(gè)特征的一維向量值;h和w分別表示特征圖的兩個(gè)維度。
激勵(lì)操作將會(huì)學(xué)習(xí)通道間的非線性相互作用。首先通過(guò)全連接層將特征維度降低到輸入的1/16,然后通過(guò)ReLU(Rectified Linear Units)激活函數(shù)增加非線性,再通過(guò)一個(gè)全連接層恢復(fù)到原來(lái)的維度,這兩個(gè)全連接層共同組成一個(gè)瓶頸結(jié)構(gòu),用來(lái)評(píng)估通道間的相關(guān)性,最后通過(guò)Sigmoid 函數(shù)獲得歸一化權(quán)重。激勵(lì)操作的表達(dá)式如式(2)所示:
其中:σ指Sigmoid 函數(shù),δ為ReLU 函數(shù),g(z,w)表示兩個(gè)全連接層構(gòu)成的瓶頸結(jié)構(gòu),w1的維度為×c,w2的維度為c×r是一個(gè)縮放參數(shù)。
在壓縮和激勵(lì)操作完成后,通過(guò)式(3)所示將乘法逐通道加權(quán)到原來(lái)的特征上。
至此,就將通道注意力模塊融入了檢測(cè)網(wǎng)絡(luò)中,在一定程度上提高了無(wú)人機(jī)的檢測(cè)精度。
激活函數(shù)是將神經(jīng)元的輸入映射到輸出的重要參數(shù),能夠增加網(wǎng)絡(luò)模型的非線性變化,對(duì)網(wǎng)絡(luò)的訓(xùn)練有重要意義。神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù)有Sigmoid、Tanh、ReLU、Leaky ReLU 等[25],但它們都存在一定的局限性。以ReLU 為例,當(dāng)其輸入為負(fù)時(shí),梯度變?yōu)榱?,從而?dǎo)致梯度消失,而Mish 激活函數(shù)是一種自正則的非單調(diào)神經(jīng)激活函數(shù),保留了少量的負(fù)向信息,可以允許較小的負(fù)梯度流入,保證信息流動(dòng),消除了ReLU 函數(shù)在反向傳播過(guò)程中的梯度消失問(wèn)題,從而使前后層之間的信息傳遞更有效,最終獲得更好的準(zhǔn)確性和泛化能力。其函數(shù)表達(dá)式如(4)所示:
在檢測(cè)無(wú)人機(jī)目標(biāo)的任務(wù)中,無(wú)人機(jī)通常占據(jù)圖片極小的比例,因此在使用卷積操作提取特征時(shí),很容易使輸入為零或負(fù)值,導(dǎo)致梯度下降很慢甚至消失,只有保證負(fù)值區(qū)域的梯度流動(dòng),才能更好提取小目標(biāo)無(wú)人機(jī)的特征,使檢測(cè)更加精準(zhǔn)。鑒于此,本文將Mish 激活函數(shù)引入到ResNet50-vd主干網(wǎng)絡(luò)中,具體結(jié)構(gòu)如圖3 所示。
圖3 引入Mish激活函數(shù)的ResNet50-vd結(jié)構(gòu)Fig.3 ResNet50-vd structure with Mish activation function introduced
跨境追蹤技術(shù)ReID(Person Re-Identification)是指利用計(jì)算機(jī)視覺(jué)判斷圖像或視頻序列中是否存在特定目標(biāo)的技術(shù)[26],主要解決跨攝像頭跨場(chǎng)景下特定目標(biāo)的識(shí)別與檢索。通過(guò)度量學(xué)習(xí)的方式讓同一個(gè)類別的樣本具有較小的特征距離,不同類別的樣本具有較大的特征距離,尋找特征之間的最佳相似度。
受此方法的啟發(fā),本文對(duì)Deep-SORT 算法的深度外觀描述部分進(jìn)行改進(jìn),采用深度度量學(xué)習(xí)的方式評(píng)估前后兩幀的相似度,以此來(lái)完成匹配任務(wù)。首先,采用ResNet50 替代原有的網(wǎng)絡(luò)架構(gòu),其次,引入損失函數(shù)Margin Loss[27],計(jì)算公式如(5)所示:
其中:N為批次大小(Batch Size),n為類別數(shù)量(Class Number),是權(quán)重和特征xi之間的夾角,m是附加角懲罰偏置項(xiàng),s為特征xi經(jīng)過(guò)l2正則化后縮放的特征尺度。Margin Loss 通過(guò)分析特征和權(quán)重之間的角度統(tǒng)計(jì)來(lái)構(gòu)造損失函數(shù),在幾乎不增加額外計(jì)算開(kāi)銷的情況下達(dá)到提高模型鑒別能力和穩(wěn)定訓(xùn)練過(guò)程的效果。
目前公開(kāi)的無(wú)人機(jī)數(shù)據(jù)有Drone-vs-Bird 和TIB-Net[20]:Drone-vs-Bird 挑戰(zhàn)賽數(shù)據(jù)集包含77 段無(wú)人機(jī)視頻,對(duì)其進(jìn)行分幀操作后再逐一手工標(biāo)注,共計(jì)4 336 幅圖像,部分圖片中包含鳥類;TIB-Net 的提出者公布了在不同環(huán)境、不同背景下采集的2 860 幅無(wú)人機(jī)圖片,拓展了應(yīng)用場(chǎng)景。由于現(xiàn)階段權(quán)威且公開(kāi)的無(wú)人機(jī)數(shù)據(jù)集較少,因此,對(duì)現(xiàn)有公開(kāi)的無(wú)人機(jī)視頻圖片數(shù)據(jù)進(jìn)行篩選,作為實(shí)驗(yàn)數(shù)據(jù)的一部分。
考慮到公開(kāi)的數(shù)據(jù)場(chǎng)景固定、大部分?jǐn)?shù)據(jù)中只有一架無(wú)人機(jī)的問(wèn)題,為了更好地訓(xùn)練網(wǎng)絡(luò)對(duì)多架無(wú)人機(jī)的感知能力,在真實(shí)環(huán)境下也采集了大量無(wú)人機(jī)樣本,共采集了5 174幅無(wú)人機(jī)圖像,其中包含2 193 幅單無(wú)人機(jī)圖像和2 981 幅至少含有兩架無(wú)人機(jī)的圖像,部分?jǐn)?shù)據(jù)集圖像如圖4 所示。所有圖像的分辨率均為1 920×1 080,采集設(shè)備為GoPro Hero 7 Black,速度為每秒30幀,無(wú)人機(jī)距離采集設(shè)備距離為100~600 m。
圖4 自制無(wú)人機(jī)數(shù)據(jù)集Fig.4 Self-built UAV dataset
本文使用的數(shù)據(jù)集由Drone-vs-Bird、TIB-Net 和采集的自制數(shù)據(jù)共同組成,共計(jì)12 370 幅,所有數(shù)據(jù)都采用PASCAL VOC 格式標(biāo)注。數(shù)據(jù)集中80%用于訓(xùn)練,20%用于測(cè)試。
除此之外,還構(gòu)建了無(wú)人機(jī)跨境識(shí)別的數(shù)據(jù)集,通過(guò)關(guān)聯(lián)無(wú)人機(jī)的外觀信息來(lái)穩(wěn)定跟蹤。該數(shù)據(jù)集是從上述公開(kāi)數(shù)據(jù)集中截取無(wú)人機(jī)部分得到的,包含10 個(gè)類別(共4 840幅)的無(wú)人機(jī)圖像,圖像像素為64×64,涵蓋目前常見(jiàn)的消費(fèi)級(jí)旋翼無(wú)人機(jī),如圖5 所示,展示了10 種不同類型無(wú)人機(jī)的部分?jǐn)?shù)據(jù)集。
圖5 無(wú)人機(jī)跨境識(shí)別的數(shù)據(jù)集Fig.5 Dataset of UAV cross-border identification
訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò)模型需要海量的數(shù)據(jù)集,無(wú)人機(jī)在飛行過(guò)程中,會(huì)因姿態(tài)變化、光照變化、相機(jī)抖動(dòng)等因素導(dǎo)致形態(tài)各異,出現(xiàn)模糊等情況,因此訓(xùn)練前對(duì)數(shù)據(jù)進(jìn)行增強(qiáng)處理是非常必要的。本文通過(guò)旋轉(zhuǎn)、裁剪、增加高斯模糊的方法來(lái)擴(kuò)充數(shù)據(jù)集,以提高檢測(cè)網(wǎng)絡(luò)在不同的場(chǎng)景下的適應(yīng)性和魯棒性。
本實(shí)驗(yàn)的訓(xùn)練環(huán)境為Ubuntu 18.04.5 LTS 系統(tǒng),GPU 采用NVIDIA Quadro RTX 4000(8 GB),處理器是Intel Core i7-9700 CPU @3.00 GHz×8,內(nèi)存32 GB,在Paddle 框架下采用CUDA 10.1 進(jìn)行加速訓(xùn)練。
為了合理評(píng)估系統(tǒng)的性能,對(duì)檢測(cè)和跟蹤性能分別進(jìn)行評(píng)估。本文使用平均精度均值(mean Average Precision,mAP)和每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS)兩項(xiàng)指標(biāo)來(lái)衡量檢測(cè)性能。首先計(jì)算查準(zhǔn)率(Precision,p)和查全率(Recall,r),如式(6)、(7)所示。查準(zhǔn)率是識(shí)別正確的結(jié)果在所識(shí)別出的結(jié)果中所占的比率,查全率是識(shí)別正確的結(jié)果占數(shù)據(jù)集中所有要識(shí)別出的總數(shù)的比率。
其中:TP(True Positives)表示實(shí)際為正例且被分類器劃分為正例的樣本數(shù)量;FP(False Positives)表示實(shí)際為負(fù)例但被分類器劃分為正例的樣本數(shù)量;FN(False Negatives)表示實(shí)際為正例但被分類器劃分為負(fù)例的樣本數(shù)量。
平均精度(Average Precision,AP)就是對(duì)數(shù)據(jù)集中的一個(gè)類別的精度進(jìn)行平均,如式(8)所示,p和r分別表示查準(zhǔn)率和查全率,AP為曲線下的面積。平均精度均值(mAP)是指不同類別的AP的平均值,其計(jì)算公式如式(9):
在多目標(biāo)跟蹤領(lǐng)域常用多目標(biāo)跟蹤準(zhǔn)確度(Multiple Object Tracking Accuracy,MOTA)和多目標(biāo)跟蹤精確度(Multiple Object Tracking Precision,MOTP)共同衡量算法連續(xù)跟蹤目標(biāo)的能力,即在連續(xù)幀中能準(zhǔn)確判斷目標(biāo)的個(gè)數(shù),并精確劃定其位置,從而實(shí)現(xiàn)不間斷的連續(xù)跟蹤。如式(10)、(11)所示,MOTA可以反映跟蹤過(guò)程中誤報(bào)、漏報(bào)和ID切換的準(zhǔn)確度;MOTP可以反映跟蹤的目標(biāo)預(yù)測(cè)框與真實(shí)標(biāo)注的不匹配度。
其中:FN表示整個(gè)視頻中錯(cuò)誤判別的幀數(shù);FP表示整個(gè)視頻中遺漏檢測(cè)的幀數(shù);IDSW表示整個(gè)視頻中錯(cuò)誤的ID 切換幀數(shù);GT表示真實(shí)標(biāo)注的數(shù)據(jù)。
其中:ct表示第t幀目標(biāo)位置和假設(shè)位置相匹配的個(gè)數(shù);dt,i表示第t幀目標(biāo)與其配對(duì)假設(shè)位置之間的距離,即匹配誤差。
訓(xùn)練無(wú)人機(jī)檢測(cè)模型時(shí),將指數(shù)滑動(dòng)平均(Exponential Moving Average,EMA)設(shè)置為0.999 8。在標(biāo)準(zhǔn)反向傳播更新過(guò)程中,將初始學(xué)習(xí)率設(shè)置為0.003 33,批量大小(Batch Size)設(shè)置為8,動(dòng)量(Momentum)設(shè)置為0.9。如圖6、7 所示,經(jīng)過(guò)32 000 次迭代后,Loss 降至0.122,mAP升至94.62%。
圖6 平均精度曲線Fig.6 Average precision curve
圖7 損失函數(shù)曲線Fig.7 Loss function curve
跨境追蹤采用度量學(xué)習(xí)訓(xùn)練,輸入圖片的像素統(tǒng)一為64×64,初始學(xué)習(xí)率設(shè)置為0.000 01,采取分段衰減策略。如圖8 所示,經(jīng)過(guò)40 000 次迭代后,在驗(yàn)證集上的召回率(Recall)可達(dá)93.81%,已經(jīng)可以較好地區(qū)分不同種類的無(wú)人機(jī)目標(biāo)。
圖8 度量學(xué)習(xí)準(zhǔn)確率與召回率Fig.8 Measure learning precision and recall
為了合理評(píng)估算法的性能,本實(shí)驗(yàn)分別在3 個(gè)無(wú)人機(jī)數(shù)據(jù)集上進(jìn)行測(cè)試。表1 實(shí)驗(yàn)結(jié)果表明,引入Mish 激活函數(shù)后,mAP 平均提升了0.72 個(gè)百分點(diǎn),說(shuō)明本文算法對(duì)無(wú)人機(jī)特征的提取更加充分;融入壓縮-激勵(lì)模塊后,相比原始PP-YOLO 算法,mAP 平均提升了2.27 個(gè)百分點(diǎn),通過(guò)對(duì)通道間的權(quán)重進(jìn)行重新學(xué)習(xí),使得網(wǎng)絡(luò)更加關(guān)注小目標(biāo)。該算法在檢測(cè)精度和檢測(cè)速度方面均優(yōu)于大部分同類算法,平均處理速度可達(dá)44.6 FPS,可以達(dá)到實(shí)時(shí)檢測(cè)的要求。
表1 常用目標(biāo)檢測(cè)算法在三種數(shù)據(jù)集上的表現(xiàn)Tab.1 Performance of common target detection algorithms on three datasets
為了合理評(píng)估最終的跟蹤效果,選取了15 段包含不同種類、不同數(shù)量的無(wú)人機(jī)視頻,每段視頻平均時(shí)長(zhǎng)66 s,分別統(tǒng)計(jì)其FN、FP、IDSW,并與人工標(biāo)注的真實(shí)數(shù)據(jù)對(duì)比,五種主流的多目標(biāo)跟蹤算法的結(jié)果如表2。
從表2 中可以看出,這五種算法中CenterTrack[28]在整個(gè)視頻中遺漏檢測(cè)的數(shù)量最低,這很大程度上可以歸因于其將目標(biāo)看作一個(gè)熱點(diǎn)圖,通過(guò)點(diǎn)的關(guān)聯(lián)實(shí)現(xiàn)跟蹤,這樣就會(huì)比其他跟蹤算法發(fā)現(xiàn)更多的小目標(biāo),所以漏檢也較少。在跟蹤速度上,Deep-SORT 將大部分復(fù)雜的計(jì)算放在離線訓(xùn)練階段,因此在實(shí)時(shí)性方面表現(xiàn)突出,平均每秒可檢測(cè)46.3 幀圖片。得益于出色的檢測(cè)性能和對(duì)Deep-SORT 外觀部分的重新調(diào)整,使得本文算法對(duì)于無(wú)人機(jī)這樣的小目標(biāo)也能穩(wěn)定跟蹤,整體跟蹤的準(zhǔn)確性MOTA在幾種跟蹤算法中表現(xiàn)最優(yōu),達(dá)到了91.6%,主要原因是目前主流的跟蹤算法是為較大目標(biāo)而設(shè)計(jì)的。從表2 中可以看出,本文提出的無(wú)人機(jī)跟蹤算法平均FPS為35.5,雖然不及Deep-SORT,但是在跟蹤準(zhǔn)確度和速度方面達(dá)到了較好的平衡,能夠滿足跟蹤任務(wù)需要。
表2 本文算法在無(wú)人機(jī)視頻中的跟蹤結(jié)果Tab.2 Tracking results of the proposed algorithm in UAV videos
為了更好地展示跟蹤效果,選擇了兩段視頻進(jìn)行展示,分別包含單架無(wú)人機(jī)和兩架無(wú)人機(jī)。從圖9(a)中可以看到,僅采用PP-YOLO 算法時(shí),在第一段視頻的第103 幀前后兩幀都沒(méi)有檢測(cè)到無(wú)人機(jī)目標(biāo);在第二段視頻中,第131 幀有兩架無(wú)人機(jī),但是由于目標(biāo)較小,原始算法也無(wú)法準(zhǔn)確檢測(cè)。為了更好展示不同跟蹤算法的區(qū)別,選取了跟蹤準(zhǔn)確性較高的FairMOT 算法進(jìn)行對(duì)比,圖9 中虛線框代表PP-YOLO算法檢測(cè)結(jié)果,點(diǎn)線框代表FairMOT 的跟蹤結(jié)果,實(shí)線框代表本文算法的結(jié)果,可以看出FairMOT 跟蹤框大多為正方形,在跟蹤單架無(wú)人機(jī)時(shí)表現(xiàn)很好,但是同時(shí)跟蹤兩架無(wú)人機(jī)時(shí),其中一架無(wú)人機(jī)相對(duì)較小,在131 幀中丟失了跟蹤目標(biāo),如圖9(b)所示;而本文算法則利用前后的關(guān)聯(lián),成功匹配到更小的無(wú)人機(jī)。本文算法能夠勝任連續(xù)性的跟蹤任務(wù),有效解決了跟蹤過(guò)程中的丟幀問(wèn)題,這主要是因?yàn)榧尤氲耐庥^特征在關(guān)聯(lián)前后幀時(shí)發(fā)揮了關(guān)鍵作用。
圖9 跟蹤效果對(duì)比Fig.9 Tracking results comparison
本文提出了一種跟蹤多架無(wú)人機(jī)的方法,可以及時(shí)發(fā)現(xiàn)非法入侵的無(wú)人機(jī),應(yīng)用于反無(wú)人機(jī)領(lǐng)域,保證個(gè)人隱私和人身安全。首先在PP-YOLO 的基礎(chǔ)上,融入通道注意力機(jī)制,增加對(duì)小目標(biāo)的感知能力;然后利用Mish 激活函數(shù)解決梯度消失的問(wèn)題,穩(wěn)定訓(xùn)練過(guò)程,進(jìn)一步提升了無(wú)人機(jī)的檢測(cè)精度。經(jīng)過(guò)在3 個(gè)無(wú)人機(jī)數(shù)據(jù)集上測(cè)試表明,所提算法在檢測(cè)精度上平均提升了2.27 個(gè)百分點(diǎn),在自制數(shù)據(jù)集上可達(dá)到94.62%。跟蹤階段在Deep-SORT 算法的基礎(chǔ)上,融入無(wú)人機(jī)外觀信息,在主干網(wǎng)絡(luò)ResNet50 和損失函數(shù)Margin Loss 的共同作用下,整體跟蹤準(zhǔn)確性相比原始Deep-SORT 算法提升了4.5 個(gè)百分點(diǎn),達(dá)到91.6%,跟蹤的速度在35 FPS左右,滿足實(shí)時(shí)性要求,極大優(yōu)化了匹配性能,改善了跟蹤效果。實(shí)驗(yàn)結(jié)果表明,本文算法能夠較好地平衡檢測(cè)的速度和精度,通過(guò)引入外觀信息進(jìn)一步解決了跟蹤過(guò)程中的丟幀問(wèn)題。除此之外,這項(xiàng)工作是持續(xù)性的,未來(lái)可以通過(guò)單獨(dú)提升檢測(cè)性能或者改變匹配方式來(lái)提升總體性能。