一种从单幅图像生成人脸动画的方法与流程

文档序号:17071157发布日期:2019-03-08 23:19阅读:332来源:国知局
一种从单幅图像生成人脸动画的方法与流程

本发明涉及基于人脸动画领域,尤其涉及一种对人像图片的人脸区域进行编辑的方法。



背景技术:

人脸编辑领域以blanz及vetter的工作作为起始(volkerblanzandthomasvetter.1999.amorphablemodelforthesynthesisof3dfaces.inproceedingsofthe26thannualconferenceoncomputergraphicsandinteractivetechniques.acmpress/addison-wesleypublishingco.,187–194.),用单张图像通过拟合参数得到图像对应的三维可形变模型及纹理。该技术为后续人脸编辑工作生成更真实结果打下基础(piabreuer,kwang-inkim,wolfkienzle,bernhardscholkopf,andvolkerblanz.2008.automatic3dfacereconstructionfromsingleimagesorvideo.inautomaticface&gesturerecognition,2008.fg’08.8thieeeinternationalconferenceon.ieee,1–8.)(marcelpiotraschkeandvolkerblanz.2016.automated3dfacereconstructionfrommultipleimagesusingqualitymeasures.inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.3418–3427.)。这些技术通常会因为主成分表达能力有限使编辑后的人脸丢失细节。

有的工作基于一段目标人物视频或是一段驱动人物视频(umarmohammed,simonjdprince,andjankautz.2009.visiolization:generatingnovelfacialimages.acmtransactionsongraphics(tog)28,3(2009),57.)(pablogarrido,levivalgaerts,olerehmsen,thorstenthormahlen,patrickperez,andchristiantheobalt.2014.automaticfacereenactment.inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.4217–4224.)这类方式可以借助目标人物视频或驱动人物视频中人脸细节,在一定程度上缓解细节内容丢失问题,但是这类方式也存在一些缺陷。例如face2face(justusthies,michaelzollh¨ofer,marcstamminger,christiantheobalt,andmatthiasnie.ner.2016.face2face:real-timefacecaptureandreenactmentofrgbvideos.incomputervisionandpatternrecognition(cvpr),2016ieeeconferenceon.ieee,2387–2395.)需要目标人物视频包含充足的嘴型数据。像需要借助驱动视频来丰富生成人脸细节的工作(hadaraverbuch-elor,danielcohen-or,johanneskopf,andmichaelfcohen.2017.bringingportraitstolife.acmtransactionsongraphics(tog)36,6(2017),196.),生成结果质量随着目标人物与驱动人物图像差别增大而下降。另外这些方式没有任何手段保证生成结果符合真实图像分布。

最近,生成对抗神经网络的发展,为该领域提供新思路,比如利用几何信息作为网络训练的引导,采用对抗训练的方式,使网络生成结果符合几何信息与真实人脸图像分布(fengchunqiao,naimingyao,ziruijiao,zhihaoli,huichen,andhonganwang.2018.geometry-contrastivegenerativeadversarialnetworkforfacialexpressionsynthesis.arxivpreprintarxiv:1802.01822(2018).)(lingxiaosong,zhihelu,ranhe,zhenansun,andtieniutan.2017.geometryguidedadversarialfacialexpressionsynthesis.arxivpreprintarxiv:1712.03474(2017).)。但是这些方法一般只能处理剪裁后的人脸区域,非人脸区域无法进行处理,且生成结果质量随目标几何信息与原始图像几何信息差别增大而下降。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供了一种从单幅图像生成人脸动画的方法。本发明通过图像全局形变技术实现刚体及非刚体变化带来的非线性几何变化并保证人脸区域与非人脸区域的连贯性,再利用生成对抗神经网络优化形变图像的人脸区域纹理,最后利用生成对抗神经网络填充口腔区域,如此得到保留目标人物特征,符合目标特征点位置,保证人脸区域与非人脸区域连贯性,且符合真实人脸图像分布的最终结果。该方法达到最先进的肖像动画生成技术的水平,且可实现实时处理,具有很高的实用价值。

本发明的目的是通过以下技术方案来实现的,一种从单幅图像生成人脸动画的方法,包括以下步骤:

(1)图像中人脸特征点生成:计算图像中人脸与背景区域的特征点;

(2)图像全局二维形变:基于步骤1得到的初始特征点,以及用户或程序指定的特征点变化,通过全局二维形变,生成符合特征点约束的形变图像;

(3)人脸区域细节的优化:通过生成对抗神经网络来优化形变图像中人脸区域的纹理,所述人脸区域不包含口腔区域;

(4)口腔区域纹理的生成:通过生成对抗神经网络来合成口腔区域纹理,并生成最后的人脸动画图像。

进一步地,所述步骤1包括如下子步骤:

(1.1)人脸区域特征点的生成:检测目标人物初始图像脸部二维特征点、人物身份系数、表情系数及刚体变换系数,通过传递驱动人物的表情系数及刚体变换系数,生成对应的三维混合形变模型,将其投影到二维平面,得到偏移后的人脸特征点。

(1.2)背景区域特征点的生成:检测并追踪驱动视频中的非人脸区域特征点,并通过下式将其转化到目标图像中:

其中,s表示驱动人物,t表示目标人物,是目标人物偏移后的非人脸区域特征点,是驱动人物当前第i帧对应的特征点,是目标人物初始人脸特征点与驱动人物初始人脸特征点之间的刚体变换矩阵。通过上式,可以得到目标图像的非人脸区域特征点。

进一步地,所述步骤2具体为:根据偏移后的目标人物特征点与初始特征点,计算得到每个特征点的偏移值。以人脸区域特征点和背景区域特征点作为顶点,进行三角化,并对每个三角形中顶点偏移值插值得到偏移图。另外为了消除非人脸区域偏移值不连续问题,通过高斯核对偏移图中非人脸区域进行滤波,高斯核半径随着距离人脸区域距离增大而增大,其范围在[7,32]。最后通过上述偏移图,将原始图像中相应位置的像素转移到当前图像位置,如此得到形变图像。

进一步地,所述步骤3包括如下子步骤:

(3.1)生成并训练学习基于形变引导的生成对抗神经网络(简称为wg-gan)的生成器和判别器;

(3.2)对形变图像及初始图像人脸区域进行剪裁对齐,根据两者的特征点偏移(经归一化)生成偏移图,以形变图像人脸区域及偏移图作为wg-gan中优化器输入,得到经优化的不含口腔区域的人脸图像。

进一步地,所述步骤4包括如下子步骤:

(4.1)生成并训练学习适用于口腔内部纹理合成的生成对抗神经网络(简称为hrh-gan)的生成器和判别器。

(4.2)根据特征点生成步骤3.2得到人脸图像对应的口腔区域掩码图,并将人脸图像与掩码图作为hrh-gan中生成器输入,得到填充口腔纹理后的完整人脸图像。

本发明的有益效果是,本发明首次提出结合全局形变与生成对抗神经网络的从单幅图像生成人脸动画的方法,借助全局形变实现刚体与非刚体变化带来的几何特征变化且保证人脸与非人脸区域边界的连贯性,另外借助两个训练学习得到的生成对抗神经网络来优化人脸区域纹理并生成口腔区域纹理,使生成人脸符合真实人脸图像分布。本方法达到当前最先进的人脸图像动画生成技术的水平,且可实时处理。本发明可以用于人脸图像编辑,基于单幅图像的肖像动画生成,以及视频中人脸表情的编辑等应用。

附图说明

图1是应用本发明的方法对第一个目标人物肖像图片进行编辑的各阶段生成结果图。

图2是应用本发明的方法对第二个目标人物肖像图片进行编辑的各阶段生成结果图。

图3是应用本发明的方法对第三个目标人物肖像图片进行编辑的各阶段生成结果图。

图4是应用本发明的方法对第四个目标人物肖像图片进行编辑的各阶段生成结果图。

图5是应用本发明的方法对第五个目标人物肖像图片进行编辑的各阶段生成结果图。

具体实施方式

本发明的核心技术利用全局形变技术处理刚性及非刚性变化带来的几何特征变化,并利用wg-gan优化人脸区域细节(不含口腔),用hrh-gan填补口腔区域细节。该方法主要分为如下四个主要步骤:人像特征点生成、根据特征点变化进行图像全局二维形变、人脸区域细节的优化(不含口腔区域)、口腔区域纹理的生成。

下面结合附图1-5详细说明本发明的各个步骤。图1-5是应用本发明的方法对五个目标人物肖像图片进行编辑的各阶段生成结果。输入图像经过第一个箭头后得到全局形变结果,再经过第二个箭头得到优化人脸细节(不含口腔)后的结果图,经过最后一个箭头得到填补口前区域后最终生成结果。

1.人像特征点生成:使用特征点检测算法,得到图像中人脸及背景区域特征点。

1.1人脸区域特征点的生成

本发明参考算法(chencao,qiminghou,andkunzhou.2014a.displaceddynamicexpressionregressionforreal-timefacialtrackingandanimation.acmtransactionsongraphics(tog)33,4(2014),43.)来检测目标人物初始图像脸部二维特征点、人物身份系数、表情系数及刚体变换系数。通过传递驱动人物的表情系数及刚体变换系数,我们可以生成对应的三维混合形变模型,将其投影到二维平面,我们就可以得到偏移后的人脸特征点。

1.2背景区域特征点的生成

本发明中非人脸区域特征点生成方法参考算法(hadaraverbuch-elor,danielcohen-or,johanneskopf,andmichaelfcohen.2017.bringingportraitstolife.acmtransactionsongraphics(tog)36,6(2017),196.)。因为驱动人物图像与目标人物图像在非背景区域并没有鲁邦的对应关系,因此该方法检测并追踪驱动视频中的非人脸区域特征点,并通过下式将其转化到目标图像中:

其中,s表示驱动人物,t表示目标人物,是目标人物偏移后的非人脸区域特征点,是驱动人物当前第i帧对应的特征点,是目标人物初始人脸特征点与驱动人物初始人脸特征点之间的刚体变换矩阵。通过上式,我们可以得到目标图像的非人脸区域特征点。

2.图像全局二维形变:基于初始特征点,根据用户或程序指定的特征点变化,通过全局二维形变,生成符合特征点约束的形变图像。

2.1形变

根据偏移后的目标人物特征点与初始特征点,计算得到每个特征点的偏移值。以特征点(非人脸区域特征点与人脸区域特征点)作为顶点,进行三角化,并对每个三角形中顶点偏移值插值得到偏移图。另外为了消除非人脸区域偏移值不连续问题,通过高斯核对偏移图中非人脸区域进行滤波,高斯核半径随着距离人脸区域距离增大而增大,我们采用了5种半径的高斯核,其范围在[7,32]。最后通过上述偏移图,将原始图像中相应位置的像素转移到当前图像位置,如此得到形变图像,效果可以参考图1至图5中第一个箭头指向的结果。

3.人脸区域细节的优化(不含口腔区域):通过wg-gan优化形变图像中人脸区域的纹理(不包含口腔区域)。

3.1训练wg-gan

训练数据。从公共数据集mmi(majapantic,michelvalstar,ronrademaker,andludomaat.2005.web-baseddatabaseforfacialexpressionanalysis.inmultimediaandexpo,2005.icme2005.ieeeinternationalconferenceon.ieee,5–pp.),mug(nikiaifanti,christospapachristou,andanastasiosdelopoulos.2010.themugfacialexpressiondatabase.inimageanalysisformultimediainteractiveservices(wiamis),201011thinternationalworkshopon.ieee,1–4.),cfd(debbiesma,joshuacorrell,andberndwittenbrink.2015.thechicagofacedatabase:afreestimulussetoffacesandnormingdata.behaviorresearchmethods47,4(2015),1122–1135.)作为数据来源。以视频为单位,对每段视频以10帧为间隔进行采样得到图像ii,并检测其人脸特征点得到pi。在

{ii|0<i<n}中选取中性表情图像i*,并得到其对应特征点p*,n为自然数。用p*及pi计算得到特征点偏移di,并通过对pi三角化及对di插值形变i*,得到ii对应的形变图像wi。另外在所有训练数据上统计人脸各部分特征点偏移的标准差,并用上述标准差对di按部位进行归一化处理,得到归一化的并以此生成偏移图mi,最终以(wi,mi,ii)组成一组训练数据。另外我们利用翻转与裁剪操作进行数据增广。

网络结构。生成器(优化器)网络结构是一种编码解码结构。编码过程中为了避免网络压缩过多信息,我们仅将输入图像下采样到原本四分之一大小,即下采样两次,并让经过下采样的特征图通过4块残差模块(kaiminghe,xiangyuzhang,shaoqingren,andjiansun.2016.deepresiduallearningforimagerecognition.inproceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.770–778.),最后通过缩放卷积(jongauthier.2014.conditionalgenerativeadversarialnetsforconvolutionalfacegeneration.classprojectforstanfordcs231n:convolutionalneuralnetworksforvisualrecognition,wintersemester2014,5(2014),2.)输出原始尺寸大小图像。另外网络在对应的下采样与上采样中添加跳跃式传递(phillipisola,jun-yanzhu,tinghuizhou,andalexeiaefros.2017.image-to-imagetranslationwithconditionaladversarialnetworks.proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition(2017).)来保证图像结构的正确性,即含有两次跳跃式传递,因此网络结构可以表示为(c64,k7,s1,lrelu,skip1)->(c128,k5,s2,lrelu,skip2)->(c256,k3,s2,lrelu)->4*(rb256,k3,s1,lrelu)->(rc128,k3,r2,lrelu,skip1)->(rc64,k3,r2,lrelu,skip2)->(c3,k3,s1,sigmoid),其中c、rb、rc分别表示卷积层、残差模块、缩放卷积层,其后的数字表示该层输出的深度大小;k表示该模块中的核,其后的数字表示核的大小;s后的数字表示卷积层或残差模块中步幅大小,若该层进行下采样,则s2,否则s1;r后的数字表示缩放卷积层缩放比例,即当需要上采样是r2;另外skip表示跳跃式传递,其后的数字表示编号,编号相同表示属于同一条跳跃式传递;lrelu(andrewlmaas,awniyhannun,andandrewyng.2013.rectifiernonlinearitiesimproveneuralnetworkacousticmodels.inproc.icml,vol.30.3.)及sigmoid表示使用的激活函数。分辨器网络结构是一种编码结构,其通过卷积层将输入内容编码成特征向量,并利用全连接层输出用来衡量输入内容真实度的值,其结构可以表示为(c64,k7,s1,lrelu)->(c128,k5,s2,lrelu)->(c256,k3,s2,lrelu)->(c512,k3,s2,lrelu)->(c512,k3,s2,lrelu)->(c512,k3,s2,lrelu)->(fc1),其中fc表示全连接层,其后的数字表示输出为1,全连接层没有任何激活函数。

损失函数。用函数r(xw,m)来表示优化器,其中xw是输入的形变图像,m是偏移图。用d(x,m)来表示分辨器,其中x是优化器生成结果r(xw,m)或真实图像xg。训练网络的损失函数可以用下式定义:

minr表示对r优化器中参数求导,使得目标式子值最小化;maxd表示对d分辨器中参数求导,使得目标式子值最大化;表示对每个mini-batch求期望;l(r)为正则项,是r(xw,m)与xg之间的l1损失函数,用以约束优化器优化结果,其具体形式如下:

α是超参,用来控制l(r)的比重,在本发明中等于0.004。另外式子:

是对抗损失函数,我们采用wgan(martinarjovsky,soumithchintala,andl′eonbottou.2017.wassersteingan.arxivpreprintarxiv:1701.07875(2017).)中使用的损失函数。在训练过程中,为了提高对抗训练效果,在分辨器训练过程中,我们参考工作(ashishshrivastava,tomaspfister,onceltuzel,joshsusskind,wendawang,andrusswebb.2017.learningfromsimulatedandunsupervisedimagesthroughadversarialtraining.intheieeeconferenceoncomputervisionandpatternrecognition(cvpr),vol.3.6.),将当前迭代优化器生成结果结合优化器历史结果作为分辨器输入。

3.2优化人脸区域细节

根据人脸特征点,对形变图像及初始人脸图像进行裁剪,分别得到两者的人脸区域图像,并对两者的人脸区域图像进行对齐,得到ii与i*及其对应人脸特征点pi与p*。用pi与p*做差,得到由i*到ii的特征点偏移di。在实现本发明过程中我们发现不论是在训练过程中还是在实际运行中,如果直接用原始di生成偏移图,像眉毛特征点的偏移会被网络忽略,因为相比嘴部特征点,眉毛、鼻子、眼睛等部位的偏移范围要小很多,但是这些部位常常在微小的几何特征变化下就会产生明显的纹理变化,因此不论是在训练中还是实际运行中,我们都需要对di按部位进行归一化处理,归一化操作如下:在整个训练数据集上按部位计算偏移值的标准差,并利用上述标准差,对di相应部位进行归一化处理得到并通过以特征点为顶点进行三角化操作及插值操作,将生成偏移图mi。将ii与mi进行拼接,得到网络输入。输入网络后便可得到经过优化后的人脸图像,效果可以参考图1至图5第二个箭头之后的结果。

4口腔区域纹理的生成:通过hrh-gan生成口腔区域纹理。

4.1训练hrh-gan

训练数据。数据来源于mmi、mug、cfd及互联网数据。通过收集人脸图像,并检测其人脸特征点,通过口腔区域特征点,生成其对应口腔区域掩码图。人脸图像及对应的口腔区域掩码图组成hrh-gan训练数据。另外,与训练wg-gan类似,我们也同样使用翻转与裁剪操作进行数据增广。

训练方式。本发明中hrh-gan网络结构及训练方式基于算法(satoshiiizuka,edgarsimo-serra,andhiroshiishikawa.2017.globallyandlocallyconsistentimagecompletion.acmtransactionsongraphics(tog)36,4(2017),107.)。在该算法中,全卷积神经网络作为生成器,用于补全图像。另外由全局判别器及局部判别器的组合保证生成图像全局及局部的合理性。本发明采用相似的生成器来生成口腔区域,由全局判别器及局部判别器帮助生成器生成合理的口腔区域细节,我们采用的损失函数与iizuka的相同。在实验过程中,我们发现在低分辨率上,利用上述方式训练可以得到令人满意的结果,但是在高分辨率数据集上,直接训练得到的牙齿区域细节不自然,因此我们采用逐渐增加分辨率的训练策略训练生成对抗网络(terokarras,timoaila,samulilaine,andjaakkolehtinen.2017.progressivegrowingofgansforimprovedquality,stability,andvariation.arxivpreprintarxiv:1710.10196(2017).),我们全局分辨器与局部分辨器输入大小比例为8:3。在分辨率为128*128的初始训练阶段,我们使用与iizuka在128分辨率下相似的网络结构,但是生成器第一层网络由(c64,k5,s1)改为(c64,k1,s1)->(c64,k3,s1),并将最后两层网络由(c32,k3,s1)->(c3,k3,s1)改为(c3,k1,s1);全局分辨器第一层由(c64,k5,s2)改为(c32,k1,s1)->(c64,k5,s2);局部分辨器第一层改法同上,并将最后一层卷积层删除。在第二阶段,我们将生成器第一阶段时第一层卷积层由(c64,k1,s1)改为三层卷积层(c16,k1,s1)->(c32,k5,s1)->(c64,k3,s2);最后输出层(c3,k1,s1)改为(dc32,k4,s2)->(c16,k3,s1)->(c3,k1,s1),其中dc表示反卷积,其后数字表示输出的深度大小;全局分辨器将第一层(c32,k1,s1)改为(c16,k1,s1)->(c32,k5,s2);局部分辨器第一层改法与全局分辨器相同;另外网络中间层结构与第一阶段保持一致,且参数值由第一阶段继承而来。通过如此训练可以得到自然的高分辨率口腔区域纹理,结果可参考图1至图5第三个箭头之后的结果。

4.2生成口腔区域纹理

根据人脸特征点,计算3.2中得到的优化后的人脸图像对应的口腔区域掩码图,并将该人脸图像与口腔区域掩码图进行拼接,作为hrh-gan生成器的输入,如此得到填补口腔区域后的人脸图像。最后将人脸图像通过平移与旋转,与形变图像中人脸位置对齐,并与形变图像中非人脸区域进行组合,得到最终目标人物肖像图。

实施实例

发明人在一台配备intelcorei7-4790中央处理器,nvidiagtx1080ti图形处理器(11gb)的机器上实现了本发明的实施实例。发明人采用所有在具体实施方式中列出的参数值,得到了附图5中所示的所有实验结果。本发明可以有效且自然地将互联网中的人物肖像根据驱动人物生成肖像动画。对于一张640*480图像,整个处理流程大概需要55毫秒:特征点检测与追踪大概需要12毫秒;全局图像形变大概需要12毫秒;人脸区域纹理的优化大概需要11毫秒;口腔区域细节填补大概需要9毫秒;剩下时间主要用于cpu及gpu之间数据的转移;另外wg-gan与hrh-gan分别需要训练12小时与20小时,且两者都仅需训练一次,便可用于任何目标人物图像。

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