杜葉挺 應(yīng)澤光 馬賽男 卓宏明 顧欣
關(guān)鍵詞:深度學(xué)習(xí);語義分割;機器視覺;目標(biāo)檢測
近年來,海洋垃圾污染問題受到國際廣泛關(guān)注,2021年第五屆聯(lián)合國環(huán)境大會旨在建立結(jié)束海洋垃圾和塑料污染的勢頭和政治意愿,從而確保一個擁有清潔海洋的未來。海洋垃圾一般指海洋和海岸環(huán)境中具有持久性的、人造的或經(jīng)加工的固體廢棄物,其典型代表為漂浮在海面的塑料垃圾。根據(jù)聯(lián)合國環(huán)境規(guī)劃署(UNEP)估計,每天約8.0×106件垃圾進(jìn)入海洋,每平方千米海洋表面漂浮著超過13000件塑料垃圾,另海洋保護(hù)組織Oceans Asia近日發(fā)布的研究報告表明,由于新冠肺炎疫情的暴發(fā),僅2020年至少就有16億只口罩被丟棄人海洋,它們中大部分都是一次性難降解口罩,在海洋中需要400到500年才能降解。由于這類海面漂浮垃圾的持久性和普遍性,海洋垃圾正在破壞、威脅著海洋環(huán)境,更為嚴(yán)重的是海洋垃圾已經(jīng)逐漸進(jìn)入食物鏈,危害到海洋生態(tài)系統(tǒng)的健康和可持續(xù)發(fā)展[2-3]。
中國大陸海岸線約1.8×104km,浙江作為海洋大省,隨著沿海工農(nóng)業(yè)迅猛發(fā)展以及濱海旅游業(yè)的興起,近海海域同樣面臨巨大的海洋垃圾污染壓力。研究海洋環(huán)境污染的快速檢測手段非常有必要,在經(jīng)濟發(fā)展的同時丞須解決日益嚴(yán)峻的海面漂浮垃圾污染問題。海面漂浮垃圾的檢測,容易受到海浪、倒影、海岸線等干擾因素的影響,傳統(tǒng)雷達(dá)等主動檢測方式存在精度低、無法有效識別等問題。本文提出了一種基于深度學(xué)習(xí)的海面垃圾識別檢測系統(tǒng),應(yīng)用機器視覺與深度學(xué)習(xí)算法,能夠從復(fù)雜的環(huán)境中分割海面目標(biāo),實時檢測近海漂浮垃圾的區(qū)域、大小、位置等信息,并反饋給檢測中心,通過與電子海圖(ECDIS)系統(tǒng)融合,為政府海洋環(huán)境部門提供可靠有效的決策數(shù)據(jù)。
1系統(tǒng)設(shè)計與實現(xiàn)
針對海面垃圾檢測應(yīng)用需求,系統(tǒng)需要完成數(shù)據(jù)采集、圖像預(yù)處理、目標(biāo)分割、目標(biāo)檢測與定位、海圖數(shù)據(jù)融合5個功能,系統(tǒng)方案如圖1所示。數(shù)據(jù)采集依靠攝像機完成,選用??低暠O(jiān)控攝像機,提供二次開發(fā)SDK,能夠從視頻流中直接獲得圖像數(shù)據(jù)。圖像數(shù)據(jù)訓(xùn)練在Ubuntu16.04版本,64位操作系統(tǒng),GTX1070,i7-8700,32G內(nèi)存的電腦上完成,訓(xùn)練平臺為Tensor Flow2.1,部署端在嵌入式平臺NVIDIA TX2上。
1.1海面分割
傳統(tǒng)的分割算法一般采用邊緣分割的方法,尋找到水面與岸邊特征變化劇烈的區(qū)域,然后進(jìn)行邊緣檢測,最終提取出海岸線。利用圖像紋理特征和歸一化水體指數(shù)將輸入圖像分為水面和非水面區(qū)域兩類。這種方法容易受到光照、倒影等的影響,對圖像采集的環(huán)境要求較高。因此,本文針對海面分割任務(wù)需求,采用語義分割技術(shù),可以有效劃分海面、天空、陸地、船只這些海上最常見的目標(biāo)類別,從而為下一步海面垃圾的檢測識別打下基礎(chǔ)。
近幾年基于全卷積神經(jīng)網(wǎng)絡(luò)的模型在語義分割任務(wù)上的成功表現(xiàn),如SegNet、FCNN。有幾種變體模型提出利用上下文信息包括多尺度輸入在內(nèi)做分割,也有采用概率圖模型細(xì)化分割結(jié)果。本文采用DeepLabv3+模型,通過空間金字塔模塊在輸入feature上應(yīng)用多采樣率卷積、多接收野卷積或池化,探索多尺度上下文信息,同時通過En-coder-Decoder結(jié)構(gòu)逐漸恢復(fù)空間信息來捕捉清晰的目標(biāo)邊界。具體來說,DeepLabv3+以Deep-Labv3為encoder架構(gòu),在此基礎(chǔ)上添加了簡單卻有效的decoder模塊用于細(xì)化分割結(jié)果。海面分割網(wǎng)絡(luò)在經(jīng)過大量訓(xùn)練數(shù)據(jù)集訓(xùn)練學(xué)習(xí)后,其泛化能力和抗干擾能力相比傳統(tǒng)的水面分割算法也更強,DeepLab模型算法結(jié)構(gòu)如圖2。
通過人工采集、爬蟲、數(shù)據(jù)集增強等多種方式獲得訓(xùn)練樣本,并通過Labelme標(biāo)注為四大類,經(jīng)過數(shù)據(jù)清理后搭建了5000余張的海上目標(biāo)語義分割圖像數(shù)據(jù)庫,其中涵蓋了各類船只類型,常見的海岸場景及不同天氣下的海面情況。
DeepLab模型在經(jīng)過海洋環(huán)境數(shù)據(jù)樣本的反復(fù)迭代訓(xùn)練之后,逐步調(diào)整DeepLab模型中的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與神經(jīng)網(wǎng)絡(luò)參數(shù),最終得到適用于近海負(fù)載環(huán)境的語義分割模型,測試效果如圖3。圖a為原始圖像,圖b為語義分割的結(jié)果。
模型分割類別為船、海洋、天空、陸地四大語義類別。測試樣本中圖像分割的平均像素精度(PA)為81.03%,圖像分割的平均交并比(MIoU)為68.41%。
1.2海面垃圾檢測
在獲得海面目標(biāo)之后,為了從海面上獲取海面垃圾漂浮物,需要進(jìn)行海面垃圾的識別,海面漂浮垃圾的視覺特征通常表現(xiàn)為目標(biāo)尺寸較小,貼近水面,分辨率較低且語義特征不完整,難以滿足傳統(tǒng)計算機視覺算法的識別要求?;赮OLOv5s深度學(xué)習(xí)模型,同時進(jìn)行樣本訓(xùn)練和評價,以適應(yīng)實際海上檢測應(yīng)用場景的需求。
YOLO(You Only Look Once)模型使用深度神經(jīng)網(wǎng)絡(luò)對圖像位置進(jìn)行快速的檢測與分類,得益于其將基于候選區(qū)域的兩階段算法改為合二為一的單階段算法,即將候選區(qū)域和對象識別進(jìn)行同步,不再進(jìn)行傳統(tǒng)滑移窗口操作,將輸入圖片劃分為不同區(qū)域,通過卷積生成特征圖,從而直接預(yù)測目標(biāo)對象的邊界框,有效節(jié)省時間和空間成本,繼而成為現(xiàn)在目標(biāo)檢測算法的主流選擇。
YOLOv5s網(wǎng)絡(luò)可以分為輸入圖像Input、Backbone主干網(wǎng)絡(luò)、Head檢測頭,Neck頸部網(wǎng)絡(luò)4部分。而這4部分由幾個不同的模塊堆疊得到,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示:
1)YOLOv5s網(wǎng)絡(luò)輸入端主要實現(xiàn)Mosiac數(shù)據(jù)增強、自適應(yīng)圖片縮放等功能。Mosiac數(shù)據(jù)增強能夠擴大微小對象數(shù)量,提高模型的小目標(biāo)檢測效率。
2)Backbone主干網(wǎng)絡(luò)的主要功能為提取圖像中一系列不同尺度的特征圖,有CBS模塊、C3模塊、SPP模塊、Focus模塊。
CBS為卷積模塊,YOLOv5s主干網(wǎng)絡(luò)中的CBS模塊以Convolution+Batch Normalization+Activation的形式,對輸入數(shù)據(jù)進(jìn)行卷積計算、批標(biāo)準(zhǔn)化計算和經(jīng)過一個激活函數(shù)Silu,加快網(wǎng)絡(luò)的收斂速度。Silu激活函數(shù)定義為式(1),其中,Sigmoid(x)是標(biāo)準(zhǔn)的Sigmoid函數(shù),它的值在0和1之間。
Focus模塊是對圖片進(jìn)行切片操作,通過在圖片中每間隔1個像素取值,得到4張圖片,使得圖片的長和寬分別減半,通道數(shù)擴展為原來的4倍,保證了圖片信息沒有丟失,640×640×3的原始圖像通過Focus模塊,輸出得到320×320×12的特征圖。
在目標(biāo)檢測中,通常輸入圖像的尺寸大小并不固定,為了得到統(tǒng)一大小的特征圖,從YOLOv3開始引入SPP空間金字塔池化模塊,通過使用CBS模塊使其通道數(shù)減半,然后將輸入的圖像經(jīng)過三個不同尺寸的最大池化層,連同輸入的圖像通過concat級聯(lián)在一起,保證不同大小的輸入圖像在池化后,其特征圖長和寬能保持一致。
3)Neck頸部網(wǎng)絡(luò)用于進(jìn)行不同大小特征圖的特征融合。對主干網(wǎng)絡(luò)生成的特征圖,進(jìn)一步強化其特征進(jìn)行提取。
4)Head用于算法的收尾階段,通過將錨框機制與特征圖數(shù)據(jù)關(guān)聯(lián),生成目標(biāo)類別、概率輸出窗口。
常見的海面目標(biāo)大致可以分為礁石、海成漂浮垃圾、航道標(biāo)志物等。由于現(xiàn)存的海面目標(biāo)圖像數(shù)量稀少,因此無法遵循常見深度學(xué)習(xí)依托海量圖像數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的常規(guī)方式,需要參照小數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)管道配置方式搭建圖像數(shù)據(jù)庫,分為島礁、海面漂浮垃圾、航道標(biāo)志3類,各自收集500張圖像。樣本圖像數(shù)量分布如表1所示。
mAP值(平均準(zhǔn)確率)常用來評價神經(jīng)網(wǎng)絡(luò)模型的分類或物體檢測性能,主要有兩個組成參數(shù):查準(zhǔn)率(Precision),搜索圖像的相關(guān)性;查全率(Recall),檢索相關(guān)圖像數(shù)。代價函數(shù)用于表示模型計算結(jié)果與預(yù)測值之間的差異,是模型訓(xùn)練程度的主要技術(shù)參數(shù)。本系統(tǒng)模型所得到的mAP值如表2所示,單幀處理時間可以提高到40ms,
對海面漂浮垃圾進(jìn)行測試,效果如圖5所示,圖(a)為測試圖像原圖,圖(b)為語義分割后的各目標(biāo)圖像,圖(C)為海面漂浮垃圾檢測后獲得目標(biāo)框。
1.3海漂垃圾定位
為了定量獲得海面漂浮垃圾的位置,需要通過機器視覺的方式對海面漂浮垃圾進(jìn)行定位。本文采用基于逆透視投影變換的單目測距方法,具有結(jié)構(gòu)簡單、操作方便、成本低廉和信息采集迅速的優(yōu)點。單目相機目標(biāo)定位原理如圖6。已知海面上目標(biāo)點的三維世界坐標(biāo)Zw為原點,首先通過張正友的相機標(biāo)定法獲得相機的內(nèi)參,并且通過GPS/北斗獲取攝像機的三維坐標(biāo),然后采用針孔透視投影模型,將待測目標(biāo)的二維像素坐標(biāo)轉(zhuǎn)化為三維世界坐標(biāo)。
以測距望遠(yuǎn)鏡測量結(jié)果表示實測距離,基于逆透視投影變換的單目測距結(jié)果如表3、圖7所示,從中可以看出,在一定誤差允許的情況下,單目測距效果可以滿足應(yīng)用需求。
2結(jié)論
基于深度學(xué)習(xí)的海面漂浮垃圾檢測系統(tǒng),通過結(jié)合語義分割、YOLOv5s算法、單目測距技術(shù),首先利用Labelme標(biāo)注工具對海面上的目標(biāo)進(jìn)行分類標(biāo)注,建立一個小型的數(shù)據(jù)集;針對海面小目標(biāo)檢測精度不足的問題,在模型中增加小目標(biāo)檢測層,修改YOLOv5的模型文件yaml,雖然增加了計算量,但對小目標(biāo)檢測具有較好的改善效果,與其他檢測方法相比,其目標(biāo)檢測準(zhǔn)確率可達(dá)85%以上,能夠滿足一定的工程應(yīng)用。最后通過視覺定位獲取漂浮垃圾的相對坐標(biāo),經(jīng)過攝像機的經(jīng)緯度位置換算,進(jìn)一步獲得海面漂浮垃圾的地理絕對坐標(biāo),實現(xiàn)與電子海圖(ECDIS)系統(tǒng)的融合,為海洋、環(huán)境部門提可靠有效的執(zhí)行決策數(shù)據(jù)。