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



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

  1. 人脸检测——FaceBoxes之解读与效果展示

    <FaceBoxes: A CPU Real-time Face Detector with High Accuracy> 论文地址:https://arxiv.org/abs/1708. ...

  2. 论文阅读_人脸检测:S3FD: Single Shot Scale-invariant Face Detector

    我的博客已全部迁往个人博客站点:oukohou.wang,敬请前往-- 写在前面:记录一下论文阅读的收获,不然怕久远之后,就不记得了- 1. Sum up S3FD是2017年发表在arXiv上的一篇 ...

  3. 人脸检测识别文献阅读总结

    1 在人脸检测的时候需要结合人脸特征点对齐来综合考虑人脸检测问题,因为人脸特征点对齐有助于提高人脸检测性能 下面的文献都论证了这个思想: Joint cascade face detection an ...

  4. 这就是神经网络 19:深度学习-人脸检测-S3FD

    概述 本文介绍1篇人脸检测方面的工作,这是2017年的工作.S3FD是SSD类的检测器,为人脸检测做了相应优化和修改.即使放在今年(2019),这个工作的结果也都是SOTA级的存在. 前段时间写了文章 ...

  5. 人脸检测识别文献代码

    https://github.com/ChanChiChoi/awesome-Face_Recognition 人脸检测 PyramidBox: A Context-assisted Single S ...

  6. Python 3 利用 Dlib 实现人脸检测和剪切

    0. 引言 利用 Python 开发,借助 Dlib 库进行人脸检测 / face detection 和剪切:   1. crop_faces_show.py : 将检测到的人脸剪切下来,依次排序平 ...

  7. 图片人脸检测——Dlib

    马上就五一了,发呆的时候想到了之前接触过一点儿的Dlib,在c++下的使用,正好今天有人问起了会不会OpenCV,于是- dlib与OpenCV对比:识别精准度:Dlib >= OpenCV,D ...

  8. 基于 dlib 的人脸检测(68关键点)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目 目录 文章目录 前言 一.背景 (1)环境搭建 (2)下载开源数据集 二.具体实现 效果展示: 效果展示: 总结 前言 imu ...

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

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

最新文章

  1. ceph-osd无法获取osd map导致osd down掉的解决办法
  2. 3306 端口 要不要修改_zabbix 自动发现并监控所有端口
  3. 京东 你访问的页面需要验证证书_SSL证书安全认证有什么原理?
  4. java activiti jbpm_activiti和jbpm工作流引擎哪个比较好?
  5. DC / OS中具有Java和数据库应用程序的服务发现
  6. ai/ml_您应该在本周(7月11日)阅读有趣的AI / ML文章
  7. android 手机关机代码非root,Android手机获取root权限并实现关机重启功能的方法
  8. 【Unity3D插件】VOXL插件分享《多人沙盒游戏插件》
  9. 有什么软件可以提升视频画质,将模糊视频修复清晰?
  10. 加密市场的「五维投资法」
  11. 当当图书,这又是何苦。
  12. 关于VS2010下编译NTL库方法及NTL库的应用
  13. python中num函数是什么意思_如何理解python3函数中num的用法?
  14. Redis ZADD命令
  15. 乐视x820android最新版本,乐视MAX2|MIUI10|安卓8.1|最终完美版|极速_最新最全的乐Max2ROM刷机包下载、刷机教程_...
  16. 蓝湖--UI切图软件,适用于ios,安卓,Web
  17. 【中秋特辑】赛博朋克『静夜思』,金属摇滚『月饼』,落霞秋水『思乡』,AI画笔下的中秋长这样!赠你 8400 个月亮 | ShowMeAI资讯日报
  18. 物联网专科专业必修课程_物联网应用技术专业介绍(专科)
  19. linux 下shell中if的“-e,-d,-f”是什么意思
  20. VIPs Often Go Offline Unexpectedly and Relocate to Another Node

热门文章

  1. Bootstrap中文本的样式
  2. 在机械狗上利用AstraPro3D深度摄像头简单实现目标跟踪和人体姿态识别
  3. 机器学习入门书籍、课程推荐
  4. Machine Learning | (8) Scikit-learn的分类器算法-随机森林(Random Forest)
  5. 在Windows系统利用IP地址登陆Linux服务器
  6. 农科院张西美组助研招聘(事业编、解决北京户口)
  7. 微生物入侵:过程、模式与机制
  8. MPB:军科院杨瑞馥、毕玉晶等-​​培养组学方法优化(视频)
  9. SCI论文投稿全程模板
  10. QIIME 2用户文档. 15样品分类和回归q2-sample-classifier(2019.7)