YOLO Vision 2026:

Bộ dữ liệu DOTA128#

Giới thiệu#

Ultralytics DOTA128 là một tập dữ liệu phát hiện đối tượng định hướng nhỏ nhưng linh hoạt bao gồm 128 hình ảnh từ tập DOTAv1 đóng vai trò là cả tập huấn luyện và tập xác thực. Tập dữ liệu này lý tưởng để kiểm thử và gỡ lỗi các mô hình hộp giới hạn định hướng (OBB), hoặc để thử nghiệm các phương pháp phát hiện mới. Với 128 hình ảnh, tập dữ liệu này đủ nhỏ để dễ dàng quản lý, nhưng cũng đủ đa dạng để kiểm tra các đường ống huấn luyện xem có lỗi không và đóng vai trò như một bước kiểm tra độ hợp lệ trước khi huấn luyện các tập dữ liệu lớn hơn.

Cấu trúc bộ dữ liệu#

  • Ảnh: 128 tile ảnh trên không (tất cả nằm trong thư mục train, được dùng cho cả train và val) lấy từ DOTAv1.
  • Class: Kế thừa 15 category của DOTAv1, chẳng hạn như máy bay, tàu và phương tiện cỡ lớn.
  • Nhãn: Các bounding box định hướng theo định dạng YOLO được lưu dưới dạng các file .txt bên cạnh từng ảnh.
  • Tải xuống: 34 MB, được tự động tải từ các asset GitHub của Ultralytics trong lần đầu tiên bạn huấn luyện.

Dataset này được thiết kế để sử dụng với Ultralytics PlatformYOLO26.

YAML của bộ dữ liệu#

Một tệp YAML được dùng để định nghĩa cấu hình bộ dữ liệu. Tệp này chứa thông tin về đường dẫn, lớp và các thông tin liên quan khác của bộ dữ liệu. Đối với bộ dữ liệu DOTA128, tệp dota128.yaml được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/dota128.yaml.

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

# DOTA128 dataset (128 images from the DOTAv1 split) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota128
# Example usage: yolo train model=yolo26n-obb.pt data=dota128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota128 ← downloads here (34 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: dota128 # dataset root dir
train: images/train # train images (relative to 'path') 128 images
val: images/train # val images (relative to 'path') 128 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dota128.zip

Cách sử dụng#

Để huấn luyện model YOLO26n-obb trên bộ dữ liệu DOTA128 trong 100 epoch với kích thước ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để xem danh sách đầy đủ các tham số hiện có, hãy tham khảo trang Huấn luyện model.

Ví dụ huấn luyện
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-obb.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="dota128.yaml", epochs=100, imgsz=640)

Hình ảnh mẫu và annotation#

Dưới đây là một số ví dụ về ảnh trong bộ dữ liệu DOTA128 cùng với các annotation tương ứng:

DOTA128 oriented bounding box dataset training mosaic
  • Hình ảnh dạng mosaic: Hình ảnh này minh họa một batch train được tạo từ các hình ảnh dataset dạng mosaic. Mosaicing là một kỹ thuật được sử dụng trong quá trình train, kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng tính đa dạng của đối tượng và cảnh trong mỗi batch train. Điều này giúp cải thiện khả năng tổng quát hóa của model đối với các kích thước đối tượng, tỷ lệ khung hình và ngữ cảnh khác nhau.

Ví dụ này cho thấy sự đa dạng và phức tạp của các ảnh trong bộ dữ liệu DOTA128, cũng như lợi ích của việc sử dụng mosaic trong quá trình huấn luyện.

Trích dẫn và ghi nhận đóng góp#

Nếu sử dụng tập dữ liệu DOTA trong công trình nghiên cứu hoặc phát triển, vui lòng trích dẫn bài báo sau:

Trích dẫn
@article{9560031,
  author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
  year={2022},
  volume={44},
  number={11},
  pages={7778-7796},
  doi={10.1109/TPAMI.2021.3117983}
}

Xin gửi lời cảm ơn đặc biệt đến đội ngũ đứng sau các tập dữ liệu DOTA vì những nỗ lực đáng ghi nhận trong việc xây dựng tập dữ liệu này. Để tìm hiểu toàn diện về tập dữ liệu và các đặc điểm của nó, vui lòng truy cập trang web chính thức của DOTA.

FAQ#

  • Bộ dữ liệu DOTA128 là một bộ dữ liệu phát hiện đối tượng có hướng linh hoạt, gồm 128 ảnh từ tập DOTAv1 và tất cả được lưu trong thư mục train. Cả huấn luyện và xác thực đều sử dụng cùng một tập ảnh, nên bộ dữ liệu này lý tưởng cho các workflow kiểm thử và gỡ lỗi nhanh. Bộ dữ liệu đặc biệt phù hợp để kiểm thử và gỡ lỗi các model OBB như Ultralytics YOLO26. Nhờ kích thước dễ quản lý và tính đa dạng, bộ dữ liệu giúp xác định lỗi trong pipeline và thực hiện kiểm tra sanity trước khi triển khai các bộ dữ liệu lớn hơn. Tìm hiểu thêm về phát hiện OBB với Ultralytics YOLO26.

  • Để huấn luyện model YOLO26n-obb trên bộ dữ liệu DOTA128 trong 100 epoch với kích thước ảnh là 640, bạn có thể sử dụng các đoạn code sau. Để xem các tùy chọn tham số đầy đủ, hãy tham khảo trang Huấn luyện model.

    Ví dụ huấn luyện
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n-obb.pt")  # load a pretrained model (recommended for training)
    
    # Train the model
    results = model.train(data="dota128.yaml", epochs=100, imgsz=640)
  • Bộ dữ liệu DOTA nổi tiếng với benchmark quy mô lớn và những thách thức đặt ra cho bài toán phát hiện đối tượng trong ảnh trên không. Tập con DOTA128 cung cấp tính đa dạng cao hơn DOTA8 nhưng vẫn dễ quản lý cho các lần kiểm thử ban đầu. Bạn có thể truy cập tệp dota128.yaml, chứa các đường dẫn, lớp và thông tin cấu hình, tại liên kết GitHub này.

  • DOTA128 (128 hình ảnh) nằm giữa DOTA8 (8 hình ảnh) và tập dữ liệu DOTA-v1 đầy đủ (1.869 hình ảnh huấn luyện và xác thực được gán nhãn) về mặt kích thước:

    • DOTA8: Chỉ gồm 8 ảnh (4 train, 4 val) - lý tưởng cho kiểm thử và gỡ lỗi nhanh
    • DOTA128: Gồm 128 ảnh (tất cả nằm trong thư mục train, được dùng cho cả train và val) - cân bằng giữa quy mô và tính đa dạng
    • DOTA-v1 đầy đủ: Chứa 1.869 hình ảnh huấn luyện và xác thực được gán nhãn - toàn diện nhưng tốn nhiều tài nguyên

    DOTA128 mang đến một lựa chọn trung gian phù hợp, cung cấp tính đa dạng cao hơn DOTA8 nhưng vẫn dễ quản lý hơn nhiều so với bộ dữ liệu DOTA đầy đủ cho việc thử nghiệm và phát triển model ban đầu.

  • Mosaic kết hợp nhiều ảnh thành một ảnh trong quá trình huấn luyện, làm tăng sự đa dạng của các đối tượng và bối cảnh trong mỗi batch. Điều này cải thiện khả năng khái quát hóa của model đối với các kích thước đối tượng, tỷ lệ khung hình và cảnh khác nhau. Kỹ thuật này có thể được minh họa trực quan thông qua một batch huấn luyện gồm các ảnh DOTA128 đã được mosaic, hỗ trợ phát triển model mạnh mẽ. Tìm hiểu thêm về mosaic và các kỹ thuật huấn luyện trên trang Huấn luyện của chúng tôi.

  • Ultralytics YOLO26 cung cấp khả năng phát hiện đối tượng theo thời gian thực hiện đại, bao gồm các tính năng như bounding box định hướng (OBB), phân đoạn instance và pipeline huấn luyện có tính linh hoạt cao. Model này phù hợp với nhiều ứng dụng và cung cấp các model pretrained để fine-tune hiệu quả. Tìm hiểu thêm về các ưu điểm và cách sử dụng trong tài liệu Ultralytics YOLO26.

Bình luận