论文地址:https://arxiv.org/pdf/1902.11203.pdf

文中所有图片与表格统一移动至了文末

基于自增强生成模型的两阶段头发图像合成

摘要

给予有限的指导,如稀疏草图或低分辨率图像,生成可信头发图像,已经随着生成对抗网络(GANs)的兴起而成为可能。传统的图像到图像翻译网络可以产生可辨别的结果,但通常会丢失更精细的纹理,而且普遍存在模糊伪像。本文提出了一种高质量的用于头发图像合成的两阶段生成模型。两阶段流水线首先通过现有的图像转换模型来生成粗图像,然后将具有自增强能力的再生网络应用于粗图像。通过本文提出的结构提取层,从头发图像中提取纹理和方向图,实现了自增强能力。在Sketch2Hair和Hair Super-Resolution这两个任务上的广泛实验表明,我们的方法能够合成具有更精细细节的可信头发图像,并优于SOTA。

1.引言

伴随着将条件GAN(cGANs)[Mirza&Osindero,2014]成功应用于图像到图像的翻译任务中[Isola,2017],从稀疏输入(如标签图[Chen&Koltun,2017;Lassner,2017]和草图[Portenier,2018])中生成真实照片,引起了计算机图形界和计算机视觉界研究人员的极大关注。人像图像生成作为生成任务中最热门的课题之一,已经被广泛研究[Wang,2018b;Karras,2017]。虽然如此,但头发区域作为最显著的区域之一,在生成时通常会出现模糊的情况。

为了触及这个问题的核心,在本文中,我们探讨了在稀疏/低分辨率输入(如头发草图或下采样的头发图像)条件下产生逼真头发照片的方法。头发与其他类别的图像有很大的不同,因为它的特殊纹理:其由成千上万根长而细的发丝渲染而成,充满了质感和细节。这使得现有的基于cGAN的方法,如pix2pix[Isola,2017],从两个方面失效:1)其判别器通过将输出图像编码到一个隐藏空间中,保证了全局的真实输出,但缺乏对局部锐度的约束;2)输入作为cGANs的条件太弱,无法生成链状像素。

根据我们的实验,可以借用[Wang,2018b]的特征匹配损失和[Gatys,2016]的风格损失来指导学习过程,从而解决第一个问题。为了克服更重要的第二个挑战,让发丝显现,我们提出了一种自增强的生成模型。关键思想为将生成工作分为两个阶段进行。1)我们首先利用SOTA来产生一个粗层次的输出;2)发丝结构,如方向,被提取出来。然后将其作为增强条件,输入同样基于cGANs的再生成网络。为了支持这种两阶段网络的端到端训练,在再生成网络中嵌入了一种新型的可区分纹理提取层,使其具有自增强的能力。

为了验证提出的自增强机制的有效性,我们研究了两个任务:sketch2hair的目标是从稀疏的草图输入中来生成真实的头发;头发超分辨率的目标是从一个向下采样的图像中生成高分辨率的外观。我们还建立了一个高质量的数据集来支撑这两个应用。用户研究和视觉比较都表明了所提出的方法相比所有现有方法的优越性。由于提出的结构提取层,所有的粗头发图像都可以得到明显的增强。

概括而言,我们的主要贡献包括:

  • 设计了一个新颖的自增强模块,有了这个模块,头发的生成就变成了一个端到端的两阶段框架模型。正如在Sketch2Hair和Hair Super Resolution两个任务中所展示的那样,这种策略有效地改进了头发合成的SOTA模型。我们预测这种一般策略有可能被应用到更多的头发生成相关任务中。
  • 对于任务Sketch2Hair,我们是第一个完全只用草图来合成真实头发图像的应用。这可以看作是基于草图的实时发型编辑的原型。
  • 我们构建了一个高质量的头发数据集,包括640张高分辨率的头发照片及其相应的手工绘制草图。这个数据集将在我们的论文被录用后发表,以便本领域的研究。

2.相关工作

真实头发合成: 生成虚拟发型是计算机图形学中一个长期的研究课题,因为它在游戏和电影中表现人类角色时发挥了重要作用。之前的大部分工作都集中在根据用户交互[Mao,2004;Fu,2007;Hu,2015]或捕捉的真实图像[Wei,2005;Jakob,2009;Chai,2016;Zhou,2018],来生成3D头发。给定图像,通过这些建模技术,在3D空间中进行操作,然后重新渲染到2D域,可以逐股恢复头发,从而实现智能头发编辑[Chai,2012;Chai,2013]或插值[Weng,2013]。虽然这些方法能够得到逼真的外观,但由于涉及到3D,会产生很高的计算成本。为了避免头发渲染中的高计算成本,[Wei,2018]提出了一种基于深度学习的头发合成方法,可以从边缘激活图中生成高质量的结果。但是,为了获得激活图,初始渲染时仍需要输入CG毛发模型。相比之下,我们的方法不涉及3D渲染模块,只依靠信息稀疏的2D图像。在如此有限的输入下,我们仍然能合成出逼真的照片结果,这要归功于提出的自增强模块。

而[Chen&Zhu,2006]则提出了一种2D生成式草图模型,用于头发分析和合成,有了它,头发图像可以被编码成草图、向量场和高频带。以图像为输入,这样的多级表示方式提供了一种直接操作草图合成新发型的方法。与这项工作相比,我们的方法可以在没有任何参考照片的情况下,只需要通过输入的稀疏草图就能推断真实输出。我们利用深度神经网络实现从草图到彩色图像的空间一致性转换,而不是相对来说比较耗时的传统图像渲染。据我们所知,我们是第一个使用cGANs来完成将草图合成为头发图像的工作。

人像超分辨率: Dong[Dong,2014;Dong,2016]率先使用卷积网络进行图像超分辨率,取得了优于以往工作的性能。由于只使用了三层简单卷积网络,SRCNN在恢复图像细节方面的效果还是比较差的。后来设计了许多更深层次、更有效的网络结构[Kim,2016;Ledig,2017;Lim,2017;Zhang,2018;Wang,2018c],并在提高恢复的图像质量方面取得了巨大成功。作为一个热点,目前已经有多个基于CNN的架构[Zhu,2016;Cao,2017;Huang,2017]专门针对人脸幻象进行开发。同时向量化也可以用于图像超分辨率,如[Lai,2009;Wang,2017]。为了使得结果更富细节,还引入了对抗式学习[Yu&Porikli,2016;Yu&Porikli,2017]。最近,Li等[Li,2018]提出了一种半参数方法,借助参考图像,从未知的退化观测值重建高质量的人脸图像。然而,作为人像中与脸部紧密贴合的重要部分,复原的头发效果总是被忽视。目前先进的方法所恢复的头发总是模糊不清或胶质化,成为人像超分辨率的短板。在本文中,由于头发区域分割是通过[Levinshtein,2018]实现的,我们提出了一个额外的头发纹理增强方法,以提高重建头发的质量。我们的增强结构能够以端到端的方式附在几乎任何超分辨率的方法上,这可以看作是一个额外的纹理增强模块。

生成时的增强技术: 在生成性任务中,两个域之间的空间一致性转换是很难训练的,尤其是当转移差距较大时。几种来自不同方向的增强方法通过将整个转换分为一些子任务来减少转移。为了稳定训练过程,[Chen&Koltun,2017;Wang,2018b;Karras,2017]提出了在小规模训练网络,然后在大规模上进行微调的增强方法。另外,在语义分割中,为了提高准确度,从初步预测中再生成的策略也被广泛使用[Shelhamer,2017;Zheng,2015]。

在低层视觉任务中,为了恢复生成结果中的结构,[Xu,2015;Liu,2016]提出来近似一些滤波器以保持边界的网络。此外,[Pan,2018]提出了DualCNN,它由两个平行分支组成,分别以端到端的方式恢复结构和细节。但在头发生成中,生成的纹理,可以看作是结构,容易被一些无序的噪声搞乱。为了克服这个问题,我们从粗结果中提取结构,并以端到端的方式使用它来再生我们的最终结果。据我们所知,在基于CNN的生成模型中,这种增强策略还没有被提出过。而我们的实验结果表明,这种增强结构具有显著的效果,可以使模糊区域更少,纹理更细致。

3.网络结构

我们提出的头发图像合成的生成模型将有限指导的图像Ig{I_{\text{g}}}Ig​作为输入,并产生一个可信的头发图像If{I_{\text{f}}}If​作为输出。它可以通过两阶段的方式来实现高质量的生成。在第一阶段,使用[Isola,2017]中pix2pix的基本网络Gb(⋅){G_b}( \cdot )Gb​(⋅)来生成一个粗结果Ic{I_{\text{c}}}Ic​,它通常包含很少的纹理和一些模糊伪像。然后应用具有自增强能力的再生成网络Gr(⋅){G_r}( \cdot )Gr​(⋅),在第二阶段产生高质量的结果If{I_{\text{f}}}If​。我们在图2中说明了整个框架。

3.1.基础生成网络

给定一个有限指导的头发相关图像Ig{I_{\text{g}}}Ig​,在第一阶段,我们进行Ig{I_{\text{g}}}Ig​和目标域之间的图像到图像翻译,即一个可信的头发图像。和[Radford,2015;Isola,2017]中一样,该网络通常是一个条件GAN。具体来说,在Sketch2Hair(S2H)和Hair Super Resolution(HSR)的任务中,Ig{I_{\text{g}}}Ig​分别是稀疏的草图图像(图1(a))和低分辨率图像(图10(a))。因此,对于S2H,目标图像Ic{I_{\text{c}}}Ic​的分辨率与Ig{I_{\text{g}}}Ig​相同,对于HSR,目标图像的分辨率为用户指定的更高分辨率。网络结构也是任务特定的。例如,在HSR中,与S2H相比,结构中多了几个上采样层。我们向读者推荐[Isola,2017],以了解这两个任务的图像到图像翻译网络的详细描述。另外,为了简单起见,本文用"basic net(基础网)"或"basic network(基础网)"作为"basic generating network(基础生成网络)"的简称。

3.2.自增强再生成网络

第1阶段Ic{I_{\text{c}}}Ic​所产生的头发图像,通常可识别出核心结构,且与目标接近。不过,由于其缺乏光泽、质感和发丝风格,还远没有达到可信的程度。为了生成高质量的头发图像If{I_{\text{f}}}If​ ,我们进一步将Ic{I_{\text{c}}}Ic​送入具有自增强能力的再生成网络Gr(⋅){G_r}( \cdot )Gr​(⋅)中,这是由新引入的结构提取层实现的,具体如下。

结构提取层: 给定一个头发图像III,我们按照[Chai,2012]中的流水线,通过一组定向滤波器{Kθ}\{ {K_\theta }\}{Kθ​}对III进行过滤,生成一组定向响应{Fθ}\{ {F_\theta }\}{Fθ​},即: Fθ(i,j)=(Kθ∗I)(i,j)(1){F_\theta }(i,j) = ({K_\theta }*I)(i,j) \quad (1)Fθ​(i,j)=(Kθ​∗I)(i,j)(1) 其中(i,j)(i,j)(i,j)为像素位置,θ\thetaθ为方向角。对于每个像素位置(i,j)(i,j)(i,j),我们取使Fθ(i,j){F_\theta }(i,j)Fθ​(i,j)最大化的θ\thetaθ,以及相应的最大值,分别得到方位图Iθ(i,j){I_\theta }(i,j)Iθ​(i,j)和纹理图It(i,j){I_t }(i,j)It​(i,j),也就是: Iθ(i,j)=argmaxθ{Fθ(i,j)}(2){I_\theta }(i,j) = arg\mathop {max}\limits_\theta \{ {F_\theta }(i,j)\} \quad (2)Iθ​(i,j)=argθmax​{Fθ​(i,j)}(2) It(i,j)=maxθ{Fθ(i,j)}(3){I_t}(i,j) = \mathop {max}\limits_\theta \{ {F_\theta }(i,j)\} \quad (3)It​(i,j)=θmax​{Fθ​(i,j)}(3) 在本文中,我们利用8个均匀对称的余弦Gabor核作为滤波库{Kθ}\{ {K_\theta }\}{Kθ​},其中方向角θ\thetaθ在0∘{0^\circ }0∘和180∘{180^\circ }180∘之间均匀采样。具体来说,角θ\thetaθ处的余弦Gabor核定义为: Kθ(u,v)=exp(−12[u∼2σu2+v∼2σv2])⋅cos(2πu∼λ)(4){K_\theta }(u,v) = exp( - \frac{1}{2}\left[ {\frac{{{{\mathop u\limits^ \sim }^2}}}{{\sigma _u^2}} + \frac{{{{\mathop v\limits^ \sim }^2}}}{{\sigma _v^2}}} \right]) \cdot cos(\frac{{2\pi \mathop u\limits^ \sim }}{\lambda })\quad (4)Kθ​(u,v)=exp(−21​[σu2​u∼2​+σv2​v∼2​])⋅cos(λ2πu∼​)(4) 其中,u∼=ucos⁡θ+vsin⁡θ\mathop u\limits^ \sim = u\cos \theta + v\sin \thetau∼=ucosθ+vsinθ,v∼=−usin⁡θ+vcos⁡θ\mathop v\limits^ \sim = - u\sin \theta + v\cos \thetav∼=−usinθ+vcosθ。σu{\sigma _u}σu​、σv{\sigma _v}σv​、λ\lambdaλ为超参数,我们在所有的实验中分别简单地将其设为1.8、2.4、4。我们将上述运算表示为[Iθ,It]←g(I)[{I_\theta },{I_t}] \leftarrow g(I)[Iθ​,It​]←g(I)。图3展示了4个方向上的Gabor响应,图4直观地展示了纹理图和方向图的例子。在实践中,我们发现,最初从Ic{I_{\text{c}}}Ic​中提取的It{I_{\text{t}}}It​包含了大部分纹理,但Ic{I_{\text{c}}}Ic​中也保留了一些模糊伪像。为了解决这个问题,我们重复操作ggg,先将其应用到Ic{I_{\text{c}}}Ic​上产生It0I_t^0It0​,然后再将其重新应用到It0I_t^0It0​上,得到最终的It{I_t}It​和Iθ{I_\theta }Iθ​,即 [Iθ,It]←g(It0)(5)[{I_\theta },{I_t}] \leftarrow g(I_t^0)\quad (5)[Iθ​,It​]←g(It0​)(5) 其中[Iθ0,It0]←g(Ic)[I_\theta ^0,I_t^0] \leftarrow g({I_c})[Iθ0​,It0​]←g(Ic​)。我们在图5中展示了使用[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]代替[It0,Iθ0][I_t^0,I_\theta ^0][It0​,Iθ0​]的有效性。

网络结构与优化目标: 现在结构提取层得到的[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]不仅包含了头发的结构,还包含了头发的详细信息。为了充分利用这些高级和低级特征,我们应用U-Net架构[Ronneberger,2015],它由全卷积神经网络和跳连接组成,并产生If=Gr(Ic){I_f} = {G_r}({I_c})If​=Gr​(Ic​)。同时,将优化目标拟定为像素损失Lpixel{L_{pixel}}Lpixel​、对抗损失Ladv{L_{adv}}Ladv​、风格损失Lstyle{L_{style}}Lstyle​和特征匹配损失LFM{L_{FM}}LFM​等几类损失的组合。

像素级重建: 我们的再生成网络产生的输出需要像传统方法一样,考虑像素级的ground truth[Radford,2015;Isola,2017]。如[Wang,2018a;Meng,2018;Wang,2019]中所述,通过计算If{I_f}If​和ground truth图像Igt{I_{gt}}Igt​之间的L1loss{L_1}\,{\text{loss}}L1​loss来实现。同样,为了鼓励锐利多样的头发生成,我们还引入了[Goodfellow,2014]中的对抗损失Ladv{L_{adv}}Ladv​。这两项损失写成 Lpixel=1H×W×C∥Igt−Gr(Ic)∥1(6){L_{pixel}} = \frac{1}{{H \times W \times C}}{\left\| {{I_{gt}} - {G_r}({I_c})} \right\|_1}\quad (6)Lpixel​=H×W×C1​∥Igt​−Gr​(Ic​)∥1​(6) Ladv=−∑Iclog⁡D(Gr(Ic))(7){L_{adv}} = - \sum\limits_{{I_c}} {\log D({G_r}({I_c}))} \quad (7)Ladv​=−Ic​∑​logD(Gr​(Ic​))(7) 其中H、W、C为图像的大小,D为GAN的判别器。
风格重建: 合成合理发型的一个核心问题是生成丝滑有光泽的发型。使用Lpixel{L_{pixel}}Lpixel​和Ladv{L_{adv}}Ladv​进行训练,迫使网络过于关注每个像素的颜色传输和有限的高频生成,而不是重建真实风格的头发。因此,我们通过在适当的特征空间中测量输入输出距离来加入相关的约束条件,该空间对整体颜色、纹理和常见图案等风格变化敏感,同时对其他变化相对稳定。具体来说,我们以如下方式定义Lstyle{L_{style}}Lstyle​。令ψ\psiψ为特征提取的预训练网络,ψi(x){\psi ^i}(x)ψi(x)为其第iii层的特征图,其形状为Ci×Hi×Wi{C_i} \times {H_i} \times {W_i}Ci​×Hi​×Wi​。在[Gatys,2016]中引入的形状为Ci×Ci{C_i} \times {C_i}Ci​×Ci​的Gram矩阵,其项定义为: Gi(x)j,k=1CiHiWi∑h=1Hi∑w=1Wiψi(x)j,h,w⋅ψi(x)k,h,w(8){G^i}{(x)_{j,k}} = \frac{1}{{{C_i}{H_i}{W_i}}}\sum\limits_{h = 1}^{{H_i}} {\sum\limits_{w = 1}^{{W_i}} {{\psi ^i}{{(x)}_{j,h,w}} \cdot } } {\psi ^i}{(x)_{k,h,w}}\quad (8)Gi(x)j,k​=Ci​Hi​Wi​1​h=1∑Hi​​w=1∑Wi​​ψi(x)j,h,w​⋅ψi(x)k,h,w​(8) 那么第iii层的风格重建损失就被表述为输出图像和目标图像的Gram矩阵之差的Frobenius规范的平方: Lstylei(Ic,Igt)=∥Gi(Gr(Ic))−Gi(Igt)∥F2(9)L_{style}^i({I_c},{I_{gt}}) = \left\| {{G^i}({G_r}({I_c})) - {G^i}({I_{gt}})} \right\|_F^2\quad (9)Lstylei​(Ic​,Igt​)=∥∥​Gi(Gr​(Ic​))−Gi(Igt​)∥∥​F2​(9) 在实际应用中,我们应用预训练好的VGG-16网络作为ψ\psiψ,将其两层(relu2_2,relu3_3)(relu2\_2,relu3\_3)(relu2_2,relu3_3)上的风格损失累积起来,形成Lstyle{L_{style}}Lstyle​。另外,为了提高效率,我们将ψi(x){\psi _i}(x)ψi​(x)重塑为形状为Ci×HiWi{C_i} \times {H_i}{W_i}Ci​×Hi​Wi​的矩阵χ\chiχ,从而得到Gi(x)=χχT/CiHiWi{G^i}(x) = \chi {\chi ^T}/{C_i}{H_i}{W_i}Gi(x)=χχT/Ci​Hi​Wi​。

特征匹配: 正如[Wang,2018b]中所讨论的那样,高分辨率图像合成对GAN判别器的设计提出了很大的挑战。为了区分高分辨率的真实图像与合成图像,鉴别器D需要更深以获得更大的接受域。因而D很难详细地惩罚差别。D提取的特征层上定义的特征匹配损失[Wang,2018b]可以很好地简化这个问题,即 LFM(Gr,D)=EIc∑i=1T1Ni∥Di(Igt)−Di(Gr(Ic))∥1(10){L_{FM}}({G_r},D) = {{\rm E}_{{I_c}}}\sum\limits_{i = 1}^T {\frac{1}{{{N_i}}}{{\left\| {{D^i}({I_{gt}}) - {D^i}({G_r}({I_c}))} \right\|}_1}} \quad (10)LFM​(Gr​,D)=EIc​​i=1∑T​Ni​1​∥∥​Di(Igt​)−Di(Gr​(Ic​))∥∥​1​(10) 其中,Di{D^i}Di为DDD的第iii层中的特征图,Ni{N_i}Ni​为每层的元素数,T{T}T为总层数。我们的全部目标将上述所有损失综合为 min⁡Gr(w1Lpixel+w2Ladv+w3Lstyle+w4LFM)(11)\mathop {\min }\limits_{{G_r}} ({w_1}{L_{pixel}} + {w_2}{L_{adv}} + {w_3}{L_{style}} + {w_4}{L_{FM}})\quad (11)Gr​min​(w1​Lpixel​+w2​Ladv​+w3​Lstyle​+w4​LFM​)(11) 其中w1∼w4{w_1} \sim {w_4}w1​∼w4​控制4项的重要性。

训练策略: 基础网络和再生成网络在一开始就分开训练。对于再生成网络,我们首先直接从ground truth Igt{I_{gt}}Igt​中提取结构信息[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]。当从训练好的基础网络中得到可识别的粗图像时,我们将[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]的来源从ground truth图像替换为粗图像Ic{I_{\text{c}}}Ic​。这种策略可以让训练好的再生成网络看到足够的数据,避免轻易过拟合。最后,我们将两个网络连接起来,并在降低学习率的情况下共同进行fine-tune。

4.应用

4.1.Sketch2Hair

Sketch2Hair任务的输入是一个二进制图像Ig{I_g}Ig​,有两个通道。它的第一个通道是一个掩模M∈{0,1}M \in \{ 0,1\}M∈{0,1},其中0和1分别填充头发轮廓的外侧和内侧。其第二通道S∈{0,1}S \in \{ 0,1\}S∈{0,1}编码笔画(0)(0)(0)表示头发的主要生长方向。如前所述,在第一阶段中,Ig{I_g}Ig​被送入基础生成网络Gb{G_b}Gb​中产生粗结果Ic{I_c}Ic​,然后应用再生成网络Gr{G_r}Gr​产生最终结果If{I_f}If​ 。

对于Gb{G_b}Gb​,我们选择一个深度U-net[Ronneberger,2015],将输入草图卷积成1×1的特征图,然后反复反卷积,生成与Ig{I_g}Ig​相同大小的Ic{I_c}Ic​。背后的原因是,我们要求网络在给定稀疏笔画中的粗线信息后,有足够的能力去想象整个发线。它不应该琐碎地将笔画看成是合成图像的唯一发线,在这种情况下,网络可能只在它们之间呈现一些背景色,如[Chen&Koltun,2017]。从1×1特征图反卷积,使得每个恢复的像素都能看到所有的输入像素,深层结构使得网络有更多的参数从数据中学习。

此外,在训练Gb{G_b}Gb​的过程中,我们在现有的Lpixel{L_{pixel}}Lpixel​和Ladv{L_{adv}}Ladv​中添加了一个纹理损失Ltexture{L_{texture}}Ltexture​,以强制Ic{I_c}Ic​包含尽可能多的纹理信息。具体来说,纹理损失对Igt{I_gt}Ig​t和Ic{I_c}Ic​之间的纹理差进行惩罚,记做 Ltexture=∥It(Igt)−It(Ic)∥1(12){L_{texture}} = {\left\| {{I_t}({I_{gt}}) - {I_t}({I_c})} \right\|_1}\quad (12)Ltexture​=∥It​(Igt​)−It​(Ic​)∥1​(12) 其中It(x){I_t}(x)It​(x)指的是从xxx中提取的纹理图,定义类似于等式(5)。我们在图6中说明了优化Gb{G_b}Gb​后用与不用Ltexture{L_{texture}}Ltexture​提取的两个纹理图。可以看出,包含了这种损失,纹理图中的发丝更加清晰,有利于连续网络中高质量图像的生成。

然后我们在Gb{G_b}Gb​的末尾附加Gr{G_r}Gr​,以改善最终的结果。我们在第5节中列举了大量的比较来证明Gr{G_r}Gr​的有效性,具体见图1和9。

由Gr{G_r}Gr​生成的头发If{I_f}If​通常暗淡且缺乏丰富的色彩,但是往往需要一个有特定色彩的合成发像。为此,我们为其提供两种解决方案。一种是在Photoshop等图像处理软件中调整If{I_f}If​的色调,这可以保留If{I_f}If​中的光泽和丝滑风格。另一种是类似于[Sangkloy,2017]的数据驱动,即把训练对增强为彩色化版本,从而使网络能够学习到颜色的对应关系。图7中的实验结果表明,两种解决方案实现了令人满意的输出。

4.2.头发超分辨率

数码相机应用的不断增加对人像图像的超分辨率提出了更高的需求,其中发型超分辨率也扮演着关键角色。在这个任务中,输入图像Ig{I_g}Ig​为低分辨率图像,If{I_f}If​为高分辨率图像。考虑到视觉性能,我们选择SRGAN[Ledig,2017]和ESRGAN[Wang,2018c]作为我们的基础网来生成Ic{I_c}Ic​。在实验中,我们发现,如果输入图像过小,基础网将无法产生准确的结果,会有模糊伪像。随着我们的再生成网络的引入,其自增强能力可以生成更精细的纹理,If{I_f}If​中的伪像更少。请注意,在这里,我们还将输入Ig{I_g}Ig​的双立方上采样版本Ig∼{\mathop I\limits^ \sim _g}gI∼​反馈给Gr{G_r}Gr​,因为[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]只包含结构而非颜色信息。我们还在图10中列出了对比结果,以证明我们方法的有效性。

5.实验结果

5.1.数据集构造

我们以如下方式建立我们的数据集。首先,我们从网上收集了640张发丝清晰的高分辨率照片,其中头发面积限制在512×512以内。然后针对每张图片,手动分割头发区域并保存蒙版。对于Sketch2Hair,我们将640张图片分发给5个付费用户,要求他们根据发丝的生长方向,在头发区域画出一组线条,生成640张素描图片对。对于超分辨率,我们只对5122分辨率的图像进行下采样来获得输入数据。我们将整个数据以4 : 1的比例随机分成训练集和测试集。数据集一览如图8所示。

5.2.在Sketch2Hair上的对比

对于Sketch2Hair的任务,我们与pix2pix [Isola,2017] ,pix2pixHD [Wang,2018b],CRN [Chen&Koltun,2017],pix2pixStyle进行比较。对于pix2pix,我们只用官方代码,不过将U-net256替换为了U-net512。CRN是一个没有对抗结构的单前馈网络。我们首先在2562分辨率下对其进行训练,然后在5122分辨率下对其进行fine tune。Pix2pixHD是pix2pix的改进模型,用于大规模的图像合成,所以我们在5122分辨率上也使用了它的官方代码。对于Pix2pixStyle,我们在pix2pix的结构上训练它,并增加了一个额外的风格损失。为了公平比较,我们用我们的数据集对这4个模型进行了彻底的训练,直到它们的损失收敛。

图9是我们的方法与上述4种方法的定性比较。可以看出,基础pix2pix框架产生了模糊伪像。Pix2pixHD通过更好地生成纹理结构来改善外观,而结果中仍然存在噪声。CRN产生了最令人满意的视觉输出,但缺少精细的细节。Pix2pixStyle的性能与pix2pixHD类似,而它缺乏足够的高频信息。相比之下,我们的方法不仅合成了更好的结构,而且还生成了更精细的细节,产生了丝滑而有光泽的外观。

我们还应用无参照图像质量评分即自然度图像质量评估器(NIQE)来定量衡量结果的质量。分数越小,说明感知质量越好。评估后的得分证明我们的方法优于上述4种模型,如表1所示。我们进一步进行了用户研究,对上述模型的性能进行感性评价。具体来说,我们从总共128张测试图像中随机抽取20张图像,与上述4种方法的相应结果进行配对,得到80个组合。然后,我们将这些组合打乱,请志愿者在每个组合中选择发丝较细的那一对。65名志愿者参与其中,其中男性48人,18-25岁的占94%,26-35岁的占6%。结果显示,在与CRN、pix2pix、pix2pixHD、pix2pixStyle的对比中,我们的方法分别被98.23%、94.38%、86.62%、69.62%的志愿者投票。

5.3.在头发超分辨率上的对比

对于头发超分辨率的任务,我们将我们的方法与两个SOTA方法SRGAN[Ledig,2017]和ESRGAN[Wang,2018c]分别在4倍尺度和8倍尺度上进行了比较。我们在图10中列出了结果。可以看出,SRGAN在4倍结果中恢复了有限的图像细节,但细节仍然是模糊的。ESRGAN在8倍结果中产生了足够清晰但胶质的发丝。相比之下,我们的方法显著地减少了这些伪像,并准确地重建了更精细的细节,产生了可信的和视觉上满意的结果。

6.结论与探讨

我们已经提出了一种给定的具有有限引导(如草图或低分辨率)图像,合成头发图像的方法。我们把头发的合成概括为两个阶段。在第一阶段,我们应用现有的图像到图像的翻译网络来生成一个粗结果,它是可识别的,但缺乏纹理细节。然后,我们将具有自增强能力的再生成网络应用于粗结果,并产生最终的高质量结果。通过提出的结构提取层,从头发图像中提取纹理和方向图,实现了自增强能力。实验结果表明,我们的方法在感知用户研究,定性和定性比较中优于SOTA。我们希望这种两阶段的方法可以潜在地应用于更多的头发合成任务中。

附录:本文所有图片与表格


图1:给定一个具有有限引导的图像,如手绘草图a,基本的pix2pix框架会导致模糊伪像b。在训练pix2pix网络时加入风格损失,有助于生成有限的结构c。d通过我们的两阶段方法得到的结果,合成的发丝更细,纹理更平滑。


图2:我们框架的架构由两个阶段组成。在第1阶段,将有限引导的输入图像Ig{I_g}Ig​利用基础网Gb{G_b}Gb​转化为的粗图像Ic{I_c}Ic​。在第二阶段,在Gb{G_b}Gb​的末端附加一个具有自增强能力的再生成网络Gr{G_r}Gr​,并产生最终的输出If{I_f}If​。 自增强是由我们提出的结构提取层实现的,提取纹理和方向图[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]作为U-net的输入。Ig{I_g}Ig​、Gb{G_b}Gb​和Gr{G_r}Gr​的具体结构是任务特定的。这里我们以Sketch2Hair任务来说明,Hair Super Resolution任务也类似。


图3:不同方向的Gabor响应。发线对其对应方向的Gabor滤波器有较大的响应。利用这一特性,可以通过设计的Gabor滤波器库提取头发的核心结构。


图4:纹理图和方向图的可视化。a为输入图像。bc分别是a的纹理图和方向图。这里的方向图是彩色的以可视化。


图5:通过使用结构信息[It0,Iθ0][I_t^0,I_\theta ^0][It0​,Iθ0​]和[It,Iθ][{I_t},{I_\theta }][It​,Iθ​],比较最终结果。a为一个输入的草图图像。b由基本网络Gb{G_b}Gb​生成的粗结果。cd分别是利用提取的结构信息[It0,Iθ0][I_t^0,I_\theta ^0][It0​,Iθ0​]和[It,Iθ][{I_t},{I_\theta }][It​,Iθ​]生成的最终结果。与c相比,d在纹理和光泽度方面的质量更高。


图6:不使用Ltexture{L_{texture}}Ltexture​提取的纹理图与使用Ltexture{L_{texture}}Ltexture​提取的纹理图。与a相比,b在Ltexture{L_{texture}}Ltexture​的引导下产生了更清晰的发线。


图7:两种解决方案的上色结果,a至d采用后处理,即在Photoshop中调整色调,e至h采用数据驱动的方法。e和g是带颜色笔触的输入草图,f和h是它们对应的输出。


图8:头发数据集一览,包括高清头发图像(奇数列)和相应的草图(偶数列)。


图9:对于Sketch2Hair的任务,我们的方法与其他方法的定性比较。


图10:我们的方法和SRGAN / ESRGAN在头发图像超分辨率任务的结果。a为低分辨率输入。b由SRGAN(顶部2行)在4倍下的超分辨率结果和ESRGAN(底部2行)在8倍下的超分辨率结果。c我们从b中得到的增强结果。d为Ground truth。增强后的头发更清晰,视觉上更舒适(放大观看更佳)。

表1:Sketch2Hair的NIQE评分(上)和超分辨率结果(下)。数值越低代表质量越好。

论文翻译:Two-phase Hair Image Synthesis by Self-Enhancing Generative Model相关推荐

  1. 论文翻译:X2CT-GAN: Reconstructing CT from Biplanar X-Rays with Generative Adversarial Networks

    摘要  计算机断层扫描(CT)可以提供患者内部器官的3D视图,有助于疾病诊断,但它对患者的辐射剂量更大,而且CT扫描仪比x光机更昂贵.传统的CT重建方法需要通过对身体的全面旋转扫描进行数百次x射线投影 ...

  2. 声音克隆_论文翻译:2019_Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis

    论文:2019_Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis 翻译总结:只需 ...

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

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

  4. GANSynth论文翻译

    写在前面:翻译完我也傻了.好多音乐/信号处理的东西确实不太懂,欢饮有理解的朋友们在我的翻译上二次创作. 这篇论文是"GANSynth: Adversarial Neural Audio Sy ...

  5. 论文翻译:Conv-TasNet: Surpassing Ideal Time–Frequency Magnitude Masking for Speech Separation

    我醉了呀,当我花一天翻译完后,发现已经网上已经有现成的了,而且翻译的比我好,哎,造孽呀,但是他写的是论文笔记,而我是纯翻译,能给读者更多的思想和理解空间,并且还有参考文献,也不错哈,反正翻译是写给自己 ...

  6. 分布式系统领域经典论文翻译集

    分布式领域论文译序 sql&nosql年代记 SMAQ:海量数据的存储计算和查询 一.google论文系列 1.      google系列论文译序 2.      The anatomy o ...

  7. 2015-UNet论文翻译

    文章原址 文章目录 Unet论文翻译 摘要 1. 介绍 2. 网络结构 3. 训练 3.1 数据扩充 4. 实验 5. 结论 Unet论文翻译 摘要 人们普遍认为深度神经网络需要大量的带标签的样本(数 ...

  8. ECCV2020 Flow-edge Guided Video Completion20论文翻译

    ECCV2020 Flow-edge Guided Video Completion20论文翻译 摘要 1.介绍 2.相关工作 3.方法 3.1 综述 3.2 Edge-guided Flow Com ...

  9. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network论文翻译——中英文对照

    文章作者:Tyan 博客:noahsnail.com  |  CSDN  |  简书 声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com ...

最新文章

  1. CHANGE_DOCUMENT
  2. VS2002 与 IIS6.0的一个bug
  3. 【机房收费系统】多么痛的领悟
  4. mysql内连接部门平均值_详解MySql基本查询、连接查询、子查询、正则表达查询_MySQL...
  5. NFT游戏Illuvium获500万美元种子轮融资,Framework Ventures领投
  6. java 判断是合法语言_使用Java 怎么实现一个判断IP地址是否合法的功能
  7. linux系统开远程桌面,Linux 系统开启远程桌面的方法
  8. 计算机知识复制粘贴,教你如何使用电脑复制粘贴快捷键
  9. 好心情平台:30分钟就可改善抑郁情绪的运动处方
  10. 【高数】高数第七章节——微分方程概念一阶微分方程高阶微分方程
  11. 【航线运输驾驶员理论考试】飞行原理
  12. 网络安全 — 零信任网络访问(ZTNA)
  13. python判断素数的方法简书_深入浅出RSA在CTF中的攻击套路
  14. 密码学历史及近40年人物技术里程碑(公号回复“密码学”下载PDF资料,欢迎转发、赞赏、支持科普)
  15. 【12月英语——快乐中学习】
  16. Ethereum开发
  17. 崇州付合年, 独立团购导航网
  18. technical support(喜聊聊)
  19. 西北农林科技大学农学院农艺与种业(专硕)考研上岸经验分享
  20. 我们逃离北上广,美国人逃离硅谷

热门文章

  1. mongodb空间查询java,java查看mongodb集合表空间大小
  2. 关于vite2.0和vue/cli建立项目的区别
  3. python module错误_修复python的ModuleNotFoundError
  4. sql 可以多个分组吗_你知道吗?罗非鱼的品种多达100多个,不单是食用鱼也可以是观赏鱼...
  5. mysql jsp分页技术_一个非常简单的分页技术MYSQL+JSP 利用了mysql的LIMIT参数
  6. L - Oil Deposits
  7. 最小方差问题---------------给你出道题
  8. c/c++教程 - 2.4.4 友元friend用法
  9. Git用户签名设置,用户级别
  10. Linux之解决终端关闭,程序停止运行问题