来自南洋理工大学、香港中文大学的研究者提出了一个交互式人脸编辑框架 Talk-to-Edit,可以通过用户和系统之间的对话进行细粒度的属性操作。此外,该研究还创建了一个视觉语言人脸编辑数据集 CelebA-Dialog,用来促进大规模研究。
想换个发型?想知道自己 20 年后的样子?还在为 P 图却 P 不出想要的效果而发愁吗?来试试这个「Talk-to-Edit」吧,告诉它你想怎么编辑,分分钟帮你搞定。
话不多说,先看图:
用户通过和系统的对话完成人脸编辑:
对人脸的各个特征进行编辑:
编辑各位帅哥美女(用到了 GAN inversion):
这项研究来自南洋理工大学、香港中文大学提出的一个交互式人脸编辑框架 Talk-to-Edit,可以通过用户和系统之间的对话进行细粒度的属性操作。此外,该研究还创建了一个视觉语言人脸编辑数据集 CelebA-Dialog,用来促进大规模研究。
论文地址: https://arxiv.org/abs/2109.04425 Code: https://github.com/yumingj/Talk-to-Edit Project Page: https://www.mmlab-ntu.com/project/talkedit/index.html 实验室主页:https://www.mmlab-ntu.com 方法及结果
该研究提出的Talk-to-Edit 的 pipeline 如下图所示:
该研究用 Semantic Field 来实现对人脸特征连续且高细粒度可控的编辑。对话功能则由 Language Encoder 和 Talk 模块来实现。接下来解释各个模块的工作原理和效果。
(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) Language Encoder 和 Talk Module
为了给用户提供更便捷直观的交互方式,该研究使用对话的方式让用户实现编辑。Talk-to-Edit 用一个基于 LSTM 的 Language Encoder 来理解用户的编辑要求,并将编码后的编辑要求传递给 Semantic Field 从而指导编辑。Talk 模块可以在每轮编辑后向用户确认细粒度的编辑程度,比如向用户确认现在的笑容是否刚好合适,是否需要再多一档。Talk 模块也可以为用户提供其他编辑建议,比如系统发现用户从未尝试过编辑眼镜这个特征,于是询问用户是否想试一试给照片加个眼镜。
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 的训练提供高细粒度的监督。
总结
(1)该研究提出了一个基于对话的、高细粒度的人脸编辑系统: Talk-to-Edit。
(2)该研究提出了 Semantic Field,即在 GAN 隐空间中学习一个语义场,通过在隐空间中沿着场线「行走」,从而实现连续且细粒的人脸特征编辑。
(3)该研究为研究社区贡献了一个大规模的数据集 CelebA-Dialog。并相信它可以很好地帮助到未来高细粒度人脸编辑的任务以及自然语言驱动的视觉任务。
Talk-to-Edit 更多优秀表现: