尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

复现CVPR 2021论文结果:ManyDepth在KITTI上的完整评估教程

复现CVPR 2021论文结果:ManyDepth在KITTI上的完整评估教程 复现CVPR 2021论文结果ManyDepth在KITTI上的完整评估教程【免费下载链接】manydepth[CVPR 2021] Self-supervised depth estimation from short sequences项目地址: https://gitcode.com/gh_mirrors/ma/manydepth想要亲手复现 CVPR 2021 顶会论文中的深度估计结果ManyDepth 是一款基于自监督学习的多帧单目深度估计模型只需单目视频即可训练无需任何深度或位姿标注就能在 KITTI 数据集上达到当时最优的水平。本教程将带你从零开始完成环境搭建、权重下载、数据准备到最终评估的全流程一步步在本地跑出论文中的完整评估结果轻松掌握 ManyDepth 深度估计评估的正确打开方式。ManyDepth 是什么为什么值得复现评估ManyDepth 是 Niantic 团队发表于 CVPR 2021 的工作核心思想是自适应地利用测试时的短序列信息。与只能处理单帧的传统单目深度估计方法不同ManyDepth 在推理时只要有多帧短序列就能构建代价体积Cost Volume提升预测精度✅完全自监督仅用单目视频训练不需要深度和位姿真值✅单帧可用、多帧更准单帧也能出深度短序列效果更佳✅推理高效测试时只需一次前向传播无需测试时优化✅当时 SOTA在 KITTI 与 Cityscapes 上刷新了自监督单目深度估计纪录下面这张对比图直观展示了 ManyDepth 相比单帧方法 Monodepth2 的优势红色误差区域明显更少评估前必读项目结构与核心模块在开始复现之前先快速熟悉一下项目结构评估相关代码都在manydepth/目录下evaluate_depth.pyKITTI / Cityscapes 官方评估入口计算 abs_rel、rmse、a1 等全部论文指标export_gt_depth.py从 KITTI 原始点云导出评估所需的深度真值test_simple.py单图/双图快速推理演示脚本options.py全部训练与评估参数定义kitti_utils.pyKITTI 数据解析与深度图生成工具第一步搭建 ManyDepth 评估环境官方提供了 environment.yml 环境配置包含 PyTorch 1.7.1、OpenCV 3.4.2 等依赖。建议用 conda 一键创建conda env create -f environment.yml conda activate manydepth然后克隆项目代码git clone https://gitcode.com/gh_mirrors/ma/manydepth cd manydepth 提示如果 GPU 显存有限评估时可以在命令行通过CUDA_VISIBLE_DEVICES0指定显卡。第二步准备 KITTI 数据集评估使用 Eigen 划分Eigen Split需要下载 KITTI 原始数据Raw Data。下载完成后按 Monodepth2 的标准目录结构组织数据最终目录树类似KITTI_RAW/ ├── 2011_09_26/ │ ├── 2011_09_26_drive_0002_sync/ │ │ ├── image_02/data/ │ │ └── velodyne_points/data/ │ └── calib_cam_to_cam.txt └── ...导出评估所需的深度真值ManyDepth 评估依赖预先生成的真值文件gt_depths.npz使用 export_gt_depth.py 一键导出python -m manydepth.export_gt_depth \ --data_path /path/to/KITTI_RAW \ --split eigen运行后会在splits/eigen/目录下生成gt_depths.npz这就是后续评估的对照真值。第三步下载官方预训练权重复现评估最快的方式是直接使用论文官方权重也可自行训练见文末。官方提供三个预训练模型模型分辨率适用场景KITTI MR640x192标准分辨率评估推荐KITTI HR1024x320高分辨率评估CityScapes MR512x192Cityscapes 数据集评估下载后将压缩包解压到本地目录记下权重文件夹路径例如~/models/KITTI_MR/。权重文件夹内应包含encoder.pth、depth.pth、pose_encoder.pth、pose.pth等文件。第四步运行官方评估命令万事俱备现在运行 evaluate_depth.py 进行完整评估CUDA_VISIBLE_DEVICES0 \ python -m manydepth.evaluate_depth \ --data_path /path/to/KITTI_RAW \ --load_weights_folder ~/models/KITTI_MR \ --eval_mono几个关键参数说明--eval_mono单目评估模式论文表 1 的主结果--eval_split eigen使用 Eigen 划分默认值--save_pred_disps保存预测视差图便于后续分析--zero_cost_volume评估单帧模式对应论文消融实验--eval_teacher评估用于一致性损失的单目教师网络评估结束后终端会输出标准格式的指标表包含 abs_rel、sq_rel、rmse、rmse_log、a1、a2、a3 七个指标与论文中的结果表完全对应第五步解读评估指标评估输出的是深度估计领域的标准指标理解它们才能确认复现成功abs_rel平均相对误差越低越好衡量预测深度与真值的相对偏差rmse均方根误差越低越好对大误差更敏感a1/a2/a3阈值准确率越高越好表示预测与真值比值落在 1.25、1.25²、1.25³ 内的像素比例 复现小贴士论文结果基于中值缩放median scaling校正尺度评估脚本默认开启无需手动处理。若指标与论文有细微出入请检查 KITTI 原始数据是否完整、gt_depths.npz是否由相同划分导出。附用 test_simple.py 快速体验多帧推理如果你想在不完整下载 KITTI 的情况下先跑通流程可以用项目自带的示例图片体验多帧推理。仓库assets/目录提供了 test_sequence_target.jpg、test_sequence_source.jpg 两张行车记录仪连续帧以及对应的 test_sequence_intrinsics.json 相机内参python -m manydepth.test_simple \ --target_image_path assets/test_sequence_target.jpg \ --source_image_path assets/test_sequence_source.jpg \ --intrinsics_json_path assets/test_sequence_intrinsics.json \ --model_path ~/models/KITTI_MR运行后会在同目录生成带色彩映射的深度图*_disp_multi.jpeg让你直观看到 ManyDepth 如何利用前一帧信息提升深度预测质量。延伸从零训练自己的 ManyDepth 模型如果不想直接用预训练权重也可以参考 README 中的训练命令完整复现论文训练流程入口是 train.pyCUDA_VISIBLE_DEVICES0 \ python -m manydepth.train \ --data_path /path/to/KITTI_RAW \ --log_dir /path/to/logs \ --model_name my_manydepth训练完成后把--load_weights_folder指向训练输出目录再按第四步执行即可评估自己的模型。至此你已经完整走通了数据准备 → 权重获取 → 指标评估 → 结果解读的全链路成功复现 CVPR 2021 论文的 KITTI 评估结果【免费下载链接】manydepth[CVPR 2021] Self-supervised depth estimation from short sequences项目地址: https://gitcode.com/gh_mirrors/ma/manydepth创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表