【YOLO系列】YOLO11原理和深入解析——待完善

发布于:2024-10-15 ⋅ 阅读:(941) ⋅ 点赞:(0)


前言

官方链接:https://github.com/CVHub520/X-AnyLabeling
源代码:https://github.com/ultralytics/ultralytics

  YOLO Vision 2024(YV24)大会上,Ultralytics 正式发布了YOLO家族的最新成员——YOLO11。YOLO11不仅仅是一次简单的升级,它代表了计算机视觉领域的一次质的飞跃。Ultralytics的创始人兼CEO Glenn Jocher表示:“YOLO11的设计旨在为现实世界的应用提供强大而实用的解决方案。它提高的效率和准确性使其成为一个可以适应各行各业独特挑战的强大工具。”


一、主要新增特性

在这里插入图片描述

  1. 高精度目标检测:更准确的边界框绘制,适用于监控、自动驾驶和零售分析等领域。
  2. 像素级实例分割:精确分离图像中的个体对象,为医疗影像和工业缺陷检测提供有力支持。
  3. 先进的图像分类:轻松对整张图片进行分类,极大便利电子商务产品分类和野生动物监测等应用。
  4. 精确姿态估计:准确检测关键点,为健身追踪、运动分析和医疗保健带来新可能。
  5. 定向目标检测(OBB):精准定位旋转物体,尤其适用于航空影像、机器人技术和仓库自动化。
  6. 实时目标跟踪:跨帧监控和追踪移动物体,为众多实时应用提供关键支持。

二、主要改进

  相比较于YOLOv8模型,其将CF2模块改成C3K2,同时在SPPF模块后面添加了一个C2PSA模块——特征增强模块,且将YOLOv10的head思想引入到YOLO11的head中,使用深度可分离的方法,减少冗余计算,提高效率。

2.1 C3K2网络结构

  C3K2模块其实就是C2F模块转变出来的,它代码中有一个设置,就是当c3k这个参数为FALSE的时候,C3K2模块就是C2F模块,也就是说它的Bottleneck是普通的Bottleneck;反之当它为true的时候,将Bottleneck模块替换成C3模块。

2.2 C2PSA网络结构

  C2PSA是对 C2f 模块的扩展,它结合了PSA(Pointwise Spatial Attention)块,用于增强特征提取与和注意力机制。通过在标准 C2f 模块中引入PSA块,C2PSA实现了更加入 PSA 块,C2PSA实现了更强大的注意力机制,从而提高了模型对重要特征的捕捉能力

  C2PSA 扩展了 C2f,通过引入PSA( Position-Sensitive Attention),旨在通过多头注意力机制和前馈神经网络来增强特征提取能力。它可以选择性地添加残差结构(shortcut)以优化梯度传播和网络训练效果。同时,使用FFN 可以将输入特征映射到更高维的空间,捕获输入特征的复杂非线性关系,允许模型学习更丰富的特征表示。

2.3 Head部分

  YOLO11在head部分的cls分支上使用深度可分离卷积。

三、对比与性能优势

在这里插入图片描述

  1. 性能飞跃:在COCO数据集上,YOLO11m比YOLOv8m使用22%更少的参数,却实现了更高的平均精度(mAP)。
  2. 速度提升:推理速度比YOLOv10快约2%,为实时应用提供了更好的支持。
  3. 多功能性:支持目标检测、实例分割、图像分类、姿态估计、定向目标检测(OBB)和目标跟踪等多种任务。
  4. 增强的特征提取:改进的架构设计使得YOLO11能够更准确地捕捉图像中的复杂细节。
  5. 优化的训练方法:增强了模型的适应性,使其更容易应用于不同规模的项目。
模型 像素大小 mAPval 50-95 速度CPU ONNX(ms) 速度T4TensorRT10 (ms) 参数(M) FLOPs(B)
YOLO11n 640 39.5 56.1 1.5 2.6 6.5
YOLO11s 640 47.0 90.0 2.5 9.4 21.5
YOLO11m 640 51.5 183.2 4.7 20.1 68.0
YOLO11l 640 53.4 238.6 6.2 25.3 86.9
YOLO11x 640 54.7 462.8 11.3 56.9 194.9

  这些数据不仅展示了YOLO11在检测、分割和分类任务中的精度提升,还说明了其在不同硬件环境下的优越速度,这使得YOLO11在需要实时处理的大规模数据集场景中具有很大的应用潜力。

四、X-AnyLabeling

  作为一款与时俱进的AI视觉标定工具,X-AnyLabeling v2.4.4 版本现以全面集成 YOLO11 全系列模型,首批上线包括以下功能:

4.1 目标检测:

在这里插入图片描述

4.2 实例分割:

在这里插入图片描述

4.3 图像分类:

在这里插入图片描述

4.4 姿态估计:

在这里插入图片描述

4.5 旋转目标检测:

在这里插入图片描述

> 项目主页:https://github.com/CVHub520/X-AnyLabeling
> 安装教程:https://github.com/CVHub520/XAnyLabeling/blob/main/docs/zh_cn/get_started.md
> 用户手册:https://github.com/CVHub520/XAnyLabeling/blob/main/docs/zh_cn/user_guide.md

五、总结

  本次更新的 YOLO11 模型是基于 YOLOv8 开发的,网络结构方面整体变化不大,采用 C3K2 替换掉了原先的 C2 和 C3 块,并新增了一个类似于自注意力的特征增强模块——C2PSA。检测头部分延续了 YOLOv8,因此后处理解析步骤基本相同。