一、项目背景与需求

【打怪升级 - 08】基于 YOLO11 的抽烟检测系统(包含环境搭建 + 数据集处理 + 模型训练 + 效果对比 + 调参技巧)

今天我们使用YOLO11来训练一个抽烟检测系统,基于YOLO11的抽烟检测系统。我们使用了大概两万张图片的数据集训练了这次的基于YOLO11的抽烟检测模型,然后在推理的基础上使用PyQt设计了可视化的操作界面。

在这里插入图片描述

二、数据集

此次训练用的抽烟检测数据集,只有一类,即smoking。然后下面是数据集的统计分析图。一共有近35000个抽烟检测框,标签的中心坐标分布比较均匀,在图像中的各个位置都有,但都不靠近边缘;目标,即抽烟目标的长宽同样比较集中,属于小目标的范围(小于图像长宽的0.2倍)。
在这里插入图片描述

部分数据集截图:

在这里插入图片描述

三、简单介绍:YOLO11有哪些特点?

主要功能

  • 增强的特征提取: YOLO11 采用改进的 backbone和 neck 架构,从而增强了特征提取能力,以实现更精确的目标检测和复杂的任务性能。
  • 优化效率和速度: YOLO11 引入了改进的架构设计和优化的训练流程,从而提供更快的处理速度,并在精度和性能之间保持最佳平衡。
  • 以更少的参数实现更高的精度: 凭借模型设计的进步,YOLO11m 在 COCO 数据集上实现了更高的 平均精度均值 (mAP),同时比 YOLOv8m 使用的参数减少了 22%,从而在不影响精度的情况下提高了计算效率。
  • 跨环境的适应性: YOLO11 可以无缝部署在各种环境中,包括边缘设备、云平台和支持 NVIDIA GPU 的系统,从而确保最大的灵活性。
  • 广泛的支持任务范围: 无论是目标检测、实例分割、图像分类、姿态估计还是定向目标检测 (OBB),YOLO11 都旨在满足各种计算机视觉挑战。

与之前的版本相比,Ultralytics YOLO11 的主要改进是什么?

Ultralytics YOLO11 在其前代产品的基础上进行了多项重大改进。主要改进包括:

  • 增强的特征提取: YOLO11 采用了改进的骨干网络和颈部架构,增强了特征提取能力,从而实现更精确的目标检测。
  • 优化的效率和速度: 改进的架构设计和优化的训练流程提供了更快的处理速度,同时保持了准确性和性能之间的平衡。
  • 以更少的参数实现更高的精度: YOLO11m 在 COCO 数据集上实现了更高的平均精度均值 [mAP],与 YOLOv8m 相比,参数减少了 22%,从而在不影响准确性的前提下提高了计算效率。
  • 跨环境的适应性: YOLO11 可以部署在各种环境中,包括边缘设备、云平台和支持 NVIDIA GPU 的系统。
  • 广泛的支持任务范围: YOLO11 支持各种计算机视觉任务,例如目标检测、实例分割、图像分类、姿态估计和定向目标检测 (OBB)。

环境搭建:

【打怪升级 - 01】保姆级机器视觉入门指南:硬件选型 + CUDA/cuDNN/Miniconda/PyTorch/Pycharm 安装全流程(附版本匹配秘籍+文末有视频讲解)

数据集处理

labelme数据标注保姆级教程:从安装到格式转换全流程,附常见问题避坑指南(含视频讲解)

四、模型训练

本次训练使用的预训练模型是YOLO11n.pt(COCO数据集训练所得),epochs设置为100,batch设置为64,imgsz设置为640,其他均采用默认参数。

在这里插入图片描述

五、可视化模型推理

在这里插入图片描述

在这里插入图片描述

补充:

平均精度(mAP)是计算机视觉领域广泛使用的一个重要评估指标,尤其适用于物体检测任务。它提供了一个单一的综合分数,通过衡量模型对所有物体类别的预测准确度来总结模型的性能。mAP 分数既考虑了分类的正确性(物体是否如模型所说?),也考虑了定位的质量(预测的边界框与实际物体位置的匹配程度如何?)由于 mAP 能提供均衡的评估,因此已成为比较Ultralytics YOLO 等不同物体检测模型性能的标准指标。

mAP 如何工作

要了解 mAP,首先要掌握其核心组成部分:精确度(Precision)、召回率(Recall)和联合交集(IoU)。

  • 精确度衡量模型预测的准确程度。它回答的问题是:“在模型检测到的所有物体中,正确率是多少?”
  • 召回率:衡量模型找到所有实际物体的程度。它能回答以下问题"在图像中存在的所有真实物体中,模型成功检测到的物体占多大比例?
  • 交集大于联合 (IoU):量化预测边界框与地面真实(人工标注)边界框重叠程度的指标。如果 IoU 高于某个阈值(如 0.5),则通常认为检测为真阳性。

mAP 计算综合了这些概念。对于每个对象类别,通过绘制不同置信度阈值下的精确度与召回率曲线,生成精确度-召回率曲线。该类别的平均精度(Average Precision,AP)就是该曲线下的面积,它提供了一个代表模型在该特定类别上性能的单一数字。最后,取所有对象类别的 AP 分数的平均值来计算 mAP。有些评估方案,如流行的COCO 数据集的评估方案,则更进一步,通过对多个 IoU 阈值的 mAP 取平均值来提供更稳健的评估。

将 mAP 与其他指标区分开来

虽然 mAP 与其他评价指标相关,但其目的截然不同。

准确性准确度衡量的是正确预测与预测总数的比率。它一般用于分类任务,不适合对象检测,因为在对象检测中,预测必须同时正确分类和定位。

  • F1 分数F1 分数是精确度和召回率的调和平均值。虽然有用,但它通常是在单一置信度阈值下计算的。相比之下,mAP 通过平均所有阈值的性能来提供更全面的评估。
  • 置信度:这不是模型整体的评估指标,而是分配给每个预测的分数,表示模型对该检测的确定程度。mAP 计算使用这些置信度分数来创建精度-召回曲线。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92122.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92122.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/92122.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue2升级vue3中v-model的写法改造

vue2选项式 <template><div><el-rowclass"group-title":title"$t(restore_default_parameters)">{{ $t(restore_default_parameters) }}</el-row><el-form-item :label"$t(restore_default_parameters)" class"…

5G-LEO 简介

1. 什么是 5G-LEO 5G-LEO 指的是将 5G 新空口&#xff08;5G NR&#xff09;服务扩展到低轨卫星&#xff08;LEO&#xff09;上的非地面网络&#xff08;NTN, Non-Terrestrial Network&#xff09;方案。通过在距地面约500–2 000 km 的低轨道卫星上部署通信载荷&#xff0c;5G…

【MCAL】AUTOSAR架构下SPI数据同步收发具体实现

目录 前言 正文 1.依赖的SPI硬件特性 1.1. SPI时隙参数配置 1.2. SPI数据发送和接收模式 2.MCAL中的SPI配置 3.软件的具体实现 3.1. Spi_SyncTransmit 3.2. Spi_lSyncTransmit 3.3. Spi_lSyncStartJob 3.4. Spi_lSyncTransmitData8Bit 3.5. Spi_lSynTransErrCheck …

SQL157 更新记录(一)

描述现有一张试卷信息表examination_info&#xff0c;表结构如下图所示&#xff1a;FiledTypeNullKeyExtraDefaultCommentidint(11)NOPRIauto_increment(NULL)自增IDexam_idint(11)NOUNI(NULL)试卷IDtagchar(32)YES(NULL)类别标签difficultychar(8)YES(NULL)难度durationint(11…

悬赏任务系统小程序/APP源码,推荐任务/发布任务/会员服务

1. 我们承诺及优势本店源码承诺&#xff1a;1&#xff09;. 店长亲测 - 100%完整可运行2&#xff09;. 含详细安装文档3&#xff09;. 支持二次开发定制4&#xff09;. 专业客服随时解答5&#xff09;. 技术团队保障质量2. 功能详细说明主要功能 模块 角色 解释说明 用户登录和…

Ubuntu20.04系统上使用YOLOv5训练自己的模型-1

在Ubuntu系统上使用YOLOv5训练自己的模型&#xff0c;你需要遵循以下步骤。这里我将详细说明如何从准备数据集到训练模型的整个过程。 步骤 1: 安装依赖项 首先&#xff0c;确保你的Ubuntu系统上安装了Python、PyTorch和必要的库。你可以使用以下命令安装这些依赖项&#xff1a…

解决微信小程序中camera组件被view事件穿透触发对焦以及camera的bindtap事件

view跟camera组件同级 不要用bind:tap和catch:tap 替换用catch:touchstart即可解决&#xff01; 如果你不放心&#xff0c;可以再加个透明蒙版&#xff0c;这样就不会触发了&#xff01;&#xff08;不加这个也行&#xff0c;但是必须要用catch:touchstart&#xff09;<!-- …

【Redis】移动设备离线通知推送全流程实现:系统推送服务与Redis的协同应用

在移动应用开发中&#xff0c;应用未启动时的通知推送是提升用户体验的核心需求之一。当用户未主动启动 App 时&#xff0c;如何通过手机通知栏触达用户&#xff0c;确保关键信息&#xff08;如订单提醒、系统警报&#xff09;不丢失&#xff1f;本文将尝试解析从 系统推送服务…

WebView 中控制光标

在 WebView 中控制光标&#xff08;如移动焦点、获取/设置光标位置、显示/隐藏光标等&#xff09;需要根据具体场景和平台&#xff08;Android/iOS/Web&#xff09;采用不同的方法。以下是常见场景的解决方案&#xff1a;一、Web 页面中的光标控制&#xff08;JavaScript&#…

2025国赛数学建模C题详细思路模型代码获取,备战国赛算法解析——决策树

2025国赛数学建模C题详细思路模型代码获取见文末名片 决策树算法&#xff1a;从原理到实战&#xff08;数模小白友好版&#xff09; 1. 决策树是什么&#xff1f;——用生活例子理解核心概念 想象你周末想决定是否去野餐&#xff0c;可能会这样思考&#xff1a; 根节点&#xf…

从底层架构到多元场景:计算机构成与应用的深度剖析

一、引言1.1 研究背景与意义在当今数字化时代&#xff0c;计算机已成为推动社会进步和经济发展的核心力量&#xff0c;其身影遍布生活、工作、学习的各个角落。从个人日常使用的笔记本电脑、智能手机&#xff0c;到企业运营中不可或缺的服务器、大型机&#xff0c;再到科研领域…

控制建模matlab练习08:根轨迹

此练习主要是&#xff1a;在matlab中绘制根轨迹的方法。 一、在matlab中建立对应系统 1、例如&#xff0c;对于如图的反馈系统。 2、其中开环传递函数G(s)、闭环传递函数Gcl(s)。3、因此&#xff0c;其闭环传递函数的根轨迹&#xff0c;就可以直接在matlab中绘制出来。 4、直接…

【Spring Boot 快速入门】七、阿里云 OSS 文件上传

这里写自定义目录标题准备阿里云 OSS参照官方 SDK 编写入门程序案例数据准备案例集成阿里云 OSS前端测试代码app.jsstyle.cssindex.html效果图准备阿里云 OSS 注册登录阿里云&#xff0c;然后点击控制台&#xff0c;在左上角菜单栏搜索对象存储 OSS&#xff0c;点击并开通点击…

分布式微服务--Nacos作为配置中心(二)

前言&#xff1a;Nacos 是什么&#xff1f; Nacos&#xff08;Naming and Configuration Service&#xff09;是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。我们可以使用它&#xff1a; ✅作为注册中心&#xff08;服务发现&#xff09; …

家庭/公司内部网络内网穿透:无公网IP怎么设置外网远程访问?

家庭宽带内网穿透如何实现&#xff1f;需公网IP吗&#xff1f;公司内部的网址服务怎么提供互联网访问&#xff1f;相信很多人都有遇到家庭网和公司内部网下&#xff0c;搭建了服务器&#xff0c;或网络硬件设备&#xff0c;需要在异地远程访问使用的情况。家庭和公司内部宽带内…

水库防洪安全雨水情监测预警系统

水库防洪安全雨水情监测预警系统是一种高度集成现代信息技术与水利工程管理的综合性智能化管理平台&#xff0c;该系统主要应用于水库及其周边流域的实时水情监测与预警工作。通过部署先进的传感设备和监测网络&#xff0c;该系统能够全天候不间断地采集水库库区及周边区域的降…

【论文阅读】Editing Large Language Models: Problems, Methods, and Opportunities

Editing Large Language Models: Problems, Methods, and Opportunities原文摘要研究背景与问题提出核心问题&#xff1a;尽管LLM已具备强大的能力&#xff0c;但如何长期维持其时效性并修正错误仍缺乏系统方法论。现状&#xff1a;近年来&#xff0c;针对LLMs的模型编辑技术兴…

金融数据可视化的强力引擎 —— QtitanDataGrid在金融行业的应用实践

QtitanDataGrid是一款适用于Qt的商业化DataGrid 组件&#xff0c;它使得表格数据可以直接面向终端用户。这个组件吸收了用户界面结构显示表格方面所有的现代化技术的精华&#xff0c;是目前Qt市场上唯一一款拥有如此高级功能和出色性能的网格组件。这个Qt数据网格组件使用纯C创…

玩转 InfluxDB 3:用 HTTP API 快速创建高效数据表

前言 说起时间序列数据库,InfluxDB 绝对是业界响当当的明星。数据源源不断涌入,能否高效存储和查询,直接决定你的业务能不能飞速跑起来。可你还在用客户端或者命令行一点一点手动操作?朋友,这操作太老土,分分钟拖慢节奏。 现在是 API 自动化时代,HTTP API 可帮你轻松搞…

stc32g利用硬件I2C配合中断实现高效率异步无阻塞读写方法

I2C读写巨慢, 即使在400kbit/s下, 读写一个字节数据也要花费20多us, 这太慢了, 每读写一次设备的寄存器数据, 还要设备地址和寄存器地址, 又加了两个字节数据, 我就读了个传感器的两个字节数据而已, 动辄还要花费100us的阻塞时间, 这太浪费资源了针对这个问题, 我利用硬件I2C及…