
Ultralytics YOLO26 中的 NYU Depth V2 数据集单目深度估计标准评测基准完全解析【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文围绕 Ultralytics 仓库中的 NYU Depth V2 数据集文档 展开系统讲解这一单目深度估计monocular depth estimation室内标准基准的构成、在 YOLO26-Depth 系列中的角色、配套数据集 YAML 的完整字段含义以及如何用官方 API 在其 Eigen 测试集上完成验证。结合 验证器实现、深度指标实现 与 数据加载工具 的源码你将理解 delta1 等指标的确切计算方式、规模对齐scale alignment策略以及仓库对 uint16 毫米深度 PNG 的解析约定从而能够独立复现并深入理解 YOLO26-Depth 的官方评测结果。数据集概述NYU Depth V2 是什么NYU Depth V2 是单目深度估计领域最经典的室内基准之一。它由微软 Kinect v1 RGB-D 传感器录制覆盖家庭、办公室、教室等多种真实室内场景的 RGB-D 视频序列。根据 官方文档 的归纳其关键特征如下使用 Microsoft Kinect v1 RGB-D 传感器采集覆盖大量真实室内场景住宅、办公室、教室等深度范围约 10 m 以内符合消费级室内 RGB-D 采集的典型上限评测采用标准的Eigen 测试划分654 张图像是报告单目深度估计精度的主要基准。从配套的 数据集配置文件 头部注释可以进一步确认其规模与格式训练集 795 张、验证集 654 张Eigen test split图像分辨率 480×640深度单位为米打包下载后约 1.5 GB。在 YOLO26-Depth 中的角色零样本评测基准NYU Depth V2 是 YOLO26-Depth 系列的主要零样本zero-shot评测基准深度任务页面 上报告的核心指标即出自该数据集。有几点关键事实需要明确模型未在该数据集上训练。尽管 NYU 包含 train 划分仓库将其保留未用只报告 held-out 测试结果——这保证了 delta1 等数字反映的是模型的零样本泛化能力而非拟合结果官方数字使用测试时增强TTA。评测时采用多尺度推理加水平翻转 TTA并在计算指标前对预测深度图与真实深度图做对数最小二乘log-least-squares尺度对齐若用仓库内置的验证流程复现yolo depth val由于采用的是中位数尺度对齐且不带 TTAdelta1 会略低。深度任务文档 给出了可直接复现的单尺度数字delta1 分别为 0.783n、0.793s、0.840m、0.853l、0.860x命令为yolo depth val modelyolo26n-depth.pt datanyu-depth.yaml imgsz768 device0imgsz768是发布权重的训练分辨率。NYU Depth V2 Eigen 测试集上的官方结果下表报告各模型规模在 NYU Depth V2 Eigen test split 上的delta1精度预测深度落在 1.25× 阈值内的像素占比越高越好模型delta1YOLO26n-depth0.882YOLO26s-depth0.855YOLO26m-depth0.919YOLO26l-depth0.927YOLO26x-depth0.923可以注意到 m/l/x 三个规格已进入非常接近的区间其中 l 规格在带 TTA 的官方协议下 delta1 最高0.927而 n 规格0.882虽体量最小仍接近 m 规格体现了该系列在精度-资源权衡上的梯度设计。数据集 YAML 配置深度解析Ultralytics 使用 YAML 文件定义数据集配置。nyu-depth.yaml 的完整内容如下# Ultralytics AGPL-3.0 License - https://ultralytics.com/license # NYU Depth V2 dataset for monocular depth estimation # Documentation: https://cs.nyu.edu/~fergus/datasets/nyu_depth_v2.html # 795 train 654 val (Eigen test split) images, 480x640, indoor scenes, depth in meters # Example usage: yolo depth train datanyu-depth.yaml modelyolo26n-depth.pt # parent # ├── ultralytics # └── datasets # └── nyu-depth-png ← downloads here (≈1.5 GB) # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: nyu-depth-png # dataset root dir (relative to Ultralytics settings datasets_dir) train: images/train # train images (relative to path) 795 images val: images/val # val images (relative to path) 654 images # Depth maps are paired uint16 millimeter PNGs under depth/split/, resolved by # swapping /images/ - /depth/ on each image path. # Classes nc: 1 names: 0: depth channels: 3 depth_scale: 1000 # Download script/URL (optional) download: https://github.com/ultralytics/assets/releases/download/v0.0.0/nyu-depth-png.zip结合仓库源码各字段的实际作用如下path: nyu-depth-png数据集根目录名相对于 Ultralytics 设置中的datasets_dir。首次使用时会按download字段自动下载并解压到该目录train/val图像目录相对于path的路径分别对应 795 张训练图与 654 张验证图Eigen test split深度图路径约定YAML 注释明确深度图是与图像配对的 uint16 毫米 PNG位于depth/split/下通过将每个图像路径中的/images/替换为/depth/解析得到。从源码结构看BaseDataset 会为每张图像构建depth_files_by_image映射见 dataset.py#L467-L512实现与上述路径替换一致nc: 1与names: {0: depth}深度任务把深度视为单一语义通道沿用检测/语义分割任务同一套类注册结构channels: 3输入为 RGB 三通道图像depth_scale: 1000深度 PNG 的量化比例。源码中默认常量DEPTH_PNG_SCALE 1000见 utils.py#L63即 uint16 像素值存储的是毫米读取时除以 1000 得到米制深度像素值 0 表示无效深度。load_depth函数utils.py#L84负责该换算训练与验证的 DataLoader 均通过depth_scale参数驱动这一过程download可选的自动下载源指向 Ultralytics assets 仓库打包好的nyu-depth-png.zip约 1.5 GB。验证与评测从 API 到指标计算官方验证命令在 NYU Depth V2 基准上评估 YOLO26-Depth 模型官方文档给出两种等价方式# Python from ultralytics import YOLO # Load a model model YOLO(yolo26x-depth.pt) # load a pretrained depth model # Evaluate on the NYU Depth V2 benchmark results model.val(datanyu-depth.yaml)# CLI # Evaluate a pretrained *.pt model yolo depth val datanyu-depth.yaml modelyolo26x-depth.pt完整的验证参数列表可参考 Validation 文档。DepthValidator深度任务的验证器DepthValidator 继承自DetectionValidator但针对稠密预测任务做了三处关键定制无 NMSpostprocess直接返回预测结果深度图无需非极大值抑制分辨率对齐update_metrics中若预测图与真值尺寸不一致会双线性插值到真值分辨率再计算指标val.py#L51-L60指标初始化init_metrics用数据集 YAML 的max_depth缺省 100.0 m构造DepthMetricsval.py#L36-L39。DDP 场景下gather_stats会用all_reduce把各 rank 的分片累加器汇总到 rank 0保证多卡验证时指标覆盖完整验证集而非单个分片print_results则以检测风格的对齐表格输出delta1, abs_rel, rmse, silog四列指标行标签为depth_val。验证过程中的预测结果会以深度热力图叠加形式保存为val_batch{ni}_pred.jpg。DepthMetricsEigen 协议下的六项指标核心指标实现位于 DepthMetrics。其update_stats的逐图流程与文档描述的评测协议严格对应有效像素掩码Eigen 协议只统计真值深度落在(min_depth, max_depth)开区间内的像素默认min_depth0.001m、max_depth100.0m可在 YAML 中以max_depth覆盖有效像素下限有效真值像素少于 10 个的图像整张跳过沿用 Depth Anything V2 的同类下限避免用极少像素做尺度对齐产生无意义结果尺度对齐alignmedian时用median(gt)/median(pred)对每张图做尺度缩放中位数即仅尺度对齐文档中提到的 log-least-squares 对齐则属于发布指标所用的 TTA 评测协议非有限值处理NaN/Inf 预测按深度上下界填充并钳制到[min_depth, max_depth]而不是把整张图从平均中隐藏逐图定稿、按图平均每张图先算出六项指标再以 float64 累加、最后除以图像数使每张图权重相同与 Depth Anything V2、Monodepth2 的按样本平均口径一致。六项指标及含义源码keys属性指标定义delta1满足max(p/g, g/p) 1.25的像素占比论文主报指标也是fitnessdelta2满足max(p/g, g/p) 1.25²的像素占比delta3满足max(p/g, g/p) 1.25³的像素占比abs_rel平均绝对相对误差mean(|p−g|/g)rmse根均方误差米silog尺度不变对数误差λ1 方差形式ZoeDepth/KITTI 口径×100终端输出即为DepthValidator的print_results表格Class | Images | delta1 | abs_rel | rmse | silog。预训练模型与训练用法YOLO26 深度家族yolo26n/s/m/l/x-depth在 NYU Depth V2 上按零样本方式评测模型权重从最新的 Ultralytics release 自动下载例如 YOLO26x-depth 自 v8.4.0 起可用覆盖从小到大的多种规格以适应不同精度与资源需求。nyu-depth.yaml 头部注释同时给出了训练示例yolo depth train datanyu-depth.yaml modelyolo26n-depth.pt。从源码看DepthTrainer 在训练结束后会执行一步尺度校准在验证集上拟合 log-affine 的 scale-only 参数cal_a/cal_b并写回best.pt/last.pt使模型开箱即输出米制缩放的深度可选地生成val_batch{ni}_calibrated.jpg四联对比图RGB | GT | raw | calibrated。此外训练阶段还会绘制训练集真值深度分布直方图labels.jpg均值/中位数/标准差标注用于快速检查深度数据的有效范围。引用与致谢若在研究或开发工作中使用了 NYU Depth V2 数据集请引用以下论文inproceedings{silberman2012indoor, title{Indoor Segmentation and Support Inference from RGBD Images}, author{Silberman, Nathan and Hoiem, Derek and Kohli, Pushmeet and Fergus, Rob}, booktitle{Proceedings of the European Conference on Computer Vision (ECCV)}, year{2012} }小结NYU Depth V2 是 YOLO26-Depth 的主要零样本评测基准官方模型不在其 train 划分上训练654 张 Eigen 测试图全程 held-out仓库通过 nyu-depth.yaml 将 795 训练 654 验证图封装为开箱即用的配置uint16 毫米 PNG 深度经depth_scale: 1000换算为米验证链路由 DepthValidator 与 DepthMetrics 构成完整实现 Eigen 协议有效深度区间掩码、逐图中位数对齐、按图平均输出 delta1/abs_rel/rmse/silog 等标准指标复现提示带 TTA log-least-squares 对齐的官方 delta1最高 0.927与仓库内置验证命令的单尺度数字最高 0.860口径不同对比结果时应先确认所用评测协议。【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考