谷歌公布亚毫秒级人脸检测算法 人脸检测又一突破( 三 )

模型结构与设计

BlazeFace 模型架构围绕下面讨论的四个重要设计考虑因素而构建。

1、扩大感受野

虽然大多数现代卷积神经网络架构(包括 MobileNet,https://arxiv.org/pdf/1704.04861.pdf )都倾向于在模型图中都使用 3 x 3 卷积核,但我们注意到深度可分离卷积计算是由它们的点态部分主导。在 s×s×c 输入张量上,应用可分离卷积操作,其中,k×k 的深度卷积涉及 s^2ck^2 次乘加运算,而后续的 1×1 卷积到 d 个输出通道由 s^2cd 次乘加运算组成,是深度阶段的 d /(k^2)倍。

实际上,在具有金属外壳的 Apple iPhone X 上,16 位浮点运算中的 3×3 深度卷积对于 56×56×128 的张量需要花费 0.07 ms,相比之下 128 到 128 通道的 1×1 卷积运算会慢 4.3 倍,即后续的点卷积操作需要 0.3 毫秒(由于固定成本和存储器访问因素导致的纯算术运算计数差)。

该观察表明增加深度部分的核尺寸性价比更高。我们在模型架构中使用 5×5 内核,这样使得感受野达到指定大小所需的 bottleneck 数量大大减少,得到的 BlazeBlock 有下图所示的两种结构:

推荐阅读