崔文婧,張彩云,武新娜
(1.廈門大學(xué)海洋與地球?qū)W院,福建 廈門 361102;2.廈門大學(xué)近海海洋環(huán)境科學(xué)國家重點實驗室,福建 廈門 361102;3.廈門大學(xué)水聲通信與海洋信息技術(shù)教育部重點實驗室,福建 廈門 361102)
近年來,隨著沿海工農(nóng)業(yè)生產(chǎn)的迅猛發(fā)展及旅游業(yè)的興盛,海漂垃圾污染逐漸成為世界各海域普遍多發(fā)的海洋污染現(xiàn)象[1-4],每年進入海洋的塑料垃圾多達8 000 000 t,每平方千米海面上漂浮著1.3萬片塑料垃圾,其中近岸活動是產(chǎn)生垃圾的主要來源,占到了80%,另外20%來自海上活動[5]。海漂垃圾的出現(xiàn)對海域產(chǎn)生了重大影響,造成水質(zhì)污染、視覺污染,還可能威脅航行安全,威脅著海洋生物的生命安全,甚至?xí)ㄟ^食物鏈直接威脅人類自身。除此之外,海上垃圾也會影響近海漁業(yè)的發(fā)展[5]。因此,對海漂垃圾開展自動化監(jiān)測具有重要的意義。
目前海漂垃圾常用的調(diào)查手段是利用船只、無人機或飛機對某一海域漂浮垃圾進行調(diào)查觀測,但是觀測間隔的時間長,監(jiān)測結(jié)果不連續(xù)[6]。視頻監(jiān)控作為海漂垃圾定點監(jiān)測的一種重要手段,具有可長時間、連續(xù)獲取某一重點區(qū)域海漂垃圾動態(tài)變化過程的特點,正日益成為海洋污染監(jiān)管重要的技術(shù)手段之一[7-8]。此外,隨著計算機運算能力的大幅提升以及海量的數(shù)據(jù)和先進算法技術(shù)的發(fā)展,深度學(xué)習(xí)模型在圖像分類領(lǐng)域取得許多重要的突破[9-10]。其中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks ,CNN)是深度學(xué)習(xí)技術(shù)中最重要的網(wǎng)絡(luò)結(jié)構(gòu)之一。CNN能夠從數(shù)據(jù)中自動學(xué)習(xí)并提取特征,其泛化能力顯著優(yōu)于傳統(tǒng)方法。在圖像處理上,CNN不僅能夠有效地將大數(shù)據(jù)量的圖片降維成小數(shù)據(jù)量,而且能夠有效地保留圖片特征,符合圖片處理的原則。CNN技術(shù)的興起,大大地提高了語義分割算法的精度,在實現(xiàn)像素級別的圖像分類上明顯優(yōu)于其他傳統(tǒng)的語義分割算法。因此CNN已在人臉識別、目標(biāo)定位檢測、目標(biāo)分割以及圖片分類檢索等領(lǐng)域有著廣泛的應(yīng)用。如張惠凡等[11]利用青海湖野鳥監(jiān)控的視頻關(guān)鍵幀圖像數(shù)據(jù),采用VGG16(Visual Geometry Group16)卷積神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練模型來提取圖像中的野鳥特征。芮挺等[12]提出采用多層網(wǎng)絡(luò)構(gòu)建深度卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)對行人檢測的方法,結(jié)果表明該方法對于行人檢測的識別率要明顯優(yōu)于傳統(tǒng)方法。陳耀丹等[13]研究并實現(xiàn)了一種基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識別方法,識別率可以達到99%以上。
因此,本文以廈門灣為研究海域,使用安裝在嵩嶼碼頭的視頻監(jiān)控設(shè)備所獲取的圖片,開展基于卷積神經(jīng)網(wǎng)絡(luò)的海漂垃圾自動識別技術(shù)研究,研究結(jié)果有望為深度學(xué)習(xí)這一新技術(shù)在海洋垃圾自動監(jiān)測中的應(yīng)用提供借鑒與技術(shù)參考。
廈門灣地處臺灣海峽西岸中部,閩南金三角中心,九龍江的下游,其海域面積為300多平方千米。隨著廈門灣周邊地區(qū)的城市化進程,并且廈門擁有豐富的濱海自然和人文旅游資源,每年慕名而來的游客數(shù)不勝數(shù)。經(jīng)濟和旅游業(yè)的日益增長給廈門灣海洋環(huán)境造成了巨大壓力。
據(jù)統(tǒng)計,進入廈門海域的海漂垃圾有80%~90%來自九龍江流域[14],主要包括水草、水浮蓮、樹枝、木頭、竹竿、飲料瓶和塑料袋[15]。海漂垃圾在九龍江徑流帶動下及潮汐影響下四處擴散,嚴(yán)重影響廈門島周邊海域及海岸的景觀,對廈門的旅游業(yè)造成打擊,同時也給廈門海洋生態(tài)環(huán)境帶來一定的生態(tài)風(fēng)險[14]。
嵩嶼碼頭毗鄰九龍江入??谔?,是九龍江流域的垃圾進入廈門灣周邊海域的必經(jīng)之路。在嵩嶼碼頭設(shè)置監(jiān)控視頻,持續(xù)開展該海域海漂垃圾的監(jiān)測,有助于實時掌握流入廈門灣海漂垃圾的動態(tài)變化過程,并及時預(yù)警,為廈門灣海漂垃圾的監(jiān)測和管理提供一定的參考依據(jù)。
本文所用的數(shù)據(jù)是嵩嶼碼頭T1鐵塔上安裝的攝像監(jiān)控設(shè)備所拍攝到的影像數(shù)據(jù)。視頻監(jiān)控設(shè)備為大華智能高清球機,分辨率為400萬像素,焦距6~180 mm。拍攝范圍主要為嵩嶼碼頭到對岸漳州一帶的海域。
視頻監(jiān)控圖片數(shù)據(jù)可通過4G網(wǎng)絡(luò)自動傳回到廈門大學(xué)海洋監(jiān)測與信息服務(wù)平臺的FTP服務(wù)器上。本文主要使用的數(shù)據(jù)是2018年7—12月5:00—19:00的圖片。
卷積神經(jīng)網(wǎng)絡(luò)(圖1)是一種多層的神經(jīng)網(wǎng)絡(luò),由輸入層、卷積層、池化層、全連接層、Softmax分類層和輸出層組成。其中,輸入層為訓(xùn)練數(shù)據(jù),即原始數(shù)據(jù);卷積層是通過一個過濾器(卷積核)來過濾圖像的各個小區(qū)域,從而提取圖像的特征;池化層的主要作用是把數(shù)據(jù)降維,以有效避免過擬合;線性整流函數(shù)(Rectified Linear Unit,ReLU)表示卷積層所使用的激活函數(shù)。卷積層和池化層一般是交替出現(xiàn),形成若干個卷積組,通過卷積組逐層進行特征的提取,最后采用若干個全連接層實現(xiàn)分類。
圖1 卷積神經(jīng)網(wǎng)絡(luò)分類示意圖
通常CNN網(wǎng)絡(luò)通過卷積層之后的若干個全連接層,將卷積層產(chǎn)生的特征圖映射成一個固定長度的特征向量。全卷積網(wǎng)絡(luò)(Fully Convolutional Networks,F(xiàn)CN)(圖2)可對圖像進行像素級的分類,從而解決了語義級別的圖像分割問題。與經(jīng)典的CNN在卷積層之后使用全連接層得到固定長度的特征向量進行分類(全連接層+Softmax輸出)不同,F(xiàn)CN可以接受任意尺寸的輸入圖像,采用反卷積層對最后一個卷積層的特征圖進行上采樣,使它恢復(fù)到輸入圖像相同的尺寸,從而可以對每個像素都產(chǎn)生了一個預(yù)測,同時保留了原始輸入圖像中的空間信息,然后在上采樣的特征圖上進行逐像素分類。最后逐個像素計算Softmax分類的損失,相當(dāng)于每一個像素對應(yīng)一個訓(xùn)練樣本。圖2所示意的全卷積網(wǎng)絡(luò)的前半部分為卷積過程,后半部分為反卷積的過程。
圖2 全卷積神經(jīng)網(wǎng)絡(luò)模型[16]
本文選用VGG16網(wǎng)絡(luò)結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)來構(gòu)建海漂垃圾的自動判別模型。VGG是由牛津大學(xué)Visual Geometry Group提出的卷積神經(jīng)網(wǎng)絡(luò)模型。圖3表示基于VGG16網(wǎng)絡(luò)的全卷積神經(jīng)網(wǎng)絡(luò)模型架構(gòu)。VGG16網(wǎng)絡(luò)結(jié)構(gòu)共包含13個卷積層、3個全連接層和5個池化層[16]。VGG16網(wǎng)絡(luò)通過反復(fù)使用3×3的小型卷積核和2×2的最大池化層,不斷加深網(wǎng)絡(luò)結(jié)構(gòu)來提升其性能(圖3)。因VGG16使用多個較小卷積核(3×3)的卷積層來代替卷積核較大(如5×5或7×7)的卷積層,這樣就可以使得模型的參數(shù)更少,非線性更強,從而增加網(wǎng)絡(luò)的擬合表達能力,提高分類的精度。
圖3 VGG16網(wǎng)絡(luò)架構(gòu)[17]
本文使用已經(jīng)訓(xùn)練好的VGG16網(wǎng)絡(luò)作為基本框架,為它添加上采樣層,并根據(jù)分類種類和各個類別所占權(quán)重,添加上適應(yīng)于本文圖像的輸出層并與Softmax層連接,然后通過反卷積網(wǎng)絡(luò)操作,將結(jié)果對應(yīng)到與輸入圖像相同的尺寸上,從而實現(xiàn)像素級別的語義分割(圖2)。
本文所使用的訓(xùn)練數(shù)據(jù)集是從嵩嶼碼頭2018年7—12月的視頻中抽幀得到的。這些數(shù)據(jù)集所含的目標(biāo)物不是固定不變的,而是具有多方位、多種形態(tài)特征。同時在一張圖像中,最好能包含多個目標(biāo)物體,可以是一個類別,也可以是多個類別。經(jīng)過嚴(yán)格篩選,最后獲取具有代表性的訓(xùn)練圖片485張。從圖4可以看出嵩嶼碼頭海漂垃圾主要以木屑類垃圾為主(圖4(a)),同時在視野范圍內(nèi)亦有不少橘黃色的條帶狀漂浮物(圖4(b))。這些漂浮物可能是由船舶排污產(chǎn)生的泡沫與懸浮泥沙混合物形成的。因此,本文將其也歸為海漂垃圾。在所選擇的485張圖片中,只含橘黃色條帶狀物質(zhì)的圖片有342張,只含木屑類的圖片有143張。圖片大小均為2 592×1 520像素。
圖4 嵩嶼碼頭周邊海域海漂垃圾示意圖
訓(xùn)練圖片在用語義分割網(wǎng)絡(luò)訓(xùn)練之前需要先對樣本進行標(biāo)注。本文使用MATLABR2018b中自帶的圖像標(biāo)注工具Imagelabeler對圖像上每一個像素進行人工標(biāo)注。根據(jù)視頻監(jiān)控圖片的特征,主要將圖片中的目標(biāo)物分為天空、建筑物、船、水、其他、木屑類垃圾和橘黃色條帶狀物質(zhì)共7類(圖5)。各類標(biāo)注所對應(yīng)的數(shù)值分別記為[1,2,3,4,5,6,7]。將原圖和對應(yīng)于原圖的每一個像素都標(biāo)簽好的圖片分別導(dǎo)入MATLABR2018b中的ImageDatastore和PixellabelDatastore,完成訓(xùn)練數(shù)據(jù)集的構(gòu)建。此外,因原始圖像過大,為了減少卷積時的計算量,將原始圖片(像素大小為2 592×1 520)進行重采樣得到像素為648×380的圖片,然后再進行訓(xùn)練。
圖5 訓(xùn)練樣本標(biāo)注示意圖
語義分割就是讓計算機自動分割并識別出圖像中每一個像素點的內(nèi)容。初始化指的是參數(shù)設(shè)置,是深度學(xué)習(xí)訓(xùn)練的一個重要內(nèi)容。為語義分割網(wǎng)絡(luò)訓(xùn)練選擇合適的參數(shù)非常重要,有助于網(wǎng)絡(luò)在短時間內(nèi)得到充分的訓(xùn)練并獲得好的分類結(jié)果。本文的網(wǎng)絡(luò)訓(xùn)練經(jīng)過反復(fù)實驗后,其中模型優(yōu)化算法選用隨機梯度下降算法;決定隨機梯度下降算法收斂速度的參數(shù)即沖量設(shè)定為0.9;學(xué)習(xí)率決定了參數(shù)移動到最優(yōu)值的速度快慢,這里將學(xué)習(xí)率設(shè)定為0.01;為防止過擬合,權(quán)重衰減設(shè)定為0.000 5;迭代次數(shù)主要由訓(xùn)練樣本集的數(shù)目決定,訓(xùn)練集樣本越多,需要迭代的次數(shù)就越多。其余參數(shù)大多采用模型的默認(rèn)值。同時,在訓(xùn)練時會先計算出訓(xùn)練集中每張圖像每一類別像素點個數(shù)占該圖像總像素點的比例,然后統(tǒng)計分析不同類別像素點比例的中位數(shù),將其除以每一類別總像素點從而得到類權(quán)重,該參數(shù)主要用于語義分割網(wǎng)絡(luò)最后一層分類層的構(gòu)建。
為了測試出影響分類精度的因素,找到取得最佳分類結(jié)果的訓(xùn)練方案,將訓(xùn)練數(shù)據(jù)集分成四種訓(xùn)練方案:
方案一:只含有橘黃色條帶狀物質(zhì)的原圖和帶標(biāo)簽的圖片,共342張;
方案二:只含有木屑類垃圾的原圖和帶標(biāo)簽的圖片,共143張;
方案三:部分含有橘黃色條帶狀物質(zhì)部分含有木屑類的原圖和帶標(biāo)簽的圖片,共485張;
方案四:訓(xùn)練方案一至方案三中海水的占比比較大(平均為81.82%,表1),而木屑類海漂垃圾像素點所占比例比較?。ā?.2%,表1),且小于橘黃色條帶狀物質(zhì)所占比例(<1%,表1),因此為平衡不同類別的比例,從無人機拍攝圖片上選取一些含有木屑類垃圾的像素點,裁剪下來放在視頻影像抓取的圖片上(圖6),與只含有橘黃色條帶狀物質(zhì)的圖片進行樣本合成,以提高木屑類垃圾在訓(xùn)練圖片上的比例(表1),這些合成的圖片共105張。從表1可以看出,木屑類海漂垃圾和橘黃色條帶狀物質(zhì)在方案四中所占比例有明顯增加,分別達到了2.53%和1.13%。
圖6 航拍圖片木屑垃圾合成到視頻圖片上
表1 四種訓(xùn)練方案中不同分類類別占總像素點的比例
將以上4種不同方案的訓(xùn)練集中選擇90%的圖片用于訓(xùn)練,10%的圖片用于測試,輸入VGG16卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)里進行訓(xùn)練,同時檢測圖像分類效果。
不過,對于VGG16網(wǎng)絡(luò)結(jié)構(gòu)而言,本文收集的訓(xùn)練樣本數(shù)據(jù)集仍相對較小。為了避免出現(xiàn)過擬合從而得到較高的分類精度,本文將已有的訓(xùn)練圖片通過旋轉(zhuǎn)或平移等方式生成新的訓(xùn)練圖片,以進一步拓展訓(xùn)練數(shù)據(jù)集。
圖7表示基于卷積神經(jīng)網(wǎng)絡(luò)的海漂垃圾提取流程。在標(biāo)注訓(xùn)練樣本集和構(gòu)建VGG16網(wǎng)絡(luò)結(jié)構(gòu)后,通過卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練獲得視頻監(jiān)控圖片上各主要目標(biāo)物的分類結(jié)果,并將各類別分類結(jié)果與原始圖片進行對比分析,評估分類精度。
圖7 基于卷積神經(jīng)網(wǎng)絡(luò)的海漂垃圾提取流程
本文采用卷積神經(jīng)網(wǎng)絡(luò)中常用的識別精度(Accuracy)[18]來評價分類結(jié)果。
對于每一類的分類結(jié)果,其精度是指被正確分類的像素點與該類總像素點的比例,即
式中,TP是指正確分類的像素點;FN表示分類錯誤的像素點;TP+FN為該類的總像素點。
整體分類精度(Global Accuracy)是正確分類的像素(無論類別)與總像素數(shù)的比值。使用整體精度這一指標(biāo)可以快速且在計算成本低的情況下得到正確分類像素的百分比。
根據(jù)圖7海漂垃圾的提取流程對四種方案分別進行實驗,結(jié)果如圖8所示,其中第一行、第二行分別表示方案一和方案二的語義分割結(jié)果,第三行和第四行表示方案三的語義分割結(jié)果。從圖8可以看出,方案一(圖8(a)和圖8(b))的橘黃色條帶狀物質(zhì)較為準(zhǔn)確地被判別出來;方案二(圖8(c)和圖8(d))有一些水的像素點被誤判為垃圾像素點;方案三(圖8(e)至圖8(h))中既有一部分水的像素點被誤判為木屑類垃圾,也有一部分水的像素點被誤判為橘黃色條帶狀物質(zhì)。
從圖8還可以看出,當(dāng)把部分含木屑類垃圾與部分含有橘黃色條帶狀物質(zhì)的數(shù)據(jù)集一起投入訓(xùn)練,會出現(xiàn)部分水像素點誤判為橘黃色條帶狀物質(zhì)或者木屑類垃圾的情況。影響這兩類垃圾分類效果的主要原因可能是相對于總的待分類像素點而言,橘黃色條帶狀物質(zhì)像素點占比較少,而木屑類海漂垃圾像素點的占比更少(表1),且并不是每一張測試圖片上均含有這兩類垃圾,因此這兩類垃圾的特征未能得到充分的訓(xùn)練。
圖8 訓(xùn)練方案一至方案三的圖像原圖(左列)和分類結(jié)果(右列)
圖9表示方案四示例圖片的語義分割結(jié)果,方案四是把無人機拍攝到的木屑類垃圾圖片合成到含有橘黃色條帶狀物質(zhì)的圖片中,木屑類海漂垃圾的占比明顯提高(表1),從結(jié)果圖中可以明顯地看到木屑類海漂垃圾和橘黃色條帶狀物質(zhì)海漂垃圾都較為準(zhǔn)確的判別出來了。
圖9 訓(xùn)練方案四的圖像原圖(左列)和分類結(jié)果(右列)
不同實驗方案主要類別的分類精度評估詳見表2。其中,所有正確分類的像素個數(shù)與所有類別總像素個數(shù)的比值為整體分類精度;每一類別正確分類的像素個數(shù)與這一類別總像素個數(shù)的比值為這一類別的分類精度。
從表2可以看出,方案一到方案四整體分類精度均在95%以上,除個別方案中海漂垃圾的分類精度較低外,其他類別的分類精度均在90%以上??偟膩碚f,當(dāng)海漂垃圾像素點占總像素點的比例越高時,其分類精度也越高(表1和表2)。比如,對于橘黃色條帶物質(zhì)來說,當(dāng)方案一單獨訓(xùn)練只含有橘黃色條帶狀物質(zhì)的圖片時,分類精度可以達到90%以上,而當(dāng)方案三加入含有木屑類垃圾的圖片一起訓(xùn)練,稀釋了橘黃色條帶狀物質(zhì)的像素點,結(jié)果表明橘黃色條帶狀物質(zhì)的分割精度也相應(yīng)地降低(表2)。對于木屑類海漂垃圾來說,因方案二和方案三木屑類海漂垃圾占總像素點的比例較低,單獨訓(xùn)練時分類精度只有74.79%,在方案三其占比有所降低(表1),此時分類精度降低到57.18%;而當(dāng)在方案四人為提高木屑類海漂垃圾占總像素點的比例時(表1),其分類精度有了明顯的提高,達到了92.65%。
表2 4種訓(xùn)練方案中不同分類類別的分類精度
此外,從表2還可以看出,海水、船等易于海漂垃圾混淆的類別的分類精度都比較高(>96%),這可能意味著利用卷積神經(jīng)網(wǎng)絡(luò)這一深度學(xué)習(xí)方法,能有效減少干擾物像素點與海漂垃圾這一目標(biāo)物像素點間的混淆,從而可以保證目標(biāo)物的提取精度。
基于方案四合成圖片訓(xùn)練集生成的語義分割網(wǎng)絡(luò),選取2019年4月22日視頻監(jiān)控圖片進行圖像分類,結(jié)果如圖10所示。從圖10可以看出第一列和第三列原圖中的各類別都能被準(zhǔn)確地分辨出來,木屑類海漂垃圾和橘黃色條帶狀物質(zhì)二者的區(qū)分也很清楚。而且對于一些肉眼難以分辨的分界線比較模糊的目標(biāo)物也能較好地分辨出來,說明該判別模型在海漂垃圾的識別應(yīng)用上是比較成功的。
圖10 2019年4月22日監(jiān)控數(shù)據(jù)的圖像原圖和分類結(jié)果
本文以廈門嵩嶼碼頭視頻監(jiān)控獲取的海上圖片數(shù)據(jù)集構(gòu)建了基于VGG16語義分割的卷積神經(jīng)網(wǎng)絡(luò)海漂垃圾判別模型。文中設(shè)計了四種訓(xùn)練方案來提取圖片中的橘黃色條帶狀物質(zhì)和木屑類海漂垃圾。結(jié)果表明卷積神經(jīng)網(wǎng)絡(luò)模型對海漂垃圾的提取精度高,當(dāng)圖片中海漂垃圾占比只有2%~3%時,其分類提取精度仍可達90%以上;而且訓(xùn)練樣本中提取目標(biāo)如海漂垃圾的有效像素比例越高時,最后分類的精度也越高;同時,該方法能有效減少干擾物像素點與垃圾像素點的混淆,具有很強的實用性。下一步我們將利用更多的訓(xùn)練樣本來優(yōu)化模型,最終實現(xiàn)海漂垃圾的自動化提取,并形成海漂垃圾管理信息系統(tǒng),實時掌握流入廈門灣海漂垃圾的動態(tài)變化過程,為管理部門加強海洋垃圾污染防治與科學(xué)管理提供技術(shù)支撐。