CornerNet-Lite论文阅读
论文地址:https://arxiv.org/abs/1904.08900
开源代码:https://github.com/princeton-vl/CornerNet-Lite
简介
CornerNet-Lite在CornerNet的基础之上,提出了轻量版,在尽量保证原检测精度的基础之上,通过两种方式提高检测的速度,以期达到实时监测的需求。CornerNet-Lite包含两个版本。
1. CornerNet-Saccade
通过减少要处理的像素数量来加快推理的速度。使用了类似于人类视觉扫视的注意力机制。它以缩小的完整图像开始,并生成一个关注图,然后将其放大,并由模型进行进一步的处理。这与原始的CornerNet的不同之处在于,它可以在多个尺度上进行全卷积。通过选择剪裁的子集来进行高分辨率的检测,CornerNet-Saccade在提高速度的同时提高了精度。COCO上达到43.2%AP,每个image190ms。比CornerNet提高了1%的AP,速度快了6倍。
2. CornerNet-Squeeze
通过减少每个像素的处理量来加快推理速度,它融合了SqueezeNet和MobileNets的想法,并介绍了一种新的紧凑型hourglass主干网络,该网络充分使用了1x1卷积、瓶颈层(bottleneck)和深度可分离卷积。使用了新的hourglass网络,CornerNet-Squeeze在COCO数据集上达到34.4%的AP,30ms。与YOLOv3的(33% at 39ms)相比更快更准一些。
但是当将Squeeze与Saccade结合的时候,其精度和准确度都有比Squeeze有所下降。这是因为,要想使用到Saccade的优势,需要生成足够准确的注意力图,但是Squeeze的紧凑结构并没有这样的额外能力。此外,原始的CornerNet可在多个比例上应用,这为Saccade提供了足够的空间来减少处理的像素的数量。而相反的是,由于超紧(?)的推理运算Squeeze已在单个scale上应用,这为Saccade节省了更多的空间。
创新性
这两种变体使得基于关键点的方法更有竞争力,涵盖了如下的两个用例:
- CornerNet-Saccade用于离线处理,可以在不牺牲准确率的情况下提高效率。
- CornerNet-Squeeze用于实时处理,…
创新点:
- Saccade是首个将saccade与基于关键点的目标检测相结合的方法。其与之前工作的主要区别在于如何处理每个crop(pixels或feature map)。Saccade可以使用单阶段网络对每个crop进行多个检测。
CornerNet-Saccade produces multiple detections per crop with a single-stage network.
- Squeeze是第一个将SqueezeNet与堆叠hourglass相结合并应用于目标检测。