新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

时间:2024-03-29 15:12:47

出处“来自微信公众号:我爱计算机视觉”

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

这篇论文解决的问题与现实中的人脸识别应用场景密切相关,其假设已经有了少量已经标注的数据,而未标注的人脸图像数据是来自于不受控的环境中采集的,且这些人与数据库中已经有标注的人没有重叠,希望将这些数据赋予标签加入到训练集中。

 

算法思想

算法的核心动机是从未标注数据中找到那些来自同一个人的伪正样本人脸图像对,将其加入训练集,扩大训练集的规模。

一个很简单的想法,是提取特征然后聚类,将聚类后的标签作为伪样本标签,但是普通的聚类难以提供高质量可信赖的标签,一个直观的例子,比如不同人侧脸的图像相似程度比同一个人正脸和侧脸图像相似程度要高。

如何构建可靠的来自同一个人的伪正样本对呢?请看下图:

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

作者发明了一种称为Consensus-Driven Propagation(共识驱动传播)的模型,该模型中有三种重要角色:base-model(基模型),committee model(委员模型),mediator model(调解员模型)。

base-model和committee model是从有标注数据中训练出来的深度学习模型分类器,该文使用不同的网络架构训练多个模型,使用它们对未标注的人脸图像提取特征,然后使用这些特征构建未标注样本的K-NN图,这些K-NN图初步反映了同一个人不同人脸图像之间的视图关系。

 

作者尝试了很多深度模型:

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

 

然后使用mediator model根据K-NN图的连接关系和各种多样性特征,分类K-NN图中具有连接关系的两个人脸图像样本是否来自同一个人。文中作者使用了多层感知机(MLP)作为mediator model。

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

很显然,mediator model在训练的时候是在有标注的数据上构建正负样本对的,这正是Consensus-Driven Propagation(共识驱动传播)的由来,未标注的人脸图像来自同一个人的多幅图像之间的关系与已标注的同一个人的多幅图像之间的关系是相似的,表现为它们的K-NN图节点之间的关系相似。

提取出的样本关系图:

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

构造的伪正样本图像示例:

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

红色框代表被mediator model拒绝的异常样本。

构建完伪标签,将其加入训练集,但是训练的时候其使用不同于有标注数据的Loss,在base-model上重新训练。

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

 

实验结果

作者在MageFace和IJB-A人脸数据集上做了实验,将数据集均分成11份,训练的时候仅使用十一分之一的标注数据,逐步增加未标注数据,比较最终正确率,并与使用了所有标注数据的结果比较。

下图展示了实验中使用的模型网络架构和分别在这两个数据集上取得的精度,还有集成后的精度。

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

下图展示了,随着未标注数据的加入,模型精度不断提高。

新思路!商汤开源利用无标注数据大幅提高精度的人脸识别算法

在MageFace数据集上,不使用未标注数据(即仅使用十一分之一的训练数据)精度为61.78%,使用了10份未标注数据的结果是78.18%,而使用全监督的方法(使用所有真实标注)精度为78.52%,证明所提出的方法生成的伪标签加入训练集大大提高了模型准确度(16.4%),取得了与全监督方法相匹敌的性能。

比较有意思的是,使用该文的方法在IJB-A上打败了全监督的方法(理论上是不应该的),作者解释这是因为IJB-A数据库本身引入了较多的标签噪声。

总结

这篇文章提出的方法非常有价值,低成本扩大数据规模,其不仅适用于人脸识别,在所有识别的任务中几乎都可以尝试,从IJB-A的实验结果看,其甚至可以成为一种数据清洗的方法。

当当

论文:

https://arxiv.org/abs/1809.01407

代码:

https://github.com/XiaohangZhan/cdp/