代码编织梦想

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。

原文链接:YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)

前言 

  在不断发展的 AI 世界中,有一件事是我们可以确定的:模型会变得越来越好、越来越快、越来越智能。就在你认为 YOLO 系列已经达到顶峰时,Ultralytics 发布了最新升级版 — YOLO11。没错,不是YOLOv11 — 他们通过删除“v”实现了极简主义。这就像 YOLO 同时理发和升职一样。

    但在这个精简的名称背后,是性能上的重大飞跃。YOLO11 通过显着减少参数来平衡竞争环境,带来更快的处理速度和更高的效率。它的推理时间比 YOLOv10 快 2%,使其成为实时应用的绝佳选择。

    此外,YOLO11m在 COCO 数据集上实现了更高的平均精度 (mAP)得分,同时与 YOLOv8m 相比,使用的参数减少了 22%,从而降低了计算量,同时又不牺牲性能。速度和精度的结合使 YOLO11 成为任何计算机视觉任务的强大工具。

    那么,YOLO11 与前代产品有何不同?让我们探索一下它的架构,看看这个模型如何从快速发展到超高效,成为实时物体检测的超级英雄。

官方代码链接:

ultralytics/ultralytics: Ultralytics YOLO11 🚀 (github.com)

YOLO11 架构

    1. 主干网络:YOLO11 的大脑

    YOLO11 的主干就像模型的大脑。它使用先进的神经网络(例如EfficientNet或CSPNet)来捕获图像中的重要细节。可以将其想象为人类扫描场景并获取重要线索(无论是物体的纹理还是形状)的方式,从而帮助模型更清晰地“看到”图像。这种改进提高了 YOLO11 识别物体的能力,即使在棘手或混乱的环境中也是如此。

    2. 颈部:愿景与行动之间的桥梁

    YOLO11 的颈部将大脑(主干)与系统的其余部分连接起来,收集并组合来自图像不同部分的信息。与我们同时聚焦近距离和远距离物体的方式类似,颈部可帮助模型检测不同大小的物体,无论是路牌之类的小物体,还是公交车之类的大物体。

    3. 检测头:YOLO11的眼睛

    检测头是 YOLO11 理解图像的地方,它可以识别存在哪些物体、它们在哪里,甚至识别它们的具体细节(如身体关节或物体边缘)。这一步过程让 YOLO11 的速度非常快。此版本的特殊改进还使其能够更好地找到以前的版本可能遗漏的小物体。

    4. 锚框:塑造物体检测

    锚框就像模板,可以帮助模型识别不同大小和形状的物体。YOLO11 改进了这些模板,使其更好地适应检测到的物体,从而提高了识别常见和不常见形状的准确性。

    5. 损失函数:YOLO11 的学习教练

    损失函数就像 YOLO11 的教练,帮助它从错误中吸取教训。这些函数引导模型专注于它难以处理的领域——例如检测稀有物体或找到物品的精确位置。随着 YOLO11 继续在图像上“训练”,它在识别困难物体方面会做得更好。

YOLO11 的新功能

    以下是 YOLO11 的一些突出特点:

    1. 增强特征提取:在具有挑战性的情况下实现更好的检测

    YOLO11 的设计使其能够捕捉图像中的复杂图案,从而使其能够更好地识别困难环境中的物体——无论是光线不足还是混乱的场景。

    2. 参数越少,mAP 越高

    YOLO11 实现了更高的平均精度 (mAP)(这是衡量其检测物体效果的关键指标),同时使用的参数比 YOLOv8 少 22%。简而言之,它更快、更高效,同时又不牺牲准确性。

    3. 更快的处理速度

    YOLO11 的处理速度比 YOLOv10 快 2%,是自动驾驶、机器人或实时视频分析等实时应用的理想选择。

    4. 资源效率:用更少的资源做更多的事情

    尽管可以处理更复杂的任务,但 YOLO11 的设计目标是使用更少的计算资源,使其适用于大型项目和处理能力有限的系统。

    5. 改进训练流程

YOLO11 中的训练过程更加精简,使其能够更有效地适应各种任务。无论您处理的是小型数据集还是大型项目,YOLO11 都会根据问题的规模进行调整。

    6. 跨部署的灵活性

    YOLO11 旨在在云服务器和智能手机或物联网设备等边缘设备上高效运行。这种灵活性使其非常适合需要跨不同环境运行的应用程序。

    7. 适用于多种应用

    从自动驾驶和医疗成像到智能零售和工业自动化,YOLO11 的多功能性意味着它可以应用于广泛的领域,使其成为解决计算机视觉挑战的首选解决方案。

推理演示

    1. 标检测

代码如下:

pip install ultralytics
from ultralytics import YOLO
from PIL import Image
import requests

model=YOLO('yolo11n.pt')
image = Image.open("/content/DOG.png")
result = model.predict(image, conf=0.25)[0]

    CLI 命令:

!yolo task = detect mode=predict model=yolo11n.pt conf=0.25 source="/content/DOG.png" save=True

    自定义训练:

    使用您的自定义图像或从 Roboflow 下载它们:

from roboflow import Roboflow
rf = Roboflow(api_key="ROBOFLOW_API_KEY")
project = rf.workspace("project-fish-eqo9c").project("fish-species-identification")
version = project.version(3)
dataset = version.download("yolov11")

    使用 CLI 进行训练:

!yolo task=detect mode=train model=yolo11s.pt data="/content/Fish-Species-Identification--3/data.yaml" epochs=10 imgsz=640 plots=True

    2. 图像分割

代码如下:

from ultralytics import YOLO

model = YOLO("yolo11n-seg.pt")

seg_results = model("/content/yogapose.jpg")

seg_results[0].show()

3. 姿态识别

代码如下:

from ultralytics import YOLO
model = YOLO("yolo11n-pose.pt")
pose_results = model("/content/yogapose.jpg")
pose_results[0].show()

4. 图像分类

代码如下:

from ultralytics import YOLO
model = YOLO("yolo11n-cls.pt")
classi_results = model("/content/cocoimage1.jpg")
classi_results[0].show()

  4带角度的目标检测

代码如下:

from ultralytics import YOLO
model = YOLO("yolo11n-obb.pt")
obb_results = model("/content/vecteezy_busy-traffic-on-the-highway_6434705.mp4", save=True)

进一步改进:

    虽然 YOLO11 带来了显着的进步,但重要的是要认识到可能需要进一步增强或针对特定任务进行微调的领域:

    1. 通过微调改进对象分类

    虽然 YOLO11 在许多常规任务中表现出色,但针对特定任务进行微调后,其对象分类能力可以进一步提高。例如,在医学成像或工业检测等专业领域,调整模型以专注于小众数据集可以显著提高其准确率和精确度。

    示例:在医疗保健领域,通过对 YOLO11 进行微调来识别医学扫描中的特定异常(如疾病的早期迹象),可以产生针对该领域的更准确的分类。

    2. 带方向的目标检测:空中或网格视图

    YOLO11 在空中或网格视图等场景中表现出色,这些场景中的物体通常以特定方式定向,例如卫星图像或无人机镜头。然而,在更传统的日常视频源(例如监控或交通摄像头)中,由于针对特定角度和方向进行优化,YOLO11 的效率可能会降低。这意味着,虽然它在某些专业应用中表现出色,但在处理典型真实世界视频中看到的物体的不同方向时,它可能不那么有效。

    示例:在具有标准安全摄像头的零售环境中,YOLO11 可能需要进行额外调整来处理各种物体视角。

结 论

    YOLO11 代表了实时物体检测领域的重大飞跃,以更快的处理速度、更少的参数和更高的准确度突破了界限。它的多功能性使其能够在从自动驾驶到工业自动化等广泛的计算机视觉任务中表现出色。然而,与任何尖端技术一样,针对特定任务的微调对于充分发挥其在专业应用中的潜力至关重要。虽然它在空中物体检测等场景中表现良好,但它在传统视频中的表现可能需要进一步优化。

    最终,YOLO11 的轻量级架构、增强的速度和灵活性使其成为各行各业开发人员和研究人员的强大工具。随着计算机视觉的不断发展,YOLO11 为实时检测和分类树立了新的标杆。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/csdn_xmj/article/details/142762028

OpenCV之AI工具包介绍(OAK-1和OAK-D)-爱代码爱编程

这个小工具适用于不断发展的计算机视觉和三维感知领域,它将许多功能集成到一个小单元中。 我开始探索OpenCV AI Kit D(OAK-D)是因为OpenCV AI的竞赛。这是一个庆祝OpenCV成立20周年的国际人工智能竞赛。全球和地区获奖者将获得总价值40万美元的奖金。这个国际比赛是由Azure和Intel赞助的。在这个挑战中,团队必须使用OA

基于opencv的AI虚拟画板-爱代码爱编程

提示:以下是本篇文章正文内容,下面案例可供参考 一、opencv实现虚拟画板 0.jpg 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg 二、使用步骤 meidiapip参考:https://google.github.io/mediapipe/solutions/Han

全站最详细OpenCV AI开发套件OAK(OpenCV AI Kit)介绍-爱代码爱编程

编辑:OAK中国 来源:oakchina.cn 版权说明:转载请注明出处 前言 Hello,大家好,这里是OAK中国,我是助手君。 OAK相机相比于realsense这类老牌3D相机而言,确实属于新星产品。不少新朋友是被OAK的开源生态及一些demo视频所吸引,希望深度了解OAK。所以本期内容,我们会回顾一下OAK的诞生并解答几个关键问题,

2022 opencv ai 竞赛来啦!详细介绍spatial ai赛道!_oak中国_官方的博客-爱代码爱编程

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ ▌前言 Hello,大家好,这里是OAK中国,我是助手君。 我前两周在朋友圈发了一条内部消息,预告了一下今年的比赛。比赛地址 这周

opencv与ai深度学习 | 使用opencv轮廓检测提取图像前景_opencv ai-爱代码爱编程

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:使用OpenCV轮廓检测提取图像前景 背景和介绍     前景提取是计算机视觉领域中非常流行的任务。使用前景提取方法,我们尝试提取任何我们感兴趣的图像或对象,并丢弃其余的背景。最近基于深度学习的图像分割技术使这变得非常容易。但我们也可以使用纯计算机视觉技术

[c++]使用纯opencv部署yolov11目标检测onnx模型_yolo11 c++-爱代码爱编程

yolov11官方框架:https://github.com/ultralytics/ultralytics 【算法介绍】 在C++中使用纯OpenCV部署YOLOv11进行目标检测是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTorch模型。然而,你可以通过一些间接的

yolov11| 一文搞懂yolo得最新作品yolov11,并训练自己的数据集-爱代码爱编程

官方代码:GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀 官方文档:https://docs.ultralytics.com/ YOLOv11是ultralytics公司的最新作品,此公司还出了yolov5,yolov8。不得不说,ultralytics公司出品,必是精品。相比于YOLO

yolov11来了,使用yolov11训练自己的数据集和推理(附yolov11网络结构图)_yolo v11 如何训练-爱代码爱编程

文章目录 前言一、YOLOv11代码下载地址1.YOLOv11模型结构图 二、数据集准备1.数据集标注软件2.voc数据集格式转换3.数据集划分4.修改yolo的训练配置文件 三、YOLO环境配

[c#]c# winform部署yolov11-爱代码爱编程

【算法介绍】 在C# WinForms应用中部署YOLOv11-Pose姿态估计ONNX模型是一项具有挑战性的任务。YOLOv11-Pose结合了YOLO(You Only Look Once)的高效物体检测算法和Pose Estimation(姿态估计)专注于识别人体关键点的能力,能在多种计算平台上实时处理人体姿态数据。 由于YOLOv11通常是用P

[c++]使用纯opencv部署yolov11-爱代码爱编程

【算法介绍】 使用纯OpenCV部署YOLOv11-Pose姿态估计ONNX模型是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTorch模型。然而,可以通过一些间接的方法来实现这一目标,即将PyTorch模型转换为ONNX格式,然后使用OpenCV的DNN模块加载ONNX

使用yolo11分割和高斯模糊创建人像效果-爱代码爱编程

点击下方卡片,关注“小白玩转Python”公众号 分割和高斯模糊后的图像 本文通过结合最新的YOLO11实例分割模型和高斯模糊,为你的图片应用人像效果。我们将使用YOLO11将人物从背景中分割出来,并对除了主体之外的所有内容应用模糊效果。 1. 安装Ultralytics库 首先创建并激活一个Python虚拟环境来管理依赖项。如