CornerNet-Lite: Efficient Keypoint Based Object Detection

CornerNet-Lite: Efficient Keypoint Based Object Detection

这篇文章是CornerNet的改进版本,作者认为上一篇文章检测速度太慢了(约1200ms每张图像)。CornerNet-Lite是CornerNet的两种有效变体的组合:CornerNet-Saccade,它使用注意机制消除了对图像的所有像素进行彻底处理的需要,以及引入新的紧凑骨干架构的 CornerNet-Squeeze。这两种变体共同解决了有效目标检测中的两个关键用例:在不牺牲精度的情况下提高效率,以及提高实时效率的准确性。

作者认为要提高目标检测的速度可以从两个方面出发:减少处理的像素的数量或者减少在每个像素上进行的计算数量,从这两个角度出发,分别得到了CornerNet-Saccade和CornerNet-Squeeze。

CornerNet-Saccade

CornerNet-Lite: Efficient Keypoint Based Object Detection_第1张图片
人类视觉中的 Saccades(扫视运动)是指用于固定不同图像区域的一系列快速眼动。在目标检测算法中,我们广义地使用该术语来表示在推理期间选择性地裁剪(crop)和处理图像区域(顺序地或并行地,像素或特征)。

CornerNet-Saccade中的 saccades 是 single type and multi-object。CornerNet-Saccade 检测图像中可能的目标位置周围的小区域内的目标。它使用缩小后的完整图像来预测注意力图和粗边界框;两者都提出可能的对象位置,然后,CornerNet-Saccade通过检查以高分辨率为中心的区域来检测目标。它还可以通过控制每个图像处理的最大目标位置数来提高效率。

CornerNet-Saccade 设计了一种新的backbone:Hourglass-54(含3个hourglass模块,深度为54)。原CornerNet中使用的是 Hourglass-104(含2个hourglass模块,深度为54)。

CornerNet-Squeeze

CornerNet-Squeeze 探索了一种减少每像素处理量的替代方法。在CornerNet中,大部分计算资源都花在了Hourglass-104上。Hourglass-104 由残差块构成,其由两个3×3卷积层和跳连接(skip connection)组成。尽管Hourglass-104实现了很强的性能,但在参数数量和推理时间方面却很耗时。为了降低Hourglass-104的复杂性,本文将来自SqueezeNet和MobileNets 的想法融入到 lightweight hourglass 架构中。

主要操作是:

  • 受SqueezeNet启发,CornerNet-Squeeze将 residual block 替换为SqueezeNet中的 Fire module
  • 受MobileNet启发,CornerNet-Squeeze将第二层的3x3标准卷积替换为 3x3 深度可分离卷积(depth-wise separable convolution)
  • 将进入backbone网络之前的两次2倍下采样增加为3次2倍下采样(这是主要降低计算时间的地方),同时backbone中的Hourglass网络减少一次下采样(同样也就减少了一次上采样)。
  • 将prediction model中的3x3 卷积换为1 x1 卷积。
  • 将最邻近插值上采样换为4x4转置卷积。
    CornerNet-Lite: Efficient Keypoint Based Object Detection_第2张图片
    CornerNet-Lite: Efficient Keypoint Based Object Detection_第3张图片

你可能感兴趣的:(深度学习)