
GANDiffFace 是一个新的框架,可提供合成数据集,用于更真实、无偏见的人脸识别。
三个要点
✔️ 提出了一种结合 GAN 和 Diffusion 模型的方法,以构建具有增强类内变异性的现实合成数据集。
✔️ 使用两种不同的方法(仅使用 GAN 和结合 GAN 与 Diffusion),构建基于同一人的合成数据集。通过与现实世界的数据集进行比较,测试其实用性。
✔️ 已发布使用 GANDiffFace 构建的数据集。
GANDiffFace: Controllable Generation of Synthetic Datasets for Face Recognition with Realistic Variations
written by Pietro Melzi, Christian Rathgeb, Ruben Tolosana, Ruben Vera-Rodriguez, Dominik Lawatsch, Florian Domin, Maxim Schaubert
(Submitted on 31 May 2023)
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
概述
近年来,人脸识别系统领域发布了许多大型数据集,使性能得到显著提高。然而,隐私问题有时会阻碍已公开数据集的使用。基于合成人脸图像的数据集作为解决这一问题的一种方法,正在引起人们的关注。由于这些数据集是从不存在的人的面部生成的,因此不存在隐私问题。此外,由于人脸图像是由计算机自动生成的,因此可以大规模获取真人难以获取的人脸图像。不过,这些方法也有缺点,如不如真人逼真,种族分布有偏差。
本文提出了一个结合 GAN 和扩散模型的框架,以创建一个名为 GANDiffFace 的新合成数据集,试图解决现有合成数据集存在的问题。-GANDiffFace 首先使用 GAN 生成真实的面部图像,并平等地包含来自不同种族的数据。GANDiffFace 首先使用 GAN 生成真实的面部图像,并平等地包含不同种族的数据,然后使用扩散模型在 GAN 生成的图像基础上为同一个人生成不同的图像,并添加不同的配饰、姿势、表情和背景。
此外,使用 GANDiffFace 构建的数据集与使用真实人脸图像(如 VGG2 和 IJB-C)构建的数据集进行了比较,以验证其实用性。
下图显示了 GANDiffFace 的概览,它是 GAN 和扩散模型的结合。在 GANDiffFace 中,基于扩散模型的个性化模块会为基于 GAN 模块合成的每个人生成真实的类内图像,这些图像经过过滤后被添加到最终数据集中。
什么是 GANDiffFace?
GANDiffFace 框架如下图所示。GANDiffFace 由两个模块组成:第一个模块是基于 GAN 的模型。第二个是基于扩散模型的模型。在这里,DreamBooth 被用来生成现实生活中可能出现的课堂变化(例如同一个人的不同面部表情和姿势)。
基于 GAN 的模块的第一步是生成人脸图像。这里使用 StyleGAN3 生成 256,000 张合成图像。这些图像由名为 FairFace 的分类器根据种族、性别和年龄等人口属性进行标注。然而,如下图所示,StyleGAN3 生成的随机图像集存在偏差,因此质量较差的图像和年轻受试者的图像被排除在外。一个名为 MagFace 的系统被用于质量评估,10% 质量最低的图像被删除。
然后对支持向量机(SVM)进行训练,以找到编辑不同属性的法向量,从而解释 StyleGAN 学习到的潜在人脸表征。这样,用户就可以改变面部表情(如微笑或惊讶)以及属性(如种族和性别)。合成数据集根据这些属性进行标注,然后使用 SVM 来定义用于改变属性的潜在向量的方向。
最后,对潜在向量进行转换,以改变人脸图像的属性。具体做法是对代表图像的潜向量进行更改,例如添加特定的面部表情或光照条件,或更改性别或年龄等属性。要进行更改,只需对潜向量进行变换即可。
将这些操作结合起来,就能生成许多不同的人物图像,这些图像最终能代表目标人口群体,同时还能提供人脸图像的类内变化(同一人物的不同图像变化)。
然后,基于扩散模型的模块会根据文本生成图像。该模块分为三个步骤。
首先是学习。在这里,基于 GAN 的模块生成的图像被用于微调稳定扩散(Stable Diffusion),该模块可根据文本生成图像。接下来,应用一种名为 DreamBooth 的技术,将唯一标识符(Token xyz)与特定的合成人联系起来。使用该模型时,文本提示(如 "xyz 人")将用于识别合成人。确保模型利用过去学习到的信息,保留与特定人相关的特征。
其次是推理(图像生成):在 DreamBooth 中进行微调后,稳定扩散模型会根据给出的提示生成特定复合人物在不同情况下的图像。它使用 "戴围巾的 xyz 人 "或 "沙滩上 xyz 人的特写照片 "等提示来生成具有真实类内变化的合成图像。还可以指定否定提示,以避免生成不需要的图像。
第三步是过滤(图像选择)。在这里,要进行人脸检测,排除未检测到人脸的图像。为了保留特定个人的信息,会从组合图像中提取特征,并检查这些特征是否与之前用于微调的图像相似。不够相似的图像将被排除。为了保留性别信息,其余图像将根据性别进行标注,那些与 GAN 生成的图像性别不同的图像将被排除。
通过这些过程,可以创建复合图像,在不同的背景下再现人物,同时保留具体的人物信息。
使用 GANDiffFace 分析合成数据集
在这里,我们分析了用 GANDiffFace 建立的合成数据集的四个不同版本的人脸相似性得分分布情况,看看它与人脸识别中使用的现有数据集相比有何不同。我们将研究该数据集与真实数据集和其他合成图像数据集的相似程度,以确定它是否真的可用于人脸识别。
实际使用的数据集是 VGGFace2 和 IJB-C,这两个数据集都常用于人脸识别;VGGFace2 包含从网络上收集的约 9,000 人的图像,这些图像有各种标签,如姿势、年龄、光照、种族和职业;IJB-C 包含约 3,000 人的图像,重点是有部分隐藏人脸的图像,以及种族和职业的多样性。IJB-C 包含约 3,000 张人物图像,重点是脸部部分隐藏的图像以及种族和职业的多样性。为了确保真实图像与合成数据集之间的公平比较,低于一定质量的真实图像将被排除在外。这一质量标准与 GANDiffFace 中生成特定人物时剔除质量最低图像的标准相同。请注意,我们的重点是创建由高质量图像组成的数据集,对由低质量图像组成的数据集进行评估不在本研究范围之内。用于合成图像的其他数据集有 SFace 和 DigiFace-1M。
首先,对于实际数据集和合成数据集,随机选取 10 幅图像,使用 ArcFace 计算同一人的图像对(匹配)和不同人的图像对(非匹配)的相似度。然后,以真实数据集的分数分布为参考,通过库尔巴克-莱伯勒(KL)发散测量真实数据集和合成数据集分数分布之间的差异。
相似度得分的分布如下图所示。
实际数据集和合成数据集的人数(Id)和匹配/非匹配分数(score)分布的平均值如下表所示。从表中可以看出,当使用扩散模型时,数据集中匹配得分分布的平均值下降,更接近实际数据集的平均值。这也表明,与实际数据集相比,合成数据集的分布更偏向于正值。这表明很难再现类之间的真实变化。
下表显示了每个数据集的分布与 VGGFace2 和 IJB-C 提供的实际数据集之间的 KL 分歧值。
从表中可以看出,与 GANDiffFace 相比,合成数据集 SFace 和 DigiFace-1M 的相似性分布较差,其 EER 大约是真实数据集的两倍。这表明它们未能再现真实的类内和类间变化
摘要
本文提出了一个新框架 GANDiffFace,用于建立人脸识别合成数据集。它连接了生成对抗网络(GAN)和扩散模型(Diffusion Models),以合成更逼真、更多样化的人物图像。第一个模块是 GAN,它使用 StyleGAN3 生成逼真的人脸图像,70 个不同的人口统计群体都能得到平等的表现。第二个模块是扩散模型(Diffusion Model),它利用 DreamBooth 来定制一个名为 "稳定扩散"(Stable Diffusion)的模型,该模型专门针对单个人,从而创建一个具有类内变化的数据集,使其更接近现实。
但另一方面,也存在一些挑战。特别是,根据个人情况定制模型需要大量的计算工作。因此,虽然理论上可以建立一个庞大的数据集,但本文中的数据仅限于 700 人。此外,生成的图像中可能会出现人体可见的人工痕迹(图像中不自然的部分或错误),尤其是在人体的手部等部位。
随着生成式人工智能取得突破性进展,对此类合成图像数据集的研究有望在未来获得更大发展。
与本文相关的类别