一种基于Criminisi算法的图像修复方法与流程

文档序号:17731930发布日期:2019-05-22 02:54阅读:1063来源:国知局
一种基于Criminisi算法的图像修复方法与流程

本发明属于图像修复技术领域,特别是涉及一种基于criminisi算法的图像修复方法。



背景技术:

随着数字技术的不断发展和进步,数字图像技术在扫描仪、数码相机、数码摄像机、数字电视、以及可收发图像的移动电话等数字产品中得到广泛应用。但是,有很多因素会引起图像上局部信息的缺损:①对原本就有划痕或有破损的图片扫描后得到的图像;②为了某种特殊目的而移走数字图像上的目标物体或文字后留下的信息空白区;③在数字图像的获取、处理、压缩、传输和解压缩过程中,因信息丢失所留下的信息缺损区等。为了保证图像信息的完整性,需要对这些受损图像进行填充修复。所谓图像修复是对图像上信息缺损区域进行填充的过程,其目的是恢复有信息缺损的图像,并使观察者无法察觉图像曾经缺损或已被修复。

图像修复是一项古老的艺术。欧洲文艺复兴时期,为了恢复美术作品中丢失或被损坏的部分,保持作品的整体效果,开始进行对中世纪美术品的修复,主要是填补美术品上所出现的裂痕。随着美术博物馆的数字化,作品被扫描到电脑里,数字图像修复技术只需对这些数字图像使用计算机程序或者软件进行处理,通常只需要简单的人机交互工作。手工修复要直接在原始作品上修改;数字图像修补技术则带来了极大的自由,比如出现错误的时候或者是逐步增强修补效果的时候,不需要破坏珍贵的原画。毫无疑问,数字图像修复技术为修补古老的艺术作品提供了安全便捷的途径。

近些年来涌现了很多有效的图像修复的模型和方法,大致可以分为以下两类:一种是基于结构的图像修复技术;另一种是基于样本块匹配的纹理合成算法。基于结构的图像修复技术,是一种基于偏微分方程(partialdifferentialequation,pde)修复算法,核心思想是利用待修复区域的边缘信息来确定扩散信息和方向,从区域边界各向异性的向边界内扩散。随后有大量的科研人员对此修复技术进行了研究。bertalmio等提出首先将图像用作具有不同基本特征的两个函数的组合,其次提出了具有相应值填充算法的重构函数

shen等提出了总体变差(totalvariation,tv)模型;之后,他们对tv模型进行改进,提出了曲率推动扩散模型(curvaturedrivendiffusion,cdd)。基于结构的图像修复技术主要用于修复破损区域较小的图像,对较大的破损区域进行修复时此修复技术会产生模糊、断裂等现象,修复效果不太理想。另一种修复技术是基于样本块的纹理合成,此修复技术于2004年由criminisi等提出,它是一种基于样本块的目标去除图像修复技术,此技术经过多年的研究与探索已经成为修复大区域破损图像的经典算法。criminisi算法核心思想是寻找与图像中待修复的区域最相似的匹配块,然后将其复制到损坏区域以获得修复效果,它在确保修复大区域破损图像时,在一定程度上保存了图像中的样本和纹理信息,在视觉程度上具有良好的修复效果。近些年来,不计其数的科研人员对criminisi算法进行了研究与改进。



技术实现要素:

本发明的目的是提供一种基于criminisi算法的图像修复方法,解决现有技术中图像修复之后出现图像断裂,图像结构混乱等现象。

为了达到上述目的,本发明采用的技术方案是,一种基于criminisi算法的图像修复方法,具体按照以下步骤实施:

步骤1,获取要修复的图像i;

步骤2,识别通过步骤1所获取的图像i中的样本区域以及需要进行修复的破损区域;

步骤3,将步骤2所识别的破损区域划分成多个待修复块;

步骤4,计算通过步骤3所获得的多个待修复块的优先权,确定各个待修复块将进行修复的顺序;

步骤5,针对步骤4所确定的各个待修复块将进行修复的顺利,在步骤1获取的样本区域中依次寻找最佳修复块,并将对应的最佳修复块复制到对应的待修复块的位置进行修复,最后更新待修复块在修复后的置信度;

步骤6,待步骤5结束后,判断破损区域是否修复完成,如若未完成重复步骤2-步骤5,直至修复完成。

本发明的技术方案,还具有以下特点:

在所述步骤4中,优先权的计算公式为:

p(p)=c(p)*d(p)(1)

c(p)的计算方式为:

d(p)的计算方式为:

式中,ω是破损区域;φ是样本区域;表示破损区域和样本区域的边缘;p为待修复块的中心点;是以p为中心点的待修复块;np为p的法线方向;为p的等照度线方向;c(p)为p的置信度,表示待修复块中已知的信息;d(p)为p的数据项,决定图像修复时沿等照度线的方向进行;α是归一化参数。

在所述步骤4中,α=255。

在所述步骤5中,寻找最佳修复块具体如下进行:

步骤1中图像i的梯度为:

▽i=[ix,iy]t(4)

式中,ix表示对图像i在x方向求得的偏导数,iy表示对图像i在y方向求得的偏导数,t为矩阵的转置;

图像i的初始张量e0为:

式中,表示对图像i在x方向求两次偏导;表示对图像i在y方向求两次偏导;ixiy表示对图像i在x方向求偏导再在y方向上求偏导;u12=u21;·为笛卡尔内积;

对初始张量e0采用高斯卷积进行线性滤波,得到结构张量e:

式中,mρ是高斯核,是向量累积运算;

对结构张量e进行主轴变换得到:

式中,λ=diag(λ)是对角矩阵,它的对角元素为e的特征值λ1≥λ2;矩阵s的各行向量就是e的特征向量γ1,γ2,且γ1垂直于γ2;

结构张量的特征值是:

特征值γ1和γ2反应图像i中局部结构特征;

定义r为新变量:

定义寻找最佳修复块的准则:

式中r,g,b表示图像中的颜色值,p和q分别表示破损区域的点和样本区域的点,β为经验常数,β∈[180,255];

在所述步骤5中,更新待修复块在修复后的置信度的公式为:

在所述步骤6中,判断破损区域是否完成,通过评判准则q进行:

q=i*psnr′+j*ssim(12)

式中,i和j均表示权重系数,且i+j=1;psnr′表示归一化后的峰值信噪比;

式中,mse是均方误差,它的计算公式如下:

式中,m和n分别表示图像的行数和列数,i和j分别表示图像中某个具体像素点,i(i,j)和k(i,j)分别为原始图像和修复图像中的某个像素点;

式中,μx和μy分别表示图像x和图像y的均值也就是原始图像和修复图像;σx和σy分别表示图像x和图像y的协方差;c1,c2和c3均为常数,且c1=(k1*l)2,c2=(k2*l)2,c3=c2/2;l为像素值的动态范围,取255;k1=0.01,k2=0.03。

本发明的有益效果是:本发明的基于criminisi算法的图像修复方法,在现有criminisi算法的基础上进行优化,解决了现有技术中图像修复之后出现图像断裂、图像结构混乱的现象。

附图说明

图1是criminisi算法的原理图;

图2是criminisi算法的流程图;

图3是lena的原始图像和区域分散图;

图4是本发明的基于criminisi算法的图像修复方法和原始criminisi算法进行一种图像修复的对比图;

图5第一张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行填充的对比图;

图6为第二张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行填充的对比图;

图7为第三张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行填充的对比图;

图8为第四张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行填充的对比图;

图9为第一张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行目标移除的对比图;

图10为第二张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行目标移除的对比图。

具体实施方式

以下结合附图说明和具体实施例对本发明的技术方案作进一步地详细说明。

如图1和图2所示,本发明的一种基于criminisi算法的图像修复方法,具体按照以下步骤实施:

步骤1,获取要修复的图像i;

步骤2,识别通过步骤1所获取的图像i中的样本区域以及需要进行修复的破损区域;

其中,ω是破损区域,φ是样本区域,表示破损区域和样本区域的边缘;

步骤3,将步骤2所识别的破损区域划分成多个待修复块;

其中,p为待修复块的中心点,是以p为中心点的待修复块,np为p的法线方向,为p的等照度线方向;

步骤4,计算通过步骤3所获得的多个待修复块的优先权,确定各个待修复块将进行修复的顺序;

优先权的计算公式为:

p(p)=c(p)*d(p)(1)

c(p)的计算方式为:

d(p)的计算方式为:

式中,c(p)为p的置信度,表示待修复块中已知的信息;d(p)为p的数据项,决定图像修复时沿等照度线的方向进行;α是归一化参数,α=255;

步骤5,针对步骤4所确定的各个待修复块将进行修复的顺利,在步骤1获取的样本区域中依次寻找最佳修复块,并将对应的最佳修复块复制到对应的待修复块的位置进行修复,最后更新待修复块在修复后的置信度;

(a)寻找最佳修复块具体如下进行:

步骤1中图像i的梯度为:

▽i=[ix,iy]t(4)

式中,ix表示对图像i在x方向求得的偏导数,iy表示对图像i在y方向求得的偏导数,t为矩阵的转置;

图像i的初始张量e0为:

式中,表示对图像i在x方向求两次偏导;表示对图像i在y方向求两次偏导;ixiy表示对图像i在x方向求偏导再在y方向上求偏导;u12=u21;·为笛卡尔内积;e0是一个2×2的对称半正定矩阵;

由于e0容易受被噪声所污染,故而需对其每个通道进行滤波,来增强图像的鲁棒性;当采用类型不同的滤波器时,可得到不同类型的结构张量,其中线性结构张量(linearstructuretensor,lst)是最为经典的结构张量,它是对e0采用高斯卷积进行线性滤波得到的,即结构张量的定义为:

式中,mρ是高斯核,是向量累积运算;

计算单个像素点处的梯度向量可以得到各点处的结构强度和方向信息,但是不能充分展现图像的局部特征,通过结构张量e可获得较丰富的局部结构信息;经过对结构张量e进行主轴变换(principalaxistransformation)就可以得到信息:

式中,λ=diag(λ)是对角矩阵,它的对角元素为e的特征值λ1≥λ2;矩阵s的各行向量就是e的特征向量γ1,γ2,且γ1垂直于γ2;

结构张量的特征值是:

特征值γ1和γ2反应图像i中局部结构特征,结合图3,图3(a)为一张人体图像,图3(b)是图3(a)中的各个区域分布,图3(b),横坐标和纵坐标分别表示矩阵的行列式(det)和迹(trace),图中黑色方框表示平坦区域,绿色方框表示边缘区域,红色方框表示角点区域,具体分析如下:

(a)λ1≈λ2≈0,说明图像沿着水平梯度和垂直梯度灰度变化很小,是图像的平滑区域;

(b)λ1λ2≈0,说明水平方向的灰度变化较大,属于图像的边缘区域;

(c)λ1≈λ20,说明无论是水平方向还是垂直方向灰度变化都很大,属于图像的角点区域。

根据上述对结构张量的描述,根据特征值重新定义一个新的变量:

由上式可知,当λ1≈λ2≈0,r≈0时,说明像素点为平滑区域;λ1λ2≈0像素点为边缘区域;

原始搜索准则只考虑颜色信息的相似,现在将定义好的新的变量增加到搜索准则中。使得搜索最佳匹配块时既考虑颜色信息又考虑结构信息;

定义寻找最佳修复块的新的搜索准则为:

式中r,g,b表示图像中的颜色值,p和q分别表示破损区域的点和样本区域的点,β为经验常数,β∈[180,255];

(b)更新待修复块在修复后的置信度的公式为:

步骤6,待步骤5结束后,判断破损区域是否修复完成,如若未完成重复步骤2-步骤5,直至修复完成;

在原始criminisi算法中,修复块是固定的,大小为9*9,criminisi算法针对的是破损区域不同的图像,故而应在修复过程中寻找最合适大小的修复块,对于图像的修复效果的评价一般采用的是主观评价和客观评价。主观评价存在人为因素,每个人对修复效果的评价不同,没法客观说明修复效果的好坏;而客观评价主要有图像的峰值信噪比(peaksignaltonoiseratio,psnr),结构相似性(structuralsimilarityindex,ssim),以及信号噪声比(signaltonoiseratio,snr)。一般采用的都是psnr来评价图像的修复效果。峰值信噪比(peaksignal-to-noiseratio)是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程术语。由于许多信号都有非常宽的动态范围,峰值信噪比常用对数分贝单位来表示。峰值信噪比经常用作图像压缩等领域中信号重建质量的测量方法,它常简单地通过均方误差(mse)进行定义。psnr是衡量图像失真或是噪声水平的客观标准。2个图像之间psnr值越大,则越相似。

本发明的基于criminisi算法的图像修复方法使用不同的修复块来对图像进行修复,然后每次修复完成之后使用新的评价准则q=i*psnr′+j*ssim来评判图像的修复质量,最终寻找最大值的q和最佳修复块,得到最终的修复效果

判断破损区域是否完成,通过评判准则q进行:

q=i*psnr′+j*ssim(12)

式中,i和j均表示权重系数,且i+j=1;psnr′表示归一化后的峰值信噪比;

式中,mse是均方误差,它的计算公式如下:

式中,m和n分别表示图像的行数和列数,i和j分别表示图像中某个具体像素点,i(i,j)和k(i,j)分别为原始图像和修复图像中的某个像素点;

式中,μx和μy分别表示图像x和图像y的均值也就是原始图像和修复图像;σx和σy分别表示图像x和图像y的协方差;c1,c2和c3均为常数,且c1=(k1*l)2,c2=(k2*l)2,c3=c2/2;l为像素值的动态范围,l取值255;k1=0.01,k2=0.03。

criminisi算法的核心思想是:计算修复块的优先权,根据优先权决定修复区域,根据ssd准则寻找最佳匹配块并进行填充,最后更新修复块在修复后的置信度,直至待修复区域的修复结束。

采用原始criminisi算法在样本区域寻找最佳修复块,最佳匹配块的选择是根据像素平方差之和ssd(sumofsquareddifferences,ssd)准则,计算公式如下:

式中:

但是ssd准则只考虑了像素点的颜色信息,而在一般的图像中既有颜色信息又有其他信息,例如图像中结构信息,纹理信息,以及噪声等其他信息。而本发明的基于criminisi算法的图像修复方法在则ssd准则中加入结构张量,来考虑修复块的结构信息,从而改进图像修复结果中出现的结构不连续或者结构断裂等问题,通过构建新准则来更加准确的搜索最佳修复块,即公式(10)。结构张量的概念最初由zenzo和forstner先后提出,它最初主要应用于特征检测等方面,可以同时进行方向估计和图形结构分析,在计算机视觉和图像处理等方面有着极其重要的作用和广泛的应用。

图4(a)是需要进行修复的图像,图4(b)标记后的破损区域的图像,图4(c)是使用原始criminisi算法修复的图像,图4(d)是使用本发明的基于criminisi算法的图像修复方法。

图5-图8为四张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行填充的对比图,其中:(a)均表示原始图像;(b)均表示填充区域的图像;(c)均表示使用原始criminisi算法修复的图像;(d)均表示使用本发明的基于criminisi算法的图像修复方法的图像。

表1不同算法的图像修复评判

以上四个例子填充了纺织品,以说明我们的算法的有效性。本发明的基于criminisi算法的图像修复方法,使用标准准则峰值信噪比psnr和结构相似性ssim来执行客观图像评估,评估数据用表i中ours表述,以显示修复效果的具体结果。该这部分主要是用于修复织物来修复图像,它可以是图5和图6中使用原始criminisi算法的图像修复结果可以看出,纹理的小部分的图像不是很清晰,并且图像中存在模糊。利用所提出的算法,可以看出图像纹理和结构更清晰。在使用criminisi算法之后,在图7中,图像的小部分是无序的并且与原始图像中的纹理特征不一致。应用新算法后,修复后的图像纹理质量得到显着改善,没有明显的纹理特征失真。图8显示了在另一个纺织品示例中应用两种不同的修复方案的结果。通过使用criminisi算法和将结构张量信息添加到原始算法中,大大改进的颜色信息和纹理信息,我们可以看到图像中的颜色信息在修复后的图像中是非常不同的。表i显示了图像修复实施例的实验测试结果。psnr在所提出的算法中得到了显着改善,并且新算法与criminisi算法相比是最佳的。在图5、6、7、8中,与criminisi算法相比,所提出的算法分别使psnr增加了9.69%,2.05%,1.47%和3.10%。图5、6、7、8中的ssim也显着改善,而图6中的ssim略有下降,与criminisi算法相比,该算法将ssim降低了0.0009。虽然图6中的ssim略小,但目测观察到的恢复效果仍远远优于其他两种算法。从实验结果和客观评估的评估标准来看,我们提出的算法比以前的标准算法有一些优势。

图9和图10为两张图像的破损区域通过原始criminisi算法和本发明的基于criminisi算法的图像修复方法进行目标移除的对比图,其中:(a)均表示原始图像;(b)均表示填充区域的移除图像;(c)均表示使用原始criminisi算法移除的图像;(d)均表示使用本发明的基于criminisi算法的图像修复方法的移除的图像。

表2不同算法的图像修复评判

使用psnr和ssim判断图像恢复的效果。这部分实验主要是关于织物中目标的去除。实验结果可以在图9中观察到,criminisi修复了一小部分图像,存在失真效应。图10显示了删除图像中的少量对象。实验结果表明,采用criminisi算法,修复后的图像中有一小部分目标未被完全去除。然而,我们提出的算法已经成功地删除了图像中的绝大多数对象,具有更高的修复质量。通过实验数据分析了不同算法的结果。表2显示,与criminisi算法相比,算法(图9和图10)在psnr中分别提高了0.75%和7.08%。结构相似性也有所改善。图9在ssim中有53%的改进。图9和图10显示,与原始criminisi算法和仅增加结构张量的算法相比,所提出的算法在峰值信噪比和结构相似性方面得到了改进,可以清楚地目视观察改进。

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