0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用无标签数据提升人脸识别性能

电子设计 来源:电子设计 作者:电子设计 2020-12-10 20:16 次阅读

人脸识别也许是最成功也最先到达瓶颈的深度学习应用。在go deeper, more data,higher performance的思想指导下,模型更深了,数据却越来越难增加。
本文首发知乎

[注]:本文约5000字,阅读时间约12分钟。文章尽量使用中文,但有些专有名词翻译成中文显得词不达意,因此也用括号标注了英文。

人脸识别也许是最成功也最先到达瓶颈的深度学习应用。在go deeper, more data,higher performance的思想指导下,模型更深了,数据却越来越难增加。目前在人脸的公开数据集标到了百万级别,人脸识别百万里挑一的正确率达到99.9%(MegaFace benchmark)之后,发现再也标不动了。标注员能标出来的数据永远是简单样本,而人脸识别模型是个深渊,当你凝视深渊的时候,深渊并不想看到你。

深渊想看到这样的数据,并且明确被告知不是同一个人:

以及这样的数据,并且明确被告知是同一个人:

在把标注员弄疯之前,不如先让模型自己去猜一猜,说不定就猜对了呢?这其实就是半监督学习的思路。利用已有的模型对无标签数据做某种预测,将预测结果用来帮助模型训练。这种自我增强(self-enhanced)的学习方式,虽然看起来有漂移(drift)的风险,但实际用起来还挺好用 [5]。对于闭集(close-set)的问题,也就是所有数据都属于一个已知的类别集合(例如ImageNet, CIFAR等),只需要模型能通过各种方法,例如标签传播(label propagation)等,预测出无标签数据的标签,再把它们加入训练即可。

然而问题来了,人脸识别是一个开集(open-set)的问题。

例如,人脸比对(verification)、人脸鉴定(identification)等任务中,测试样本的身份(identity)通常没有在训练样本中出现过,测试过程通常是提取人脸特征进行比对,而非直接通过网络推理得到标签。同样,对于无标注数据,在采集的过程中,人脸的身份也是未知的。可能有标注的数据的人脸属于10万个人,而新来的无标注数据属于另外10万个人,这样一来就无法通过预测标签的方式把这些数据利用起来。而聚类不同于半监督学习,只需要知道样本的特征描述(feature)和样本之间的相似度度量标准(metric)就可以做聚类。聚完类之后再给每个类分配新的标签,同样可以用来帮助提升人脸模型。

人脸聚类方法

传统的人脸聚类一般采用LBP、HOG之类的手动设计的特征,因为这类特征过于过时,不在我们讨论的范畴。而深度学习时代的人脸聚类,一般采用卷积神经网络(CNN)中提取出来的特征 [4]。人脸识别的CNN通常把人脸图片映射(embedding)到一个高维的向量,然后使用一个线性分类器,加Softmax激活函数和交叉熵损失(Cross Entropy Loss)来训练。

紫色的向量即为人脸特征(图片来自 [3])

这种方式决定了这些经过映射(embedding)后的人脸在特征空间里分布在不同的锥形(Cone)中(下左图),因而可以使用余弦相似度(Cosine Similarity)来度量相似度。或者如果对人脸特征做二范数(L2)归一化,那么人脸特征则会分布在一个球面上(下右图),这样可以使用L2距离来度量。


图示为2维,实际在高维空间(图片来自 [6])

有了特征和度量标准之后,就可以考虑如何选择一个聚类算法了。现成的聚类算法包括K-Means, Spectral, DBSCAN, Hierarchical Agglomerative Clustering (HAC), Rank Order等以及它们的变种。利用这些方法聚类之后,将每一类中的样本分配相同的标签,不同的类分配不同的标签,就可以用来充当训练集了。

到此为止,似乎已经可以顺利地完成这个任务了。然而

使用20万张图提取特征之后来测试一下这些聚类算法,K-Means花了10分钟,HAC花了5.7小时,DBSCAN花了6.9小时, Spectral花了12小时。若使用60万张图片提取的特征来做聚类,K-Means超内存了,HAC花了61小时,DBSCAN花了80小时,Spectral跑到天荒地老之后也甩了一句超内存。当图片数量增加到140万的时候,几乎所有的聚类算法都挂了。

K-Means, Spectral, HAC等传统聚类方法的问题主要在于以下方面:

(a) 聚类算法具有较高的时间复杂度。例如,K-Means是O(NKT),Spectral是O(N^3),HAC是O(N^2)。

(b) 通常认为数据分布服从某些简单的假设。例如,K-Means假设数据类内具有球状的分布 [2],并且每一类具有相同的方差(variance),以及不同的类具有相同的先验概率。然而对于大规模人脸聚类,无标注数据通常来源于开放的场景(in-the-wild),数据内部的结构比较复杂,难以一致地服从这些假设。例如,我们期望数据长这样(如下左图):

(c) 通常使用某种特定的metric。例如上述提及的Cosine Similarity和L2距离。同样,对于复杂的数据结构,衡量两个样本是否属于同一类,单纯靠样本之间的局部相似度是不够的,这个metric需要融合更多信息

(d) 缺乏较好的离群值(outliers)控制机制。outliers来源于人脸识别模型对难样本的embedding误差,以及观测到的数据不完整。尽管部分聚类算法例如DBSCAN理论上对outliers鲁棒,但从其实际表现来讲这个问题远没有得到解决。

有监督的metric

终于可以说说自己的工作了。我们被ECCV2018接收的一篇论文(Consensus-Driven Propagation in Massive Unlabeled Data for Face Recognition),简称CDP [1],尝试解决上述这些问题中的一部分。我们提出了一种有监督的metric用于人脸聚类,来部分解决无标注数据内部结构复杂、依赖特定metric、缺乏outlier控制的问题,顺便还解决了一下时间复杂度的问题(CDP做到了线性复杂度),当然性能也提升了一大截。

介绍方法之前我们先来介绍一下affinity graph。Graph在半监督学习和聚类上经常出现。Affinity graph的节点是数据样本,边代表数据之间的相似度。一种常见的affinity graph是KNN graph,即对所有样本搜索K近邻之后将样本与其近邻连接起来得到。我们的方法CDP基于KNN graph来构建数据的结构。

CDP本质是学习一个metric,也就是对样本对(pairs)进行判断。如下图,CDP首先使用多个人脸识别模型构建成一个委员会(committee), committee中每个成员对基础模型中相连的pairs提供包括关系(是否是neighbor)、相似度、局部结构等信息,然后使用一个多层感知机(MLP)来整合这些信息并作出预测(即这个pair是否是同一个人)。这个过程可以类比成一个投票的过程,committee负责考察一个候选人(pair)的各方面信息,将信息汇总给MLP进行决定。最后将所有的positive pairs组成一个新的graph称为consensus-driven graph。在此graph上使用简单的连通域搜索并动态剪枝即可快速得到聚类。由于MLP需要使用一部分有标签的数据来训练得到,所以CDP是一种基于有监督的metric的聚类方法。方法的更多细节可以参考我们的论文和代码,并欢迎讨论。另外感谢“我爱计算机视觉”公众号对本文的解读。


CDP框架

接下来就是激fei动chang人wu心liao的结果分析了。

在复杂度上,CDP由于只需要探索局部结构,因此除了knn搜索之外,聚类部分的复杂度是接近线性的。在20万数据上,不计入knn搜索(依赖别的库)的时间的话,CDP单模型的耗时是7.7秒,多模型的耗时是100秒。在140万数据上,CDP单模型的耗时是48秒,多模型的耗时是585秒。试验结果上看时间复杂度甚至低于线性(小于7倍)。

在聚类结果上,例如对20万数据聚类,即使使用单模型也达到了89%的fscore,多模型可以达到95.8%,强于大部分传统聚类算法。各种聚类算法运行时间和性能测试见GitHub。

我们的实验中使用CDP聚类后的数据加入人脸识别模型的训练之后,可以让模型达到接近全监督(使用ground truth标签)的结果。如下图所示:

在两个测试集(benchmark)上,随着数据的增多,用CDP聚类结果训练的人脸模型性能的增长接近全监督模型(所有数据都使用ground truth标注)。有趣的是在IJB-A上我们的结果超过了全监督模型,原因可能是训练集的ground truth标签会有一些噪声(noise),例如误标注,导致全监督模型在IJB-A的某些测试样例上表现不佳。

下图是切换不同的CNN模型结构后的结果:

聚类后的部分结果如下图所示:

每一组代表聚完类后属于同一类

我们发现CDP还可以用来做数据和标签清理(denoise)。例如一个标注好的数据集可能有一些标错的样本,或者非常低质量的图片,可以使用CDP来找到这些图并舍弃。如下图:

每一组人脸在原始标注中属于同一个人,左上角数字是CDP分配的标签,红框中的样本为CDP丢弃的样本,包括:1. 被错误标注进该类,实际是一个孤立点的样本。2. 低质量图片,包括过度模糊、卡通等。

在这篇工作中我们发现,基于学习的metric能基于更多的有效信息进行判断,会比手动设计的metric更擅长解决比较复杂的数据分布。另外,这种类似多模型的投票的方式在鲁棒性上带来了很大提升,这样可以从无标签数据中发掘出更多的难样本。

代码链接:https://github.com/XiaohangZhan/cdp,欢迎watch/star/fork以及交流。

有监督的聚类算法

CDP属于一种自下而上(bottom up)的方法,因此只能感知局部的数据结构。然而感知全局的数据结构对于聚类更为重要,为此,我们最近提出了一种自上而下(top down)的有监督聚类方法,能自动学习根据数据的结构进行聚类,更加充分地解决上述传统聚类的问题,不过暂时需要保密。有兴趣的朋友可以持续关注我们的专栏:MMLab学术视野,也可以顺便关注一下我个人的知乎账号“Xiaohang Zhan”。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1787

    文章

    46047

    浏览量

    234940
  • 人脸识别
    +关注

    关注

    76

    文章

    3998

    浏览量

    81349
收藏 人收藏

    评论

    相关推荐

    人脸识别技术的原理介绍

    人脸识别技术是一种基于人脸特征信息进行身份识别的生物识别技术。它通过分析人脸图像,提取
    的头像 发表于 07-04 09:22 744次阅读

    如何设计人脸识别的神经网络

    人脸识别技术是一种基于人脸特征信息进行身份识别的技术,广泛应用于安全监控、身份认证、智能门禁等领域。神经网络是实现人脸
    的头像 发表于 07-04 09:20 347次阅读

    人脸识别模型训练流程

    人脸识别模型训练流程是计算机视觉领域中的一项重要技术。本文将详细介绍人脸识别模型的训练流程,包括数据准备、模型选择、模型训练、模型评估和应用
    的头像 发表于 07-04 09:19 489次阅读

    人脸识别模型训练是什么意思

    人脸识别模型训练是指通过大量的人脸数据,使用机器学习或深度学习算法,训练出一个能够识别和分类人脸
    的头像 发表于 07-04 09:16 332次阅读

    人脸检测和人脸识别的区别是什么

    人脸检测和人脸识别是计算机视觉领域的两个重要技术,它们在许多应用场景中都有广泛的应用,如安全监控、身份验证、社交媒体等。尽管它们在某些方面有相似之处,但它们之间存在一些关键的区别。本文将详细介绍
    的头像 发表于 07-03 14:49 506次阅读

    人脸识别门禁系统赋能社区安防

    一、提升安全性人脸识别门禁系统通过使用生物识别技术,即基于人脸特征的身份识别系统,能够显著
    的头像 发表于 07-02 11:09 257次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>门禁系统赋能社区安防

    人脸识别门禁方案:轻松实现刷脸开门、闸机及考勤管理

    人脸识别门禁系统概述人脸识别门禁系统是一种集成了人脸识别技术的智能门禁管理系统,它
    的头像 发表于 06-25 15:57 548次阅读
    <b class='flag-5'>人脸</b><b class='flag-5'>识别</b>门禁方案:轻松实现刷脸开门、闸机及考勤管理

    如何挑选理想的人脸识别考勤系统产品?人脸识别设备的选型

    如何挑选理想的人脸识别考勤系统产品?在挑选理想的人脸识别考勤系统产品时,需要综合考虑多个方面,包括但不限于设备的性能、兼容性、
    的头像 发表于 06-05 14:59 276次阅读
    如何挑选理想的<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>考勤系统产品?<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>设备的选型

    人脸识别终端 10寸人脸

    终端人脸识别
    深圳市远景达物联网技术有限公司
    发布于 :2024年04月22日 16:01:46

    小区人脸识别门禁摄像机,多人同时识别通过 #人脸识别 #智能摄像机

    AI人脸识别
    jf_07511428
    发布于 :2024年03月06日 22:53:18

    公司人脸识别考勤门禁摄像机#人脸识别#智能摄像机

    AI人脸识别
    jf_07511428
    发布于 :2024年03月06日 22:52:08

    人脸识别技术的原理是什么 人脸识别技术的特点有哪些

    人脸识别技术的原理 人脸识别技术是一种通过计算机以图像或视频为输入,识别、检测、跟踪和分析人脸
    的头像 发表于 02-18 13:52 1137次阅读

    一种基于源射频识别标签的消防员室内定位系统

    电子发烧友网站提供《一种基于源射频识别标签的消防员室内定位系统.pdf》资料免费下载
    发表于 11-07 11:29 1次下载
    一种基于<b class='flag-5'>无</b>源射频<b class='flag-5'>识别</b><b class='flag-5'>标签</b>的消防员室内定位系统

    性能扫码模块嵌入到人脸识别设备终端,可提升用户扫码体验感

    扫码器以提升用户扫码体验感。人脸识别行业以及刷脸扫码领域对解码性能、扫码范围、环境光线和防护等级等技术参数提出了较高的要求,因此在各种二维码扫码应用中,需要轻便小
    的头像 发表于 10-27 14:09 721次阅读
    高<b class='flag-5'>性能</b>扫码模块嵌入到<b class='flag-5'>人脸</b><b class='flag-5'>识别</b>设备终端,可<b class='flag-5'>提升</b>用户扫码体验感

    简易接触温度测量与身份识别装置

    该套装置采用 STM32F103 单片机作为主控模块,设计了包含红外测温模块、超声波测距模块、图像采集模块、身份识别模块、语音模块、液晶显示模块和电源模块的简易接触温度测量与身份识别装置。
    发表于 09-21 08:17