ARKitScenes 深度数据集#
ARKitScenes 是一个大规模真实室内 RGB-D 数据集,使用配备 LiDAR 扫描仪的 iPad Pro 设备,通过 Apple 的 ARKit 采集。它是同类数据集中规模最大的真实室内 RGB-D 数据集,为单目深度估计提供了多样且自然采集的室内场景,以及准确的深度真值。
主要特性#
- 使用 Apple 的 ARKit 在 iPad Pro 上通过 LiDAR 扫描仪和 RGB 摄像头采集,生成真实的(非合成)传感器数据。
- 涵盖多样的室内场景,用于 3D 室内场景理解。
- 深度范围较短,约为 0.5–6 m(最大深度中位数约为 2.4 m),符合手持式室内采集的典型特征。
- 与 RGB 帧对齐的密集 LiDAR 派生深度真值。
- Ultralytics 深度预训练混合数据集中规模最大的单一真实世界数据源。
数据集结构#
ARKitScenes 深度数据集分为两个子集:
- Train:676,080 张图像,配有对应的深度图,用于训练。
- Val:21,559 张图像,配有对应的深度图,用于模型训练期间的验证。
每个样本由一张 RGB 图像和一张以毫米为单位的配对 uint16 深度 PNG(depth_scale: 1000)组成,遵循 Ultralytics 深度数据集格式。
获取数据#
ARKitScenes 不支持自动下载——数据由 Apple 分发,下载需要在 ARKitScenes 存储库中接受许可条款。克隆该存储库并下载深度上采样子集,该子集将 RGB 帧与已配准的深度数据配对:
git clone https://github.com/apple/ARKitScenes && cd ARKitScenes
python3 download_data.py upsampling --split Training --download_dir ./data
python3 download_data.py upsampling --split Validation --download_dir ./data深度帧是以毫米为单位的 uint16 PNG(0 = 无效值),RGB 和深度文件名是采集时间戳,二者并不完全匹配——请将每个深度帧与时间戳最近的 RGB 帧配对。请参考转换为 Ultralytics 深度数据集格式的方法:
import shutil
from pathlib import Path
import cv2
src, dst = Path("data/upsampling"), Path("datasets/depth-arkitscenes")
for split, out in (("Training", "train"), ("Validation", "val")):
(dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
(dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
for video in sorted((src / split).iterdir()):
rgbs = {float(p.stem.split("_")[-1]): p for p in (video / "lowres_wide").glob("*.png")}
if not rgbs:
continue
for depth_png in sorted((video / "lowres_depth").glob("*.png")):
t = float(depth_png.stem.split("_")[-1])
rgb = rgbs[min(rgbs, key=lambda k: abs(k - t))] # nearest-timestamp RGB frame
name = f"{video.name}_{depth_png.stem}"
shutil.copy2(depth_png, dst / f"depth/{out}/{name}.png")
cv2.imwrite(str(dst / f"images/{out}/{name}.png"), cv2.imread(str(rgb)))在 YOLO26-Depth 中的作用#
ARKitScenes 是 Ultralytics YOLO26-Depth 多数据集预训练混合数据中的一个训练数据源,该混合数据集包含约 219 万个图像–深度对。作为其中规模最大的单一真实数据源,它提供了大量真实世界的室内 LiDAR 深度数据,为模型的短距离室内精度提供了重要基础。最终模型会在标准 NYU、KITTI、Make3D、ETH3D 和 iBims-1 基准上进行评估。
数据集 YAML#
使用 YAML 文件来定义数据集配置。它包含有关数据集路径、类别和其他相关信息。
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# ARKitScenes dataset for monocular depth estimation — real indoor RGB-D from Apple ARKit (iPad Pro LiDAR), depth ~0.5-6 m
# Documentation: https://docs.ultralytics.com/datasets/depth/arkitscenes
# Example usage: yolo depth train data=depth-arkitscenes.yaml model=yolo26n-depth.pt
# No autodownload — obtain the source data (see docs) and arrange it as below.
# parent
# ├── ultralytics
# └── datasets
# └── depth-arkitscenes
# ├── images/{train,val} # RGB images
# └── depth/{train,val} # paired 16-bit *.png depth maps (images/ -> depth/)
path: depth-arkitscenes # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 676080 images
val: images/val # val images (relative to 'path') 21559 images
nc: 1
names:
0: depth
channels: 3使用方法#
要在 ARKitScenes 数据集上以 640 的图像尺寸训练 YOLO26n-depth 模型,可以使用以下代码片段。有关可用参数的完整列表,请参阅模型的训练页面。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load a pretrained depth model (recommended for training)
# Train the model
results = model.train(data="depth-arkitscenes.yaml", epochs=100, imgsz=640)预训练模型#
YOLO26 深度系列在广泛的多数据集深度预训练混合数据上进行训练,ARKitScenes 就是其中的一部分。这些模型会从最新的 Ultralytics 版本自动下载,例如从 v8.4.0 下载 YOLO26x-depth,并提供多种尺寸,以满足不同的精度和资源需求。
引用和致谢#
如果你在研究或开发工作中使用 ARKitScenes 数据集,请引用以下论文:
@inproceedings{baruch2021arkitscenes,
title={ARKitScenes: A Diverse Real-World Dataset for 3D Indoor Scene Understanding Using Mobile RGB-D Data},
author={Baruch, Gilad and Chen, Zhuoyuan and Dehghan, Afshin and Dimry, Tal and Feigin, Yuri and Fu, Peter and Gebauer, Thomas and Joffe, Brandon and Kurz, Daniel and Schwartz, Arik and Shulman, Elad},
booktitle={Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
year={2021}
}我们谨此感谢创建和维护这一宝贵资源的作者,他们为计算机视觉社区作出了贡献。
常见问题#
ARKitScenes 是约 219 万张图片的 YOLO26-Depth 预训练混合集中规模最大的真实世界数据源,贡献了 676,080 张训练图片和 21,559 张验证图片,这些图片是通过 Apple iPad Pro 设备的 LiDAR 扫描仪捕获的。其密集的室内深度锚定了所发布模型的短距离准确性,随后这些模型会在 NYU Depth V2、KITTI、ETH3D、Make3D 和 iBims-1 上进行评估。
ARKitScenes 没有自动下载功能。在 ARKitScenes 仓库中接受许可条款,使用官方的
download_data.py脚本下载深度上采样子集,并使用获取数据中的转换脚本将每个深度帧与其时间戳最接近的 RGB 帧配对。结果遵循带有 uint16 毫米 PNG 的标准 Ultralytics 深度布局。