当前位置: 首页 > 科技观察

国际计算机视觉会议2021-FaceRecognitionBasedonGeneratedData

时间:2023-03-15 22:21:10 科技观察

本文是计算机视觉领域顶级会议ICCV2021上发表的论文《SynFace:FaceRecognitionwithSyntheticData》(基于生成数据的人脸识别)的解读。该论文由京东发现研究院联合悉尼大学和腾讯数据平台部共同完成。针对目前用于训练人脸识别模型的真实人脸数据存在隐私权、标签噪声和长尾分布等问题,提出使用生成的模拟人脸数据代替真实数据来训练人脸模型。本文通过引入IdentityMixup和DomainMixup,大大缩小了生成数据训练的模型与真实数据得到的模型的准确率差距,系统分析了训练数据中各种特征对识别准确率的影响.论文链接:https://arxiv.org/abs/2108.079601研究背景近年来,人脸识别任务取得了长足的进步,其中大规模的人脸训练数据集发挥了非常重要的作用。但是,由于最近越来越受到关注的隐私问题,即人脸训练数据集的使用需要数据集中包含的每个人的授权和同意,一些大型数据集[1]已被删除他们的官方网站,不能使用。再次访问。此外,这种从网上收集的数据集也存在标签噪声和长尾分布(即每个类别包含的样本数量差异较大)等问题。如果网络结构或损失函数设计不当,那么势必会导致识别准确率的下降。此外,这些数据并没有标注人脸的具体特征(如表情、姿势、光照条件等),因此我们无法系统地分析这些因素对人脸识别的具体影响。2探索性分析为了解决上述问题,我们将引入生成数据代替真实数据来训练人脸识别模型。近年来,基于GAN[2]的生成模型发展非常迅速,其生成的人脸图片在某些场景下已经可以达到真人的效果,见图1。图1:第一行是真实的人脸,第二行是生成的人脸。为了进一步控制生成人脸的各种特征(如身份、表情、姿势和光照条件),我们使用DiscoFaceGAN[3]作为基础生成模型,首先与在真实数据上训练的模型进行比较。RealFace和SynFace分别代表用真实数据和生成数据训练的模型,然后在真实和生成的测试集上进行评估。结果如表1所示。表1:在真实数据和生成数据上训练的模型的跨领域评估结果。从实验结果我们可以发现,两者在识别准确率上的差距是由于真实数据和生成数据这两个不同领域的差异造成的。通过进一步观察生成的人脸,我们发现同一类(即同一个人)的样本人脸方差更小,即类内距离更小。我们使用MDS[4]可视化真实数据和生成数据的深层特征,见图2中的绿色五边形和青色三角形。很明显,生成数据的类内距离明显小于真实数据的类内距离数据。图2:真实数据和三种不同类型生成数据的深度特征可视化引入了3种方法IdentityMixup(身份混合)为了增加生成数据的类内距离,受Mixup[5]的启发,我们在生成将人脸模型的身份系数空间引入mixup,即IdentityMixup(IM),得到MixupFaceGenerator。对于两个身份系数和,我们得到它的中间状态(插值)作为新的身份系数,其对应的标签也线性变化,见等式1。此外,我们通过可视化发现,通过这种方式获得的新身份系数可以也生成高质量的人脸图片,其身份信息随着权重系数的变化逐渐从一种身份转变为另一种身份,见图3。等式1:身份系数空间的Mixup图3:身份随着IdentityMixup权重的变化而平滑过渡表观遗传面部特征(见图2)。我们可以看到,从青色三角形到蓝色方块,再到红色圆圈,它们的类内距离在逐渐增加,对应的准确率也是从88.75到89.47再到90.95,充分说明了IM可以增加类内距离。距离以提高识别精度。此外,从表2还可以看出,加入IM后,识别准确率从88.98大幅提升至91.97。随后的图5、图6和表3的实验结果也证明了IM的有效性。DomainMixup(域混合)为了进一步缩小用生成数据训练的模型与从真实数据得到的模型之间的精度差距,我们引入了DomainMixup(DM)作为一种通用的域适应(domainadaptation)方法来缓解。具体来说,我们只使用一小部分标记的真实数据加上大规模生成的数据,通过DM来训练模型。DM的具体数学形式见公式2,分别表示生成的和真实的人脸图片,其对应的标签也线性变化。公式2:领域空间的混合因此我们使用DM混合真实数据和生成数据进行模型训练,仅用真实数据训练模型得到的对比结果如表2所示。可以看出我们引入的DM可以非常大且稳定大大提高了各种设置下的准确率。表2:用真实数据和混合数据训练得到的模型准确率。例如,在最后一组实验中,95.78相比于91.22有了很大的提升。我们推测这是由于混合一小部分真实数据可以为生成的数据带来真实世界的外观信息,如模糊和光照,从而缩小两个领域的差异,提高准确性。如果我们继续将真实数据增加到2K_20,准确率可以从95.78进一步提高到97.65。包括IdentityMixup和DomainMixup的整体流程图如图4所示。图4:整个框架流程图4实验分析使用我们得到的MixupFaceGenerator,我们可以控制生成的人脸数量、身份、表情、姿势和光照,那么接下来我们就来系统地分析一下这些因素在人脸识别任务中的具体影响。首先我们来分析一下长尾分布的问题。由于真实的人脸数据基本都是从网上收集的,有些类(人)的样本量很大,有些类的样本量很少。这种不平衡分布训练得到的模型性能较差。我们控制生成数据的每个类别的样本数量来模拟这个问题,如图5所示,2K_UB1到2K_UB2再到2K_50,它们的分布越来越均衡,可以看出它们对应的准确率正在逐渐增加。通过控制生成数据的类样本数量,自然可以避免长尾分布带来的问题。此外,随着身份混合(IM)的引入,所有设置都得到了极大的改进。图5:长尾分布问题接下来我们将探讨生成数据集的宽度(即类别数)和深度(即类中样本数)对识别准确率的影响,见表3。可以看出,随着深度和宽度的增加,Accuracy逐渐增加。但是深度达到20之后,准确率开始饱和。另外,我们通过观察(a)(e)可以看出,它们的总样本数相同(50K),但是(a)大大超过(e),差距为4.37,说明宽度更比深度重要。重要角色。另外,通过引入IdentityMixup(IM),我们可以看到所有的设置都得到了很大的提升,再次说明了IM的有效性。表3:生成数据集的宽度和深度探索最后,我们分析了生成人脸的每个特征(即表情、姿势和光照)的影响。我们仅通过保持其他功能不变来更改当前探索的功能。比如Expression就是在这个类中其他pose和lighting保持不变,只改变表情得到的生成数据。他们训练出来的模型的准确率如图6所示,可以看到没有任何变化(Non),只有表达发生了变化。最坏的结果,这是因为这里生成的表情类型非常有限,基本都是微笑,所以可以相当于什么都没有。改变姿势和光照实现了巨大的改进,这可能是由于测试数据集中姿势和光照的巨大变化。同样,IM的引入带来了稳定的改进,并且两者都达到了相似的准确性。潜在的原因是,IM可以看作是一种强大的数据增强,减少了每个特征对最终准确率的影响。图6:生成人脸不同特征的对比实验5结论在本文中,我们探讨了如何使用生成的模拟人脸数据来有效地训练人脸识别模型。通过对相关实验结果的对比分析,我们提出IdentityMixup来增加生成数据的类内距离,并引入DomainMixup来进一步减少生成数据与真实数据之间的域差异。两者都大大提高了识别准确率,大大减少了在真实数据上训练的模型与得到的模型之间的差距。此外,我们对人脸的不同特征进行了系统的分析,揭示了训练数据集的深度和宽度对最终识别率的影响很大。随着两者的增加,识别率也会提高,但是饱和度的情况会首先出现在深度维度上,也就是说宽度更重要。此外,丰富的姿势和光照变化可以使生成的数据更接近真实数据,从而大大提高识别率。更多实验结果分析请参考原论文。