Ultralytics YOLO27 :

Jeu de données de profondeur ARKitScenes#

ARKitScenes est un jeu de données RGB-D intérieur à grande échelle, issu du monde réel, 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 intérieur réel de ce type, fournissant des scènes intérieures diversifiées et capturées naturellement, avec une vérité terrain de profondeur précise pour l'estimation de profondeur monoculaire.

Fonctionnalités clés#

  • Capturé avec le scanner LiDAR et la caméra RGB de l'ARKit d'Apple sur iPad Pro, ce jeu de données produit des données de capteurs réelles (non synthétiques).
  • Couvre des scènes intérieures variées pour la compréhension des scènes intérieures en 3D.
  • Courte plage de profondeur, d'environ 0,5 à 6 m (profondeur maximale médiane d'environ 2,4 m), typique d'une capture intérieure réalisée à la main.
  • Vérité terrain de profondeur dense, issue du LiDAR et alignée sur les images RGB.
  • La plus grande source unique issue du monde réel dans le mélange de préentraînement en profondeur d'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 des cartes de profondeur associées pour l'entraînement.
  2. Val : 21 559 images avec des cartes de profondeur associées pour la validation pendant l'entraînement du modèle.

Chaque échantillon se compose d'une image RGB et d'un fichier PNG de profondeur uint16 associé, en millimètres (depth_scale: 1000), conformément au format de jeu de données de profondeur Ultralytics.

Obtenir les données#

ARKitScenes ne propose aucun téléchargement automatique : les données sont distribuées par Apple et leur téléchargement nécessite d'accepter les conditions de licence dans le dépôt ARKitScenes. Clone le dépôt et télécharge le sous-ensemble d'upsampling 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 = valeur invalide), et les noms de fichiers RGB/profondeur correspondent à des horodatages de capture qui ne coïncident pas exactement : associe chaque image de profondeur à l'image RGB dont l'horodatage est le plus proche. Conversion de référence vers le format de jeu de données de profondeur 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)))

Rôle dans YOLO26-Depth#

ARKitScenes est une source d'entraînement du mélange de préentraînement multi-jeux de données d'Ultralytics YOLO26-Depth, qui comprend environ 2,19 millions de paires image–profondeur. En tant que plus grande source réelle unique de ce mélange, il fournit une grande quantité de données de profondeur LiDAR intérieures issues du monde réel, qui ancrent la précision à courte portée du modèle en intérieur. Les modèles obtenus sont évalués sur les benchmarks standard NYU, KITTI, Make3D, ETH3D et iBims-1.

YAML du jeu de données#

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

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

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 obtenir la liste complète des arguments disponibles, consulte la page 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 modèles de profondeur YOLO26 est entraînée sur le vaste mélange de préentraînement en profondeur multi-jeux de données auquel ARKitScenes appartient. Ces modèles se téléchargent automatiquement depuis la dernière version d'Ultralytics, par exemple YOLO26x-depth depuis la version v8.4.0, et couvrent différentes tailles pour répondre à divers besoins 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, cite 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 souhaitons remercier les auteurs d'avoir créé et maintenu cette ressource précieuse pour la communauté de la vision par ordinateur.

FAQ#

  • ARKitScenes est la plus grande source réelle unique du mélange de pré-entraînement d'environ 2,19 millions d'images de YOLO26-Depth, contribuant à hauteur de 676 080 images d'entraînement et de 21 559 images de validation capturées avec le scanner LiDAR d'appareils Apple iPad Pro. La profondeur intérieure dense de ARKitScenes ancre la précision à courte portée des modèles publiés, qui sont ensuite évalués sur NYU Depth V2, KITTI, ETH3D, Make3D et iBims-1.

  • ARKitScenes ne dispose pas de téléchargement automatique. Accepte les conditions de licence dans le référentiel ARKitScenes, télécharge le sous-ensemble de suréchantillonnage de profondeur avec le script officiel download_data.py, et associe chaque trame de profondeur à sa trame RGB la plus proche temporellement en utilisant le script de conversion dans Obtain the Data. Le résultat respecte la disposition de profondeur Ultralytics standard avec des fichiers PNG uint16 en millimètres.

  • ARKitScenes est un jeu de données d'intérieur tenu à la main avec des profondeurs d'environ 0,5 à 6 m et une profondeur maximale médiane d'environ 2,4 m, ce qui complète des sources à plus longue portée telles que KITTI et TartanAir dans le mélange d'entraînement.

Commentaires