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

FaceBoxes: A CPU Real-time Face Detector with High Accuracy

人脸检测已经研究了很多年,有很多算法。但是目前基于深度学习CNN网络的人脸检测算法效果是不错,但是计算量太大,如果使用CPU很难做到实时处理。本文设计了一个CNN网络用于人脸检测,在速度和精度上实现了很好的平衡。 the proposed detector runs at 20 FPS on a single CPU core and 125 FPS using a GPU for VGA-resolution images

人脸检测的挑战主要来自两点:1)人脸在复杂背景图像中的多变性,检测器需要完成一个复杂的人脸有无问题的二分类;2)人脸位置和尺度的搜索空间较大,这就要求检测器的计算效率要高。这两点是有点相互矛盾的,因为高精度的人脸检测器通常计算量都是很大。 怎么平衡这两者之间的矛盾,算法上主要有两条思路:第一条路就是基于手工设计特征,代表性检测器有基于 Adboost 的 Viola-Jones face detector 和 基于级联结构的 DPM ,但是这些方法过于依赖不鲁棒的手工设计的特征,各个模块分开优化,使得整个系统是次优的sub-optimal。 第二条路是最近几年基于深度学习CNN网络的人脸检测器。基于 CNN 的人脸检测虽然性能有较大提升,但是计算量太大。后来有学者提出 cascaded CNN 来 boost the performance and keep efficient。但是 cascaded CNN 有三个问题:1)检测的速度和图像中人脸数目有关,人脸越多,检测速度越慢。2)基于级联的检测器每个模块分开优化,导致模型的训练难度加大,得到 的模型是 sub-optimal,3)对于 VGA-resolution,cascaded CNN在 CPU上的速度是 14 FPS,没有得到实时

3 FaceBoxes 本文提出的系统 受 Faster R-CNN 的 RPN 和 SSD 中的多尺度机制 启发,我们提出了一个在CPU可以实时检测人脸的 FaceBoxes

FaceBoxes 中含有三个主要的contributions: 1)the Rapidly Digested Convolutional Layers (RDCL), 2) the Multiple Scale Convolutional Layers (MSCL) , 3)the anchor densification strategy

3.1. Rapidly Digested Convolutional Layers 这个模块主要是解决速度问题 对于CPU来说,大多数CNN网络的计算量很大主要是因为 卷积层的 输入 输出 和 卷积核 尺寸较大 the convolution operation for CPU is extremely time-consuming when the size of input, kernel and output are large

我们的 RDCL 通过选择合适尺寸的卷积核和降低输出特征图通道的数量 来减小输入特征图的尺寸,具体是以下三个步骤: 1) Shrinking the spatial size of input: the stride size of Conv1, Pool1, Conv2 and Pool2 are 4, 2, 2 and 2, respectively 2)Choosing suitable kernel size: to keep efficient as well as effective, we choose 7×7, 5×5 and 3×3 kernel size for Conv1, Conv2 and all Pool layers, respectively 3)Reducing the number of output channels: 采用 C.ReLU activation function,C.ReLU can double the number of output channels by simply concatenating negated outputs before applying ReLU. Using C.ReLU significantly increases speed with negligible decline in accuracy.

3.2. Multiple Scale Convolutional Layers 这个模块主要是负责解决多尺度人脸的检测问题 1)Multi-scale design along the dimension of network depth:多个尺度递减的网络层得到多尺度特征图 2)Multi-scale design along the dimension of network width: 采用 Inception module

3.3. Anchor densification strategy default anchors 模板长宽比是 1:1,因为人脸是正方形的。因为 scale of anchor 和 卷积层的 stride size 多样性,导致 anchor 的采样密度在不同尺寸特征图上不一致。导致的问题是 对于小尺寸的人脸检测效果不好 small anchors (i.e., 32 × 32 and 64 × 64) are too sparse, which results in low recall rate of small faces

这里我们要做的是 different scales of anchor have the same density

3.4. Training Training dataset: 在 WIDER FACE 12,880 张图像上训练的 Data augmentation: 数据增强 Color distortion, Random cropping, Scale transformation,Horizontal flipping, Face-box filter Hard negative mining:挑选好的负样本进行训练,保持正负样本比例 3:1

4 Experiments

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏算法channel

2000字详解:极大似然估计, 最大后验概率估计

统计学中,似然函数是一种关于统计模型参数的函数。给定输出x时,关于参数θ的似然函数为L(θ|x),似然函数在数值上等价与给定θ后的

890
来自专栏CVer

[计算机视觉论文速递] 2018-03-16

通知:这篇推文有14篇论文速递信息,涉及目标检测、图像分割、显著性目标检测、人脸识别和GAN等方向 最近有些忙,论文速递频率快下降至两天一更了,希望大家可以体谅...

43515
来自专栏专知

理解多层CNN中转置卷积的反向传播(附代码)

6722
来自专栏marsggbo

论文笔记系列-Simple And Efficient Architecture Search For Neural Networks

本文提出了一种新方法,可以基于简单的爬山过程自动搜索性能良好的CNN架构,该算法运算符应用网络态射,然后通过余弦退火进行短期优化运行。

691
来自专栏AI研习社

使用 RNN 进行情感分析的初学者指南

情感分析可能是最常见的 自然语言处理 的应用之一。我无需去额外强调在客服工具中情感分析的重要性。本文将利用循环神经网络,训练出一个基于 IMDB 数据集的电影评...

692
来自专栏机器学习、深度学习

快速多尺度人脸检测--Multi-Scale Fully Convolutional Network for Fast Face Detection

Multi-Scale Fully Convolutional Network for Fast Face Detection BMVC 2016 如何能够...

2255
来自专栏CreateAMind

机器学习入门课程-干货多有视频

782
来自专栏机器之心

你可能不再需要Attention:这是一个贼简单的神经机器翻译架构

自从编码器解码器架构崛起以来,主流的神经机器翻译(NMT)模型都使用这种架构,因为它允许原文序列长度和译文序列长度不一样。而自 Bahdanau 等研究者在 1...

583
来自专栏CVer

[计算机视觉论文速递] 2018-03-18

通知:这篇推文有10篇论文速递信息,涉及人脸表情识别、人脸替换、3D人脸重建、Re-ID、目标检测和目标跟踪等方向 Note:最近一直有童鞋私聊问我,有没有相关...

46712
来自专栏机器之心

资源 | 实时评估世界杯球员的正确姿势:FAIR开源DensePose

左图:输入;中图:对应的 DensePose-RCNN 结果;右图:人体分割和 UV 参数化。

930

扫码关注云+社区