ICCV 2021 _ Talk-to-Edit:通过对话实现高细粒度人脸编辑
Talk-to-Edit: Fine-Grained Facial Editing via Dialog
Yuming Jiang1 Ziqi Huang1 Xingang pan2 Chen Change Loy1 Ziwei Liu1 1S-Lab Nanyang Technological University 2The Chinese University of Hong Kong
{yuming002, hu0007qi, ccloy, ziwei.liu}@ntu.edu.sg px117@ie.cuhk.edu.hk
Part 1 话不多说,先看图
用户通过和系统的对话完成人脸编辑:
对人脸的各个特征进行编辑:
编辑各位帅哥美女(用到了GAN inversion):
Part 2: 方法及结果
以上是如何实现的呢?Talk-to-Edit的pipeline如下图所示:
我们用 Semantic Field 来实现对人脸特征连续且高细粒度可控的编辑。对话功能则由 Language Encoder和Talk模块来实现。接下来我们解释各个模块的工作原理和效果。
2.1 Semantic Field
背景:GAN[1, 2]可以基于隐空间中不同的隐向量生成不同的图片。基于隐空间的图片编辑方法[3, 4, 5, 6, 7]利用预训练的GAN及其隐空间,有控制地改变一张图片对应的隐向量,从而间接实现对图片的编辑。然而这些方法假设在隐空间中沿着某个方向“走直线”就可以实现对一张人脸的某一特征的编辑 (如下图(b)中棕色路径(1))。
我们的方法抛开了“走直线”这一假设,在“走动”过程中不断根据此刻的隐向量寻找当前最优的前进方向 (如上图(b)中黑色路径(2))。于是,我们在隐空间中构建一个向量场来表示每个隐向量的最佳“前进方向”,沿着当前隐向量的最佳“前进方向”移动隐向量,从而改变图片的某一个语义特征。我们称这个向量场为语义场,即Semantic Field。我们的编辑方式等价于沿着向量场的场线(field line),向势(potential)增加得最快的方向移动。这里的势指的就是某一特征的程度,比如在编辑“刘海”这一特征时,隐向量沿着场线,向刘海变长最快的方向移动(如上图(b)中黑色路径(2))。
Semantic Field具有两个特性:1) 对同一个人来说,不断改变某一个属性,需要的“最佳前进方向”是不断变化的。2)在编辑同一个属性时,对于不同人,对应的“最佳前进方向”也是不同的。我们用一个神经网络来模拟 Semantic Field,用如上图(a)所示的方法训练 Semantic Field。更多实现细节请参考论文和代码。
如下表,实验结果表明,相对于用“走直线”假设的baselines,我们的方法可以在人脸编辑的过程中更好的保留这个人的身份特征,并且在编辑某一个语义特征时减少对其他无关语义特征的改变。
看看图,对比也很明显:
2.2 Language Encoder 和 Talk Module
为了给用户提供更便捷直观的交互方式,我们使用对话的方式让用户实现编辑。Talk-to-Edit用一个基于LSTM的Language Encoder来理解用户的编辑要求,并将编码后的编辑要求传递给Semantic Field从而指导编辑。Talk模块可以在每轮编辑后向用户确认细粒度的编辑程度,比如向用户确认现在的笑容是否刚好合适,是否需要再多一档。Talk 模块也可以为用户提供其他编辑建议,比如系统发现用户从未尝试过编辑眼镜这个特征,于是询问用户是否想试一试给照片加个眼镜。
Part 3: CelebA-Dialog数据集
基于CelebA [8] 数据集,我们为研究社区提供了CelebA-Dialog数据集:
(1)我们提供了每张图片的高细粒度特征标注。如上图所示,根据笑容的灿烂程度,“笑容”这个语义特征被分为6档。CelebA-Dialog精确地标注了每张图片中的“笑”属于6个等级中的哪一个。
(2)我们提供丰富的的自然语言描述,包括每张图片各个语义特征的高细粒度自然语言说明 (image captions),以及一句图片编辑的用户要求(user request)。
CelebA-Dialog可以为多种任务提供监督,例如高细粒度人脸特征识别,基于自然语言的人脸生成和编辑等。
在Talk-to-Edit这个工作中,我们利用CelebA-Dialog的高细粒度特征标注训练了一个高细粒度到人脸特征预测器,从而为Semantic Field的训练提供高细粒度的监督。
Part 4: 总结
(1) 本工作提出了一个基于对话的,高细粒度的人脸编辑系统: Talk-to-Edit。
(2) 我们提出了 “Semantic Field”,即在GAN隐空间中学习一个语义场,通过在隐空间中沿着场线“行走”,从而实现连续且细粒的人脸特征编辑。
(3) 我们为研究社区贡献了一个大规模的数据集 CelebA-Dialog。我们相信它可以很好地帮助到未来高细粒度人脸编辑的任务以及自然语言驱动的视觉任务。
再来看看Talk-to-Edit的更多优秀表现吧:
Reference:
[1] Tero Karras, Samuli Laine, and Timo Aila. A style-based generator architecture for generative adversarial networks. In CVPR, pages 4401–4410, 2019. 1, 2
[2] Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, and Timo Aila. Analyzing and improving the image quality of stylegan. In CVPR, pages 8110–8119, 2020. 1, 2
[3] Yujun Shen, Ceyuan Yang, Xiaoou Tang, and Bolei Zhou. Interfacegan: Interpreting the disentangled face representation learned by gans. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020. 2, 4, 6
[4] Yujun Shen, Jinjin Gu, Xiaoou Tang, and Bolei Zhou. Interpreting the latent space of gans for semantic face editing. In CVPR, pages 9243–9252, 2020. 2, 4, 15
[5] Yujun Shen and Bolei Zhou. Closed-form factorization of latent semantics in gans. arXiv preprint arXiv:2007.06600, 2020. 2
[6] Erik Ha ̈rko ̈nen, Aaron Hertzmann, Jaakko Lehtinen, and Sylvain Paris. Ganspace: Discovering interpretable gan ctrols. arXiv preprint arXiv:2004.02546, 2020. 2
[7] Andrey Voynov and Artem Babenko. Unsupervised discovery of interpretable directions in the gan latent space. In ICML, pages 9786–9796. PMLR, 2020. 2
[8] Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Deep learning face attributes in the wild. In ICCV, pages 3730–3738, 2015. 3, 6, 14, 15, 16