蘭旭婷,郭中華,2*,李昌昊
(1. 寧夏大學 物理與電子電氣工程學院,寧夏 銀川 750021;2. 寧夏沙漠信息智能感知重點實驗室,寧夏 銀川 750021)
高分辨率光學遙感圖像有著豐富的空間信息以及清晰的結構和紋理信息,可以對遙感目標如飛機等進行精確的檢測識別[1]。光學遙感圖像的目標檢測與識別表示在遙感圖像中確定是否包含一個或多個目標物體,并確定目標在圖像中的位置與類別[2]。由于光學遙感圖像中的飛機目標類型、尺寸、停放位置等不確定性因素,以及高分辨率光學遙感圖像易受光照、天氣環(huán)境等因素的影響,再加之背景復雜程度大,給高分辨率圖像中的目標檢測帶來了較大的挑戰(zhàn)。
為了解決這一挑戰(zhàn),很多學者不斷提出了一些傳統(tǒng)的新方法。例如,Cheng等人[3]提出HOG算子提取目標的梯度方向,并通過將訓練樣本與感興趣區(qū)域匹配來獲得飛機目標。但飛機梯度方向特征不是唯一的,導致初步處理中出現(xiàn)大量虛假目標,增加了后續(xù)處理的負擔。Liu等人[4]通過基于大量樣本計算平均模板來匹配目標,并根據(jù)目標與模板的相似性來識別目標。但是這種方法也需要大量的訓練樣本,平均模板不能匹配所有的目標。Arandjelovi[5]提出了一種使用邊界描述符為平滑和無紋理圖像進行對象匹配的方法,該描述符包括采樣邊界法線方向的輪廓。等距關鍵點是通過采樣圖像邊界曲線獲得的。然后,利用一個關鍵點周圍的局部輪廓的邊界法線來描述該點。該方法在許多經典的目標圖像集上表現(xiàn)出很強的魯棒性。但局部描述對遙感圖像中普遍存在的局部噪聲和不正確的形狀分量更加敏感。Kahaki等[6]提出了一種新的基于三重特征提取方法的匹配技術和相異性指標,根據(jù)測量兩個興趣點之間的路徑,提取特征之間的相異性。該方法可以很好地檢測目標圖像中的對應點,還可以預測目標圖像中的遺漏點。不僅依賴于局部點的信息,而且還利用這些點之間的空間信息。但對拍攝到的高分辨率光學遙感圖像來說,在采集點間的特征上有一定的時間和精度限制。
近年來,遙感圖像領域廣泛應用了深度學習的方法,尤其在目標檢測任務上該方法明顯優(yōu)于傳統(tǒng)的固定模型的方法?,F(xiàn)階段,比較成熟的有基于候選區(qū)域的目標檢測器(兩階段)和單次目標檢測器(單階段)這兩類目標檢測算法?;赗-CNN(Region with CNN feature)[7]、Fast-RCNN[8]與Faster-RCNN[9]的兩階段目標檢測算法,采用RPN網(wǎng)絡提取候選框的方式,能在一定程度上提高精度,但由于每個候選框的位置都需要精修導致檢測速度過慢。Joseph Redmon[10]等人提出了一種新的目標檢測方法YOLO,該方法利用整個圖作為網(wǎng)絡的輸入,直接在輸出層回歸bounding box的位置和其所屬類別,實現(xiàn)端對端的模型優(yōu)化。但該方法每個方格只能預測一類物體,對于小目標檢測困難。YOLO檢測測速度相比Faster-RCNN提升很大,但同時也帶來了檢測精度下降的問題。YOLOv2[11]和YOLOv3[12]是YOLO的后續(xù)改進方法。YOLOv2借鑒了Faster-RCNN的思想,引入了anchor機制,比其他模型在各種檢測數(shù)據(jù)集上的速度更快,但由于YOLO將圖像分割成S×S的網(wǎng)格,導致精度不高的問題仍然存在。SSD(Single shot Multibox Detector)[13]算法,結合了YOLO中的回歸思想和Faster-RCNN中的Anchor機制,并使用多尺度的特征圖進行回歸,既保持了YOLO速度快的特點,也保證了Faster RCNN精度高的優(yōu)勢[14]。該方法在自然圖像中檢測精度以及速度上都有一定的提升效果,但在紋理信息弱、背景復雜的光學遙感圖像飛機目標的檢測中,效果并不是很理想。
因此,為了解決光學遙感圖像在復雜環(huán)境中小飛機目標檢測精度及效率低的問題,本文以SSD300為基本算法,參考Resnet50[15]建立了光學遙感圖像數(shù)據(jù)庫,對網(wǎng)絡模型進行了改進和優(yōu)化。最終有效提高了弱小物體的表達能力,提高了檢測精度和速度,具有一定的通用性。
SSD算法是一種目標檢測算法,相比于YOLO在檢測精度上有更大的提升。SSD的算法框架圖如圖1所示。SSD共有11個block,相比于VGG16[16]網(wǎng)絡改變了第5個block的第4層,并將VGG16中的第6、7、8卷積層去掉,將FC7改成卷積層Conv7,并添加額外的Conv8、Conv9、Conv10、Conv11卷積層用于目標檢測。其中:Conv4_3、FC7位于淺層但攜帶的細節(jié)信息更完整,用于小目標物體檢測。對于Conv8_2、Conv9_2、Conv10_2、Conv11_2,隨著特征層的增高,感受野也逐漸增大,因此這些層含有更多的語義信息,用來檢測大目標物體。
圖1 SSD_VGG16網(wǎng)絡結構Fig.1 SSD_VGG16 Network structure
在SSD網(wǎng)絡結構中是以VGG16作為特征提取的骨干網(wǎng)絡,而在本文中采用Resnet50替換原來的特征提取骨干網(wǎng)絡,如圖2所示。對于Resnet50模型,只保留了前4層用于特征提取,舍棄了Conv5_x及以后的層,并額外添加了5個層,并將生成更多預測特征層。
圖2 Resnet50+SSD網(wǎng)絡結構Fig.2 Resnet50+SSD network structure
在神經網(wǎng)絡結構中由于小目標本身具有的像素信息非常少,卷積操作容易導致小目標信息的丟失,因此,采用特征金字塔網(wǎng)絡(Feature Pyramid Networks),它是一種將多個檢測層的特征信息進行融合的網(wǎng)絡,具體網(wǎng)絡結構如圖3所示。該結構表示:自底向上,自頂而下,橫向連接。通過高層特征進行上采樣與經過卷積操作后的低層特征進行自頂向下的連接,大幅度提升了小物體檢測的性能。本文將從6個檢測層分別進行特征融合,如圖4所示。
圖3 特征金字塔網(wǎng)絡Fig.3 Feature pyramid networks
圖4 帶有特征融合的網(wǎng)絡結構Fig.4 Network structure with feature fusion
神經網(wǎng)絡中每經過不同的卷積核都會產生不同的通道信息,而這些通道所包含的信息量以及重要程度也不同。對于原先的網(wǎng)絡,特征層會默認特征層的每個通道上的信息重要性是相同的。故在改進的算法中,引入了CBAM[17](Convolutional-Block-Attention Module),即通道注意機制模塊(Channel Attention Module)和空間注意力模塊(Spatial Attention Module),如圖5所示。本文在進行FPN之后的特征檢測層層上分別加入雙通道注意力模塊CBAM,不僅可以很好地集中需要的信息,忽略與檢測目標無關的邊界信息,還可以提高網(wǎng)絡的特征表達能力。
圖5 卷積塊注意力模塊Fig.5 Convolution block attention module
非極大值抑制(Non-maximum supression,NMS)[18],顧名思義就是抑制一些不是極大值的值。在網(wǎng)絡檢測與回歸過程中,NMS具體計算如式(1)所示。
(1)
式中:Si、M、bi表示預測框;Nt表示人為設定的閾值;iou表示兩個預測框之間交集與并集的比值。
在上述的NMS算法當中,如圖6所示,一方面若存在兩個重疊區(qū)域較大的目標檢測框,NMS會去除得分較低的藍框而保留較高分的紅框,此時物體的檢測召回率就比較低;另一方面,傳統(tǒng)的NMS的閾值也不容易確定,過大容易產生誤檢。而Soft-non maximum supression(Soft-NMS)[19]很好地解決了這個問題,兩種改進形式。如公式(2)、(3)所示。
(2)
(3)
圖6 重疊度超過設定閾值參照圖Fig.6 Degree of overlap exceeds the set threshold
在原先SSD300模型當中,每個特征層上的先驗框的寬高比為1∶1、1∶2、1∶3、2∶1、3∶1這幾種形式。在多目標的數(shù)據(jù)集如Pascal VOC[20]等數(shù)據(jù)集物體類別較多,但對于遙感圖像的飛機目標來說,此時的先驗框比例不再適合。因此按照飛機的尺寸大小將原有的先驗框比例調整為1∶1、1∶2/5、1∶3/5、2/5∶1、3/5∶1。
改進后的網(wǎng)絡結構如圖7所示:先將不同尺度的特征層進行融合(FPN)得到更多有效的特征圖信息,再經過雙注意力模塊后得到更具有判斷能力的特征圖,最后將獲取到含有豐富語義信息的6個特征圖送入檢測層。
圖7 改進的網(wǎng)絡結構Fig.7 Improved network structure
對于目標檢測回歸損失函數(shù),我們依然延續(xù)SSD300算法中的Smooth L1 Loss對改進后的算法進行優(yōu)化處理。在預測層中預測了每個特征圖上的點的矩形框位置信息和目標物體的類別信息。即該點的損失函數(shù)就等于矩形框位置損失與物體類別損失之和。具體可以表示為:
(4)
其中:N為樣本數(shù),若N為0,則將損失設為0;x為當前預測框的類別信息;c代表預測類別信息;l為預測框的位置信息;g代表真實標注框的值;Lconf為類別損失函數(shù),Lloc位置損失函數(shù);而參數(shù)α用于調整Lconf與Lloc之間的比列,一般默認α=1。損失函數(shù)具體計算公式如式(5)、(6)所示:
互聯(lián)網(wǎng)的日益發(fā)展和線上支付的普及,使得足不出戶訂餐受到廣大學生的青睞.由李克特量表可知,外賣在便利性和產品口味方面明顯優(yōu)于學校食堂,但結合現(xiàn)實生活發(fā)現(xiàn),等餐的時間成為影響就餐便利性的一大因素,很多人因為等餐的時間過長而放棄點外賣.外賣商家應合理安排配送,提高商品配送速度,進一步提高就餐便利性.
(5)
(6)
圖8 飛機樣本例圖Fig.8 Aircraft sample illustration
為評估本文所改進的模型算法的檢測性能,公開數(shù)據(jù)集NWPU-RESISC45和武漢大學團隊含有飛機信息的遙感圖像共2 150張,其中按照7∶3生成1 505張為訓練集,645張為測試集,并按照Pascal VOC數(shù)據(jù)集格式進行標注。網(wǎng)絡輸入前的圖像尺寸為256×256,1 280×659,1 372×941,經過網(wǎng)絡輸入后均為300×300。并且整個實驗在Ubuntu16.04操作系統(tǒng)、Pytorch1.6環(huán)境下完成,并使用單個NVIDIA GeForce RTX2080Ti型號的GPU加速訓練模型。
具體數(shù)據(jù)集的分配如表1所示,數(shù)據(jù)集樣本例圖如圖8所示。
表1 數(shù)據(jù)集的信息統(tǒng)計Tab.1 Information statistics of the data set
基于雙通道的注意力機制及錨框比例縮放為適用飛機形狀比例的原來的1/5模型,首先在以Resnet50作為SSD特征提取骨干網(wǎng)絡結構上,用上述標注好的數(shù)據(jù)集進行訓練。批處理操作Batch size設置為4,動量因子系數(shù)設定為0.9,權重衰減系數(shù)設為0.000 5,初始學習率設為0.000 5。
(7)
(8)
設定了10組實驗與未改進的模型進行對照:第1組為最初網(wǎng)絡結構實驗結果;剩余組是在開始的網(wǎng)絡基礎上分別加入不同的改進內容后訓練的結果,具體數(shù)據(jù)對比如表2所示。
表2 不同檢測方法結果對比Tab.2 Comparison of results of different detection methods
實驗結果表明,加入CBAM、Soft-NMS、特征融合及調整先驗框后的模型檢測效果明顯優(yōu)于以resnet50為骨干網(wǎng)絡的SSD模型,在IoU(Intersection over Union)值為0.5的情況下檢測效果達到5.04%,IoU為0.75時達到11.38%。對于單獨加入注意力機制,在IoU為0.5時下降0.08%,IoU為0.75時提升1.57%;采用Soft-NMS算法在IoU為0.5時提升1.15%,IoU為0.75時提升1.67%;調整先驗框比例,在IoU為0.5和0.75時分別提升1.31%、1.45%;特征金字塔的融合方式效果分別提升4.39%、10.02%。很明顯,特征層間的信息融合大幅提高了物體檢測精度。
圖9所示為SSD300、YOLOV3、Faster-RCNN以及改進SSD四種算法分別在遙感圖像飛機目標數(shù)據(jù)集訓練1 000次的精度均值對比圖。表3為這4種網(wǎng)絡模型訓練1 000次后的具體精度均值對比。
如圖10所示,10(a)為原始圖像,均來自不同于訓練集的數(shù)據(jù)集Google earth光學遙感圖像;10(b)為SSD300目標檢測算法檢測結果圖像;10(c)為YOLOV3目標檢測算法檢測結果圖像;10(d)為Faster-RCNN目標檢測算法檢測結果圖像;10(e)為改進SSD目標檢測算法檢測結果圖像。
圖9 4種目標檢測算法模型的檢測精度對比Fig.9 Comparison of detection accuracy of four target detection algorithm models
表3 不同模型精度結果對比Tab.3 Comparison of accuracy results of different models
(a) 原始圖像(a) Original image
(b) SSD300模型(b) SSD300 model
(c) YOLOV3模型(c) YOLOV3 model
(d) Faster-RCNN模型(d) Faster-RCNN model
(e) 改進SSD模型(e) Improve SSD model圖10 不同模型實驗檢測結果對比Fig.10 Comparison of test results of different models
在圖10(a)中,有3幅具有代表性的圖。其中:左圖為環(huán)境復雜度高,中間的圖為多尺度、小目標聚集,右圖為環(huán)境復雜度高并且小目標較多。通過以上4種算法模型檢測結果可以得出,在環(huán)境復雜度高的情況下,除了Faster-RCNN與改進的SSD模型可以很好地檢測出所有的飛機目標,剩余兩個模型都存在漏檢問題;在多尺度小目標聚集的情況下,只有改進的SSD模型存在漏檢一個飛機目標,其余3個模型出現(xiàn)大量檢測目標丟失,但Faster-RCNN檢測結果優(yōu)于SSD300和YOLOV3模型;在小目標多、環(huán)境非常復雜的條件下,更加體現(xiàn)出了改進模型的優(yōu)勢。其中SSD300和YOLOV3漏檢情況明顯,并且檢測精度不是很高。對于Faster-RCNN與改進的模型,都檢測出了飛機目標,但Faster-RCNN的檢測速度卻遠低于改進的模型檢測速度。因此,對比以上結果發(fā)現(xiàn),對背景復雜度高、小目標繁多的遙感圖像單目標實現(xiàn)高精度的實時檢測,改進后的模型很大程度上優(yōu)于Faster-RCNN、SSD300和YOLOV3模型。
為證明改進SSD目標算法的可行性及通用性,本文設計了擴展實驗,分別對霧天條件下的遙感圖像、曝光環(huán)境下的遙感圖像和噪聲污染下的遙感圖像進行檢測,如圖11所示。實驗證明,改進后的SSD目標檢測算法模型不僅精度最高而且可以實時檢測,并且適用于不同復雜程度環(huán)境下的光學遙感圖像飛機目標的檢測,具有一定的通用性。
(b) SSD300模型(b) SSD300 model
(c) YOLOV3模型(c) YOLOV3 model
(d) Faster-RCNN模型(d) Faster-RCNN model
(e) 改進SSD模型(e) Improve SSD model圖11 復雜環(huán)境下實驗對比檢測圖Fig.11 Experimental comparison test in complex environment
本文針對經典的SSD300算法在光學遙感圖像中存在飛機目標檢測精度差以及檢測速度慢的問題,提出了嵌入注意力機制模塊、FPN特征融合、優(yōu)化先驗框的寬高比例以及利用Soft-NMS算法篩選出更加有效的檢測框的方案。從算法改進的實驗結果分析來看,第一,在不同卷積層引入通道、空間注意力機制后的模型檢測效率優(yōu)于SSD算法,并且針對單一目標檢測效果有1.5%的提升;第二,加入特征金子塔,將不同尺度的特征進行融合后增強了特征信息,得到更加具有識別能力的特征圖,精度明顯提升。第三,利用Soft-NMS較于傳統(tǒng)NMS算法保留了實際檢測到的候選框,提升了召回率。最后,將所有改進的方法融合訓練后精度達到92.54%,檢測速度達到24.1 FPS。可見,改進的網(wǎng)絡模型達到了實時檢測以及高精度識別飛機目標。為判斷改進模型能否在復雜環(huán)境下對光學遙感圖像飛機目標的檢測適用性,做了拓展實驗。實驗結果表明,改進后的SSD模型在不同環(huán)境下對飛機的檢測有很好的效果,并且應用廣泛。