王傳龍,馬善偉,屈 崇
(上海船用柴油機(jī)研究所,上海 201108)
水面無人艇(Unmanned Surface Vessel, USV)是一種具有一定自主航行能力及主動避障、環(huán)境感知和資源勘探等能力的小型水面平臺,較適合執(zhí)行危險、枯燥及其他不適合人類執(zhí)行的任務(wù),因而不論是在軍用領(lǐng)域還是民用領(lǐng)域,都具有廣闊的應(yīng)用前景。USV常需面對大霧、大風(fēng)浪、高濕度和強(qiáng)降雨等惡劣環(huán)境,對其自主航行、目標(biāo)識別等能力及軟硬件系統(tǒng)的可靠性提出了極高的要求。
海天線即海洋與天空的交界線,通常是一條有一定傾斜度的由亮及暗的漸變帶。USV在航行時,遠(yuǎn)處的目標(biāo)必然最先出現(xiàn)在海天線附近,因而海天線的提取能縮小目標(biāo)識別的區(qū)域,去除海浪和云團(tuán)等噪聲的干擾,為目標(biāo)圖像分割提供重要依據(jù)。因此,海天線檢測對于實現(xiàn)USV的智能化、自動導(dǎo)航和目標(biāo)識別及跟蹤而言具有重要意義。
海天線附近區(qū)域是灰度變化最為劇烈的區(qū)域。一般來說,USV視覺系統(tǒng)的成像通常分為天空區(qū)域、海天線和海面區(qū)域等3個區(qū)域,但當(dāng)海面風(fēng)浪較為劇烈時,USV的顛簸也會很劇烈,可能會出現(xiàn)全天空區(qū)域或全海面區(qū)域的情形。此外,本文所采用算法的應(yīng)用場景屬于遠(yuǎn)距離成像,海天或海岸線一般都是存在的,但在特殊的天氣狀況下可能會造成海天線成像異常,該情況本文不作討論。
劉松濤等[1]提出采用直線擬合法提取海天線,算法比較簡單,但對復(fù)雜水面環(huán)境的適用性較差。時磊等[2]對該直線擬合法進(jìn)行改進(jìn),能有效提高海天線檢測的正確率。梁世花等[3]將Seam Carving原理應(yīng)用于海天線檢測中,改求最低能量線為求最高能量線,該算法的運(yùn)算效率較高且具有一定的魯棒性。謝紅等[4]提出一種通過結(jié)合最大類間方差法(OTSU)閾值分割和邊緣檢測提取海天線的算法,易于掌握,但精度不夠高且難以確定海天線的具體位置。安博文等[5]針對在機(jī)載紅外搜救場景中的應(yīng)用,提出一種OTSU閾值分割與霍夫(Hough)變換相結(jié)合的算法,采用隨機(jī)點采樣方式提高算法的運(yùn)行速度,在復(fù)雜場景的適應(yīng)性方面仍存在不足。TANG等[6]提出一種基于Radon變換的海天線檢測方法,該方法難以確定直線段的始終點。ZOU等[7]提出一種基于剪切波變換的海天線檢測方法。王兵學(xué)等[8]提出一種基于紋理特征分析的海天線提取算法,該算法具有較強(qiáng)的工程應(yīng)用性。以上研究提到的算法對不同場景均具有一定的適應(yīng)性,但由于海面環(huán)境非常復(fù)雜,常會受到降雨、大霧及障礙物的遮擋等不利因素的影響,引發(fā)低能見度和海天線不連續(xù)等問題,導(dǎo)致識別率和準(zhǔn)確度難以滿足需求,因此對海天線檢測算法進(jìn)行研究一直是 USV研究領(lǐng)域的熱點和難點。
對于正常的水面環(huán)境而言,僅通過Hough變換是能提取海天線的,但USV經(jīng)常會受到降雨、大霧等造成能見度降低的諸多因素的影響,這時僅通過Hough變換幾乎是不可能準(zhǔn)確提取海天線的,必須采用圖像增強(qiáng)算法消除低能見度造成的影響。由于Retinex算法在圖像去霧方面有著突出表現(xiàn)[9],本文采用Retinex算法與Hough變換相結(jié)合的算法檢測海天線,同時采用中值濾波、閾值分割、形態(tài)學(xué)閉運(yùn)算和Canny邊緣檢測對圖像進(jìn)行預(yù)處理。
Retinex算法是一種以人類視覺系統(tǒng)感知為出發(fā)點,基于科學(xué)試驗分析的圖像增強(qiáng)算法,其優(yōu)勢在于可平衡圖像灰度動態(tài)范圍壓縮、圖像增強(qiáng)和圖像顏色恒常等3個指標(biāo),能對含霧的圖像自適應(yīng)增強(qiáng)[10]。Retinex算法可分為單尺度 Retinex(single scale retinex, SSR)、多尺度Retinex(multi-scale retinex, MSR)和帶顏色恢復(fù)的多尺度Retinex(multi-scale retinex with color restoration, MSRCR)等3種。
根據(jù)Retinex理論[9],一幅原始圖像I(x,y)由入射光分量L(x,y)和反射光分量R(x,y) 2部分構(gòu)成(見圖1)。
圖1 Retinex理論中圖像的構(gòu)成
Retinex理論認(rèn)為,同一物體在不同顏色光源下的顏色是恒定的,入射光分量只決定一幅圖像的像素所能達(dá)到的動態(tài)范圍,而反射光分量則決定圖像的內(nèi)在性質(zhì)。USV經(jīng)常會受風(fēng)浪、降雨、大霧等惡劣環(huán)境的影響,攝像頭經(jīng)常會被雨水打濕,這些因素都會嚴(yán)重影響成像質(zhì)量,給后續(xù)海天線的提取帶來困難。本文采用MSR算法來增強(qiáng)圖像,分別應(yīng)用Retinex算法對海天背景下的RGB圖像的R、G、B等3層進(jìn)行處理,并將其整合到新的圖像中。MSR算法是由SSR算法發(fā)展而來的一種算法,基本表達(dá)式[9]為
式(1)中:k為環(huán)繞尺度的個數(shù);*為卷積運(yùn)算符號;R(x,y)為算法的輸出圖像;F(x,y)為環(huán)繞函數(shù),一般為高斯函數(shù);kω為尺度權(quán)重因子。
常見的邊緣檢測算子主要有Roberts算子、Sobel算子、Prewitt算子、LoG算子(高斯-拉普拉斯算子)和Canny算子等,其中:Roberts算子利用局部差分算子來檢測邊緣信息,定位準(zhǔn)確,但不具備抑制噪聲的能力;Sobel算子和Prewitt算子均考慮像素鄰域的信息,即先對圖像進(jìn)行平滑處理,再進(jìn)行微分運(yùn)算,因而具有一定的抑制噪聲的能力,但有可能會檢測到虛假的邊緣信息;LoG算子將高斯低通濾波與拉普拉斯算子相結(jié)合,能克服拉普拉斯算子對噪聲敏感的缺點,但高斯低通濾波可能會平滑掉一部分邊緣,造成邊緣信息丟失。
在圖像邊緣檢測中,抑制噪聲和保證邊緣檢測的精度這二者是無法同時滿足的。Canny算子是在邊緣精確定位與抗噪之間尋找最佳的平衡點,其基本思想是先采用高斯濾波器平滑圖像,再采用非極大值抑制技術(shù)對其進(jìn)行處理得到最后的邊緣圖像。非極大值抑制技術(shù)是一種邊緣細(xì)化的方法,保留局部梯度最大值而抑制其他梯度值,即通過將非局部極大值的點置零來得到細(xì)化的邊緣圖像。
Canny算子的基本步驟[10]為:1) 采用高斯濾波器平滑圖像。2) 采用邊緣檢測算子分別計算水平方向和垂直方向的梯度Gx和Gy,并計算梯度的幅值和方向。梯度幅值梯度方向
3) 對梯度幅值進(jìn)行非極大值抑制。
4) 采用雙閾值算法檢測和連接邊緣。
Hough變換是一種檢測某一特定邊界形狀的方法,通常用來檢測直線、圓和橢圓等,其基本思想是將圖像坐標(biāo)空間中直線的檢測問題轉(zhuǎn)化為參數(shù)空間中點的檢測問題,圖像坐標(biāo)空間中直線上的點對應(yīng)于參數(shù)空間中的累加器,且每個點都會引起累加器加一,從而將形狀檢測問題轉(zhuǎn)化為統(tǒng)計峰值問題[10]。簡而言之,將圖像坐標(biāo)空間中一條直線上的各點分別對應(yīng)于參數(shù)空間中的一條直線,這些直線均相交于一點,而該點的坐標(biāo)即為圖像坐標(biāo)空間中該直線方程的參數(shù)(見圖2)。
對于極坐標(biāo)系參數(shù)空間,用ρ=xc osθ+ysinθ表示直線方程,其中:ρ表示直線到原點的垂直距離;θ表示x軸與原點到直線的垂線之間的夾角,且 -9 0°<θ< 90°(見圖3)。與直角坐標(biāo)空間稍有不同的是,圖像坐標(biāo)空間中直線上的每個點映射到極坐標(biāo)空間中是一條正弦曲線,但其計算方法和基本原理是一致的。
圖2 直角坐標(biāo)系中Hough變換
圖3 極坐標(biāo)系中Hough變換
Hough變換同樣適用于方程已知的曲線檢測,通過曲線方程式來建立相應(yīng)的參數(shù)空間;廣義Hough變換可實現(xiàn)任意邊界形狀的檢測。
本文對USV雙目視覺系統(tǒng)實際拍攝的海天背景下的可見光圖像進(jìn)行仿真驗證。由于其應(yīng)用場景屬于遠(yuǎn)距離成像,海天或海岸線一般都是存在的,算法流程見圖4。
首先采用Retinex算法增強(qiáng)圖像并轉(zhuǎn)為灰度圖像,然后采用中值濾波器濾波,接著通過OTSU閾值分割和形態(tài)學(xué)閉運(yùn)算獲得二值化圖像,最后經(jīng)過Canny算子檢測邊緣后利用Hough變換提取海天線。圖5a)為原圖像;圖5b)為Retinex算法增強(qiáng)圖像,目的是去除噪聲干擾,解決降雨、霧氣等惡劣環(huán)境造成的能見度較低的問題;圖5c)為中值濾波圖像,目的是減少隨機(jī)噪聲造成的干擾;圖5d)為二值化圖像,采用OTSU算法選取最優(yōu)閾值進(jìn)行圖像分割;圖5e)為邊緣檢測圖像,采用Canny算子對二值化圖像進(jìn)行邊緣檢測;圖5f)為海天線檢測圖像,對圖5e)所示的邊緣檢測圖像進(jìn)行Hough變換得到海天線之后,將其繪制到圖5a)中。
圖4 算法流程
圖5 算法處理過程圖
本文試驗的樣本圖片是由USV雙目視覺系統(tǒng)在不同天氣情況下采集得到的,參考航速約為6kn,共采集1000多張圖片。由于同時段內(nèi)采集的圖片比較相似,本文隨機(jī)抽取50張不同時間、不同環(huán)境下采集的圖片作為樣本并依據(jù)其不同海天情況大致分為5類,分別為正常情況、海天傾斜情況、能見度較低情況、海天線部分不可見情況和海天線被建筑物遮擋情況(見圖6)。最后分別對每種情況進(jìn)行實驗驗證,結(jié)果見圖7。
圖6 樣本分類圖
圖7 在不同情況下的海天線檢測結(jié)果
海天線檢測對于USV的主動避障和目標(biāo)辨識而言具有重要意義,本文采用Retinex算法與Hough變換相結(jié)合的算法,結(jié)合中值濾波、閾值分割、形態(tài)學(xué)閉運(yùn)算和Canny算子邊緣檢測等方法,可準(zhǔn)確地提取海天線。通過隨機(jī)抽取50張圖片進(jìn)行測試,精確提取海天線的有48張圖,識別率約為96%;僅通過Hough變換可精確提取海天線的有23張,識別率僅為46%。通過試驗發(fā)現(xiàn),采用Retinex算法可有效地增強(qiáng)圖像并抑制噪聲的干擾,尤其對水霧、云團(tuán)和煙霧等造成的干擾抑制效果顯著。通過對不同情況下的海天線進(jìn)行檢測,結(jié)果表明,本文的算法具有良好的適應(yīng)性,海天線的提取達(dá)到了理想的效果,為USV目標(biāo)識別、跟蹤及圖像配準(zhǔn)等打下了基礎(chǔ)。
【 參 考 文 獻(xiàn) 】
[1] 劉松濤,沈同圣,韓艷麗,等. 艦船目標(biāo)海天線提取方法研究[J]. 海軍航空工程學(xué)院學(xué)報,2002, 17 (6): 51-53.
[2] 時磊,趙軍,葉宗民. 一種基于直線擬合法的新的海天線檢測方法[J]. 紅外,2011, 32 (8): 25-28.
[3] 梁世花,吳巍,李波,等. 基于Se am Carving的海天線檢測算法[J]. 紅外與激光工程,2013, 42 (10): 2817-2821.
[4] 謝紅,劉玲,劉艷艷. 復(fù)雜海天線區(qū)域檢測算法研究[J]. 應(yīng)用科技,2006, 33 (6): 96-98.
[5] 安博文,胡春暖,劉杰,等. 基于Hough變換的海天線檢測算法研究[J]. 紅外技術(shù),2015, 37 (3): 196-199.
[6] TANG D, SUN G, NIU Z. Research on infrared ship detection method in sea-sky background[C]//Society of Photo-Optical Instrumentation Engineers. Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, 2013: 89072H.
[7] ZOU R B, SHI C C. A sea-sky line identification algorithem based on shearlets for infrared image[J]. Advanced Materials Research, 2013, 846-847: 1031-1035.
[8] 王兵學(xué),雍楊,霍義華,等. 基于紋理特征分析的海天線檢測方法[J]. 紅外技術(shù),2013, 35 (1): 42-46.
[9] 李菊霞,余雪麗. 霧天條件下的多尺度Retinex圖像增強(qiáng)算法[J]. 計算機(jī)科學(xué),2013, 40 (3): 299-301.
[10] 張錚. 數(shù)字圖像處理與機(jī)器視覺[M]. 北京:人民郵電出版社,2010.