ARKitScenes Derinlik Veri Kümesi#
ARKitScenes, LiDAR tarayıcı ile donatılmış iPad Pro cihazlarında Apple'ın ARKit'i ile yakalanmış, büyük ölçekli gerçek dünyaya ait bir iç mekan RGB-D veri setidir. Türünün en büyük gerçek dünya iç mekan RGB-D veri seti olup, monocular depth estimation için doğru derinlik yer gerçeğiyle birlikte çeşitli, doğal olarak yakalanmış iç mekan sahneleri sağlar.
Temel Özellikler#
- iPad Pro'da Apple'ın ARKit'inin LiDAR tarayıcısı ve RGB kamerasıyla yakalanmış olup gerçek (sentetik olmayan) sensör verileri üretir.
- 3D iç mekan sahne anlayışı için çeşitli iç mekan sahnelerini kapsar.
- Tipik el tipi iç mekan çekimleri için yaklaşık 0,5–6 m (medyan maksimum derinlik yaklaşık 2,4 m) olan kısa derinlik aralığı.
- RGB kareleriyle hizalanmış, LiDAR'dan elde edilen yoğun derinlik yer gerçeği.
- Ultralytics derinlik ön eğitim karışımındaki tek en büyük gerçek dünya kaynağıdır.
Veri Kümesi Yapısı#
ARKitScenes derinlik veri kümesi iki alt kümeye ayrılmıştır:
- Train: Eğitim için eşleştirilmiş derinlik haritalarına sahip 676.080 görüntü.
- Val: Model eğitimi sırasında doğrulama için eşleştirilmiş derinlik haritalarına sahip 21.559 görüntü.
Her örnek, bir RGB görüntü ve metre cinsinden piksel başına mesafeleri depolayan eşleştirilmiş bir .npy float32 derinlik haritasından oluşur; bu, Ultralytics depth dataset format standardını takip eder.
Verileri Elde Et#
ARKitScenes otomatik indirme özelliğine sahip değildir; veriler Apple tarafından dağıtılır ve indirme işlemi, ARKitScenes repository içindeki lisans şartlarının kabul edilmesini gerektirir. Depoyu klonlayın ve RGB karelerini kayıtlı derinlikle eşleştiren derinlik yukarı örnekleme (depth-upsampling) alt kümesini indirin:
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 ./dataDerinlik kareleri milisaniye cinsinden (0 = geçersiz) uint16 PNG dosyalarıdır ve RGB/derinlik dosya adları tam olarak eşleşmeyen yakalama zaman damgalarıdır — her derinlik karesini en yakın zaman damgasına sahip RGB kare ile eşleştirin. Ultralytics depth dataset format formatına referans dönüştürme:
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)))YOLO26-Depth'teki Rolü#
ARKitScenes, yaklaşık 2,19 milyon görüntü-derinlik çiftinden oluşan Ultralytics YOLO26-Depth çoklu veri kümesi ön eğitim karışımında bir eğitim kaynağıdır. Bu karışımdaki tek en büyük gerçek kaynak olarak, modelin kısa menzilli iç mekan doğruluğunu sabitleyen zengin gerçek dünya iç mekan LiDAR derinliği sağlar. Elde edilen modeller standart NYU, KITTI, Make3D, ETH3D ve iBims-1 kıyaslamalarında değerlendirilir.
Veri Kümesi YAML#
Veri kümesi yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında veriler içerir.
# 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: 3Kullanım#
ARKitScenes veri setinde 640 görüntü boyutuyla bir YOLO26n-depth modeli eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Mevcut argümanların kapsamlı bir listesi için model Training sayfasına bak.
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)Önceden Eğitilmiş Modeller#
YOLO26 depth ailesi, ARKitScenes'in de bir parçası olduğu geniş çoklu veri seti derinlik ön eğitim karışımı üzerinde eğitilmiştir. Bu modeller, en son Ultralytics sürümünden, örneğin v8.4.0 sürümündeki YOLO26x-depth modelinden otomatik olarak indirilir ve farklı doğruluk ile kaynak gereksinimleri için çeşitli boyutları kapsar.
Alıntılar ve Teşekkür#
ARKitScenes veri kümesini araştırma veya geliştirme çalışmalarında kullanırsan lütfen şu makaleye atıfta bulun:
@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}
}Bilgisayarlı görü topluluğu için bu değerli kaynağı yarattıkları ve korudukları için yazarlara teşekkür ederiz.