如果哪里翻译的不好,欢迎批评指正,后续会不断更正,转载注明出处

论文下载链接:https://www.sciencedirect.com/science/article/pii/S2468502X18300652

bust depth map:我看到论文中文的摘要写的是泡沫模型,主要不太了解3D模型的专业术语,就暂且用泡沫模型代替,看完论文我觉得它就是一个人体的半身模型,去除了头发,可以在4.2节看到。

Hair-GANS:从单张图像恢复3D头发结构

摘要

我们介绍一种生成对抗性网络结构—— Hair-GANs,能从单张图像中恢复头发的3D 结构。我们网络的目标是建立一个从二维头发映射到三维头发结构的参数化转换。三维头发结构被表示为一个三维体积场(3D体素场),它不仅能够记录头发缕所占用的空间还能记录方向。我们首先将其与一人头的泡沫模型配准,然后提取一组记录头发方向信息的2D 图像,连同提取的泡沫模型深度图输入我们的 Hair-GANs。利用我们的发生器网络,我们计算出三维体积场(3D体素场)作为最终头发合成的结构指导。建模结果不仅与输入图像中的头发相似,而且在其他视图中也具有许多生动的细节。通过模拟多种发型并与现有技术进行比较,证明了该方法的有效性。

1 引言

在当今新兴的虚拟现实和增强现实应用中,3D 虚拟建模技术日益成为热门。然而,最关键的任务之一头发建模,由于在现实世界中,存在复杂性和多样性的发型,仍然具有挑战性。与多视图建模方法相比,单视图头发建模方法被认为是一种更加用户友好的方法,多视图建模方法通常需要在受控的工作室环境中使用专门的设备,并且处理周期较长。

由于缺乏输入视图的信息,单视图头发建模技术通常依赖于一个大型数据库,其中包含数百或数千个用作头发形状、分布或复杂结构的先验知识的合成发型。这些数据驱动的方法有一些问题。首先,头发数据库需要大量空间存储,这限制了它们在移动设备等平台上的应用。其次,建模结果的质量依赖于从数量有限的数据库中搜索到的头发样本。虽然引入了后期细化以提高细节的准确性,但是最终结果的结构仍然受到初始样本的限制。此外,贪心搜索过程缓慢,难以平衡局部细节相似度和全局形状相似度之间的选择标准。

近年来,深度学习在许多研究领域得到了广泛的应用。深度学习方法最吸引人的特点之一是它能有效地将大数据量转化为高维特征表示。这些学到的特性足以描述一个新的数据,并建立从输入到目标输出的空间映射,完全独立于这些训练数据。文献[1]的方法和[11][12]都介绍了基于深度学习的单视图头发建模方法。在论文[1]中的方法,他们使用CNN网络对图像的头发区域和方向预测期进行检测,作为后续头发建模的预处理。[11]使用自动编码器直接学习从2D方向图到参数化为[13]中低分辨率的2D头皮图的头发支架的对应关系。Saito等。 [12]通过利用自动编码器的潜在空间在2D图像和3D头发结构之间建立桥梁,努力实现端到端3D头发结构生成。

本文介绍了生成对抗性网络结构—— Hair-GANs,它可以从单个输入图像中恢复出3D 的头发结构。正如视觉社区所研究的那样,生成对抗性网络能够比 CNN 和自动编码模型更好地捕捉模型分布,因为他们的对抗训练性质倾向于自己学习更多的通用距离测量方法,而不是手工编码。为了建立网络训练的数据库,我们使用了三维人工合成头发数据库。像[11]和[12]的深度学习方法一样,在网络训练完成后,大量的数据库被放置一边。

单视图头发建模的一个特别的挑战是输入图像只提供二维信息,缺乏三维空间中深度方向的线索。因此,一个直接的二维到三维训练可能导致不受限制的结果(很多种不同的结果)。因此,我们将泡沫深度图映射到网络的输入中,作为我们的GANs网络的一个输入条件,它为人体周围的毛发生长提供了深度。同时,我们通过维度扩展层将一系列2D特征转换为3D特征的单个通道,以聚合来自2D卷积神经网络的3D信息。受 GANs [14]的广义结构的启发,我们最小化判别器的loss,来扩大真伪之间的差异,并竞争性地优化生成器,以减少输出结果和真实结果之间的距离,不仅在体元处理上(voxel-wisely没找到具体翻译,voxel是立体像素的意思),而且在判别器的潜在空间。我们的方法以单一的图像作为输入,在我们的生成器网络生成的头发占用空间和方向指导下,可以生成一个高质量的三维发丝的头发模型。由我们的 Hair-GANs 恢复的3D 头发结构沿着深度方向处理高感官质量的细节,而不是像文献[12]中那样一个光滑粗糙的头发形状。图1显示了我们的方法对短发和长发、直发和卷发的效果。

总括而言,我们的贡献如下:

我们介绍了用于单视图头发建模的 GANs 体系结构。我们的广域网将二维方向图转换为三维体积场,编码了头发束的位置和方向信息;

我们提出了一个维度扩展层的设计,我们的生成器网络的转换一系列的二维特征到一个单一的三维特征通道;

同时考虑了鉴判别器的输出特性和潜在特性,对发生成器参数进行了优化。

2 相关工作

头发是在线游戏、虚拟世界和虚拟现实应用中数字人物的重要组成部分之一。高质量的3D头发的建模技术在计算机图形学中得到了广泛的研究,这通常需要专业技能和数天艰苦的体力劳动。关于精细毛发(seminal hair)建模方法的详细讨论,请参阅论文[15]。

基于图像的头发建模是一种从捕获的头发图像创建令人信服的头发结构的有效的方法。根据所需的图像数量,可以将基于图像的头发建模方法大致分为多视图头发建模和单视图头发建模。多视图头发建模方法从多个视图创建高质量3D头发建模,这通常需要复杂的硬件设置,受控的环境,处理周期长。它们对消费者不友好,因为普通用户不容易获得这些多视图捕获系统和专业技能。尽管单视图毛发建模方法正变得越来越流行并且重要,但未校准的图像在网络上已广泛可用。柴等人,首先介绍了利用不同种类的先验知识的单视图头发建模技术,包括图层边界和遮挡以及阴影着色。他们的方法的主要问题是脱离输入图像,在视图上缺乏对几何形状的控制。

数据驱动的头发建模方法从概念上讲是提供了具有说服力的整个发型的先验知识,这些事通过使用3D合成发型数据库得到的。胡等人,从数据库中搜索,通过一些用户笔画来重建一个完整的头发形状。柴等人将模型重新混合步骤加入到预计算阶段。 从其扩大的数据库中找到约5-40个候选对象,然后,它们对这些候选对象执行变形以实现具有细节相似性的模型结果。为了将其3D头发数据库丰富到40K模型,他们对发束进行了聚类并重新组合了这些聚类模型。张等人,仅使用通过轮廓拟合搜索候选者进行基于四视图的头发建模来构建平滑的粗糙头发形状,并且通过纹理融合和螺旋拟合(helix-fitting,感觉是很专业的术语,暂时不会解释)引入样式细节。 在论文[19]中,他们引入了一种基于局部补丁的搜索策略,以找到具有足以指导头发合成的局部样式模式的候选者,而不是在全局中找到具有相同样式的候选者。 所有这些数据驱动的方法都需要存储数百或数千个发型数据库。

最近深度学习的成功也带来了在头发造型领域的重大改进。柴等人[1]提出了一个完全自动化的头发建模方法,用深度卷积神经网络代替用户交互来进行头发分割和头发生长方向估计。引入基于深度学习的头发属性分类器,提高了数据驱动方法的候选检索性能。为了实现从二维图像信息到三维头发表达的端到端学习,周等人[11]使用编码器-解码器结构生成以二维方向场的三维点序列作为输入的头发束。但是他们的头发排列被参数化为头皮上的低分辨率网格,导致了低质量的建模结果。在同时进行的工作中,Saito 等人证明了3D 体素场和相应的高分辨率流场很容易被神经网络处理,并且与传统的基于串的表示方法相兼容,从而实现高保真的建模和渲染。然而,在他们的方法中,体素场和流场是分别从相同的体积潜在空间解码的。他们对预先训练好的 ResNet-50网络进行微调,将输入图像编码成毛发系数,这些毛发系数通过训练好的嵌入网络与体积潜在空间对齐。由于编码器在处理过程中存在压缩和潜在系数比对中的信息丢失,其结果在输入图像和输出毛发结构之间缺乏对应的细节。相比之下,以二维信息图作为输入,考虑到输入图像与建模结果之间的细节对应,我们的方法更直接地训练 Hair-GANs 来预测三维体积场的占用率和方向信息。

古德菲勒等人(14)介绍了生成对抗性网络(GANs),以此作为一个框架来构建一个能够模拟目标分布的通用模型。GANs的目标是通过轮流训练判别器和生成器来训练生成器模型。有条件的 GANs [20]是一种利用条件信息作为判别器和生成器的 GANs,被认为是一种很有前途的图像域工具,例如,条件图像合成[21] ,从文本[22]生成图像,以及图像到图像的转换[23]。我们采用GANs从二维图像信息中恢复三维头发结构,利用GANs的能力重建复杂数据集的分布。我们利用判别器的潜在空间来增强标注数据真实度和目标输出在分布上的相似性。我们的 Hair-GANs 旨在学习从2D 信息映射到3D体素场和方向的参数转换,而无需中间的潜在空间。

3 概述

首先我们阐述我们的统一模型,在这个模型中所有的合成头发数据和泡沫模型都是配对的。基于这个统一的模型,我们生成与标注数据真实3D体积场与相应的2D方向和置信度图(§4)耦合的训练数据。接下来,我们介绍Hair-Gan的网络结果和损失函数。与原始GAN网络相似,我们的网络也由判别器和生成器组成。给定真实的头发图像作为输入,通过使用我们训练有素的头发生成器,我们可以基于2D方向和置信度图以及泡沫深度图(均从图像中提取)来恢复3D头发结构,并且最终合成了高质量的3D头发模型。

4 数据准备

受到论文[19]的启发,我们将发型视为分布在人体周围的局部样式的模式融合,与[1][2][11]形成鲜明的对比,后者将不同的发型视为样式化的发束的不同组合。与以往的研究类似,我们收集了原始的头发数据集,其中包含大约300个3D的人造头发模型,这些模型已经和相同的泡沫模型相匹配。我们定义了一个模型空间(4.1节)来准备我们的训练数据(4.2节),其中包含了标注真实数据的3D体素场和2D头发信息图X。

4.1统一模型空间(用边界框界定3D模型,然后进行2D捕捉,生成2D头发信息图)

我们将边界框定义为模型空间的边界,在边界内生成真实的3D头发方向体积并捕获2D头发方向和置信度图。下图说明了我们定义的边界框和2D捕获示例。

边界框。 模型空间由一个边界框界定,该边界框考虑了泡沫模型和所有数据库头发模型,但某些极端长的头发(手动选择)除外。 然后,将一个分辨率为128×128×96的3D体积细分为边界框(H×H×D)。

2D捕捉。 为了在定义的模型空间下获得2D信息图X,我们将摄像机直接置于泡沫模型上。图像平面的中心与边界框的中心重合。 通过正交投影以1024 / H的比例捕获2D图像。 因此,捕获图像的尺寸为1024×1024。

4.2 训练数据(因为数据少,旋转已有的数据,扩大数据量;网络的三个输入数据分别是2D方向图,置信度图和泡沫深度图)

按照论文[2],我们只需翻转每个模型并删除约束的发型(例如辫子和边界),即可将数据库数量加倍。我们的数据库中有303种发型,长短不等,直发到卷发。我们围绕着边界框的中心随机的旋转头发。X轴旋转范围是-15°-15°,Y轴的旋转范围是-30°-30°,Z轴的旋转范围是-20°-20°。由于所有这些数据库模型都是由多边形带组成的,因此与Hu等人相同。 [2],我们将多边形带转换为稠密的3D定向体积,将其视为真实标定数据Y。然后,以第4.1节中定义的相机视图姿势将发束渲染为2D图像。但是,为了消除真实头发图像和合成头发图像的差异,我们使用[16]的迭代方法为捕获的图像计算2D方向和置信度图。考虑到真实图像的质量不同,数据库的迭代范围从3到5。通常,方向图中存在方向歧义,Chai等人(2001年)认为。论文 [17]已经确认,应消除方向歧义,以确保正确的头发生长方向。我们可以将模型线的方向投影到图像平面以更新方向图,来避免产生歧义。然后,我们以高置信度扩散方向,以获得最终的像素密集方向图,并将方向向量编码到色彩空间。另外,如前所述,由于头发是从头皮生长并分布在身体周围的,因此还应考虑将泡沫模型作为我们网络的条件。我们通过逐个像素跟踪光线来计算泡沫深度图,以获得从泡沫到相机的距离,然后将该距离除以D以将值设置在[0,1]之内。最后,我们的网络的输入X由2D方向图,置信度图和泡沫深度图组成。

所有2D映射的值都在[0,1]之内,并且3D和2D方向矢量都在色彩空间中编码。 对于每个数据库模型,我们计算12对X和Y。因此,我们获得3636对训练数据。 训练数据生成的示例如下图所示。(Y就是ground-truth data,X从左到右分别是orientation, confidence, bust depth maps)

5 Hair-GANs

通过从输入图像中提取2D图像和泡沫深度图,我们的Hair-GAN的目标是生成一个3D模型 ,主要是对占用空间和方向信息编码,从而指导头发的三维合成。网络的输入是尺寸为1024x1024的2D信息X,它由在统一模型空间中捕捉的4个特征通道组成:头发的方向图、置信度图、泡沫深度图。输出就是一个大小为128*128*96的3D模型Y,其中头发方向矢量以RGB颜色编码。我们首先描述对抗训练网络的损失函数(5.1节)。然后介绍Hair-GAN网络的网络结构(5.2节)和训练策略(5.3节)。

5.1节略,主要是损失函数的介绍,没有仔细看,怕讲不清楚

5.2 网络结构

下图中详细描述了生成器和判别器的网络结构。 为了清楚地定义Hair GAN的网络结构,我们使用以下符号:in(分辨率,特征通道)和out(分辨率,特征通道)代表操作块的输入和输出信息; C(输入通道,输出通道,步幅)表示紧随ReLU激活的卷积层; $是维数扩展层,ζ是完全连接的节点。 我们在由C构成的残差块中使用+作为元素逐项加法表示方法,而I表示输入层。 对于所有2D卷积层表示为C2,滤波器大小为5,对于所有3D卷积层表示为C3,滤波器大小为3。 对于X-,Y-,Z-的信息操作块具有相同形式的方案。

生成器。我们把生成器定义为一些块组成。第一块是由4个残差网络组成,从元素上逐级增加从较早层到较晚层的激活,以便从高层信息到低层信息进行残差校正,将下采样特征图从1024×1024映射到128×128,特征的数量从4增加到256。然后通过X-,Y-,Z-块分别进行编码,生成特征通道数为96的特征,然后作为最终生成的立体图像中的Z轴信息。$将连续的2D特征转换为3D特征的单个通道。 然后,我们将X,Y,Z块的输出连接起来,作为以下3D残差卷积网络的输入。更多细节请参考以下图表。

判别器。 考虑到论文[20]的启发,将2D输入X与3D期望输出ý/ Y之间的对应关系,我们将ý / Y与P(X)连接起来,P(X)是将X编码为具有与ý / Y的分辨率相同。 然后,通过多个过滤器对连接的3D特征进行卷积,直到ζ层最终区分真假。

5.3 训练策略

在[24]中,生成器在进行五次训练后判别器进行更新,这需要花费大量时间。 为了提高时间效率,我们使用两次时间尺度更新规则(TTUR)[27]仅将标识符更新一次,而不是五次。 我们采用常用的ADAM优化器[28]进行训练,其中β1= 0且β2= 0.9。 判别器的学习率设置为0.0003,发生器的学习率设置为0.0001。 通常,我们的Hair-GAN旨在使用2D映射作为输入,以1024×1024的大小生成在占用空间和方向编码的128×128×96 3D体积。用于训练的批处理大小设置为4 。

6 头发合成

6.1 预处理

和之前的单视角方法类似,对于输入的图像,我们首先运用人脸对齐算法,将相同的泡沫模型拟合到检测了人脸特征点的图像中。此外,我们分割头发区域并生成能够预测头发方向的预测器,主要是用于消除方向歧义,以便之后进行方向图的计算。具体来说,假设我们具有以下变换:泡沫模型中涉及了缩放、平移和旋转,只需将缩放和平移应用于图像,然后将旋转对应到相同的泡沫模型中(主要用于生成正确的深度图)。对齐之后,我们通过4.1节讲述的投影捕获图像和发束的方法,生成4.2节的方向图、置信度图和泡沫深度图。我们还借助方向映射器中的方向预测器消除了方向歧义。 图5示出了预处理的示例。

6.2 后处理

我们发现由生成器直接生成的3D模型可能因为复杂发型,会有不平滑的结果。因此我们其基础上,使用MC算法来计算粗糙的形状,然后通过泊松方法对其进行平滑处理。

Hair-Gan论文翻译相关推荐

  1. The Generalized Detection Method for the Dim Small Targets by Faster R-CNN Integrated with GAN 论文翻译

    摘要 - 由于缺乏判别特征,昏暗和小目标检测作为ATR(自动目标识别)中的一个开放主题长期保留.随着真实场景的不断变化,由于依赖于特定图像数据,本方法在再现性和概括性方面表现出更差的性能.为了解决这个 ...

  2. FaceID-GAN:Learning a Symmetry Three-Player GAN for Identity-Preserving Face Synthesis论文翻译和解读

    写在之前:这篇work的精妙程度是我平生仅见,或者是我还没看过太多论文.网络模型的设计加上合适的损失函数,一篇CVPR就出来了. 摘要 人脸合成使用GANs已经获得了很卓越的效果.现存在的方法将GAN ...

  3. BEGAN(Boundary Equilibrium GAN)论文翻译

    BEGAN(Boundary Equilibrium GAN)论文翻译 BEGAN:边界平衡生成式对抗网络 摘要 我们提出了一种新的促进平衡的方法,以及配套的损失函数,这个损失的设计由Wasserst ...

  4. 必读!TOP10生成对抗网络GAN论文(附链接)

    来源:新智元 本文约2200字,建议阅读7分钟. 本文所选论文提供了一个易读的对GAN的介绍,帮助你理解GAN技术的基础. [ 导读 ]生成对抗网络 (GAN) 是深度学习中最有趣.最受欢迎的应用之一 ...

  5. 生成对抗网络gan原理_必读!TOP10生成对抗网络GAN论文(附链接)

    来源:新智元 本文约2200字,建议阅读7分钟. 本文所选论文提供了一个易读的对GAN的介绍,帮助你理解GAN技术的基础. [ 导读 ]生成对抗网络 (GAN) 是深度学习中最有趣.最受欢迎的应用之一 ...

  6. 联邦学习笔记-《Federated Machine Learning: Concept and Applications》论文翻译个人笔记

    联邦学习笔记-<Federated Machine Learning: Concept and Applications>论文翻译个人笔记 摘要 今天的人工智能仍然面临着两大挑战.一是在大 ...

  7. Scaled-YOLOv4: Scaling Cross Stage Partial Network 论文翻译

    Scaled-YOLOv4: Scaling Cross Stage Partial Network论文翻译 摘要 1.介绍 2.相关工作 2.1 实时检测器 2.2 模型缩放 3.模型缩放的原则 3 ...

  8. 论文翻译1-PARSEC-Streaming 360-Degree Videos Using Super-Resolution

    论文翻译-Streaming 360-Degree Videos Using Super-Resolution(2020infocom) 使用超高分辨率流式传输360度视频 关键词:360◦视频,AB ...

  9. Transformers in Vision: A Survey论文翻译

    Transformers in Vision: A Survey 论文翻译 原文 翻译链接 摘要 摘要--Transformer模型在自然语言任务上的惊人结果引起了视觉界的兴趣,而致力于研究它们在计算 ...

  10. A Survey of Deep Learning-based Object Detection论文翻译 + 阅读笔记

    A Survey of Deep Learning-based Object Detection论文翻译 + 阅读笔记 //2022.1.7 日下午16:00开始阅读 双阶段检测器示意图 单阶段检测器 ...

最新文章

  1. 五千万美元注资孵化器,ETC能实现绝地反击吗?
  2. mxnet 和pytorch比较
  3. 面试必会系列 - 1.4 类加载机制
  4. H - Hello Ms. Ze(树状数组套主席树,线段树上二分)
  5. 164. Maximum Gap
  6. WPF vs2015,vs2012 添加ArcObjects SDK
  7. Redis中数据结构和编码详细图解(应用场景及优缺点)
  8. 爬虫教程 python3_【Python3爬虫】Appium入门教程
  9. Java方法区和运行时常量池溢出问题分析(转)
  10. linux日期函数使用技巧[转自那天的blog]
  11. Microsoft SharePoint Server 2010 简体中文版及相关资源
  12. 获取0-1的加密的随机数
  13. usb无线网卡linux驱动,Linux系统下安装USB无线网卡驱动方法
  14. 企业上云是什么意思?企业上云的好处是什么?
  15. 谈谈数据结构的重要性
  16. 怎么让微信头像做模糊背景
  17. C++实现Win11万年历
  18. redis集群模式是怎么实现的?
  19. 实战|Python轻松实现绘制词云图(附详细源码)
  20. 验证码短信接口可以广泛应用在网站会员手机验证、APP应用手机验证、订单通知、物流提醒等触发类短信应用。

热门文章

  1. 敏捷开发Scrum学习
  2. 德云一哥岳云鹏,准备录制河南和东方卫视节目,央视春晚还参加吗
  3. vba 关闭屏幕刷新
  4. php一年过去多少天,php获取一年有多少天
  5. 线性代数及矩阵论(七)
  6. Dubbo3的Triple协议踩坑记录
  7. 一个简单的java分页
  8. Idea突然不停indexing的问题
  9. 宝宝起名神器微信小程序源码下载支持多种流量主模式
  10. java获取文件编码