Link to this sectionTập dữ liệu ARKitScenes Depth#
ARKitScenes là tập dữ liệu RGB-D trong nhà quy mô lớn trong thế giới thực, được thu thập bằng ARKit của Apple trên các thiết bị iPad Pro trang bị máy quét LiDAR. Đây là tập dữ liệu RGB-D trong nhà lớn nhất thuộc loại này, cung cấp các cảnh quay trong nhà đa dạng, được ghi lại một cách tự nhiên với dữ liệu độ sâu chính xác (ground truth) phục vụ cho ước tính độ sâu đơn thị giác.
Link to this sectionTính năng chính#
- Được ghi lại bằng máy quét LiDAR và camera RGB của ARKit trên iPad Pro, tạo ra dữ liệu cảm biến thực (không phải tổng hợp).
- Bao phủ các cảnh trong nhà đa dạng để phục vụ việc hiểu ngữ cảnh 3D trong nhà.
- Phạm vi độ sâu ngắn, khoảng 0,5–6 m (độ sâu tối đa trung bình khoảng 2,4 m), đặc trưng của việc ghi lại hình ảnh trong nhà bằng thiết bị cầm tay.
- Dữ liệu độ sâu ground truth dày đặc từ LiDAR được căn chỉnh với các khung hình RGB.
- Nguồn dữ liệu thế giới thực đơn lẻ lớn nhất trong tập hợp tiền 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 ARKitScenes được chia thành hai tập hợp con:
- Train: 676.080 ảnh với các bản đồ độ sâu đi kèm để huấn luyện.
- Val: 21.559 ảnh với các bản đồ độ sâu đi kèm để xác thực trong quá trình huấn luyện model.
Mỗi mẫu bao gồm một ảnh RGB và một bản đồ độ sâu .npy float32 đi kèm lưu trữ khoảng cách theo từng pixel (đơn vị mét), tuân theo định dạng tập dữ liệu độ sâu của Ultralytics.
Link to this sectionNhận dữ liệu#
ARKitScenes không có tính năng tự động tải xuống — dữ liệu được phân phối bởi Apple và việc tải xuống yêu cầu chấp nhận các điều khoản giấy phép trong kho lưu trữ ARKitScenes. Hãy clone kho lưu trữ và tải xuống tập hợp con depth-upsampling, trong đó ghép nối các khung hình RGB với độ sâu đã được đăng ký:
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 ./dataCác khung hình độ sâu là file PNG uint16 tính theo milimet (0 = không hợp lệ), và tên tệp RGB/độ sâu là dấu thời gian ghi hình không trùng khớp chính xác — hãy ghép từng khung hình độ sâu với khung hình RGB có dấu thời gian gần nhất. Tham khảo chuyển đổi sang định dạng tập dữ liệu độ sâu của Ultralytics:
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)))Link to this sectionVai trò trong YOLO26-Depth#
ARKitScenes là một nguồn huấn luyện trong tập hợp tiền huấn luyện đa tập dữ liệu YOLO26-Depth của Ultralytics với khoảng 2,19 triệu cặp ảnh-độ sâu. Là nguồn dữ liệu thực đơn lẻ lớn nhất trong tập hợp này, nó cung cấp lượng dữ liệu độ sâu LiDAR trong nhà phong phú, giúp củng cố độ chính xác cho model trong môi trường trong nhà ở phạm vi ngắn. Các model kết quả được đánh giá trên các tiêu chuẩn NYU, 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ề đường dẫn, các lớp và các thông tin liên quan khác của tập dữ liệu.
# 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: 3Link to this sectionCách sử dụng#
Để huấn luyện model YOLO26n-depth trên tập dữ liệu ARKitScenes với kích thước ảnh 640, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Huấn luyện của model.
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)Link to this sectionCác model đã được tiền huấn luyện#
Họ model YOLO26 depth được huấn luyện trên tập hợp tiền huấn luyện đa tập dữ liệu rộng lớn mà ARKitScenes là một phần trong đó. Các model này tự động tải xuống từ bản phát hành mới nhất của Ultralytics, ví dụ YOLO26x-depth từ v8.4.0, và bao gồm nhiều kích thước khác nhau cho các yêu cầu về độ chính xác và tài nguyên khác nhau.
Link to this sectionTrích dẫn và Ghi nhận#
Nếu bạn sử dụng tập dữ liệu ARKitScenes trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau:
@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}
}Chúng tôi xin ghi nhận các tác giả vì đã tạo ra và duy trì tài nguyên quý giá này cho cộng đồng thị giác máy tính.