人脸识别之人脸检测(十六)--Cascade CNN

转自:https://blog.csdn.net/xzzppp/article/details/51692907

论文 A Convolutional Neural Network Cascade for FaceDetection

1、简介

    CascadeCNN是对经典的Violajones方法的深度卷积网络实现,是一种检测速度较快的人脸检测方法。使用VGA图片,在CPU上达到14FPSGPU上达到100FPS,在FDDB上达到85.1%的召回率和87%的准确率。

2 、总体框架

    下图是该方法的整个流程示意图,可以看出是3阶级联

          级联结构中有6CNN3CNN用于人脸非人脸二分类,另外3CNN用于人脸区域的边框校正。给定一幅图像,12-net密集扫描整幅图片,拒绝90%以上的窗口。剩余的窗口输入到12-calibration-net中调整大小和位置,以接近真实目标。接着输入到NMS中,消除高度重叠窗口。下面网络与上面类似。

12-net, 24-net and48-netCNN结构图

2.1  net网络

         12-net:使用12×12的检测窗口,以步长为4,在W×H的图片上滑动,得到检测窗口。实际应用中,将图像尺度变换为金字塔结构,每层都作为12-net输入。12-net可以拒绝90%以上的窗口,大大减小了下级网络的负担。

         24-net:在12-net的基础上,将24×24的图片缩放到12×12,输入到12-net全连接层,与12-net并联,最后一起输出到24-net全连接层

2.2  calibration-net网络


         该网络用于窗口校正,使用三个偏移变量:Xn:水平平移量,Yn:垂直平移量,Sn:宽高比缩放。候选框口(x,y,w,h)中,(x,y)表示左上点坐标,(w,h)表示宽和高。

我们要将窗口的控制坐标调整为:

          这项工作中,我们有N=5×3×3=45种模式。偏移向量个参数包括以下值:

          Sn(0.83,0.91,1.0,1.10,1.21)

          Xn(-0.17,0,0.17)

          Yn(-0.17,0,0.17)

          同时对偏移向量三个参数进行校正。

校正网络的结构如下图所示:

Cascade CNN一定程度上解决了传统方法在开放场景中对光照、角度等敏感的问题,但是该框架的第一级还是基于密集滑动窗口的方式进行窗口过滤,在高分辨率存在大量小人脸(tiny face)的图片上限制了算法的性能上限。

3、检测结果

     在FDDB数据集上进行测试,每阶段的检测窗口个数和召回率如图所示:


猜你喜欢

转载自blog.csdn.net/app_12062011/article/details/80533782