YOLO Vision 2026:

Dataset de profundidade Hypersim#

Hypersim é um conjunto de dados sintético fotorrealista de cenas internas concebido para a compreensão holística de cenas internas. As suas imagens são geradas por ray tracing a partir de interiores 3D Evermotion criados profissionalmente, produzindo renderizações altamente realistas combinadas com uma verdade de terreno de profundidade por píxel perfeita e densa.

Como o Hypersim é totalmente sintético, cada píxel tem um valor de profundidade exato sem ruído de sensor, retornos em falta ou artefactos de medição. Isto torna-o numa excelente fonte de geometria interior limpa e densa para treinar modelos de estimativa de profundidade monocular.

Principais recursos#

  • Cenas internas sintéticas fotorrealistas, geradas por ray-tracing a partir de interiores Evermotion 3D profissionais.
  • Apenas ambientes internos.
  • Ground truth de profundidade por pixel densa e perfeita, sem ruído de sensor ou valores ausentes.
  • Alcance de profundidade geralmente ≤10 m (com algumas distâncias maiores).
  • Contribui com 74.619 imagens (68.242 treino / 6.377 val) para a mistura de treinamento de profundidade da Ultralytics.

Estrutura do Dataset#

O dataset de profundidade Hypersim é dividido em dois subconjuntos:

  1. Train: 68.242 imagens com mapas de profundidade densos pareados para treinamento.
  2. Val: 6.377 imagens com mapas de profundidade densos pareados para validação durante o treinamento.

Cada imagem RGB é combinada com um mapa de profundidade float32 .npy que armazena distâncias por píxel em metros, seguindo o formato de conjunto de dados de profundidade da Ultralytics.

Obter os Dados#

O Hypersim não tem descarregamento automático — o conjunto de dados (~1,9 TB de ZIPs por cena) é distribuído pela Apple sob a licença CC BY-SA 3.0 e descarregado com o script oficial do repositório ml-hypersim (um descarregador seletivo está disponível em 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

Os fotogramas RGB são as pré-visualizações de frame.*.tonemap.jpg e a profundidade encontra-se em frame.*.depth_meters.hdf5. Os valores armazenados são distâncias de raio ao centro da câmara, não profundidade planar — converte antes de guardar e mapeia os píxeis NaN (janelas, céu) para 0 (inválido). Usa a divisão de cenas oficial de metadata_images_split_scene_v1.csv para a atribuição de treino/validação. Conversão de referência para o formato de conjunto de dados de profundidade da 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")

Papel no YOLO26-Depth#

O Hypersim é uma das fontes de treinamento na ampla mistura de vários datasets (~2,19M de imagens) usada para pré-treinar os modelos Ultralytics YOLO26-Depth. Dentro desta mistura, o Hypersim contribui com geometria interna densa e limpa que complementa dados de sensores do mundo real mais ruidosos.

Não há um benchmark Hypersim isolado nesta configuração. Em vez disso, os modelos resultantes são avaliados nos benchmarks padrão de profundidade monocular: NYU Depth V2, KITTI, Make3D, ETH3D e iBims-1.

YAML do Dataset#

Um ficheiro YAML (Yet Another Markup Language) é utilizado para definir a configuração do conjunto de dados. Contém informações sobre os caminhos, as classes e outras informações relevantes do conjunto de dados. Para o Hypersim, o ficheiro depth-hypersim.yaml define os caminhos e a classe única 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

Uso#

Para treinar um modelo YOLO26n-Depth no conjunto de dados Hypersim com um tamanho de imagem de 640, podes utilizar os seguintes trechos de código. Para obteres uma lista abrangente de argumentos disponíveis, consulta a página de Treino do modelo.

Exemplo de Treinamento
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)

Modelos pré-treinados#

A família de profundidade YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) descarrega-se automaticamente a partir dos lançamentos da Ultralytics e é treinada na ampla mistura de múltiplos conjuntos de dados de que o Hypersim faz parte. Explora YOLO26x-depth na Plataforma Ultralytics.

Citações e Agradecimentos#

Se você usar o dataset Hypersim em sua pesquisa ou trabalho de desenvolvimento, por favor, cite o seguinte artigo:

Citação
@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}
}

Gostaríamos de agradecer aos criadores do Hypersim por disponibilizar este dataset interno sintético fotorrealista para a comunidade de visão computacional.

Comentários