前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >人脸检测--FaceBoxes: A CPU Real-time Face Detector with High Accuracy

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

作者头像
用户1148525
发布2018-01-03 15:54:38
9950
发布2018-01-03 15:54:38
举报

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

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年10月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档