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 cấu trúc thư mụ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ụ
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: A dataset containing images of 101 object categories for image classification tasks.
- 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: A large-scale dataset for object detection and image classification with over 14 million images and 20,000 categories.
- 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.
- MNIST160: First 8 images of each MNIST category from the MNIST dataset. Dataset contains 160 images total.
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.
FAQ
Làm cách nào để cấu trúc tập dữ liệu của tôi cho YOLO Nhiệm vụ phân loại?
Để cấu trúc tập dữ liệu của bạn cho Ultralytics YOLO Nhiệm vụ phân loại, bạn nên tuân theo một định dạng thư mục chia nhỏ cụ thể. Sắp xếp tập dữ liệu của bạn thành các thư mục riêng biệt cho train
, test
và tùy chọn val
. Mỗi thư mục này nên chứa các thư mục con được đặt tên theo mỗi lớp, với các hình ảnh tương ứng bên trong. Điều này tạo điều kiện cho quá trình đào tạo và đánh giá suôn sẻ. Ví dụ: hãy xem xét định dạng tập dữ liệu CIFAR-10:
cifar-10-/
|-- train/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- test/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- val/ (optional)
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
Để biết thêm chi tiết, hãy truy cập Cấu trúc tập dữ liệu cho YOLO Nhiệm vụ phân loại.
Những bộ dữ liệu nào được hỗ trợ bởi Ultralytics YOLO để phân loại hình ảnh?
Ultralytics YOLO Hỗ trợ tự động tải xuống một số bộ dữ liệu để phân loại hình ảnh, bao gồm:
- Caltech 101 ·
- Caltech 256 ·
- CIFAR-10
- CIFAR-100
- Thời trang-MNIST
- Mạng hình ảnh
- Hình ảnhNet-10
- Ảnh minh họa
- Ảnh minh họa
- MNIST
Các bộ dữ liệu này được cấu trúc theo cách giúp chúng dễ sử dụng YOLO. Trang của mỗi tập dữ liệu cung cấp thêm chi tiết về cấu trúc và ứng dụng của nó.
Làm cách nào để thêm tập dữ liệu của riêng tôi cho YOLO Phân loại hình ảnh?
Để sử dụng tập dữ liệu của riêng bạn với Ultralytics YOLO, đảm bảo nó tuân theo định dạng thư mục được chỉ định cần thiết cho tác vụ phân loại, với riêng biệt train
, test
và tùy chọn val
thư mục và thư mục con cho mỗi lớp chứa các hình ảnh tương ứng. Khi tập dữ liệu của bạn được cấu trúc chính xác, hãy trỏ nút data
Đối số với thư mục gốc của tập dữ liệu của bạn khi khởi tạo tập lệnh đào tạo. Đây là một ví dụ trong Python:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)
Bạn có thể tìm thêm chi tiết trong phần Thêm tập dữ liệu của riêng bạn .
Tại sao tôi nên sử dụng Ultralytics YOLO để phân loại hình ảnh?
Ultralytics YOLO Cung cấp một số lợi ích cho việc phân loại hình ảnh, bao gồm:
- Mô hình đào tạo trước: Tải các mô hình được đào tạo sẵn như
yolo11n-cls.pt
để bắt đầu quá trình đào tạo của bạn. - Dễ sử dụng: API đơn giản và CLI lệnh huấn luyện và đánh giá.
- High Performance: State-of-the-art accuracy and speed, ideal for real-time applications.
- Hỗ trợ nhiều bộ dữ liệu: Tích hợp liền mạch với các bộ dữ liệu phổ biến khác nhau như CIFAR-10, ImageNet, v.v.
- Cộng đồng và Hỗ trợ: Truy cập vào tài liệu mở rộng và một cộng đồng tích cực để khắc phục sự cố và cải tiến.
Để biết thêm thông tin chi tiết và các ứng dụng trong thế giới thực, bạn có thể khám phá Ultralytics YOLO.
Làm thế nào tôi có thể đào tạo một mô hình bằng cách sử dụng Ultralytics YOLO?
Đào tạo mô hình bằng cách sử dụng Ultralytics YOLO có thể được thực hiện dễ dàng trong cả hai Python và CLI. Đây là một ví dụ:
Ví dụ
Những ví dụ này cho thấy quá trình đào tạo đơn giản YOLO mô hình bằng cách sử dụng một trong hai cách tiếp cận. Để biết thêm thông tin, hãy truy cập phần Sử dụng .