Link to this sectionTartanAir 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. Nó được tạo ra để đẩy giới hạn của visual SLAM và bao phủ nhiều môi trường đa dạng — cảnh trong nhà, ngoài trời, đô thị và thiên 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 đầy thử thách.
Vì TartanAir được kết xuất trong môi trường mô phỏng, nó cung cấp ground truth độ sâu dày đặc trên tập hợp các cảnh đa dạng này, biến nó thành nguồn cung cấp sự đa dạng môi trường và hình học tầm xa mạnh mẽ để huấn luyện các model depth estimation đơn mắt.
Link to this sectionTí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.
Link to this sectionCấ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 được ghép cặp với một bản đồ độ sâu .npy float32 lưu trữ khoảng cách trên từng pixel theo đơn vị mét, tuân theo định dạng tập dữ liệu độ sâu Ultralytics.
Link to this sectionNhậ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 trang tập dữ liệu để biết các điều khoản) và được 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 cạnh image_left/*_left.png), vì vậy quá trình chuyển đổi chỉ là sắp xếp lại và loại bỏ 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 ở 80 m để khớp với dataset YAML). TartanAir không cung cấp sẵn phân chia val chính thức — hãy để riêng một hoặc nhiều môi trường. Tham khảo cách chuyển đổi sang định dạng tập dữ liệu độ sâu Ultralytics:
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")Link to this sectionVai 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.
Link to this sectionYAML tập dữ liệu#
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 class và các thông tin liên quan khác của tập dữ liệu. Đối với TartanAir, tệp depth-tartanair.yaml xác định các đường dẫn và một 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: 3Link to this sectionCách sử dụng#
Để huấn luyện model YOLO26n-Depth trên tập dữ liệu TartanAir với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để có danh sách đầy đủ các đối 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)Link to this sectionCác model đã được tiền huấn luyện#
Họ 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ừ bản phát hành v8.4.0 và được huấn luyện trên hỗn hợp đa tập dữ liệu rộng lớn mà TartanAir là một phần trong đó.
Link to this sectionTrí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.