Link to this sectionDIODE 깊이 데이터셋#
DIODE(Dense Indoor/Outdoor DEpth)는 FARO Focus 측량 등급 레이저 스캐너로 캡처한 매우 높은 품질의 조밀한 깊이 그라운드 트루스(ground truth)를 포함하는 실제 데이터셋입니다. 이 데이터셋은 동일한 센서로 실내 및 실외 장면을 모두 아우르는 독특한 특성을 지니며, 단안 깊이 추정(monocular depth estimation)을 위한 단거리 실내 깊이와 장거리 실외 깊이를 연결하는 고정밀 가교 역할을 합니다.
Link to this section주요 특징#
- FARO Focus 측량 등급 레이저 스캐너로 획득한 매우 높은 품질의 조밀한(dense) 깊이 그라운드 트루스입니다.
- 동일한 센서로 캡처한 실내 및 실외 장면을 모두 포함합니다.
- 깊이 범위는 단거리 실내 거리부터 Ultralytics 믹스에서 최대 약 80m에 이르는 장거리 실외 거리까지 확장됩니다.
- RGB 프레임에 정렬된 조밀하고 정확한 픽셀 단위 그라운드 트루스입니다.
- 실내 및 실외 도메인을 연결하는 고정밀 조밀 그라운드 트루스를 제공합니다.
Link to this section데이터셋 구조#
DIODE 깊이 데이터셋은 다음 두 개의 하위 세트로 나뉩니다:
- 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사용법#
이미지 크기 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)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}
}컴퓨터 비전 커뮤니티를 위한 이 가치 있는 리소스를 생성하고 유지 관리해 준 저자들에게 감사를 표합니다.