黃德華
(福建省地質(zhì)測繪院,福州,350011)
海灘塑料垃圾的監(jiān)測已成為海洋垃圾監(jiān)測議題的重中之重[1-2]。海灘塑料垃圾監(jiān)測以前主要以人工現(xiàn)場采樣調(diào)查為主[3],該方法費時費力,于是誕生一系列更高效的技術(shù)手段,如視頻監(jiān)測[4]、高分辨率遙感影像監(jiān)測[5]、無人機(jī)遙感影像監(jiān)測[6-7]、人工智能監(jiān)測[8-9]等技術(shù)。前二者監(jiān)測范圍小、成本高,精度低,而后二者結(jié)合監(jiān)測方法具備前二者的優(yōu)勢,越來越受青睞。近年來,已有不少研究項目基于無人機(jī)影像,利用深度學(xué)習(xí)圖像分類[10-11]、目標(biāo)檢測[8-9]領(lǐng)域的模型算法對海灘塑料垃圾進(jìn)行智能識別。其識別尺度為圖像級、對象級,無法達(dá)到像素級別,對于垃圾面積估算有天然劣勢,并不能滿足對面積統(tǒng)計有較高精度的應(yīng)用需求?;跓o人機(jī)影像,利用語義分割網(wǎng)絡(luò)識別塑料垃圾類型多為塑料大類,所用網(wǎng)絡(luò)為簡單的U-net 網(wǎng)絡(luò)及其變種[12-14]。語義分割網(wǎng)絡(luò)從2015 年的FCN[15]、U-net[16]發(fā)展至今,已從最初的CNN 結(jié)構(gòu),發(fā)展到如今的Transformer 結(jié)構(gòu)以及CNN+Transformer 混合結(jié)構(gòu),其分割精度也隨著不同網(wǎng)絡(luò)結(jié)構(gòu)的發(fā)展不斷提高。Transformer 結(jié)構(gòu)相較于傳統(tǒng)的CNN 結(jié)構(gòu),具有更好的并行性和可擴(kuò)展性,能夠處理更大規(guī)模的數(shù)據(jù)集,并且還能夠在不同尺度下進(jìn)行語義分割。同時,基于Transformer結(jié)構(gòu)的語義分割網(wǎng)絡(luò)還具有更好地捕獲全局信息的能力,能夠更好地處理長距離依賴關(guān)系,從而提高模型的精度和魯棒性。而CNN 結(jié)構(gòu)則更擅長處理局部信息,其優(yōu)勢在于參數(shù)共享,比Transformer 結(jié)構(gòu)更加輕量。在實際應(yīng)用場景中,需對塑料大類中的小類進(jìn)行更細(xì)致的分類與統(tǒng)計,需要更為有效的語義分割二分類網(wǎng)絡(luò),除經(jīng)典的CNN 結(jié)構(gòu)語義分割網(wǎng)絡(luò)外,語義分割領(lǐng)域出現(xiàn)了一系列Transformer及CNN+Transformer 結(jié)構(gòu)的網(wǎng)絡(luò),如Transunet、Swin-unet 等[17-18],這些網(wǎng)絡(luò)的出現(xiàn)無疑為實現(xiàn)更有效地分割提供了更為強(qiáng)大的技術(shù)支持。以福建沿海海灘塑料泡沫浮球為例進(jìn)行智能識別,研究設(shè)計實驗,對比了現(xiàn)有3 種主流結(jié)構(gòu)(CNN、CNN+Transformer、Transformer)的語義分割網(wǎng)絡(luò)在海灘塑料泡沫浮球分割的識別效果,為語義分割網(wǎng)絡(luò)在海灘塑料垃圾智能識別的實際應(yīng)用中提供借鑒與技術(shù)參考。
研究采用DJI Matrice M300 RTK 無人機(jī),搭載DJI ZENMUSE P1 相機(jī),有效像素為4 500 萬,具有POS 慣導(dǎo)系統(tǒng),地面基站用的是fjCors。于2022 年8—10 月利用上述型號無人機(jī)載具對福建沿海不同區(qū)域的23 個岸段進(jìn)行航測,航測地點遠(yuǎn)離人口密集區(qū),航高180 m,收集到1 ~3 cm 分辨率的無人機(jī)航拍影像數(shù)據(jù)(圖1)。
圖1 研究區(qū)岸段區(qū)域及對應(yīng)無人機(jī)影像Fig 1 Regional scope of the study area and corresponding UAV image
根據(jù)前期對福建沿海不同區(qū)域岸段塑料垃圾的調(diào)查研究,發(fā)現(xiàn)泡沫浮球占塑料垃圾總數(shù)的50%以上,且該類型垃圾形態(tài)多樣,呈不均勻散落分布,若能用較高精度的自動解譯代替人工目視解譯,將大幅度減少內(nèi)業(yè)人員的工作量。此次研究選取泡沫浮球這一類型塑料垃圾進(jìn)行語義分割智能識別。采用自然資源部辦公廳下發(fā)的“全國海岸線修測技術(shù)規(guī)程”所規(guī)定岸線界定方法,將海岸線分為3 大類12 小類。
首先,利用Arcmap 軟件,以各個岸段無人機(jī)影像為底圖,以海岸線緩沖區(qū)200 m 為解譯范圍,對泡沫浮球進(jìn)行目視解譯,解譯規(guī)則在影像上呈現(xiàn)柱狀(表1)。
表1 研究區(qū)泡沫浮球目視解譯規(guī)則示例Table 1 Rules for visual interpretation of foam float in the study area
選擇硬件所支持的最大位移窗口為256×256 pixels(相當(dāng)于地面分辨率7.68 m×7.68 m),重疊率為0.2,分別對各岸段無人機(jī)影像及所對應(yīng)的泡沫浮球解譯圖斑進(jìn)行裁剪,得到泡沫浮球語義分割樣本總共47 775 對,其中正樣本12 012 對,負(fù)樣本35 763 對。最后,以8 ∶1 ∶1 的比例,隨機(jī)種子為10 101,將正負(fù)樣本分別劃分為訓(xùn)練集、驗證集、測試集,其中訓(xùn)練集和驗證集用于模型訓(xùn)練,測試集用于精度評價。
研究從3 種語義分割網(wǎng)絡(luò)結(jié)構(gòu)中,選擇4個語義分割網(wǎng)絡(luò)進(jìn)行訓(xùn)練,網(wǎng)絡(luò)分別為U-net、DeepLabv3+、Transunet、Swin-unet,其中U-net、DeepLabv3+為CNN 結(jié)構(gòu),Transunet 為CNN+Trans former 結(jié)構(gòu),Swin-unet 為Transformer 結(jié)構(gòu)。
U-net 網(wǎng)絡(luò):由對稱的Encoder、Decoder 組成,通過cov+relu 的組合進(jìn)行特征提取,利用maxpooling 進(jìn)行下采樣,利用最近鄰插值進(jìn)行上采樣,整個網(wǎng)絡(luò)先進(jìn)行4 個階段下采樣,再進(jìn)行4個階段的上采樣,每個階段上采樣結(jié)束后,利用concat 將encoder 對應(yīng)的特征圖與上采樣后的特征圖進(jìn)行拼接(圖2)。研究所用U-net 結(jié)構(gòu),輸入圖像尺寸改為256×256 pixels。
圖2 研究區(qū)U-net 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 U-net network structure diagram of the study area
DeepLabv3+網(wǎng)絡(luò):由Encoder、Decoder 2 部分組成。Encoder 部分先通過一個DCNN 網(wǎng)絡(luò)提取特征,再利用ASPP 模塊提取長距離特征,之后利用1×1 卷積將得到的特征圖降維,并上采樣到原輸入圖像的1/4(記為b3),Decoder 部分將DCNN 低維度特征圖(原輸入圖像的1/4)與b3 進(jìn)行concat 連接,最后進(jìn)行一次卷積一次上采樣(圖3)。研究所用DeepLabv3+網(wǎng)絡(luò),其DCNN 為ResNet50,輸入尺寸為256×256 pixels。
圖3 研究區(qū)DeepLabv3+網(wǎng)絡(luò)結(jié)構(gòu)圖(據(jù)參考文獻(xiàn)[19])Fig.3 DeepLabv3+ network structure diagram of the study area
Transunet 網(wǎng)絡(luò):是基于U-net 網(wǎng)絡(luò)改動而來,在U-net 網(wǎng)絡(luò)3 次下采樣后,第4 次下采樣部分替換為12 個Transformer 模塊,輸入Transformer模塊前, 需要對特征圖做塊嵌入(Patch Embedding)和位置嵌入(Position Embedding)(圖4)。研究所用Transunet,輸入圖像尺寸改為256×256 pixels。
圖4 研究區(qū)Transunet 網(wǎng)絡(luò)結(jié)構(gòu)圖(據(jù)參考文獻(xiàn)[17])Fig.4 Transunet network structure diagram of the study area
Transunet:使用可訓(xùn)練線性投影,將向量化的patch Xp 映射到潛在的d 維嵌入空間。為編碼塊空間信息,學(xué)習(xí)特定的位置嵌入,網(wǎng)絡(luò)采用與塊嵌入相加的方式,保留位置信息。
式中:E是塊嵌入,Epos代表位置嵌入。
Swin-Unet 網(wǎng)絡(luò)基于U-net 網(wǎng)絡(luò)改動而來,其做法是將U-net 中conv+relu 的基本單元替換成Swin transformer block,再配合塊擴(kuò)張(Patch Expanding)進(jìn)行上采樣與下采樣(圖5)。輸入圖像尺寸為256×256 pixels。
圖5 研究區(qū)Swin-Unet 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Swin-Unet network structure diagram of the study area
與傳統(tǒng)的多頭自注意力(MSA)模塊不同,Swin Transformer 塊是基于平移窗口構(gòu)造的。Swin Transformer 塊由層標(biāo)準(zhǔn)化層、多頭自注意力模塊、剩余連接和具有GELU 非線性的2 層MLP 組成。在2 個連續(xù)的Transformer 模塊中分別采用了基于窗口的多頭自注意力(W-MSA)模塊和基于移動窗口的多頭自注意力(SW-MSA)模塊。基于這種窗口劃分機(jī)制,連續(xù)Swin Transformer 塊可表示為:
訓(xùn)練實驗采用Windows10 系統(tǒng),5 塊英偉達(dá)RTX 3080GPU,4 塊Intel 至強(qiáng)XeonE3 CPU,采用Tensorflow 2.4.1 進(jìn)行模型搭建。
由于泡沫浮球圖斑面積較小,對于樣品為256×256 pixels 的圖斑面積對比非泡沫浮球圖斑面積平均而言要小得多,如果采用傳統(tǒng)的正負(fù)樣均衡(正負(fù)樣本比例為1 ∶1),網(wǎng)絡(luò)也會因為泡沫浮球圖斑面積過小而難以訓(xùn)練,為解決這一問題,將模型訓(xùn)練分為3 個階段。
第一階段:取訓(xùn)練集、驗證集中的所有正樣本進(jìn)行模型訓(xùn)練。Epoch 范圍為100 ~500,初始學(xué)習(xí)率為10-3。
第二階段:取訓(xùn)練集、驗證集中的所有正樣本及相同數(shù)量的隨機(jī)負(fù)樣本,以1 ∶3 的比例進(jìn)行隨機(jī)數(shù)據(jù)增強(qiáng),增強(qiáng)方式包括隨機(jī)翻轉(zhuǎn)、隨機(jī)HSV 增強(qiáng)、隨機(jī)縮放,其中隨機(jī)縮放長寬比例為0.56 ∶1.56,隨機(jī)HSV 增強(qiáng),色調(diào)變化范圍在原色調(diào)基礎(chǔ)上加減0.2,明度和飽和度以1 ∶1.2 的比例進(jìn)行增減。Epoch 范圍為300 ~500,初始學(xué)習(xí)率為10-5。
第三階段:取測試集所有正樣本和相同數(shù)量隨機(jī)負(fù)樣本對模型進(jìn)行精度評價。
為了有效評價語義分割結(jié)果的分類精度,采用以下3 個指標(biāo)參數(shù):F1 分?jǐn)?shù)、精確率、召回率。
F1 分?jǐn)?shù):綜合了精確率和召回率的指標(biāo),可以反映出模型的綜合性能。
精確率:模型判定為正樣本的樣本中,真正為正樣本的比例。
召回率:真正為正樣本的樣本中,被模型正確判定為正樣本的比例。
通過這3 個指標(biāo)的綜合評價,可全面了解模型的性能,并驗證模型是否達(dá)到了預(yù)期的效果。
式中:P為精確率;R為召回率;TP為真正為正樣本的樣本中,被模型正確判定為正樣本的數(shù)量;FP為模型錯誤地將負(fù)樣本判定為正樣本的數(shù)量;TN為真正為負(fù)樣本的樣本中,被模型正確判定為負(fù)樣本的數(shù)量;FN為模型錯誤地將正樣本判定為負(fù)樣本的數(shù)量。
研究采用4 種語義分割網(wǎng)絡(luò)對泡沫浮球進(jìn)行訓(xùn)練,有4 種不同網(wǎng)絡(luò)的性能。
U-net 模型是一種常用的語義分割模型,基本結(jié)構(gòu)是卷積神經(jīng)網(wǎng)絡(luò)(CNN)。U-net 模型的F1 得分為90.35%,精確率為90.78%,召回率為89.92%。這意味著U-net 模型在分割任務(wù)上表現(xiàn)良好。
DeepLabv3+模型與U-net 模型是基于CNN 結(jié)構(gòu)的。同樣是CNN 結(jié)構(gòu),DeepLabv3+ 模型的性能卻低于U-net 模型,其F1 得分為85.33%,精確率為85.65%,召回率為85.01%。這是由于DeepLabv3+模型使用的是空洞卷積(dilated convolution) 和全局池化(global pooling) 等技術(shù),這些技術(shù)雖然可以增加感受野(Receptive Field),但也會降低分辨率,從而影響分割性能,此外DeepLabv3+在只取了2 個特征圖層進(jìn)行concat 后上采樣,導(dǎo)致中間不同尺度的特征層信息丟失,從而導(dǎo)致性能下降。
Transunet 模型使用了CNN 和Transformer 結(jié)構(gòu),可以更好地捕獲圖像中的長距離依賴關(guān)系。Transunet 模型在所有指標(biāo)上均優(yōu)于其他模型,其F1 得分為93.76%,精確率為93.47%,召回率為94.05%。這表明Transunet 模型在語義分割任務(wù)上表現(xiàn)出色,認(rèn)為Transunet 在淺層使用了CNN 結(jié)構(gòu),關(guān)注局部信息,在深層使用Transformer 結(jié)構(gòu),關(guān)注全局信息,二者結(jié)合,使得圖像特征信息丟失的較少。
Swin-unet 模型使用了Transformer 結(jié)構(gòu),但其性能低于其他模型,其F1 得分為86.36%,精確率(P)為85.87%,召回率(R)為86.85%。由于純Transformer 結(jié)構(gòu)雖然更關(guān)注全局信息,但其展開成一維向量,因此少了空間信息,基于此點,圖像Transformer 結(jié)構(gòu)都需要加入地理編碼,而地理編碼方式本身會影響其精度,加之,Transformer 結(jié)構(gòu)參數(shù)量大,在訓(xùn)練時,需要更多的樣本支撐,由于訓(xùn)練樣本偏少,Swin-unet 的精度并不理想。
不同密集程度、不同圖斑大小、不同語義分割網(wǎng)絡(luò)的泡沫浮球自動識別效果對比(圖6)。U-net 在不同密度和不同圖斑大小的場景中表現(xiàn)比較出色,但它存在一些問題,如細(xì)微孔洞、碎片化和小面積錯誤圖斑等。DeepLabv3+的整體表現(xiàn)不理想,尤其是在密集小圖斑的分割中存在漏提現(xiàn)象。Transunet 在所有場景中都表現(xiàn)最佳,其分割效果與U-net 相似,但在處理密集小圖斑時也稍顯遜色。Swin-unet 的分割效果相對較差,但在處理密集小圖斑時要優(yōu)于DeepLabv3+,主要是因為它基于U-net 結(jié)構(gòu),在Decoder 部分使用了concat 連接encoder 所有階段特征層的設(shè)計??傮w而言,4種網(wǎng)絡(luò)對于大圖斑的識別效果要優(yōu)于小圖斑,而對于稀疏區(qū)域的識別效果則要優(yōu)于密集區(qū)域。今后研究可以考慮進(jìn)一步優(yōu)化這些網(wǎng)絡(luò)結(jié)構(gòu),以提高密集小圖斑場景自動識別的準(zhǔn)確性和效率。
圖6 分割效果對比Fig.6 Comparison of segmentation results
4 個模型計算耗時統(tǒng)計,測試區(qū)域以泉州市金井鎮(zhèn)為例,影像大小為20 GB,裁切后測試圖片數(shù)量為82 410 張,圖片為256×256 pixels。測試所用GPU 型號為英偉達(dá)RTX 3080,數(shù)量3 塊,內(nèi)存為64 GB。在測試過程中,內(nèi)存利用在11 GB 左右浮動,內(nèi)存利用率為17%。Transunet 雖然精度更高,但由于其網(wǎng)絡(luò)中有12 個Transformer layer,相比U-net 結(jié)構(gòu)更為復(fù)雜,且參數(shù)也更多,實際使用中,Swin-unet 耗時4.72 h,Transunet 耗時3.58 h,DeepLabv3+耗時2.19 h,U-net耗時1.16 h,Transformer 結(jié)構(gòu)的模型耗時更高。
利用4 種不同語義分割網(wǎng)絡(luò)對樣本進(jìn)行訓(xùn)練,成功地實現(xiàn)了對海灘塑料泡沫浮球的智能識別。實驗結(jié)果表明,Transunet 網(wǎng)絡(luò)具有較高的識別精度和魯棒性,其F1、P、R精度指標(biāo)均為最高,這得益于其CNN 與Transformer 串聯(lián)的結(jié)構(gòu)設(shè)計,能夠有效地識別不同大小、不同密集程度的海灘塑料泡沫浮球。與其他網(wǎng)絡(luò)相比,CNN+Transformer 結(jié)構(gòu)具有更高的識別精度,可以更好地應(yīng)對復(fù)雜的海灘環(huán)境,在實際應(yīng)用中具有很大的潛力。