BlazeFace 理解

1. 简介

Blazeface模型是Google推出的一款专为移动GPU推理量身定制的轻量级且性能卓越的人脸检测器,BlazeFace 在旗舰移动设备上以200-1000 + FPS的速度运行。 这种超实时性能使其能够应用于任何对性能要求极高的增强现实应用中。

2. 论文创新点

  1. 受MobileNet v1/v2启发,使用及其轻量的体征提取网络
  2. 修改的SSD目标检测anchor机制,使其更适于GPU计算
  3. 提出一种替代非极大抑制的联合分辨率策略,在重叠预测之间实现更稳定、更平滑的tie resolution

作者在MobileNet-SSD目标检测框架下,通过改进网络结构、anchor机制、替换NMS后处理,使算法在人脸检测任务中保持高精度的同时,在移动GPU上速度还很快。

3. 模型架构与设计

BlazeFace模型主要从四个方面展开。

3.1 增大感受野

在MobileNet架构中,作者使用5x5卷积核代替3x3卷积核,扩大感受野,而这种在深度可分离卷积中卷积核大小增大,对计算量增加是有限的。
另外为了加强感受也Size的传递,作者提出了Double BlazeBlock 模块,如下图所示:

3.2 特征提取

由于BlazeFace特定于垂类任务人脸检测,而人脸尺度变换较小,因此BlazeFace定义更加轻量的特征提取网络,输入图像尺寸为128x128,特征提取包括5个BlazeBlock和6个double BlazeBlock。

网络架构如下表:

3.3 优化anchor 机制

在8×8特征图尺寸处停止而无需进一步下采样(如下图所示),将8x8,4x4和2x2分辨率中的每个像素的2个anchor替换为8x8的6个anchor。由于人脸长宽比的变化有限,因此作者发现将anchor固定为1:1纵横比足以进行精确的面部检测。

3.4 后处理算法

由于上述anchor机制中特征提取器未将分辨率降低到8×8以下,所以与给定对象重叠的anchor数量将会下降。在SSD的NMS中,只有一个胜出的anchor用于算法输出,这导致在视频中进行检测时,人脸框抖动明显。
为了降低这种效应,作者不再使用NMS,代之一种blending策略,将边界框的回归参数估计为重叠预测之间的加权平均值。它几乎不会产生之前NMS部分的成本。作者称对于在视频中的面部检测任务,此调整导致准确度提高10%。

4. 速度对比

BlazeFace在不同的手机上都获得了成倍的速度提升:

5. 总结

BlazeFace专门是替移动端设备考虑,因此在网络结构、anchor机制、替换NMS后处理都做了较多改进,实现移动端高速推理。

  1. 检测速度快
  2. 同时可以做检测人脸框及回归6个关键点

6. 参考

人脸检测BlazeFace_watersink的博客-CSDN博客
https://arxiv.org/pdf/1907.05047v1.pdf
人脸检测之亚毫秒级人脸检测算法BlazeFace_blazeface*_AI算法-图哥的博客-CSDN博客
GitHub - google/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值