顏明重,黃冰逸,朱大奇
(上海海事大學(xué) 水下機(jī)器人與智能系統(tǒng)實(shí)驗(yàn)室,上海 201306)
相對(duì)于普通圖像,水下光學(xué)成像具有一定的特殊性。水下環(huán)境對(duì)可見(jiàn)光具有不同程度的吸收和散射等復(fù)雜作用,加上水中懸浮顆粒的存在,使得水下圖像脈沖噪聲斑點(diǎn)多,對(duì)比度低而且模糊[1]。在光線微弱的深水環(huán)境中,攝像機(jī)成像較為困難,通常需要采用人工光源來(lái)補(bǔ)充照明,非均勻的光照會(huì)導(dǎo)致目標(biāo)成像亮度不均,而且輪廓邊緣特性不一致。水下光學(xué)圖像的以上特點(diǎn),使得前景目標(biāo)的準(zhǔn)確分割難度很大。
傳統(tǒng)的圖像分割方法,通常利用圖像中相似區(qū)域灰度的連續(xù)性以及邊界上灰度的不連續(xù)性等特征信息,從圖像背景中提取出目標(biāo)。閾值分割、區(qū)域生長(zhǎng)、邊緣提取和主動(dòng)輪廓模型等是常見(jiàn)的4類(lèi)分割方法[2-4]。考慮到實(shí)際環(huán)境的復(fù)雜性以及自動(dòng)目標(biāo)特征提取和識(shí)別的需要,水下圖像更多地采用基于閾值的分割方法,比如基于熵的方法[3]和基于聚類(lèi)的方法[4]常用于確定分割閾值。這2種方法在尋找閾值的過(guò)程中都需要大量迭代運(yùn)算,因此許多學(xué)者提出利用粒子群優(yōu)化、遺傳算法等智能優(yōu)化算法來(lái)尋找最優(yōu)解[5-8]。基于熵的方法和基于聚類(lèi)的方法通常難以獲得精確的目標(biāo)邊緣分割效果[9],針對(duì)這一問(wèn)題,文獻(xiàn)[10]引入模糊數(shù)學(xué)理論利用隸屬度函數(shù)代替屬于或不屬于某類(lèi)的兩元判斷,提高了分割的精確度。針對(duì)光照不均圖像,有些文獻(xiàn)從圖像的灰度波動(dòng)特性角度來(lái)研究圖像的分割問(wèn)題,如文獻(xiàn)[11]對(duì)彩色圖像進(jìn)行灰度化的權(quán)值調(diào)整處理,再進(jìn)行分割,而文獻(xiàn)[12]利用主元分析(principal component analysis, PCA)的方法,對(duì)圖像各方向的灰度波動(dòng)變換矩陣進(jìn)行降維,再用最大類(lèi)間方差法來(lái)選取分割的閾值。對(duì)于水下圖像來(lái)說(shuō),基于最大類(lèi)間方差的方法忽略了圖像的空間信息,當(dāng)圖像亮度不均,目標(biāo)與背景的灰度有較多重疊時(shí),其分割效果難以令人滿(mǎn)意。
本文分析水下圖像在非均勻光照下目標(biāo)邊緣特性和圖像噪聲特點(diǎn),提出一種非對(duì)稱(chēng)自適應(yīng)中值濾波的方法改善目標(biāo)的邊緣特性,在此基礎(chǔ)上借鑒了文獻(xiàn)[11]對(duì)于圖像灰度波動(dòng)的研究,分別提取圖像的行和列的灰度波動(dòng)信號(hào),找出大尺度的波峰和波谷,再采用自適應(yīng)的局部閾值分割確定目標(biāo)的邊緣,從而實(shí)現(xiàn)目標(biāo)的準(zhǔn)確分割。
在水下微光環(huán)境中,人工光源照射下的灰度圖像如圖1(a)所示,前景為一個(gè)被纜繩系固的立方體目標(biāo)。建立三維直角坐標(biāo)系(XYZ),X軸和Y軸分別表示圖像行和列,Z軸上顯示圖像中各像素的灰度值,則圖像的灰度波動(dòng)特性如圖1(b)所示:由于非均勻光照的緣故,背景區(qū)域的灰度呈現(xiàn)一定曲面特征;水中懸浮顆粒使得圖像呈現(xiàn)明顯的灰度波動(dòng)脈沖噪聲;目標(biāo)物邊緣特性不一致,部分輪廓邊緣存在顯著的反向脈沖噪聲。
圖1 水下圖像Fig.1 Underwater image
提取圖像中的行灰度信息,可進(jìn)一步發(fā)現(xiàn)前景目標(biāo)的邊緣細(xì)節(jié)特征。如圖2顯示了圖1所示水下圖像的第400行的灰度波動(dòng):明顯的大尺度灰度跳變波動(dòng)包含了明顯的目標(biāo)邊緣特征信息,提取該特征可以準(zhǔn)確分割目標(biāo),另外該邊緣位置也存在比一般脈沖噪聲更為顯著的反向脈沖噪聲。
圖2 行灰度波動(dòng)特征Fig.2 Original row grayscale wave
中值濾波對(duì)正反向脈沖噪聲具有同等程度的抑制作用[13],但是在水下圖像中,存在于目標(biāo)邊緣的反向脈沖噪聲與一般的正向脈沖噪聲往往并不對(duì)稱(chēng)。如果采用小模板窗口,雖然能夠保護(hù)圖像的邊緣特征細(xì)節(jié),但是反向脈沖噪聲抑制效果不明顯,若采用大模板窗口,雖然可以有效濾除反向脈沖噪聲,但是圖像邊緣特征信息會(huì)丟失。圖3(a)所示為圖2經(jīng)過(guò)中值濾波處理后的效果,可見(jiàn)一般正向脈沖噪聲信號(hào)得到了很好的抑制,而且目標(biāo)邊緣特征保存較好,但是顯著反向脈沖噪聲仍然存在。為此,本文提出一種非對(duì)稱(chēng)的自適應(yīng)中值濾波方法,主要思路是對(duì)較亮的前景目標(biāo)區(qū)域采用小模板窗的中值濾波處理,而對(duì)較暗的背景區(qū)域則采用動(dòng)態(tài)擴(kuò)大的模板窗口進(jìn)行濾波。具體工作原理描述如下:
A模式:
A1=gmed-gmin,A2=gmed-gmax
ifA1>0 andA2<0 andgxy>gmean
goto B
else
r=r+1
Sr=(2r+1)*(2r+1)
ifSr≤SW
repeat A
esle
f(x,y)=gmed
B模式:
B1=gxy-gmin,B2=gxy-gmax
ifB1>0 andB2<0
f(x,y)=gmed
esle
f(x,y)=gmean
其中:gmax和gmin分別表示模板Sr中像素灰度的最大值和最小值;gmed和gmean分別表示模板Sr中像素灰度的中值和均值;gxy表示在圖像(x,y)位置上的實(shí)際灰度值;SW表示設(shè)定模板的最大尺寸。在A模式中,如果圖像局部鄰域范圍Sr內(nèi)像素實(shí)際灰度高于平均灰度值(gxy>gmean),則進(jìn)入B模式,用小模板窗(2r+1)×(2r+1)進(jìn)行濾波處理;如果像素灰度gxy≤gmean,則不斷擴(kuò)大模板窗口(r=r+1≤W)再濾波。
圖3 行灰度波動(dòng)濾波處理Fig.3 Row grayscale wave filtering
圖4 本文濾波后的圖像灰度波動(dòng)Fig.4 Image grayscale wave by the proposed method
圖2的行灰度波動(dòng)經(jīng)過(guò)非對(duì)稱(chēng)自適應(yīng)中值濾波的處理,得到的結(jié)果如圖3(b)所示,對(duì)比圖3(a)的普通中值濾波處理結(jié)果,可以發(fā)現(xiàn)目標(biāo)邊緣的反向脈沖噪聲仍然存在。從圖4所示的濾波結(jié)果與圖1(b)對(duì)比可知,目標(biāo)邊緣的細(xì)節(jié)特征保存完好,圖像中的正反向脈沖噪聲均被有效濾除。
在濾除水下圖像中的正反向脈沖噪聲和改善目標(biāo)邊緣特性的基礎(chǔ)上,為了實(shí)現(xiàn)對(duì)非均勻亮度圖像的準(zhǔn)確分割,本文采用自適應(yīng)局部閾值的方法:首先從圖像的灰度波動(dòng)特征提取大尺度的峰谷點(diǎn),從而確定目標(biāo)的邊緣;其次根據(jù)局部峰谷點(diǎn)位置計(jì)算出局部閾值,從而對(duì)目標(biāo)與背景進(jìn)行分割。
通過(guò)圖像灰度波動(dòng)特征獲取目標(biāo)邊緣分為3步:首先按行(或者列)搜索灰度波動(dòng)的所有谷峰點(diǎn);其次確定大尺度的波谷波峰;最后去除偽波谷波峰點(diǎn)。
假設(shè)g(r,i)為圖像第r行的灰度值,其中i=1,2,…,≤N,N為圖像的列寬。待求取的波峰和波谷點(diǎn)記為p和t,則獲取峰谷點(diǎn)的判斷條件:
g(r,i)≥g(r,i-1)
∧g(r,i)≥g(r,i+1)
∧g(r,i-1)≠g(r,i+1)
?pm=(r,i),m=1,2,…
(1)
g(r,i)≤g(r,i-1)
∧g(r,i)≤g(r,i+1)
∧g(r,i-1)≠g(r,i+1)
?tn=(r,i),n=1,2,…
(2)
進(jìn)一步篩除小尺度的峰谷點(diǎn),篩除的思路是:在灰度波動(dòng)曲線的上升沿和下降沿,如果相鄰的波峰和波谷點(diǎn),其灰度差小于某個(gè)極小值ε,則合并取消。設(shè)波峰點(diǎn)的集合P={pm},m=1,2,…,R,波谷點(diǎn)的集合T={tn},n=1,2,…,S,R、S分別表示第r行的波峰和波谷數(shù),對(duì)于波峰點(diǎn)pi,如果與相鄰波谷點(diǎn)tj和tj+1的灰度差小于某個(gè)極小值ε,如式(3)所示,則將該波峰點(diǎn)篩除。同理,對(duì)于波谷點(diǎn)ti,與其相鄰波峰點(diǎn)pj和pj+1則采用式(4)篩除波谷點(diǎn)。
g(pi)-g(tj)≤ε∧g(pi)-g(tj+1)≤
ε?P=P-pi
i=1,2,…,R
j=1,2,…,S-1
(3)
g(pj)-g(ti)≤ε∧g(pj+1)-g(ti)≤ε
?T=T-ti
i=1,2,…,S
j=1,2,…,R-1
(4)
將經(jīng)過(guò)篩選后所剩下的峰谷點(diǎn)按列坐標(biāo)升序排列,放入隊(duì)列PTs中。在PTs中進(jìn)一步合并消除灰度差小于ε的相鄰峰谷點(diǎn),最后獲得的大尺度峰谷點(diǎn)保存在隊(duì)列LPTs中,這些峰谷點(diǎn)標(biāo)記了目標(biāo)邊緣的位置,如圖6所示。
圖5 提取大尺度峰谷點(diǎn)Fig.5 Picking out large scale peaks and troughs
在獲得目標(biāo)邊緣的大尺度波峰波谷點(diǎn)之后,為了進(jìn)一步分割出目標(biāo),設(shè)計(jì)目標(biāo)分割的局部閾值:
T=g(t)+ξ×(g(p)-g(t))
(5)
式中:t和p為L(zhǎng)PVs中的位置相鄰的大尺度波谷點(diǎn)和波峰點(diǎn),0<ξ<1。若圖像的行灰度值大于閾值T時(shí),判為前景目標(biāo),反之則判為背景。若LPVs為空,即該行無(wú)大尺度峰谷點(diǎn),則該行直接判定為無(wú)目標(biāo)的背景。
為測(cè)試和驗(yàn)證算法的有效性,設(shè)置計(jì)算機(jī)仿真環(huán)境如下:Intel Core2 Duo 3GHZ處理器、4 GB DDR2 800 MHZ內(nèi)存、250 GB硬盤(pán)以及Matlab2011a仿真平臺(tái)。實(shí)驗(yàn)對(duì)象為5張非均勻光照下的水下圖像,其中包含近距離和遠(yuǎn)距離的球體和立方體目標(biāo)物各1張,以及水下沉船殘骸圖像1張,所有圖像的分辨率均為704×576。圖6分別代表原圖、基于模糊熵的閾值分割算法、模糊C值聚類(lèi)分割算法及本文算法的分割結(jié)果。
基于模糊熵的圖像分割算法使用了差分演進(jìn)(differential evolution, DE)算法對(duì)迭代進(jìn)行加速。基于模糊C均值分割算法為了取得更好的分割效果將聚類(lèi)數(shù)目設(shè)為3,并將后2類(lèi)聚類(lèi)中心的平均值作為一類(lèi)。最大迭代次數(shù)設(shè)為100、隸屬度矩陣U的指數(shù)設(shè)為2.0、隸屬度最小變化量(中值條件)設(shè)為10-5。
圖6 水下圖像分割結(jié)果Fig.6 Segmentations of underwater images
從圖6可見(jiàn),對(duì)于水下距離較近的球體和立方體目標(biāo),3種算法的分割效果相差不大,目標(biāo)物的外輪廓均能夠較準(zhǔn)確分割出來(lái)。其中,對(duì)于近距離方塊的分割,基于模糊熵的方法存在將噪聲錯(cuò)分割為前景目標(biāo)的問(wèn)題,基于模糊C均值聚類(lèi)的方法未能將系固立方體的繩索準(zhǔn)確分割出來(lái)。對(duì)于較遠(yuǎn)距離的目標(biāo)物,無(wú)論是基于模糊熵還是模糊C均值聚類(lèi)的方法,均出現(xiàn)較明顯的錯(cuò)分割。對(duì)于水下沉船殘骸的分割,基于模糊熵的方法只分割出了小部分前景(船艏的欄桿),基于模糊C均值聚類(lèi)的方法基本未能有效分割出可識(shí)別的目標(biāo)細(xì)節(jié)。本文的算法則分割出了在人工光源照射下的前景目標(biāo)的更多細(xì)節(jié)。如圖6(d)所示,本文算法無(wú)論對(duì)于遠(yuǎn)近距離的球體和立方體,還是水下沉船殘骸,均實(shí)現(xiàn)了更為準(zhǔn)確的目標(biāo)分割,獲得了更豐富的前景目標(biāo)的細(xì)節(jié)特征。
為進(jìn)一步評(píng)價(jià)各算法的圖像分割性能,選擇錯(cuò)分類(lèi)誤差(misclassification error, ME)、均勻性測(cè)度(uniformity measure,UM)[9]以及算法耗時(shí)等指標(biāo)來(lái)進(jìn)行測(cè)評(píng)分析。
ME值所需要掩碼圖像按照研究人員的觀察標(biāo)準(zhǔn)人工制作而成(圖7),ME值的計(jì)算公式為:
(6)
式中:BO和FO分別指圖像標(biāo)準(zhǔn)二值掩碼中的背景與前景(目標(biāo)),BT與FT為圖像分割后的背景與前景,|·|為取集合元素總數(shù)操作。ME表征圖像背景和前景的錯(cuò)分割概率,該值越小表示圖像的分割效果越好。
對(duì)本文人造目標(biāo)物的4幅水下圖像的分割算法進(jìn)行ME測(cè)評(píng),結(jié)果如表1所示。從表中可見(jiàn):本文算法對(duì)近距離球體、遠(yuǎn)距離球體、近距離立方體和遠(yuǎn)距離立方體等人造目標(biāo)的分割ME值最小,也即圖像分割質(zhì)量最好;從運(yùn)行時(shí)間看,本文算法的耗時(shí)明顯短于基于模糊C均值聚類(lèi)方法的耗時(shí),稍長(zhǎng)于基于模糊熵的分割方法;對(duì)于遠(yuǎn)距離球體的分割,基于模糊熵的方法和基于模糊C均值聚類(lèi)的方法無(wú)論在耗時(shí)和ME值上都有較大的波動(dòng),而本文算法的性能表現(xiàn)則相對(duì)平穩(wěn)。
圖7 水下目標(biāo)圖像掩碼Fig.7 Ground truth images of artificial objects
表1 各算法耗時(shí)和ME測(cè)評(píng)Table 1 Evaluation of time consumptions and MEs
由于水下沉船殘骸圖像的真實(shí)掩碼難以確定,因此采用UM來(lái)檢查圖像分割后的前景與背景區(qū)域的灰度均勻性,UM的定義示:
(7)
式中:C為歸一化系數(shù);Ri表示第i類(lèi)分割區(qū)域;Ai表示第i類(lèi)元素所占面積。UM值越大則表明分割區(qū)域內(nèi)部均勻度越好,即圖像的分割越合理準(zhǔn)確。從表2的算法耗時(shí)和UM值可見(jiàn):本文的算法UM值最大,也即目標(biāo)分割區(qū)域均勻度最好;另外,本文算法的耗時(shí)遠(yuǎn)短于基于模糊C均值聚類(lèi)的方法的耗時(shí),稍長(zhǎng)于基于模糊熵的方法。
表2 各算法耗時(shí)與UM測(cè)評(píng)Table 2 Evaluation of time consumptions and UMs
1) 非對(duì)稱(chēng)自適應(yīng)中值濾波的方法對(duì)于微光水下圖像的噪聲抑制具有較好的針對(duì)性,小模板窗的濾波能夠?yàn)V除圖像中的正向脈沖噪聲,較好地保存前景目標(biāo)的邊緣細(xì)節(jié)特征,同時(shí)大模板窗的濾波可以有效濾除顯著的反向脈沖噪聲,具有平滑圖像背景的作用;
2) 基于灰度波動(dòng)特征的大尺度波峰波谷提取方法,能夠精確定位出目標(biāo)的邊緣,對(duì)于亮度非均勻和對(duì)比度低的水下圖像具有較好的適用性;
3) 另外,在圖像灰度波動(dòng)中尋找大尺度的波谷和波峰的過(guò)程,將來(lái)考慮對(duì)搜索算法進(jìn)行優(yōu)化,進(jìn)一步降低計(jì)算量,提升分割效率。