陳 麗, 王世勇, 高思莉, 譚 暢, 李臨寒
1. 中國(guó)科學(xué)院上海技術(shù)物理研究所, 上海 200083 2. 中國(guó)科學(xué)院大學(xué), 北京 100049 3. 中國(guó)科學(xué)院紅外探測(cè)與成像技術(shù)重點(diǎn)實(shí)驗(yàn)室, 上海 200083
隨著各國(guó)衛(wèi)星數(shù)量的不斷增加、 衛(wèi)星圖像質(zhì)量逐漸提高, 這為海洋安全、 海洋監(jiān)視等相關(guān)研究帶來了新的機(jī)遇。 艦船目標(biāo)檢測(cè)是海洋監(jiān)視的重要手段之一, 在維護(hù)國(guó)家安全、 海上交通、 污染治理、 邊境管理等方面都有廣泛的應(yīng)用。 從1978年開始, 利用遙感圖像檢測(cè)船舶受到越來越多的關(guān)注, 近年來, 這種趨勢(shì)還在繼續(xù)。 其中因可見光圖像分辨率高, 富含豐富的細(xì)節(jié)信息, 有利于目標(biāo)的檢測(cè)和識(shí)別, 因此為現(xiàn)利用光學(xué)遙感圖像進(jìn)行船舶目標(biāo)檢測(cè)的主要研究?jī)?nèi)容[1-3], 但可見光圖像在復(fù)雜背景中難以識(shí)別船舶目標(biāo)。 由于海洋背景容易受到光照條件、 云霧遮掩、 海雜波等影響, 在這種復(fù)雜背景下可見光檢船舶測(cè)精度較低, 不滿足實(shí)際場(chǎng)景的檢測(cè)需求。 因此研究者們引入多光譜圖像, 利用不同目標(biāo)在不同波段下的反射率, 船舶目標(biāo)檢測(cè)提供更多的信息, 用于辨別受到云層、 霧氣、 陰影等干擾的船舶目標(biāo)。 目前, 利用多光譜遙感數(shù)據(jù)的進(jìn)行船舶目標(biāo)檢測(cè)情況如下[4-6]。 文獻(xiàn)[4]利用G和MIR波段提取掩膜, 并結(jié)合NIR與紅波段提取船舶候選區(qū)域, 最后利用決策樹進(jìn)行船舶候選區(qū)域準(zhǔn)確分類, 但該方法只考慮了其光譜信息, 沒有考慮船舶結(jié)構(gòu)形狀等信息。 文獻(xiàn)[5]中提出了由粗到細(xì)粒度的船舶目標(biāo)檢測(cè), 利用不同波段之間的反射率梯度進(jìn)行隨機(jī)森林算法求出獲選區(qū)域, 結(jié)合當(dāng)前流行的CNN檢測(cè)算法提出了輕量級(jí)特征融合網(wǎng)絡(luò)進(jìn)行精細(xì)識(shí)別, 該算法具有97%的精確率, 但需要引用地理數(shù)據(jù)信息制作陸地掩膜, 且算法較為復(fù)雜。 文獻(xiàn)[6]針對(duì)傳統(tǒng)顯著性檢測(cè)算法無法適用于復(fù)雜場(chǎng)景的問題, 將NIR于RGB圖像融合, 對(duì)融合圖像進(jìn)行顯著性檢測(cè), 但該方法只簡(jiǎn)單將NIR與RGB圖像融合, 沒有考慮其波段的光譜特性, 且仍難以適用于有云等場(chǎng)景。
由此可見, 利用光譜信息, 可以在復(fù)雜背景下提取出船舶目標(biāo)。 基于此, 本文提出了一種融合多光譜信息與幾何信息的輕量級(jí)網(wǎng)絡(luò)算法以實(shí)現(xiàn)在各種場(chǎng)景下的艦船目標(biāo)的檢測(cè)算法。
本文提出的融合4個(gè)波段光譜信息和幾何信息的由粗到精細(xì)的輕量型船舶檢測(cè)算法步驟如下:
(1) 數(shù)據(jù)預(yù)處理
衛(wèi)星傳感器最終測(cè)得的地面目標(biāo)總輻射亮度并不是物體的真實(shí)反射率, 其中包含了大氣吸收、 反射和散射引進(jìn)的誤差。 因此, 為獲取物體的真實(shí)反射率需對(duì)其進(jìn)行大氣校正。 對(duì)Sentinel-2衛(wèi)星數(shù)據(jù)level-1C產(chǎn)品進(jìn)行大氣校正, 隨后將獲取的寬幅圖像(10 980×10 980)進(jìn)行裁剪, 并從中篩選出包含船舶的圖像進(jìn)行標(biāo)注, 如圖1所示。
圖1 大氣校正前后圖像對(duì)比
(2) 目標(biāo)粗提取
利用船舶與水體在相同波段下具有不同吸收率的波譜特性, 提出改進(jìn)的水體檢測(cè)算法提取船舶候選區(qū)域, 并分析不同場(chǎng)景下的波段特性, 在檢測(cè)結(jié)果中利用分析結(jié)果做輔助判斷。 隨后對(duì)其進(jìn)行形態(tài)學(xué)濾波閉運(yùn)算, 并用極大值抑制(NMS)算法去除重疊候選區(qū)域, 最終得到候選區(qū)域切片。
(3) 目標(biāo)精檢測(cè)
大型的網(wǎng)絡(luò)需要強(qiáng)大計(jì)算能力和儲(chǔ)存能力, 難以適用于小型設(shè)備, 故構(gòu)建了一個(gè)輕量級(jí)的融合四個(gè)波段光譜信息與幾何信息的LSGFNet(lightweight spectral feature and geometric feature fusion network)網(wǎng)絡(luò)對(duì)候選區(qū)域進(jìn)行船舶目標(biāo)再次確認(rèn)。 其整體流程如圖2所示。
圖2 算法流程圖
遙感影像是基于不同地物對(duì)電磁波的反射以及地物本身的輻射信息產(chǎn)生[7]。 圖3顯示了典型地物的波譜特征。 水的反射主要集中在藍(lán)綠波段, 其他的波段吸收率很強(qiáng), 特別在近紅外、 中紅外波段有很強(qiáng)的吸收帶, 反射率幾乎為零。 根據(jù)水體的這一特點(diǎn), 遙感影像處理中常常利用近紅外波段確定水體的位置和輪廓。 對(duì)于海面圖像, 若去除水體, 即可獲得船舶候選區(qū)域。
圖3 典型地物波譜曲線
在遙感影像處理中研究者們已經(jīng)提出了多種水體提取算法, 常用的方法之一為基于模型分類的光學(xué)影像水體提取法, 可以分為單波段法和多波段法, 其中多波段法又分為譜間關(guān)系法和水體指數(shù)法[8]。 本工作采用水體指數(shù)法。 水體指數(shù)法是利用光譜反射特征強(qiáng)的波段與反射特征弱的波段構(gòu)建比值運(yùn)算, 進(jìn)一步擴(kuò)大二者差異, 從而突出水體信息, 抑制非水體信息。 最早由Mcfeeters利用綠光波段和近紅外波段構(gòu)建了NDWI, 水體在G波段反射率較強(qiáng), NIR吸收率強(qiáng), 而植被、 土壤等地物在NIR的反射率強(qiáng)于G波段的反射率, 可以用于提取水體, 其計(jì)算公式如式(1)
(1)
式(1)中, 當(dāng)NDWI>Th時(shí)為水體, Th為閾值, 通常取0。 但此算法適用于較為純凈的水體, 當(dāng)水中含有其他物質(zhì)時(shí), 反射光譜曲線會(huì)改變, 導(dǎo)致其結(jié)果較差。 如當(dāng)水含有泥沙時(shí), 可見光波段發(fā)射率會(huì)增加, 峰值出現(xiàn)在黃紅區(qū), 此時(shí)用NDWI算法提取水體效果較差。 基于此, 本工作對(duì)NDWI算法進(jìn)行改進(jìn), 以便在水體含有泥沙作用時(shí)仍能較好的檢測(cè)出水體, 改進(jìn)公式如式(2)和式(3)
(2)
MP(x, y)=max(R(x, y),G(x, y),B(x, y))
(3)
式中: (x,y)為圖像坐標(biāo), 求得的值為每一個(gè)像素對(duì)應(yīng)的歸一化水體指數(shù)。
圖4對(duì)比了在含泥沙海水和不含泥沙海水中利用NDWI算法和本算法提取水體對(duì)比圖, 為了便于觀察, 這里將水體檢測(cè)結(jié)果進(jìn)行了取反操作, 即黑的區(qū)域?yàn)樗w, 白色區(qū)域?yàn)榉撬w。
由圖4可以看出, PNDWI算法可以有效提取含泥沙海水的水體檢測(cè), 且對(duì)于不含泥沙海水仍有較好的水體檢測(cè)效果。 對(duì)于不含陸地的海面圖像, 可以通過水體檢測(cè), 獲取船舶候選部分。
同時(shí), 對(duì)船舶、 厚云、 薄云、 平靜海面、 雜波海面5種場(chǎng)景情況進(jìn)行了統(tǒng)計(jì)分析, 每種場(chǎng)景都在不同的圖像上采集8×8區(qū)域的200幅子圖像。 圖5給出了5種場(chǎng)景中4個(gè)波段像素值取值范圍的盒圖以及盒圖的解釋。 每個(gè)盒圖的橫坐標(biāo)1, 2, 3, 4分別對(duì)應(yīng)于R, G, B, NIR 4個(gè)波段, 縱坐標(biāo)為像素值。 在實(shí)際數(shù)據(jù)中總是存在離群點(diǎn)數(shù)據(jù), 如采集薄云中可能包含少量水體, 采用盒圖做統(tǒng)計(jì)分析可以減少離群數(shù)據(jù)導(dǎo)致的整體特征的偏移。
圖4 NDWI和PNDWI對(duì)含泥沙和不含泥沙海水水體提取對(duì)比
從圖5的對(duì)比看出各個(gè)場(chǎng)景均有其分布范圍, 各場(chǎng)景像素值范圍存在一定的交叉。 但在NIR波段, 可將其他場(chǎng)景與平靜海面場(chǎng)景進(jìn)行區(qū)別, 因此這里將設(shè)定閾值, 當(dāng)其小于閾值T時(shí), 判定為平靜海面。 將其作為水體檢測(cè)后的輔助判斷, 在此T取值為55。 圖6顯示了在水體檢測(cè)后加入輔助判斷的效果。
圖5 5種場(chǎng)景在4個(gè)波段中像素值的統(tǒng)計(jì)盒圖以及盒圖解釋
圖6 輔助判斷過程
同一船舶由于其不同部件由不同的材料構(gòu)造, 且呈現(xiàn)不同的顏色, 因此, 用上述算法猜測(cè)出的船舶候選區(qū)域可能出現(xiàn)船體殘缺或只檢測(cè)到了船舶輪廓等情況。 為防止后續(xù)切片提取時(shí)將同一部分的候選區(qū)域劃分為兩部分, 對(duì)其進(jìn)行形態(tài)學(xué)濾波閉運(yùn)算使其保持為同一部分。 其公式如式(4)
g·B=(g⊕B)?B
(4)
式(4)中,g表示原圖,B表示為結(jié)構(gòu)元素, ·表示閉運(yùn)算, ⊕以及?分別代表膨脹和腐蝕操作。
通過上述步驟, 即可進(jìn)行船舶候選區(qū)域粗提取。 選取以候選區(qū)域?yàn)橹行狞c(diǎn)的32×32像素的候選區(qū)域切片, 此步驟是為防止船舶被多個(gè)切片檢測(cè)到, 對(duì)候選區(qū)域切片做非極大值抑制(non maximum suppression, NMS)。 當(dāng)切片之間的重疊面積(IoU)大于0.1時(shí), 即采用二值圖中像素點(diǎn)多的切片。 重疊面積計(jì)算公式如式(5)
(5)
式(5)中,A和B分別為兩個(gè)切片坐標(biāo)位置的面積。
圖7為最后提取的切片在RGB圖像中的示意圖。 由圖7看出候選區(qū)域中存在非船舶的情況, 需要進(jìn)一步精細(xì)檢測(cè)。
圖7 候選區(qū)域切片提取實(shí)列
隨著卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺檢測(cè)任務(wù)中的大放異彩, 已有一些研究者們將其應(yīng)用于船舶檢測(cè)[9-11]。 但這些網(wǎng)絡(luò)大而復(fù)雜需要足夠大的計(jì)算能力和儲(chǔ)存能力, 難以滿足移動(dòng)或嵌入式設(shè)備儲(chǔ)存能力和計(jì)算能力小的實(shí)際需求。 在這種情況下, 有研究者們建議使用輕量級(jí)模型。 輕量化模型設(shè)計(jì)思想為在模型性能(精度)損失較小的情況下, 降低模型大小, 同時(shí)提升模型速度。 現(xiàn)在典型的輕量級(jí)網(wǎng)絡(luò)模型如ResNet[12]、 MobileNetV2[13]、 ShuffleNetV2[14]均在圖像識(shí)別鄰域取得了較好的效果。 本工作結(jié)合ShuffleNet網(wǎng)絡(luò)特點(diǎn)改進(jìn)了ResNet網(wǎng)絡(luò)構(gòu)建了一個(gè)輕量級(jí)的融合四個(gè)波段光譜信息與幾何信息的LSGFNet(lightweight spectral feature and geometric feature fusion network)網(wǎng)絡(luò)。
LSGFNet網(wǎng)絡(luò)做了如下設(shè)想, 認(rèn)為1×1卷積提取的為波譜信息, 而3×3卷積提取的為形態(tài)信息。 對(duì)于圖像上的每一個(gè)像素點(diǎn), 都具有四個(gè)波段的光譜信息, 通過不斷的網(wǎng)絡(luò)傳遞可尋找到可將船舶與非船舶進(jìn)行區(qū)分的特征, 如圖8(a)所示為其中某點(diǎn)的4個(gè)通道, 通過神經(jīng)網(wǎng)絡(luò)的傳遞可以預(yù)測(cè)出該點(diǎn)為船舶的概率, 這里通過神經(jīng)網(wǎng)絡(luò)將各波段的光譜信息考慮其中, 提取的是光譜特征。 將其對(duì)應(yīng)到圖像中即為1×1卷積, 如圖8(b)所示。
圖8 (a)光譜特征提取示意圖, (b)1×1卷積示意圖
而對(duì)于3×3卷積, 其擁有更大的感受野, 可以看作為特征探測(cè)器或者邊緣檢測(cè)器, 當(dāng)網(wǎng)絡(luò)程度加深時(shí)即獲取了船舶的幾何信息。
網(wǎng)絡(luò)融合波譜特性和幾何特性時(shí), 為了防止1×1卷積與3×3卷積導(dǎo)致的“信息交流不通暢”的問題, 引入了ShuffleNet中的特征通道有序打亂的步驟, 以解決“信息流通問題”, 圖9展示了改進(jìn)模型引用ShuffleNet中的通道打亂示意圖。
圖9 通道打亂示意圖
LSGFNet網(wǎng)絡(luò)網(wǎng)絡(luò)結(jié)構(gòu)包含了3個(gè)結(jié)構(gòu)塊, 在每一個(gè)塊結(jié)構(gòu)之前, 需要將卷積結(jié)果進(jìn)行融合并利用Channel shuffle進(jìn)行通道打亂, 每個(gè)塊中不采用池化層直接利用的卷積步長(zhǎng)均為2實(shí)現(xiàn)圖像下采樣。 在網(wǎng)絡(luò)中的其他卷積均采用步長(zhǎng)為1。 在結(jié)構(gòu)塊后加入1×1卷積加深通道深度, 隨后利用平均池化的方式進(jìn)行映射, 最后利用兩個(gè)全連接層輸出結(jié)果。 設(shè)計(jì)的LSGFNet網(wǎng)絡(luò)結(jié)構(gòu)如圖10所示。
圖10 LSGFNet網(wǎng)絡(luò)結(jié)構(gòu)圖
采用公開的Sentinel-2衛(wèi)星光學(xué)遙感相機(jī)采集的2021年的R, G, B和NIR四波段多光譜圖像作為實(shí)驗(yàn)素材, 其4個(gè)波段的分辨率均為10 m。 其中R, G, B和NIR的中心波長(zhǎng)范圍分別為0.490, 0.560, 0.665和0.842 nm。 對(duì)于不同場(chǎng)景選取1 120組數(shù)據(jù)進(jìn)行實(shí)驗(yàn), 圖片大小為512×512。 數(shù)據(jù)圖像中船舶大小所占像素為10~320, 即小船在2×5個(gè)像元左右, 大船在8×40個(gè)像元左右。
在精檢測(cè)網(wǎng)絡(luò)中獲取船舶2 617組數(shù)據(jù), 非船舶(即云、 島嶼、 海浪雜波等干擾)3 424組數(shù)據(jù)。 將圖像數(shù)據(jù)分為訓(xùn)練集、 驗(yàn)證集和測(cè)試集3部分, 比例為7∶2∶1。 部分?jǐn)?shù)據(jù)集數(shù)據(jù)樣本如圖11所示。
圖11 精檢測(cè)部分?jǐn)?shù)據(jù)樣本
采用查全率(Recall)作為粗檢測(cè)結(jié)果的評(píng)價(jià)指標(biāo), 用精確率(Precision)、 Params和FLOPs(Floating Point Operations)作為精檢測(cè)網(wǎng)絡(luò)的評(píng)價(jià)指標(biāo)。 查全率是指正確預(yù)測(cè)為正的船舶占所有真實(shí)為正的比例; 精確率是指正確預(yù)測(cè)為正的船舶占所有預(yù)測(cè)為正的比例; AP是Precision-Recall曲線下的面積, 用于分析模型檢測(cè)的優(yōu)缺點(diǎn)。 FLOPs即模型的運(yùn)算次數(shù), 也稱為時(shí)間復(fù)雜度; Params為模型的參數(shù)量。 Recall和Precision計(jì)算公式如式(6)—式(8)
(6)
(7)
(8)
式中:PT為樣本為正并且預(yù)估為正的比例;PF為樣本為負(fù)預(yù)估為正的比例;NF為樣本為正預(yù)估為負(fù)的比例。
首先對(duì)粗檢測(cè)算法進(jìn)行分析, 表1給出了粗檢測(cè)結(jié)果。
表1 船舶粗檢測(cè)結(jié)果
然后, 將本精檢測(cè)算法與現(xiàn)有的典型輕量級(jí)算法進(jìn)行了對(duì)比, batchsize=128, 初始學(xué)習(xí)率learningrate=0.1, epoch=300。 交叉熵作為損失函數(shù), 選用隨機(jī)最速下降法SGD為梯度下降函數(shù), momentum=0.9, 權(quán)重衰減值weight_decay=0.00004。 每次卷積之后均用了batch normalize, 激活函數(shù)為relu。 表2為各算法在測(cè)試集的精確率以及各算法的復(fù)雜度和參數(shù)量。 圖12分別為各算法迭代10 000次的驗(yàn)證集損失下降圖和精確率變化圖, 各算法采用相同的參數(shù)配置。
表2 測(cè)試集輕量型網(wǎng)絡(luò)算法對(duì)比
由表2可見各算法之間在測(cè)試集上的識(shí)別精確度相差不大, LSGFNet網(wǎng)絡(luò)的時(shí)間復(fù)雜度和運(yùn)算參數(shù)均遠(yuǎn)小于其他算法, 但其在測(cè)試集上的識(shí)別精確率為96.04%, 略高于其他算法。 圖12為在驗(yàn)證集上的迭代10 000次的損失下降圖和精確率變化圖, 由圖12可以看出LSGFNet網(wǎng)絡(luò)能夠更快的擬合且取得更好的效果。 結(jié)合粗檢測(cè)與精細(xì)檢測(cè), 將本文算法與典型算法Yolov3, SSD等進(jìn)行了對(duì)比, 其中IoU(Intersection over Union)閾值為0.5, 結(jié)果如表3所示。
圖12 驗(yàn)證集迭代10 000次損失下降(a)和精確率變化(b)
由表3結(jié)果可以看出, 本算法比YoloV3, SSD算法的mAP值更高, 檢測(cè)效果更好。 這是因?yàn)樗鶛z測(cè)的船舶均為較小的船舶, 且只有船舶一種目標(biāo), 過深的網(wǎng)絡(luò)容易導(dǎo)致過擬合, 因此本算法比其他算法效果更好。 圖13展示了本算法在不同場(chǎng)景下的檢測(cè)效果。
表3 各算法檢測(cè)結(jié)果對(duì)比
圖13 檢測(cè)結(jié)果
本算法利用四波段遙感圖像, 分析光譜信息, 有效的解決了在低儲(chǔ)存低計(jì)算能力下從復(fù)雜背景中檢測(cè)船舶目標(biāo)的問題。 算法使用了由粗到精細(xì)的檢測(cè)手段。 在粗檢測(cè)網(wǎng)絡(luò)中, 利用改進(jìn)的水體檢測(cè)算法結(jié)合NIR像素值取值范圍輔助判斷獲取船舶候選區(qū)域。 隨后, 設(shè)計(jì)了輕量級(jí)LSGFNet網(wǎng)絡(luò), 并對(duì)候選區(qū)域進(jìn)行精細(xì)識(shí)別, 其中粗檢測(cè)查全率為98.99%。 LSGFNet網(wǎng)絡(luò)算法結(jié)合了1×1與3×3兩種卷積模式, 分別提取了4個(gè)波段的光譜特性與幾何特性, 并對(duì)其進(jìn)行了融合處理, 最后精檢測(cè)網(wǎng)絡(luò)檢測(cè)精確率為96.04%。同時(shí)將LSG-FNet與其他輕量級(jí)網(wǎng)絡(luò)進(jìn)行了對(duì)比, LSGFNet網(wǎng)絡(luò)時(shí)間復(fù)雜度和模型參數(shù)量均最小, 說明本模型更輕量, 同時(shí)檢測(cè)精度略高其他網(wǎng)絡(luò)。 最后將本算法整體應(yīng)用到了Sentinel-2衛(wèi)星數(shù)據(jù), 實(shí)驗(yàn)結(jié)果表明, 本算法能夠在云層、 霧、 海浪雜波干擾的復(fù)雜背景中檢測(cè)到船舶, 不同場(chǎng)景下的平均精確率為92.98%。 與現(xiàn)有的SSD, YOLOV3算法對(duì)比, 本算法AP值更高, 且無需強(qiáng)大的計(jì)算能力和儲(chǔ)存能力, 更有助于小型設(shè)備進(jìn)行船舶監(jiān)測(cè)。