1. 数据集准备
2. 环境准备及代码修改
(1)下载monodepth2和litemono的源码;
(2)创建虚拟环境,建议根据cuda版本然后下载torch,然后缺啥补啥,参考环境如下:
··GPU:A100
··Python版本:3.12
··torch版本:2.2.2
··linear_warmup_cosine_annealing_warm_restarts_weight_decay:把这个包下载下来,然后把里面的文件夹复制到虚拟环境的site package文件夹里,具体操作:
terminal输入以下代码来确定“sitepackages”文件位置:
python -c "import site; print(site.getsitepackages())
(2)将monodepth2中的splits替换掉litemono的splits;
(3)提前下载好预训练权重,包括resnet的和lite-mono-pretrain的,如图所示。实际训练下来不用lite-mono-pretrain的10个epoch的Abs Rel为0.15x,使用pretrain的为0.11x(接近论文里的0.107)。
(4)版本问题会引起一些bug,gpt基本都能修改,如:
··kitti_utils.py中:np.int要改成int
3. 训练
(1)修改options的一些参数;
(2)terminal运行:
python train.py --data_path path/to/your/data --model_name mytrain --num_epochs 30 --batch_size 12 --mypretrain path/to/your/pretrained/weights --lr 0.0001 5e-6 31 0.0001 1e-5 31
(3)根据报错改bug....
4. 评估
(1)准备gt_depths.npz
··打开monodepth2项目,运行,然后得到npz复制到litmono到splits/eigen下:
python export_gt_depth.py --data_path kitti_data --split eigen
··注:这里会因为numpy版本问题报错,修改export_gt_depth.py最后一部分代码:
np.savez_compressed(output_path, data=np.array(gt_depths, dtype=object), allow_pickle=True)
(2)评估:
python evaluate_depth.py --load_weights_folder path/to/your/weights/folder --data_path path/to/kitti_data/ --model lite-mono
参考链接:
2. Ubuntu深度环境搭建_litemono复现-CSDN博客
3. 复现monodepth2或Lite-Mono时碰到找不到splits\\eigen\\gt_depths.npz_monodepth2复现-CSDN博客