点击上方,选择星标置顶,不定期资源大放送

阅读大概需要15分钟

Follow小博主,每天更新前沿干货

本文者:孙培泽 |  编辑:Amusi

https://zhuanlan.zhihu.com/p/331590601

本文已由原作者授权,不得擅自二次转载

本文主要介绍一下我们最近的工作:

OneNet: End-to-End One-Stage Object Detection

论文:https://peizesun.github.io/OneNet.pdf

项目代码:https://github.com/PeizeSun/OneNet

我们提出了OneNet,首次实现了在dense detector中无需Non-Maximum Suppression(NMS)后处理。OneNet的样本匹配策略是one-to-one,即一个gt一个正样本,其他都是负样本;正样本是所有样本中和gt的cost最小的样本,cost定义为样本与gt的分类cost(loss)和定位cost(loss)之和。我们发现,分类cost是去除NMS的关键;而回顾之前的dense detector样本匹配策略,都是只有定位cost,导致冗余的高分检测框,如box IoU(e.g.,YOLO, RetinaNet), point distance(e.g.,FCOS, CenterNet)。OneNet在标准的COCO benchmark上使用ResNet-50 单模型达到了35.0 AP和 67 FPS。

1. 简介

现有的end-to-end的目标检测模型都是two-stage或者multiple-stage。这些模型的检测性能很好,但是one-stage在工业应用中有着更大的潜力。我们提出了OneNet:end-to-end one-stage object detector。OneNet的优势是:

  • 整个网络是全卷积的。

  • 无需Non-Maximum Suppression(NMS)后处理或者self-attention模块。

  • 样本匹配策略是简单的Minimum Cost,无需启发式规则或者复杂的最优二分匹配。

cost定义为样本与gt的classification cost(loss)和location cost(loss)之和。我们发现,classification cost是实现end-to-end的关键。而回顾之前的dense detector样本匹配策略,都是只有定位cost,如box IoU(e.g.,YOLO, RetinaNet), point distance(e.g.,FCOS, CenterNet)。只有定位cost的样本匹配策略会导致冗余的高分检测框(图2),需要NMS后处理去除这些冗余框。

2. OneNet

输入图片(H×W×3),backbone产生feature map(H/4×W/4×C),head预测分类(H/4×W/4×K)和回归(H/4×W/4×4), 最后的输出直接取top-k高分框。

图1 OneNet pipeline

Backbone: Backbone是先bottom-up再top-down的结构。其中,bottom-up结构是resnet,top-down结构是FPN。我们实现了两种FPN,一种是上采样中引入deformable conv,为了追求较高检测精度;一种是普通conv,方便工业部署。

Head: Head是两个并行的conv,分类conv预测类别,回归conv预测到物体框的4个边界的距离。

Output: 直接取top-k高分框,没有NMS,也没有类似CenterNet中max-pooling的操作。

样本匹配策略:OneNet的样本匹配策略是一种基于minimum cost的异常简单的方法,没有启发式规则,也没有最优二分匹配。cost定义为样本与gt的classification cost(loss)和location cost(loss)之和,具体定义是:

L_cls是分类focal loss, L_l1和L_giou是预测框和gt框归一化后的l1 loss和giou loss。lambda是系数。

对每个gt,正样本是和gt的cost最小的样本,其他都是负样本。伪代码:

# C is cost matrix, shape of (nr_sample, nr_gt)
C = cost_class + cost_l1 + cost_giou# Minimum cost, src_ind is index of positive sample
_, src_ind = torch.min(C, dim=0)
tgt_ind = torch.arange(nr_gt)indices.append((src_ind, tgt_ind))

3. 实验

表1 Ablation studies on matching cost and NMS.

表1中的4个实验都是one-to-one的样本匹配策略。其中第一个实验的location cost是feature map中point的位置到物体gt center的位置的距离(可以理解为CenterNet只有高斯极值点为1,其他都是0)。

从表1可以看出,classification cost是去掉NMS的关键。而回想绝大多数的样本匹配策略,如,box IoU,point distance,都是只考虑了location cost。第三个实验如此拉胯的原因可能是因为predicted box是变化的,会导致正负样本来回横跳,训练低效。

图2给出了4个实验的可视化图,可以看到,没有classification cost的模型会预测出冗余的高分检测框,需要NMS后处理来去除这些冗余框。而引入classification cost的模型消除了冗余框。

图2 表1中的4个对比实验的可视化图

4. 讨论

一年前,在anchor-free和label assignment的那波研究中,曾经考虑过one-to-one的样本匹配策略,表1第一行的实验也做过了,性能也是只有AP 20+(加上NMS 30+)。当时自我解释的原因是:某一位置如果分类是1,那么这一位置的周围位置很难突变成0。e2e one-stage也一直没有做work。

最近DETR出现了,在样本匹配中同时考虑location cost和classification cost,成功做出了e2e two-stage(multiple-stage)。这给人启发e2e one-stage是不是也需要引入classification cost。表1第一行的实验简单地加上classification cost(即表1第二行实验)竟然神奇地work了!甚至optimal bipartite matching也不需要,直接全图找最小cost的样本就行。可能optimal bipartite matching也可以做,但是在dense detector中太慢了。

我们的实验结论提出了很多较为本质的问题:为什么引入classification cost能够使得相邻的feature map points的分类发生突变?样本之间的交互(例如self-attetion)对于e2e是否必须?这些问题都值得后续深入研究。

OneNet 论文和项目代码下载

后台回复:OneNet,即可下载上述论文PDF和项目源代码

重磅!DLer-目标检测交流群已成立!

为了能给大家提供一个更好的交流学习平台!针对特定研究方向,我建立了目标检测微信交流群,本群旨在交流目标检测、密集人群检测、关键点检测、人脸检测、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如目标检测+上交+小明

广告商、博主请绕道!

???? 长按识别,即可进群!

香港大学提出OneNet:一阶段端到端目标检测网络,无需NMS!无需二分匹配!相关推荐

  1. 哈尔滨工业大学提出 RISTDnet:强鲁棒性的红外小目标检测网络

    哈工大提出***RISTDnet***:强鲁棒性的红外小目标检测网络 RISTDnet: Robust Infrared Small Target Detection Network 作者单位:哈尔滨 ...

  2. 丢弃Transformer!旷视和西安交大提出基于FCN的端到端目标检测网络

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 本文作者:王剑锋  | 编辑:Amusi https://zhuanlan.zhihu.com ...

  3. 移动端实时3D目标检测,谷歌开源出品,安卓下载就能用

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :机器之心 AI博士笔记系列 ...

  4. 两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud

    本文介绍一篇两阶段的3D目标检测网络:SIENet. 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Informatio ...

  5. 详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection

    本文介绍一篇两阶段的3D目标检测网络:Voxel R-CNN,论文已收录于AAAI 2021. 这里重点是理解本文提出的 Voxel RoI pooling. 论文链接为:https://arxiv. ...

  6. RefineDetLite:腾讯提出轻量级高精度目标检测网络

    点击我爱计算机视觉标星,更快获取CVML新技术 前几天腾讯公布了一篇论文RefineDetLite: A Lightweight One-stage Object Detection Framewor ...

  7. 详解两阶段3D目标检测网络PVRCNN:Point-Voxel Feature Set Abstraction for 3D Object Detection

    在<动手学无人驾驶(4):基于激光雷达点云数据3D目标检测>一文中介绍了3D目标检测网络PointRCNN.今天介绍该作者新提出的3D检测模型:PVRCNN,论文已收录于CVPR2020. ...

  8. ICCV2019 | 旷视提出轻量级目标检测网络ThunderNet

    ICCV2019 | 旷视提出轻量级目标检测网络ThunderNet 本文作者:Liyang 作者学校:复旦大学 论文地址:https://arxiv.org/pdf/1903.11752.pdf 源 ...

  9. 无NMS SOTA!DATE:端到端全卷积目标检测的双重分配

    作者 | 小书童 编辑 | 集智书童 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[目标检测]技术交流群 后台回复[2D检测综述]获 ...

最新文章

  1. 【学习笔记】超简单的多项式开方
  2. 如何实现一个元素居中
  3. 如何在阿里云上使用Data Lake Analytics分析Table Store数据
  4. 04-java学习-选择结构
  5. 腾讯工作心得:原型该画到什么程度?
  6. VTK:图片之ResizeImage
  7. 2018--20179215--《文献管理与信息分析》第三讲 英文数据库资源的发展趋势和利用...
  8. 现代软件工程 作业 3 团队作业
  9. 2、使用Spring框架能带来哪些好处
  10. SpringCloud 从菜鸟到大牛之七 服务网关 Zuul API网关等等
  11. [转载] Python面向对象编程系列第一篇
  12. python 打印数组_python打印数组的全部元素 | 学步园
  13. 小白新手web开发简单总结(三)-一个简单的Web开发项目
  14. 11月4日绿健简报,星期五,农历十月十一
  15. 解释缩写词在html中的标记写法是,abbr:HTML5中缩略词标记的重要作用
  16. tnl分析笔记之 CORBA 与假装自己是 CORBA
  17. Ajax 与异步数据传输
  18. C语言中lwr是谁的缩写,C语言中关于字符串的操作(转)
  19. ES6 对象的解构赋值
  20. 【Ubuntu安装后基本配置】

热门文章

  1. 【原创】Github团队协作之Pull请求
  2. object-c中的继承
  3. 一个bug隐藏了另外一个bug,reloaddata,
  4. 利用kickstart实现pxe自动安装linux
  5. 获取用户的IP地址的三个属性的区别
  6. Battle for Wesnoth 1.8.4,开源战斗游戏
  7. [转]软件项目版本号的命名规则及格式
  8. 如何从阿里云Code升级至Codeup
  9. python 中遍历表时候,当指定的表的长度超过实际长度时候,实际遍历的长度以表实际长度为准,不会发生越界,如下
  10. C++中 何时用. 何时用-」