1. mmdetection3d
https://mmdetection3d.readthedocs.io/
MMDetection3D 在自动驾驶领域的角色,可以用一句话概括:它是 3D 感知算法领域的"军火库"和"教科书"。
更具体地说,它在自动驾驶全栈技术(感知、规划、控制)中,统治了"环境感知(Perception)"这一环节的算法研发与验证。
为了让你透彻理解,我们可以从学术界、工业界和开发者三个视角来看它的地位:
- 学术界的"度量衡" (The Benchmark)
在 MMDetection3D 出现之前,大家发论文很混乱:有人用 TensorFlow,有人用 PyTorch,数据处理方式也不同,很难公平对比谁的算法好。
统一标准: MMDetection3D 把业界最主流的数据集(NuScenes, Waymo, KITTI)的数据接口全部统一了。
公平竞技场: 现在 CVPR/ICCV 的顶会论文,如果想证明自己的新算法(比如新的 Transformer 架构)有效,通常都必须在 MMDetection3D 的框架下跑一遍代码,和里面的基准模型(Baseline)进行 PK。
角色: 它是科研人员的通用实验台。
- 工业界的"快速原型工厂" (Rapid Prototyping)
绝大多数自动驾驶公司(尤其是国内的蔚小理、华为、大疆等相关团队),在立项研发新算法时,不会从零写代码。
起手式: 工程师通常会先 git clone mmdetection3d,利用它里面现成的 PointPillars 或 CenterPoint 等成熟模型,喂入自己的私有数据跑一下。
验证想法: 如果想尝试"多模态融合"(比如 LiDAR + 摄像头),MMDet3D 提供了现成的融合模块。如果效果好,再安排 C++ 团队进行工程化重写。
角色: 它是算法工程师的超级工具箱,大幅降低了试错成本。
- 连接算法与芯片的"桥梁" (The Bridge)
这也是你作为车载领域从业者最关心的部分。
模型转换: 训练好的 PyTorch 模型不能直接塞进车里跑,需要转成 TensorRT 或 ONNX,运行在 NVIDIA Orin 或地平线征程芯片上。
生态支持: MMDetection3D 和 MMDeploy 配合,解决了最头疼的"算子对齐"问题。芯片厂商(如 NVIDIA, 地平线)通常会优先适配 OpenMMLab 里的算子,因为用的人最多。
角色: 它是从云端训练通向车端部署的第一站。
2. PointPillars
PointPillars 是一种用于 3D 目标检测(3D Object Detection) 的深度学习网络架构,专门处理 激光雷达(LiDAR)点云数据。
简单来说,它的核心思想是将杂乱无章的 3D 点云数据,转换成类似 2D 图像的格式(伪图像),然后利用成熟且高效的 2D 卷积神经网络(CNN)进行目标检测。
由于其在推理速度和检测精度之间取得了极佳的平衡,它成为了工业界(尤其是自动驾驶量产落地)最主流的算法之一
如果你在做车端感知相关的开发,PointPillars 通常是入门必看、甚至是作为 Baseline(基准)的首选模型。很多现代的检测器(如 CenterPoint)也可以看作是其思想的延伸