趙加坤 孫 俊 韓 睿 陳 思
(西安交通大學軟件學院 西安 陜西 710049)
隨著科技的不斷發展,人們對于圖像處理技術的需求越來越大,應用方面也更加廣泛。而作為其中重要的組成部分,目標檢測的發展也是突飛猛進。在深度學習浪潮到來之前,目標檢測精度的進步十分緩慢,靠傳統依靠手工特征的方法來提高精度相當困難。
目標檢測的主要任務是從圖像中定位感興趣的目標,需要準確判斷每個目標的具體類別,并給出每個目標的邊界框。這些年來目標檢測領域經歷了令人印象深刻的進展。除了這些改進,在小目標檢測與大目標檢測領域還是有不小的差距。
在過去的幾年中,已經提出了一些基于機器學習的方法來進行遙感圖像的檢測[1-3]。Zhu等[4]使用諸如對比盒算法或半監督分層分類之類的算法來獲取候選區域。Bi等[5]使用自下而上的視覺注意力機制來選擇整個檢測場景中的突出候選區域。Corbane等[6]提出了一種基于統計方法、數學形態學和其他信號處理技術(例如小波分析和Radon變換)的完整的船舶檢測處理鏈。
盡管以上這些基于機器學習的檢測算法顯示出令人鼓舞的性能,但它們在復雜場景中的實用性較差。隨著深度卷積神經網絡在目標檢測中的應用,基于深度學習的檢測算法也廣泛應用于遙感檢測中。Kang等[7]采用Faster R-CNN[8]生成區域建議框,然后識別小對象,從而重新評估檢測網絡中分類得分相對較低的邊界框。Zhang等[9]提出了一種基于卷積神經網絡的新的船舶檢測模型,稱為SCNN,結合了從船舶模型中提取特征的特殊設計的建議,并改進了顯著性檢測方法。Kang等[10]用多層融合構建了一個基于上下文區域的CNN,這是一個精心設計的深度分層網絡,由具有高分辨率的RPN和具有上下文特征的對象檢測網絡組成。
近幾年的目標檢測算法層出不窮,基于Faster Rcnn的改進也多種多樣,雙階段的目標檢測算法基本圍繞著Faster Rcnn。Dai等[11]針對于Faster Rcnn速度具有缺陷的問題提出一種R-FCN算法,這是一種無全連接,分類和回歸邊界層變為全卷積網絡的算法,保證了分類的位置不變性和回歸的位置可變性,可以大大加快運算速度。Cai等[12]針對于Faster Rcnn的IOU優化閾值取值問題提出了Cascade Rcnn算法,Cascade R-CNN使用不同的IOU閾值,訓練了多個級聯的檢測器Rcnn,通過逐層增大的IOU閾值,提高正樣本的質量,達到提高檢測準確率的目的。
現在前沿的目標檢測算法(如Faster R-CNN,Yolo[13-15]系列、SSD[16]、R-FCN等)基本都是在這些常規數據集上實驗的,但是因為航空遙感圖像有其特殊性(尺度多樣性,視角特殊性,小目標眾多),基于常規數據集訓練的分類器在航空遙感圖像上的檢測效果并不好。
對于圖像中小目標眾多的問題,檢測效果不好的原因主要集中在小目標具有幾十個甚至幾個像素,這就導致目標信息量不大,然而結合多層特征進行預測,通過不同特征的結合使得在最終進行預測的特征具有更強的語義信息,檢測結果也更加準確。Lin等[17]提出了FPN算法,該算法有兩條支路,一條是自上而下反饋網絡,另一條是自下而上的前饋網絡,然后通過橫向連接將二者結合,從而實現多尺度的目標檢測。
為了解決上述問題,我們引入了一種新的、基于端到端、基于區域推薦的目標檢測框架,用于高分辨率衛星圖像中的船舶檢測,它可以處理不同的復雜場景,檢測密集對象。本文使用以ResNet[18]為骨干網絡的Faster Rcnn的算法檢測遙感圖像,利用特征金字塔的特征融合來提高小目標和狹長物體的準確率。
目標檢測算法大致分為兩類:單階段和雙階段的檢測算法。單目標的檢測算法的特點是檢測準確率偏低,檢測速度快;雙目標的檢測算法和單階段相反,檢測速度慢,但是準確率卻很高。Faster Rcnn是雙階段目標檢測算法中的代表算法,為了解決遙感圖像準確率不高的問題,我們選取Faster Rcnn 作為主干檢測網絡框架,然后利用特征融合的思想,提高位置信息和分類信息的識別準確率。
用Faster Rcnn 網絡基于深度學習中卷積網絡,特征,主要分為三個模塊:特征提取網絡,區域選擇網絡,Faster Rcnn。目標檢測器提取出目標框后采取非極大值抑制算法選取最終的目標預測框。
1) 特征提取網絡:特征提取網絡主要采用深層的卷積神經網絡提取圖像中的特征信息,用于目標檢測中的位置回歸和分類。本文選取殘差網絡ResNet作為特征提取網絡。
2) 區域選擇網絡(RPN):區域選擇網絡是針對于Fast Rcnn的改進,RPN可以理解為一種全卷積網絡,該網絡可以進行端到端的訓練,最終目的是為了推薦候選區域。區域選擇網絡利用滑動錨框策略,在每一個特征點預測出K個候選框(三種尺度分別為1282、2562、5122,三種寬高比分別為1 ∶2、1 ∶1、2 ∶1)。
3) 區域池化網絡:特征圖在經過區域選擇網絡后會得到大小相同的候選框,為了使網絡能夠適應不同大小的候選框,保證全連接層的正常運行,選用分塊池化的方式將候選框統一為固定尺寸。我們使用的是最大池化的方式輸出固定尺寸的特征圖。Faster Rcnn的檢測網絡結構如圖1所示。

圖1 Faster Rcnn檢測框架圖
在復雜背景的圖像檢測中,小目標一般只有幾十甚至幾個像素,網絡從這些僅有的少量像素中能提取出的語義信息非常有限。在特征提取過程中,淺層特征具有較高分辨率,有更強的位置信息;深層特征具有較強的語義信息,但位置信息比較粗糙。
本文中采用了特征融合機制,一種由下往上的結構,深層的特征進行上采樣,淺層的特征通過一個的卷積層,然后和上采樣過后的結果直接相加。這種直接相加的方式會增強淺層的分類信息。具體自下而上的結構和自下而上的結構如圖2[19]所示。

圖2 特征融合結構圖
(1) 自下而上的支路。為了檢測網絡能夠得到很好的特征圖,在特征融合的時候,我們定義ResNet的每一個殘差塊輸出為{C2,C3,C4,C5},其對應的特征步長為{4,8,16,32}。
(2) 自頂向下的支路和橫向連接。自頂向下的支路通過上采樣較高金字塔等級的特征將之映射為更高分辨率的特征,這些特征隨后經由橫向連接和自下而上支路上的特征進行結合[20]。橫向連接就是在特征圖{ C2,C3,C4}中分別于{C3,C4,C5}的上采樣進行特征圖融合生成新的特征圖{P2,P3,P4}。自上而下的分支是{C3,C4,C5}上采樣生成的特征圖。各個層之間的關系如下:
(1)
除此之外本文提出針對C5進行下采樣,步長為64,則共有步長為{4,8,16,32,64},此層特征圖定義為P6。具體關系如下:
P6=downsample(C5)
(2)
P5=Conv1×1(C5)
(3)
引入特征融合在多尺度訓練的問題上提供了很好的實現效果,它是一種特征融合方法,可以結合其他最先進的檢測框架使用。特征能夠很好地處理小目標的原因在于:特征融合可以利用經過自上而下模型后的那些上下文信息(高層語義信息)。
特征融合的目的是把從圖像中提取的特征,合并成一個比輸入特征更具有判別能力的特征。對于小目標而言,特征融合增加了特征映射的分辨率(即在更大的特征圖上面進行操作,這樣可以獲得更多關于小目標的有用信息)。
Faster Rcnn是基于anchor框的預選擇算法,Faster Rcnn 選取的是經驗值anchor框,它是在最后一個卷積層的特征圖上,每個像素點稱為一個錨。
上述特征融合中,共有P2、P3、P4、P5、P6等五層,針對每一層我們根據步長大小設定了每一層的基準anchor大小為32、64、128、256、512,每一層定義基于基準anchor的縮放的尺度大小,本文設置為1.0倍,即322、642、1282、2562、5122。同時我們針對每一層也設計了3種寬高比:1 ∶2、1 ∶1、2 ∶1。

圖3 anchor示意圖
Faster Rcnn 的損失函數如下:
Losstotal=Losscls+Lossreg
(4)
損失分為兩部分,分類損失Losscls和回歸Lossreg,用于分類錨選框為正樣本和負樣本的網絡訓練。Lossreg使用的是Smooth L1損失,用于回歸框網絡訓練。
分類損失和回歸損失具體公式如下:
(5)
(6)
式中:i表示錨選框的索引;p表示正樣本的物體的概率;p*代表對應的真實框的概率(當第i個錨選框與真實框間IoU>0.7,認為該錨選框是正樣本;反之IoU<0.3時,認為該錨選框是負樣本;至于那些0.3 (7) 在上文中提到的IOU是計算兩個框之間的重疊程度的衡量指標,從而選擇相應的正負樣本,具體計算如下: (8) 式中:Area(P∩T)是指預測框與真實框之間的重疊面積;Area(P∪T)是指預測框與真實框之間的并集區域面積。 NWPU VHR-10[20]是航天遙感目標檢測數據集,共有800幅圖像,其中包含目標的650幅,目標包括:飛機、艦船、油罐、棒球場、網球場、籃球場、田徑場、港口、橋梁、車輛10個類別。 RSOD 數據集是遙感圖像中物體檢測的開放數據集,包含飛機、操場、立交橋、油桶四類目標,數目分別為:4 993架飛機,191 個操場,180 座立交橋,1 586個油桶。 本文實驗前將實驗數據集按照 Pascal VOC數據集格式進行整理,按比例8 ∶2將數據分為訓練集和測試集。除此之外,我們對數據也會進行處理,數據尺寸處理和圖片像素歸一化處理。對圖像樣本的每個像素減去RGB三通道的數據平均值,使數據可以更好地擬合網絡。 本文選取NWPU VHR-10+RSOD數據集的組合,共選取NWPU VHR-10的650幅圖片,RSOD數據集550幅,選取其中1 000幅作為訓練集,200幅作為測試集,具體分布如圖4所示。我們將目標分為10類:飛機、艦船、油罐、棒球場、網球場、籃球場、田徑場、港口、橋梁、車輛,選取其中飛機、油罐、田徑場、港口,具體的數據集圖片如圖5所示。 圖4 數據集類別分布圖 圖5 數據集部分展示圖 實驗主要在PC端進行。PC主要配置為i7處理器,GPU(GTX-1080TI),內存為32 GB。深度學習框架采用的是Tensorflow。 為增強對比性,在整個訓練過程中初始值設置均為Faster Rcnn論文中的參數,最大迭代25 000次,初始化學習率為0.001,批處理大小設置為 1,decay為0.000 1,動量系數為 0.9,根據損失下降的趨勢,可以適當調節學習率和批處理大小的值,直至訓練數據集輸出的損失函數值小于等于閾值或達到設置的最大迭代次數時停止訓練,得到訓練好的檢測網絡。使用的是隨機梯度下降。 本文采取了ResNet的兩種主干網絡來測試我們的數據集,分別為ResNet-50和ResNet-101。 我們選取兩種檢測框架作為對比,分別使ResNet-50和ResNet-101作為主干網絡檢測,得到相應的查準率、查全率,結果如表1所示。 表1 不同骨干網絡下檢測框架結果 可以看出增加了特征融合的Faster Rcnn相對于原先的檢測框架提高了查準率和查全率。在ResNet-101的主干網絡下,增加了特征融合的Faster Rcnn相對于原先的檢測框架提高了2.6百分點,在ResNet-101的主干網絡下,增加了特征融合的Faster Rcnn相對于原先的檢測框架提高了2.7百分點。 為了證明本文算法比其他改進的Faster Rcnn算法更加優秀,我們對比了比較具有代表性的Faster Rcnn衍生系列算法R-FCN和Cascade Rcnn,結果如表2所示。 表2 不同改進Faster Rcnn檢測框架實驗結果 可以看出,本文的算法比其他基于Faster Rcnn改進的算法效果更加好。本文算法的mAP相較于R-FCN提升了1.4百分點,相較于Cascade Rcnn算法提升了0.3百分點,提升幅度并不大,因為Cascade Rcnn的算法級聯了檢測器,故精度差距不大。 當然我們也對比了目前幾個流行的算法框架:Faster Rcnn, SSD,Yolo v3, RetinaNet[22]。對比結果如表3所示。 表3 不同檢測框架實驗結果 可以看出,Faster Rcnn比SSD和Yolo v3的mAP顯著要高一些,這是由于雙階段目標檢測框架比單階段目標檢測框架查準率高。RetinaNet的mAP比Faster Rcnn要高的原因在于RetinaNet平衡了負樣本和正樣本的損失,而改進的Faster Rcnn明顯高于其他幾個框架。 圖6為Yolo v3、Faster Rcnn和本文算法的P-R曲線,可以看出在復雜訓練集相同的情況下,增加了特征融合的Faster Rcnn比另兩種當前先進算法的代表要更加準確。檢測結果如圖7所示。 圖6 算法P-R圖 圖7 實驗結果展示圖 綜上所述,算法增加了特征融合后提取的特征具有更好的預測性,因為特征強化了特征提取后的位置信息和分類信息的結合,解決深度卷積網絡會存在信息丟失的問題。 本文采用Faster Rcnn作為主要檢測框架,針對于遙感圖像小目標多、目標密集的特點,結合了特征融合的思想,算法基本滿足了遙感目標檢測的需求,準確率相對有所提升,但對于長寬比大的物體的檢測效果還有待進一步的提高。2 實 驗
2.1 數據集


2.2 實驗環境與參數
2.3 實驗結果與分析





3 結 語