我们把“why”换成“how”,看看DeepFaceDrawing做了什么。1)如何使生成人脸对草图畸变不敏感,如何从不完整的草图生成完整的人脸?为了解决第一个问题,作者采取了从局部到全局的隐式建模方法。对合理的人脸图像的形状空间进行隐式建模,并在该空间中合成人脸图像以接近输入的草图。从真实人脸素描图像中隐式学习一个可行的人脸素描的空间,并在该空间中找到最接近的点来接近输入草图。这样,草图可以作为软约束用于指导图像合成。因此,即使对于粗糙和/或不完整的输入草图,系统也可以提高合成图像的可信度,同时不损害草图所显示的特征。由于针对期望的高维特征空间的训练数据有限,因此全局地学习这样一个空间(如果存在的话)不太可行。这促使作者隐式建模组件级流形,那么将每个组件流形假设为低维的和局部线性的就更有意义。这一方案不仅有助于使用有限数量的人脸数据在局部跨越这种流形,而且还支持对形状细节进行更细粒度的控制。受到Lee等人的论文《Shadowdraw:real-time user guidance for freehand drawing》的启发,作者提供了一个阴影引导界面(基于CE的实现),使用户更简便地输入具有适当结构的人脸草图,如下图所示。输入草图的相应部分被投影到下面的人脸组件流形,然后映射到相应的特征图以进行图像合成。2)如何使生成人脸的五官能精准对应数据集中人脸的五官?为了解决第二个问题,DeepFaceDrawing提出了一种新的基于草图的人脸图像合成的深度学习框架,以改善信息流,如下图所示。DeepFaceDrawing还提供更大的灵活性来融合单个人脸组件,从而获得更高质量的合成结果。系统由三个主要模块组成,即CE(组件嵌入),FM(特征映射)和IS(图像合成)。CE模块采用自编码器架构,分别从人脸素描数据中学习“左眼”、“右眼”、“鼻子”、“嘴”和“其余”五个特征描述符,用于局部跨出组件流形。FM和IS模块共同组成了另一个用于条件图像生成的深度学习子网络,并将组成的特征向量映射到真实图像。组件嵌入模块(CE)作者将人脸草图分解为五个组件,分别表示“左眼”,“右眼”,“鼻子”,“嘴巴”和“其余”。为了更好地控制各个组件的细节,对于每种人脸组件类型,都学习了局部特征嵌入。作者通过使用五个自编码器网络获得单个组件的特征描述符。每个自编码器由五个编码层和五个解码层组成。在中间添加一个完全连接的层,以确保所有五个组件的潜在描述符的尺寸均为512维。针对潜在表征尝试了不同数量的尺寸(128、256、512),发现512维足以重构和表征草图细节,而低维表征往往会导致模糊的结果。特征映射模块(FM)如上图所示,给定相同的输入草图(a),基于流形投影后特征向量的图像合成获得了结果(d),它比基于一个中间草图(b)的图像合成结果(c)更为逼真。请看中间草图(b)和相应的pix2pixHD合成结果(c)中的高亮部分。给定输入草图,将其各个组件投影到组件流形上以提高其合理性。pix2pixHD的解决方案是首先将解码后的组件草图融合为完整的人脸草图(上图(b)),然后执行草图到图像合成以获得人脸图像(上图(c))。可以看出,该解决方案很容易在合成草图中引起伪影(例如人脸组件之间的对不准、不兼容的发型),这样的伪影会遗传到合成的图像上,因此如前文所说,现有的用于草图到图像合成的深度学习解决方案是倾向于使用输入草图作为相当硬的约束。作者观察到,上述问题主要发生在各自组件的裁剪窗口的重叠区域。由于草图只有一个通道,相邻组件在重叠区域的不兼容问题难以通过草图-图像网络自动解决,因此将采样流形点的特征向量映射到多通道特征映射(即三维特征张量)。这大大改善了信息流,融合特征图而不是草图组件有助于解决人脸组件之间的不一致性。由于不同成分的描述符具有不同的语义含义,因此作者设计了具有五个独立解码模型的FM模块用以将特征向量转换为空间特征图。图像合成模块(IS)给定组合的特征映射,IS模块将它们转换为真实的人脸图像。作者使用一个条件性GAN架构来实现这个模块,它将特征映射输入到一个生成器,该生成由一个鉴别器来指导进行。与pix2pixHD中的全局生成器一样,生成器包含一个编码部分、一个其余块和一个解码单元。输入特征图按顺序遍历这些单元。与Wang等(2018)相似,discriminators被设计来以多尺度的方式确定样本:向下采样多尺度大小的输入,并使用多个鉴别器在不同的尺度处理不同的输入。作者使用这种设置来隐式地学习各部分之间的高级关联。3)如何使不完整草图生成的人脸性别固定为男性或女性?作者采用两阶段训练策略来训练网络。第一阶段,仅仅训练CE模块,通过使用组件草图来训练5个独立的特征嵌入自动编码器。以自监督的方式进行训练输入草图图像和重建图像之间的均方误差(MSE)损失。在第二阶段,固定训练好的组件编码器的参数,用FM和IS模块中的未知参数对整个网络进行端到端的训练。对于IS中的GAN,除了GAN损失之外作者还加入了L1损失,以进一步指导生成器,从而确保生成图像的像素级质量。利用判别器中的感知损失来比较真实图像和生成图像之间的高阶差异。由于男性和女性肖像的不同特征,作者使用了完全数据集训练网络,但是将搜索空间限制在男性和女性空间中进行测试,这也相应回答了我们第三个问题。4)如何实现根据草图从数据集中取素材拼出新的人脸五官组合?对于第四个问题,DeepFaceDrawing的图像合成子网络能够解决包含光源和形状方面的不同来源的人脸组件之间的不一致性问题。首先将人脸组件草图(可能来自不同的主体)编码为特征向量,然后通过使用FM和IS模块将它们组合为新人脸来实现。可用其他来源的相应组件替换现有人脸的组件,或组合多个人的组件。如下图所示,通过重新组合四个来源草图中的眼睛、鼻子、嘴巴和其余区域,可合成新的人脸。5)如何调整区域置信度使生成人脸从神似变成形神兼备? 对于第五个问题,相比那些未经绘画训练的用户而言,具有良好绘画技能的用户倾向于信任自己的绘画。因此,作者为每种组件类型提供了一个滑块,以控制流线型投影后草绘的组件与其细化版本之间的混合权重,如下图所示。wb^c=1表示完全使用输入草图进行图像合成(形神兼备),而wb^c=0,本研究则完全信任插值数据(神似形不似)。对于创建与任何现有样本或其混合样本非常不同的人脸来说,这种混合特征特别有用。例如,对于训练集中的女性数据,大多数受试者的发型都很长。若总将输入草图推入此类样本,就不能创建短发型效果,作者认为可以通过调整输入草图的“其余”组件分量来解决此问题,方法是调整其相应的混合权重。6)如何使背景草图可以随着用户输入而变化?对于第六个问题,为了协助绘画技能欠佳的用户,研究者还设计了将K个合理草图作为背景放置在画板上,以引导用户绘画的方法,如下图所示,这样就能更高效地生成合理的人脸。只要用户沿着背景的草图轮廓进行作画,草图的特征向量就更加接近于已有的K个合理草图的特征向量,也就有更高的概率可以生成正常的人脸。当用户作画偏离背景草图时,这K个合理草图也会发生相应变化,引导用户到其它的合理输入。3