掌桥专利:专业的专利平台
掌桥专利
首页

人像修复模型的训练方法和装置、电子设备

文献发布时间:2023-06-19 11:54:11


人像修复模型的训练方法和装置、电子设备

技术领域

本申请涉及计算机技术领域,特别是涉及一种人像修复模型的训练方法、人像修复方法和装置、电子设备以及计算机可读存储介质。

背景技术

通常一些老照片由于受限于拍摄设备和年代以及网络流传压缩失真等多种因素会出现分辨率低、噪声多和压缩失真等问题,这一类问题归为老照片低画质问题。将分辨率低、噪声多、模糊等情况的人像照片还原为高清图像成为一个重要的技术。

现有的人像修复算法,修复效果不理想,修复的图像质量低。

发明内容

本申请实施例提供一种人像修复模型的训练方法、人像修复方法和装置、电子设备以及计算机可读存储介质,使用局部判别器去增强修复后的人脸关键部件的细节信息,修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

一种人像修复模型的训练方法,包括:

获取训练数据集,所述训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;

将所述低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;

将所述训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;

获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;

将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;

基于所述全局判别结果、局部判别结果和预设的目标损失函数训练所述人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

一种人像修复模型的训练装置,包括:

获取模块,用于获取训练数据集,所述训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;

图片生成模块,用于将所述低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;

全局判别模块,用于将所述训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;

局部判别模块,用于获取训练生成图片数据集中各个训练生成图片对应的部件训练图像,将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;

训练模块,用于基于所述全局判别结果、局部判别结果和预设的目标损失函数训练所述人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

获取训练数据集,所述训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;

将所述低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;

将所述训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;

获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;

将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;

基于所述全局判别结果、局部判别结果和预设的目标损失函数训练所述人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

获取训练数据集,所述训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;

将所述低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;

将所述训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;

获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;

将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;

基于所述全局判别结果、局部判别结果和预设的目标损失函数训练所述人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

上述人像修复模型的训练方法、装置、电子设备以及计算机可读存储介质,通过获取训练数据集,训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;将低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;将训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;基于全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,已训练的人像修复模型用于对低画质图片进行人像修复,使用与人脸部件对应的局部判别器去增强修复后的人脸关键部件的细节信息,修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

一种人像修复方法,包括:

获取待修复人像图片,将所述待修复人像图片输入已训练的人像修复模型,所述已训练的人像修复模型是通过将低画质图片数据集输入待训练的人像修复模型,得到训练生成图片数据集,根据全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器直到训练完成得到的,其中,所述全局判别结果是将所述训练生成图片数据集和对应的标签高画质图片数据集输入所述全局判别器得到的,所述局部判别结果是将训练生成图片数据集中各个训练生成图片对应的部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器得到的;

所述人像修复模型对所述待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片。

一种人像修复装置,包括:

获取模块,用于获取训练数据集,所述训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;

图片生成模块,用于将所述低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;

全局判别模块,用于将所述训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;

局部判别模块,用于获取训练生成图片数据集中各个训练生成图片对应的部件训练图像,将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;

训练模块,用于基于所述全局判别结果、局部判别结果和预设的目标损失函数训练所述人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

一种电子设备,包括存储器以及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:

获取待修复人像图片,将所述待修复人像图片输入已训练的人像修复模型,所述已训练的人像修复模型是通过将低画质图片数据集输入待训练的人像修复模型,得到训练生成图片数据集,根据全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器直到训练完成得到的,其中,所述全局判别结果是将所述训练生成图片数据集和对应的标签高画质图片数据集输入所述全局判别器得到的,所述局部判别结果是将训练生成图片数据集中各个训练生成图片对应的部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器得到的;

所述人像修复模型对所述待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:

获取待修复人像图片,将所述待修复人像图片输入已训练的人像修复模型,所述已训练的人像修复模型是通过将低画质图片数据集输入待训练的人像修复模型,得到训练生成图片数据集,根据全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器直到训练完成得到的,其中,所述全局判别结果是将所述训练生成图片数据集和对应的标签高画质图片数据集输入所述全局判别器得到的,所述局部判别结果是将训练生成图片数据集中各个训练生成图片对应的部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器得到的;

所述人像修复模型对所述待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片。

上述人像修复方法、装置、电子设备以及计算机可读存储介质,通过已训练的人像修复模型对待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片,由于已训练的人像修复模型是通过局部判别器去增强修复后的人脸关键部件的细节信息,局部生成对抗损失的加入有利于在对应的人像部位生成逼真的细节,训练过程中调整人像修复模型的网络参数,也同步调整全局判别器和局部判别器的网络参数,进行对抗学习,训练得到的,可使得修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中人像修复模型的训练方法、人像修复方法的应用环境图;

图2为一个实施例中人像修复模型的训练方法的流程示意图;

图3为一个实施例中获取训练生成图片数据集中各个训练生成图片对应的部件训练图像的流程示意图;

图4为一个实施例中得到的分割谱示意图;

图5为一个实施例中训练人像修复模型的网络参数的流程示意图;

图6为一个实施例中训练全局判别器、局部判别器的流程示意图;

图7为一个实施例中人像修复模型数据流程图;

图8为一个实施例中生成器的结构示意图;

图9为一个实施例中全局判别器的结构示意图;

图10为一个实施例中局部判别器的结构示意图;

图11为一个实施例中人像修复方法的流程示意图;

图12为一个实施例中部分低画质图像修复结果展示示意图;

图13为一个实施例中人像修复模型的训练装置的结构框图;

图14为一个实施例中人像修复装置的结构框图;

图15为一个实施例中电子设备的内部结构框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

图1为一个实施例中人像修复模型的训练方法、人像修复方法的应用环境图。如图1所示,该应用环境包括终端110和服务器120,终端110和服务器120可以分别独立或配合完成人像修复模型的训练方法、人像修复方法,终端110或服务器120通过获取训练数据集,训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;将低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;将训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;基于全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,已训练的人像修复模型用于对低画质图片进行人像修复。其中终端110可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、车载电脑、穿戴式设备等终端设备。其中服务器120可以为一个服务器或服务器集群。服务器120还可以从终端110获取待处理视频,将处理得到的目标图像返回至终端110显示。

图2为一个实施例中人像修复模型的训练方法的流程图。图2所示的人像修复模型的训练方法可应用于上述终端110或服务器120中,包括:

步骤202,获取训练数据集,训练数据集包括低画质图片数据集和对应的标签高画质图片数据集。

其中,标签高画质图片数据集包括多个包含人脸的高画质图片,可通过对高画质图片进行图像质量退化处理得到对应的低画质图片,各个低画质图片组成低画质图片数据集。其中图片退化处理,主要涉及加噪声、模糊等操作。在一个实施例中,获取高画质人像图片,提取高画质人像图片中的人脸区域得到标签高画质图片,不同的标签高画质图片组成标签高画质图片数据集,保证训练数据集中的低画质图片和对应的高画质图片都只包括人脸区域对应的图像内容,提高训练数据集对后续模型训练的有效性。

具体地,低画质图片数据集中的低画质图片作为训练数据输入待训练的人像修复模型进行训练,高画质图片数据集中的高画质图片用于提供给全局判别器,对人像修复模型即生成器,重建的生成图片与对应的高画质图片数据集中的高画质图片进行判别。同时,高画质图片数据集中的高画质图片用于提取出人脸的部件对应的部件标签图像,提供给局部判别器,对人像修复模型重建的生成图片中的人脸的部件对应的部件训练图像,与对应的高画质图片中的人脸的部件对应的部件标签图像进行判别,并结合目标损失函数对人像修复模型进行优化,最终训练完成人像修复模型。

步骤204,将低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集。

具体地,人像修复模型是生成对抗网络中的生成器,包括编码网络和解码网络,编码网络提取图像特征,解码网络复原图像,Encoder编码模块采用不限于Mobilenet、Resnet、vgg等backbone实现编码,编码模块即特征提取模块,用于进行特征提取。解码模块用于对图像特征进行处理得到训练生成图片。人像修复模型可采用深度学习类算法得到,例如CNN(Convolutional Neural Networks,卷积神经网络)、U-Net算法、FCN(FullyConvolutional Neural Networks,全卷积神经网络)等。将低画质图片数据集输入待训练的人像修复模型,人像修复模型通过编码网络和解码网络的处理,对人像进行修复,得到低画质图片对应的训练生成图片,组成训练生成图片数据集。通过对人像修复模型的网络参数的不断调整,使得训练生成图片的人像修复质量不断提高。

对抗学习是通过让两个机器学习模型相互博弈的方式进行学习,得到期望的机器学习模型。将人像修复模型与全局判别器、局部判别器进行对抗学习,人像修复模型的目标是根据输入得到所期望的输出。全局判别器、局部判别器的目标是将人像修复模型的输出从真实的图像中尽可能分辨出来。全局判别器、局部判别器的输入包括人像修复模型的输出以及标签高画质图片数据集。两个网络相互对抗学习、不断调整参数,最终目的是人像修复模型要尽可能地欺骗全局判别器、局部判别器,使全局判别器、局部判别器无法判断人像修复模型的输出结果是否真实。

步骤206,将训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果。

具体地,全局判别器用于判别全局图片的真实性,对训练生成图片数据集中的各个训练生成图片与对应的标签高画质图片数据集中的标签高画质图片进行判别,得到全局判别结果,输出是一个表示输入图片为真的一个概率值,在0-1之间。全局判别器的参数的调整方向是朝着使全局判别器的损失值变小的方向进行调整,使得全局判别器的判别能力变强。

步骤208,获取训练生成图片数据集中各个训练生成图片对应的部件训练图像,将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果。

其中,不同的人脸部件对应不同的局部判别器,人脸部件的类别可自定义,如包括眼睛部件、脸部部件和嘴部部件、鼻子部件等。不同的局部判别器用于判别对应部件的局部图片的真实性。如眼睛部件对应眼睛局部判别器,用于判断眼睛区域图片的真实性,嘴部部件对应嘴部判别器,用于判断嘴部区域图片的真实性。

具体地,可根据标签高画质图片中至少一个类别的人脸部件的位置,获取训练生成图片对应的部件区域,得到至少一个类别的部件对应的部件训练图像。局部判别器对训练生成图片对应的部件训练图像与对应的标签高画质图片数据集中的部件标签图像进行判别,得到局部判别结果,输出是一个表示输入图片为真的一个概率值,在0-1之间。局部判别器的参数的调整方向是朝着使局部判别器的损失值变小的方向进行调整,使得局部判别器的判别能力变强。

步骤210,基于全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

具体地,全局判别结果、局部判别结果用于分别得到训练生成图片相对于标签高画质图片的全局生成对抗损失和局部生成对抗损失,从而可根据全局生成对抗损失和局部生成对抗损失得到对应的目标生成对抗损失,还可根据目标损失函数包含的损失类型,计算得到其它类型的损失,如图像内容像素损失、感知损失等,从而根据目标损失函数计算得到目标损失,用于反向传播调整人像修复模型的网络参数。目标损失函数可自定义,除了生成对抗损失,其它包含的损失类别也可自定义。

在训练过程中,除了调整人像修复模型的网络参数,也同步调整全局判别器和局部判别器的网络参数,其中全局判别器和局部判别器分别对应的损失函数可自定义,在一个实施例中,通过交叉熵计算得到全局判别器和局部判别器分别对应的损失,对全局判别器和局部判别器的网络参数分别进行调整。以此循环,进行参数迭代,直到训练完成,训练完成的条件可自义,如达到预设迭代次数,或生成的训练生成图片的质量不再提高等条件。已训练的人像修复模型可输入的低画质图片进行人像修复,得到高质量人像区域的图片,恢复人脸细节,提高图像清晰度。

本实施例中的人像修复模型的训练方法,通过获取训练数据集,训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;将低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;将训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;基于全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,已训练的人像修复模型用于对低画质图片进行人像修复,使用与人脸部件对应的局部判别器去增强修复后的人脸关键部件的细节信息,修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

在一个实施例中,步骤204包括:通过人像修复模型的编码网络提取得到低画质图片数据集对应的多个不同尺度的编码特征;通过人像修复模型的解码网络提取得到所述低画质图片数据集对应的多个不同尺度的解码特征;将相同尺度的编码特征和解码特征融合,根据融合结果得到输出的训练生成图片数据集。

具体地,可根据需要设计编码网络、解码网络的网络结构,多个不同尺度的数量可自定义,如提取5个不同尺度的编码特征,由于需要将相同尺度的编码特征和解码特征融合,所以编码网络、解码网络对应的不同尺度的数量相同。如编码网络提取得到低画质图片数据集对应的5个不同尺度的编码特征,则解码网络也提取得到低画质图片数据集对应的5个不同尺度的解码特征。使用编码网络和解码网络的组合,使用跳跃连接将同尺度的特征谱加融合进行信息传递,具体的融合方式可自定义,跳跃连接用于将浅层特征融合到深层特征处,增加算法模型的泛化能力。在一个实施例中,编码网络有个特征谱a,将其叠加到解码网络中相同尺度大小的特征谱b上,即a+b,得到新的特征谱。

本实施例中,可以通过提取不同尺度的编码特征和解码特征进行融合的方式进行信息传递,生成训练生成图片数据集,提高了训练生成图片的生成质量。

在一个实施例中,如图3所示,步骤208中获取训练生成图片数据集中各个训练生成图片对应的部件训练图像包括:

步骤208A,将标签高画质图片数据集中各个标签高画质图片输入人脸解析网络得到对应的各个不同类别的部件的分割谱,不同类别的部件包括眼睛部件、脸部部件和嘴部部件。

其中,人脸解析网络用于对输入的图片进行识别,得到人脸中的关键部件,可识别得到多个不同类别的部件。部件的类别和数量可根据需要自定义,本实施例中,不同类别的部件包括眼睛部件、脸部部件和嘴部部件。在其它的实施例中,可包括更多或更少的部件,如还可包括眉毛部件,耳朵部件等。分割谱用于描述不同类别的部件在图片上的区域,可通过不同的标记区分不同的区域,如图4所示,为一个实施例中,得到的分割谱示意图,其中标明了眼睛部件、脸部部件和嘴部部件所在的区域。

具体地,将各个标签高画质图片输入人脸解析网络得到对应的各个不同类别的部件的分割谱,可通过标签高画质图片中分割谱中不同类别的部件在图片上的区域位置,进一步得到各个标签高画质图片对应的训练生成图片中对应不同类别的部件在图片上的区域位置。

步骤208B,将各个标签高画质图片对应的分割谱作用于对应的训练生成图片,得到各个训练生成图片的各个不同类别的部件对应的部件训练图像。

具体地,根据分割谱中标记的区域,得到各个标签高画质图片对应的训练生成图片中对应的各个类别的部件对应的部件训练图像。如得到眼睛部件、脸部部件和嘴部部件所在的区域,则分别将各个部件所在的区域从图片中分割出来,形成对应的部件训练图像,如得到眼睛部件训练图像、脸部部件训练图像和嘴部部件训练图像。

步骤208中将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果包括:将部件训练图像分别输入类别匹配的局部判别器,得到各个不同类别的部件对应的局部判别器输出的局部判别结果。

具体地,不同类别的部件分别对应不同的局部判别器,各个局部判别器分别有对应的损失函数,从而提高对不同的部件判别的准确性。局部判别器的输出就是判断原标签高画质图片的部件标签图像和生成的部件训练图像为真的一个概率值,在0-1之间。

本实施例中,通过标签高画质图片得到分割谱,能得到更准确的各个类别的部件所在的位置,从而作用于训练生成图片,也使得得到的部件训练图像更准确,不同类别的部件分别由对应的局部判别器输出局部判别结果,提高了局部判别结果的可靠性。

在一个实施例中,如图5所示,步骤210包括:

步骤210A,基于全局判别结果计算得到全局生成对抗损失,基于局部判别结果计算得到局部生成对抗损失。

具体地,生成对抗损失用于确保生成图像和高画质图像有相似的分布,保证生成图像足够逼真。全局生成对抗损失用于保证生成的整体图像的逼真度,局部生成对抗损失用于保证生成的局部图像的逼真度。计算全局生成对抗损失和计算局部生成对抗损失的算法可自定义,在一个实施例中,通过以下公式分别计算得到全局生成对抗损失和局部生成对抗损失。

其中,G表示的是生成器,G(.)指的是生成器的输出结果,z表示的是低画质图片,x指的是标签高画质图片。D(.)指的是判别器的输出结果。当计算全局生成对抗损失时,z表示的是全局低画质图片,D(.)指的是全局判别器的输出全局判别结果,x指的是全局标签高画质图片。当计算局部生成对抗损失时,z表示的是各个不同类别的部件对应的部件训练图像,x指的是标签高画质图片数据集中分别与部件训练图像对应的部件标签图像。D(.)指的是各个对应的局部判别器输出的局部判别结果。当有多个不同类别的部件时,则有多个不同的对应的局部判别器,会得到多个不同部件对应的局部判别结果,从而得到对应的多个不同的局部生成对抗损失。

步骤210B,根据全局生成对抗损失和局部生成对抗损失得到目标生成对抗损失。

具体地,得到目标生成对抗损失的具体算法可自定义,可对全局生成对抗损失和局部生成对抗损失进行加权得到目标生成对抗损失,加权权重可根据需要和具体的场景进行自定义。将局部生成对抗损失加入目标生成对抗损失有利于在对应的人像部位生成逼真的细节,提高图像质量。在一个实施例中,目标生成对抗损失的计算公式如下:

L

其中L

步骤210C,基于训练生成图片数据集和对应的标签高画质图片数据集计算得到像素损失。

具体地,像素损失能保证生成图像和高画质图像的像素级相似,像素损失是根据图像内容像素计算得到的损失,具体的计算方法可自定义,在一个实施例中,可直接将训练生成图片与对应的标签高画质图片匹配位置的像素值差距作为像素损失。

步骤210D,通过预训练感知网络分别提取训练生成图片数据集和对应的标签高画质图片数据集的特征得到特征图,计算特征图之间的距离得到感知损失。

具体地,预训练感知网络是指已训练的可以感知图像质量的网络,如可以是VGG-19预训练网络,通过感知损失使得生成图像结果能更接近标签高画质图像。在一个实施例中,计算训练生成图片与对应的标签高画质图片在使用Imagenet数据集预训练的vgg19上的特征之间的L2距离,将标签高画质图片送入vgg19中得到特征谱a,将训练生成图片送入vgg19中得到特征谱b,(a-b)^2即为L2距离,得到感知损失。

步骤210E,将目标生成对抗损失、像素损失、感知损失代入预设的目标损失函数计算得到目标损失,根据目标损失调整所述人像修复模型的网络参数。

具体地,目标损失函数的具体公式可自定义,在一个实施例中,为目标生成对抗损失、像素损失、感知损失设置不同的加权权重,通过加权权重对目标生成对抗损失、像素损失、感知损失进行加权计算得到目标损失,通过如下的公式计算得到目标损失:

L

其中,L

通过目标损失调整人像修复模型的网络参数,使得目标损失越来越小,从而表示训练生成图片的图像质量不断提高。

本实施例中,通过多种不同类型的损失计算得到目标损失,保证生成图像和高画质图像的像素级相似、足够逼真,图像质量更高,且局部损失的加入有利于在对应的人像部位生成逼真的细节。

在一个实施例中,如图6所示,步骤210包括:

步骤210F,基于全局判别结果和对应的全局判别标签计算得到全局判别损失,根据全局判别损失调整全局判别器。

具体地,全局判别标签是指对全局图片的真实判别结果,如果是训练生成图片,则全局判别标签为图像是假,如果是标签高画质图片,则全局判别标签为图像是真。可通过交叉熵的方式,根据全局判别结果和对应的全局判别标签计算得到全局判别损失,根据全局判别损失调整全局判别器,使得全局判别器的判断结果向正确概率高的方向调整,从而不断提高全局判别器的判别能力。

步骤210G,基于各个不同类别的部件对应的局部判别结果和对应的局部判别标签计算得到各个不同类别的部件对应的局部判别损失,根据各个不同类别的部件对应的局部判别损失调整匹配的局部判别器。

具体地,局部判别标签是指对部件对应的局部图片的真实判别结果,如果是训练生成图片的部件对应的局部图片,则局部判别标签为图像是假,如果是标签高画质图片的部件对应的局部图片,则局部判别标签为图像是真。可通过交叉熵的方式,根据各个不同类别的部件对应的局部判别结果和对应的局部判别标签计算得到各个不同类别的部件对应的局部判别损失,根据局部判别损失调整对应的局部判别器,使得局部判别器的判断结果向正确概率高的方向调整,从而不断提高局部判别器的判别能力。

本实施例中,在通过目标损失调整人像修复模型的网络参数的同时,通过全局判别损失调整全局判别器,通过局部判别损失调整匹配的局部判别器,从而使得人像修复模型、全局判别器、局部判别器形成的整体网络达到更有效的训练,使得训练得到的人像修复模型的图像修复质量更高。

在一个具体的实施例中,提供一种人像修复模型的训练方法,如图7所示,为人像修复模型数据流程图,具体包括以下过程:

1、对标签高画质图片数据集中的标签高画质图片进行退化处理,主要涉及加噪声、模糊等操作,得到对应的低画质图片组成低画质图片数据集。

2、将低画质图片数据集中的低画质图片按批送入生成器,即待训练的人像修复模型,生成器将低画质图片复原生成高画质图像,得到训练生成图片,组成训练生成图片数据集,如图8所示,为生成器结构示意图,使用Encoder编码器和Decoder解码器的组合,使用跳跃连接将同尺度的特征谱融合上进行信息传递。

3、将生成的训练生成图片数据集和对应的标签高画质图片数据集送入全局判别器中判别真假,得到全局判别结果,如图9所示,为全局判别器的结构示意图,经过32倍下采样得到全局判别结果。

4、将标签高画质图片数据集中的标签高画质图片送入人脸解析网络得到眼睛、脸部和嘴部的分割谱。

5、将分割谱作用于训练生成图片数据集中的训练生成图片得到三个部件的部件训练图像,将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器中,即分别输入眼睛部件对应的局部判别器、脸部部件对应的局部判别器、嘴部部件对应的局部判别器,分别得到对应的局部判别结果,如图10所示,为局部判别器的结构示意图,由于分割后的人像部件尺度相较于原图大幅减小,因此图中只经过16倍下采样后就得到了局部判别结果。

6、基于全局判别结果计算得到全局生成对抗损失,基于局部判别结果计算得到局部生成对抗损失,根据全局生成对抗损失和局部生成对抗损失得到目标生成对抗损失,基于训练生成图片数据集和对应的标签高画质图片数据集计算得到像素损失,计算训练生成图片与对应的标签高画质图片在使用Imagenet数据集预训练的vgg19上的特征之间的L2距离,得到感知损失;

7、将目标生成对抗损失、像素损失、感知损失代入预设的目标损失函数计算得到目标损失,根据所述目标损失调整所述人像修复模型的网络参数。

8、基于全局判别结果和对应的全局判别标签计算得到全局判别损失,根据全局判别损失调整全局判别器。

9、基于各个不同类别的部件对应的局部判别结果和对应的局部判别标签计算得到各个不同类别的部件对应的局部判别损失,根据各个不同类别的部件对应的局部判别损失调整匹配的局部判别器。

10、直到训练完成,得到已训练的人像修复模型,已训练的人像修复模型用于对低画质图片进行人像修复。

本实施例中,通过三个不同的局部判别器去增强修复后的人脸关键部件的细节信息,三个局部生成对抗损失的加入有利于在对应的人像部位生成逼真的细节,调整人像修复模型的网络参数,也同步调整全局判别器和局部判别器的网络参数,进行对抗学习,从而得到已训练的人像修复模型,可使得修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

在一个实施例中,如图11所示,提供了一种人像修复方法,包括以下步骤:

步骤302,获取待修复人像图片,将待修复人像图片输入已训练的人像修复模型,已训练的人像修复模型是通过将低画质图片数据集输入待训练的人像修复模型,得到训练生成图片数据集,根据全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器直到训练完成得到的,其中,全局判别结果是将训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器得到的,局部判别结果是将训练生成图片数据集中各个训练生成图片对应的部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器得到的。

其中,待修复人像图片是低画质的包含人脸的图片,如人脸模糊、存在噪声等。可以是实时采集的图片,也可以是从图片库下载的图片。

具体地,将待修复人像图片输入已训练的人像修复模型,则可对待修复人像图片中的人脸区域进行修复。其中已训练的人像修复模型是通过上述实施例中的训练方法训练得到的,具体的训练过程可见上述实施例。

步骤304,人像修复模型对待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片。

具体地,人像修复模型对待修复人像图片中的人脸区域进行修复,恢复人脸部件,如脸部、嘴部、眼睛、耳朵等各个部件区域的图像细节,得到高画质的人像图片。当待修复人像图片中存在多个不同的人脸区域时,可对各个不同的人脸区域进行修复,得到高画质的人像图片。

本实施例中,通过已训练的人像修复模型对待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片,由于已训练的人像修复模型是通过局部判别器去增强修复后的人脸关键部件的细节信息,局部生成对抗损失的加入有利于在对应的人像部位生成逼真的细节,训练过程中调整人像修复模型的网络参数,也同步调整全局判别器和局部判别器的网络参数,进行对抗学习,训练得到的,可使得修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

可以理解,本实施例中的人像修复模型的训练过程可参考上述实施例中的步骤。

在一个实施例中,步骤302中获取待修复人像图片,将待修复人像图片输入已训练的人像修复模型包括:识别待修复人像图片中的一个或多个原始人脸区域,将一个或多个原始人脸区域输入已训练的人像修复模型。

具体地,当待修复人像图片不仅包括人脸区域部分,还包括其它图像时,如身体、背景等区域,可先将待修复人像图片中的一个或多个原始人脸区域识别出来,形成一个或多个原始人脸区域对应的图像,再将这一个或多个原始人脸区域对应的图像分别输入已训练的人像修复模型,并记录这一个或多个原始人脸区域在原来的图像中的位置,如记录原始人脸区域的坐标范围。

步骤304包括:人像修复模型得到原始人脸区域对应的修复人脸区域;将修复人脸区域按照在待修复人像图片的位置贴在匹配的区域,得到高画质的人像图片。

具体地,人像修复模型得对输入的一个或多个原始人脸区域对应的图像分别进行修复,得到对应的一个或多个修复人脸区域,从而根据之前记录的位置信息,将各个修复人脸区域重新贴在原图像匹配的区域,从而得到高画质的人像图片。

本实施例中,先识别待修复人像图片中的一个或多个原始人脸区域,再将一个或多个原始人脸区域输入人像修复模型,针对人脸区域进行修复,得到高清的人脸区域图像,再根据位置关系贴回待修复人像图片,得到高画质的人像图片,针对有其它区域的图像也能自动识别人脸区域,进行有针对性的图像质量修复,智能高效。

在一个具体的实施例中,提供一种人像修复模型的训练方法,具体包括以下过程:

1、获取待修复人像图片,进行图片预处理,包括人像对齐、裁剪等操作。

2、将预处理后的待修复人像图片的人像通过人脸检测网络截取出来,得到一个或多个原始人脸区域,将所述一个或多个原始人脸区域输入已训练的人像修复模型生成对应的修复人脸区域。

3、将修复人脸区域按照在待修复人像图片的位置贴在匹配的区域,得到高画质的人像图片。

本实施例中,通过已训练的人像修复模型对待修复人像图片中的人脸区域进行修复,只将人脸区域输入已训练的人像修复模型生成对应的修复人脸区域,再将修复人脸区域按照在待修复人像图片的位置贴在匹配的区域,得到高画质的人像图片,适用于包括多个人脸的待修复人像图片,由于已训练的人像修复模型是通过局部判别器去增强修复后的人脸关键部件的细节信息,局部生成对抗损失的加入有利于在对应的人像部位生成逼真的细节,训练过程中调整人像修复模型的网络参数,也同步调整全局判别器和局部判别器的网络参数,进行对抗学习,训练得到的,可使得修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

采用上述实施例所述的人像修复方法对358张低画质人像进行修复,修复效果较好,眼睛、嘴、牙齿等细节恢复较好,部分结果展示如图12所示,第一行为低画质老照片,第二行为经过本算法修复的图片,对比原图和修复之后的结果图,可以看出经过修复之后的图像人脸细节信息丰富且逼真,图像细节质量高。

使用图像质量评价算法BRISQUE算法来对358张修复前后的图片进行了批量评价打分;在评测过程中,为了评价不同分辨率的修复效果,我们在两个不同分辨率下对算法进行了评测,评价结果如下表所示,得分越小,该算法判断图像质量越好:

可见,通过客观的质量评价,经过上述实施例所述的人像修复方法修复的图片的质量更好。

应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图13为一个实施例的人像修复模型的训练500装置的结构框图。如图13所示,一种人像修复模型的训练装置500,包括:获取模块502、图片生成模块504、全局判别模块506、局部判别模块508、训练模块510,其中:

获取模块502,用于获取训练数据集,所述训练数据集包括低画质图片数据集和对应的标签高画质图片数据集。

图片生成模块504,用于将所述低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集。

全局判别模块506,用于将所述训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果。

局部判别模块508,用于获取训练生成图片数据集中各个训练生成图片对应的部件训练图像,将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果。

训练模块510,用于基于所述全局判别结果、局部判别结果和预设的目标损失函数训练所述人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,所述已训练的人像修复模型用于对低画质图片进行人像修复。

本实施中的人像修复模型的训练装置500,通过获取训练数据集,训练数据集包括低画质图片数据集和对应的标签高画质图片数据集;将低画质图片数据集输入待训练的人像修复模型,得到输出的训练生成图片数据集;将训练生成图片数据集和对应的标签高画质图片数据集输入全局判别器,得到全局判别结果;获取训练生成图片数据集中各个训练生成图片对应的部件训练图像;将部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器,得到局部判别结果;基于全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器,直到训练完成,得到已训练的人像修复模型,已训练的人像修复模型用于对低画质图片进行人像修复,使用与人脸部件对应的局部判别器去增强修复后的人脸关键部件的细节信息,修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

在一个实施例中,图片生成模块504还用于通过人像修复模型的编码网络提取得到低画质图片数据集对应的多个不同尺度的编码特征;通过人像修复模型的解码网络提取得到所述低画质图片数据集对应的多个不同尺度的解码特征;将相同尺度的编码特征和解码特征融合,根据融合结果得到输出的训练生成图片数据集。

本实施中的人像修复模型的训练装置500,可以通过提取不同尺度的编码特征和解码特征进行融合的方式进行信息传递,生成训练生成图片数据集,提高了训练生成图片的生成质量。

在一个实施例中,局部判别模块508还用于将标签高画质图片数据集中各个标签高画质图片输入人脸解析网络得到对应的各个不同类别的部件的分割谱,所述不同类别的部件包括眼睛部件、脸部部件和嘴部部件;将各个标签高画质图片对应的分割谱作用于对应的训练生成图片,得到各个训练生成图片的各个不同类别的部件对应的部件训练图像;将部件训练图像分别输入类别匹配的局部判别器,得到各个不同类别的部件对应的局部判别器输出的局部判别结果。

本实施中的人像修复模型的训练装置500,通过标签高画质图片得到分割谱,能得到更准确的各个类别的部件所在的位置,从而作用于训练生成图片,也使得得到的部件训练图像更准确,不同类别的部件分别由对应的局部判别器输出局部判别结果,提高了局部判别结果的可靠性。

在一个实施例中,训练模块510还用于基于全局判别结果计算得到全局生成对抗损失;基于局部判别结果计算得到局部生成对抗损失;根据全局生成对抗损失和局部生成对抗损失得到目标生成对抗损失;基于训练生成图片数据集和对应的标签高画质图片数据集计算得到像素损失;通过预训练感知网络分别提取训练生成图片数据集和对应的标签高画质图片数据集的特征得到特征图,计算特征图之间的距离得到感知损失;将目标生成对抗损失、像素损失、感知损失代入预设的目标损失函数计算得到目标损失;根据目标损失调整人像修复模型的网络参数。

本实施例中,通过多种不同类型的损失计算得到目标损失,保证生成图像和高画质图像的像素级相似、足够逼真,图像质量更高,且局部损失的加入有利于在对应的人像部位生成逼真的细节。

在一个实施例中,训练模块510还用于基于全局判别结果和对应的全局判别标签计算得到全局判别损失,根据全局判别损失调整全局判别器;基于各个不同类别的部件对应的局部判别结果和对应的局部判别标签计算得到各个不同类别的部件对应的局部判别损失,根据各个不同类别的部件对应的局部判别损失调整匹配的局部判别器。

本实施例中,在通过目标损失调整人像修复模型的网络参数的同时,通过全局判别损失调整全局判别器,通过局部判别损失调整匹配的局部判别器,从而使得人像修复模型、全局判别器、局部判别器形成的整体网络达到更有效的训练,使得训练得到的人像修复模型的图像修复质量更高。

在一个实施例中,如图14所示,提供了一种人像修复装置600,包括:

输入模块602,用于获取待修复人像图片,将所述待修复人像图片输入已训练的人像修复模型,所述已训练的人像修复模型是通过将低画质图片数据集输入待训练的人像修复模型,得到训练生成图片数据集,根据全局判别结果、局部判别结果和预设的目标损失函数训练人像修复模型、全局判别器和局部判别器直到训练完成得到的,其中,所述全局判别结果是将所述训练生成图片数据集和对应的标签高画质图片数据集输入所述全局判别器得到的,所述局部判别结果是将训练生成图片数据集中各个训练生成图片对应的部件训练图像和对应的标签高画质图片数据集中的部件标签图像输入与人脸部件对应的局部判别器得到的。

修复模块604,用于人像修复模型对待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片。

本实施例中,通过已训练的人像修复模型对待修复人像图片中的人脸区域进行修复,输出对应的高画质的人像图片,由于已训练的人像修复模型是通过局部判别器去增强修复后的人脸关键部件的细节信息,局部生成对抗损失的加入有利于在对应的人像部位生成逼真的细节,训练过程中调整人像修复模型的网络参数,也同步调整全局判别器和局部判别器的网络参数,进行对抗学习,训练得到的,可使得修复后的图像人脸细节信息丰富且逼真,图像较为清晰,修复的图像质量高。

在一个实施例中,输入模块602还用于识别所述待修复人像图片中的一个或多个原始人脸区域,将一个或多个原始人脸区域输入已训练的人像修复模型。修复模块604还用于人像修复模型得到原始人脸区域对应的修复人脸区域;将修复人脸区域按照在待修复人像图片的位置贴在匹配的区域,得到高画质的人像图片。

本实施例中,先识别待修复人像图片中的一个或多个原始人脸区域,再将一个或多个原始人脸区域输入人像修复模型,针对人脸区域进行修复,得到高清的人脸区域图像,再根据位置关系贴回待修复人像图片,得到高画质的人像图片,针对有其它区域的图像也能自动识别人脸区域,进行有针对性的图像质量修复,智能高效。

关于人像修复模型的训练装置、人像修复装置的具体限定可以参见上文中对于人像修复模型的训练方法、人像修复方法的限定,在此不再赘述。上述人像修复模型的训练装置、人像修复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

图15为一个实施例中电子设备的内部结构示意图。如图15所示,该电子设备包括通过系统总线连接的处理器、存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的人像修复模型的训练方法或人像修复方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。该电子设备可以是手机、服务器等。

本申请实施例中提供的人像修复模型的训练装置、人像修复装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述的人像修复模型的训练方法或人像修复方法。

本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行本申请实施例中所描述的人像修复模型的训练方法或人像修复方法。

一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例中所描述的人像修复模型的训练方法或人像修复方法。

本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 人像修复模型的训练方法、人像修复方法和装置
  • 人像分割方法、模型训练方法、装置、介质及电子设备
技术分类

06120113097785