MMDetection3D:新一代通用3D目标检测平台

点击上方“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。

推荐阅读:

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

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

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

▲长按加微信群或投稿

▲长按关注公众号

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

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

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

3D视觉工坊 CSDN认证博客专家 算法 3D视觉
个人公众号:3D视觉工坊。公众号特邀嘉宾及合伙人,先后就职于国内知名研究机构、自动驾驶公司、海康研究院,主要研究方向为深度学习、目标检测、语义分割、图像处理、自动驾驶感知算法等,CSDN博客专家。博主先后任职于国内知名研究院、知名大厂,致力于3D视觉算法、VLAM算法开发,涉及相机标定、手眼标定、结构光、点云后处理、三维重建等相关领域的研究,同时也是CSDN博客专家。3D视觉工坊坚持原创,近一年来输出了非常多的高质量文章,获得了粉丝的一致好评,我们将始终坚持走原创路线,打造一个铁杆粉丝的聚集区。
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值