APP下载

自适应非局部3维全变分彩色图像去噪

2022-12-21李潇瑶王炼红周怡聪章兢

中国图象图形学报 2022年12期
关键词:彩色图像相似性梯度

李潇瑶,王炼红,周怡聪,章兢

1.湖南大学电气与信息工程学院,长沙 410082; 2.澳门大学电脑与资讯科学系,澳门 999078

0 引 言

图像去噪的目的是在消除噪声的同时最大程度地保留图像细节信息。图像在采集、传输和存储过程中经常受到噪声污染,导致图像质量降低,甚至影响图像增强(李健 等,2021)、识别(贺敏雪 等,2021)、分类(尹红 等,2019)和分割(江宗康 等,2020)等后续处理工作。因此,图像去噪是一项非常重要的图像预处理工作。

滤除高斯噪声,常见的空间域算法是基于变分法的去噪模型,可以通过最小化能量函数达到平滑图像的目的。Rudin等人(1992)提出一种非线性滤波算法,即全变分算法(total variation,TV),可以通过减小噪声图像的绝对梯度的积分来滤除噪声。Goldstein和Osher(2009)利用分裂Bregman快速算法提出了各向异性全变分和各项同性全变分。Adam和Paramesran(2019)为了更好地平衡消除阶梯效应和保留边缘信息之间的关系,提出一种结合重叠群稀疏和混合非凸高阶全变分模型(hybrid non-convex higher order TV with overlapping group sparsity,HNHOTV-OGS)。Parisott等人(2020)设计了一种高阶方向性全变分(total direction variation,TDV),在高阶梯度中加入各项异性方向信息。然而,由于全变分完全依赖于图像的局部特征,在边缘部分或梯度较大处容易受到噪声干扰而丢失细节信息,从而产生阶梯效应。

针对局部滤波这一缺点,Buades等人(2005)提出了非局部均值算法(non-local means,NLM),主要思想是将图像块作为一个处理单元,计算中心图像块与所有邻域图像块之间的相似性权重,最后得到的去噪图像块即邻域图像块的加权平均值。在NLM算法取得显著成效后,人们对基于图像块的非局部去噪算法进行改进。例如,将全变分与非局部相似性相结合,Gilboa和Osher(2007)提出了非局部全变分(non-local total variation,NLTV),Liu等人(2014)设计了非局部广义相对全变分(non-local version of the generalized relative TV,NLGRTV),Li等人(2017)设计了正则化非局部全变分(regularized non-local total variation,RNLTV),Wang等人(2019)提出了基于结构相似性的非局部全变分。不同于局部全变分模型仅通过图像像素灰度值的变化来除噪,这类非局部全变分算法利用了邻域内图像块结构的相似性,可以更好地保留图像的细节信息。

值得注意的是,现有许多去噪算法原本是针对灰度图像提出的,在处理彩色图像时只是简单地对3个颜色分量进行单独去噪。此外,大部分去噪算法忽略了真实噪声在图像不同区域内的分布差异,而是简单假定整幅图像的噪声强度是均匀的,并设置同样的参数,导致这些算法在每个颜色分量和每个图像块上,甚至每次迭代中的去噪强度都是一样的,从而造成过平滑和欠平滑共存现象。

为了解决以上问题,本文提出一种自适应非局部3维全变分(adaptive non-local 3D total variation,ANL3DTV)去噪模型,利用一种非局部3维全变分正则项来捕获图像块内和块间的相关性信息,同时引入一个自适应权重矩阵,根据每次迭代后去噪图像中残留噪声的特征,调整算法在不同颜色分量和不同图像块上的去噪强度。本文从数学上对ANL3DTV模型进行推导求解,分析该模型的收敛性,最后通过仿真去噪实验验证了算法的有效性。

1 原理与方法

1.1 非局部均值算法

(1)

(2)

1.2 全变分模型

全变分去噪模型(Rudin等,1992)可以表示为

(3)

(4)

(5)

1.3 非局部全变分模型

已知噪声图像Y∈RM×N,即Y是大小为M×N的实数矩阵,非局部全变分的去噪模型可以表示(Gilboa和Osher,2009;Lou等,2010)为

(6)

(7)

(8)

(9)

式中,xi和xj分别表示X的第i个和第j个像素值,Ω={1,2,…,M}×{1,2,…,N}。

2 本文去噪算法

2.1 去噪模型

ANL3DTV算法的主要思想是通过计算彩色图像块内的局部梯度和图像块间的非局部梯度,并利用不同图像块和颜色分量上的噪声强度差异,最终实现自适应去噪。ANL3DTV去噪算法流程如图1所示,具体如下:

1)将给定的噪声图像Y分成K个相互重叠的图像块,每个图像块大小为p×p×3,然后依次以每个图像块为中心图像块,在对应的搜索窗内找到前m个与中心图像块最相似的邻域图像块,并构成图像块组。

2)将图像块组中的每个彩色图像块拉直成长度为3p2列向量,得到一个2维矩阵Yi∈R3p2×m。

3)对Yi进行去噪,得到去噪后的2维矩阵Xi∈R3p2×m。

4)将所有去噪后的Xi返回至原始位置,并对重叠区域进行加权平均,得到最终的去噪图像X。

步骤3)中,对Yi进行去噪的ANL3DTV算法的去噪模型为

(10)

wij=[wij,RIp2×1;wij,GIp2×1;wij,BIp2×1]

(11)

(12)

(13)

式中,yij=[yij,R,yij,G,yij,B]、xij=[xij,R,xij,G,xij,B]和wij分别为Yi、Xi和Wi的第j个列向量,yij,c,xij,c,Ip2×1∈Rp2×1,Ip2×1是一个全1列向量,[σR,σG,σB]是彩色图像的3个颜色分量上的噪声强度,这里为噪声标准差。

图1 ANL3DTV去噪算法流程图Fig.1 The flowchart of color image denoising using ANL3DTV

2.2 模型求解

为了求解ANL3DTV去噪模型,引入辅助变量H,得到式(10)的增广拉格朗日函数,具体为

(14)

式中

(15)

式中,Φ是增广拉格朗日乘子,β是惩罚因子。然后,利用交替方向乘子法求解式(12),即先优化一个变量,同时固定其他变量,交替进行,直至收敛。初始化相关变量,第t+1次迭代计算过程如下:

1)求解Xi。

关于Xi的优化模型为

(16)

(17)

2)求解H。

关于H的优化模型为

(18)

计算为

(19)

式中,Sα(b)=sign(b)·max(|b|-α,0),sign为符号函数。

3)求解Φ。

(20)

4)求解β。

β(t+1)=τβ(t)

(21)

2.3 收敛性分析

(22)

证明 首先,利用式(18)和式(19)得到

(23)

所以,{Φ(t)}是有上界的,从而可以推出{Φ(t+1)-Φ(t)}也是有上界的。

因为Θ(t+1)是函数(Θ;Φ(t),β(t))的全局最优解,所以有(Θ(t+1);Φ(t),β(t))≤(Θ(t);Φ(t),β(t))。

令a为序列{Φ(t+1)-Φ(t)}的上界,可得

(24)

然后,利用强凸函数的定义和性质(Boyd和Vandenberghe,2013)可得,存在ai>0(i=1,2)使以下不等式成立。即

(25)

由于(Θ;Φ,β)≥0,并且序列{Φ(t)}是有上界的,可得

(26)

(27)

3 实验结果与分析

3.1 实验设置

为了测试ANL3DTV算法的去噪效果,与TV、TDV、NLTV、RNLTV、NLGRTV和HNHOTV-OGS等算法进行对比。软件平台采用MATLAB R2016b,硬件平台采用Intel Core (TM) i7-7700U CPU处理器,16 GB内存,Windows 10操作系统。测试数据为从TID2013(tampere image database 2013)数据库(Ponomarenko等,2013)和一些常用的测试图像(例如Lena、Peppers、Baboon等)中随机选取的20幅尺寸为341 × 256像素和256 × 256像素的彩色图像,并用两种方式给这些图像添加高斯噪声。第1种噪声情况是给整幅图像添加同一强度的高斯噪声,σ为10、30和50;第2种噪声情况是给图像的3个颜色通道添加不一样强度的高斯噪声,[σR,σG,σB]为[5, 15, 10]、[40, 50, 30]、[5, 40, 15]和[40, 5, 25]。定量评价指标采用峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性(structural similarity,SSIM)。ANL3DTV算法中图像块边长p为7,相似块数量m为60,参数τ为1.5。对比算法按相关文献进行参数设置。

3.2 实验结果

表1列出了第1种噪声情况下ANL3DTV和对比算法在测试数据集上的平均PSNR和平均SSIM结果。由表1可知,当σ为10、30和50时,ANL3DTV的PSNR分别为32.33 dB、26.92 dB和24.57 dB,SSIM分别为92.99%、81.68%和73.57%。ANL3DTV在3种噪声强度下的平均PSNR和平均SSIM分别比TV高出1.22 dB和3.45%,比TDV高出0.40 dB和0.92%,比NLTV高出0.33 dB和0.95%,比RNLTV高出0.61 dB和1.14%,比NLGRTV高出1.06 dB和2.39%,比HNHOTV-OGS高出0.16 dB和0.12%。

表1 第1种噪声情况下的平均PSNR和平均SSIMTable 1 The average PSNR and average SSIM in the first noise case

表2列出了第2种噪声情况下ANL3DTV和对比算法在测试数据集上的平均PSNR和平均SSIM结果。由表2可知,当[σR,σG,σB]为[5, 15, 10]、[40, 50, 30]、[5, 40, 15]和[40, 5, 25]时,ANL3DTV的PSNR结果分别为31.62 dB、24.49 dB、27.47 dB和26.81 dB,SSIM分别为92.88%、73.02%、85.94% 和81.00%。ANL3DTVw为式(10)中的保真项内去掉权重矩阵Wi时得到的算法。可以看出,添加权重矩阵Wi后,ANL3DTV的平均PSNR和平均SSIM分别比ANL3DTVw提升了0.89 dB和3.01%。ANL3DTV在4种噪声情况下的平均PSNR和平均SSIM结果分别比TV高出1.32 dB和3.02%,比TDV高出1.76 dB和6.13%,比NLTV高出0.29 dB和0.19%,比HNHOTV-OGS高出0.55 dB和0.71%。

表2 第2种噪声情况下的平均PSNR和平均SSIMTable 2 The average PSNR and average SSIM in the second noise case

图2展示了噪声强度为σ=50时ANL3DTV与其他对比算法的去噪视觉效果。从放大的细节图可以看出,TV、TDV、RNLTV和NLGRTV过度平滑了图像的结构,尤其是NLGRTV,几乎完全丢失了百叶窗的结构信息。虽然NLTV和HNHOTV-OGS保留了相对较多的细节信息,但是NLTV引入了大量明显的伪影,HNHOTV-OGS也受到强噪声的影响,误将噪声当做有用的边缘信息保留了下来。相比之下,ANL3DTV仅丢失了很少的细节,而且更有效地滤除了噪声。

图2 噪声强度σ=50时的去噪图像Fig.2 The denoised results when σ=50((a)clean image;(b) TV;(c) TDV;(d) HNHOTV-OGS;(e) RNLTV;(f) NLGRTV;(g) NLTV;(h) ANL3DTV(ours))

图3和图4分别展示了噪声强度[σR,σG,σB]为[5, 15, 10]和[40, 5, 25]时ANL3DTV与对比算法的去噪视觉效果。可以看出,TV、TDV、HNHOTV-OGS和NLTV丢失了较多的图像细节。例如水面上的波纹、白墙上的文字和屋顶的瓦片等。在图4(a)中,可以看到黄色墙面上有3条很细的电线,在ANL3DTV的去噪图像中还能隐约看出,而在对比算法的去噪图像中均完全消失。

图3 噪声强度[σR, σG, σB]=[5, 15, 10]时的去噪图像Fig.3 The denoised results when [σR, σG, σB]=[5, 15, 10]((a) clean image;(b) TV;(c) TDV;(d) HNHOTV-OGS;(e) NLTV;(f) ANL3DTV(ours))

图4 噪声强度[σR, σG, σB]=[40, 5, 25]时的去噪图像Fig.4 The denoised results when [σR, σG, σB]=[40, 5, 25]((a) clean image;(b) TV;(c) TDV;(d) HNHOTV-OGS;(e) NLTV;(f) ANL3DTV(ours))

图5 加噪前后图像的梯度直方图Fig.5 Gradient histograms of clean and noisy images((a) σ= 10;(b) [σR, σG, σB]=[5, 40, 15])

图6显示了噪声强度σ=10和σ=[5, 40, 15]时NLTV、HNHOTV-OGS和ANL3DTV等3种算法获得的去噪图像的梯度分布图。可以看出,随着噪声强度σ的增加,NLTV和HNHOTV-OGS过度估计接近零梯度的像素数目,丢失了大量边缘信息。尤其在[σR,σG,σB]=[5, 40, 15]时,NLTV和HNHOTV-OGS的梯度分布曲线明显向左偏移。相比之下,ANL3DTV在两种噪声强度下的梯度分布都更接近未加噪图像。实验表明,ANL3DTV在保持图像纹理方面表现更佳,并且对噪声更鲁棒。

图6 去噪图像的梯度直方图Fig.6 Gradient histograms of denoised images((a) σ=10;(b) [σR, σG, σB]=[5, 40, 15])

3.3 模型分析

ANL3DTV中需要调试的参数为正则化参数λ和惩罚因子β。图7显示了噪声强度σ= 50时不同参数值对去噪后的PSNR和SSIM的影响。由图7可知,当λ∈(0.07, 0.1],β∈(0.07, 0.1]时,ANL3DTV得到最优的PSNR和SSIM值。对于其他噪声强度,使用类似方法选择得到参数设置。在第1种噪声情况下,当σ为10、30和50时,λ的取值范围分别为(0.01, 0.07]、(0.04, 0.1]和(0.07, 0.1],β的取值范围分别为(0.5, 1]、(0.07, 0.1]和(0.07, 0.1]。在第2种噪声情况下,当[σR,σG,σB]为[5, 15, 10]、[40, 50, 30]、[5, 40, 15]和[40, 5, 25]时,λ的取值范围分别为(0.01, 0.07]、(0.001, 0.007]、(0.004, 0.007]和(0.007, 0.01],β的取值范围分别为(0.01, 0.04]、(0.07, 0.1]、(0.04, 0.1]和(0.04, 0.1]。

图7 不同参数对ANL3DTV的PSNR和SSIM值的影响Fig.7 PSNR and SSIM results of ANL3DTV with different parameters((a) λ;(b) β)

图8展示了噪声强度σ=50时,ANL3DTV的PSNR随迭代次数t增多的变化曲线。可以看出,当t>40时,PSNR趋于稳定。实验结果表明,ANL3DTV具有良好的收敛性。

图8 ANL3DTV的PSNR随迭代次数t增加的变化情况Fig.8 PSNR of ANL3DTV versus iteration number t

ANL3DTV和对比算法在341×256像素图像上的平均运行时间如表3所示。可以看出,TV所需时间最短,RNLTV和ANL3DTV所需时间相对较长。主要是因为ANL3DTV需要为每一个图像块搜索相应的非局部相似图像块,并计算3维全变分,而TV只需处理像素的局部梯度信息。

4 结 论

针对现有许多彩色图像去噪算法未充分利用彩色图像的非局部和局部相似性信息,并且忽略真实噪声在不同图像块和颜色分量间的分布差异,提出了一种自适应非局部3维全变分(ANL3DTV)去噪算法。ANL3DTV利用一个非局部3维全变分正则项捕获彩色图像块内和块间的梯度信息,同时引入一个自适应权重矩阵,可以根据噪声强度的变化来调节算法在不同图像块和不同颜色分量上的去噪强度。实验从定量评价和视觉效果两个方面比较ANL3DTV与6个基于全变分的算法在不同高斯噪声强度下的去噪性能。结果表明,相较于对比算法,ANL3DTV在PSNR和SSIM指标上分别增加了0.16-1.76 dB和0.12%-6.13%。同时,ANL3DTV提升了去噪视觉效果,对噪声变化具有更强的鲁棒性。

表3 不同算法的运行时间Table 3 The run time of different methods

由于ANL3DTV在搜索相似性图像块时耗费时间相对较长,因此不利于算法拓展至实时应用。另外,虽然ANL3DTV在去除高斯噪声上取得了令人满意的结果,但对于非高斯噪声的处理存在局限性。在后续工作中,针对彩色图像混合噪声的分布特点,将考虑彩色图像空间的几何结构特征,结合一些较先进的图像处理技术,对相似性测量方式和去噪模型进行优化,进一步提升算法的综合性能。

猜你喜欢

彩色图像相似性梯度
一类上三角算子矩阵的相似性与酉相似性
一个改进的WYL型三项共轭梯度法
浅析当代中西方绘画的相似性
一种自适应Dai-Liao共轭梯度法
基于FPGA的实时彩色图像边缘检测
一类扭积形式的梯度近Ricci孤立子
基于最大加权投影求解的彩色图像灰度化对比度保留算法
低渗透黏土中氯离子弥散作用离心模拟相似性
基于颜色恒常性的彩色图像分割方法
地温梯度判定地热异常的探讨