Meet YOLO26: next-gen vision AI.

Link to this sectionTổng quan về tập dữ liệu phân loại hình ảnh#

Link to this sectionCấu trúc tập dữ liệu cho các tác vụ phân loại YOLO#

Đối với các tác vụ phân loại YOLO của Ultralytics, tập dữ liệu phải được tổ chức theo cấu trúc thư mục phân tách cụ thể nằm dưới thư mục root để hỗ trợ quá trình huấn luyện, kiểm thử và tùy chọn xác thực. Cấu trúc này bao gồm các thư mục riêng biệt cho giai đoạn huấn luyện (train) và xác thực (val), cùng với một thư mục tùy chọn cho kiểm thử (test).

Mỗi thư mục này nên chứa một thư mục con cho từng 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 phổ biến như JPEG hoặc PNG.

Link to this sectionVí dụ về cấu trúc thư mục#

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

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 model có thể học tập hiệu quả từ các lớp được tổ chức tốt trong giai đoạn huấn luyện và đánh giá chính xác hiệu suất trong các giai đoạn kiểm thử và xác thực.

Link to this sectionCách sử dụng#

Ví dụ
from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
Mẹo

Hầu hết các tên tập dữ liệu tích hợp sẵn (ví dụ: cifar10, imagenette hoặc mnist160) sẽ tự động tải xuống và lưu trữ dữ liệu vào bộ nhớ đệm trong lần đầu tiên bạn tham chiếu đến chúng. Chỉ trỏ data đến một đường dẫn thư mục khi bạn đã chuẩn bị một tập dữ liệu tùy chỉnh.

Link to this sectionCác tập dữ liệu được hỗ trợ#

Ultralytics hỗ trợ các tập dữ liệu sau với tính năng tự động tải xuống:

  • Caltech 101: Một tập dữ liệu chứa hình ảnh của 101 danh mục đối tượng cho các tác 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à các 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 thuộc 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 danh mục đối tượng và 600 hình ảnh 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 cho các tác vụ phân loại hình ảnh.
  • ImageNet: Một tập dữ liệu quy mô lớn cho 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 con nhỏ hơn của ImageNet với 10 danh mục để thử nghiệm và kiểm thử nhanh hơn.
  • Imagenette: Một tập con nhỏ hơn của ImageNet chứa 10 lớp dễ phân biệt để huấn luyện và kiểm thử nhanh hơn.
  • Imagewoof: Một tập con thách thức hơn của ImageNet chứa 10 danh mục giống chó cho các tác vụ phân loại hình ảnh.
  • MNIST: Một tập 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: 8 hình ảnh đầu tiên của mỗi chữ số (0-9) từ cả tập huấn luyện và tập kiểm tra của MNIST. Tập dữ liệu chứa tổng cộng 160 hình ảnh.

Link to this sectionThê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ó để huấn luyện các model phân loại với Ultralytics YOLO, hãy đảm bảo rằng nó tuân theo định dạng được chỉ định ở trên trong phần "Cấu trúc tập dữ liệu" và sau đó trỏ tham số data của bạn đến thư mục tập dữ liệu khi khởi tạo tập lệnh huấn luyện.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionLàm thế nào để cấu trúc tập dữ liệu của tôi cho các tác vụ phân loại YOLO?#

Để cấu trúc tập dữ liệu cho các tác vụ phân loại Ultralytics YOLO, bạn nên tuân theo định dạng thư mục phân 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 là val. Mỗi thư mục này nên 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 các quá trình huấn luyện và đánh giá mượt mà. 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 phần Cấu trúc tập dữ liệu cho các tác vụ phân loại YOLO.

Link to this sectionNhững tập dữ liệu nào được Ultralytics YOLO hỗ trợ cho 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 cho phân loại hình ảnh, bao gồm Caltech 101, Caltech 256, CIFAR-10, CIFAR-100, Fashion-MNIST, ImageNet, ImageNet-10, Imagenette, ImagewoofMNIST. 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. 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ó.

Link to this sectionLàm thế nào để thêm tập dữ liệu của riêng tôi cho phân loại hình ảnh YOLO?#

Để sử dụng tập dữ liệu của riêng bạn với Ultralytics YOLO, hãy đảm bảo rằng nó tuân theo định dạng thư mục được chỉ định bắt buộc cho tác vụ phân loại, với các thư mục train, test riêng biệt và tùy chọn val, cùng các 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ỏ tham số data đến thư mục gốc của tập dữ liệu khi khởi tạo tập lệnh huấn luyện. Đây là ví dụ bằng Python:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-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êm thông tin chi tiết trong phần Thêm tập dữ liệu của riêng bạn.

Link to this sectionTại sao tôi nên sử dụng Ultralytics YOLO cho phân loại hình ảnh?#

Ultralytics YOLO mang lại một số lợi ích cho việc phân loại hình ảnh, bao gồm:

  • Model tiền huấn luyện: Tải các model tiền huấn luyện như yolo26n-cls.pt để khởi động quá trình huấn luyện của bạn.
  • Dễ sử dụng: API đơn giản và các lệnh CLI cho việc huấn luyện và đánh giá.
  • Hiệu suất cao: Độ chính xác và tốc độ hàng đầu, lý tưởng cho các ứng dụng thời gian thực.
  • Hỗ trợ nhiều tập dữ liệu: Tích hợp liền mạch với nhiều tập dữ liệu phổ biến như CIFAR-10, ImageNet và nhiều tập dữ liệu khác.
  • Cộng đồng và Hỗ trợ: Truy cập vào tài liệu phong phú và cộng đồng tích cực để xử lý 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.

Link to this sectionLàm thế nào tôi có thể huấn luyện một model sử dụng Ultralytics YOLO?#

Việc huấn luyện một model sử dụng Ultralytics YOLO có thể được thực hiện dễ dàng bằng cả Python và CLI. Đây là ví dụ:

Ví dụ
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)

Các ví dụ này chứng minh quy trình huấn luyện model YOLO đơn giản bằng cách sử dụng một trong hai phương pháp. Để biết thêm thông tin, hãy truy cập phần Cách sử dụng và trang Huấn luyện cho các tác vụ phân loại.

Bình luận