Bỏ để qua phần nội dung

Tổng quan về bộ dữ liệu Oriented Bounding Box (OBB)

Đào tạo một mô hình phát hiện đối tượng chính xác với các hộp giới hạn định hướng (OBB) đòi hỏi một bộ dữ liệu kỹ lưỡng. Hướng dẫn này giải thích các định dạng tập dữ liệu OBB khác nhau tương thích với Ultralytics YOLO mô hình, cung cấp thông tin chi tiết về cấu trúc, ứng dụng và phương pháp chuyển đổi định dạng của chúng.

Các định dạng tập dữ liệu OBB được hỗ trợ

YOLO Định dạng OBB

Các YOLO Định dạng OBB chỉ định các hộp giới hạn bởi bốn điểm góc của chúng với tọa độ được chuẩn hóa trong khoảng từ 0 đến 1. Nó theo định dạng này:

class_index x1 y1 x2 y2 x3 y3 x4 y4

Nội YOLO xử lý tổn thất và đầu ra trong xywhr định dạng, đại diện cho điểm trung tâm của hộp giới hạn (XY), chiều rộng, chiều cao và xoay.

Ví dụ về định dạng OBB

Một ví dụ về một *.txt label cho hình ảnh trên, trong đó có chứa một đối tượng của lớp 0 ở định dạng OBB, có thể trông giống như:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Sử dụng

Để đào tạo mô hình bằng các định dạng OBB sau:

Ví dụ

from ultralytics import YOLO

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

# Train the model on the DOTAv2 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

Bộ dữ liệu được hỗ trợ

Hiện tại, các bộ dữ liệu sau đây với Hộp Giới hạn Định hướng được hỗ trợ:

  • DOTA-v2: DOTA (Bộ dữ liệu quy mô lớn để phát hiện đối tượng trong hình ảnh trên không) phiên bản 2, nhấn mạnh khả năng phát hiện từ góc độ trên không và chứa các hộp giới hạn định hướng với 1,7 triệu phiên bản và 11.268 hình ảnh.
  • DOTA8: Một tập hợp con nhỏ, 8 hình ảnh của tập dữ liệu DOTA đầy đủ phù hợp cho quy trình kiểm tra và kiểm tra Tích hợp liên tục (CI) của đào tạo OBB trong ultralytics Kho.

Kết hợp tập dữ liệu OBB của riêng bạn

Đối với những người muốn giới thiệu bộ dữ liệu của riêng họ với các hộp giới hạn định hướng, hãy đảm bảo khả năng tương thích với "YOLO Định dạng OBB" đã đề cập ở trên. Chuyển đổi chú thích của bạn sang định dạng bắt buộc này và nêu chi tiết đường dẫn, lớp và tên lớp trong tệp cấu hình YAML tương ứng.

Chuyển đổi định dạng nhãn

Định dạng tập dữ liệu DOTA thành YOLO Định dạng OBB

Chuyển nhãn từ định dạng tập dữ liệu DOTA sang YOLO Định dạng OBB có thể đạt được với tập lệnh này:

Ví dụ

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Cơ chế chuyển đổi này là công cụ cho các bộ dữ liệu ở định dạng DOTA, đảm bảo sự liên kết với Ultralytics YOLO Định dạng OBB.

Bắt buộc phải xác thực tính tương thích của tập dữ liệu với mô hình của bạn và tuân thủ các quy ước định dạng cần thiết. Các bộ dữ liệu có cấu trúc phù hợp là mấu chốt để đào tạo các mô hình phát hiện đối tượng hiệu quả với các hộp giới hạn được định hướng.

FAQ

Hộp giới hạn định hướng (OBB) là gì và chúng được sử dụng như thế nào trong Ultralytics YOLO Mô hình?

Hộp giới hạn định hướng (OBB) là một loại chú thích hộp giới hạn trong đó hộp có thể được xoay để căn chỉnh chặt chẽ hơn với đối tượng được phát hiện, thay vì chỉ được căn chỉnh trục. Điều này đặc biệt hữu ích trong hình ảnh trên không hoặc vệ tinh trong đó các vật thể có thể không thẳng hàng với trục hình ảnh. Trong Ultralytics YOLO các mô hình, OBB được thể hiện bằng bốn điểm góc của chúng trong YOLO Định dạng OBB. Điều này cho phép phát hiện đối tượng chính xác hơn vì các hộp giới hạn có thể xoay để phù hợp với các đối tượng tốt hơn.

Làm cách nào để chuyển đổi nhãn tập dữ liệu DOTA hiện có của tôi thành YOLO Định dạng OBB để sử dụng với Ultralytics YOLOv8?

Bạn có thể chuyển đổi nhãn tập dữ liệu DOTA thành YOLO Định dạng OBB bằng cách sử dụng convert_dota_to_yolo_obb Chức năng từ Ultralytics. Việc chuyển đổi này đảm bảo khả năng tương thích với Ultralytics YOLO mô hình, cho phép bạn tận dụng các khả năng OBB để phát hiện đối tượng nâng cao. Dưới đây là một ví dụ nhanh:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Tập lệnh này sẽ định dạng lại các chú thích DOTA của bạn thành một YOLO-định dạng tương thích.

Làm cách nào để đào tạo một YOLOv8 mô hình với các hộp giới hạn định hướng (OBB) trên tập dữ liệu của tôi?

Đào tạo một YOLOv8 mô hình với OBB liên quan đến việc đảm bảo tập dữ liệu của bạn nằm trong YOLO OBB và sau đó sử dụng Ultralytics API để đào tạo mô hình. Đây là một ví dụ trong cả hai Python và CLI:

Ví dụ

from ultralytics import YOLO

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

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the custom dataset
yolo detect train data=your_dataset.yaml model=yolov8n.pt epochs=100 imgsz=640

Điều này đảm bảo mô hình của bạn tận dụng các chú thích OBB chi tiết để cải thiện độ chính xác phát hiện.

Những bộ dữ liệu nào hiện đang được hỗ trợ để đào tạo OBB trong Ultralytics YOLO Mô hình?

Hiện nay Ultralytics hỗ trợ các bộ dữ liệu sau cho đào tạo OBB:

  • DOTA-v2: Bộ dữ liệu này bao gồm 1,7 triệu phiên bản với các hộp giới hạn định hướng và 11.268 hình ảnh, chủ yếu tập trung vào phát hiện vật thể trên không.
  • DOTA8: Một tập hợp con nhỏ hơn, 8 hình ảnh của tập dữ liệu DOTA được sử dụng để kiểm tra và kiểm tra tích hợp liên tục (CI).

Các bộ dữ liệu này được thiết kế riêng cho các tình huống trong đó OBB mang lại lợi thế đáng kể, chẳng hạn như phân tích hình ảnh trên không và vệ tinh.

Tôi có thể sử dụng tập dữ liệu của riêng mình với các hộp giới hạn định hướng cho không YOLOv8 đào tạo, và nếu vậy, làm thế nào?

Có, bạn có thể sử dụng tập dữ liệu của riêng mình với các hộp giới hạn được định hướng cho YOLOv8 Đào tạo. Đảm bảo chú thích tập dữ liệu của bạn được chuyển đổi thành YOLO Định dạng OBB, liên quan đến việc xác định các hộp giới hạn bằng bốn điểm góc của chúng. Sau đó, bạn có thể tạo tệp cấu hình YAML chỉ định đường dẫn tập dữ liệu, lớp và các chi tiết cần thiết khác. Để biết thêm thông tin về cách tạo và định cấu hình tập dữ liệu của bạn, hãy tham khảo phần Tập dữ liệu được hỗ trợ .



Đã tạo 2023-11-12, Cập nhật 2024-07-23
Tác giả: glenn-jocher (11)

Ý kiến