, ,,吳賢,呂智虎
(空軍工程大學(xué) 空管領(lǐng)航學(xué)院 陜西省電子信息系統(tǒng)綜合集成重點(diǎn)實(shí)驗(yàn)室,西安 710051)
無人機(jī)憑借著其戰(zhàn)損小、機(jī)動(dòng)性高、隱蔽性強(qiáng)等特點(diǎn)正逐步發(fā)展成為現(xiàn)代軍事戰(zhàn)爭(zhēng)中重要的空基武器平臺(tái)[1-2]。美軍在其2016年發(fā)布的《小型無人機(jī)系統(tǒng)飛行規(guī)劃:2016-2036年》中明確指出要增加對(duì)小型偵察無人機(jī)開發(fā)的投資,防止對(duì)手利用能夠執(zhí)行大量偵察任務(wù)的小型無人機(jī)系統(tǒng)制造與美軍的差距[3-4]。目標(biāo)識(shí)別是無人機(jī)遂行打擊、毀傷評(píng)估等后續(xù)任務(wù)的前提條件和基礎(chǔ),具有重要的研究意義。
近年來,深度學(xué)習(xí)理論和計(jì)算機(jī)硬件的飛速發(fā)展,極大提升了圖像目標(biāo)識(shí)別與分類的速度和準(zhǔn)確度[5],同時(shí)也為偵察無人機(jī)自主目標(biāo)識(shí)別任務(wù)提供了新的解決方案。目前,目標(biāo)檢測(cè)領(lǐng)域的深度學(xué)習(xí)算法主要分為一階段(one-stage)算法和二階段(two-stage)算法[6-11],前者以YOLO系列算法為代表,具有網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、識(shí)別速度快的優(yōu)點(diǎn),主要應(yīng)用于對(duì)實(shí)時(shí)性要求較高的場(chǎng)合,比如自動(dòng)駕駛、機(jī)械臂等。后者以RCNN系列算法為代表,通過候選框提取、框分類與回歸兩個(gè)階段的算法獲得了更高的準(zhǔn)確度,更多地應(yīng)用在對(duì)檢測(cè)速度要求不高的高精度檢測(cè)領(lǐng)域。在二階段檢測(cè)算法中,F(xiàn)aster RCNN算法作為RCNN系列中的第三代算法,是目前對(duì)于各類數(shù)據(jù)集檢測(cè)精度最高的算法[12],被廣泛地應(yīng)用到了包括衛(wèi)星遙感、航拍圖像等諸多領(lǐng)域。
針對(duì)無人機(jī)自主偵察任務(wù)中在線目標(biāo)識(shí)別與定位的需求,本文提出了一種基于改進(jìn)Faster RCNN算法的無人機(jī)自主識(shí)別與定位的方法。首先對(duì)無人機(jī)偵察過程中的多張圖像進(jìn)行實(shí)時(shí)目標(biāo)識(shí)別,進(jìn)而通過特征提取、圖像拼接獲得全局偵察圖像,然后通過像素距離比和歐氏距離求出偵察圖像中目標(biāo)的相對(duì)位置,最終輸出含有關(guān)鍵目標(biāo)類別、位置、相對(duì)距離的戰(zhàn)場(chǎng)態(tài)勢(shì)圖。
偵察無人機(jī)主要配備合成孔徑雷達(dá)(SAR)、紅外或可見光相機(jī)等設(shè)備完成環(huán)境偵察、監(jiān)視和毀傷評(píng)估等任務(wù)[13]。目標(biāo)識(shí)別是偵察無人機(jī)有效完成上述各項(xiàng)任務(wù)的關(guān)鍵內(nèi)容,目前針對(duì)上述偵察設(shè)備的目標(biāo)識(shí)別方法主要如下:
基于SAR的目標(biāo)識(shí)別方法主要包括特征提取和分類器設(shè)計(jì)兩部分[14-15]。此方法首先利用SAR主動(dòng)探測(cè)獲得目標(biāo)遙感圖像,在此基礎(chǔ)上采用主成分分析法(PCA)、線性鑒別分析(LDA)等方法提取目標(biāo)的幾何特征,進(jìn)而使用K近鄰分類(KNN)、支持向量機(jī)(SVM)等分類器進(jìn)行分類,最終實(shí)現(xiàn)SAR圖像的目標(biāo)識(shí)別。
基于紅外或可見光相機(jī)的目標(biāo)識(shí)別方法主要包括圖像去噪、形態(tài)學(xué)濾波、特征提取、特征匹配等步驟。首先通過強(qiáng)度歸一化、小波變換去噪等方法對(duì)圖像進(jìn)行預(yù)處理,然后通過sobel算子等形態(tài)學(xué)操作提取圖像邊緣,最終采用神經(jīng)網(wǎng)絡(luò)等方法進(jìn)行目標(biāo)識(shí)別[16-17]。
綜上所述,現(xiàn)有目標(biāo)識(shí)別方法可以概括為圖像預(yù)處理、特征提取、特征分類三部分。其中,傳統(tǒng)目標(biāo)識(shí)別算法中通常采用人工選定的特征子進(jìn)行特征提取,此類方法存在計(jì)算量較大、魯棒性差等問題。近年來卷積神經(jīng)網(wǎng)絡(luò)(CNN)的出現(xiàn)為圖像中的特征提取提供了新的解決方法,這些方法的有效性已經(jīng)在ImageNet Large-Scale Visual Recognition Challenge(ILSVC)等比賽中得到充分驗(yàn)證,被廣泛應(yīng)用于各種場(chǎng)合下的目標(biāo)檢測(cè)與識(shí)別任務(wù)中。
從偵察無人機(jī)的任務(wù)需求和使用經(jīng)驗(yàn)來看,我們將無人機(jī)自主偵察任務(wù)的關(guān)鍵技術(shù)分為目標(biāo)識(shí)別、圖像拼接、目標(biāo)定位三部分。為有效識(shí)別航拍圖像中目標(biāo),本文依據(jù)航拍圖像分辨率較高、目標(biāo)像素尺寸較小等特點(diǎn)對(duì)Faster RCNN網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了適當(dāng)修改,在此基礎(chǔ)上選用SURF算法進(jìn)行圖像拼接以獲得偵察區(qū)域全局圖像,之后提出目標(biāo)定位算法在偵察全景圖上標(biāo)示出了目標(biāo)之間的相對(duì)距離,最終獲得包含目標(biāo)類別與位置信息的任務(wù)區(qū)域全局態(tài)勢(shì)圖。
目前RCNN系列目標(biāo)算法已經(jīng)更新到第四代。最初的RCNN算法采用AlexNet進(jìn)行圖像特征提取,在2012年的ILSVRC中奪冠并取得了遠(yuǎn)超傳統(tǒng)目標(biāo)識(shí)別算法的準(zhǔn)確率。它的主要思想是先在圖像上使用滑窗方法得到約2 000個(gè)候選框,然后采用卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)進(jìn)行特征提取與分類,最后采用全連接網(wǎng)絡(luò)進(jìn)行目標(biāo)框的回歸預(yù)測(cè)。在此基礎(chǔ)上,F(xiàn)ast RCNN引用了SPP Net的思想,先對(duì)圖像進(jìn)行卷積,再將原圖中的候選區(qū)域直接映射到原圖像卷積后的特征圖上,同時(shí)采用池化操作替代了RCNN中的圖像尺寸壓縮操作,此外還將目標(biāo)分類與目標(biāo)框回歸的損失函數(shù)設(shè)計(jì)到一個(gè)損失函數(shù)中,使模型的速度和mAP(Mean average precision,平均準(zhǔn)確度)都有了較大提升。
Fast RCNN的出現(xiàn)也暴露出二階段目標(biāo)檢測(cè)網(wǎng)絡(luò)中基于滑窗生成候選框的方式嚴(yán)重制約了網(wǎng)絡(luò)訓(xùn)練和檢測(cè)速度[18]。因此,F(xiàn)aster RCNN提出了區(qū)域建議網(wǎng)絡(luò)(Region proposal network,RPN),將原圖像經(jīng)過卷積后的特征圖作為錨點(diǎn)映射回原圖像,并在每個(gè)錨點(diǎn)上生成金字塔形的候選框,并設(shè)計(jì)相應(yīng)的損失函數(shù)對(duì)這些候選框進(jìn)行篩選,進(jìn)而通過CNN實(shí)現(xiàn)候選框的分類和回歸,有效提升了網(wǎng)絡(luò)的性能。Mask RCNN在此基礎(chǔ)上增加了圖像分割的內(nèi)容,但其對(duì)硬件性能有更高的要求且識(shí)別速度慢于Faster RCNN。圖1是Faster RCNN算法相對(duì)其它算法的目標(biāo)檢測(cè)性能,可以看出在小目標(biāo)檢測(cè)領(lǐng)域,F(xiàn)aster RCNN具有明顯優(yōu)勢(shì)。
圖1 Faster RCNN與其他主流算法檢測(cè)性[23]
本文所用Faster RCNN模型基于tensorflow2.0框架搭建,為完成對(duì)于特定類別目標(biāo)的識(shí)別與定位,需對(duì)文獻(xiàn)[7]中Faster RCNN的網(wǎng)絡(luò)結(jié)構(gòu)做出修改,改進(jìn)后的Faster RCNN的網(wǎng)絡(luò)結(jié)構(gòu)如圖2,首先由RPN對(duì)原圖像進(jìn)行候選框提議,然后在Proposal層中通過已標(biāo)定數(shù)據(jù)對(duì)IOU大于0.7的候選框進(jìn)行粗修正,之后在Detection target層中對(duì)原圖像進(jìn)行ROI pooling操作,即將不同尺寸的候選框大小統(tǒng)一到7×7,最后由全連接網(wǎng)絡(luò)對(duì)統(tǒng)一后的候選框進(jìn)行分類、回歸。其中RPN是Faster RCNN性能卓越的關(guān)鍵內(nèi)容。
圖2 改進(jìn)Faster RCNN結(jié)構(gòu)示意圖
針對(duì)偵察任務(wù)中航拍圖像特點(diǎn),我們改進(jìn)Faster RCNN的工作如下。
(1)RPN主干網(wǎng)絡(luò)修改:
原始Faster RCNN中RPN采用ZF、VGG-16等網(wǎng)絡(luò),能夠接受的輸入為長(zhǎng)寬均為600到1 000的圖像[10]。而航拍圖像分辨率較高,通常無法滿足這一要求。此外,由于航拍圖像中目標(biāo)尺寸較小,為充分提取圖像特征,我們沒有對(duì)原圖像進(jìn)行壓縮操作,而是通過池化操作將原圖像尺寸下采樣到352×352作為網(wǎng)絡(luò)輸入,同時(shí)選用了能夠更好提取語(yǔ)義信息的Inception-v2網(wǎng)絡(luò),并遷移了其在Imagenet數(shù)據(jù)集上的訓(xùn)練權(quán)重。
(2)錨框尺度、比例與數(shù)量:
原始Faster RCNN中使用了尺度為8、16、32,比例為2:1、1:1、1:2的9種錨框[7]。由于無人機(jī)航拍圖像中目標(biāo)尺寸較小,我們選取了6、12、24三種尺度。此外,由于我們要識(shí)別的3種目標(biāo)長(zhǎng)寬比分別近似于1:0.9、1:0.7、1:0.6,因此我們根據(jù)先驗(yàn)知識(shí)采用了比例為0.75:1、1:1、1:0.75的3種錨框。
(3)全連接層輸出節(jié)點(diǎn):
我們將原網(wǎng)絡(luò)中全連接網(wǎng)絡(luò)最后一層的90種輸出改變?yōu)?種輸出,分別為tank、plane、ship、backgroud,對(duì)于前3種目標(biāo),分別使用黃色、紫色、藍(lán)色方框進(jìn)行了標(biāo)注。
獲取任務(wù)區(qū)域全局態(tài)勢(shì)圖是無人機(jī)自主偵察任務(wù)的重要內(nèi)容,但無人機(jī)偵察過程中受高度和光學(xué)傳感器性能限制,往往需對(duì)多次采集的圖像進(jìn)行拼接才能完成這一任務(wù)。圖像拼接技術(shù)主要流程是:圖像預(yù)處理、圖像配準(zhǔn)、圖像融合,其中圖像配準(zhǔn)是完成圖像拼接任務(wù)的關(guān)鍵[19-20]。
目前的圖像配準(zhǔn)技術(shù)主要包括基于區(qū)域的圖像配準(zhǔn)和基于特征的圖像配準(zhǔn)兩種方法。前者包括全局搜索法、模板匹配法等,通常計(jì)算量較大。后者包括Harris角點(diǎn)檢測(cè)算法、尺度不變特征變換(scale-invariant feature transform,SIFT)算法、加速魯棒特征(Speeded-Up Robust Features,SURF)算法、ORB算法等。其中SURF算法對(duì)平移、旋轉(zhuǎn)、尺度縮放和光照不均都有很好的適應(yīng)性,計(jì)算速度較快,被廣泛應(yīng)用于各種圖像拼接場(chǎng)合[21]。
由于SURF算法已在openCV中集成,其實(shí)現(xiàn)細(xì)節(jié)不再贅述,在無人機(jī)自主偵察中的應(yīng)用效果如圖3。
圖3 基于SURF算法的特征選取與拼接
無人機(jī)自主偵察任務(wù)中,獲取關(guān)鍵目標(biāo)相對(duì)位置對(duì)后續(xù)行動(dòng)決策具有重要意義。本節(jié)針對(duì)此問題提出了基于歐氏距離的解決方法,該方法在獲得無人機(jī)偵察全局圖像的基礎(chǔ)上,以圖像中重要目標(biāo)的幾何中心為原點(diǎn)(x0,y0)建立圖4圖像坐標(biāo)系,同時(shí)設(shè)任務(wù)區(qū)域中任一目標(biāo)位置像素點(diǎn)的坐標(biāo)為(x1,y1),則該目標(biāo)到原點(diǎn)的歐氏距離L可由(1)式得出:
(1)
其中:(x1,y1)為Faster RCNN網(wǎng)絡(luò)輸出數(shù)據(jù)。此外,通過相機(jī)標(biāo)定的方式可以測(cè)得機(jī)載云臺(tái)采集圖像的像素距離比ε,最終可以得到圖像中任一目標(biāo)距重要目標(biāo)的距離R為:
(2)
圖4 圖像坐標(biāo)系中目標(biāo)相對(duì)位置
采用深度學(xué)習(xí)方法完成偵察任務(wù)中的目標(biāo)識(shí)別,首先需要制作有效的數(shù)據(jù)集對(duì)所改進(jìn)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練。相較于一階段目標(biāo)檢測(cè)網(wǎng)絡(luò),二階段網(wǎng)絡(luò)具有更多的參數(shù),因而需要更大的數(shù)據(jù)集才能避免過擬合。為此我們使用無人機(jī)采取了300余張含坦克模型、飛機(jī)模型、軍艦?zāi)P?種識(shí)別目標(biāo)在內(nèi)的航拍圖像,同時(shí)采用仿射變換、形態(tài)學(xué)操作等方法進(jìn)行數(shù)據(jù)集增強(qiáng),得到約3 000張訓(xùn)練圖像,然后使用labelimg軟件進(jìn)行圖像標(biāo)注,標(biāo)注文件中含目標(biāo)像素位置、類別兩類用于訓(xùn)練的信息:
[x,y,width,height,class]
(3)
文獻(xiàn)[7]給出了Faster RCNN訓(xùn)練的3種方式,每種方式各有優(yōu)劣。本文采用近似聯(lián)合訓(xùn)練方法和遷移學(xué)習(xí)方法,在VOC2007數(shù)據(jù)集預(yù)訓(xùn)練權(quán)重基礎(chǔ)上將RPN權(quán)重和后續(xù)全連接網(wǎng)絡(luò)權(quán)重一起訓(xùn)練,使用配備Nvidia 2080ti的計(jì)算機(jī)進(jìn)行50萬次訓(xùn)練,訓(xùn)練結(jié)果達(dá)到84.5%的準(zhǔn)確率和85.0%的召回率。此外,我們對(duì)原始Faster RCNN網(wǎng)絡(luò)進(jìn)行了完全相同的訓(xùn)練,訓(xùn)練結(jié)果達(dá)到78.6%的準(zhǔn)確率和78.8%的召回率。可以看出,改進(jìn)工作使目標(biāo)識(shí)別準(zhǔn)確率和召回率分別提高了5.9%和6.2%,這主要得益于根據(jù)先驗(yàn)知識(shí)選取了相應(yīng)尺寸的錨框以及Inception網(wǎng)絡(luò)能夠提取豐富語(yǔ)義信息的優(yōu)點(diǎn)。
在完成網(wǎng)絡(luò)訓(xùn)練與檢測(cè)的基礎(chǔ)上,我們根據(jù)偵察任務(wù)需求設(shè)計(jì)了無人機(jī)自主偵察室外試驗(yàn),試驗(yàn)流程如圖5。首先,機(jī)載計(jì)算機(jī)在接收地面計(jì)算機(jī)發(fā)出的起飛指令后,自檢確認(rèn)無誤后起飛。其次,根據(jù)預(yù)設(shè)飛行航線進(jìn)行偵察飛行,偵察飛行過程中在預(yù)設(shè)航點(diǎn)上空懸停采圖。然后,將圖像數(shù)據(jù)實(shí)時(shí)傳輸?shù)降孛娑说膱D像計(jì)算機(jī)中進(jìn)行圖像處理。最后,無人機(jī)將圖像實(shí)時(shí)傳送至地面端,由地面端圖像處理計(jì)算機(jī)進(jìn)行目標(biāo)檢測(cè),在圖像處理計(jì)算機(jī)捕獲著陸區(qū)信號(hào)后,向控制計(jì)算機(jī)發(fā)送著陸指令及無人機(jī)到著陸區(qū)的距離誤差,無人機(jī)機(jī)載計(jì)算機(jī)在獲取地面控制計(jì)算機(jī)的指令后,對(duì)100 m×50 m的偵察區(qū)域進(jìn)行在線偵察識(shí)別,得到偵察結(jié)果如圖6。其中圓心為想定重要目標(biāo),識(shí)別結(jié)果如表1,達(dá)到83.3%的召回率且無錯(cuò)誤識(shí)別,定位結(jié)果如表2,平均定位精度為0.702 m。
圖5 偵察無人機(jī)室外試驗(yàn)流程
圖6 偵察結(jié)果
表1 目標(biāo)識(shí)別結(jié)果
表2 目標(biāo)定位結(jié)果
本文針對(duì)無人機(jī)自主偵察過程中目標(biāo)識(shí)別、圖像拼接、目標(biāo)定位的任務(wù)需求,通過改進(jìn)深度學(xué)習(xí)目標(biāo)檢測(cè)算法、選用圖像拼接算法、提出目標(biāo)定位算法予以解決,編寫程序并建立了完整的試驗(yàn)流程對(duì)本文設(shè)計(jì)的自主偵察方法進(jìn)行驗(yàn)證。
試驗(yàn)結(jié)果證明,本文所設(shè)計(jì)的無人機(jī)自主偵察方法達(dá)到了83.3%的識(shí)別準(zhǔn)確度和0.702 m的定位精確度,能夠有效完成無人機(jī)自主偵察任務(wù),滿足自主偵察無人機(jī)預(yù)期設(shè)計(jì)要求。
但對(duì)于面積較大的任務(wù)區(qū)域,單架無人機(jī)通常無法很好地勝任,通過多機(jī)協(xié)同提高無人機(jī)偵察效率將是下一步研究工作的重點(diǎn)[22-26]。