据传FaceBoxes比MTCCN速度还快,FaceBoxes 在cpu上FPS20,MTCNN在cpu上FPS16,到底真的是最快模型吗?我认为并不是。
论文地址:arxiv.org1708
下面是论文的翻译。
FaceBoxes: A CPU Real-time Face Detector with High Accuracy
Shifeng Zhang Xiangyu Zhu Zhen Lei Hailin Shi Xiaobo Wang Stan Z. Li
CBSR & NLPR, Institute of Automation, Chinese Academy of Sciences, Beijing, China
University of Chinese Academy of Sciences, Beijing, China
fshifeng.zhang,xiangyu.zhu,zlei,hailin.shi,xiaobo.wang,szlig@nlpr.ia.ac.cn
Abstract
虽然在人脸检测方面已经取得了巨大进步,但其余的开放性挑战之一是在CPU上实现实时速度以及保持高性能,因为用于面部检测的有效模型往往在计算上是禁止的。为了应对这一挑战,我们提出了一种名为FaceBoxes的新型人脸检测器,它在速度和精度方面都具有卓越的性能。具体来说,我们的方法具有轻量级但功能强大的网络结构,包括快速消化卷积层(RDCL)和多尺度卷积层(MSCL)。 RDCL旨在使FaceBoxes能够在CPU上实现实时速度。 MSCL旨在丰富不同层上的感受野和离散锚,以处理各种尺度的面。此外,我们提出了一种新的锚点致密化策略,使不同类型的锚点在图像上具有相同的密度,从而显着提高了小脸部的召回率。因此,所提出的检测器在单CPU核心上以20 FPS运行,在使用GPU用于VGA分辨率图像时以125 FPS运行。而且,FaceBoxes的速度对面部的数量是不变的。我们全面评估了这种方法,并在多个人脸检测基准数据集上呈现了最先进的检测性能,包括AFW,PASCAL人脸和FDDB。代码可在https://github.com/sfzhang15/FaceBoxes获得。
1. Introduction
人脸检测是计算机视觉和模式识别中的基本问题之一。它在许多后续的面部相关应用中扮演着重要的角色,例如面部对齐[47],面部识别[48]和面部跟踪[12]。随着过去几十年的巨大进步,尤其是卷积神经网络的突破,人脸检测已成功应用于各种场景下的日常生活中。然而,在非受控面部检测问题中仍存在一些严峻挑战,特别是对于CPU设备。挑战主要来自于人脸探测器的两个要求:1)杂乱背景中人脸的大视觉变化要求人脸探测器准确地解决复杂的人脸和非人脸分类问题; 2)可能的面部位置和面部尺寸的大搜索空间进一步提出了时间效率要求。这两个要求是相互矛盾的,因为高精度的面部检测器往往在计算上很昂贵。因此,对于CPU设备上的实际面部检测器来说,实现实时速度以及保持高性能是其余的开放性问题之一。为了满足这两个相互矛盾的要求,人脸检测主要以两种方式进行了深入的研究。早期的方法是基于手工艺特征。继Viola-Jones人脸探测器[37]的开创性工作之后,大多数早期工作都集中在设计强大的功能和训练有效的分类器上。除了级联结构外,可变形零件模型(DPM)被引入到人脸检测任务中,并取得了显着的性能。然而,这些方法高度依赖于非鲁棒的手工艺特征并且分别优化每个组件,使得面部检测管道不是最佳的。简而言之,它们在CPU上是高效的,但对于面部的大视觉变化则不够准确。另一种方式是基于卷积神经网络(CNN),近年来取得了显着的成功,从图像分类到物体检测。最近,CNN已成功引入面部检测任务中作为传统面部检测框架中的特征提取器[23,41,42]。此外,一些人脸检测器[4,46]继承了通用物体检测方法的有效技术,如更快的R-CNN [29]。这些基于CNN的面部检测方法对于面部外观的大变化是稳健的并且展示了最先进的性能。但它们实现实时速度太耗时,尤其是在CPU设备上。这两种方式各有优势。前者速度快,后者具有高精度。为了在速度和准确度上表现良好,一个自然的想法是结合这两种方法的优点。因此,提出了基于CNN的级联方法[16,45],将CNN学习的特性放入级联框架中,以提高性能并保持高效。然而,在基于CNN的级联方法中存在三个问题:1)它们的速度与图像上的面部数量负相关。随着面部数量的增加,速度会急剧下降; 2)基于级联的探测器分别优化每个组件,使训练过程极其复杂,最终模型次优; 3)对于VGA分辨率图像,它们在CPU上的运行时效率约为14 FPS,这不足以达到实时速度。
在本文中,受到快速R-CNN中的RPN [29]以及SSD [21]中的多尺度机制的启发,我们开发了一种具有CPU实时速度的最先进的人脸检测器。具体来说,我们提出了一种名为FaceBoxes的新型人脸检测器,它只包含一个完全卷积的神经网络,并且可以进行端到端的训练。所提出的方法具有轻量且强大的网络结构(如图1所示),其由快速消化的卷积层(RDCL)和多尺度卷积层(MSCL)组成。 RDCL旨在使FaceBoxes能够在CPU上实现实时速度,而MSCL旨在丰富不同层上的感知域和离散锚点,以处理各种面部比例。此外,我们提出了一种新的锚点致密化策略,使输入图像上不同类型的锚点具有相同的密度,从而显着提高了小脸部的召回率。因此,对于VGA分辨率图像,我们的面部检测器在单个CPU内核上运行速度为20 FPS,使用GPU运行速率为125 FPS。更重要的是,FaceBoxes的速度对于图像上的面数是不变的。我们全面评估了这种方法,并在几个面部检测