Abstract

  • 虽然在人脸检测方面取得了巨大进展,但由于人脸检测的有效模型往往在计算上难以实现,因此,在CPU上实现实时速度和保持高性能仍然是一个有待解决的难题。为了解决这一难题,我们提出了一种新型的人脸检测器,名为“人脸盒”,在速度和精度上都具有优异的性能。具体来说,我们的方法有一个轻量级但功能强大的网络由快速消化的卷积层(RDCL)和多尺度卷积层(MSCL)组成的结构。
  • RDCL的设计目的是使facebox能够在CPU上实现实时速度。MSCL的目的是丰富接收场,在不同的层上离散锚,以处理不同尺度的面。此外,我们还提出了一种新的锚密化策略。使不同类型的锚具有相同的密度在图像上,大大提高了召回率小脸孔。因此,建议的检测器在单个CPU内核上以20 fps的速度运行,在VGA分辨率图像中使用GPU以125 fps的速度运行。此外,facebox的速度与面数是不变的。我们综合评价该方法,并对多种人脸检测基准数据集(包括AFW、Pascal人脸和FDDB)的检测性能现状进行评价。

Introduction

  • 人脸检测是计算机视觉和模式识别的基本问题之一。它在许多随后与人脸相关的应用中发挥着重要作用,如人脸对齐[47]、人脸识别[48]和人脸跟踪[12]。在过去的几年里取得了巨大的进步几十年来,尤其是卷积神经网络的突破,人脸检测已成功应用于我们在各种情境下的日常生活。
  • 然而,面对无法控制的人脸检测问题,特别是CPU设备,仍然存在一些困难。面临的挑战主要来自对人脸探测器的两个要求:1)人脸的视觉变化较大背景杂乱的人脸需要人脸检测器准确处理复杂的人脸和非人脸分类问题;2)可能人脸的大搜索空间位置和面部尺寸进一步提高了时间效率要求。这两个要求是相互冲突的,因为高精度人脸探测器往往是通过计算来实现的。很贵。因此,它是剩余的未解决问题之一用于CPU设备上的实际人脸探测器,以实现实时性高,同时保持高性能。
  • 为了满足这两个相互冲突的要求,面对检测主要从两个方面进行了深入研究。早期的方法是基于手工艺品的特点。继Viola Jones人脸检测仪[37]的开创性工作之后,早期的大部分工作都集中在设计健壮的特性和训练有效的分类器上。除级联结构外,还将可变形零件模型(DPM)引入人脸检测任务中,取得了显著的性能。然而,这些方法在很大程度上依赖于非鲁棒的手工艺特性,并分别对每个组件进行优化,使得人脸检测管道次优。
  • 另一种方法是基于卷积神经网络(CNN),近年来在图像分类和目标检测等方面取得了显著的成就。近年来,CNN作为传统人脸检测框架中的特征抽取器成功地引入人脸检测任务。此外,一些人脸检测器[4,46]继承了有效的技术。从一般的目标检测方法,如更快的R-CNN[29]。这些基于CNN的人脸检测方法对人脸的大范围变化具有很强的鲁棒性,并显示出最先进的性能。但他们也是实现实时速度非常耗时,特别是在CPU设备上。
  • 这两种方法有各自的优点。前者速度快,后者精度高。为了在速度和准确性上都表现出色,一个自然的想法是将这两种方法的优势结合起来。因此,本文提出了基于级联CNN的方法[16,45]将CNN学习到的特性放入级联框架中,以提高性能和保持效率。然而,基于CNN的级联方法存在三个问题:
  1. 它们的速度与图像上的面数呈负相关。随着人脸数量的增加,速度会急剧下降;
  2. 基于级联的检测器分别对各个组件进行优化,使得训练过程极其复杂,最终模型次优。
  3. 对于VGA分辨率图像,它们在CPU上的运行时效率约为14 fps,这不足以达到实时速度。
  • 本文以R-CNN[29]中的RPN和SSD[21]中的多尺度机制为灵感,在CPU上开发了一种具有实时速度的最先进的人脸检测仪。具体地说,我们提出了一种新的人脸检测器Faceboxes,它只包含一个完全卷积的神经网络,可以进行端到端的训练。所提出的方法具有轻量但功能强大的网络结构(如图1所示),由快速消化的卷积层(RDCL)和多尺度卷积层(MSCL)组成。RDCL的设计目的是使facebox能够在CPU和MSCL的目标是丰富接收字段,并在不同的层上离散锚,以处理不同比例的面。
  • 此外,我们还提出了一种新的锚点加密策略,使不同类型的锚点在输入图像上具有相同的密度,从而显著提高了小人脸的回忆率。因此,对于VGA分辨率图像,我们的人脸检测器在单个CPU内核上以20 fps的速度运行,使用GPU以125 fps的速度运行。更重要的是,facebox的速度与图像上的面数保持不变。我们对该方法进行了全面评估,并在多个人脸检测基准数据集上演示了最先进的检测性能。
  • 为清楚起见,这项工作的主要贡献可以概括为四个方面:
  1. 设计了快速消解的卷积层(RDCL),使人脸检测在CPU上实现实时速度
  2. 我们引入多尺度卷积层(MSCL),通过丰富接收场和离散层锚来处理不同尺度的人脸。
  3. 提出了一种新的锚定加密策略,以提高小人脸的召回率。
  4. 我们进一步提高了AFW、Pascal Face和FDDB数据集的最先进性能。​​​​​​​

Related work

  • 现代人脸检测方法大致可分为两类。一个基于手工特性,另一个基于CNN。本节简要回顾了这两种方法。
  • 以前的人脸检测系统大多基于手工特性。由于Viola-Jones人脸检测器[37]提出结合haar特征、adaboost学习和级联推理进行人脸检测,许多后续的工作被提出用于实时人脸检测,例如新的局部特征[20,40]、新的增强算法[3,25]和新的级联结构。
  • 除了级联框架外,基于结构模型的方法也逐渐获得了更好的性能,并且变得越来越高效。一些研究[38,39,49]将可变形零件模型(DPM)引入人脸检测任务中。这些工作使用监督部分,更多的姿势划分,更好的训练或更有效的推理,以实现显著的检测性能。
  • CNN首次用于人脸检测可以追溯到1994年。Vaillant等人[36]使用受过训练的CNN,以滑动窗口的方式来检测人脸。Rowley等人[30,31]介绍一种用于垂直正面人脸检测的重新连接的神经网络,以及一种用于估计旋转不变人脸检测方向的“路由器”网络。Garcia等人[7]开发神经网络检测半正面。Osadchy等人[24]培训CNN同时进行人脸检测和姿态估计。这些早期的方法只能获得相对良好的性能在容易的数据集上。
  • 近年来,美国有线电视新闻网(CNN)的人脸探测器取得了进步。CCF[41]利用CNN的增强功能进行人脸检测。Farfade等人[6]针对人脸和非人脸分类任务,针对1K图像网分类任务进行微调CNN模型培训。Faceness[42]训练一系列CNN用于面部属性识别,以检测部分被遮挡的面部。Cascadecnn[16]开发了一种基于CNN的级联体系结构,具有强大的识别能力和高性能。Qin等人(2004年)。提议连接列车级联实现终端到终端优化。类似于[5],MTCNN[45]提议一个多任务基于级联CNS的联合面检测框架和对齐。Unitbox[44]引进了一个新的部门间损失功能。使用快速RCNN在身体上下文信息的面检测中。在终端多任务学习框架中与三维面模型集成CNN。建议新的监督变换网络与ROI卷积面部检测。

FaceBoxes

  • 本节介绍了使面板盒在CPU设备上精确和高效的三个贡献:快速消化的卷积层(RDCL)、多尺度卷积层(MSCL)和锚密度策略。最后,我们介绍了相关的培训方法。
  • 大多数基于CNN的人脸检测方法通常受到时间成本的限制,特别是在CPU设备上。更准确地说,当输入、内核和输出的大小较大时,CPU的卷积运算非常耗时。我们的RDCL旨在通过适当的内核大小快速缩小输入空间大小,同时减少输出通道的数量,从而使面板盒能够在CPU设备上达到以下实时速度:
  1. 缩小输入的空间大小:为了快速缩小输入的空间大小,我们的RDCL为其卷积和聚集层设置了一系列大的跨距大小。如图1所示,conv1、pool1、conv2和pool2的步幅大小分别为4、2、2和2。RDCL的总跨距大小为32,这意味着输入空间大小将快速减少32倍。
  2. 选择合适的内核大小:在一个网络中,前几层的内核大小应该很小,以加快速度,同时也应该足够大,以减轻空间大小减小带来的信息损失。如图1所示,为了保持效率和有效性,我们分别为conv1、conv2和所有池层选择7×7、5×5和3×3的内核大小。
  3. 减少输出通道的数量:我们利用c.relu激活功能(如图2(a)所示)来减少输出通道的数量。C.relu[32]从CNN的观察中得出的动机是,较低层中的过滤器形成对(即,具有相反相位的过滤器)。根据这一观察,c.relu可以简单地将输出通道的数量增加一倍。在应用relu之前连接否定的输出。使用c.relu可以显著提高速度,而精度下降可以忽略不计。
  • 该方法基于RPN,在多类别目标检测场景下,作为一类不可知命题而发展起来。对于单类别检测任务(如人脸检测),RPN自然是唯一相关类别的检测器。然而,作为一个独立的人脸检测,RPN无法获得具有竞争力的性能。我们认为这种不满意的表现来自两个方面。首先,RPN中的锚只与最后一个卷积层相关,后者的特征和分辨率太弱,无法处理各种尺寸。第二,锚相关层负责在相应的尺度范围内检测人脸,但它只有一个单一的接收场,不能匹配不同尺度的人脸。为了解决上述两个问题,我们的MSCL是按照以下两个维度设计的:
  1. 沿网络深度维度进行多尺度设计。如图1所示,我们设计的MSCL由几个层组成。这些层的大小减小了逐步形成多尺度特征图。与[21]类似,我们的默认锚与多尺度特征图(即inception3、conv3_2和conv4_2)关联。这些层作为沿网络深度尺寸的多尺度设计,以不同分辨率在多个层上离散锚定,以自然处理各种大小的面。
  2. 沿网络宽度尺寸进行多尺度设计。为了学习不同人脸比例的视觉模式,锚相关层的输出特征应对应不同大小的接收场,这可以通过初始模块轻松实现[34]。起始模块由多个具有不同内核的卷积分支组成。这些分支作为一种多尺度的网络宽度设计,能够丰富接收域。如图1所示,MSCL中的前三层是基于起始模块的。图2(b)说明了我们的初始实现,它是一个成本效益的模块,用于捕获不同规模的面。
  • 如图1所示,我们对默认锚点(即方形锚点)施加1:1的纵横比,因为面框近似为方形。对于conv3_2层,inception3层的锚定比例为32、64和128像素。conv4_2层分别为256和512像素。
  • ​​​​​​​

Conclusion

  • 由于人脸检测任务的有效模型往往难以计算,因此CPU设备在实现实时速度和保持高性能方面具有挑战性。在这部作品中,我们呈现了一张新颖的面孔探测器具有卓越的速度和精度性能。该方法具有由RDCL和MSCL组成的轻量级、强大的网络结构。前者使面板盒达到实时速度,后者旨在丰富接收场,离散不同层上的锚,以处理不同尺度的面。
  • 此外,还提出了一种新的锚定加密策略,以提高小断面的召回率。实验证明,我们的贡献使facebox在普通人脸检测基准上达到了最先进的性能。该探测器速度非常快,在CPU上实现了20帧的VGA分辨率图像,在GPU上可以加速到125帧。

FaceBoxes: A CPU Real-time Face Detector with High Accuracy相关推荐

  1. 人脸检测--FaceBoxes: A CPU Real-time Face Detector with High Accuracy

    FaceBoxes: A CPU Real-time Face Detector with High Accuracy 人脸检测已经研究了很多年,有很多算法.但是目前基于深度学习CNN网络的人脸检测算 ...

  2. 《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》论文笔记

    FaceBoxes: A CPU Real-time Face Detector with High Accuracy笔记 1. Introduction 略. 2. Related work 略. ...

  3. [论文翻译]据传比MTCCN的FaceBoxes《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》

    据传FaceBoxes比MTCCN速度还快,FaceBoxes 在cpu上FPS20,MTCNN在cpu上FPS16,到底真的是最快模型吗?我认为并不是. 论文地址:arxiv.org1708 论文代 ...

  4. FaceBoxes:A CPU Real-time Face Detector with High Accuracy 论文翻译和解析

    论文地址 https://arxiv.org/pdf/1708.05234.pdf 开源代码 https://github.com/sfzhang15/FaceBoxes (若失效直接复制链接打开) ...

  5. [CV Paper] FaceBoxes: A CPU Real-time Face Detector with High Accuracy

    论文阅读:CPU上的高精度实时人脸检测器 综述 人脸识别是计算机视觉和模式识别的基础问题,过去几十年取得了长足进步,但是由于计算量较大,在CPU上的实时检测一直没有很好的被解决.面临的主要问题,一是人 ...

  6. FaceBoxes: A CPU Real-time Face Detector with High Accuracy(论文解析)

    论文:FaceBoxes: A CPU Real-time Face Detector with High Accuracy 代码地址:https://github.com/TropComplique ...

  7. 人脸检测论文:FaceBoxes: A CPU Real-time Face Detector with High Accuracy及其Pytorch实现

    论文链接:https://arxiv.org/pdf/1708.05234.pdf PyTorch:https://github.com/shanglianlm0525/PyTorch-Network ...

  8. 【人脸检测】学界 | 中科院自动化研究所提出 FaceBoxes:实时、高准确率的 CPU 面部检测器

    要想用神经网络有效地进行面部检测等操作,往往需要 GPU 等高速并行的计算设备.如果仅使用 CPU,往往会遇到速度与准确度不能兼得的困境.为了解决这个问题,中国科学院自动化研究所和中国科学院大学的研究 ...

  9. FaceBoxes —— CPU上实时的人脸检测

    一篇速度还可以的多尺度人脸检测文章. 方法和SSD大同小异. 文章链接: <FaceBoxes: A CPU Real-time Face Detector with High Accuracy ...

最新文章

  1. 戈登贝尔奖获得者张林峰:当AI遇上物理模型,会有怎样的质变? | 智源专访...
  2. javaee 架构师之路
  3. Python操作mysql数据库查询操作时提示“unread-result-found”
  4. ArcGIS实验教程——实验三十七:基于ArcGIS的太阳辐射分析案例教程
  5. php mysql 排名算法_MySQL PHP:优化排名查询和计数子查询
  6. 年仅59岁!又一国家杰青不幸逝世
  7. 题解-ZeroJudge-c686 高斯符號
  8. mvc 怎么把后台拼接好的div写到前台_五、controller层配置和前台数据crud操作的实现...
  9. 彻底明白ip地址,区分localhost、127.0.0.1和0.0.0.0
  10. KlayGE 4.4中渲染的改进(三):高质量无限地形
  11. js对于radio的处理
  12. 【安装包】WinSCP
  13. 算法,PHP取数据库中百万条数据中随机20条记录
  14. JDK笔记-IO流读写
  15. 微信视频提取及接收文件路径
  16. CLH Lock 原理
  17. PMBOK 项目管理 九大知识领域和五大流程
  18. 三相有功无功电流检测方法
  19. bootstrap-datepicker只选择年份
  20. 百趣代谢组学文献分享:大麦盐胁迫响应机制的组学分析

热门文章

  1. Linux iio驱动学习
  2. VMware虚拟机关闭U盘USB自动识别
  3. 天下武功无坚不破,唯快不破!
  4. IMPDP和ORA-31684
  5. c语言之良好的编程习惯(四)
  6. pcb板中字母P代表什么
  7. windows server 2016桌面添加 此电脑 我的电脑 计算机 图标
  8. 微信公众号文章怎么插附件
  9. error An unexpected error occurred: “https://registry.npmjs.org/axios
  10. ae渲染存在偏移_E3依旧是最好选择.千元游戏渲染主机该如何搭配