摘" 要:使用Unet深度學習技術(shù),引入注意力機制CBAM(Convolutional Block Attention Module)動態(tài)捕捉圖像的關(guān)鍵特征信息,并根據(jù)每個通道的重要性自適應地調(diào)整注意力權(quán)重,增強水體識別模型的表達能力和性能。通過實驗驗證,相比Unet水體識別模型,CBAM+Unet水體識別模型識別的河流在寬度、走向、輪廓上更接近真實河流,而且對河流的邊線識別也更加精細,該模型的準確率、精確率、召回率、F1值、Kappa系數(shù)各項指標分別達到98.24%、98.73%、99.32%、99.02%、89.77%,Kappa系數(shù)和 Unet相比提高8.52%,說明CBAM+Unet水體識別模型具有更高的識別精度和水邊線提取能力。
關(guān)鍵詞:水體; 遙感影像;語義分割;Unet;CBAM
中圖分類號:X87 文獻標志碼:A 文章編號:1673-9655(2024)05-00-06
0 引言
隨著遙感技術(shù)的發(fā)展,利用遙感影像進行水體識別開始應用在環(huán)境保護、水資源管理等領(lǐng)域中,如何提高水體識別的精度和可靠性對于保護和管理水資源具有重要意義。
傳統(tǒng)的水體識別方法有閾值分割法[1,2]、邊緣檢測算子法[3,4]、數(shù)據(jù)挖掘法[5,6]、面向?qū)ο蠓╗7,8]等,但是這些方法在準確性和效率方面存在一定的局限性。深度學習技術(shù)具有特征自主學習、避免人工干預、效果顯著等優(yōu)點,目前已廣泛應用于圖像的語義分割領(lǐng)域[9,10],而對遙感影像進行水體識別也屬于圖像語義分割,因此可以借助深度學習技術(shù)構(gòu)建水體識別模型,以提高水體識別的精度和效果。
在處理遙感影像水體識別問題時,由于水體的形狀和顏色特征多樣且復雜,存在水體識別精度低、水邊線提取能力欠佳的問題。為了解決這些問題,本文結(jié)合CBAM和Unet構(gòu)建水體識別模型,以提高水體識別模型的性能和準確性。具體而言,在Unet的編碼器和解碼器中引入CBAM模塊,用于引導網(wǎng)絡學習更有代表性的水體特征,并通過融合多層次的注意力信息,更好地捕捉不同尺度下的水體形狀和紋理細節(jié),從而提高水體識別的準確性。
1 網(wǎng)絡模型理論基礎
1.1 Unet神經(jīng)網(wǎng)絡
深度卷積神經(jīng)網(wǎng)絡Unet[12]是一種常用于圖像分割任務的卷積神經(jīng)網(wǎng)絡架構(gòu),它的特點是采用編碼器-解碼器結(jié)構(gòu)有效捕捉不同尺度和語義的特征,整個網(wǎng)絡可以看作是一個對稱的U形結(jié)構(gòu),因此命名為Unet。
Unet的網(wǎng)絡結(jié)構(gòu)包括主干特征提取網(wǎng)絡、加強特征提取網(wǎng)絡、預測網(wǎng)絡共計三個部分,如圖1所示。
主干特征提取網(wǎng)絡是提取輸入數(shù)據(jù)高級特征表示的核心,由卷積層和池化層組成;加強特征提取網(wǎng)絡能夠進一步提取更好的特征進行特征融合;預測網(wǎng)絡接受輸入數(shù)據(jù)并通過學習來預測相關(guān)輸出,對于圖像分類任務,在利用有效特征層后需要進行通道數(shù)的調(diào)整,可通過一次1*1卷積實現(xiàn)。
1.2 注意力機制CBAM
CBAM注意力機制是卷積神經(jīng)網(wǎng)絡中廣泛應用的一種自適應學習特征重要性的機制,可以提高網(wǎng)絡性能。它由通道注意力和空間注意力兩個模塊組成,通道注意力模塊用于學習各個通道在特征提取中的重要性并加權(quán)平均處理,空間注意力模塊用于學習各個位置在特征提取中的重要性并加權(quán)平均處理。具體來說,CBAM的作用包括以下幾個方面:①加強特征表示:CBAM的通道注意力機制可以自適應地調(diào)整每個通道的權(quán)重,提高關(guān)鍵特征的表達能力,強化模型在特征表示方面的能力。②凸顯目標區(qū)域:空間注意力機制可以自適應地對特征圖在空間維度上進行加權(quán),從而能夠凸顯與主要目標相關(guān)的區(qū)域,抑制噪聲和無關(guān)信息。③減少計算量:CBAM中的注意力機制可以幫助模型在訓練中自適應地選擇重要的特征通道和空間位置,從而能夠在一定程度上減少計算量,提升模型的運行速度和效率。
1.3 CBAM與Unet的融合
已有研究表明,注意力機制可以通過加權(quán)較低級別的信息來提高視覺信息處理的效率與準確性[13]。為了進一步提升Unet在水體識別任務中的表現(xiàn),可以將CBAM注意力機制添加到Unet的加強特征提取網(wǎng)絡內(nèi),使網(wǎng)絡能更加細致地進行特征選擇和重要性評估,從而增強模型對水體的感知能力。
在Unet加強特征提取網(wǎng)絡中添加CBAM的方法如圖2所示。在編碼器部分,CBAM可以被添加在每個卷積塊之后,用于學習通道注意力和空間注意力,使得網(wǎng)絡更關(guān)注對水體識別具有顯著影響的通道,通過對特征圖進行高斯卷積、全局平均池化等預處理操作,幫助網(wǎng)絡更加準確地確定每個位置的重要性權(quán)重。這樣的設計使網(wǎng)絡能夠更好地理解和利用特征圖中水體的空間分布特征。
2 數(shù)據(jù)集制備
本次實驗選取福建省閩江及其支流的水域作為研究區(qū)域,圖3是研究區(qū)域的影像,所標注的影像。
在遙感影像的水體提取研究中,使用最廣泛的是多光譜遙感影像數(shù)據(jù),最常用的是中等空間分辨率的衛(wèi)星影像,通常為5~200 m,本文采用Landset8衛(wèi)星的歷史遙感影像為數(shù)據(jù)源(下載地址為https://www.gscloud.cn/),空間分辨率為30 m,本文實驗使用R、G、B 3 個顏色通道。
原始的遙感影像需要進行一系列的處理,以消除噪聲、改善數(shù)據(jù)質(zhì)量和準確地定位圖像像元,以便從中提取所需的地物信息。本文使用ENVI 5.3對遙感影像進行預處理,圖4為原始遙感影像,對遙感影像進行輻射定標、大氣校正,可以得到如圖5所示的影像,再對遙感影像中水體的不同區(qū)域進行裁剪,即可得到具有不同特點的水體樣本。按照此方法本次實驗共制作了240個樣本作為訓練集。
利用深度學習技術(shù)進行水體識別時,還需要對原始樣本制作水體標注樣本,樣本標注是構(gòu)建水體識別訓練集的重要環(huán)節(jié)。本文使用labelme軟件[11]來標注圖像中的水體信息,圖6為一個樣本的標注過程。
3 實驗設置
由于原始樣本為.jpg文件、標注樣本為.json文件,對樣本數(shù)據(jù)集進行訓練之前,需要將標注樣本轉(zhuǎn)換成.png標簽文件,標簽文件為8位彩色圖。生成標簽文件后,則可以將樣本數(shù)據(jù)集按照9:1比例劃分為訓練集和驗證集。
訓練模型的參數(shù)設置非常關(guān)鍵,合理的參數(shù)設置可以提高模型的性能和效果,實驗需要的參數(shù)及設置如下:①Num_class表示分類類別的數(shù)量,水體識別中水體作為一類、其他地物為一類,因此Num_class設置為2;②Epoch表示神經(jīng)網(wǎng)絡的迭代次數(shù),通過實驗對比,將Epoch值設置為50;③Batchsize表示批處理大小,設置為2;④學習率是每次迭代中參數(shù)更新的幅度,設置為Le-4;⑤激活函數(shù)采用了ReLU函數(shù),它可以增加模型的非線性特性、提高表達能力和避免梯度消失問題;⑥損失函數(shù)用于衡量預測分割結(jié)果與真實結(jié)果之間的相似度,選用Dice Loss和Focal Loss作為損失函數(shù);⑦優(yōu)化器選取了Adam,因為它可以根據(jù)當前參數(shù)的梯度和其歷史梯度來更新模型參數(shù);⑧輸入圖像大小統(tǒng)一為256*256。具體如表1所示。
4 水體識別模型訓練
參數(shù)設置完成后,就可以對水體識別模型開始進行訓練,圖7展示了CBAM+Unet水體識別模型在50個Epoch中損失函數(shù)值(loss值)的變化曲線,train loss代表模型在訓練集上的loss值,而val loss代表模型在驗證集上的loss值,圖8展示了50個Epoch中平均交并比(mIoU)的變化曲線。
從圖7中可以看出,trainloss和valloss在前10個Epoch中下降迅速,到第10個Epoch就降到了較低的水平且之后的變化幅度非常小。同時從圖8中可以看出,mIoU值在前10個Epoch中迅速上升,到第10個Epoch達到了較高水平且之后變化幅度很小。這表明水體識別模型在訓練早期階段能夠快速學習水體特征并取得較好的識別結(jié)果,說明CBAM+Unet水體識別模型的學習能力很強。
另外,實驗中對每經(jīng)過10個Epoch的驗證集mIoU、平均像素準確率(mPA)、準確率(Accuracy)指標值進行了記錄,具體如表2所示。從表2可以看出,mIoU、mPA、Accuracy值在第10個Epoch時已經(jīng)達到了很高,后面隨著Epoch的增加指標值提升不多,表明CBAM+Unet水體識別模型的訓練過程中在驗證集上表現(xiàn)良好、具有較高的準確性和性能,這對模型訓練是一個積極的信號,說明水體識別模型已經(jīng)學習到了數(shù)據(jù)的規(guī)律,并且能夠較好地推廣到未見過的數(shù)據(jù)上。
CBAM+Unet水體識別模型經(jīng)過50個Epoch的訓練后,最終得到訓練好的模型。將訓練好的模型進行保存,可以在有新的水體識別任務時加載模型進行預測。保存模型時通常將模型的權(quán)重參數(shù)保存為一個文件,這樣可以在之后的預測過程中加載這些權(quán)重,保存模型權(quán)重不僅有助于減少存儲空間,并且加載速度比較快。
5 模型評估
為了對CBAM+Unet水體識別模型的性能進行評估,另外選取三幅影像作為測試集,用該模型和Unet水體識別模型分別對水體進行識別,并對兩種模型的識別精度進行對比。圖9給出了原始圖像和識別后的圖像,其中,a行顯示的是原始圖像,b行顯示的是Unet水體識別模型的識別結(jié)果,c行顯示的是CBAM+Unet水體識別模型的識別結(jié)果。
將圖9中b行和a行對應圖像進行對比可以看出,圖(b-1)、(b-2)、(b-3)中水體與圖(a-1)、(a-2)、(a-3)中水體在長度上基本一致,但在寬度上卻明顯變窄,尤其是河流轉(zhuǎn)角處相差較大,水體面積相比真實水域也明顯較小。原始河流輪廓蜿蜒曲折,圖9b中識別出來的河流輪廓卻很平滑,說明Unet水體識別模型的識別精度較低,對水體邊線的提取能力較差。
對比圖9中c行和a行的對應圖像可以看出,圖(c-1)、(c-2)、(c-3)中水體在長度和寬度上和圖(a-1)、(a-2)、(a-3)中的真實水體都具有較高的相似度,河流轉(zhuǎn)角處與真實水體相差也較小,而且識別出來的河流曲折程度與真實河流相似度很高、流輪廓基本一致,說明CBAM+Unet水體識別模型的識別精度較高、水體邊線的提取能力較好。
對比c行和b行的圖像可以看出,c行圖像的水體面積明顯增大,而且河流轉(zhuǎn)角處的邊線也更加精細,河流彎曲情況、輪廓上更接近真實河流,說明CBAM+Unet水體識別模型相對Unet水體識別模型具有更精細的識別能力,識別的水體邊線也更加清晰。
對圖9中的水體識別結(jié)果,進一步利用混淆矩陣計算出Unet水體識別模型和CBAM+Unet水體識別模型的精確率Accuracy、準確率Precision 、召回率、F1值和Kappa系數(shù)等指標,評估兩種模型的分類準確性和綜合性能。
混淆矩陣是一個二維矩陣,由真正例TP、假正例TN、真反例FP、假反例FN四個元素組成,根據(jù)水體提取圖像的預測結(jié)果與實際結(jié)果進行對比,可以統(tǒng)計出每種情況下的像元數(shù)量。各個評教指標的意義和計算如下:①精確率表示被分類為正例的像元中真正例的比例,計算方法如公式(1)所示;②準確率是正確預測的像元數(shù)量占總像元數(shù)量的比例,計算方法如公式(2)所示;③召回率表示被分類為正例的像元中真正例的比例,計算公式如(3)所示;④F1值是精確率和召回率的調(diào)和平均值,用于綜合評估模型的分類準確性,計算方法如公式(4)所示;⑤Kappa系數(shù)用于衡量分類的一致性,其中考慮了隨機分類精度Pe,Pe的計算方法如公式(5)所示,Kappa系數(shù)計算如公式(6)所示。
(1)
(2)
(3)
(4)
(5)
(6)
根據(jù)圖9中測試集的水體提取結(jié)果,構(gòu)建二分類混淆矩陣后,進一步計算出精確率、Kappa系數(shù)、召回率和F1值如表3所示。
由表3的評估結(jié)果可以看出,CBAM+Unet水體識別模型的精確率、準確率、召回率、F1值和Kappa系數(shù)值相比Unet水體識別模型都有明顯提高,說明CBAM注意力機制的引入明顯改善了Unet在水體識別任務上的性能。具體來說,準確率的提高說明CBAM+Unet水體識別模型能更準確地識別水體區(qū)域、減少了錯誤的分類;精確率和召回率的提高,代表CBAM+Unet水體識別模型在識別正分類(水體)時更加準確;F1值提高表明CBAM+Unet水體識別模型的綜合性能更好;Kappa系數(shù)的明顯提高(提高8.52%),代表水體分類結(jié)果與實際情況之間的一致性得到了顯著的提升。
6 結(jié) 論
針對水體識別模型在水體邊線提取和水體判別準確性不佳的問題,通過在Unet中加入CBAM注意力機制,結(jié)合通道與空間特征分析,提高水體識別模型的整體精度。實驗表明,CBAM+Unet水體識別模型與Unet水體識別模型相比,在遙感影像的水體提取任務上表現(xiàn)出了更好的精度和性能,能夠更好地提取圖像特征,提高水體分割精確度、分類準確性和一致性。說明CBAM+Unet水體識別模型具有較高的應用價值和優(yōu)越性能,可以為水環(huán)境監(jiān)測與保護、水資源管理等實際應用提供支持和參考。今后,將嘗試使用其他深度學習技術(shù)構(gòu)建水體識別模型,進一步提高水體識別模型的精度。
參考文獻:
[1] 吳一全, 孟天亮, 吳詩婳. 圖像閾值分割方法研究進展20年(1994–2014)[J]. 數(shù)據(jù)采集與處理, 2015, 30(1): 1-23.
[2] LU S L, WU B F, YAN N N, et al. Water body mapping method with HJ-1A/B satellite imagery[J]. International Journal of Applied Earth Observation and Geoinformation, 2011, 13(3): 428-434.
[3] 顧智, 賈培宏, 李功成, 等. 基于Canny算子的海南陵水雙潟湖岸線提取技術(shù)[J]. 第四紀研究, 2016, 36(1): 113-120.
[4] 莊翠蓉. 廈門海岸線遙感動態(tài)監(jiān)測研究[J]. 海洋地質(zhì)動態(tài),2009, 25(4): 13-17.
[5] 李秀梅, 袁承志, 李月洋. 渤海灣海岸帶遙感監(jiān)測及時空變化[J]. 國土資源遙感, 2013, 25(2): 156-163.
[6] QU G Z, YU Q Z, WANG Y F. An improved method for SAR image coastline detection based on despeckling and SVM[C]// IET International Radar Conference 2013. Xi’an: IET, 2013: 1-6.
[7] TOCHAMNANVIT T, MUTTITANON W. Investigation of coastline changes in three provinces of Thailand using remote sensing[C]//ISPRS Technical Commission VIII Mid-Term Symposium 2014. Hyderabad: ISPRS, 2014: 1079–1083.
[8] GE X Z, SUN X L, LIU Z Q. Object-oriented coastline classification and extraction from remote sensing imagery[C]// Remote sensing of the environment: 18th National Symposium on Remote Sensing of China. Wuhan: SPIE, 2014, 9158: 91580M.
[9] 許玥, 馮夢如, 皮家甜, 等. 基于深度學習模型的遙感圖像分割方法[J]. 計算機應用, 2019, 39(10): 2905-2914.
[10] 李越帥, 鄭宏偉, 羅格平, 等. 集成Unet方法的無人機影像胡楊樹冠提取和計數(shù)[J]. 遙感技術(shù)與應用, 2019, 34(5): 939-949.
[11] 曹潔, 羅菊香, 李曉旭. 融入類別信息的圖像標注概率主題模型[J]. 計算機工程與應用, 2017, 53(10): 187-192.
[12] CHEN J X, YANG L, ZHANG Y Z, et al. Combining fully convolutional and recurrent neural networks for 3D biomedical image segmentation[C]//Proceedings of the 30th International Conference on Neural Information Processing Systems. Red Hook: Curran Associates Inc., 2016: 3044-3052.
[13] 宋廷強, 李繼旭, 張信耶. 基于深度學習的高分辨率遙感圖像建筑物識別[J]. 計算機工程與應用, 2020, 56(8): 26-34.
Water Body Recognition by Remote Sensing Images based on CBAM and Unet
SUN Xun1, ZHU Mei-ning1, SONG Jin-ling1, LIUYong2, ZHANG Si-xuan2
(1. School of Mathematics and Information Technology of Hebei Normal University of Science amp; Technology, Hebei Agricultural Data Intelligent Perception and Application Technology Innovation Center, Qinhuangdao Hebei 066004,China)
Abstract: In order to solve these problems, this paper used Unet deep learning technology to introduce the attention mechanism CBAM (Convolutional Block Attention Module)to dynamically capture the key feature information of the image, and adaptively adjust the attention weight according to the importance of each channel to enhance the expressive ability and performance of the water body recognition model. Through experimental verification, compared with the Unet water body recognition model, the river recognized by the CBAM+Unet water body recognition model was closer to the real river in width and direction and contour. The river edge recognition was much better. The accuracy, precision, recall, F1 value and Kappa coefficient of the model reach 98.24%, 98.73%, 99.32%, 99.02% and 89.77%, respectively, and the Kappa coefficient was increased by 8.52% compared with Unet, indicating that the CBAM+Unet water body recognition model indicated higher recognition accuracy and water edge extraction ability.
Key words: coastline; remote sensing images; semantic segmentation; Unet; CBAM
基金項目:河北省省級科技計劃資助(21370103D);2023年度河北省高等學??茖W研究項目(ZC2023123);河北省軟件工程重點實驗室項目(22567637H);河北省軟件工程重點實驗室開放課題(KF2307);河北省農(nóng)業(yè)數(shù)據(jù)智能感知與應用技術(shù)創(chuàng)新中心開放課題(ADIC2023Y006, ADIC2023Y004, ADIC2023Y005)。
作者簡介:孫遜(2000-),男,河北滄州人,碩士研究生,研究方向為實體智能識別。
通信作者:宋金玲(1973-),女,河北灤州人,教授,博士,碩士研究生導師,研究方向為數(shù)據(jù)庫安全與數(shù)據(jù)分析處理。