经典论文阅读——A Convolutional Neural Network Cascade for Face Detection

论文:A Convolutional Neural Network Cascade for Face Detection.pdf

实现:https://github.com/anson0910/CNN_face_detection

 

发表在2015CVPR上的论文。提出了一种级联的CNN网络用于人脸检测。

首先,cascade(级联、串联)思想:1.将一个大的网络结构划分成小的几部分的网络结构,从而加快速度。2.对上一个网络的结果进行学习,不断修正refine

该论文主要贡献有一下四点:

提出了级联的CNN用于快速的人脸检测

设计了Face bounding box calibration 这一步去帮助加速cnn级联。

提出了一种多分辨率的CNN网络结构,有着比单网络结构更强的识别能力,和一个微小的额外开销。

Face Detection Data Set and Benchmark FDDB)上更进一步地提高了现有水平.

 

整个处理流程里包含了六个网络和三次NMS(极大值抑制),六个网络按顺序分别是12-net12-calibration-net24-net24-calibration-net48-net48-calibration-net

包含三个二分类网络用于分类其是否为人脸,另外三个calibration网络用于矫正人脸框边界。

给定一个测试图片,12net扫描整个图片以拒绝90%的区域,剩下的区域(即认为可能是人脸的区域,每个都是12*12的图片)送入12-calibration-net以调整尺寸和位置。Non-maximun suppression(NMS)被用于减少高度重合的区域。留下来的区域被裁减以调整尺寸为24*24,然后输入24net,再拒绝掉90%的区域。以此类推,直到48net48-calibration-net执行完。

默认每一次做完poolingfully-connected 都做RELU

 

各层网络结构如下:

 

 

对原图像resize成对应的12x12,24x24,48x48然后很大程度上过滤掉非人脸区域,减少计算提高了速度,然后用NMS消除高度重叠的检测滑动窗口。

 

12-calibration-net24-calibration-net48-calibration-net的结构如下图所示:

 

这三个网络用于矫正检测边界框,原理是对原图做45次变换,然后每个变换后的边界框都有一个得分,对于得分高于某个设定的阈值时,将其累加进原边界,最后结果取平均,就是最佳边界框,关于45次变换,有如下得来:

 

其中s——scale,框的大小变化

x——沿X轴的平移距离

y——沿Y轴的平移距离

 

变换方式如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值