探索 Ultralytics YOLO11 计算机视觉领域的关键突破-AI.x-AIGC专属社区-51CTO.COM

探索 Ultralytics YOLO11 计算机视觉领域的关键突破 精华

发布于 2024-10-12 12:59
浏览
0收藏

在计算机视觉领域,目标检测、实例分割、图像分类等任务一直是研究和应用的热点。Ultralytics YOLO系列以其高效、准确的特点在该领域占据重要地位。YOLO11作为该系列的最新迭代版本,带来了一系列的改进和创新,进一步提升了模型在各种计算机视觉任务中的性能。

一、概述

YOLO11是Ultralytics YOLO系列实时目标检测器的最新版本,它基于之前YOLO版本的显著进步进行构建,在架构和训练方法上引入了重大改进,从而成为了广泛计算机视觉任务的通用选择。

探索 Ultralytics YOLO11 计算机视觉领域的关键突破-AI.x社区

二、关键特性

1、增强的特征提取

YOLO11采用了改进的骨干网络和颈部架构,这极大地增强了特征提取能力,从而实现更精确的目标检测以及复杂任务的执行。例如,在处理包含多个小目标的图像时,能够更清晰地捕捉到目标的特征,提高检测的准确率。

2、效率和速度的优化

  • 其引入了精细的架构设计和优化的训练流程,不仅能够提供更快的处理速度,还在准确性和性能之间保持了最佳平衡。这使得它在实时性要求较高的应用场景中表现出色,如视频监控中的目标实时检测。
  • 通过对比不同模型在不同硬件上的运行速度数据可以清晰地看到这种优势。例如,在CPU ONNX环境下,YOLO11n的检测速度为56.1 ± 0.8 ms,而在T4 TensorRT10环境下,速度更是达到了1.5 ± 0.0 ms。

3、更少参数实现更高精度

随着模型设计的进步,YOLO11m在COCO数据集上实现了更高的平均精度(mAP),同时相比YOLOv8m使用的参数减少了22%。这不仅提高了计算效率,而且没有牺牲准确性,使得它在资源受限的设备上也能有出色的表现。

4、环境适应性强

YOLO11可以无缝地部署在各种环境中,包括边缘设备、云平台以及支持NVIDIA GPU的系统。这种灵活性确保了它能在不同的应用场景中发挥作用,从移动设备上的实时检测到云环境中的复杂分割任务都能胜任。

5、广泛的任务支持

无论是目标检测、实例分割、图像分类、姿态估计还是有向目标检测(OBB),YOLO11都能应对各种计算机视觉挑战。例如,在姿态估计任务中,可以准确地检测和跟踪人体的关键点。

三、支持的任务和模式

1、目标检测

YOLO11系列中的YOLO11模型(包括yolo11n.pt、yolo11s.pt、yolo11m.pt、yolo11l.pt、yolo11x.pt等变体)可用于目标检测任务,在推理、验证、训练和导出等操作模式上都具有良好的兼容性。

2、实例分割

YOLO11 - seg系列模型用于实例分割任务,同样涵盖多种变体,能够准确地检测物体并描绘出它们的边界。

3、图像分类

YOLO11 - cls系列模型可对图像进行分类,将其归入预定义的类别中。

4、姿态估计

YOLO11 - pose系列模型用于姿态估计,能够检测和跟踪人体的关键点。

5、有向目标检测

YOLO11 - obb系列模型用于有向目标检测,可以检测带有旋转角度的物体,以提高检测精度。

四、性能指标

  • 目标检测(COCO数据集):不同变体的模型在尺寸为640像素时,mAP ^{val 50 - 95}的值有所不同。例如,YOLO11n为39.5,YOLO11s为47.0,YOLO11m为51.5等。同时,不同硬件环境下的速度和参数数量也各有差异。
  • 实例分割(COCO数据集):以640像素为例,各模型在box50 - 95和mask50 - 95的mAP值以及速度、参数和FLOPs等方面都有详细的数据体现。
  • 图像分类(ImageNet数据集):在224像素尺寸下,不同模型的top1和top5准确率以及速度、参数和FLOPs等指标也各不相同。
  • 姿态估计(COCO数据集):同样在640像素时,各模型在pose50 - 95和pose50的mAP值以及速度、参数和FLOPs等方面有相应的数据。
  • 有向目标检测(DOTAv1数据集):在1024像素尺寸下,各模型的mAP ^{test50}以及速度、参数和FLOPs等指标也有明确的数据展示。

五、使用示例

1、Python示例

可以使用如下代码进行模型加载、训练和推理:

from ultralytics import YOLO


# 加载一个COCO预训练的YOLO11n模型
model = YOLO("yolo11n.pt")


# 在COCO8示例数据集上训练模型100个epoch
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)


# 使用YOLO11n模型在'bus.jpg'图像上进行推理
results = model("path/to/bus.jpg")

2、CLI示例

也可以使用命令行直接运行模型:

# 加载一个COCO预训练的YOLO11n模型并在COCO8示例数据集上训练100个epoch
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640


# 加载一个COCO预训练的YOLO11n模型并在'bus.jpg'图像上进行推理
yolo predict model=yolo11n.pt source=path/to/bus.jpg

六、结语

Ultralytics YOLO11 以其卓越的性能和广泛的适用性,在计算机视觉领域展现出了巨大的潜力。它的关键特性,如增强的特征提取、效率和速度的优化、更少参数实现更高精度、环境适应性强以及广泛的任务支持,使其成为了众多计算机视觉任务的有力工具。

随着计算机视觉技术的不断发展,我们期待 YOLO11 能够在更多的应用场景中发挥作用,为目标检测、实例分割、图像分类、姿态估计和有向目标检测等任务提供更高效、更准确的解决方案。它的不断演进和优化,将进一步推动计算机视觉领域的进步,为我们带来更多的创新和惊喜。

本文转载自 小兵的AI视界​,作者: 小兵

收藏
回复
举报
回复
相关推荐