【CVPR2018】实时旋转鲁棒人脸检测算法

2018 年 4 月 19 日 深度学习大讲堂 时学鹏

编者按:苏轼在《题西林壁》中曾写道:“横看成岭侧成峰,远近高低各不同。”这两句诗阐释了视角的变化对于视觉任务的影响。

而在人脸识别领域,由于真实场景的复杂多变,受人体姿态和取景角度的影响,采集到的人脸图像,时常会存在平面内旋转角度不确定等问题,这为人脸检测以及基于人脸的视觉任务带来了极大的挑战。

本文中,将为大家介绍中科院计算所VIPL组的CVPR2018新作:如何利用级联矫正网络,来实现实时、旋转自适应的人脸检测。

大讲堂特别提供相关论文及demo的下载链接。

另,深度学习大讲堂即将推出Valse2018系列报告,敬请关注!



本文将介绍我们的一篇实时旋转不变人脸检测的工作。


本论文下载链接:

https://arxiv.org/pdf/1804.06039.pdf.

算法的demo链接:

https://github.com/Jack-CV/PCN.



在体操、街舞、家庭合影等复杂的应用场景,由于人体姿态和取景角度的变化,人脸不总是竖直的,有可能有各种各样的平面内旋转角度。旋转不变人脸检测算法目标是精确的检测这种旋转的人脸。多样的平面内旋转角度,使得人脸的表观变化非常大,为旋转不变人脸检测带来了极大的挑战性。



有很多已有的工作尝试解决旋转不变人脸检测。最简单直接的方法就是基于数据増广的方法,在训练阶段将人脸旋转到任意角度。这样做的优点是测试阶段没有额外的时间开销;缺点是旋转人脸的表观变化非常大,需要使用一个计算量较大的网络才能保证检测的精度,这在一些对实时性要求高的应用中是不实用的。



另外一种策略就是分治。可以训练一个竖直人脸检测器,在测试阶段,将待检测图像旋转多遍进行检测,这样也可以实现任意旋转角度人脸的检测。竖直人脸检测器的计算量是相对较小的,但是检测多次也会使得时间开销成倍增长,而且带来更多的误检测。



还有一种方法是先将旋转的人脸转正然后再进行检测。具体而言,可以先使用一个旋转路由网络,预测候选人脸框的旋转角度,然后转正人脸,之后可以使用一个竖直人脸检测器完成检测。然而,精确的预测人脸的旋转角度本身也是一个很难的任务,旋转角度预测错误也会降低检测精度。



目前的许多旋转不变人脸检测算法需要在精度或者速度上进行妥协。我们提出的PCN算法目标是在保持很低的计算量的前提下,实现精准的旋转人脸检测。



在CVPR 2015上提出了Cascade CNN人脸检测方法,即通过级联多个CNN逐步过滤非人脸样本。之后提出的MTCNN对Cascade CNN改进,将分类、边框回归、特征点三个任务合并,利用不同任务相关性实现多任务学习提升性能。Cascade CNN、MTCNN算法在竖直人脸检测上可以实现出很好的效果,但在旋转不变人脸检测上仍有提升空间。我们的PCN由CNN级联组成,这点借鉴于Cascade CNN。PCN中的每一级CNN都是一个多任务网络,同时学习人脸非人脸判别、边框回归、旋转角度校准三个任务。



在测试阶段,首先使用滑动窗口与图像金字塔的方式产生候选窗口,然后送入网络开始检测。每一级网络过滤掉部分非人脸窗口,根据边框回归结果调整候选框位置,然后根据预测出的旋转角度校准窗口的角度,具体来讲:

  • 第一级网络预测旋转角度使用二分类的方式,只预测人脸朝上或者朝下,朝下的人脸会被翻转,经过第一级后人脸旋转角度范围从360度缩减为180度;

  • 第二级网络预测旋转角度使用三分类的方式,只预测人脸朝上、朝左或者朝右,朝左或右的人脸会被翻转为朝上,经过第二级后人脸旋转角度范围从180度缩减为90度;

  • 在第三级旋转范围已经比较小,所以第三级网络直接回归旋转角度。

通过逐渐减少人脸的旋转变化,可以显著降低人脸与非人脸分类的难度,进而提升检测精度。在第一级和第二级采用只预测粗糙朝向的方式,可以使得旋转角度预测的精度大大提高且速度更快。



在PCN中,存在两个级联结构。第一个是人脸与非人脸的级联分类,这点与Cascade CNN一致。先使用小的CNN过滤简单负样本,再用大的CNN判别难负样本,这种方式可以极大地提升检测速度。



第二个级联结构是旋转角度的级联校准。PCN的级联校准属于一种由粗到精的级联回归模式,与人脸特征点估计、人体姿态估计思想类似。人脸的旋转角度等于三级网络预测结果之和。



级联校准模式,将难度较大的旋转角度预测分解为多个任务,每一个任务都会比较简单,这使得整个校准的难度降低。在第一级和第二级只预测粗糙朝向有两个原因,第一是粗糙朝向预测的精度更高,刚开始就直接回归角度误差会很大;第二是可以避免倾斜的图像crop操作,可以大大提高速度。



在实现人脸窗口旋转校准操作时,即使只是对窗口做计算低廉的翻转操作,如果窗口数目很大时,速度仍然很慢。我们可以先将输入图像翻转三次,得到上下左右四个朝向的图像。这样将一个人脸旋转到某个角度,等价于去对应角度的图像上crop人脸。此策略可以将与窗口数量成正比的校准操作时间缩减为常数时间,效率大大提高。



为了验证我们的算法的有效性,我们比较了常见的各种旋转不变人脸检测算法。



FDDB是一个常用的人脸检测评测集,但是主要包括竖直人脸,我们将FDDB旋转到上下左右四个方向来评测旋转不变人脸检测算法。可以看出我们的算法精度与Faster RCNN(VGG16)和SSD500(VGG16)精度相当,在误检测较少时候PCN会更好一些。与Cascade CNN等其他方法相比,PCN的精度有明显提升。



我们从WIDER FACE中挑选了一部分旋转人脸的图像进行算法评测。这个数据集上的测试结果进一步证明了PCN的有效性。



下面结合速度、精度、模型大小进行综合的分析。PCN是一个可以在CPU上也实时运行的算法,模型大小和速度都远优于Faster RCNN、SSD、R-FCN算法。同时可以看到,PCN相比Cascade CNN,速度几乎一样,但精度有明显提高,这得益于我们快速准确的渐进校准策略。



这是PCN算法的一些检测结果,可以看出PCN算法可以精准的检测任意平面内旋转角度的人脸,且对肤色、光照、视角鲁棒。



总结一下,PCN是一个快速、鲁棒、准确的旋转不变人脸检测算法,在实际中有良好的应用前景。欢迎大家关注我们的工作。谢谢大家!


--end--

主编:袁基睿  编辑:程一


该文章属于“深度学习大讲堂”原创,如需要转载,请联系 ruyin712。


作者信息:

作者简介:

时学鹏,中科院计算所VIPL课题组人脸组研究生,导师为山世光研究员。研发了VIPL课题组可在移动端实时运行的人脸检测SDK,曾在CVPR发表论文一篇。




往期精彩回顾


跬步至千里:揭秘谷歌AutoML背后的渐进式搜索技术

”诗画合一”的跨媒体理解与检索

如何妙笔勾檀妆:像素级语义理解

算法及大V们你们够了:如果CV界也有朋友圈...I 春节特刊

CV领域的最美情话 I 情人节特刊

视觉世界中的"众里寻她"--开放环境下的人物特征表示

林倞:Beyond Supervised Deep Learning--后深度学习时代的挑战

深度学习大讲堂推出的免费AI课程


欢迎关注我们!


深度学习大讲堂是由中科视拓运营的高质量原创内容平台,邀请学术界、工业界一线专家撰稿,致力于推送人工智能与深度学习最新技术、产品和活动信息!


中科视拓(SeetaTech)将秉持“开源开放共发展”的合作思路,为企业客户提供人脸识别、计算机视觉与机器学习领域“企业研究院式”的技术、人才和知识服务,帮助企业在人工智能时代获得可自主迭代和自我学习的人工智能研发和创新能力。


中科视拓目前正在招聘: 人脸识别算法研究员,深度学习算法工程师,GPU研发工程师, C++研发工程师,Python研发工程师,嵌入式视觉研发工程师,运营经理。有兴趣可以发邮件至:hr@seetatech.com,想了解更多可以访问,www.seetatech.com

中科视拓

深度学习大讲堂


点击阅读原文打开中科视拓官方网站


登录查看更多
4

相关内容

人脸检测(Face Detection)是一种在任意数字图像中找到人脸的位置和大小的计算机技术。它可以检测出面部特征,并忽略诸如建筑物、树木和身体等其他任何东西。有时候,人脸检测也负责找到面部的细微特征,如眼睛、鼻子、嘴巴等的精细位置。
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
基于视觉的三维重建关键技术研究综述
专知会员服务
154+阅读 · 2020年5月1日
3D目标检测进展综述
专知会员服务
187+阅读 · 2020年4月24日
【CVPR2020-谷歌】多目标(车辆)跟踪与检测框架 RetinaTrack
专知会员服务
44+阅读 · 2020年4月10日
专知会员服务
41+阅读 · 2020年2月20日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
CVPR 2019:精确目标检测的不确定边界框回归
AI科技评论
13+阅读 · 2019年9月16日
重磅!商汤开源目标跟踪最强算法SiamRPN系列
AI前线
13+阅读 · 2019年5月24日
人脸专集4 | 遮挡、光照等因素的人脸关键点检测
计算机视觉战队
29+阅读 · 2019年4月11日
目标跟踪算法分类
大数据技术
13+阅读 · 2018年9月17日
【深度】行人检测算法
GAN生成式对抗网络
29+阅读 · 2018年6月3日
一文综述人脸检测算法(附资源)
数据派THU
7+阅读 · 2018年5月8日
YOLO升级到v3版,检测速度比R-CNN快1000倍
人工智能头条
10+阅读 · 2018年3月28日
CVPR 2017 | Tiny Faces 小人脸检测算法简介
极市平台
10+阅读 · 2018年2月1日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
Arxiv
5+阅读 · 2018年10月15日
VIP会员
相关VIP内容
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
基于视觉的三维重建关键技术研究综述
专知会员服务
154+阅读 · 2020年5月1日
3D目标检测进展综述
专知会员服务
187+阅读 · 2020年4月24日
【CVPR2020-谷歌】多目标(车辆)跟踪与检测框架 RetinaTrack
专知会员服务
44+阅读 · 2020年4月10日
专知会员服务
41+阅读 · 2020年2月20日
姿势服装随心换-CVPR2019
专知会员服务
34+阅读 · 2020年1月26日
相关资讯
CVPR 2019:精确目标检测的不确定边界框回归
AI科技评论
13+阅读 · 2019年9月16日
重磅!商汤开源目标跟踪最强算法SiamRPN系列
AI前线
13+阅读 · 2019年5月24日
人脸专集4 | 遮挡、光照等因素的人脸关键点检测
计算机视觉战队
29+阅读 · 2019年4月11日
目标跟踪算法分类
大数据技术
13+阅读 · 2018年9月17日
【深度】行人检测算法
GAN生成式对抗网络
29+阅读 · 2018年6月3日
一文综述人脸检测算法(附资源)
数据派THU
7+阅读 · 2018年5月8日
YOLO升级到v3版,检测速度比R-CNN快1000倍
人工智能头条
10+阅读 · 2018年3月28日
CVPR 2017 | Tiny Faces 小人脸检测算法简介
极市平台
10+阅读 · 2018年2月1日
Top
微信扫码咨询专知VIP会员