尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ManyDepth评估指标全解读:abs_rel、RMSE、δ阈值到底怎么算?
ManyDepth评估指标全解读abs_rel、RMSE、δ阈值到底怎么算【免费下载链接】manydepth[CVPR 2021] Self-supervised depth estimation from short sequences项目地址: https://gitcode.com/gh_mirrors/ma/manydepthManyDepth 是 CVPR 2021 发表的自监督多帧单目深度估计模型The Temporal Opportunist它无需任何真值深度标注仅凭视频短序列就能在 KITTI 上取得当时最先进的效果。但很多新手在复现时第一道坎不是训练而是读懂评估指标abs_rel、sq_rel、RMSE、RMSE log、δ1.25 这些术语到底代表什么数值越小越好还是越大越好本文将用大白话逐条拆解 ManyDepth评估指标的数学定义、计算流程和实战避坑指南让你 5 分钟彻底看懂结果表。认识 ManyDepth会翻旧账的深度估计模型传统单目深度估计如 Monodepth2只从一张图预测深度ManyDepth 的创新在于它会在测试时利用连续的短序列帧比如前几帧画面来辅助当前帧的深度预测通过自适应代价体cost volume融合多帧信息同时解决了移动物体、静态相机等难题最终效果优于单帧方法如上图所示上方为输入画面下方两列分别是预测深度与误差热力图红色越少代表误差越小。它的工作流程也很直观提取前后帧特征 → 估计相机位姿 → 构造代价体 → 解码出深度图。评估环节则全部集中在manydepth/evaluate_depth.py这一个文件里下面的所有指标都能在这里找到源码。七大评估指标逐个拆解先懂公式再懂好坏ManyDepth 沿用了深度估计领域公认的7 个指标它们全部在evaluate_depth.py的compute_errors函数中计算。先说结论前 4 个abs_rel、sq_rel、rmse、rmse_log越小越好后 3 个a1、a2、a3越大越好且都介于 0~1 之间。abs_rel绝对相对误差最常用的体检报告abs_rel mean( |gt - pred| / gt )它计算每个像素上预测深度与真值深度的绝对差占真值深度的比例再取平均。举例某像素真值深度 10 米你预测了 11 米误差就是 1/10 0.1。abs_rel 对所有深度一视同仁相对比例因此是论文中最常被单独拎出来比较的核心指标。ManyDepth中分辨率在 KITTI 上达到 0.098意味着平均相对误差不到 10%。sq_rel平方相对误差给大误差加刑sq_rel mean( (gt - pred)² / gt )公式只是把 abs_rel 的分子换成了平方。由于平方放大作用预测偏差大的像素会被显著惩罚因此 sq_rel 对离谱的预测更敏感。它的数值没有 abs_rel 直观通常只作为参考当两个模型 abs_rel 接近时sq_rel 更小的一方往往预测更稳定。RMSE均方根误差惩罚远距离大偏差rmse sqrt( mean( (gt - pred)² ) )把每个像素误差平方后取平均再开根号。注意它没有除以真值深度所以单位是米数值通常远大于前两个指标KITTI 上约 4~5。RMSE 的妙处在于它既惩罚大误差又因为开根号而把量纲拉回米方便人类感知——误差 4.5 米意味着整体预测与真值平均差 4.5 米。RMSE 对远处像素特别不友好因为远处深度数值大绝对误差天然偏大。RMSE log对数均方根误差远近一碗水端平rmse_log sqrt( mean( (log(gt) - log(pred))² ) )把真值和预测都取对数后再算 RMSE。对数变换能把100 米 vs 110 米和1 米 vs 1.1 米这两种情况归为同等级别的误差都是 10% 的相对偏差从而平衡了近处与远处的贡献。在 KITTI 上该值通常在 0.17~0.23 之间。δ阈值a1 / a2 / a3预测靠谱的像素占比这是新手最容易懵的一组指标其实本质很简单先算每个像素的比值thresh max(gt/pred, pred/gt)a1 (thresh 1.25) 的像素占比即预测深度与真值偏差在 25% 以内的像素占全图比例a2 (thresh 1.25²) 的像素占比即偏差在 56.25% 以内a3 (thresh 1.25³) 的像素占比即偏差在 95.3% 以内你可以把 δ 阈值理解为容错率递增的及格线a1 是最严苛的考核偏差不超 25%a3 最宽松。三者的值都在 0~1 之间越接近 1 越好。ManyDepth 在 KITTI 上的 a1 高达 0.900意味着 90% 的像素预测偏差在 25% 以内。一眼看懂指标好坏速查表指标含义一句话数值方向KITTI 参考值ManyDepthabs_rel平均相对误差比例越小越好0.098sq_rel平方相对误差放大偏差越小越好0.770rmse均方根误差米越小越好4.459rmse_log对数均方根误差越小越好0.176a1偏差25% 的像素占比越大越好0.900a2偏差56.25% 的像素占比越大越好0.965a3偏差95.3% 的像素占比越大越好0.983评估指标背后的完整计算流程看懂公式只是第一步ManyDepth 在算出这些指标前还藏着几个关键预处理步骤不了解它们你复现出来的数值可能对不上论文。第一步视差转深度网络输出的是**视差disparity**而非深度评估时先用pred_depth 1 / pred_disp转换。注意这一步用到了disp_to_depth定义在manydepth/layers.py它会把 sigmoid 输出按最小/最大深度范围默认 0.1~100 米缩放后再取倒数。第二步median scaling 尺度对齐自监督深度存在尺度不确定问题预测出的深度整体可能偏大或偏小。因此评估时默认会做中位数对齐ratio median(真值深度) / median(预测深度) 预测深度 预测深度 × ratio相当于把预测的整体尺度掰到与真值一致后再算误差这能公平地比较不同模型的相对精度。第三步Eigen 裁剪与深度范围过滤KITTI 评估遵循 Eigen 协议只取图像中央区域裁剪掉边缘天空等无意义区域并只统计深度在1e-3~80 米之间的像素MIN_DEPTH/MAX_DEPTH超出范围的全部忽略。Cityscapes 数据集则采用中心 50% 裁剪的规则。如何读懂 KITTI 结果表论文与 README 中的结果表assets/results_table.png把上述 7 个指标按列排开横向对比各方法读表小技巧先看 abs_rel 和 a1 两列这两列分别代表平均误差与最严苛的准确率是拉开差距的关键再看是否标注了 TTRtest-time refinement测试时优化——用了 TTR 的方法如 ManyDepth MRTTR通常数值更好比较时要分清对手有没有加外挂。例如 ManyDepthMRabs_rel 0.098 已优于 Monodepth2 的 0.115而加入 TTR 后更是降到 0.090、a1 达到 0.914。实战一条命令跑出评估指标要复现上述指标只需先运行export_gt_depth.py导出 KITTI 真值深度然后执行python -m manydepth.evaluate_depth \ --data_path 你的KITTI路径 \ --load_weights_folder 模型权重目录 \ --eval_mono运行结束后终端会打印一行格式化的 7 个指标abs_rel | sq_rel | rmse | rmse_log | a1 | a2 | a3即论文结果表中的数据。评估 Cityscapes 模型时加上--eval_split cityscapes即可。相关参数如--min_depth、--max_depth、--disable_median_scaling都定义在manydepth/options.py中。新手避坑指南不要直接比较不同协议的数值Eigen 与 Eigen-Benchmark、KITTI 与 Cityscapes 的裁剪规则不同跨协议对比没有意义。median scaling 不能随便关--disable_median_scaling只在立体stereo评估等特殊场景使用单目评估关掉它数值会明显变差。a1 差 0.01 就是巨大提升在 697 张测试图上a1 提升 0.01 意味着多上千个像素被预测得更准SOTA 之争往往就在这小数点后两位。别忘先导出真值直接跑评估会报找不到gt_depths.npz务必先执行export_gt_depth.py。读懂这些指标后你不仅能看懂论文里的每一张结果表还能在自己训练模型时快速判断改进方向abs_rel 高说明整体偏差大RMSE 高说明存在个别离谱预测a1 低说明精度的下限不够。这就是 ManyDepth评估指标的全部秘密现在你可以放心去复现了。【免费下载链接】manydepth[CVPR 2021] Self-supervised depth estimation from short sequences项目地址: https://gitcode.com/gh_mirrors/ma/manydepth创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

洛雪音乐音源配置完整指南:一个客户端免费畅听全网无损音乐的保姆级教程

洛雪音乐音源配置完整指南:一个客户端免费畅听全网无损音乐的保姆级教程

洛雪音乐音源配置完整指南:一个客户端免费畅听全网无损音乐的保姆级教程 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 手机里装着四五个音乐App、会员开了一个又一个,却还…

📅 2026/10/8 3:11:15
Snippy 变异检测工具安装全攻略:四步跑通你的第一个 SNP 检出

Snippy 变异检测工具安装全攻略:四步跑通你的第一个 SNP 检出

Snippy 变异检测工具安装全攻略:四步跑通你的第一个 SNP 检出 【免费下载链接】snippy :scissors: :zap: Rapid haploid variant calling and core genome alignment 项目地址: https://gitcode.com/gh_mirrors/sn/snippy Snippy 是一款面向单倍体基因组&…

📅 2026/9/8 1:44:38
memtest_vulkan 显存稳定性测试实测:5分钟定位显卡隐性故障

memtest_vulkan 显存稳定性测试实测:5分钟定位显卡隐性故障

memtest_vulkan 显存稳定性测试实测:5分钟定位显卡隐性故障 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 显存损坏并不总是以蓝屏或花屏这种"…

📅 2026/9/29 14:21:20
MORE NEWS

更多资讯

📰

Spring Boot + 微信小程序健康管理系统全栈开发实践

做健康管理类小程序的时候,很多人会先纠结一个问题:后端到底用什么?是直接用云开发、还是搭一套独立的服务端?我自己的答案是Spring Boot加微信小程序,前后端分离,后端只做接口。这套组合放到“健康管理系统…

📰

ObjectSense编程语言:让对象状态变化拥有感知能力的新型编程范式

最近在技术社区看到一个很有意思的命名:ObjectSense。第一眼我以为它是个代码编辑器插件或者监控框架,再往下看才发现,它实际上是一门编程语言的名字。这个名字拆开就是 Object Sense,对象感知。设计者想表达的意思非常直白——在…

📰

AI应用架构师如何打造数据+算法+决策闭环实现市场分析自动化

我最早看到"AI应用架构师借助AI驱动市场分析创造惊人业绩"这个说法的时候,第一反应也是:这不就是个标题党吗?但说实话,等我自己把这条路完整走了一遍之后,我得承认——业绩增长是真的,架构师跨到…

📰

AI编程技能包实战指南:统一管理Cursor、Claude Code与Copilot

Cursor、Claude Code、Copilot 这三个词,放到半年前还只是各自孤立的开发工具名;如今它们共同构成了我工作流里最常切换的三个 AI 编程入口。最近在整理开源资源时发现,围绕这三个工具已经积累了不少可复用的技能包(Skills&#x…

📰

构建可控智能体:GPT-5与开源模型的协作分工及安全架构实践

把大模型从"能聊天"推到"能用、敢用、可控"的位置,是这两年我在产业项目里感受最深的命题。"AI"行动铺开之后,很多企业其实已经过了"要不要上大模型"的犹豫期,卡住他们的往往是另一件事:…

📰

大数据面试核心考点:HDFS读写、Spark调度与Flink状态机制全解析

去面大数据岗位,不管是校招还是社招,问来问去其实就那么几类问题。早年大家还在背“Hadoop生态有哪些组件”,现在面试官更爱追问原理、场景题和手写SQL。我在一线做了几年数仓和实时计算,也面过不少人,今天就把大数据面…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬