Перейти к содержанию

Классификация изображений

Примеры классификации изображений

Классификация изображений - самая простая из трех задач, которая заключается в отнесении всего изображения к одному из множества заранее определенных классов.

Результатом работы классификатора изображений является метка одного класса и балл доверия. Классификация изображений полезна, когда вам нужно знать только, к какому классу относится изображение, и не нужно знать, где расположены объекты этого класса или какова их точная форма.



Смотреть: Изучите Ultralytics YOLO Задачи: Классификация изображений с помощью Ultralytics HUB

Наконечник

YOLO11 Классифицируйте модели с помощью -cls суффикс, т.е. yolo11n-cls.pt и предварительно обучены на ImageNet.

Модели

YOLO11 Здесь показаны предварительно обученные модели Classify. Модели Detect, Segment и Pose предварительно обучены на наборе данных COCO, а модели Classify предварительно обучены на наборе данных ImageNet.

Модели автоматически загружаются из последнейверсии Ultralytics при первом использовании.

Модель размер
(пикселей)
acc
top1
акк
топ5
Скорость
CPU ONNX
(мс)
Скорость
T4TensorRT10
(мс)
params
(M)
FLOPs
(B) на 224
YOLO11n-cls 224 70.0 89.4 5.0 ± 0.3 1.1 ± 0.0 1.6 0.5
YOLO11s-cls 224 75.4 92.7 7.9 ± 0.2 1.3 ± 0.0 5.5 1.6
YOLO11m-cls 224 77.3 93.9 17.2 ± 0.4 2.0 ± 0.0 10.4 5.0
YOLO11l-cls 224 78.3 94.3 23.2 ± 0.3 2.8 ± 0.0 12.9 6.2
YOLO11x-cls 224 79.5 94.9 41.4 ± 0.9 3.8 ± 0.0 28.4 13.7
  • acc значения - это точность модели на ImageNet Набор данных для проверки.
    Размножать по yolo val classify data=path/to/ImageNet device=0
  • Скорость усреднение по изображениям ImageNet val с помощью Amazon EC2 P4d например.
    Размножать по yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

Поезд

Обучение YOLO11n-cls на наборе данных MNIST160 в течение 100 эпох при размере изображения 64. Полный список доступных аргументов см. на странице Конфигурация.

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.yaml")  # build a new model from YAML
model = YOLO("yolo11n-cls.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-cls.yaml").load("yolo11n-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=yolo11n-cls.yaml epochs=100 imgsz=64

# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolo11n-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=yolo11n-cls.yaml pretrained=yolo11n-cls.pt epochs=100 imgsz=64

Формат набора данных

YOLO Формат классификационного набора данных подробно описан в Руководстве по набору данных.

Вэл

Проверка обученной модели YOLO11n-cls точность на наборе данных MNIST160. Аргументы не требуются, так как model сохраняет свою подготовку data и аргументы как атрибуты модели.

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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
yolo classify val model=yolo11n-cls.pt  # val official model
yolo classify val model=path/to/best.pt # val custom model

Предсказать

Используйте обученную модель YOLO11n-cls для прогнозирования изображений.

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
yolo classify predict model=yolo11n-cls.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom model

Смотреть полностью predict подробности о режиме в Предсказать страница.

Экспорт

Экспортируйте модель YOLO11n-cls в другой формат, например ONNX, CoreML и т. д.

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-cls.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model

Доступные форматы экспорта YOLO11-cls приведены в таблице ниже. Вы можете экспортировать в любой формат, используя format аргумент, т.е. format='onnx' или format='engine'. Вы можете прогнозировать или проверять непосредственно на экспортированных моделях, т.е. yolo predict model=yolo11n-cls.onnx. Примеры использования показаны для вашей модели после завершения экспорта.

Формат format Аргумент Модель Метаданные Аргументы
PyTorch - yolo11n-cls.pt -
TorchScript torchscript yolo11n-cls.torchscript imgsz, optimize, nms, batch
ONNX onnx yolo11n-cls.onnx imgsz, half, dynamic, simplify, opset, nms, batch
OpenVINO openvino yolo11n-cls_openvino_model/ imgsz, half, dynamic, int8, nms, batch, data
TensorRT engine yolo11n-cls.engine imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data
CoreML coreml yolo11n-cls.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n-cls_saved_model/ imgsz, keras, int8, nms, batch
TF GraphDef pb yolo11n-cls.pb imgsz, batch
TF Lite tflite yolo11n-cls.tflite imgsz, half, int8, nms, batch, data
TF Край TPU edgetpu yolo11n-cls_edgetpu.tflite imgsz
TF.js tfjs yolo11n-cls_web_model/ imgsz, half, int8, nms, batch
PaddlePaddle paddle yolo11n-cls_paddle_model/ imgsz, batch
MNN mnn yolo11n-cls.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n-cls_ncnn_model/ imgsz, half, batch
IMX500 imx yolo11n-cls_imx_model/ imgsz, int8, data
RKNN rknn yolo11n-cls_rknn_model/ imgsz, batch, name

Смотреть полностью export подробности в Экспорт страница.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Какова цель YOLO11 в классификации изображений?

YOLO11 модели, такие как yolo11n-cls.ptразработаны для эффективной классификации изображений. Они присваивают всему изображению метку одного класса вместе с оценкой доверия. Это особенно полезно для приложений, где достаточно знать конкретный класс изображения, а не определять местоположение или форму объектов на изображении.

Как обучить модель YOLO11 для классификации изображений?

Для обучения модели YOLO11 можно использовать команды Python или CLI . Например, для обучения модели yolo11n-cls модель на наборе данных MNIST160 в течение 100 эпох при размере изображения 64:

Пример

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="mnist160", epochs=100, imgsz=64)
yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=100 imgsz=64

Дополнительные параметры конфигурации можно найти на странице Конфигурация.

Где можно найти предварительно обученные модели классификации YOLO11 ?

Предварительно обученные модели классификации YOLO11 можно найти в Модели раздел. Такие модели, как yolo11n-cls.pt, yolo11s-cls.pt, yolo11m-cls.ptи т.д., предварительно обучаются на ImageNet Набор данных можно легко загрузить и использовать для решения различных задач классификации изображений.

Как экспортировать обученную модель YOLO11 в различные форматы?

Обученную модель YOLO11 можно экспортировать в различные форматы с помощью команд Python или CLI . Например, чтобы экспортировать модель в формат ONNX :

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load the trained model

# Export the model to ONNX
model.export(format="onnx")
yolo export model=yolo11n-cls.pt format=onnx # export the trained model to ONNX format

Подробные параметры экспорта см. на странице "Экспорт".

Как проверить обученную модель классификации YOLO11 ?

Чтобы проверить точность обученной модели на таком наборе данных, как MNIST160, можно использовать следующие команды Python или CLI :

Пример

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-cls.pt")  # load the trained model

# Validate the model
metrics = model.val()  # no arguments needed, uses the dataset and settings from training
metrics.top1  # top1 accuracy
metrics.top5  # top5 accuracy
yolo classify val model=yolo11n-cls.pt # validate the trained model

Для получения дополнительной информации посетите раздел Validate.

📅 Создано 1 год назад ✏️ Обновлено 7 дней назад

Комментарии