YOLO Vision 2026 :

Jeu de données de profondeur ARKitScenes#

ARKitScenes est un jeu de données RGB-D d'intérieur réel à grande échelle capturé avec l'ARKit d'Apple sur des appareils iPad Pro équipés d'un scanner LiDAR. Il s'agit du plus grand jeu de données RGB-D d'intérieur réel de ce type, offrant des scènes d'intérieur diverses et capturées naturellement avec une vérité terrain de profondeur précise pour l'estimation de la profondeur monoculaire.

Fonctionnalités clés#

  • Capturé avec le scanner LiDAR et la caméra RGB de l'ARKit d'Apple sur iPad Pro, produisant des données de capteur réelles (non synthétiques).
  • Couvre diverses scènes intérieures pour la compréhension de scènes 3D en intérieur.
  • Plage de profondeur courte, environ 0,5–6 m (profondeur maximale médiane autour de 2,4 m), typique d'une capture intérieure portable.
  • Vérité terrain de profondeur dense dérivée du LiDAR, alignée sur les cadres RGB.
  • La plus grande source unique de données réelles dans le mix de pré-entraînement de profondeur Ultralytics.

Structure du jeu de données#

Le jeu de données de profondeur ARKitScenes est divisé en deux sous-ensembles :

  1. Train : 676 080 images avec cartes de profondeur appariées pour l'entraînement.
  2. Val : 21 559 images avec cartes de profondeur appariées pour la validation lors de l'entraînement du modèle.

Chaque échantillon se compose d'une image RGB et d'une carte de profondeur .npy float32 associée stockant les distances par pixel en mètres, suivant le format de jeu de données de profondeur Ultralytics.

Obtenir les données#

ARKitScenes ne dispose pas de téléchargement automatique — les données sont distribuées par Apple, et le téléchargement nécessite l'acceptation des conditions de licence dans le dépôt ARKitScenes. Clone le dépôt et télécharge le sous-ensemble de suréchantillonnage de profondeur, qui associe les images RGB à la profondeur enregistrée :

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

Les images de profondeur sont des fichiers PNG uint16 en millimètres (0 = invalide), et les noms de fichiers RGB/profondeur sont des horodatages de capture qui ne correspondent pas exactement — associe chaque image de profondeur à l'image RGB ayant l'horodatage le plus proche. Conversion de référence vers le format de jeu de données de profondeur 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)))

Rôle dans YOLO26-Depth#

ARKitScenes est une source d'entraînement dans le mix de pré-entraînement multi-jeu de données Ultralytics YOLO26-Depth d'environ 2,19 millions de paires image-profondeur. En tant que plus grande source réelle unique dans ce mix, il fournit une abondance de profondeur LiDAR intérieure réelle qui ancre la précision intérieure à courte portée du modèle. Les modèles résultants sont évalués sur les benchmarks standards NYU, KITTI, Make3D, ETH3D et iBims-1.

YAML du jeu de données#

Un fichier YAML (Yet Another Markup Language) est utilisé pour définir la configuration du jeu de données. Il contient des informations sur les chemins, les classes et d'autres informations pertinentes du jeu de données.

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

Utilisation#

Pour entraîner un modèle YOLO26n-depth sur le jeu de données ARKitScenes avec une taille d'image de 640, tu peux utiliser les extraits de code suivants. Pour une liste complète des arguments disponibles, consulte la page d'entraînement du modèle.

Exemple d'entraînement
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)

Modèles pré-entraînés#

La famille de profondeur YOLO26 est entraînée sur le vaste mélange de pré-entraînement de profondeur multi-ensembles de données dont fait partie ARKitScenes. Ces modèles se téléchargent automatiquement à partir de la dernière version d'Ultralytics, par exemple YOLO26x-depth à partir de v8.4.0, et couvrent une gamme de tailles pour différentes exigences de précision et de ressources.

Citations et remerciements#

Si tu utilises le jeu de données ARKitScenes dans tes travaux de recherche ou de développement, merci de citer l'article suivant :

Citation
@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}
}

Nous tenons à remercier les auteurs pour la création et la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur.

Commentaires