YOLO Vision 2026:

Dataset di profondità Hypersim#

Hypersim è un set di dati sintetico fotorealistico di scene di interni progettato per la comprensione olistica delle scene d'interni. Le sue immagini sono create tramite ray-tracing a partire da interni 3D Evermotion realizzati professionalmente, producendo render altamente realistici abbinati a ground truth di profondità per-pixel perfetta e densa.

Poiché Hypersim è completamente sintetico, ogni pixel possiede un valore di esatta profondità privo di rumore del sensore, ritorni mancanti o artefatti di misurazione. Questo lo rende un'eccellente fonte di geometria d'interni pulita e densa per l'addestramento di modelli di stima della profondità monoculare.

Caratteristiche principali#

  • Scene di interni sintetiche fotorealistiche, renderizzate tramite ray-tracing da interni 3D Evermotion professionali.
  • Solo ambienti interni.
  • Ground truth di profondità per-pixel densa e perfetta, senza rumore del sensore o valori mancanti.
  • Intervallo di profondità per lo più ≤10 m (con alcune distanze maggiori).
  • Contribuisce con 74.619 immagini (68.242 di train / 6.377 di val) al mix di addestramento sulla profondità di Ultralytics.

Struttura del dataset#

Il dataset di profondità Hypersim è diviso in due subset:

  1. Train: 68.242 immagini con mappe di profondità dense abbinate per l'addestramento.
  2. Val: 6.377 immagini con mappe di profondità dense abbinate per la validazione durante l'addestramento.

Ciascuna immagine RGB è abbinata a una mappa di profondità float32 .npy che memorizza le distanze per pixel in metri, seguendo il formato del dataset di profondità Ultralytics.

Ottieni i dati#

Hypersim non supporta il download automatico: il dataset (~1,9 TB di file ZIP per scena) è distribuito da Apple sotto licenza CC BY-SA 3.0 e scaricato tramite lo script ufficiale dal repository ml-hypersim (un downloader selettivo è disponibile in 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

I fotogrammi RGB sono le anteprime frame.*.tonemap.jpg e la profondità risiede in frame.*.depth_meters.hdf5. I valori memorizzati sono distanze dei raggi rispetto al centro della camera, non profondità planare — convertili prima di salvare e mappa i pixel NaN (finestre, cielo) a 0 (non valido). Usa la suddivisione delle scene ufficiale metadata_images_split_scene_v1.csv per l'assegnazione di train/val. Conversione di riferimento al formato del dataset di profondità 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")

Ruolo in YOLO26-Depth#

Hypersim è una delle fonti di addestramento nell'ampio mix multi-dataset (~2,19 milioni di immagini) utilizzato per preaddestrare i modelli Ultralytics YOLO26-Depth. All'interno di questo mix, Hypersim contribuisce con una geometria per interni pulita e densa che integra i dati dei sensori del mondo reale, più rumorosi.

Non esiste un benchmark Hypersim indipendente in questa configurazione. Invece, i modelli risultanti vengono valutati sui benchmark standard di profondità monoculare: NYU Depth V2, KITTI, Make3D, ETH3D e iBims-1.

Dataset YAML#

Un file YAML (Yet Another Markup Language) viene utilizzato per definire la configurazione del dataset. Contiene informazioni sui percorsi del dataset, sulle classi e altre informazioni rilevanti. Per Hypersim, il file depth-hypersim.yaml definisce i percorsi e la singola classe 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

Utilizzo#

Per addestrare un modello YOLO26n-Depth sul dataset Hypersim con una dimensione d'immagine di 640, puoi utilizzare i seguenti frammenti di codice. Per un elenco completo degli argomenti disponibili, fai riferimento alla pagina di Training del modello.

Esempio di Addestramento
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)

Modelli pre-addestrati#

La famiglia di modelli di profondità YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) si scarica automaticamente dalle release di Ultralytics ed è addestrata sull'ampio mix multi-dataset di cui fa parte Hypersim. Esplora YOLO26x-depth su Ultralytics Platform.

Citazioni e riconoscimenti#

Se utilizzi il dataset Hypersim nel tuo lavoro di ricerca o sviluppo, ti preghiamo di citare il seguente documento:

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

Desideriamo ringraziare i creatori di Hypersim per aver reso disponibile questo dataset di interni sintetico e fotorealistico alla comunità della computer vision.

Commenti