Link to this sectionSUN RGB-D Depth 데이터셋#
SUN RGB-D는 Intel RealSense, Asus Xtion, Microsoft Kinect v1 및 v2 등 4가지 서로 다른 RGB-D 센서로 촬영한 실세계 실내 장면 이해 벤치마크입니다. 다중 센서 설계로 인해 단안 깊이 추정(monocular depth estimation)을 위한 실제 실내 깊이 다양성의 귀중한 소스가 됩니다.
Link to this section주요 특징#
- 4가지 서로 다른 RGB-D 센서(Intel RealSense, Asus Xtion, Microsoft Kinect v1 및 v2)로 촬영되어 실제 다중 센서 다양성을 제공합니다.
- 장면 이해 연구를 위해 광범위한 실제 실내 장면을 다룹니다.
- 소비자용 실내 RGB-D 캡처의 전형적인 특징으로 최대 약 10m의 깊이 범위를 가집니다.
- RGB 프레임에 정렬된 센서 기반 깊이 그라운드 트루스(ground truth)입니다.
- Ultralytics 깊이 사전 훈련 믹스에 실제 다중 센서 실내 다양성을 기여합니다.
Link to this section데이터셋 구조#
SUN RGB-D 깊이 데이터셋은 두 개의 하위 집합으로 나뉩니다:
- Train: 훈련을 위한 쌍을 이룬 깊이 맵이 포함된 9,245개의 이미지.
- Val: 모델 훈련 중 검증을 위한 쌍을 이룬 깊이 맵이 포함된 1,090개의 이미지.
Each sample consists of one RGB image and one paired .npy float32 depth map storing per-pixel distances in meters, following the Ultralytics depth dataset format.
Link to this sectionYOLO26-Depth에서의 역할#
SUN RGB-D는 약 219만 개의 이미지-깊이 쌍으로 구성된 Ultralytics YOLO26-Depth 다중 데이터셋 사전 훈련 믹스의 훈련 소스입니다. 이는 실제 다중 센서 실내 다양성을 제공하여 모델이 여러 소비자용 RGB-D 장치에서 캡처된 깊이를 학습하도록 합니다. 결과 모델은 표준 NYU, KITTI, Make3D, ETH3D 및 iBims-1 벤치마크에서 평가됩니다.
Link to this section데이터셋 YAML#
YAML(Yet Another Markup Language) 파일은 데이터셋 구성을 정의하는 데 사용됩니다. 여기에는 데이터셋의 경로, 클래스 및 기타 관련 정보가 포함됩니다.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# SUN RGB-D dataset for monocular depth estimation — real indoor, multi-sensor RGB-D (RealSense/Xtion/Kinect), up to ~10 m
# Documentation: https://docs.ultralytics.com/datasets/depth/sunrgbd
# Example usage: yolo depth train data=depth-sunrgbd.yaml model=yolo26n-depth.pt
# parent
# ├── ultralytics
# └── datasets
# └── depth-sunrgbd ← downloads here (6.5 GB archive, ~14 GB converted)
# ├── images/{train,val} # RGB images
# └── depth/{train,val} # paired *.npy, float32 meters (images/ -> depth/)
# If an interrupted download leaves a partial dataset, delete the depth-sunrgbd dir and re-run to rebuild it.
path: depth-sunrgbd # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 9245 images
val: images/val # val images (relative to 'path') 1090 images
nc: 1
names:
0: depth
channels: 3
# Download script/URL (optional)
download: |
import random
import shutil
from pathlib import Path
import cv2
import numpy as np
from ultralytics.utils import TQDM
from ultralytics.utils.downloads import download
# Download and extract the official archive (~6.5 GB), then convert each of the 10335 scenes:
# refined depth_bfx PNGs decode via the SUN RGB-D bit-rotation (d>>3 | d<<13) to millimeters,
# clipped at 10 m; a deterministic random 1090-scene subset (seed 0) forms the val split
dir = Path(yaml["path"]) # dataset root dir
download(["https://rgbd.cs.princeton.edu/data/SUNRGBD.zip"], dir=dir / "source", delete=True, exist_ok=True)
for split in ("train", "val"):
(dir / "images" / split).mkdir(parents=True, exist_ok=True)
(dir / "depth" / split).mkdir(parents=True, exist_ok=True)
scenes = sorted(p.parent for p in (dir / "source" / "SUNRGBD").rglob("depth_bfx"))
names = ["_".join(s.relative_to(dir / "source" / "SUNRGBD").parts) for s in scenes]
val = set(random.Random(0).sample(names, k=1090))
for scene, name in TQDM(zip(scenes, names), total=len(scenes), desc="Converting"):
split = "val" if name in val else "train"
d = cv2.imread(str(next((scene / "depth_bfx").glob("*.png"))), cv2.IMREAD_ANYDEPTH)
d = (((d >> 3) | (d << 13)) / 1000.0).clip(max=10).astype(np.float32) # bit-rotated mm -> m
np.save(dir / "depth" / split / f"{name}.npy", d)
next((scene / "image").glob("*.jpg")).replace(dir / "images" / split / f"{name}.jpg")
shutil.rmtree(dir / "source")Link to this section사용법#
이미지 크기 640으로 SUN RGB-D 데이터셋에서 YOLO26n-depth 모델을 훈련하려면 다음 코드 스니펫을 사용할 수 있습니다. 사용 가능한 인수의 전체 목록은 모델 훈련(Training) 페이지를 참조하십시오.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load a pretrained depth model (recommended for training)
# Train the model
results = model.train(data="depth-sunrgbd.yaml", epochs=100, imgsz=640)Link to this section사전 학습된 모델#
YOLO26 깊이 제품군은 SUN RGB-D가 포함된 광범위한 다중 데이터셋 깊이 사전 훈련 믹스로 훈련됩니다. 이 모델들은 최신 Ultralytics 릴리스(예: v8.4.0의 YOLO26x-depth)에서 자동으로 다운로드되며, 다양한 정확도 및 리소스 요구 사항에 맞는 다양한 크기를 제공합니다.
Link to this section인용 및 감사의 글#
연구 또는 개발 작업에 SUN RGB-D 데이터셋을 사용하는 경우 다음 논문을 인용해 주십시오:
@inproceedings{song2015sunrgbd,
title={SUN RGB-D: A RGB-D Scene Understanding Benchmark Suite},
author={Song, Shuran and Lichtenberg, Samuel P. and Xiao, Jianxiong},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2015}
}컴퓨터 비전 커뮤니티를 위한 이 가치 있는 리소스를 생성하고 유지 관리해 준 저자들에게 감사를 표합니다.