本发明涉及一种基于不同冗余字典的图像修补方法,属于图像复原技术领域。
背景技术:
图像修补技术有很多应用,常见的有去除掉照片上的刮痕、去掉图片中一些特定物体和照片中的文字等,其他的还有像珍贵的书画和文物作品的修补,可以看到,图像修补技术具有很高的实际意义。
图像修补问题研究至今已经取得了一定的进展,出现了很多的修补方法。典型的方法主要归纳为两类:第一类是基于偏微分方程(partialdifferentialequation,pde)和变分算法理论,这类方法的修补过程是从图像中已知的区域扩展到未知区域,也就是图像中缺失的部分。第二类方法则是基于样本纹理合成的技术,这类方法是从待修补区域边缘开始分割图像小块,从缺失图像的已知部分寻找和待处理的图像小块最匹配的图像小块,利用对应位置上的元素来进行图像修补。但是要注意的是,自然图像除了具有纹理层信息之外,还具有结构层信息,仅修补图像的纹理层并不能取得很好的修补效果,忽略了缺失区域的结构层。
公开号cn104680492a《基于样本结构一致性的图像修复方法》,该方法首先计算图像中缺失区域边缘上每一像素点的优先权函数值,选取其中具有最大优先权值的像素点,将包含该像素点的边缘小块作为待修复的目标块,从图像中已知区域中寻找和目标块最匹配的图像块,利用对应位置上的像素值来修补目标块上未知的像素点,接着更新填充像素的置信度。重复上述步骤直至图像中缺损区域被填补。但是该方法在修补大块缺失区域时,图像细节信息恢复效果不好,另外由于该方法的贪婪性,修补结果容易引入不相关的物体。
chan等人在论文“nontextureinpaintingbycurvature-drivendiffusions”中提出了基于曲率扩散(curvature-drivendiffusions,cdd)的非线性偏微分方程修补模型解决图像修补问题,同时可以解决线性断裂物体处恢复时出现的视觉不连通性的问题。该方法在处理较小的缺失区域时,可以很好的恢复结构层信息,比如边缘部分。但是在处理较大区域时效果不是很好,容易引入模糊。
chen等人在论文“sketch-guidedtexture-basedimageinpainting”中,采用对图像缺失位置的结构信息和纹理信息分别进行修补,其中草图模型(sketchmodel)用来重构缺失图像的结构信息,然后再采用基于图像块的纹理合成方法去合成图像中缺失的区域。基于样例的图像修补算法可以处理大块的缺失区域,可以更好的恢复待修补区域的纹理信息,但是该修补算法的贪婪性,在处理过程中可能会引入不相关的物体。
综上,现有的图像修补方法,存在的诸多局限性主要表现在:(1)第一类基于偏微分方程和变分算法理论的修复方法可以很好的恢复较小缺失区域的结构层信息,但在处理较大缺失区域的时候容易引起模糊。(2)第二类基于样本纹理合成的技术可以处理较大块的缺失区域,恢复待修补区域的纹理信息,但是该修补算法的贪婪性,在处理过程中可能会引入不相关的物体。
技术实现要素:
发明目的:针对现有技术中存在的问题,本发明提供一种基于不同冗余字典的图像修补方法,方法首先利用离散余弦变换获得冗余dct字典,利用k-svd方法训练获得全局字典及自适应字典;然后基于上述三种不同的冗余字典分别稀疏表示待处理图像;最终图像中缺损的部分就可以由冗余字典和更新得到的稀疏系数表示出来,实现图像修补。
技术方案:一种基于不同冗余字典的图像修补方法,包括如下步骤:
步骤1,对于缺损图像,利用如下退化模型表示:
y=hx+η
其中,x表示原始的清晰图像,y则表示部分内容缺失的待修补图像,η是指图像退化过程中可能引入的加性噪声,一般是指加性的高斯噪声,h指图像缺失问题中的退化算子。
步骤2,将待处理的图片定义为
步骤3,训练冗余字典,包括dct字典,全局训练字典和自适应字典三种,字典为
步骤4,结合退化模型,计算各图像块yk基于字典d上的稀疏表示系数αk。
步骤5,利用求得的稀疏系数αk重建各图像块,记为xk=dαk,依次重建所有的图像块,在重叠区域作平均处理,获得最终修补后的图像x。
作为本发明的一种优选方案,步骤3所述冗余字典的训练。其中,冗余的dct字典是通过离散余弦变换得到的,而全局训练字典和自适应字典是利用k-svd方法从训练样本中训练得到的。
k-svd训练方法的目标函数为:
其中
当训练全局字典时,训练样本集是指从大量清晰的自然图像中获得的图像块;当训练自适应字典时,训练样本是从待处理的图像中获得。k-svd训练方法包括稀疏编码和字典更新两个阶段,首先根据已知的字典计算训练样本集中各图像小块在字典上的稀疏系数αk,然后利用已知的字典和系数集α逐列更新字典。设定字典更新的次数或者重构图像块和训练图像块间的残差作为停止条件,最终训练得到冗余字典d。
作为本发明的一种优选方案,步骤4所述的计算各图像块在字典d上的稀疏表示系数αk。基于图像块yk的稀疏编码问题可以表示为:
其中,λ是正则化参数,p可以取0或者1,用以计算系数的稀疏度,在本文方法中取p=0,即计算系数中非零元素的个数。h代表图像退化的退化算子,退化算子在该修补模型中起着重要的作用。上述关于
作为本发明的一种优选方案,步骤5所述求解修补后图像。首先利用求得的系数重构图像小块,有
xk=dαk
依次重建所有的图像块,则修补后的图像x可以表示为
其中,α是指所有图像块在字典下的系数αk的集合,即α=[α1,α2,...,αn]。上述公式的含义是指把恢复后的各图像块放在原来的位置上,对于图像块间相互重叠的部分,做平均处理,这样可以减少图像块在各重叠区域的误差,获得更好的修补结果。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明利用离散余弦变换获得冗余的dct字典,或利用k-svd方法训练获得全局字典及自适应字典,然后基于上述三种不同的冗余字典稀疏的表示待处理图像,最终图像中缺损的部分就可以由冗余字典和更新到的稀疏系数表示出来。该方法充分利用了自然图像的稀疏性,并比较了不同字典下的修补结果,利用了自适应训练字典的高效性,实验结果证明了提出方法的有效性。
附图说明
图1为本发明实施例的基于不同冗余字典的图像修补方法的实施流程图;
图2是图像修补问题的示意。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,为本发明基于不同冗余字典的图像修补方法的实施流程图,具体步骤如下:
图像修补问题很多,比较典型的是对于一幅内容缺失的图像,根据图像中剩余的部分恢复出图像中缺失的部分,该问题可以形象的表示为图2所示。
其中,e是图像中残缺的部分,也就是待修补的部分,ec为图像中保留的部分。这一修补问题可以描述为根据ec恢复出e的过程。图2所示的退化过程可以用如下公式表示:
y=hx+η(1)
其中,x表示原始的清晰图像,y则表示部分内容缺失的待修补图像,η是指图像退化过程中可能引入的加性噪声,一般是指加性的高斯噪声。h指图像缺失问题中的退化算子,此时h为只包含0和1两种元素的掩码时,可以将图像中部分位置的像素值置0,造成图像部分内容缺失。
1,根据图像修补问题的退化模型公式(1),我们的目标是利用观测到的缺失图像y恢复出原始的清晰图像x。为了表述方便,这里将待处理的图像定义为
2,字典训练,包括冗余的dct字典、全局训练字典和自适应字典。其中,冗余的dct字典是通过离散余弦变换得到的,而全局训练字典和自适应字典是利用k-svd方法从训练样本中训练得到的。
k-svd训练方法的目标函数为:
其中
k-svd训练方法包括稀疏编码和字典更新两个阶段,首先根据初始字典计算训练样本集中各图像小块在字典上的稀疏系数αk,然后利用已知的字典和系数集α逐列更新字典中的原子。设定字典更新的次数或者重构图像块和训练图像块间的残差作为停止条件,最终训练得到冗余字典d。当训练全局字典时,训练样本集是从大量清晰的自然图像中获得的图像块,训练了超过100000幅8×8的图像小块,是由k-svd算法训练得到,迭代了180次,在每次的迭代中,采用omp算法求解稀疏系数,系数的稀疏度设为6。当训练自适应字典时,训练样本是从待处理的图像中获得的图像块,采用k-svd方法训练,迭代10次获得。
3,每一个图像块可以表示为yk=rky,其中
其中,λ是正则化参数,p可以取0或者1,用以约束系数的稀疏度,在本方法中取p=0,即计算系数中非零元素的个数。h代表图像退化的退化算子,退化算子在该修补模型中起着重要的作用。上述关于
4,计算得到图像块yk基于字典d的稀疏表示系数αk,则恢复后的每一个图像块可以记为:
xk=dαk(4)
5,依次重建所有的图像块,则恢复后的完整的图像x就可以表示为:
其中,α是指所有图像块在字典下的系数αk的集合,即α=[α1,α2,...,αn]。公式(5)的含义是指把恢复后的图像块放在原来的位置上,对于图像块间相互重叠的部分,做平均处理,这样可以减少图像块在各重叠区域的误差,获得更好的修补结果。