?

面向無人機航拍圖像小目標檢測方法

2024-01-23 08:26吳海斌
關鍵詞:航拍精度特征

吳海斌 ,張 亞 ,胡 鵬

(安徽理工大學 人工智能學院, 安徽 淮南 232001)

隨著深度學習技術的快速發展,基于深度學習的無人機航拍圖像檢測在城市交通、環境監測和災害檢測等領域的應用越來越廣泛[1]。由于無人機飛行高度和拍攝角度的獨特性,導致捕獲圖像中存在大量小目標,準確識別無人機圖像中的小目標是提升無人機航拍目標檢測的關鍵。

目前,基于深度學習的目標檢測算法一般被分為兩類。第一類是以區域卷積神經網絡[2](regionconvolutional neural network,R-CNN)、快速的區域卷積神經網絡[3](faster-region-convolutional neural network,Faster-R-CNN) 為代表的二階段算法,包含候選框的提出和分類器的構建。此類方法在目標檢測過程中精度較高,但檢測速度較慢,難以滿足現代化生產對高速實時檢測的需求;易丟失圖像中小目標的位置信息,導致小目標特征的學習效率較低。另一類是由Joseph 等[4]提出的以YOLO 為代表的一階段目標檢測算法,將目標檢測轉化為回歸問題,通過網格劃分特征圖,得到目標的邊界框位置及所屬類別。此類方法檢測速度較高,能夠實現端到端的檢測,但在準確性上表現不佳。隨著YOLO_v2[5],YOLO_v3[6]和YOLO_v4[7]相繼提出,在保持較高檢測速度的同時檢測精度也在逐步提高。YOLO_v5[8]是YOLO 系列的一個延伸,通過加入Focus 結構和自適應圖片縮放,可減少算法的參數量和計算量;相對于YOLO_v4 等系列的YOLO 算法,YOLO_v5 的檢測速度和精度有顯著提高,但在檢測小物體上由于缺乏對小目標特征的有效提取,檢測精度有待提升。

針對無人機航拍圖像中小目標多的問題,Zhu 等[9]提出基于transformer 的可變形檢測轉換器(deformable detection transformer, DDETR),利用可變形注意力模塊來提高小目標的檢測精度,但由于采用殘差網絡提取特征,導致低層次特征信息丟失,小目標檢測精度依然不夠理想。田港等[10]將三尺度檢測模型改進為雙尺度檢測模型,并通過通道裁剪減小模型內存占用和計算量,但導致小目標檢測的精度降低。張智等[11]通過密集高級組合模式連接雙swin-transformer 骨干網絡,并結合特征金字塔構建小目標特征聚合網絡,在不損失語義信息的同時得到對小目標更好的特征描述,但由于改進算法在不經過訓練就直接在CARPK 數據集上進行測試,導致小目標的檢測精度仍較低、泛化性能較差。郝立等[12]提出復雜環境下無人機作戰的小目標檢測方法,可改善復雜光照下小目標的識別,但沒有考慮實際應用場景,導致模型的泛化能力較低。陳映雪等[13]提出根據相鄰幀信息預測當前幀丟失目標的位置范圍,并利用檢測結果進行修正,實現丟失目標的再召回,但該網絡訓練針對性強,屬于專用型目標檢測模型。上述小目標檢測方法分別考慮了檢測的速度、精度,但提高速度會導致精度下降,同時小目標種類的單一、環境的固定導致小目標檢測方法分類和定位的局限性。YOLO_v5x 是YOLO_v5 中網絡結構最深、精度最高的版本,針對無人機航拍圖目標檢測存在的問題,提出一種基于YOLO_v5 小目標檢測方法,通過對YOLO_v5x 的結構進行改進,以增強圖像中目標定位的準確性,提高圖像分辨率低且目標較小的檢測精度。

1 YOLO_V5x 算法改進

YOLO_v5 網絡結構是在YOLO_v4 的基礎上進行改進的,具有極強的網絡部署能力[7]。YOLO_v5x是深度、寬度最大的網絡,結構包含輸入端、主干網絡、頸部網絡和輸出端4 個部分,如圖1。

圖1 YOLO_v5x 網絡結構Fig.1 YOLO_v5x network structure

圖2 當a=2 時SPD 的圖解Fig.2 Diagram of SPD at a=2

輸入端主要對圖像進行灰度處理等預操作,生成滿足輸入主干網絡的特征圖像。在網絡訓練時,為進一步提高檢測的精度和速度,使用Mosic 數據增強方法豐富被檢測對象的背景,采用自適應錨選框對圖像進行縮放。主干網絡也稱特征提取網絡,將預處圖像輸入Focus 模塊,為每隔一個點獲得相應的特征值,并連接4 個獨立的特征層以獲得最終結果,將圖像的寬度和高度信息集中到通道中,解決下采樣帶來的信息丟失問題[14]。同時使用效果與跨級網絡(cross stage partial,CSP)結構基本相似的C3模塊替換BottleneckCSP[15]模塊,減少算法的參數量,提高處理速度。Conv 模塊是對輸入的特征圖進行卷積操作,目的是調整特征圖的通道數??焖倏臻g金字塔池化(fast spatial pyramid pooling,SPPF)模塊有效避免了對特征圖裁剪、縮放導致的圖像失真,可提高檢測精度。頸部網絡進一步提取圖像的特征,采用特征金字塔[16](feature pyramid network,FPN)和路徑聚合結構[17](path aggregation network,PANet),前者通過自上向下傳達語義特征,后者則自下向上傳遞定位信息,通過融合上下層的特征信息,加快信息的傳播,提高目標檢測的性能。輸出端是對特征圖不同尺度的目標進行最后的預測,包括1 個分類分支和1 個回歸分支,判斷特征圖中是否存在對應的對象。

1.1 空間到深度模塊

在計算機視覺的目標檢測任務中,卷積神經網絡表現突出,但輸出結果的精度與圖像分辨率成正相關。在多數研究場景中,輸入特征圖分辨率較高,圖像中存在大量的冗余信息充足,跨步卷積和池化造成的特征丟失可忽略。當圖像中目標較小、分辨率較低時,卷積神經網絡結構受到細粒度特征信息丟失和特征模糊的影響,性能明顯降低。文中在此基礎上引入空間到深度(space-to-depth,SPD) 模塊,SPD 是一個空間到深度的層結構[18]?;趫D像轉換技術,在原始圖像輸入神經網絡前對圖像進行縮放,且將其應用在網絡內部和下采樣特征映射中,在不丟失信道維度中信息的同時對特征圖進行下采樣[19]。由于無人機航拍的特殊性,獲得的圖像大部分分辨率低及目標較小。

1.2 協調注意力機制

注意力機制是通過給輸入的特征圖賦予不同的權重,選擇有用的信息,從而得到更好的特征。通道注意力機制可提高算法的性能,但由于忽略位置信息,導致空間信息的缺失。文中在此基礎上引入協調注意力機制,將位置信息嵌入通道注意力機制。CA 機制將通道注意力分解為沿2 個空間方向聚類特征的編碼過程,在捕獲遠程依賴關系的同時保持精確的位置信息,最后獲得1 對方向感知和位置敏感的注意圖,將其應用在輸入特征圖,增加目標的特征表達能力[20]。無人機捕獲的航拍圖中,多數目標較小且覆蓋區域較大,使用CA 機制可使算法更關注有用的對象,對提高網絡模型的收斂具有較優的效果。CA 機制包含協調信息嵌入和協調注意力生成,如圖3。

圖3 協調注意力機制Fig.3 Coordinate attention mechanism

1.2.1 協調信息嵌入

在視覺任務中,位置信息對捕獲空間結構十分重要。全局平均池化是將空間信息壓縮到通道中,導致位置信息難以保存。因此,CA 機制將全局平均池化分解為一對一維特征操作。具體是將輸入特征圖X分別沿水平(level,L) 和垂直(perpendicularity,P)方向對每個通道進行全局平均池化(average pool)操作。

式中:h為高度,表示特征圖X第c通道處的高度,大小為0~H;xc表示坐標的灰度值; zhc(h) 表 示高度為h的第c通道的灰度總值;w為寬度,表示特征圖X第c通道處的寬度,大小為0~W; zwc(w) 表示寬度為w的第c通道的灰度總值;W為特征圖X的寬度;H為特征圖X的高度;C為特征圖X的通道數,分別生成尺寸為C×H×1和C×1×W的特征圖。

1.2.2 協調注意力生成

為更好地利用協調信息嵌入變換產生的表征,提出簡單捕獲感興趣區域以及有效捕捉通道間關系的協調注意力生成變換。

1.3 邊界框回歸損失函數

邊界框回歸是通過預測框來定位圖像中的目標,提高檢測器學習特征信息的效率。YO- LO_v5 的邊界框損失采用完整交并比 (complete-intersection over union,CIOU)損失函數,公式如下所示:

其中:LCIOU為CIOU 函數的損失定義;b和bt代表預測框和真實框的中心點,t 表示真實框; ρ為預測框和真實框之間的歐氏距離;d為同時包含預測框和真實框的最小封閉區域的對角線距離; β為權衡的參數; υ為衡量長寬比一致性的參數;wt和ht為真實框的寬度和高度;U為預測框和真實框的交并比。CIOU 損失函數考慮了預測框的重疊面積、中心點距離和長寬比,但描述的是相對值,沒有考慮難易樣本的平衡問題,導致算法在檢測小目標的定位精度較低。

文中在CIOU 損失函數的基礎上引入 α-IOU損失函數[21]。通過調節 α值實現不同水平的回歸精度,α對不同算法或數據集的敏感程度不同。 α-IOU是通過提高IOU 目標的損失和梯度的權重來獲得更好更快的回歸精度,特別是在小目標的定位和檢測性能上更加突出。 α-IOU可廣泛用于改進最先進的檢測算法,且無需引入額外的參數,同樣無需增加訓練及推理時間,其表達式如下:

式(11)為基于 α-IOU 損 失函數的 α-CIOU損失函數。

1.4 改進YOLO_v5x 算法的網絡結構

無人機航拍圖中的目標尺寸較小,目標特征不夠明顯,導致算法的檢測精度降低。文中在此基礎上添加1 個小目標預測頭,結合其他3 個預測頭,在YOLO_v5x 算法中添加SPD 模塊、CA 機制、α-IOU損失函數和小目標預測頭。改進YOLO_v5x 算法的網絡結構如圖4。

圖4 改進YOLO_v5x 算法的網絡結構Fig.4 Network structure of improved YOLO_v5x algorithm

2 實驗與結果分析

為評估改進算法的結構性能,采用Visdrone[22]無人機目標數據集對改進前后的算法進行目標檢測實驗。使用COCO 數據集[23]的評價指標(AP,AP50,AP75,APS,APM,APL)評價目標檢測算法的檢測精度。其中:AP 表示平均精度,指精度-召回曲線的面積;AP50,AP75分別表示計算平均精度時,以0.50,0.75為IOU 的閾值;APS表示小目標即像素面積小于32×32 的目標框檢測的平均精度,是本文改進算法的核心評價指標;APM表示中等目標即像素面積在32×32~96×96 的目標框檢測的平均精度;APL表示大目標即像素面積大于96×96 的目標框檢測的平均精度。

2.1 實驗過程

采用中國移動云操作系統,搭配8core、50 GB RAM CPU、Tesla V100–32 GB GPU,使用CUDA11.6、Python 3.9 框架;設置訓練次數(epoch)200、批量大小(batch-size)4,衰減系數0.000 5、學習率0.01。Visdron無人機目標檢測數據集共10 209 張圖像,其中訓練集6 471 張、驗證集548 張、測試集3 190 張,包括10 個類別,分別是行人、人、自行車、汽車、貨車、卡車、三輪車、帶篷三輪車、公交車和摩托車。實驗算法訓練過程包括5 個步驟,分別是數據集的處理、模型的搭建、參數設置、訓練和驗證,如圖5。

圖5 算法訓練過程Fig.5 Model training process

實驗過程包括:在相同參數、數據集和環境條件下,通過在YOLO_v5x 算法的基礎上分別引入SPD 模塊、CA 機制、 α-IOU損失函數以及添加小目標預測頭等模塊,驗證改進YOLO_v5x 算法的檢測效果;同時,將改進YOLO_v5x 算法與目前主流的目標檢測算法進行對比實驗,驗證其可靠性和泛化性。

2.2 實驗結果分析

2.2.1α不同取值時的小目標檢測精度

為驗證 α-IOU 中 α值對改進算法檢測小目標精度的影響,修改 α-IOU 中 α值為[1/2,10],在Visdron無人機目標檢測數據集上選取部分圖像進行訓練測試,結果如圖6。由圖6 可看出: α=[1/2,3]時,AP和AP50隨 α的增大而逐漸提升; α=(3,10]時,AP和AP50隨 α的增大而逐漸下降。因此,文中后續實驗均取 α=3。

圖6 α不同取值時改進算法對應的平均精度Fig.6 Average accuracy of the improved algorithm with different values of α

2.2.2 添加不同模塊時的小目標檢測精度

為驗證YOLO_v5x 算法在相同參數和環境下引入 α-IOU損失函數、CA 機制及添加SPD 模塊、小目標預測頭(Head)等模塊時的小目標檢測效果,對其進行消融實驗,結果如表1。并將改進前后YOLO_v5x 算法的實驗結果可視化展示,如圖7。

表1 不同模塊組合對應的小目標檢測精度Tab.1 Small target detection accuracy corresponding to different modules

圖7 改進前后算法的檢測結果Fig.7 Detection results of algorithms before and after improvement

表1 中第一行作為消融實驗的基線,為YOLO_v5x 算法;第二行引入CA 機制模塊,通過將目標位置信息編碼到通道注意中,算法更關注有用的特征信息,小目標的檢測平均精度APS提高0.9%,同時檢測速度也提高了6.9 幀/s;第三行引入α-IOU損失函數,通過獲得更準確的邊界框回歸精度,實現算法對目標更精確的定位,小目標檢測平均精度APS提高1.6%,檢測速度也提高了8.9 幀/s;第四行在 α-IOU的基礎上添加SPD 模塊,在減少細粒度信息丟失的同時進行下采樣,提高算法對低分辨率特征的提取能力,小目標檢測平均精度APS提高3.1%,檢測速度也提高了17 幀/s。由于無人機拍攝高度和角度的變化,航拍圖像中小目標較多并且特征不明顯,最后一行為添加CA 機制、α-IOU損失函數、SPD 模塊和1 個預測頭,算法的小目標檢測平均精度APS得到較大提高,比原基線算法提高了11.8%,但是由于參數量的增加,檢測速度降低比較明顯。

圖7 中左側黃色標注的內容為觀察對象,將檢測結果進行局部放大顯示于右下角方框。其中:第二列為小目標密集環境改進前后YOLO_v5x 算法的檢測結果;第三列為在弱光環境改進前后YOLO_v5x算法的檢測結果。由圖7 可看出:在小目標密集的情況下,改進算法依然能夠有效檢測出標識框中的行人和自行車;在弱光環境導致的小目標模糊的情況下,改進算法能夠有效檢測出標識框中的汽車和公交車,改進的YOLO_v5x 算法表現出較強的可靠性和泛化性。

2.2.3 不同算法的小目標檢測效果

為驗證改進后算法的檢測性能,同時選取當前較流行的算法,如RetinaNet[24]、YOLOX-S[25]、Grid-RCNN[26]和改進Double-Head RCNN[27],在Visdron數據集上進行目標檢測對比實驗。為突出改進的YOLO_v5x 算法在復雜環境下對小目標的檢測性能,選取白天、黑夜和小目標密集3 種環境進行可視化,結果如圖8。

圖8 不同算法的檢測結果Fig.8 Detection results of different algorithms

由圖8 可看出:由于RetinaNet[24]、YOLOX-S[25]和Grid-RCNN[26]對底層特征的關注度較低,導致小目標的檢測性能減弱,誤檢率和漏檢率較高;盡管改進Double-Head RCNN[27]通過引入transformer、可變形卷積及 CARAFE-FPN 模塊[28],一定程度上解決小目標特征丟失的問題,但仍會出現小目標漏檢誤檢情況;本文算法通過減少下采樣的方式防止細粒度信息丟失,并引入注意力機制和額外的小目標檢測頭,增強網絡對不同維度位置信息的提取能力,降低了小目標的漏檢率和誤檢率,在不同場景均獲得較好的檢測結果,充分體現出所提改進算法的優越性。5 種算法的檢測精度如表2。

表2 不同檢測算法的對比實驗結果Tab.2 Comparative experimental results of different detection algorithms

根據表2 可得:本文算法的AP,AP50,AP75,APS,APM,APL分別為33.3%,52.3%,32.2%,23.9%,42.5%,44.9%,檢測速度(FPS)達到8.2 幀/s;相較于一階段算法RetinaNet 和YOLOX-S,本文算法在APS上分別高出15.7% 和13.1%,但檢測速度略低;改進Double-Head RCNN 算法APS為18.1%,且APL為48.7%,最大,但 APS相比本文算法低5.8%,且本文算法的小目標檢測平均精度即APS最大,在當前主流檢測小目標算法中達到先進水平。

3 結 論

針對無人機航拍圖像小目標特征模糊導致難以檢測的問題,提出一種改進的YOLO_v5x 方法,且利用Visdron 數據集進行目標檢測實驗。通過在YOLO_v5x 算法中添加SPD 模塊以及小目標檢測頭,減少細粒度信息的丟失,能夠有效提高小目標檢測的效率;引入CA 注意力機制、且在CIOU 損失函數的基礎上引入 α-IOU損失函數,能夠明顯提高小目標的定位精度。結果表明:本文算法在Visdrone無人機目標檢測數據集上可達到33.3%的平均精度,相比于原始YOLOv5x 提高了7.8%;與其他算法相比,本文算法的平均精度和小目標檢測平均精度最高,能夠更好地提取小目標中有用的特征信息,提高了小目標檢測定位的準確性,解決了小目標特征模糊導致難以檢測的問題;同時實現了不同類別小目標的檢測,可增強小目標檢測算法的泛化能力。

猜你喜歡
航拍精度特征
航拍下的苗圃與農場
如何表達“特征”
不忠誠的四個特征
基于DSPIC33F微處理器的采集精度的提高
難忘的航拍
抓住特征巧觀察
《航拍中國》美得讓人想哭
陜西畫報航拍
GPS/GLONASS/BDS組合PPP精度分析
改進的Goldschmidt雙精度浮點除法器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合