Conjunto de datos de profundidad ARKitScenes#
ARKitScenes es un conjunto de datos RGB-D de interiores del mundo real y a gran escala, capturado con ARKit de Apple en dispositivos iPad Pro equipados con un escáner LiDAR. Es el mayor conjunto de datos RGB-D de interiores del mundo real de su tipo y proporciona escenas de interiores diversas capturadas de forma natural, con valores de referencia de profundidad precisos para la estimación de profundidad monocular.
Características principales#
- Capturado con el escáner LiDAR y la cámara RGB de ARKit de Apple en iPad Pro, lo que produce datos de sensores reales (no sintéticos).
- Abarca escenas interiores diversas para la comprensión de escenas interiores en 3D.
- Rango de profundidad corto, aproximadamente de 0,5 a 6 m (profundidad máxima mediana de unos 2,4 m), típico de la captura manual en interiores.
- Valores de referencia de profundidad densos derivados de LiDAR y alineados con los fotogramas RGB.
- La mayor fuente individual del mundo real en la combinación de preentrenamiento de profundidad de Ultralytics.
Estructura del dataset#
El conjunto de datos de profundidad ARKitScenes se divide en dos subconjuntos:
- Train: 676.080 imágenes con mapas de profundidad emparejados para el entrenamiento.
- Val: 21.559 imágenes con mapas de profundidad emparejados para la validación durante el entrenamiento del modelo.
Cada muestra consta de una imagen RGB y un PNG de profundidad uint16 emparejado en milímetros (depth_scale: 1000), conforme al formato de conjunto de datos de profundidad de Ultralytics.
Obtén los datos#
ARKitScenes no dispone de descarga automática: Apple distribuye los datos y, para descargarlos, debes aceptar las condiciones de licencia del repositorio de ARKitScenes. Clona el repositorio y descarga el subconjunto de aumento de muestreo de profundidad, que empareja fotogramas RGB con profundidad registrada:
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 ./dataLos fotogramas de profundidad son PNG uint16 en milímetros (0 = no válido), y los nombres de archivo RGB y de profundidad son marcas de tiempo de captura que no coinciden exactamente; empareja cada fotograma de profundidad con el fotograma RGB cuya marca de tiempo sea más cercana. Conversión de referencia al formato de conjunto de datos de profundidad de 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)))Papel en YOLO26-Depth#
ARKitScenes es una fuente de entrenamiento en la combinación de preentrenamiento multidataset de Ultralytics YOLO26-Depth, que contiene aproximadamente 2,19 millones de pares imagen–profundidad. Al ser la mayor fuente individual del mundo real en esta combinación, proporciona abundantes datos reales de profundidad LiDAR en interiores, lo que sirve de referencia para la precisión del modelo en distancias cortas en interiores. Los modelos resultantes se evalúan en las referencias estándar NYU, KITTI, Make3D, ETH3D e iBims-1.
YAML del dataset#
Se utiliza un archivo YAML para definir la configuración del conjunto de datos. Contiene información sobre las rutas, las clases y otra información relevante del conjunto de datos.
# 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: 3Uso#
Para entrenar un modelo YOLO26n-depth con el conjunto de datos ARKitScenes y un tamaño de imagen de 640, puedes utilizar los siguientes fragmentos de código. Para consultar una lista completa de los argumentos disponibles, visita la página de Entrenamiento del modelo.
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)Modelos preentrenados#
La familia de profundidad YOLO26 se entrena con la amplia combinación de preentrenamiento de profundidad multidataset de la que forma parte ARKitScenes. Estos modelos se descargan automáticamente desde la versión más reciente de Ultralytics; por ejemplo, YOLO26x-depth desde la versión v8.4.0, y abarcan distintos tamaños para diferentes requisitos de precisión y recursos.
Citas y agradecimientos#
Si utilizas el conjunto de datos ARKitScenes en tu trabajo de investigación o desarrollo, cita el siguiente artículo:
@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}
}Queremos agradecer a los autores la creación y el mantenimiento de este valioso recurso para la comunidad de visión por computador.
Preguntas frecuentes#
ARKitScenes es la fuente del mundo real más grande en la mezcla de entrenamiento previo de YOLO26-Depth, que consta de aproximadamente 2,19 millones de imágenes, aportando 676.080 imágenes de entrenamiento y 21.559 de validación capturadas con el escáner LiDAR de dispositivos Apple iPad Pro. La profundidad interior densa de ARKitScenes ancla la precisión a corta distancia de los modelos lanzados, que posteriormente se evalúan en NYU Depth V2, KITTI, ETH3D, Make3D y iBims-1.
ARKitScenes no cuenta con descarga automática. Acepta los términos de licencia en el repositorio de ARKitScenes, descarga el subconjunto de muestreo ascendente de profundidad con el script oficial
download_data.pyy empareja cada fotograma de profundidad con su fotograma RGB de marca de tiempo más cercana utilizando el script de conversión en Obtain the Data. El resultado sigue el diseño de profundidad estándar de Ultralytics con archivos PNG en milímetros uint16.