1. 亮点
此工作提出的Vec2Face模型首次实现了从特征向量生成图片的功能,并且向量之间的关系,如相似度,和向量包含的信息,如ID和人脸属性,在生成的图片上也会得到继承。
Vec2Face模型可以用于生成大型人脸识别训练集 (300k个ID和15M张图片),并且精度有进一步的提升。
用Vec2Face生成的HSFace10k训练的模型,首次在人脸识别的年龄测试集 (CALFW) 上实现了性能超越同尺度的真实数据集 (CASIA-WebFace[1])。另外,当合成数据集的ID数量大于100k后,训练的人脸识别模型在毛发测试集 (Hadrian) 和曝光度测试集 (Eclipse) 上也同样超越了 CASIA-WebFace。
论文链接: https://arxiv.org/abs/2409.02979
代码链接: https://github.com/HaiyuWu/Vec2Face
Demo链接: https://huggingface.co/spaces/BooBooWu/Vec2Face
1. 研究动机
一个高质量的人脸识别训练集要求ID有高的分离度(Inter-class separability)和类内的变化度(Intra-class variation)。然而现有的方法普遍存在两个缺点:1)实现了大的intra-class variation,但是inter-class separability很低,2)实现了较高的inter-class separability,但是intra-class variation需要用额外的模型来提高。这两点要么使得在合成的人脸数据集训练的模型性能表现不佳(见 Table 1 基于GAN的方法),要么难以合成大型数据集(见 Table 3)。因此,我们通过让提出的Vec2Face模型学习如何将特征向量转化为对应的图片,并且在生成时对随机采样的向量加以约束,来实现高质量训练集的生成。这一方法不但可以轻松控制inter-class separability和intra-class variation,而且无需额外的模型进行辅助。此外,这一方法还可以用来生成大型训练集。
在性能上,我们生成的0.5M图片规模的训练集在5个测试集(LFW, AgeDB-30, CFP-FP, CALFW和CPLFW)上实现了state-of-the-art的平均精度(92%),并且在CALFW上超越了真实数据集(CASIA-WebFace)的精度,见Table 1。当我们将数据集规模提升到15M的时候,精度达到了93.52%(见Table 2)。
2. Vec2Face训练和生成方法
Vec2Face训练
数据集:从WebFace4M[2]中随机抽取的5万个人的图片。
为了让模型充分理解特征向量里的信息,我们的输入仅有用预训练的人脸识别模型提取出来的特征向量(IM feature)。随后将由特征向量扩展后的特征图(Feature map)输入到feature masked autoencoder(fMAE)里来获取能够解码成图片的特征图。最后用一个图片解码器(Image decoder)来生成图片。整个训练目标由4个损失函数组成。
用于缩小合成图()和原图()之间的差异:
用于缩小合成图和原图对于人脸识别模型的相似度:
感知损失[3]和GAN损失 用于提高合成图的图片质量。我们使用patch-based discriminator[4,5]来组成GAN范式训练.
生成
因为Vec2Face仅需输入特征向量(512-dim)来生成人脸图片并且能够保持ID和部分人脸属性的一致,所以仅需采样ID vector并确保 即可保证生成的数据集的inter-class separability。至于intra-class variation,我们仅需在ID vector加上轻微的扰动 就能够在ID一致的情况下实现图片的多样性。
然而,由于在训练集里的大部分图像的头部姿态都是朝前的(frontal),这使得增加随机扰动很难生成大幅度的头部姿态(profile)。因此,我们提出了Attribute Operation(AttrOP)算法。它通过梯度下降的方法调整ID vector里的数值来使得生成的人脸拥有特定的属性。
Eq. 5:
3. 实验
性能对比
我们在5个常用的人脸识别测试集,LFW[6],CFP-FP[7],AgeDB[8],CALFW[9],CPLFW[10],上和现有的合成数据集进行对比。使用的损失函数是ArcFace[11],网络是SE-IResNet50[12]。
结果总结如下:1)Vec2Face生成的HSFace10K数据集达到了state-of-the-art的平均精度;2)HSFace10K首次实现了,在同等数据规模下,在CALFW上的精度超越了真实数据集;3)HSFace10K首次实现了GAN范式训练超越其他范式。
扩大数据集规模的有效性
我们将HSFace数据集的规模从0.5M扩大到了15M,达到了现有最大人脸合成训练集的12.5倍。这也使平均精度提高了1.52%。同时,添加了HSFace10K的数据后,CASIA-WebFace数据集在最终的平均识别精度上提高了0.71%。
计算资源对比
我们与Arc2Face,state-of-the-art模型,进行了计算资源上的对比。首先Arc2Face的模型是Vec2Face的5倍。其次,Arc2Face在使用LCM-LoRA的前提下,Vec2Face在一个Titan-Xp GPU上速度达到了Arc2Face的311倍。最后,Vec2Face在重建LFW (in-the-wild)和Hadrian(indoor)图片上也实现了更好的FID。
其他实验
AttrOP的影响
衡量现有合成数据集的ID分离度
扰动采样中 对于精度的影响
ID分离度对于精度的影响 (Avg. ID sim越大,分离度越小)
在其他识别测试集上HSFace和CASIA-WebFace的性能对比
References
[1] Learning face representation from scratch
[2] Webface260m: A benchmark for million-scale deep face recognition
[3] The unreasonable effectiveness of deep features as a perceptual metric
[4] Image-to-image translation with conditional adversarial networks
[6] Labeled faces in the wild: A database for studying face recognition in unconstrained environments
[7] Frontal to profile face verification in the wild
[8] AgeDB: The First Manually Collected, In-the-Wild Age Database
[9] Cross-age lfw: A database for studying cross-age face recognition in unconstrained environments
[10] Cross-pose lfw: A database for studying cross-pose face recognition in unconstrained environments
[11] ArcFace: Additive Angular Margin Loss for Deep Face Recognition
[12] Deep residual learning for image recognition