深度学习_人脸检测_级联卷积神经网络
一.Cascade CNN的框架结构
1.Cascade CNN的整体框架
级联结构中有6个CNN,3个CNN用于人脸非人脸二分类,另外3个CNN是边界校正网络,用于人脸区域的边框校正。给定一幅图像,12-net密集扫描整幅图片,拒绝90%以上的窗口。剩余的窗口输入到12-calibration-net中调整大小和位置,以接近真实目标。接着输入到NMS中,消除高度重叠窗口。
2.12-net、24-net、48-net的网络框架结构
3.12-calibration-net、24-calibration-net、48-calibration-net的网络框架结构
二.Cascade CNN人脸校验模块原理
该网络用于窗口校正,使用三个偏移变量:Xn:水平平移量,Yn:垂直平移量,Sn:宽高比缩放。候选框口(x,y,w,h)中,(x,y)表示左上角点坐标,(w,h)表示宽和高。
我们要将窗口的控制坐标调整为:
在这项工作中,我们有N = 5 * 3 * 3 = 45种模式。偏移向量三个参数包含以下值:
同时对偏移向量三个参数进行校正:
三.训练样本的准备
人脸样本
非人脸样本
四.级联的优势
- 最初阶段的网络可以比较简单,判别阈值可以设得宽松一点,这样就可以在保持较高召回率的同时排除掉大量的人非人脸窗口。
- 最后阶段网络为了保证足够的性能,因此一般设计的比较复杂,但由于只需要处理前面剩下的窗口,因此可以保证足够的效率。
- 级联的思想可以帮助我们去组合利用性能较差的分类器,同时又可以获得一定的效率保证。
五.Cascade CNN的主要贡献
- Cascade CNN是一种非常快速的人脸检测算法。对传统的VGA图像检测在CPU上可以达到14FPS,在GPU上可以达到100FPS。
- 在FDDB上达到了当年最好的分数。
- 我们先用CNN网络在低分辨率下对输入图像进行评估,达到快速剔除非人脸区域的目的,并在高分辨率下仔细处理具有挑战性的区域,以达到准确检测的目的。
- 设计了边界校正网络用于更好的定位人脸位置。