漫画人脸生成方法及装置转让专利

申请号 : CN202110734637.3

文献号 : CN113345058B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 戴玲娜高飞李鹏朱静洁

申请人 : 杭州妙绘科技有限公司

摘要 :

本公开提供一种漫画人脸生成方法及装置。本公开的方法包括基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。本公开实施例提供一种漫画人脸生成方法及装置,生成的漫画人脸线条简约柔顺、五官干净,并且能够捕捉人脸微表情,使用最少的线条丰富人物形象。

权利要求 :

1.一种漫画人脸生成方法,其特征在于,所述方法包括:基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;

根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控;

所述方法还包括训练漫画人脸生成模型,所述训练漫画人脸生成模型的方法包括:基于预先获取的图片数据以及对应的人脸解析信息,构成原始训练数据集;

将所述图片数据以及对应的人脸解析信息输入待训练的漫画人脸生成模型的生成器中,生成与所述图片数据对应的简笔画;

将所述简笔画与人脸解析信息进行拼接,输入所述待训练的漫画人脸生成模型的全局判别器中,计算所述待训练的漫画人脸生成模型的损失;

从所述简笔画中获取对应的眼睛、鼻子以及嘴巴信息,分别输入待训练的漫画人脸生成模型的局部判别器中,计算眼睛、鼻子以及嘴巴对应的损失;

迭代优化漫画人脸生成模型的损失,以及眼睛、鼻子以及嘴巴对应的损失,直至满足预设训练条件,用以完成训练漫画人脸生成模型;

其中,所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;所述类激活映射CAM模块包括全局平均池化层、全局最大池化层以及全连接层;

给定{Xs,Xt}分别代表样本中源照片和目标简笔画,令E(x)表示为给定的一张图像x∈Xs经过编码器中卷积层的下采样后得到的特征图,然后分别经过全局平均池化层以及全局最大池化层后得到两个特征向量,并将这两个特征向量作为权重 和权重接着分别将得到的权重 和 并与E(x)相乘后再拼接得到as(x),如下公式所示:k

其中,n为编码后E(x)的通道数, 表示异或运算符,E (x)表示给定的第k张图像x∈Xs经过编码器中卷积层的下采样后得到的特征图;

最后将as(x)作为生成器中解码器的输入;在解码过程中,加入了人脸解析信息对其特征进行调控,也就是解码器中每一层的输入都是前一层的输出F与人脸解析M拼接的结果。

2.根据权利要求1所述的方法,其特征在于,在获取所述原始人脸图片的人脸解析信息之前,所述方法还包括对所述原始人脸图片进行预处理,所述对所述原始人脸图片进行预处理的方法包括:根据预先建立的人脸关键点数据库,检测所述原始人脸图片的人脸关键点;

基于所述人脸关键点,获取所述原始人脸图片中两只眼睛的距离;

通过所述两只眼睛的距离,将所述原始人脸图片裁剪至目标尺寸。

3.根据权利要求1所述的方法,其特征在于,

所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;

所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;

所述类激活映射CAM模块包括全局平均池化层、全局最大池化层以及全连接层;

所述漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。

4.根据权利要求1所述的方法,其特征在于,优化类激活损失函数的方法包括:基于原始人脸图片和与所述原始人脸图片对应的目标简笔画,通过编码器中卷积层的下采样后得到特征图;

根据得到的特征图,通过全局平均池化层以及全局最大池化层得到两个特征图;

基于得到的特征图,计算交叉熵损失,直至所述交叉熵损失满足预设条件。

5.一种漫画人脸生成装置,其特征在于,所述装置包括:第一单元,用于基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;

第二单元,用于根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控;

所述装置还包括第五单元,所述第五单元用于:

基于预先获取的图片数据以及对应的人脸解析信息,构成原始训练数据集;

将所述图片数据以及对应的人脸解析信息输入待训练的漫画人脸生成模型的生成器中,生成与所述图片数据对应的简笔画;

将所述简笔画与人脸解析信息进行拼接,输入所述待训练的漫画人脸生成模型的全局判别器中,计算所述待训练的漫画人脸生成模型的损失;

从所述简笔画中获取对应的眼睛、鼻子以及嘴巴信息,分别输入待训练的漫画人脸生成模型的局部判别器中,计算眼睛、鼻子以及嘴巴对应的损失;

迭代优化漫画人脸生成模型的损失,以及眼睛、鼻子以及嘴巴对应的损失,直至满足预设训练条件,用以完成训练漫画人脸生成模型;

其中,所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;所述类激活映射CAM模块包括全局平均池化层、全局最大池化层以及全连接层;

给定{Xs,Xt}分别代表样本中源照片和目标简笔画,令E(x)表示为给定的一张图像x∈Xs经过编码器中卷积层的下采样后得到的特征图,然后分别经过全局平均池化层以及全局最大池化层后得到两个特征向量,并将这两个特征向量作为权重 和权重接着分别将得到的权重 和 并与E(x)相乘后再拼接得到as(x),如下公式所示:k

其中,n为编码后E(x)的通道数, 表示异或运算符,E (x)表示给定的第k张图像x∈Xs经过编码器中卷积层的下采样后得到的特征图;

最后将as(x)作为生成器中解码器的输入;在解码过程中,加入了人脸解析信息对其特征进行调控,也就是解码器中每一层的输入都是前一层的输出F与人脸解析M拼接的结果。

6.根据权利要求5所述的漫画人脸生成装置,其特征在于,所述装置还包括第三单元,所述第三单元用于:对所述原始人脸图片进行预处理,所述对所述原始人脸图片进行预处理的方法包括:根据预先建立的人脸关键点数据库,检测所述原始人脸图片的人脸关键点;

基于所述人脸关键点,获取所述原始人脸图片中两只眼睛的距离;

通过所述两只眼睛的距离,将所述原始人脸图片裁剪至目标尺寸。

7.根据权利要求5所述的漫画人脸生成装置,其特征在于,所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;

所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;

所述类激活映射CAM模块包括全局平均池化层、全局最大池化层以及全连接层;

所述漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。

8.根据权利要求5所述的漫画人脸生成装置,其特征在于,所述装置还包括第四单元,所述第四单元用于:基于原始人脸图片和与所述原始人脸图片对应的目标简笔画,通过编码器中卷积层的下采样后得到特征图;

根据得到的特征图,通过全局平均池化层以及全局最大池化层得到两个特征图;

基于得到的特征图,计算交叉熵损失,直至所述交叉熵损失满足预设条件。

说明书 :

漫画人脸生成方法及装置

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及一种漫画人脸生成方法及装置。

背景技术

[0002] 虽然现在有很多的研究异质人脸生成相关的工作,但大多数集中在素描、夸张漫画人脸、近红外光人脸等的合成上,鲜少有将人脸转换成简约漫画风格等工作。
[0003] 其次目前并没有任何公开的关于人脸简约线条漫画风格的成对数据集,且目前绝大多数的漫画数据集都是非成对的。并且越来越多的人们喜欢在社交平台上使用自己的夸张漫画、卡通画或者简约线条画,并以此来作为自己的虚拟社交形象,而非单调地使用自己的真实照片。
[0004] 更重要的是在真实生活中,线条画人物的创作对于没有美术功底的人来说是非常难实现的,并且请美术生为自己设计专属线条画是非常消耗时间及金钱的,所以,能够有一个自动将人脸转换成简约漫画的工作就显得非常必要和有意义。
[0005] 近年来条件生成对抗网络在异质人脸画像的生成中有着很广泛的应用,在CGAN的具体实现中,它采用了U‑Net折中“U”型跳接的编码器‑解码器来作为生成器网络结构,同时也加入了L1Loss来改善细节不足的问题。
[0006] 但是单纯使用该模型不足以让我们的简约漫画生成的研究工作达到很好的效果,比如简约画线条的简约柔顺程度、五官生成的干净程度、甚至照片中人脸微表情的捕捉等。由于简约线条画的最大特点就是使用最少的线条来表现最丰富的人物形象,这将意味着我们生成的每一根线条都至关重要。然而本身线条的减少随之带来的问题就是生成出来的简约漫画与照片中的人物不相像,所以,人物眼睛以及微表情的生成对于我们的任务来说将会至关重要,同时也具有很大的挑战。

发明内容

[0007] 本公开实施例提供一种漫画人脸生成方法及装置,生成的漫画人脸线条简约柔顺、五官干净,并且能够捕捉人脸微表情,使用最少的线条丰富人物形象。
[0008] 本公开实施例的第一方面,提供一种漫画人脸生成方法,所述方法包括:
[0009] 基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;
[0010] 根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,
[0011] 其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。
[0012] 在一种可选的实施方式中,在获取所述原始人脸图片的人脸解析信息之前,所述方法还包括对所述原始人脸图片进行预处理,所述对所述原始人脸图片进行预处理的方法包括:
[0013] 根据预先建立的人脸关键点数据库,检测所述原始人脸图片的人脸关键点;
[0014] 基于所述人脸关键点,获取所述原始人脸图片中两只眼睛的距离;
[0015] 通过所述两只眼睛的距离,将所述原始人脸图片裁剪至目标尺寸。
[0016] 在一种可选的实施方式中,
[0017] 所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;
[0018] 所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;
[0019] 所述类激活映射模块包括全局平均池化层、全局最大池化层以及全连接层;
[0020] 所述漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。
[0021] 在一种可选的实施方式中,优化类激活损失函数的方法包括:
[0022] 基于原始人脸图片和与所述原始人脸图片对应的目标简笔画,通过编码器中卷积层的下采样后得到特征图;
[0023] 根据得到的特征图,通过全局平均池化层以及全局最大池化层得到两个特征图;
[0024] 基于得到的特征图,计算交叉熵损失,直至所述交叉熵损失满足预设条件。
[0025] 在一种可选的实施方式中,所述方法还包括训练漫画人脸生成模型,所述训练漫画人脸生成模型的方法包括:
[0026] 基于预先获取的图片数据以及对应的人脸解析信息,构成原始训练数据集;
[0027] 将所述图片数据以及对应的人脸解析信息输入所述待训练的漫画人脸生成模型的生成器中,生成与所述图片数据对应的简笔画;
[0028] 将所述简笔画与人脸解析信息进行拼接,输入所述待训练的漫画人脸生成模型的全局判别器中,计算所述待训练的漫画人脸生成模型的损失;
[0029] 从所述简笔画中获取对应的眼睛、鼻子以及嘴巴信息,分别输入待训练的漫画人脸生成模型的局部判别器中,计算眼睛、鼻子以及嘴巴对应的损失;
[0030] 迭代优化漫画人脸生成模型的损失,以及眼睛、鼻子以及嘴巴对应的损失,直至满足预设训练条件,用以完成训练漫画人脸生成模型。
[0031] 本公开实施例的第二方面,还提供一种漫画人脸生成装置,所述装置包括:
[0032] 第一单元,用于基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;
[0033] 第二单元,用于根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,
[0034] 其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。
[0035] 在一种可选的实施方式中,所述装置还包括第三单元,所述第三单元用于:
[0036] 对所述原始人脸图片进行预处理,所述对所述原始人脸图片进行预处理的方法包括:
[0037] 根据预先建立的人脸关键点数据库,检测所述原始人脸图片的人脸关键点;
[0038] 基于所述人脸关键点,获取所述原始人脸图片中两只眼睛的距离;
[0039] 通过所述两只眼睛的距离,将所述原始人脸图片裁剪至目标尺寸。
[0040] 在一种可选的实施方式中,
[0041] 所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;
[0042] 所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;
[0043] 所述类激活映射模块包括全局平均池化层、全局最大池化层以及全连接层;
[0044] 所述漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。
[0045] 在一种可选的实施方式中,所述装置还包括第四单元,所述第四单元用于:
[0046] 基于原始人脸图片和与所述原始人脸图片对应的目标简笔画,通过编码器中卷积层的下采样后得到特征图;
[0047] 根据得到的特征图,通过全局平均池化层以及全局最大池化层得到两个特征图;
[0048] 基于得到的特征图,计算交叉熵损失,直至所述交叉熵损失满足预设条件。
[0049] 在一种可选的实施方式中,所述装置还包括第五单元,所述第五单元用于:
[0050] 基于预先获取的图片数据以及对应的人脸解析信息,构成原始训练数据集;
[0051] 将所述图片数据以及对应的人脸解析信息输入所述待训练的漫画人脸生成模型的生成器中,生成与所述图片数据对应的简笔画;
[0052] 将所述简笔画与人脸解析信息进行拼接,输入所述待训练的漫画人脸生成模型的全局判别器中,计算所述待训练的漫画人脸生成模型的损失;
[0053] 从所述简笔画中获取对应的眼睛、鼻子以及嘴巴信息,分别输入待训练的漫画人脸生成模型的局部判别器中,计算眼睛、鼻子以及嘴巴对应的损失;
[0054] 迭代优化漫画人脸生成模型的损失,以及眼睛、鼻子以及嘴巴对应的损失,直至满足预设训练条件,用以完成训练漫画人脸生成模型。
[0055] 本公开实施例提供一种漫画人脸生成方法,所述方法包括:基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。
[0056] 本公开的漫画人脸生成方法,利用人脸解析信息对生成器的解码器特征进行调控,并且在编码器和解码器中加入了类激活映射模块,促使特征权重基于局部信息进行自适应调整,从而构建了一个优良的自动生成简约漫画人脸的模型,生成的漫画人脸线条简约柔顺、五官干净,并且能够捕捉人脸微表情,使用最少的线条丰富人物形象。

附图说明

[0057] 图1为本公开实施例漫画人脸生成方法的流程示意图;
[0058] 图2为本公开实施例漫画人脸生成方法的框架示意图;
[0059] 图3为本公开实施例漫画人脸生成模型的整体框架示意图;
[0060] 图4为本公开实施例类激活映射模块的逻辑示意图;
[0061] 图5为本公开实施例漫画人脸生成装置的结构示意图。

具体实施方式

[0062] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0063] 本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
[0064] 应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
[0065] 应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0066] 应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
[0067] 应当理解,在本公开中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
[0068] 取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
[0069] 下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
[0070] 图1示例性地示出本公开实施例漫画人脸生成方法的流程示意图,如图1所示,所述方法包括:
[0071] 步骤S101、基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;
[0072] 在一种可选的实施方式中,在获取所述原始人脸图片的人脸解析信息之前,所述方法还包括对所述原始人脸图片进行预处理,所述对所述原始人脸图片进行预处理的方法包括:
[0073] 根据预先建立的人脸关键点数据库,检测所述原始人脸图片的人脸关键点;
[0074] 基于所述人脸关键点,获取所述原始人脸图片中两只眼睛的距离;
[0075] 通过所述两只眼睛的距离,将所述原始人脸图片裁剪至目标尺寸。
[0076] 本公开实施例中,预先建立的人脸关键点数据库可以包括OpenPose库,可以通过OpenPose库检测图片中人脸的70个关键点,再根据关键点中两只眼睛的实际距离以及人脸左右转头的角度,计算得到两只眼睛的真实距离,具体方法可以如下公式所示:
[0077]
[0078] 其中,d表示两只眼睛的真实距离,d'表示关键点中两只眼睛的实际距离,Θ表示人脸左右转头的角度。
[0079] 进一步地,可以缩放图片使得两眼间距保持在d=120的像素。在此基础上,按照两眼的中点分别向上、向下、向左、向右裁取250、262、256和256像素,这样可以尽最大可能保留人物头顶以及让裁剪出来的头像大小为512*512。实际应用中,可以根据模型的具体需要选择裁剪图片的大小,本公开实施例对此不进行限定。
[0080] 具体地,本公开实施例将通过手绘简约漫画的方式来应对公开的漫画数据集的局限的问题。原始数据集照片的搜集均来自搜索网站上的单人头像、单人全身、多人半身照或者多人全身照,共1400张。而我们的简笔漫画人脸数据集则由画师根据照片手绘得到,这样我们便有了1400对成对的原始数据集。
[0081] 本公开实施例可以对原始成对数据集进行了预处理。通过预处理,可以挑选去掉人脸检测错误、脸部过多遮挡物以及过于侧脸的图,得到了1300对成对照片‑简约漫画人脸数据集。数据集中随机1200对的图片作为训练集,剩下的作为测试集。
[0082] 需要说明的是,本公开的原始人脸图片是指经过预处理后1300对去掉人脸检测错误、脸部过多遮挡物以及过于侧脸的图中任意一张。
[0083] 示例性地,获取所述原始人脸图片的人脸解析信息的方法可以包括:
[0084] 本公开的漫画人脸生成模型可以包括局部判别器,本公开实施例可以将对图片裁剪后得到的眼睛、鼻子和嘴巴以及对应的人脸解析作为输入,其中人脸解析是通过BisenetV2得到的。我们将经过微调后的BisenetV2模型得到16通道作为人脸解析信息,其中每一个通道图表示一个部位的掩码,通过相应通道的掩码我们裁剪出眼睛、鼻子以及嘴巴。为防止缩放带来的形变,裁剪时设定裁剪区域为正方形,最后我们将裁剪出来的局部统一为256*256。
[0085] 步骤S102、根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸。
[0086] 示例性地,本公开实施例的漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器的输入中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。
[0087] 在一种可选的实施方式中,所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;
[0088] 所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;
[0089] 所述类激活映射模块包括全局平均池化层、全局最大池化层以及全连接层;
[0090] 所述漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。
[0091] 图2示例性地公开了本公开实施例漫画人脸生成方法的框架示意图,如图2所示:
[0092] 本公开实施例可以将对图片裁剪后得到的眼睛、鼻子和嘴巴以及对应的人脸解析信息作为局部判别器的输入信息,其中人脸解析是通过BisenetV2得到的;
[0093] 生成器G根据人脸解析信息和图片数据确定初步简约漫画人脸;
[0094] 基于对图片裁剪后得到的眼睛、鼻子和嘴巴和初步简约漫画人脸计算生成对抗损失;
[0095] 将人脸解析信息和初步简约漫画人脸输入判别器D,计算漫画人脸生成模型对应的损失,其中该损失包括多种类型的损失,具体可以包括生成对抗损失、类激活映射损失、梯度偏差损失、加权重构损失、边界损失、滤波器损失等。
[0096] 此外,本公开实施例使用条件对抗生成网络作为基础,并在编码器‑解码器中加入了类激活映射(Class Activation Mapping,CAM)模块。同时,在生成器和判别器的输入中加入了人脸解析信息,其次利用人脸解析信息,对生成器的解码器特征进行调控。
[0097] 本发明提到了一种使用条件生成对抗网络为基准模型的全局和局部信息融合的简约漫画人脸生成新方法。主要涉及利用条件生成对抗网络为基础模型,提出在生成器和判别器的输入中加入了人脸解析信息,并且利用人脸解析信息,对生成器的解码器特征进行调控。同时在全局判别器的基础上加入了人脸五官局部判别器。除此之外,在编码器‑解码器中加入了类激活映射模块,促使特征权重基于局部信息进行自适应调整,从而构建了一个优良的自动生成简约漫画人脸的模型。
[0098] 具体地,本公开实施例将通过手绘简约漫画的方式来应对公开的漫画数据集的局限的问题。原始数据集照片的搜集均来自搜索网站上的单人头像、单人全身、多人半身照或者多人全身照,共1400张。而我们的简笔漫画人脸数据集则由三位画师根据照片手绘得到,这样我们便有了1400对成对的原始数据集。
[0099] 本公开实施例可以对原始成对数据集进行了预处理。其中,进行预处理的方式可以参考前述步骤S101,在此不再赘述。
[0100] 在经过挑选去掉人脸检测错误、脸部过多遮挡物以及过于侧脸的图,我们得到了1300对成对照片‑简约漫画人脸数据集。数据集中随机1200对的图片作为训练集,剩下的作为测试集。
[0101] 在局部判别器中,我们分别使用裁剪出来的眼睛、鼻子和嘴巴以及对应的人脸解析信息作为输入,其中人脸解析信息是通过BisenetV2得到的。我们将经过微调后的BisenetV2模型得到16通道作为人脸解析信息,其中每一个通道图表示一个部位的掩码。通过相应通道的掩码我们裁剪出眼睛、鼻子以及嘴巴。为防止缩放带来的形变,裁剪时设定裁剪区域为正方形,最后我们将裁剪出来的局部统一为256*256。
[0102] 本公开实施例使用了条件对抗生成网络作为基础,并在编码器‑解码器中加入了类激活映射(Class Activation Mapping,CAM)模块。同时,在生成器和判别器的输入中加入了人脸解析信息,其次利用人脸解析信息,对生成器的解码器特征进行调控。
[0103] 具体地,图3为本公开实施例漫画人脸生成模型的整体框架示意图;
[0104] 如图3所示,可以将人脸解析信息和照片进行拼接后输入漫画人脸生成模型的生成器中,
[0105] 其中,生成器包括卷积‑归一化‑激活层、反卷积‑归一化‑激活层以及类激活映射模块,具体地,将人脸解析信息和照片进行拼接后,依次通过卷积‑归一化‑激活层、类激活映射模块以及反卷积‑归一化‑激活层,输出简笔画。
[0106] 其中,卷积‑归一化‑激活层可以包括E1‑E8层,反卷积‑归一化‑激活层可以包括D0‑D7层。
[0107] 将人脸解析信息和简笔画进行拼接后,输入判别器中计算各类损失。其中,可以通过简笔画提取眼睛、鼻子和嘴巴的信息,用以计算对应的损失。
[0108] 在一种可选的实施方式中,所述方法还包括训练漫画人脸生成模型,所述训练漫画人脸生成模型的方法包括:
[0109] 基于预先获取的图片数据以及对应的人脸解析信息,构成原始训练数据集;
[0110] 将所述图片数据以及对应的人脸解析信息输入所述待训练的漫画人脸生成模型的生成器中,生成与所述图片数据对应的简笔画;
[0111] 将所述简笔画与人脸解析信息进行拼接,输入所述待训练的漫画人脸生成模型的全局判别器中,计算所述待训练的漫画人脸生成模型的损失;
[0112] 从所述简笔画中获取对应的眼睛、鼻子以及嘴巴信息,分别输入待训练的漫画人脸生成模型的局部判别器中,计算眼睛、鼻子以及嘴巴对应的损失;
[0113] 迭代优化漫画人脸生成模型的损失,以及眼睛、鼻子以及嘴巴对应的损失,直至满足预设训练条件,用以完成训练漫画人脸生成模型。
[0114] 图4为本公开实施例类激活映射模块的逻辑示意图;
[0115] 本公开实施例的类激活映射模块由一个全局平均池化层(Global Average Pooling,GAP)、一个全局最大池化层(Global Max Pooling,GMP)以及一个全连接层组成。
[0116] 首先我们给定{Xs,Xt}分别代表我们样本中源照片和目标简笔画,令E(x)表示为给定的一张图像x∈Xs经过编码器中卷积层的下采样后得到的特征图,然后分别经过全局平均池化层以及全局最大池化层后得到两个特征向量,并将这两个特征向量作为权重 和权重 权重的每一个数值表示了通道对应的特征在所有特征中的重要性。接着我们分别将得到的权重 和 并与E(x)相乘后再拼接得到as(x),如下公式所示:
[0117]
[0118] 其中,n为编码后E(x)的通道数。最后我们将as(x)作为生成器中解码器的输入。在解码过程中,我们还加入了人脸解析信息对其特征进行调控,也就是解码器中每一层的输入都是前一层的输出F与人脸解析M拼接的结果。
[0119] 可以理解的是,为了使模型生成的漫画人脸符合要求,可以对模型进行迭代训练,其中,可以通过迭代优化各类损失函数,以达到模型训练条件,用以完成训练漫画人脸生成模型。
[0120] 具体地,本公开实施例的漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。
[0121] 其中,计算类激活映射损失的方法包括:
[0122] 在E(x)分别经过GAP和GMP之后得了 和 之后,然后将其输入到全连接层中得到两个B×1维的向量vgap、vgmp,其中:
[0123] vgap=F(GAP(E(x)))、vgmp=F(GMP(E(x)))
[0124] 这里的B是指批量大小,这样我们便可以将两个B×1的向量拼接一起得到B×2得到向量V,我们将使用这个向量V计算交叉熵损失。
[0125] 计算公式如下所示:
[0126]
[0127] 其中,计算梯度偏差损失的方法包括:
[0128] 定义一个Prewitt算子作为我们卷积层的核:
[0129]
[0130] 然后计算得到需要的损失。
[0131]
[0132] 其中, 表示为卷积操作。
[0133]
[0134] 其中,计算加权重构损失的方法包括:
[0135] 计算出简约画中黑色和白色像素分别的占比,为了使我们的模型学到更多的黑色像素,我们需要将黑色像素的权重增高。
[0136] 假设原图中计算出来的黑色像素和白色像素占比分别为0.2、0.8。所以,经过调换后我们将设定黑色像素的权重为0.8,白色像素的权重为0.2。
[0137] 由此我们可以得到和简约画尺寸大小一致的权重图β。我们使用β分别与生成器生成的简约漫画和真实简约漫画gt相乘,然后使用相乘后的特征图进行损失的计算,计算方法如下公式所示:
[0138] LW‑Rec=||βG(x)‑βgt||1
[0139] 其中,计算边界损失的方法包括:
[0140] 大多数边界或边缘检测的方法都利用加权交叉熵(Cross‑Entropy)来减轻边缘预测中的类不平衡问题。但是我们使用DiceLoss和BCELoss来优化边界学习。Dice Loss可测量预测值与真实值之间的重叠,并且对前景/背景像素的数量不敏感,从而减轻了类别不平衡的问题,其中计算方法如下公式所示:
[0141] Lb(G(x),gt)=LDice(G(x),gt)+λLBCE(G(x),gt)
[0142] 其中,G(x)表示生成器生成结果,gt表示真实样本图像,且
[0143]
[0144]
[0145] 其中,计算滤波器损失的方法包括:
[0146] 给定一个大小的矩阵,对其进行旋转,每旋转10度就可得到一个卷积核,所以,最终会得到18个卷积层的核。将生成器生成图和真实图分别经过这个卷积层得到的特征之间计算L2loss。因此,Filter Loss公式如下:其中,weight代表一层卷积:
[0147]
[0148] 本公开实施例还额外加入生成对抗损失LcGAN、风格损失Lstyle、边缘损失Lb以及滤波器损失Lfilter。所以,我们将通过加权求和的方式来融合我们计算得到的各个损失,最终的损失函数的计算的表达式为:
[0149] L=LcGAN+λ1Lstyle+λ2Lb+λ3Lfilter+λ4LGD+λ5Lcam
[0150] 其中,λ1、λ2、λ3、λ4、λ5分别为1e5、1、1、0.001、10。
[0151] 本公开实施例提供一种漫画人脸生成方法,所述方法包括:基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。
[0152] 本公开的漫画人脸生成方法,利用人脸解析信息对生成器的解码器特征进行调控,并且在编码器和解码器中加入了类激活映射模块,促使特征权重基于局部信息进行自适应调整,从而构建了一个优良的自动生成简约漫画人脸的模型,生成的漫画人脸线条简约柔顺、五官干净,并且能够捕捉人脸微表情,使用最少的线条丰富人物形象。
[0153] 图5示例性地示出本公开实施例漫画人脸生成装置的结构示意图,如图5所示,所述装置包括:
[0154] 第一单元51,用于基于待处理的原始人脸图片,通过预先构建的人脸解析生成模型,获取所述原始人脸图片的人脸解析信息;
[0155] 第二单元52,用于根据所述人脸解析信息,通过预先构建的漫画人脸生成模型,生成与所述原始人脸图片对应的漫画人脸,
[0156] 其中,所述漫画人脸生成模型基于条件生成对抗网络构建,并在所述漫画人脸生成模型的生成器和判别器中加入所述人脸解析信息,利用所述人脸解析信息对生成器的解码器特征进行调控。
[0157] 在一种可选的实施方式中,所述装置还包括第三单元,所述第三单元用于:
[0158] 对所述原始人脸图片进行预处理,所述对所述原始人脸图片进行预处理的方法包括:
[0159] 根据预先建立的人脸关键点数据库,检测所述原始人脸图片的人脸关键点;
[0160] 基于所述人脸关键点,获取所述原始人脸图片中两只眼睛的距离;
[0161] 通过所述两只眼睛的距离,将所述原始人脸图片裁剪至目标尺寸。
[0162] 在一种可选的实施方式中,
[0163] 所述漫画人脸生成模型基于条件生成对抗网络构建,所述漫画人脸生成模型包括生成器和判别器;
[0164] 所述生成器包括编码器和解码器,所述编码器和所述解码器之间包括类激活映射CAM模块;
[0165] 所述类激活映射模块包括全局平均池化层、全局最大池化层以及全连接层;
[0166] 所述漫画人脸生成模型包括类激活映射损失函数、梯度偏差损失函数、加权重构损失函数、边界损失函数、滤波器损失函数中至少一个。
[0167] 在一种可选的实施方式中,所述装置还包括第四单元,所述第四单元用于:
[0168] 基于原始人脸图片和与所述原始人脸图片对应的目标简笔画,通过编码器中卷积层的下采样后得到特征图;
[0169] 根据得到的特征图,通过全局平均池化层以及全局最大池化层得到两个特征图;
[0170] 基于得到的特征图,计算交叉熵损失,直至所述交叉熵损失满足预设条件。
[0171] 在一种可选的实施方式中,所述装置还包括第五单元,所述第五单元用于:
[0172] 基于预先获取的图片数据以及对应的人脸解析信息,构成原始训练数据集;
[0173] 将所述图片数据以及对应的人脸解析信息输入所述待训练的漫画人脸生成模型的生成器中,生成与所述图片数据对应的简笔画;
[0174] 将所述简笔画与人脸解析信息进行拼接,输入所述待训练的漫画人脸生成模型的全局判别器中,计算所述待训练的漫画人脸生成模型的损失;
[0175] 从所述简笔画中获取对应的眼睛、鼻子以及嘴巴信息,分别输入待训练的漫画人脸生成模型的局部判别器中,计算眼睛、鼻子以及嘴巴对应的损失;
[0176] 迭代优化漫画人脸生成模型的损失,以及眼睛、鼻子以及嘴巴对应的损失,直至满足预设训练条件,用以完成训练漫画人脸生成模型。
[0177] 需要说明的是,本公开实施例的漫画人脸生成装置的有益效果可以参考上述漫画人脸生成方法的有益效果,本公开实施例在此不再赘述。
[0178] 本公开还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
[0179] 其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD‑ROM、磁带、软盘和光数据存储设备等。
[0180] 在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:
Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0181] 最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。