位置: IT常识 - 正文

一文详解Yolov5——基于Yolov5的火灾检测系统(yolov5 入门)

编辑:rootadmin
一文详解Yolov5——基于Yolov5的火灾检测系统

推荐整理分享一文详解Yolov5——基于Yolov5的火灾检测系统(yolov5 入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov5s,yolov5l,yolov5m,yolov5l,yolov5tiny,yolov5讲解,yolov5tiny,yolov5讲解,内容如对您有帮助,希望把文章链接给更多的朋友!

✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!

项目效果图:

YOLOv5一、YOLOv5介绍二、模型详解2.1 Input2.2 Backbone2.3 Neck2.4 Prediction三、项目意义四、检测效果五、数据集获取六、模型训练效果七、总结一、YOLOv5介绍

 YOLO(You Only Look Once) 是REDMON等提出的目标检测算法,作为单阶段(one-stage)的代表算法,目前 YOLO已经更新到了YOLOv5。相比于Two stage目标检测算法,YOLO是直接从网络中提取特征,并预测物体的类别和具体位置,一步到位。  此后,REDMON在此基础上提出了YOLO9000等检测算法,使系统的检测性能得到进一步提升。在YOLOv3的基础上继续改进升级,并最终得到 YOLOv4。YOLOv4网络结构主要由CSPDarknet53特征提取网、SPP(空间金字塔池化)模块、PANet特征融合模块、Yolo Head分类器组成。  YOLOv5算法使用CSPDarknet(跨阶段局部网络)作为特征提取网络,从输入图像中提取目标信息。如今,YOLOv5无论是在准确率还是速度上,都已经达到较好的效果。所以,本项目采用YOLOv5训练模型,结合YOLOv5算法构建火灾检测系统。

二、模型详解

上图是yolov5s的网络结构,它是yolov5系列中深度最小、特征图宽度最小的网络。后面的m、l、x都是在此基础上不断加深、加宽的。网络主要分为输入端、Backbone、Neck、Prediction四个部分。它和yolov3主要不同的地方:

输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放Backbone:Focus结构、CSP结构Neck:FPN+PAN结构Prediction:GIOU_Loss

YOLOv5 模型在输入端(Input)增加了 Mosaic 数据增强、自适应锚框计算、自适应图片缩放等数据预处理技巧来增强数据,防止过拟合;在特征提取网络部分(Backbone)引入了Focus 模块、跨阶段局部融合网络(CrossStage Partial Network, CSPNet)等方法,在减少了计算量的同时可以保证准确率,使特征能够更好的向后传递。下图为cspnet 结构图:

  CSPNet主要目的就是缓解以前需要大量推理计算的问题,它有以下优点:

增强了CNN的学习能力,能够在轻量化的同时保持准确性。降低计算瓶颈。降低内存成本。CSPNet通过将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率。一文详解Yolov5——基于Yolov5的火灾检测系统(yolov5 入门)

CSPNet和PRN都是一个思想,将feature map拆成两个部分,一部分进行卷积操作,另一部分和上一部分卷积操作的结果进行concate。在特征融合部分(Neck)借鉴了空间金字塔池化(Spatial Pyramid Pooling, SPP)、特征金字塔(Feature Pyramid Networks, FPN)与路径聚合网络(PathAggregation Network, PAN)等方法,有效的增加主干特征的接收范围,融合后的特征保留了丰富的语义特征和精准的定位特征;同时在预测部分(Prediction)采用了新的定位损失函数,确保定位的精准。通过引入各种高效的网络组件,使得YOLOv5 模型在保持实时目标检测速度的基础上,也实现了精度上SOTA。

2.1 Input

Input 使用了 Mosaic 数据增强、自适应锚框计算、图片尺寸处理。Mosaic 数据增强把 4 张图片,采用随机缩放、随机裁剪、随机排布的方式进行拼接 , 极大地丰富了检测数据集,同时也能提高小目标检测的精度,除此以外,Mosaic数据增强在训练时可一次性对 4 张图片的数据进行计算,降低了 mini-batch 的大小,也减少了 GPU 的使用。YOLOv5 将自适应锚框计算嵌入代码中,通过在初始设定的锚框上输出预测框,然后和真实标签进行比对,计算损失函数,再不断更新,更新锚点框的大小,实现自适应计算并得出最佳锚框值。图片尺寸处理是对输入的各种图片的尺寸进行自适应填充处理,为了提高目标检测的速度,采用了减少灰度边缘的方法。

2.2 Backbone

Backbone 是 YOLOv5 网络的主干部分,包含 Focus 结构、CSP 结构和 SPP 结构。其 中 Focus 结 构: 主 要 进 行 切 片 操 作, 只 存 在 于YOLOv5 算法中,以 YOLOv5s 为例,将原始三通道图像输入 Focus 结构,经过切片操作后,进行拼接,图片尺寸缩小到原来的 1/4、输入通道扩充到原来的 4 倍,经过 32 个卷积核的卷积计算,最终得到含有 32 个通道的特征图。YOLOv5s、YOLOv5m、YOLOv5x 和 YOLOv5l, 使 用 的 卷积核数量依次增加,其中,YOLOv5m 使用了 48 个卷积核。卷积核个数越多 , 特征图的宽度越宽 , 网络提取特征的学习能力也越强。开发者认为,Focus 模块的设计目的是减少层数并降低计算量。

CSP 结构:YOLOv5 中设计了 CSP1_N 和 CSP2_N 两种CSP 结构,CSP1_N 应用于 Backbone 作为主干网络,CSP2_N 应用在 Neck 中,这部分没有残差组件。CSP1_N 结构将基础层的特征映射划分为两个不同的部分,其中之一就是将 N个残差组件进行卷积操作,另一部分则是直接进行卷积操作,两次卷积操作可以使通道数减半,然后通过拼接来进行输出。SPP 结构:在 Backbone 中,采用 SPP(空间向量金字塔 池化)。多尺度融合是通过最大化池来实现的。2.3 Neck

Neck 采用 FPN+PAN 的结构。FPN 结构是自上向下传递强特征,对结构起到增强的作用,然而,FPN 只能增强语义信息,而不能传递位置信息。而 PAN 结构刚好弥补了 FPN结构不能进行定位信息传递的缺陷,PAN 结构自下向上将低层的强定位特征传递上去,两者结合操作,增强网络特征融合的能力。

2.4 Prediction

本文中 Yolov5 采用 GIOU_Loss 作 Bounding box 的损失函数GIOU_Loss 能够区分重叠的预测框和目标框在 IOU 相同时两者相交情况的不同。另外,针对预测过程中会出现多个预测框的情况,需要通过非极大值抑制即 NMS 来处理,Yolov5 使用加权 NMS 来筛选最佳的预测框

三、项目意义

  火灾作为威胁人类生命生产安全的隐患之一,一直是人们关注的重点。传统的火灾监测装置根据温度来检测火灾,不仅灵敏度差,而且反馈时间长,常常会出现消防员收到警报消息时,火室已经无法控制。本文由树莓派、Opencv和蜂鸣器设计了一套火灾检测装置,能够对火灾进行实时灵敏检测,适用于地下停车场、居民楼道、商场等多种场景。

四、检测效果

五、数据集获取

  通过labelImg 标注工具对数据集图像进行标注,并保存为YOLO 系列的 txt 格式。可以在你的虚拟环境中进入labelImg,这是他的界面。左侧open Dir可以打开数据集的文件夹,Change Save Dir是你的保存路径,Next和Prev Image分别是上一张和下一张图片。重点来了:Create RectBox绘制一个矩形框将你需要框选的对象框选出来,并添加标签。这里不懂的同学可以看我之前有一篇很详细的教程链接: Yolov5:强大到你难以想象──新冠疫情下的口罩检测 通过对数据进行乱序排列,随机选出训练集 1442 张,测试集共617 张,验证集共 617 张。通过上千张火灾的图片进行机器学习的训练,对于微小火焰也有这不错的检测效果。数据集的下载地址我贴在这里了:链接:https://pan.baidu.com/s/1ry7o3oJfyHM5rw4nkXL14A?pwd=f5xp 提取码:f5xp

六、模型训练效果

七、总结

  由于大多数设备、算法的实时性较差或检测精确度偏低,而YOLOv5 检测算法拥有轻量级的模型和优良的性能,针对于此,本项目基于 YOLOv5 算法, 着重解决的问题是如何实现准确快速地检测火灾,以减小在复杂环境中的误检率,并提高检测精确率和实时性。

✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力!\textcolor{green}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!\textcolor{green}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!\textcolor{green}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!

本文链接地址:https://www.jiuchutong.com/zhishi/293117.html 转载请保留说明!

上一篇:JS如何随机生成一个整数(js如何随机生成字符串)

下一篇:2022.07.25 C++下使用opencv部署yolov7模型(五)(c++~怎么用)

  • 抖音0播放是怎么回事(抖音0播放解决方法)

    抖音0播放是怎么回事(抖音0播放解决方法)

  • 小米8和小米6速度对比(小米8与小米6对比,区别到底有哪些?)

    小米8和小米6速度对比(小米8与小米6对比,区别到底有哪些?)

  • 天猫超市换购商品无法购买(天猫超市换购商品已加入购物车没有了)

    天猫超市换购商品无法购买(天猫超市换购商品已加入购物车没有了)

  • 摩托罗拉折叠手机发布时间(摩托罗拉折叠手机2023怎么样)

    摩托罗拉折叠手机发布时间(摩托罗拉折叠手机2023怎么样)

  • 什么是其他微信账号聊天数据(其他账号的微信内容如何清理)

    什么是其他微信账号聊天数据(其他账号的微信内容如何清理)

  • 怎么不加qq好友发消息(怎么不加qq好友发文件)

    怎么不加qq好友发消息(怎么不加qq好友发文件)

  • 抖音屏幕点赞有什么用(抖音屏幕点赞有什么用处)

    抖音屏幕点赞有什么用(抖音屏幕点赞有什么用处)

  • 微信发送什么符号对方看不见(微信有什么符号发消息别人看不见)

    微信发送什么符号对方看不见(微信有什么符号发消息别人看不见)

  • 8p屏幕左上角有黑影会扩大吗(8p屏幕左上角有涨开了)

    8p屏幕左上角有黑影会扩大吗(8p屏幕左上角有涨开了)

  • cpu寿命一般多久(cpu一般能用几年)

    cpu寿命一般多久(cpu一般能用几年)

  • 好友辅助安全验证不了(好友辅助安全验证失败怎么办)

    好友辅助安全验证不了(好友辅助安全验证失败怎么办)

  • 支付宝扫五福一天能扫几次(支付宝扫五福是哪五福)

    支付宝扫五福一天能扫几次(支付宝扫五福是哪五福)

  • 小米10不贴膜可以吗(小米10s不贴膜)

    小米10不贴膜可以吗(小米10s不贴膜)

  • aaa电池是几号(aaa电池是几号标志)

    aaa电池是几号(aaa电池是几号标志)

  • moa-al00是什么型号(moa一aloo是什么型号)

    moa-al00是什么型号(moa一aloo是什么型号)

  • 苹果6s屏幕多大(苹果6s屏幕多大尺寸换屏幕总成多少钱)

    苹果6s屏幕多大(苹果6s屏幕多大尺寸换屏幕总成多少钱)

  • vivox23普通版防不防水(vivox23防误触模式在哪里)

    vivox23普通版防不防水(vivox23防误触模式在哪里)

  • 双模5g网络是什么意思(双模5g是5g吗)

    双模5g网络是什么意思(双模5g是5g吗)

  • 苹果无线键盘怎么开启(苹果无线键盘怎么连接电脑一体机)

    苹果无线键盘怎么开启(苹果无线键盘怎么连接电脑一体机)

  • word如何画三线制表格(word如何画三线表格里面有十二行)

    word如何画三线制表格(word如何画三线表格里面有十二行)

  • vivo删掉短信怎么恢复(vivo短信删除了怎么恢复正常)

    vivo删掉短信怎么恢复(vivo短信删除了怎么恢复正常)

  • ipad 4g可以打电话吗(ipad 4g可以接电话吗)

    ipad 4g可以打电话吗(ipad 4g可以接电话吗)

  • 电脑无反应怎么办(电脑无反应怎么办不能关机)

    电脑无反应怎么办(电脑无反应怎么办不能关机)

  • nvm报错Now using node v版本号 (64-bit)解决方法(numba报错)

    nvm报错Now using node v版本号 (64-bit)解决方法(numba报错)

  • python 如何调用api(python 如何调用c)

    python 如何调用api(python 如何调用c)

  • 小规模纳税人0税率发票
  • 小规模纳税人能开专票吗
  • 会计中罚款属于什么处理
  • 工会筹备金和工会经费一样吗
  • 替票怎么控制数量
  • 工业企业成本核算的一般程序包括下列的
  • 增值税预缴税金交错了怎么办
  • 分公司亏损总公司账务处理
  • 无形资产研发成功并申请专利
  • 公司借给个人的款项会计分录
  • 本年累计应交税费需要加上年初数吗
  • 增值税抵扣期限多少天
  • 发票已入账跨年可以红冲重开吗
  • 三证合一后换章子要多久
  • 关于一般纳税人提供非学历教育服务适用简易计税
  • 电子发票可以做报销凭证吗
  • 营改增后,企业购进自用小轿车增值税
  • 怎么计算研发费用占销售收入总额比例
  • 成本法追加投资交易费用
  • 单位收到社保补贴会计怎样处理
  • 收到工伤保险怎么做分录
  • 资产负债表怎么看平不平
  • 民法典对知识产权的定义
  • win10永久激活码神key一周内
  • 独生子女父母有意外险吗
  • 电脑每次开机都要按f1怎么解决
  • 苹果发布首款MR头显
  • php socket_read
  • PHP:pg_connection_busy()的用法_PostgreSQL函数
  • 房产开发企业交房产税吗
  • 小企业会计准则2023电子版
  • 应付股利在资产负债表哪个科目
  • 坎伯兰森林西部
  • 收到质量赔款做什么会计科目
  • springmvc执行流程简单
  • 【小沐学C++】C++ MFC中嵌入web网页控件(WebBrowser、WebView2、CEF3)
  • web数据可视化(Echars版)实训
  • 目标检测yolo算法
  • 学长学姐面试要注意哪些细节
  • php判断文件是否存在的函数
  • 应收账款属于会计的哪个要素
  • 金税盘减免税额
  • 公司向银行贷款利息是多少
  • 建筑施工企业增值税税率调整时间
  • 社保费用如何做账,社保费会计分录如何写
  • phpcms文档
  • 发票管理办法是法律吗
  • 上月未结账本月不能结账
  • 企业开外币户有什么用
  • 开公司的车出差违章算谁的
  • 事业单位取暖费2023
  • 新成立的公司能干吗
  • 工商营业执照变更网上怎么操作
  • 工程项目开发的一般流程
  • 固定资产报废需要进项税额转出吗
  • 公司的应付票据
  • sqlserver中with(nolock)深入分析
  • sql server如何使用
  • mysql 5.7.12 winx64手动安装教程
  • 被放弃的遗产
  • win10 impact
  • VMware虚拟机中安装MATE桌面环境
  • mac双系统切换快捷键
  • dx12最新版本
  • win7系统怎么查看内存
  • [置顶]游戏名 TentacleLocker
  • JAVAscript字符串类型单引号和双引号意一样吗
  • linux安装xen
  • cocos2dx2.2.5在iOS下加入Google AdMob可能会遇到的问题
  • shader教程
  • 用Python设计一个游戏
  • javascript简明教程
  • js判断页面是否打开
  • js 对象key
  • 重庆市电子税务局发票查询
  • 厦门增值税发票查询
  • 烟台市独生子女费 打什么电话咨询
  • 厦门税务局发票查询系统
  • 香港买iphone要交多少税
  • 辽宁税务局代码是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设