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

Tổng quan về bộ dữ liệu phân loại hình ảnh

Cấu trúc tập dữ liệu cho YOLO Phân loại nhiệm vụ

Cho Ultralytics YOLO Nhiệm vụ phân loại, tập dữ liệu phải được tổ chức theo một cấu trúc phân chia cụ thể theo root thư mục để tạo điều kiện cho các quy trình đào tạo, kiểm tra và xác nhận tùy chọn thích hợp. Cấu trúc này bao gồm các thư mục riêng biệt để đào tạo (train) và thử nghiệm (test) các giai đoạn, với một thư mục tùy chọn để xác thực (val).

Mỗi thư mục này nên chứa một thư mục con cho mỗi lớp trong tập dữ liệu. Các thư mục con được đặt tên theo lớp tương ứng và chứa tất cả các hình ảnh cho lớp đó. Đảm bảo rằng mỗi tệp hình ảnh được đặt tên duy nhất và được lưu trữ ở định dạng phổ biến như JPEG hoặc PNG.

Ví dụ về cấu trúc thư mục

Hãy xem xét tập dữ liệu CIFAR-10 làm ví dụ. Cấu trúc thư mục sẽ trông như thế này:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

Cách tiếp cận có cấu trúc này đảm bảo rằng mô hình có thể học hỏi hiệu quả từ các lớp học được tổ chức tốt trong giai đoạn đào tạo và đánh giá chính xác hiệu suất trong giai đoạn thử nghiệm và xác nhận.

Sử dụng

Ví dụ

from ultralytics import YOLO

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

# Train the model
results = model.train(data='path/to/dataset', epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolov8n-cls.pt epochs=100 imgsz=640

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

Ultralytics Hỗ trợ các bộ dữ liệu sau với tải xuống tự động:

  • Caltech 101: Một tập dữ liệu chứa hình ảnh của 101 loại đối tượng cho các tác vụ phân loại hình ảnh.
  • Caltech 256: Một phiên bản mở rộng của Caltech 101 với 256 loại đối tượng và hình ảnh thách thức hơn.
  • CIFAR-10: Một tập dữ liệu gồm 60K hình ảnh màu 32x32 trong 10 lớp, với 6K hình ảnh mỗi lớp.
  • CIFAR-100: Phiên bản mở rộng của CIFAR-10 với 100 loại đối tượng và 600 hình ảnh mỗi lớp.
  • Thời trang-MNIST: Một bộ dữ liệu bao gồm 70.000 hình ảnh thang độ xám của 10 danh mục thời trang cho các nhiệm vụ phân loại hình ảnh.
  • ImageNet: Một bộ dữ liệu quy mô lớn để phát hiện đối tượng và phân loại hình ảnh với hơn 14 triệu hình ảnh và 20.000 danh mục.
  • ImageNet-10: Một tập hợp con nhỏ hơn của ImageNet với 10 danh mục để thử nghiệm và thử nghiệm nhanh hơn.
  • Imagenette: Một tập hợp con nhỏ hơn của ImageNet chứa 10 lớp dễ phân biệt để đào tạo và kiểm tra nhanh hơn.
  • Imagewoof: Một tập hợp con khó khăn hơn của ImageNet chứa 10 danh mục giống chó cho các nhiệm vụ phân loại hình ảnh.
  • MNIST: Một bộ dữ liệu gồm 70.000 hình ảnh thang độ xám của các chữ số viết tay cho các tác vụ phân loại hình ảnh.

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ân loại với Ultralytics, đảm bảo rằng nó tuân theo định dạng được chỉ định ở trên trong "Định dạng tập dữ liệu" và sau đó trỏ data đối số với thư mục tập dữ liệu.



Đã tạo 2023-11-12, Cập nhật 2024-04-10
Tác giả: stormsson (1), glenn-jocher (4), GreatV (1)

Ý kiến