SUN RGB-D深度データセット#
SUN RGB-D は、Intel RealSense、Asus Xtion、Microsoft Kinect v1 および v2 の 4 つの異なる RGB-D センサーで撮影された、実世界の屋内シーン理解用ベンチマークです。そのマルチセンサー設計により、単眼深度推定における実際の屋内深度の多様性を提供する貴重なデータソースとなっています。
主な特徴#
- 4種類の異なるRGB-Dセンサー(Intel RealSense、Asus Xtion、Microsoft Kinect v1およびv2)で撮影されており、実際のマルチセンサーの多様性を提供します。
- シーン理解研究のために、屋内の広範な実シーンをカバーしています。
- 深度範囲は約10mまでで、コンシューマー向け屋内RGB-Dキャプチャの典型的な範囲です。
- RGBフレームにアライメントされた、センサー由来の深度グラウンドトゥルースです。
- Ultralyticsの深度事前学習ミックスに、実世界のマルチセンサー屋内データの多様性をもたらします。
データセットの構造#
SUN RGB-D深度データセットは、以下の2つのサブセットに分割されています。
- Train: 学習用のペア深度マップを含む9,245枚の画像。
- Val: モデル学習中の検証用のペア深度マップを含む1,090枚の画像。
各サンプルは、1 枚の RGB 画像と、1 つのペアになった .npy float32 深度マップで構成されており、ピクセルごとの距離をメートル単位で格納し、Ultralytics depth dataset format に準拠しています。
YOLO26-Depthにおける役割#
SUN RGB-Dは、約219万組の画像と深度のペアで構成されるUltralytics YOLO26-Depthマルチデータセット事前学習ミックスの学習ソースです。これは実世界のマルチセンサー屋内データの多様性をもたらし、さまざまなコンシューマー向けRGB-Dデバイスで撮影された深度をモデルに学習させます。完成したモデルは、標準的なNYU、KITTI、Make3D、ETH3D、およびiBims-1ベンチマークで評価されます。
データセット 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")使用方法#
SUN RGB-D データセット上で画像サイズ 640 を使用して YOLO26n-depth モデルをトレーニングするには、以下のコードスニペットを使用できます。利用可能な引数の包括的なリストについては、モデルのトレーニングページをご参照ください。
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)事前学習済みモデル#
YOLO26 デプスファミリーは、SUN RGB-D がその一部を構成する、幅広いマルチデータセット深度事前学習ミックスでトレーニングされています。これらのモデルは、v8.4.0 の YOLO26x-depth など、最新の Ultralytics リリースから自動ダウンロードされ、さまざまな精度やリソースの要件に対応する幅広いサイズを取り揃えています。
引用と謝辞#
研究や開発の作業で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}
}コンピュータビジョンコミュニティにとって貴重なこのリソースを作成・維持してくださった著者の皆様に感謝いたします。