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

Tổng quan về bộ dữ liệu phát hiện đối tượng

Đào tạo một mô hình phát hiện đối tượng mạnh mẽ và chính xác đòi hỏi một bộ dữ liệu toàn diện. Hướng dẫn này giới thiệu các định dạng khác nhau của bộ dữ liệu tương thích với Ultralytics YOLO mô hình hóa và cung cấp thông tin chi tiết về cấu trúc, cách sử dụng và cách chuyển đổi giữa các định dạng khác nhau.

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_centerwidth theo chiều rộng hình ảnh và y_centerheight 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).

Ví dụ về hình ảnh được gắn nhãn

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):

Tệp nhãn mẫu

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.

Cấu trúc thư mục tập dữ liệu mẫu

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ụ

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

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 tập hợp dữ liệu cảm biến được thu thập từ các phương tiện tự trị. Nó chứa các chú thích theo dõi 3D cho các đối tượng xe hơi.
  • 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: LVIS là 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 tập dữ liệu COCO, COCO8 nhẹ hơn và nhanh hơn để đào tạo.
  • GlobalWheat2020: Một 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: Một bộ dữ liệu phát hiện đối tượng quy mô lớn với 365 danh mục đối tượng và 600k hình ảnh, nhằm thúc đẩy nghiên cứu phát hiện đối tượng.
  • OpenImagesV7: Một bộ dữ liệu toàn diện của Google với 1,7 triệu hình ảnh xe lửa và 42k hình ảnh xác thực.
  • SKU-110K: Một bộ dữ liệu chứa hình ảnh của các sản phẩm bán lẻ được đóng gói dày đặc, dành cho phát hiện đối tượng môi trường bán lẻ.
  • VisDrone: Một tập dữ liệu tập trung vào hình ảnh dựa trên máy bay không người lái, chứa các danh mục đối tượng khác nhau như ô tô, người đi bộ và người đi xe đạp.
  • VOC: PASCAL VOC là một bộ dữ liệu phát hiện đối tượng phổ biến với 20 loại đối tượng bao gồm xe cộ, động vật và đồ nội thất.
  • xView: Một tập dữ liệu chứa hình ảnh vệ tinh có độ phân giải cao, được thiết kế để phát hiện các lớp đối tượng khác nhau trong chế độ xem trên cao.
  • Khối u não: Bộ dữ liệu này bao gồm hình ảnh quét MRI hoặc CT chứa thông tin về sự hiện diện, vị trí và đặc điểm của khối u não. Nó đóng một vai trò quan trọng trong việc đào tạo các mô hình thị giác máy tính để tự động xác định khối u, tạo điều kiện chẩn đoán sớm và lập kế hoạch điều trị.
  • Động vật hoang dã châu Phi: Với hình ảnh của động vật hoang dã châu Phi như trâu, voi, tê giác và ngựa vằn, bộ dữ liệu này là công cụ đào tạo các mô hình thị giác máy tính. Nó là không thể thiếu để xác định động vật trên các môi trường sống khác nhau và đóng góp đáng kể cho nỗ lực nghiên cứu động vật hoang dã.

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ụ

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir='path/to/coco/annotations/')

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.



Đã tạo 2023-11-12, Cập nhật 2024-04-18
Tác giả: glenn-jocher (7), IvorZhu331 (1), Laughing-q (1), RizwanMunawar (1)

Ý kiến