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

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

Hypersim — это фотореалистичный синтетический набор данных внутренних сцен, предназначенный для комплексного понимания интерьеров. Его изображения создаются методом трассировки лучей на основе профессионально созданных 3D-интерьеров Evermotion, что обеспечивает высокореалистичные рендеры в сочетании с идеальными и плотными данными о глубине для каждого пикселя.

Поскольку Hypersim является полностью синтетическим, каждый пиксель имеет точное значение глубины без шумов сенсора, пропущенных данных или артефактов измерения. Это делает его отличным источником чистой и плотной геометрии помещений для обучения моделей оценки глубины.

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

  • Фотореалистичные синтетические сцены помещений, созданные методом трассировки лучей на основе профессиональных 3D-интерьеров Evermotion.
  • Только внутренние (indoor) пространства.
  • Плотные, идеальные данные о глубине для каждого пикселя (per-pixel depth) без шумов сенсора или пропущенных значений.
  • Диапазон глубины преимущественно ≤10 м (с некоторыми большими дистанциями).
  • Добавляет 74 619 изображений (68 242 для обучения / 6 377 для валидации) в набор данных для обучения глубины Ultralytics.

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

Набор данных глубины Hypersim разделен на два подмножества:

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

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

Link to this sectionПолучение данных#

Hypersim не поддерживает автозагрузку — набор данных (~1,9 ТБ ZIP-файлов по сценам) распространяется Apple по лицензии CC BY-SA 3.0 и загружается с помощью официального скрипта из репозитория ml-hypersim (выборочный загрузчик доступен в contrib/99991):

git clone https://github.com/apple/ml-hypersim && cd ml-hypersim
python code/python/tools/dataset_download_images.py --downloads_dir ./downloads --decompress_dir ./scenes

RGB-кадры представляют собой превью frame.*.tonemap.jpg, а данные о глубине хранятся в frame.*.depth_meters.hdf5. Хранимые значения — это расстояния по лучу до центра камеры, а не планарная глубина — выполни преобразование перед сохранением и приведи пиксели NaN (окна, небо) к 0 (недопустимо). Используй официальный файл разбиения сцен metadata_images_split_scene_v1.csv для распределения на train/val. Ссылка на конвертацию в формат набора данных глубины Ultralytics:

import shutil
from pathlib import Path

import h5py
import numpy as np

W, H, FOCAL = 1024, 768, 886.81  # Hypersim camera intrinsics
x, y = np.meshgrid(np.linspace(-W / 2, W / 2, W), np.linspace(-H / 2, H / 2, H))
ray2plane = (FOCAL / np.sqrt(x**2 + y**2 + FOCAL**2)).astype(np.float32)  # distance → planar depth

src, dst = Path("scenes"), Path("datasets/depth-hypersim")
out = "train"  # assign per scene from metadata_images_split_scene_v1.csv
(dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
(dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
for h5 in sorted(src.rglob("*.depth_meters.hdf5")):
    scene, cam, frame = h5.parts[-4], h5.parent.name.split("_geometry")[0], h5.name.split(".")[1]
    rgb = h5.parents[1] / f"{cam}_final_preview" / f"frame.{frame}.tonemap.jpg"
    dist = np.asarray(h5py.File(h5)["dataset"], np.float32)
    depth = np.nan_to_num(dist * ray2plane, nan=0.0)  # NaN (sky, glass) → 0 = invalid
    name = f"{scene}_{cam}_{frame}"
    np.save(dst / f"depth/{out}/{name}.npy", depth)
    shutil.copy(rgb, dst / f"images/{out}/{name}.jpg")

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

Hypersim является одним из источников обучения в обширной смеси из множества наборов данных (~2,19 млн изображений), используемой для предварительного обучения моделей Ultralytics YOLO26-Depth. В этой смеси Hypersim предоставляет чистую и плотную геометрию помещений, которая дополняет более зашумленные данные из реальных датчиков.

В этой конфигурации нет отдельного изолированного бенчмарка Hypersim. Вместо этого результирующие модели оцениваются по стандартным бенчмаркам монокулярной оценки глубины: NYU Depth V2, KITTI, Make3D, ETH3D и iBims-1.

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

Для определения конфигурации набора данных используется файл YAML (Yet Another Markup Language). Он содержит информацию о путях к данным, классах и прочую актуальную информацию. Для Hypersim файл depth-hypersim.yaml определяет пути и единственный класс depth.

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

# Hypersim dataset for monocular depth estimation — photorealistic synthetic indoor (ray-traced), dense depth up to ~10 m
# Documentation: https://docs.ultralytics.com/datasets/depth/hypersim
# Example usage: yolo depth train data=depth-hypersim.yaml model=yolo26n-depth.pt
# No autodownload — obtain the source data (see docs) and arrange it as below.
# parent
# ├── ultralytics
# └── datasets
#     └── depth-hypersim
#         ├── images/{train,val}  # RGB images
#         └── depth/{train,val}   # paired *.npy, float32 meters (images/ -> depth/)

path: depth-hypersim # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 68242 images
val: images/val # val images (relative to 'path') 6377 images

nc: 1
names:
  0: depth

channels: 3

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

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

Пример обучения
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-depth.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="depth-hypersim.yaml", epochs=100, imgsz=640)

Link to this sectionПредварительно обученные модели#

Семейство моделей глубины YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) автоматически загружается из релиза v8.4.0 и обучено на широкой смеси из множества наборов данных, частью которой является Hypersim.

Link to this sectionЦитирование и благодарности#

Если используешь набор данных Hypersim в своих исследованиях или разработках, пожалуйста, процитируй следующую статью:

Цитата
@inproceedings{roberts2021hypersim,
      title={Hypersim: A Photorealistic Synthetic Dataset for Holistic Indoor Scene Understanding},
      author={Mike Roberts and Jason Ramapuram and Anurag Ranjan and Atulit Kumar and Miguel Angel Bautista and Nathan Paczan and Russ Webb and Joshua M. Susskind},
      booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
      year={2021}
}

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

Участники

Комментарии