?

面向遙感圖像小目標檢測的改進YOLOv3算法

2021-10-28 05:52王建軍梅少輝
計算機工程與應用 2021年20期
關鍵詞:濾波器尺度卷積

王建軍,魏 江,梅少輝,王 健,2

1.西北工業大學 電子信息學院,西安 710129

2.西北工業大學 第365研究所,西安 710129

目標檢測是一種為檢測特定對象(汽車、建筑物和人類等)而提出的計算機視覺技術,廣泛應用于機器人導航、智能監控、工業檢測、航空航天等諸多領域。近年來,隨著深度學習理論的成熟,基于深度學習的目標檢測算法得到了快速發展,目前大多數目標檢測算法都采用卷積神經網絡(Convolutional Neural Networks,CNN)作為特征提取器,例如AlexNet[1]?;贑NN的目標檢測算法通??梢苑譃閮纱箢悾阂活愂菃坞A段目標檢測算法,這類算法不需要生成候選區域,直接在網絡中提取特征來預測目標的類別和位置,再經過檢測器得到檢測結果,典型的代表算法有YOLO[2-5]、SSD[6]、Retina-Net[7]等;另一類是雙階段目標檢測算法,這類算法首先產生候選區域,然后對候選區域進行分類,代表算法有R-CNN[8]、Fast R-CNN[9]、Faster R-CNN[10]、Mask R-CNN[11]等。

遙感圖像通常由航空航天平臺獲取,其中感興趣的目標相對背景而言比較小,這些小目標的檢測是富有挑戰的研究方向。大部分目標檢測算法雖然在通用目標檢測中有較高的精度和泛化性能,但是在遙感圖像小目標檢測中精度仍然較低。小目標的定義方式有兩種,一種是相對尺寸的定義,若目標尺寸是原圖像尺寸的十分之一,即可認為是小目標;另外一種是絕對尺寸的定義,即尺寸小于32×32像素的目標即可認為是小目標。Lin等人[12]提出的FPN(Feature Pyramid Networks)首先將小尺度特征圖上采樣,然后與大尺度特征圖進行融合,最后再進行預測,使小目標檢測的精度提升顯著;Li等人[13]提出的感知生成對抗網絡(Perceptual Generative Adversarial Network,Perceptual GAN)算法通過降低小目標和大目標之間的表示差距來提升小目標檢測的精度;Kisantal等人[14]將包含小目標的樣本進行過采樣,使小目標的檢測精度有較大提升;Liu等人[15]提出了RFB(Receptive Field Block)結構,通過引入空洞卷積[16],增大感受野,進而提高小目標的檢測精度。

YOLOv3[4]借鑒了FPN的思想,通過特征融合,既保證了大目標的檢測精度,又提高了小目標的檢測精度。本文基于YOLOv3提出了一種改進的目標檢測算法——YOLOv3-CS,首先根據不同尺度特征在網絡中的重要程度來修改backbone結構,然后引入RFB結構增大淺層特征圖的感受野,最后對anchor boxes重新分配。在數據集RSOD上的驗證結果表明本文提出的算法在遙感圖像小目標檢測方面有較高的優勢。

1 YOLOv3目標檢測模型

圖1為YOLOv3結構圖,YOLOv3比YOLOv2[3]在精度方面有大幅度提升的一個主要原因是采用Darknet-53作為backbone。backbone包含1個輸入層,5個下采樣層和23個殘差結構(Residual block),全部由卷積層構成,使用1×1和3×3兩種尺度的卷積核。YOLOv3中每一個卷積層之后都含有一個BN層,對卷積層的輸出進行歸一化,再輸入到激活層,激活函數采用Leaky ReLU,即構成backbone的最小組件DBL(Conv+BN+Leaky ReLU)。Darknet-53是基于ResNet[17]的思想提出的,在卷積層之間設置了快捷鏈路層(shortcut),防止由于網絡過深導致的性能“退化”,相比于ResNet-101和ResNet-152,Top-1精度與ResNet-101相當,Top-5精度與ResNet-152相當,但速度比ResNet-152提高了2倍以上。

圖1 YOLOv3結構圖Fig.1 Structure of YOLOv3

YOLOv3對輸入圖片進行“端到端”預測。一幅輸入圖像(縮放到416×416)經過YOLOv3的backbone后輸出三個不同尺度的特征(13×13、26×26和52×52),分別針對大、中、小三類目標進行預測,每個尺度對應一個三維張量,如圖2所示。以13×13特征圖為例,輸入圖像被劃分為13×13的Grid Cell,則輸出張量的維度為13×13×(k×(4+1+class)),每個Grid Cell對應一個三維張量中的一個子張量1×1×(k×(4+1+class)),其中k(默認為3)表示Bounding boxes數量,由anchor boxes對應得來,4表示每個Bounding box對應四個坐標預測,1表示每個Bounding box有一個置信度預測,class表示類別預測。如果一幅圖像的目標對應Bounding Box的中心恰好落在了某個Grid Cell(圖2紅色Grid Cell)中,那么這個Grid Cell就負責預測該目標的Bounding Box,并將它的置信度設為1,其余Grid Cell的置信度則為0。

圖2 YOLOv3檢測流程Fig.2 Detection flow chart of YOLOv3

YOLOv3設定每個Grid Cell會預測3個Bounding Boxes。Grid Cell會選擇與Bounding Box的IoU最高的anchor box進行微調作為網絡的輸出預測框。每個Bounding Box有5個預測參數(t x、t y、t w、t h、confidence)和class個類別概率。YOLOv3輸出的Bounding Box坐標實際為偏移量,需要對其進行修正,圖3為坐標偏移示意圖。圖中t x、t y表示預測框的左上角坐標,t w、t h表示預測框的寬度和高度,如果預測框中心點所處Grid Cell的左上角坐標為c x、c y,且anchor box的寬和高分別為pw和p h,則修正后的邊框為:

圖3 坐標偏移示意圖Fig.3 Diagram of coordinate offset

b x和b y表示預測框的中心坐標,b w和b h表示預測框的寬和高,δ代表sigmoid函數,目的是將預測偏移量縮放到0和1之間。

2 改進的YOLOv3模型

YOLOv3雖然通過特征融合輸出三個尺度的特征圖,兼顧了小目標預測,但是對于以小目標檢測為主的遙感目標檢測任務,YOLOv3的檢測精度仍然有待提升。本文首先根據對backbone中不同尺度特征重要性的分析,對backbone進行重構,其次引入RFB結構來增大淺層特征的感受野,最后優化了anchor boxes并改進其分配原則。

2.1 特征重要性分析

對于特定的數據集,backbone中五種尺度特征的重要性通常不同,本文在分析每種尺度特征重要性的基礎上,對網絡結構進行重構。

文獻[18]證明了網絡中某層的所有濾波器中,位于或靠近幾何中位數(Geometric Median,GM)的濾波器對網絡的貢獻較小,可以用其他濾波器來代替。假設網絡有L層,N i和N i+1分別表示第i層卷積層的輸入通道和輸出通道數,Fi,j∈?N i×K×K表示第i層卷積層的第j個濾波器,K為卷積核尺寸,則第i層濾波器的幾何中位數定義為:

那么第i層接近幾何中位數的濾波器可以表示為:

幾何中位數是歐氏空間數據中心的一個估計量,如果某個濾波器接近幾何中位數xGM,可以認為這個濾波器和其他濾波器共享信息,該濾波器可以被其他濾波器替代,因此去掉該濾波器不會對網絡的輸出產生影響。在訓練過程中,直接將接近幾何中位數的濾波器置零,即稀疏訓練。濾波器置零后對應的輸出特征圖為無效特征圖,對網絡的輸出不再起作用。

本文首先在遙感數據集上對YOLOv3進行流程如圖4所示的稀疏訓練,再統計不同尺度特征圖中無效特征圖的比例,最后調整不同尺度特征的深度來改善網絡性能,調整原則為:如果一種尺度的特征圖中無效特征圖的比例較高,則降低該尺度特征對應卷積層的深度,反之則增加該尺度特征對應卷積層的深度。

圖4 稀疏訓練流程Fig.4 Sparse training flowchart

2.2 RFB模塊

在YOLOv3的三個檢測頭中,檢測頭2和檢測頭3分別融合了26×26和52×52的特征,進行中等尺寸和較小尺寸目標的預測。雖然淺層特征的細節信息比較豐富,對檢測遙感圖像小目標有很大的幫助,但是特征圖的感受野較小,缺少上下文信息。本文為了增大特征圖的感受野,在YOLOv3中引入了RFB。

RFB利用擁有不同尺寸卷積核的卷積層構成多分支結構,再引入空洞卷積增加感受野,提高了小目標檢測精度。與Inception[19]結構類似,RFB的每個分支上使用不同尺度的常規卷積和空洞卷積的組合。不同尺度的常規卷積用來模擬群體感受野(population RF,pRF)中的不同感受野,空洞卷積所得到的離心率來模擬pRF的尺度與離心率的比例,最后將三個通道連接以減少特征的通道數。RFB度量了感受野的尺度、離心率間的關系,可以生成更有判別性、更具魯棒性的特征。

圖5為RFB的一種結構,首先通過1×1、3×3和5×5卷積核構成三分支結構,并在每一個分支中分別引入dilation rate=1、dilation rate=2和dilation rate=3的空洞卷積增大感受野,最后將三個分支的輸出連接在一起,達到融合不同特征的目的。

圖5 RFB結構圖Fig.5 Structure diagram of RFB

2.3 優化anchor

YOLOv3使用K-means算法對COCO數據集的標注框聚類得到9個anchor boxes,每個檢測層分配3個anchor boxes。不同的數據集有不同的anchor boxes分布,anchor boxes的選擇會直接影響網絡的預測精度,在YOLOv3中9個anchor boxes平均分配在三個檢測頭上,但是不同尺寸的特征對不同的anchor box有不同的敏感程度,因此需要對不同尺寸的特征匹配對應的anchor boxes。文獻[20]對數據集進行聚類,但是沒有考慮anchor boxes分配問題,本文首先計算三種尺度特征圖對應的anchor box尺寸范圍[21],然后對數據集重新聚類,進行不同尺度特征上anchor boxes的分配。

圖6為anchor box、Grid Cell和預測框的位置關系圖,金色框表示anchor box,黑色框表示目標的標注框,紅色框為Grid Cell。為了方便計算,假設anchor box和標注框均為正方形并且anchor box比標注框大,anchor box邊長為a,標注框邊長為g,Grid Cell邊長為2s,s為下采樣倍數。

圖6 anchor box、Grid Cell和預測框位置關系圖Fig.6 Structure diagram of anchor box,Grid Cell and prediction box location

下面分兩種情況討論:

(1)當標注框在anchor box內部時,IoU可以定義為:

當IoU≥0.5時,可得:

(2)當anchor box的中心在特征圖Grid Cell的左上角,真實框的中心在Grid Cell的右下角,并且anchor box和標注框邊長的二分之一大于Grid Cell的邊長時,即,IoU定義為:

令a=g,可得:

當IoU≥0.5時,可以得到s和a的關系:

根據式(1),可以知道anchor boxes的尺寸和下采樣倍數的關系如表1所示。實際的標注框不一定是正方形,因此通過K-means算法聚類得到的anchor boxes也不一定是正方形,這里通過面積做近似。假設一個anchor box的寬為w,高為h,則面積為w×h,即可用來近似a。

表1 下采樣數與anchor boxes尺寸之間的關系Table 1 Relationship between down sampling number and anchor boxes size

3 實驗

3.1 實驗數據

本文實驗在遙感圖像數據集RSOD上測試。RSOD數據集由武漢大學于2015年發布,用于遙感圖像目標檢測。數據集包含從谷歌Earth和Tianditu下載的976張圖像,圖像的空間分辨率在0.3 m到3 m之間,其中包含飛機(aircraft)、油桶(oiltank)、立交橋(overpass)和操場(playground)四類目標。圖7為樣例圖片。

圖7 RSOD數據集樣例Fig.7 Sample image of RSOD dataset

遙感圖像中大多是小目標,這就導致目標信息量小,難以檢測。由于YOLOv3的輸入為416×416,因此本文首先將圖片縮放到416×416,然后對目標的大小做了統計。圖8為四類目標的標注框占原圖像尺寸的比例分布圖,可以看出,aircraft和oiltank類別中基本為小目標,并且分布集中。overpass類別中包含少量的小目標,playground類別中目標分布較為分散,總之數據集中大部分目標為小目標(目標的尺寸是原圖的十分之一)。

圖8 RSOD數據集標注框占原圖像尺寸的比例分布Fig.8 Proportion of labeled box to original image size in RSOD dataset

3.2 目標檢測算法評價指標

目標檢測的效果由預測框的分類精度和定位精度共同決定,因此目標檢測問題既是分類問題,又是回歸問題。目標檢測算法的綜合評價指標通常有平均精確率和F1分數。

(1)平均精確率(Average Precision,AP)

AP被定義為PR曲線下的面積,用來衡量數據集中一類的平均分類精確率,計算公式如下:

6.預防措施:正確使用安全套,采取安全的性行為;不吸毒,不共用針具;推行無償獻血,對獻血人群進行HIV篩查;加強醫院管理,嚴格執行消毒制度,控制醫院交叉感染;預防職業暴露與感染;控制母嬰傳播;對HIV/AIDS患者的配偶和性伴、與HIV/AIDS患者共用注射器的靜脈藥物依賴者,以及HIV/AIDS患者所生的子女,進行醫學檢查和HIV檢測,為其提供相應的咨詢服務。

但是對于多分類問題,需要對N個類別的AP求均值,即平均精確率均值(mean Average Precision,mAP),用來衡量分類器對所有類別的分類精度,也是目標檢測算法最重要的指標,計算公式如下:

(2)F1分數(F1 Score,F1)

僅使用P和R兩個指標不能很好地評價模型的綜合性能,因此通過F1分數來評價模型的綜合性能,計算公式如下:

3.3 實驗結果與分析

本文實驗在Ubuntu16.04操作系統下進行,模型搭建采用PyTorch深度學習框架,CPU為i7-6850K,內存為64 GB,GPU為NVIDIA GTX1080。在模型的訓練過程中batch_size設置為16;優化器為SGD(Stochastic Gradient Descent),動量參數momentum設置為0.93;epochs設置為273;初始學習率設置為0.005。

首先設計了三組實驗分別對三個改進點進行訓練和測試,最后結合三個改進點,設計了綜合實驗并進行訓練和測試:

實驗1對改進backbone的YOLOv3在遙感圖像數據集RSOD上進行訓練和測試。根據式對網絡進行稀疏訓練,設定稀疏率(無效特征圖占總特征圖的比例)為40%,然后統計每種尺度特征中無效特征的比例。圖9為backbone在稀疏訓練后不同尺度無效特征圖的占比,可以看出,13×13的特征圖中有70%以上為無效特征圖,26×26的特征圖中有約56%的無效特征圖,52×52特征圖的無效特征約為13%,104×104的無效特征約為2%,這說明YOLOv3在進行小目標檢測時,具有豐富位置信息的淺層特征比具有豐富語義信息的深層特征更重要,因此小目標檢測需要更多的淺層特征。在文獻[22]中,通過進一步融合104×104的特征,提升小目標檢測精度,文獻[23]中更是對6個不同尺寸的特征進行融合。但是融合104×104特征會增加一個檢測頭,同時會增加32 448個輸出預測框,不僅增大了模型尺寸,還降低了推理速度。

圖9 不同尺度特征中無效特征的占比Fig.9 Proportion of invalid features in different scale features

為了符合YOLOv3的結構特點,以2的倍數增減殘差層數量。表2中分析了增減不同尺度特征圖對應殘差塊數量時,mAP和F1的變化情況,可以看出,當增加104×104特征圖對應的殘差層后,模型的mAP提升比較明顯,降低13×13特征圖對應的殘差層后,mAP損失較小,而且模型大小降低較為明顯。綜合考慮模型的mAP、F1以及模型大小,本文在backbone的基礎上增加了2個104×104特征對應的殘差層,減少了2個13×13特征對應的殘差層。

表2 增加不同尺度特征圖對應殘差塊時精度的變化Table 2 Change of accuracy when adding residual blocks corresponding to different scale feature maps

表3比較了改進backbone的YOLOv3算法、文獻[22]算法和YOLOv3,可以看出,相比YOLOv3-[22],改進backbone的YOLOv3算法mAP提高1.06%,模型大小降低16.97%。

表3 改進backbone的YOLOv3、YOLOv3-[22]和YOLOv3比較Table 3 Comparison of YOLOv3,YOLOv3-[22]and YOLOv3 of improved backbone

圖10 改進backbone的YOLOv3在數據集上的各類精度Fig.10 Accuracy of improved backbone’s YOLOv3 in dataset

實驗2對引入RFB的YOLOv3進行訓練和測試。RFB結構的作用是增大特征圖的感受野,一般來說淺層特征感受野較小,深層特征的感受野較大。YOLOv3通過上采樣的方式將深層特征與淺層特征進行融合。本文首先將淺層特征輸入RFB,然后再與深層特征進行融合,表4分析了RFB對不同尺度特征圖的作用,可以發現,與YOLOv3相比,當RFB插入在檢測頭1之前時,mAP并沒有提高,而F1有了3.15%的提高,而在檢測頭2和檢測頭3之前同時插入RFB時,mAP提高了3.07%,F1提高了4.97%。因此RFB可以增大淺層特征圖的感受野,從而提高目標的檢測精度。

表4 不同位置插入RFB的精度比較Table 4 Accuracy comparison of RFB insertion in different positions

圖11為檢測頭2和檢測頭3之前同時引入RFB時,數據集中各類的AP比較圖,可以發現,小目標居多的aircraft類的AP提高約為6.42%,目標相對較大的playground類的AP提高約為1.15%。說明YOLOv3中引入RFB結構主要通過提高小目標的檢測精度來提高整個模型的檢測精度。

圖11 引入RFB的YOLOv3在數據集上的各類精度Fig.11 Accuracy of YOLOv3 with RFB in dataset

實驗3對優化anchor boxes的YOLOv3進行訓練和測試。RSOD數據集小目標居多,本文對RSOD數據集使用K-means聚類算法進行聚類,得到新的anchor boxes,根據表1中不同下采樣倍數與anchor boxes之間的關系重新分配三個檢測頭中的anchor boxes,分配結果與每個分類層的濾波器個數如表5所示。

表5 各尺度上的anchor box分配Table 5 Anchor box assignment on different scales

圖12比較了優化anchor boxes的YOLOv3和原始YOLOv3的精度,可以看出,優化anchor boxes的YOLOv3在遙感圖像數據集RSOD上,mAP提升約2%,F1提升約4.48%。

圖12 優化anchor boxes的YOLOv3與YOLOv3精度比較Fig.12 Comparison of accuracy between optimized anchor boxes’s YOLOv3 and YOLOv3

綜合實驗前三組實驗證明,本文對YOLOv3的三個改進點對目標檢測的精度都有所提升,尤其是遙感小目標的檢測精度。因此,綜合三個改進點,本文提出了改進的YOLOv3目標檢測算法——YOLOv3-CS,結構如圖13所示。

圖13 YOLOv3-CS結構圖Fig.13 Structure of YOLOv3-CS

CNN在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對卷積網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。YOLOv3-CS的訓練過程中網絡的總損失、mAP和F1的變化曲線如圖14所示。橫軸表示迭代次數(epoch),可以看出,隨著訓練過程的進行,網絡的損失穩定下降,mAP和F1的變化也比較平穩,因此網絡的收斂過程非常穩定。

圖14 YOLOv3-CS的損失、mAP、F1變化曲線Fig.14 Loss,mAP and F1 of YOLOv3-CS

表6中比較了YOLOv3-CS、YOLOv3、YOLOv3-SPP和YOLOv4[5]的精度、模型尺寸和推理時間,可以看出,YOLOv3-CS的mAP比YOLOv3提高約6.49%,比YOLOv3-SPP高5.49%,比YOLOv4高3.08%;F1比YOLOv3高4.85%,比YOLOv3-SPP高3.35%,比YOLOv4高1.53%;模型大小比YOLOv3減小了12.58%??梢?,YOLOv3-CS目標檢測模型在檢測精度和模型尺寸上都具有較大優勢。

表6 YOLOv3-CS、YOLOv3、YOLOv3-SPP和YOLOv4算法比較Table 6 Comparison of YOLOv3-CS,YOLOv3,YOLOv3-SPP and YOLOv4 algorithms

4 結束語

本文對YOLOv3的backbone和anchor boxes分配原則進行了改進,再引入RFB模塊增大感受野。在數據集RSOD上做了訓練和測試,結果表明本文提出的YOLOv3-CS在mAP和F1兩種指標上都優于YOLOv3和YOLOv4,尤其是對小目標的檢測,mAP提高較為明顯,并且模型尺寸比YOLOv3更小。本文模型的推理時間比YOLOv3增加了9.4%,在一些算力較低且實時性要求較高的場合,仍然無法滿足要求,如何在保持模型精度的情況下縮短模型推理時間是未來的主要研究目標。

猜你喜歡
濾波器尺度卷積
基于3D-Winograd的快速卷積算法設計及FPGA實現
財產的五大尺度和五重應對
從濾波器理解卷積
開關電源EMI濾波器的應用方法探討
基于傅里葉域卷積表示的目標跟蹤算法
基于Canny振蕩抑制準則的改進匹配濾波器
宇宙的尺度
基于TMS320C6678的SAR方位向預濾波器的并行實現
9
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合