Chuyển đến nội dung

Bộ dữ liệu DOTA với OBB

DOTA là một bộ dữ liệu chuyên biệt, nhấn mạnh vào phát hiện đối tượng trong ảnh chụp từ trên không. Bắt nguồn từ chuỗi bộ dữ liệu DOTA, nó cung cấp các ảnh được chú thích ghi lại một loạt các cảnh trên không đa dạng với Oriented Bounding Boxes (OBB).

Hình ảnh trực quan của các lớp DOTA

Các tính năng chính



Xem: Cách Huấn luyện Ultralytics YOLO11 trên Bộ dữ liệu DOTA cho Hộp giới hạn Định hướng trong Google Colab

  • Bộ sưu tập từ các cảm biến và nền tảng khác nhau, với kích thước hình ảnh từ 800 × 800 đến 20.000 × 20.000 pixel.
  • Các tính năng có hơn 1,7 triệu Hộp giới hạn theo hướng trên 18 danh mục.
  • Bao gồm phát hiện đối tượng đa tỷ lệ.
  • Các instance được các chuyên gia chú thích bằng cách sử dụng tứ giác tùy ý (8 d.o.f.), ghi lại các đối tượng có tỷ lệ, hướng và hình dạng khác nhau.

Các phiên bản bộ dữ liệu

DOTA-v1.0

  • Chứa 15 danh mục phổ biến.
  • Bao gồm 2.806 hình ảnh với 188.282 đối tượng.
  • Tỷ lệ phân chia: 1/2 cho huấn luyện, 1/6 cho xác thực và 1/3 cho kiểm thử.

DOTA-v1.5

DOTA-v2.0

  • Bộ sưu tập từ Google Earth, Vệ tinh GF-2 và các hình ảnh trên không khác.
  • Chứa 18 danh mục phổ biến.
  • Bao gồm 11.268 hình ảnh với số lượng lớn là 1.793.658 đối tượng.
  • Các danh mục mới được giới thiệu: "airport" (sân bay) và "helipad" (bãi đáp trực thăng).
  • Phân chia hình ảnh:
    • Huấn luyện: 1.830 ảnh với 268.627 đối tượng.
    • Xác thực: 593 hình ảnh với 81.048 đối tượng.
    • Test-dev: 2.792 hình ảnh với 353.346 đối tượng.
    • Thử thách kiểm tra: 6.053 hình ảnh với 1.090.637 đối tượng.

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

DOTA thể hiện một bố cục có cấu trúc phù hợp với các thách thức phát hiện đối tượng OBB:

  • Hình ảnh: Một bộ sưu tập lớn các hình ảnh trên không có độ phân giải cao, ghi lại các địa hình và cấu trúc đa dạng.
  • Hộp giới hạn định hướng: Chú thích ở dạng hình chữ nhật xoay bao quanh các đối tượng bất kể hướng của chúng, lý tưởng để chụp các đối tượng như máy bay, tàu thuyền và tòa nhà.

Các ứng dụng

DOTA đóng vai trò là tiêu chuẩn để huấn luyện và đánh giá các mô hình được thiết kế đặc biệt cho phân tích ảnh trên không. Với việc bao gồm các chú thích OBB, nó mang đến một thách thức độc đáo, cho phép phát triển các mô hình phát hiện đối tượng chuyên biệt phục vụ cho các sắc thái của ảnh trên không. Bộ dữ liệu này đặc biệt có giá trị cho các ứng dụng trong viễn thám, giám sát và theo dõi môi trường.

YAML bộ dữ liệu

Thông thường, các bộ dữ liệu kết hợp tệp YAML (Yet Another Markup Language) trình bày chi tiết cấu hình của bộ dữ liệu. Đối với DOTA v1 và DOTA v1.5, Ultralytics cung cấp DOTAv1.yamlDOTAv1.5.yaml các tập tin. Để biết thêm chi tiết về chúng cũng như DOTA v2, vui lòng tham khảo kho lưu trữ và tài liệu chính thức của DOTA.

DOTAv1.yaml

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota1 ← downloads here (2GB)

# 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: DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 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/DOTAv1.zip

Chia nhỏ ảnh DOTA

Để huấn luyện bộ dữ liệu DOTA, chúng tôi chia các ảnh DOTA gốc có độ phân giải cao thành các ảnh có độ phân giải 1024x1024 theo cách đa tỷ lệ. Bước tiền xử lý này rất quan trọng để huấn luyện hiệu quả vì các ảnh gốc có thể cực kỳ lớn.

Chia nhỏ ảnh

from ultralytics.data.split_dota import split_test, split_trainval

# split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)

Cách sử dụng

Để huấn luyện một mô hình trên bộ dữ liệu DOTA v1, bạn có thể sử dụng các đoạn mã sau. Luôn tham khảo tài liệu của mô hình để có danh sách đầy đủ các đối số có sẵn. Đối với những người muốn thử nghiệm với một tập hợp con nhỏ hơn trước, hãy cân nhắc sử dụng bộ dữ liệu DOTA8, chỉ chứa 8 hình ảnh để kiểm tra nhanh.

Cảnh báo

Xin lưu ý rằng tất cả hình ảnh và chú thích liên quan trong bộ dữ liệu DOTAv1 có thể được sử dụng cho mục đích học thuật, nhưng nghiêm cấm sử dụng cho mục đích thương mại. Chúng tôi đánh giá cao sự thông cảm và tôn trọng của bạn đối với mong muốn của người tạo bộ dữ liệu!

Ví dụ huấn luyện

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Dữ liệu mẫu và Chú thích

Xem qua bộ dữ liệu minh họa độ sâu của nó:

Ảnh mẫu bộ dữ liệu

  • Ví dụ DOTA: Ảnh chụp nhanh này nhấn mạnh sự phức tạp của cảnh trên không và tầm quan trọng của chú thích Hộp giới hạn có hướng, ghi lại các đối tượng theo hướng tự nhiên của chúng.

Sự phong phú của bộ dữ liệu mang lại những hiểu biết vô giá về các thách thức phát hiện đối tượng dành riêng cho ảnh chụp từ trên không. Bộ dữ liệu DOTA-v2.0 đã trở nên đặc biệt phổ biến cho các dự án viễn thám và giám sát trên không do chú thích toàn diện và các danh mục đối tượng đa dạng.

Trích dẫn và Lời cảm ơn

Đối với những ai sử dụng DOTA trong công việc của mình, việc trích dẫn các bài nghiên cứu liên quan là rất quan trọng:

@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={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

Một lời cảm ơn đặc biệt đến nhóm đằng sau bộ dữ liệu DOTA vì nỗ lực đáng khen ngợi của họ trong việc quản lý bộ dữ liệu này. Để hiểu thấu đáo về bộ dữ liệu và các sắc thái của nó, vui lòng truy cập trang web DOTA chính thức.

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

Bộ dữ liệu DOTA là gì và tại sao nó lại quan trọng đối với việc phát hiện đối tượng trong ảnh chụp từ trên không?

Bộ dữ liệu DOTA là một bộ dữ liệu chuyên biệt tập trung vào phát hiện đối tượng trong ảnh chụp từ trên không. Nó có các Hộp giới hạn theo hướng (OBB), cung cấp hình ảnh được chú thích từ các cảnh trên không khác nhau. Sự đa dạng của DOTA về hướng, tỷ lệ và hình dạng đối tượng trên 1,7 triệu chú thích và 18 danh mục của nó khiến nó trở nên lý tưởng để phát triển và đánh giá các mô hình được điều chỉnh cho phân tích hình ảnh trên không, chẳng hạn như các mô hình được sử dụng trong giám sát, theo dõi môi trường và quản lý thiên tai.

Bộ dữ liệu DOTA xử lý các tỷ lệ và hướng khác nhau trong ảnh như thế nào?

DOTA sử dụng Hộp giới hạn định hướng (OBB) để chú thích, được biểu thị bằng các hình chữ nhật xoay bao quanh các đối tượng bất kể hướng của chúng. Phương pháp này đảm bảo rằng các đối tượng, dù nhỏ hay ở các góc khác nhau, đều được chụp chính xác. Hình ảnh đa tỷ lệ của bộ dữ liệu, từ 800 × 800 đến 20.000 × 20.000 pixel, cho phép phát hiện hiệu quả cả các đối tượng nhỏ và lớn. Cách tiếp cận này đặc biệt có giá trị đối với ảnh trên không, nơi các đối tượng xuất hiện ở nhiều góc độ và tỷ lệ khác nhau.

Làm thế nào để huấn luyện một mô hình bằng bộ dữ liệu DOTA?

Để huấn luyện một mô hình trên bộ dữ liệu DOTA, bạn có thể sử dụng ví dụ sau với Ultralytics YOLO:

Ví dụ huấn luyện

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Để biết thêm chi tiết về cách chia và tiền xử lý hình ảnh DOTA, hãy tham khảo phần chia hình ảnh DOTA.

Sự khác biệt giữa DOTA-v1.0, DOTA-v1.5 và DOTA-v2.0 là gì?

  • DOTA-v1.0: Bao gồm 15 danh mục phổ biến trên 2.806 hình ảnh với 188.282 đối tượng. Bộ dữ liệu được chia thành các tập huấn luyện, xác thực và thử nghiệm.
  • DOTA-v1.5: Xây dựng dựa trên DOTA-v1.0 bằng cách chú thích các đối tượng rất nhỏ (dưới 10 pixel) và thêm một danh mục mới, "cần cẩu container", với tổng số 403.318 đối tượng.
  • DOTA-v2.0: Mở rộng hơn nữa với các chú thích từ Google Earth và GF-2 Satellite, có 11.268 hình ảnh và 1.793.658 đối tượng. Nó bao gồm các danh mục mới như "sân bay" và "sân đỗ trực thăng".

Để so sánh chi tiết và các thông số kỹ thuật bổ sung, hãy xem phần phiên bản bộ dữ liệu.

Làm thế nào để chuẩn bị ảnh DOTA độ phân giải cao để huấn luyện?

Hình ảnh DOTA, vốn có thể rất lớn, được chia thành độ phân giải nhỏ hơn để dễ quản lý việc huấn luyện. Dưới đây là một đoạn mã Python để chia nhỏ hình ảnh:

Ví dụ

from ultralytics.data.split_dota import split_test, split_trainval

# split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)

Quy trình này tạo điều kiện thuận lợi cho việc nâng cao hiệu quả huấn luyện và hiệu suất mô hình. Để biết hướng dẫn chi tiết, hãy truy cập phần chia nhỏ hình ảnh DOTA.



📅 Đã tạo 1 năm trước ✏️ Cập nhật 3 tháng trước

Bình luận