Skip to main content

English | 简体中文

Introduction

MMDetection3D is an open source object detection toolbox based on PyTorch, towards the next-generation platform for general 3D detection. It is a part of the OpenMMLab project.

The main branch works with PyTorch 1.8+.

demo image

Major features
  • Support multi-modality/single-modality detectors out of box

    It directly supports multi-modality/single-modality detectors including MVXNet, VoteNet, PointPillars, etc.

  • Support indoor/outdoor 3D detection out of box

    It directly supports popular indoor and outdoor 3D detection datasets, including ScanNet, SUNRGB-D, Waymo, nuScenes, Lyft, and KITTI. For nuScenes dataset, we also support nuImages dataset.

  • Natural integration with 2D detection

    All the about 300+ models, methods of 40+ papers, and modules supported in MMDetection can be trained or used in this codebase.

  • High efficiency

    It trains faster than other codebases. The main results are as below. Details can be found in benchmark.md. We compare the number of samples trained per second (the higher, the better). The models that are not supported by other codebases are marked by ✗.

    Methods MMDetection3D OpenPCDet votenet Det3D
    VoteNet 358 ✗ 77 ✗
    PointPillars-car 141 ✗ ✗ 140
    PointPillars-3class 107 44 ✗ ✗
    SECOND 40 30 ✗ ✗
    Part-A2 17 14 ✗ ✗

Like MMDetection and MMCV, MMDetection3D can also be used as a library to support different projects on top of it.

What's New

Highlight

In version 1.4, MMDetecion3D refactors the Waymo dataset and accelerates the preprocessing, training/testing setup, and evaluation of Waymo dataset. We also extends the support for camera-based, such as Monocular and BEV, 3D object detection models on Waymo. A detailed description of the Waymo data information is provided here.

Besides, in version 1.4, MMDetection3D provides Waymo-mini to help community users get started with Waymo and use it for quick iterative development.

v1.4.0 was released in 8/1/2024:

  • Support the training of DSVT in projects
  • Support Nerf-Det in projects
  • Refactor Waymo dataset

v1.3.0 was released in 18/10/2023:

  • Support CENet in projects
  • Enhance demos with new 3D inferencers

v1.2.0 was released in 4/7/2023

v1.1.1 was released in 30/5/2023:

  • Support TPVFormer in projects
  • Support the training of BEVFusion in projects
  • Support lidar-based 3D semantic segmentation benchmark

Installation

Please refer to Installation for installation instructions.

Getting Started

For detailed user guides and advanced guides, please refer to our documentation:

User Guides
Advanced Guides

Overview of Benchmark and Model Zoo

Results and models are available in the model zoo.

Components
Backbones Heads Features
Architectures
LiDAR-based 3D Object Detection Camera-based 3D Object Detection Multi-modal 3D Object Detection 3D Semantic Segmentation
  • Outdoor
  • Indoor
  • Outdoor
  • Indoor
  • Outdoor
  • Indoor
  • Outdoor
  • Indoor
  • ResNet VoVNet Swin-T PointNet++ SECOND DGCNN RegNetX DLA MinkResNet Cylinder3D MinkUNet
    SECOND ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    PointPillars ✗ ✗ ✗ ✗ ✓ ✗ ✓ ✗ ✗ ✗ ✗
    FreeAnchor ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗
    VoteNet ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    H3DNet ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    3DSSD ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    Part-A2 ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    MVXNet ✓ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    CenterPoint ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    SSN ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗
    ImVoteNet ✓ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    FCOS3D ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    PointNet++ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    Group-Free-3D ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    ImVoxelNet ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    PAConv ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    DGCNN ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗
    SMOKE ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗
    PGD ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    MonoFlex ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗
    SA-SSD ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    FCAF3D ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗
    PV-RCNN ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    Cylinder3D ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗
    MinkUNet ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓
    SPVCNN ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓
    BEVFusion ✗ ✗ ✓ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    CenterFormer ✗ ✗ ✗ ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗
    TR3D ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✓ ✗ ✗
    DETR3D ✓ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    PETR ✗ ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗
    TPVFormer ✓ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗

    Note: All the about 500+ models, methods of 90+ papers in 2D detection supported by MMDetection can be trained or used in this codebase.

    FAQ

    Please refer to FAQ for frequently asked questions.

    Contributing

    We appreciate all contributions to improve MMDetection3D. Please refer to CONTRIBUTING.md for the contributing guideline.

    Acknowledgement

    MMDetection3D is an open source project that is contributed by researchers and engineers from various colleges and companies. We appreciate all the contributors as well as users who give valuable feedbacks. We wish that the toolbox and benchmark could serve the growing research community by providing a flexible toolkit to reimplement existing methods and develop their own new 3D detectors.

    Citation

    If you find this project useful in your research, please consider cite:

    @misc{mmdet3d2020,
        title={{MMDetection3D: OpenMMLab} next-generation platform for general {3D} object detection},
        author={MMDetection3D Contributors},
        howpublished = {\url{https://github.com/open-mmlab/mmdetection3d}},
        year={2020}
    }
    

    License

    This project is released under the Apache 2.0 license.

    Projects in OpenMMLab

    • MMEngine: OpenMMLab foundational library for training deep learning models.
    • MMCV: OpenMMLab foundational library for computer vision.
    • MMEval: A unified evaluation library for multiple machine learning libraries.
    • MIM: MIM installs OpenMMLab packages.
    • MMPreTrain: OpenMMLab pre-training toolbox and benchmark.
    • MMDetection: OpenMMLab detection toolbox and benchmark.
    • MMDetection3D: OpenMMLab's next-generation platform for general 3D object detection.
    • MMRotate: OpenMMLab rotated object detection toolbox and benchmark.
    • MMYOLO: OpenMMLab YOLO series toolbox and benchmark.
    • MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.
    • MMOCR: OpenMMLab text detection, recognition, and understanding toolbox.
    • MMPose: OpenMMLab pose estimation toolbox and benchmark.
    • MMHuman3D: OpenMMLab 3D human parametric model toolbox and benchmark.
    • MMSelfSup: OpenMMLab self-supervised learning toolbox and benchmark.
    • MMRazor: OpenMMLab model compression toolbox and benchmark.
    • MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.
    • MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
    • MMTracking: OpenMMLab video perception toolbox and benchmark.
    • MMFlow: OpenMMLab optical flow toolbox and benchmark.
    • MMagic: OpenMMLab Advanced, Generative and Intelligent Creation toolbox.
    • MMGeneration: OpenMMLab image and video generative models toolbox.
    • MMDeploy: OpenMMLab model deployment framework.

    Metadata

    Release files for mmdet3d 1.4.0

    For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

    Source distribution (sdist)

    Source distribution for mmdet3d 1.4.0
    File Size Uploaded
    mmdet3d-1.4.0.tar.gz 634.4 kB Details

    Built distribution (wheel)

    Table of built distributions (wheels) for mmdet3d 1.4.0
    File Interpreter ABI Platform
    mmdet3d-1.4.0-py3-none-any.whl Python 3 none any Details

    Total release size: 1.7 MB

    Release files / mmdet3d-1.4.0.tar.gz

    Download URL mmdet3d-1.4.0.tar.gz
    Size 634.4 kB
    Tags Source
    SHA-256 checksum
    How to use checksums
    2c76b591edb65c3009265c9c308646ccee2ca31375b1dd3f27bd3773621c333d
    BLAKE2b-256 checksum
    How to use checksums
    13868677e0b43f27d569ca52e259f5a1dd6c4165f1554b24392a364ffe9d73c9
    Upload date
    Uploaded using Trusted Publishing?
    What is trusted publishing?
    No
    Uploaded via twine/4.0.2 CPython/3.7.17

    Release files / mmdet3d-1.4.0-py3-none-any.whl

    Download URL mmdet3d-1.4.0-py3-none-any.whl
    Size 1.0 MB
    Tags Python 3
    SHA-256 checksum
    How to use checksums
    ef5fc90ee2defff21ee76d45ef0adb8cf719ae1f19b111d0595ac0d978c5fdda
    BLAKE2b-256 checksum
    How to use checksums
    68e209b0e2c59924d408ec5c2ff721358f01a974f062463246df339e7c9e2266
    Upload date
    Uploaded using Trusted Publishing?
    What is trusted publishing?
    No
    Uploaded via twine/4.0.2 CPython/3.7.17
    Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page