Безопасность корпоративного уровня: Соответствует ISO 27001 + SOC 2 Type I.

Link to this sectionНабор данных глубины DIODE#

DIODE (Dense Indoor/Outdoor DEpth) — это реальный набор данных с высококачественной плотной «истинной» картой глубины (ground truth), полученной с помощью лазерного сканера геодезического класса FARO Focus. Его уникальность заключается в том, что он охватывает как внутренние, так и наружные сцены, снятые одним и тем же сенсором, что делает его высокоточным связующим звеном между оценкой глубины в помещениях на коротких дистанциях и на открытом воздухе на больших дистанциях для монокулярной оценки глубины.

Link to this sectionКлючевые особенности#

  • Очень качественная плотная «истинная» карта глубины (ground truth) с лазерного сканера геодезического класса FARO Focus.
  • Охватывает как внутренние, так и наружные сцены, снятые одним и тем же сенсором.
  • Диапазон глубины охватывает как короткие расстояния в помещении, так и длинные на открытом воздухе, до примерно 80 м в составе Ultralytics mix.
  • Плотная, точная попиксельная «истинная» карта глубины (ground truth), выровненная с кадрами RGB.
  • Предоставляет высокоточную плотную «истинную» карту (ground truth), которая объединяет домены помещений и открытых пространств.

Link to this sectionСтруктура набора данных#

Набор данных глубины DIODE разделен на две части:

  1. Train: 25 458 изображений с парными картами глубины для обучения.
  2. Val: 771 изображение с парными картами глубины для валидации во время обучения модели.

Каждый образец состоит из одного RGB-изображения и одной парной карты глубины в формате .npy (float32), содержащей попиксельные расстояния в метрах, в соответствии с форматом набора данных глубины Ultralytics.

Link to this sectionРоль в YOLO26-Depth#

DIODE является источником обучения в составе набора данных для предварительного обучения Ultralytics YOLO26-Depth, который включает около 2,19 млн пар изображение–глубина. Он предоставляет высокоточные плотные «истинные» данные (ground truth), которые соединяют домены помещений и открытых пространств в рамках одного сенсора, помогая модели обобщать данные для сцен как на коротких, так и на больших дистанциях. Полученные модели оцениваются по стандартным бенчмаркам NYU, KITTI, Make3D, ETH3D и iBims-1.

Link to this sectionYAML набора данных#

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

Link to this sectionИспользование#

Чтобы обучить модель YOLO26n-depth на наборе данных DIODE с размером изображения 640, ты можешь использовать следующие фрагменты кода. Полный список доступных аргументов смотри на странице модели Обучение.

Пример обучения
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 depth обучено на широком наборе данных для предварительного обучения, частью которого является DIODE. Эти модели автоматически загружаются из последнего релиза Ultralytics, например YOLO26x-depth из версии v8.4.0, и охватывают ряд размеров для различных требований к точности и ресурсам.

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}
}

Мы хотели бы выразить признательность авторам за создание и поддержку этого ценного ресурса для сообщества компьютерного зрения.

Участники

Комментарии