Kurumsal kullanıma hazır güvenlik: ISO 27001 + SOC 2 Tip I uyumlu.

Link to this sectionDerinlik Tahmini Veri Setlerine Genel Bakış#

Monoküler derinlik tahmini, bir görüntüdeki her piksele metre cinsinden kayan noktalı bir derinlik değeri atar. Eğitim hedefi, .npy float32 dizisi olarak depolanan yoğun, piksel başına bir 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.

Link to this sectionDesteklenen Veri Seti Formatı#

Link to this sectionNPY derinlik haritası formatı#

Her eğitim örneği, bir adet RGB görüntü ve bir adet eşleşen .npy derinlik dosyasından oluşur. Derinlik dosyası, değerlerin metre cinsinden derinlik olduğu (H, W) şeklinde 2D float32 NumPy dizisini saklar.

  • 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 ada sahip olmalıdır (örneğin, scene_001.npy dosyası scene_001.jpg ile eşleşir).
  • Veri seti 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ğe sahip pikseller geçersiz kabul edilir ve kayıp ve metrik hesaplamasından çıkarılır.

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 adresindeki bir görüntü, depth/train/scene_001.npy adresindeki bir derinlik haritasıyla eşleştirilir.

Link to this sectionVeri 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 öğesine göre eğitim görüntüsü yolu veya mutlak bir yol.
valpath öğesine göre doğrulama görüntüsü 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'dir.
namesSınıf adı eşleme — her zaman {0: depth} şeklindedir.
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

Link to this sectionKullanı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)

Link to this sectionDesteklenen 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 boyutunda otomatik indirilen 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, çoklu sensörlü RGB-D
  • DIODE — gerçek iç mekan + dış mekan, yoğun lazer tarayıcı temel doğruluk (ground truth)
  • Hypersim — sentetik fotogerçekçi iç mekan
  • TartanAir — sentetik, çeşitli ortamlar
  • Virtual KITTI 2 — sentetik dış mekan sürüş
  • KITTI — gerçek dış mekan sürüş, Velodyne LiDAR (ayrıca bir değerlendirme kıyaslaması)
  • ImageNet (sözde etiketli) — sözde etiketli 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ç mekan + 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 başına doğruluk ve indirilebilir önceden eğitilmiş ağırlıklar, Derinlik Tahmini görev sayfasında listelenmiştir. train alanı birden fazla görüntü dizini listeleyen bir veri seti YAML dosyası, büyük ölçekli karma eğitim için bu kaynakları birleştirir.

Link to this sectionKendi Veri Kümeni Ekleme#

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

nc: 1
names:
    0: depth

Link to this sectionSSS#

Link to this sectionDerinlik haritaları hangi dosya formatını kullanmalıdır?#

Depth maps must be saved as NumPy .npy files containing float32 arrays of shape (H, W). Each element stores the depth in meters for the corresponding image pixel. Do not use PNG or 16-bit integer formats — the loader expects raw float arrays.

Link to this sectionGeçersiz derinlik pikselleri nasıl işlenir?#

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

Link to this sectionDeğerlendirme için hangi metrikler kullanılır?#

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.

Link to this sectionDerinlik dosyası adlarının görüntü dosyası adlarıyla eşleşmesi gerekiyor mu?#

Evet. Her derinlik .npy dosyası, karşılık gelen görüntü ile 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ı .npy ile değiştirerek derinlik yolunu türetir. Derinlik dosyası eksik veya okunamaz olan görüntüler, bozuk görüntülerde olduğu gibi, (önbelleğe alınmış) veri seti taraması sırasında bir uyarı ile atılır; hiçbir geçerli görüntü-derinlik çifti bulunamazsa bir hata oluşur.

Katkıda Bulunanlar

Yorumlar