程向紅,曹 毅,胡彥鐘,張文卓,錢榮輝
(1.東南大學(xué) 儀器科學(xué)與工程學(xué)院·南京·210096;2. 微慣性儀表與先進(jìn)導(dǎo)航技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室·南京·210096)
無人機(jī)的圖像智能感知可以增強(qiáng)其場景理解及提取地物信息的能力,而目標(biāo)檢測技術(shù)是無人機(jī)對影像智能化感知的關(guān)鍵技術(shù)之一[1]。無人機(jī)航拍圖像一般具有背景復(fù)雜、目標(biāo)分布密集、尺度小、同一類目標(biāo)角度差大等特點(diǎn)。傳統(tǒng)的目標(biāo)檢測算法普遍基于手動提取特征及分類器,對于此類環(huán)境復(fù)雜、尺度多變的對象難以滿足精度要求。隨著基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[2]等的深度學(xué)習(xí)算法在檢測速率和識別準(zhǔn)確度上的提升,圖像處理越來越高效。將深度學(xué)習(xí)應(yīng)用于無人機(jī)航拍圖像的目標(biāo)檢測,提取深度變化特征,可以有效提高檢測速率以及檢測精度。
目前,深度學(xué)習(xí)的主流算法有基于候選區(qū)域的雙階段(Two-Stage)檢測算法,如R-CNN[3]、SPP-Net[4]、Fast R-CNN[5]、Faster R-CNN[6]、R-FCN[7]以及NAS-FPN[8],和基于回歸計(jì)算的單階段(One-Stage)檢測方法[9],如SSD(Single Shot MultiBox Detector)系列和YOLO(You Only Look Once)[10]系列。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,雙階段檢測算法在檢測效果上有了很大提升,但是還不能滿足無人機(jī)執(zhí)行目標(biāo)檢測任務(wù)對于實(shí)時性的要求。2020年提出的單階段檢測方法YOLO V5,檢測速率高,可以應(yīng)用于航拍圖像的目標(biāo)檢測。該方法與其他算法相比,模型框架小,部署靈活,檢測速率快,適用于無人機(jī)智能感知領(lǐng)域[11]。
將YOLO V5目標(biāo)檢測算法應(yīng)用于無人機(jī)航拍圖像時有2個難題。一是由于無人機(jī)飛行高度較高,拍攝鏡頭焦距較短,拍攝目標(biāo)在圖像中占比小,背景環(huán)境復(fù)雜,識別難度大;二是無人機(jī)飛行作業(yè)時間短,為了提升單次作業(yè)的效率,需要簡化網(wǎng)絡(luò)以提高推理速度。這要求在改進(jìn)的算法中,在保持算法精度的同時,需要改進(jìn)YOLO V5的主干網(wǎng)絡(luò)構(gòu)架,對算法網(wǎng)絡(luò)模型進(jìn)行輕量化處理以提升推理速度[12]。
首先,利用無人機(jī)航拍圖像制作數(shù)據(jù)集:在對無人機(jī)航拍圖像分類、標(biāo)注后,會得到帶有類別標(biāo)簽的圖像數(shù)據(jù)集[13]用于訓(xùn)練與測試。本方案中數(shù)據(jù)集80%的圖像作為訓(xùn)練集,20%的圖像作為測試集。
在YOLO V5網(wǎng)絡(luò)的主干網(wǎng)絡(luò)部分[13],將Focus模塊用卷積層替換掉,依次分別串聯(lián)卷積層模塊(Conv+BN+LeakyRelu,CBL)、跨階段局部網(wǎng)絡(luò)(Cross Stage Partial Network,CSP)和空間金字塔池化模塊(Spatial Pyramid Pooling Layer,SPP)[14]。對于得到的數(shù)據(jù)集,通過預(yù)處理操作得到特征圖。將預(yù)處理后的特征圖輸入到改進(jìn)的YOLO V5網(wǎng)絡(luò),就可以得到不同尺度的特征圖。將不同尺度的特征圖輸入到改進(jìn)后的YOLO V5網(wǎng)絡(luò)中的Neck部分,經(jīng)過上采樣與特征融合的處理后,獲得了不同尺度的張量數(shù)據(jù)。
對于YOLO V5網(wǎng)絡(luò)的預(yù)測層,優(yōu)化后剔除大檢測頭及自適應(yīng)錨框,輸入得到的不同尺度張量數(shù)據(jù),計(jì)算得出無人機(jī)航拍目標(biāo)的檢測框。最終對得到的檢測框,從泛化交并比(Generalized Intersec-tion over Union,GIOU)、平均精度(Mean Average Precision,MAP)及推理速度3個方面進(jìn)行評價(jià),判斷該技術(shù)的可用性。所提算法框架原理圖如圖1所示。

圖1 所提算法框架原理圖Fig.1 Schematic diagram of proposed algorithm
獲取到1400張無人機(jī)航拍圖像,對其進(jìn)行標(biāo)注與分類后,將帶有類別標(biāo)簽的數(shù)據(jù)集[15]分為1120張的訓(xùn)練集和280張的測試集,圖像大小統(tǒng)一為1024×1024像素。
對于主干網(wǎng)絡(luò)的改進(jìn)為將切片層(Slice)替換為卷積層(Conv),以簡化數(shù)據(jù)傳輸過程(見圖2)。具體的特征提取過程為,對數(shù)據(jù)集中的圖像進(jìn)行預(yù)處理,調(diào)整為608×608×3;改進(jìn)后的Focus模塊中包括1個卷積層(Conv)和1個卷積層模塊,將預(yù)處理后的圖像輸入Focus模塊,得到大小為304×304×3的特征圖;然后將得到的特征圖依次輸入到2個卷積層模塊、2個跨階段局部網(wǎng)絡(luò)模塊和1個空間金字塔池化模塊,最終得到大小為19×19×256的特征圖。

圖2 改進(jìn)YOLO V5 主干網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Backbone network structure diagram of improved YOLO V5
主干網(wǎng)絡(luò)中的卷積層模塊由卷積、歸一化、激活函數(shù)環(huán)節(jié)構(gòu)成。其中使用的激活函數(shù)為Leaky激活函數(shù),批量歸一化公式與Leaky激活函數(shù)如下所示
(1)

(2)

將處理后的特征圖輸入到跨階段局部網(wǎng)絡(luò)模塊優(yōu)化處理,再將處理后的特征圖輸入至空間金字塔池化模塊,通過空間金字塔池化操作,對特征圖進(jìn)行處理,以獲得多尺度的圖像特征圖輸入Neck部分。
改進(jìn)后的YOLO V5網(wǎng)絡(luò)中的Neck部分由卷積層模塊、跨階段局部網(wǎng)絡(luò)、系列特征融合模塊(Concat)和上采樣模塊構(gòu)成。其中使用了能夠增強(qiáng)學(xué)習(xí)能力的深度網(wǎng)絡(luò)設(shè)計(jì)的跨階段局部網(wǎng)絡(luò)(CSPNet)[16]結(jié)構(gòu),加強(qiáng)了網(wǎng)絡(luò)的特征融合能力。將得到的多尺度圖像特征圖輸入Neck部分,通過跨階段局部網(wǎng)絡(luò)和卷積層模塊進(jìn)一步提取特征,然后經(jīng)過空間金字塔池化等操作,分3個尺度對特征圖進(jìn)行處理,最終獲得3個不同尺度的張量數(shù)據(jù),傳遞到預(yù)測層進(jìn)行檢測。
YOLO V5網(wǎng)絡(luò)中的預(yù)測層部分(見圖3)由卷積層和3個大小分別為76×76×255、38×38×255、19×19×255的檢測頭組成。在改進(jìn)過程中,針對無人機(jī)航拍圖像中目標(biāo)分布雜散、占像素小等問題,優(yōu)化剔除了針對大目標(biāo)的76×76×255檢測頭。在網(wǎng)絡(luò)訓(xùn)練中,網(wǎng)絡(luò)在初始錨框的基礎(chǔ)上輸出預(yù)測框,進(jìn)而和真實(shí)框(Groundtruth)進(jìn)行比對,計(jì)算兩者差距,再反向更新,迭代網(wǎng)絡(luò)參數(shù)。最后,基于損失函數(shù)和反向傳播對梯度輸出無人機(jī)航拍目標(biāo)的檢測框。對于該自適應(yīng)調(diào)整錨框(anchhor box),將原始的錨框調(diào)整為[10,14,23,27,37,58]與[81,82,135,169,344,319]。

圖3 改進(jìn)YOLO V5的預(yù)測層結(jié)構(gòu)圖Fig.3 Structure diagram of prediction layer of improved YOLO V5
對于輸出結(jié)果,通過泛化交并比損失值(L(GIoU))、平均精度和推理速度3個參數(shù)進(jìn)行評價(jià),解釋如下:
泛化交并比損失函數(shù)為回歸目標(biāo)框損失函數(shù)。泛化交并比作為評價(jià)指標(biāo)時具有非負(fù)性、對稱性以及尺度不變性。泛化交并比損失的值越小,目標(biāo)框輸出精度越高。其計(jì)算公式為
(3)
(4)
L(GIoU)=1-GIoU
(5)
式中,IoU表示交并比的值,在無人機(jī)航拍圖像識別中,對于2個無人機(jī)航拍目標(biāo)的檢測框A、B,找到一個能夠同時包含的最小方框C,然后計(jì)算C/(A∪B)的面積與C的面積的比值,再用A、B的IoU值減去這個比值,最終得到的就是泛化交并比的值GIoU[17],損失函數(shù)取1減去GIoU的值。
平均精度是衡量多標(biāo)簽圖像檢測精度的一個指標(biāo)。在多標(biāo)簽圖像檢測中,同一圖像的標(biāo)簽往往不止一個,采用的計(jì)算精度方法和信息檢索中類似,稱為平均精度。目標(biāo)檢測的精度越高,平均精度值也就越大。平均精度是通過繪制PR曲線計(jì)算得到,即以準(zhǔn)確率(precision)和召回率(recall)作為縱、橫軸坐標(biāo)的二維曲線。
推理速度定義為目標(biāo)檢測過程中1s可檢測的圖像數(shù)目。目標(biāo)檢測網(wǎng)絡(luò)的實(shí)時性越好,推理速度越快。
具體實(shí)驗(yàn)環(huán)境配置如表1所示。

表1 實(shí)驗(yàn)環(huán)境
使用DOTA數(shù)據(jù)集進(jìn)行仿真。DOTA數(shù)據(jù)集一共包含了2806張無人機(jī)航拍圖像,對象類別包括:飛機(jī)、港口、船舶、儲罐、地面場地、直升機(jī)、棒球場、網(wǎng)球場、橋梁、小型車輛、大型車輛、環(huán)形交叉路口、籃球場、足球場、籃球場和集裝箱起重機(jī)。本次實(shí)驗(yàn)選擇了其中1400張圖片,對圖像進(jìn)行分類、標(biāo)注后,用其中1120張作為訓(xùn)練集,280張作為測試集。訓(xùn)練參數(shù)設(shè)置:訓(xùn)練輪數(shù)為300輪,每次投放16張圖片,初始學(xué)習(xí)率為0.001。圖4所示為數(shù)據(jù)集中被檢測目標(biāo)尺寸的散點(diǎn)熱力圖,其橫軸、縱軸分別為寬度比例值和高度比例值,目標(biāo)尺寸越集中,散點(diǎn)顏色越深。從圖4可以看出,無人機(jī)航拍數(shù)據(jù)集中被檢測目標(biāo)大多為小目標(biāo)。

圖4 被檢測目標(biāo)的尺寸散點(diǎn)熱力圖Fig.4 Size scatter thermal diagram of the detected target
基于改進(jìn)YOLO V5的無人機(jī)航拍圖像目標(biāo)檢測結(jié)果由泛化交并比、平均精度、推理速度3個參數(shù)進(jìn)行評價(jià)。泛化交并比值越小,說明目標(biāo)框輸出精度越高。平均精度值越大,說明目標(biāo)檢測精度越高。推理速度越快,說明目標(biāo)檢測網(wǎng)絡(luò)的實(shí)時性越好。圖5所示為改進(jìn)的YOLO V5的泛化交并比參數(shù)曲線,其橫軸為訓(xùn)練輪數(shù),縱軸為泛化交并比值。在迭代約300次后,改進(jìn)的YOLO V5網(wǎng)絡(luò)比未改進(jìn)的YOLO V5的泛化交并比值小,說明改進(jìn)后的YOLO V5網(wǎng)絡(luò)目標(biāo)框輸出精度更高,如圖6所示。圖8所示為改進(jìn)YOLO V5網(wǎng)絡(luò)的平均精度參數(shù)曲線,其橫軸為訓(xùn)練輪數(shù),縱軸為平均精度。在迭代約300次后,改進(jìn)的YOLO V5網(wǎng)絡(luò)的平均精度值為77,而未改進(jìn)的YOLO V5網(wǎng)絡(luò)的平均精度值為74.6,如圖7所示。改進(jìn)后的YOLO V5網(wǎng)絡(luò)目標(biāo)檢測精度有小幅度提升。在推理速度方面,改進(jìn)的YOLO V5網(wǎng)絡(luò)1s可以檢測143張圖片,未改進(jìn)的YOLO V5網(wǎng)絡(luò)1s僅可以檢測100張圖片,改進(jìn)的YOLO V5算法的檢測速度提高了31%,具有更好的實(shí)時性。

圖5 改進(jìn)前YOLO V5的L(GIoU)參數(shù)曲線Fig.5 L(GIoU)parameter curve of YOLO V5 before improvement

圖6 改進(jìn)后YOLO V5的L(GIoU)參數(shù)曲線Fig.6 L(GIoU)parameter curve of YOLO V5 after improvement

圖7 改進(jìn)前YOLO V5的MAP參數(shù)曲線Fig.7 MAP parameter curve of YOLO V5 before improvement

圖8 改進(jìn)后YOLO V5的MAP參數(shù)曲線Fig.8 MAP parameter curve of YOLO V5 after improvement
由以上參數(shù)可以看出,改進(jìn)后的YOLO V5網(wǎng)絡(luò)提升了識別的準(zhǔn)確性和特征提取的性能。本方法簡化YOLO V5網(wǎng)絡(luò)模型的移植過程,進(jìn)一步提高了YOLO V5網(wǎng)絡(luò)模型的推理速度,可以實(shí)現(xiàn)無人機(jī)航拍圖像的快速、準(zhǔn)確檢測目標(biāo)。
本文針對無人機(jī)航拍圖像識別中存在的問題以及航拍圖像的特點(diǎn),提出了一種改進(jìn)YOLO V5網(wǎng)絡(luò)提高識別速率與準(zhǔn)確度的方法。仿真實(shí)驗(yàn)?zāi)M結(jié)果顯示,無人機(jī)對小目標(biāo)的檢測能力得到提升,能夠滿足無人機(jī)在識別作業(yè)時對于準(zhǔn)確性與實(shí)時性的要求。在訓(xùn)練30輪后,MAP收斂于一個較理想的結(jié)果。但無人機(jī)航拍環(huán)境復(fù)雜,如何提升算法的環(huán)境魯棒性及無人機(jī)的智能感知能力還需進(jìn)一步研究。