一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于GAN网络的肖像图像头发去除方法及装置

2022-06-25 06:15:50 来源:中国专利 TAG:

一种基于gan网络的肖像图像头发去除方法及装置
技术领域
1.本发明涉及肖像编辑技术领域,尤其涉及一种基于gan网络的肖像图像头发去除方法及装置。


背景技术:

2.头发不仅是人体的重要组成部分,也是代表着个性和时尚的关键元素。然而,肖像图像中头发的存在给数字发型设计和人脸三维重建造成了重大挑战。在数字发型设计方面,直接在原图上叠加新的发型会很容易与旧发混在一起,造成问题;而用新的发型替换旧的发型则需要用到抠图和图像补全技术,这两项技术都非常容易出错。对于三维人脸重建,现有的大多数方法都不能处理遮挡人脸的毛发,毛发仍然保留在纹理中,因此在重构后的人脸中会产生明显的伪影。这促使我们开发一种头发处理方法,可以自然地从肖像中去除头发,以促进实际应用。
3.传统除去头发的方法,通过是对实际的男女图像进行修改与标定后生成训练集,但是该方式费时又费力且获取的训练集容量并不大,导致最终训练的模型效果并不佳。现阶段已有科研学者采用stylegan隐空间中的隐码来表示图像信息,然后通过计算机完成图像的标定,但是stylegan隐空间存在一个问题:隐空间中缺少女性-光头这一组合的语义信息,使得该类方法只能获得男性头发与光头的隐码对。
4.学术文献interpreting the latent space of gans for semantic faceediting.(in advances in neural information processing systems 33(2020): pages 12104-12114,2020)公开了一种方法,在stylegan隐空间中建立分离边界,从而通过简单的线性组合编辑人脸语义,但是该方法不能保证编辑前后的人脸特征不变。
5.学术文献styleclip:text-driven manipulation of stylegan imagery.(inproceedings of the ieee/cvf international conference on computer vision. 2021.,pages 2085-2094,2021)公开了一种cilp语言-图像预训练模型,通过在stylegan隐空间中动态查找给定文本提示的方向,实现基于文本的语义图像操作。
6.专利文献cn111598762a公开了一种生成式鲁棒图像隐写方法,包括:构建图数据集,并对图像数据集进行预训练;构建并初始化深度学习网络架构;采用联合-精调试方法训练深度学习网络架构,得到网路架构模型;利用网络架构模型生成载密伪图并进行秘密通信,完成图像隐写过程。该方法采用图像隐写方法,通过利用生成对抗网络stylegan,将秘密信息的嵌入过程融入到图像的生成过程中,从而得到的生成式图像隐写方法具有嵌入的容量较大,生成的图像质量好,载密图像统计不可检测性强,实用性高等优点,并克服了现有的生成式图像隐写生成的载密图像质量差,嵌入容量低,信息提取准确率不高等问题,但是该方法不能很好的处理头发去除问题,因为stylegan不存在女性-光头这一组合的语义信息,同时该

技术实现要素:
中也没有提及如何解决该问题。
发明内容
7.为了解决上述问题,本发明提出了一种基于gan网络的肖像图像头发去除方法,通过性别边界解决了stylegan隐空间中不存在女性-光头这一组合的语义信息的问题;更进一步,基于stylegan隐空间的头发隐码集构建模型,从而能够在保持人脸的其他特征不变的情况下进行头发的去除,实现快速自动地去除肖像图像中的头发。
8.一种基于gan网络的肖像图像头发去除方法,包括:
9.步骤1、在stylegan隐空间中对隐码进行随机采样获得隐码集,对隐码集中的隐码进行标注获得有头发标签与光头标签,并将隐码集与标注标签组合成头发隐码-分数数据集;
10.步骤2、通过支持向量机训练获得头发分离边界与性别分离边界,所述头发分离边界只能编辑男性头发的隐码,无法保证隐码输出肖像图像的面部特征不变,所述性别分离边界用于编辑隐码对应的性别,同时保证隐码输出肖像图像的面部特征不变;
11.步骤3、通过头发分离边界对头发隐码-分数数据集中的男性有头发隐码进行编辑,采用语义扩散细化优化得到头发隐码-分数数据集中的男性有头发隐码对应的男性光头隐码,所述男性光头隐码输出肖像图像的面部特征与男性有头发隐码输出肖像图像的面部特征一致;
12.步骤4、将步骤3获得的男性光头隐码与对应的男性有头发隐码组成训练集,输入至预先构建的male hairmapper模型中,经迭代训练后,获得用于编辑男性隐码去除肖像图像中的头发,并保持肖像图像面部特征不变的male hairmapper模型;
13.步骤5、通过性别分离边界将头发隐码-分数数据集中的女性有头发隐码转换为男性有头发隐码,将转换后的男性有头发隐码输入至训练好的 male hairmapper模型中获得男性光头隐码,通过语义扩散细化对男性光头隐码进行优化,获得对应的女性光头隐码;
14.步骤6、将步骤3中生成的男性光头隐码与对应的男性有头发隐,以及步骤5中生成的女性光头隐码与对应的女性有头发隐码组成数据集,输入至预先构建的头发去除模型中,经迭代训练后,获得用于生成高质量光头肖像图像的头发去除模型;
15.步骤7、将待除去头发的肖像图像输入至头发去除模型中,经编辑计算与图像的融合拼接后,输出去除头发后的肖像图像。
16.具体的,所述步骤1中的隐码集包括女性有头发隐码,男性有头发隐码以及对应的男性光头隐码。
17.具体的,所述步骤2中通过支持向量机训练获得头发分离边界与性别分离边界,具体步骤如下:
18.步骤2.1、基于头发隐码-分数数据集中的男性有头发隐码与对应的男性光头隐码,通过支持向量机训练获得头发分离边界;
19.步骤2.2、通过styleflow软件编辑随机生成的隐码,获得肖像图像性别隐码相反的性别隐码-分数数据集,基于所述性别隐码-分数数据集通过支持向量机训练获得性别分离边界。
20.优选的,所述语义扩散细化优化是将原肖像图像中的脸部特征扩散入编辑后的隐码中,对目标隐码进行迭代优化,当总损失函数达到最小,输出成对的有头发和光头的隐码对,此步骤中改进了语义扩散细化的初始化值,只需要移动脸部特征,相较于移动头发特征
要更加简单快速。
21.具体的,所述对目标隐码进行迭代优化时,采用的总损失函数具体为:
22.l
diffuse
=λ
rec
l
rec
λ
per
l
per
23.其中,l
rec
为像素级重构损失,l
per
为结构级重构损失,λ
rec
为像素级重构损失的权重,λ
per
为结构级重构损失的权重。
24.优选的,所述步骤6中的头发去除模型在迭代训练时,采用目标损失函数公式如下:
25.l=λ
l
l
latent
λhl
hair
λfl
face
λil
id
26.其中,l为总损失,l
latent
为隐码损失,λ
l
为隐码损失的权重,l
hair
为头发区域的像素级损失,λh为头发区域的像素损失的权重,l
face
为脸部区域的像素级损失,λf为脸部区域的像素级损失的权重,l
id
为脸部特征损失,λi为脸部特征损失的权重,在传统损失函数公式基础上,加入了隐码损失和像素损失的计算参数,从而提高了最终模型输出肖像图像的质量。
27.优选的,所述步骤6中的头发去除模型,还包括编码器与图像生成器,所述编码器用于对输入的肖像图像进行编码获得对应的隐码,经过计算编辑后获得对应的光头隐码,所述图像生成器基于获得的光头隐码生成去除头发的肖像图像。
28.优选的,所述步骤7中的融合拼接,是将待除去头发的肖像图像脸部特征通过poisson editing操作与编辑计算获得的光头隐码输出的肖像图像进行无缝融合,获得去除头发后的肖像图像。
29.本发明还提供了一种快速去除肖像图像头发的肖像图像头发去除装置,包括:
30.计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,其特征在于,所述计算机处理器执行上述的肖像图像头发去除方法;所述计算机处理器执行所述计算机程序时实现以下步骤:将待去除头发的肖像图像输入至肖像图像头发去除装置中,经计算输出去除头发后的肖像图像。
31.与现有技术相比,本发明的有益效果:
32.(1)本发明提出了一种“女性-男性-光头”流程,从而解决了stylegan 隐空间不存在女性-光头这一组合的语义信息的问题。
33.(2)基于stylegan隐空间的头发隐码,进行构建肖像图像头发去除模型,从而能处理各种表情、姿态、年龄、性别不同的脸型,同时生成高质量的对应光头肖像图像。
附图说明
34.图1为本发明提供的肖像图像头发去除方法的流程示意图;
35.图2为本实施例中male hairmapper模型与头发去除模型的训练流程图;
36.图3为本实施例中头发去除模型去除头发的流程图;
37.图4为本实施例中需要去除头发的肖像图像;
38.图5为本实施例中去除头发后的肖像图像。
具体实施方式
39.如图1所示,一种基于gan网络的肖像图像头发去除方法,包括:
40.步骤1、在stylegan隐空间中对隐码进行随机采样获得隐码集,对隐码集中的隐码
进行标注获得有头发标签与光头标签,并将隐码集与标注标签组合成头发隐码-分数数据集(w,s)
hair

41.步骤1.1、随机采样得到2nw个隐码其中nw个隐码组成数据集d0:
[0042][0043]
计算nw个隐码的标准差w
std
,根据式(ii)计算出噪声的比例值:
[0044]
scale
noise
=(0.5w
std
)2ꢀꢀ
(ii)
[0045]
在[0,1]之间随机生成噪声,并利用scale
noise
控制噪声的权重,得到最终噪声数据集d
noise

[0046][0047]
其中,n
i0
,
……
,n
i17
为加入到每一层的噪声;
[0048]
步骤1.2、将d0和d
noise
中的隐码输入到stylegan2-ada的生成器中得到对应的随机采样肖像图像,训练一个头发分类器对所述随机采样肖像图像进行评分,根据式(iv)得到每个隐码对应的分数:
[0049]
s=c(g(w

))
ꢀꢀ
(iv)
[0050]
其中,s为头发分数,c为头发分类器,g为stylegan2-ada的生成器, g(w

)为生成器输出的肖像图像,其中,头发分类器采用resnext
‑ꢀ
50(32x4d)结构,将含有头发的肖像图像评分为1,将光头的肖像图像评分为0,从而完成隐码集d0和d
noise
中有无头发的标签标注;
[0051]
步骤1.3、将上述d0数据集的隐码及对应的头发分数组成头发隐码
‑ꢀ
分数数据集(w,s)
hair

[0052][0053]
步骤2、通过支持向量机训练获得头发分离边界与性别分离边界,该头发分离边界只能编辑男性头发的隐码,无法保证隐码输出肖像图像的面部特征不变,该性别分离边界用于编辑隐码对应的性别,同时保证隐码输出肖像图像的面部特征不变:
[0054]
步骤2.1、基于头发隐码-分数数据集(w,s)
hair
,采用支持向量机训练输出一个粗糙头发分离边界bh的法向量nh;
[0055]
步骤2.2、根据式(vii)使用styleflow随机编辑生成n
gender
个隐码得到性别转换后的隐码
[0056][0057]
该公式的使用方法已被学术文献styleflow:attribute-conditioned exploration of stylegan-generated images using conditional continuous normalizing flows.(in acm transactions on graphics(tog),2021,40(3): 1-21.,2021)公开,即不再赘述;
[0058]
步骤2.3、将和w

中所有的男性隐码分数设为1,将所有的女性隐码分数设为0,得到性别隐码-分数数据集(w,s)
gender

[0059][0060]
其中,指代或w


[0061]
步骤2.4、基于性别隐码-分数数据集(w,s)
gender
,采用支持向量机训练输出一个性别分离边界bg的法向量ng。
[0062]
步骤3、通过头发分离边界对头发隐码-分数数据集中的男性有头发隐码进行编辑,采用语义扩散细化优化得到头发隐码-分数数据集中的男性有头发隐码对应的男性光头隐码,该男性光头隐码输出肖像图像的面部特征与男性有头发隐码输出肖像图像的面部特征一致:
[0063]
步骤3.1、用头发分离边界编辑隐码该为d0和d
noise
中对应的男性肖像图像的隐码,根据式(ix)得到一个没有头发的中间隐码
[0064][0065]
其中,nh为头发分离边界bh的法向量;
[0066]
步骤3.2、采用faceparsing提取对应的原始肖像图像的头发区域的掩膜mh;
[0067]
步骤3.3、基于原始肖像图像和中间肖像图像根据式 (x)计算输出先验信息
[0068][0069]
其中,

表示元素级别的乘法;
[0070]
步骤3.4、将作为待优化的隐码的初始值;
[0071]
步骤3.5、根据式(xi)计算得到像素级重构损失l
rec

[0072][0073]
步骤3.6、根据式(xii)计算得到结构级重构损失l
per

[0074][0075]
其中,φ表示训练完成的vgg16模型;
[0076]
步骤3.7、根据式(xiii)计算得到总损失l
diffuse

[0077]
l
diffuse
=λ
rec
l
rec
λ
per
l
per
ꢀꢀ
(xiii) 其中,λ
rec
为像素级重构损失的权重,λ
per
为结构级重构损失的权重;
[0078]
步骤3.8、利用不断迭代优化使得总损失l
diffuse
最小,得到最终语义扩散结果得到没有头发并且保持面部特征不变的肖像图像的隐码
[0079]
步骤4、将步骤3获得的男性光头隐码与对应的男性有头发隐码组成训练集,输入至预先构建的male hairmapper模型中,经迭代训练后,获得用于编辑男性隐码去除肖像图像中的头发,并保持肖像图像面部特征不变的male hairmapper模型:
[0080]
步骤4.1、基于步骤3中得到的成对的有头发和没有头发的男性隐码与得到对应的隐码-分数数据集hm:
[0081][0082]
其中nm为数据集hm中男性隐码对的数量;
[0083]
步骤4.2、训练一个全连接网络male hairmapper,记为mm,mm根据式(xv)编辑隐码:
[0084][0085]
其中,β是控制权重的超参数;
[0086]
步骤4.3、根据式(xvi)计算得到隐码损失l
latent

[0087][0088]
步骤4.4、s44根据式(xvii)计算得到头发区域的像素级损失l
hair

[0089][0090]
步骤4.5、s45根据式(xviii)计算得到脸部区域的像素级损失l
face

[0091][0092]
步骤4.6、根据式(xix),利用arcface计算得到脸部特征损失l
id

[0093][0094]
其中,r是arcface网络,《
·
,
·
》计算余弦值;
[0095]
步骤4.7、根据式(xx)计算得到总损失l:
[0096]
l=λ
l
l
latent
λhl
hair
λfl
face
λil
id
ꢀꢀ
(xx)
[0097]
其中,λ
l
为隐码损失的权重,λh为头发区域的像素级损失的权重,λf为脸部区域的像素级损失的权重,λi为脸部特征损失的权重;
[0098]
步骤4.8、利用不断迭代优化mm的参数,降低总损失l,得到训练完成的male hairmapper模型;该male hairmapper模型用于直接编辑男性隐码从而去除肖像图像中的头发,并保持肖像图像中面部特征不变。
[0099]
步骤5、通过性别分离边界将头发隐码-分数数据集中的女性有头发隐码转换为男性有头发隐码,将转换后的男性有头发隐码输入至训练好的male hairmapper模型中获得男性光头隐码,通过语义扩散细化对男性光头隐码进行优化,获得对应的女性光头隐码:
[0100]
步骤5.1、采用性别分离边界编辑隐码所述为d0和d
noise
中对应的女性肖像图像的隐码,根据式(xxx)得到面部姿势和肤色基本不变的男性中间隐码
[0101][0102]
其中,ng为性别分离边界bg的法向量;
[0103]
步骤5.2、将有头发的男性隐码输入到male hairmapper模型中,经计算,获得对应的去除头发的男性隐码
[0104]
[0105]
其中隐码与相比,头发被去除,但是面部特征发生了改变;
[0106]
步骤5.3、采用faceparsing提取对应的原始女性肖像图像的头发区域的掩膜mh;
[0107]
步骤5.4、基于原始女性肖像图像和中间男性光头肖像图像根据式(l)计算输出先验信息
[0108][0109]
其中,

表示元素级别的乘法;
[0110]
步骤5.5、将作为待优化的隐码的初始值;
[0111]
步骤5.6、根据式(lx)计算得到像素级重构损失l
rec

[0112][0113]
步骤5.7、根据式(lxx)计算得到结构级重构损失l
per

[0114][0115]
其中,φ表示训练完成的vgg16模型;
[0116]
步骤5.8、根据式(lxxx)计算得到总损失l
diffuse

[0117]
l
diffuse
=λ
rec
l
rec
λ
per
l
per
ꢀꢀ
(lxxx) 其中,λ
rec
为像素级重构损失的权重,λ
per
为结构级重构损失的权重;
[0118]
步骤5.9、利用不断迭代优化使得总损失l
diffuse
最小,得到最终语义扩散结果得到最终语义扩散结果与构成成对的有头发和没有头发的女性隐码。
[0119]
步骤6、将步骤3中生成的男性光头隐码与对应的男性有头发隐,以及步骤5中生成的女性光头隐码与对应的女性有头发隐码组成数据集,输入至预先构建的头发去除模型中,经迭代训练后,获得用于生成高质量光头肖像图像的头发去除模型:
[0120]
步骤6.1、基于步骤3中得到的成对有头发和没有头发的男性隐码与步骤5中的得到的成对有头发和没有头发的女性隐码与构成数据集h:
[0121][0122]
其中nm为数据集h中男性隐码对的数量,nf为女性隐码对的数量;
[0123]
步骤6.2、构建一个头发去除模型,包括识别模块,头发去除模块,成像模块以及融合模块:
[0124]
其中,识别模块包括编码器,该编码器用于对输入的肖像图像进行编码获得在stylegan隐空间中对应的隐码,并输入至头发去除模块,其中编码器选用designing an encoder for stylegan image manipulation提出的投影器,该投影器是现有技术,具体操作过程不再赘述;
[0125]
头发去除模块为一个全连接网络,用于将肖像图像隐码中的头发隐码编辑为光头
隐码,并将编辑后的肖像图像隐码输入至成像模块;
[0126]
成像模块包括图像生成器,该图像生成器根据输入的光头隐码生成对应的光头肖像图像,并通过图像融合方法获得去除头发后的肖像图像。
[0127]
该图像融合方法具体为:
[0128]
首选,采用faceparsing提取输入进头发去除模型的肖像图像x的头发区域的掩膜m
test

[0129]
然后,对m
test
进行膨胀和模糊操作,得到一个边缘模糊的掩膜
[0130]
最后,通过poisson editing将新肖像图像与需要去除头发的肖像图像无缝融合,计算得到去除头发后的肖像图像x
res

[0131][0132]
其中,p为poisson editing操作;
[0133]
步骤6.3、基于数据集h,对头发去除模型进行迭代训练,最终获得用于生成高质量光头肖像图像的头发去除模型,其中训练方法与步骤4中 male hairmapper模型的训练方法一致,即不再具体赘述。
[0134]
如图2所示,male hairmapper模型与头发去除模型的训练流程图。
[0135]
如图3所示,为头发去除模型去除头发的具体流程:将原肖像图像的脸部特征转移至生成的光头肖像图像中完成原肖像图像的头发去除工作,由于在stylegan隐空间的脸部特征移动是线性工作,相较于移动头发特征要更加简单快速,同时也避免了头发特征在移动时发生缺失的问题,从而获得高质量的融合肖像图像。
[0136]
步骤7、将如图4所示的待除去头发的肖像图像输入至头发去除模型中,通过designing an encoder for stylegan image manipulation提供的投影器对输入的肖像图像进行编码,获得对应的隐码根据公式(xcix)对隐码编辑计算获得对应的去除头发的隐码
[0137][0138]
将去除头发的隐码输入图像生成器中,得到一张没有头发并且保持其他面部特征不变的新肖像图像:
[0139][0140]
最后,将待除去头发的肖像图像头发区域的掩膜,通过poisson editing 将新肖像图像与除去头发的肖像图像无缝融合,计算得到如图5所示的去除头发后的肖像图像。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献