Sécurité prête pour l'entreprise : Conforme ISO 27001 + SOC 2 Type I.

Link to this sectionJeu de données de profondeur ARKitScenes#

ARKitScenes est un jeu de données RGB-D intérieur à grande échelle capturé dans le monde réel avec l'ARKit d'Apple sur des iPad Pro équipés d'un scanner LiDAR. C'est le plus grand jeu de données RGB-D intérieur du genre, fournissant des scènes intérieures diverses capturées naturellement avec une vérité terrain de profondeur précise pour l'estimation de profondeur monoculaire.

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

Link to this sectionStructure 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 appariée stockant les distances par pixel en mètres, suivant le format de jeu de données de profondeur Ultralytics.

Link to this sectionObtenir 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 d'accepter les termes de la licence dans le dépôt ARKitScenes. Clone le dépôt et télécharge le sous-ensemble depth-upsampling, qui apparie les images RGB avec une 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 cadres de profondeur sont des PNG uint16 en millimètres (0 = invalide), et les noms de fichiers RGB/profondeur sont des horodatages de capture qui ne correspondent pas exactement — apparie chaque cadre de profondeur avec le cadre RGB ayant l'horodatage le plus proche. Référence de conversion 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)))

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

Link to this sectionYAML 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 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 *.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 sectionUtilisation#

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

Link to this sectionModèles pré-entraînés#

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

Link to this sectionCitations 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 souhaitons remercier les auteurs pour la création et la maintenance de cette ressource précieuse pour la communauté de la vision par ordinateur.

Contributeurs

Commentaires