Ultralytics YOLO26-Depth 训练数据解析:Virtual KITTI 2 稠密深度数据集的结构、配置与实战用法

发布时间:2026/10/28 9:33:06

Ultralytics YOLO26-Depth 训练数据解析:Virtual KITTI 2 稠密深度数据集的结构、配置与实战用法 Ultralytics YOLO26-Depth 训练数据解析Virtual KITTI 2 稠密深度数据集的结构、配置与实战用法【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralyticsVirtual KITTI 2vKITTI2是 Ultralytics YOLO26-Depth 单目深度估计模型预训练数据源之一它以照片级真实感的合成渲染方式复刻了 KITTI 驾驶场景并提供逐像素稠密真值深度。本篇指南基于仓库中的数据集文档与配置讲清 vKITTI2 的数据构成与训练分工、depth-vkitti2.yaml的逐字段含义尤其是depth_scale: 100厘米约定、自动下载与格式转换脚本的工作原理以及直接用 Python / CLI 在该数据集上训练 YOLO26-Depth 的完整方法。一、数据集概览为什么用合成数据训练户外深度估计Virtual KITTI 2vKITTI2是 KITTI 驾驶场景的照片级真实感合成复刻它从原始 KITTI 数据集中克隆了 5 条序列并在不同天气与光照条件下重新渲染同时提供逐像素稠密真值dense per-pixel ground truth。与真实 KITTI 数据相比vKITTI2 的核心价值在于稠密性真实 KITTI 的 Velodyne LiDAR 点云投影出的深度是稀疏的而 vKITTI2 为每个像素都给出深度真值。这种干净、稠密的户外驾驶几何正是单目深度估计模型所需要的监督信号因此 vKITTI2 与真实 KITTI 数据一起构成了 YOLO26-Depth 预训练混合数据中户外驾驶维度的重要互补。关键事实均来自 数据集文档照片级真实感的合成KITTI 驾驶场景复刻5 条克隆序列在多种天气与光照下渲染户外驾驶环境稠密逐像素真值深度真实 KITTI 稀疏 LiDAR 返回的稠密对应物深度范围约80 m为 Ultralytics 深度训练混合集贡献42,520 张图像25,780 训练 / 16,740 验证。二、数据集划分与文件组织vKITTI2 深度数据集划分为两个子集Train25,780 张图像配对的稠密深度图用于训练Val16,740 张图像配对的稠密深度图用于训练期间的验证。每张 RGB 图像都配有一张经过缩放的 uint16 深度 PNG遵循 Ultralytics 统一的深度数据集格式。源数据与转换后的 PNG 均使用厘米单位depth_scale: 100因此可以完整保留 80 m 的训练深度范围。深度编码约定depth_scale 100 的含义深度数据集文档给出了三种常见深度 PNG 编码约定的对照见 docs/en/datasets/depth/index.md约定depth_scale分辨率最大可编码深度默认 / ARKitScenes10001 mm65.535 mKITTI2563.90625 mm255.996 mVirtual KITTI 21001 cm655.35 m也就是说vKITTI2 的深度 PNG 中像素值 100 代表 1 米厘米级量化。uint16 PNG 把编码值0保留给无效像素因此 vKITTI2 约定下共有 65,535 个正深度值可用。需要注意的是上表中的最大深度是存储上限而非训练上限——数据集可以通过更小的max_depth独立控制参与损失与评估的深度区间vKITTI2 的 YAML 中即为 80 m。这套约定的底层实现在 ultralytics/data/utils.py 中DEPTH_PNG_SCALE 1000是默认的毫米级量化常量save_depth_png(path, depth, scale1000)把米制浮点数组按scale量化为 uint16 PNG无效像素NaN或非正值编码为0并在超出 uint16 可表示范围时抛出异常load_depth(path, scale1000)反向解码读取 uint16 PNG 后除以scale得到米制深度也支持直接读取米制浮点 NPY。目录布局与images → depth配对规则转换后的数据采用标准并行目录结构depth-vkitti2/ ├── images/ │ ├── train/ # RGB 图像 │ └── val/ └── depth/ ├── train/ # 配对的 16 位 *.png 深度图 └── val/加载器通过把路径中的images目录分量替换为depth来定位深度文件优先.png回退.npy这一逻辑见 DepthDataset._depth_path_for。此外 get_image_and_label 会在加载时用cv2.resize(..., INTER_NEAREST)把深度图对齐到图像尺寸因此深度图可以与 RGB 图像分辨率不同只要宽高比一致即可。数据集缓存哈希同样纳入了depth_scaleget_cache_hash修改该字段会触发缓存重建避免旧编码被误读。三、在 YOLO26-Depth 预训练中的角色Virtual KITTI 2 是用于预训练 Ultralytics YOLO26-Depth 模型的大规模多数据集混合约 219 万张图像中的训练源之一。该混合集横跨室内≤10 m到户外约 80 m的深度范围完整数据源清单可在 深度数据集总览 中查阅ARKitScenes、SUN RGB-D、DIODE、Hypersim、TartanAir、vKITTI2、KITTI、ImageNet 伪标注等。在这一混合中vKITTI2 为稀疏的真实 KITTI LiDAR 真值提供了稠密的合成户外驾驶对应物。需要明确的一点该配置下没有独立的 vKITTI2 留出基准。预训练得到的模型统一在标准单目深度基准上评估NYU Depth V2、KITTI、Make3D、ETH3D 和 iBims-1各基准说明见 docs/en/datasets/depth/。验证指标的实现见 DepthValidator它从数据 YAML 读取max_depth默认 100.0构造DepthMetrics只统计真值深度落在有效区间内的像素输出 delta1 / abs_rel / rmse / silog 等标准深度估计指标。四、数据集 YAML 逐字段解析仓库内置了该数据集的完整配置 ultralytics/cfg/datasets/depth-vkitti2.yaml内容如下保留原文注释# Ultralytics AGPL-3.0 License - https://ultralytics.com/license # Virtual KITTI 2 dataset for monocular depth estimation — photorealistic synthetic outdoor driving, dense per-pixel depth # Documentation: https://docs.ultralytics.com/datasets/depth/vkitti2 # Example usage: yolo depth train datadepth-vkitti2.yaml modelyolo26n-depth.pt # parent # ├── ultralytics # └── datasets # └── depth-vkitti2 ← downloads here (15 GB archives, ~85 GB converted) # ├── images/{train,val} # RGB images # └── depth/{train,val} # paired 16-bit *.png depth maps (images/ - depth/) # If an interrupted download leaves a partial dataset, delete the depth-vkitti2 dir and re-run to rebuild it. path: depth-vkitti2 # dataset root dir (relative to Ultralytics settings datasets_dir) train: images/train # train images (relative to path) 25780 images val: images/val # val images (relative to path) 16740 images max_depth: 80 # (m) maximum valid depth; GT beyond this is excluded from val metrics nc: 1 names: 0: depth channels: 3 depth_scale: 100 # source PNG value 100 1 meter (centimeters)字段说明字段取值说明pathdepth-vkitti2数据集根目录相对于 Ultralytics 设置中的datasets_dir下载脚本会自动把数据落在此处trainimages/train训练图像目录25,780 张valimages/val验证图像目录16,740 张max_depth80最大有效深度米真值超过该值的像素不计入验证指标见 DepthMetrics 的 Eigen 式评估协议nc/names1/{0: depth}深度任务的单类约定channels3RGB 三通道depth_scale100PNG 像素值 100 1 米厘米单位用于解码深度 PNG自动下载与格式转换脚本YAML 的download段内嵌了一个完整的转换脚本首次引用该 YAML 时会自动执行从 Naver Labs 官方镜像下载vkitti_2.0.3的rgb与depth两个 tar 归档合计约 15 GB到source/目录遍历rgb_*.jpg源文件按路径中解析出scene/variation/camera信息源布局为Scene01/clone/frames/rgb/Camera_0/rgb_00000.jpg划分规则Scene20 归入 val其余所有场景归入 train读取同名配对深度 PNG用(depth / 100).clip(max80)把厘米单位换算为米并裁剪到 80 m再通过 save_depth_png 以scale100厘米写回 uint16 PNG将 RGB 图像重命名并移动到images/{split}/最后删除source/原始归档转换后约 85 GB。脚本注释还给出了一条实用的运维提示如果下载中断留下了残缺数据集删除depth-vkitti2目录后重新运行即可重建。五、实战在 vKITTI2 上训练 YOLO26-Depth以下示例基于 docs/en/datasets/depth/vkitti2.md 原文以 640 输入尺寸训练yolo26n-depth。完整参数列表见 训练指南。Python 方式from ultralytics import YOLO # Load a model model YOLO(yolo26n-depth.pt) # load a pretrained model (recommended for training) # Train the model results model.train(datadepth-vkitti2.yaml, epochs100, imgsz640)CLI 方式# Start training from a pretrained *.pt model yolo depth train datadepth-vkitti2.yaml modelyolo26n-depth.pt epochs100 imgsz640几点实践提示datadepth-vkitti2.yaml指向仓库内置配置 ultralytics/cfg/datasets/depth-vkitti2.yaml首次运行会自动触发上述下载与转换流程约 15 GB 归档、转换后约 85 GB请预留磁盘空间若希望做大规模混合训练也可以按 深度数据集总览 的方式让train字段列出多个图像目录把 vKITTI2 与其他数据源组合验证阶段会按 YAML 中的max_depth: 80过滤有效像素报告 delta1 / abs_rel / rmse / silog 等指标见 docs/en/datasets/depth/index.md 的 FAQ 一节。预训练模型家族YOLO26 深度家族权重yolo26n-depth.pt、yolo26s-depth.pt、yolo26m-depth.pt、yolo26l-depth.pt、yolo26x-depth.pt均自动从 Ultralytics releases 下载且都训练于包含 Virtual KITTI 2 在内的多数据集混合。各模型的基准成绩与下载方式汇总在 深度估计任务页vKITTI2 在该表中以 80 m 深度范围、约 4.3 万张图像列于训练源一侧。六、引用与致谢如果你的研究或开发工作使用了 Virtual KITTI 2 数据集请引用原始论文article{cabon2020vkitti2, title{Virtual KITTI 2}, author{Yohann Cabon and Naila Murray and Martin Humenberger}, journal{arXiv preprint arXiv:2001.10773}, year{2020} }感谢 Virtual KITTI 2 的创作者将这一合成驾驶数据集提供给计算机视觉社区。小结vKITTI2 以合成渲染方式复刻 5 条 KITTI 序列提供 42,520 张RGB 稠密逐像素深度样本深度范围约 80 m它是 YOLO26-Depth 预训练混合约 219 万张中的合成户外驾驶源与稀疏的真实 KITTI LiDAR 真值互补本身不单独作为评估基准内置 depth-vkitti2.yaml 采用厘米级depth_scale: 100编码与max_depth: 80指标裁剪并内置约 15 GB 归档的自动下载与转换脚本Scene20 → val其余场景 → train通过yolo depth train datadepth-vkitti2.yaml modelyolo26n-depth.pt即可复现文档中的训练流程深度加载、配对与解码分别由 DepthDataset 和 load_depth / save_depth_png 实现。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/10/24 14:19:49

HGUC A型杰刚F91版模型制作全攻略:补色与旧化实战

如果你近期正好在清理堆积,或者想找一台不太占空间、又能练喷涂和旧化手的 1/144 机体,那么 2015 年发售的 HGUC A 型杰刚(F91.ver)是一盒很有得聊的套件。它在高达 F91 的世界观里属于联邦军仍在服役的“旧型主力机”&#xff0c…

2026/10/28 9:28:52

161、加密链路建立后读写权限被拒绝的分析

前两年做一个野外遥测终端项目,设备侧通过一条加密隧道把数据回传到边缘网关,网关再往内部存储服务里落盘。调试阶段一切正常,ping 得通,握手日志也漂亮,加密套件协商、证书校验、会话密钥导出,每一步都打印得清清楚楚。可一进压力测试就出鬼了:链路明明显示 e半导体厂商…

2026/10/28 9:28:52

【Android】Compose 布局基础

一. 构建基础布局 什么是界面UI? 应用的界面 (UI) 就是您在屏幕上所看到的内容(文本、图片、按钮和许多其他类型的元素)及其在屏幕上的布局方式。它既是应用向用户显示内容的方式,也是用户与应用展开互动的载体 1.1. Jetpack Compose介绍 什…

2026/10/28 9:28:52

vector的使用和模拟

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:28:52

List迭代器和模拟(迭代器的模拟)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/28 9:23:49

虚拟世界法律框架:智能合约与数字治理实践

1. 项目背景与核心价值"数字创世纪:在虚拟世界重写人类法典"这个项目名称本身就蕴含着深刻的时代命题。当元宇宙、数字孪生等技术从概念走向落地,我们突然发现:虚拟世界正在形成一套独立于现实社会的运行规则。去年某知名虚拟平台爆…

2026/10/27 14:24:03

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/27 9:34:54

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/28 3:32:29

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/28 0:02:13

Python股票自动交易系统源码解析:从行情获取到风控的完整链路

简介:这份资源是面向高校计算机、金融相关专业毕业设计场景的完整项目源码包,主题为基于Python的股票自动交易系统,适合需要完成毕设选题、课程设计或自学金融量化交易开发的学生与开发者参考。压缩包共收录687个文件,整体约14.93…

2026/10/28 0:02:13

视酷酷信IM源码部署指南:Java 17+MySQL 8.0.33实战配置

简介:这是一套2024年亲测可部署的视酷酷信IM即时通讯系统源码,面向具备Java、OC、C#及Vue开发能力的技术人员,解决私有化即时通讯平台快速搭建与二次定制需求,尤其适用于需集成商城、保障数据主权的中小型企业或独立开发者。资源共…

2026/10/28 0:02:13

Python爬取百度迁徙数据:接口解析、批量采集与避坑指南

简介:这份资源是一个用Python爬取百度迁徙数据的脚本压缩包,面向具备Python基础、希望入门网络爬虫与数据解析的开发者,解决按日期获取全国热门城市人口迁徙数据的问题。包内共1个文件,为单个py脚本,压缩包约1KB&#…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑