Hypersim Derinlik Veri Kümesi#
Hypersim, bütünsel iç mekan sahne anlayışı için tasarlanmış, iç mekanların foto-gerçekçi sentetik bir veri setidir. Görüntüleri, kusursuz ve yoğun piksel başına derinlik yer gerçeğiyle eşleştirilmiş yüksek gerçekçi görseller üretecek şekilde profesyonelce oluşturulmuş Evermotion 3D iç mekanlarından ışın izleme (ray-tracing) yoluyla elde edilmiştir.
Hypersim tamamen sentetik olduğundan, her piksel sensör gürültüsü, eksik dönüşler veya ölçüm artefaktları olmaksızın tam bir derinlik değerine sahiptir. Bu, monoküler depth estimation modellerini eğitmek için temiz ve yoğun bir iç mekan geometrisi kaynağı olmasını sağlar.
Temel Özellikler#
- Profesyonel Evermotion 3D iç mekanlarından ışın izleme ile elde edilen fotogerçekçi sentetik iç mekan sahneleri.
- Sadece iç mekan ortamları.
- Sensör gürültüsü veya eksik değer içermeyen yoğun, mükemmel piksel bazlı derinlik doğruluk payı.
- Derinlik aralığı çoğunlukla ≤10 m (bazı daha büyük mesafeler ile birlikte).
- Ultralytics derinlik eğitimi karışımına 74.619 görüntü (68.242 eğitim / 6.377 doğrulama) katkıda bulunur.
Veri Kümesi Yapısı#
Hypersim derinlik veri kümesi iki alt kümeye ayrılmıştır:
- Train: Eğitim için eşleştirilmiş yoğun derinlik haritaları içeren 68.242 görüntü.
- Val: Eğitim sırasında doğrulama için eşleştirilmiş yoğun derinlik haritaları içeren 6.377 görüntü.
Her bir RGB görüntüsü, piksel başına mesafeleri metre cinsinden depolayan bir .npy float32 derinlik haritası ile Ultralytics depth dataset format formatını takip edecek şekilde eşleştirilmiştir.
Verileri Elde Et#
Hypersim otomatik indirme desteğine sahip değildir; veri seti (sahne başına ZIP dosyaları olarak ~1.9 TB) Apple tarafından CC BY-SA 3.0 license altında dağıtılmaktadır ve ml-hypersim repository içindeki resmi komut dosyasıyla indirilir (contrib/99991 içinde seçici bir indirici mevcuttur):
git clone https://github.com/apple/ml-hypersim && cd ml-hypersim
python code/python/tools/dataset_download_images.py --downloads_dir ./downloads --decompress_dir ./scenesRGB kareler frame.*.tonemap.jpg önizlemeleridir ve derinlik frame.*.depth_meters.hdf5 içindedir. Saklanan değerler düzlemsel derinlik değil, kamera merkezine olan ışın mesafeleridir; kaydetmeden önce dönüştür ve NaN piksellerini (pencereler, gökyüzü) 0 (geçersiz) olarak haritalandır. Eğitim/doğrulama ataması için resmi metadata_images_split_scene_v1.csv sahne bölmesini kullan. Ultralytics depth dataset format formatına referans dönüşüm:
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")YOLO26-Depth'teki Rolü#
Hypersim, Ultralytics YOLO26-Depth modellerini önceden eğitmek için kullanılan geniş çoklu veri kümesi karışımındaki (~2,19M görüntü) eğitim kaynaklarından biridir. Bu karışım içerisinde Hypersim, daha gürültülü gerçek dünya sensör verilerini tamamlayan temiz ve yoğun bir iç mekan geometrisi sağlar.
Bu kurulumda bağımsız bir Hypersim kıyaslama seti bulunmamaktadır. Bunun yerine, sonuçta elde edilen modeller standart monoküler derinlik kıyaslamalarında değerlendirilir: NYU Depth V2, KITTI, Make3D, ETH3D ve iBims-1.
Veri Kümesi YAML#
Veri seti yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Bu dosya, veri setinin yolları, sınıfları ve diğer ilgili bilgileri hakkında bilgi içerir. Hypersim için depth-hypersim.yaml dosyası yolları ve tek depth sınıfını tanımlar.
# 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: 3Kullanım#
Hypersim veri seti üzerinde 640 görüntü boyutuyla bir YOLO26n-Depth modeli eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Mevcut argümanların kapsamlı bir listesi için model Training sayfasına göz at.
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)Önceden Eğitilmiş Modeller#
YOLO26 depth ailesi (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) Ultralytics sürümlerinden otomatik olarak indirilir ve Hypersim'in de bir parçası olduğu geniş çoklu veri seti karışımı üzerinde eğitilir. Ultralytics Platform üzerinde YOLO26x-depth modelini keşfet.
Alıntılar ve Teşekkür#
Hypersim veri kümesini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen aşağıdaki makaleyi kaynak göster:
@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}
}Bu fotogerçekçi sentetik iç mekan veri kümesini bilgisayarlı görü topluluğuna sundukları için Hypersim oluşturucularına teşekkür ederiz.