ARKitScenes Derinlik Veri Kümesi#
ARKitScenes, LiDAR tarayıcıyla donatılmış iPad Pro cihazlarda Apple'ın ARKit'i kullanılarak kaydedilmiş, gerçek dünya iç mekânlarına ait büyük ölçekli bir RGB-D veri kümesidir. Kendi türündeki en büyük gerçek dünya iç mekân RGB-D veri kümesi olan ARKitScenes, monoküler derinlik tahmini için doğru derinlik yer gerçeği sunan, doğal biçimde kaydedilmiş çeşitli iç mekân sahneleri içerir.
Temel Özellikler#
- Gerçek (sentetik olmayan) sensör verileri üretmek için iPad Pro'da Apple'ın ARKit'ine ait LiDAR tarayıcı ve RGB kamera kullanılarak kaydedilmiştir.
- 3B iç mekân sahnesi anlayışı için çeşitli iç mekân sahnelerini kapsar.
- Yaklaşık 0,5–6 m aralığında kısa derinlik mesafesi (medyan maksimum derinlik yaklaşık 2,4 m); elde taşınan cihazlarla yapılan iç mekân çekimlerinde tipiktir.
- RGB kareleriyle hizalanmış, LiDAR'dan türetilmiş yoğun derinlik referans verisi.
- Ultralytics derinlik ön eğitim karmasındaki gerçek dünya kaynaklarının en büyüğü.
Veri Kümesi Yapısı#
ARKitScenes derinlik veri kümesi iki alt kümeye ayrılır:
- Train: Eğitim için eşlenmiş derinlik haritaları içeren 676.080 görüntü.
- Val: Model eğitimi sırasında doğrulama için eşlenmiş derinlik haritaları içeren 21.559 görüntü.
Her örnek, bir RGB görüntüsü ve milimetre cinsinden bir eşlenmiş uint16 derinlik PNG'sinden (depth_scale: 1000) oluşur ve Ultralytics derinlik veri kümesi biçimini izler. Bu sayılar, 4.520 Training videosunun 4.347'sinden ve 551 Validation videosunun 102'sinden oluşturulan, yayımlanan modellerde kullanılan alt kümeye aittir; bölümlerin tamamının dönüştürülmesi daha fazla eşleşme üretir.
Verileri edinme#
ARKitScenes için otomatik indirme yoktur — veriler Apple tarafından dağıtılır ve indirme işlemi ARKitScenes deposundaki lisans koşullarını kabul etmeyi gerektirir. Depoyu klonla ve raw alt kümesinin lowres_wide (RGB) ve lowres_depth varlıklarını indir; bu alt küme, 4.520 videoluk Training ve 551 videoluk Validation bölümlerinin tamamını kapsar. Video listesi zorunludur ve --split olmadan bölüm CSV dosyasını iletmek, iki bölümü de tek çağrıda indirir:
git clone https://github.com/apple/ARKitScenes && cd ARKitScenes
python3 download_data.py raw --video_id_csv raw/raw_train_val_splits.csv \
--raw_dataset_assets lowres_wide lowres_depth --download_dir ./dataKareler data/raw/{Training,Validation}/<video_id>/{lowres_wide,lowres_depth}/ dizinine kaydedilir. Yaklaşık 2,5 TB disk alanı ayır: ham akışlar yaklaşık ~60 FPS hızında çalışır ve aşağıdaki dönüştürme her 30. kareyi (yaklaşık ~2 Hz) tutar.
Derinlik kareleri milimetre cinsinden uint16 PNG dosyalarıdır (0 = geçersiz); RGB ve derinlik dosya adları çekim zaman damgalarını taşır ve tam olarak eşleşmez — her RGB karesini zaman damgası en yakın olan derinlik karesiyle eşleştir. Ultralytics derinlik veri kümesi biçimine örnek dönüştürme:
import shutil
from bisect import bisect_left
from pathlib import Path
src, dst = Path("data/raw"), 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()):
depths = sorted((video / "lowres_depth").glob("*.png"), key=lambda p: float(p.stem.split("_")[-1]))
if not depths:
continue
times = [float(p.stem.split("_")[-1]) for p in depths]
rgbs = sorted((video / "lowres_wide").glob("*.png"), key=lambda p: float(p.stem.split("_")[-1]))
for rgb in rgbs[30::30]: # every 30th frame of the ~60 FPS capture (~2 Hz)
t = float(rgb.stem.split("_")[-1])
i = min(bisect_left(times, t), len(times) - 1)
if i and t - times[i - 1] < times[i] - t:
i -= 1 # nearest-timestamp depth frame
name = f"{out}_{video.name}_{depths[i].stem}"
shutil.copy2(rgb, dst / f"images/{out}/{name}.png")
shutil.copy2(depths[i], dst / f"depth/{out}/{name}.png")YOLO26-Depth'teki rolü#
ARKitScenes, yaklaşık 2,19 milyon görüntü-derinlik eşleşmesinden oluşan Ultralytics YOLO26-Depth çoklu veri kümesi ön eğitim karmasında bir eğitim kaynağıdır. Bu karmadaki gerçek kaynakların en büyüğü olarak, modelin kısa mesafeli iç mekân doğruluğunu destekleyen bol miktarda gerçek dünya iç mekân LiDAR derinlik verisi sağlar. Ortaya çıkan modeller standart NYU, KITTI, Make3D, ETH3D ve iBims-1 kıyaslama testlerinde değerlendirilir.
Veri Kümesi YAML Dosyası#
Veri kümesi yapılandırmasını tanımlamak için bir YAML dosyası kullanılır. Dosyada veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler bulunur.
# 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: 3Kullanım#
640 görüntü boyutuyla ARKitScenes veri kümesinde YOLO26n-depth modelini eğitmek için aşağıdaki kod örneklerini kullanabilirsin. Kullanılabilir bağımsız değişkenlerin kapsamlı listesi için modelin Eğitim sayfasına bak.
from ultralytics import YOLO
# Bir model yükle
model = YOLO("yolo26n-depth.pt") # Önceden eğitilmiş bir derinlik modeli yükle (eğitim için önerilir)
# Modeli eğit
results = model.train(data="depth-arkitscenes.yaml", epochs=100, imgsz=640)Önceden Eğitilmiş Modeller#
YOLO26 derinlik ailesi, ARKitScenes'in de parçası olduğu geniş çoklu veri kümesi derinlik ön eğitim karması üzerinde eğitilir. Bu modeller ilk kullanımda Ultralytics'in v8.4.0 varlık sürümünden otomatik olarak indirilir; örneğin YOLO26x-depth ve farklı doğruluk ve kaynak gereksinimlerini karşılamak üzere çeşitli boyutlarda sunulur.
Atıflar ve Teşekkürler#
ARKitScenes veri kümesini araştırma veya geliştirme çalışmalarında kullanıyorsan lütfen aşağıdaki 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ğı oluşturup sürdüren yazarlara teşekkür ederiz.
Sık Sorulan Sorular#
ARKitScenes, yaklaşık 2,19 milyon görüntüden oluşan YOLO26-Depth ön eğitim karmasındaki en büyük gerçek dünya kaynağıdır ve Apple iPad Pro cihazlarının LiDAR tarayıcısıyla çekilmiş 676.080 eğitim ve 21.559 doğrulama görüntüsü sağlar. Yoğun iç mekân derinlik verisi, yayımlanan modellerin kısa mesafeli doğruluğunu destekler; modeller daha sonra NYU Depth V2, KITTI, ETH3D, Make3D ve iBims-1 üzerinde değerlendirilir.
ARKitScenes otomatik olarak indirilmez. ARKitScenes deposundaki lisans koşullarını kabul et, resmi
download_data.pybetiğini kullanarak raw alt kümesininlowres_widevelowres_depthvarlıklarını indir; ardından her 30. RGB karesini tut ve Verileri edinme bölümündeki dönüştürme betiğini kullanarak zaman damgası en yakın derinlik karesiyle eşleştir. Sonuç, uint16 milimetre PNG'leri içeren standart Ultralytics derinlik düzenini izler.