这篇文章整理 OpenPCDet 实验中零散但常用的资料链接、工具脚本和代码分析提示词,方便后续查找。
1. KITTI road plane 资料
关于 KITTI road plane 的生成和下载,可以参考:
1
2
| https://github.com/sshaoshuai/PointRCNN/issues/12#issuecomment-484769943
https://github.com/kujason/avod?tab=readme-ov-file
|
road plane 在一些基于 KITTI 的 3D 检测方法中会用到,配置数据集时需要注意相关文件是否完整。
2. nuScenes 数据集子集划分
如果想把 nuScenes 数据集拆分为 20% 子集,可以使用:
建议在使用子集实验时记录清楚:
- 子集比例;
- 随机种子;
- train / val 划分方式;
- 使用的 sample token;
- 是否保持类别分布一致。
否则不同实验之间可能无法公平比较。
3. 模型参数量统计
需要注意:
模型参数量可以使用:
建议同时记录:
- 参数量;
- checkpoint 大小;
- FLOPs;
- 推理速度;
- 显存占用。
这样比单独记录 .pth 文件大小更有意义。
4. 显卡监控工具
安装:
运行:
训练模型时可以用它观察:
- 显存占用;
- GPU 利用率;
- 温度;
- 功耗;
- 当前占用 GPU 的进程。
5. 代码分析提示词
如果需要让 AI 辅助分析 OpenPCDet 代码,可以使用下面的提示词。
5.1 分析 VFE 过程
1
| 以下是这篇论文的 VFE 过程。我是一名 3D 目标检测学习的新手,请根据代码和输入点云举例,用类似 debug 的形式,通俗易懂地一步一步分析 VFE 的过程。
|
5.2 分析 OpenPCDet 数据流
1
| 请用点云举例,一步一步分析 OpenPCDet 中 VFE、backbone、dense head 等模块的数据流变化。请结合代码,用类似 debug 的形式解释每一步输入输出的 shape 和含义。
|
5.3 分析某个模块
1
| 我是 3D 目标检测新手。请结合 OpenPCDet 源码,以一帧 KITTI 点云为例,用 debug 的方式逐行解释这个模块的输入、输出、shape 变化和每一步的作用。
|
5.4 分析论文改进点
1
| 请根据这篇论文的模型结构和 OpenPCDet 中的实现代码,帮我分析它相对于 PointPillar / SECOND / DSVT 的主要改进点,并说明这些改进可能影响哪些类别和哪些指标。
|
6. 实验记录模板
建议每次实验都单独记录:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| ## 实验名称
### 基本信息
- 日期:
- 数据集:
- 模型:
- 配置文件:
- 代码文件:
- checkpoint:
- GPU:
- batch size:
- epoch:
### 修改内容
- 修改点 1:
- 修改点 2:
- 修改点 3:
### 训练命令
```bash
python train.py --cfg_file ...
|
测试命令
1
| python test.py --cfg_file ... --ckpt ...
|
结果
| 类别 | Easy | Moderate | Hard |
|---|
| Car | | | |
| Pedestrian | | | |
| Cyclist | | | |
备注
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
## 7. 推荐的实验目录管理方式
可以按下面方式组织:
```text
experiments/
├── 2026-05-18-dsvt-baseline/
│ ├── config.yaml
│ ├── notes.md
│ ├── train.log
│ └── eval.log
├── 2026-05-19-dsvt-cross-xy/
│ ├── config.yaml
│ ├── notes.md
│ ├── train.log
│ └── eval.log
|
这样做的好处是:
- 每个实验独立;
- 配置和结果能一一对应;
- 后续写论文或报告时容易追溯;
- 出现问题时方便回滚。
总结
这篇文章主要作为资料索引使用。OpenPCDet 实验中很多问题不是一次性解决的,建议把链接、脚本、提示词和实验记录模板长期维护起来,后续会非常省时间。