没有合适的资源?快使用搜索试试~ 我知道了~
42270HairMapper:使用GANs从肖像中去除头发0吴一千1,2,杨永亮3,金晓刚1,2*01. CAD&CG国家重点实验室,浙江大学 2.浙江大学腾讯游戏与智能图形创新技术联合实验室 3. 巴斯大学0onethousand@zju.edu.cn,y.yang@cs.bath.ac.uk,jin@cad.zju.edu.cn0(a)0(c)0(b)0(d)0(e)0(f)0图1.给定部分被头发遮挡的肖像图像的面部(a),我们的方法能够生成没有头发的肖像并保留面部特征(b)。去除头发的影响后,得到的肖像图像可以通过将干净的面部与一些发型模板(c和d)简单混合来很好地应用于发型设计,而不受现有头发的干扰。我们的结果还可以通过使用我们的方法生成的干净面部纹理(e,f)(第2和第4行)与原始图像的结果(第1和第3行)相对比,从而有益于3D面部重建[12]。0摘要0由于头发和面部之间的复杂遮挡以及缺乏带有/不带有头发的成对肖像数据,从肖像图像中去除头发具有挑战性。为此,我们提出了使用生成对抗网络(GANs)从肖像图像中去除头发的数据集和基线方法。我们的核心思想是训练一个完全连接的网络HairMapper,在StyleGAN的潜在空间中找到头发去除的方向进行训练阶段。我们开发了一种新的分离边界和扩散方法,用于生成男性的成对训练数据,并使用一种新颖的“女性-男性-秃头”流程生成女性的成对数据。实验证明,我们的方法可以自然地处理具有性别、年龄等变化的肖像图像。我们验证了我们的方法的卓越性能。0*通讯作者。0通过与最先进的方法进行比较,通过广泛的实验和用户研究来验证其在发型设计和3D面部重建方面的应用。01. 引言0头发不仅是人体的重要组成部分,也是个性和时尚的关键元素。然而,肖像图像中的头发存在着数字化发型设计和3D面部重建方面的重大挑战。在头发设计方面,直接覆盖新发型可能会由于与旧发型混合而导致问题,而用新发型替换旧发型则需要容易出错的抠图和修补技术[38]。对于3D面部重建,大多数现有方法无法处理面部前方的头发,而是保留在纹理中[10,23],导致重建结果出现明显的伪影。42280构建的面孔(见图1f)。这激发我们开发一种能够自然地从肖像中去除头发以促进这种真实应用的头发操作方法。虽然图像修补方法[24,25,39]可以帮助生成或编辑面部结构,但它们只允许在图像级别上操纵面部语义属性。由于StyleGAN的发展[19],对其潜在空间[3,29,31,36,37]的探索使得能够在流形级别上编辑面部语义成为可能。然而,由于以下主要挑战,这些方法都无法在保留面部特征的同时去除头发。首先,没有成对的带/不带头发的肖像数据集。此外,准备这样的数据集并不容易,特别是对于女性来说。其次,除了缺乏“秃头女性”的真实数据之外,基于StyleGAN的合成肖像生成是不可行的,因为“秃头女性”是一个无效的语义组合。第三,头发去除不是一个简单的修补任务,因为对于原始头发区域的新生成内容应与原始面部在皮肤颜色、阴影效果等方面相容。然而,由于面部的多样性,极端光照条件、阴影和不同的发型很容易导致不完美。为了解决上述挑战,我们提出了一种新颖的方法,可以有效地从肖像中去除头发,同时保留原始面部语义和肖像质量,即使对于长而复杂的女性肖像也是如此。在StyleGAN的潜在空间中,去除头发不是一个简单的线性映射问题。为了找到特定的头发操作路径并避免昂贵的数据注释,我们设计了两个不同的流程,用于为男性和女性生成带/不带头发的成对潜在代码,同时保持他们的面部特征。带/不带头发的成对数据用于训练一个完全连接的网络HairMapper,在测试过程中操作真实肖像的潜在代码以去除头发。最终结果通过利用泊松编辑将映射的肖像与原始肖像混合得到。实验证明,我们的方法能够生成不同年龄和性别群体的高质量肖像。用户研究进一步表明,我们的工作能够生成符合人类偏好的满意输出。本文的主要贡献包括:1)我们介绍了一种自动从真实肖像图像中去除头发的方法。它可以生成一个没有头发的新肖像,同时保留面部特征。2)我们开发了一种新颖的“女性-男性-秃头”流程,用于生成在StyleGAN潜在空间中不存在的秃头女性数据,并使用一个完全连接的网络在潜在空间中找到去除头发的路径。3)我们创建了第一个包含6000张去除头发的高质量肖像图像的数据集。02. 相关工作0肖像图像合成得益于生成对抗网络的开创性工作[13],研究人员一直在探索不同的生成模型用于肖像的生成和编辑。0一直在探索不同的生成模型用于肖像的生成和编辑。渐进式增长的生成器和判别器[17]可以实现高分辨率的肖像图像。自由形式的用户输入,如自由手绘草图[8, 9]和蒙版[14,22]也可以用作生成逼真肖像的条件。StyleGAN[18-20]具有解耦的潜在空间,可以通过操纵不同的语义来生成高质量的肖像。通过将图像投影到StyleGAN的潜在空间[1, 2, 30,35],可以将输入图像的语义信息嵌入到潜在代码中,从而将面部编辑任务转化为简单的潜在代码操作。0StyleGAN潜在空间在StyleGAN框架下找到潜在代码操作的一般规则是进行肖像编辑的有效方法。它可以被视为在StyleGAN潜在空间中寻找一条特定路径。在潜在空间中建立分离边界[31]可以通过简单的线性组合来编辑面部语义。然而,分离边界可能会显著改变面部特征。为了解决这个问题,Coarse-to-Fine[36]进一步提出了一种流程来优化分离边界,从而更好地保留面部特征。路径也可以通过主成分分析或无监督方法来学习,而无需注释[15,16]。除了在StyleGAN潜在空间中工作外,可以通过直接分解预训练权重[32]或在通道方向上更好地解耦的样式参数的新空间中来发现潜在语义路径[37]。通过添加或减去特定样式通道的标准差,可以有效地控制面部属性,如头发数量或头发灰度。StyleClip[29]进一步使用对比性语言-图像预训练模型,在潜在空间中动态地找到给定文本提示的方向,实现基于文本的语义图像操作。除了局部语义属性,连续全局老化过程的非线性路径可以通过回归任务[4]实现。在潜在空间中,属性条件采样和编辑的另一种解决方案是连续归一化流[3]。0头发处理头发处理为用户设计和可视化不同发型提供了一种有效的方式。从人脸中提取的层可以应用于胡须去除[27]。3D模型提供了更多的几何信息用于发型的生成和处理。基于建模结果,可以通过平滑地改变每根发丝来实现发型编辑[5,6]。为了避免昂贵的3D建模和渲染过程,神经网络被用来直接合成2D图像的逼真头发。简单和稀疏的引导笔画可以为目标发型生成提供高级头发结构信息[7, 28,38]。绘制的蒙版或参考照片42290给用户更多的自由度进行交互式头发处理[33, 34,40]。尽管上述方法在生成具有不同发型的高质量肖像方面表现出色,但当从输入整体合成新肖像时,面部特征可能会受到影响。另一方面,如果直接将新发型组合到输入肖像中,很容易出现冗余的头发、头发与面部不一致等问题。03. 方法03.1. 概述0图2展示了我们方法的流程。给定一个真实的男性或女性肖像图像,我们的目标是在StyleGAN潜在空间中找到一条特定路径,可以完全去除头发,同时保留肖像结构和面部特征。基本思想是首先生成具有/不具有头发的肖像的配对潜在代码,然后训练一个HairMapper,该模型可以很好地推广到合理的去发模式。关键挑战是如何生成高质量的配对数据(潜在代码)进行训练,特别是对于女性而言。为此,我们设计了男性和女性的两个数据处理流程,如下所述。为了生成配对数据,我们首先随机采样两个潜在代码数据集,并通过一个头发分类器获取它们的头发评分(第3.2小节)。然后,我们利用这些数据集和头发评分来训练一个男性头发分离边界。我们还使用StyleFlow的性别转换结果来训练一个性别分离边界(第3.3小节)。对于带有头发的男性肖像,受[36]启发,我们根据男性头发分离边界对头发进行处理,生成一个没有头发的新肖像,然后将新肖像与原始肖像进行融合,得到高质量的配对潜在代码(第3.4小节)。这些配对的男性潜在代码用于训练男性HairMapper(第3.5小节),以找到男性去发的潜在路径。对于女性而言,由于StyleGAN[19]阻止了无效组合(例如,秃头女性,长发男性)的采样,使用单一线性变换无法生成秃头女性数据。因此,我们引入了一种新的“女性-男性-秃头”流程来解决这个问题。我们首先利用上述的性别分离边界对潜在代码进行编辑,得到与原始女性肖像具有相同面部姿势和皮肤特征的男性肖像。然后,我们将男性肖像的潜在代码输入预训练的男性HairMapper中,得到一个秃头男性肖像,然后将其与原始女性肖像进行融合,得到配对的女性潜在代码(第3.6小节)。最后,我们使用男性和女性的配对数据来训练最终的HairMapper。对于一个真实的输入肖像图像(男性或女性),我们首先使用e4eStyleGAN编码器将其嵌入到潜在空间中,然后将潜在代码输入到0描述0D0中每层的代码相同且限制为W,Dnoise与D0相同,但在每层中添加接近W分布的e4e代码的噪声0表1. D0、Dnoise和e4e编码器生成的潜在代码之间的比较。0最终的HairMapper。之后,我们利用图像混合来获得最终结果(第3.7小节)。03.2. 数据准备0e4e编码器[35]可以将真实图像映射为其潜在代码w+,同时平衡失真可编辑性和失真感知的权衡。w+由一系列低方差的潜在向量w组成,每个向量接近StyleGAN的W潜在空间的分布。我们使用e4e来对真实图像进行编码。为了将我们的方法应用于真实图像的潜在代码,我们采样两个接近e4e编码器结果分布的潜在代码集D0和Dnoise(详见表1中的细节)。D0。对于每个潜在代码w+i∈D0,我们采样一个潜在代码wi∈W,并将w+i的每个层的代码设置为wi:0D0 = {w+i | ni=0},w+i = [wi,∙∙∙,wi],(1)0其中[∙∙∙]表示层的堆叠。Dnoise。对于每个潜在代码w+i∈Dnoise,我们采样一个潜在代码wi∈W,并将w+i的每个层的代码设置为wi,然后对每个层添加噪声:0Dnoise = {w+i | ni=0},w+i = [wi + ni0,∙∙∙,wi +0(2)其中ni0,∙∙∙,ni17表示添加到每个层的噪声(详见第4节中的噪声样本)。为了获得每个肖像的头发分数,我们提出了训练一个头发分类器并利用CelebAHQ-mask[22]作为训练数据集的属性Bald的方法。由于CelebAHQ-mask只包含602张秃头图像,我们从互联网上收集了184张秃头图像添加到数据集中。然后我们利用ResNet50来训练一个头发分类器Chair。我们将潜在代码输入D0和Dnoise到StyleGAN中,然后将输出图像输入Chair,秃头肖像的潜在代码将被Chair评分为shair =0,其他肖像的潜在代码将被Chair评分为shair = 1。03.3. 分离边界训练0在本节中,我们在StyleGAN的潜在空间中训练了两个分离边界,它们为男性脱发和性别转换提供了一般方向。我们使用In- terFaceGAN[31]中的分离边界训练算法来训练男性脱发分离边界。+αhairresultingimagelatentcodeeditedlatent codew+mw+αgendertrain mappertrain mappere4eEncodernhw+fngw+f mMmMmHmlatent code manipulationlatent code manipulationw+fw+mw+mw+^m*ww+^f*w..w+f mw+.mw+m^initializeinitialize w+f m^(4)42300男性训练0最终的HairMapper训练0女性训练0男性HairMapper训练0扩散0输入真实图像泊松编辑0训练测试0扩散0M0M0H0f*0图2.我们的HairMapper流程图。我们使用相同的颜色标记潜在代码及其由StyleGAN生成的对应肖像。在训练阶段,对于男性(顶部行),给定一个带有头发的男性潜在代码w + m,我们首先利用男性头发分离边界的法线向量nh来编辑它,以实现˙w +m及其对应的秃头肖像。为了更好地保留面部身份,我们进一步利用˙w + m来初始化ˇw + m的优化,通过将秃头肖像与原始肖像进行扩散,得到ˇw + �m。我们通过组合男性潜在代码ˇw + � m和w + m来构建数据集Hm,并为男性训练一个HairMapperMm。对于女性(中间行),我们首先通过利用性别分离边界的法线向量ng来编辑输入潜在代码w + f,得到一个具有潜在代码w + f →m的男性肖像。然后我们直接使用预训练的Mm来编辑w + f → m,得到¨w + f →m及其对应的无发男性肖像。之后,我们执行相同的扩散过程,得到w + f的配对潜在代码ˇw + �f。我们构建包含男性和女性配对潜在代码的完整数据集H,并训练最终的HairMapperM。在测试阶段(底部行),我们首先通过e4e编码器对输入真实图像进行编码,然后将其潜在代码输入M以去除头发。在与输入图像混合后,我们得到最终结果。0我们使用D0作为训练集,对男性潜在代码及其对应的头发评分(头发-1和秃头-0)进行SVM训练,然后获得男性头发分离边界的法向量nh。我们使用StyleFlow[3]对1,000个潜在代码进行性别属性编辑,得到1,000对男性-女性潜在代码。然后对潜在代码对及其对应的分数(男性-1和女性-0)进行SVM训练,以获得性别分离边界的法向量ng。这个性别分离边界在保留皮肤特征和面部姿势方面比我们仅仅训练不成对的潜在代码和性别分数的边界表现更好(见第5节中的比较)。03.4. 男性去发0接下来,我们描述生成带有/不带有男性头发的成对潜在代码的流程。由于秃头男性数据在潜在空间中是有效的,我们直接使用头发分离边界来编辑男性肖像的原始潜在代码,并获取秃头信息:0˙w + m = w + m + αhair × nh,(3)0其中αhair是一个超参数,用于控制w +m沿nh移动的距离,w + m表示原始潜在代码,˙w +m表示编辑后的潜在代码。0从˙w +m生成的图像是一个没有头发的男性肖像,但其面部身份已经改变(见图3)。为了获得去除头发但保留面部身份的潜在代码,受到Coarse-to-Fine[36]的启发,我们利用一种方法将秃头的语义信息与原始肖像扩散。我们首先将原始肖像和秃头男性肖像组合起来,得到一个合成图像:0ˇXm = G(w + m) ⊙ (1 − mh) + G(˙w + m) ⊙0mh = FaceParsing(G(w + m)),0其中⊙表示元素级乘法,G是StyleGAN生成器,G(w + m)表示原始肖像,G(˙w +m)表示秃头男性肖像,mh表示头发掩码,FaceParsing是一个可以提取除头发外的面部掩码的网络(详见第4节)。合成图像被用作先验信息,以实现保留G(w +m)面部身份的秃头肖像。我们通过优化一个潜在代码(表示为ˇw + m)来扩散G(w + m)和G(˙w +m),以获得具有与G(w + m)相同面部身份和与G(˙w + m)相同秃头信息的潜在代码ˇw + �m。在优化过程中,Coarse-to-Fine [36]使用原始潜在代码(在我们的情况下为w +m)初始化需要优化的潜在代码ˇw +m。但我们发现由于头发结构的复杂性,直接通过优化消除头发是困难的(详见第5节)。幸运的是,面部语义可以通过优化轻松操作。因此,我们利用˙w + m来初始化ˇw + m,然后优化主要集中在将G(˙w +m)的面部区域转换为G(w +m)的面部区域,这比从头发到皮肤的转换要容易得多。优化及其损失Ldiffuse定义如下:0图3. 从左到右:原始图像G(w + m),编辑后的图像G(˙w +m),合成图像ˇXm和扩散结果G(ˇw + � m)。achieve a bald portrait that preserves the facial identity ofG(w+m). We diffuse G(w+m) with G( ˙w+m) by optimizinga latent code (denoted as ˇw+m) to obtain latent code ˇw+∗mwhose corresponding portrait has the same face identity asG(w+m) and has the same baldness information as G( ˙w+m).In the optimization, Coarse-to-Fine [36] uses the origi-nal latent code (w+m in our case) to initialize the latent codeˇw+m that needs to be optimized. But we find that directlyeliminating hair by optimization is difficult due to the com-plexity of the hair structure (see details in Section 5). For-tunately, face semantics can be easily manipulated by opti-mization. Thus we leverage ˙w+m to initialize ˇw+m, then theoptimization mainly focuses on transforming the face re-gion of G( ˙w+m) to that of G(w+m), which is much easierthan transforming from hair to skin. The optimization andits loss Ldiffuse are defined as:(5)¨w+m = w+m + β × Mm(w+m),(7)L = λlLlatent + λhLhair + λfLface + λiLid,(8)Llatent = ∥ ¨wm − ˇwm ∥2,Lhair = ∥G( ¨w+m) ⊙ mh − G( ˇw+∗m ) ⊙ mh∥2,(10)Lface = ∥G( ¨w+m)⊙(1−mh)−G(w+m)⊙(1−mh)∥2. (11)Lid = 1 − ⟨R(G( ¨w+m)), R(G(w+m))⟩,(12)w+f→m = w+f + αgender × ng.(13)¨w+f→m = w+f→m + β × Mm(w+f→m).(14)42310ˇw + � m = arg min ˇw +m Ldiffuse,0Ldiffuse = λrecLrec + λperLper,0Lrec = ∥ˇXm ⊙ (1 − mh) − G(ˇw + m) ⊙ (1 −0Lper = ∥ϕ(ˇXm) − ϕ(G(ˇw +m)))∥2,0其中λrec和λper是用于控制面部重建损失Lrec和整体感知损失Lper的权重,ϕ表示VGG16模型,Lper是ϕ激活图之间的L2距离。03.5. 男性头发映射器训练0我们使用第3.4节中描述的过程来处理 D 0中的10,774个男性潜码和 D noise中的5,328个男性潜码,得到男性潜码数据集 H m:0H m = { ( w + mi , ˇ w + � mi ) | n m i =0 } ,(6)0其中 n m = 16,102 是 H m 的大小。我们不使用 H m来训练“精细分离边界”,如[36]中的头发去除,因为头发结构复杂,不能通过单个线性组合的潜码和分离边界来去除(详见补充材料)。受 StyleClip [29]的潜码映射器的启发,我们提出使用全连接网络来找到一条特定路径:0其中 M m 是全连接网络,β 是超参数。训练 M m的目标函数是:0L latent 惩罚 ¨ w + m 和 ˇ w + � m 之间的差异:0L hair 惩罚从 ¨ w + m 和 ˇ w + � m生成的两个图像之间的头发区域差异:0L face 惩罚从 ¨ w + m 生成的图像与原始图像 w + m之间的面部区域差异:0我们还使用身份损失[30]来惩罚从 ¨ w + m生成的图像与原始图像之间的身份差异:0其中 R 是 ArcFace 网络[11],�∙ , ∙� 计算余弦相似度。03.6. 女性头发去除0StyleGAN [19]防止采样无效组合,例如秃头女性。此外,仅使用男性头发分离边界无法完全去除头发并显著改变面部身份(详见补充材料中的详细解释)。因此,我们提出了一个女性-男性-秃头的流程来处理女性肖像,如图4所示。我们的方法是首先生成一个秃头男性肖像,然后将其与原始女性肖像扩散。首先,我们利用性别分离边界来编辑原始女性肖像的潜码 w +f。编辑后的潜码 w + f → m 可以生成一个与 w + f具有相似皮肤特征和面部姿势的男性肖像:0其次,我们将 w + f → m 输入预训练的男性头发映射器 Mm ,得到秃头男性潜码 ¨ w + f → m :0W+潜空间0粗糙的性别边界0男性头发映射器0语义扩散0图4. 女性-男性-秃头的示例流程。橙色框突出显示原始女性图像(G ( w + f ) ),粉色框突出显示由 n g 编辑的男性图像( G ( w + f→ m ) ),蓝色框显示由 M m 编辑的秃头男性图像( G ( ¨ w + f→ m ) ),紫色框突出显示扩散的秃头女性结果( G ( ˇ w + � f ))。ˇXf = G(w+f ) ⊙ (1 − mh) + G( ¨w+f→m) ⊙ mh.(15)42320然后,我们使用头发遮罩获取合成图像 ˇ X f作为先验信息,就像我们对男性肖像所做的那样:0最后,我们应用第3.4节中描述的扩散方法生成结果 ˇ w + � f,并使用 ¨ w + f → m 初始化优化。在处理 D 0中的8,034个潜码和 D noise中的5,878个潜码后,我们构建了一个包括女性潜码对和 Hm 中的男性潜码对的数据集 H:0H = {(w + mi, ˇw + �mi) | nmi = 0} � {(w + fi, ˇw + �fi) |nfi = 0}, (16)0其中n m = 16,102,n f =13,912。我们通过遵循3.5小节中的相同过程,对H进行训练,得到最终的HairMapper M。03.7. 图像融合0对于真实图像编辑,我们首先使用e4e编码器对真实图像进行编码,得到其潜在编码。然后将潜在编码输入M,得到生成的潜在编码及其对应的图像。最后,我们应用泊松编辑将生成的图像与原始人脸进行融合。然而,头发蒙版无法覆盖头发下的阴影,并且泊松编辑会强制头发蒙版边缘的颜色保持一致,并保持合成图像的梯度(保持阴影和皮肤之间的光照差异不变)。因此,由于面部区域被错误地“亮化”,生成的图像无法与原始人脸完美融合(参见图5顶部行)。为了解决这个问题,我们提出了扩张和模糊头发蒙版的方法,可以有效覆盖阴影(参见图5底部行),实现平滑过渡。0图5.使用原始头发蒙版(顶部)与膨胀和模糊的头发蒙版(底部)进行图像融合。从左到右的图像依次为:头发蒙版可视化、合成图像和融合图像。04. 实现细节0实验环境:我们在实验中使用了StyleGAN2-ada[18]的PyTorch模型。实验平台是一台配备i7-9700 3.0GHz CPU、16GB内存和GeForceRTX 2060GPU(13.9GB内存)的台式电脑,训练和测试阶段的所有图像均为1024×1024像素。0分辨率。数据生成:我们将截断-psi设置为0.8以进行潜在编码样本采样。对于Dnoise的采样噪声,我们首先计算标准差wstd和噪声尺度scale noise = (0.5wstd)2,然后使用噪声尺度来控制随机采样噪声的权重,并得到Equ.2中的潜在编码噪声。扩散:我们使用Adam求解器[21]作为优化器,学习率为0.01,对每个潜在编码进行150次迭代训练。HairMapper:我们使用8个全连接层构建Mm和M。对于每个映射器,我们使用学习率为0.005的Adam求解器对Mm进行52000步训练,对M进行26000步训练。风格保持:潜在编码的前8层控制面部的粗略特征(姿势、形状),保持其余层不变可以保留细节特征(皮肤外观)。因此,我们只编辑潜在编码的前8层(使用映射器或分离边界)。HairMask:我们使用MaskGAN[22]提出的FaceParsing网络*为每个肖像生成头发蒙版。对于融合,我们将膨胀核大小设置为50,模糊核大小设置为30。超参数:对于扩散,我们将λ rec设置为1.0,将λper设置为5e-5。对于映射器,我们在训练阶段将β设置为0.4,在测试阶段将β设置为0.4×1.2=0.48。在Equ.8中,我们将λ l设置为0.1,将λ h设置为0.4,将λf设置为0.4,将λi设置为0.4。对于分离边界,我们提出使用两种算法来计算超参数α(详见补充材料)。05. 评估05.1. 结果0去毛。我们在从互联网收集的各种图像上测试了我们的方法†(经过非商业目的下载许可),这些图像涵盖了不同年龄、种族、性别群体和光照条件。我们的方法处理一张真实图像需要0.7181秒。图1显示了两个具有合理去毛效果的典型示例。我们还在“伪地面真实图像”上进行了实验。我们手动向从互联网收集的一些秃头肖像图像中添加了头发,然后将我们的方法应用于添加了头发的肖像。更多结果可以在补充材料中找到。数据集。我们还将我们的方法应用于FFHQ图像[19](CC BY-NC-SA4.0),并提供了一个非头发-FFHQ数据集,其中包含6000个非头发肖像‡(见图6中的样本),以激发和促进未来的更多研究。0* https://github.com/switchablenorms/CelebAMask-HQ† https://unsplash.com/ ‡https://github.com/oneThousand1000/non-hair-FFHQ42330图6. 非发型FFHQ数据集的样本。0图7.从左到右:原始图像,通过ng编辑的图像,通过ncg编辑的图像。0应用。图1展示了我们方法的两个应用:数字发型设计和单视角人脸重建。首先,通过成功去发,发型设计变得容易,因为新的发型模板可以直接添加到我们的结果图像中。在这里,我们只是简单地执行泊松编辑,将发型模板与无发图像混合。此外,对于人脸重建,我们的去发结果可以为那些在额头处受到头发干扰的方法提供干净的纹理[10,23]。如图1所示,我们将GAN-FIT[12]应用于去发后的肖像,得到一个重建良好的面部,与原始肖像相比,几何变化很小,并且没有头发伪影。05.2. 消融研究0性别转换。在第3.3节中,我们建议使用StyleFlow的结果来训练性别分离边界并得到ng,因为它比在随机采样的潜在编码和性别评分上训练的粗略性别分离的ncg性能更好。如图7所示,与ng相比,ncg会导致面部形状和姿势的更大变化。优化初始化。在第3.4节中,我们使用˙w + m而不是w +m来初始化潜在编码,以优化去发。如图8所示,如果使用w+m进行初始化,会出现伪影(头发没有完全去除但仍可见)。我们将其归因于头发结构与其周围包括皮肤和背景的差异较大,无法通过优化有效地减小。由于潜在空间中面部的可线性性,仅使用˙w +m进行初始化只需要改变面部区域,并且可以获得更好的结果。05.3. 比较0我们将我们的方法与基于StyleGAN潜在空间路径搜索的其他图像处理方法进行比较,包括InterFaceGAN[31],StyleSpace [37],StyleClip [29]和StyleFlow [3]。0图8. 从左到右:原始图像,使用w + m和˙w +m初始化优化代码的结果。0我们的 IFG SS SC SF Lid 0.3451 0.5933 0.33820.3986 0.42570表2.InterFaceGAN(IFG),StyleSpace(SS),StyleClip(SC),StyleFlow(SF)和我们的平均身份损失(Lid)。0如图9所示,我们对输入的潜在编码进行采样,并得到原始图像(第一列)。对于InterFaceGAN,我们在D0和头发评分上训练一个分离边界,然后使用该分离边界来编辑输入的潜在编码。对于StyleSpace,我们将输入的潜在编码映射到StyleSpace,得到s,然后在第6层的第364个通道上添加标准差,该通道用于控制头发。对于StyleClip,我们找到从“有头发的脸”到“无头发的脸”的全局方向,然后沿着这个方向移动s。对于StyleFlow,我们编辑输入的潜在编码的“秃头”属性。为了比较保留面部身份的能力,我们随机采样了500个潜在编码,然后使用上述四种方法和我们自己的方法对它们进行编辑。对于我们的方法,我们不执行混合(图9中的第6列)来将原始面部区域混合到结果图像中,因为我们的目标只是在路径搜索性能上进行公平比较。对于定量测量,我们利用ArcFace计算原始面部和编辑后面部之间的面部身份差异(Lid)(见表2)。StyleSpace是一种在保留面部身份的同时局部操纵语义属性的SOTA方法。我们的方法具有相似的性能,表明我们的方法确定的路径对面部几乎没有影响。此外,图9显示,只有我们的方法实现了可信的去发。它可以完全去除男性和女性肖像的头发,同时保持面部身份不变。相比之下,InterFaceGAN改变了面部身份。StyleSpace只能去除额头的头发,并且存在明显的伪影。StyleClip可以去除大部分头发,但在“长发女性”的情况下仍会导致伪影。StyleFlow总是导致头部变小并改变面部身份。0我们还在补充材料中与3D头部重建工作[26]进行了比较。05.4. 用户研究042340我们的方法有混合。0原始的0InterFaceGAN0StyleSpace0StyleClip0StyleFlow0我们的方法没有混合。0图9. 最先进方法的定性比较结果。从左到右:原始图像,InterfaceGAN,StyleSpace,StyleClip,StyleFlow,我们的方法没有混合,我们的方法有混合。0关于第一个用户研究,我们收集了40张真实的秃头肖像图像和40张从真实肖像图像中去除头发的随机采样结果。我们从中随机选择了20张图像,并要求参与者判断每张图像是否未经处理。40名参与者的结果显示,48.37%的我们的结果被标记为未经处理,而59.74%的真实秃头图像被标记为未经处理。这表明我们的结果在质量上接近真实的秃头数据。关于第二个用户研究,我们在第5.3节中应用了五种方法(包括我们的方法)进行比较,得到了50组图像的50个潜在代码。我们随机选择了20个图像组,每组包含无序的图像,供35名参与者从每组中选择最佳图像。统计结果显示,66.86%的参与者选择了我们的方法作为最佳选择,而8.43%、6.14%、9.86%和8.71%的参与者分别选择了InterFaceGAN、StyleSpace、StyleClip和StyleFlow。这表明我们的方法在去除头发方面明显优于其他方法。06. 结论和讨论0在本文中,我们提出了一种新的方法,可以在保留面部身份和肖像质量的同时自然地去除肖像中的头发。我们的关键思想是训练一个完全连接的网络HairMapper,它可以在StyleGAN的潜在空间中识别出一条可行的去除头发的路径。为了进行训练,我们首先分别为男性和女性构建了带有和不带有头发的配对潜在代码。特别地,我们开发了一种新颖的“女性-男性-秃头”方法来创建女性的配对数据。在测试过程中,我们将输入肖像输入到映射器中,然后将没有头发的输出图像与输入图像混合。我们的方法可以稳健地处理性别、年龄、种族、发型、表情、姿势、遮挡、阴影和光照等方面的肖像图像。高质量的肖像图像没有头发。0去除头发可以保留面部身份,有益于数字发型设计和单视角人脸重建等实际应用。我们认为我们的工作是在潜在空间中进行头发操作的有趣一步。此外,我们去除头发后的高质量肖像图像数据集可以激发更多未来潜在应用。我们的方法有一些局限性。首先,我们的方法依赖于e4e编码器来嵌入真实图像。一些无法被e4e精确编码的肖像可能会导致伪影,例如整体颜色、脸部或耳朵形状的改变(见补充材料中的限制样本的第1-3行)。这可以通过改进StyleGAN编码器或应用额外的扩散方法(详见补充材料)来克服。其次,没有被头发遮挡的头发在结果中可能会显眼(限制样本的第4行)。更精确的头发遮罩可以通过更好的提取器或手工来解决这个问题。第三,虽然扩张和模糊化头发遮罩可以防止头发下的阴影引起的伪影,但在极端光照条件下仍然不够好(限制样本的第5行)。可以事先对面部区域进行阴影去除以改善这个问题。尽管从单个图像或视频重建的3D人脸通常不包含头发,但我们的工作生成的图像可能仍然引起伦理关切。我们的工作可能有益于发型设计和3D人脸生成,但我们仍然鼓励对真实肖像图像进行此类编辑操作时应征得所有者的同意。致谢:Xiaogang Jin受到中国国家自然科学基金(GrantNos. 61972344,62036010)和“科技创新2025”宁波重大专项(GrantNo. 2020Z007)的支持。Yong-Liang Yang受到RCUKCAMERA项目(EP/M023281/1,EP/T022523/1)和Adobe的赞助。我们感谢BarisGecer、Huiwen Luo和LiwenHu对人脸重建的协助,以及所有Unsplash用户分享非商业用途的肖像。42350参考文献0[1] Rameen Abdal,Yipeng Qin和Peter Wonka.Image2stylegan:如何将图像嵌入到stylegan潜空间中?在计算机视觉的IEEE/CVF国际会议ICCV中,2019年。20[2] Rameen Abdal,Yipeng Qin和Peter Wonka.Image2stylegan++:如何编辑嵌入图像?在计算机视觉和模式识别的IEEE会议CVPR中,2020年。20[3] Rameen Abdal,Peihao Zhu,Niloy J Mitra和PeterWonka.Styleflow:使用条件连续归一化流对stylegan生成的图像进行属性条件探索.ACM图形学交易(TOG),40(3):1-21,2021年。2,4,70[4] Yuval Alaluf,Or Patashnik和Daniel Cohen-Or.仅仅是风格问题:使用基于风格回归模型的年龄转换.ACM图形学交易(TOG),40(4):45:1-45:12,2021年。20[5] Menglei Chai,Lvdi Wang,Yanlin Weng,XiaogangJin和Kun Zhou. 图像和视频中的动态头发操作.ACM图形学交易(TOG),32(4):75:1-75:8,2013年。20[6] Menglei Chai,Lvdi Wang,Yanlin Weng,YizhouYu,Baining Guo和Kun Zhou. 用于肖像操纵的单视图头发建模.ACM图形学交易(TOG),31(4):116:1-116:8,2012年。20[7] Hong Chen和Song Chun Zhu.用于人类头发分析和合成的生成素描模型.IEEE模式分析与机器智能交易,28(7):1025-1040,2006年。20[8] Shu-Yu Chen,Feng-Lin Liu,Yu-Kun Lai,Paul L.Rosin,Chunpeng Li,Hongbo Fu和Lin Gao.Deepfaceediting:深度人脸生成
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功