级联人脸检测--A Convolutional Neural Network Cascade for Face Detection

A Convolutional Neural Network Cascade for Face Detection CVPR2015

https://github.com/anson0910/CNN_face_detection https://github.com/mks0601/A-Convolutional-Neural-Network-Cascade-for-Face-Detection https://github.com/IggyShone/fast_face_detector

本文早期使用级联CNN网络进行人脸检测代表性文献,在速度和精度上效果和以前算法相比都有所提升。 缺点:各个CNN trained sequentially, 不是 end-to-end, which may not be desirable

最早最经典的级联人脸检测算法是 Viola-Jones face detector,使用了 Haar feature,这个检测器对于正面的人脸效果还是不错的。但是对于实际应用环境中人脸姿态的变化,人脸表情的多样性,光照的多样性,使其检测性能降低很多。 究其原因主要还是 Haar feature 过于简单了。

后来很多学者就对 Viola-Jones face detector 提出改进,使用更先进的特征,虽然先进特征的计算量增加了,但是相应级联的层数也减少了,所以总体上计算量可能减少了,精度提高了。所以我们认为将更先进的特征应用于人脸检测效果应该更好。考虑到CNN特征的计算量很大,所以我们使用级联CNN来进行人脸检测。

3.1. Overall framework 我们的思路大致如下:首先使用一个小型网络 12-net 对图像进行全局搜索人脸候选区域,检测区域是 12×12图像块,搜索步长是4个像素,可以快速排除90%的非人脸区域,使用非极大值抑制排除一些重叠区域,再对剩下的候选区域使用一个小网络 12-calibration-net 进行人脸矩形框微调,包括位置和尺度。微调后再使用一个中型网络 24-net 对微调后的人脸候选区进行二分类,检测区域是 24×24 图像块,再排除90%的非人脸区域,再对剩下的候选区域使用一个中型网络 24-calibration-net 进行人脸矩形框微调,包括位置和尺度,使用非极大值抑制排除一些重叠区域,微调后再使用一个大型网络 48-net 对微调后的人脸候选区进行二分类,检测区域是 48×48 图像块,非极大值抑制,最后用 48-calibration-net 进行人脸矩形框微调 输出结果。

检测示意图:

3.2. CNN structure

三个人脸二分类CNN网络结构

三个人脸矩形框矫正CNN网络结构

矫正效果示意图:

有无多尺度检测对比

AFW dataset

FDDB

The proposed detector is very fast, achieving 14 FPS for typical VGA images on CPU and can be accelerated to 100 FPS on GPU

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习入门

深度学习系列(2):前向传播和后向传播算法

深度学习系列(2):前向传播和后向传播算法 前言 讲真,之前学吴恩达的机器学习课时,还手写实现过后向传播算法,但如今忘得也一干二净。总结两个原因:1. 理解不够...

2137
来自专栏算法修养

文本分类学习 (八)SVM 入门之线性分类器

SVM 和线性分类器是分不开的。因为SVM的核心:高维空间中,在线性可分(如果线性不可分那么就使用核函数转换为更高维从而变的线性可分)的数据集中寻找一个最优的超...

251
来自专栏小小挖掘机

推荐系统遇上深度学习(九)--评价指标AUC原理及实践

CTR问题我们有两种角度去理解,一种是分类的角度,即将点击和未点击作为两种类别。另一种是回归的角度,将点击和未点击作为回归的值。不管是分类问题还是回归问题,一般...

721
来自专栏机器学习原理

机器学习(9)——SVM数学基础

支持向量机涉及到数学公式和定力非常多,只有掌握了这些数学公式才能更好地理解支持向量机算法。 最优化问题 最优化问题一般是指对于某一个函数而言,求解在其指定作用域...

3556
来自专栏机器学习和数学

[高大上的DL] Deep Learning中常用loss function损失函数的小结

在前面我们分享的如何来训练CNN中,提到了BP算法,还记得BP算法是怎么更新参数w,b的吗?当我们给网络一个输入,乘以w的初值,然后经过激活函数得到一个输出。然...

9098
来自专栏决胜机器学习

机器学习(十七) ——SVM进一步认识

机器学习(十七)——SVM进一步认识 (原创内容,转载请注明来源,谢谢) 注:这两天边看ng的svm视频,边看机器学习实战的书的svm代码,两边都看的云里雾里...

3058
来自专栏绿巨人专栏

强化学习读书笔记 - 00 - 术语和数学符号

34311
来自专栏fangyangcoder

SVM笔记

SVM(Support Vector Machine)是一种寻求最大分类间隔的机器学习方法,广泛应用于各个领域,许多人把SVM当做首选方法,它也被称之为最优分类...

833
来自专栏GAN&CV

BEGAN解读

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

652
来自专栏Echo is learning

svm 之 线性可分支持向量机

1535

扫码关注云+社区