一种基于上下文特征空间约束的图像修复方法与流程

文档序号:15449360发布日期:2018-09-14 23:46阅读:180来源:国知局

本发明属于图像处理领域,尤其涉及一种面向大面积图像区域缺损的基于上下文特征空间约束的图像修复方法。



背景技术:

图像修复是指使用视觉上合理的内容填充缺损或遮挡图像区域的工作,被广泛应用于文物保护,电影特技,遮挡对象填充和图像/视频传输中的错误掩盖等应用场景,具有重要的应用价值,是计算机图形学和计算机视觉的研究热点。现有的图像修复算法根据待修复区域的大小和形状可大致分为两大类:基于信息扩散的方法和基于样例匹配的方法。

基于信息扩散的方法是根据缺损区域边缘处的信息向缺损区域内部平滑扩散图像内容,最终实现缺损区域填充的一类方法。这类方法主要针对线性结构或细长区域的修复,如对象线或边缘,常被形式化表示为偏微分方程求解的问题。但由于仅利用缺损区域的周围信息,这类方法在修复重复纹理丢失或较大区域缺损情况存在困难。基于样例匹配的方法是采用相似块匹配准则,逐块在待修复图像中搜索最匹配的图像块作为填充块,直到缺损区域全部填充的一类方法。这类方法主要针对已知数据中存在相似纹理模式的图像块,更关注修复时的结构扩散。但当图像区域存在大面积丢失,特别是需生成的内容在待修复图像中无法找到的情况,此时需填充许多未知的结构和纹理,这类方法的实现效果并不理想。

近年来,基于深度学习和场景理解的图像修复方法取得了一定的进展。2016年加州福尼亚大学伯克利分校的pathak等人[文献1]首次提出一种上下文编码器的模型,通过采用卷积神经网络的学习方式解决大面积图像块丢失的修复问题。该模型被训练用于提取待修复图像的语义特征并解码该特征用于缺损区域内容的预测。该方法在解码端使用两种损失函数保证生成内容的质量:1)重建损失约束生成内容的整体结构;2)竞争损失约束生成内容的真实性。[文献2]不仅使用竞争损失函数约束生成内容的真实性,而且针对修复后的整体图像,提出一个全局竞争损失函数保持生成内容和已知内容的连续性。[文献3]提出一种人脸语义解析的损失函数约束人脸填充问题中生成内容的人脸结构。上下文编码器和在此之上扩展工作的主要思路是对待修复图像进行特征提取,然后对提取的特征z进行解码生成预测内容,通过在图像空间设计损失函数约束生成内容的质量,隐式地构建图像上下文空间。该思路中提取的特征z为何以及如何表达丢失区域的上下文,是预测内容准确性的关键所在,而现有的工作缺乏对该特征分布的挖掘和学习,生成的图像容易出现语义不一致,人工效应明显等问题。

综上所述,基于信息扩散和基于样例匹配的方法利用图像的局部先验信息进行内容填充,仅适用于丢失区域较小或纹理模式可搜索到的场景,应用范围有限。而基于深度学习的图像修复方法未对缺损区域和待修复图像的上下文关系进行挖掘,生成内容的准确性欠佳。因此,为了实现大面积区域丢失的图像修复,迫切需要一种新的方法对缺损区域和待修复图像的上下文关系进行挖掘,实现对缺损区域特征的有效表达和内容的准确预测。

[文献1]d.pathak,p.j.donahue,t.darrellanda.a.efros,contextencoders:featurelearningbyinpainting,theieeeconferenceoncomputervisionandpatternrecognition,2016,pp.2536-2544.

[文献2]s.iizuka,e.simo-serra,andh.ishikawa,globallyandlocallyconsistentimagecompletion,inacmtransactionsongraphics,2017,36(4):pp.1-14.

[文献3]y.li,s.liu,j.yang,andm.-h.yang,generativefacecompletion,theieeeconferenceoncomputervisionandpatternrecognition,2017,pp.3911-3919.



技术实现要素:

本发明针对现有图像修复技术在处理大面积图像区域缺损问题上的不足,提供一种基于上下文特征空间约束的图像修复方法。

本发明所采用的技术方案是一种基于上下文特征空间约束的图像修复方法,包括网络模型训练部分和图像修复部分,

所述的网络模型训练部分,包括以下子步骤,

步骤1.1,训练数据集准备,包括将训练数据集中的图像进行尺度变换和随机裁剪成预设的分辨率,并掩盖中心的图像区域,作为缺损区域,余下残缺图像作为待修复图像,缺损区域的原始图像内容作为标注数据;

步骤1.2,构建网络模型并设定训练参数,所述网络模型包括缺损区域的特征编码网络、缺损区域的特征解码网络和待修复图像的特征编码网络;

步骤1.3,训练缺损区域的特征编码网络和特征解码网络,用于将缺损区域的图像内容输入特征编码网络提取特征表示向量,再将特征表示向量输入特征解码网络重建缺损区域的图像内容;

步骤1.4,当满足预设的相应迭代停止条件时,保存缺损区域的特征编码网络和特征解码网络,进入步骤1.5,否则返回步骤1.3继续下一次迭代训练;

步骤1.5,训练待修复图像的特征编码网络,包括采用已训练好的缺损图像的特征编码网络构建上下文特征空间,指导待修复图像的特征编码网络的训练;

步骤1.6,当满足预设的相应迭代停止条件时,保存待修复图像的特征编码网络,否则返回步骤1.5继续下一次迭代训练;

所述的图像修复部分,包括以下子步骤,

步骤2.1,图像修复数据准备,包括将修复对象的原始图像进行尺度变换,使缺损区域满足修复网络要求,并以缺损区域为中心,从变换后的原始图像裁剪相应的待修复图像;

步骤2.2,使用待修复图像的特征编码网络提取特征,包括将待修复图像输入待修复图像的特征编码网络进行特征提取;

步骤2.3,使用缺损区域的特征解码网络解码特征,包括将步骤2.2提取的特征向量输入缺损区域的特征解码网络进行解码;

步骤2.4,生成缺损区域的图像内容,包括根据步骤2.3所得解码结果,输出生成的缺损区域的图像内容;

步骤2.5,输出修复后的图像,包括将生成的缺损区域的图像内容填充到待修复图像中,得到的结果即为修复后的图像。

而且,步骤1.3中,训练缺损区域的特征编码网络和特征解码网络时,按极小化输出层误差的方式优化缺损区域的特征编码网络和解码网络中的参数,输出层误差定义如下,

设原始缺损区域图像内容为x1,重建的缺损区域图像内容为x2,d为判断输入的图像是否是真实图像的判别网络,则输出层的误差定义为,

其中,表示重建内容与标注数据间的重建损失,用于约束生成内容的整体结构;表示重建内容的竞争损失,用于约束重建内容的真实性,其中表示真实数据的概率密度;λrec和λa分别表示重建损失和竞争损失的误差权重。

而且,步骤1.5中,训练待修复图像的特征编码网络时,按最小化输出层误差的方法优化待修复图像的特征编码网络中的参数,

设使用已训练好的缺损图像的特征编码网络模型从缺损图像上提取的特征为z1,待修复图像的特征编码网络从与缺损图像对应的待修复图像上提取的特征为z2,待修复图像的特征编码网络从同一批次训练样本中其他待修复图像上提取的最佳特征为zb,则输出层的误差定义为,

其中,表示缺损图像与其对应的待修复图像间的特征差异,属于图像内的自相似损失;表示缺损图像与其对应的待修复图像间的特征差异,表示缺损图像与训练集中其他待修复图像间的特征差异,属于图像间的互不相似损失,λss和λmd分别表示图像内的自相似损失和图像间的互不相似损失的误差权重。

而且,从同一批次训练样本中其他待修复图像上提取最佳特征zb的实现包括以下子步骤,

步骤1.5.1,使用待修复图像的特征编码网络提取同一批次训练样本中所有待修复图像上的特征,记为特征集{z};

步骤1.5.2,使用缺损区域的特征编码网络从待修复图像对应的缺损区域图像内容提取特征,记为特征z1;

步骤1.5.3,将z1与特征集{z}中其他待修复图像上提取的特征依次进行比较,取特征差异最小者,得到最佳特征

本发明基于以下两点考虑:

1)描述缺损区域内容的最佳特征应来自于自身;

2)从待修复图像上提取的特征应是最接近从缺损区域内容上提取的特征。

本发明提出使用深度卷积神经网络进行特征提取和图像重建,并在高层语义特征层面提出了图像内的自相似损失和图像间的互不相似损失的两种损失函数,挖掘了待修复图像和对应缺损区域间的上下文关系,有效的从待修复图像上提取与对应缺损区域相近的特征,同时也避免了来自不同图像的特征干扰,提高了模型的鲁棒性,可以取得较好的图像修复效果,具有重要的市场价值。实验证明,本发明可以实现对图像中丢失25%以上面积的内容进行纹理和语义的修复。

附图说明

图1为本发明实施例方法实现流程图;

图2为本发明实施例的深度卷积网络结构示意图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。

为了解决图像中大面积缺损区域修复的问题,通过对待修复图像的学习来理解整张图像的内容并生成缺损区域的内容,可以有效生成较好的纹理且生成的内容具有一致的语义。本发明公开了一种基于上下文特征空间约束的图像修复方法,通过挖掘大面积缺损区域内容和待修复图像在上下文特征空间的关系来生成准确的图像修复结果。首先,采用深度卷积神经网络实现的编码器-解码器结构,对大面积缺损区域进行语义特征学习和区域重建。其次,利用所学到的语义特征指导待修复图像的编码,使缺损区域的特征和待修复图像的特征尽可能相近。最后,使用已训练好的缺损区域特征的解码器对待修复图像的特征进行解码,实现缺损区域的生成。

如图1所示,本发明实施例流程包含两个部分,网络模型训练部分为:训练数据集准备,网络模型的训练参数设定,缺损区域的特征编码网络和特征解码网络训练,当训练误差收敛后,分别保存缺损区域的特征编码网络和特征解码网络。训练好的缺损区域的特征编码网络模型指导待修复图像的特征编码网络训练,当训练误差收敛后,保存待修复图像的特征编码网络。

所属的图像修复部分:输入待修复图像,待修复图像的特征编码网络提取特征,得到特征向量,缺损区域的特征解码网络解码特征,得到生成的缺损区域图像内容,生成的缺损区域图像内容和待修复图像融合得到最终的修复图像。

网络模型训练部分的具体步骤如下:

步骤1.1:训练数据集准备。将训练数据集中的图像进行尺度变换和随机裁剪成128×128分辨率,并掩盖中心64×64的图像区域,作为缺损区域,余下残缺图像作为待修复图像缺损区域的原始图像内容作为标注数据。具体实施时,裁剪尺寸和网络模型结构可由用户进行相应预设。

步骤1.2:基于深度卷积神经网络构建网络模型并设定训练参数。具体包括设定网络模型中各层结构,卷积核尺寸、步长和边缘填充大小,网络模型中损失层对应的权重、各分支层的学习率、模型优化算法、批尺寸和网络模型参数的初始化方法。

如下表所示,设计网络模型包括三种网络类型:缺损区域的特征编码网络,缺损区域的特征解码网络和待修复图像的特征编码网络。在表中最后一列数据项,“输出尺寸”是该层网络输出的数据大小,采用三元数组表示,第一个数字代表特征图数量,第二三个数字代表特征图大小。具体实施时,训练参数可由用户进行相应预设,或者采用实验所得的经验值。

各网络类型的具体设定如下:

缺损区域的特征编码网络包括6层,其中第一层为输入层,第二层至第五层为隐藏层,第六层为输出层,各层结构如下:

第一层:输入层,输入步骤1.1训练数据集的标注数据,即原始缺损区域的图像内容。

第二层:隐藏层,包括一个卷积核数量为64、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第三层:隐藏层,包括一个卷积核数量为128、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第四次:隐藏层,包括一个卷积核数量为256、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第五层:隐藏层,包括一个卷积核数量为512、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第六层:输出层,包括一个卷积核数量为4000、核尺寸4×4、步长1和边缘填充0的卷积层,一个批归一化层和一个tanh激活函数层,输出从缺损区域提取的特征向量。

缺损区域的特征解码网络包括6层,其中第一层为输入层,第二层至第五层为隐藏层,第六层为输出层,各层结构如下:

第一层:输入层,输入缺损区域的特征编码网络提取的特征向量。

第二层:隐藏层,包括一个卷积核数量为512、核尺寸4×4、步长1和边缘填充0的转置卷积层,一个批归一化层和一个relu激活函数层。

第三层:隐藏层,包括一个卷积核数量为256、核尺寸4×4、步长2和边缘填充1的转置卷积层,一个批归一化层和一个relu激活函数层。

第四次:隐藏层,包括一个卷积核数量为128、核尺寸4×4、步长2和边缘填充1的转置卷积层,一个批归一化层和一个relu激活函数层。

第五层:隐藏层,包括一个卷积核数量为64、核尺寸4×4、步长2和边缘填充1的转置卷积层,一个批归一化层和一个relu激活函数层。

第六层:输出层,包括一个卷积核数量为3、核尺寸4×4、步长2和边缘填充1的转置卷积层和一个tanh激活函数层,输出生成的缺损区域图像内容。

待修复图像的特征编码网络包括7层,其中第一层为输入层,第二层至第六层为隐藏层,第七层为输出层,各层结构如下:

第一层:输入层,输入步骤1.1训练数据集的待修复图像和标注数据。

第二层:隐藏层,包括一个卷积核数量为64、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第三层:隐藏层,包括一个卷积核数量为64、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第四次:隐藏层,包括一个卷积核数量为128、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第五层:隐藏层,包括一个卷积核数量为256、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第六层:隐藏层,包括一个卷积核数量为512、核尺寸4×4、步长2和边缘填充1的卷积层,一个批归一化层和一个relu激活函数层。

第七层:输出层,包括一个卷积核数量为4000、核尺寸4×4、步长1和边缘填充0的卷积层,一个批归一化层和一个tanh激活函数层,输出从缺损区域提取的特征向量。

作为优选,三个网络模型中的所有权重项使用高斯分布算法进行初始化,训练过程使用优化算法rmsprop算法,各分支的学习率设置为0.001,批尺寸设置为64。

步骤1.3:训练缺损区域的特征编码网络和特征解码网络。将缺损区域的图像内容输入特征编码网络提取特征表示向量,再将特征表示向量输入解码网络重建缺损区域的图像内容。假设原始缺损区域图像内容为x1,重建的缺损区域图像内容为x2,d为判断输入的图像是否是真实图像的判别网络,则输出层的误差定义为:其中表示重建内容与标注数据间的重建损失,用于约束生成内容的整体结构;表示重建内容的竞争损失,用于约束重建内容的真实性,其中表示真实数据的概率密度;λrec和λa分别表示重建损失和竞争损失的误差权重。

本发明提出,从训练数据集中按批次取出缺损区域的图像内容,按极小化输出层误差的方法不断优化缺损区域的特征编码网络和解码网络中的参数,直至利用完训练数据集中所有数据,即训练完成一次,进入步骤1.4进行迭代判断。

作为优选,重建损失和竞争损失的误差权重λrec和λa分别设置为0.99和0.01。

步骤1.4:当满足预设的相应迭代停止条件时,保存缺损区域网络模型,包括缺损区域的特征编码网络和特征解码网络,进入步骤1.5,否则返回步骤1.3继续下一次迭代训练。利用步骤1.1构建的训练数据集对步骤1.2所构建的缺损区域的特征编码网络和特征解码网络进行训练,训练过程停止的条件可为两种,一种是输出层误差的值小于设定的阈值,另一种是迭代训练达到一定次数,分别保存训练好的特征编码网络模型和特征解码网络模型,特征编码网络模型将指导待修复图像的特征编码网络的训练,特征解码网络模型将用于图像修复阶段将特征进行重建,生成缺损区域的图像。

步骤1.5:训练待修复图像的特征编码网络。基于以下两点考虑:1)描述缺损区域内容的最佳特征应来自于自身;2)从待修复图像上提取的特征应是最接近从缺损区域内容上提取的特征,因此本发明采用已训练好的缺损图像的特征编码网络构建上下文特征空间,指导待修复图像的特征编码网络的训练。假设使用已训练好的缺损图像的特征编码网络模型从缺损图像上提取的特征为z1,待修复图像的特征编码网络从与缺损图像对应的待修复图像上提取的特征为z2,待修复图像的特征编码网络从同一批次训练样本中其他待修复图像上提取的最佳特征为zb,则输出层的误差定义为:其中表示缺损图像与其对应的待修复图像间的特征差异,属于图像内的自相似损失;该公式中前者表示缺损图像与其对应的待修复图像间的特征差异,后者表示缺损图像与训练集中其他待修复图像间的特征差异,属于图像间的互不相似损失。λss和λmd分别表示图像内的自相似损失和图像间的互不相似损失的误差权重。

本发明提出,从训练数据集中按批次取出待修复图像的图像内容,按最小化输出层误差的方法不断优化待修复图像的特征编码网络中的参数,直至利用完训练数据集中所有数据,即训练完成一次,然后进入步骤1.6进行迭代判断。

作为优选,图像内的自相似损失和图像间的互不相似损失的误差权重λss和λmd分别设置为0.99和0.01。

作为优选,从同一批次训练样本中其他待修复图像上提取最佳特征zb的具体实现包括以下子步骤:

步骤1.5.1:使用待修复图像的特征编码网络提取同一批次训练样本中所有待修复图像上的特征,记为特征集{z}。

步骤1.5.2:使用缺损区域的特征编码网络从待修复图像对应的缺损区域图像内容提取特征,记为特征z1。

步骤1.5.3:将z1与特征集{z}中其他待修复图像上提取的特征依次进行比较,取特征差异最小者,即最佳特征

步骤1.6:当满足预设的相应迭代停止条件时,保存待修复图像网络模型,即待修复图像的特征编码网络,结束网络模型训练部分的工作,否则返回步骤1.5继续下一次迭代训练。利用步骤1.1构建的训练数据集对步骤1.2所构建的待修复图像的特征编码网络进行训练,训练过程停止的条件可为两种,一种是输出层误差的值小于设定的阈值,另一种是迭代训练达到一定次数保存训练好的待修复图像的特征编码网络模型,用于图像修复阶段对待修复图像进行特征提取。

所述的图像修复部分,其具体实现包括以下子步骤:

步骤2.1:图像修复数据准备,包括将测试的图像(修复对象的原始图像)进行尺度变换,使缺损区域满足修复网络所要求64×64大小,即和网络模型训练部分的缺损区域尺寸相应;并以缺损区域为中心,将变换后的图像裁剪成128×128分辨率图像,作为待修复图像,即和网络模型训练部分的待修复图像尺寸相应。

步骤2.2:使用待修复图像的特征编码网络提取特征,包括将待修复图像输入待修复图像的特征编码网络进行特征提取。

步骤2.3:使用缺损区域的特征解码网络解码特征,包括将步骤2.2提取的特征向量输入缺损区域的特征解码网络进行解码。

步骤2.4:生成缺损区域的图像内容,包括经步骤2.3解码后,根据解码结果输出生成的缺损区域的图像内容。

步骤2.5:输出修复后的图像,包括将生成的缺损区域的图像内容填充到待修复图像中,得到的结果即为修复后的图像。

具体实施时,本领域技术人员可采用软件技术实现以上流程的自动运行。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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