?

基于改進Canny算法的噪聲圖像邊緣檢測

2023-12-28 10:11孫海明韓國強
湖北汽車工業學院學報 2023年4期
關鍵詞:椒鹽像素點高斯

孫海明,韓國強

(1.湖北汽車工業學院 機械工程學院,湖北 十堰 442002;2.湖北中程科技產業技術研究院有限公司,湖北 十堰 442002)

圖像邊緣與椒鹽噪聲都具有高頻跳躍的性 質[1],對噪聲圖像進行邊緣檢測時易引起邊緣線誤檢的情況,影響后續圖像處理[2]。Canny 算法[3]因其3個特性成為圖像邊緣檢測常用算法,但對圖像求解過程中會遇到椒鹽噪聲干擾,確定邊緣高低閾值存在一定難度[4]。徐武[5]等在濾波設計上進行改進,有效濾除了椒鹽噪聲并保護圖像邊緣細節信息;付文博[6]等結合CNN與Canny,設計出C-Canny算法,提高了閾值定位的準確率;劉元峰[7]等側重研究目標區域,然后基于改進的Canny算子進行噪聲消除,提高了目標檢測的準確率;李靜[8]等使用自適應中值高斯濾波設計代替經典Canny 算法中的高斯濾波器;李靖[9]等使用多尺度細節法增強邊緣,降低了高斯濾波的影響。上述改進算法具有降噪處理的步驟,但處理方法的魯棒性不高,降噪后容易導致圖像邊緣模糊,造成圖像弱邊緣漏檢。針對經典Canny 算法及其相關研究在實際應用中遇到的問題,提出使用自適應中值-高斯濾波法(AMGF)代替高斯濾波法濾除圖像噪聲,并通過拉氏(Laplace)變換增強去噪后的圖像;使用Otsu 法計算得到圖像最優閾值,運用精度更高的Scharr 算子代替Sobel 算子計算圖像梯度,以此提高邊緣點定位精度以保證后續邊緣連接的準確性。

1 改進Canny算法

經典Canny算法存在以下缺點:1)采用高斯濾波進行圖像去噪,利用二維高斯函數的分布方式平滑圖像,可以抑制服從正態分布的噪聲,但對椒鹽噪聲很敏感,且濾波模板大小的選取受人為影響,卷積核半徑小會導致噪聲去除效果差,卷積核半徑大會使圖像變得模糊,丟失圖像信息;2)采用Sobel卷積核進行梯度大小的計算,提取到的邊緣信息精度較差;3)根據人為經驗選取高低閾值,不依靠圖像自身特性來進行最優閾值的判定,無法得到圖像的確定信息,造成檢測誤差。針對上述缺陷進行改進:使用自適應中值-高斯濾波并融合Laplace 變換,設計AMGF-L 方案;使用精度更高的Scharr 算子代替Sobel 算子進行圖像梯度計算;運用最大類間方差法(Otsu算法)自適應選擇圖像的最優閾值。改進邊緣檢測算法流程如圖1所示。

圖1 改進算法邊緣檢測流程圖

1.1 AMGF-L方案

傳統中值濾波對圖像中少量椒鹽噪聲起到的作用較好,但當圖像噪聲密度增大時很難在有效減少噪聲的同時保留圖像細節信息。自適應中值濾波針對特定圖像條件,動態地改變中值濾波器的窗口寬度,保證去除噪聲同時保留圖像細節特征。算法步驟如下:1)設Sxy為濾波器的作用區域,濾波器窗口所覆蓋的區域中心點為圖像中第x行第y列個像素點;Sxy中最小灰度值、最大灰度值、中間灰度值分別為Zmin、Zmax、Zmed;Zxy表示圖像中第x行第y列像素點的灰度值;Sxy所允許的最大窗口尺寸為Smax。2)當(Zmed-Zmin)大于0 且(Zmed-Zmax)小于0時轉至步驟3),否則增大窗口的尺寸,如果增大后的尺寸不大于Smax,則重新執行步驟2),否則直接輸出Zmed。3)當(Zxy-Zmin)大于0且(Zxy-Zmax)小于0時輸出Zxy,否則輸出Zmed[11]。

經過自適應中值濾波處理,椒鹽噪聲得到了有效控制,接著運用自適應高斯濾波法去除高斯噪聲。利用二維高斯濾波函數生成高斯核:

式中:k為高斯核半徑;σ為標準差。高斯核系數權值與方差具有特定比例關系[12],在卷積窗口滑動中,根據方差大小求得高斯核標準差σ。圖像某區域內方差計算公式為

式中:Si,j為中心點(i,j)的卷積窗口;D(i,j)為方差,D(i,j)越大,表示像素值在Si,j區域內的離散程度越高,因此采用更小的σ生成的高斯核系數權重,可以有效減少對該區域的影響。據此得到:

由于D(i,j)是常量,R(i,j)是關于k與σ的函數,即

當R為1時,高斯核中參數權重大小與像素值權重最接近,此時該處σ由Sxy區域內像素值的方差D求得。以此類推,反復迭代,形成自適應高斯濾波,最后對圖像像素點全部卷積完成高斯濾波處理。

圖像經濾波處理后造成圖像清晰度變低,邊緣信息不易體現,使用Laplace 算子對圖像進行銳化處理,相比一階微分算子定位張力相對較強,銳化效果更佳。將銳化后的圖像與原圖像融合在一起,保留原圖信息并增強圖像梯度突變處的像素值,實現圖像邊緣的增強。常用Laplace算子模板為

Laplace算子的二階導數用來描述二維圖像的同性函數,表示圖像的特征和性質:

邊緣增強公式為

式中:g為輸出;f為原始圖像;c為細節系數。根據c值大小判斷像素點是否被增強。

1.2 計算梯度強度和方向

經典Canny 算法采用Sobel算子進行圖像梯度定位,精度較差,容易丟失邊緣信息[13]。Sobel算子由2組3×3矩陣組成:

在X和Y方向上計算出梯度強度:

式中:Gx為像素點水平方向的梯矢量;Z為圖像;Gy為像素點垂直方向的梯矢量。計算圖像每個像素點的梯度大小G和梯度方向θ:

選取OpenCV庫中的Scharr算子[14]代替Sobel算子,以提高精度且同時保證運算效率。Scharr 算子濾波模板替換為

1.3 Otsu確認閾值

Otsu算法是自適應的閾值選擇技術,能夠根據灰度特性將圖片分為背景和前景[15]。為定義閾值T,將圖片中的像素點分為2類,即元素值不大于T(背景區域)和元素值大于T(前景區域)。假定背景區域占總像素數的比例為ω1,即

式中:Ssum為所有像素點總和;N1為背景區域所有像素點數。前景區域占總像素數的比例為

式中:N2為前景區域所有像素點數。依靠方差概念,類間方差g為

式中:μ1為背景區域平均像素值;μ2為前景區域平均像素值。優化得到:

g取得最大值時,則認為此時T值為最合適的閾值。

2 仿真分析

2.1 濾波仿真與分析

針對AMGF-L 方案進行實驗分析,在Visual Studio 2017 中實現,配合OpenCV 視覺庫,為避免出現單一指標的誤差使用10%椒鹽噪聲污染4 幅圖像進行算法性能評價,通過主觀分析和數據定量分析的方式進行比對。與采用掩碼大小為5 的高斯濾波以及AMGF 進行對比,如圖2~5 所示,發現AMGF-L可以去除圖像中的大部分噪聲,同時圖像輪廓信息更加清晰。使用峰值信噪比(peak signal-to noise ratio,PSNR)[16]和 信 噪 比(signal-to noise ratio,SNR)評價邊緣檢測算法的性能,SNR和PSNR數值越大,圖像失真越小。不同算法檢測結果的SNR與PSNR如表1所示。

表1 不同濾波算法SNR與PSNR表現dB

圖2 10%椒鹽噪聲濾波實驗對比

圖3 高斯濾波濾波實驗對比

圖4 AMGF濾波實驗對比

圖5 AMGF-L濾波實驗對比

2.2 邊緣結果仿真與分析

選取數據集中4 種含有噪聲數據的圖像進行邊緣結果實驗仿真,對文中算法、經典Canny算法、Sobel 算子、文獻[8]算法的邊緣檢測結果進行評價。經典Canny 算法高低閾值設定100和50,高斯濾波器大小為5,4種圖像邊緣結果如圖6~9所示。

圖6 經典Canny算法邊緣結果對比

圖7 Sobel算子邊緣結果對比

圖8 文獻[8]算法邊緣結果對比

圖9 文中算法邊緣結果對比

從邊緣結果來看,Sobel算子受噪聲影響,得到的圖像邊緣出現了邊緣連接線斷連且邊緣線較粗;經典Canny 算法相對Sobel 算子,邊緣線定位更精確一些,依舊出現了邊緣線不完整的現象;文獻[8]算法較好地濾除了圖像中的噪聲,但濾波之后丟失了一些邊緣細節信息,導致圖像邊緣完整性有一定程度的缺失;相較于上述3 種方法,文中算法去除噪聲的能力較強,得到的邊緣線連續且完整,可以提取出圖像中較完整的邊緣細節信息。

為直觀體現算法性能的優劣,引入文獻[10]中的評價指標,如表2所示,A代表邊緣算法檢測得到的像素總數,B代表圖像中像素的4連通域,C代表像素的8連通域。C/A、C/B越小,圖像邊緣連續性越強,圖像邊緣檢測質量越好。從表2 可看出,文中算法相較經典Canny 算法、Sobel 算子、文獻[8]算法,C/A分別低0.07~0.24、0.11~0.22、0.06~0.11,C/B分別低0.06~0.14、0.07~0.16、0.06~0.11,表明文中算法具有一定的降噪保邊能力,邊緣檢測效果良好,可以檢測得到較完整的邊緣。

表2 各算法不同圖像的C/A、C/B

使用BSD500[17]數據集中500 張不同種類的圖片進行實驗,性能指標為F1(F-measure),F1 越高代表對應的算法性能越好,結果見表3。相比經典Canny算法、Sobel算子及文獻[8]算法,在無噪聲條件下文中算法的F1 分別高4.2%、7.4%、2.8%;在10%噪聲條件下文中算法的F1 分別高24.8%、27.5%、8.5%。從表3中可以看出,在有噪聲影響的條件下,經典Canny 算法F1下降幅度較明顯,文中算法F1下降幅度微小且遠高于經典Canny 算法與Sobel 算子,好于文獻[8]算法,證明了文中算法在噪聲圖像下的優越性。

表3 BSD500性能測試

3 結論

經典Canny 算法無法抑制椒鹽噪聲且抑制噪聲后無法保證圖像邊緣細節信息,為此提出使用AMGF-L方案替換高斯濾波,應用Scharr算子代替Sobel 算子得到高精度梯度圖,保證自適應閾值方法的有效實施,最終經非極大值抑制技術連接邊界得到圖像邊緣。以實驗圖像為例,去噪后圖像的PSNR 相較其他算法提升了2.25~14.5 dB,邊緣評價指標及F1 表現均優于其他算法。結果表明,改進Canny算法可以去除椒鹽噪聲,并有效保留圖像邊緣細節,為后續圖像處理時目標區域定位識別等操作提供了準確的邊緣輪廓信息。

猜你喜歡
椒鹽像素點高斯
基于局部相似性的特征匹配篩選算法
數學王子高斯
天才數學家——高斯
基于5×5鄰域像素點相關性的劃痕修復算法
基于canvas的前端數據加密
基于逐像素點深度卷積網絡分割模型的上皮和間質組織分割
有限域上高斯正規基的一個注記
椒鹽芝麻燒餅
基于噪聲檢測的高密椒鹽噪聲自適應濾波算法
椒鹽卷餅
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合