点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者:包小张 | 来源:知乎

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

本文仅做学术分享,如有侵权,请联系删除。

伴随着自动驾驶科技的飞速发展和激光雷达的普及,3D目标检测近年来逐渐成为业界和学术界的研究热点。然而,目前在3D目标检测领域却不像2D目标检测那样,有着像MMDetection这样简单通用的代码库和benchmark。所以,我们决定发布MMDetection3D(简称MMDet3D)来弥补这一空白。今天,很高兴MMDetection3D 和大家见面了,希望大家喜欢。

太长不看版:

    ·MMDetection3D 支持了VoteNet, MVXNet, Part-A2,PointPillars等多种算法,覆盖了单模态和多模态检测,室内和室外场景SOTA; 还可以直接使用训练MMDetection里面的所有300+模型和40+算法,支持算法的数量和覆盖方向为3D检测代码库之最。

  ·MMDetection3D 支持了SUN RGB-D, ScanNet, nuScenes, Lyft, 和KITTI共5个主流数据集,支持的数据集数量为3D检测代码库之最。

 ·MMDetection3D 拥有最快的训练速度,支持pip install一键安装,简单易用。

下面简单介绍下 MMDetection3D,更具体的细节见文档:https://mmdetection3d.readthedocs.io/en/latest/。

支持多模态/单模态3D检测

3D检测领域的多套codebase大多聚焦在基于点云的单模态检测上,而多模态检测的代码库也不怎么支持单模态的检测。由于多模态3D检测任务的重要性愈发凸显,我们在MMDetection3D里面支持了多模态(图像+点云)的3D检测,目前已经支持了MVX-Net在KITTI 上的模型。从此,新的工作可以基于MMDetection3D和其他单模态或者多模态方法进行直接的比较,减轻了不少codebase迁移和文章复现等带来的负担。

支持室内/室外主流数据集

由于室内和室外3D检测数据集的差异性,一直以来很少有工作会同时在这两类数据集上进行实验和比较,因此目前也没有codebase能较好地同时支持室内外的数据集及相关方法。MMDetection3D目前支持了ScanNet和SUNRGBD两个主流室内数据集,还同时支持了KITTI,nuScenes和Lyft三个室外数据集。在模型层面,我们复现了VoteNet(https://arxiv.org/abs/1904.09664 )这一室内数据集中的state of the art,以及PartA2-Net(https://arxiv.org/abs/1907.03670),PointPillars(https://arxiv.org/abs/1812.05784 )等室外数据集中的常见方法。MMDetection3D将室内外数据集的预处理流程抽象成了一套data pipeline,同时在模型层面已经实现了部分model是与坐标系无关的。我们的目标是以后新的工作可以较轻松地同时在室内和室外数据集上进行试验和比较,以验证方法的普适性并提高其影响力。

直接支持MMDetection的model zoo

目前,还没有哪套3D检测的codebase可以直接在自己的codebase里支持2D检测的SOTA,但MMDetection3D 就做到了这一点。MMDetection3D基于MMDetection和MMCV,使用了和MMDetection一致的外层API并直接使用了很多MMDetection的代码(例如,训练相关的hook都实现在MMCV里面了,而train_detector等函数因为都是检测所以MMDetection3D 压根不用写),所以只要有正确的config文件, MMDetection model zoo里的300+模型和40+算法都可以在MMDetection3D里面正常使用(考虑到MMDetection不支持3D检测,MMDetection3D支持的模型和算法其实比MMDetection多,MMDetection3D可以claim是目前圈内最大、最全的检测算法库了嗯…)。

这样带来的好处有至少以下两点:

1、以后大家要尝试多模态的检测算法可以复用几乎所有MMDetection里的2D检测器和实例分割模型,选项多多,排列组合多多。

2、MMDetection和MMCV里实现了很多通用的模块,如GCBlock,DCN,FPN,FocalLoss等,也可以直接在MMDetection3D里面拿来使用(现在就是这么做的),减小了2D检测和3D检测之间的gap。也欢迎大家以后在尝试新的通用检测技术时(如Loss,神经网络模块等)可以来MMDetection3D里试一锤子,说不定也是work的,这样实验也会更加solid。

最快的训练速度

我们和已开源的多个3D检测代码库都进行了比较,在VoteNet,SECOND,PointPillars等模型上的训练速度都比其他代码库要快。在8卡分布式训练并使用相同超参的情况下,训练速度(样本数/秒)的对比如下图;其他codebase中不支持的对应模型我们就打了x。

简单易用

除了上述优势以外,由于MMDetection3D的实现基于MMDetection,设计上的思路也是一脉相承,比如config系统和MMDetection一致,modular design等也像MMDetection一样是codebase的标配,大家要上手MMDetection3D应该都很简单。MMDetection3D也支持像MMDetection 或者detectron2那样作为一个package来使用,因此也方便大家基于MMDetection3D 快速启动一个新的project。直接 pip install mmdet3d 就可以安装最新release 的MMDetection3D,在新的project里面直接 import mmdet3d 就可以轻松使用mmdet3d 的所有功能。

MMDetection3D在工程上也做了不少优化。众所周知,最初的SECOND.Pytorch在Target assign等方面都使用NumPy算子,并且将很多运算放进了Dataloader里面,既不高效也不灵活。MMDetection3D直接使用了MMDetection里的assigner等模块(是的,MMDetection3D并不需要实现这些函数),基于PyTorch将这些复杂的计算放到了CUDA上进行,这大概也是MMDetection3D更快的原因。在其他codebase中,安装spconv也时常是一大障碍,现在spconv也被直接集成进了MMDetection3D的自定义算子里,使得MMDetection3D的安装流程和MMDetection一样流畅。

MMDetection3D 要刷到SOTA 的方式也非常简单。比如我们在nuscenes上使用PointPillars + RegNet3.2GF + FPN + FreeAnchor + Test-time augmentation,不需要使用CBGS 或GT-sampling,只使用普通的数据增强,就能够达到NDS 65, mAP 57,是榜单上LiDAR单模态单模型第一的结果。这个模型在release的时候就在我们的 model zoo 里:https://github.com/open-mmlab/mmdetection3d/tree/master/configs/free_anchor

总结:

MMDetection3D填补了目前3D检测领域codebase的一些空白,支持多种多模态/单模态检测器和室内/室外数据集SOTA,为community未来的free style提供了一个强大易用的codebase。欢迎大家前来fork,star,体验,开发,提PR。

推荐阅读:

  • 专辑|相机标定

  • 专辑|3D点云

  • 专辑|SLAM

  • 专辑|深度学习与自动驾驶

  • 专辑|结构光

  • 专辑|事件相机

  • 专辑|OpenCV学习

  • 专辑|学习资源汇总

  • 专辑|招聘与项目对接

  • 专辑|读书笔记

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

MMDetection3D:新一代通用3D目标检测平台相关推荐

  1. Det3D - 首个通用 3D 目标检测框架

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者授权转载,请勿二次转载. (原文链接:https://zhuanlan.zhihu.com/p/101346137) 背景介绍 ...

  2. 【利用MMdetection3D框架进行单目3D目标检测(smoke算法】

    利用MMdetection3D框架进行3D目标检测(smoke算法) 1.mmdetection3d 2.mmdetection3d安装 2.1 依赖 3.进行单目3D目标检测 1.mmdetecti ...

  3. 【mmdetection3d】——3D 目标检测 NuScenes 数据集

    3D 目标检测 NuScenes 数据集 本页提供了有关在 MMDetection3D 中使用 nuScenes 数据集的具体教程. 准备之前 您可以在这里下载 nuScenes 3D 检测数据并解压 ...

  4. MMdetection3d环境搭建、使用MMdetection3d做3D目标检测训练自己的数据集、测试、可视化,以及常见的错误

    MMdetection3d环境搭建.使用MMdetection3d做3D目标检测训练自己的数据集.测试.可视化,以及常见的错误 1 mmdetection3d环境搭建与测试 1.1 从docker开始 ...

  5. 3D目标检测框架综述(OpenPCDet、mmdet3d、Det3D、Paddle3D)

    作者 | 双愚  编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/569189196 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干 ...

  6. 无人驾驶中的 3D 目标检测技术

    2020 年 2 月 12 日 14:33 随着全球科技的飞速发展,无论是汽车行业还是其他的各行各业,紧跟时代脚步的重要性都是不容置疑的.近年来,自动驾驶汽车得到了很高的关注,但是理想和现实的差距却犹 ...

  7. 3D目标检测学习笔记

    博主初学3D目标检测,此前没有相关学习背景,小白一枚-现阶段的学习重点是点云相关的3D检测. 本文是阅读文章:3D Object Detection for Autonomous Driving: A ...

  8. 点云 3D 目标检测 - VoxelNet(CVPR 2018)

    点云 3D 目标检测 - VoxelNet(CVPR 2018) 摘要 1. 引言 1.1 相关工作 1.2 贡献 2. VoxelNet 2.1 VoxelNet架构 2.1.1 特征学习网络 2. ...

  9. 基于激光雷达点云的3D目标检测算法论文总结

    作者丨eyesighting@知乎 来源丨https://zhuanlan.zhihu.com/p/508859024 编辑丨3D视觉工坊 前言  过去很多年激光雷达的车规标准和高昂价格是阻碍其量产落 ...

最新文章

  1. 7. PowerShell -- Provider,数据操作和注册表操作
  2. react textarea 空格为什么不换行_React 怎么实现预防XSS 攻击的
  3. Qt控制中控考勤SDK
  4. .net core引用错误的Entity Framework而导致不能正常迁移数据的解决办法
  5. JMS 2.0中JMSContext的类型
  6. Linux 退出vi编辑模式
  7. PyTorch框架学习三——张量操作
  8. WeakHashMap理解
  9. 在Python程序中设置函数最大递归深度
  10. C# 根据文本设置combobox的两种方法
  11. oracle查询空的时间,ORACLE 查看用户密码修改时间
  12. 前端开发——模块化(html模块化开发)
  13. 使用Axure RP原型设计实践03,制作一个登录界面的原型
  14. CAD学习笔记中级课【模板样式】
  15. linux+psp+模拟器下载,PSP1.5模拟器全教程+最新版本下载(最终版)
  16. 189邮箱报404错误
  17. CF342E Xenia and Tree
  18. mysql 授权root帐号可以远程访问,导入sql文件,登录mysql用root帐号,设置密码
  19. 小米微信自动加好友appium
  20. LogicFlow自定义业务节点

热门文章

  1. 在虚拟机中安装Ubuntu Server 15.04
  2. [算法也疯狂]实现假装商品抢购繁忙的效果(php版)
  3. linux 编程笔记1 crusher for linux
  4. leangoo敏捷工具卡片关联上线
  5. 阿里二面:为什么要分库分表?
  6. 日10亿级处理,基于云的微服务架构
  7. 看源码,我为什么推荐IDEA?
  8. 平时的你VS面试的你
  9. 都 2020 年了,这些 OKR 的坑你还要踩吗?
  10. 【硅谷牛仔】Facebook最初的CEO肖恩帕克