張國明, 李少義
(1.南昌工學(xué)院信息與人工智能學(xué)院, 南昌 330108; 2.武漢工程大學(xué)材料科學(xué)與工程學(xué)院, 武漢 430205)
圖像在拍攝、傳輸和處理的過程中,往往受到脈沖噪聲的污染.脈沖噪聲也稱為椒鹽噪聲,將圖像的部分像素改為最小或最大灰度值.脈沖噪聲嚴重影響圖像的分析與應(yīng)用,所以去除脈沖噪聲非常重要.最初因為缺乏邊緣和細節(jié)保持能力,均值濾波[1-3]對脈沖噪聲難以取得理想的去除效果,而中值濾波因為其具有良好的去噪性能而受到關(guān)注.標準中值濾波[4]用鄰域像素的中值替換每個像素的灰度,而加權(quán)中值濾波和中心加權(quán)中值濾波[5-7]用鄰域像素的加權(quán)中值去除噪聲.但是它們對噪聲像素與非噪聲像素的統(tǒng)一處理,嚴重制約其去噪性能.為此,部分學(xué)者提出了結(jié)合噪聲檢測器的開關(guān)中值濾波算法,僅對噪聲像素進行處理.后來,部分學(xué)者發(fā)現(xiàn)開關(guān)中值濾波對不同密度的噪聲缺乏魯棒性,進而提出了自適應(yīng)的開關(guān)中值濾波算法[8-10].Varghese等[11]提出的頻率域的開關(guān)中值濾波算法,用干凈的頻率中值對含噪的頻率進行恢復(fù),但是用區(qū)域生長法檢測噪聲會降低檢測的準確性.Suid等[12]提出了非參的開關(guān)中值濾波算法,由非參的脈沖噪聲檢測器和遞歸的像素恢復(fù)器組成.文獻[13]提出的快速自適應(yīng)高性能濾波,以重疊的方式,迭代地運用標準中值濾波以及均值濾波去除噪聲.但是,在最后階段用均值濾波處理圖像是不可取的,因為均值濾波具有低通特性,難以保持圖像的細節(jié).
作為對算術(shù)均值濾波的一種改進,部分學(xué)者提出了加權(quán)均值濾波,以反比于空間距離或灰度差的方式,賦予鄰域中無噪像素不同的加權(quán)系數(shù),然后取其均值作為當前噪聲像素的灰度[14].文獻[15]根據(jù)灰度變化,用像素變化增益因子將鄰域中的非最值灰度進行分組,用基于分布比率和像素變化率的分組加權(quán)均值作為當前噪聲像素的灰度估測值.Chongleib等[16]提出了一種改進的自適應(yīng)加權(quán)均值濾波算法,根據(jù)像素的灰度是否取最小或最大值將其識別為噪聲,用改進的加權(quán)均值對噪聲像素進行恢復(fù),其計算效率快于一般的中值濾波算法,但是僅根據(jù)灰度特征檢測噪聲,準確性并不高,特別是對黑白區(qū)域較多的圖像.
隨著模糊理論的廣泛應(yīng)用,部分學(xué)者將其引入到圖像去噪中[17].文獻[18]提出了一種基于支持向量機SVM的模糊濾波,用支持向量機分類器進行噪聲檢測,用基于直方圖的模糊濾波器進行噪聲去除.Arora等[19]提出了一種基于噪聲自適應(yīng)信息集的開關(guān)中值濾波算法,用源自模糊集的信息集對噪聲進行檢測,利用開關(guān)準則和噪聲像素的有效鄰域信息對噪聲像素進行恢復(fù).
最近,部分學(xué)者提出了以魯棒的噪聲檢測與去除策略為特色的決策濾波算法.基于鄰域決策的脈沖噪聲去除算法[20]運用鄰域決策方法保持無噪的黑、白色像素,用一階鄰域決策方法對噪聲像素進行恢復(fù).為了更有效地保持圖像的細節(jié),文獻[21]提出了基于決策的自適應(yīng)反饋中值濾波算法,用鄰域的決策分析進行噪聲檢測,而通過鄰域分析預(yù)測局部閾值,從而確定反饋中值濾波器的自適應(yīng)性質(zhì).Sharma等[22]提出了一種多層決策的迭代濾波算法,用基于噪聲密度的有效決策去除噪聲,其中,采用大小固定的濾波鄰域以保持像素的最大相關(guān)性.固定的去噪鄰域大小固然能保持像素的相關(guān)性,但是其對高密度噪聲的去除缺乏魯棒性和有效性.
現(xiàn)有的脈沖噪聲去除算法在一定程度上能夠有效地去除噪聲,但是部分算法本身存在固有的缺陷,去噪性能并不理想,部分算法復(fù)雜化去噪處理,其去噪處理未必有效.為了克服現(xiàn)有濾波算法的不足,進一步提升去噪效果和計算效率,本文提出了一種迭代的自適應(yīng)最小偏差濾波算法(IAMDF).
根據(jù)其灰度、分布以及密度,可以對脈沖噪聲進行數(shù)學(xué)建模.一個被脈沖噪聲破壞的像素會取灰度范圍的最小或最大值,對于8位的灰度圖像,其噪聲像素的灰度取0或255;當脈沖噪聲污染圖像時,以一定的密度或概率隨機而均勻地分布于圖像上.脈沖噪聲的數(shù)學(xué)模型為
(1)
其中,f(i,j)表示含噪密度為d的噪聲圖像中像素(i,j)的灰度,最值min和max表示噪聲像素的灰度,o表示無噪像素的灰度.
值得注意的是,最小值噪聲的概率與最大值噪聲相同,噪聲像素與鄰域的非噪聲像素在灰度上差別較大.此外,當脈沖噪聲污染黑色區(qū)域時,最小值噪聲將被同化而消失,同樣地,當脈沖噪聲污染白色區(qū)域時,最大值噪聲將被同化而消失.
根據(jù)脈沖噪聲的模型,灰度取最小或最大值的像素很有可能是噪聲.但不是所有灰度取最值的像素都是噪聲,特別是對于醫(yī)學(xué)圖像或黑白區(qū)域較多的圖像.因此,能夠?qū)⒒叶热∽钪档臒o噪像素與噪聲進行區(qū)分是最重要的.
研究發(fā)現(xiàn),對于無噪圖像,其任何的像素都與其鄰域像素高度相關(guān),在灰度上具有高度相似性.因此,筆者提出一種基于局部偏差和局部統(tǒng)計特性的噪聲檢測方法.
1) 對每一像素(i,j),如果f(i,j)=0或f(i,j)=255,令R(i,j)=0.
2) 對每一R(i,j)=0的像素,如果f(i,j)=0并且n0≥T,或者f(i,j)=255并且n255≥T,令R(i,j)=1,否者轉(zhuǎn) 3).
3) 如果像素(i,j)滿足條件(2),令R(i,j)=1.
(2)
通過實驗試錯法,發(fā)現(xiàn)T=20為最優(yōu)值.另外,因為k=3太小,N(i,j)(k)缺乏統(tǒng)計意義,而k=7太大,N(i,j)(k)缺乏相關(guān)性,故取k=5.
值得注意的是,步驟1)充分利用脈沖噪聲的灰度特征進行噪聲檢測,而步驟2)根據(jù)鄰域像素的高度相關(guān)性,將黑色或白色區(qū)域中灰度取最值的無噪像素與噪聲區(qū)分開,步驟3)將灰度接近黑色或白色的區(qū)域中灰度取最值的無噪像素與噪聲區(qū)分開.這些步驟能夠準確地將噪聲識別出來,從而保持了灰度取最值的無噪像素,這對于醫(yī)學(xué)圖像尤其重要.
對于脈沖噪聲的去除,現(xiàn)有的中值濾波包括各種改進的中值濾波,多數(shù)用鄰域的中值替換噪聲像素.但是,根據(jù)正態(tài)概率分布,與集合中的個體具有最高相關(guān)性的是平均值,而不是個體的排序中值.但是均值濾波不適于去除脈沖噪聲,因為用作替換噪聲像素的鄰域均值,對于當前的鄰域往往是一個新的灰度.作為克服均值濾波缺陷的一種方法,中值濾波用鄰域像素的排序中值替換噪聲像素.然而,如果鄰域中可用的無噪像素的個數(shù)為偶數(shù),用作替換噪聲像素的排序中值是中間兩個值的均值,這樣也會在鄰域中引入一個新的灰度,概率為50%.
受上述分析的啟發(fā),為了避免引入新灰度的問題,并充分利用局部均值的最高相關(guān)特性,本文提出了基于迭代的自適應(yīng)最小偏差的像素恢復(fù)方法,處理步驟如下.
令k=3,對圖像中的每一個噪聲像素(i,j),按以下情況處理.
1)N(i,j)(k)中不存在無噪像素以及已被去噪處理的像素,不作處理.
2)N(i,j)(k)中存在一個無噪像素或已被去噪處理的像素,將該像素的灰度作為當前噪聲的灰度.
3)N(i,j)(k)中存在兩個無噪像素或已被去噪處理的像素,將其中與N(i,j)(39)中非最值像素的均值最接近的像素,作為當前噪聲像素的灰度.
4)N(i,j)(k)中存在三個或三個以上無噪像素或已被去噪處理的像素,將其中與它們的均值最接近的像素作為當前噪聲像素的灰度.
令k=k+2,對每一個未被處理的噪聲像素(i,j),重復(fù)執(zhí)行步驟1)~4),直到未被處理的噪聲像素少于一定的數(shù)量,比如相對圖像像素總數(shù)的占比小于10-4.
最后對剩余的未被處理的每一噪聲像素(i,j),用其N(i,j)(5)的中值作為當前噪聲像素的灰度.
值得注意的是,步驟3)表示如果當前鄰域中只有兩個可用的有效像素,以致難以決定選取哪一個,或者就像以上所提到的,它們兩者的均值是不可取的,就采用一個僅包含非最值像素的大鄰域.步驟4)表示將鄰域中一個原本無噪的或經(jīng)過去噪處理的像素,其灰度最接近鄰域無噪像素和已去噪處理像素的均值,作為當前噪聲像素的灰度.另外,步驟3)和4)的處理以迭代和自適應(yīng)的方式執(zhí)行,有效利用了已經(jīng)去噪處理的結(jié)果.
Input:f,R, Output:fn
n←0,f0←f
Do
n=n+1,fn←fn-1,k←2n+1
For eachfn(i,j) withR(i,j)=0
No processing
fn(i,j)←the only one pixel available
R(i,j)=1
R(i,j)=1
Else
R(i,j)=1
EndFor
Until sum(fn(:)~=fn-1(:))/card(fn)<10-4
For eachfn(i,j) withR(i,j)=0
fn(i,j)=median(N(i,j)(5))
EndFor
Returnfn
在CPU為Intel i5、內(nèi)存為8GB、安裝有Matlab R2019a的PC上進行實驗.以數(shù)據(jù)集Set12中的圖像Man, Monarch, House和Parrot[4]以及醫(yī)學(xué)圖像數(shù)據(jù)集Mini Mias Database[23]為實驗素材,以最新發(fā)表的文獻[12]、[15-16]、[19]、[21-22]中提出的方法作為參照,根據(jù)峰值信噪比(PSNR)、邊緣保持指數(shù)(EPI)、視覺效果與計算效率,對IAMDF的性能進行驗證和評價.PSNR和EPI定義為
PSNR=
(3)
(4)
其中,m,n分別為圖像的高度和寬度,f為原圖像,g為去噪圖像,fhp和ghp分別為f和g基于拉普拉斯濾波的高通濾波圖像,ufhp和ughp分別為fhp和ghp的均值.PSNR度量兩張圖像的相似性,而EPI度量邊緣保持性能,PSNR和EPI值越大,其去噪性能越好.
各算法對含各種密度噪聲的圖像Man去噪所得的PSNR和EPI值如表1所示,最大值用黑體標識.仔細分析表1中對圖像Man的去噪結(jié)果可以看出,隨著噪聲密度的增大,各算法的PSNR和EPI值一致走低.文獻[16]、[21]和[15]的PSNR、EPI值較低,去噪效果不佳;文獻[19]和[15]的性能在噪聲密度較高時突然下降.文獻[12]、[19]和[22]的PSNR和EPI值處于中等水平,除了較高的噪聲密度外,它們相互之間差別不大.相對地,IAMDF的PSNR和EPI值始終高于其他算法,特別地,在噪聲密度較高時,IAMDF在EPI值上相對于其他算法的優(yōu)勢愈加顯著.
表1 各算法對圖像Man去噪的PSNR和EPI
各算法對含各種密度噪聲的圖像Monarch的去噪結(jié)果如表2所示.分析比較表2中的數(shù)據(jù)可以得出兩個重要結(jié)論.1) 相對于其他算法,IAMDF顯示出優(yōu)越的去噪結(jié)果,隨著噪聲密度的增大,由EPI顯示的IAMDF在邊緣保持方面的優(yōu)勢遞增.2) 文獻[16]、[15]和[21]的PSNR和EPI值較低,在去噪和邊緣保持上的性能較差;對于低、中密度噪聲,文獻[12]、[19]和[22]之間的性能差別不大,處于中等水平,但是對于高密度噪聲,文獻[19]的性能驟然走低.以上結(jié)果的原因在于IAMDF在噪聲檢測和噪聲去除方面具有更好的性能.
根據(jù)去噪圖像的視覺效果,在圖像House和Parrot上對各算法進行性能評價.對低密度噪聲圖像,在視覺上往往難以區(qū)分性能的優(yōu)劣,因此采用高密度噪聲.各算法對含噪密度為80%的圖像House和含噪密度為90%的圖像Parrot的去噪圖像分別如圖1和圖2所示,各圖像下方的兩個數(shù)字為其對應(yīng)的PSNR和EPI值.
圖1 各算法對含噪密度80%的圖像House的去噪結(jié)果Fig.1 Recovery results of all filters on House corrupted with 80% impulse noise
圖2 各算法對含噪密度90%的圖像Parrot的去噪結(jié)果Fig.2 Recovery results of all filters on Parrot corrupted with 90% impulse noise
仔細比較圖1中對圖像House的去噪結(jié)果可以看出,與其他濾波算法相比,IAMDF能夠得到更高質(zhì)量的圖像.IAMDF的去噪圖像比其他算法更清晰、對比度更高.具體地,文獻[16]和[15]徹底去除了噪聲,但是嚴重模糊了圖像的邊緣和細節(jié).文獻[19]和[22]不能完全去除噪聲,去噪圖像依然可見部分噪聲斑點.相對于文獻[16]、[15]、[19]和[22],文獻[12]和[21]性能良好,有效去除了噪聲,但是細心觀察其去噪圖像的邊緣和細節(jié),發(fā)現(xiàn)邊緣在一定程度上受到了破壞.相比之下,IAMDF的去噪圖像非常清晰,邊緣和細節(jié)保留得相當好,與原始圖像相比幾乎看不出差異,只能識別邊緣上的輕微模糊效果.此外,相應(yīng)的PSNR和EPI值再次證實了由視覺感知得出的結(jié)論.
仔細觀察圖2中各算法對含噪90%的圖像Parrot的去噪圖像,可以得出三個重要結(jié)論.1) 相對于其他算法,IAMDF在其去噪圖像中顯示出更好的性能;即使在非常高的噪聲密度下,IAMDF在徹底消除噪聲和細節(jié)保持方面仍然做得相當好.2) 在除IAMDF之外的其他算法的去噪圖像中可以看到明顯的模糊效果或殘余噪聲.3) 相應(yīng)的PSNR和EPI值與視覺感知得出的結(jié)論一致.這些結(jié)果歸因于IAMDF能在徹底去除噪聲的同時,很好地保持圖像的邊緣和細節(jié).
為了研究IAMDF在醫(yī)學(xué)圖像中的適用性和有效性,將各算法應(yīng)用于醫(yī)學(xué)圖像數(shù)據(jù)集mini mias database,對每個算法在所有圖像上獲得的結(jié)果取平均值,并以圖形曲線的方式顯示于圖3.醫(yī)學(xué)圖像往往有較多的、與脈沖噪聲灰度相同的黑白區(qū)域,因此醫(yī)學(xué)圖像去噪異常艱難,算法的去噪性能在很大程度上取決于其噪聲檢測的準確性.
圖3 各算法對圖像數(shù)據(jù)庫Mini Mias Database去噪的PSNR和EPIFig.3 PSNR and EPI of all filters on Mini Mias Database
從圖3可以看出,各算法的去噪性能差別較大,IAMDF的結(jié)果明顯優(yōu)于其他算法.根據(jù)PSNR和EPI曲線,IAMDF在PSNR上的優(yōu)越性比在EPI上的優(yōu)越性更為顯著.原因在于IAMDF采用基于局部偏差和局部統(tǒng)計特性的噪聲檢測,能夠準確地將灰度取最值的無噪像素與噪聲像素區(qū)分開,從而避免在噪聲去除過程中對其原始信息的破壞,這是其他算法無法做到的.事實上,IAMDF在圖像去噪中取得較高的PSNR和EPI值與其對噪聲檢測器和噪聲去除技術(shù)的改進密切相關(guān).
為了從視覺效果驗證IAMDF算法對醫(yī)學(xué)圖像的去噪效果,將各算法對數(shù)據(jù)集Mini Mias Database中含噪密度為60%的圖像mdb001的去噪圖像顯示于圖4.文獻[12]的方法嚴重破壞了原圖像的黑色背景,效果較差;文獻[15]的方法去噪不徹底,圖像的目標上有大片的噪聲斑點;文獻[16]的方法去噪效果雖然較理想,但破壞了部分黑色背景;文獻[19]的方法去噪不徹底,背景有零星的白色噪聲斑點;文獻[21]和[22]的方法去噪效果較好,但是文獻[22]的方法在去噪圖像的背景上還留有少許白色的噪聲斑點.相對地,IAMDF的去噪圖像較清晰,紋理和邊緣細節(jié)保持得更好,特別是對黑色的背景保持得較好,因為其基于局部偏差和局部統(tǒng)計特性的噪聲檢測,能準確地區(qū)分噪聲與灰度取最值的無噪像素.另外,各去噪圖像對應(yīng)的PSNR和EPI值,基本上支持了以上結(jié)論.
圖4 各算法對含噪密度60%的醫(yī)學(xué)圖像mdb001的去噪結(jié)果Fig.4 Recovery results of all filters on medical image mdb001 corrupted with 60% impulse noise
從醫(yī)學(xué)圖像數(shù)據(jù)集得出的結(jié)論與從2.1和2.2節(jié)得出的結(jié)論是一致的,IAMDF是去噪脈沖噪聲的一個很好的算法,性能非常好.
表3顯示了各算法在醫(yī)學(xué)圖像數(shù)據(jù)集mini mias database上的平均計算時間.從表3可以得出三個明顯的結(jié)論.1) 除文獻[16]之外,隨著噪聲密度的增大,各算法的計算時間遞增,因為噪聲密度的增大一般會增加去噪處理的工作量.2) 文獻[15]耗時最多,其次是文獻[21],而文獻[19]計算速度最快.3) 雖然在計算效率上IAMDF沒有顯示出明顯的優(yōu)勢,但其計算速度是可以接受的,其優(yōu)越性在于噪聲去除和邊緣保持.
表3 各算法對圖像數(shù)據(jù)庫Mini Mias Database去噪的平均計算時間
為了取得理想的脈沖噪聲去除效果,本文提出了迭代的自適應(yīng)最小偏差濾波算法IAMDF,根據(jù)局部偏差和局部統(tǒng)計特性檢測噪聲,用基于迭代的自適應(yīng)最小偏差的像素恢復(fù)方法對噪聲像素進行恢復(fù),實驗結(jié)果證明IAMDF具有良好的去噪和邊緣保持性能,優(yōu)于部分最新提出的算法.對該算法做進一步改進,用于去除脈沖噪聲與高斯噪聲的混合噪聲,是下一步的研究工作.