炼数成金 门户 商业智能 人工智能 查看内容

普林斯顿大学提出:CornerNet-Lite,基于关键点的实时且精度高的目标检测算法

2019-4-22 10:51| 发布者: 炼数成金_小数| 查看: 19953| 评论: 0|来自: CVer

摘要: Abstract:基于关键点的方法是目标检测中相对较新的范例,消除了对 anchor boxes 的需求并提供了简化的检测框架。基于Keypoint的CornerNet在单级(single-stage)检测器中实现了最先进的精度。然而,这种准确性来自 ...

工具 算法 测试 架构 开源

前戏
最近目标检测方向,出了很多很棒的paper,CVer也立即跟进报道:
中科院牛津华为诺亚提出:CenterNet,One-stage目标检测最强算法!可达47mAP,已开源!
谷歌大脑提出:基于NAS的目标检测模型NAS-FPN,超越Mask R-CNN
的Anchor-Free目标检测模型FCOS,现已开源!

本文要介绍一篇实时性好,准确率又高的论文:CornerNet-Lite。该论文是由 普林斯顿大学的几位学者提出。截止2019年4月20日,据Amusi所了解,CornerNet-Lite 应该是目标检测(Object Detection)中 FPS和 mAP trade-off 较佳算法。

注:标题注明"吊打YOLOv3",这个不是标题党。因为CornerNet-Lite 在 FPS和mAP上都超过了YOLOv3,具体详见下文介绍。

简介
《CornerNet-Lite: Efficient Keypoint Based Object Detection》

arXiv: https://arxiv.org/abs/1904.08900
github: https://github.com/princeton-vl/CornerNet-Lite
作者团队:普林斯顿大学
注:2019年04月19日刚出炉的paper

Abstract:基于关键点的方法是目标检测中相对较新的范例,消除了对 anchor boxes 的需求并提供了简化的检测框架。基于Keypoint的CornerNet在单级(single-stage)检测器中实现了较先进的精度。然而,这种准确性来自高处理代价。在这项工作中,我们解决了基于关键点的高效目标检测问题,并引入了 CornerNet-Lite。CornerNet-Lite是CornerNet的两种有效变体的组合:CornerNet-Saccade,它使用注意机制消除了对图像的所有像素进行彻底处理的需要,以及引入新的紧凑骨干架构的 CornerNet-Squeeze。这两种变体共同解决了有效目标检测中的两个关键用例:在不牺牲精度的情况下提高效率,以及提高实时效率的准确性。CornerNet-Saccade适用于离线处理,将CornerNet的效率提高6.0倍,将COCO的效率提高1.0%。CornerNet-Squeeze适用于实时检测,提高了流行的实时检测器YOLOv3的效率和准确性(CornerNet-Squeeze为34ms时34.4mAP,而COCO上为YOLOv3时为39ms,33mAP)。这些贡献首次共同揭示了基于关键点的检测对于需要处理效率的应用的潜力。


背景
CornetNet 在 ECCV 2018 (oral)上横空出世,引领一波基于关键点的目标检测狂潮(最近anchor-free盛行),但这类算法(很多one-stage)也有缺点。虽然mAP有很大提升,但速度上都远不能达到实时(有些论文就避而不谈FPS了)。这其实可以看成学术阶段的成果,但距离落地应用还有一点距离。

而 本文CornetNet-Lite 是对CornetNet进行优化,提出了两种算法:

CornerNet-Saccade
CornerNet-Squeeze

在 Amusi 看来:
CornerNet-Saccade 是追求高准确率(mAP)的同时,尽可能提高速度(FPS),即准确率优先,其对标于CornerNet等算法。创新点:引入Saccade思想

CornerNet-Squeeze 是追求高实时性(FPS)的同时,尽可能提高准确率(mAP),即速度优先,其对标于YOLOv3等算法。创新点:引入SqueezeNet优化思想

正文
1 CornerNet-Saccade
什么是 Saccades?
人类视觉中的 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)。

注:crop在CornerNet-Saccade中作用非常大


2 CornerNet-Squeeze
与专注于subset of the pixels以减少处理量的CornerNet-Saccade相比,而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)

具体如下表所示:


3 实验结果
开源代码是基于PyToch1.0.0,在COCO数据集上进行测试。测试硬件环境为:1080ti GPU + Intel Core i7-7700k CPU。

One-stage 算法性能比较


CornerNet-Saccade 算法性能比较

可见 Hourglass-54要强于Hourglass-104,另外gt attention对涨点帮助很大

CornerNet-Squeeze 算法性能比较

见证奇迹的时候来了!CornerNet-Squeeze 吊打YOLOv3,因为即使是C语言版本的YOLOv3,都已被全方位(mAP+FPS)超过。

注:日常期待一下YOLOv4,毕竟YOLOv3已经是去年3月的"老人"了。


代码已开源,快快下载尝试一波:
https://github.com/princeton-vl/CornerNet-Lite

声明:本文版权归原作者所有,文章收集于网络,为传播信息而发,如有侵权,请联系小编及时处理,谢谢!

欢迎加入本站公开兴趣群
商业智能与数据分析群
兴趣范围包括各种让数据产生价值的办法,实际应用案例分享与讨论,分析工具,ETL工具,数据仓库,数据挖掘工具,报表系统等全方位知识
QQ群:81035754

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

热门频道

  • 大数据
  • 商业智能
  • 量化投资
  • 科学探索
  • 创业

即将开课

 

GMT+8, 2019-5-21 21:26 , Processed in 0.158142 second(s), 25 queries .