YOLO Vision 2026:

Tập dữ liệu DOTA128#

Giới thiệu#

Ultralytics DOTA128 là một tập dữ liệu object detection định hướng nhỏ nhưng linh hoạt bao gồm 128 hình ảnh từ tập DOTAv1, với 128 ảnh dùng cho huấn luyện và kiểm định. Tập dữ liệu này rất lý tưởng để kiểm tra và gỡ lỗi cho các model bounding box định hướng (OBB), hoặc để thử nghiệm các phương pháp detection mới. Với 128 hình ảnh, nó đủ nhỏ để dễ dàng quản lý, nhưng vẫn đủ đa dạng để kiểm tra các pipeline huấn luyện tìm lỗi và đóng vai trò như một bước kiểm tra tính 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 tập dữ liệu#

  • Hình ảnh: 128 ô ảnh hàng không (tất cả nằm trong thư mục train, được sử dụng cho cả train và val) lấy từ DOTAv1.
  • Các lớp (Classes): Thừa hưởng 15 danh mục của DOTAv1 như máy bay, tàu thủy, và xe cơ giới cỡ lớn.
  • Nhãn: Các bounding box có định hướng theo định dạng YOLO được lưu dưới dạng các file .txt bên cạnh mỗi hình ảnh.
  • Tải xuống: 34 MB, được tự động lấy từ các tài nguyên GitHub của Ultralytics trong lần đầu tiên bạn huấn luyện.

Tập dữ liệu này được thiết kế để sử dụng với Ultralytics PlatformYOLO26.

YAML tập dữ liệu#

Một tệp YAML được sử dụng để định nghĩa cấu hình tập dữ liệu. Nó chứa thông tin về các đường dẫn, class của tập dữ liệu và các thông tin liên quan khác. Trong trường hợp của tập 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 tập dữ liệu DOTA128 trong 100 epochs với kích thước ảnh là 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 Training của model.

Ví dụ về Training
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à chú thích#

Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu DOTA128, cùng với các chú thích tương ứng:

DOTA128 oriented bounding box dataset training mosaic
  • Hình ảnh Mosaiced: Hình ảnh này minh họa một batch huấn luyện bao gồm các hình ảnh từ tập dữ liệu đã được áp dụng kỹ thuật Mosaic. Mosaic là một kỹ thuật được sử dụng trong quá trình huấn luyện nhằm kết hợp nhiều hình ảnh thành một hình ảnh duy nhất để tăng sự đa dạng của các đối tượng và bối cảnh trong mỗi batch huấn luyện. Đ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à bối cảnh khác nhau.

Ví dụ này thể hiện sự đa dạng và phức tạp của các hình ảnh trong tập dữ liệu DOTA128 cũng như những lợi ích của việc sử dụng kỹ thuật ghép ảnh (mosaicing) trong quá trình huấn luyện.

Trích dẫn và Ghi nhận#

Nếu bạn sử dụng tập dữ liệu DOTA 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:

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ì nỗ lực đáng khen ngợi của họ trong việc tuyển chọn tập dữ liệu này. Để hiểu rõ toàn diện về tập dữ liệu và các sắc thái của nó, vui lòng truy cập official DOTA website.

Câu hỏi thường gặp#

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

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

    Ví dụ về Training
    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)
  • Tập dữ liệu DOTA nổi tiếng với bộ benchmark quy mô lớn và các thách thức mà nó đặt ra cho object detection trong ảnh chụp từ trên không. Tập con DOTA128 mang lại độ đa dạng cao hơn so với DOTA8 trong khi vẫn dễ quản lý cho các bài kiểm tra ban đầu. Bạn có thể truy cập tệp dota128.yaml, chứa các đường dẫn, class và chi tiết cấu hình, tại liên kết GitHub này.

  • DOTA128 (128 hình ảnh) nằm ở khoảng giữa DOTA8 (8 hình ảnh) và tập dữ liệu DOTA-v1 đầy đủ (1.869 hình ảnh) xét về mặt kích thước:

    • DOTA8: Chỉ chứa 8 hình ảnh (4 train, 4 val) - lý tưởng cho các thử nghiệm nhanh và gỡ lỗi
    • DOTA128: Chứa 128 hình ảnh (tất cả trong thư mục train, được dùng cho cả train và val) - cân bằng giữa kích thước và sự đa dạng
    • Full DOTA-v1: Chứa 1.869 hình ảnh - toàn diện nhưng đòi hỏi nhiều tài nguyên

    DOTA128 cung cấp một điểm trung gian tốt, mang lại sự đa dạng hơn so với DOTA8 trong khi vẫn dễ quản lý hơn nhiều so với tập dữ liệu DOTA đầy đủ cho việc thử nghiệm và phát triển mô hình ban đầu.

  • Mosaicing kết hợp nhiều hình ảnh thành một 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 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à bối 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 bao gồm các hình ảnh tập dữ liệu DOTA128 được ghép nối (mosaiced), giúp phát triển model một cách mạnh mẽ. Khám phá thêm về mosaicing và các kỹ thuật huấn luyện trên trang Training của chúng tôi.

  • Ultralytics YOLO26 cung cấp các tính năng object detection thời gian thực tiên tiến, bao gồm các tính năng như oriented bounding boxes (OBB), instance segmentation, và một pipeline huấn luyện rất linh hoạt. Nó phù hợp cho nhiều ứng dụng khác nhau và cung cấp các model đã được huấn luyện sẵn để fine-tuning hiệu quả. Khám phá thêm về các ưu điểm và cách sử dụng trong Ultralytics YOLO26 documentation.

Bình luận