YOLO Vision 2026:

ARKitScenes Depth Dataset#

ARKitScenes는 LiDAR 스캐너가 탑재된 iPad Pro 기기에서 Apple의 ARKit으로 촬영한 대규모 실제 실내 RGB-D 데이터셋입니다. 이 데이터셋은 동급 최대 규모의 실제 실내 RGB-D 데이터셋으로, 단안 깊이 추정을 위한 정확한 깊이 정답 데이터(ground truth)를 포함한 다양하고 자연스럽게 촬영된 실내 장면에 제공합니다.

주요 특징#

  • iPad Pro에서 Apple ARKit의 LiDAR 스캐너와 RGB 카메라로 캡처되어 실제(비합성) 센서 데이터를 생성합니다.
  • 3D 실내 장면 이해를 위한 다양한 실내 장면을 포함합니다.
  • 근거리 깊이 범위(약 0.5~6m, 중앙값 최대 깊이 약 2.4m)로, 일반적인 휴대용 실내 캡처의 특징을 가집니다.
  • RGB 프레임에 정렬된 고밀도 LiDAR 기반 깊이 정답을 제공합니다.
  • Ultralytics 깊이 사전 학습 구성 데이터셋 중 단일 실세계 소스로는 가장 큽니다.

데이터셋 구조#

ARKitScenes 깊이 데이터셋은 두 개의 서브셋으로 나뉩니다:

  1. Train: 학습을 위한 깊이 맵이 포함된 676,080개의 이미지.
  2. Val: 모델 학습 중 검증을 위한 깊이 맵이 포함된 21,559개의 이미지.

각 샘플은 하나의 RGB 이미지와 Ultralytics depth dataset format에 따라 미터 단위의 픽셀별 거리를 저장하는 하나의 쌍을 이룬 .npy float32 깊이 맵으로 구성됩니다.

데이터 획득#

ARKitScenes는 자동 다운로드를 지원하지 않습니다. 데이터는 Apple에서 배포하며, 다운로드하려면 ARKitScenes repository에서 라이선스 약관에 동의해야 합니다. 저장소를 복제(clone)하고, RGB 프레임과 정렬된 깊이를 쌍으로 묶는 depth-upsampling 서브셋을 다운로드하세요:

git clone https://github.com/apple/ARKitScenes && cd ARKitScenes
python3 download_data.py upsampling --split Training --download_dir ./data
python3 download_data.py upsampling --split Validation --download_dir ./data

깊이 프레임은 밀리미터(0 = 유효하지 않음) 단위의 uint16 PNG 파일이며, RGB 및 깊이 파일 이름은 정확히 일치하지 않는 캡처 타임스탬프입니다. 각 깊이 프레임을 가장 가까운 타임스탬프의 RGB 프레임과 페어링하세요. Ultralytics depth dataset format으로의 변환 참고 자료:

from pathlib import Path

import cv2
import numpy as np

src, dst = Path("data/upsampling"), Path("datasets/depth-arkitscenes")
for split, out in (("Training", "train"), ("Validation", "val")):
    (dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
    (dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
    for video in sorted((src / split).iterdir()):
        rgbs = {float(p.stem.split("_")[-1]): p for p in (video / "lowres_wide").glob("*.png")}
        if not rgbs:
            continue
        for depth_png in sorted((video / "lowres_depth").glob("*.png")):
            t = float(depth_png.stem.split("_")[-1])
            rgb = rgbs[min(rgbs, key=lambda k: abs(k - t))]  # nearest-timestamp RGB frame
            name = f"{video.name}_{depth_png.stem}"
            depth = cv2.imread(str(depth_png), cv2.IMREAD_UNCHANGED).astype(np.float32) / 1000.0  # mm → m
            np.save(dst / f"depth/{out}/{name}.npy", depth)
            cv2.imwrite(str(dst / f"images/{out}/{name}.png"), cv2.imread(str(rgb)))

YOLO26-Depth에서의 역할#

ARKitScenes는 약 219만 개의 이미지-깊이 쌍으로 구성된 Ultralytics YOLO26-Depth 다중 데이터셋 사전 학습 조합의 학습 소스입니다. 이 조합에서 가장 큰 단일 실세계 소스로서, 모델의 근거리 실내 정확도를 뒷받침하는 풍부한 실세계 실내 LiDAR 깊이 데이터를 제공합니다. 결과 모델은 표준 NYU, KITTI, Make3D, ETH3D 및 iBims-1 벤치마크에서 평가됩니다.

데이터셋 YAML#

YAML(Yet Another Markup Language) 파일은 데이터셋 구성을 정의하는 데 사용됩니다. 여기에는 데이터셋의 경로, 클래스 및 기타 관련 정보가 포함됩니다.

ultralytics/cfg/datasets/depth-arkitscenes.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# ARKitScenes dataset for monocular depth estimation — real indoor RGB-D from Apple ARKit (iPad Pro LiDAR), depth ~0.5-6 m
# Documentation: https://docs.ultralytics.com/datasets/depth/arkitscenes
# Example usage: yolo depth train data=depth-arkitscenes.yaml model=yolo26n-depth.pt
# No autodownload — obtain the source data (see docs) and arrange it as below.
# parent
# ├── ultralytics
# └── datasets
#     └── depth-arkitscenes
#         ├── images/{train,val}  # RGB images
#         └── depth/{train,val}   # paired *.npy, float32 meters (images/ -> depth/)

path: depth-arkitscenes # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 676080 images
val: images/val # val images (relative to 'path') 21559 images

nc: 1
names:
  0: depth

channels: 3

사용법#

이미지 크기를 640으로 하여 ARKitScenes 데이터셋에서 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-arkitscenes.yaml", epochs=100, imgsz=640)

사전 학습된 모델#

YOLO26 depth 제품군은 ARKitScenes가 포함된 광범위한 다중 데이터셋 깊이 사전 학습 믹스(pretraining mix)를 기반으로 학습됩니다. 이 모델들은 v8.4.0의 YOLO26x-depth와 같이 최신 Ultralytics 릴리스에서 자동으로 다운로드되며, 다양한 정확도 및 리소스 요구 사항을 충족하기 위해 다양한 크기로 제공됩니다.

인용 및 감사의 글#

연구 또는 개발 작업에 ARKitScenes 데이터셋을 사용하는 경우 다음 논문을 인용해 주십시오:

인용
@inproceedings{baruch2021arkitscenes,
      title={ARKitScenes: A Diverse Real-World Dataset for 3D Indoor Scene Understanding Using Mobile RGB-D Data},
      author={Baruch, Gilad and Chen, Zhuoyuan and Dehghan, Afshin and Dimry, Tal and Feigin, Yuri and Fu, Peter and Gebauer, Thomas and Joffe, Brandon and Kurz, Daniel and Schwartz, Arik and Shulman, Elad},
      booktitle={Thirty-fifth Conference on Neural Information Processing Systems Datasets and Benchmarks Track},
      year={2021}
}

컴퓨터 비전 커뮤니티를 위한 이 가치 있는 리소스를 생성하고 유지 관리해 준 저자들에게 감사를 표합니다.

댓글