YOLO Vision 2026:

Derinlik Tahmini Veri Setlerine Genel Bakış#

Tek kameralı derinlik tahmini, bir görüntünün her pikseline metre cinsinden kayan noktalı bir derinlik değeri atar. Eğitim hedefi, bir .npy float32 dizisi olarak saklanan yoğun bir piksel başına derinlik haritasıdır. Her değer, kameradan ilgili sahne noktasına olan mesafeyi temsil eder.

Bu kılavuz, Ultralytics YOLO derinlik tahmini modelleri tarafından kullanılan veri seti formatını açıklar ve eğitim ve doğrulama için mevcut olan yerleşik veri seti yapılandırmalarını listeler.

Desteklenen Veri Seti Formatı#

NPY derinlik haritası formatı#

Her eğitim örneği bir RGB görüntüden ve eşleşen bir .npy derinlik dosyasından oluşur. Derinlik dosyası, değerlerin metre cinsinden derinlikler olduğu (H, W) boyutuna sahip 2 boyutlu bir float32 NumPy dizisi depolar.

  • Derinlik dosyaları .npy uzantısını kullanmalı ve bir float32 dizisi içermelidir.
  • Her derinlik dosyası, eşleşen görüntü dosyasıyla aynı kök adı (stem) paylaşmalıdır (örneğin, scene_001.npy, scene_001.jpg ile eşleşir).
  • Veri kümesi yükleyicisi, dosya yolundaki images dizin bileşenini depth ile değiştirerek ve görüntü uzantısını .npy ile takas ederek derinlik dosyalarını bulur.
  • ≤ 0 derinliğine sahip pikseller geçersiz kabul edilir ve kayıp ile metrik hesaplamasından hariç tutulur.

Standart düzen, görüntüleri ve derinlik haritalarını paralel klasörlerde tutar:

dataset/
├── images/
│   ├── train/
│   └── val/
└── depth/
    ├── train/
    └── val/

Örneğin, images/train/scene_001.jpg konumundaki bir görüntü, depth/train/scene_001.npy konumundaki bir derinlik haritası ile eşleştirilir.

Veri kümesi YAML formatı#

Derinlik tahmini veri setleri YAML dosyalarıyla yapılandırılır. Ana alanlar şunlardır:

AnahtarAçıklama
pathVeri kümesi kök dizini.
trainpath değerine göreli eğitim görseli yolu veya mutlak bir yol.
valpath değerine göreli doğrulama görseli yolu veya mutlak bir yol.
testİsteğe bağlı test görüntüsü yolu.
ncSınıf sayısı — derinlik tahmini için her zaman 1.
namesSınıf adı eşleme — her zaman {0: depth}.
ultralytics/cfg/datasets/nyu-depth.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# NYU Depth V2 dataset for monocular depth estimation
# Documentation: https://cs.nyu.edu/~silberman/datasets/nyu_depth_v2.html
# 795 train + 654 val (Eigen test split) images, 480x640, indoor scenes, depth in meters
# Example usage: yolo depth train data=nyu-depth.yaml model=yolo26n-depth.pt
# parent
# ├── ultralytics
# └── datasets
#     └── nyu-depth  ← downloads here (≈1.5 GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: nyu-depth # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 795 images
val: images/val # val images (relative to 'path') 654 images

# Depth maps are paired .npy files (float32, meters) under depth/<split>/, resolved by
# swapping '/images/' -> '/depth/' on each image path.

# Classes
nc: 1
names:
  0: depth

channels: 3

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/nyu-depth.zip

Kullanım#

Python veya CLI ile bir YOLO26 derinlik tahmini modeli eğit:

Örnek
from ultralytics import YOLO

# Load a pretrained depth model
model = YOLO("yolo26n-depth.pt")

# Train on the NYU Depth V2 dataset
results = model.train(data="nyu-depth.yaml", epochs=100, imgsz=640)

Desteklenen Veri Kümeleri#

YOLO26 derinlik modelleri, iç mekan (≤10 m) ile dış mekan (~80 m) aralıklarını kapsayan geniş bir çoklu veri seti karışımı (~2.19M görüntü) üzerinde önceden eğitilmiş ve ardından beş farklı kıyaslama üzerinde sıfır vuruşlu (zero-shot) olarak değerlendirilmiştir. Her veri setinin kendine ait bir sayfası vardır:

Hata ayıklama

  • Depth8 — hızlı boru hattı testi için 1.3 MB'lık otomatik indirilen bir arşivde 8 adet SUN RGB-D görüntüsü

Ön eğitim kaynakları

  • ARKitScenes — gerçek iç mekan, Apple ARKit LiDAR (en büyük gerçek kaynak)
  • SUN RGB-D — gerçek iç mekan, çok sensörlü RGB-D
  • DIODE — gerçek iç + dış mekan, yoğun lazer tarayıcı yer gerçeği
  • Hypersim — sentetik fotogerçekçi iç mekan
  • TartanAir — sentetik, çeşitli ortamlarda
  • Virtual KITTI 2 — sentetik dış mekan sürüşü
  • KITTI — gerçek dış mekan sürüşü, Velodyne LiDAR (aynı zamanda bir değerlendirme kıyaslaması)
  • ImageNet (pseudo-labeled) — sözde etiketlenmiş damıtma seti, en büyük tek kaynak

Değerlendirme kıyaslamaları

  • NYU Depth V2 — birincil iç mekan kıyaslaması
  • KITTI Eigen — dış mekan sürüş kıyaslaması
  • ETH3D — yüksek hassasiyetli iç + dış mekan
  • Make3D — dış mekan, dağılım dışı (out-of-distribution)
  • iBims-1 — yüksek kaliteli iç mekan (kenarlar ve düzlemsel yüzeyler)

Bu kıyaslamalardaki model bazında doğruluk ve indirilebilir önceden eğitilmiş ağırlıklar Depth Estimation task page adresinde listelenmiştir. train alanı birden fazla görüntü dizinini listeleyen bir veri kümesi YAML dosyası, büyük ölçekli karma eğitim için bu kaynakları birleştirir.

Kendi Veri Kümeni Ekleme#

  1. RGB görüntülerini images/train ve images/val gibi bölünmüş klasörler altında kaydedin.
  2. Görüntüyle aynı dosya kök adını kullanarak eşleşen depth/train ve depth/val klasörleri altına görüntü başına bir .npy float32 derinlik dizisi kaydet.
  3. Derinlik değerlerinin metre cinsinden olduğundan ve geçersiz veya eksik piksellerin 0 veya negatif değerler kullandığından emin olun.
  4. path, train, val, nc: 1 ve names: {0: depth} içeren bir veri seti YAML dosyası oluşturun.
path: path/to/my-depth-dataset
train: images/train
val: images/val

nc: 1
names:
    0: depth

SSS#

  • Derinlik haritaları, (H, W) şekline sahip float32 dizileri içeren NumPy .npy dosyaları olarak kaydedilmelidir. Her öğe, karşılık gelen görüntü pikseli için derinliği metre cinsinden depolar. PNG veya 16 bit tamsayı formatları kullanma; yükleyici ham float dizileri bekler.

  • ≤ 0 derinlik değerlerine sahip pikseller geçersiz kabul edilir ve hem kayıp hesaplamasından hem de metrik değerlendirmesinden maskelenerek çıkarılır. Bu durum; sensör gürültüsünü, gökyüzü bölgelerini ve derinliğin güvenilir bir şekilde ölçülemediği yansıtıcı yüzeyleri kapsar.

  • Derinlik tahmini doğrulaması, standart Depth Anything metrik setini raporlar:

    • delta1 / delta2 / delta3 — 1.25×, 1.25²×, 1.25³× eşik değerleri içindeki piksellerin yüzdesi. Daha yüksek olması daha iyidir.
    • abs_rel — ortalama mutlak bağıl hata. Daha düşük olması daha iyidir.
    • rmse — metre cinsinden kök ortalama kare hata. Daha düşük olması daha iyidir.
    • silog — ölçekten bağımsız logaritmik hata. Daha düşük olması daha iyidir.
  • Evet. Her derinlik .npy dosyası, ilgili görüntüyle aynı kök adı paylaşmalıdır. Yükleyici, images dizin bileşenini depth ile değiştirerek ve görüntü uzantısının yerine .npy koyarak derinlik yolunu türetir. Derinlik dosyası eksik veya okunamaz olan görüntüler, tıpkı bozuk görüntüler gibi, bir uyarı ile (önbelleğe alınmış) veri kümesi taraması sırasında elenir; hiç geçerli görüntü-derinlik çifti bulunamazsa bir hata fırlatılır.

Katkıda Bulunanlar

Yorumlar