《A Convolutional Neural Network Cascade for Face Detection》
2016-12-17 22:53
1211 查看
文章链接: http://pan.baidu.com/s/1bQBJMQ 密码:4772
作者在这里提出了基于神经网络的Cascade方法,Cascade最早可追溯到Haar Feature提取时用到的Adaboost算法(参考这个博客:[b]http://blog.csdn.net/zouxy09/article/details/7922923[/b]),作者在这里将它和神经网络结合到了一起,可谓创新。
[b]关键字:Cascade;Calibration;[/b]
为了提高图片的测试速度,作者在这里使用了Cascade,级联了6个CNN,结构如下:
这六个CNN共分为两类,一类网络(12-net,24...)(它们是2分类)去分类,同时产生候选框;一类网络(12-Calibration-net,24...)(它们是45分类)是对候选框进行位置矫正,它们的结构如下:
大致分析一下它的流程:(个人见解,可能有的地方有错误,非常欢迎指正~)
[b]训练阶段:[/b]
作者先从AFLW数据集中的图片中进行裁剪获得人脸图片作为正样本,再从背景中裁剪获得负样本;
将正样本resized为12*12的大小,输入到12-net中进行训练;
将每一个正样本进行scale、x轴、y轴变换(共45种变换),生成45张图片,再贴上标配,输入到12-Calibration-net中进行训练,变换参数见下:
之后24、48网络的训练同理;
[b]测试阶段:[/b]
输入测试图片,先对它进行scale变换,形成图像金字塔,再将金字塔中的每一张图片输入到级联网络中;
先进入12-net中,利用sliding-Window,获得特征图,设定一个阀值,一方面进行分类,一方面获得大于阀值的候选框;
将12-net的输出中大于阀值但是类别为非人脸的作为12-Calibration-net的负样本,大于阀值同时类别为人脸的作为12-Calibration-net的正样本,(注意这时候后面的网络便已经与原输入图片无关了)
这些候选框经过12-Calibration-net后每一个都输出45个得分,在经过下面的操作,获得最终变换的参数,即可获得调整后的框位置:
接着再将12-Calibration-net的输出先resized为24*24,再送到24-net的输入中,再进行分类,又剔除了一部分,接着再向后面的网络传输。。。
使用这种Cascade方法的好处就是:
(1)由于将一个大网络分解成多个小网络进行训练,训练难度减小,所需要的训练集也减小;
(2)虽然训练时数据准备较花时间,但由于分解成了小网络,计算复杂度降低,测试时间缩短,可以实现实时监测;
作者在这里提出了基于神经网络的Cascade方法,Cascade最早可追溯到Haar Feature提取时用到的Adaboost算法(参考这个博客:[b]http://blog.csdn.net/zouxy09/article/details/7922923[/b]),作者在这里将它和神经网络结合到了一起,可谓创新。
[b]关键字:Cascade;Calibration;[/b]
为了提高图片的测试速度,作者在这里使用了Cascade,级联了6个CNN,结构如下:
这六个CNN共分为两类,一类网络(12-net,24...)(它们是2分类)去分类,同时产生候选框;一类网络(12-Calibration-net,24...)(它们是45分类)是对候选框进行位置矫正,它们的结构如下:
大致分析一下它的流程:(个人见解,可能有的地方有错误,非常欢迎指正~)
[b]训练阶段:[/b]
作者先从AFLW数据集中的图片中进行裁剪获得人脸图片作为正样本,再从背景中裁剪获得负样本;
将正样本resized为12*12的大小,输入到12-net中进行训练;
将每一个正样本进行scale、x轴、y轴变换(共45种变换),生成45张图片,再贴上标配,输入到12-Calibration-net中进行训练,变换参数见下:
之后24、48网络的训练同理;
[b]测试阶段:[/b]
输入测试图片,先对它进行scale变换,形成图像金字塔,再将金字塔中的每一张图片输入到级联网络中;
先进入12-net中,利用sliding-Window,获得特征图,设定一个阀值,一方面进行分类,一方面获得大于阀值的候选框;
将12-net的输出中大于阀值但是类别为非人脸的作为12-Calibration-net的负样本,大于阀值同时类别为人脸的作为12-Calibration-net的正样本,(注意这时候后面的网络便已经与原输入图片无关了)
这些候选框经过12-Calibration-net后每一个都输出45个得分,在经过下面的操作,获得最终变换的参数,即可获得调整后的框位置:
接着再将12-Calibration-net的输出先resized为24*24,再送到24-net的输入中,再进行分类,又剔除了一部分,接着再向后面的网络传输。。。
使用这种Cascade方法的好处就是:
(1)由于将一个大网络分解成多个小网络进行训练,训练难度减小,所需要的训练集也减小;
(2)虽然训练时数据准备较花时间,但由于分解成了小网络,计算复杂度降低,测试时间缩短,可以实现实时监测;
相关文章推荐
- 【论文笔记】A Convolutional Neural Network Cascade for Face Detection
- 级联人脸检测--A Convolutional Neural Network Cascade for Face Detection
- 论文《A Convolutional Neural Network Cascade for Face Detection》笔记
- [文献阅读]A Convolutional Neural Network Cascade for Face Detection
- 《A Convolutional Neural Network Cascade for Face Detection》
- 论文《A Convolutional Neural Network Cascade for Face Detection》笔记
- 论文《A Convolutional Neural Network Cascade for Face Detection》笔记
- A Convolutional Neural Network Cascade for Face Detection
- A Convolutional Neural Network Cascade for Face Detect
- 人脸关键点:DAN-Deep Alignment Network: A convolutional neural network for robust face alignment
- 多尺度R-CNN论文笔记(5): A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- MSCNN 论文解析(A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- 论文阅读(Weilin Huang——【TIP2016】Text-Attentional Convolutional Neural Network for Scene Text Detection)
- Deep Convolutional Network Cascade for Facial Point Detection阅读笔记
- Deep Convolutional Network Cascade for Facial Point Detection实践总结
- 人脸关键点: DCNN-Deep Convolutional Network Cascade for Facial Point Detection
- [论文解读] MSCNN: A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection
- DeepID-Net:multi-stage and deformable deep convolutional neural network for object detection
- Deep Convolutional Network Cascade for Facial Point Detection
- 论文笔记 MSCNN:A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection