Phân loại hình ảnh
Phân loại hình ảnh là nhiệm vụ đơn giản nhất trong ba nhiệm vụ và liên quan đến việc phân loại toàn bộ hình ảnh thành một trong một tập hợp các lớp được xác định trước.
Đầu ra của bộ phân loại hình ảnh là một nhãn lớp duy nhất và điểm tin cậy. Phân loại hình ảnh rất hữu ích khi bạn chỉ cần biết hình ảnh thuộc lớp nào và không cần biết các đối tượng của lớp đó nằm ở đâu hoặc hình dạng chính xác của chúng là gì.
Xem: Khám phá Ultralytics YOLO Tác vụ: Phân loại hình ảnh bằng cách sử dụng Ultralytics Trung tâm
Mẹo
YOLOv8 Phân loại mô hình sử dụng -cls
hậu tố, tức là yolov8n-cls.pt
và được đào tạo trước về Mạng hình ảnh.
Mô hình
YOLOv8 Các mô hình Phân loại được đào tạo trước được hiển thị ở đây. Các mô hình Phát hiện, Phân đoạn và Tư thế được đào tạo trước trên tập dữ liệu COCO , trong khi các mô hình Phân loại được đào tạo trước trên tập dữ liệu ImageNet .
Mô hình tải xuống tự động từ phiên bản mới nhất Ultralytics phát hành vào lần sử dụng đầu tiên.
Mẫu | kích thước (điểm ảnh) |
Acc Top 1 |
Acc Top 5 |
Tốc độ CPU ONNX (Cô) |
Tốc độ A100 TensorRT (Cô) |
Params (M) |
Flops (B) tại 640 |
---|---|---|---|---|---|---|---|
YOLOv8n-Cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-Cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-Cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-Cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-Cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
- Acc Giá trị là độ chính xác mô hình trên Mạng hình ảnh Bộ xác thực tập dữ liệu.
Sinh sản bằngyolo val classify data=path/to/ImageNet device=0
- Tốc độ tính trung bình trên hình ảnh val ImageNet bằng cách sử dụng một Amazon EC2 P4d ví dụ.
Sinh sản bằngyolo val classify data=path/to/ImageNet batch=1 device=0|cpu
Xe lửa
Xe lửa YOLOv8n-cls trên tập dữ liệu MNIST160 cho 100 kỷ nguyên ở kích thước hình ảnh 64. Để biết danh sách đầy đủ các đối số có sẵn, hãy xem trang Cấu hình .
Ví dụ
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n-cls.yaml") # build a new model from YAML
model = YOLO("yolov8n-cls.pt") # load a pretrained model (recommended for training)
model = YOLO("yolov8n-cls.yaml").load("yolov8n-cls.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="mnist160", epochs=100, imgsz=64)
# Build a new model from YAML and start training from scratch
yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64
# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64
Định dạng tập dữ liệu
YOLO định dạng tập dữ liệu phân loại có thể được tìm thấy chi tiết trong Hướng dẫn tập dữ liệu.
Val
Validate trained YOLOv8n-cls model accuracy on the MNIST160 dataset. No arguments are needed as the model
duy trì đào tạo data
và các đối số làm thuộc tính mô hình.
Ví dụ
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n-cls.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.top1 # top1 accuracy
metrics.top5 # top5 accuracy
Dự đoán
Sử dụng một đào tạo YOLOv8nMô hình -CLS để chạy dự đoán trên hình ảnh.
Ví dụ
Xem đầy đủ predict
Chi tiết chế độ trong Dự đoán trang.
Xuất khẩu
Xuất một YOLOv8n-CLS mô hình sang một định dạng khác như ONNX, CoreMLv.v.
Ví dụ
Có sẵn YOLOv8-CLS xuất định dạng nằm trong bảng dưới đây. Bạn có thể xuất sang bất kỳ định dạng nào bằng cách sử dụng format
lập luận, tức là format='onnx'
hoặc format='engine'
. Bạn có thể dự đoán hoặc xác thực trực tiếp trên các mô hình đã xuất, tức là yolo predict model=yolov8n-cls.onnx
. Ví dụ sử dụng được hiển thị cho mô hình của bạn sau khi xuất hoàn tất.
Định dạng | format Lý lẽ |
Mẫu | Siêu dữ liệu | Lập luận |
---|---|---|---|---|
PyTorch | - | yolov8n-cls.pt |
✅ | - |
TorchScript | torchscript |
yolov8n-cls.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolov8n-cls.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolov8n-cls_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolov8n-cls.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolov8n-cls.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolov8n-cls_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolov8n-cls.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolov8n-cls.tflite |
✅ | imgsz , half , int8 , batch |
TF Cạnh TPU | edgetpu |
yolov8n-cls_edgetpu.tflite |
✅ | imgsz |
TF.Js | tfjs |
yolov8n-cls_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolov8n-cls_paddle_model/ |
✅ | imgsz , batch |
NCNN | ncnn |
yolov8n-cls_ncnn_model/ |
✅ | imgsz , half , batch |
Xem đầy đủ export
Chi tiết trong Xuất khẩu trang.
FAQ
Mục đích của là gì YOLOv8 Trong phân loại hình ảnh?
YOLOv8 Các mô hình, chẳng hạn như yolov8n-cls.pt
, được thiết kế để phân loại hình ảnh hiệu quả. Họ gán một nhãn lớp duy nhất cho toàn bộ hình ảnh cùng với điểm tin cậy. Điều này đặc biệt hữu ích cho các ứng dụng mà biết lớp hình ảnh cụ thể là đủ, thay vì xác định vị trí hoặc hình dạng của các đối tượng trong hình ảnh.
Làm cách nào để đào tạo một YOLOv8 Mô hình để phân loại hình ảnh?
Để đào tạo một YOLOv8 mô hình, bạn có thể sử dụng một trong hai Python hoặc CLI Lệnh. Ví dụ, để đào tạo một yolov8n-cls
Mô hình trên tập dữ liệu MNIST160 cho 100 kỷ nguyên với kích thước hình ảnh là 64:
Ví dụ
Để biết thêm tùy chọn cấu hình, hãy truy cập trang Cấu hình .
Tôi có thể tìm được đào tạo trước ở đâu YOLOv8 Mô hình phân loại?
Đào tạo trước YOLOv8 Các mô hình phân loại có thể được tìm thấy trong Mô hình phần. Các mô hình như yolov8n-cls.pt
, yolov8s-cls.pt
, yolov8m-cls.pt
, v.v., được đào tạo trước về Mạng hình ảnh tập dữ liệu và có thể dễ dàng tải xuống và sử dụng cho các tác vụ phân loại hình ảnh khác nhau.
Làm thế nào tôi có thể xuất khẩu một đào tạo YOLOv8 Mô hình hóa sang các định dạng khác nhau?
Bạn có thể xuất một đào tạo YOLOv8 Mô hình hóa sang các định dạng khác nhau bằng cách sử dụng Python hoặc CLI Lệnh. Ví dụ: để xuất một mô hình sang ONNX định dạng:
Ví dụ
Để biết các tùy chọn xuất chi tiết, hãy tham khảo trang Xuất .
Làm cách nào để xác thực một người đã được đào tạo YOLOv8 Mô hình phân loại?
Để xác thực độ chính xác của mô hình được đào tạo trên tập dữ liệu như MNIST160, bạn có thể sử dụng như sau Python hoặc CLI Lệnh:
Ví dụ
Để biết thêm thông tin, hãy truy cập phần Xác thực .