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