黎嘉明 謝興 張鉛海 周連娣



摘要:本文設計一種基于對抗生成網絡的水面漂浮物分割算法。該算法利用改進的K-means算法,保留只需關注的水面區域,去除多余檢測信息。之后構建基于對抗生成網絡的水面漂浮物分割網絡,實現精細化分割水面漂浮物。最后可通過統計分割圖像,獲取當前水域的漂浮物污染程度。
關鍵詞:漂浮物;對抗生成網絡;圖像分割
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2020)01-0108-02
0 引言
目前我國十分重視生態環境的保護,尤其是對水環境資源的保護。水面漂浮物是常見的水污染情況之一,對水體生態平衡造成嚴重的影響[1],因此研究一種水面漂浮分割算法具有很高的應用前景。由于水面漂浮物檢測設備需要在野外環境布置,這導致分割效果受到地形多樣、光線復雜等環境因素的干擾。目前,漂浮物分割處理主要采用傳統的圖像處理算法,往往采用閾值分割、邊緣提取、形態學提取、分水嶺分割等方式提取水面漂浮物。但是,傳統的圖像處理技術對光照以及圖像噪聲極為敏感,魯棒性較差[2]。在處理背景相對復雜、對比度較低的對象時,傳統圖像處理技術并不能產生理想分割和識別效果。深度學習[2]是近年研究的熱點之一,其具有高精度、高魯棒性、抗干擾能力強的特點,因此適合用于水面漂浮物的檢測。
本文提出了一種基于對抗生成網絡的水面漂浮物分割算法。該算法利用改進的K-means區域分割算法,對圖像進行粗分割,提取水面區域以及河岸背景區域,得到所需關注的水面區域。之后構建一個基于對抗生成網絡的漂浮物分割網絡,對水域中的漂浮物進行更加精細的分割,獲取準確的分割圖像。最后可根據漂浮物分割圖像,計算當前水面漂浮物的占比,實現水面漂浮物污染情況的判斷。系統檢測流程如圖1所示。
1 基于改進的K-means區域分割算法
由于檢測圖像可能存在著河岸區域和水面區域。相對于水面區域,河岸上存在著行人、植被等不可預見的干擾事物,這會將河岸上的干擾項引入到分割圖像中,影響漂浮物分割的精度。本算法設計了一種基于顏色直方圖改進的K-means算法,實現了對河岸以及水面區域的分離,排除河岸背景對檢測結果的影響,提高漂浮物檢測的精度。
原始的K-means算法可能由于初始聚類中心的選擇不同,導致最后聚類的結果不同,使聚類結果陷入局部最優解。為了解決這一弊端,本算法將顏色直方圖和K-means算法進行結合,實現一種根據顏色直方圖的自適應K-means區域分割算法。與原始方法不同,改進的K-means區域分割算法對初始化階段進行改進,根據直方圖信息自適應地選取K-means初始聚類中心點。在初始化階段,算法對采集圖像進行顏色直方圖統計,獲得檢測圖像像素的顏色分布。由于水面區域是我們需要關注的區域,水面區域顏色相似且占最大的圖像面積,因此可以設定直方圖中數值最大的顏色值作為水面區域類的聚類中心,同時設置3個較小的值作為其他區域的聚類中心。之后多次計算歐氏距離以及中心點的,更新聚類中心,使區域間方差達到最大,類內的方差達到最小。再通過區域合并,實現河岸與河道區域的二分類分割。基于改進的K-means算法流程如圖2所示。
2 基于對抗生成網絡的漂浮物分割網絡
普通卷積神經網絡利用卷積層和池化層提取低維圖像特征,再組合低維特征,形成更加抽象的高維表示,從而實現像素級圖像分割。然而由于特征提取的過程中使用了多次下采樣操作,使得漂浮物邊緣細節出現丟失,降低了分割精度。對抗生成網絡(GAN)是優秀的圖像生成模型之一,其包含生成器G和判別器D,通過零和博弈的思想,使生成器G在動態博弈的過程中學會生成細節豐富的圖像[3]。因此GAN的引入能夠使分割圖像生成更多的圖像細節,提高了檢測的精度。
本研究提出了基于對抗生成網絡的圖像分割網絡,用于對水面漂浮物進行精細化分割。模型包含生成器G和判別器D。生成器G包含了下采樣和上采樣兩個過程。在下采樣中,網絡通過卷積層逐步降低輸出的分辨率,增加特征維度。過程包含4個卷積塊,每個卷積塊都包含卷積核大小為3x3,步長為2的卷積層、批量歸一化Batch Normalization以及激活函數Rule,每個卷積塊輸出的分辨率為輸入特征的1/4。在上采樣中,通過反卷積層逐步提高輸出分辨率,減小特征維度。其網絡結構與下采樣操作相似,只是將卷積操作變為反卷積操作,最終通過softmax層輸出與檢測圖像尺寸大小相同的單通道分割圖像。判別器D包含了6個卷積塊,每個卷積塊都包含卷積核大小為3x3,步長為1或2的卷積層、Batch Normalization、激活函數Rule,最終判別器D會輸出特征大小為8x8x512特征圖,用于計算網絡損失。生成器和判別器的網絡結構如圖3所示。其中,k代表卷積核的大小,n代表卷積的維度,s代表卷積核的步長。
在模型訓練的過程中,我們將檢測圖像的像素值進行像素歸一化,加快網絡收斂速度。然后將檢測圖像與區域分割圖像進行維度疊加,令檢測圖像與區域分割信息在卷積層中融合,抑制干擾。經過生成網絡G的處理后,得到分割圖像。再將生成的分割圖像與標簽圖像分別與檢測圖像相乘,將相乘后的結果分別輸入至判別器D,得到分別得到真實標簽和生成分割圖像的特征圖,計算生成網絡和判別網絡的損失函數。生成器和判別器的損失函數分別由公式1、公式2所示。最后將利用Adam優化器更新生成器G和判別器D的網絡參數。通過不斷迭代優化,生成器能夠生成準確的分割圖像。
其中,D為判別器的輸出,y1為標簽圖像與檢測圖像相乘的圖像,y2為與生成器輸出的分割圖像與檢測圖像相乘的圖像,||||2表示計算L2范數。
3 實驗參數與測試
本文利用大疆精靈3pro平臺對廣東省內某河道進行多次實地采集,共采集了387張大小為256x256的圖像,涵蓋了水瓶、泡沫、水浮蓮等常見漂浮物。算法在Ubuntu系統下運行,利用python進行編寫,運行庫為tensorflow1.15,opencv3.4。在網絡訓練時,設置訓練集大小為300張,batch size為5,訓練速率為0.0001,迭代次數為500。實驗得到mIoU(即:分割結果和真實標簽的交集除以分割結果和真實標簽的并集)為73.7%,檢測時間為0.42秒/圖,基本滿足實際檢測的需要。
4 結論
本文設計的水面漂浮物分割算法,通過基于顏色直方圖改進的K-means算法分割出水面區域和河岸背景區域,排除河岸事物對檢測結果的影響。并且構建了一個基于對抗生成網絡的漂浮物分割網絡,能更好地對漂浮物細節進行精細分割,提高了分割的效果。實驗表明該算法滿足實際檢測的需要,為水面漂浮物檢測領域提供了新的方法。
參考文獻
[1] 蔡瑩,唐祥甫,蔣文秀.河道漂浮物對工程影響及研究現狀[J].長江科學院院報,2013,30(08):84-89.
[2] 屈薇.基于深度學習的圖像識別算法研究[J].數字技術與應用,2019,37(09):121-122.
[3] 鄒秀芳,朱定局.生成對抗網絡研究綜述[J].計算機系統應用,2019,28(11):1-9.