مجموعة بيانات عمق Hypersim#
تُعد Hypersim مجموعة بيانات اصطناعية واقعية بصريًا لمشاهد داخلية، صُممت لفهم المشاهد الداخلية بصورة شاملة. تُنشأ صورها بتتبع الأشعة انطلاقًا من تصميمات داخلية ثلاثية الأبعاد احترافية من Evermotion، ما ينتج تصييرات واقعية للغاية مقترنة ببيانات حقيقة أرضية مثالية وكثيفة للعمق على مستوى كل بكسل.
بما أن Hypersim اصطناعية بالكامل، فلكل بكسل قيمة عمق دقيقة، بلا تشويش مستشعر أو قراءات مفقودة أو آثار ناتجة عن القياس. وهذا يجعلها مصدرًا ممتازًا لبيانات هندسية داخلية نظيفة وكثيفة لتدريب نماذج تقدير العمق أحادي العين.
الميزات الرئيسية#
- مشاهد داخلية اصطناعية واقعية بصريًا، مُنشأة بتتبع الأشعة انطلاقًا من تصميمات Evermotion الداخلية الاحترافية.
- بيئات داخلية فقط.
- بيانات حقيقة أرضية كثيفة ومثالية لـ العمق على مستوى كل بكسل، بلا تشويش مستشعر أو قيم مفقودة.
- يتراوح العمق غالبًا بين ≤10 m (مع وجود بعض المسافات الأكبر).
- تسهم بـ 74,619 صورة (68,242 للتدريب / 6,377 للتحقق) في مزيج تدريب العمق لدى Ultralytics.
بنية مجموعة البيانات#
تُقسّم مجموعة بيانات عمق Hypersim إلى مجموعتين فرعيتين:
- التدريب: 68,242 صورة مقترنة بخرائط عمق كثيفة للتدريب.
- التحقق: 6,377 صورة مقترنة بخرائط عمق كثيفة للتحقق أثناء التدريب.
تُقرن كل صورة RGB بصورة عمق PNG بمقياس uint16، وفق تنسيق مجموعة بيانات العمق من Ultralytics.
الحصول على البيانات#
لا تتوفر لـ Hypersim إمكانية التنزيل التلقائي — إذ توزّع Apple مجموعة البيانات (~1.9 TB من ملفات ZIP لكل مشهد) بموجب ترخيص 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. القيم المخزنة هي مسافات الأشعة إلى مركز الكاميرا، وليست عمقًا مستويًا — لذا حوّلها قبل الحفظ، وعيّن قيمة 0 إلى وحدات البكسل NaN (النوافذ والسماء) لاعتبارها غير صالحة. استخدم تقسيم المشاهد الرسمي metadata_images_split_scene_v1.csv لتحديد مجموعتي التدريب والتحقق. مرجع التحويل إلى تنسيق مجموعة بيانات العمق من Ultralytics:
import shutil
from pathlib import Path
import h5py
import numpy as np
from ultralytics.data.utils import save_depth_png
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}"
save_depth_png(dst / f"depth/{out}/{name}.png", depth)
shutil.copy(rgb, dst / f"images/{out}/{name}.jpg")دورها في YOLO26-Depth#
تُعد Hypersim أحد مصادر التدريب ضمن مزيج واسع متعدد مجموعات البيانات (~2.19M صورة) يُستخدم للتدريب المسبق لنماذج Ultralytics YOLO26-Depth. وفي هذا المزيج، توفر Hypersim بيانات هندسية داخلية نظيفة وكثيفة تكمل بيانات المستشعرات الواقعية الأكثر تشويشًا.
لا يوجد في هذا الإعداد معيار مستقل محجوب لمجموعة Hypersim. وبدلًا من ذلك، تُقيَّم النماذج الناتجة على معايير تقدير العمق أحادي العين القياسية: NYU Depth V2 وKITTI وMake3D وETH3D وiBims-1.
ملف YAML لمجموعة البيانات#
يُستخدم ملف YAML لتعريف إعدادات مجموعة البيانات. ويتضمن معلومات عن مسارات مجموعة البيانات وفئاتها وغيرها من المعلومات ذات الصلة. وبالنسبة إلى Hypersim، يحدد الملف depth-hypersim.yaml المسارات والفئة الوحيدة depth.
# 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 16-bit *.png depth maps (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الاستخدام#
لتدريب نموذج YOLO26n-Depth على مجموعة بيانات Hypersim بحجم صور 640، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للاطلاع على قائمة شاملة بالوسيطات المتاحة، راجع صفحة التدريب الخاصة بالنموذج.
from ultralytics import YOLO
# تحميل نموذج
model = YOLO("yolo26n-depth.pt") # تحميل نموذج مدرّب مسبقًا (موصى به للتدريب)
# تدريب النموذج
results = model.train(data="depth-hypersim.yaml", epochs=100, imgsz=640)النماذج المدربة مسبقًا#
تُنزَّل عائلة YOLO26 للعمق (yolo26n-depth.pt، yolo26s-depth.pt، yolo26m-depth.pt، yolo26l-depth.pt، yolo26x-depth.pt) تلقائيًا من إصدارات Ultralytics، وقد دُرّبت على مزيج واسع متعدد مجموعات البيانات، تشكل Hypersim جزءًا منه. استكشف YOLO26x-depth على منصة Ultralytics.
الاستشهادات والشكر والتقدير#
إذا استخدمت مجموعة بيانات 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 لإتاحة مجموعة البيانات الاصطناعية الداخلية والواقعية بصريًا هذه لمجتمع الرؤية الحاسوبية.
الأسئلة الشائعة#
Hypersim مجموعة بيانات اصطناعية داخلية واقعية بصريًا من Apple، أُنشئت بتتبع الأشعة انطلاقًا من تصميمات Evermotion الداخلية الاحترافية ثلاثية الأبعاد. وبما أن لكل بكسل قيمة عمق دقيقة، دون تشويش مستشعر أو قراءات مفقودة، فإن صورها البالغ عددها 74,619 (68,242 للتدريب و6,377 للتحقق) توفر بيانات هندسية داخلية نظيفة وكثيفة تكمل بيانات المستشعرات الواقعية الأكثر تشويشًا ضمن مزيج تدريب YOLO26-Depth.
لا يتوفر تنزيل تلقائي لـ Hypersim. نزّل المشاهد (~1.9 TB) باستخدام البرنامج النصي الرسمي من مستودع ml-hypersim، ثم حوّل مسافات الأشعة
depth_meters.hdf5إلى عمق مستوٍ واكتب صور PNG بالمليمترات باستخدام البرنامج النصي في الحصول على البيانات. عيّن قيمة0إلى وحدات البكسل NaN، مثل النوافذ والسماء، لكي تُعامل على أنها غير صالحة.