Bỏ qua 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 tập dữ liệu toàn diện. Hướng dẫn này giới thiệu nhiều định dạng tập dữ liệu tương thích với Ultralytics YOLO mô hình 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.

Đị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 của tập dữ liệu, đường dẫn tương đối đến các thư mục hình ảnh đào tạo/xác thực/kiểm tra hoặc *.txt các tệp chứa đường dẫn hình ảnh và từ điển tên lớp. Sau đâ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 nào trong một hình ảnh, không *.txt tập tin là bắt buộc. *.txt tập tin 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 ở dạng xywh được chuẩn hóa định dạng (từ 0 đến 1). Nếu hộp của bạn tính bằ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 từ 0 (bắt đầu bằng 0).

Ví dụ hình ảnh có nhãn

Tệp nhãn tương ứng với hình ảnh trên chứa 2 người (lớp 0) và một chiếc cà vạt (lớp 27):

Tệp nhãn ví dụ

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 thực của bạn như được hiển thị trong ví dụ tập dữ liệu COCO8 bên dưới.

Ví dụ về cấu trúc thư mục tập dữ liệu

Cách sử dụng

Sau đây là cách bạn có thể sử dụng các định dạng này để đào tạo mô hình của mình:

Ví dụ

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.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=yolo11n.pt epochs=100 imgsz=640

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

Sau đây là danh sách các tập dữ liệu được hỗ trợ và mô tả ngắn gọn cho từng tập dữ liệu:

  • Argoverse : Một tập 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 chú thích phong phú.
  • COCO : Common Objects in Context (COCO) là một 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 : Một 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 1203 danh mục đối tượng.
  • COCO8 : Một tập hợp con nhỏ hơn trong 4 hình ảnh đầu tiên từ COCO train và COCO val, phù hợp cho các thử nghiệm nhanh.
  • COCO128 : Một tập hợp con nhỏ hơn trong số 128 hình ảnh đầu tiên từ COCO train và COCO val, phù hợp cho các thử nghiệm.
  • Lúa mì toàn cầu 2020 : Một tập dữ liệu chứa hình ảnh về bông lúa mì cho Thử thách lúa mì toàn cầu 2020.
  • Objects365 : Một bộ dữ liệu chất lượng cao, quy mô lớn để phát hiện đối tượng với 365 danh mục đối tượng và hơn 600.000 hình ảnh có chú thích.
  • OpenImagesV7 : Một tập dữ liệu toàn diện của Google với 1,7 triệu hình ảnh đào tạo và 42 nghìn hình ảnh xác thực.
  • SKU-110K : Một tập dữ liệu có tính năng phát hiện vật thể dày đặc trong môi trường bán lẻ với hơn 11 nghìn hình ảnh và 1,7 triệu hộp giới hạn.
  • VisDrone : Một tập dữ liệu chứa dữ liệu phát hiện đối tượng và theo dõi nhiều đối tượng từ hình ảnh chụp bằng máy bay không người lái với hơn 10.000 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 tập 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 tập 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 : Bộ dữ liệu phát hiện khối u não bao gồm hình ảnh chụp MRI hoặc CT với thông tin 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 tập dữ liệu có hình ảnh về độ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 tập dữ liệu có hình ảnh của nhiều tài liệu khác nhau có chú thích chữ ký, 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 riêng của 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 phần " Ultralytics YOLO "format". Chuyển đổi chú thích của bạn sang định dạng bắt buộc và chỉ định đường dẫn, số lượng 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 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 cách sử dụ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 lại 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 và tuân thủ các quy ước định dạng cần thiết hay không. Tập 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.

CÂU HỎI THƯỜNG GẶP

Cái gì là Ultralytics YOLO định dạng tập dữ liệu và cách cấu trúc nó như thế nào?

Các Ultralytics YOLO format là cấu hình có cấu trúc để xác định các tập dữ liệu trong các dự án đào tạo của bạn. Nó bao gồm việc thiết lập đường dẫn đến hình ảnh đào tạo, xác thực và thử nghiệm của bạn và các nhãn tương ứng. Ví dụ:

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 tin với một tập tin cho mỗi hình ảnh, được định dạng như 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 thế nào để tôi chuyển đổi một tập dữ liệu COCO sang YOLO định dạng?

Bạn có thể chuyển đổi một tập dữ liệu COCO sang YOLO định dạng sử dụng Ultralytics công cụ chuyển đổi. Sau đâ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 tập dữ liệu nào được hỗ trợ bởi Ultralytics YOLO để phát hiện vật thể?

Ultralytics YOLO hỗ trợ nhiều loại tập dữ liệu, bao gồm:

Mỗi trang tập dữ liệu cung cấp thông tin chi tiết về cấu trúc và cách sử dụng được thiết kế riêng để hiệu quả YOLO11 đào tạo. Khám phá danh sách đầy đủ trong phần Bộ dữ liệu được hỗ trợ .

Làm thế nào để tôi bắt đầu đào tạo một YOLO11 mô hình sử dụng tập dữ liệu của tôi?

Để bắt đầu đào tạo một YOLO11 mô hình, đảm bảo tập dữ liệu của bạn được định dạng đúng và các đường dẫn được xác định trong tệp YAML. Sử dụng tập lệnh sau để bắt đầu đào tạo:

Ví dụ

from ultralytics import YOLO

model = YOLO("yolo11n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo detect train data=path/to/your_dataset.yaml model=yolo11n.pt epochs=100 imgsz=640

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 thấy ví dụ thực tế về việc sử dụng ở đâu? Ultralytics YOLO để phát hiện vật thể?

Ultralytics cung cấp nhiều ví dụ và hướng dẫn thực tế để sử dụng YOLO11 trong nhiều ứng dụng khác nhau. Để có cái nhìn tổng quan toàn diện, hãy truy cập Blog Ultralytics , nơi bạn có thể tìm thấy các nghiên cứu tình huống, hướng dẫn chi tiết và các câu chuyện cộng đồng giới thiệu về phát hiện đối tượng, phân đoạn và nhiều hơn nữa với YOLO11 . Để biết ví dụ cụ thể, hãy kiểm tra phần Sử dụng trong tài liệu.

📅 Được tạo ra cách đây 1 năm ✏️ Đã cập nhật cách đây 2 tháng

Bình luận