unset
unset
YOLO 11
unset
unset
YOLO11是Ultralytics YOLO系列实时目标检测器的最新迭代,它在准确性、速度和效率方面重新定义了可能性。在以往YOLO版本的显著进步基础上,YOLO11在架构和训练方法上引入了重大改进,使其成为广泛计算机视觉任务的多功能选择。
关键特性:
-
增强的特征提取:
YOLO11采用改进的骨干和颈部架构,增强了特征提取能力,实现了更精确的目标检测和复杂任务的性能。
-
优化效率和速度:
YOLO11引入了精细的架构设计和优化的训练流程,提供了更快的处理速度,并在准确性和性能之间保持了最佳平衡。
-
更少的参数实现更高的准确性:
随着模型设计的进展,YOLO11m在COCO数据集上实现了更高的平均精度均值(mAP),同时比YOLOv8m使用的参数减少了22%,使其在不牺牲准确性的情况下具有计算效率。
-
适应不同环境:
YOLO11可以无缝部署在各种环境中,包括边缘设备、云平台和支持NVIDIA GPU的系统,确保了最大的灵活性。
-
支持广泛的任务:
无论是目标检测、实例分割、图像分类、姿态估计还是定向目标检测(OBB),YOLO11都旨在应对多样化的计算机视觉挑战。
模型
|
图片尺寸(像素)
|
mAPval 50-95
|
CPU ONNX 速度(ms)
|
T4 TensorRT10 速度(ms)
|
参数量(M)
|
FLOPs(B)
|
YOLO11n
|
640
|
39.5
|
56.1 ± 0.8
|
1.5 ± 0.0
|
2.6
|
6.5
|
YOLO11s
|
640
|
47.0
|
90.0 ± 1.2
|
2.5 ± 0.0
|
9.4
|
21.5
|
YOLO11m
|
640
|
51.5
|
183.2 ± 2.0
|
4.7 ± 0.1
|
20.1
|
68.0
|
YOLO11l
|
640
|
53.4
|
238.6 ± 1.4
|
6.2 ± 0.1
|
25.3
|
86.9
|
YOLO11x
|
640
|
54.7
|
462.8 ± 6.7
|
11.3 ± 0.2
|
56.9
|
194.9
|
unset
unset
安装方法
unset
unset
Ultralytics 提供了多种安装方法,包括 pip、conda 和 Docker。可以通过 ultralytics pip 包安装 YOLO 的最新稳定版本,或者通过克隆 Ultralytics 的 GitHub 仓库来获取最新开发版本。
# 稳定发行版
pip install ultralytics
# 从 GitHub 安装 最新版
pip install git+https://github.com/ultralytics/ultralytics.git@main
YOLO 11检测(Detect)、分割(Segment)和姿态估计(Pose)模型是在COCO数据集上预训练的,而分类(Classify)模型则是在ImageNet数据集上预训练的。
- 检测 https://docs.ultralytics.com/tasks/detect/
- 分割 https://docs.ultralytics.com/tasks/segment/
- 分类 https://docs.ultralytics.com/tasks/classify/
- 姿态估计 https://docs.ultralytics.com/tasks/pose/
- 旋转检测 https://docs.ultralytics.com/tasks/obb/
基础使用方法:
from ultralytics import YOLO
# 从头开始创建一个新的 YOLO 模型
model = YOLO("yolo11n.yaml")
# 加载预训练的 YOLO 模型(推荐用于训练)
model = YOLO("yolo11n.pt")
# 使用 'coco8.yaml' 数据集训练模型 3 个周期
results = model.train(data="coco8.yaml", epochs=3)
# 在验证集上评估模型的性能
results = model.val()
# 使用模型对图像进行目标检测
results = model("https://ultralytics.com/images/bus.jpg")
# 将模型导出到 ONNX 格式
success = model.export(format="onnx")
unset
unset
使用案例
unset
unset
使用场景:模型训练
https://docs.ultralytics.com/modes/train/#train-settings
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo11n.yaml") # 从YAML构建新模型
model = YOLO("yolo11n.pt") # 加载预训练模型(推荐用于训练)
model = YOLO("yolo11n.yaml").load("yolo11n.pt") # 从YAML构建并转移权重
# 训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
多GPU训练允许更有效地利用可用硬件资源,通过在多个GPU上分配训练负载。此功能可通过Python API和命令行界面使用。要启用多GPU训练,请指定您希望使用的GPU设备ID。
多GPU训练示例
使用2个GPU(CUDA设备0和1)进行训练。根据需要扩展到更多GPU。
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo11n.pt") # 加载预训练模型(推荐用于训练)
# 使用2个GPU训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
yolo train data=coco8.yaml epochs=100 imgsz=640 device=0,1
以下是YOLO模型训练设置的表格形式:
参数
|
默认值
|
描述
|
model
|
None
|
指定训练模型文件的路径。
|
data
|
None
|
数据集配置文件的路径。
|
epochs
|
100
|
训练的总轮数。
|
batch
|
16
|
批处理大小。
|
optimizer
|
'auto'
|
训练的优化器选择。
|
momentum
|
0.937
|
SGD的动量因子或Adam优化器的beta1。
|
weight_decay
|
0.0005
|
L2正则化项。
|