黃文筆, 戰(zhàn)蔭偉, 陳家益, 徐秋燕
1(廣東醫(yī)科大學(xué) 教育技術(shù)與信息中心, 東莞 523808)
2(廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 廣州 510006)
3(廣東醫(yī)科大學(xué) 信息工程學(xué)院, 湛江 524023)
4(湛江中心人民醫(yī)院 外科ICU, 湛江 524045)
圖像在成像、數(shù)字化和傳輸過(guò)程中, 常因外界噪聲干擾而導(dǎo)致圖像質(zhì)量下降, 因此要進(jìn)行圖像濾波. 圖像濾波就是濾除圖像中的噪聲, 保留原圖像的信號(hào)點(diǎn),減少噪聲對(duì)圖像的影響, 提高圖像的信噪比[1,2]. 噪聲與圖像的邊緣和細(xì)節(jié)可能有很大的相似性, 在濾除噪聲的同時(shí), 有可能會(huì)把邊緣和細(xì)節(jié)的信號(hào)點(diǎn)也當(dāng)做噪聲給濾除掉[3]. 圖像濾波的目標(biāo), 是濾除噪聲的同時(shí), 保持圖像的邊緣和細(xì)節(jié)[4]. 圖像濾波方法總體上分為兩類(lèi),線性濾波和非線性濾波. 線性濾波具有低通特性, 容易模糊圖像的邊緣和細(xì)節(jié), 非線性濾波的典型代表是中值濾波[5,6], 自Tukey在20世紀(jì)70年代提出中值濾波,中值濾波被廣泛應(yīng)用于濾除圖像的脈沖噪聲[7,8].
自適應(yīng)中值濾波算法(Adaptive Median Filtering Algorithm, AMF)使用一個(gè)鄰域區(qū)域作為濾波窗口, 在濾波過(guò)程中會(huì)根據(jù)一定的設(shè)定條件改變?yōu)V波窗口的大小. 另外, 自適應(yīng)中值濾波算法主要通過(guò)判斷當(dāng)前濾波窗口的中心像素點(diǎn)的性質(zhì)來(lái)決定濾波的輸出:當(dāng)判斷窗口中心的像素是脈沖噪聲時(shí), 將中心像素用濾波窗口中的像素排序后的中值代替;否則不改變當(dāng)前的像素值, 直接輸出[9,10].
自適應(yīng)中值濾波算法分為兩步進(jìn)行:噪聲檢測(cè)和噪聲濾除, 基本步驟[11]如下:
Wij為正被處理的、中心在(i,j)處的濾波窗口,W0為默認(rèn)的初始窗口大小,Wmax為允許的最大窗口大小.fij為(i,j)處的灰度值,fmin為Wij中的最小灰度值,fmax為Wij中的最大灰度值,fmed為Wij中的灰度中值.自適應(yīng)中值濾波算法工作在兩個(gè)層面, 表示為L(zhǎng)evelA和LevelB:
LevelA:如果fmin LevelB:如果fmin 在圖像的噪聲密度不大時(shí), 自適應(yīng)中值濾波算法可以取得較好的圖像濾波效果, 同時(shí)可以較好地保持圖像的邊緣和細(xì)節(jié). 但是, 當(dāng)濾波窗口內(nèi)的噪聲點(diǎn)個(gè)數(shù)大于或等于窗口元素個(gè)數(shù)的一半時(shí), 自適應(yīng)中值濾波算法的濾波效果遞減[12], 濾波后的圖像出現(xiàn)雪花狀的噪聲, 同時(shí)在保持圖像邊緣和細(xì)節(jié)方面的能力大大下降[13], 如圖 1所示. 趙高長(zhǎng)等人[14]對(duì)自適應(yīng)中值濾波算法進(jìn)行了改進(jìn),在噪聲檢測(cè)上引進(jìn)閥值, 在噪聲濾波上結(jié)合了均值思想, 并且采用了加權(quán)方法得出輸出的中值. 但是閥值的大小難以確定, 需要反復(fù)嘗試, 額外的工作量大, 同時(shí)噪聲濾波采用加權(quán)而輸出中值, 其思想偏向線性濾波,在一定程度上帶入了線性濾波的弊端, 即模糊了圖像的邊緣和細(xì)節(jié)部分. 張旭明等人[15]提出一種根據(jù)噪聲干擾程度自適應(yīng)地調(diào)整濾波窗口的大小的方法, 同時(shí)兼顧濾除噪聲和保持圖像邊緣和細(xì)節(jié)的性能, 但是噪聲干擾程度的判斷區(qū)間不容易確定. 根據(jù)中值濾波算法存在的局限性, 本文提出了改進(jìn)的自適應(yīng)中值濾波算法(Improved Adaptive Median Filtering Algorithm, IAMF). 改進(jìn)的自適應(yīng)中值濾波算法先進(jìn)行噪聲檢測(cè), 再進(jìn)行噪聲濾除. 算法的所有步驟按照處理方案的優(yōu)先權(quán)從高到低進(jìn)行部署, 如果當(dāng)前條件滿足, 則執(zhí)行當(dāng)前的處理, 結(jié)束當(dāng)前像素的濾波, 否則退而求其次, 進(jìn)入到下一步的處理. 改進(jìn)的自適應(yīng)中值濾波算法先檢測(cè)當(dāng)前像素是否噪聲, 若非噪聲則直接輸出當(dāng)前像素, 不用濾波. 如果當(dāng)前像素是噪聲, 則檢測(cè)當(dāng)前濾波窗口的中值是否噪聲, 若非噪聲則輸出中值. 如果當(dāng)前濾波窗口的中值是噪聲, 說(shuō)明當(dāng)前濾波窗口的噪聲密度比較大, 則增大當(dāng)前濾波窗口繼續(xù)進(jìn)行濾波. 如果增大窗口到允許的最大尺寸, 還不能成功濾波, 說(shuō)明當(dāng)前濾波窗口的噪聲密度非常的大, 則求最大窗口中除了所有的噪聲點(diǎn)(即灰度極值)外的均值, 均值取代當(dāng)前像素輸出. 如果最大窗口中除了所有的噪聲點(diǎn)之外, 已經(jīng)沒(méi)有像素點(diǎn)了, 則做最壞的打算, 折中取值, 取一個(gè)極小灰度像素和一個(gè)極大灰度像素的灰度均值取代當(dāng)前像素. 圖1 兩種算法對(duì)標(biāo)準(zhǔn)圖像Lenna的濾波效果比較 改進(jìn)的自適應(yīng)中值濾波算法的具體步驟如下: Wij為正被處理的、中心在(i,j)處的濾波窗口,W0為默認(rèn)的初始窗口大小,Wmax為允許的最大窗口大小.fij為(i,j)處的灰度值,fmin為Wij中的極小灰度值,fmax為Wij中的極大灰度值,fmed為Wij中的灰度中值. ① 如果fmin ② 如果fmin ③ 如果Wij+2≤Wmax, 增大窗口:Wij=Wij+2, 轉(zhuǎn)①,否則轉(zhuǎn)④; ④ 輸出最大窗口中除了所有的極小灰度像素和極大灰度像素之外的灰度均值favg(k為極值灰度像素的數(shù)目): 如果favg不存在, 即Wij*Wij=k, 則轉(zhuǎn)⑤; ⑤ 輸出favg=(fmin+fmax)/2. 相對(duì)于標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 改進(jìn)的自適應(yīng)中值濾波算法作了以下的改進(jìn): (1) 改進(jìn)的自適應(yīng)中值濾波算法邏輯順序清晰, 降低了算法的復(fù)雜度. 另外, 標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法是先檢測(cè)濾波窗口的中值是否噪聲, 若是則直接增大窗口, 若不是再判斷當(dāng)前像素是否噪聲, 再?zèng)Q定輸出當(dāng)前像素, 還是中值. 在圖像的噪聲密度比較大的情況下,如果當(dāng)前像素不是噪聲, 而中值是噪聲, 就會(huì)有可能用增大窗口后的中值取代當(dāng)前像素, 這樣的處理不合理,會(huì)模糊圖像的邊緣和細(xì)節(jié). 改進(jìn)的自適應(yīng)中值濾波算法克服了這個(gè)缺點(diǎn). (2) 在圖像的噪聲密度非常大的情況下, 標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法在增大濾波窗口到允許的最大尺寸之后, 如果還不能成功濾波, 即中值還是噪聲, 直接用中值取代當(dāng)前像素. 這樣的處理是用噪聲點(diǎn)取代當(dāng)前像素. 而改進(jìn)的自適應(yīng)中值濾波算法不同, 當(dāng)增大濾波窗口到允許的最大后, 如果還不能成功濾波, 則退而求其次, 用當(dāng)前最大窗口中剔除所有極小灰度和極大灰度像素后的均值取代當(dāng)前像素. 如果當(dāng)前的最大窗口剔除所有的極值灰度像素后已沒(méi)有像素, 則折中取值,用一個(gè)極小灰度像素和一個(gè)極大灰度像素的灰度均值取代當(dāng)前像素. 根據(jù)本文提出的改進(jìn)的自適應(yīng)中值濾波算法, 運(yùn)用計(jì)算機(jī)軟件Matlab 2013b進(jìn)行仿真實(shí)驗(yàn). 將本文所提的算法與標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 同時(shí)應(yīng)用于被加了不同密度脈沖噪聲的標(biāo)準(zhǔn)圖像Lenna以及醫(yī)學(xué)圖像X_ray, 以驗(yàn)證本文算法的優(yōu)越性. 從主觀視覺(jué)和客觀數(shù)據(jù)兩方面, 對(duì)算法的濾波性能進(jìn)行比較評(píng)價(jià). 對(duì)于客觀數(shù)據(jù)的比較, 采用峰值信噪比(PSNR)作為客觀評(píng)價(jià)的標(biāo)準(zhǔn). PSNR定義為: 其中,m,n為圖像的大小,f(i,j)為原圖像(i,j)處像素的灰度,g(i,j)為濾波圖像(i,j)處像素的灰度. 對(duì)512*512、256級(jí)灰度的標(biāo)準(zhǔn)圖像Lenna, 添加不同密度的脈沖噪聲, 同時(shí)運(yùn)用兩種算法進(jìn)行圖像濾波. 從主觀視覺(jué)和客觀數(shù)據(jù)兩方面, 對(duì)兩種算法的濾波效果進(jìn)行統(tǒng)計(jì)和比較分析. (1) 主觀視覺(jué)的比較 兩種算法同時(shí)對(duì)不同密度的標(biāo)準(zhǔn)噪聲圖像進(jìn)行濾波的效果圖如圖 1所示. 當(dāng)噪聲密度比較小時(shí), 比如0.2或0.5, 兩種算法的濾波效果幾乎沒(méi)有差別, 如(e)和(h), (f)和(i), 并且所有濾波后的圖像與原圖幾乎是一樣的. 當(dāng)噪聲密度比較大時(shí), 比如0.8, 兩種算法的濾波效果差別很大. 噪聲密度為0.8的圖像已經(jīng)看不出任何圖像信號(hào)了, 用標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法進(jìn)行濾波后, 原圖像的大部分像素信號(hào)得以恢復(fù), 但是出現(xiàn)一些失真, 并且出現(xiàn)了雪花狀的斑點(diǎn), 而用改進(jìn)的自適應(yīng)中值濾波算法進(jìn)行濾波后, 除了一些小的失真外, 絕大部分的圖像像素信號(hào)得以恢復(fù). 通過(guò)濾波效果的比較, 顯而易見(jiàn), 在噪聲密度較大時(shí), 相對(duì)標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 本文提出的改進(jìn)的自適應(yīng)中值濾波算法的濾波效果更好. (2) 客觀數(shù)據(jù)的比較 兩種算法同時(shí)對(duì)不同密度的標(biāo)準(zhǔn)噪聲圖像進(jìn)行濾波的PSNR如圖 2所示. 對(duì)照?qǐng)D 1, 對(duì)3種不同密度的噪聲圖像進(jìn)行濾波后的具體PSNR數(shù)值如表 1所示.對(duì)兩種算法進(jìn)行圖像濾波后的PSNR進(jìn)行統(tǒng)計(jì)和比較分析, 顯而易見(jiàn), 當(dāng)噪聲密度比較小時(shí), 比如0.2或0.5,改進(jìn)的自適應(yīng)中值濾波算法與標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法的PSNR差別很小, 前者比后者略微大一點(diǎn), 但不明顯. 當(dāng)噪聲密度比較大時(shí), 比如0.8, 兩種算法濾波的PSNR差別很大, 改進(jìn)的自適應(yīng)中值濾波算法的PSNR明顯大于標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 并且從圖 2看, 兩種算法的PSNR差距隨噪聲密度的增大呈遞增走勢(shì). 圖2 兩種算法對(duì)標(biāo)準(zhǔn)圖像Lenna濾波的PSNR比較 表1 兩種算法對(duì)標(biāo)準(zhǔn)圖像Lenna濾波的PSNR比較(單位:dB) 對(duì)490×600、256級(jí)灰度的醫(yī)學(xué)圖像X_ray, 添加不同密度的脈沖噪聲, 同時(shí)運(yùn)用兩種算法進(jìn)行圖像濾波. 從主觀視覺(jué)和客觀數(shù)據(jù)兩方面, 對(duì)兩種算法的濾波效果進(jìn)行統(tǒng)計(jì)和比較分析. (1) 主觀視覺(jué)的比較 兩種算法同時(shí)對(duì)不同密度的醫(yī)學(xué)噪聲圖像進(jìn)行濾波的效果圖如圖 3所示. 當(dāng)噪聲密度比較小時(shí), 比如0.2或0.5, 用標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法進(jìn)行濾波后,人體的邊緣輪廓出現(xiàn)鋸齒狀陰影, 而改進(jìn)的自適應(yīng)中值濾波算法的濾波效果比較清晰. 如(e)和(h), (f)和(i)的比較. 當(dāng)噪聲密度比較大時(shí), 比如0.8, 兩種算法的濾波效果差別很大. 標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法的濾波效果出現(xiàn)了大量雪花狀的白色斑點(diǎn), 而改進(jìn)的自適應(yīng)中值濾波算法的濾波效果, 除了邊緣的一些細(xì)小的失真外, 絕大部分的圖像像素信號(hào)得以恢復(fù). 通過(guò)濾波效果的比較, 相對(duì)標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 本文提出的改進(jìn)的自適應(yīng)中值濾波算法具有良好的濾波性能. 圖3 兩種算法對(duì)醫(yī)學(xué)圖像X_Ray的濾波效果比較 (2) 客觀數(shù)據(jù)的比較 兩種算法同時(shí)對(duì)不同密度的醫(yī)學(xué)噪聲圖像進(jìn)行濾波的PSNR如圖 4所示. 對(duì)照?qǐng)D 3, 對(duì)3種不同密度的噪聲圖像進(jìn)行濾波后的具體PSNR數(shù)值如表 2所示.對(duì)兩種算法進(jìn)行圖像濾波后的PSNR進(jìn)行統(tǒng)計(jì)和比較分析, 當(dāng)噪聲密度比較小時(shí), 比如0.2或0.5, 改進(jìn)的自適應(yīng)中值濾波算法的PSNR一直高于標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 但差別不大. 當(dāng)噪聲密度比較大時(shí), 比如0.8, 兩種算法濾波的PSNR差別很大, 改進(jìn)的自適應(yīng)中值濾波算法的PSNR明顯大于標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法, 并且從圖 4看, 兩種算法的PSNR差距隨噪聲密度的增大呈遞增走勢(shì). 自適應(yīng)中值濾波算法能有效地濾波圖像的脈沖噪聲, 但是, 隨著噪聲密度的增大, 算法的濾波性能遞減,圖像出現(xiàn)雪花狀的斑點(diǎn). 針對(duì)中值濾波算法的局限性,本文提出了改進(jìn)的自適應(yīng)中值濾波算法. 在噪聲密度增大的情況下, 算法的濾波性能依然良好, 在濾除噪聲的同時(shí), 很好地保持圖像的邊緣和細(xì)節(jié)部分. 仿真實(shí)驗(yàn)的結(jié)果和數(shù)據(jù)證明, 相對(duì)標(biāo)準(zhǔn)的自適應(yīng)中值濾波算法,改進(jìn)的自適應(yīng)中值濾波算法具有較好的濾波性能. 圖4 兩種算法對(duì)醫(yī)學(xué)圖像X_Ray濾波的PSNR比較 表2 兩種算法對(duì)醫(yī)學(xué)圖像X_Ray濾波的PSNR比較(單位:dB)2 改進(jìn)的自適應(yīng)中值濾波算法


3 仿真實(shí)驗(yàn)與數(shù)據(jù)分析

3.1 算法對(duì)標(biāo)準(zhǔn)圖像的濾波結(jié)果的比較


3.2 算法對(duì)醫(yī)學(xué)圖像的濾波結(jié)果的比較

4 結(jié)束語(yǔ)

