雷繼海
(隴東學院電氣工程學院,甘肅 慶陽 745000)
圖像在獲取、傳輸以及存儲過程中,極易受到外界噪聲干擾,造成圖像視覺質量下降,嚴重時甚至可能導致圖像中某些重要信息丟失,給圖像的后續處理帶來極大不便。其中,脈沖噪聲較為普遍[1]。傳統的處理方法是采用中值濾波算法對其進行消除,但是存在很多弊端。為了彌補傳統中值濾波算法的不足之處,學者們又相繼提出了基于加權方法的各類中值濾波算法,并不斷對其改進,以期對濾波結果進行優化[2-4]。這些算法雖然取得了較好的濾波效果,但是在濾波時并沒有對噪聲點與非噪聲點進行有效區分,在處理噪聲點的同時,對非噪聲點也進行了一定程度的處理,使得處理后的圖像變得模糊。
針對上述算法對噪聲點與非噪聲點整體處理的不足,學者們又提出了先實現噪聲檢測而后進行噪聲剔除方案。其中具有代表性的方法有極值中值濾波(extremum median filtering,EMF)、開關中值濾波(switching median filtering,SMF)以及相應的改進算法等[5-11]。這些方法極大地改善了濾波性能,較為完整地保留了濾波后圖像的細節信息。但是較高密度的噪聲在剔除噪聲點后,往往會出現加大面積的空缺,無法較為精準地對噪聲點進行恢復,濾波能力顯得不足。
對于高密度噪聲的處理,當前普遍的做法是采用各種結構較為復雜的算法,包括自適應中值濾波(adaptive median filtering,AMF)、基于小波變換的算法、決策算法以及當前研究較為集中的基于深度學習的各類算法等[12-17]。這些算法的提出與應用,對圖像噪聲的處理產生了極大影響,使得噪聲的處理效果有了很大提升。但是這些算法在處理含有噪聲的圖像時,對參數設置的依賴性較大,不同的參數會對濾波結果產生不同影響。
結合上述脈沖噪聲檢測與恢復方法的不足,本文提出了一種基于像素值分類的脈沖噪聲檢測與恢復算法。該算法根據圖像中脈沖噪聲的特點,以像素值為0或255的點為中心點選取濾波窗口,對濾波窗口中的像素點進行精確分類,并對分類后的像素點采用不同的處理方法進行噪聲檢測與恢復,以期達到較為理想的處理結果。
在一幅數字化圖像中,脈沖噪聲總是數字化為極值(純黑或純白)。由于這一結果,負脈沖以一個黑點出現在圖像中,正脈沖以一個白點出現在圖像中。對于一個8位圖像而言,意味著脈沖噪聲為0或255。令S為不含噪聲的原始圖像、Y為帶有脈沖噪聲的圖像,則脈沖噪聲的數學模型可表示為:
Yij={0,Pa255,PbSij,1-(Pa+Pb)}
(1)
式中:Yij為脈沖噪聲圖像Y在(i,j)點的像素值;Sij為不含噪聲的原始圖像S在(i,j)點的像素值;Pa為含噪圖像中負脈沖噪聲出現的概率;Pb為正脈沖噪聲出現的概率。
使用傳統均值濾波時,窗口大小的選取直接影響圖像邊緣以及細節信息。本文對均值濾波算法進行了改進,利用了如圖1所示的濾波窗口結構,選取絕對差最小的兩個點的均值與待處理點進行運算,得到均值濾波結果。基于像素值分類的噪聲檢測與恢復濾波(based on pixel value classification filtering,BPVCF)是從脈沖噪聲像素值為0或255這一特點出發,假設原始圖像中像素值為0或255的像素點全為噪聲點,以噪聲點為中心設計濾波窗口,對窗口內的各點進行分類;依據分類結果對窗口中像素值為0或255的點作進一步判斷,得到噪聲點與可疑噪聲點;剔除噪聲點,保留非噪聲點與可疑噪聲點;依據窗口中剩余像素點的數目,采用不同方法進行噪聲恢復。對于原始圖像中像素值在0到255之間的像素點,不認為其是噪聲點且不作處理,保留原始像素值。算法具體過程如下。

圖1 濾波窗口結構示意圖
假設F=[p(i,j)]是以像素p(i,j)組成的、大小為m×n的含有脈沖噪聲的原始圖像。其中,i和j的范圍為1~m和1~n,0≤p(i,j)≤255。
①對于所有的i和j,如果p(i,j)=0或255,以該點為中心選取3×3的濾波窗口,對窗口內的像素點作如下分類并處理。
第一類:若濾波窗口中除中心點外,剩余點像素值滿足(0
第二類:若濾波窗口中除中心點外,剩余點像素值滿足(240
0的點參與噪聲恢復運算。此時,當選取點的個數不少于3個時,以所選點作中值濾波運算,以中值濾波結果M替換中心點像素值。當選取點的個數為1時,直接以該點像素值替換中心點像素值;當選取點的個數為2時,以這兩點平均值替換中心點像素值。
第三類:若濾波窗口中除中心點外,剩余點像素值滿足(10≤p≤240)≠?,則認為窗口中像素值為0和255的點為噪聲點。選取窗口中像素值10≤p≤240的點參與噪聲恢復運算。此時,當選取點的個數不少于3個時,以所選點作中值濾波運算,以中值濾波結果M替換中心點像素值。當選取點的個數為1時,直接以該點像素值替換中心點像素值;當選取點的個數為2時,以這兩點平均值替換中心點像素值。
第四類:若窗口中所有點的像素值為0或255時,無法對中心點作出有效判斷,將3×3濾波窗口擴大到5×5,再對該窗口內的所有點按照第一類和第二類進行判斷恢復。若濾波窗口擴大到5×5時,仍滿足窗口中所有點的像素值為0或255,則將濾波窗口擴大到7×7,再依次按照第一類和第二類進行判斷恢復。若此時所有點的像素值仍為0或255,則直接選取窗口中重復次數較多的像素值為0或255點直接替換中心點像素值。
②移動濾波窗口,重復步驟①。
③輸出濾波后的圖像。
為了對上述算法中提到的四類情況進行詳細說明,采用以具體像素值為例的噪聲恢復過程示例,分別對2.1節步驟①中對應的四種分類結果下的噪聲恢復進行描述。
①假設第一類情況下濾波窗口內像素值分布如圖2所示。

圖2 第一類情況下濾波窗口內像素值分布圖
對于圖2(a)和圖2(b)而言,既含有像素值0
對于圖3中(a)所剩像素點采用中值處理,其結果M=3;圖3(b)中由于只剩下兩個點,求其平均值A=2;圖3(c)中只剩下一點,直接取值為4。以計算結果對中心點噪聲進行恢復。第一類情況下,噪聲恢復結果如圖4所示。

圖3 剔除后剩余的像素點

圖4 第一類情況下噪聲恢復結果
算法中第二類與第一類處理類似,故不在此贅述。
②假設第三類情況下濾波窗口內像素值分布如圖5所示。

圖5 第三類情況下濾波窗口內像素值分布圖
根據第三類處理過程,選取窗口中除中心點外的像素點求取中值,其結果為M=82。以此結果替換中心點像素值,第三類情況下噪聲恢復結果如圖6所示。

圖6 第三類情況下噪聲恢復結果
③假設第四類情況下濾波窗口內像素值分布如圖7所示。

圖7 第四類情況下濾波窗口內像素值分布
根據算法中的第四類處理過程,此時應將3×3濾波窗口擴大到5×5。假設擴大窗口后的像素點分布如圖8所示。
擴充后的像素值分布滿足第三類條件,選取窗口中像素值為10≤p≤240的點進行中值運算,其結果為M=112。以此結果替換中心點像素值,噪聲恢復結果如圖9所示。

圖9 第四類情況下噪聲恢復結果
為了對本文提出算法的性能進行評估,從Matlab7.0的toolbox文件夾中的images文件下的imdemos選取了onion圖像作為標準測試圖像,分別添加密度為40%和60%的脈沖噪聲。以AMF[18]、EMF[19]、SMF[20]以及BPVCF進行處理,對比了不同方法處理后圖像的視覺效果。40%和60%噪聲密度下,濾波結果分別如圖10、圖11所示。

圖10 40%噪聲密度下濾波結果

圖11 60%噪聲密度下濾波結果
由圖10可知,在脈沖噪聲密度為40%情況下,圖10(d)和圖10(e)均未能將噪聲完全濾除,濾波效果較差;從總體上來看,圖10(c)和圖10(f)效果差別不大,但是仔細觀察就會發現,圖10(c)中存在圖像邊緣模糊現象,視覺效果較之本文算法差。由圖11可知,在脈沖噪聲密度為60%情況下時,這一現象更加明顯。綜上所述,本文BPVCF算法在視覺效果上要優于EMF、SMF和AMF。
為了能夠從定量計算結果上全面、真實地反映EMF、SMF、AMF和本文算法在不同圖像、不同噪聲密度下的處理效果,分別采用了峰值信噪比(peak sigmal-to-noise ratio,PSNR)、平均結構相似性(mean structural similarity,MSSIM)和圖像增強因子(image enhancement factor,IEF)對處理后的圖像進行評價[21-22]。其中,PSNR、MSSIM和IEF計算公式分別如式(2)~式(5)所示。
(2)

IS(p,q)=lα(p,q)×cβ(p,q)×sλ(p,q)
(3)
(4)

(5)

計算上述三個參量時,從Matlab7.0的toolbox文件夾中的images文件下的imdemos選取了onion、cameraman、pout、coins四幅圖像作為標準測試圖像。對測試圖像分別添加密度為10%~90%的脈沖噪聲,并針對每幅測試圖像,分別采用EMF、SMF、AMF和本文BPVCF算法進行處理。處理結果表明,本文算法處理后的PSNR、MSSIM及IEF值均優于其他三種算法。以測試圖像中pout處理結果為例,得到了經不同算法處理后圖像的PSNR、MSSIM以及IEF與噪聲濃度關系,如圖12所示。

圖12 PSNR、MSSIM以及IEF值分別與噪聲濃度的依賴關系
由圖12可以看出:在噪聲密度低于80%時,本文算法的性能優于其他算法;但是當噪聲密度大于80%時,本文算法處理后的PSNR和IEF值略低于AMF算法而高于EMF和SMF算法,但MSSIM值優于AMF算法。由此表明,在處理高密度噪聲時,本文算法也具有與AMF算法相當的處理效果。
本文針對含有脈沖噪聲的圖像,提出了一種基于像素值分類的脈沖噪聲檢測與恢復算法。試驗結果表明,該算法對于脈沖噪聲密度低于80%的圖像有很好的處理效果,處理后圖像的PSNR、MSSIM和IEF值以及視覺效果優勢明顯。在處理噪聲密度高達80%以上的圖像時,其處理效果也與AMF算法相當。