張 上,張 岳,王恒濤*,王 杰
(1.三峽大學 湖北省建筑質量檢測裝備工程技術研究中心,湖北 宜昌 443002;2.三峽大學 計算機與信息學院,湖北 宜昌 443002)
伴隨相關科技的發展,無人機遙感在各個領域的應用越來越廣泛。例如,無人機遙感可應用于濕地水動力研究[1]、建筑物震害識別[2]和黃土滑坡識別[3]等實際場景;在地震應急救援、核泄漏和應急測繪等場景中也有著突出表現[4]。無人機遙感圖像在遙感圖像的分辨率和精度上,相比傳統衛星遙感等手段具有顯著提高,但仍未解決遙感圖像需要人工輔助處理而導致的工作強度大、效率低等問題。
隨著人工智能技術,特別是深度學習技術的逐步發展,基于深度學習的目標檢測算法在多個領域與遙感圖像進行了有效結合,用于解決工業、農業與生態等領域的多種實際問題[5]。時啟龍等[6]基于U-Net神經網絡與SegNet神經網絡,對無人機遙感松材線蟲病疫木進行了自動識別提取。Youme等[7]基于SSD目標檢測算法,對西非塞內加爾的圣路易斯地區無人機遙感圖像中的隱蔽垃圾堆進行了目標檢測。王恒濤等[8]針對無人機航拍的特點,提出了一種輕量化無人機航拍目標檢測算法。
當前基于深度學習的目標檢測算法,可根據有錨框與無錨框來進行區分。而其中有錨框的算法又可分為雙階段法與單階段法。前者的檢測精度與效果更好,但由于將備選框的生成與判斷分開,所以存在計算量大而導致檢測速度慢的問題。如R-FCN[9]、Mask R-CNN[10]、SPP-Net[11]等。后者相對于雙階段法而言檢測速度更快、效率更高且移植至邊緣設備上更加簡便,所以應用更加廣泛。如OverFeat[12]、SSD[13]、YOLOv3[14]、YOLOv4[15]與YOLOv5等。
針對無人機遙感圖像背景復雜、檢測目標小且密度大的特點,本文提出一種基于YOLOv5的輕量化無人機遙感小目標檢測算法——LUSS-YOLO,主要貢獻歸納如下:
① 針對無人機遙感影像成像高度高、檢測目標密集且尺寸小的特征,重設計網絡結構。通過調整特征提取網絡結構和特征融合網絡結構來增加小感受野,增加淺層網絡特征權重。重構特征融合網絡,強調多尺度特征融合,實現小目標感受野權重加權處理。
② 引入EIoU損失函數,使回歸過程中高質量樣本的重要程度提高,從而加速收斂,并提高回歸精度。
③ 引入VairFocal Loss使IACS回歸,均衡正負樣本的同時按權重增加樣本的影響因子,并且在加速模型訓練收斂速度的同時提高精度。
④ 為驗證算法的有效性,在Visdrone2019數據集上對LUSS-YOLO算法進行驗證,平均準確率(mean Average Precision,mAP)達到了41.3%,相較YOLOv5有6.4%的提升。
主流YOLO算法改進以添加注意力機制、改變卷積層、疊加與修改網絡模塊為主,而忽略了基于檢測目標本身特點來建立合適的網絡結構。針對無人機遙感圖像的小目標特性,本文設計LUSS-YOLO算法,其系統架構如圖1所示。

圖1 LUSS-YOLO系統架構Fig.1 LUSS-YOLO system architecture
LUSS-YOLO的核心思想是針對無人機遙感圖像的小目標特性,對網絡結構進行重構并對網絡模型進行輕量化處理,分別對網絡模型的長度與寬度,降低冗余模塊與參數,使網絡結構更適用于無人機遙感圖像小目標檢測。LUSS-YOLO由重設計網絡結構、EIoU損失函數與VariFocal Loss組成。首先,對小目標感受野權重進行調整,修剪特征提取網絡;對特征融合網絡架構進行調整并剔除冗余模塊。然后,使用EIoU損失函數替換原CIoU損失函數,強調回歸過程中的高質量樣本,以加速收斂并提高回歸精度。最后,使用VariFocal Loss,保證均衡正負例的同時更加突出正例貢獻,使IACS回歸,在加速模型訓練收斂速度的同時提高模型精度。如圖1所示,通過輕量化處理特征提取網絡與特征融合網絡,提高模型檢測無人機遙感圖像小目標的能力。
LUSS-YOLO網絡結構削減了冗余模塊與參數,在計算量、模型體積和檢測速度上均有巨大改善。
原YOLOv5算法使用的特征圖分別為20 pixel×20 pixel、40 pixel×40 pixel與80 pixel×80 pixel,為實現無人機遙感小目標檢測的準確性,LUSS-YOLO對其進行擴充和修改,實現了160 pixel×160 pixel與320 pixel×320 pixel特征圖的提取,并刪除20 pixel×20 pixel大感受野的尺度,使其更適用于檢測無人機遙感圖像小目標。
在無人機遙感圖像中,檢測目標占圖像中的部分較小,背景面積較大。在卷積過程中,圖像迭代會導致檢測目標信息出現丟失,針對該情況,LUSS-YOLO通過降低卷積迭代次數與突出底層特征圖來增強檢測效果。重構后的CSPDarkNet如表1所示,改進后的特征提取網絡經歷4次下采樣、3次卷積操作,從而保證降低計算量與參數量的同時,有效減少小目標特征信息丟失。

表1 重構CSPDarkNet結構Tab.1 Reconstructed CSPDarkNet structure
LUSS-YOLO特征圖大小為40 pixel×40 pixel與80 pixel×80 pixel,因此原特征融合網絡不再適用于新的特征提取網絡,需要改進。
改進后的特征融合網絡如圖2所示。對感受野融合位置進行了調整,首先進行淺層語義與深層語義的特征融合,依次進行320 pixel×320 pixel、160 pixel×160 pixel、80 pixel×80 pixel與40 pixel×40 pixel特征圖融合;再進行深層語義與淺層語義的特征融合,即40 pixel×40 pixel、80 pixel×80 pixel與160 pixel×160 pixel特征圖融合。由此,可在原網絡基礎上提升淺層語義特征權重,旨在減少卷積帶來的目標特征信息丟失。

圖2 特征融合網絡結構Fig.2 Structure of feature fusion network
LUSS-YOLO算法結構如圖3所示。LUSS-YOLO分別對特征提取網絡與特征融合網絡進行重設計。首先對特征提取網絡CSPDarkNet進行重設計,去除20 pixel×20 pixel特征圖提取模塊,提高網絡內的小感受野權重,降低了模型的計算量與體積;然后對改進后的CSPDarkNet進行特征融合,分別實現從320 pixel×320 pixel淺層語義,沿160 pixel×160 pixel、80 pixel×80 pixel到40 pixel×40 pixel深層語義的特征信息融合;再從40 pixel×40 pixel深層語義,沿80 pixel×80 pixel、160 pixel×160 pixel到320 pixel×320 pixel淺層語義的特征信息融合。

圖3 LUSS-YOLO網絡結構Fig.3 LUSS-YOLO network structure
YOLOv5使用的CIoU損失函數會同時考慮回歸框的寬高比例,以及真實框與預測框的中心距離,但其僅將寬高比作為影響因子會導致部分情況下計算結果與損失的目標不相符。CIoU計算如下:
(1)
式中:IoU為預測框與真實框的交并比,取值[0,1],b與bgt分別為預測框和真實框的中心點,ρ(·)為求預測框和真實框中心點之間的歐氏距離,c為預測框和真實框最小外接矩形的對角線距離,α為平衡參數,不參與梯度計算,v用來衡量預測框和真實框的寬和高之間的比例一致性。
針對此情況,采用EIoU[16]損失函數進行改進,直接對寬w和高h的預測結果進行懲罰,包括寬高損失、重疊損失和中心距離損失3種情況。其中新加入的寬高損失主要解決CIoU寬高不能同時增大或縮小的情況,直接使真實框與預測框之間的寬高差達到最小。因此,EIoU損失函數收斂更快、回歸精度更高。EIoU計算如下:
(2)
式中:cw、ch分別為覆蓋2個box的最小外接框寬度與高度,b與bgt分別為預測框和真實框的中心點,ρ為求預測框和真實框中心點之間的歐氏距離,w、h與wgt、hgt分別為預測框與真實框的寬、高。
在無人機遙感圖像中,小目標所占區域較少。對無人機遙感圖像進行小目標檢測時,會出現目標類與背景類極端不均衡問題。使用Focal Loss能夠有效解決目標類與背景類之間不均衡的問題。Focal Loss計算如下:
(3)
式中:p為[-1,1]的目標類預測概率,y為取值1或-1的真實正負樣本類別,α為可調比例因子,(1-ρ)β為目標類調制因子,pβ為背景類調制因子,此2類調制因子旨在減少簡單樣本貢獻,增加誤檢樣本的重要性,從而有效增加對困難樣本的關注度,使Focal Loss能夠通過加權方式解決IACS回歸訓練時會出現的類別不均衡問題。
對于Focal Loss[17]采用平等方式處理正負樣本的方式,VariFocal Loss進行了改進,提高了正例的貢獻權重。VariFocal Loss基于binary cross entropy loss,借鑒了Focal Loss的加權方式并加以改進,以處理IACS訓練回歸過程中類別不匹配的問題。VariFocal Loss計算如下:
(4)
式中:p為代表目標分數的IACS預測值,q為分類條件。其條件為:若為目標類,則將正樣本類的q值設置為預測框和真實框之間的IoU值,否則設置為0;若為背景類,則將目標q值均為0。如式(8)所示,VariFocal Loss通過pβ縮放因子對負樣本進行了處理,但不會影響正樣本,旨在突出正樣本的貢獻。
本文對網絡結構進行了重設計,同時對錨框大小進行了重構。在使用k-means聚類與遺傳算法對預測框大小進行分析與聚類后,得到了最適合的錨框大小,旨在提高回歸速度與訓練精度。
最終錨框分配如表2所示,通過刪除20 pixel×20 pixel特征圖的方式實現感受野調整,旨在使其更適用于無人機遙感圖像檢測場景。

表2 錨框分配Tab.2 Anchor box allocation
本文實驗配置為:操作系統Windows 11,CUDA12.0;GPU為NVIDIA GTX1660ti Max-Q,6 GB顯存,調用GPU進行訓練;框架基于Pytorch;YOLOv5工程版本為v6.0,基準模型為YOLOv5s。
本文采用VisDrone2019進行算法驗證。VisDrone數據集由AISKYEYE團隊發布,數據集來自14座不同城市的不同環境,包括城市與鄉村的多種天氣和光照條件,檢測目標多樣,稀疏環境與密集環境都具備,是目前中國無人機遙感圖像中數據量最大、類型最全面、環境最復雜、覆蓋范圍最廣的數據集之一。
VisDrone2019數據集共包括10類航拍檢測目標,由7 019張訓練集、548張預測集與1 610張測試集組成。10個類別分別為pedestrian、people、bicycle、car、van、truck、tricycle、awning-tricycle、bus與motor。
計算機視覺對于算法有數個用以評價的指標,包括mAP、召回率(Recall,R)和準確率(Precision,P)。其中,召回率為正確檢測的正例比例;準確率是預測與實際都為正的樣本所占比例。召回率、準確率與平均準確率的計算如下:
(5)
(6)

(7)
(8)
式中:TP(True Positive)為檢測結果為真的正例,FN(False Negative)為檢測結果為非真的正例,FP(False Positive)為檢測結果為真的負例,AP為單個類別準確率,mAP為所有類別的準確率均值,c為類別數。
對于LUSS-YOLO各改動點在無人機遙感圖像上對小目標檢測的有效性,在VisDrone2019數據集上進行了消融實驗。消融實驗結果如表3所示。

表3 消融實驗Tab.3 Ablation experiment
其中BASE算法為YOLOv5s模型。由消融實驗結果可知,網絡結構重構后,準確率、回歸率和平均檢測精度均有明顯提高;其中平均檢測精度提高最大,提高至40.6%;計算量有略微增長,增長幅度為1.0 GFLOPs;模型容量與參數量同樣大幅下降,相較未重構模型下降59.1%與74.6%;可證明對網絡結構的輕量化改進具有顯著效果。在引入EIoU損失函數后,準確率與回歸率均明顯提高,分別提高0.4%與2.2%;引入VariFocal Loss后,準確率與回歸率均明顯提高,分別提高0.3%與2.0%;同時引入EIoU損失函數與VariFocal Loss后,準確率與回歸率均大幅提高,分別提高0.6%與3.0%;證明在無人機遙感圖像的小目標檢測場景中,同時強調高質量樣本權重與強調正面樣本權重具有互不沖突的正面改進效果。
綜上,在重構網絡、EIoU和VariFocal的作用下,模型平均精度、回歸率和準確率均達到最高,每個模塊均對無人機遙感小目標檢測起到積極作用;重構網絡的輕量化改進效果顯著,模型容量與參數量均有大幅下降。
為了驗證LUSS-YOLO算法的先進性,本文將其與主流經典算法與部分先進算法進行對比實驗。與經典算法的對比結果如表4所示,LUSS-YOLO對比其他主流經典算法,在平均檢測精度上表現最好,可達到41.3%,相較于Faster R-CNN、SDD、YOLOv3與YOLOv5分別提升了10.4%、7.8%、8.0%與6.4%;模型容量僅為5.6 MB,相比Faster R-CNN、SDD、YOLOv3與YOLOv5分別下降94.8%、94.3%、97.6%與59.1%;計算量相較Faster R-CNN、SDD與YOLOv3分別下降95.8%、93.8%與89.0%,僅略高于YOLOv5;參數量與Faster R-CNN、SDD、YOLOv3、YOLOv5相比下降98.7%、92.4%、97.1%、74.6%。

表4 經典算法對比Tab.4 Comparison of classical algorithms
與部分先進算法的對比結果如表5所示,LUSS-YOLO對比其他先進算法,在容量與平均檢測精度上都具有明顯優勢。平均檢測精度僅對比0.75通道剪枝的YOLOv4-MSENet下降0.4%,模型容量則下降65.6%。對比輸入大小為604的HRCP在0.5通道剪枝與0.9通道剪枝情況下,平均檢測精度分別上升10.9%與15.3%,容量分別下降95.8%與80.7%。對比mSODANet與STDnet-ST++,平均檢測精度分別上升7.8%與18.9%。

表5 部分先進算法對比Tab.5 Comparison of selected advanced algorithms
由上述數據可知,LUSS-YOLO在模型體積上改進幅度顯著,在平均檢測精度上提升明顯,且在計算量與參數量上大大減少,可滿足多種無人機遙感圖像在檢測小目標時的輕量化需求。
本文選取了部分難度較大的數據集內圖片進行檢測,并與基準模型YOLOv5s算法進行對比,對比結果如圖4所示。

(a)基準模型密集場所檢測效果

(b)改進模型密集場所檢測效果

(c)基準模型多人群場所檢測效果

(d)改進模型多人群場所檢測效果

(e)基準模型夜間場所檢測效果

(f)改進模型夜間場所檢測效果

(g)基準模型較大目標檢測效果

(h)改進模型較大目標檢測效果圖4 效果對比Fig.4 Effect comparison
左側為YOLOv5s算法檢測效果,右側為LUSS-YOLO檢測效果。由對比可知,本文提出的算法相較原始算法,在檢測目標密集,且檢測目標特征與背景相近時可以做到檢測更加準確,對于模糊的遙感圖像也可以檢測出更多的小目標與遠距目標。由于算法在判斷目標時會更加謹慎,所以以提升部分漏檢率為代價,降低了部分誤檢率。在夜間低光照環境下,LUSS-YOLO的檢測準確率進一步提升,誤檢率與漏檢率均有明顯降低。對于較大目標檢測,LUSS-YOLO也并未出現檢測混淆的情況。通過調整小感受野、重設計特征融合網絡以及對特征提取網絡進行符合圖像特點的輕量化處理,LUSS-YOLO可以有效從擁有大量多尺度特征信息的區域內分離出小目標特征區域,因此在不同環境下都能表現出較強的特征提取能力,并具有顯著的抗干擾能力。
綜上所述,LUSS-YOLO相比YOLOv5s,在其他目標檢測效果對比平穩的前提下,對于無人機遙感圖像中的小目標檢測優勢明顯,尤其在背景復雜或目標密集情況下,具有更強的特征提取能力與檢測能力。同時,在漏檢率和錯檢率上有顯著降低。
針對無人機遙感圖像成像距離遠、目標成像小等特點,提出了輕量化無人機遙感圖像小目標檢測算法——LUSS-YOLO。LUSS-YOLO分別從多尺度特征融合和感受野兩方面對特征提取網絡和特征融合網絡進行重設計,輕量化處理網絡結構、突出底層特征圖權重、深化多尺度融合并增加小感受野,從而實現底層語義與深層語義融合,實現模型輕量化并提高精度,滿足無人機遙感圖像檢測算法模型輕量化需求。同時,使用EIoU強調高質量樣本權重,并引入VariFocal Loss,在損失計算中強調底層正例樣本信息特征的重要性,從而實現加快模型收斂速度并提高精度。在VisDrone2019數據集上的實驗結果表明,LUSS-YOLO算法在檢測精度上有顯著提高,大幅減少了參數量,模型容量為基準模型的一半。對比其他經典目標檢測算法,LUSS-YOLO在模型容量、模型計算量、算法復雜度以及參數量上均大幅降低,且算法檢測精度有所提高。對比其他先進目標檢測算法,LUSS-YOLO在容量和模型精度上優勢明顯。本文提出的LUSS-YOLO算法在模型精度、模型容量與參數量上具有先進性。