改进SVM分类和稀疏表示的图像混合去噪算法
2019-07-09赵蒙娜李东兴赵宗超蔡亚南吴秀东
赵蒙娜,李东兴,赵宗超,蔡亚南,吴秀东
(山东理工大学 机械工程学院,山东 淄博 255000)
1 引 言
图像去噪是指减少数字图像中噪声的过程.去噪算法的主要任务是在抑制噪声的同时保留纹理和边缘细节[1].通常,图像去噪是基于领域进行分类的,如空间域方法,变换域方法以及基于字典学习的方法[2].空间域方法利用了大多数自然图像中存在的相关性,空间滤波器又被分为局部和非局部滤波器.一些流行的局部滤波算法,如高斯滤波,维纳滤波,双边滤波等已被开发用于降噪[3].然而,对于强噪声图像,相邻像素之间存在的相关性已经被损坏,局部滤波器不能很好地工作.而非局部滤波器利用的是自然图像的自相似性,所以非局部均值(NLM)及其改进已经被用于图像去噪[4].基于稀疏表示的图像通过从输入的噪声图像中学习大量图像片段来实现去噪,使得重构图像中的每个图像块可以表示为字典中几个原子的线性组合[5].
为了更方便快速地对信号进行采样和处理,根据图像的自相似的特性,对图像进行分块处理.具有相似结构的一类图像块能够用字典中的同一组原子进行表示,因此可以对具有相似特征的不同块集应用不同的变换.例如纹理修补可以使用某种纹理保留算法去噪,而平面修补可以使用基于稀疏的算法去噪[6].本文提出一种基于改进SVM分类与稀疏表示的混合去噪算法,首先将噪声图像划分为大量重叠斑块,然后使用SIFT从每个斑块中提取局部特征.利用改进的支持向量机将图像块分为纹理块和平面块两类.通过梯度直方图保存(GHP)对纹理块进行处理,并利用基于差异系数的稀疏度自适应SK-SVD去噪方法来稀疏重建平面块.最后,通过合并两个去噪过程的结果获得重建图像.
2 改进的SVM分类
基于支持向量机(SVM)分类和稀疏表示的混合图像去噪方法的框架如图1所示.在这种方法中,我们首先将输入噪声图像分解为大量重叠图像,重叠部分不超过25%,分块原理如图1所示.
图1 图像重叠分块的实现原理Fig.1 Implementation principle of image overlapping block
然后在每个图像中使用SIFT进行特征提取,提取局部特征,相似的特征被聚合成为特征向量,然后聚类.利用SVM将图像块分为纹理块和平面块两类.通过梯度直方图保存法对纹理块进行处理,并使用SK-SVD重建平面块.本文提出的去噪方案主要由四部分组成:块分类过程,使用梯度直方图保存法进行纹理保存,使用差异系数的稀疏度自适应SK-SVD进行平面块的去噪以及融合等.具体流程如图2所示.
2.1 块分类过程
图2 流程图Fig.2 Flow Chart
首先将噪声图像采用滑块处理分解成重叠的图像块,然后,使用SIFT来提取每个图像块的不变特征并结合FLANN(Fast Library for Approximate Nearest Neighbors)匹配算法实现快速准确地匹配.从每个图像块中提取的特征使用粒子群算法(PSO)进行聚类分成N组视觉词汇簇.最后,利用SVM分类器并根据预定义的阈值将图像块分为两类.图像块分类过程如下:
2.1.1 用SIFT提取特征
图像的特征高度独特且不受位置和比例的影响.特征提取方法有SIFT,SURF和Brisk等.SIFT能够从图像块中提取最大特征点,其效果优于其他特征提取方法[7],使用SIFT从图像补丁中提取特征和描述符.
SIFT提供了一种强大的机制来检测图像独特的不变特征,这些特征可以提供在不同图像之间稳健的匹配.SIFT由四个阶段组成,如尺度空间极值检测,关键点定位,定向计算和关键点描述符.
在计算的第一阶段,采用高斯差分(DOG)函数来寻找关键点.通过执行高斯函数G(x,y,σ)和输入图像I(x,y)之间的卷积来计算图像L(x,y,σ)的尺度空间.
L(x,y,σ)=G(x,y,σ)*I(x,y)
(1)
为了提高计算速度,用DOG来代替高斯,计算如下:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ)*I(x,y))=L(x,y,kσ)-L(x,y,σ)
(2)
通过消除第二阶段的低对比度关键点来定位特征点.在第三阶段,根据图像梯度在每个关键点位置来分配方位.最后阶段通过关键点测量局部图像梯度,并且根据关键点方向,旋转描述符的方向.
2.1.2 使用粒子群算法(PSO)进行聚类
在特征提取步骤中,对从每个图像块中提取的特征使用PSO分成N组视觉词汇簇.使用欧几里德距离度量将每个提取的特征映射到其最近的聚类中心.按照最邻近法则对数据进行划分,依照下述适应度的计算公式,计算每个粒子的适应度值,以更新个体极值.
f=1/jc
(3)
(4)
式中,jc为类内离散度之和,N为簇的个数,数据Pm属于聚类中心Cij代表的类.
2.2 基于粒子群聚类的SVM决策树分类
聚类后,对原始训练样本合并划分,形成两个子节点,对子节点的类别进行判断,直到叶子节点为止,使两个子类之间的可分性尽可能强,生成最优SVM决策树结构,最终依据该结构来训练子分类器[8].采用带有线性内核的支持向量机进行分类,利用核函数将非线性样本转化为高维特征空间,使非线性样本或数据的分离变得可能.SVM分类器定义了一个超平面,用于分离具有最大余量的两个类,并表示为:
K(x,y)=xTy+c
(5)
非线性SVM定义为:
(6)
式中,xi表示训练特征,而yi表示xi的标签.这些最靠近分离超平面的特征向量,称为支持向量.
SVM通过核函数K(x·xi)将样本x映射到某个高维空间H,然后在H中对原始问题进行线性划分.根据Mercer条件,此时相应的最优决策函数为:
(7)
通过分类将图像块分成平面块和纹理块分别对其进行去噪处理并融合.
3 去 噪
3.1 使用SK-SVD去除平面斑块
在基于组合的稀疏模型中,假设信号可以表示为一个字典的几个原子或列的线性组合.而基于差异系数的稀疏度自适应SK-SVD图像去噪算法[1],能够修正在稀疏字典去除平面斑块的过程中的假相似问题.根据文献[9]中自适应超完备字典的构建步骤,多次更新字典直到稀疏逼近误差呈指数衰减,经过几次的迭代更新,可训练出与原始图像f相适应的自适应稀疏字典.
计算向量a,b的向量差,分析其中大于上述限定值ε的个数来确定两向量之前的相似度,以此产生差异系数,差异系数计算公式如下:
δab=1-nab/n
(8)
nab表示向量差中大于限定值的个数,n表示两向量的维度.差异系数能够提现两向量之间的相关度,因此为解决因局部噪声点导致的相似度计算误差偏离的问题,将能体现整体相似性的差异系数引入相似度计算公式,原子相关性的计算公式为:
Gij=δijr(i-1),dj
(9)
将算法中每次迭代引入的固定值改为自适应地引入n列原子,n值将迭代中信号残差与字典原子的相关度均值作为阈值自适应产生.以此产生自适应的稀疏度,并将其引入SK-SVD算法中进行去噪.
3.2 使用梯度直方图保存对纹理修补程序进行去噪
(10)
这里,R(x)表示正则化项,其具体形式取决于图像先验,F(▽x)表示变换梯度图像,而▽是梯度算子.上式为GHP模型定义式,它与局部稀疏性和非局部自相似性(NSS)先验模型相结合如下:
(11)
3.3 融合
通过3.1节的方法获得平面斑块的去噪结果,通过3.2节的方法得到纹理斑块的去噪结果,根据图像块的地理位置坐标,判断拼接图像块是否为相邻图像块,利用基于曲线的匹配方法[15]来判断相邻图像块中是否存在有效重叠区域.若存在,用传统的相似匹配法进行拼接;若不存在,提取线特征进行匹配并判断是否有断裂,拼接处进行灰度融合.
4 实验结果和讨论
在三个256×256大小的标准图像上进行实验,实验结果如图3所示.此外,将该方法与一些流行的去噪算法进行了比较,其中包括二维维纳滤波、LPG-PCA以及K-SVD.峰值信噪比(PSNR)提供了各种去噪方法的定量结果.PSNR由式(12)给出,其中L代表最高像素值,MSE代表均方误差.
(12)
为进一步评估算法的准确度以及稳定性,对重构图像采用结构相似数SSIM(x,y)和特征相似数FSIM如式(13)(14)所示来进行评价.
(13)
(14)
式中,μx和μy表示x,y方向上的均值,σx和σy表示两方向上的标准差,c1和c2表示两方向上的中心点.
图3 去噪结果对比Fig.3 Comparison of denoising results
比较实验
根据表1中的峰值信噪比,计算三幅图像的平均峰值信噪比如图4所示,根据式(13)计算三幅图像的结构相似数,采取具有显著特征的形成表2.
表1 峰值信噪比比较
Table 1 Peak signal to noise ratio comparison
图像标准偏差含噪图像维纳滤波LPG-PCAK-SVD本文算法Barbara3018.6325.1227.8128.4229.465015.3423.1425.0426.1328.151008.3620.1821.7722.9824.17Lena3018.6627.5628.5629.6530.555015.2624.2525.3426.1228.431008.3321.9922.2623.2925.19Camer-aman3018.8325.6927.9229.1530.665015.2524.6825.7126.7427.631008.2921.2922.5323.6924.28
为更直观的显示本文算法的优越性,选取结构相似数SSIM与特征相似数FSIM两个评价指标做成折线图进行对比,如图5、图6所示.
图4 平均信噪比柱形图Fig.4 Average signal to noise ratio histogram
从实验结果可以看出K-SVD可以使纹理更加光滑,维纳滤波在平稳噪声的处理方面更加灵活,对局部去噪与特征保持有良好的效果.
表2 结构相似比比较
Table 2 Structural similarity comparison
图像维纳滤波LPG-PCAK-SVD本文算法Barbara0.70230.82030.88650.9132Lena0.71030.85350.89630.9243Cameraman0.70860.84920.90960.9369
从表3可以看出本文的运行时间因两次去噪偏长,但是结合检测结果,总体效率优于其他算法.本文算法的学习能力和纹理保持能力对伪影有较强的鲁棒性,其保留边缘和纹理成分的能力优于其他方法.K-SVD更适合于自然图像,并通过自适应字典得到更好的去噪结果.但K-SVD字典需要大量的计算,因此K-SVD不适用于大量的图像块.基于图像块的去噪方法的主要缺点是图像先验是强加于中间结果,而不是最终结果.通过引入MS-EPLL(多尺度前期预期补丁对数似然)方法克服,其中对从噪声图像中提取的不同尺度补丁施加了相同的先验.MS-EPLL可以获得更好的复杂图像的去噪结果,能够保留更多细节,并且在纹理和平面区域的去噪效率不高.在基于粒子群聚类的SVM决策树分类的混合去噪方案中,分析了基于差异系数的稀疏度自适应SK-SVD和纹理保持方法GHP的优点.
图5 SSIM折线图Fig.5 SSIMlinechart图6 FSIM折线图Fig.6 FSIMlinechart
表3 不同算法的平均运行时间耗费
Table 3 Average running time of different algorithms
图像维纳滤波LPG-PCAK-SVD本文算法时间(S)53.2978.45123.5680.96
5 结 论
本文介绍了基于改进SVM分类和稀疏表示的图像混合去噪算法,该方法主要基于SIFT特征提取,然后将图像分类为纹理块和平面块.通过GHP处理纹理块,并使用SK-SVD分析重建平面块.最后,通过合并两个去噪过程的结果获得重建图像,能够很好的消除高斯噪声并保留纹理信息.去噪实验通过与一些现有的去噪方法进行比较来证明本文算法的效率.从结果中可以看出,本文算法提供了更好的PSNR降噪性能以及结构相似性,并保留了图像的精细结构.