ManyDepth数据准备全指南:KITTI数据集下载、目录组织与splits划分详解

发布时间:2026/8/18 15:32:02
ManyDepth数据准备全指南:KITTI数据集下载、目录组织与splits划分详解 ManyDepth数据准备全指南KITTI数据集下载、目录组织与splits划分详解【免费下载链接】manydepth[CVPR 2021] Self-supervised depth estimation from short sequences项目地址: https://gitcode.com/gh_mirrors/ma/manydepthManyDepth 是 CVPR 2021 提出的自监督多帧单目深度估计模型仅需单目视频即可训练无需任何真值深度或位姿标注。想顺利复现论文效果或自己训练模型KITTI 数据集的下载与目录组织是第一道关卡。本文面向新手用最直观的方式讲清 KITTI 原始数据怎么下、目录怎么摆、splits划分文件怎么读帮你一次跑通 ManyDepth 的训练与评估流程。一、为什么 ManyDepth 需要 KITTI 原始数据ManyDepth 的核心思路是训练时只使用连续视频帧通过成本体积cost volume聚合多帧信息来估计深度。因此它需要的不是 KITTI 目标检测数据集而是KITTI 原始数据Raw Data其中包含彩色图像序列image_02左目、image_03右目相机标定文件calib_cam_to_cam.txt、calib_velo_to_cam.txt等激光雷达点云velodyne_points/data/*.bin用于生成评估时的真值深度KITTI 原始数据本身不含现成的深度真值ManyDepth 会在评估前用 kitti_utils.py 中的generate_depth_map把 Velodyne 点云投影到图像平面得到稀疏深度图。理解这一点你就明白为什么下载时不能漏掉标定文件和点云文件。二、KITTI 数据集下载需要下载哪些文件官方建议从 splits/kitti_archives_to_download.txt 中读取所有下载链接这个文件已经替你列好了训练所需的全部压缩包包括每个日期的标定文件例如2011_09_26_calib.zip每个drive 的同步数据例如2011_09_26_drive_0022_sync.zip含图像、点云、位姿最快下载方法打开终端进入你要存放数据的目录依次执行# 1. 下载所有压缩包注意引号内的路径替换为你的 splits 目录 wget -i splits/kitti_archives_to_download.txt # 2. 逐个解压 for f in *.zip; do unzip $f; done提示全部文件约 175GB建议预留充足磁盘空间也可以只下载eigen_zhou训练划分用到的 drive进一步节省空间。若你的 KITTI 数据是 PNG 格式训练时加上--png参数即可默认按 jpg 读取。三、KITTI 数据集目录组织标准结构详解解压完成后目录应按如下结构组织这正是 ManyDepth 的 kitti_dataset.py 期望的路径kitti_data/ # 即 --data_path 指向的根目录 ├── 2011_09_26/ │ ├── calib_cam_to_cam.txt # 相机间标定 │ ├── calib_velo_to_cam.txt # 雷达到相机标定 │ └── 2011_09_26_drive_0022_sync/ │ ├── image_02/data/0000000000.jpg # 左目彩色图 │ ├── image_03/data/0000000000.jpg # 右目彩色图 │ └── velodyne_points/data/0000000000.bin # 激光雷达点云 ├── 2011_09_28/ └── ...关键细节值得注意日期文件夹存放该日期所有序列共用的标定文件点云投影真值时按日期读取见 export_gt_depth.py 中的calib_dir逻辑。图像帧号固定为 10 位补零如0000000000.jpg点云文件同样按 10 位帧号命名。左右目映射代码中side_map {2: 2, 3: 3, l: 2, r: 3}即l对应image_02r对应image_03训练文件里的l/r标记就是这样映射到文件夹的。内参归一化模型使用的内参矩阵是归一化坐标见 kitti_dataset.py 中的self.K并非原始像素内参直接照搬即可。四、splits 划分文件详解训练集与测试集splits/目录是 ManyDepth 的数据划分核心每种划分对应一个子文件夹每个文件每行记录一条样本常见格式为序列文件夹 帧号 左右目例如 splits/eigen_zhou/train_files.txt 中的一行2011_09_26/2011_09_26_drive_0022_sync 473 r表示读取该序列第 473 帧的右目图像。解析逻辑位于 mono_dataset.py 的index_to_folder_and_frame_idx一行为三段时分别解析为文件夹、帧号、左右目。各划分的用途一览划分目录文件用途eigen_zhou/train_files.txt、val_files.txt论文主实验的训练/验证划分约 39810 条训练样本eigen_full/train_files.txt、val_files.txt、all_files.txt使用全部 Eigen 数据的训练划分eigen/test_files.txt经典 Eigen 测试集共 697 条用于深度评估eigen_benchmark/test_files.txtEigen 的 benchmark 版本测试集含真值深度图benchmark/train_files.txt、test_files.txt、val_files.txt、eigen_to_benchmark_ids.npyKITTI 官方深度基准格式行内容为image 0样式odom/train_files.txt、test_files_09.txt、test_files_10.txt里程计数据集划分格式为序列号 帧号 左右目cityscapes/、cityscapes_preprocessed/对应训练/测试文件CityScapes 数据集划分其中odom划分格式特殊如8 4056 r其图像路径由 kitti_dataset.py 中的KITTIOdomDataset解析为sequences/08/image_02/004056.jpg帧号为 6 位补零与原始 KITTI 的 10 位格式不同初学时注意区分。五、训练与评估如何选择正确的划分ManyDepth 通过两个参数控制划分选择定义在 options.py训练--split可选eigen_zhou、eigen_full、odom、benchmark、cityscapes_preprocessed默认eigen_zhou。评估--eval_split可选eigen、eigen_benchmark、benchmark、odom_9、odom_10、cityscapes默认eigen。一条典型训练命令python -m manydepth.train \ --data_path /path/to/kitti_data \ --log_dir /path/to/logs \ --model_name my_manydepth六、评估前必做导出真值深度评估 KITTI 模型前必须先用 export_gt_depth.py 从点云生成真值深度文件否则评估脚本会因缺少gt_depths.npz而报错python -m manydepth.export_gt_depth \ --data_path /path/to/kitti_data \ --split eigen脚本会读取splits/eigen/test_files.txt逐条把 Velodyne 点云投影为深度图压缩保存为splits/eigen/gt_depths.npz。若选eigen_benchmark划分则直接读取 KITTI 提供的proj_depth/groundtruth真值 PNG深度值除以 256 得到米制深度。七、新手避坑指南别下错数据集目标是 Raw Data 而非 Object Detection 数据集路径里带drive_xxxx_sync就对了。标定文件不能缺点云生成真值深度依赖calib_cam_to_cam.txt与calib_velo_to_cam.txt漏掉会在评估时报错。帧号位数别搞混raw 数据用 10 位帧号odom 数据用 6 位帧号。jpg 与 png 要一致默认读.jpg如果你的数据是 png 或遇到找不到帧报错记得加--png。磁盘空间预留完整下载约 175GB建议先用eigen_zhou涉及的最小 drive 集合试跑通流程再全量下载。八、总结KITTI 数据准备看似繁琐其实只需三步下载原始数据 → 按日期/序列标准目录组织 → 选对 splits 划分。ManyDepth 的数据加载逻辑高度集中只要目录结构与 kitti_dataset.py、mono_dataset.py 中的路径规则一致训练和评估就能顺畅跑通。希望这份 ManyDepth 数据准备指南能帮你少走弯路早日跑出自己的深度估计模型【免费下载链接】manydepth[CVPR 2021] Self-supervised depth estimation from short sequences项目地址: https://gitcode.com/gh_mirrors/ma/manydepth创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考