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 Nhiệm vụ phân loại
Vì Ultralytics YOLO nhiệm vụ phân loại, tập dữ liệu phải được tổ chức trong một cấu trúc thư mục chia tách cụ thể theo root
thư mục để tạo điều kiện thuận lợi cho quá trình đào tạo, thử nghiệm và xác thực tùy chọn phù 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 phải 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ả 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 chung 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
| | |-- ...
| |
| |-- ...
Phương pháp tiếp cận có cấu trúc này đảm bảo rằng mô hình có thể học hiệu quả từ các lớp đượ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.
Cách sử dụng
Ví dụ
Bộ dữ liệu được hỗ trợ
Ultralytics hỗ trợ các tập dữ liệu sau với chức năng tải xuống tự động:
- Caltech 101 : Một tập dữ liệu chứa hình ảnh của 101 danh mục đối tượng dành cho nhiệm vụ phân loại hình ảnh .
- Caltech 256 : Phiên bản mở rộng của Caltech 101 với 256 danh mục đối tượng và hình ảnh mang tính thử thách hơn.
- CIFAR-10 : Một tập dữ liệu gồm 60K ảnh màu 32x32 trong 10 lớp, với 6K ảnh cho mỗi lớp.
- CIFAR-100 : Phiên bản mở rộng của CIFAR-10 với 100 danh mục đối tượng và 600 hình ảnh cho mỗi lớp.
- Fashion-MNIST : Một tập dữ liệu bao gồm 70.000 hình ảnh thang độ xám của 10 danh mục thời trang dành cho 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à kiểm tra 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à thử nghiệm nhanh hơn.
- Imagewoof : Một tập hợp con khó hơn của ImageNet bao gồm 10 danh mục giống chó dành cho nhiệm vụ phân loại hình ảnh.
- MNIST : Bộ dữ liệu gồm 70.000 hình ảnh thang độ xám về chữ số viết tay phục vụ cho nhiệm vụ phân loại hình ảnh.
- MNIST160 : 8 hình ảnh đầu tiên của mỗi danh mục MNIST từ tập dữ liệu MNIST. Tập dữ liệu chứa tổng cộng 160 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 riêng của 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ố cho thư mục tập dữ liệu.
CÂU HỎI THƯỜNG GẶP
Làm thế nào để tôi cấu trúc tập dữ liệu của mình 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 tách cụ thể. Tổ chức 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 phải chứa các thư mục con được đặt tên theo từng 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 thuận lợi cho quá trình đào tạo và đánh giá diễn ra 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 Nhiệm vụ phân loại YOLO .
Những tập dữ liệu nào được hỗ trợ bởi Ultralytics YOLO để phân loại hình ảnh?
Ultralytics YOLO hỗ trợ tải xuống tự động một số tập dữ liệu để phân loại hình ảnh, bao gồm:
- Caltech 101
- Viện công nghệ California 256
- CIFAR-10
- CIFAR-100
- Thời trang-MNIST
- Hình ảnhNet
- Hình ảnhNet-10
- Hình ảnh
- Hình ảnh
- MNIST
Các tập dữ liệu này được cấu trúc theo cách giúp chúng dễ sử dụng với YOLO . Mỗi trang của tập dữ liệu cung cấp thêm thông tin chi tiết về cấu trúc và ứng dụng của tập dữ liệu đó.
Làm thế nào để tôi 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 nhiệm vụ phân loại, với các mục 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 đúng, hãy trỏ data
đối số vào 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ấy thông tin chi tiết hơn 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 được đào tạo trước: Tải các mô hình được đào tạo trước 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 để đào tạo và đánh giá.
- Hiệu suất cao : Độ chính xác và tốc độ tiên tiến, lý tưởng cho các ứng dụng thời gian thực.
- Hỗ trợ nhiều bộ dữ liệu : Tích hợp liền mạch với nhiều bộ dữ liệu phổ biến 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à 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à ứng dụng thực tế, 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ột mô hình 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 chứng minh quá trình đào tạo đơn giản YOLO mô hình 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 .