首次!用合成人脸数据集训练的识别模型,性能高于真实数据集
首次!用合成人脸数据集训练的识别模型,性能高于真实数据集
近日,一篇发表在arXiv上的研究论文展示了在人脸识别领域的重要突破。研究团队提出了一种名为Vec2Face的新模型,该模型能够从特征向量生成高质量的人脸图像,并首次在人脸识别的年龄测试集上实现了性能超越同尺度的真实数据集。
研究背景与动机
高质量的人脸识别训练集需要具备两个关键特性:身份(ID)间的高分离度(Inter-class separability)和类内的高变化度(Intra-class variation)。然而,现有的方法普遍存在以下两个缺点:
- 实现了大的intra-class variation,但inter-class separability很低;
- 实现了较高的inter-class separability,但需要额外的模型来提高intra-class variation。
这些限制使得基于合成人脸数据集训练的模型性能不佳,或者难以合成大型数据集。
Vec2Face模型的核心创新
为了解决上述问题,研究团队提出了Vec2Face模型,该模型能够将特征向量转化为对应的图片,并在生成时对随机采样的向量加以约束。这一方法不仅能够轻松控制inter-class separability和intra-class variation,而且无需额外的模型辅助。此外,研究团队还提出了Attribute Operation算法,用于定向生成人脸属性,进一步提升了数据集的质量。
主要实验结果
性能对比
研究团队在5个常用的人脸识别测试集(LFW、CFP-FP、AgeDB、CALFW、CPLFW)上进行了性能对比。结果显示:
- 使用Vec2Face生成的HSFace10k训练集,在0.5M图片规模下实现了92%的平均精度,其中在CALFW测试集上首次超越了真实数据集CASIA-WebFace的精度。
- 相比于之前最好的方法Arc2Face,Vec2Face仅使用1M数据就能达到更好的性能,展示了其高效性和有效性。
- Vec2Face首次实现了GAN范式训练超过其他范式。
扩大数据集的有效性
Vec2Face能够无限生成不同身份的图像,研究团队生成了不同规模的数据集(1M、5M、10M、15M),并测试了其可扩展性。结果显示,随着ID数量的增加,模型性能持续提升,且提升趋势未见衰减。
计算资源对比
与Arc2Face相比,Vec2Face在保持更高图片质量的同时,推理速度提高了311倍,且与原始图像分布的相似度更高。具体对比如下:
Vec2Face的训练与生成方法
Vec2Face的训练数据集来自WebFace4M中随机抽取的5万人的图片。模型通过预训练的人脸识别模型提取特征向量,然后使用feature masked autoencoder(fMAE)和图像解码器生成图片。整个训练过程由4个损失函数组成,包括:
- 重构损失:用于缩小合成图与原图之间的距离
- 特征相似度损失:用于缩小合成图与原图在人脸识别模型中的相似度
- 感知损失:用于提高合成图的图片质量
在生成阶段,仅需输入特征向量即可生成人脸图片,通过调整ID向量可以实现身份的独特性和人脸属性的变化。研究团队还提出了Attribute Operation算法,通过梯度下降方法调整ID向量,以生成特定属性的人脸。
其他重要发现
- AttrOP算法能够有效提高生成人脸的质量和头部姿态变化,从而提升最终模型的性能。
- Vec2Face能够实现与真实数据集WebFace4M相同的身份分离度,为数据集质量提供了保障。
- 通过扩大数据集规模,Vec2Face在面部毛发(Hadrian)和面部光照(Eclipse)测试集上超越了真实数据集的性能。
未来展望
研究团队指出,目前的身份定义主要基于相似度,但对于双胞胎、分身等特殊场景,这种定义存在局限性。未来的研究需要探索更合理的身份定义方法。
参考资料
- 论文链接:https://arxiv.org/abs/2409.02979
- 代码链接:https://github.com/HaiyuWu/Vec2Face
- Demo链接:https://huggingface.co/spaces/BooBooWu/Vec2Face