OpenPCDet框架下模型的数据采样训练
在OpenPCDet中,KITTI 数据集的 ImageSet 中已经包含了训练和测试数据的索引信息,这使得可以不必直接扫描点云数据文件来获取某个特定的数据集。通过修改 ImageSet 中的索引,就可以直接选择不同的数据帧来进行训练、测试或推理。
1. KITTI 数据集中的 ImageSet
imageset 文件夹包含了多个文本文件,其中每个文件列出了训练和测试数据的帧索引。这些文件通常以如下格式命名:
1 | data/ |
每个 txt 文件中列出了一系列的帧编号,例如:
1 | 000000 |
这些帧编号对应的是 velodyne 文件夹中的 .bin 点云数据文件.
2. 修改索引文件
此处我想要基于Kitti数据集进行采样,生成十个不同的用于训练的数据集
可以直接原本的train.txt进行采样,将其保存为一个新的索引集
在kitti文件路径下新建一个脚本文件
1 | import random |
运行以上代码即可在原本的目录下生成一系列的采样数据集
2.使用采样数据进行训练
首先找到kitti_dataset.yaml文件
关于Kitti_dataset.yaml文件
xxxxxxxxxx pip uninstall spconv-cu113pip install spconv-cu102python
- 数据集根目录 (DATASET_ROOT):指示 KITTI 数据集所在的根路径。
- 训练和验证集的索引文件路径 (TRAIN_SET, VAL_SET):指定训练和验证集的帧索引文件路径(即 train.txt 和 val.txt)。
- 类别定义:包括 3D 检测任务中所使用的类别,例如 Car、Pedestrian、Cyclist 等。
- 其他参数:可能包括图像和点云的预处理设置,数据增强方法等。
如何修改 kitti_dataset.yaml 使用新生成的 train_sampled.txt
在该文件内容中找到DATA_SPLIT
默认值如下示例:
1 | DATA_SPLIT: { |
使用上面生成的新的索引只需修改‘train’键的值为train_sampled1/train_sampled2保存即可
3.启动训练
1 | python tools/train.py --cfg_file tools/cfgs/kitti_models/pointpillar.yaml |
训练中
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 古月月仔的博客!
评论