TartanAir Depth Dataset#
TartanAir là một tập dữ liệu tổng hợp quy mô lớn được tạo ra trong trình mô phỏng AirSim. Tập dữ liệu này được xây dựng nhằm đẩy mạnh giới hạn của SLAM thị giác và bao gồm nhiều loại môi trường đa dạng — cảnh trong nhà, ngoài trời, đô thị và tự nhiên — cùng với sự biến đổi theo mùa, thời tiết, ánh sáng và các điều kiện thử thách.
Vì TartanAir được kết xuất trong môi trường mô phỏng, nó cung cấp dữ liệu gốc về độ sâu dày đặc trên tập hợp cảnh đa dạng này, trở thành nguồn cung cấp sự đa dạng môi trường và hình học tầm xa vững chắc để huấn luyện các model depth estimation đơn thị giác.
Tính năng chính#
- Dữ liệu Synthetic được tạo trong trình mô phỏng AirSim.
- Các môi trường indoor and outdoor đa dạng (đô thị, thiên nhiên) với sự biến đổi theo mùa, thời tiết, ánh sáng và các điều kiện đầy thử thách.
- Ground truth độ sâu Dense trên tất cả các cảnh.
- Phạm vi độ sâu lên đến ~80 m.
- Đóng góp 61,470 hình ảnh (55,660 train / 5,810 val) vào tập dữ liệu huấn luyện độ sâu của Ultralytics.
Cấu trúc tập dữ liệu#
Tập dữ liệu độ sâu TartanAir được chia thành hai tập con:
- Train: 55,660 hình ảnh với các bản đồ độ sâu dày đặc đi kèm để huấn luyện.
- Val: 5,810 hình ảnh với các bản đồ độ sâu dày đặc đi kèm để xác thực trong quá trình huấn luyện.
Mỗi hình ảnh RGB đi kèm với một bản đồ độ sâu float32 .npy lưu trữ khoảng cách theo từng pixel tính bằng mét, tuân theo Ultralytics depth dataset format.
Nhận dữ liệu#
TartanAir không có tính năng tự động tải xuống — dữ liệu được phân phối bởi AirLab của CMU (xem dataset page để biết các điều khoản) và tải xuống bằng các script tartanair_tools:
git clone https://github.com/castacks/tartanair_tools && cd tartanair_tools
python download_training.py --output-dir ./data --rgb --depth --only-left --unzipĐộ sâu đã được lưu dưới dạng float32 .npy tính bằng mét (depth_left/*_left_depth.npy nằm cạnh image_left/*_left.png), do đó việc chuyển đổi chỉ đơn giản là sắp xếp lại và vô hiệu hóa phần bầu trời (được kết xuất ở khoảng cách cực xa; bộ dữ liệu phát hành cắt bớt ở mức 80 m để khớp với dataset YAML). TartanAir không cung cấp sẵn tập val chính thức — hãy giữ lại một hoặc nhiều môi trường để làm tập kiểm thử. Mã nguồn tham khảo để chuyển đổi sang Ultralytics depth dataset format:
import shutil
from pathlib import Path
import numpy as np
VAL_ENVS = {"neighborhood"} # environments held out for validation
src, dst = Path("data"), Path("datasets/depth-tartanair")
for depth_file in sorted(src.rglob("depth_left/*_left_depth.npy")):
env, traj = depth_file.parts[-5], depth_file.parts[-3]
out = "val" if env.lower() in VAL_ENVS else "train"
(dst / f"images/{out}").mkdir(parents=True, exist_ok=True)
(dst / f"depth/{out}").mkdir(parents=True, exist_ok=True)
depth = np.load(depth_file)
depth[depth > 80.0] = 0.0 # sky/extreme range → 0 = invalid
frame = depth_file.name.replace("_depth.npy", "") # e.g. 000000_left
name = f"{env}_{traj}_{frame}"
np.save(dst / f"depth/{out}/{name}.npy", depth)
shutil.copy(depth_file.parents[1] / "image_left" / f"{frame}.png", dst / f"images/{out}/{name}.png")Vai trò trong YOLO26-Depth#
TartanAir là một trong những training sources trong hỗn hợp đa tập dữ liệu rộng lớn (~2.19M hình ảnh) được sử dụng để pretrain các model Ultralytics YOLO26-Depth. Trong hỗn hợp này, TartanAir đóng góp sự đa dạng môi trường tổng hợp và hình học ngoài trời tầm xa để bổ sung cho các nguồn dữ liệu trong nhà và dữ liệu thực tế.
Không có điểm chuẩn (benchmark) TartanAir độc lập nào trong thiết lập này. Thay vào đó, các model thu được được đánh giá trên các tiêu chuẩn độ sâu đơn mắt phổ biến: NYU Depth V2, KITTI, Make3D, ETH3D và iBims-1.
YAML tập dữ liệu#
Một file YAML (Yet Another Markup Language) được sử dụng để định nghĩa cấu hình của dataset. File này chứa thông tin về các đường dẫn, class và các thông tin liên quan khác của dataset. Đối với TartanAir, file depth-tartanair.yaml định nghĩa các đường dẫn và class depth duy nhất.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
# TartanAir dataset for monocular depth estimation — synthetic indoor + outdoor (AirSim), dense depth up to ~80 m
# Documentation: https://docs.ultralytics.com/datasets/depth/tartanair
# Example usage: yolo depth train data=depth-tartanair.yaml model=yolo26n-depth.pt
# No autodownload — obtain the source data (see docs) and arrange it as below.
# parent
# ├── ultralytics
# └── datasets
# └── depth-tartanair
# ├── images/{train,val} # RGB images
# └── depth/{train,val} # paired *.npy, float32 meters (images/ -> depth/)
path: depth-tartanair # dataset root dir (relative to Ultralytics settings 'datasets_dir')
train: images/train # train images (relative to 'path') 55660 images
val: images/val # val images (relative to 'path') 5810 images
max_depth: 80 # (m) maximum valid depth; GT beyond this is excluded from val metrics
nc: 1
names:
0: depth
channels: 3Cách sử dụng#
Để huấn luyện model YOLO26n-Depth trên dataset TartanAir với kích thước ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để có danh sách đầy đủ các tham số khả dụng, hãy tham khảo trang Training của model.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="depth-tartanair.yaml", epochs=100, imgsz=640)Các model đã được tiền huấn luyện#
Nhóm model độ sâu YOLO26 (yolo26n-depth.pt, yolo26s-depth.pt, yolo26m-depth.pt, yolo26l-depth.pt, yolo26x-depth.pt) tự động tải xuống từ các bản phát hành của Ultralytics và được huấn luyện trên tập hỗn hợp đa dataset rộng lớn mà TartanAir là một phần trong đó. Khám phá YOLO26x-depth trên Ultralytics Platform.
Trích dẫn và Ghi nhận#
Nếu bạn sử dụng tập dữ liệu TartanAir trong nghiên cứu hoặc công việc phát triển của mình, vui lòng trích dẫn bài báo sau:
@inproceedings{wang2020tartanair,
title={TartanAir: A Dataset to Push the Limits of Visual SLAM},
author={Wenshan Wang and Delong Zhu and Xiangwei Wang and Yaoyu Hu and Yuheng Qiu and Chen Wang and Yafei Hu and Ashish Kapoor and Sebastian Scherer},
booktitle={IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
year={2020}
}Chúng tôi xin ghi nhận những người tạo ra TartanAir vì đã cung cấp tập dữ liệu tổng hợp đa dạng này cho cộng đồng thị giác máy tính.