田 豐 陳永剛
(東北電子技術研究所 錦州 121000)
針對水下圖像由于受懸浮顆粒(泥沙等)的影響較大的狀況,研究了脈沖噪聲特性以及對脈沖耦合神經網絡(PCNN)工作機理的分析,建立了一個在RGB色彩空間上的一種基于脈沖耦合神經網絡的彩色圖像去噪算法及模型。首先利用PCNN的同步脈沖發放特性定位脈沖噪聲點的位置,然后利用中值濾波對其進行去噪處理,并將結果與中值濾波等其他濾波方法進行了比較。本文就PCNN圖像濾波算法、比較與分析等,作進一步的研究和探討[1]。
PCNN圖像濾波算法,主要包括:PCNN模型、脈沖噪聲模型、噪聲像素的定位、噪聲像素的濾波[2]。
1)PCNN的單個神經元是由非線性連接調制、樹突和脈沖產生三個部分組成的,其模型是圖1所描述的結構:

圖1 PCNN模型結構
線性連接輸入通道和反饋輸入通道兩個部分組成了樹突部分,它的作用是接受來自相鄰神經元輸入的信息。來自局部相鄰神經元突觸的信息主要輸入到了線性連接輸入通道,而圖中所示的反饋輸入通道在接受這種局部信息導入的同時,對于外部的刺激信息也能夠直接接收。此外,每個部分的狀態的變化不但由其本身狀態所決定,還被接受到的輸入信息所左右。加有偏置的線性連接部分與反饋輸入兩部分相乘的結果就得到了非線性連接調制部分的狀態。
脈沖的產生取決于這個系統的內部活動項的狀態,如果其值能夠超過激發門限,那么就可以將其激活,反之則不能。而這個激發門限的數值是由該神經元的輸出狀態所決定的。
2)脈沖噪聲模型。脈沖噪聲像素的灰度值與其周圍像素的灰度值很不相同,而水下圖像由于受懸浮顆粒(泥沙等)的影響較大,這與脈沖噪聲噪聲模型是比較相似的。
例如,對于8比特圖像,脈沖噪聲幅值常為0或255。令X0i,j表示未受污染圖像在點(i,j)處的幅值,那么有噪聲圖像可表示為Xi,j。

這里h表示脈沖幅值的絕對值,pL和pH分別代表負脈沖和正脈沖的概率。一般而言,脈沖噪聲幅度都比較大。這里為了實驗方便,給出h在實驗中的模型。

這里ε在 [ -11]指間均勻分布。假設pH=pL,令p表示脈沖噪聲概率

對于不同的噪聲概率,大部分的改變會集中發生在圖像灰度值比較明顯的峰或者谷上,但是基本的輪廓沒有大的改變,也就是說峰和谷的位置沒有發生明顯的改變。這就是脈沖噪聲的模型特點。
3)噪聲像素的定位。首先選取一個與圖像大小相同的PCNN,然后用圖像灰度對其進行激勵,使該網絡順利運行起來,直到網絡內所有的神經元都成功點火,把網絡中k≠0時刻的每個神經元的點火時刻信息都記錄在一個矩陣中,稱該矩陣為點火時刻矩陣(FTM,Firing Time Map),顯然該矩陣大小與圖像大小相同,這樣就完成了噪聲像素定位的第一個步驟。接下來,選取窗尺寸為(2m+1)×(2m+1)的網絡進行運行,把窗口里面中心點處的神經元(0,0)所對應的的點火時刻(記為T00)與窗口內其它神經元所對應的點火時刻(記為Tij)進行相減運算,最終得到它們的差值是:

圖2 用PCNN進行圖像濾波的算法流程圖

對于上式計算的結果,如果ΔTij>+1,那么表示該神經元(i,j)已經在中心點處的神經元(0,0)之前點火,且后者未被前者所捕獲;如果ΔTij<-1,表示該神經元(i,j)一定是在中心點處的神經元(0,0)之后才開始點火的,且前者也不是由后者所捕獲點火的;如果-1≤ΔTij≤+1,可以看做是神經元(i,j)被神經元(0,0)捕獲點火(ΔTij=-1),或后者被前者捕獲點火(ΔTij=+1),或者在外部刺激(像素灰度值)相同的情況下,這兩個神經元的同時點火(ΔTij=0)。
再往下來,分別把ΔTij大于+1和小于-1的神經元的個數為記為S1和S-1。那么如果S1或S-1只有其中一個數量大于窗內像素數量的的一半時,就判定神經元(0,0)未被其鄰域的大部分的神經元的所捕獲,或者說其鄰域內大部分的神經元未能對神經元(0,0)進行捕獲,由此,就能夠成功的對神經元(0,0)所對應像素做出是噪聲像素的判定;反之,則是非噪聲像素。
如當所圈定的區域內每一神經元只有四個相鄰神經元連接的時候,也就是上下左右四個神經元與之連接,這時候,如果出現了S1≥3或者S-1>3的情況,那么就可以判定該神經元所對應的像素為噪聲像素,反之,其所對應的像素是非噪聲像素。
4)噪聲像素的濾波。完成了對對噪聲像素的定位,下面針對定位后的像素進行處理。當判定某一像素點為圖像中的非噪聲像素時,這種情況很簡單,即令其灰度值在濾波前后不發生變化即可;另一種情況,當判定某像素點為圖像中的噪聲像素時,則給出如下的類中值濾波的處理方法,首先建立一個以噪聲像素為中心窗口,如果S-1大于窗內像素數量的一半,則把窗內像素灰度值中所有ΔTij<-1的像素灰度值取中值后的結果作為該窗口的中心像素(0,0)的灰度值;如果S1大于窗內像素數量的一半,則把窗內像素灰度值中所有ΔTij>+1的像素灰度值取中值后的結果作為該窗口的中心像素(0,0)的灰度值。傳統中值濾波方法是把窗內所有像素灰度的中值作為窗中心像素的灰度值,應用PCNN網絡進行濾波與傳統方法不同,這種類似中值濾波算法處理方法,在首先確定了待處理像素是噪聲像素的前提下,對窗口內的中心點像素外的像素取中值,把得到的結果作為窗中心像素的灰度值。
需要引起注意的是,這里所應用到的與中心像素比較或亮或暗的像素點不是從灰度圖上直接得到的,而是通過考察PCNN點火時刻矩陣才得到的。這樣的處理過程,有利于很好的保留待處理圖像的圖像細節信息,能夠更加有效而準確的剔除噪聲。
比較與分析包括:與傳統方法比較、仿真結果分析[3]。
1)與傳統方法比較。傳統的濾波方法首先是設定一個窗口函數,然后利用該窗口函數對待處理圖像中的噪聲像素和非噪聲像素不加區別的逐一進行濾波運算,這樣做的結果就是帶來了原圖像的有用細節信息的丟失,造成圖像畸變模糊等,比如中值濾波、均值濾波等都是不同角度的以窗內像素灰度中值或者均值對中心像素灰度值進行代替,其結果必然帶來圖像的改變。傳統濾波方法一般都是以犧牲圖像細節信息為代價的折中選擇。所以在濾波運算過程中對有用信息和噪聲信息不加區分的統統濾掉是此類傳統方法的一個通病,經過這樣的濾波處理,即使源圖像不含任何噪聲,輸出的結果也會帶來圖像的改變。維納濾波應用的前提是把退化模型假設為線性時不變,所以當待處理圖像的信噪比較低時,處理的結果也難達到人們預想的效果。對橢球體圖像加不同噪聲強度時采用四種濾波方法的PSNR性能比較,如表1所示。

表1 對橢球體圖像加不同噪聲強度時采用四種濾波方法的PSNR性能比較
PCNN的圖像濾波方法的處理過程是,首先對圖像中的噪聲像素進行精確定位,然后判別是否為噪聲像素,如果是有用信息,則根本不做處理,如果是噪聲,在對其進行類中值方法的濾波處理,這樣就能從根本上最大限度的保留住有用的信息像素,使圖像經過濾波后只能是向著原圖的方向漸漸靠攏,這樣在保持有用信息不被認為破壞的前提下,盡可能的濾除了噪聲污染,從而大大提高濾波性能。
2)仿真結果分析。對水下橢球體的含有20%脈沖噪聲的圖像進行了濾波,并與中值濾波、均值濾波和維納濾波作了比較。其仿真結果分別如圖3所示。
根據上述算法,對水下圖像進行了測試,并與中值濾波、均值濾波、維納濾波作了比較。在圖3中橢球體有脈沖噪聲的圖像進行濾波結果比較。其中圖(a)為原始圖像、圖(b)為加有20%強度脈沖噪聲的圖像、圖(c)為PCNN去噪圖像、圖(d)為中值濾波后的圖像、圖(e)為均值濾波后的圖像、圖(f)為維納濾波后的圖像。本算法中用到的有關參數:衰減系數αθ=0.7,預設閾值Vθ=150,連接系數β=0.5。

圖3 PCNN濾波與其他三種方法對水下橢球體圖像的濾波結果比較

表2 對橢球體圖像加不同噪聲強度時采用四種濾波方法的MAE性能比較
通過計算機仿真,基于PCNN的圖像脈沖噪聲濾波方法不僅比其他三種方法的去噪能力強,而且能很好的保護圖像的邊緣與細節,視覺效果較好;從表1、表2給出的相關評價指標數據比較能夠得出:PCNN濾波比均值濾波和維納濾波的效果好得多;比中值濾波效果也要好。無論是峰值信噪比還是MAE等指標都要強于其他三種濾波方法,具有很強的適應性。對水下橢球體圖像加不同噪聲強度時采用四種濾波方法的MAE性能作了比較,如表2所示。
針對水下圖像由于受懸浮顆粒(泥沙等)的影響較大,建立了脈沖噪聲噪聲模型,研究了脈沖噪聲下的基于PCNN的圖像脈沖噪聲濾波方法。以橢球體圖像為例,加以不同的脈沖噪聲,將其與中值濾波等其他三種方法進行比較;結果發現,對于峰值信噪比PSNR來說,PCNN方法的峰值信噪比明顯比中值濾波方法等其他方法大得多。對于平均絕對誤差MAE來說,PCNN方法與中值濾波方法大致相當,即當噪聲密度在10%~77%之間時,平均絕對誤差比其他兩種方法要好的多,當噪聲密度在77%~80%之間時,平均絕對誤差比其他兩種方法稍遜一籌[4]。
[1]馬義德,張紅娟.PCNN與灰度形態學相結合的圖像去噪方法[J].北京郵電大學學報,2008(2).
[2]鮑晴峰,王繼成.基于PCNN的彩色圖像分割新方法[J].計算機工程與應用,2005(27).
[3]王文惠,樓生強,萬建偉,等.一種彩色圖象的非線性自適應濾波算法[J].計算機工程與科學,2001(04).
[4]楊杰,王志勝.基于參數自適應濾波器的摳圖優化算法[J].計算機與數字工程,2012(2).
[5]盧桂馥,王勇,竇易文.一種新的基于PCNN的圖像脈沖噪聲濾波算法 [ J].計算機技術與發展,2007,17(12):83-85.