一种基于K-SVD字典的图像修复方法与流程

文档序号:14715762发布日期:2018-06-16 01:18阅读:2134来源:国知局
一种基于K-SVD字典的图像修复方法与流程

本发明属于图像修复领域,特别涉及一种基于K-SVD字典的图像修复方法。



背景技术:

随着计算机和多媒体技术的不断发展,以图像为主的信息成为信息交换的主流媒体,极大地影响了人民的生活方式。图像修复作为图像处理领域的重要研究分支,在医疗卫生、军事安全、公共管理等诸多领域有着广泛的应用。图像修复是指利用损坏图像中的存在的一些完好的信息,填补未知区域或者将图像中的多余物体进行去除,使修复后图像接近或达到原图像的视觉效果,保证图像信息依旧能够完整的表达出它蕴含的内容。修复局部受损的图像是利用图像的先验知识尽可能重建或恢复原始图像处理。传统的图像修复算法包括基于偏微分方程的修复算法(TV算法、BSCB算法和CCD算法等)和基于纹理信息的修复算法 (Criminisi算法)。近年来,稀疏表示收到越来越多的青睐,使其在图像修复技术的运用上受到了更多的关注。它利用信号的稀疏性将图像稀疏表示,后通过重构恢复出原图像。

传统的图像修复算法存在修复边缘模糊,修复效果差、图像细节部分还原度不高等。如何克服这些缺点进行算法改进是我们需要解决的问题。



技术实现要素:

本发明发明目的:图像信号是一种含有大量信号和丰富内容的二维信号,在运用稀疏表示进行图像修复的过程中,过完备字典很难表示图像中的各种复杂的特征,且可能与图像的整体结构不符。使用传统的K-SVD字典大多是从全局的角度出发的,用稀疏表示算法处理整幅图像。然后通过这个字典对图像中的所有小块进行稀疏表示。但是如果目前需要稀疏表示的图像含有丰富的纹理细节信息,那么仅适用单一字典无法满足多种图像小块的需求。

鉴于字典选择的重要性,本发明在传统的K-SVD算法的基础上进行了算法步骤的改进,首先考虑到图像块之间的相似性,将图像聚类,分为多个具有相似特性的区域,之后再对每个图像区域使用K-SVD图像修复算法,获得能够充分表达这类图像区域的过完备字典。根据字典得到稀疏表示系数,更新每个图像区域。迭代完成后,按照聚类时生成的索引放回每一个图像块,最终完成破碎图像的修复。

为了解决上述技术问题,本发明采用的技术方案是:一种基于 K-SVD字典的图像修复方法,按照如下步骤进行:(1)输入:待修复的图像X;(2)将待修复的图像X划分为像素均不重叠的多个图像小块,将每个图像小块的像素按照从左到右从上到下的顺序排成一列,将所有图像小块生成的列按顺序排好,形成索引矩阵; (3)将所有图像小块使用控制核回归权值的方法进行聚类,根据式得到划分好的K类划分好的不同子区域Xk;(4)使用K-SVD算法:

其中D(k)为与每一个子类相对应的字典,xk为属于第K类图像区域的图像小块,αk为这类图像小块的稀疏表示。在使用K-SVD方法的过程中,首先要赋予字典D(k)一个固定字典,字典的初始值使用过完备DCT字典,之后采用BP贪婪算法求解在该字典下的稀疏表示:

分别对上述步骤中得到的K类图像进行训练;(5)迭代更新:更新每一类的字典D(k),如果迭代次数小于设定的迭代数,那么返回步骤(4),否则停止迭代,得到最终适合第K类图像区域的字典Dk; (6)将字典Dk与其对应的稀疏表示系数相乘,得到第K类图像; (7)重复步骤(4)至步骤(6),直到所有类别的图像区域全部完成更新;(8)根据步骤二的索引矩阵位置将图像区域放回,得到最终修复的图像。

所述步骤(3)将控制核回归函数作为图像聚类的依据,根据每个像素点对应的引导控制权值特征向量,对图像进行聚类划分,将引导控制权值定义为:

其中i,j∈Ni为图像中的像素点,Ni为以像素点i为中心的局部邻域,pi和pj为像素点i和像素点j在图像中的位置,h是控制高斯核支集的全局平滑参数,Cj为对像素j的垂直梯度和水平梯度估计得到的对称梯度方差矩阵,结合了旋转算子、延伸算子和尺度算子,使得图像的结构能够和控制高斯核一致,

式中Uθj为旋转因子,用于将高斯函数与其边缘方向θj对齐,Λj表示延伸矩阵,γj表示尺度参数。

所述步骤(4)基于K-SVD字典的稀疏表示图像修复算法的目标函数为:

式中X0为重构图像,λ和μl为权重,l=1,2,...N。

本发明的有益效果在于:(1)针对传统的单一字典稀疏表示的缺点,采用控制核回归函数的方式对图像进行分割聚类,以多字典的形式共同表示出整幅图像。

(2)相比TV算法在修复图像块破损过程中容易出现视觉连通误差和平滑模糊方块的不足,采用基于稀疏表示改进K-SVD图像修复算法能够很好的克服这一缺点。

(3)针对Criminisi算法虽然能够较好的修复破损,但是在纹理信息进行延伸的过程中,图像结构方面会出现明显的错误的不足,采用改进K-SVD字典的图像修复算法能够很大程度上减少对图像结构的破坏。

(4)相比传统的K-SVD算法对图像细节部分处理不佳的缺点,本发明所提出的一种基于K-SVD字典的图像修复算法,在原有算法的基础上进行改进。将图像块之间的相似性作为理论依据,使用控制核回归的方法作为图像块聚类依据,对划分好的几类区域分别使用K-SVD字典进行训练,将训练后的字典与他们的稀疏系数相乘,修复图像中的破损区域。能够达到对图像细节修复较好的效果。

附图说明:

图1是添加噪声的各算法图像修复对比图,其中(a)表示原图、 (b)表示噪声图、(c)表示中值滤波算法、(d)表示TV算法、 (e)表示K-SVD字典、(f)本发明算法;

图2是块状破损的各算法图像修复对比图,其中(a)表示原图、(b)表示块状破损图像、(c)表示TV算法、(d)表示Criminisi 算法、(e)表示K-SVD算法、(f)本发明算法;

图3是存在划痕的各算法图像修复对比图,其中(a)原始图像、(b)表示存在划痕的图像、(c)表示TV算法、(d)表示 Criminisi算法、(e)表示K-SVD算法、(f)本发明算法。

具体实施方式

基于改进的K-SVD字典的图像修复算法,将利用控制核回归进行图像块聚类与传统的基于K-SVD字典的图像修复算法相结合,能够达到较好的图像修复效果。

下面采用MATLAB R2016b,处理器为i3,3.3GHzCPU环境下进行仿真并结合几个具体实施例和附图对本发明作进一步详细说明。

实施例1:

图1采用fruit图片进行仿真实验,将原清晰图片加入噪声密度为0.1的椒盐噪声,采用中值滤波算法、TV算法、K-SVD字典以及本发明所提出的改进K-SVD字典这四种算法对去噪结果进行对比实验。

从仿真结果来看,这四种图像修复方法均在一定程度上对噪声进行了有效的去除,基本上还原了图像的原貌,但是都无法完全达到完全还原原图的效果。从图1(c)中能够直观地看出中值滤波算法虽然整体效果良好,修复速度较快,但从左上角的局部提取图中可以看出其在去噪过程中损失了大量的细节,并不能达到很好的去噪效果。从图1(d)中可以看出TV算法修复后的图像仍然具有明显的噪声。如图1(e)传统的K-SVD算法进行图像修复时虽然会丢失部分的细节,但能达到对噪声较好的去除。而本发明所提出基于改进K-SVD字典的图像修复算法对图像的修复效果良好,既保证了图像的清晰度,又有效的去除了噪声,图像细节部分信息也保存的较为完好。

实施例2:

图2中针对块状破损的图像采用了TV算法,基于纹理信息的 Criminisi算法,K-SVD算法和本发明所提出的改进K-SVD算法对块状受损图片进行修复对比实验。

从图中的仿真结果来看,这四种图像修复方法都在一定程度上还原了图像的原貌,但是都无法达到完全还原成原图的效果。从图2(c)中可以看出TV算法虽然能在对破损位置上能够进行大致的修复,但由于破损位置的信息不足,在修复过程中容易出现视觉连通方面的误差,有时也会出现平滑模糊的方块。从图2(d)可以看出Criminisi算法在对较大面积破损区域的修复上,相比TV算法有较为明显的改善,其修复思路是在根据破损位置周边的纹理结构来进行修复,在向破损中心修复时,最佳图像块的选取会对图像修复有很大的影响。图2(e)的K-SVD算法的修复效果虽然在膝盖和发辫处仍有模糊,但对破损位置的修复能够满足要求,具有较好的表现。本发明所提出基于改进K-SVD字典的图像修复方法对图像细节处理较好,在细节处的修复结果与原图基本接近。

实施例3:

图3针对存在划痕的图片采用TV算法,Criminisi算法,传统 K-SVD算法和本发明提出的改进K-SVD算法对图像进行修复对比实验。

从仿真结果来看,这四种图像修复方法都在一定程度上还原了 图像的原貌。从图3(c)可以看出当破损较小的时候,TV算法通 过扩散的方式对划痕进行去除,但是由于信息不足,帽子上的划痕 并没有完全修复,且其他部分修复效果也不是很理想。而从图3(d) 中可以看出Criminisi算法通过对周围信息匹配,选取最优的图像 块进行修复,但是匹配无法保证图像的连续性,因此在图3(d) 中帽子细节处出现了断裂。传统的K-SVD算法如图3(e)所示, 在部分细节处仍会出现模糊。而本发明所提出的基于改进K-SVD 字典的图像修复算法在分类与训练过程中尽可能多的保留了原始 信息,模糊块更少,相较其他算法效果更好。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1