Seeing the world in 3D. 本仓库 (
Point_Cloud_Algorithm) 汇集了自动驾驶领域主流的 3D 目标检测 与 点云深度学习 模型的复现与学习记录。
- 简介 (Introduction)
- 模型仓库 (Model Zoo)
- 项目结构 (Project Structure)
- 环境依赖 (Requirements)
- 参考资料 (References)
- 作者 (Author)
本项目旨在深入理解与实现自动驾驶感知栈(Perception Stack)中的核心模型。 涵盖了从早期的点云处理网络(PointNet)到当前主流的体素化检测器(PointPillars, CenterPoint),以及前沿的 BEV 视角转换算法(LSS, CaDDN)。
主要关注点:Lidar-based Detection, Camera-Lidar Fusion, BEV Perception.
本项目包含以下模型的实现或源码分析,按技术流派分类:
直接处理原始点云,保留几何特征。
- PointNet: 开山之作,直接消耗无序点云。
- PointNet++: 引入多尺度分组,提取局部特征。
- PointConv: 高效的点云卷积操作。
将点云栅格化,利用 2D/3D CNN 高效推理,工业界主流方案。
- PointPillars: 将点云柱状化 (Pillars),速度极快,工程落地首选。
- CenterPoint: Anchor-free 范式,通过预测中心点检测 3D 物体。
- PIXOR: 无高度维度的 BEV 检测器。
- [VoxelNet/SECOND]: (集成在相关模块中)
涉及图像到 3D 的转换与特征融合。
- LSS (Lift-Splat-Shoot): 经典的视觉 BEV 特征转换算法。
- CaDDN: 深度分布网络,用于单目 3D 检测。
- OFT (Orthographic Feature Transform): 正交特征变换。
- MVCNN: 多视图 CNN。
Point_Cloud_Algorithm/
├── 📂 3D-Detection-Tracking-Viewer/ # 3D 可视化工具 (基于 Open3D 或 Mayavi)
├── 📂 common_tools/ # 通用工具库 (IoU计算, 数据增强, 坐标转换)
│
├── 🔹 Point-based
│ ├── 📂 PointNet/
│ ├── 📂 PointNet++/
│ └── 📂 PointConv/
│
├── 🔹 Voxel-based
│ ├── 📂 PointPillars/
│ ├── 📂 CenterPoint/
│ └── 📂 PIXOR/
│
├── 🔹 Camera & BEV
│ ├── 📂 LSS/ # Lift-Splat-Shoot
│ ├── 📂 CaDDN/
│ ├── 📂 OFT/
│ └── 📂 MVCNN/
│
└── 🔹 2D Baselines
├── 📂 CenterNet/
└── 📂 Retinanet/
推荐使用 Docker 或 Anaconda 配置环境:
- Python: 3.7+
- PyTorch: 1.8+
- CUDA: 11.1+
- spconv: 2.x (For Voxel-based models)
- Open3D / Mayavi: For Visualization
# 安装基础依赖
pip install torch torchvision
pip install spconv-cu111 # 根据 CUDA 版本选择
pip install open3d
- OpenPCDet - SOTA 3D toolbox
- mmdetection3d
- VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection
- PointPillars: Fast Encoders for Object Detection from Point Clouds