趙加坤 孫 俊 韓 睿 陳 思
(西安交通大學(xué)軟件學(xué)院 西安 陜西 710049)
隨著科技的不斷發(fā)展,人們對(duì)于圖像處理技術(shù)的需求越來(lái)越大,應(yīng)用方面也更加廣泛。而作為其中重要的組成部分,目標(biāo)檢測(cè)的發(fā)展也是突飛猛進(jìn)。在深度學(xué)習(xí)浪潮到來(lái)之前,目標(biāo)檢測(cè)精度的進(jìn)步十分緩慢,靠傳統(tǒng)依靠手工特征的方法來(lái)提高精度相當(dāng)困難。
目標(biāo)檢測(cè)的主要任務(wù)是從圖像中定位感興趣的目標(biāo),需要準(zhǔn)確判斷每個(gè)目標(biāo)的具體類(lèi)別,并給出每個(gè)目標(biāo)的邊界框。這些年來(lái)目標(biāo)檢測(cè)領(lǐng)域經(jīng)歷了令人印象深刻的進(jìn)展。除了這些改進(jìn),在小目標(biāo)檢測(cè)與大目標(biāo)檢測(cè)領(lǐng)域還是有不小的差距。
在過(guò)去的幾年中,已經(jīng)提出了一些基于機(jī)器學(xué)習(xí)的方法來(lái)進(jìn)行遙感圖像的檢測(cè)[1-3]。Zhu等[4]使用諸如對(duì)比盒算法或半監(jiān)督分層分類(lèi)之類(lèi)的算法來(lái)獲取候選區(qū)域。Bi等[5]使用自下而上的視覺(jué)注意力機(jī)制來(lái)選擇整個(gè)檢測(cè)場(chǎng)景中的突出候選區(qū)域。Corbane等[6]提出了一種基于統(tǒng)計(jì)方法、數(shù)學(xué)形態(tài)學(xué)和其他信號(hào)處理技術(shù)(例如小波分析和Radon變換)的完整的船舶檢測(cè)處理鏈。
盡管以上這些基于機(jī)器學(xué)習(xí)的檢測(cè)算法顯示出令人鼓舞的性能,但它們?cè)趶?fù)雜場(chǎng)景中的實(shí)用性較差。隨著深度卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的應(yīng)用,基于深度學(xué)習(xí)的檢測(cè)算法也廣泛應(yīng)用于遙感檢測(cè)中。Kang等[7]采用Faster R-CNN[8]生成區(qū)域建議框,然后識(shí)別小對(duì)象,從而重新評(píng)估檢測(cè)網(wǎng)絡(luò)中分類(lèi)得分相對(duì)較低的邊界框。Zhang等[9]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的新的船舶檢測(cè)模型,稱(chēng)為SCNN,結(jié)合了從船舶模型中提取特征的特殊設(shè)計(jì)的建議,并改進(jìn)了顯著性檢測(cè)方法。Kang等[10]用多層融合構(gòu)建了一個(gè)基于上下文區(qū)域的CNN,這是一個(gè)精心設(shè)計(jì)的深度分層網(wǎng)絡(luò),由具有高分辨率的RPN和具有上下文特征的對(duì)象檢測(cè)網(wǎng)絡(luò)組成。
近幾年的目標(biāo)檢測(cè)算法層出不窮,基于Faster Rcnn的改進(jìn)也多種多樣,雙階段的目標(biāo)檢測(cè)算法基本圍繞著Faster Rcnn。Dai等[11]針對(duì)于Faster Rcnn速度具有缺陷的問(wèn)題提出一種R-FCN算法,這是一種無(wú)全連接,分類(lèi)和回歸邊界層變?yōu)槿矸e網(wǎng)絡(luò)的算法,保證了分類(lèi)的位置不變性和回歸的位置可變性,可以大大加快運(yùn)算速度。Cai等[12]針對(duì)于Faster Rcnn的IOU優(yōu)化閾值取值問(wèn)題提出了Cascade Rcnn算法,Cascade R-CNN使用不同的IOU閾值,訓(xùn)練了多個(gè)級(jí)聯(lián)的檢測(cè)器Rcnn,通過(guò)逐層增大的IOU閾值,提高正樣本的質(zhì)量,達(dá)到提高檢測(cè)準(zhǔn)確率的目的。
現(xiàn)在前沿的目標(biāo)檢測(cè)算法(如Faster R-CNN,Yolo[13-15]系列、SSD[16]、R-FCN等)基本都是在這些常規(guī)數(shù)據(jù)集上實(shí)驗(yàn)的,但是因?yàn)楹娇者b感圖像有其特殊性(尺度多樣性,視角特殊性,小目標(biāo)眾多),基于常規(guī)數(shù)據(jù)集訓(xùn)練的分類(lèi)器在航空遙感圖像上的檢測(cè)效果并不好。
對(duì)于圖像中小目標(biāo)眾多的問(wèn)題,檢測(cè)效果不好的原因主要集中在小目標(biāo)具有幾十個(gè)甚至幾個(gè)像素,這就導(dǎo)致目標(biāo)信息量不大,然而結(jié)合多層特征進(jìn)行預(yù)測(cè),通過(guò)不同特征的結(jié)合使得在最終進(jìn)行預(yù)測(cè)的特征具有更強(qiáng)的語(yǔ)義信息,檢測(cè)結(jié)果也更加準(zhǔn)確。Lin等[17]提出了FPN算法,該算法有兩條支路,一條是自上而下反饋網(wǎng)絡(luò),另一條是自下而上的前饋網(wǎng)絡(luò),然后通過(guò)橫向連接將二者結(jié)合,從而實(shí)現(xiàn)多尺度的目標(biāo)檢測(cè)。
為了解決上述問(wèn)題,我們引入了一種新的、基于端到端、基于區(qū)域推薦的目標(biāo)檢測(cè)框架,用于高分辨率衛(wèi)星圖像中的船舶檢測(cè),它可以處理不同的復(fù)雜場(chǎng)景,檢測(cè)密集對(duì)象。本文使用以ResNet[18]為骨干網(wǎng)絡(luò)的Faster Rcnn的算法檢測(cè)遙感圖像,利用特征金字塔的特征融合來(lái)提高小目標(biāo)和狹長(zhǎng)物體的準(zhǔn)確率。
目標(biāo)檢測(cè)算法大致分為兩類(lèi):?jiǎn)坞A段和雙階段的檢測(cè)算法。單目標(biāo)的檢測(cè)算法的特點(diǎn)是檢測(cè)準(zhǔn)確率偏低,檢測(cè)速度快;雙目標(biāo)的檢測(cè)算法和單階段相反,檢測(cè)速度慢,但是準(zhǔn)確率卻很高。Faster Rcnn是雙階段目標(biāo)檢測(cè)算法中的代表算法,為了解決遙感圖像準(zhǔn)確率不高的問(wèn)題,我們選取Faster Rcnn 作為主干檢測(cè)網(wǎng)絡(luò)框架,然后利用特征融合的思想,提高位置信息和分類(lèi)信息的識(shí)別準(zhǔn)確率。
用Faster Rcnn 網(wǎng)絡(luò)基于深度學(xué)習(xí)中卷積網(wǎng)絡(luò),特征,主要分為三個(gè)模塊:特征提取網(wǎng)絡(luò),區(qū)域選擇網(wǎng)絡(luò),F(xiàn)aster Rcnn。目標(biāo)檢測(cè)器提取出目標(biāo)框后采取非極大值抑制算法選取最終的目標(biāo)預(yù)測(cè)框。
1) 特征提取網(wǎng)絡(luò):特征提取網(wǎng)絡(luò)主要采用深層的卷積神經(jīng)網(wǎng)絡(luò)提取圖像中的特征信息,用于目標(biāo)檢測(cè)中的位置回歸和分類(lèi)。本文選取殘差網(wǎng)絡(luò)ResNet作為特征提取網(wǎng)絡(luò)。
2) 區(qū)域選擇網(wǎng)絡(luò)(RPN):區(qū)域選擇網(wǎng)絡(luò)是針對(duì)于Fast Rcnn的改進(jìn),RPN可以理解為一種全卷積網(wǎng)絡(luò),該網(wǎng)絡(luò)可以進(jìn)行端到端的訓(xùn)練,最終目的是為了推薦候選區(qū)域。區(qū)域選擇網(wǎng)絡(luò)利用滑動(dòng)錨框策略,在每一個(gè)特征點(diǎn)預(yù)測(cè)出K個(gè)候選框(三種尺度分別為1282、2562、5122,三種寬高比分別為1 ∶2、1 ∶1、2 ∶1)。
3) 區(qū)域池化網(wǎng)絡(luò):特征圖在經(jīng)過(guò)區(qū)域選擇網(wǎng)絡(luò)后會(huì)得到大小相同的候選框,為了使網(wǎng)絡(luò)能夠適應(yīng)不同大小的候選框,保證全連接層的正常運(yùn)行,選用分塊池化的方式將候選框統(tǒng)一為固定尺寸。我們使用的是最大池化的方式輸出固定尺寸的特征圖。Faster Rcnn的檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 Faster Rcnn檢測(cè)框架圖
在復(fù)雜背景的圖像檢測(cè)中,小目標(biāo)一般只有幾十甚至幾個(gè)像素,網(wǎng)絡(luò)從這些僅有的少量像素中能提取出的語(yǔ)義信息非常有限。在特征提取過(guò)程中,淺層特征具有較高分辨率,有更強(qiáng)的位置信息;深層特征具有較強(qiáng)的語(yǔ)義信息,但位置信息比較粗糙。
本文中采用了特征融合機(jī)制,一種由下往上的結(jié)構(gòu),深層的特征進(jìn)行上采樣,淺層的特征通過(guò)一個(gè)的卷積層,然后和上采樣過(guò)后的結(jié)果直接相加。這種直接相加的方式會(huì)增強(qiáng)淺層的分類(lèi)信息。具體自下而上的結(jié)構(gòu)和自下而上的結(jié)構(gòu)如圖2[19]所示。
圖2 特征融合結(jié)構(gòu)圖
(1) 自下而上的支路。為了檢測(cè)網(wǎng)絡(luò)能夠得到很好的特征圖,在特征融合的時(shí)候,我們定義ResNet的每一個(gè)殘差塊輸出為{C2,C3,C4,C5},其對(duì)應(yīng)的特征步長(zhǎng)為{4,8,16,32}。
(2) 自頂向下的支路和橫向連接。自頂向下的支路通過(guò)上采樣較高金字塔等級(jí)的特征將之映射為更高分辨率的特征,這些特征隨后經(jīng)由橫向連接和自下而上支路上的特征進(jìn)行結(jié)合[20]。橫向連接就是在特征圖{ C2,C3,C4}中分別于{C3,C4,C5}的上采樣進(jìn)行特征圖融合生成新的特征圖{P2,P3,P4}。自上而下的分支是{C3,C4,C5}上采樣生成的特征圖。各個(gè)層之間的關(guān)系如下:
(1)
除此之外本文提出針對(duì)C5進(jìn)行下采樣,步長(zhǎng)為64,則共有步長(zhǎng)為{4,8,16,32,64},此層特征圖定義為P6。具體關(guān)系如下:
P6=downsample(C5)
(2)
P5=Conv1×1(C5)
(3)
引入特征融合在多尺度訓(xùn)練的問(wèn)題上提供了很好的實(shí)現(xiàn)效果,它是一種特征融合方法,可以結(jié)合其他最先進(jìn)的檢測(cè)框架使用。特征能夠很好地處理小目標(biāo)的原因在于:特征融合可以利用經(jīng)過(guò)自上而下模型后的那些上下文信息(高層語(yǔ)義信息)。
特征融合的目的是把從圖像中提取的特征,合并成一個(gè)比輸入特征更具有判別能力的特征。對(duì)于小目標(biāo)而言,特征融合增加了特征映射的分辨率(即在更大的特征圖上面進(jìn)行操作,這樣可以獲得更多關(guān)于小目標(biāo)的有用信息)。
Faster Rcnn是基于anchor框的預(yù)選擇算法,F(xiàn)aster Rcnn 選取的是經(jīng)驗(yàn)值anchor框,它是在最后一個(gè)卷積層的特征圖上,每個(gè)像素點(diǎn)稱(chēng)為一個(gè)錨。
上述特征融合中,共有P2、P3、P4、P5、P6等五層,針對(duì)每一層我們根據(jù)步長(zhǎng)大小設(shè)定了每一層的基準(zhǔn)anchor大小為32、64、128、256、512,每一層定義基于基準(zhǔn)anchor的縮放的尺度大小,本文設(shè)置為1.0倍,即322、642、1282、2562、5122。同時(shí)我們針對(duì)每一層也設(shè)計(jì)了3種寬高比:1 ∶2、1 ∶1、2 ∶1。
圖3 anchor示意圖
Faster Rcnn 的損失函數(shù)如下:
Losstotal=Losscls+Lossreg
(4)
損失分為兩部分,分類(lèi)損失Losscls和回歸Lossreg,用于分類(lèi)錨選框?yàn)檎龢颖竞拓?fù)樣本的網(wǎng)絡(luò)訓(xùn)練。Lossreg使用的是Smooth L1損失,用于回歸框網(wǎng)絡(luò)訓(xùn)練。
分類(lèi)損失和回歸損失具體公式如下:
(5)
(6)
式中:i表示錨選框的索引;p表示正樣本的物體的概率;p*代表對(duì)應(yīng)的真實(shí)框的概率(當(dāng)?shù)趇個(gè)錨選框與真實(shí)框間IoU>0.7,認(rèn)為該錨選框是正樣本;反之IoU<0.3時(shí),認(rèn)為該錨選框是負(fù)樣本;至于那些0.3 (7) 在上文中提到的IOU是計(jì)算兩個(gè)框之間的重疊程度的衡量指標(biāo),從而選擇相應(yīng)的正負(fù)樣本,具體計(jì)算如下: (8) 式中:Area(P∩T)是指預(yù)測(cè)框與真實(shí)框之間的重疊面積;Area(P∪T)是指預(yù)測(cè)框與真實(shí)框之間的并集區(qū)域面積。 NWPU VHR-10[20]是航天遙感目標(biāo)檢測(cè)數(shù)據(jù)集,共有800幅圖像,其中包含目標(biāo)的650幅,目標(biāo)包括:飛機(jī)、艦船、油罐、棒球場(chǎng)、網(wǎng)球場(chǎng)、籃球場(chǎng)、田徑場(chǎng)、港口、橋梁、車(chē)輛10個(gè)類(lèi)別。 RSOD 數(shù)據(jù)集是遙感圖像中物體檢測(cè)的開(kāi)放數(shù)據(jù)集,包含飛機(jī)、操場(chǎng)、立交橋、油桶四類(lèi)目標(biāo),數(shù)目分別為:4 993架飛機(jī),191 個(gè)操場(chǎng),180 座立交橋,1 586個(gè)油桶。 本文實(shí)驗(yàn)前將實(shí)驗(yàn)數(shù)據(jù)集按照 Pascal VOC數(shù)據(jù)集格式進(jìn)行整理,按比例8 ∶2將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集。除此之外,我們對(duì)數(shù)據(jù)也會(huì)進(jìn)行處理,數(shù)據(jù)尺寸處理和圖片像素歸一化處理。對(duì)圖像樣本的每個(gè)像素減去RGB三通道的數(shù)據(jù)平均值,使數(shù)據(jù)可以更好地?cái)M合網(wǎng)絡(luò)。 本文選取NWPU VHR-10+RSOD數(shù)據(jù)集的組合,共選取NWPU VHR-10的650幅圖片,RSOD數(shù)據(jù)集550幅,選取其中1 000幅作為訓(xùn)練集,200幅作為測(cè)試集,具體分布如圖4所示。我們將目標(biāo)分為10類(lèi):飛機(jī)、艦船、油罐、棒球場(chǎng)、網(wǎng)球場(chǎng)、籃球場(chǎng)、田徑場(chǎng)、港口、橋梁、車(chē)輛,選取其中飛機(jī)、油罐、田徑場(chǎng)、港口,具體的數(shù)據(jù)集圖片如圖5所示。 圖4 數(shù)據(jù)集類(lèi)別分布圖 圖5 數(shù)據(jù)集部分展示圖 實(shí)驗(yàn)主要在PC端進(jìn)行。PC主要配置為i7處理器,GPU(GTX-1080TI),內(nèi)存為32 GB。深度學(xué)習(xí)框架采用的是Tensorflow。 為增強(qiáng)對(duì)比性,在整個(gè)訓(xùn)練過(guò)程中初始值設(shè)置均為Faster Rcnn論文中的參數(shù),最大迭代25 000次,初始化學(xué)習(xí)率為0.001,批處理大小設(shè)置為 1,decay為0.000 1,動(dòng)量系數(shù)為 0.9,根據(jù)損失下降的趨勢(shì),可以適當(dāng)調(diào)節(jié)學(xué)習(xí)率和批處理大小的值,直至訓(xùn)練數(shù)據(jù)集輸出的損失函數(shù)值小于等于閾值或達(dá)到設(shè)置的最大迭代次數(shù)時(shí)停止訓(xùn)練,得到訓(xùn)練好的檢測(cè)網(wǎng)絡(luò)。使用的是隨機(jī)梯度下降。 本文采取了ResNet的兩種主干網(wǎng)絡(luò)來(lái)測(cè)試我們的數(shù)據(jù)集,分別為ResNet-50和ResNet-101。 我們選取兩種檢測(cè)框架作為對(duì)比,分別使ResNet-50和ResNet-101作為主干網(wǎng)絡(luò)檢測(cè),得到相應(yīng)的查準(zhǔn)率、查全率,結(jié)果如表1所示。 表1 不同骨干網(wǎng)絡(luò)下檢測(cè)框架結(jié)果 可以看出增加了特征融合的Faster Rcnn相對(duì)于原先的檢測(cè)框架提高了查準(zhǔn)率和查全率。在ResNet-101的主干網(wǎng)絡(luò)下,增加了特征融合的Faster Rcnn相對(duì)于原先的檢測(cè)框架提高了2.6百分點(diǎn),在ResNet-101的主干網(wǎng)絡(luò)下,增加了特征融合的Faster Rcnn相對(duì)于原先的檢測(cè)框架提高了2.7百分點(diǎn)。 為了證明本文算法比其他改進(jìn)的Faster Rcnn算法更加優(yōu)秀,我們對(duì)比了比較具有代表性的Faster Rcnn衍生系列算法R-FCN和Cascade Rcnn,結(jié)果如表2所示。 表2 不同改進(jìn)Faster Rcnn檢測(cè)框架實(shí)驗(yàn)結(jié)果 可以看出,本文的算法比其他基于Faster Rcnn改進(jìn)的算法效果更加好。本文算法的mAP相較于R-FCN提升了1.4百分點(diǎn),相較于Cascade Rcnn算法提升了0.3百分點(diǎn),提升幅度并不大,因?yàn)镃ascade Rcnn的算法級(jí)聯(lián)了檢測(cè)器,故精度差距不大。 當(dāng)然我們也對(duì)比了目前幾個(gè)流行的算法框架:Faster Rcnn, SSD,Yolo v3, RetinaNet[22]。對(duì)比結(jié)果如表3所示。 表3 不同檢測(cè)框架實(shí)驗(yàn)結(jié)果 可以看出,F(xiàn)aster Rcnn比SSD和Yolo v3的mAP顯著要高一些,這是由于雙階段目標(biāo)檢測(cè)框架比單階段目標(biāo)檢測(cè)框架查準(zhǔn)率高。RetinaNet的mAP比Faster Rcnn要高的原因在于RetinaNet平衡了負(fù)樣本和正樣本的損失,而改進(jìn)的Faster Rcnn明顯高于其他幾個(gè)框架。 圖6為Yolo v3、Faster Rcnn和本文算法的P-R曲線(xiàn),可以看出在復(fù)雜訓(xùn)練集相同的情況下,增加了特征融合的Faster Rcnn比另兩種當(dāng)前先進(jìn)算法的代表要更加準(zhǔn)確。檢測(cè)結(jié)果如圖7所示。 圖6 算法P-R圖 圖7 實(shí)驗(yàn)結(jié)果展示圖 綜上所述,算法增加了特征融合后提取的特征具有更好的預(yù)測(cè)性,因?yàn)樘卣鲝?qiáng)化了特征提取后的位置信息和分類(lèi)信息的結(jié)合,解決深度卷積網(wǎng)絡(luò)會(huì)存在信息丟失的問(wèn)題。 本文采用Faster Rcnn作為主要檢測(cè)框架,針對(duì)于遙感圖像小目標(biāo)多、目標(biāo)密集的特點(diǎn),結(jié)合了特征融合的思想,算法基本滿(mǎn)足了遙感目標(biāo)檢測(cè)的需求,準(zhǔn)確率相對(duì)有所提升,但對(duì)于長(zhǎng)寬比大的物體的檢測(cè)效果還有待進(jìn)一步的提高。2 實(shí) 驗(yàn)
2.1 數(shù)據(jù)集
2.2 實(shí)驗(yàn)環(huán)境與參數(shù)
2.3 實(shí)驗(yàn)結(jié)果與分析
3 結(jié) 語(yǔ)