楊名宇, 王 浩, 王含宇
(中國科學(xué)院 長春光學(xué)精密機械與物理研究所 中國科學(xué)院航空光學(xué)成像與測量重點實驗室,吉林 長春 130033)
近年來,隨著無人機產(chǎn)業(yè)的迅猛發(fā)展和廣泛應(yīng)用,對全球低空安全管理造成了前所未有的嚴(yán)峻壓力,非法放飛無人機所帶來的安全隱患給機場、邊境、監(jiān)獄、重要敏感區(qū)域的低空防范敲響了警鐘,引發(fā)公眾高度關(guān)注。無人機的無序飛行時有發(fā)生,不僅嚴(yán)重擾亂空域交通秩序,還會引發(fā)很多安全問題。如在2018年底,英國西斯羅機場由于無人機的“黑飛”,使得機場關(guān)閉數(shù)天,滯留旅客上萬人,造成巨大經(jīng)濟損失。目前,絕大部分無人機為受控狀態(tài),即無人機的購買需要實名制,且每次飛行的航跡、時間、地點等信息通過GPS信號都可在監(jiān)管部門的后臺查詢到。在這種情況下,可以較為容易地鎖定每臺飛機以及飛機擁有者。上述受控監(jiān)管模式目前已能覆蓋大約90%以上的消費級無人機,剩余10%的無人機包括自行研發(fā)的、私自拆掉GPS模塊的等,則處于非受控狀態(tài),是低空防范的重點和難點。如何對非受控的無人機目標(biāo)進行檢測、識別與跟蹤,是當(dāng)前全世界各國普遍存在的難題[1-2]。
當(dāng)前,無人機防范常用手段主要包括:光電探測、無線電探測、聲學(xué)探測、雷達探測等[3]。光電探測主要利用光學(xué)設(shè)備通過成像的方式判斷目標(biāo)是否存在,具有直觀、易讀等優(yōu)點,但通常作用距離較小,且探測效率較低,距離實際工程應(yīng)用尚有差距[4-9]。無線電干擾主要通過特定頻段的無線電波阻斷無人機和飛行控制器之間的無線鏈路,使飛行控制器無法向無人機發(fā)送信號。但此方法并不是對于所有型號的無人機都適用(如大疆的云哨系統(tǒng),該系統(tǒng)只對大疆旗下的無人機有效),同時,可視化程度差。聲學(xué)探測通常用于大型無人機等的探測,在城市環(huán)境下使用時易受到背景噪聲干擾。雷達探測可同時獲得目標(biāo)的位置、速度等信息,但是對于民用無人機而言,其雷達散射面積較小,同時無人機飛行高度較低、飛行速度較慢、體積較小,即“低慢小”,對于此類目標(biāo),雷達探測存在效能不足等問題。
針對現(xiàn)有光電探測手段存在的不足,本文搭建了一套由轉(zhuǎn)臺、高清可見光相機、圖像采集與處理設(shè)備組成的地面式無人機探測與跟蹤系統(tǒng),在YOLOv3模型基礎(chǔ)上增加了更小尺度特征,并提出一種基于更小尺度的YOLOv3與KCF相結(jié)合的模型。實驗結(jié)果表明,所提方法可以對無人機目標(biāo)實現(xiàn)全自動式檢測與跟蹤,且遠距離小目標(biāo)識別率比原始YOLOv3模型高5%。對于1 280×720分辨率的動態(tài)視頻,每幀檢測時間為0.025~0.030 s,且根據(jù)選定的閾值,當(dāng)無人機目標(biāo)丟失后可重新進行檢測,每幀跟蹤時間為0.010~0.012 s,驗證了所提方法的有效性,并可滿足工程應(yīng)用中對實時處理的需求。
深度學(xué)習(xí)的概念是Hinton等人于2006年首次提出的[10],其從一問世就備受學(xué)術(shù)界關(guān)注,原因在于相比于其他方法與結(jié)構(gòu),多隱層的人工神經(jīng)網(wǎng)絡(luò)能夠更好地模擬人腦的思考過程,具有更加優(yōu)異的學(xué)習(xí)及泛化能力,能夠更有效、更本質(zhì)地對目標(biāo)的特征進行提取與描述,從而提升對各類目標(biāo)的分類與識別能力。
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)中第一個真正多層結(jié)構(gòu)學(xué)習(xí)算法,其在圖像識別領(lǐng)域優(yōu)勢明顯。它利用感受野局部連接等概念極大地減少了參數(shù)量,降低了網(wǎng)絡(luò)模型的復(fù)雜度,提高了訓(xùn)練效率,且網(wǎng)絡(luò)對于平移、縮放的各種變形都具備較高的不變性[11-12]。一個卷積神經(jīng)網(wǎng)絡(luò)通常包括卷積、降采樣、激活、池化以及全連接等操作,卷積層和降采樣層實現(xiàn)對目標(biāo)低層特征的提取,通過多個卷積層來模擬人腦感知視覺信號的逐層處理機制;激活主要實現(xiàn)非線性變換,常用Sigmoid、ReLU等非線性函數(shù)實現(xiàn);池化操作主要實現(xiàn)高層特征的提取,全連接實現(xiàn)對目標(biāo)最終的分類[13]。
目前,各類開源的深度學(xué)習(xí)數(shù)據(jù)集中客機、直升機等類圖像較多,無人機類圖像較少。此外,在進行地面式無人機防范時,地面探測系統(tǒng)對于空中無人機的觀測視角應(yīng)為仰視,現(xiàn)有數(shù)據(jù)集中包含的無人機類圖像多為平視,直接使用開源數(shù)據(jù)集中的圖像可能會導(dǎo)致漏檢情況發(fā)生。因此,無人機類目標(biāo)圖像需要通過自行拍攝獲得。
本文利用轉(zhuǎn)臺、高清可見光相機及無人機進行圖像數(shù)據(jù)獲取,如圖1所示。
圖1 轉(zhuǎn)臺及高清可見光相機實物圖Fig.1 Picture of turntable and HD camera
其中,轉(zhuǎn)臺可以水平360°旋轉(zhuǎn),俯仰方向為0°~+90°。高清可見光相機分辨率為1 280×720(720 P),變焦鏡頭焦距為20~700 mm,視場角為1.02°~34.68°。采用的無人機包括大疆御Pro、大疆精靈3、諾巴曼X18W等在內(nèi)的4個品牌共計6種機型,分別在不同尺度、光照、背景、仰角、姿態(tài)下進行拍攝,通過預(yù)處理之后共獲得無人機目標(biāo)圖像40 000張。
圖2為大疆御Pro無人機實物,由機身和4個旋翼組成,其中,機身尺寸為190 mm(長) ×85 mm(寬) ×55 mm(高),相鄰旋翼長度為240 mm,對角旋翼長度約為350 mm,參考方磚尺寸為600 mm×600 mm。
圖2 大疆御Pro無人機實物圖Fig.2 Picture of DJI Mavic Pro
將大疆御Pro無人機看作邊長為240 mm的正方形,且無人機識別時按30個像素計算,通過幾何光學(xué)可得最遠探測距離為1.6 km。但在鏡頭最長焦距時,視場角僅為0.51°,在此視場下進行目標(biāo)跟蹤是不現(xiàn)實的。為了兼顧探測視場和目標(biāo)大小,實際最遠可用的作用距離在1 km左右。
將采集到的總樣本數(shù)40 000幀中包含無人機目標(biāo)圖像的80%(32 000幀)作為訓(xùn)練集,剩余20%(8 000幀)作為測試集。
3.2.1 目標(biāo)識別
綜合考慮識別精度與識別效率,本文選用YOLOv3模型進行無人機目標(biāo)實時檢測與識別?;赮OLO模型的深度學(xué)習(xí)目標(biāo)識別技術(shù),可同時預(yù)測多個邊界框的位置和類別,實現(xiàn)端到端(end to end)的目標(biāo)檢測和識別,即在輸入圖像運行一次后即可獲得圖像中所有目標(biāo)的位置、其所屬類別以及相應(yīng)的置信概率,速度明顯優(yōu)于其他同類型算法模型[14]。
YOLOv3在原有的YOLO模型架構(gòu)中進行了一些改進,通過調(diào)整模型結(jié)構(gòu)的大小來權(quán)衡速度與精度間的關(guān)系,如使用錨點框來預(yù)測邊界框、進行多尺度預(yù)測、使用含有更多卷積層的Darknet-53基礎(chǔ)網(wǎng)絡(luò)、利用二元交叉熵?fù)p失函數(shù)(Binary Cross-entropy Loss)來進行類別預(yù)測等[15-16]。YOLOv3對輸入圖像進行了5次降采樣,并分別在最后3次降采樣中對目標(biāo)進行預(yù)測。最后3次降采樣包含了3個尺度目標(biāo)檢測的特征圖,其中13×13的特征圖負(fù)責(zé)預(yù)測較大目標(biāo),26×26的特征圖負(fù)責(zé)預(yù)測中等大小的目標(biāo),52×52的特征圖負(fù)責(zé)預(yù)測較小目標(biāo)[17-18]。
為了更遠、更早地發(fā)現(xiàn)目標(biāo),增強模型對小目標(biāo)的識別能力,本文在YOLOv3模型基礎(chǔ)上,增加了更小的尺度特征104×104。具體做法為將YOLOv3網(wǎng)絡(luò)中的第109層與第11層進行張量拼接,將拼接后的處理結(jié)果作為新的特征圖。
3.2.2 目標(biāo)跟蹤
跟蹤模型選用核相關(guān)濾波(Kernelized Correlation Filter, KCF)。相關(guān)濾波(Correlation Filter)是根據(jù)MOSSE、CSK等算法改進而來的,最初起源于信號處理領(lǐng)域,后被運用于圖像分類等領(lǐng)域。相關(guān)濾波在目標(biāo)跟蹤方面最樸素的想法是:相關(guān)是用來衡量兩個信號的相似程度,如果兩個信號越相似,那么其相關(guān)值就越高。具體來說,即利用一個目標(biāo)檢測器,使得當(dāng)它作用在跟蹤目標(biāo)上時,得到的響應(yīng)最大,最大響應(yīng)值的位置就是目標(biāo)的位置。在KCF中,利用脊回歸函數(shù)來訓(xùn)練目標(biāo)檢測器。引入核函數(shù)的目的主要是將高維特征映射到低維空間,提高算法計算效率。
由于KCF中脊回歸函數(shù)的返回值表明的是當(dāng)前位置與初始位置的相關(guān)程度,因此可以通過實時計算該返回值來判斷目標(biāo)是否丟失。本文提出的無人機目標(biāo)識別與跟蹤算法總體流程如圖3所示。
圖3 算法總體流程圖Fig.3 Scheme of the proposed algorithm
這里,60%概率為經(jīng)驗值,主要考慮到在實際應(yīng)用中,本著“寧虛勿漏”的原則以及小目標(biāo)與變形的情況,略大于50%概率即可認(rèn)為是“目標(biāo)”。在實際跟蹤過程中,不同背景、光照等條件下,脊回歸函數(shù)的返回值范圍一般不同,因此只能通過大量的試驗來確定該值的范圍。本文通過大量室外試驗得出,針對選擇的無人機目標(biāo)樣本,脊回歸函數(shù)的取值范圍在(0,0.85]之間。當(dāng)目標(biāo)丟失時,其最大值小于0.2,所以將閾值T1設(shè)定為0.2。即當(dāng)某一時刻的脊回歸函數(shù)最大值小于0.2時,重新進行目標(biāo)檢測,如此循環(huán),直至結(jié)束。
為了驗證所提方法的有效性,利用測試集數(shù)據(jù)與視頻進行了實驗。開發(fā)環(huán)境為Ubuntu16.04,開發(fā)工具為QT5.9.2,程序用C++語言編寫,計算機CPU為Intel i7-7700K,內(nèi)存32 G,GPU為1塊Titan XP。計算機與轉(zhuǎn)臺、高清可見光相機之間的通訊通過RS232串口進行。YOLOv3網(wǎng)絡(luò)的輸入大小共有320,416,608三種,考慮到無人機目標(biāo)本身較小以及訓(xùn)練圖像的大小,本文選用的網(wǎng)絡(luò)輸入大小為608。
在測試集8 000幀圖像中,目標(biāo)像素小于等于40×40的圖像共有1 200幀,YOLOv3模型正確識別無人機圖像數(shù)量為7 254,正確率為90.67%;增加更小特征尺度后正確識別無人機圖像數(shù)量為7 616,識別正確率為95.2%,相較于YOLOv3提高約5%。
在對兩段視頻的測試中,視頻1包含2 350幀,視頻2包含1 780幀,對于本文提出的基于更小特征尺度的YOLOv3+KCF模型,正確識別與跟蹤的總幀數(shù)分別為2 200和1 675,正確率分別為93.6%和 94.1%。對于分辨率為1 280×720圖像,單幀檢測時間為0.025~0.030 s,單幀跟蹤時間為0.010~0.012 s。
圖4為對較小目標(biāo)的檢測結(jié)果,其中圖4(a)目標(biāo)大小為40×35,圖4(b)目標(biāo)為30×28,單位為像素。可以看出,在目標(biāo)所占像素較少的情況下,增加了更小特征尺度的YOLOv3模型依然可以成功將無人機目標(biāo)檢測出來;而限于目標(biāo)尺寸的影響,YOLOv3模型未能成功檢測到目標(biāo)。
圖4 較小目標(biāo)檢測結(jié)果Fig.4 Results for small UAV targets
圖5為視頻1的測試結(jié)果。圖5(a)為視頻第1幀,檢測到無人機并標(biāo)注為UAV。圖5(b)為第185幀圖像,當(dāng)前為跟蹤狀態(tài),標(biāo)注為“Tracking”。圖5(c)為第328幀,依舊處于跟蹤狀態(tài),目標(biāo)沒有丟失。圖5(d)為第800幀,由于背景變化較大,且目標(biāo)與背景顏色較為接近,本幀跟蹤時目標(biāo)丟失。實時計算此時的脊回歸函數(shù)f(z)為0.17,小于設(shè)定的閾值0.20,即認(rèn)為跟蹤目標(biāo)丟失,需重新進行目標(biāo)檢測。圖5(e)為第801幀,重新進行目標(biāo)檢測后,成功檢測到無人機,并轉(zhuǎn)向跟蹤。圖5(f)為第926幀,當(dāng)前處于跟蹤狀態(tài),表明從第802幀開始一直處于跟蹤狀態(tài),并正確跟蹤到無人機目標(biāo)。
圖5 視頻1測試結(jié)果Fig.5 Experiments for video1
圖6為視頻2的測試結(jié)果。圖6 (a)為視頻第1幀,檢測到無人機并標(biāo)注為UAV。圖6(b)為第168幀圖像,當(dāng)前為跟蹤狀態(tài),標(biāo)注為“Tracking”,可以看到背景始終為天空。圖6(c)為第470幀,依舊處于跟蹤狀態(tài),但背景逐漸從純天空向建筑物過渡。圖6(d)為第984幀,此時背景變?yōu)闃淙~,相較天空背景變化較大,且此時目標(biāo)與背景顏色較為接近,導(dǎo)致本幀跟蹤時目標(biāo)丟失。實時計算此時的脊回歸函數(shù)f(z)為0.13,小于設(shè)定的閾值0.20,即認(rèn)為跟蹤目標(biāo)丟失,需重新進行目標(biāo)檢測。圖6(e)為第985幀,重新檢測到無人機,并轉(zhuǎn)向跟蹤;圖6(f)為第1 119幀,處于跟蹤狀態(tài),表明自最近一次重新檢測后,一直處于跟蹤狀態(tài),驗證了所提方法的有效性。
圖6 視頻2測試結(jié)果Fig.6 Experiments for video2
表1為YOLOv3、小尺度YOLOv3、小尺度YOLOv3+KCF分別在上述靜態(tài)樣本、視頻1和視頻2中的性能對比。從表中可以看出,對于樣本集圖像來說,加入小尺度特征后,識別率提升近5%。對于視頻1和視頻2,單純用YOLOv3或者小尺度YOLOv3去進行目標(biāo)檢測與跟蹤(檢測式跟蹤),二者的識別正確率都要比本文方法高。其中,YOLOv3的正確率比本文方法略高一點。但是這種每幀都進行檢測的方法對資源需求太高,每幀檢測時間平均為0.03 s左右,即30 fps,再加上一些其他處理,經(jīng)常會低于25 fps,不能滿足工程上的實時處理。而本文方法在目標(biāo)跟蹤時,只有當(dāng)目標(biāo)丟失時才會重新檢測,在目標(biāo)沒有丟失的情況下均進行跟蹤,而跟蹤的處理時間僅為0.012 s左右。因此,通過加權(quán)計算本文方法每幀檢測及跟蹤時間平均為0.022 s左右,即使算上其他資源消耗,也可滿足30 fps實時處理需求。
表1 YOLOv3、小尺度YOLOv3、小尺度YOLOv3+KCF性能對比Tab.1 Performance comprison of YOLOv3, small-scale YOLOv3 and small-scale YOLOv3+KCF
為了對“黑飛”的無人機進行光電探測與跟蹤,本文搭建了基于轉(zhuǎn)臺與高清可見光相機的無人機目標(biāo)實時探測系統(tǒng),在YOLOv3模型基礎(chǔ)上增加更小的特征尺度并結(jié)合KCF模型,實現(xiàn)對無人機目標(biāo)的實時檢測與跟蹤。試驗結(jié)果表明,通過在包含大疆御Pro、精靈3等無人機在內(nèi)的8 000幀無人機圖像組成的靜態(tài)測試集上進行實驗,增加更小特征尺度后的模型對小目標(biāo)的識別率較之原始YOLOv3模型提高約5%。對于1 280×720分辨率的動態(tài)視頻,每幀檢測時間為0.025~0.030 s(33 fps),且根據(jù)選定的閾值,當(dāng)無人機目標(biāo)丟失后可重新進行檢測,每幀跟蹤時間為0.010~0.012 s(85 fps),這對于未來全自動式無人機探測系統(tǒng)的研制具有重要意義。然而,無人機種類繁多,不可能窮盡所有無人機目標(biāo),本文只是對常見的幾種旋翼式無人機進行了取樣和訓(xùn)練,對于固定翼式的無人機目標(biāo)并沒有考慮,進一步工作將主要集中在更多種類更多數(shù)量的無人機目標(biāo)樣本獲取及神經(jīng)網(wǎng)絡(luò)模型優(yōu)化等相關(guān)研究方面。