/data/
├── indoor6/ # Indoor-6 数据集(预准备)
│ ├── scene1/ # 场景1数据
│ ├── scene2a/ # 场景2a数据
│ ├── scene3/ # 场景3数据
│ ├── scene4a/ # 场景4a数据
│ ├── scene5/ # 场景5数据
│ └── scene6/ # 场景6数据
├── checkpoints/ # 预训练模型(预准备)
│ ├── scene1_1000-125_v10/ # 场景1的SLD-star模型
│ ├── scene2a_1000-125_v10/ # 场景2a的SLD-star模型
│ ├── scene3_1000-125_v10/ # 场景3的SLD-star模型
│ ├── scene4a_1000-125_v10/ # 场景4a的SLD-star模型
│ ├── scene5_1000-125_v10/ # 场景5的SLD-star模型
│ ├── scene6_1000-125_v10/ # 场景6的SLD-star模型
│ └── RESULTS-1000-125_v10.txt # 推理结果汇总(生成)
└── outputs/ # 训练输出(生成)
├── scene6_1000-125_v10/ # 场景6训练输出
│ ├── scene6-000-125/ # 地标0-124的模型
│ ├── scene6-125-250/ # 地标125-249的模型
│ ├── scene6-250-375/ # 地标250-374的模型
│ ├── scene6-375-500/ # 地标375-499的模型
│ ├── scene6-500-625/ # 地标500-624的模型
│ ├── scene6-625-750/ # 地标625-749的模型
│ ├── scene6-750-875/ # 地标750-874的模型
│ ├── scene6-875-1000/ # 地标875-999的模型
│ └── scene6_1000-125_v10.txt # 实验配置文件
└── landmarks.txt # 训练使用的地标坐标
- 下载地址:Indoor-6 Dataset
- 数据状态:预准备,需要手动下载
- 数据大小:约 20GB
scene1/
├── images/ # 彩色图像文件
│ ├── 000000.color.jpg # 图像文件
│ ├── 000001.color.jpg
│ └── ...
├── poses/ # 相机姿态文件
│ ├── 000000.txt # 3x4 姿态矩阵
│ ├── 000001.txt
│ └── ...
├── train_test_val.pkl # 训练/测试/验证集划分
├── landmarks-1000v10.txt # 1000个地标的3D坐标
├── landmarks-300v9.txt # 300个地标的3D坐标
├── landmarks-500v9.txt # 500个地标的3D坐标
├── visibility-1000v10_depth_normal.txt # 地标可见性矩阵
├── visibility-300v9.txt # 地标可见性矩阵
└── visibility-500v9.txt # 地标可见性矩阵
- 格式:JPEG 彩色图像
- 分辨率:原始分辨率(约 1920x1080)
- 数量:每个场景数千张图像
- 用途:训练和测试的输入图像
- 格式:文本文件,每行一个 3x4 矩阵
- 内容:相机在世界坐标系中的位置和姿态
- 用途:训练时的真实标签,测试时的评估基准
- 格式:文本文件
- 第一行:地标总数
- 后续行:每个地标的 ID 和 3D 坐标
[id, x, y, z] - 示例:
1000 0 1.234 2.345 3.456 1 4.567 5.678 6.789 ...
- 格式:文本文件,矩阵格式
- 维度:
[地标数量] × [图像数量] - 内容:布尔值,表示每个地标在每张图像中是否可见
- 用途:训练时只使用可见的地标
- 格式:Pickle 文件
- 内容:训练、测试、验证集的图像索引
- 用途:确定每张图像属于哪个数据集
- 下载地址:预训练模型
- 模型状态:预准备,需要手动下载
- 模型大小:约 2GB
每个场景的模型目录包含:
scene6_1000-125_v10/
├── scene6-000-125/ # 地标0-124的模型
│ └── model-best_median.ckpt # 最佳模型检查点
├── scene6-125-250/ # 地标125-249的模型
│ └── model-best_median.ckpt
├── scene6-250-375/ # 地标250-374的模型
│ └── model-best_median.ckpt
├── scene6-375-500/ # 地标375-499的模型
│ └── model-best_median.ckpt
├── scene6-500-625/ # 地标500-624的模型
│ └── model-best_median.ckpt
├── scene6-625-750/ # 地标625-749的模型
│ └── model-best_median.ckpt
├── scene6-750-875/ # 地标750-874的模型
│ └── model-best_median.ckpt
├── scene6-875-1000/ # 地标875-999的模型
│ └── model-best_median.ckpt
└── scene6_1000-125_v10.txt # 实验配置文件
每个场景的实验配置文件包含模型参数信息:
# 示例:scene6_1000-125_v10.txt
scene6-000-125 1000 125 0 1000-125_v10
scene6-125-250 1000 125 1 1000-125_v10
scene6-250-375 1000 125 2 1000-125_v10
scene6-375-500 1000 125 3 1000-125_v10
scene6-500-625 1000 125 4 1000-125_v10
scene6-625-750 1000 125 5 1000-125_v10
scene6-750-875 1000 125 6 1000-125_v10
scene6-875-1000 1000 125 7 1000-125_v10
- 格式:PyTorch 检查点文件 (.ckpt)
- 内容:模型权重、优化器状态、训练统计
- 大小:每个模型约 50-100MB
训练过程中自动生成的输出目录:
outputs/
├── scene6_1000-125_v10/ # 场景6的训练输出
│ ├── scene6-000-125/ # 地标0-124的模型输出
│ │ ├── model-best_median.ckpt # 最佳模型
│ │ ├── model-last.ckpt # 最新模型
│ │ ├── stats.pkl # 训练统计
│ │ └── curve_train_test.png # 训练曲线图
│ ├── scene6-125-250/ # 地标125-249的模型输出
│ │ └── ...
│ ├── scene6-250-375/ # 地标250-374的模型输出
│ │ └── ...
│ ├── scene6-375-500/ # 地标375-499的模型输出
│ │ └── ...
│ ├── scene6-500-625/ # 地标500-624的模型输出
│ │ └── ...
│ ├── scene6-625-750/ # 地标625-749的模型输出
│ │ └── ...
│ ├── scene6-750-875/ # 地标750-874的模型输出
│ │ └── ...
│ ├── scene6-875-1000/ # 地标875-999的模型输出
│ │ └── ...
│ └── scene6_1000-125_v10.txt # 实验配置文件
└── landmarks.txt # 训练使用的地标坐标
- stats.pkl:包含训练过程中的损失、评估指标等统计信息
- curve_train_test.png:训练曲线图,显示损失和评估指标的变化
- model-best_median.ckpt:在验证集上表现最佳的模型
- model-last.ckpt:最后一个训练轮次的模型
- 访问 Indoor-6 Dataset
- 下载所有场景的数据文件
- 解压到
/data/indoor6/目录
- 访问 预训练模型
- 下载模型文件
- 解压到
/data/checkpoints/目录
mkdir -p /data/outputs# 检查每个场景的图像数量
ls /data/indoor6/scene1/images/ | wc -l
ls /data/indoor6/scene2a/images/ | wc -l
# ... 其他场景
# 检查姿态文件数量
ls /data/indoor6/scene1/poses/ | wc -l
ls /data/indoor6/scene2a/poses/ | wc -l
# ... 其他场景# 检查每个场景的模型文件
ls /data/checkpoints/scene1_1000-125_v10/
ls /data/checkpoints/scene2a_1000-125_v10/
# ... 其他场景
# 检查模型检查点文件
find /data/checkpoints/ -name "*.ckpt" | wc -l- 问题:Google Drive 下载速度慢
- 解决:使用下载管理器或分时段下载
- 问题:文件权限不足
- 解决:
chmod -R 755 /data/
- 问题:磁盘空间不足
- 解决:确保有至少 25GB 可用空间
- 问题:下载的文件损坏
- 解决:重新下载并验证文件完整性
- 原始数据集文件
- 预训练模型文件
- 训练输出和检查点
- 定期备份训练输出
- 保存多个版本的模型检查点
- 使用版本控制系统管理配置文件
注意:本目录结构是项目运行的基础,请确保所有必需的文件都已正确下载和放置。