Link to this sectionDIODE Depth Dataset#
DIODE(Dense Indoor/Outdoor DEpth)は、FARO Focus測量グレードレーザースキャナーによって取得された、非常に高品質で密な深度グラウンドトゥルースを含む実世界のデータセットです。ユニークな特徴として、同じセンサーで屋内と屋外の両方のシーンをカバーしており、単眼深度推定における近距離の屋内深度と長距離の屋外深度を結ぶ高精度の架け橋となります。
Link to this section主な特徴#
- FARO Focus測量グレードレーザースキャナーによる非常に高品質で密な深度グラウンドトゥルース。
- 同じセンサーで撮影された屋内と屋外の両方のシーンをカバーしています。
- 深度範囲は、屋内の短距離から屋外の長距離(Ultralyticsミックスでは最大約80m)に及びます。
- RGBフレームにアライメントされた、密で正確なピクセル単位のグラウンドトゥルース。
- 屋内および屋外ドメインを繋ぐ、高精度な密なグラウンドトゥルースを提供します。
Link to this sectionデータセットの構造#
DIODE深度データセットは、以下の2つのサブセットに分割されています。
- Train: 学習用のペア深度マップを持つ25,458枚の画像。
- Val: モデル学習時のバリデーションに使用する、ペア深度マップを持つ771枚の画像。
Each sample consists of one RGB image and one paired .npy float32 depth map storing per-pixel distances in meters, following the Ultralytics depth dataset format.
Link to this sectionYOLO26-Depthにおける役割#
DIODEは、約219万組の画像と深度のペアを含むUltralytics YOLO26-Depthマルチデータセット事前学習ミックスの学習ソースです。単一のセンサー内で屋内ドメインと屋外ドメインを橋渡しする高精度な密なグラウンドトゥルースを提供し、モデルが近距離から長距離のシーンまで汎化できるように支援します。得られたモデルは、標準的なNYU、KITTI、Make3D、ETH3D、およびiBims-1ベンチマークで評価されます。
Link to this sectionデータセット YAML#
YAML(Yet Another Markup Language)ファイルは、データセットの構成を定義するために使用されます。これには、データセットのパス、クラス、およびその他の関連情報が含まれています。
# 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")Link to this section使用方法#
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)Link to this section事前学習済みモデル#
YOLO26深度ファミリーは、DIODEも含まれる広範なマルチデータセット深度事前学習ミックスで学習されています。これらのモデルは最新のUltralyticsリリースから自動的にダウンロードされます(例:v8.4.0のYOLO26x-depth)。精度やリソース要件に応じて様々なサイズが用意されています。
Link to this section引用と謝辞#
研究や開発作業で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}
}コンピュータビジョンコミュニティのためにこの貴重なリソースを作成・維持してくださった著者の皆様に感謝いたします。