YOLO Vision 2026:

DIODE 깊이 데이터셋#

DIODE(Dense Indoor/Outdoor DEpth)는 FARO Focus 서베이 등급 레이저 스캐너로 캡처한 매우 고품질의 조밀한 깊이 정답 데이터(ground truth)를 제공하는 실제 환경 데이터셋입니다. 독특하게도 동일한 센서로 실내 및 실외 장면을 모두 아우르며, monocular depth estimation을 위한 단거리 실내 깊이와 장거리 실외 깊이 사이의 고정밀 가교 역할을 합니다.

주요 특징#

  • FARO Focus 측량 등급 레이저 스캐너로 획득한 매우 높은 품질의 조밀한(dense) 깊이 그라운드 트루스입니다.
  • 동일한 센서로 캡처한 실내 및 실외 장면을 모두 포함합니다.
  • 깊이 범위는 단거리 실내 거리부터 Ultralytics 믹스에서 최대 약 80m에 이르는 장거리 실외 거리까지 확장됩니다.
  • RGB 프레임에 정렬된 조밀하고 정확한 픽셀 단위 그라운드 트루스입니다.
  • 실내 및 실외 도메인을 연결하는 고정밀 조밀 그라운드 트루스를 제공합니다.

데이터셋 구조#

DIODE 깊이 데이터셋은 다음 두 개의 하위 세트로 나뉩니다:

  1. Train: 학습을 위한 쌍을 이룬 깊이 맵이 포함된 25,458개의 이미지입니다.
  2. Val: 모델 학습 중 검증을 위한 쌍을 이룬 깊이 맵이 포함된 771개의 이미지입니다.

각 샘플은 하나의 RGB 이미지와 Ultralytics depth dataset format에 따라 미터 단위의 픽셀별 거리를 저장하는 하나의 쌍을 이룬 .npy float32 깊이 맵으로 구성됩니다.

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")

사용법#

이미지 크기 640으로 DIODE 데이터셋에서 YOLO26n-depth 모델을 학습하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 Training 페이지를 참조하십시오.

훈련 예제
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 depth 제품군은 DIODE가 포함된 광범위한 다중 데이터셋 깊이 사전 학습 믹스로 학습됩니다. 이 모델들은 최신 Ultralytics 릴리즈(예: v8.4.0의 YOLO26x-depth)에서 자동으로 다운로드되며, 다양한 정확도와 리소스 요구 사항에 맞게 여러 크기로 제공됩니다.

인용 및 감사의 글#

연구 또는 개발 작업에 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}
}

컴퓨터 비전 커뮤니티를 위한 이 가치 있는 리소스를 생성하고 유지 관리해 준 저자들에게 감사를 표합니다.

댓글