硬核科普:人脸识别系统 帮你把脸刷明白(7)
扫一扫
分享文章到微信
扫一扫
关注99科技网微信公众号
使用RDCL(Rapidly Digested Convolutional Layers)模块快速降低特征图大小,为检测速度提供了保证: 通过适当的卷积核大小来快速缩小输入空间大小,减少输出通道的数量,使CPU设备上的FaceBoxes达到实时速度;
MSCL(Multiple Scale Convolutional Layers)模块使用多尺度特征图预测,处理不同尺度下的人脸;
使用anchor稠密化策略,以提高小人脸的召回率。
图16 FaceBoxes[10]算法pileline VGA分辨率图像输入,单个CPU内核上(E5-2660v3@2.60)运行速度为20FPS,GPU(Titan X (Pascal))上125FPS。方法在FDDB上也取得了当时SOTA的结果( 见图17 )。 图17 FaceBoxes[10]在FDDB上的实验结果 2019年谷歌发布了一款专为移动 GPU 推理量身定制的轻量级且性能卓越的人脸检测器——亚毫秒级的人脸检测算法 BlazeFace[11]。它能够在旗舰设备上以200-1000+FPS的速度运行。这种超实时性能使BlazeFace能够应用于任何对性能要求极高的现实应用中,如手机上。方法的主要创新点为:
受MobileNet启发,提出极轻量级特征提取网络BlazeBlock。具体的使用5*5卷积核代替3*3卷积核,不会带来太大开销,但是可以增大感受野。前置摄像头下,人脸尺度变化较小,可以定义更加轻量级的特征提取,输入图像128*128,含有5个BlazeBlock和6个double BlazeBlock(见 图18 )。
图18 BlazeBlock和double BlazeBlock结构图 [11]
优化的anchor 机制,在8*8特征图尺寸处停止下采样(见图19),将8*8,4*4和2*2分辨率中的每个像素的2个anchor替换为8*8的6个anchor。由于人脸长宽比的变化有限,因此将anchor固定为1:1足以进行精确的人脸检测。
图19 Anchor计算: SSD (left) vs. BlazeFace [11] BlazeFace重点说明在手机终端真实应用中,检测算法的加速,故没有与但是SOTA(state-of-the-art)的算法在公开数据集上精度的比较,而只是在谷歌的私有数据集上与MobileNetV2-SSD进行了比较。图20是比较结果,精度高于MobileNetV2-SSD,在iPhone XS上的速度也从2.1ms降到0.6ms。另外可以看到BlazeFace在不同的手机上也获得了很大的速度提升。 图20 检测性能和推理时间 [11]
作者有话说
人脸识别技术经过多年的发展,内涵已极为丰富并且应用广泛。本次为大家讲解了人脸识别的发展历史、技术流程以及重点介绍了人脸检测算法,希望借此帮助大家理解、认识如今我们已经习惯使用的人脸识别功能。下次,我们将继续为大家讲解人脸识别的另一关键技术——人脸关键点检测算法。我们下期见!
99科技网:http://www.99it.com.cn
