Tổng quan về bộ dữ liệu phát hiện đối tượng
Training a robust and accurate object detection model requires a comprehensive dataset. This guide introduces various formats of datasets that are compatible with the Ultralytics YOLO model and provides insights into their structure, usage, and how to convert between different formats.
Các định dạng tập dữ liệu được hỗ trợ
Ultralytics YOLO định dạng
Các Ultralytics YOLO Định dạng là định dạng cấu hình tập dữ liệu cho phép bạn xác định thư mục gốc tập dữ liệu, các đường dẫn tương đối đến các thư mục hình ảnh đào tạo / xác nhận / thử nghiệm hoặc *.txt
các tệp chứa đường dẫn hình ảnh và từ điển tên lớp. Đây là một ví dụ:
# 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: ../datasets/coco8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images
test: # test images (optional)
# Classes (80 COCO classes)
names:
0: person
1: bicycle
2: car
# ...
77: teddy bear
78: hair drier
79: toothbrush
Nhãn cho định dạng này phải được xuất sang YOLO định dạng với một *.txt
tập tin cho mỗi hình ảnh. Nếu không có đối tượng trong một hình ảnh, không *.txt
tập tin là bắt buộc. Các *.txt
Tệp phải được định dạng với một hàng cho mỗi đối tượng trong class x_center y_center width height
định dạng. Tọa độ hộp phải ở trong XYWH chuẩn hóa định dạng (từ 0 đến 1). Nếu hộp của bạn ở dạng pixel, bạn nên chia x_center
và width
theo chiều rộng hình ảnh và y_center
và height
theo chiều cao hình ảnh. Số lớp phải được lập chỉ mục bằng 0 (bắt đầu bằng 0).
Tệp nhãn tương ứng với hình trên chứa 2 người (lớp 0
) và cà vạt (lớp 27
):
Khi sử dụng Ultralytics YOLO định dạng, sắp xếp hình ảnh và nhãn đào tạo và xác nhận của bạn như thể hiện trong ví dụ tập dữ liệu COCO8 bên dưới.
Sử dụng
Dưới đây là cách bạn có thể sử dụng các định dạng này để huấn luyện mô hình của mình:
Ví dụ
Bộ dữ liệu được hỗ trợ
Dưới đây là danh sách các bộ dữ liệu được hỗ trợ và mô tả ngắn gọn cho từng bộ dữ liệu:
- Argoverse: Một bộ dữ liệu chứa dữ liệu theo dõi 3D và dự báo chuyển động từ môi trường đô thị với các chú thích phong phú.
- COCO: Đối tượng phổ biến trong ngữ cảnh (COCO) là bộ dữ liệu phát hiện, phân đoạn và chú thích đối tượng quy mô lớn với 80 danh mục đối tượng.
- LVIS: Bộ dữ liệu phát hiện, phân đoạn và tạo phụ đề đối tượng quy mô lớn với 1203 danh mục đối tượng.
- COCO8: Một tập hợp con nhỏ hơn của 4 hình ảnh đầu tiên từ tàu COCO và COCO val, phù hợp để kiểm tra nhanh.
- COCO128: A smaller subset of the first 128 images from COCO train and COCO val, suitable for tests.
- Lúa mì toàn cầu 2020: Bộ dữ liệu chứa hình ảnh đầu lúa mì cho Thử thách lúa mì toàn cầu 2020.
- Objects365: Bộ dữ liệu quy mô lớn, chất lượng cao để phát hiện đối tượng với 365 danh mục đối tượng và hơn 600K hình ảnh được chú thích.
- OpenImagesV7: Một bộ dữ liệu toàn diện của Google với 1,7 triệu hình ảnh tàu hỏa và 42k hình ảnh xác thực.
- SKU-110K: Một bộ dữ liệu có tính năng phát hiện đối tượng dày đặc trong môi trường bán lẻ với hơn 11K hình ảnh và 1,7 triệu hộp giới hạn.
- VisDrone: Một bộ dữ liệu chứa dữ liệu phát hiện đối tượng và theo dõi đa đối tượng từ hình ảnh chụp bằng máy bay không người lái với hơn 10K hình ảnh và chuỗi video.
- VOC: Bộ dữ liệu Pascal Visual Object Classes (VOC) để phát hiện và phân đoạn đối tượng với 20 lớp đối tượng và hơn 11K hình ảnh.
- xView: Một bộ dữ liệu để phát hiện đối tượng trong hình ảnh trên cao với 60 danh mục đối tượng và hơn 1 triệu đối tượng được chú thích.
- Roboflow 100: Điểm chuẩn phát hiện đối tượng đa dạng với 100 bộ dữ liệu trải dài trên bảy miền hình ảnh để đánh giá mô hình toàn diện.
- Khối u não: Một bộ dữ liệu để phát hiện khối u não bao gồm hình ảnh quét MRI hoặc CT với các chi tiết về sự hiện diện, vị trí và đặc điểm của khối u.
- Động vật hoang dã châu Phi: Một bộ dữ liệu có hình ảnh của động vật hoang dã châu Phi, bao gồm trâu, voi, tê giác và ngựa vằn.
- Chữ ký: Một bộ dữ liệu có hình ảnh của các tài liệu khác nhau với chữ ký được chú thích, hỗ trợ xác minh tài liệu và nghiên cứu phát hiện gian lận.
Thêm tập dữ liệu của riêng bạn
Nếu bạn có tập dữ liệu của riêng mình và muốn sử dụng nó để đào tạo các mô hình phát hiện với Ultralytics YOLO định dạng, đảm bảo rằng nó tuân theo định dạng được chỉ định ở trên trong "Ultralytics YOLO định dạng". Chuyển đổi chú thích của bạn sang định dạng yêu cầu và chỉ định đường dẫn, số lớp và tên lớp trong tệp cấu hình YAML.
Cổng hoặc chuyển đổi định dạng nhãn
Định dạng tập dữ liệu COCO thành YOLO Định dạng
Bạn có thể dễ dàng chuyển đổi nhãn từ định dạng tập dữ liệu COCO phổ biến sang YOLO định dạng bằng đoạn mã sau:
Ví dụ
Công cụ chuyển đổi này có thể được sử dụng để chuyển đổi tập dữ liệu COCO hoặc bất kỳ tập dữ liệu nào ở định dạng COCO sang Ultralytics YOLO định dạng.
Hãy nhớ kiểm tra kỹ xem tập dữ liệu bạn muốn sử dụng có tương thích với mô hình của bạn hay không và tuân theo các quy ước định dạng cần thiết. Các bộ dữ liệu được định dạng đúng là rất quan trọng để đào tạo các mô hình phát hiện đối tượng thành công.
FAQ
Cái gì Ultralytics YOLO Định dạng tập dữ liệu và cách cấu trúc nó?
Các Ultralytics YOLO Định dạng là một cấu hình có cấu trúc để xác định bộ dữ liệu trong các dự án đào tạo của bạn. Nó liên quan đến việc thiết lập các đường dẫn đến đào tạo, xác nhận và thử nghiệm hình ảnh và nhãn tương ứng của bạn. Chẳng hạn:
path: ../datasets/coco8 # dataset root directory
train: images/train # training images (relative to 'path')
val: images/val # validation images (relative to 'path')
test: # optional test images
names:
0: person
1: bicycle
2: car
# ...
Nhãn được lưu trong *.txt
các tệp có một tệp cho mỗi hình ảnh, được định dạng là class x_center y_center width height
với tọa độ chuẩn hóa. Để biết hướng dẫn chi tiết, hãy xem Ví dụ về tập dữ liệu COCO8.
Làm cách nào để chuyển đổi tập dữ liệu COCO thành YOLO định dạng?
Bạn có thể chuyển đổi tập dữ liệu COCO thành YOLO định dạng bằng cách sử dụng Ultralytics công cụ chuyển đổi. Đây là một phương pháp nhanh chóng:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")
Mã này sẽ chuyển đổi chú thích COCO của bạn thành YOLO định dạng, cho phép tích hợp liền mạch với Ultralytics YOLO Mô hình. Để biết thêm chi tiết, hãy truy cập phần Cổng hoặc Chuyển đổi Định dạng Nhãn .
Những bộ dữ liệu nào được hỗ trợ bởi Ultralytics YOLO để phát hiện đối tượng?
Ultralytics YOLO Hỗ trợ một loạt các bộ dữ liệu, bao gồm:
Each dataset page provides detailed information on the structure and usage tailored for efficient YOLO11 training. Explore the full list in the Supported Datasets section.
How do I start training a YOLO11 model using my dataset?
To start training a YOLO11 model, ensure your dataset is formatted correctly and the paths are defined in a YAML file. Use the following script to begin training:
Ví dụ
Tham khảo phần Sử dụng để biết thêm chi tiết về cách sử dụng các chế độ khác nhau, bao gồm CLI Lệnh.
Tôi có thể tìm các ví dụ thực tế về việc sử dụng ở đâu Ultralytics YOLO để phát hiện đối tượng?
Ultralytics provides numerous examples and practical guides for using YOLO11 in diverse applications. For a comprehensive overview, visit the Ultralytics Blog where you can find case studies, detailed tutorials, and community stories showcasing object detection, segmentation, and more with YOLO11. For specific examples, check the Usage section in the documentation.