快速准确的人脸检测、识别和验证新框架(文末附源码)

2019 年 8 月 28 日 计算机视觉战队

人脸技术



上一期“计算机视觉战队”已经和大家分享了相关的人脸检测、识别和验证背景及现状的发展状况,今天我们继续说说人脸领域的一些相关技术以及新框架的人脸检测识别系统。


多任务学习的人脸分析



多任务学习是一个问题的多个部分同时处理的设置,通常使用相同的特性。MTL(Multi-Task Learning)背后的理念是,不同的任务可以相互受益。第一次使用MTL框架,并由Caruana[R. Caruana, “Multitask learning,” in Learning to learn. Springer, 1998, pp. 95–133]进行分析。朱等人[X. Zhu and D. Ramanan, “Face detection, pose estimation, and landmark localization in the wild,” in IEEE Conference on Computer Vision and Pattern Recognition, June 2012, pp. 2879–2886]提出了一种同时进行人脸检测、关键点定位和头部姿势估计的多任务方法。MTL通过利用来自不同监督来源的信息来提高所涉及的任务的性能。例如,JointCascade[D. Chen, S. Ren, Y. Wei, X. Cao, and J. Sun, “Joint cascade face detection and alignment,” in European Conference on Computer Vision, D. Fleet, T. Pajdla, B. Schiele, and T. Tuytelaars, Eds., 2014, vol. 8694, pp. 109–122]通过在训练期间在人脸检测中添加关键点定位来提高人脸检测性能。

但是,由于上述方法使用了人工制作的特征,所以将这些方法扩展到新任务是困难的。不同的任务需要不同类型的专门人工制作特征。例如,人脸检测通常使用直方图面向定向的梯度(HOG),而人脸识别通常使用局部二进制模式(LBP)。结合这些实现人脸检测和识别是困难的。然而,从DCNNs获得的特征可以编码各种性质,可视的数据。与手工设计的特征相反,有可能为能够完成多个任务的单个DCNN进行训练作为人脸检测、关键点定位、属性预测、年龄估计、人脸识别等。共享深度特征有助于挖掘不同任务之间的关系。使用MTL可以被认为是一个额外的正则化用于CNN。

HyperFace[R. Ranjan, V. Patel, and R. Chellappa, “Hyperface: A deep multitask learning framework for face detection, landmark localization, pose estimation, and gender recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017]是第一个多任务方法之一的人脸分析。设计用于同时人脸检测、关键点定位、头部姿态估计和性别分类。它通过从CNN和语义的下层共享位置,来自较高层的丰富特征利用各种任务之间的协同作用生成特定的特征,这有助于改善每个任务性能。同样,TCDCN[Z. Zhang, P. Luo, C. Loy, and X. Tang, “Facial landmark detection by deep multi-task learning,” in European Conference on Computer Vision, 2014, pp. 94–108]增加了头部偏向估计、性别识别、微笑和眼镜检测到关键点定位的任务。这些辅助任务得到了改进关键点定位的表现。All-in-One Face通过添加更多任务和训练来扩展网络扩展人脸数据。


新人脸检测&识别框架

先进的人脸验证和识别


下图给出了新框架流水线的概述。接下来我们首先介绍了提出的DPSSD人脸检测器。然后,简要总结了人脸对齐方法使用单独MTL方法。最后描述了提取身份特征并将其用于人脸识别和验证的方法。

Deep Pyramid Single Shot Face Detector


新框架提出了一种新的基于DCNN的人脸检测器,称为深度金字塔单镜头人脸检测器(DPSSD),速度快,能够检测各种尺度上的人脸。它是特别擅长检测微小的人脸。因为人脸检测是一个目标检测的特殊情况,许多研究人员都有使用现成的目标检测器,并对其进行微调进行人脸检测[H. Jiang and E. Learned-Miller, “Face detection with the faster r-cnn,” arXiv preprint arXiv:1606.03473, 2016]。然而,为了设计有效的人脸检测器,必须解决人脸和目标检测任务之间的以下差异。

首先,人脸相比于在图像中的更低的比例/尺寸,一般的目标。典型地,目标检测器不被设计为以这样的低分辨率来检测任务所需的低分辨率人脸检测。第二,人脸的纵横比的变化是与在典型物体中的物体相比要少得多。与目标相比,面临的风险较小,结构变形不需要任何包含在目标检测算法中的附加处理以处理多个纵横比。新框架设计的人脸检测器解决这些问题。

从在truncated vgg-16[ K. Simonyan and A. Zisserman, “Very deep convolutional networks for  large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014 ]网络上训练单镜头检测器(SSD)[ W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C.  Berg, “Ssd: Single shot multibox detector,” in European Conference on  Computer Vision (ECCV), 2016, pp. 21–37 ]开始,以完成目标检测的任务。 SSD具有优于其他目标的速度优势像Faster R-CNN这样的探测器,因为它是单级的并且不使用候选。SSD附加的卷积层被添加到VGG-16的末端以检测多个目标尺度。从多个特征层检测对象对每个层使用不同的卷积模型。修改了SSD体系结构和方法能够有效地检测微小的人脸。下图显示总体拟建的DPSSD人脸探测器的结构。

Face Alignment using All-In-One Face


候选的人脸识别和验证系统使用的系统用于关键点定位。All-in-OneFaces是一个最近的方法,该方法同时执行人脸检测、关键点定位、头部姿势估计、微笑和性别分类、年龄估计的任务人脸识别和验证。该模型是联合训练的在MTL框架中,为所有这些任务建立起协同作用,这有助于提高各个任务的性能。

由于缺少包含注释的单个数据集对于每个任务,通过不同的子网络来训练不同的子网络。这些子网在它们之间共享参数,这确保共享参数适用于所有任务。这些子网络被融合到单个中。

上表给出了一些细节,用于训练All-in-One Face CNN的数据集。完成使用任务特定的损失对网络进行端到端训练。下图显示了All-in-One Face的一些代表性输出CNN。

All-in-One Face网络架构使用预训练验证网络Sankararanayanan[25],包含七个卷积层,之后是三个全连接层。该网络被用作人脸部进行训练的主干识别任务。来自前6个卷积的参数此网络的层在其他面相关中共享任务如下图所示。针对人脸识别任务的CNN预训练提供了对通用人脸分析任务的更好的初始化,因为过滤器保留了区别人脸信息。


人脸检测、识别和验证实验

实验结果

WIDER Face数据集上的结果
UFDD数据集上的性能评估

在FDDB数据集上的性能评估结果
在Pascal faces数据集上的结果

END

源码:http://ankan.umiacs.io/projects.html

如果想加入我们“计算机视觉战队”,请扫二维码加入学习群。计算机视觉战队主要涉及机器学习、深度学习等领域,由来自于各校的硕博研究生组成的团队,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。

我们开创一段时间的“计算机视觉协会”知识星球,也得到很多同学的认可,我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

登录查看更多
5

相关内容

人脸检测(Face Detection)是一种在任意数字图像中找到人脸的位置和大小的计算机技术。它可以检测出面部特征,并忽略诸如建筑物、树木和身体等其他任何东西。有时候,人脸检测也负责找到面部的细微特征,如眼睛、鼻子、嘴巴等的精细位置。
深度学习目标检测方法及其主流框架综述
专知会员服务
147+阅读 · 2020年6月26日
【CMU】基于图神经网络的联合检测与多目标跟踪
专知会员服务
56+阅读 · 2020年6月24日
最新《自然场景中文本检测与识别》综述论文,26页pdf
专知会员服务
69+阅读 · 2020年6月10日
专知会员服务
160+阅读 · 2020年4月21日
近期必读的9篇 CVPR 2019【视觉目标跟踪】相关论文和代码
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
计算机视觉最佳实践、代码示例和相关文档
专知会员服务
17+阅读 · 2019年10月9日
港中文开源基于PyTorch的多任务人脸识别框架
极市平台
17+阅读 · 2019年8月31日
快速准确的人脸检测&识别新框架(进阶)(文末附源码)
计算机视觉战队
8+阅读 · 2019年8月29日
干货 | 视频显著性目标检测(文末附有完整源码)
计算机视觉战队
14+阅读 · 2019年4月29日
人脸专集4 | 遮挡、光照等因素的人脸关键点检测
计算机视觉战队
29+阅读 · 2019年4月11日
人脸专集3 | 人脸关键点检测(下)—文末源码
计算机视觉战队
19+阅读 · 2019年4月8日
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
人脸表情分类与识别:人脸检测+情绪分类
北京思腾合力科技有限公司
27+阅读 · 2017年12月18日
人脸检测与识别总结
计算机视觉战队
21+阅读 · 2017年11月29日
人脸检测与识别年度进展概述
深度学习大讲堂
5+阅读 · 2017年6月26日
Arxiv
20+阅读 · 2020年6月8日
Arxiv
7+阅读 · 2019年5月31日
Arxiv
8+阅读 · 2018年1月30日
Arxiv
4+阅读 · 2018年1月19日
Arxiv
11+阅读 · 2018年1月18日
Arxiv
12+阅读 · 2018年1月12日
VIP会员
相关资讯
港中文开源基于PyTorch的多任务人脸识别框架
极市平台
17+阅读 · 2019年8月31日
快速准确的人脸检测&识别新框架(进阶)(文末附源码)
计算机视觉战队
8+阅读 · 2019年8月29日
干货 | 视频显著性目标检测(文末附有完整源码)
计算机视觉战队
14+阅读 · 2019年4月29日
人脸专集4 | 遮挡、光照等因素的人脸关键点检测
计算机视觉战队
29+阅读 · 2019年4月11日
人脸专集3 | 人脸关键点检测(下)—文末源码
计算机视觉战队
19+阅读 · 2019年4月8日
Python | 50行代码实现人脸检测
计算机与网络安全
3+阅读 · 2018年1月23日
人脸表情分类与识别:人脸检测+情绪分类
北京思腾合力科技有限公司
27+阅读 · 2017年12月18日
人脸检测与识别总结
计算机视觉战队
21+阅读 · 2017年11月29日
人脸检测与识别年度进展概述
深度学习大讲堂
5+阅读 · 2017年6月26日
Top
微信扫码咨询专知VIP会员