公开/公告号CN112613460A
专利类型发明专利
公开/公告日2021-04-06
原文格式PDF
申请/专利权人 深圳威富优房客科技有限公司;
申请/专利号CN202011604398.1
申请日2020-12-30
分类号G06K9/00(20060101);G06K9/62(20060101);G06T5/00(20060101);G06T5/30(20060101);G06T15/00(20110101);G06N3/063(20060101);
代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);
代理人张萌
地址 518100 广东省深圳市宝安区西乡街道桃源社区航城工业区展丰工业园A1栋501
入库时间 2023-06-19 10:29:05
技术领域
本发明涉及图像生成领域,尤其涉及一种人脸生成模型的建立方法和人脸生成方法。
背景技术
正面人脸图像在人脸识别、视频监控以及身份验证等方面有较广泛的应用。且因机器学习和深度学习技术热潮,人脸识别的应用和准确率大幅度上升。因此,通过非正面人脸图像生成正面图像也慢慢被人关注。
然而,基于深度学习的正面人脸图像生成方法,严重依赖于具有同一人的多视图图像的数据集,生成结果受到数据源的规模和范围的限制,且难以考虑图像中人的姿态信息,导致生成的正面人脸不够真实。
发明内容
针对上述生成正面图像受数据源限制且生成结果效果不真实的情况,本发明提出一种人脸生成模型的建立方法和人脸生成方法。
第一方面,本发明的第一个实施方案提供一种人脸生成模型的建立方法,包括:
获取训练集中的单一视角的原始侧面人脸图像;
根据原始侧面人脸图像获取人脸的三维顶点矩阵和第一姿态信息;
将三维顶点矩阵和第一姿态信息映射至二维空间,得到第一纹理信息;
通过三维顶点矩阵、第一姿态信息以及第一纹理信息,得到带有伪影的正面人脸图像和带有伪影的侧面人脸图像;
将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络,生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像;
将原始侧面人脸图像和不带有伪影侧面人脸图像输入至鉴别网络,得到损失函数值;
以最小化损失函数值为目标,训练生成网络和鉴别网络,得到人脸生成模型。
进一步的,上述人脸生成模型的建立方法,还包括:
将三维顶点矩阵、第一姿态信息以及第一纹理信息输入至神经网格渲染器,得到经过渲染的侧面人脸图像;
对经过渲染的侧面人脸图像进行图像腐蚀,并提取经过图像腐蚀的正面人脸图像的第二纹理信息;
对第一姿态信息执行预设的第一旋转操作,得到第二姿态信息;
将三维顶点矩阵、第二姿态信息以及第二纹理信息输入至神经网格渲染器,得到带有伪影的正面人脸图像,并通过带有伪影的正面人脸图像得到带有伪影的侧面人脸图像。
更进一步的,上述人脸生成模型的建立方法,还包括:
对带有伪影的正面人脸图像进行图像腐蚀,并提取经过图像腐蚀的带有伪影的正面人脸图像的第三纹理信息;
对第二姿态信息执行预设的第二旋转操作,得到第三姿态信息;
将三维顶点矩阵、第三姿态信息以及第三纹理信息输入至神经网格渲染器,得到带有伪影的侧面人脸图像。
进一步的,上述人脸生成模型的建立方法,还包括:
将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络中依次相连的下采样层、特征提取层,得到第一特征向量和第二特征向量;
其中,下采样层至少包含依次相连的一个7*7的卷积层和四个3*3的卷积层,特征提取层包括依次相连的九个特征提取块,每个特征提取块至少包括一个注意力层、一个3*3的卷积层以及一个SPADE层;
将第一特征向量和第二特征向量输入至生成网络中的上采样层,生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像;
其中,上采样层至少包含依次相连的四个3*3的卷积层和一个7*7的卷积层。
进一步的,上述人脸生成模型的建立方法,还包括:
获取原始侧面人脸图像的第一光照数据和不带有伪影的正面人脸图像的第二光照数据,并通过第一光照数据和第二光照数据得出第一光照损失值;
以最小化第一光照损失值为目标,优化不带有伪影的正面人脸图像以得到第一图像;
将原始侧面人脸图像作为输入图像,第一图像作为引导图像,输入至引导滤波器,更新第一图像以得到第二图像;
获取第二图像的第三光照数据,并通过第一光照数据和第三光照数据得出第二光照损失值;
以最小化第二光照损失值为目标,再次优化第二图像。
第二方面,本发明的第二个实施方案提供一种人脸生成方法,包括:
获取单一视角的侧面人脸图像;
根据侧面人脸图像获取人脸的三维顶点矩阵和姿态信息;
将三维顶点矩阵和姿态信息映射至二维空间,得到侧面人脸图像的纹理信息;
通过三维顶点矩阵、姿态信息以及纹理信息,得到带有伪影的正面人脸图像;
将正面人脸图像输入至人脸生成模型,生成不带有伪影的正面人脸图像,其中,人脸生成模型通过上述第一方面中方法得到。
第三方面,本发明的第三个实施方案提供一种人脸生成模型的建立装置,包括:
样本获取模块,用于获取训练集中的单一视角的原始侧面人脸图像;
第一提取模块,用于根据原始侧面人脸图像获取人脸的三维顶点矩阵和第一姿态信息;
第二提取模块,用于将三维顶点矩阵和第一姿态信息映射至二维空间,得到第一纹理信息;
伪影图像获取模块,用于通过三维顶点矩阵、第一姿态信息以及第一纹理信息,得到带有伪影的正面人脸图像和带有伪影的侧面人脸图像;
生成模块,用于将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络,生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像;
鉴别模块,用于将原始侧面人脸图像和不带有伪影侧面人脸图像输入至鉴别网络,得到损失函数值;
训练模块,用于以最小化损失函数值为目标,训练生成网络和鉴别网络,得到人脸生成模型。
第四方面,本发明的第四个实施方案提供一种人脸生成装置,包括:
获取模块,用于获取单一视角的侧面人脸图像;
第一采集模块,用于根据侧面人脸图像获取人脸的三维顶点矩阵和姿态信息;
第二采集模块,用于将三维顶点矩阵和姿态信息映射至二维空间,得到侧面人脸图像的纹理信息;
伪影图像生成模块,用于通过三维顶点矩阵、姿态信息以及纹理信息,得到带有伪影的正面人脸图像;
伪影消除模块,用于将正面人脸图像输入至人脸生成模型,生成不带有伪影的正面人脸图像,其中,人脸生成模型通过如上述第一方面中的任一项人脸生成模型的建立方法得到。
第五方面,本发明的第五个实施方案提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中的人脸生成模型的建立方法或第二方面中的人脸生成方法。
第六方面,本发明的第六个实施方案提供一种计算机可读介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中的人脸生成模型的建立方法或第二方面中的人脸生成方法。
上述人脸生成模型的建立方法,获取训练集中的单一视角的原始侧面人脸图像,再从原始侧面人脸图像中获取人脸的三维顶点矩阵和第一姿态信息;将三维顶点矩阵和第一姿态信息映射至二维空间,得到第一纹理信息;基于三维顶点矩阵、第一姿态信息以及第一纹理信息,得到带有伪影的正面人脸图像和带有伪影的侧面人脸图像;再将两张图像输入至生成网络以去除伪影,即生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像;通过将原始侧面人脸和不带有伪影的侧面人脸图像输入至鉴别网络中,得出不带有伪影的侧面人脸图像的质量,并间接地得出生成的正面人脸图像的质量;通过不带有伪影的侧面人脸图像和原始侧面人脸得到损失函数值,并基于最小化损失函数值来更新训练生成网络和鉴别网络,由此得到训练好的人脸生成模型。本发明提供的人脸生成模型的建立方法,利用单视角下的原始侧面人脸图像来生成带有伪影的正面人脸和带有伪影的侧面人脸,并利用对抗网络消除两张人脸中的伪影,并通过侧面人脸的质量间接地判别正面人脸的生成效果。基于上述方案,本发明提供了人脸生成模型的建立方法解决了当前正面人脸图像生成受数据源规模和范围限制的问题,且生成图像时还考虑到了图像中人的姿态信息,保证了生成图像的真实性;再通过侧面人脸的质量间接判断正面人脸的质量,进一步提升了图像的生成效果。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明人脸生成模型的建立方法的一种流程示意图;
图2示出了一张生成的带有伪影的人脸示意图;
图3示出了本发明人脸生成模型的建立方法中S140的一种流程示意图;
图4示出了本发明人脸生成模型的建立方法中S140的另一种流程示意图;
图5示出了一张通过带有伪影的正面人脸生成不带有伪影的正面人脸的流程示意图;
图6示出了本发明人脸生成模型的建立方法的另一种流程示意图;
图7示出了本发明人脸生成方法的一种流程示意图;
图8示出了本发明人脸生成模型的建立装置的一种结构示意图;
图9示出了本发明人脸生成装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
本实施例中,参见图1,示出了一种人脸生成模型的建立方法,包括以下步骤:
S110,获取训练集中的单一视角的原始侧面人脸图像。
具体的,本申请用于训练神经网络的训练集,包含多张不同光照下的不同视角下的侧面人脸图像;但训练时只提取同一视角下的侧面人脸图像来进行训练。
S120,根据原始侧面人脸图像获取人脸的三维顶点矩阵和第一姿态信息。
具体的,本实施例通过3DDFA-V2(3Dimensional Dense Face Alignment-Version2,3维密集人脸对齐第二版)算法提取原始侧面人脸图像中的三维顶点矩阵和姿态信息。
其中,3DDFA-V2算法是一种3D辅助短视频合成方法,能模拟平面内和平面外的人脸移动,从而将一幅静止图像转换为短视频,并根据静态图像得到人脸的三维顶点坐标,以及对人物的姿态做出估计。
姿态信息,即图像中三维目标物体的方位指向,以矩阵的形式表示。本实施例中通过3DDFA-V2对侧面人脸图像完成人的姿态估计,从而得到人的姿态信息,即人的身体朝向和视线方向等信息。
S130,将三维顶点矩阵和第一姿态信息映射至二维空间,得到第一纹理信息。
具体的,人脸在三维空间中的各个顶点,在RGB(Red-Green-Blue)空间上都存在相应的纹理信息。本实施例通过正交投影将三维图像中各个顶点映射至二维空间中,从而得到人脸图像中各个顶点的纹理特征。
进一步的,通过正交投影完成顶点映射时,投影的结果,即第一纹理信息与三维顶点坐标中Z轴的坐标无关,使得图像由二维空间旋转至三维空间,存在多个相同的顶点,且这些顶点的纹理特征相同。因此,本实施例仅将三维空间中的纹理信息映射至人脸的三维顶点矩阵中,Z轴数值最大的顶点。由此,在后续步骤中,保证了纹理信息的合理性,提高了图像的生成质量。
示范性的,第一纹理信息的获得可通过以下公式来说明:
K
其中,[0,0,1,]*v
S140,通过三维顶点矩阵、第一姿态信息以及第一纹理信息,得到带有伪影的正面人脸图像和带有伪影的侧面人脸图像。
具体的,将三维顶点矩阵、第一姿态信息以及第一纹理信息,完成旋转、渲染以及腐蚀等操作后,得到正面人脸图像和侧面人脸图像;由于提取的纹理特征是原始侧面人脸图像的纹理,故生成人脸的另一侧的纹理是不确定的。因此,通过旋转、渲染以及腐蚀等操作后得到的正面人脸图像和侧面人脸图像带有伪影。
S150,将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络,生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像。
示范性的,参照图2,图2示出了一张带有伪影的人脸示意图,其中,151为伪影。
S160,将原始侧面人脸图像和不带有伪影侧面人脸图像输入至鉴别网络,得到损失函数值。
具体的,本实施例通过对抗网络来消除正面人脸图像和侧面人脸图像中的伪影,再将原始侧面人脸图像和生成网络输出的不带有伪影侧面人脸图像输入至鉴别网络中,通过鉴别网络来判断生成的不带有伪影的侧面人脸图像的质量,从而间接的得出生成的不带有伪影的正面人脸图像的质量。
优选的,鉴别网络可以是基于pix2pixHD的多层次的判别器;损失函数值包括对抗损失、特征匹配损失以及感知损失。
具体的,对抗损失通过以下公式得到:
L
其中,G代表生成网络,D代表鉴别网络,D(I
而特征匹配损失则是通过鉴别器各个层次提取的原始侧面人脸图像的特征和不带有伪影的正面人脸图像的特征的距离来计算,具体公式如下:
其中,N
感知损失则是通过预先训练好的VGG网络来计算,即通过VGG分别提取原始侧面人脸图像和生成的不带有伪影的侧面人脸图像的特征,基于两张图像的特征计算损失,具体公式如下:
类似的,与特征匹配损失相似,计算感知损失同样是通过VGG各层的网络计算原始侧面人脸图像和生成的不带有伪影的侧面人脸图像的特征;本实施例中,感知损失用于调整生成结果和生成的身份。
综上,本实施例中的损失函数值通过以下公式得到:
L
其中,λ
基于上述损失函数的获取的方式,使得生成图像和原始图像的差异更为精确,从而保证网络的更新更为合理,并提高了训练速度和效率。
S170,以最小化损失函数值为目标,训练生成网络和鉴别网络,得到人脸生成模型。
鉴别网络基于原始侧面人脸图像和的不带有伪影侧面人脸图像的差异得出损失函数值;再以最小化损失函数值反向更新生成网络和鉴别网络,当F1参数(F1-score)足够大或是损失值稳定至以极小值时,则认为生成网络和鉴别网络已训练好,换言之,当生成网络所生成的图像足够真实,鉴别网络的难以判断出生成图像和真实图像的差异时,得到本实施例的人脸生成模型。
基于上述方案,本实施例提供的人脸生成模型的建立方法,解决了当前正面人脸图像生成受数据源规模和范围限制的问题,且生成图像时还考虑到了图像中人的姿态信息,保证了生成图像的真实性;再通过侧面人脸的质量间接判断正面人脸的质量,进一步提升了图像的生成效果。
进一步的,参照图3,图3示出了本发明人脸生成模型的建立方法中S140的一种流程示意图,即上述S140包括以下步骤:
S141,将三维顶点矩阵、第一姿态信息以及第一纹理信息输入至神经网格渲染器,得到经过渲染的侧面人脸图像。
可选的,本实施例通过Neural Mesh Render模型来完成图像的渲染。
S142,对经过渲染的侧面人脸图像进行图像腐蚀,并提取经过图像腐蚀的正面人脸图像的第二纹理信息。
具体的,由于本实施例是通过3DDFA_V2来获取三维顶点矩阵和姿态信息,再将三维顶点坐标矩阵和姿态信息映射至二维平面后,获得纹理信息;在3DDFA_V2获取三维顶点矩阵时,可能会得到错误的顶点,而错误的顶点的投影会出现在图像的非正常位置,导致渲染和旋转时,原始图像的纹理信息分配到错误的位置。
因此,为了保证正面图像和侧面图像的真实性,本实施例对上述经过渲染的正面人脸图像进行图像腐蚀(Erode),以消除正面人脸图像中不正常位置上的纹理信息。消除错误的纹理信息后,再对进行过图像腐蚀后的图像进行特征提取,以得到侧面人脸的纹理信息。
可选的,上述图像腐蚀操作,可以根据三维顶点映射至二维空间后,得到的人脸的边缘和所有顶点的纹理信息的均值来完成。
S143,对第一姿态信息执行预设的第一旋转操作,得到第二姿态信息;
可选的,将第一姿态信息,即姿态矩阵乘以一个旋转矩阵,从而将当前方向的人物姿态旋转,以得到正面视角下的人脸姿态。
S144,将三维顶点矩阵、第二姿态信息以及第二纹理信息输入至神经网格渲染器,得到带有伪影的正面人脸图像,并通过带有伪影的正面人脸图像得到带有伪影的侧面人脸图像。
示范性的,可以通过以下公式来说明带有伪影的正面人脸图像的获得:
Rd(x
整张正面图像的渲染可通过以下公式理解:
Rd=Render({V,P,T})
其中,V代表三维顶点矩阵,P代表姿态信息,T代表纹理信息。
基于上述渲染公式,将三维顶点矩阵、第二纹理信息以及第二姿态信息输入神经网格渲染器,从而得到带有伪影的正面人脸图像;获得带有伪影的正面人脸图像后,再对带有伪影的正面人脸图像进行图像处理,如旋转、渲染等操作以得到侧面人脸图像。
在一种可行的实施方式中,参照图4,图4示出了本发明人脸生成模型的建立方法中S140的另一种流程示意图,即上述S144中得到带有伪影的正面人脸图像的步骤之后,通过带有伪影的正面人脸图像得到带有伪影的侧面人脸图像的步骤包括:
S145,对带有伪影的正面人脸图像进行图像腐蚀,并提取经过图像腐蚀的带有伪影的正面人脸图像的第三纹理信息。
具体的,得到带有伪影的正面人脸时进行旋转和渲染,不可避免的会将错误的纹理分配至错误的顶点,因此,为进一步提升生成的图像的质量,对带有伪影的正面人脸图像进行图像腐蚀,并从腐蚀后的人脸图像中提取纹理特征,即第三纹理信息。
S146,对第二姿态信息执行预设的第二旋转操作,得到第三姿态信息。
具体的,将第二姿态,即正面姿态旋转回原始的角度,以获得第三姿态信息,即与原始侧面人脸相同角度的姿态信息。
S147,将三维顶点矩阵、第三姿态信息以及第三纹理信息输入至神经网格渲染器,得到带有伪影的侧面人脸图像。
类似的,与获得带有伪影的正面人脸图像相同,将三维顶点矩阵、第三纹理信息以及第三姿态信息输入神经网格渲染器,从而得到带有伪影的侧面人脸图像。
进一步的,参照图5,图5示出了一张通过带有伪影的正面人脸生成不带有伪影的正面人脸的流程示意图,即上述S150可以通过以下方式进行:
将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络中依次相连的下采样层152、特征提取层153,得到第一特征向量和第二特征向量;
将第一特征向量和第二特征向量输入至生成网络中的上采样层154,生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像;
其中,下采样层152至少包含依次相连的一个7*7的卷积层和四个3*3的卷积层,特征提取层153至少包括依次相连的九个特征提取块,每个特征提取块至少包括一个注意力层、一个3*3的卷积层以及一个SPADE(Spatially-Adaptive Normalization)层;上采样层154至少包含依次相连的四个3*3的卷积层和一个7*7的卷积层。
优选的,将带有伪影的正面人脸图像和带有伪影的侧面人脸图像进行下采样以提取图像特征以得到特征向量,再利用九个残缺块,即九个特征提取块来进一步提高特征向量的表现力。
优选的,特征提取块中引入了CBAM(Convolutional Block Attention Module)模块和SPADE层。
CBAM是一种结合了空间(spatial)和通道(channel)的注意力机制模块;本实施例通过在特征提取块中引入CBAM机制,将特征向量,即输入特征喂入CBAM中依次相连的通道注意力模块和空间注意力模块,使得网络在通道和空间维度上会关注重要区域的特征而抑制不重要区域的特征,从而有效地强调或压缩提取中间特征。
SPADE是对BN(Batch Normalization)层的修改,将BN中的γ和β从“通过网络训练得到”修改为“通过语义图像计算得到”。本实施例通过在生成网络的特征提取块中添加SPADE网络,使得网络在训练中能更关注图像的语义信息,并避免了信息的丢失,使得提取到的特征信息更丰富。
将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络中的下采样层和特征提取层后,得到第一特征向量和第二特征向量,其中,第一特征向量对应带有伪影的正面人脸图像,第二特征向量对应带有伪影的侧面人脸图像。再将第一特征向量和第二特征向量输入至上采样层,由此将特征向量还原成对应的图像,从而得到不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像。
优选的,参照图6,图6示出了本发明人脸生成模型的建立方法的另一种流程示意图,在生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像之后,将原始侧面人脸图像和不带有伪影的侧面人脸图像输入至鉴别网络之前,即S150和S160之间,还包括:
S170,获取原始侧面人脸图像的第一光照数据和不带有伪影的正面人脸图像的第二光照数据,并通过第一光照数据和第二光照数据得出第一光照损失值;
S171,以最小化第一光照损失值为目标,优化不带有伪影的正面人脸图像以得到第一图像。
鉴于生成图像和原始图像中的光照因素也是影响图像质量的主要因素之一,而光照因素受各种照明条件影响,且照明条件难以量化成标签,因此很难从面部图像中学习可靠且独立的照明表示。本实施例中,直接将光照因素约束于图像空间,在原始侧面人脸图像和不带有伪影的正面人脸图像之间,添加光照保持路径,即直接调节不带有伪影的正面人脸图像的光照强度、亮度等数据,使得不带有伪影的正面人脸图像与原始侧面人脸图像保持光照一致性。
具体的,采集两张图像的光照信息,如光照强度、亮度等特征信息,并基于此类光照相关的特征信息计算两张图像的损失值,即第一光照损失值。并通过第一光照损失值调节不带有伪影的正面人脸图像的光照。
可选的,第一光照损失值可通过L2损失函数来计算。
S172,将原始侧面人脸图像作为输入图像,第一图像作为引导图像,输入至引导滤波器,更新第一图像以得到第二图像;
S173,获取第二图像的第三光照数据,并通过第一光照数据和第三光照数据得出第二光照损失值;
S174,以最小化第二光照损失值为目标,再次优化第二图像。
然而,由于不带有伪影的正面人脸图像与原始侧面人脸图像,两张图像中人物的姿态不同,即不带有伪影的正面人脸图像的光照强度和原始侧面人脸图像的光照强度存在明显差异;若人脸的姿态在正面图像和侧面图像中差异过大,直接调节亮度、光照强度等因素会导致生成的正面人脸的细节与原始人脸存在较大差异。因此,本实施例中还引入了照明保持路径,即利用引导滤波器来传递图像的照明,从而优化正面人脸图像的面部细节,使得生成的正面人脸图像与原始侧面人脸图像更接近。
具体的,引导滤波器中,滤镜的半径为图像分辨率的四分之一。第二光照损失可以为像素损失或感知损失等。
由于引导滤波器不带有可训练参数,直接在模型训练时添加可能导致模型在训练期间陷入局部极小值。因此,在多次迭代后引入上述引导过滤器,从而保证模型能稳定和健壮的初始化。
基于上述光照保持路径和光照适应路径,不断优化生成的不带有伪影的正面人脸图像,使得生成的正面人脸与原始侧面人脸保持光照的一致性,从而使得生成的正面图像更为真实。
基于上述实施例1中的技术方案,解决了当前正面人脸图像生成受数据源规模和范围限制的问题,且生成图像时还考虑到了图像中的人的姿态信息,保证了生成图像的真实性;再通过侧面人脸的质量间接判断正面人脸的质量,进一步提升了图像的生成效果。
实施例2
本实施例中,参见图7,图7示出了本发明人脸生成方法的一种流程示意图,本实施例提供的人脸生成方法,包括:
S210,获取单一视角的侧面人脸图像。
可选的,获取多张不同视角下的不同的侧面人脸图像,一张人脸只对应一个视角。
S220,根据侧面人脸图像获取人脸的三维顶点矩阵和姿态信息;
S230,将三维顶点矩阵和姿态信息映射至二维空间,得到侧面人脸图像的纹理信息;
S240,通过三维顶点矩阵、姿态信息以及纹理信息,得到带有伪影的正面人脸图像;
S250,将正面人脸图像输入至人脸生成模型,生成不带有伪影的正面人脸图像。
可选的,在输入的图像是多张不同的侧面人脸时,生成的正面人脸图像与侧面人脸图像中的人脸一一对应。
其中,人脸生成模型通过如上述实施例1中的人脸生成模型的建立方法得到。
上述实施例2中的人脸生成方法,仅需通过单一视角下的侧面人脸图像就能生成对应的正面人脸图像,从而解决了当前正面人脸图像生成受数据源规模和范围限制的问题,且生成图像时还考虑到了图像中人的姿态信息,保证了生成图像的真实性,再通过训练好的人脸生成模型来生成正面人脸,保证了输入图像和生成图像的一致性。
实施例3
本实施例中,参见图8,示出了一种人脸生成模型的建立装置300,包括样本获取模块310,第一提取模块320,第二提取模块330,伪影图像获取模块340,生成模块350,鉴别模块360,训练模块370,其中:
样本获取模块310,用于获取训练集中的单一视角的原始侧面人脸图像;
第一提取模块320,用于根据原始侧面人脸图像获取人脸的三维顶点矩阵和第一姿态信息;
第二提取模块330,用于将三维顶点矩阵和第一姿态信息映射至二维空间,得到第一纹理信息;
伪影图像获取模块340,用于通过三维顶点矩阵、第一姿态信息以及第一纹理信息,得到带有伪影的正面人脸图像和带有伪影的侧面人脸图像;
生成模块350,用于将带有伪影的正面人脸图像和带有伪影的侧面人脸图像输入至生成网络,生成不带有伪影的正面人脸图像和不带有伪影的侧面人脸图像;
鉴别模块360,用于将原始侧面人脸图像和不带有伪影侧面人脸图像输入至鉴别网络,得到损失函数值;
训练模块370,用于以最小化损失函数值为目标,训练生成网络和鉴别网络,得到人脸生成模型。
应当理解,本实施例的技术方案通过上述各个功能模块的协同作用,用于执行上述实施例1的人脸生成模型的建立方法,实施例1所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。
实施例4
本实施例中,参见图9,示出了一种人脸生成装置400,包括获取模块410,第一采集模块420,第二采集模块430,伪影图像生成模块440,伪影消除模块450,其中:
获取模块410,用于获取单一视角的侧面人脸图像;
第一采集模块420,用于根据侧面人脸图像获取人脸的三维顶点矩阵和姿态信息;
第二采集模块430,用于将三维顶点矩阵和姿态信息映射至二维空间,得到侧面人脸图像的纹理信息;
伪影图像生成模块440,用于通过三维顶点矩阵、姿态信息以及纹理信息,得到带有伪影的正面人脸图像;
伪影消除模块450,用于将正面人脸图像输入至人脸生成模型,生成不带有伪影的正面人脸图像,其中,人脸生成模型通过如上述实施例1中的人脸生成模型的建立方法得到。
应当理解,本实施例的技术方案通过上述各个功能模块的协同作用,用于执行上述实施例2的人脸生成方法,实施例2所涉及的实施方案以及有益效果在本实施例中同样适用,在此不再赘述。
在本实施例中,还涉及一种计算机设备,包括存储器和处理器,存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述终端设备能执行上述实施例1或实施例2的方法。
在本实施例中,还涉及一种可读存储介质,存储有计算机程序,计算机程序在处理器上运行时执行上述实施例1或实施例2的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
机译: 理想人脸生成方法,理想人脸生成系统和理想人脸生成器程序
机译: 通过基于GABOR JET生成标准人脸图来提高人脸识别性能的标准人脸图生成方法
机译: 人脸图生成方法及人脸图生成装置