基于腐蚀处理和多参数因子的CDD修复算法 下载: 1097次
1 引言
数字图像修复技术是一种根据图像中已有的像素信息对受损区域进行修复的技术。近年来,数字图像修复技术得到了快速的发展[1-3],在古代字画的保护、影视特效的制作上具有重要的价值。基于偏微分方程的数字图像修复算法因其数值实现简单而得到快速的发展。典型的基于偏微分方程的图像修复算法有:总变分(TV)修复算法、曲率驱动扩散(CDD)修复算法等。
基于CDD模型的图像修复算法是Chan等[4]在TV模型的基础上提出来的。因为Chan等在CDD图像修复算法中引入了曲率的计算,从而避免了TV模型在修复大面积破损图像时视觉不连通的现象。CDD模型扩散的强度由曲率和梯度模值信息共同确定,由于其为高阶偏微分方程,故在修复破损面积较大的图像时迭代次数较多,修复所需的时间较长。2008年,赵颜伟等[5]提出一种基于CDD模型的快速图像修复算法,他们通过增加每次计算的像素数,将已知像素直接加权合成待修复像素,并通过待修复目标像素周围已知像素的梯度方差确定修复的次序,从而在一定程度上减少了修复所需的时间,但是该算法对大面积破损图像的修复效果较差。屈磊等[6]提出基于曲率驱动方向热流的图像修复算法,该算法可以较好地保持图像边缘信息,但是修复所需的时间较长。2009年,廉晓丽等[7]在CDD模型基础上对算法进行改进,去除梯度模值的计算,从而简化了计算公式,但是该算法对大面积破损图像的修复时间仍然较长,并且修复效果不理想。2010年,王卫卫等[8]提出非局部曲率驱动扩散的修复算法,将非局部导数算子引入曲率驱动扩散模型中,该算法对纹理图像具有较好的修复效果,但是该算法需要在全局搜索相似点,故增加了修复时间。谢爱敏等[9]将Split Bregman方法引入到CDD模型中,该方法虽然提高了修复质量,但是对大面积破损图像的修复时间比较长。2012年,印勇等[10]提出一种自适应的图像修复算法,即利用图像的边缘细节信息自动选取不同的修复方式,但是该方法对大面积破损图像的修复效果不佳。之后,印勇等[11]通过自适应系数确定不同的修复方法,在大曲率时使用CDD修复算法,在其余条件下使用TV修复算法。该方法在一定程度上提高了图像的修复质量,但是若使用该方法对大区域破损图像进行修复,其视觉效果不太理想。2014年,Jiang等[12]利用CDD修复模型对西藏壁画进行修复,并将CDD修复效果与TV修复效果作比较。Jiang等的工作给西藏壁画提供了一种新的视觉效果。2015年,Jin等[13]提出基于滤波的低秩Hankel矩阵图像修复算法,该算法对于去除较大的目标物具有较好的效果,但是大量的逆矩阵计算增加了程序的复杂度。Li等[14]提出基于多方向特征的彩色稀疏块图像修复方法,使用超小波变换估计受损图像的多方向特征。该方法使修复后的图像较好地保持结构与邻域的一致性、纹理的清晰度,但是对具有随机方向特征的不规则纹理破损图像的修复效果不理想。2015年,Hu等[15]利用CDD模型修复横向多镜头视频中的测井图像,结果表明CDD模型优于TV模型,且CDD模型具有较好的修复效果。王军锋等[16]通过改进CDD模型的形式,加快了修复的速度,但是其方法对大面积破损图像的修复上视觉效果不佳。吕慧显等[17]将CDD模型扩展到小波域图像的修复上,该方法对长距离的破损图像的修复具有较好地视觉效果,但是其实现过程十分复杂。Kawai等[18]提出基于抽象现实几何背景的图像修复方法,采用似是而非的背景填充从图像中去除实物留下的空白区域,使用局部平面相似背景的几何组合,提高了搜索效率。然而,Kawai等算法的修复质量易受掩模大小、图片分辨率等影响。2017年,窦立云等[19]提出一种基于双树小波的修复算法。首先,通过小波变换将受损图片分解为低频与高频两部分;之后,高频图像使用TV修复算法,低频图像使用CDD修复算法;最后,将修复好的两部分图像通过小波逆变化合成完整图像。该方法加快了修复的速度、提高了修复质量,但是其实现过程复杂。
本文在使用CDD算法修复受损图像前,先对受损图像的掩模进行腐蚀处理。之后,在不影响修复质量的基础上,对经典的CDD算法进行改进,在CDD模型扩散项中引入指数因子和自适应正提升参数。该算法可避免CDD模型在修复图像时扩散速度较慢的问题。通过MATLAB(R2017a版)软件进行仿真,结果表明,本文算法在图像修复上具有较好的修复效果,并极大地提高了修复效率。
2 CDD模型分析
2001年,Chan等[4]在TV模型的基础上引入曲率项,提出了CDD模型修复算法。该模型在修复大面积破损的图像时满足“视觉连通性”原则,CDD修复模型表示为
式中:
通常曲率
式中:
从(2)式可以看出,曲率的计算相对比较复杂,需要计算较多像素点处的梯度信息,因此迭代次数越多,图像修复所需的时间越长。对于扩散系数
3 改进CDD算法模型
基于CDD模型的修复算法对大面积破损图像的修复具有较好的视觉连通性。然而,在修复图像前,CDD算法需要先用掩模标注目标物。人为标注的掩模大小与实际的目标物大小往往会存在一定的误差。在标注掩模时,为了将目标物完全遮掩,人们往往会选择面积过大的掩模。可是,掩模面积过大必然会导致修复过程的难度增加,从而使图像修复所需的时间随之增加。为了减少掩模面积过大对CDD算法修复速度的影响,在使用CDD算法修复前先对掩模进行腐蚀处理。
3.1 腐蚀处理
腐蚀是图形形态学运算之一,腐蚀操作是将边界由外向内收缩的过程,从而消除需要处理的目标边缘点。腐蚀会缩减图像中的白色区域,腐蚀后,图像中白色区域的面积小于原图像的白色区域的面积。腐蚀运算类似于卷积操作,将结构元素在目标图像中从左到右、从上到下移动,如果结构元素的所有点都在目标图像内,则目标图像内该结构元素被保留,否则将被腐蚀掉。
如
图 1. 腐蚀运算。(a)目标图像;(b)腐蚀后图像
Fig. 1. Corrosion operation. (a) Target image; (b) corroded image
3.2 快速CDD修复模型
如果直接使用CDD修复模型对经过腐蚀处理后的图像进行修复,由于扩散项受曲率与梯度模值的共同影响,当曲率值小于梯度的模值、或者曲率值为零时,扩散系数都比较小,图像修复的速度仍然提升不大。为了进一步加快修复的速度,在CDD模型扩散项的曲率计算中引入自然对数指数因子,并在梯度模值的计算中引入线性指数因子。通过调节不同指数因子中的参数大小即可以调节扩散系数的大小,从而加快扩散速度。
式中:
此外,为了使修复后的图像更加自然,在曲率以及梯度模值的计算中均引入随着迭代次数变化的自适应正提升参数,即
式中:自参适应正提升参数
当破损区域处于图像边界处时,算法在计算边界受损点的梯度值时会缺少一个或者两个像素值。一般来讲,计算梯度值时需要受损点处上下左右4个点的像素值,因此传统的CDD算法无法修复边界破损点,视觉效果较差。本文针对此类破损,在上述算法中引入了边界处理条件,具体添加的公式根据所需修复的图像进行确定。当图像的4个边界均受损时,假设所读取的图像为
式中:
3.3 数值计算
记
式中:
(6)式中
式中:
式中:
扩散系数为
式中:
权系数为
从而得迭代公式为
4 仿真结果与分析
本文利用MATLAB(R2017a版)软件进行仿真,中央处理器为Intel(R) i7-4710MQ,主频为2.50 GHz、内存为8.00 GB、操作系统为Windows 10(64位)。实验主要针对图像中原有目标物的去除过程进行仿真,
图 2. 仿真结果一。(a) Jump;(b)掩模图;(c)本文算法;(d)CDD算法;(e)文献[ 7]算法;(f)文献[ 10]算法;(g)文献[ 11]算法;(h)文献[ 16]算法
Fig. 2. First simulation results. (a) Jump; (b) mask image; (c) proposed method; (d) CDD algorithm; (e) algorithm in Ref. [7]; (f) algorithm in Ref. [10]; (g) algorithm in Ref. [11]; (h) algorithm in Ref. [16]
表 1. 6种图像修复算法的迭代次数和时间(仿真结果一)
Table 1. Iteration times and time for six kinds of inpainting algorithms (first simulation results)
|
图 3. 仿真结果二。(a)原图;(b)掩模图;(c)本文算法;(d)CDD算法;(e)文献[ 7]算法;(f)文献[ 10]算法;(g)文献[ 11]算法;(h)文献[ 16]算法
Fig. 3. Second simulation results. (a) Original image; (b) mask image; (c) proposed method; (d) CDD algorithm; (e) algorithm in Ref. [7]; (f) algorithm in Ref. [10]; (g) algorithm in Ref. [11]; (h) algorithm in Ref. [16]
表 2. 6种图像修复算法的迭代次数和时间(仿真结果二)
Table 2. Iteration times and time for six kinds of inpainting algorithms(second simulation results)
|
图 4. 仿真结果三。(a)文字图;(b)掩模图;(c)本文算法;(d)CDD算法;(e)文献[ 7]算法;(f)文献[ 10]算法;(g)文献[ 11]算法;(h)文献[ 16]算法
Fig. 4. Third simulation results. (a) Text image; (b) mask image; (c) proposed method; (d) CDD algorithm; (e) algorithm in Ref. [7]; (f) algorithm in Ref. [10]; (g) algorithm in Ref. [11]; (h) algorithm in Ref. [16]
表 3. 6种图像修复算法的迭代次数和时间(仿真结果三)
Table 3. Iteration times and time for six kinds of inpainting algorithms (third simulation results)
|
图 5. 仿真结果四。(a) μ=1.7,τ=2.1;(b) μ=2.3,τ=1.9;(c) μ=2.2,τ=2.2;(d) μ=1.7,τ=2.1;(e) μ=2.3,τ=1.9;(f) μ=2.2,τ=2.2;(g) μ=1.7,τ=2.1;(h) μ=2.3,τ=1.9;(i) μ=2.2,τ=2.2
Fig. 5. Fourth simulation results. (a) μ=1.7, τ=2.1; (b) μ=2.3, τ=1.9; (c) μ=2.2, τ=2.2; (d) μ=1.7, τ=2.1; (e) μ=2.3, τ=1.9; (f) μ=2.2, τ=2.2; (g) μ=1.7, τ=2.1; (h) μ=2.3, τ=1.9; (i) μ=2.2, τ=2.2
表 4. 本文算法在其他参数值下的迭代次数和时间
Table 4. Iteration times and time of the proposed algorithm under other parameters
|
5 结论
针对CDD修复算法在图像修复上需要大量的迭代和花费时间较长等缺陷,对CDD算法进行了改进。首先对掩模进行适当的腐蚀处理,从而避免了掩模过大造成的时间消耗。其次在原算法扩散项的曲率和梯度模值中引入不同类型的指数因子和随着迭代次数变化的自适应正提升参数,通过调节参数值的大小使扩散速度在迭代初期较大、迭代后期较小,从而达到快速修复的目的。最后,对有边界受损的图像在修复时加入边界处理条件,避免了边界受损点无法修复的问题。仿真效果图以及仿真数据对比表明,本文算法在图像修复上,减少了迭代次数,缩短了图像修复所需时间,并且修复效果较好。但是,本文算法对于纹理丰富的图像修复效果不够自然,其原因是该算法通过周围像素的信息由外向内不断扩散,最终完成修复。后续工作将针对本文算法的缺陷进行完善。
[1] 曹伟, 王华彬, 石军, 等. 基于边缘检测加权引导滤波的指静脉图像增强算法[J]. 激光与光电子学进展, 2017, 54(2): 021007.
[2] 倪锦艳, 李庆武, 周亚琴, 等. 基于透射率优化和色温调节的水下图像复原[J]. 激光与光电子学进展, 2017, 54(1): 011001.
[3] 尹诗白, 王一斌, 李大鹏, 等. 两次引导滤波的显微视觉散焦图像快速盲复原[J]. 光学学报, 2017, 37(4): 0410002.
[4] Chan T F, Shen J H. Nontexture inpainting by curvature-driven diffusions[J]. Journal of Visual Communication and Image Representation, 2001, 12(4): 436-449.
[5] 赵颜伟, 李象霖. 基于CDD模型的快速图像修复算法[J]. 计算机仿真, 2008, 25(10): 223-227.
Zhao Y W, Li X L. A rapid image inpainting algorithm based on CDD model[J]. Computer Simulation, 2008, 25(10): 223-227.
[6] 屈磊, 韦穗, 梁栋, 等. 基于曲率驱动方向性热流的图像修复模型[J]. 计算机工程与应用, 2008, 44(14): 31-33, 38.
Qu L, Wei S, Liang D, et al. Inpainting model which based on curvature driven oriented heat-flows[J]. Computer Engineering and Applications, 2008, 44(14): 31-33, 38.
[7] 廉晓丽, 徐中宇, 冯丽丽, 等. 一种新的基于偏微分方程的图像修复[J]. 计算机工程, 2009, 35(6): 234-236.
Lian X L, Xu Z Y, Feng L L, et al. Novel image inpainting based on partial differential equation[J]. Computer Engineering, 2009, 35(6): 234-236.
[8] 王卫卫, 李莉, 韩雨. 基于非局部曲率驱动扩散的图像修复[J]. 光学学报, 2010, 30(6): 1634-1638.
[9] 谢爱敏, 周光华, 冯象初. 一种基于Split Bregman方法的快速曲率驱动图像修补算法[J]. 激光与光电子学进展, 2010, 47(8): 081002.
[10] 印勇, 胡琳昀, 曾强. 采用曲率驱动的自适应图像修复算法[J]. 光电子·激光, 2012, 23(12): 2426-2431.
Yin Y, Hu L Y, Zeng Q. Adaptive image inpainting algorithm based on curvature driving[J]. Journal of Optoelectronics·Laser, 2012, 23(12): 2426-2431.
[11] 印勇, 李丁, 胡琳昀. 采用CDD模型的自适应图像修复算法[J]. 重庆大学学报, 2013, 36(4): 80-86.
Yin Y, Li D, Hu L Y. Adaptive image inpainting algorithm based on CDD model[J]. Journal of Chongqing University, 2013, 36(4): 80-86.
[12] JiangJ, Wang ZX. The research of Tibet mural digital images inpainting using CDD model[C]∥2013 2nd International Symposium on Instrumentation and Measurement, Sensor Network and Automation (IMSNA), December 23-24, 2013, Toronto, ON, Canada. New York: IEEE, 2014: 805- 807.
[13] Jin K H, Ye J C. Annihilating filter-based low-rank Hankel matrix approach for image inpainting[J]. IEEE Transactions on Image Processing, 2015, 24(11): 3498-3511.
[14] Li Z D, He H J, Tai H M, et al. Color-direction patch-sparsity-based image inpainting using multidirection features[J]. IEEE Transactions on Image Processing, 2015, 24(3): 1138-1152.
[15] Hu HT, TongX. Application of curvature driven diffusion model in lateral multi-lens video logging image inpainting[C]∥2015 12th IEEE International Conference on Electronic Measurement & Instruments (ICEMI), July 16-18, 2015, Qingdao, China. New York: IEEE, 2015: 1167- 1171.
[16] 王军锋, 裴艳侠, 王涛. 图像修复的CDD模型新算法[J]. 计算机系统应用, 2016, 25(8): 135-138.
Wang J F, Pei Y X, Wang T. New algorithm of image inpainting curvature-driven diffusion model[J]. Computer Systems & Applications, 2016, 25(8): 135-138.
[17] 吕慧显, 赵志刚, 郭银景, 等. 基于三通道多小波紧标架的图像曲率修复模型[J]. 光电子·激光, 2016, 27(1): 77-86.
Lü H X, Zhao Z G, Guo Y J, et al. A new CDD model based on three channel multiwavelet tight frames[J]. Journal of Optoelectronics·Laser, 2016, 27(1): 77-86.
[18] Kawai N, Sato T, Yokoya N. Diminished reality based on image inpainting considering background geometry[J]. IEEE Transactions on Visualization and Computer Graphics, 2016, 22(3): 1236-1247.
[19] 窦立云, 徐丹, 李杰, 等. 基于双树复小波的图像修复[J]. 计算机科学, 2017, 44(S1): 179-182, 191.
Dou L Y, Xu D, Li J, et al. Image inpainting based on dual-tree complex wavelet transform[J]. Computer Science, 2017, 44(S1): 179-182, 191.
杜闪闪, 韩超. 基于腐蚀处理和多参数因子的CDD修复算法[J]. 激光与光电子学进展, 2019, 56(16): 161011. Shanshan Du, Chao Han. CDD Inpainting Algorithm Based on Corrosion Treatment and Multi-Parameter Factors[J]. Laser & Optoelectronics Progress, 2019, 56(16): 161011.