YOLO Vision 2026:

DIODE Depth Dataset#

DIODE (Dense Indoor/Outdoor DEpth) は、FARO Focus の測量グレードレーザースキャナーで取得した非常に高品質な高密度デプスのグラウンドトゥルースを持つ実世界データセットです。ユニークな点として、同じセンサーで屋内と屋外の両方のシーンをカバーしており、単眼深度推定における近距離の屋内深度と長距離の屋外深度を結ぶ高精度な架け橋となっています。

主な特徴#

  • FARO Focus測量グレードレーザースキャナーによる非常に高品質で密な深度グラウンドトゥルース。
  • 同じセンサーで撮影された屋内と屋外の両方のシーンをカバーしています。
  • 深度範囲は、屋内の短距離から屋外の長距離(Ultralyticsミックスでは最大約80m)に及びます。
  • RGBフレームにアライメントされた、密で正確なピクセル単位のグラウンドトゥルース。
  • 屋内および屋外ドメインを繋ぐ、高精度な密なグラウンドトゥルースを提供します。

データセットの構造#

DIODE深度データセットは、以下の2つのサブセットに分割されています。

  1. Train: 学習用のペア深度マップを持つ25,458枚の画像。
  2. Val: モデル学習時のバリデーションに使用する、ペア深度マップを持つ771枚の画像。

各サンプルは、1 枚の RGB 画像と、1 つのペアになった .npy float32 深度マップで構成されており、ピクセルごとの距離をメートル単位で格納し、Ultralytics depth dataset format に準拠しています。

YOLO26-Depthにおける役割#

DIODEは、約219万組の画像と深度のペアを含むUltralytics YOLO26-Depthマルチデータセット事前学習ミックスの学習ソースです。単一のセンサー内で屋内ドメインと屋外ドメインを橋渡しする高精度な密なグラウンドトゥルースを提供し、モデルが近距離から長距離のシーンまで汎化できるように支援します。得られたモデルは、標準的なNYU、KITTI、Make3D、ETH3D、およびiBims-1ベンチマークで評価されます。

データセット YAML#

YAML(Yet Another Markup Language)ファイルは、データセット構成を定義するために使用されます。これには、データセットのパス、クラス、およびその他の関連情報が含まれています。

ultralytics/cfg/datasets/depth-diode.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DIODE dataset for monocular depth estimation — real indoor + outdoor, FARO Focus survey-grade laser, depth up to ~80 m
# Documentation: https://docs.ultralytics.com/datasets/depth/diode
# Example usage: yolo depth train data=depth-diode.yaml model=yolo26n-depth.pt
# parent
# ├── ultralytics
# └── datasets
#     └── depth-diode  ← downloads here (84 GB archives, ~90 GB converted)
#         ├── images/{train,val}  # RGB images
#         └── depth/{train,val}   # paired *.npy, float32 meters (images/ -> depth/)
# If an interrupted download leaves a partial dataset, delete the depth-diode dir and re-run to rebuild it.

path: depth-diode # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 25458 images
val: images/val # val images (relative to 'path') 771 images
max_depth: 80 # (m) maximum valid depth; GT beyond this is excluded from val metrics

nc: 1
names:
  0: depth

channels: 3

# Download script/URL (optional)
download: |
  import shutil
  from pathlib import Path

  import numpy as np

  from ultralytics.utils import TQDM
  from ultralytics.utils.downloads import download

  # Download and extract the official archives (train ~81 GB, val ~2.6 GB), then convert:
  # flatten <split>/<scene>/<scan>/*.png into images/<split>/ and save the paired *_depth.npy
  # (masked invalid -> 0, clipped at 80 m) as depth/<split>/*.npy
  dir = Path(yaml["path"])  # dataset root dir
  download([f"https://diode-dataset.s3.amazonaws.com/{s}.tar.gz" for s in ("train", "val")], dir=dir / "source", delete=True)
  for split in ("train", "val"):
      (dir / "images" / split).mkdir(parents=True, exist_ok=True)
      (dir / "depth" / split).mkdir(parents=True, exist_ok=True)
      for im in TQDM(sorted((dir / "source" / split).rglob("*.png")), desc=f"Converting {split}"):
          name = "_".join(im.relative_to(dir / "source").parts)  # train/indoors/scene/scan/x.png -> train_indoors_scene_scan_x.png
          depth = np.load(im.with_name(f"{im.stem}_depth.npy")).squeeze().astype(np.float32)
          depth[np.load(im.with_name(f"{im.stem}_depth_mask.npy")) == 0] = 0.0  # zero out invalid pixels
          np.save(dir / "depth" / split / f"{name[:-4]}.npy", depth.clip(max=80))
          im.replace(dir / "images" / split / name)
  shutil.rmtree(dir / "source")

使用方法#

DIODE データセットで画像サイズ 640 を使用して YOLO26n-depth モデルを学習させるには、以下のコードスニペットを使用できます。利用可能な引数の包括的なリストについては、モデルのトレーニングページを参照してください。

学習例
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-diode.yaml", epochs=100, imgsz=640)

事前学習済みモデル#

YOLO26 デプスファミリーは、DIODE も含まれる幅広いマルチデータセットデプス事前学習ミックスで学習されています。これらのモデルは、v8.4.0 の YOLO26x-depth のように最新の Ultralytics リリースから自動ダウンロードされ、精度とリソースの要件に応じてさまざまなサイズにまたがっています。

引用と謝辞#

研究や開発作業でDIODEデータセットを使用する場合は、以下の論文を引用してください。

引用
@article{vasiljevic2019diode,
      title={DIODE: A Dense Indoor and Outdoor DEpth Dataset},
      author={Vasiljevic, Igor and Kolkin, Nick and Zhang, Shanyi and Luo, Ruotian and Wang, Haochen and Dai, Falcon Z. and Daniele, Andrea F. and Mostajabi, Mohammadreza and Basart, Steven and Walter, Matthew R. and Shakhnarovich, Gregory},
      journal={arXiv preprint arXiv:1908.00463},
      year={2019}
}

コンピュータビジョンコミュニティにとって貴重なこのリソースを作成・維持してくださった著者の皆様に感謝いたします。

コントリビューター

コメント