易華輝,宋文治,黃金香,王雨璇,丁 瑞
(西安工業(yè)大學兵器科學與技術學院,西安 710021)
由于國家遙感和農業(yè)部門的大力推動,無人機低空航空攝影已成為一項成熟的技術,并在不同領域實施了示范項目?;诘涂諢o人機的航空攝影具有平臺小、成本低、成像分辨率高、操作方便、機動性靈活、應用范圍廣等優(yōu)點[1]。它是衛(wèi)星遙感的有力補充。
無人機是低空航空攝影的理想平臺,可以用高清傳感器捕捉地面目標。圖像分辨率遠高于基于飛機的高空航空攝影。在較低的飛行高度,空中圖像不受云層影響,使用高清相機獲得的圖像分辨率可以達到厘米級[2]。
隨著網絡技術的快速發(fā)展,無人機圖像目標檢測有著廣泛的應用,包括智能視頻監(jiān)控、森林防火、農業(yè)信息、電力線檢測、考古研究、道路橋梁損傷評估、軍事偵察等[3]。此外,無人機圖像在維護社會秩序方面發(fā)揮著至關重要的作用。
物聯網與無人機相結合,可用于實時視頻監(jiān)控,以監(jiān)控盲點。無人機航空圖像數據量巨大,無法手動處理視頻。處理視頻內容的傳統(tǒng)手動方法將導致遺漏和調試錯誤。因此,僅僅依靠人力資源進行檢索是不現實的。
近幾年以來,伴隨著深度學習技術快速的發(fā)展,國內外的研究者逐漸將深度學習技術應用于小目標檢測。Wang 等[4]提出了一種基于SSD(Single Shot MultiBox Detector)的輕量、高效的特征融合模塊,在保持檢測速度的情況下提升檢測精度,對小目標檢測效果有所提升;Gong 等[5]在特征金字塔網絡(Feature Pyramid Network,FPN)[6]的基礎上,添加一個融合因子描述相鄰層的耦合度,來控制深層傳遞淺層的信息,提高了小目標檢測性能;Pang 等[7]提出基于多尺度融合的Faster-RCNN 的小目標檢測方法,提高了無人機對地面車輛目標的檢測精度,但是模型參數較多,計算量大,實時性較低。Zhang等[8]提出了一種用于無人機圖像目標檢測的多尺度空洞卷積方法。增加了多尺度空洞卷積模塊,以增加視野感知并改善網絡在無人機圖像中的目標分布。目標特征(例如大小和差異)的學習能力進一步提高了網絡對無人機圖像中多尺度和復雜背景目標的檢測精度。Cui 等[9]提出了一種改進的YOLOv3 模型,結合超分辨率重建技術,用于無人機圖像中的實時目標檢測。該算法在復雜環(huán)境中具有較高的處理速度和魯棒性。Qiu等[10]提出了一種改進的YOLOv3方法,用于無人機圖像識別地面上的小目標。
本文根據無人機航拍圖像小目標檢測的特點,由于YOLOv5 具有出色的速度和精度,改進了該版本的算法,并提出基于改進YOLOv5 的小目標檢測方法。首先,為了提高對小目標區(qū)域的關注程度,在骨干網絡的特征提取模塊中加入高效通道注意力機制(ECA)[11]模塊,以增強對小目標特征的提取能力。其次,為了減少模型參數量和計算量,將CBL 模塊中的普通卷積更換為Ghost卷積,在保證算法實時性的同時提高算法精度。最后,采用加權損失函數,以充分學習圖像特征。改良后的網絡結構如圖1所示。
圖1 基于ECA和Ghost卷積的YOLOv5s
YOLOv5 是一種單階段檢測算法,可以一次性輸出預測框的位置和類別置信度,擁有極快的檢測速度和較高的檢測精度,在保證算法檢測速度的同時又兼顧了檢測精度。然而,YOLOv5 實驗通常在MS COCO 數據集中進行,并不完全適用于無人機圖像。由于無人機圖像中存在背景復雜、目標小、目標檢測相互遮擋等問題[12],YOLOv5算法對部分目標檢測不準確,導致誤檢和漏檢。
YOLOv5框架主要由3個模塊組成,包括骨干網絡模塊(Backbone)、頸部模塊(Neck)以及輸出模塊(Head),如圖2所示,Backbone 模塊用于提取圖像特征;Neck 模塊則是通過組合(Concat)圖像特征的網絡層,并將圖像特征輸出給Head 模塊;Head 模塊對圖像特征進行預測,生成邊界框并預測類別。在檢測大目標具有明顯的優(yōu)勢,而無人機航拍目標大多為小目標,為此,需要在無人機航拍目標檢測任務上對原始模型進行改進。
圖2 YOLOv5s網絡模型整體結構框架
特征提取模塊是目標識別中最重要的部分,由于無人機航拍圖像中的目標通常比較小,為提高模型的識別精度,將高效通道注意力機制(Efficient Channel Attention,ECA)模塊加入YOLOv5 網絡結構中的特征提取模塊中,既可以強調小目標所在區(qū)域,又可以抑制不相關背景區(qū)域。ECA 模塊結構如圖3 所示,將ECA 模塊連接在殘差塊主干分支之后,首先經過一個不降低維度的通道級全局平均池化(GAP),在此基礎上再利用一維稀疏卷積操作來捕獲當前通道與它的k個鄰域通道信息的交互,最后再使用一個Sigmoid函數生成通道權值,將原始輸入特征與信道權重組合以獲得具有信道關注度的特征。
圖3 ECA模塊結構
在無人機航拍小目標檢測任務中,通過不同的卷積信道提取目標的不同特征將導致太多的訓練資源被用于無小目標區(qū)域,從而導致網絡的訓練效率低下。為了解決這一問題,本文將ECA-Net 注意力添加到YOLO v5 目標檢測模型的特征提取層,具體網絡結構如圖4 所示。通過添加ECA-Net-注意力模塊,將不同的權重分配給不同的卷積信道,以突出小目標特征,通過適當的跨通道交互,避免了降維對學習通道的影響,大大降低了模型的復雜度,并且通過只添加少量參數,可以實現客觀的性能改進。
圖4 基于高效通道注意力(ECA)機制的YOLOv5s
權重的計算公式如下:
式中:σ為Sigmoid 激活函數;yi為通道;wi為通道的權重;Ω ki為yi的k個相鄰通道的集合。
可以通過卷積核為k的一維卷積實現有效通道注意力模塊,如下:
式中:C1Dk為卷積核為k的一維卷積;y為通道。
通過這種結構,模型可以選擇性地增強包含目標特征更多的細節(jié),抑制不相關或弱特征。本文提出的模型如圖4 所示,在骨干網絡的最后一層加入ECA 注意力機制。
在無人機航拍小目標的檢測任務中,存在著大量重復的特征圖。這些冗余的特征圖對小目標檢測不僅沒有幫助,反而會增加檢測模型的參數量,這些冗余特征圖大多來源于常規(guī)卷積。因此,本文采用了Ghost卷積[13]去減少模型的參數和計算量以提高檢測速度。
Ghost卷積分為常規(guī)卷積、Ghost生成和特征圖拼接3步,如圖5~6 所示。第一步:使用比較少的卷積核對輸入圖像的特征圖進行特征提??;第二步:進一步對提取出來的這部分特征圖進行線性變換運算;最后通過拼接操作將兩組特征圖中的信息進行組合,生成最終的特征圖。
圖5 普通卷積
圖6 Ghost卷積
與常規(guī)卷積相比較,Ghost卷積計算量很少,僅僅使用線性變換就能產生大部分的特征信息。因此,將模型中CBL 模塊中的普通卷積替換為Ghost 卷積以減少模型的參數量和計算量,如圖7~8 所示,將GhostNet 卷積作為CBL 模塊的的卷積層,利用Ghost 卷積這些特征,可以減少模型的參數和計算量,模型更適合無人機航拍圖像的小目標檢測。
圖7 CBL模塊
圖8 改進的CBL模塊
合適的損失函數有利于指導神經網絡學習有意義的信息,為了充分學習圖像特征,本文所設計的YOLOv5s模型采用了加權損失函數,包括交叉熵損失函數、DSC 系數損失函數、IOU 系數損失函數和Focal loss 損失函數。
(1)交叉熵損失函數
交叉熵損失函數如下:
式中:ytrue為真實掩膜圖像;ypre為改進的YOLOv5s 目標檢測網絡預測結果。
交叉熵損失函數能夠較好地衡量預測結果和真實掩膜圖像之間的相似程度,并且不影響模型的收斂速度。
(2)DSC系數損失函數
Dice 系數可以用于衡量兩個集合的相似性,其值在[0,1]之間,定義式如下:
對于目標檢測任務,其值定義為預測圖片和掩膜圖像之間重疊像素數量的兩倍除以二者像素數量的總和,其定義如下:
預測圖片和掩膜圖像之間重疊越多,DSC 值越接近于1;故通過下式將其轉換為單調遞減函數作為EFMYOLOv5s語義分割網絡的損失函數:
(3)IOU系數損失函數
IOU 系數用于衡量兩個集和的重疊大小程度,其值在[0,1]之間,定義如下:
式中:ytrue為真實掩膜圖像;ypre為改進的YOLOv5s 的預測結果。
Focal loss 能夠使得模型更加專注于較難分類的樣本,從而較好地解決了正負樣本不均衡的問題。最終本模型的損失函數為上述4個損失函數的加權:
無人機航拍圖像面臨尺度變化大、目標小等問題,為了保證數據集的準確性,選用DOTA 數據集。該數據集是從谷歌地球、中國衛(wèi)星數據應用中心等來源收集的大型數據集,共有21 046 張航拍圖像,是一個用于航空圖像中目標檢測的大型數據集,包含了不同比例不同方向和不同形狀的目標[14]。共有15 種目標物體,如飛機、汽車、橋梁、艦船等,圖9 所示為部分數據集的樣圖。為了保證模型的有效性,將數據集劃分為訓練集和驗證集,使用數據集中原始圖像的75%作為訓練集,25%作為驗證集,訓練集有15 749 張圖像,驗證集有5 297 張圖像。
圖9 部分數據集
實驗使用的開發(fā)平臺為Windows10,平臺具體配置如表1所示。
表1 實驗配置
一般來說,評價一個目標檢測模型的好壞,主要需要對精度進行評估,對精度進行評估主要參考平均精度和平均精度均值,因此,本文采用平均精度(Average Precision,AP)和平均精度均值(mean Average Precision,mAP)作為評價該模型的指標,計算公式如下:
式中:TP為正確分類的樣本數;FP為被錯誤判定為正樣本的負樣本數;FN為被錯誤判定為負樣本的正樣本數。
將DOTA 數據集分別通過YOLOv5s 模型和改進后的YOLOv5s 模型進行訓練,迭代次數設置為100 次,訓練過程中對應模型的結果對比如圖10 所示。由圖可知,與原算法相比,改進的YOLOv5 模型的平均精度,預測率和召回率都有一定的提升,擁有更高的精度。
圖10 YOLOv5s與改進YOLOv5的訓練結果對比
改進的模型檢測的各個類別的精度如表2 所示,對比可知,改進的模型較YOLOv5 模型,每個類別的精度均有所提高。
表2 實驗結果對比
為了驗證改進算法的先進性,使用同一數據集進行模型訓練,將改進的算法與現階段最具代表性的3 種單階段檢測模型的檢測效果進行對比,分別是YOLOv3[15]、YOLOv4[16]、以及YOLOv5,檢測結果如表3 所示。由表可知,相比其他模型,改進后模型的mAP、模型尺寸以及檢測速度上均獲得了比較好的結果。其中,mAP 比其他的模型精度都高,模型大小與檢測速度YOLOv5相近,模型尺寸約為YOLOv3模型的1/11,YOLOv4模型的1/12,檢測速度比YOLOv3模型提高約62 ms,與YOLOv4相比,比YOLOv4 模型提高約35 ms,在保證原算法YOLOv5 模型檢測速度的同時提高了檢測精度。在檢測精度上,比YOLOv5 提高了1.9%,比YOLOv4 提高了1.59%,相比YOLOv3高13.77%。
表3 主流模型檢測結果比較
為了驗證了本文改進算法對小目標檢測的有效性,對驗證集進行測試并且與原算法進行對比,結果如圖11所示。YOLOv5 模型對小目標存在漏檢的情況,改進后的YOLOv5 模型可以改善較小目標的漏檢情況,提高小目標的檢測精度。該實驗結果表明,通過在YOLOv5 模型中加入高效通道注意力機制,提升了模型對小目標的檢測精度。
圖11 改進前后YOLOv5模型的檢測結果示例
本文針對無人機航拍小目標檢測精度不高的問題,提出了基于改進YOLOv5 的無人機小目標檢測算法。該算法通過引入ECA 注意力機制模塊增強網絡提取圖像特征圖信息,對提高小目標檢測效果有所幫助。針對模型體積大、檢測速度慢的特點,將CBL 模塊中的普通卷積更換為Ghost 卷積,減少了參數量。為了減輕類間樣本數量不平衡對模型分類損失產生的問題,使用加權損失函數改善無人機航拍小目標類間不平衡所導致的模型檢測精度受限的問題。最后通過在DOTA 數據集上進行測試,實驗表明,所設計模型比原來的YOLOv5 模型有著更高的準確率,在保證檢測速度的前提下有效提高了檢測精度,提升了無人機航拍小目標的檢測準確率。