Seguridad lista para empresas: Cumplimiento de ISO 27001 + SOC 2 Tipo I.

Link to this sectionConjunto de datos de profundidad ARKitScenes#

ARKitScenes es un conjunto de datos RGB-D de interiores a gran escala del mundo real, capturado con ARKit de Apple en dispositivos iPad Pro equipados con un escáner LiDAR. Es el conjunto de datos RGB-D de interiores del mundo real más grande de su tipo, que proporciona escenas interiores diversas capturadas de forma natural con una verdad de terreno de profundidad precisa para la estimación de profundidad monocular.

Link to this sectionCaracterí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.

Link to this sectionEstructura 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 consiste en una imagen RGB y un mapa de profundidad .npy float32 emparejado que almacena distancias por píxel en metros, siguiendo el formato de conjunto de datos de profundidad de Ultralytics.

Link to this sectionObté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 repositorio de ARKitScenes. Clona el repositorio y descarga el subconjunto de aumento de resolución 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 cercano. Consulta la conversión al formato de conjunto de datos de profundidad de Ultralytics:

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)))

Link to this sectionPapel 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.

Link to this sectionYAML 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, las 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

Link to this sectionUso#

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 Entrenamiento 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)

Link to this sectionModelos preentrenados#

La familia de profundidad YOLO26 se entrena en la amplia mezcla de preentrenamiento de profundidad multiconjunto de datos de la que forma parte ARKitScenes. Estos modelos se descargan automáticamente desde el último lanzamiento de Ultralytics, por ejemplo YOLO26x-depth de la v8.4.0, y abarcan una gama de tamaños para diferentes requisitos de precisión y recursos.

Link to this sectionCitas 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}
}

Nos gustaría agradecer a los autores por crear y mantener este valioso recurso para la comunidad de visión artificial.

Colaboradores

Comentarios