王婷婷,劉環(huán)宇,李君寶
(哈爾濱工業(yè)大學(xué) 電子與信息工程學(xué)院,黑龍江 哈爾濱 150001)
無(wú)人機(jī)由于體積小、運(yùn)動(dòng)速度快和覆蓋范圍廣等優(yōu)點(diǎn),在地空拍攝領(lǐng)域得到了廣泛應(yīng)用[1]。其中,利用無(wú)人機(jī)進(jìn)行巡航、偵查和預(yù)警等是現(xiàn)代智能化應(yīng)用的主流技術(shù)手段。地面重點(diǎn)目標(biāo)實(shí)時(shí)檢測(cè)與識(shí)別是無(wú)人機(jī)視覺系統(tǒng)需要解決的重點(diǎn)問題。結(jié)合圖像處理技術(shù)和模式識(shí)別方法,對(duì)無(wú)人機(jī)視頻或圖像進(jìn)行分析,實(shí)現(xiàn)快速、穩(wěn)定的目標(biāo)檢測(cè)是后續(xù)環(huán)境感知和目標(biāo)快速瞄準(zhǔn)等高級(jí)任務(wù)的基礎(chǔ)。
現(xiàn)有目標(biāo)檢測(cè)數(shù)據(jù)集目標(biāo)特征顯著,細(xì)節(jié)清晰,而實(shí)際應(yīng)用中,無(wú)人機(jī)圖像由于拍攝高度較高,目標(biāo)尺寸相對(duì)于圖像過小,目標(biāo)特征不完整;且受到拍攝角度的影響,目標(biāo)發(fā)生一定程度的形變;目標(biāo)與無(wú)人機(jī)之間的相對(duì)運(yùn)動(dòng)造成目標(biāo)背景變化較大等,使無(wú)人機(jī)圖像目標(biāo)檢測(cè)任務(wù)充滿挑戰(zhàn)[2]。
為滿足以上需求并解決無(wú)人機(jī)目標(biāo)檢測(cè)技術(shù)難點(diǎn),近年來,科研人員開展了一系列相關(guān)研究。傳統(tǒng)的無(wú)人機(jī)圖像目標(biāo)檢測(cè)方法包括幀差法、背景減除法、基于滑動(dòng)窗口的特征提取算法[3]、均值漂移算法和邊緣檢測(cè)算法[4]等。2013年,董晶、傅丹[5]等人實(shí)現(xiàn)了無(wú)人機(jī)對(duì)地運(yùn)動(dòng)車輛目標(biāo)檢測(cè),利用圖像配準(zhǔn)完成前背景運(yùn)動(dòng)的分離,并結(jié)合幀差法準(zhǔn)確檢測(cè)到目標(biāo)區(qū)域。2017年彭博[6]等人實(shí)現(xiàn)的廣域車流目標(biāo)檢測(cè)識(shí)別使用了幀間差分及背景減除的方法。傳統(tǒng)基于滑窗提取的特征通常為人工設(shè)計(jì)的梯度方向直方圖 (Histogram of Oriented gradient,HoG)特征[7]、SIFT(Scale-invariant feature transform)特征[8]和類Haar小波特征[9]等,此類實(shí)現(xiàn)特征表示的方法計(jì)算復(fù)雜度高,無(wú)法實(shí)時(shí)檢測(cè)。2012年,S.Jan[10]等人結(jié)合多尺度MeanShift算法與目標(biāo)的邊緣信息解決了無(wú)人機(jī)拍攝圖像顯著性目標(biāo)的檢測(cè)。另外還有顯著性圖檢測(cè)方法、差距圖以及金字塔直方圖[11]等多種檢測(cè)算法。這些方法計(jì)算速度慢、魯棒性弱,無(wú)法達(dá)到實(shí)時(shí)檢測(cè)的應(yīng)用需求。
隨著卷積神經(jīng)網(wǎng)絡(luò)、生成對(duì)抗網(wǎng)絡(luò)和深度傳輸網(wǎng)絡(luò)等多種深度網(wǎng)絡(luò)的興起及其在圖像處理方面的優(yōu)勢(shì),無(wú)人機(jī)圖像的目標(biāo)檢測(cè)也越來越多地開始使用深度學(xué)習(xí)[12]。2016年,Barrero[13]等人利用神經(jīng)網(wǎng)絡(luò)從無(wú)人機(jī)飛行高度50 m的航拍圖像中檢測(cè)出稻田雜草。Zhang[14]等人根據(jù)相鄰平行線的特征搜索感興趣區(qū)域(ROIs),通過AlexNet網(wǎng)絡(luò)上的轉(zhuǎn)移學(xué)習(xí)確定最終的機(jī)場(chǎng)區(qū)域。Xiao[15]等人使用新的GoogleNet-LF模型提取多尺度深度集成特征組合SVM進(jìn)行檢測(cè)識(shí)別。2018年Wang[16]等人利用以RetinaNet作為主干網(wǎng)絡(luò)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)目標(biāo)檢測(cè)器,在斯坦福無(wú)人機(jī)數(shù)據(jù)集[17]上進(jìn)行行人檢測(cè),驗(yàn)證了基于CNN的目標(biāo)檢測(cè)器在無(wú)人機(jī)圖像的目標(biāo)檢測(cè)方面的優(yōu)勢(shì)。
無(wú)人機(jī)圖像目標(biāo)檢測(cè)方面的研究已經(jīng)取得了一定的成就,但仍處于初步發(fā)展階段。以上方法面對(duì)復(fù)雜多變的無(wú)人機(jī)圖像目標(biāo),始終無(wú)法達(dá)到檢測(cè)準(zhǔn)確率與速度的平衡。如何能夠快速、準(zhǔn)確地檢測(cè)無(wú)人機(jī)下視小目標(biāo)仍然是當(dāng)前研究的重點(diǎn)與難點(diǎn)。從實(shí)際應(yīng)用的角度出發(fā),本文設(shè)計(jì)并實(shí)現(xiàn)了一套用于無(wú)人機(jī)地面站的目標(biāo)檢測(cè)系統(tǒng)。充分考慮深度學(xué)習(xí)在處理圖像方面的優(yōu)勢(shì)與缺陷,結(jié)合模板匹配算法,并加入局部與全局聯(lián)合檢測(cè)的策略,實(shí)現(xiàn)無(wú)人機(jī)對(duì)地目標(biāo)實(shí)時(shí)穩(wěn)定且準(zhǔn)確地檢測(cè)與識(shí)別。
本文用于地面站的無(wú)人機(jī)目標(biāo)檢測(cè)系統(tǒng)總體流程如圖1所示。系統(tǒng)分為3部分:數(shù)據(jù)傳輸至地面站、深度學(xué)習(xí)局部目標(biāo)檢測(cè)以及全局目標(biāo)穩(wěn)定顯示。
圖1 系統(tǒng)總體流程
系統(tǒng)的3部分之間運(yùn)行相互獨(dú)立但數(shù)據(jù)信息相互關(guān)聯(lián),即整個(gè)系統(tǒng)由4個(gè)進(jìn)程構(gòu)成,考慮系統(tǒng)整體要求實(shí)時(shí)性,各個(gè)進(jìn)程之間相互通信使用共享內(nèi)存的方式。進(jìn)程間通信的方式通常包含4種:管道、信號(hào)量、消息隊(duì)列和共享內(nèi)存。共享內(nèi)存旨在解決進(jìn)程間通信的運(yùn)行效率問題,是最快的進(jìn)程間通信方式。其基本通信原理如圖2所示。
圖2 共享內(nèi)存基本通信原理
2個(gè)相互獨(dú)立的進(jìn)程之間實(shí)現(xiàn)數(shù)據(jù)、圖像等信息的快速傳輸與共享的方法之一是可以使用同一段物理地址存儲(chǔ)信息,各個(gè)進(jìn)程通過訪問此地址來獲取另一進(jìn)程的信息。進(jìn)程與共享內(nèi)存的物理地址之間通過頁(yè)表來連接自己的虛擬地址空間和實(shí)際物理空間。由于數(shù)據(jù)直接存儲(chǔ)到內(nèi)存之中,減少了普通數(shù)據(jù)傳輸多次數(shù)據(jù)復(fù)制的頻率,從而加快了傳輸速度,其存儲(chǔ)信息消耗的時(shí)間幾乎可以忽略不計(jì)。考慮本系統(tǒng)的要求,信息的寫入與讀取應(yīng)具有時(shí)序性,同一時(shí)刻應(yīng)只有一個(gè)進(jìn)程可以訪問共享內(nèi)存,因此,本文加入互斥量鎖機(jī)制實(shí)現(xiàn)進(jìn)程間訪問互斥。
本文4個(gè)進(jìn)程之間共使用了4次共享內(nèi)存方法進(jìn)行信息傳輸。首先,無(wú)人機(jī)采集到的視頻數(shù)據(jù)與地面站實(shí)時(shí)共享使用了一塊用于存儲(chǔ)原始視頻流數(shù)據(jù)的內(nèi)存空間。其次,原始視頻經(jīng)過深度學(xué)習(xí)局部檢測(cè)后得到的目標(biāo)初步位置信息以及目標(biāo)切片信息保存在第二塊共享內(nèi)存,與第一塊共享內(nèi)存不同,用于存儲(chǔ)局部目標(biāo)信息的一個(gè)共享內(nèi)存根據(jù)圖像劃分的局部區(qū)域個(gè)數(shù)分解為相應(yīng)多個(gè)子共享內(nèi)存區(qū)域,具體形式如圖3所示。
圖3 共享內(nèi)存具體形式
然后,考慮檢測(cè)結(jié)果的穩(wěn)定性與長(zhǎng)時(shí)性,每個(gè)子共享內(nèi)存的信息用于后續(xù)進(jìn)一步補(bǔ)充、篩選與融合。最后,處理后存入一個(gè)完整的共享內(nèi)存區(qū)域,用于全局目標(biāo)檢測(cè)結(jié)果的顯示。
通過以上設(shè)計(jì),實(shí)現(xiàn)了從獲取數(shù)據(jù)、目標(biāo)檢測(cè)處理到最終檢測(cè)結(jié)果穩(wěn)定實(shí)時(shí)顯示的整個(gè)流程。搭建了一套可應(yīng)用于實(shí)際無(wú)人機(jī)地面站目標(biāo)檢測(cè)的完整系統(tǒng)。
鑒于深度學(xué)習(xí)在圖像處理領(lǐng)域的優(yōu)勢(shì)以及目前目標(biāo)檢測(cè)方向的發(fā)展,本文使用深度學(xué)習(xí)算法用于無(wú)人機(jī)圖像目標(biāo)檢測(cè)初步處理。
現(xiàn)階段,用于目標(biāo)檢測(cè)的深度學(xué)習(xí)網(wǎng)絡(luò)主要有2類,一是以特征提取和分類結(jié)合的2步目標(biāo)檢測(cè)網(wǎng)絡(luò)RCNN系列,目前此類網(wǎng)絡(luò)效果最好的為Faster RCNN網(wǎng)絡(luò)[18];二是采用回歸思想的單步目標(biāo)檢測(cè)SSD[19]、YOLO[20]系列。Faster RCNN網(wǎng)絡(luò)創(chuàng)新性的將原始選用候選區(qū)域的暴力滑窗掃描方法如Selective search等替換成RPN網(wǎng)絡(luò),其算法流程如圖4所示。
圖4 Faster RCNN算法流程
使用全卷積網(wǎng)絡(luò)提取到圖像的基本特征以后,使用構(gòu)建的RPN網(wǎng)絡(luò)在特征圖上滑動(dòng)窗口,用于物體前背分類和框位置的回歸,之后又經(jīng)過進(jìn)一步的精細(xì)化ROI池化處理得到框更精確的位置。Faster RCNN網(wǎng)絡(luò)具有很好的準(zhǔn)確率,但是由于候選框數(shù)量較大等因素,處理速度十分緩慢,無(wú)法應(yīng)用于實(shí)際視頻級(jí)處理,SSD基本網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 SSD基本網(wǎng)絡(luò)結(jié)構(gòu)
SSD網(wǎng)絡(luò)利用錨點(diǎn)輸出一系列離散化的候選框,通過結(jié)合不同層次的特征圖,保證了SSD網(wǎng)絡(luò)可以充分提取特征目標(biāo);將不同尺度考慮進(jìn)來,且由于錨點(diǎn)設(shè)計(jì)為多種不同的橫縱比,使SSD網(wǎng)絡(luò)可以適應(yīng)多種尺度的目標(biāo)。這種錨點(diǎn)結(jié)合特征金字塔的設(shè)計(jì)提高了網(wǎng)絡(luò)對(duì)不同目標(biāo)檢測(cè)的準(zhǔn)確率,回歸的思想使網(wǎng)絡(luò)檢測(cè)速度大大提高,是目前檢測(cè)準(zhǔn)確率與速度良好折中的優(yōu)質(zhì)選擇。
YOLO網(wǎng)絡(luò)與其他2種網(wǎng)絡(luò)采用的思想都不同,其算法更加直接和簡(jiǎn)易。直接在輸出層回歸候選框的位置和對(duì)應(yīng)所屬的類別,徹底將目標(biāo)檢測(cè)的問題用回歸來解決。YOLO將目標(biāo)區(qū)域預(yù)測(cè)和目標(biāo)類別預(yù)測(cè)整合于單個(gè)神經(jīng)網(wǎng)絡(luò)模型中,實(shí)現(xiàn)在準(zhǔn)確率較高的情況下快速目標(biāo)檢測(cè)與識(shí)別。YOLO網(wǎng)絡(luò)架構(gòu)如圖6所示,YOLO網(wǎng)絡(luò)在目標(biāo)檢測(cè)中具有極高的檢測(cè)速度,但是檢測(cè)準(zhǔn)確率相對(duì)其他深度學(xué)習(xí)網(wǎng)絡(luò)較低。
圖6 YOLO網(wǎng)絡(luò)架構(gòu)
表1列舉了3種網(wǎng)絡(luò)在PASCAL VOC數(shù)據(jù)集上驗(yàn)證的目標(biāo)檢測(cè)效果,主要從平均準(zhǔn)確率和速度2個(gè)方面考慮。
表1 深度學(xué)習(xí)目標(biāo)檢測(cè)網(wǎng)絡(luò)效果對(duì)比
網(wǎng)絡(luò)平均準(zhǔn)確率/%速度/FPS·s-1Faster RCNN70.417SSD75.822YOLO69.040
由表1可以看出,目前識(shí)別率是Faster RCNN最好,SSD次之,YOLO的識(shí)別率較低;識(shí)別速度YOLO最快,其次是SSD,F(xiàn)aster RCNN最慢。為了驗(yàn)證3種網(wǎng)絡(luò)在實(shí)際應(yīng)用場(chǎng)景下的效果,本文使用自建的遙感圖像數(shù)據(jù)對(duì)3種網(wǎng)絡(luò)進(jìn)行了對(duì)比,實(shí)驗(yàn)平臺(tái)如表2所示。
表2 實(shí)驗(yàn)平臺(tái)
名稱性能指標(biāo)處理器Xeon E5-2630V4、2.2 GHz 10HE25M內(nèi)存三星DDR4 RECC 2 400 MHz 32 GB系統(tǒng)盤INTEL SSD 3610 400 GB顯卡華碩STRIX-GTX1080TI O11G-GAMING
在以上平臺(tái)檢測(cè)6類目標(biāo)包括港口、油罐、艦船、飛機(jī)、機(jī)場(chǎng)以及橋梁的具體檢測(cè)效果如表3所示。
表3 自建數(shù)據(jù)集目標(biāo)檢測(cè)網(wǎng)絡(luò)性能驗(yàn)證
目標(biāo)類別圖片總數(shù)訓(xùn)練圖片測(cè)試圖片識(shí)別率識(shí)別速度Faster RCNN/%SSD/%YOLO/%Faster RCNN/msSSD/msYOLO/ms港口1 121800120878578480225180油罐50035060848065650274210艦船780600120858470520215174飛機(jī)76064050918871540203194機(jī)場(chǎng)50042040908564600195178橋梁82874060888672580240215
綜合分析,SSD網(wǎng)絡(luò)性能最優(yōu),既保證了與Faster RCNN差不多的精度,又達(dá)到了和YOLO網(wǎng)絡(luò)差不多的速度。因此,本文選擇SSD網(wǎng)絡(luò)作為無(wú)人機(jī)地面站目標(biāo)檢測(cè)系統(tǒng)的檢測(cè)網(wǎng)絡(luò)。
高空無(wú)人機(jī)拍攝的目標(biāo)尺寸最小倍距下小于40*40像素。SSD網(wǎng)絡(luò)對(duì)小目標(biāo)檢測(cè)效果有限。由于特征提取網(wǎng)絡(luò)設(shè)計(jì)中卷積層與池化層結(jié)合并多次對(duì)圖像進(jìn)行下采樣操作,會(huì)使圖像尺度大幅減小。經(jīng)典SSD網(wǎng)絡(luò)的輸入尺寸為300*300,而無(wú)人機(jī)采集的圖像通常分辨率較高。本文采集到的圖像尺寸為1 920*1 080像素,而目標(biāo)只占圖像中極小的一部分。使用SSD網(wǎng)絡(luò)首先要對(duì)圖像進(jìn)行縮放處理,高分辨率的圖像經(jīng)過縮放會(huì)損失大量信息,并造成目標(biāo)嚴(yán)重形變,再經(jīng)過網(wǎng)絡(luò)的多次下采樣,造成目標(biāo)特征損失,最終用于檢測(cè)和識(shí)別的目標(biāo)特征信息極少,嚴(yán)重影響檢測(cè)的準(zhǔn)確率。為此,本文采用對(duì)圖像進(jìn)行局部檢測(cè)的策略,先將圖像縮放為900*900像素,再將圖像由上至下、由左至右均勻劃分為300*300的九個(gè)子區(qū)域。SSD網(wǎng)絡(luò)對(duì)當(dāng)前的視頻幀圖像只處理其中的一個(gè)子區(qū)域,經(jīng)過9次局部處理,完成整個(gè)圖像的檢測(cè)。具體過程如圖7所示。
圖7 無(wú)人機(jī)圖像局部檢測(cè)過程示意
SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)按順序處理每一幀圖像的局部區(qū)域,如第1幀圖像處理檢測(cè)左上角第1塊300*300區(qū)域的目標(biāo)、下一幀按順序處理第2幀左上第2塊局部區(qū)域…依次循環(huán)處理,直到完成第9幀圖像的局部區(qū)域檢測(cè)之后,重新開始計(jì)算下一次循環(huán)。即9幀完成一次全局檢測(cè)。
利用局部循環(huán)檢測(cè)的方式,從輸入開始避免了原始圖像的信息損失。尤其對(duì)小目標(biāo)的信息保留具有重要的意義。每個(gè)局部區(qū)域檢測(cè)到的目標(biāo)位置信息和切片信息存儲(chǔ)在與一塊共享內(nèi)存對(duì)應(yīng)的9個(gè)子共享內(nèi)存中,以便于后續(xù)進(jìn)一步整合檢測(cè)結(jié)果。這種策略可以大幅提高局部區(qū)域目標(biāo)檢測(cè)的準(zhǔn)確率,但卻丟棄了全局大部分信息,每一次循環(huán)結(jié)束整合顯示檢測(cè)結(jié)果時(shí),大部分目標(biāo)位置及類別信息屬于歷史幀。無(wú)人機(jī)機(jī)動(dòng)性強(qiáng),移動(dòng)速度快造成目標(biāo)與無(wú)人機(jī)之間相對(duì)運(yùn)動(dòng)較大,且載荷采集圖像的速度高于一次循環(huán)處理的速度,使顯示的目標(biāo)位置信息滯后于當(dāng)前幀圖像中包含的目標(biāo),視覺可見存在較大延遲。針對(duì)以上問題,本文提出基于模板匹配的全局目標(biāo)檢測(cè)信息補(bǔ)償策略。
為了滿足無(wú)人機(jī)視頻檢測(cè)的視覺實(shí)時(shí)性要求,本文在以上研究的基礎(chǔ)上加入了多線程機(jī)制。同時(shí),為了方便操控人員根據(jù)檢測(cè)信息進(jìn)行后續(xù)高級(jí)命令操作,目標(biāo)位置及類別等信息應(yīng)能夠穩(wěn)定連續(xù)顯示,故需對(duì)以上每幀圖像未檢測(cè)的區(qū)域進(jìn)行進(jìn)一步的補(bǔ)償檢測(cè)處理。考慮以上2點(diǎn),本文結(jié)合多線程機(jī)制與模板匹配檢測(cè)算法,對(duì)SSD檢測(cè)到的目標(biāo)信息進(jìn)行精細(xì)化調(diào)整與補(bǔ)償。具體實(shí)現(xiàn)流程如圖8所示。
圖8 全局目標(biāo)檢測(cè)信息補(bǔ)償流程
啟動(dòng)n個(gè)多線程分別監(jiān)控n個(gè)共享內(nèi)存。圖像劃分為9個(gè)局部區(qū)域,故啟動(dòng)9個(gè)進(jìn)程管理共享內(nèi)存。每個(gè)線程相應(yīng)地負(fù)責(zé)一個(gè)局部區(qū)域的信息補(bǔ)償,相應(yīng)使用9個(gè)模板匹配對(duì)局部區(qū)域進(jìn)行目標(biāo)檢測(cè)。多線程模板匹配過程與SSD局部區(qū)域目標(biāo)檢測(cè)過程運(yùn)行相互獨(dú)立。但信息通過共享內(nèi)存實(shí)現(xiàn)共享,主要包括目標(biāo)的位置信息、類別信息以及目標(biāo)切片等。
模板匹配算法是模式識(shí)別中最簡(jiǎn)易快速的特定目標(biāo)匹配技術(shù)[21]。已知目標(biāo)匹配模板,在指定區(qū)域范圍內(nèi)搜索并匹配,得到相似度最高的目標(biāo)位置。具體匹配過程如圖9所示。
圖9 模板匹配過程示意
模板圖像T,原圖像為I,在圖像I中搜索與模板T最相似的區(qū)域,將最終匹配到的矩陣保存為R。本文選用的具體算法為歸一化相關(guān)系數(shù)匹配法。在位置(x,y)匹配得到的圖像矩陣為R(x,y):
(1)
其中,模板圖像來自于2個(gè)部分:① SSD局部區(qū)域檢測(cè)結(jié)果;② 上一次匹配結(jié)果。局部區(qū)域檢測(cè)到的目標(biāo)位置坐標(biāo)為300*300范圍內(nèi)的坐標(biāo),為了確定模板匹配搜索位置范圍,將局部坐標(biāo)映射到1 920*1 080像素原圖的相應(yīng)位置。模板匹配的搜索區(qū)域確定為以模板中目標(biāo)全局坐標(biāo)中心點(diǎn)位置為中心,長(zhǎng)寬為原始模板5~8倍范圍。搜索范圍設(shè)置過大,會(huì)增加匹配時(shí)間,多目標(biāo)匹配所造成的時(shí)間累積會(huì)引起系統(tǒng)延遲;由于無(wú)人機(jī)載荷與目標(biāo)之間存在相對(duì)運(yùn)動(dòng),搜索范圍過小時(shí),目標(biāo)不在指定搜索范圍內(nèi),匹配失效。本文的匹配范圍由多次試驗(yàn)經(jīng)驗(yàn)確定,匹配相似度閾值設(shè)置為0.6。
多進(jìn)程圖像模板匹配同步進(jìn)行互不干擾,當(dāng)SSD進(jìn)行局部目標(biāo)檢測(cè)時(shí),9個(gè)進(jìn)程同時(shí)監(jiān)控對(duì)應(yīng)的9個(gè)共享內(nèi)存子區(qū)域內(nèi)信息的變化。當(dāng)SSD局部檢測(cè)完成時(shí),對(duì)應(yīng)共享內(nèi)存的信息更新為新檢測(cè)到的目標(biāo)信息,監(jiān)測(cè)此共享內(nèi)存區(qū)域的線程同步更新模板后繼續(xù)進(jìn)行匹配。否則,模板圖像及位置信息不變,模板匹配連續(xù)進(jìn)行。無(wú)論后續(xù)檢測(cè)是否成功檢測(cè)到目標(biāo),一旦第一次模板匹配開始便不會(huì)結(jié)束,直到整個(gè)系統(tǒng)檢測(cè)結(jié)束。SSD局部檢測(cè)只負(fù)責(zé)是否對(duì)相應(yīng)線程模板匹配進(jìn)行模板更新。
經(jīng)過此操作后,每幀圖像的檢測(cè)結(jié)果包括當(dāng)前進(jìn)行的SSD局部檢測(cè)區(qū)域目標(biāo)以及利用歷史幀模板進(jìn)行模板匹配后的其他區(qū)域目標(biāo)匹配結(jié)果。充分利用了每幀圖像的全部信息,使檢測(cè)結(jié)果更精細(xì)穩(wěn)定,并利用多線程機(jī)制提升了系統(tǒng)整體檢測(cè)速度,實(shí)現(xiàn)了檢測(cè)準(zhǔn)確率與檢測(cè)速度的平衡。
不同局部區(qū)域之間的檢測(cè)與匹配結(jié)果存在大量重復(fù),將9個(gè)線程的結(jié)果整合在一起后,使用非極大值抑制(Non-Maximum Suppression,NMS)處理濾除同一目標(biāo)的多個(gè)重復(fù)框。對(duì)同一目標(biāo)的多個(gè)定位框按照類別置信度排序,丟棄與最大置信度定位框IOU大于0.7的定位框。將重復(fù)框過濾后的剩余框信息送入共享內(nèi)存。地面站顯示系統(tǒng)通過訪問共享內(nèi)存對(duì)輸入視頻的目標(biāo)檢測(cè)結(jié)果實(shí)時(shí)顯示。本文顯示界面設(shè)計(jì)如圖10所示。
圖10 無(wú)人機(jī)地面站顯示界面
① 數(shù)據(jù)條件:本文所用數(shù)據(jù)為2018年9月于某試驗(yàn)場(chǎng)地實(shí)際拍攝獲得。使用某小型旋翼無(wú)人機(jī)以載荷視場(chǎng)角20°、水平旋轉(zhuǎn)速度5°、無(wú)人機(jī)距地垂直距離100 m時(shí)對(duì)地拍攝的目標(biāo),獲得尺寸為1 920*1 080像素的高分辨率圖像。實(shí)驗(yàn)所關(guān)注的待檢測(cè)目標(biāo)為白底黑線或紅線的十字型靶布,靶布實(shí)際大小為3 m*3 m,統(tǒng)一識(shí)別為靶布。目標(biāo)與無(wú)人機(jī)之間的相對(duì)運(yùn)動(dòng)由無(wú)人機(jī)勻速飛行產(chǎn)生,目標(biāo)尺度變化由無(wú)人機(jī)載荷攝像機(jī)倍距變化產(chǎn)生,包含攝像機(jī)焦距1~10倍距變化情況下的靶布數(shù)據(jù)。具體目標(biāo)外觀如圖11所示。
圖11 目標(biāo)外觀
② 運(yùn)行平臺(tái):CPU:Intel(R) Core(TM) i7-6700 CPU @3.4 GHz;內(nèi)存:16.0 GB;GPU:GeForce GTX 980;顯存:8.0 GB;系統(tǒng)版本:Windows 7專業(yè)版。
③ 深度學(xué)習(xí)框架:Caffe Windows版。
驗(yàn)證試驗(yàn)總體流程如圖12所示。
圖12 無(wú)人機(jī)地面站系統(tǒng)驗(yàn)證試驗(yàn)總體流程
試驗(yàn)總體分為2個(gè)過程,分別為SSD目標(biāo)檢測(cè)網(wǎng)絡(luò)模型訓(xùn)練和利用此模型對(duì)完整視頻進(jìn)行整體系統(tǒng)測(cè)試。其中,訓(xùn)練模型之前需要構(gòu)建訓(xùn)練數(shù)據(jù)集。將訓(xùn)練集樣本縮放至900*900尺寸后裁剪為均勻順序排列的9塊300*300像素的子區(qū)域樣本,對(duì)子樣本目標(biāo)類別及位置信息進(jìn)行標(biāo)注,標(biāo)注文本格式為標(biāo)準(zhǔn)Pascal VOC數(shù)據(jù)集所用的XML格式。目標(biāo)類別為“target”。
實(shí)驗(yàn)數(shù)據(jù)集包含14 817個(gè)樣本,按照8∶2的比例隨機(jī)分成訓(xùn)練集和驗(yàn)證集。訓(xùn)練集數(shù)量11 854張,驗(yàn)證集2 963張。數(shù)據(jù)涵蓋攝像機(jī)焦距1~10倍距的圖像以適應(yīng)多種尺度的目標(biāo)檢測(cè)。使用隨機(jī)梯度下降(Stochastic gradient descent,SGD)優(yōu)化方法求解最小損失函數(shù)。總訓(xùn)練次數(shù)為80 000次。學(xué)習(xí)率的初始值為0.001,經(jīng)過40 000次訓(xùn)練后學(xué)習(xí)率衰減為原來的1/10。每次批處理尺寸為16。
測(cè)試使用無(wú)人機(jī)采集的視頻作為輸入。選取一段包含1~10倍距勻速拍攝的視頻10 min共15 000幀圖像,同時(shí)啟動(dòng)4個(gè)進(jìn)程后,觀察實(shí)時(shí)視頻檢測(cè)效果,并將檢測(cè)結(jié)果保存到本地,用于后續(xù)結(jié)果分析。
使用本文設(shè)計(jì)的無(wú)人機(jī)下視地面站檢測(cè)系統(tǒng)對(duì)連續(xù)視頻目標(biāo)檢測(cè)結(jié)果如圖13所示。分別為1~10倍焦距變化下的檢測(cè)結(jié)果圖。
圖13 焦距變化下的目標(biāo)檢測(cè)結(jié)果
由圖10所示的檢測(cè)結(jié)果來看,視場(chǎng)角為20°非垂直拍攝情況下,目標(biāo)的形狀變化較大,載荷攝像機(jī)焦距放大到5倍以前,目標(biāo)存在漏檢,尤其在目標(biāo)外觀變化較大的情況下漏檢較大。焦距越小,拍攝視野內(nèi)目標(biāo)數(shù)量越多,背景干擾物也相對(duì)較多,發(fā)生誤檢的可能性較大。焦距增加到5倍以后,目標(biāo)外觀逐漸清晰,特征愈加顯著,檢測(cè)準(zhǔn)確率相對(duì)較高,發(fā)生漏檢和誤檢的可能性也較低。統(tǒng)計(jì)每種倍焦距下測(cè)試結(jié)果如表4所示。其中,5倍焦距以前目標(biāo)檢測(cè)準(zhǔn)確率小于80%,且誤檢出現(xiàn)頻率較高;7倍焦距以后目標(biāo)檢測(cè)準(zhǔn)確率高于95%,檢測(cè)效果較好。
表4 不同倍距圖像測(cè)試結(jié)果統(tǒng)計(jì)
倍距測(cè)試圖像數(shù)量測(cè)試目標(biāo)數(shù)量檢測(cè)目標(biāo)數(shù)量誤檢數(shù)量檢測(cè)準(zhǔn)確率/%13752 0051 68420174.023752 6702 42634378.033751 8501 54910178.343752 2801 93513479.053752 1331 87911082.963751 1701 0302386.07375938892095.0837511751 126795.89375873847196.910375617598096.9
隨機(jī)選取視頻中3 750幀圖像的測(cè)試時(shí)間繪制如圖14所示。計(jì)算可知,一次測(cè)試的平均耗時(shí)為56.6 ms。系統(tǒng)處理時(shí)間波動(dòng)較大時(shí)受到多線程調(diào)度的影響,大部分圖像的處理時(shí)間都處在75 ms以下,可以滿足實(shí)際視頻檢測(cè)的實(shí)時(shí)性要求。
圖14 目標(biāo)檢測(cè)系統(tǒng)測(cè)試時(shí)間
本文針對(duì)無(wú)人機(jī)視頻目標(biāo)檢測(cè)準(zhǔn)確率低以及無(wú)法滿足時(shí)效性問題,設(shè)計(jì)了一套完整的可用于地面站的無(wú)人機(jī)目標(biāo)檢測(cè)系統(tǒng)。該系統(tǒng)利用深度學(xué)習(xí)和傳統(tǒng)模板匹配相結(jié)合,充分挖掘了圖像的局部和全局信息,并巧妙地使用多進(jìn)程、多線程等機(jī)制,完成了信息同步快速處理。檢測(cè)的平均準(zhǔn)確率為86.1%,平均檢測(cè)時(shí)間為56.6 ms。無(wú)論從準(zhǔn)確率還是處理速度,都可達(dá)到實(shí)際應(yīng)用需求。