
人工智能计算机视觉深度学习自动驾驶【免费下载链接】mmdetection3dOpenMMLabs next-generation platform for general 3D object detection.项目地址https://gitcode.com/gh_mirrors/mm/mmdetection3d点击查看免费下载MMDetection3D 是 OpenMMLab 旗下的新一代通用 3D 目标检测开源工具箱基于 PyTorch 构建为多模态/单模态 3D 检测、室内外点云语义分割等任务提供统一的训练、测试与部署体系。本文以仓库根目录的 README_zh-CN.md 为骨架结合 mmdet3d 源码与 configs 配置系统梳理其核心特性、版本演进、模型/主干网络支持矩阵、安装与训练测试实战帮助读者快速建立从环境搭建到模型上手的完整认知。一、项目定位与核心特性1.1 什么是 MMDetection3DMMDetection3D 是一个基于 PyTorch 的目标检测开源工具箱是 OpenMMLab 生态的一部分定位为下一代面向 3D 检测的平台。其主分支代码支持 PyTorch 1.8 以上的版本当前仓库版本为v1.4.0见 mmdet3d/version.py。与 MMDetection、MMCV 等 OpenMMLab 家族项目一样MMDetection3D 既可以作为开箱即用的训练/推理工具箱也可以作为一个库去支持各式各样的自定义项目——projects目录下的 BEVFusion、PETR、DETR3D、TPVFormer、CenterFormer、CENet、DSVT、NeRF-Det、TR3D 等即为社区在统一注册体系下扩展的算法工程。1.2 四大核心特性从 README 的主要特性一节可以提炼出项目的四个关键能力支持多模态/单模态检测器涵盖激光雷达单模态如 PointPillars、SECOND与视觉-激光雷达多模态如 MVXNet等多类模型对应实现位于 mmdet3d/models/detectors支持室内/室外数据集覆盖 ScanNet、SUN RGB-D、Waymo、nuScenes、Lyft、KITTI 等主流 3D 检测数据集同时对 nuScenes 数据集还提供 nuImages 2D 检测支持见 configs/nuimages各数据集的处理逻辑可分别对照 mmdet3d/datasets 下的kitti_dataset.py、nuscenes_dataset.py、waymo_dataset.py等实现与 2D 检测器的自然整合MMDetection 支持的300 个模型、40 论文算法及其相关模块都可以在本代码库中训练或使用2D 与 3D 组件通过统一的注册机制无缝组合性能高README 给出了训练吞吐每秒训练样本数越高越好对比表并注明更多细节见docs/zh_cn/notes/benchmarks.md。方法MMDetection3DOpenPCDetvotenetDet3DVoteNet358✗77✗PointPillars-car141✗✗140PointPillars-3class10744✗✗SECOND4030✗✗Part-A21714✗✗上表为 README 公布的训练吞吐对比其他代码库不支持的模型标记为✗该数据以docs/zh_cn/notes/benchmarks.md中的基准测评文档为准。二、版本演进与最新进展README 记录了近几个版本的功能里程碑这些变化都可以在当前仓库结构中找到对应实现v1.4.02024.1.8 发布在projects中支持 DSVT支持 NeRF-Det重构了 Waymo 数据集加速 Waymo 数据集的预处理、训练/测试启动与验证速度并在 Waymo 上拓展对单目/BEV 等基于相机的三维目标检测模型的支持同时提供 Waymo-mini 数据子集方便社区快速上手迭代。v1.3.02023.10.18 发布在projects中支持 CENet 下的LidarDet3DInferencer、MonoDet3DInferencer、MultiModalityDet3DInferencer等。v1.2.02023.7.4 发布在mmdet3d/configs中支持纯 Python 风格的新 Config 样式在projects中支持 DSVT 的推理支持通过mim从 OpenDataLab 下载数据集。v1.1.12023.5.30 发布在projects中支持 TPVFormer 与 BEVFusion 训练并支持基于激光雷达的 3D 语义分割基准。说明以上版本信息及论文链接均摘自 README_zh-CN.md 原文具体变更细节以 docs/zh_cn/notes/changelog.md 为准。三、模型库全景主干网络、检测头与算法模型3.1 模块组件MMDetection3D 采用主干网络 检测头 特性模块的组件化设计README 汇总了如下模块均可点击对应configs目录查看配置主干网络PointNet / PointNetCVPR/NeurIPS2017、RegNetCVPR2020、DGCNNTOG2019、DLACVPR2018、MinkResNetCVPR2019、MinkUNetCVPR2019、Cylinder3DCVPR2021检测头FreeAnchorNeurIPS2019特性模块Dynamic VoxelizationCoRL2019。这些组件的源码实现分布在 mmdet3d/models/backbones、mmdet3d/models/dense_heads 与 mmdet3d/models/middle_encoders 等目录例如second.pySECOND 稀疏卷积主干、pointnet2_sa_msg.pyPointNet 多尺度分组、centerpoint_head.pyCenterPoint 中心点头等。3.2 算法模型全景README 将算法模型按任务划分为四类括号内为论文出处每类在configs或projects下均有完整配置激光雷达 3D 目标检测室外SECONDSensor2018、PointPillarsCVPR2019、SSNECCV2020、3DSSDCVPR2020、SA-SSDCVPR2020、PointRCNNCVPR2019、Part-A2TPAMI2020、CenterPointCVPR2021、PV-RCNNCVPR2020、CenterFormerECCV2022室内VoteNetICCV2019、H3DNetECCV2020、Group-Free-3DICCV2021、FCAF3DECCV2022、TR3DArXiv2023。相机 3D 目标检测室外ImVoxelNetWACV2022、SMOKECVPRW2020、FCOS3DICCVW2021、PGDCoRL2021、MonoFlexCVPR2021、DETR3DCoRL2021、PETRECCV2022室内同样由 ImVoxelNet 覆盖。多模态 3D 目标检测室外 MVXNetICRA2019、BEVFusionICRA2023室内 ImVoteNetCVPR2020。3D 语义分割室外 MinkUNetCVPR2019、SPVCNNECCV2020、Cylinder3DCVPR2021、TPVFormerCVPR2023室内 PointNetNeurIPS2017、PAConvCVPR2021、DGCNNTOG2019。3.3 主干网络 × 算法模型兼容矩阵README 还给出了一张主干网络与算法模型的匹配表可帮助用户判断某个算法能否更换某个主干。其核心结论包括SECOND、PointPillars、Part-A2、CenterPoint、PV-RCNN、CenterFormer、MVXNet 等均基于 SECOND 稀疏卷积主干VoteNet、H3DNet、3DSSD、PointNet、Group-Free-3D、PAConv、ImVoteNet 基于 PointNetRegNetX 支撑 PointPillars、FreeAnchor、SSNDLA 支撑 SMOKE、MonoFlexFCAF3D、TR3D 使用 Cylinder3D 主干MinkUNet、SPVCNN 使用 MinkUNet 主干BEVFusion 组合了 Swin-T 与 SECOND 主干DETR3D/PETR 使用 ResNet/VoVNetTPVFormer 使用 ResNet。完整匹配关系可查看 README_zh-CN.md 中的矩阵表。四、安装与环境要求4.1 安装入口README 指向 docs/zh_cn/get_started.md 快速入门文档完成安装。从源码侧看安装依赖分两类顶层 requirements.txt 递归引入 requirements/runtime.txt、requirements/optional.txt、requirements/tests.txt 等其中 runtime 依赖包括lyft_dataset_sdk、nuscenes-devkit、networkx、numba、open3d、plyfile、scikit-image、tensorboard、trimesh等数据集工具链与可视化库。关键版本约束写在 mmdet3d/init.py 中需要MMCV 2.0.0rc4 且 2.2.0、MMEngine 0.8.0 且 1.0.0、MMDet 3.0.0rc5 且 3.4.0导入时会直接断言校验版本不匹配会抛出明确的兼容性提示。说明主分支代码要求 PyTorch 1.8 以上具体到不同 CUDA 环境的安装细节如源码编译、mim 安装方式请以快速入门文档为准。4.2 依赖体系MMDetection3D 的运行时核心是 OpenMMLab 的 MMEngine训练引擎与 MMCVCV 基础库2D 检测能力复用 MMDetection。项目在 mmdet3d/registry.py 中声明了 17 个注册节点RUNNERS、LOOPS、HOOKS、DATASETS、TRANSFORMS、MODELS、METRICS、VISUALIZERS、INFERENCERS 等全部以 MMEngine 根注册表为父节点从而保证跨项目复用模块例如projects/BEVFusion等外部项目只需按注册规范实现模块即可被统一配置系统识别。五、教程体系与学习路线README 以用户指南 进阶教程两层结构组织学习资源在线文档链接见原文仓库内对应源码与文档路径如下用户指南训练、测试与数据学习配置文件理解基于 MMEngine 的纯 Python 配置体系坐标系3D 任务中 LIDAR/CAMERA/DEPTH 坐标系约定数据预处理 与 自定义数据预处理流程在标注数据集上测试和训练 与 推理在自定义数据集上进行训练实用工具如 tools/misc/browse_dataset.py 数据集可视化、tools/analysis_tools/get_flops.py 计算量统计等。进阶教程数据集与任务数据集专项KITTI、nuScenes、Lyft、Waymo、SUN RGB-D、ScanNet、S3DIS、SemanticKITTI任务专项基于激光雷达的 3D 检测、基于视觉的 3D 检测、基于激光雷达的 3D 语义分割自定义自定义数据集、自定义模型、自定义运行时配置customize_dataset.md、customize_models.md、customize_runtime.md。注意README 中指向的在线文档链接readthedocs均对应仓库内docs/zh_cn下的同名文档以上已转换为仓库根目录相对路径便于离线查阅。六、训练、测试与推理实战6.1 训练入口与常用参数训练统一入口为 tools/train.py基于 MMEngine 的Runner构建并执行训练循环支持以下关键命令行参数参数定义见 tools/train.py参数说明config训练配置文件路径必填--work-dir日志与模型保存目录缺省时使用./work_dirs/配置文件名--amp开启自动混合精度训练要求optim_wrapper.type为OptimWrapper开启后切换为AmpOptimWrapper并设loss_scaledynamic--resume断点续训--resumeauto 语义自动从 work_dir 最新 checkpoint 恢复--resume 路径指定 checkpoint--cfg-options以xxxyyy键值对覆盖配置中的任意参数--launcher分布式启动方式none/pytorch/slurm/mpi--sync_bn将 BatchNorm 转为 SyncBNtorch或mmcv实现--auto-scale-lr启用自动学习率缩放需配置中提供auto_scale_lr.base_batch_size单卡训练示例python tools/train.py configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py --work-dir ./work_dirs/pp_kitti_car多卡训练使用 tools/dist_train.sh参数顺序为配置、GPU 数量其余参数透传bash tools/dist_train.sh configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py 86.2 测试入口与可视化测试入口为 tools/test.py必填参数为config与checkpoint并支持--tta测试时增强、--show在线可视化、--show-dir保存可视化结果、--score-thr得分阈值默认 0.1与--task等参数。--task可选值包括mono_det、multi-view_det、lidar_det、lidar_seg、multi-modality_det用于决定可视化方式若使用可视化配置中必须包含VisualizationHooktools/test.py 会对其进行校验与配置。python tools/test.py configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py \ ./work_dirs/pp_kitti_car/epoch_160.pth \ --show-dir ./results --task lidar_det6.3 推理演示脚本demo目录提供了四类开箱即用的推理脚本pcd_demo.py点云文件 3D 检测内部调用LidarDet3DInferencermono_det_demo.py单目图像 3D 检测multi_modality_demo.py多模态图像 点云检测pcd_seg_demo.py点云语义分割。以点云检测为例参数解析见 demo/pcd_demo.pypython demo/pcd_demo.py demo/data/kitti/kitti_000008.bin \ configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py \ ./checkpoints/pointpillars_kitti_car.pth \ --pred-score-thr 0.3 --out-dir ./outputs其中LidarDet3DInferencermmdet3d/apis/inferencers/lidar_det3d_inferencer.py注册名为det3d-lidar支持传入配置文件路径或 metafile 中定义的模型名内部通过 MMEngine 的Compose构建测试数据流水线输出预测结果并调用可视化后端保存结果。6.4 以一个 KITTI 配置为例理解配置结构以 configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py 为例该配置继承 3 分类版本并针对 Car 单类调整核心片段如下dataset_type KittiDataset data_root data/kitti/ class_names [Car] metainfo dict(classesclass_names) point_cloud_range [0, -39.68, -3, 69.12, 39.68, 1] model dict( bbox_headdict( typeAnchor3DHead, num_classes1, anchor_generatordict( _delete_True, typeAlignedAnchor3DRangeGenerator, ranges[[0, -39.68, -1.78, 69.12, 39.68, -1.78]], sizes[[3.9, 1.6, 1.56]], # Car 的先验框尺寸 (长,宽,高) rotations[0, 1.57], # 0 与 90 度两个朝向 reshape_outTrue)), train_cfgdict( _delete_True, assignerdict( typeMax3DIoUAssigner, iou_calculatordict(typeBboxOverlapsNearest3D), pos_iou_thr0.6, neg_iou_thr0.45, min_pos_iou0.45)))其中_delete_True表示在继承基础上删除并替换父配置的同名项训练流水线由LoadPointsFromFileLIDAR 坐标、加载 4 维点特征→LoadAnnotations3D→ObjectSampleGT 数据库采样增广Car 类过滤最少 5 点、单帧最多采样 15 个物体→RandomFlip3D→GlobalRotScaleTrans旋转 ±45°、尺度 0.95~1.05→ 范围过滤 →PointShuffle→Pack3DDetInputs组成测试流水线则使用MultiScaleFlipAug3D包裹。db_sampler指向kitti_dbinfos_train.pkl数据库信息文件相关构建脚本见 tools/dataset_converters/create_gt_database.py。七、模型库、常见问题与社区模型库与基准测试结果与预训练模型可在 docs/zh_cn/model_zoo.md 与仓库根目录的 model-index.yml、各configs/*/metafile.yml中查找每个算法目录如 configs/pointpillars都自带 README 与 metafile记录精度、训练时长与权重下载地址。常见问题见 docs/zh_cn/notes/faq.md。贡献指南参与贡献请参考 docs/en/notes/contribution_guides.md。开源许可证项目采用 Apache 2.0若在研究中引用可使用 README 提供的 BibTeXmisc{mmdet3d2020, title{{MMDetection3D: OpenMMLab} next-generation platform for general {3D} object detection}, author{MMDetection3D Contributors}, year{2020} }OpenMMLab 生态MMDetection3D 与 MMEngine、MMCV、MMEval、MIM、MMDetection、MMSegmentation、MMDeploy 等十余个工具箱共同构成 OpenMMLab 体系其中 MIM 是统一的项目、算法与模型入口可用于安装与模型管理。八、总结MMDetection3D v1.4.0 已形成室内外多数据集 激光雷达/相机/多模态多任务 300 2D 模型复用 统一注册体系 完整训练测试工具链的成熟平台形态。对开发者而言最直接的上手路径是先按 docs/zh_cn/get_started.md 完成环境安装选择一个目标数据集如 KITTI与代表模型如 PointPillars、CenterPoint、SECOND从 configs 中选取对应配置启动 tools/train.py 训练再通过 tools/test.py 与 demo 脚本完成评估与推理验证最后在projects中扩展或复用自己的算法。赞分享人工智能计算机视觉深度学习自动驾驶【免费下载链接】mmdetection3dOpenMMLabs next-generation platform for general 3D object detection.项目地址https://gitcode.com/gh_mirrors/mm/mmdetection3d点击查看免费下载相关推荐MMDetection3D终极指南如何用下一代3D目标检测平台加速AI开发MMDetection3D终极指南如何用下一代3D目标检测平台加速AI开发 MMDetection3D是OpenMMLab推出的下一代3D目标检测平台基于P人工智能计算机视觉深度学习自动驾驶MMDetection 架构全景OpenMMLab 目标检测工具箱的七大模块与实战指南MMDetection 架构全景OpenMMLab 目标检测工具箱的七大模块与实战指南 导读 本文基于 MMDetection 官方概述文档系统梳理这套 O人工智能计算机视觉深度学习模型评测mmdetection3d 中 Group-Free 3D 检测器全解析基于 Transformer 的无分组点云 3D 目标检测mmdetection3d 中 Group Free 3D 检测器全解析基于 Transformer 的无分组点云 3D 目标检测 Group Free 3D人工智能计算机视觉深度学习自动驾驶上一篇异步MongoDB之旅探索AsyncMongo的强大魅力下一篇Catarse开源众筹平台的领航者创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考