Paper Reading Note
URL:
论文pdf
TL;DR
Google出品。亚毫秒级的移动端人脸检测算法。移动端可达200~1000+FPS速度。主要以下改进:
- 轻量级feature受启发于Mobile系列
- 基于SSD的对移动端GPU更友好的anchor策略
- 改进的联合分辨率(tie resolution)策略来替代NMS方法
Information below is optional; you can change/remove it if you like
方法
Enlarging the receptive field sizes
在深度可分离卷积中,计算量主要为point-wise部分,增加depth-wise部分卷积核大小并不会明显增加成本。因此本文在depth-wise部分采用了5x5的卷积核,已获得更大的感受野,故此可以降低在层数上的需求。
此外,启发于mobilenetV2,本文设计了一个先升后降的double BlazeBlock。BlazeBlock适用于浅层,double BlazeBlock适用于深层。
BlazeBlock (left) and double BlazeBlock
Feature extractor
- 5个BlazeBlock和6个double BlazeBlock
- 输入是3x128x128,channel最大为96,feature map大小最小为8x8
Anchor scheme
16x16的anchor是一样的,但本文将8x8,4x4和2x2的2个anchor替换到8x8的6个anchor。此外强制限制人脸的长宽为1:1。
Anchor computation: SSD (left) vs. BlazeFace
Post-processing
由于最后一层feature map较大(相对于ssd),导致预测结果会较多,在连续帧预测过程中,nms会变导致人脸框变得更加抖动。本文在原始边界框的回归参数估计变为其与重叠概率的加权平均。这基本没有带来预测时间上的消耗,但在提升了10%的性能。
实验
效果好速度快的方法想不想要?
跟mobilenetv2+ssd的效果对比
各终端上的速度比较
网友评论