汤中民,唐贵进,刘小花,崔子冠,刘 峰
(南京邮电大学 江苏省图像处理与图像通信重点实验室,江苏 南京 210003)
随着压缩感知理论的完善和发展,稀疏表示和字典学习在不同领域得到了广泛应用,包括图像去噪[1-2]、人脸识别[3]、图像压缩[4]等。基于字典学习的方法已经成功应用在图像去噪领域,这些方法主要是利用过完备字典[5]的冗余性对图像进行稀疏表示,在保证图像结构性的同时达到去噪的目的。
在稀疏编码阶段使用的稀疏约束是任何字典学习算法的关键。但是K-SVD[6](K-singular value decomposition)算法的稀疏约束仅仅在稀疏编码阶段使用,却没有在字典更新阶段使用。为了克服这一缺点,顺序字典学习[7](sequential dictionary learning,SDL)和加权的顺序字典学习[8]相继提出。该方法在字典更新阶段使用稀疏约束,更能够有效地更新字典,因此提出使用加权的顺序字典学习替代K-SVD算法。在字典原子优化部分,考虑到在较高噪声的影响下,更新后的字典中通常含有许多噪声原子,然而直接阈值删除[9]或者替代[10]检测的噪声原子依然存在不足。因而根据原始含噪图像以及纹理图像(由MCA[11-12]图像分离得到)的复杂度,提出采用Bartlett检验法自适应地判断字典噪声原子,进而删除这些噪声原子以达到优化字典的目的。
(1)
K-SVD算法只是在稀疏编码阶段使用了稀疏约束,但是在字典更新阶段却没有使用。而使用加权的顺序字典更新来替代K-SVD字典更新,可以有效利用稀疏约束,得到更为近似表示原数据的学习字典。加权顺序字典更新模型[8]为:
在稀疏编码阶段,采用凸松弛的方法,然后保持字典固定并通过l1范数最小化方法来求解:
∀i∈[1,N]
(4)
(5)
(7)
在学习得到的字典中,有些字典原子几乎就是噪声,不包含有意义的内容。特别是在强噪声的情况下,字典中含有过多的噪声原子往往会严重影响去噪后的图像质量。Lee等[15]提出利用图像块特征结构性来描述原子特性。即在至少某一方向上,信号原子的相关性很强,而噪声原子的随机分布导致信号原子在各个方向上几乎没有相关性。文献[10]中使用Bartlett检验法从四个方向(水平、垂直、主对角线以及次对角线)检测原子的特征向量的方差vi是否相等或者至少有两个方向的原子方差不等,来判断原子是否为噪声原子。但是图像块的结构特征并不由上述四个方向的结构向量表征,因此提出新增一个方向的结构特征即螺旋形方向特征,并重新定义Bartlett检验统计量为:
(8)
为了检测字典中的噪声原子,需要对字典原子依次进行判断。若原子的Bartlett检验统计量满足T<χ2(ρ;4),则认为该原子是噪声原子。其中,χ2(ρ;4)表示自由度为4的chi-平方分布对应ρ百分点的值。
不同的噪声强度和原始图像的图像结构复杂度直接会影响对噪声原子检测的判断。因此考虑自适应选取ρ值来检测字典的噪声原子。
在学习字典中,通过字典原子的TV活跃性测度,来分离出卡通原子和纹理原子。卡通原子相对光滑,可以表示图像的卡通部分;而纹理原子中包含有图像块的纹理部分以及绝大部分噪声。因此,可以通过MCA分离出来的纹理图像的复杂度(用图像的方差来衡量)以及含噪图像的复杂度这两个变量,选取不同的ρ值来判断噪声原子。实验中,在不同强度噪声情况下测试了大量图像的数据,并对ρ最优拟合使得去噪效果达到最优。其中,拟合函数为:
(9)
其中,η为含噪图像复杂度;ζ为经过字典学习后分离出来的纹理图像复杂度。σ为噪声强度,参数设定如下:
(10)
实验中,使用K-SVD算法对噪声强度为40的Lena含噪图像进行处理,并且对比了硬阈值删除以及根据拟合函数自适应阈值删除字典噪声原子的纹理图像和去噪图像的质量和效果,如图1所示。
(a)原始去噪纹理图像及对应去噪图像(PSNR=28.458)
(b)硬阈值删除方法纹理图像及对应去噪图像(PSNR=28.857)
(c)自适应阈值删除方法纹理图像及对应去噪图像(PSNR=29.013) 图1 对比效果
由图1可知,图像(a)中引入了过多噪声,(b)中纹理的细节部分损失的比较严重,(c)则有效避免了上述两个问题。对比去噪图像PSNR可知,自适应字典原子检测在排除字典噪声原子干扰上具备一定的优势。
文中方法使用加权顺序字典更新来代替经典的K-SVD字典更新,并且在此基础上使用自适应阈值删除噪声原子优化字典原子,使得字典D更能近似表示原始图像。算法描述如下:
已知:训练数据Y∈m×N,初始化字典Dini,参数α和迭代次数J,令D=Dini
步骤1:加权顺序字典更新
(1)通过误差矩阵计算Q矩阵,并由式4得到稀疏系数矩阵A
(2)对于字典D的每一列k=1,2,…,K
以上步骤经过J次迭代得到学习字典D和稀疏矩阵A
步骤2:自适应字典原子优化
(3)计算原含噪图像的复杂度η和MCA分离后纹理图像的复杂度ζ
(4)根据式9自适应判断字典噪声原子并删除,得到优化字典D'
实验是在64位Windows7系统下利用MATLAB R2014a图形仿真软件进行的。为了验证文中算法在图像去噪性能上的有效性,选取5幅测试图像,包括像素为512×512的Lena、Barbara、Countryside和像素为256×256的House、Monarch灰度图像。并且对比了经典的K-SVD算法、SDL算法[7]和ProDL算法[16]的性能。图像中添加均值为0、标准差为σ的高斯白噪声。初始化字典选取DCT字典,大小为64×256,即字典原子数目K=256。图像块选取的大小为8×8,并且为了保证文中算法和对比算法比较的合理性,算法的迭代次数全部设置为J=10。式5中用于更新稀疏系数的参数设置为α=8。图像的客观质量评价标准为峰值信噪比(peak signal to noise ratio,PSNR)和平均结构相似度(mean structure similarity,MSSIM)。
表1给出了5幅图像在不同噪声强度下通过4种去噪方法的PSNR和MSSIM对比。可以看出,文中算法相对其他三种算法在PSNR和MSSIM上都具有很大的优势,特别是随着噪声强度的增加,算法的去噪效果更为突出。例如,Lena图像在σ=40时,文中算法的PSNR相比其他算法提高了0.6~0.7 dB,MSSIM也有一定提高;在σ=80时,文中算法的PSNR相比其他算法提高了约1.1 dB。
图2对比了House图像在σ=40时四种算法的去噪效果。可以看出,文中算法相对于其他三种算法能够去除大部分的噪声,并且在一定程度上保证了图像细节。
表1 去噪图像的PSNR(dB)和MSSIM对比
图2 四种算法的去噪结果(House含噪图像的噪声强度为40)
通过使用加权的顺序字典更新替代原始K-SVD字典更新,在字典更新的过程中,充分利用稀疏约束,有效更新了学习字典。在字典原子优化过程中,自适应选取阈值去除字典噪声原子,以最大化地减少较高强度噪声对去噪结果的影响。实验结果表明,与K-SVD算法、SDL算法以及ProDL算法相比,文中算法不仅在客观评价标准上明显提高,而且去噪后的图像边缘以及细节部分也有一定的优势。下一步,可以从优化文中算法的时间复杂度方面展开研究。