陳家益,熊剛強(qiáng),戰(zhàn)蔭偉,曹會(huì)英*
(1.廣東醫(yī)科大學(xué) 信息工程學(xué)院,廣東 湛江 524023;2.廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州 510006)
圖像在獲取、處理、存儲和傳輸?shù)倪^程中,由于外部環(huán)境的干擾和硬件條件的限制,往往會(huì)被噪聲污染,而脈沖噪聲是主要的噪聲.脈沖噪聲主要有兩種類型:固定的灰度噪聲即椒鹽噪聲,以及隨機(jī)的灰度噪聲.如果是椒鹽噪聲,被污染的像素要么是最小的灰度值,要么是最大的灰度值[1].如果是隨機(jī)的灰度噪聲,被污染的像素的灰度值可以是介于最小灰度值和最大灰度值之間的任何值.根據(jù)是否進(jìn)行噪聲檢測,現(xiàn)行的濾波方案總體上分為兩大類:無噪聲檢測的濾波和基于噪聲檢測的濾波[2].所有的濾波方案的目標(biāo)是在濾除噪聲的同時(shí),保持圖像的邊緣和細(xì)節(jié)部分.但噪聲在圖像上表現(xiàn)出與圖像的邊緣和細(xì)節(jié)部分有很大的相似性,在濾除噪聲的同時(shí),往往也將部分邊緣和細(xì)節(jié)部分誤當(dāng)作噪聲濾除掉,結(jié)果使得濾波圖像變得模糊.為了改善圖像濾波的效果,學(xué)者們不斷地提出了各種改進(jìn)的中值濾波算法,在不同程度上提高了圖像濾波的性能.
中值濾波是基于排序統(tǒng)計(jì)理論的一種非線性圖像濾波技術(shù).將當(dāng)前像素對應(yīng)的濾波窗口的像素按灰度大小進(jìn)行排序,然后選擇中間位置的灰度作為當(dāng)前像素的灰度.中值濾波的主要功能是使擁有不同灰度的點(diǎn)看起來更接近于它的相鄰點(diǎn).中值濾波在濾除噪聲的同時(shí),在一定程度上保持了圖像的邊緣和細(xì)節(jié)信息[3].
常規(guī)的中值濾波算法有標(biāo)準(zhǔn)的中值濾波算法和自適應(yīng)中值濾波算法.
標(biāo)準(zhǔn)的中值濾波算法[4](standard median filter algorithm,簡稱SMF)采用固定大小的濾波窗口,對每個(gè)像素對應(yīng)的濾波窗口內(nèi)的像素按灰度大小進(jìn)行排序,取灰度中值取代當(dāng)前像素.標(biāo)準(zhǔn)的中值濾波算法是無區(qū)分的濾波,并且算法采用固定大小的濾波窗口,缺乏自適應(yīng)性.針對標(biāo)準(zhǔn)的中值濾波算法存在的局限性,提出了自適應(yīng)的中值濾波算法.
自適應(yīng)中值濾波算法[4-5](adaptive median filtering algorithm,簡稱AMF)分為兩個(gè)步驟:噪聲檢測與噪聲濾除.將當(dāng)前像素與其對應(yīng)的濾波窗口的灰度極值進(jìn)行比較,如果不等于極值,則當(dāng)前像素為信號點(diǎn),否則為噪聲點(diǎn).對于信號點(diǎn),保持不變,而對于噪聲點(diǎn),將濾波窗口中的像素按灰度大小進(jìn)行排序,取中值代替噪聲點(diǎn).在濾波過程中,濾波窗口會(huì)根據(jù)一定的設(shè)定條件自適應(yīng)地改變大小.
在圖像的噪聲密度不大時(shí),自適應(yīng)中值濾波算法對椒鹽噪聲具有較好的濾波效果.但是,當(dāng)圖像噪聲密度較大時(shí),自適應(yīng)中值濾波算法的濾波效果遞減,同時(shí)在保持圖像邊緣和細(xì)節(jié)方面的性能大大下降.算法根據(jù)濾波窗口中的灰度極值進(jìn)行噪聲檢測,但是濾波窗口中的灰度極值像素不一定是噪聲.算法所用的灰度中值,是包含所有噪聲點(diǎn)在內(nèi)的排序中值,有可能依然是噪聲點(diǎn).
為了實(shí)現(xiàn)在濾除噪聲的同時(shí)保持圖像的邊緣和細(xì)節(jié)部分,很多學(xué)者從各個(gè)方面做出了深入的研究,并提出了多種改進(jìn)的中值濾波算法,包括開關(guān)中值濾波算法[6]、中心加權(quán)中值濾波算法[7]、基于決策的中值濾波算法[8-9]等.
開關(guān)中值濾波算法[6]計(jì)算當(dāng)前像素的灰度與濾波窗口的灰度中值的絕對差,如果絕對差超過了指定的閾值,確定為噪聲點(diǎn),否則為信號點(diǎn).對于噪聲點(diǎn),用其對應(yīng)的濾波窗口的灰度中值取代.噪聲檢測的最優(yōu)閾值不好選取,需依賴于預(yù)先多次的實(shí)驗(yàn),提高了算法的時(shí)間復(fù)雜度和空間復(fù)雜度.另外,濾除噪聲所用的灰度中值依然是包含噪聲在內(nèi)的排序中值.文獻(xiàn)[10]提出了一種基于模糊噪聲檢測的簡單開關(guān)中值濾波算法.算法從噪聲圖像的直方圖中找出偏向于最小灰度與最大灰度的雙峰,以此進(jìn)行噪聲檢測.對可疑噪聲,根據(jù)其與鄰域像素在灰度上的差異,做進(jìn)一步的噪聲檢測.對噪聲點(diǎn),用當(dāng)前像素的灰度與濾波窗口的灰度中值兩者的加權(quán)和代替.其實(shí)這種方法很難實(shí)現(xiàn),特別是噪聲密度低的圖像.文獻(xiàn)[11]提出一種動(dòng)態(tài)的自適應(yīng)中值濾波算法.算法是由一組最大濾波窗口不斷增大的自適應(yīng)中值濾波算法進(jìn)行簡單迭代而成.最大濾波窗口的尺寸作為循環(huán)變量,常規(guī)的自適應(yīng)中值濾波算法作為循環(huán)體,明顯提高了算法的時(shí)間復(fù)雜度.對圖像迭代運(yùn)用中值濾波,必然會(huì)導(dǎo)致圖像丟失更多的邊緣和細(xì)節(jié)部分.文獻(xiàn)[12]提出一種基于均值和中值的改進(jìn)自適應(yīng)濾波算法(improved adaptive filtering algorithm based on mean and median,簡稱IAFMM).該算法中原信號像素與濾波窗口的灰度均值之間的相關(guān)性不高,算法根據(jù)濾波窗口的灰度均值進(jìn)行噪聲檢測,實(shí)際的檢測準(zhǔn)確率不高.另外算法涉及閾值太多,最優(yōu)閾值難以選取,難以控制濾波的效果.
常規(guī)的中值濾波算法在噪聲檢測和噪聲濾除方面存在諸多局限性,隨著噪聲密度的增大,算法的濾波性能遞減.針對現(xiàn)行的中值濾波算法的局限性,作者提出一種基于二次檢測和極值修剪的自適應(yīng)濾波算法(adaptive filtering algorithm based on two detection and extremum trimmed,簡稱AFTDET).
基于二次檢測和極值修剪的自適應(yīng)濾波算法對噪聲檢測和噪聲濾除兩方面分別進(jìn)行改進(jìn).為了提高噪聲檢測的準(zhǔn)確率,分別用不同方法、從不同角度對噪聲進(jìn)行前后兩次檢測.對檢測出來的噪聲,用修剪灰度極值后的濾波窗口的灰度中值進(jìn)行濾除,在濾波過程中根據(jù)一定的設(shè)定條件自適應(yīng)地改變?yōu)V波窗口的大小.
常規(guī)的自適應(yīng)中值濾波算法,根據(jù)當(dāng)前像素對應(yīng)的濾波窗口的灰度極值進(jìn)行噪聲檢測.如果當(dāng)前像素的灰度等于灰度極值,確認(rèn)為噪聲.經(jīng)過實(shí)驗(yàn)驗(yàn)證,這樣會(huì)將一部分灰度等于灰度極值的信號像素確認(rèn)為噪聲.因此,根據(jù)當(dāng)前像素對應(yīng)的濾波窗口的灰度極值進(jìn)行噪聲檢測,窗口的尺寸太小.
基于以上分析,論文算法擴(kuò)大了噪聲檢測的濾波窗口.如果噪聲檢測的濾波窗口過大,雖然可以減少將部分信號像素確認(rèn)為噪聲的概率,但是會(huì)增大將噪聲確認(rèn)為信號像素的概率.因?yàn)闉V波窗口過大,窗口中的其他像素與當(dāng)前像素的相關(guān)性減小.經(jīng)過充分的實(shí)驗(yàn),算法本身預(yù)先指定的允許最大濾波窗口是進(jìn)行噪聲檢測的最優(yōu)窗口尺寸.如果當(dāng)前像素的灰度等于最大濾波窗口的灰度極值,則初步認(rèn)定為噪聲點(diǎn),否則確認(rèn)為信號點(diǎn).根據(jù)最大濾波窗口的灰度極值進(jìn)行噪聲檢測,將當(dāng)前像素的灰度與獨(dú)立的、離散的灰度極值進(jìn)行比較,只是在像素灰度的大小方面進(jìn)行噪聲檢測,缺乏像素之間的相關(guān)性與統(tǒng)計(jì)特性的比較,檢測出來的噪聲有可能依然包含部分信號像素,是可疑的噪聲.為了提高噪聲檢測的準(zhǔn)確率,根據(jù)像素的相關(guān)性與統(tǒng)計(jì)特性,對可疑噪聲做進(jìn)一步的檢測.統(tǒng)計(jì)修剪掉灰度極值像素后的最大濾波窗口的灰度中值,然后計(jì)算灰度中值與可疑噪聲點(diǎn)的灰度值兩者之間的絕對差,如果絕對差小于預(yù)先設(shè)定的閾值T,則確認(rèn)可疑噪聲點(diǎn)為信號點(diǎn),否則確認(rèn)為噪聲點(diǎn).
現(xiàn)行的濾波算法直接將濾波窗口中包括噪聲在內(nèi)的灰度中值取代噪聲,綜合了信號和噪聲的灰度中值,必然降低中值與當(dāng)前像素的相關(guān)性,使得中值偏離了原本的信號像素,導(dǎo)致圖像丟失更多的邊緣和細(xì)節(jié)部分.
基于以上分析,對于噪聲點(diǎn),論文算法用修剪掉灰度極值后的濾波窗口的灰度中值取代;對信號點(diǎn),保持不變.此處所用的極值,是用作噪聲檢測的最大濾波窗口的灰度極值.對濾波窗口修剪掉極值,是為了排除噪聲對中值的影響,提高中值與當(dāng)前像素的相關(guān)性.如果當(dāng)前濾波窗口修剪掉極值后已經(jīng)沒有像素,說明噪聲密度較大,則增大濾波窗口,以包含信號像素進(jìn)來,如此進(jìn)行迭代以取得修剪極值后的中值.如果濾波窗口增大到允許的最大尺寸,濾波窗口修剪掉灰度極值后依然沒有像素,說明噪聲密度非常大,則取一個(gè)灰度極小值和一個(gè)灰度極大值的算術(shù)均值作為中值,取代噪聲點(diǎn).
設(shè)Wij為正被處理的、中心在(i,j)處的濾波窗口,S0為默認(rèn)的初始窗口大小,Smax為允許的最大窗口大小,f(i,j)為(i,j)處的灰度,T為一個(gè)預(yù)先設(shè)置的閾值.基于二次檢測和極值修剪的自適應(yīng)濾波算法的具體步驟如下:
(1) 取(i,j)處大小為Smax的濾波窗口Wij,統(tǒng)計(jì)Wij的灰度極小值fmin和灰度極大值fmax,如果fmin (2) 統(tǒng)計(jì)Wij中修剪掉極值fmin和fmax后的灰度中值fmed_ridminmax.如果Wij修剪掉極值后已沒有像素,即Wij中所有的像素都是灰度極值,輸出 (fmin+fmax)/2;否則轉(zhuǎn)(3). (3) 如果abs(f(i,j)-fmed_ridminmax) (4) 統(tǒng)計(jì)Wij中修剪掉極值fmin和fmax后的灰度中值fmed_ridminmax,輸出fmed_ridminmax,如果Wij修剪掉極值后已沒有像素,則增大濾波窗口Wij,轉(zhuǎn)(5). (5) 如果Wij的尺寸≤Smax,轉(zhuǎn)(4);否則,輸出(fmin+fmax)/2. 經(jīng)過多次實(shí)驗(yàn)閾值T取3或4為最優(yōu)閾值.對于允許的最大濾波窗口大小Smax,經(jīng)過算法的迭代實(shí)驗(yàn),認(rèn)定Smax取11或13為最優(yōu)尺寸. 根據(jù)作者提出的AFTDET算法,編寫程序進(jìn)行實(shí)現(xiàn).對于常規(guī)的中值濾波算法,文獻(xiàn)[4]提出的AMF算法的濾波性能最好;對于改進(jìn)的中值濾波算法,文獻(xiàn)[12]提出的IAFMM算法的濾波性能較好.為了證明AFTDET算法的性能,同時(shí)也實(shí)現(xiàn)AMF算法和IAFMM算法,以進(jìn)行濾波性能的比較分析.將3種算法分別同時(shí)應(yīng)用于含不同密度椒鹽噪聲的512*512、256級灰度的標(biāo)準(zhǔn)圖像Lenna,允許的最大濾波窗口大小Smax設(shè)置為11,閾值T設(shè)置為3. 3種算法的濾波效果比較如圖1所示. 圖1 3種算法的濾波效果比較 從圖1可知,當(dāng)噪聲密度比較小時(shí)(如0.1或0.5),在濾波效果上,IAFMM算法比AMF算法好一點(diǎn),從圖像的邊緣輪廓可以看得出來,但是不明顯.AFTDET算法的濾波效果相對前兩者較好.對圖像的細(xì)節(jié)部分進(jìn)行比較,如美女的眼睫毛以及左右兩側(cè)的頭發(fā),AFTDET算法的濾波效果明顯比前兩種算法清晰明朗. 當(dāng)噪聲密度比較大時(shí)(如0.9),3種算法的濾波效果的差異更加顯著.用AMF算法進(jìn)行濾波后,原圖像的部分像素信號得以恢復(fù),但是出現(xiàn)明顯的失真,并且出現(xiàn)雪花狀的噪聲斑點(diǎn).用IAFMM算法進(jìn)行濾波后,雖然濾除了噪聲,但是圖像出現(xiàn)明顯的失真,圖像的邊緣輪廓以及細(xì)節(jié)部分出現(xiàn)嚴(yán)重的模糊.用AFTDET算法進(jìn)行濾波后,除了眼睫毛和頭發(fā)細(xì)節(jié)部分出現(xiàn)一些微小的模糊,絕大部分的圖像信號得以恢復(fù).根據(jù)對噪聲圖像的濾波效果的比較,相對于AMF和IAFMM兩種算法,AFTDET算法在濾波效果上有著顯著的優(yōu)越性. 為了客觀而準(zhǔn)確地說明AFTDET算法的濾波性能,對3種算法的濾波性能進(jìn)行量化比較,采用峰值信噪比(PSNR)作為客觀評價(jià)的標(biāo)準(zhǔn).PSNR定義為 其中:m,n為圖像的大小,f(i,j)為原圖像的灰度,g(i,j)為濾波圖像的灰度. 3種算法分別同時(shí)對含不同密度椒鹽噪聲的圖像進(jìn)行濾波后的PSNR如圖2所示. 圖2 3種算法濾波的峰值信噪比的比較 從圖2中3種算法的PSNR走勢看,IAFMM算法的PSNR總體上比AMF算法高,更為重要的是,AFTDET算法的PSNR明顯高于另外兩種算法.不管是對低密度噪聲圖像,還是對高密度噪聲圖像,AFTDET算法的PSNR與另外兩種算法始終保持一定的差距. 對照圖2,對含不同密度椒鹽噪聲的圖像進(jìn)行濾波后的具體PSNR如表1所示. 表1 3種算法濾波的峰值信噪比的比較 對3種算法進(jìn)行濾波后的具體PSNR進(jìn)行統(tǒng)計(jì)和比較分析,顯而易見,不管是對低密度噪聲圖像還是對高密度噪聲圖像,相對于AMF和IAFMM算法,AFTDET算法的PSNR較高. 濾波實(shí)驗(yàn)主客觀兩方面的結(jié)果證明,相對于現(xiàn)行的中值濾波算法,基于二次檢測和極值修剪的自適應(yīng)濾波算法有著更加良好的濾波性能. 作者提出的基于二次檢測和極值修剪的自適應(yīng)濾波算法,對噪聲檢測和噪聲濾除兩方面分別進(jìn)行改進(jìn),對噪聲進(jìn)行二次檢測,然后運(yùn)用修剪灰度極值后的濾波窗口的灰度中值恢復(fù)被噪聲污染的像素,以實(shí)現(xiàn)對不同噪聲密度和多細(xì)節(jié)的圖像進(jìn)行有效的噪聲濾波.特別是圖像的噪聲密度較高時(shí),算法的濾波性能依然良好.在濾除噪聲的同時(shí),很好地保持圖像的邊緣和細(xì)節(jié)部分.濾波實(shí)驗(yàn)的結(jié)果證明,相對于現(xiàn)行的中值濾波算法,基于二次檢測和極值修剪的自適應(yīng)濾波算法有著更加良好的濾波性能.3 仿真實(shí)驗(yàn)與結(jié)果分析
3.1 主觀視覺的比較
3.2 客觀數(shù)據(jù)的比較
4 結(jié)束語