社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

【深度学习】Vec2Face: 首次!用合成的人脸数据集训练的识别模型性能高于真实数据集

机器学习初学者 • 2 月前 • 309 次点击  
作者丨Haiyu Wu    编辑丨极市平台

导读

 

此工作提出的Vec2Face模型首次实现了从特征向量生成图片的功能,并且向量之间的关系,如相似度,和向量包含的信息,如ID和人脸属性,在生成的图片上也会得到继承。

1. 亮点

  1. 此工作提出的Vec2Face模型首次实现了从特征向量生成图片的功能,并且向量之间的关系,如相似度,和向量包含的信息,如ID和人脸属性,在生成的图片上也会得到继承。

  2. Vec2Face模型可以用于生成大型人脸识别训练集 (300k个ID和15M张图片),并且精度有进一步的提升。

  3. 用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万个人的图片。

statistical_information

为了让模型充分理解特征向量里的信息,我们的输入仅有用预训练的人脸识别模型提取出来的特征向量(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]。

Table 1: Comparison of existing synthetic datasets on five real-world test sets. †, *, and ◊ represent diffusion, 3D rendering, and GAN approaches, respectively, for constructing these datasets. We also list the results of training on a real-world dataset CASIA-WebFace.

结果总结如下: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%。

Table 2: Impact of scaling the proposed HSFace dataset to 1M images (20K IDs), 5M images (100K IDs), 10M images (200K IDs), 15M images (300K IDs). Continued improvement is observed. We also list the performance obtained by training on the real-world dataset CASIA-WebFace and its combination with HSFace10K. The latter combination yields even higher accuracy.

计算资源对比

我们与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。

Table 3: Computing cost and FID measurement of Arc2Face and Vec2Face.

其他实验

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


往期精彩回顾




  • 交流群

欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/174005
 
309 次点击