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