基于BM3D的钢板表面图像自适应去噪方法
2022-10-28李毅波马逐曦陈峰宇黄前斌
杨 义,李毅波,马逐曦,陈峰宇,黄前斌
(中南大学 轻合金研究院,湖南 长沙 410083)
1 引言
钢板表面的缺陷检测技术一直是工业制造领域的重要检测技术之一,而工业现场采集到的图像通常包含噪声[1],因此需要对采集到的缺陷图像进行去噪处理,以便于机器处理或人眼检测。图像去噪主要可以分为空域去噪和频域去噪[2],研究者们也先后提出了很多去噪数学模型和算法,并取得了一定成效。经典的空间域去噪方法有均值滤波、中值滤波法等[3],虽然能在一定程度上滤除噪声,但是也会平滑图像的纹理细节部分。随后,Buades等人[4]结合图像块之间的结构相似性,提出了非局部均值滤波(Non-local Means,NLM),该算法充分利用了图像中的冗余信息,在滤除噪声的同时最大程度地保留了图像细节特征,但该算法存在时间成本高,且加权核函 数 分 配 不 均 的 问 题。Hernández-Gutiérrez等人[5]在传统NLM的基础上提出了改进的预分类非局部均值滤波法(Improved Preclassification Non-local Means,IPNLM),该算法对噪声图像中的每个搜索窗口使用描述符评估,对分布在同质区域和边缘区域像素点分别采取不同的去噪方式。陆海清等人[6]针对传统NLM算法不能准确反映图像块之间的相似性问题,提出了一种混合鲁棒权重和改进方法噪声的两级非局部均值去噪算法(Two Stage-NLM,TSNLM)。Huo等人[7]提出了一种噪声定位的两阶段图像去噪算法(Two Stage Filter,TSF),该算法虽然能较为准确地找到噪声点并进行去噪,但是边缘检测的精度对去噪效果影响较大。经典的频域滤波有维纳滤波、小波去噪和稀疏表示去噪。Huang等人[8]结合维纳滤波和小波阈值,提出了一种利用图像小波系数之间相关性的去噪方法;Zhu等人[9]针对传统阈值不连续和常偏差的缺陷,提出了一种综合阈值小波去噪算法(Comprehensive Threshold Walvet Transform,CTWT)。Mallat等人[10]率先提出基于字典的稀疏表示概念,引发了大量研究者对稀疏表示理论和字典学习的研究。Sahoo等人[11]和Aharon等人[12]分别提出了正交匹配追踪算法(OMP)和K-SVD字典学习算法来求解稀疏系数并得到匹配度更高的字典,但是算法计算复杂度较高。Dabov等人[13]在NLM和稀疏表示的基础上,提出了一种三维块匹配去噪算法(Block-matching and 3D Filtering,BM3D)。该方法不局限于单个像素的估计,而是在相似块的基础上进行加权平均,通过联合滤波对图像进行高度稀疏,从而达到更好的去噪效果,与其他方法相比更具优势。针对传统BM3D算法无法自适应滤波的问题,研究人员进行了深入研究。王燕等人[14]提出了一种通过估计噪声方差来选取合适的距离阈值的自适应BM3D去噪算法(ABM3D),虽然该算法在一定程度上实现了自适应,但是图像的去噪效果提升不大,仍具有一定的局限性。冯象初等人[15]提出了一种利用方向扩散方程进行修正的三维块匹配滤波图像去噪改进算法,在一定程度上改善了去噪效果。Dai等人[16]针对传统BM3D在低噪声和高噪声强度下分别存在计算量大和去噪效果差的不足,提出了一种基于自适应距离硬阈值函数的改进BM3D算法,但是该算法在噪声强度较高时去噪效果尚不理想。Cheng等人[17]提出了基于曼哈顿距离的自适应BM3D算法来去除激光散斑对比度成像中的非均匀噪声,该算法提高了强噪声下块匹配的精度且具有较好的自适应性。Feng等人[18]通过分别引入高斯函数和归一化角距离来选取硬阈值和度量相似块距离,相较于原算法去噪效果有所提升。Yahya等人[19]通过在去噪第一阶段和第二阶段分别引入自适应滤波函数和自适应权重函数来去除噪声以更多的保留图像细节,但该算法计算复杂度较高。
针对传统BM3D去噪算法存在无法自适应选取距离阈值的问题,本文以传统BM3D算法为基础,提出了一种基于噪声估计和阈值函数的自适应BM3D去噪算法——TFBM3D。该算法先根据估计的噪声标准差自适应选取基础估计和最终估计阶段的最佳阈值,再对缺陷图像进行去噪,在去除噪声的同时还保留了大部分图像中的缺陷细节。
2 BM3D去噪算法
BM3D去噪算法是一种根据图像块间相似性进行去噪的三维滤波算法[20],该算法实现的过程主要分为基础估计和最终估计两个步骤。其算法流程如图1所示。
图1 BM3D算法流程Fig.1 Flow chart of BM3D algorithm
第一步:基础估计。首先将钢板表面图像I分割成N1×N1大小的图像块,取图像中某一参考点xR处的参考块ZxR,然后构造N1×N1的凯撒窗口,在以该点为中心、大小为W1×W1的搜索窗口内以一定的步长p1搜索与参考块相似的图像块,搜索过程中的滑动窗用Zx表示。
寻找相似块的度量公式如下:
其中:γ'和Th2D分别为硬阈值滤波和二维线性变换。选择适当的距离阈值τ1,将满足d<τ1的图像块按照与当前参考块距离从小到大排列,形成相似三维数组Th。即:
然后再将得到的相似群组Th二维矩阵进行二维余弦变换和其第三个维度上进行一维Haar小波变换,再进行硬阈值滤波后通过三维逆变换就可以得到相似群组的估计值:
其中:u为相似群组Th中图像块的矩阵系数,σ和λ3D分别为噪声标准差和硬阈值收缩系数。通过硬阈值收缩将噪声所对应的较小系数置零去除,而保留图像大部分真实信息所对应的较大系数。
在得到每一参考块的估计值后,再根据相似群组Th经硬阈值收缩后非零系数的个数Nh来计算其估计值的权重ωh:
最后,因为对于某一像素x来说,它可能会出现在多个图像块内,所以需要对包含像素点x的重叠图像块进行加权平均来得到该点的基本估计:
其中,ϕxm(x)为相似块的特征函数。
第二步:最终估计。将基础估计得到的图像再次进行分块并逐块估计。首先,在基础估计图像中进行块匹配分组,此时会得到基础估计结果的三维矩阵T'h和噪声图像形成的三维矩阵Th,T'h表达式如下:
其次,再将得到的两个三维群组都进行二维余弦变换和一维Haar小波变换。利用基础估计的三维矩阵T'h来对原始噪声图片的三维矩阵Th进行联合维纳滤波,以得到其维纳滤波收缩系数:
随后再利用三维逆变换即可得到相似群组的估计值:
最后将所有的参考块进行加权聚合即可得到最终估计图像:
3 改进的BM3D去噪算法
3.1 阈值函数的拟合
采用BM3D去噪算法对含有不同高斯噪声强度的图片进行去噪时,需要选择合适的基础估计距离阈值τ1和最终估计距离阈值τ2才能寻找到最佳数量的相似块,故距离阈值的选取对于最终的图像去噪质量起着关键作用。由于传统BM3D去噪算法是先将噪声强度划分为低噪声区间和高噪声区间,然后人为在这两个区间内引入固定距离阈值,最后再进行去噪,所以该策略无法确定不同噪声强度下的最优阈值,即不能自适应选取最佳距离阈值以指导后续去噪,导致其去噪效果不能达到最理想的效果。
基于此,本文先对划痕、麻面以及夹杂三组钢板缺陷图片人为添加不同强度的高斯噪声,再利用网格搜索法对每张缺陷图片同时寻找最佳距离阈值τ1和τ2,然后将各图片在相同噪声强度下的最优距离阈值取平均,最后将最优阈值点τ1和τ2分别与噪声标准差σ进行拟合,分析拟合效果。通过对基础估计阈值τ1和最终估计阈值τ2的曲线拟合发现,其最优阈值τ1与噪声标准差大致符合二次函数关系式,而阈值τ2与噪声强度大致符合四次多项式函数关系。
其中,距离阈值τ1和τ2的搜索区间分别为[100,5 000]和[100,3 500],搜索步长均为100,噪声标准差σ搜索区间[5,40],步长为5。
不同噪声标准差σ与阈值τ1的拟合曲线如图2所示。由图2可知,在[5,40]的噪声区间内,基础估计中的最优距离阈值τ1会随着噪声强度σ的增大而增加,且大致符合二次函数的趋势,这是由于基于估计的去噪依据是原噪声图像,而随着噪声水平的增加,图像中可用的真实信息减少,故需要增加距离阈值匹配更多的相似块来对参考块进行去噪。
图2 基础估计阈值拟合函数图Fig.2 Fitting function graph of basic estimate threshold
再对不同噪声标准差σ和最优阈值τ2进行拟合,最终估计阈值拟合效果如图3所示。由图3可得,最佳距离阈值τ2与噪声强度σ的关系大致满足四次多项式的变换趋势,且平均最优取值集中在150至300之间。这是因为最终估计是在基础估计后的图像上进行的,而经过基础估计后图像中的大部分噪声已经滤除,故最终估计阈值相对基础估计阈值要小很多,且集中在一定的区间内,以选择合适的相似块进行去噪。
图3 最终估计阈值拟合函数图Fig.3 Fitting function graph of final estimate threshold
最终我们可以得到不同噪声水平下的基础估计和最终估计阈值选取函数表达式:
其 中:A、B、C分 别 取1.707 94、44.761 9和14.952 38;A1、B1、C1、D1依次取值为-0.001 16、0.105 22、-3.118 43、35.663 9、73.452 38。
3.2 噪声估计
由于传统BM3D去噪算法将噪声方差作为已知的先验知识,而工业上采集的图像噪声往往是未知的,故图像去噪之前需要先进行噪声方差估计,以便于后续的图像去噪以及进一步的图像处理。由于采集到的钢板图像均匀区域相对较多,故本文采用Liu等人[21]提出的SVD域图像噪声估计方法,该方法非常适合对零均值的高斯噪声进行估计,且此方法估计的准确度高、速度快。引入的SVD域噪声估计方法作为TFBM3D算法的预处理以估计出图像中的噪声标准差,再根据噪声标准差以及上述得到的阈值函数选取基础估计和最终估计中的最佳距离阈值,最后用算法进行去噪。TFBM3D算法去噪流程如图4所示。
图4 TFBM3D算法去噪流程Fig.4 Flow chart of TFBM3D algorithm denoising
4 试验结果和分析
本文试验环境为64位Win10、Intel(R)Core(TM)-i5-10400处理器以及16 GB的内存,试验平台为Python 3.6。为验证本文算法的有效性,分别从去噪效果图、去噪性能评价指标以及残余图像三个方面进行对比试验。从东北大学NEUDET钢板数据集中选取三张缺陷分别为划痕、夹杂及麻面的图片作为测试数据,大小均为200×200,如图5所示。分别对上述三幅测试图片添加均值为0、标准差σ为10、15、20、25、30的高斯白噪声,然后分别使用高斯滤波(Gaussian Filter,GF)、改进的预分类非局部均值滤波(IPNLM)[5]、两级非局部均值滤波(TSNLM)[6]、两阶段滤波(TSF)[7]、综合阈值小波去噪(CTWT)[9]、BM3D算法[4]、自适应BM3D算法(ABM3D)[14]、以及本文提出的基于阈值函数的自适应BM3D算法(TFBM3D)进行去噪对比试验。
图5 三种测试图片Fig.5 Three testing images
选取峰值信噪比(Peak Signal to Noise Ratio,PSNR)和结构相似性(Structural Similarity,SSIM)作为评价图像去噪质量的客观指标,PSNR和SSIM的定义式分别如(14)式和(15)式所示。其中:O代表去噪后的图像,MN是图像的大小,μo、μI分别表示去噪后图像和原始图像的平均值,σo、σI以及σoI则分别代表去噪图像的标准差、原始图像的标准差以及两图像的协方差,C1和C2是保持稳定的常数,L代表图像素值的动态范围255,K1=0.01,K2=0.03。PSNR的值越大,表明去噪后的图像和原图像的相似性越高,去噪效果就越好。SSIM是一个0到1之间的数,其值越大则表明输出图像和原始图像的差距越小,即图像质量越好。表1列出了在高斯噪声标准差为10的情况下本文去噪算法中基础估计和最终估计的超参数设置以及阈值选取,其中距离阈值是根据上述拟合出的阈值函数计算得来的。表2至表4列出了八种算法在不同噪声强度 下的PSNR和SSIM对比结果,其中加粗部分为最优值。可以发现,本文提出的TFBM3D算法的评价指标值是最高的,相对于传统BM3D算法和ABM3D算法都有着一定程度提升。这是因为TFBM3D算法能根据噪声水平自适应选取最佳距离阈值以尽可能聚集搜索窗口中的合适相似块来进行去噪,克服了传统BM3D距离阈值无法自适应根据噪声水平调节的问题,最大程度地保留图像中的结构信息,因此在PSNR和SSIM上又有了进一步提升。
表1 σ为10时新算法参数设置Tab.1 Parameter settings for the new algorithm when σ is 10
表2 不同去噪算法在划痕图片上的PSNR和SSIM指标Tab.2 PSNR and SSIM indexes of different denoising algorithms on the scratch image
表4 不同去噪算法在麻面图片上的PSNR和SSIM指标Tab.4 PSNR and SSIM indexes of different denoising algorithms on the pitted-surface image
表3 不同去噪算法在夹杂图片上的PSNR和SSIM指标Tab.3 PSNR and SSIM indexes of different denoising algorithms on the inclusion image
图6至图8依次给出了TFBM3D算法与其他七种算法对划痕、夹杂以及麻面图像的PSNR和SSIM曲线。从图中可更加直观看出,本文算法、IPNLM与BM3D算法相较于其他算法有着更好的去噪性能。在噪声强度较低时,这三种算法去噪性能接近,但是随着噪声强度的升高,TFBM3D去噪算法相对于其他算法的优势更加明显,仍能保持较好的去噪效果。无论是峰值信噪比还是结构相似度,TFBM3D都取得了更好的效果。图9和图10分别给出了几种算法在具有不同噪声标准差的不同缺陷图像上的主观去噪效果。从图中9可以看出,GF、TSNLM算法去噪后图像的视觉质量和清晰度虽有一定的提升,但是仍然存在相当一部分噪声没有被滤除;TSF、CTWT和IPNLM算法在缺陷边缘处产生了失真或过渡平滑(如划痕图片中的缺陷部分);BM3D和ABM3D算法在平坦区域出现了不同程度的失真。
图6 各算法对划痕图像的PSNR和SSIM曲线Fig.6 PSNR and SSIM curves of each algorithm on the scratch image
图8 各算法对麻面图像的PSNR和SSIM曲线Fig.8 PSNR and SSIM curves of each algorithm on the pitted-surface image
图10 σ=30时不同算法对夹杂图像的去噪效果Fig.10 Denosing performance of different algorithms on the inclusion image while σ=30
图7 各算法对夹杂图像的PSNR和SSIM曲线Fig.7 PSNR and SSIM curves of each algorithm on the inclusion image
从 图10中 可 看 出,GF、TSNLM、TSF和CTWT算法去噪后的图像中仍残留一部分噪声;IPNLM算法去噪后图像变得较为模糊;BM3D和ABM3D算法在平坦区域出现了明显的块效应。本文算法的去噪图像具有很高的对比度,缺陷边缘处保持更好,平坦区域更加平滑且对图像中噪声的抑制能力更突出,整体的视觉效果最好。因此,TFBM3D算法具有良好的去噪质量和去噪效果。
图11和图12分别为不同算法对麻面缺陷图像去噪后主观去噪效果和残余图像。从图11可以发现,GF、TSNLM和TSF算法去噪后的图像中仍然残留大部分噪声;CTWT算法和IPNLM算法导致去噪后图像出现了较多失真和模糊;BM3D和ABM3D算法在黑斑块处出现明显的振荡,而本文算法在缺陷信息的保持和噪声去除两方面相较于其他算法更好。从图12可以看出,TFBM3D算法得出的残余图像相对于其他算法的而言,包含的结构信息更少,比较接近纯噪声。而其他算法,比如TSNLM、TSF等得到的残余图像中能比较明显地看出麻面缺陷边缘细节信息,这说明这些算法在去噪时将图像中的边缘等结构当作噪声去除了,表明TFBM3D算法能较好地保持边缘细节等信息,且优于其他算法。综上分析可知,本文提出的TFBM3D算法在去噪性能、视觉质量以及图像结构信息的保护能力方面相较于其他算法具有较为显著的优势。
图11 σ=25时不同算法对麻面图像的去噪效果Fig.11 Denosing performance of different algorithms on the pitted-surface image while σ=25
图12 σ=25时不同算法对麻面图像去噪后的残余图像Fig.12 Residual images of different denosing algorithms on the pitted-surface image while σ=25
为了衡量各算法对后续缺陷图像处理以及最终缺陷检出的影响,本文以划痕图像为例,使用阈值分割的方式,分别对各算法基于噪声强度为10的划痕缺陷图像去噪后的图像进行图像分割。具体分割效果对比图如图13所示。由图可知,GF、TSNLM、TSF算法去噪后的分割图像中残留大部分噪声,表明去噪后的图像有较大面积的噪声未滤除;CTWT和IPNLM算法去噪后中的分割图像中缺陷处出现了明显的缺失;BM3D算法和ABM3D算法去噪后的分割图像中分别存在下边缘缺陷特征缺失和残留噪声的问题;而在本文提出的算法去噪后的分割图像中,既较好地保留了边缘信息,又极大程度上去除了图像中的噪声。
图13 σ=10时不同算法对划痕图像去噪后的图像缺陷分割效果Fig.13 Image defect segmentation effect of different denosing algorithms on the scratch image while σ=10
5 结论
本文提出了一种基于阈值函数和噪声估计的自适应BM3D去噪算法,通过在基础估计阶段和最终估计阶段分别引入二次曲线阈值函数和四次多项式阈值函数,根据噪声估计阶段所得出的噪声标准差来自适应选取最佳阈值以指导最终的图像去噪。通过仿真对比试验表明,该方法在客观评价指标和主观视觉效果上均优于大多主流算法。特别地,在噪声标准差为30时,本文提出的TFBM3D算法的PSNR和SSIM指标分别在33 dB和0.85以上。在今后的工作中,我们将研究出更有力的算法来去除钢板缺陷图像中的混合噪声,如脉冲噪声、瑞利噪声等。