YOLO Vision 2026:

Conjunto de datos de profundidad ARKitScenes#

ARKitScenes es un conjunto de datos RGB-D de interiores del mundo real 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 diversas escenas de interiores capturadas de forma natural con una verdad de terreno de profundidad precisa para la monocular depth estimation.

Características clave#

  • Capturado con el escáner LiDAR y la cámara RGB de ARKit de Apple en iPad Pro, lo que produce datos de sensor reales (no sintéticos).
  • Cubre diversas escenas interiores para la comprensión de escenas interiores en 3D.
  • Rango de profundidad corto, aproximadamente 0,5–6 m (profundidad máxima mediana alrededor de 2,4 m), típico de la captura manual en interiores.
  • Verdad de terreno de profundidad densa derivada de LiDAR alineada con los fotogramas RGB.
  • La fuente única del mundo real más grande en la mezcla de preentrenamiento de profundidad de Ultralytics.

Estructura del dataset#

El conjunto de datos de profundidad ARKitScenes se divide en dos subconjuntos:

  1. Train: 676 080 imágenes con mapas de profundidad emparejados para el entrenamiento.
  2. 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 mapa de profundidad float32 emparejado .npy que almacena distancias por píxel en metros, siguiendo el Ultralytics depth dataset format.

Obtén los datos#

ARKitScenes no tiene descarga automática; los datos son distribuidos por Apple, y la descarga requiere aceptar los términos de licencia en el ARKitScenes repository. Clona el repositorio y descarga el subconjunto de sobremuestreo de profundidad (depth-upsampling), 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 ./data

Los fotogramas de profundidad son PNGs uint16 en milímetros (0 = no válido), y los nombres de archivo RGB/profundidad son marcas de tiempo de captura que no coinciden exactamente; empareja cada fotograma de profundidad con el fotograma RGB de marca de tiempo más cercana. Conversión de referencia al Ultralytics depth dataset format:

from pathlib import Path

import cv2
import numpy as np

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}"
            depth = cv2.imread(str(depth_png), cv2.IMREAD_UNCHANGED).astype(np.float32) / 1000.0  # mm → m
            np.save(dst / f"depth/{out}/{name}.npy", depth)
            cv2.imwrite(str(dst / f"images/{out}/{name}.png"), cv2.imread(str(rgb)))

Rol en YOLO26-Depth#

ARKitScenes es una fuente de entrenamiento en la mezcla de preentrenamiento multiconjunto de datos YOLO26-Depth de Ultralytics de aproximadamente 2,19 millones de pares de imagen-profundidad. Como la fuente real única más grande en esta mezcla, suministra abundante profundidad LiDAR de interiores del mundo real que ancla la precisión en interiores de corto alcance del modelo. Los modelos resultantes se evalúan en los puntos de referencia estándar NYU, KITTI, Make3D, ETH3D e iBims-1.

YAML del dataset#

Se utiliza un archivo YAML (Yet Another Markup Language) para definir la configuración del conjunto de datos. Contiene información sobre las rutas del conjunto de datos, clases y otra información relevante.

ultralytics/cfg/datasets/depth-arkitscenes.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 *.npy, float32 meters (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

Uso#

Para entrenar un modelo YOLO26n-depth en el conjunto de datos ARKitScenes con un tamaño de imagen de 640, puedes usar los siguientes fragmentos de código. Para obtener una lista completa de los argumentos disponibles, consulta la página de Training del modelo.

Ejemplo de entrenamiento
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 modelos de profundidad YOLO26 se entrena con la amplia mezcla de preentrenamiento de profundidad de múltiples conjuntos de datos de la que forma parte ARKitScenes. Estos modelos se descargan automáticamente desde la última versión de Ultralytics, por ejemplo YOLO26x-depth desde v8.4.0, y abarcan un rango de 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, por favor cita el siguiente artículo:

Cita
@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 por crear y mantener este valioso recurso para la comunidad de visión por computador.

Comentarios