分类任务#
分类任务涉及将图像划分到不同的类别中。YOLOv11可以基于图像的内容进行分类。它采用 EfficientNet 架构的一种变体来执行分类工作。
图像分类器的输出是单一的类别标签和置信度分数。当你只需要知道图像属于哪个类别,而无需了解该类别对象的具体位置或确切形状时,图像分类非常有用。
小技巧
YOLOv11分类模型使用-cls
后缀,例如yolo11n-cls.pt
,这些模型在ImageNet数据集上进行了预训练。
模型#
这里展示了YOLOv11预训练的分类模型。检测、分割和姿态模型是在COCO数据集上预训练的,而分类模型则是在ImageNet数据集上预训练的。
模型 会在首次使用时自动从最新的Ultralytix 发布 下载。
模型 |
尺寸(像素) |
top1准确率 |
top5准确率 |
CPU ONNX速度(毫秒) |
T4 TensorRT10速度(毫秒) |
参数量(百万) |
FLOPs(十亿次运算)在640解析度下 |
---|---|---|---|---|---|---|---|
224 |
70.0% |
89.4% |
5.0 ± 0.3 |
1.1 ± 0.0 |
1.6 |
3.3 |
|
224 |
75.4% |
92.7% |
7.9 ± 0.2 |
1.3 ± 0.0 |
5.5 |
12.1 |
|
224 |
77.3% |
93.9% |
17.2 ± 0.4 |
2.0 ± 0.0 |
10.4 |
39.3 |
|
224 |
78.3% |
94.3% |
23.2 ± 0.3 |
2.8 ± 0.0 |
12.9 |
49.4 |
|
224 |
79.5% |
94.9% |
41.4 ± 0.9 |
3.8 ± 0.0 |
28.4 |
110.4 |
acc 值是在ImageNet数据集验证集上的模型准确率。通过
yolo val classify data=path/to/ImageNet device=0
重现速度 是使用 Amazon EC2 P4d 实例在ImageNet验证图像上的平均速度。通过
yolo val classify data=path/to/ImageNet batch=1 device=0|cpu
重现
训练#
在 MNIST160 数据集上对 YOLOv11n-cls 进行 100 个训练周期(epoch),图像尺寸为 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)
验证#
验证在MNIST160数据集上训练的YOLOv11n-cls模型的准确性。由于model
保留了其训练数据和参数作为模型属性,因此无需额外提供参数。
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
预测#
使用训练好的YOLOv11n-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