Bảo mật cấp doanh nghiệp: Tuân thủ ISO 27001 + SOC 2 Type I.

Link to this sectionTập dữ liệu độ sâu Hypersim#

Hypersim là một tập dữ liệu tổng hợp chân thực (photorealistic) về các cảnh trong nhà, được thiết kế cho mục đích hiểu toàn diện về cảnh trong nhà. Hình ảnh của tập dữ liệu này được ray-trace từ các nội thất 3D chuyên nghiệp của Evermotion, tạo ra những hình ảnh hiển thị (rendering) cực kỳ thực tế đi kèm với ground truth độ sâu hoàn hảo và dày đặc trên từng pixel.

Vì Hypersim hoàn toàn là dữ liệu tổng hợp, mỗi pixel đều có giá trị độ sâu chính xác mà không gặp phải nhiễu cảm biến, thiếu dữ liệu hoặc các lỗi đo lường. Điều này khiến nó trở thành nguồn hình học trong nhà sạch và dày đặc tuyệt vời để huấn luyện các model depth estimation đơn ảnh.

Link to this sectionTính năng chính#

  • Các cảnh trong nhà tổng hợp chân thực, được ray-trace từ các nội thất 3D chuyên nghiệp của Evermotion.
  • Chỉ áp dụng cho môi trường trong nhà.
  • Ground truth độ sâu trên từng pixel dày đặc, hoàn hảo, không có nhiễu cảm biến hoặc thiếu giá trị.
  • Phạm vi độ sâu chủ yếu là ≤10 m (với một số khoảng cách lớn hơn).
  • Đóng góp 74.619 hình ảnh (68.242 tập train / 6.377 tập val) vào tập hợp huấn luyện độ sâu của Ultralytics.

Link to this sectionCấu trúc tập dữ liệu#

Tập dữ liệu độ sâu Hypersim được chia thành hai tập con:

  1. Train: 68.242 hình ảnh với bản đồ độ sâu dày đặc đi kèm để huấn luyện.
  2. Val: 6.377 hình ảnh với bản đồ độ sâu dày đặc đi kèm để xác thực trong quá trình huấn luyện.

Mỗi hình ảnh RGB được ghép cặp với một bản đồ độ sâu .npy float32 lưu trữ khoảng cách trên từng pixel theo đơn vị mét, tuân theo định dạng tập dữ liệu độ sâu Ultralytics.

Link to this sectionNhận dữ liệu#

Hypersim không hỗ trợ tải xuống tự động — tập dữ liệu (~1,9 TB các tệp ZIP theo cảnh) được Apple phân phối theo giấy phép CC BY-SA 3.0 và tải xuống bằng tập lệnh chính thức từ kho lưu trữ ml-hypersim (một trình tải xuống có chọn lọc có sẵn trong 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

Các khung hình RGB là các bản xem trước frame.*.tonemap.jpg và độ sâu nằm trong frame.*.depth_meters.hdf5. Các giá trị được lưu trữ là khoảng cách tia đến tâm máy ảnh, không phải độ sâu phẳng — hãy chuyển đổi trước khi lưu và ánh xạ các pixel NaN (cửa sổ, bầu trời) thành 0 (không hợp lệ). Sử dụng tệp phân tách cảnh metadata_images_split_scene_v1.csv chính thức để chỉ định tập train/val. Tham khảo chuyển đổi sang định dạng tập dữ liệu độ sâu 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 sectionVai trò trong YOLO26-Depth#

Hypersim là một trong những nguồn huấn luyện trong hỗn hợp đa tập dữ liệu rộng lớn (~2,19 triệu hình ảnh) được sử dụng để tiền huấn luyện các model YOLO26-Depth của Ultralytics. Trong hỗn hợp này, Hypersim đóng góp hình học trong nhà sạch, dày đặc, bổ sung cho dữ liệu cảm biến thực tế vốn có nhiều nhiễu hơn.

Không có điểm chuẩn (benchmark) Hypersim độc lập nào trong thiết lập này. Thay vào đó, các model thu được được đánh giá trên các tiêu chuẩn độ sâu đơn ảnh phổ biến: NYU Depth V2, KITTI, Make3D, ETH3D và iBims-1.

Link to this sectionYAML tập dữ liệu#

Một tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình tập dữ liệu. Nó chứa thông tin về các đường dẫn, class và các thông tin liên quan khác của tập dữ liệu. Đối với Hypersim, tệp depth-hypersim.yaml xác định các đường dẫn và class depth đơn lẻ.

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 sectionCách sử dụng#

Để huấn luyện model YOLO26n-Depth trên tập dữ liệu Hypersim với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để có danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Huấn luyện model.

Ví dụ về Training
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 sectionCác model đã được tiền huấn luyện#

Họ model độ sâu YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) tự động tải xuống từ bản phát hành v8.4.0 và được huấn luyện trên hỗn hợp đa tập dữ liệu rộng lớn mà Hypersim là một phần trong đó.

Link to this sectionTrích dẫn và Ghi nhận#

Nếu bạn sử dụng tập dữ liệu Hypersim trong nghiên cứu hoặc công việc phát triển của mình, vui lòng trích dẫn bài báo sau:

Trích dẫn
@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}
}

Chúng tôi xin ghi nhận các tác giả của Hypersim vì đã cung cấp tập dữ liệu trong nhà tổng hợp chân thực này cho cộng đồng thị giác máy tính.

Những người đóng góp

Bình luận