在OpenPCDet中,KITTI 数据集的 ImageSet 中已经包含了训练和测试数据的索引信息,这使得可以不必直接扫描点云数据文件来获取某个特定的数据集。通过修改 ImageSet 中的索引,就可以直接选择不同的数据帧来进行训练、测试或推理。
1. KITTI 数据集中的 ImageSet
imageset 文件夹包含了多个文本文件,其中每个文件列出了训练和测试数据的帧索引。这些文件通常以如下格式命名:
| |
每个 txt 文件中列出了一系列的帧编号,例如:
| |
这些帧编号对应的是 velodyne 文件夹中的 .bin 点云数据文件.
2. 修改索引文件
此处我想要基于Kitti数据集进行采样,生成十个不同的用于训练的数据集 可以直接原本的train.txt进行采样,将其保存为一个新的索引集 在kitti文件路径下新建一个脚本文件
| |
运行以上代码即可在原本的目录下生成一系列的采样数据集
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 默认值如下示例:
| |
使用上面生成的新的索引只需修改‘train’键的值为train_sampled1/train_sampled2保存即可
3.启动训练
| |
训练中