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

栏目: 软件资讯 · 发布时间: 6年前

内容简介:(欢迎关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)人脸识别是最近几年计算机视觉领域取得长足进步的领域,这得益于不断进步的深度学习强大的模型拟合能力和有标注的大型数据集的建立,已经出现了用于人脸识别的有标注的百万量级的数据集。但继续扩大规模数据集变得越来越困难,即使是人工手工标注,当数据集规模越来越大也不可避免会引入噪声,如何利用廉价的无标注的人脸图像数据成为一个亟需破解的难题。

(欢迎关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)

人脸识别是最近几年计算机视觉领域取得长足进步的领域,这得益于不断进步的深度学习强大的模型拟合能力和有标注的大型数据集的建立,已经出现了用于人脸识别的有标注的百万量级的数据集。

但继续扩大规模数据集变得越来越困难,即使是人工手工标注,当数据集规模越来越大也不可避免会引入噪声,如何利用廉价的无标注的人脸图像数据成为一个亟需破解的难题。

来自商汤科技、香港中文大学、南洋理工大学的研究人员日前发表于ECCV2018的论文《Consensus-Driven Propagation in Massive Unlabeled Data for Face Recognition》,展示了一种从未标注人脸图像生成样本标签对,并将其用于监督学习模型训练的方法,提供了一种低成本扩大数据集规模提高人脸识别精度的新思路。

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

作者信息:

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

算法思想

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

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

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

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

作者发明了一种称为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/

代码、论文下载:

在“我爱计算机视觉”公众号对话界面回复“CDP”,即可收到代码、论文的百度云下载地址。

(欢迎关注“我爱计算机视觉”公众号,一个有价值有深度的公众号~)

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

【本文由“我爱计算机视觉”发布,2018年09月16日】


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++设计新思维

C++设计新思维

(美)Andrei Alexandrescu / 侯捷、於春景 / 华中科技大学出版社 / 2003-03 / 59.8

本书从根本上展示了generic patterns(泛型模式)或pattern templates(模式模板),并将它们视之为“在C++中创造可扩充设计”的一种功能强大的新方法。这种方法结合了template和patterns,你可能未曾想过,但的确存在。为C++打开了全新视野,而且不仅仅在编程方面,还在于软件设计本身;对软件分析和软件体系结构来说,它也具有丰富的内涵。一起来看看 《C++设计新思维》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具