CN111062899B - 基于引导的生成对抗网络的眨眼视频生成方法 - Google Patents
基于引导的生成对抗网络的眨眼视频生成方法 Download PDFInfo
- Publication number
- CN111062899B CN111062899B CN201911047213.9A CN201911047213A CN111062899B CN 111062899 B CN111062899 B CN 111062899B CN 201911047213 A CN201911047213 A CN 201911047213A CN 111062899 B CN111062899 B CN 111062899B
- Authority
- CN
- China
- Prior art keywords
- network
- picture
- generated
- training
- false
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012549 training Methods 0.000 claims abstract description 66
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 13
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 12
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 5
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 28
- 238000005457 optimization Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 3
- 230000008094 contradictory effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 239000013598 vector Substances 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 description 6
- 230000004397 blinking Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及基于引导的生成对抗网络的眨眼视频生成方法。本发明首先利用卷积神经网络模型,通过闭眼识别定位算法来定位眼睛位置并标记,然后根据要处理的图像数据规模,设定生成对抗网络的生成器网络G和判别网络D的各项参数,再结合引导参考图片和生成网络生成初始目标图片,通过构建的损失函数和目标函数计算,完成判别器和生成网络的迭代训练。最后将测试集中的图片及其引导参考图片作为网络模型的输入,以睁眼图片为原图片,闭眼图片为相对应的引导图片,经过视频合成处理模块后得到最终的眨眼视频,眨眼频率可根据需要进行适当改变。
Description
技术领域
本发明涉及一种利用深度学习实现智能图像处理的方法,属于计算机视觉深度学习领域,具体涉及基于引导的生成对抗网络的眨眼视频生成方法。
背景技术
过去几年中,深度学习在计算机视觉和图像处理方面取得了令人瞩目的成功。对于许多此类给定的任务,深度学习方法的表现优于其他人工方法,甚至优于人类专家。图像修复是重建图像缺失部分的过程,以达到逼真的效果。
最近几年,随着深度学习的不断发展,深度卷积网络(DNNs)对自然景观图片缺失区域修复效果提升显著。对于修复人脸图片这一特殊问题,给网络提供足够大小的训练集图片,对网络进行训练,网络会从中学习了解到人脸“应该”的样子,并对缺失的人脸图片进行相应的修复,除了能够保留全局光照和肤色等特征,还能保留脸部图像的整体结构。
虽然深度卷积网络可以产生语义合理且逼真的结果,但大多数深层技术并不能保留照片中人物的身份信息。例如,深度卷积网络可以学习将一张睁眼图片变为闭眼图片,但是在网络模型中无法保证生成的新眼睛与原图片特定的眼睛结构相同。相反,深度卷积网络会生成与训练集中相似面部相对应的闭眼图片,而使得生成的图片在神态样貌上显得不自然。如果一个人有一些不同的特征(例如不常见的眼睛形状),这将无法在生成的图片里体现。
生成对抗网络(GAN)是近年来在图像修复上用的较多的一种特定类型的深层网络,已经成功地用于从零开始生成图片,或者用于修复图片缺失区域,在图像生成方面有突出的效果。但传统的的GAN只能根据经验对人眼进行生成,而并不能针对照片中的特定人物的眼部特征进行生成;但我们知道每个人都是独一无二的,一般来说不同人的外貌、面部结构、比例等是不同的,人眼的形状也是不同的,使得GAN不能很好满足在生成图片的同时保留对象的身份信息这一要求,最后的生成效果也与实际对象有一定的差距。
发明内容
本发明的目的:针对传统技术无法保留修复对象的身份信息,同时为了满足实时系统简单快速的要求,本发明提出的基于引导的生成对抗网络(GAN)的人脸闭眼图像生成方法,进而生成眨眼视频。在深度学习网络训练过程中利用引导(参考)图片的先验信息来产生高质量、个性化的生成结果,使输入的睁眼图像变为眨眼视频的同时也保留了对象的身份信息。
本发明首先利用卷积神经网络模型,通过闭眼识别定位算法来定位眼睛位置并标记,然后根据要处理的图像数据规模,设定生成对抗网络的生成器网络G和判别网络D的各项参数,再结合引导参考图片和生成网络生成初始目标图片,通过构建的损失函数和目标函数计算,完成判别器和生成网络的迭代训练。最后将测试集中的图片及其引导参考图片作为网络模型的输入,以睁眼图片为原图片,闭眼图片为相对应的引导图片,经过视频合成处理模块后得到最终的眨眼视频,眨眼频率可根据需要进行适当改变。
为了达到上述目的,本发明所采用的技术方案是:基于引导的生成对抗网络的眨眼视频生成方法,其特征在于,所述方法包括以下步骤:
步骤1:标记图像眼部位置
将数据集分为训练集和测试集两个部分,将训练集图片分为输入图片和引导图片两个部分,一张输入图片对应一张引导图片,引导图片和输入图片为同一个人在不同场景下所拍摄的闭眼图片,对输入照片和引导图片先得到对应他们各自眼睛所在位置的掩码,可以理解为一个与图片大小相同的0/1矩阵,其中对应眼睛的矩形区域内的元素值为1,其余区域元素值为0;
步骤2:生成对抗网络的参数设置
根据要处理的图像数据规模,设定生成对抗网络的生成器网络G和判别网络D的网络结构、梯度惩罚系数λ、判别网络D在每次迭代中权值和偏置的更新次数n、以及最大迭代次数k,并对生成对抗网络的权值和偏置进行初始化;
步骤3:生成目标图片
将引导图片与其掩码、输入图片与其掩码,直接拼接在一块,总共就有8个通道数,mask为对应图片的掩码,R、G、B分别为对应的彩色分量图像;之后再将其输入到生成器中,生成对应的含有引导图片信息的目标图片。
在传统的生成对抗网络中,首先随机初始化生成器网络G,并输入一组随机向量,以此产生一些图片,并把这些图片标注成0,即假图片,同时把来自真实分布中的图片标注成1,即真图片;而本网络是在传统网络基础上外加一张引导图片作为参照物,使生成器生成的图片效果更好,将其和当前生成器网络G中的权值和偏置进行多层反卷积计算,得到生成器网络的输出G(zi,ri),zi表示真实图片与其掩码的结合,ri表示对应的引导图片与其掩码的结合;
步骤4:计算各损失函数
4.1计算重构损失:计算重构损失,此计算公式表示真实图片与生成图片的差距,具体计算公式如下:
lossr=||G(zi,ri)-xi||1
其中,xi表示真实图片,|| ||1表示l1范数,lossr为求得损失函数;
4.2计算对抗损失:具体公式如下所示:
此公式就是来衡量pr、pz和pdata(x,r)之间的不同程度,将将要训练的数据组合成X={(x1,r1),(x2,r2),...,(xn,rn)}的数组形式,独立的由未知参数的现实数据生成分布pdata(x,r)生成,pr和pz同理,D(xi,ri)表示基于参考图片下的判别器D对于真实图片的评判结果,G(zi,ri)表示基于参考图片下的判别器D对于生成图片的评判结果,lossa为求得损失函数;
步骤5:构建目标函数及其优化
由步骤4得到的两个损失函数可以构建生成对抗网络的目标函数,具体计算公式如下所示:
这是一个最大最小优化问题,先优化D,然后再优化G,本质上是两个优化问题,首先给定G,找到一个D*使得V(G,D)最大,即在生成器固定的时候,就是通过判别器尽可能地将生成图片和真实图片区别开,也就是要最大化者之间的交叉熵,具体公式如下所示:
然后,固定D,使得最小,这个G代表的就是最好的生成器,所以G目标就是找到G*,找到G*了就找到了pz分布对应参数的,因为我们的目的就是找到一个合适的θ使得pz尽可能地去接近pdata(x,r)),具体计算公式如下所示:
步骤6:迭代完成网络训练
根据得到的目标函数,通过反向传播算法对生成对抗网络的权值和偏置进行更新,一次更新包括,对生成器网络G中的权值和偏置更新一次,然后对判别网络D中的权值和偏置更新n次;判断是否达到迭代次数k,如果迭代次数小于k,转到步骤3,反复执行步骤3至步骤5,进行生成对抗网络的训练,直至达到迭代次数;如果迭代次数达到k,生成对抗网络训练完成;
生成对抗网络包含生成网络和判别网络两个部分,两个网络单独交替训练;
步骤7:生成眨眼视频
以第k次训练后得到的权重和偏置量作为网络模型的最终参数,此时的模型已经训练完成,此时将测试集中的图片及其参考图片作为网络模型的输入,以睁眼图片为原图片,闭眼图片为相对应的参考图片,经过视频合成处理模块后得到最终的眨眼视频。
优选的,所述步骤1的标记图像眼部位置,通过闭眼识别定位算法来定位眼睛位置,具体步骤如下:
步骤1.1:对输入图像进行人脸检测,如果检测到人脸,就记录下当前人脸区域,得到人脸区域图像,如果当前输入图像没有检测到人脸,则结束对当前输入图像的处理,继续对下一帧输入图像进行人脸检测;
步骤1.2:将人脸区域图像统一尺寸后输入到用于人眼关键点检测的卷积神经网络模型,获得左眼和右眼的中心点的横纵坐标值;此步骤进一步分为两步:
1)将人脸图像统一为39*39大小的灰度图像;
2)将步骤1)得到的灰度人脸图像输入到用于人眼关键点检测的卷积神经网络模型,卷积神经网络模型输出四个坐标点值,分别对应左眼中心点的横坐标值、左眼中心点的纵坐标值、右眼中心点的横坐标值及右眼中心点的纵坐标值。
步骤1.3:根据眼睛中心点坐标值和12*6的宽高值确定眼睛所在的矩形区域,分别得到左眼和右眼的区域图像。
优选的,所述步骤5构建目标函数及其优化,其优化具体步骤如下:
5.1寻找最优D:具体计算公式如下:
优化D判别网络时,不关生成网络的事,后面的G(zi,ri)相当于已经得到的假样本,优化D的公式的第一项,使得真样本输入时,得到的结果越大越好,因为需要真样本的预测结果越接近于1越好,对于假样本,需要优化使其结果越小越好,也就是D(G(zi,ri))越小越好,因为它的标签为0。但是第一项越大,第二项就越小,这就矛盾了,所以把第二项改成D(G(zi,ri)),这样就是越大越好,两者合起来就是越大越好。
5.2寻找最优G:具体计算公式如下所示:
优化G生成网络时,由于没有真样本的参与,所以把第一项直接去掉,只剩下假样本,这时希望假样本的标签是1,所以D(G(zi,ri))越大越好,但为了统一成1-D(G(zi,ri))的形式,就变成最小化1-D(G(zi,ri)),本质上没有区别;
这两个优化模型合并起来,就成了上面的最大最小目标函数了,里面既包含了判别模型的优化,同时也包含了生成模型的以假乱真的优化。
优选的,所述步骤6迭代完成网络训练,生成对抗网络包含生成网络和判别网络两个部分,两个网络训练时采用的原则是单独交替训练,其具体步骤如下:
6.1训练判别网络:假设给一个随机原始数组,利用初始生成网络生成样本,由于此时的生成网络不是最终的生成模型,导致生成的样本不够逼真,容易被判别网络判别为假样本,将此假样本集和真样本集人为地定义标签,默认真样本集的类标签为1,而假样本集的类标签为0,现在有了真样本集以及它们的标签-都是1,假样本集以及它们的标签-都是0,单就判别网络来说,问题变成了有监督的二分类问题了,可以直接送进神经网络中训练;
6.2训练生成网络:对于生成网络,目的是生成尽可能逼真的假样本,而原始的生成网络生成的假样本的逼真程度只能通过判别网络判断,所以在训练生成网络时,需要联合判别网络才能达到训练的目的,即生成网络的训练其实是对生成-判别网络串接的训练;当通过原始数据生成了假样本后,把这些假样本的标签都设置为1,即假定这些假样本在生成网络训练的时候是真样本,此时通过判别器来生成误差,若不够逼真判别器给出的误差会很大,通过误差回传迫使生成器进行参数调整,反之,当假样本足够逼真,判别器给出的误差就会减小,生成器不做调整,此过程使得最终生成器生成的假样本逐渐逼近为真样本,起到迷惑判别器的目的;
在训练这个串接网络时,不更新判别网络参数,只是让判别网络将误差传到生成网络,更新生成网络的参数。在生成网络训练完后,可以根据用新的生成网络对原始数据生成新的假样本了,有了新的真假样本集,就又可以重复上述过程了,整个过程就叫单独交替训练;根据步骤2设置的迭代次数,交替迭代到第k次后停止,这时数据生成的假样本就很逼真了;
生成对抗网络设计的巧妙处之一,在于假样本在训练过程中的真假变换,这也是博弈得以进行的关键之处。
优选的,所述步骤7生成眨眼视频,其中眨眼频率可根据需要进行适当改变,也就是改变两张图片的交替频率。
与现有技术相比,本发明的有益效果是:本发明提出的基于生成对抗网络的眨眼视频生成算法,以传统的生成对抗网络为基础,在此基础上附加了一些条件,与现有算法相比,其显著特点在于:
(1)本网络模型在生成对抗网络的基础上将与样本图片相关的图片作为参考,是一种以监督方式训练分类器的方法,在修复图像的同时能保留图片的身份信息,使结果更加真实。
(2)相比PixelRNN,本网络模型生成采样的运行时间更短,一次产生一个样本,而PixelRNNs需要一个像素一个像素的去产生样本。
(3)相比VAE,本网络模型没有变分下界,如果鉴别器训练良好,那么生成器可以完美的学习到训练样本的分布。换句话说,本网络模型是渐进一致的,但是VAE是有偏差的。
(4)本网络模型还能应用到其他的场景,例如从自然但身份唯一的场景中填充缺失区域,只需更换数据集(足够大),并添加相对应的参考图片。
附图说明
图1是本发明的训练流程图。
图2是输入图片的排列结构。
图3是本发明的测试流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供的基于引导的生成对抗网络的眨眼视频生成方法,将引导图像引入生成对抗网络中,训练产生闭眼图片同时提供身份信息。该方法的主要思想是:因为传统神经网络对图像进行修复的结果往往很难保持修复对象的身份信息,使得最终的生成效果与原图存在一定的视觉差距,而普通的利用图片来合成眨眼视频,需要提供两张面部姿态完全一致(除了眼睛部分)的图片,使得生成条件过于受限。于是本发明通过向生成对抗网络中添加对象的额外参考信息,让网络学习并利用参考信息,从而使生成的结果更加逼真。测试结果显示符合预期。
本发明的训练流程如图1所示,网络的具体训练的流程分为以下几个步骤:
步骤1:标记图像眼部位置
将数据集分为训练集和测试集两个部分,将训练集图片分为输入图片和引导图片两个部分,一张输入图片对应一张引导图片,引导图片和输入图片为同一个人在不同场景下所拍摄的闭眼图片。对输入照片和引导图片先得到对应他们各自眼睛所在位置的掩码,可以理解为一个与图片大小相同的0/1矩阵,其中对应眼睛的区域(矩形区域)内的元素为1,其余区域元素值为0。
通过闭眼识别定位算法来定位眼睛位置,具体步骤如下:
1.1)对输入图像进行人脸检测,如果检测到人脸,就记录下当前人脸区域,得到人脸区域图像,如果当前输入图像没有检测到人脸,则结束对当前输入图像的处理,继续对下一帧输入图像进行人脸检测;
1.2)将人脸区域图像统一尺寸后输入到用于人眼关键点检测的卷积神经网络模型,获得左眼和右眼的中心点的横纵坐标值;
1.3)根据眼睛中心点坐标值和12*6的宽高值确定眼睛所在的矩形区域,分别得到左眼和右眼的区域图像。
在步骤1.2)中所述的利用卷积神经网络模型进行人眼关键点检测的具体步骤如下:
1)将人脸图像统一为39*39大小的灰度图像;
2)将步骤1)得到的灰度人脸图像输入到用于人眼关键点检测的卷积神经网络模型,卷积神经网络模型输出四个坐标点值,分别对应左眼中心点的横坐标值、左眼中心点的纵坐标值、右眼中心点的横坐标值及右眼中心点的纵坐标值。
步骤2:生成对抗网络的参数设置
根据要处理的图像数据规模,设定生成对抗网络的生成器网络G和判别网络D的网络结构、梯度惩罚系数λ、判别网络D在每次迭代中权值和偏置的更新次数n、以及最大迭代次数k(k为模型收敛时的迭代次数),并对生成对抗网络的权值和偏置进行初始化。
步骤3:生成目标图片
将引导图片与其掩码,输入图片与其掩码,直接拼接在一块,总共就有8个通道数,具体组成结构如图2所示。其中,mask为对应图片的掩码,R、G、B分别为对应的彩色分量图像;之后再将其输入到生成器中,生成对应的目标图片。
图片生成过程和传统的生成对抗网络中的图片生成很相似,在传统的生成对抗网络中,首先随机初始化生成器G,并输入一组随机向量,以此产生一些图片,并把这些图片标注成0(假图片),同时把来自真实分布中的图片标注成1(真图片)。本网络就是在原基础上外加一张引导图片作为参照物,使生成器生成的图片效果更好,将其和当前生成器网络G中的权值和偏置进行多层反卷积计算,得到生成器网络的输出G(zi,ri)。
步骤4:计算各损失函数
4.1计算重构损失:计算重构损失,此计算公式表示真实图片与生成图片的差距。具体计算公式如下:
lossr=||G(zi,ri)-xi||1
其中,xi表示真实图片zi表示真实图片与其掩码的结合,ri表示对应的引导图片与其掩码的结合,|| ||1表示l1范数,lossr为求得损失函数。
4.2计算对抗损失:具体公式如下所示:
这条公式就是来衡量pr、pz和pdata(x,r)之间的不同程度。将将要训练的数据组合成X={(x1,r1),(x2,r2),...,(xn,rn)}的数组形式,独立的由未知参数的现实数据生成分布pdata(x,r)生成,pr和pz同理。D(xi,ri)表示基于参考图片下的判别器D对于真实图片的评判结果,G(zi,ri)表示基于参考图片下的判别器D对于生成图片的评判结果,lossa为求得损失函数。
步骤5:构建目标函数及其优化
由步骤4得到的两个损失函数可以构建生成对抗网络的目标函数,具体计算公式如下所示:
这是一个最大最小优化问题,先优化D,然后再优化G,本质上是两个优化问题。首先给定G,找到一个D*使得V(G,D)最大,即在生成器固定的时候,就是通过判别器尽可能地将生成图片和真实图片区别开,也就是要最大化者之间的交叉熵。具体公式如下所示:
然后,固定D,使得最小,这个G代表的就是最好的生成器。所以G目标就是找到G*,找到G*了我们就找到了pz分布对应参数的(因为我们的目的就是找到一个合适的θ使得pz尽可能地去接近pdata(x,r)),具体计算公式如下所示:
上边的步骤已经给出了我们期望的优化目标,具体的推导分为以下两个部分:
5.1寻找最优D:
具体计算公式如下:
优化D(判别网络)时,不关生成网络的事,后面的G(zi,ri)相当于已经得到的假样本。优化D的公式的第一项,使得真样本输入时,得到的结果越大越好,因为需要真样本的预测结果越接近于1越好。对于假样本,需要优化使其结果越小越好,也就是D(G(zi,ri))越小越好,因为它的标签为0。但是第一项越大,第二项就越小,这就矛盾了,所以把第二项改成D(G(zi,ri)),这样就是越大越好,两者合起来就是越大越好。
5.2寻找最优G:
具体步骤如下所示:
优化G(生成网络)时,由于没有真样本的参与,所以把第一项直接去掉,只剩下假样本,这时希望假样本的标签是1,所以D(G(zi,ri))越大越好,但为了统一成1-D(G(zi,ri))的形式,就变成最小化1-D(G(zi,ri)),本质上没有区别。
这两个优化模型合并起来,就成了上面的最大最小目标函数了,里面既包含了判别模型的优化,同时也包含了生成模型的以假乱真的优化。
步骤6:迭代完成网络训练
根据得到的目标函数,通过反向传播算法对生成对抗网络的权值和偏置进行更新,一次更新包括,对生成器网络G中的权值和偏置更新一次,然后对判别网络D中的权值和偏置更新n次;判断是否达到迭代次数k,如果迭代次数小于k,转到步骤3,反复执行步骤3至步骤5,进行生成对抗网络的训练,直至达到迭代次数;如果迭代次数达到k,生成对抗网络训练完成。
生成对抗网络包含生成网络和判别网络两个部分,两个网络,在训练时采用的原则是单独交替训练。
6.1训练判别网络:假设给一个随机原始数组,利用初始生成网络生成样本,由于此时的生成网络不是最终的生成模型,导致生成的样本不够逼真,容易被判别网络判别为假样本。将此假样本集和真样本集人为地定义标签,默认真样本集的类标签为1,而假样本集的类标签为0。现在有了真样本集以及它们的标签(都是1)、假样本集以及它们的标签(都是0),单就判别网络来说,问题变成了有监督的二分类问题了,可以直接送进神经网络中训练。
6.2训练生成网络:对于生成网络,目的是生成尽可能逼真的假样本。而原始的生成网络生成的假样本的逼真程度只能通过判别网络判断,所以在训练生成网络时,需要联合判别网络才能达到训练的目的,即生成网络的训练其实是对生成-判别网络串接的训练。当通过原始数据生成了假样本后,把这些假样本的标签都设置为1,即假定这些假样本在生成网络训练的时候是真样本,此时通过判别器来生成误差,若不够逼真判别器给出的误差会很大,通过误差回传迫使使生成器进行参数调整,反之,当假样本足够逼真,判别器给出的误差就会减小,生成器不做调整,此过程使得最终生成器生成的假样本逐渐逼近为真样本,起到迷惑判别器的目的。
在训练这个串接网络时,不更新判别网络参数,只是让判别网络将误差传到生成网络,更新生成网络的参数。在生成网络训练完后,可以根据用新的生成网络对原始数据生成新的假样本了。有了新的真假样本集,就又可以重复上述过程了。整个过程就叫单独交替训练。根据步骤2设置的迭代次数,交替迭代到第k次后停止,这时数据生成的假样本就很逼真了。
生成对抗网络设计的巧妙处之一,在于假样本在训练过程中的真假变换,这也是博弈得以进行的关键之处。
步骤7:生成眨眼视频
以第k次训练后得到的权重和偏置量作为网络模型的最终参数,此时的模型已经训练完成。此时将测试集中的图片及其引导图片作为网络模型的输入(测试集中的图片可以根据自己的实际需求进行改变),以睁眼图片为原图片,闭眼图片为相对应的参考图片,经过视频合成处理模块后得到最终的眨眼视频,眨眼频率可根据需要进行适当改变(也就是改变两张图片的交替频率)。具体流程如图3所示。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (4)
1.一种基于引导的生成对抗网络的眨眼视频生成方法,其特征在于,包括以下步骤:
步骤1:标记图像眼部位置
将数据集分为训练集和测试集两个部分,将训练集图片分为输入图片和引导图片两个部分,一张输入图片对应一张引导图片,引导图片和输入图片为同一个人在不同场景下所拍摄的闭眼图片;对输入图片和引导图片先得到对应他们各自眼睛所在位置的掩码,可以理解为一个与图片大小相同的0/1矩阵,其中对应眼睛的区域内的元素为1,其余区域元素值为0;
步骤2:生成对抗网络的参数设置
根据要处理的图像数据规模,设定生成对抗网络的生成器网络G和判别网络D的网络结构、梯度惩罚系数λ、判别网络D在每次迭代中权值和偏置的更新次数n、以及最大迭代次数k,其中,k为模型收敛时的迭代次数,并对生成对抗网络的权值和偏置进行初始化;
步骤3:生成目标图片
将引导图片与其掩码,输入图片与其掩码,直接拼接在一块,总共就有8个通道数,其中,mask为对应图片的掩码,R、G、B分别为对应的彩色分量图像;之后再将其输入到生成器中,生成对应的含有引导图片信息的目标图片;
图片生成过程和传统的生成对抗网络中的图片生成很相似,在传统的生成对抗网络中,首先随机初始化生成器G,并输入一组随机向量,以此产生一些图片,并把这些图片标注成0,其中,0表示为假图片,同时把来自真实分布中的图片标注成1,其中,1表示为真图片;本网络就是在原基础上外加一张引导图片作为参照物,使生成器生成的图片效果更好,将其和当前生成器网络G中的权值和偏置进行多层反卷积计算,得到生成器网络的输出G(zi,ri);
步骤4:计算各损失函数
4.1计算重构损失:计算重构损失,此计算公式表示输入图片与生成图片的差距,具体计算公式如下:
lossr=||G(zi,ri)-xi||1
其中,xi表示输入图片,zi表示输入图片与其掩码的结合,ri表示对应的引导图片与其掩码的结合,|| ||1表示l1范数,lossr为求得损失函数;
4.2计算对抗损失:具体公式如下所示:
这条公式就是来衡量pr、pz和pdata(x,r)之间的不同程度,将将要训练的数据组合成X={(x1,r1),(x2,r2),...,(xn,rn)}的数组形式,独立的由未知参数的现实数据生成分布pdata(x,r)生成,pr和pz同理;D(xi,ri)表示基于参考图片下的判别器D对于输入图片的评判结果,G(zi,ri)表示基于参考图片下的判别器D对于生成图片的评判结果,lossa为求得损失函数;
步骤5:构建目标函数及其优化
由步骤4得到的两个损失函数可以构建生成对抗网络的目标函数,具体计算公式如下所示:
这是一个最大最小优化问题,先优化D,然后再优化G,本质上是两个优化问题;首先给定G,找到一个D*使得V(G,D)最大,即在生成器固定的时候,就是通过判别器尽可能地将生成图片和输入图片区别开,也就是要最大化者之间的交叉熵,具体公式如下所示:
步骤6:迭代完成网络训练
根据得到的目标函数,通过反向传播算法对生成对抗网络的权值和偏置进行更新,一次更新包括,对生成器网络G中的权值和偏置更新一次,然后对判别网络D中的权值和偏置更新n次;判断是否达到迭代次数k,如果迭代次数小于k,转到步骤3,反复执行步骤3至步骤5,进行生成对抗网络的训练,直至达到迭代次数;如果迭代次数达到k,生成对抗网络训练完成;
生成对抗网络包含生成网络和判别网络两个部分,两个网络单独交替训练;
步骤7:生成眨眼视频
以第k次训练后得到的权重和偏置量作为网络模型的最终参数,此时的模型已经训练完成,此时将测试集中的图片及其参考图片作为网络模型的输入,所述测试集中的图片可以根据自己的实际需求进行改变,以睁眼图片为原图片,闭眼图片为相对应的参考图片,经过视频合成处理模块后得到最终的眨眼视频,眨眼频率可根据需要进行适当改变,也就是改变两张图片的交替频率。
2.根据权利要求1所述的一种基于引导的生成对抗网络的眨眼视频生成方法,其特征在于:所述步骤1的标记图像眼部位置,通过闭眼识别定位算法来定位眼睛位置,具体步骤如下:
步骤1.1:对输入图像进行人脸检测,如果检测到人脸,就记录下当前人脸区域,得到人脸区域图像,如果当前输入图像没有检测到人脸,则结束对当前输入图像的处理,继续对下一帧输入图像进行人脸检测;
步骤1.2:将人脸区域图像统一尺寸后输入到用于人眼关键点检测的卷积神经网络模型,获得左眼和右眼的中心点的横纵坐标值;此步骤进一步分为两步:1)将人脸图像统一为39*39大小的灰度图像;2)将步骤1)得到的灰度人脸图像输入到用于人眼关键点检测的卷积神经网络模型,卷积神经网络模型输出四个坐标点值,分别对应左眼中心点的横坐标值、左眼中心点的纵坐标值、右眼中心点的横坐标值及右眼中心点的纵坐标值;
步骤1.3:根据眼睛中心点坐标值和12*6的宽高值确定眼睛所在的矩形区域,分别得到左眼和右眼的区域图像。
3.根据权利要求1所述的一种基于引导的生成对抗网络的眨眼视频生成方法,其特征在于:所述步骤5构建目标函数及其优化,其优化具体步骤如下:
①寻找最优D:具体计算公式如下:
优化判别网络D时,不关生成网络的事,后面的G(zi,ri)相当于已经得到的假样本;优化D的公式的第一项,使的真样本输入时,得到的结果越大越好,因为需要真样本的预测结果越接近于1越好;对于假样本,需要优化使其结果越小越好,也就是D(G(zi,ri))越小越好,因为它的标签为0,但是第一项越大,第二项就越小,这就矛盾了,所以把第二项改成D(G(zi,ri)),这样就是越大越好,两者合起来就是越大越好;
②寻找最优G:具体计算公式如下所示:
优化生成网络G时,由于没有真样本的参与,所以把第一项直接去掉,只剩下假样本,这时希望假样本的标签是1,所以D(G(zi,ri))越大越好,但为了统一成1-D(G(zi,ri))的形式,就变成最小化1-D(G(zi,ri)),本质上没有区别;
这两个优化模型合并起来,就成了上面的最大最小目标函数了,里面既包含了判别模型的优化,同时也包含了生成模型的以假乱真的优化。
4.根据权利要求1所述的一种基于引导的生成对抗网络的眨眼视频生成方法,其特征在于:所述步骤6迭代完成网络训练,生成对抗网络包含生成网络和判别网络两个部分两个网络训练时采用的原则是单独交替训练,其具体步骤如下:
①训练判别网络:假设给一个随机原始数组,利用初始生成网络生成样本,由于此时的生成网络不是最终的生成模型,导致生成的样本不够逼真,容易被判别网络判别为假样本,将此假样本集和真样本集人为地定义标签,默认真样本集的类标签为1,而假样本集的类标签为0;现在有了真样本集以及它们的标签都是1、假样本集以及它们的标签都是0,单就判别网络来说,问题变成了有监督的二分类问题了,可以直接送进神经网络中训练;
②训练生成网络:对于生成网络,目的是生成尽可能逼真的假样本,而原始的生成网络生成的假样本的逼真程度只能通过判别网络判断,所以在训练生成网络时,需要联合判别网络才能达到训练的目的,即生成网络的训练其实是对生成-判别网络串接的训练;当通过原始数据生成了假样本后,把这些假样本的标签都设置为1,即假定这些假样本在生成网络训练的时候是真样本,此时通过判别器来生成误差,若不够逼真判别器给出的误差会很大,通过误差回传迫使生成器进行参数调整,反之,当假样本足够逼真,判别器给出的误差就会减小,生成器不做调整,此过程使得最终生成器生成的假样本逐渐逼近为真样本,起到迷惑判别器的目的;
在训练这个串接网络时,不更新判别网络参数,只是让判别网络将误差传到生成网络,更新生成网络的参数;在生成网络训练完后,可以根据用新的生成网络对原始数据生成新的假样本了;有了新的真假样本集,就又可以重复上述过程了,整个过程就叫单独交替训练,根据步骤2设置的迭代次数,交替迭代到第k次后停止,这时数据生成的假样本就很逼真了。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911047213.9A CN111062899B (zh) | 2019-10-30 | 2019-10-30 | 基于引导的生成对抗网络的眨眼视频生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911047213.9A CN111062899B (zh) | 2019-10-30 | 2019-10-30 | 基于引导的生成对抗网络的眨眼视频生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062899A CN111062899A (zh) | 2020-04-24 |
CN111062899B true CN111062899B (zh) | 2023-02-17 |
Family
ID=70298455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911047213.9A Active CN111062899B (zh) | 2019-10-30 | 2019-10-30 | 基于引导的生成对抗网络的眨眼视频生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062899B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626925B (zh) * | 2020-07-24 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 一种对抗补丁的生成方法及装置 |
CN112508179A (zh) * | 2020-12-17 | 2021-03-16 | 上海依图网络科技有限公司 | 网络结构的构建方法、装置以及介质 |
CN112800898A (zh) * | 2021-01-18 | 2021-05-14 | 深圳市网联安瑞网络科技有限公司 | 行人重识别数据集增强方法、系统、终端、摄像头及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269245A (zh) * | 2018-01-26 | 2018-07-10 | 深圳市唯特视科技有限公司 | 一种基于新型生成对抗网络的眼部图像修复方法 |
CN109919018A (zh) * | 2019-01-28 | 2019-06-21 | 浙江英索人工智能科技有限公司 | 基于参考图像的图像眼睛自动打开方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160302658A1 (en) * | 2015-04-17 | 2016-10-20 | Marcello Cherchi | Filtering eye blink artifact from infrared videonystagmography |
-
2019
- 2019-10-30 CN CN201911047213.9A patent/CN111062899B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269245A (zh) * | 2018-01-26 | 2018-07-10 | 深圳市唯特视科技有限公司 | 一种基于新型生成对抗网络的眼部图像修复方法 |
CN109919018A (zh) * | 2019-01-28 | 2019-06-21 | 浙江英索人工智能科技有限公司 | 基于参考图像的图像眼睛自动打开方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于Adaboost的人脸识别眨眼检测;任安虎等;《计算机与数字工程》;20160320(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111062899A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537743B (zh) | 一种基于生成对抗网络的面部图像增强方法 | |
CN111080511B (zh) | 一种端到端的高分辨率多特征提取的人脸交换方法 | |
CN111062899B (zh) | 基于引导的生成对抗网络的眨眼视频生成方法 | |
CN109033938A (zh) | 一种基于可区分性特征融合的人脸识别方法 | |
CN110097609B (zh) | 一种基于样本域的精细化绣花纹理迁移方法 | |
CN109815893A (zh) | 基于循环生成对抗网络的彩色人脸图像光照域归一化的方法 | |
CN107463920A (zh) | 一种消除局部遮挡物影响的人脸识别方法 | |
CN109360170B (zh) | 基于高级特征的人脸修复方法 | |
GB2586260A (en) | Facial image processing | |
CN113807265B (zh) | 一种多样化的人脸图像合成方法及系统 | |
CN109583338A (zh) | 基于深度融合神经网络的驾驶员视觉分散检测方法 | |
CN106303233A (zh) | 一种基于表情融合的视频隐私保护方法 | |
CN109934062A (zh) | 眼镜摘除模型的训练方法、人脸识别方法、装置和设备 | |
CN111275638B (zh) | 基于多通道注意力选择生成对抗网络的人脸修复方法 | |
CN115914505B (zh) | 基于语音驱动数字人模型的视频生成方法及系统 | |
US20110150301A1 (en) | Face Identification Method and System Using Thereof | |
CN111259713A (zh) | 一种基于自适应加权的视线跟踪方法 | |
CN113822790B (zh) | 一种图像处理方法、装置、设备及计算机可读存储介质 | |
WO2022166840A1 (zh) | 人脸属性编辑模型的训练方法、人脸属性编辑方法及设备 | |
CN117351542A (zh) | 一种面部表情识别方法及系统 | |
CN115205903A (zh) | 一种基于身份迁移生成对抗网络的行人重识别方法 | |
KR102430743B1 (ko) | 데이터 증강 기반 사물 분석 모델 학습 장치 및 방법 | |
KR102430742B1 (ko) | 데이터 증강 기반 공간 분석 모델 학습 장치 및 방법 | |
CN112164125B (zh) | 一种监督可控的人脸多属性分离生成的方法 | |
CN111259859B (zh) | 一种基于联合变量图片生成的行人重识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |