高強
(武夷學院機電工程學院 福建省武夷山市 354300)
隨著無人駕駛船舶技術(shù)的興起,自動作業(yè)清漂船得到了廣闊的發(fā)展,它可以代替人在骯臟、危險、極低溫或極高溫環(huán)境中作業(yè),擁有較高的自動化、智能化水平,是理想的水面垃圾漂浮物清理裝備,有廣闊的應(yīng)用前景。因數(shù)字圖像處理技術(shù)的不斷發(fā)展,計算機視覺導航成為一種嶄新的導航技術(shù),它使用攝像系統(tǒng)獲取外界環(huán)境圖像信息,然后對圖像信息進行處理,獲取目標有效特征來進行導航。自動作業(yè)清漂船在使用視覺導航中,需要依據(jù)河道水岸線完成岸上區(qū)域與水面區(qū)域的分割識別、船體航行姿態(tài)的估計和調(diào)整、避障導航等功能,因此河道水岸線的精確提取是完成清漂船視覺導航的關(guān)鍵所在,有著十分重要的應(yīng)用價值[1,2]。
目前在無人船平臺中使用圖像處理方法提取水岸線的相關(guān)研究較少,主要集中在使用擬合方法和邊緣檢測算法。宋濤[3]等通過對視頻中某一幀圖像與下一幀做差,對結(jié)果圖像采用線性采樣和雙線性插值法提取出光照不均勻、背景復雜的船舶圖像中水線特征;余加俊[4]等在使用Sobel 邊緣檢測的基礎(chǔ)上,對河道邊界輪廓線進行線性擬合,有效解決岸邊水草、樹木帶來的影響,可將直線河道和彎曲河道進行有效提??;沈建軍[5]等在Canny 邊緣檢測的基礎(chǔ)上,使用改進的Deeplab v3+分割算法提取出水岸線,能夠有效克服岸邊樹木、水中波紋、光照不均勻帶來的提取不利條件;Krohnert M[6]利用水面中的波紋特征,進行參數(shù)擬合,從智能手機拍攝的圖像中提取出水岸線,該方法可有效消除水面波紋對水岸線提取造成的影響。但是,通過邊緣檢測和擬合方法在提取水岸線中,對水岸線的平滑性有一定的要求,對于復雜性較高、彎曲較多的水岸線提取精確度較差。
為此,本文通過將原始河道圖像從RGB 顏色空間轉(zhuǎn)換為Lab,對a 通道下的圖像進行圖像分割,得到水面種子點區(qū)域;使用區(qū)域生長算法,在既定的生長規(guī)則下從種子點區(qū)域進行區(qū)域生長,得到水面區(qū)域,畫出水面區(qū)域的輪廓線,該輪廓線就是河道的水岸線。同時,本文選取3 組不同背景下拍攝的水岸線圖像,采用本文提出的方法,從3 組圖像中精確提取出水岸線,驗證了本文提出方法的可行性。
原始河道水岸線圖像由RGB 三色混合而來,如圖1所示,在該顏色空間下有紅、綠、藍三個顏色通道,每個顏色與其他兩個顏色有較大的線性相關(guān)性,當其中一個顏色發(fā)生較大變化時,其他兩種亦會跟隨變化,在此顏色空間下不適合進行圖像閾值處理和分割,因此無法在此顏色空間下對水岸線圖像進行水岸線特征的提取。
圖1:河道水岸線圖像
Lab 顏色空間[7-9]解決了人眼視覺系統(tǒng)對RGB 敏感度不同的問題,且不受圖像拍攝設(shè)備的影響,有三個通道,其中L 為亮度通道、a 為紅綠色的數(shù)值變化、b 為藍黃色的數(shù)值變化。Lab 顏色空間通過L(0 ~100)、a(-128 ~127)、b(-128 ~127)的數(shù)字化使得顏色分布較均勻、有更廣的色域描述、對彩色圖像分割有更好的結(jié)果。將RGB 顏色空間轉(zhuǎn)換為Lab,需先借助XYZ 參數(shù),即:
在公式(1)中,RGB 表示RGB 顏色空間的三個通道,它們的值區(qū)域均位于0 ~100 之間。
將XYZ 參數(shù)轉(zhuǎn)換到Lab 顏色空間:
在公式(2)中,f 表示為一種函數(shù),其具體描述為:
依據(jù)上述的轉(zhuǎn)換過程,將圖1 從RGB 顏色空間轉(zhuǎn)換為Lab,得到如圖2所示的結(jié)果,分別給出了L 分量、a 分量、b 分量的結(jié)果圖像。從圖2 中可發(fā)現(xiàn),在a 通道下,岸邊水草、樹木灰度值較小,水面區(qū)域灰度值較大,水面區(qū)域與岸上區(qū)域的灰度值有較大的差異,且樹木在水中的倒影區(qū)域與水面無倒影區(qū)域差別不大,可使用閾值分割方法將可作為種子點初始區(qū)域的水面部分區(qū)域分割出。
圖2:原始圖像轉(zhuǎn)換為Lab 圖像
區(qū)域生長算法[10]一般包含三個要素:種子點、生長規(guī)則和生長終止條件,其核心思想是從種子點所在區(qū)域的像素點開始,將其附近的區(qū)域依據(jù)灰度值差來決定是否將此區(qū)域納入生長范圍,當灰度值差過大時,即認為達到終止條件,不在將其納入生長范圍,得到目標區(qū)域。
對圖2(b)圖像進行觀察分析,發(fā)現(xiàn)在該圖像中灰度值較大的區(qū)域為水面和天空區(qū)域。對于清漂船船載攝像設(shè)備拍攝的圖像而言,一般天空區(qū)域位于圖像上方,水面區(qū)域位于圖像下方,因而可以依據(jù)此特征將水面區(qū)域和天空區(qū)域進行區(qū)分。本文采取將圖像自動裁剪的方式來去除天空區(qū)域,對下方僅僅有水面特征區(qū)域的圖像進行最大類間方差法[11]來求取閾值進行圖像分割,得到僅僅包含水面區(qū)域的二值圖像,并依據(jù)此二值圖像在原始圖像中畫出輪廓線,得到如圖3所示的結(jié)果圖像。在圖3 中的紅色輪廓線包含的區(qū)域就是種子點區(qū)域。本文通過將單一種子點更改為區(qū)域集合,減少生長迭代性,增加無人清漂船在視覺導航時的實時性。
圖3:初始生長區(qū)域圖像
從種子點集合區(qū)域開始,通過八鄰域區(qū)域生長的方法來制定生長規(guī)則如下:
在公式(4)中,T 為生長規(guī)則的閾值,W(x,y)為圖像中位于(x,y)位置像素與其鄰域像素的差。當W(x,y)所在的像素點灰度值小于閾值時,將鄰域像素點納入生長區(qū)域中;若大于閾值,不將鄰域像素點納入生長區(qū)域中。
從公式(4)可知,T 的確定在區(qū)域生長算法的執(zhí)行中非常重要,本文采取使用圖像標準差的方式來確定閾值T。圖像標準差[12]是圖像中像素點與像素均值的標準差數(shù)值,通過該數(shù)值可以觀察圖像的紋理多少,其計算方法如下:
在公式(5)中,W 表示圖像的寬,H 表示圖像圖像高,P(x,y)表示位于圖像(x,y)坐標的像素點值。
本文使用的生長規(guī)則閾值即是圖像標準差C 的值。當確定好初始種子點集合區(qū)域和生長閾值后,就可以進行區(qū)域生長算法的執(zhí)行,得到目標區(qū)域。如圖4所示的二值圖像,為執(zhí)行完區(qū)域生長算法得到目標區(qū)域。在圖4 中,白色信息表示水面區(qū)域,黑色信息表示岸上區(qū)域,同時可發(fā)現(xiàn),有小部分面積不大的孔洞存在,這是因為在水面區(qū)域會存在倒影和波紋的原因,可通過去除團聚灰度值的方法來清除掉這些孔洞,使得水面信息表示完整。最后得到白色有效信息的輪廓線,并將此輪廓線畫在原始水岸線圖像中,即可將水岸線從原始圖像中提取出來,結(jié)果如圖5所示,紅色輪廓線就是原始圖像中的水岸線。對圖5 觀察可知,紅色輪廓線與水岸線高度重合。
圖4:執(zhí)行區(qū)域生長算法的結(jié)果圖像
圖5:提取水岸線的結(jié)果圖像
為驗證本文提出檢測水岸線方法的有效性,使用三組圖像進行驗證實驗。這三組圖像,每組20張,為不同背景環(huán)境、不同光照條件、不同角度拍攝的水岸線圖像,從三組圖像中選出具有代表性的三張圖像進行展示,如圖6 中原始圖像a、b、c所示。對三組圖像進行驗證實驗,實驗平臺選擇為在配置為Core i7-8550U(1.8GHz)、4G 內(nèi)存、Window10 操作系統(tǒng)環(huán)境的電腦中運行的MATLAB2019版本軟件。
圖6:驗證實驗結(jié)果圖像
實驗結(jié)果如圖6 中d-i 圖像所示。第一組圖像為自然環(huán)境下的近景圖像,水岸線主要由岸邊水草組成,有樹木和建筑物,水面中亦有倒影。第二組圖像為人工湖的遠景圖像,水岸線為親水臺,水面中有少量的樹木倒影。第三組圖像為自然環(huán)境下的遠景圖像,水面中無倒影,但有大量的波紋,且水面因暴雨影響而整體顯黃色。圖像6 中d、e、f 為在a 通道下執(zhí)行區(qū)域生長算法得到的目標區(qū)域,g、h、i 為從原始圖像中提取的水岸線結(jié)果,使用紅色輪廓線將提取出的水岸線標記出。從結(jié)果圖像中可發(fā)現(xiàn),不同背景環(huán)境、不同光照條件、不同角度拍攝的圖像,水岸線基本被有效提取出,且提取出的輪廓線與水岸線高度重合。
為對驗證試驗結(jié)果進行量化分析,本文使用偏移均方根誤差[13]來對結(jié)果進行計算,計算公式如下:
在公式6 中,n 為選取的人工選擇水岸線的像素點個數(shù),本文選取為300;A 為使用本文提出的方法檢測得到水岸線的矩陣,并從該矩陣中均勻選取n 個數(shù)據(jù);B 為人工選取水岸線得到的n 個數(shù)據(jù)的矩陣;R 的計算結(jié)果為像素點,因此在計算使需對其進行取整處理。R 的值越小,說明水岸線提取越精確。
同時,為驗證本文提出方法的實時性,統(tǒng)計出三組圖像提取水岸線的平均時間,將驗證實驗結(jié)果數(shù)據(jù)列在表1 中。
表1:驗證實驗結(jié)果數(shù)據(jù)
從表1 中的數(shù)據(jù)可知,偏移均方根誤差最大值為7,所需時間基本在50m 以下,由此可知本文提出結(jié)合Lab顏色空間提取水岸線的方法精度較高,實時性較好,滿足無人清漂船使用視覺導航的各項要求。
河道水岸線這一參考特征,對于使用視覺導航的無人清漂船非常重要。清漂船在河道進行清漂作業(yè)時,需要依據(jù)河道水岸線進行航行姿態(tài)、路線的調(diào)整,因此需要從船載攝像系統(tǒng)拍攝的圖像中精確識別檢測河道水岸線。但是在水岸線的周圍常常存在樹木、雜草、建筑物及其倒影,自然場景下光照并不均勻,水面有水波紋,都會對水岸線的精確識別帶來較大的影響。本文提出一種基于Lab 顏色空間和改進區(qū)域生長算法的水岸線提取方法,該方法可將原始圖像從RGB 顏色空間轉(zhuǎn)換到Lab 顏色空間,在a 通道下對水面區(qū)域進行最大類間方差法的閾值獲取,初步獲取部分水面區(qū)域;在此初步區(qū)域上執(zhí)行區(qū)域生長算法,算法中的生長閾值T 通過圖像標準差來計算出,算法執(zhí)行完畢后,得到使用白色信息表示的目標水面區(qū)域二值圖像;最后通過繪制二值圖像的白色區(qū)域輪廓線來得到水岸線,并將該輪廓線繪制在原始圖像中。同時,本文為驗證該方法提取水岸線的精確度和實時性,進行了驗證時實驗,對三組圖像進行實驗,得到驗證實驗結(jié)果數(shù)據(jù),從結(jié)果數(shù)據(jù)可知,本文方法提取水岸線精度較高,實時性較好,可有效對水岸線進行提取,有較好的魯棒性,滿足視覺導航的實時性。