江志軍,張舒豪,肖進(jìn)勝,*
1. 錢學(xué)森空間技術(shù)實(shí)驗(yàn)室,北京 100094 2. 中國航天科技集團(tuán)有限公司航天系統(tǒng)發(fā)展研究中心,北京 100094 3. 武漢大學(xué)電子信息學(xué)院,武漢 430072
近年來,隨著航天遙感技術(shù)飛速發(fā)展,遙感衛(wèi)星進(jìn)入“四高”“亞米級(jí)”時(shí)代。高分一號(hào)衛(wèi)星(GF-1)02、03、04星是中國第一個(gè)民用高分辨星座。3顆衛(wèi)星組網(wǎng)后,具備15天全球覆蓋、2天重訪的能力。高分七號(hào)衛(wèi)星(GF-7)是中國首顆民用亞米級(jí)高分辨率立體測(cè)繪衛(wèi)星[1],配置雙線陣相機(jī)和2束激光測(cè)高儀載荷[2], 能夠獲取高空間分辨率立體測(cè)繪遙感數(shù)據(jù)和高精度激光測(cè)高數(shù)據(jù)。高分系列衛(wèi)星能夠獲得大量高分辨率對(duì)地遙感觀測(cè)數(shù)據(jù),其中包含豐富的時(shí)空信息。大量的遙感數(shù)據(jù)中特別是一些島礁影像,往往包含大量的飛機(jī)、輪船等重要的目標(biāo)信息, 研究基于衛(wèi)星遙感的島礁影像多類目標(biāo)智能化提取算法具有重要意義。
島礁目標(biāo)檢測(cè)具有重要的研究及應(yīng)用價(jià)值?;谛l(wèi)星遙感影像的典型目標(biāo)檢測(cè)主要有3種方法和途徑:基于光學(xué)遙感的典型目標(biāo)檢測(cè)、基于SAR圖像的典型目標(biāo)檢測(cè)[3]、基于視頻衛(wèi)星的典型目標(biāo)檢測(cè)[4]。其中,光學(xué)衛(wèi)星遙感影像會(huì)因?yàn)樘鞖庠蚴艿皆旗F的干擾,將嚴(yán)重影響目標(biāo)檢測(cè)的精度。對(duì)于有云霧干擾的光學(xué)遙感圖像,可以首先用去霧算法[5]進(jìn)行預(yù)處理,然后進(jìn)行后續(xù)的檢測(cè)。高分辨率光學(xué)島礁遙感影像包含輪船、飛機(jī)、存儲(chǔ)罐等重要目標(biāo)信息,研究具有高度適應(yīng)能力、實(shí)用化的光學(xué)衛(wèi)星遙感影像多類目標(biāo)提取方法,實(shí)現(xiàn)精準(zhǔn)、快速、魯棒地檢測(cè),是一項(xiàng)非常具有挑戰(zhàn)性的工作,在國防安全領(lǐng)域具有重要的用途。
光學(xué)衛(wèi)星影像目標(biāo)檢測(cè)主要包括預(yù)處理、圖像特征提取、檢測(cè)等階段。一般可以分為傳統(tǒng)目標(biāo)檢測(cè)[6]和基于深度學(xué)習(xí)的目標(biāo)檢測(cè)[7]。傳統(tǒng)目標(biāo)檢測(cè)主要是提取圖像的傳統(tǒng)圖像特征,如方向梯度直方圖(HOG特征)等。然后通過機(jī)器學(xué)習(xí)中的分類方法如支持向量機(jī)(SVM)等進(jìn)行分類。但是這些特征的表達(dá)能力較弱,用于復(fù)雜背景的目標(biāo)檢測(cè)效果并不理想。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法采用深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取。卷積神經(jīng)網(wǎng)絡(luò)不僅可以提取圖像的淺層紋理細(xì)節(jié)特征,還能提取網(wǎng)絡(luò)的高級(jí)語義特征?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法可以分為1階段算法(one-stage)和2階段算法(two-stage)。OverFeat[8]是較早提出的1階段算法,利用多尺度滑動(dòng)窗口進(jìn)行檢測(cè)。YOLO算法[9]將目標(biāo)檢測(cè)看作是回歸問題和分類問題的綜合。隨后,YOLOv2[10]、YOLOv3[11]、YOLOv4[12]相繼問世, 實(shí)現(xiàn)了更快更精確的檢測(cè)效果。文獻(xiàn)[13]提出RetinaNet算法,利用Focal loss函數(shù)緩解one-stage算法中類別不平衡問題。最典型的two-stage算法是Faster R-CNN[14],與one-stage算法相比,two-stage算法具有更高的精度,但是速度較慢。主流的深度學(xué)習(xí)目標(biāo)檢測(cè)算法在自然場(chǎng)景中取得了巨大的成功,但是因?yàn)樾l(wèi)星遙感影像背景復(fù)雜、目標(biāo)尺度不一、觀測(cè)方向各異,這些算法并不適用于衛(wèi)星遙感影像的目標(biāo)檢測(cè)。為了解決這些問題,許多新的算法被提出。例如文獻(xiàn)[15] 提出了一種基于改進(jìn)旋轉(zhuǎn)區(qū)域生成網(wǎng)絡(luò)的遙感圖像目標(biāo)檢測(cè)算法,該算法可以生成帶有不同角度的anchor。
本文參考RetinaNet[13]的網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了一種適用于衛(wèi)星遙感影像多類目標(biāo)檢測(cè)方法,利用ResNet50[16]獲得圖像的特征圖,將不同特征圖進(jìn)行融合,得到含有不同尺度目標(biāo)特征的特征圖,用于后續(xù)的分類和回歸。同時(shí)為了減弱復(fù)雜背景對(duì)目標(biāo)檢測(cè)準(zhǔn)確率的干擾,本文設(shè)計(jì)了特征感知模塊。改進(jìn)的算法和典型1階段算法RetinaNet進(jìn)行對(duì)比試驗(yàn),結(jié)果表明本文提出的算法能夠獲得更好的檢測(cè)結(jié)果,能夠更好地滿足衛(wèi)星遙感影像多類目標(biāo)檢測(cè)的需求。
如圖1所示,RetinaNet是典型的one-stage目標(biāo)檢測(cè)算法。輸入圖像通過ResNet得到一系列的特征圖輸出,然后利用特征金字塔[17](FPN)將這些特征進(jìn)行特征融合,最后將融合后的特征圖輸入到分類和回歸子網(wǎng)絡(luò)。本文對(duì)現(xiàn)有的RetinaNet進(jìn)行了兩方面的改進(jìn)。首先設(shè)計(jì)了一種新的特征融合網(wǎng)絡(luò)MFPN,能同時(shí)利用高層語義特征和低層紋理細(xì)節(jié)特征。然后設(shè)計(jì)了特征感知模塊,利用視覺注意力機(jī)制降低特征圖上的無用信息對(duì)檢測(cè)結(jié)果的影響。
圖1 RetinaNet網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 RetinaNet network structure
為了實(shí)現(xiàn)旋轉(zhuǎn)框檢測(cè),文中用5個(gè)參數(shù)(x,y,w,h,θ)表示任意方向的矩形檢測(cè)框。θ表示旋轉(zhuǎn)檢測(cè)框與x軸的夾角,其范圍為(-90°,0]。網(wǎng)絡(luò)回歸時(shí)需要額外預(yù)測(cè)角度偏移:
(1)
(2)
(3)
(4)
式中:x、y、w、h、θ分別為真實(shí)目標(biāo)邊界框的中心坐標(biāo)、寬度、高度和角度;xa、ya、wa、ha、θa和x′、y′、w′、h′、θ′分別表示網(wǎng)絡(luò)產(chǎn)生的anchor框、預(yù)測(cè)框;t和t′分別為真實(shí)目標(biāo)邊界框和預(yù)測(cè)框與anchor框之間各參數(shù)的偏移。
隨著卷積神經(jīng)網(wǎng)絡(luò)深度的增加,生成特征圖的分辨率逐漸降低,語義特征逐漸增加,特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)是融合多級(jí)信息的有效多尺度方法。由于艦船目標(biāo)、飛機(jī)目標(biāo)和存儲(chǔ)罐目標(biāo)的尺度差異巨大,融合底層細(xì)節(jié)信息和高層語義信息可以提升檢測(cè)效果。RetinaNet使用特征金字塔網(wǎng)絡(luò)(feature pyramid network,F(xiàn)PN)的思想進(jìn)行特征融合,如圖2所示,ResNet50網(wǎng)絡(luò)的輸出為Ci,i=1,2,…,5,經(jīng)過特征融合的特征圖為Pi,i=3,4,…,7。其中P5是C5經(jīng)過1×1的卷積降維得到的。P6是P5經(jīng)過步長為2、卷積核為3×3的卷積操作得到。P7是P6通過步長為2、卷積核為3×3的卷積操作得到。P4是P5經(jīng)過雙線性插值進(jìn)行2倍縮放的結(jié)果和C4相加得到。P3與P4類似,是P4經(jīng)過雙線性插值進(jìn)行2倍縮放的結(jié)果和C3相加得到。RetinaNet的特征融合網(wǎng)絡(luò)充分利用了C3、C4和C5,同時(shí)包含高層的語義信息和低層的紋理細(xì)節(jié)信息。這在自然圖像目標(biāo)檢測(cè)中取得了較好的結(jié)果,但由于衛(wèi)星遙感影像中存在許多尺寸較小的目標(biāo),該特征融合網(wǎng)絡(luò)沒有利用C2的信息,所以對(duì)小目標(biāo)的特征表達(dá)較差。
本文改進(jìn)了RetinaNet的特征融合網(wǎng)絡(luò)。因?yàn)閳D2中的P5和P4層含有高層語義信息,缺少細(xì)節(jié)紋理信息,主要用于檢測(cè)大目標(biāo)。遙感影像中小目標(biāo)檢測(cè)難度較大,因此本文改變了P5和P4的融合方法,充分利用了C2層的細(xì)節(jié)信息。改進(jìn)融合方法如圖3所示,P5是C5經(jīng)過1×1的卷積進(jìn)行降維的結(jié)果和C2經(jīng)過8倍下采樣的結(jié)果相加得到的。P4是C4經(jīng)過1×1的卷積進(jìn)行降維的結(jié)果和C2經(jīng)過4倍下采樣的結(jié)果相加得到的。其他層的融合方式保持不變。本文改進(jìn)的特征融合網(wǎng)絡(luò)充分利用了低層語義特征,更加適合于衛(wèi)星遙感影像多類目標(biāo)檢測(cè)。
圖2 RetinaNet的特征融合網(wǎng)絡(luò)Fig.2 Feature fusion network of RetinaNet
圖3 改進(jìn)的特征融合網(wǎng)絡(luò)Fig.3 Improved feature fusion network
視覺注意力[18]的提出來源于人類的視覺系統(tǒng),人眼看到畫面時(shí)會(huì)專注于感興趣區(qū)域。視覺注意力機(jī)制在不同的計(jì)算機(jī)視覺任務(wù)中取得了巨大成功。特征感知模塊會(huì)專注于信息量最大的區(qū)域,忽略無用的背景信息。衛(wèi)星遙感圖像背景復(fù)雜,在提取的特征中往往會(huì)被復(fù)雜背景噪聲干擾,因此設(shè)計(jì)了特征感知模塊(feature perception module),該模塊自適應(yīng)地更關(guān)注于突出的區(qū)域,降低特征圖中無用信息對(duì)后續(xù)檢測(cè)的影響。特征感知模塊幫助網(wǎng)絡(luò)處理那些背景復(fù)雜、目標(biāo)紋理不清晰和對(duì)比度較低的圖像。如圖4所示,本文提出的特征感知模塊左端的輸入是特征融合網(wǎng)絡(luò)的輸出特征圖P3~P7,輸出是與輸入維度相同的特征圖Fi,i=3,4,…,7。對(duì)于每一個(gè)特征圖Pi,i=3,4,…,7,對(duì)其處理的過程如下:
圖4 特征感知模塊Fig.4 Feature perception module
Ai=σ[φi(Pi)]
(5)
Fi=Ai⊙Pi+Pi
(6)
式(5)中,Pi通過4層3×3的卷積得到φ(Pi)。然后通過Sigmoid函數(shù)將φ(Pi)中的值轉(zhuǎn)化到(0,1)得到Ai,這樣在訓(xùn)練的時(shí)候能夠更快收斂。最后將Pi和Ai對(duì)應(yīng)元素相乘,然后再與Pi相加。通過訓(xùn)練,對(duì)于特征圖中有用的信息,通過與Ai相乘,其值幾乎保持不變,對(duì)于特征圖中的無用信息,其值會(huì)顯著變小。通過相乘操作可以使得網(wǎng)絡(luò)自適應(yīng)地更關(guān)注于更能反映圖像中目標(biāo)特征信息的區(qū)域。另外為了網(wǎng)絡(luò)的穩(wěn)定性,相乘后的特征圖與原始后的相乘圖相加后的結(jié)果用于后續(xù)的檢測(cè),這里的相加操作則參考了殘差網(wǎng)絡(luò)[16]的思想。
本文提出算法的損失函數(shù)分為兩部分,邊界框預(yù)測(cè)回歸損失函數(shù)和分類損失函數(shù)。對(duì)于邊框預(yù)測(cè)回歸問題,通常也可以選擇平方損失函數(shù)(L2損失),但L2范數(shù)的缺點(diǎn)是當(dāng)存在離群點(diǎn)的時(shí)候,這些點(diǎn)會(huì)占loss的主要組成部分。因此本文采用smooth L1 loss損失函數(shù)[14]。focal loss[13]主要是為了解決one-stage目標(biāo)檢測(cè)中正負(fù)樣本比例嚴(yán)重失衡的問題。該損失函數(shù)降低了大量簡單負(fù)樣本在訓(xùn)練中所占的權(quán)重。本文采用focal loss作為分類損失函數(shù)。網(wǎng)絡(luò)總的損失函數(shù)定義為:
(7)
DOTA數(shù)據(jù)集[19]與其他航空遙感數(shù)據(jù)集相比具有數(shù)據(jù)量大、類別更為均衡的特點(diǎn),本文選擇DOTA數(shù)據(jù)集進(jìn)行測(cè)試和訓(xùn)練。DOTA數(shù)據(jù)集包含2 806張遙感圖像,共15個(gè)類別??紤]到島礁常見的典型目標(biāo)為飛機(jī)、存儲(chǔ)罐和艦船,挑出DOTA數(shù)據(jù)集中這3類目標(biāo)進(jìn)行訓(xùn)練和測(cè)試。其中將含有飛機(jī)、存儲(chǔ)罐和艦船的訓(xùn)練集圖片截成600×600像素,共7639張。測(cè)試集圖片數(shù)量為459張,圖片大小約為4 000×4 000像素。使用Ubuntu16.04系統(tǒng),選擇的深度學(xué)習(xí)框架為Tensorflow,用具有6G顯存的GTX 1660Ti進(jìn)行訓(xùn)練和測(cè)試。為了減少運(yùn)算量,使用ResNet50模型在ImageNet數(shù)據(jù)集中學(xué)習(xí)到的預(yù)訓(xùn)練參數(shù)。網(wǎng)絡(luò)訓(xùn)練過程中損失函數(shù)衰減情況如圖5所示。可以看出,當(dāng)訓(xùn)練次數(shù)達(dá)到10萬次時(shí),損失函數(shù)已經(jīng)收斂。本文的測(cè)試指標(biāo)采用的是目標(biāo)檢測(cè)中常用的平均精度 (average presion, AP)和平均精度均值 (mean average precision,mAP)。
圖5 訓(xùn)練過程中損失函數(shù)變化情況Fig.5 Loss function changes during training
為了證明本文提出的改進(jìn)的FPN(improved FPN)和特征感知模塊(FPM)的有效性,利用RetinaNet作為基線網(wǎng)絡(luò)進(jìn)行消融試驗(yàn)。結(jié)果如表1所示。
從表1可以看出,利用改進(jìn)的FPN特征提取網(wǎng)絡(luò)可以將3類目標(biāo)的mAP提高到64.6%。Improved FPN對(duì)船只的檢測(cè)精度提高的最多,提高了1.6%。那是因?yàn)榇坏某叨容^小。Improved FPN充分利用了C2層的底層細(xì)節(jié)信息,提高了對(duì)小目標(biāo)的特征表達(dá)能力。改進(jìn)的FPN結(jié)合特征感知模塊可以將mAP提高到66.5%。這證明了本文提出的Improved FPN和FRM的有效性。
表1 消融試驗(yàn)結(jié)果
為了驗(yàn)證本文算法的有效性,進(jìn)行了對(duì)比試驗(yàn)。選擇了RetinaNet[13]和Faster R-CNN[14]算法。RetinaNet是典型的1階段算法,也是本文算法的基線網(wǎng)絡(luò)。Faster R-CNN是最典型的2階段算法。不同算法的檢測(cè)效果對(duì)比如表2所示。
表2 不同算法結(jié)果對(duì)比
從表2中可以看出,本文算法與1階段算法RetinaNet相比,3類目標(biāo)的AP分別高4.1%、2.5%和2.4%。與2階段算法Faster R-CNN相比,3類目標(biāo)的AP分別高6.0%、2.3%和22.7%。這說明本文算法在遙感影像典型目標(biāo)檢測(cè)中具有一定的優(yōu)勢(shì)。本文算法在DOTA數(shù)據(jù)集上的一些可視化結(jié)果如圖6所示。
圖6 在DOTA數(shù)據(jù)集上的一些檢測(cè)結(jié)果Fig.6 Some detection results on the DOTA dataset
另外,為了證明本文算法的有效性,挑選高分二號(hào)衛(wèi)星(GF-2)拍攝的高分辨率遙感影像進(jìn)行試驗(yàn)。GF-2星下點(diǎn)空間分辨率0.8 m,其影像能夠應(yīng)用于香蕉林[20]等各種典型目標(biāo)信息提取。選取GF-2拍攝的影像,應(yīng)用本文改進(jìn)算法得到的部分檢測(cè)結(jié)果如圖7所示,能夠?qū)崿F(xiàn)對(duì)飛機(jī)、存儲(chǔ)罐等多類典型目標(biāo)的智能化提取。
圖7 在GF-2衛(wèi)星影像上的一些檢測(cè)結(jié)果Fig.7 Some detection results of GF-2 satellite images
本文參考RetinaNet的結(jié)構(gòu),改進(jìn)了Resnet-50輸出特征圖的融合方式,充分利用了C2中的細(xì)節(jié)紋理信息。因?yàn)檫b感圖像背景復(fù)雜,特征圖中會(huì)存在許多噪聲,這些噪聲會(huì)嚴(yán)重影響后續(xù)分類和回歸的精度。本文參考視覺注意力機(jī)制,設(shè)計(jì)了特征感知模塊,減弱了特征圖中的噪聲對(duì)檢測(cè)精度的影響。選擇DOTA數(shù)據(jù)集上的含有船只、飛機(jī)、存儲(chǔ)罐3類目標(biāo)的圖像,進(jìn)行訓(xùn)練和測(cè)試。并在DOTA數(shù)據(jù)集和GF-2拍攝的衛(wèi)星影像上進(jìn)行試驗(yàn)。試驗(yàn)結(jié)果表明,改進(jìn)的算法能夠適用于衛(wèi)星遙感島礁影像多類目標(biāo)智能化提取。但是當(dāng)前的研究也存在一些不足,如沒有探討當(dāng)目標(biāo)緊密排列時(shí)對(duì)檢測(cè)結(jié)果的影響,另外云霧干擾也會(huì)嚴(yán)重影響算法的檢測(cè)效果。在今后的研究中,將盡可能考慮這些因素,并結(jié)合本文遙感圖像目標(biāo)檢測(cè)方法,設(shè)計(jì)一個(gè)對(duì)云霧干擾具有魯棒性,并且能夠適用于緊密排列目標(biāo)的算法。