图像修复模型训练方法及系统及图像修复方法与流程

文档序号:22391019发布日期:2020-09-29 17:56阅读:165来源:国知局
图像修复模型训练方法及系统及图像修复方法与流程

本发明涉及图像修复处理领域,具体地,涉及一种基于先验知识的图像修复深度神经网络模型训练方法及系统及图像修复方法。



背景技术:

数字图像修复技术是一项利用图像中的已知信息来填补图像中缺损区域的技术,属于计算机视觉领域的图像复原问题。在物理工程领域,专家需要解析实验产生的图像,但由于光学器件的噪声和其他噪声的影响,造成图像中本应连续、均匀的目标造成断裂、减弱。如何尽可能地还原图像中丢失的信息是目前亟待解决的问题。

传统的图像修复方法主要分为两类,基于像素的图像修复和基于块状的图像修复。基于像素的图像修复技术的基本思想是从需要进行补绘区域的边界开始,由边界到中心逐渐填充待补绘区域中的所有像素,待填充像素由其邻域中所有已知像素的加权和得到;该类修复方法的代表性算法为基于快速行进方法(fastmarchingmethod)的补绘算法;当修复区域较小时,修复效果较好,但当修复区域较大时,会出现模糊效应。基于块状的图像修复技术的基本思路是通过搜索图像中与待填充补绘区域中一个小块相似的块状进行补全,其本质是用图像已知部分的信息来补全未知部分;该类方法的代表性算法为基于范例的(examplerbased)补绘算法。当图像颜色单调时,修复效果较好,当图像中颜色差异较大时,修复效果很差。

随着科技与深度学习的发展,基于深度学习的图像修复技术愈来愈成为当前主流的技术之一。基于深度学习的图像修复技术能够更好适应修复区域大小不统一的问题,也能更好的解决图像颜色差异带来的修复效果较差的问题。但是目前基于深度学习的图像修复方法修复效果无法控制,容易出现违背先验知识的修复效果。例如:附图1为原图,如果残缺区域存在于图1中间,那么效果图如附图2所示。目前的方法是无法基于先验知识的,人们即便知道原图图像在中间是存在凸出,但是修复的方法是基于残缺区域图像周围信息进行修复的,这时候是无法将这种先验知识考虑在内的,修复出来的图像如附图3所示,与先验知识不符。



技术实现要素:

为了解决传统方法和基于深度学习方法在图像修复技术中的各种缺陷,本发明提供了一种新型的、基于深度学习的、能够引入先验知识的图像修复方法,本方法能更有效的修复图像,满足人们对高质量图像的需求。本发明针对复杂情况下的图像,旨在解决传统图像修复技术在修复区域大、图像颜色差异大的情况下难以修复、修复效果不好,修复后的区域不自然等问题。

为实现上述目的,本发明提供了一种图像修复模型训练方法,所述方法包括:

对若干原图图像进行随机掩膜处理,生成训练数据集用于训练图像修复深度神经网络模型,训练数据集包括:原图图像数据、带有目标边缘信息的图像数据和只有掩膜的图像数据;

构建图像修复深度神经网络模型,图像修复深度神经网络模型包括:生成模型与判别模型,生成模型用于修复图像残缺区域或模糊区域,判别模型用于判断生成模型的修复结果是否符合预设要求;

利用训练数据集训练图像修复深度神经网络模型,得到训练后的图像修复深度神经网络模型。

其中,本发明的原理为:传统的方法大多数采用在图像上找相似区域进行填补的方法。很容易出现同一物体在残缺区域与背景区域不自然的情况。在图像颜色差异不大或残缺区域较小的情况下效果较好,但当颜色差异过大时,将图像中其他地方的像素引入残缺区域会导致残缺区域修复后与背景不匹配,造成修复效果不好。基于神经网络的方法,通过大量的学习,提取图像上物体的本质特征,基于特征进行修复,修复后的区域更加真实地表现物体的特征,效果更加自然且贴合实际。但目前基于深度学习的图像修复方法修复效果无法控制,容易出现违背先验知识的情况。

优选的,随机掩膜的生成方式具体包括:

随机掩膜是指用随机选定的图像中的区域遮挡选定的区域,进而控制图像处理的区域或处理过程。因后续模型采用监督训练的方式,所以需要对已有数据集中的图像进行“残缺”化处理。目的是生成一批具有不同形状、不同大小带有掩膜的图像用于训练神经网络模型。

随机掩膜超参设定:

在随机掩膜生成前需要指定掩膜个数(num_mask),掩膜的最大拐点个数(num_ver),两个像素点之间的最小距离(min_len),两个像素点之间最大距离(max_len),两个像素点之间的线段的最小宽度(min_brush),两个像素点之间的线段的最大宽度(max_brush)和最大拐角(max_ang)。

随机掩膜背景图像创建:

在生成随机掩膜图像前,将创建一张黑色背景,分辨率与原图像相同的图像。

随机掩膜创建:

在任意一个掩膜生成过程中,首先根据设定的超参数最大拐点个数(num_ver)随机生成一个数值代表生成掩膜的过程中需要偏转的次数。之后根据图像的分辨率随机初始化起始坐标x,y。

(1)根据两个像素点之间的最小距离(min_len),两个像素点之间最大距离(max_len),在最小距离与最大距离之间随机选择两个像素点之间距离。

(2)根据最大拐角(max_ang)在0和最大拐角之间随机选择转向角度。

(3)结合(1)与(2)选择的信息,计算下一点的坐标并记录此点作为下一个循环中选择像素点时,所使用的起始点坐标。

(4)根据两个像素点之间线段的最大宽度(max_brush)和最小宽度(min_brush),在最大宽度和最小宽度之间随机选择该条线段的宽度。

(5)根据(3)与(4)的结果,在图像上绘制出一条起始点、终止点确定、宽度已知的白色线段。

循环执行步骤(1)-(5),循环次数为此次的拐点数。

构建图像修复的深度神经网络模型:

图像修复的深度神经网络模型是利用深度神经网络模型强大的多维度特征提取能力和生成能力对残缺的图像进行修复。而图像修复的深度神经网络模型分成两个子模型,分别为生成模型与判别模型。生成模型用于修复图像残缺区域或模糊区域,判别模型用于判断修复结果是否可靠从而“监督指导”生成模型。

图像拼接:

将原图图像、带有目标边缘信息的图像和只有掩膜的图像输入生成模型。原图图像首先和只有掩膜的图像进行布尔运算,得到带有掩膜的图像,即有部分区域残缺的图像。之后,带有掩膜的图像和带有目标边缘信息的图像进行拼接操作。如果用[h1,w1,n1]代表原图图像的数组形状,[h1,w1,n2]代表目标边缘信息的图像数组形状,[h1,w1,n3]代表只有掩膜的图像数组形状,则拼接后的数组形状为[h1,w1,n1+n2+n3]。

图像粗修复:

拼接之后的数组将经过生成模型中的两个子模块,粗修复模块和精修复模块。粗修复模块是由多个门卷积,门膨胀卷积和门反卷积组合而成。通过粗修复模块得到一张粗略修复后的图像,其形状为[h1,w1,3]。

图像精修复:

粗修复之后的图像将输入精修复模块。精修复模块有两条分支,粗修复后的图像将并行进入两条分支,其中一条分支由多个门卷积和门膨胀卷积构成,另一条分支由多个门卷积和内容感知层构成。经过两个分支,得到的两个数组形状均为[h1/4,w1/4,n4]。最后拼接得到的两个数组,输入到精修复模块的最后一部分网络结构中,最后一部分网络由多个门卷积和门反卷积构成,输出的数组形状为[h1,w1,3]。其代表被完全修复的图像。

精修复图像判断:

将经过完全修复的图像、只有掩膜的图像和带有目标边缘信息的图像共同输入到判别模型。判别模型将判断完全修复的图像是否可靠、符合视觉感知。而判别模型由多个普通卷积组合而成,其主要判断修复区域中的每一个像素是否可靠。

模型训练:

在模型训练过程中,使用随机梯度下降法分别训练生成模型与判别模型。(a)固定判别模型不进行训练,使用随机梯度下降方法训练生成模型,当任意两相邻循环结束时的生成模型的损失值小于阈值s1时,停止训练生成模型。(b)固定生成模型不进行训练,使用随机梯度下降方法训练判别模型,当任意两相邻循环结束时的判别模型的损失值小于阈值s2时,停止训练判别模型。重复上述步骤(a)(b),直至模型总损失小于阈值s3。

模型推理:

在模型推理阶段,使用如下流程:

图像收集:图像修复阶段,用户需要根据自己的需求,挑选有物体或目标不清晰或者有残缺的图像。

图像标注:在图像标注阶段,在原图上对图像中有模糊或有残缺的区域进行第一类标注,标注区域需要尽量覆盖模糊或残缺区域。之后,对标注区域中物体的边缘进行第二类标注。

生成掩膜图像与边缘信息图像。在生成掩膜图像阶段,根据第一类标注,将在一张与原图分辨率相同的白底图像上绘画出标注区域,并用黑色填充。(此处白底与填充颜色并不固定,二者的颜色只是为了区分背景与标注区域,本发明对具体的颜色使用类型不进行限定)。

在边缘信息图像生成阶段,根据第二类标注,将在一张与原图分辨率相同的白底图像上绘画出标注的物体或目标边缘,以黑色线段表示。(此处白底与线段颜色并不固定,二者的颜色只是为了区分背景与标注的边缘信息)。

模型推理:在模型推理阶段,将原图、只有掩膜图像和带有边缘信息的图像输入生成模型。图像将经过前馈神经网络,计算并修复图像,最后将得到一张修复完成的图像。

本发明还提供了一种图像修复模型训练系统,所述系统包括:

随机掩膜单元,用于对若干原图图像进行随机掩膜处理,生成训练数据集用于训练图像修复深度神经网络模型,训练数据集包括:原图图像数据、带有目标边缘信息的图像数据和只有掩膜的图像数据;

模型构建单元,用于构建图像修复深度神经网络模型,图像修复深度神经网络模型包括:生成模型与判别模型,生成模型用于修复图像残缺区域或模糊区域,判别模型用于判断生成模型的修复结果是否符合预设要求;

模型训练单元,用于利用训练数据集训练图像修复深度神经网络模型,得到训练后的图像修复深度神经网络模型。

本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:

本方法及系统能够修复图像中任意残缺、模糊的不同形状的目标,能够满足人的视觉效果。修复的目标能够根据用户提供的边缘信息的进行生成,能够满足目标图像一定程度的变化并且修复的效果更自然。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;

附图1为背景技术中的原图;

附图2为背景技术中的具有残缺待修复的效果图;

附图3为背景技术中的采用现有的技术手段修复后的效果图;

附图4是图像修复方法总流程示意图;

附图5是模型推理阶段流程示意图;

附图6是图像修复模型训练系统的组成示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

本发明实施例提供了一种基于指导的图像修复深度神经网络训练方法,请参考附图4。

实施例一:模型训练

步骤1数据预处理。

步骤1.1指定掩膜个数(num_mask),掩膜的最大拐点个数(num_ver),两个像素点之间的最小距离(min_len),两个像素点之间最大距离(max_len),两个像素点之间线段的最小宽度(min_brush),两个像素点之间线段的最大宽度(max_brush)和最大拐角(max_ang)分别为3,5,50,200,10,40和20。

步骤1.1随机掩膜超参设定。

对于数据集中的每张图像,对应生成具有相同分辨率,黑色背景的图像。对于每一张图像,则从1至3中随机生成一个数代表生成的掩膜个数。对于每个掩膜生成的过程,首先将从1至5中随机生成一个数代表掩膜的出现的拐点个数。

步骤1.2在图像分辨率范围之内随机初始化一个像素点,其坐标点为x,y。

步骤1.3根据两个像素点之间的最小距离50,两个像素点之间最大距离200,在50至200中随机生成一个数代表两个像素点之间的距离。

步骤1.4根据最大拐角20度,在0度至20度之间随机生成一个角度代表拐点的转向角度。

步骤1.5根据初始化坐标、转向角度和两个像素点之间的距离,确定另外一个像素点的坐标并将此像素点作为下一个循环中选择另一个像素点所使用的起始点坐标。

步骤1.6根据线段的最大宽度10,在1至10之间随机生成一个数代表所需绘制的线段宽度。

步骤1.7根据计算的线段结果,在图像上绘制出一条起始点、终止点确定、宽度已知的白色线段。

步骤1.8循环步骤1.4至步骤1.7,循环次数为此次的拐点数,得到只有掩膜的图像。

步骤1.9将原图图像、带有目标边缘信息的图像和只有掩膜的图像的数组进行最大最小值归一化。对于图像数组而言,每一个数值x进行如下操作进行归一化得到x′。其中x_min为数组中的最小值,x_max为数组中的最大值。

x′=(x-x_min)/(x_max-x_min)

步骤2构建图像修复的深度神经网络模型。图像修复的深度神经网络模型是利用深度神经网络模型强大的多维度特征提取能力和生成能力修复残缺的图像。而图像修复的深度神经网络模型分成两个子模型,分别为生成模型与判别模型。生成模型用于修复图像残缺区域或模糊区域,判别模型用于判断修复结果是否可靠从而“监督指导”生成模型。

步骤2.1图像拼接。

将归一化后的原图图像、带有目标边缘信息的图像和只有掩膜的图像数组输入生成模型。原图图像首先和只有掩膜的图像进行布尔运算,得到带有掩膜的图像,即有部分区域残缺的图像。之后,带有掩膜的图像和带有目标边缘信息的图像进行拼接操作。如果用[256,256,3]代表原图图像的数组形状,[256,256,1]代表目标边缘信息的图像数组形状,[256,256,1]代表只有掩膜的图像数组形状,则拼接后的数组形状为[256,256,5]。

步骤2.2图像粗修复。

拼接之后的数组将经过生成模型中的两个子模块,粗修复模块和精修复模块。粗修复模块是由多个门卷积,门膨胀卷积和门反卷积组合而成。通过粗修复模块得到一张粗略修复后的图像,其形状为[256,256,3]。

步骤2.3图像精修复。

粗修复之后的图像将输入到精修复模块。精修复模块有两天分支,粗修复后的图像将并行进入两条分支,其中一条分支由多个门卷积和门膨胀卷积构成,另一条分支由多个门卷积和内容感知层构成。经过两个分支,得到的两个数组形状均为[64,64,98]。最后将得到两个数组进行拼接,输入到精修复模块的最后一部分网络结构中,最后一部分网络由多个门卷积和门反卷积构成,输出的数组形状为[256,256,3]。其代表被完全修复的图像。

步骤2.4精修复图像判断。

经过完全修复的图像、只有掩膜的图像和带有目标边缘信息的图像将共同输入判别模型。判别模型将判断完全修复的图像是否可靠。而判别模型由多个普通卷积组合而成,其主要判断修复区域中的每一个像素是否可靠。

步骤2.5图像修复深度神经网络模型训练。

在模型训练过程中,使用随机梯度下降法分别训练生成模型与判别模型。(1)固定判别模型不进行训练,使用随机梯度下降方法训练生成模型,当任意两相邻循环结束时的生成模型的损失值小于阈值s1时,停止训练生成模型。(2)固定生成模型不进行训练,使用随机梯度下降方法训练判别模型,当任意两相邻循环结束时的判别模型的损失值小于阈值s2时,停止训练判别模型。重复上述步骤(1)、(2),直至模型总损失小于阈值s3。

本发明实施例提供了一种基于指导的图像修复深度神经网络使用方法。

实施例二:模型推理

在模型推理阶段,使用流程如附图5所示。

步骤1图像收集。图像修复阶段,用户需要根据自己的需求,挑选有物体或目标不清晰或者有残缺的图像。

步骤2先验信息。在先验信息阶段,用户需要在原图上对图像中有模糊或有残缺的区域进行第一类标注,标注区域需要尽量覆盖模糊或残缺区域。之后,用户需要对标注区域中原物体的边缘进行第二类标注。如果物体边缘模糊或残缺,用户可以根据自己的理解进行边缘标注。

步骤3生成掩膜图像与边缘信息图像。在生成掩膜图像阶段,根据用户的第一类标注,将在一张与原图分辨率相同的白底图像上绘画出用户标注区域,并用黑色填充。(此处白底与填充颜色并不固定,二者的颜色只是为了区分背景与标注区域)。

步骤4在边缘信息图像生成阶段,根据用户的第二类标注,将在一张与原图分辨率相同的白底图像上绘画出用户标注的物体或目标边缘,以黑色线段表示。(此处白底与线段颜色并不固定,二者的颜色只是为了区分背景与标注的边缘信息)。

步骤5模型推理。在模型推理阶段。将原图、只有掩膜的图像和带有边缘信息的图像输入到生成模型中。图像将经过前馈神经网络,计算并修复,最后将得到一张修复完成的图像。

请参考附图6,与本发明实施例中的方法对应,本实施例还提供了一种图像修复模型训练系统,所述系统包括:

随机掩膜单元,用于对若干原图图像进行随机掩膜处理,生成训练数据集用于训练图像修复深度神经网络模型,训练数据集包括:原图图像数据、带有目标边缘信息的图像数据和只有掩膜的图像数据;

模型构建单元,用于构建图像修复深度神经网络模型,图像修复深度神经网络模型包括:生成模型与判别模型,生成模型用于修复图像残缺区域或模糊区域,判别模型用于判断生成模型的修复结果是否符合预设要求;

模型训练单元,用于利用训练数据集训练图像修复深度神经网络模型,得到训练后的图像修复深度神经网络模型。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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