【TB作品】tph-yolov5 火焰 烟雾 检测

server/2024/12/22 9:32:55/

https://github.com/cv516Buaa/tph-yolov5

问询、帮助

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

“防火未燃”——渡船汽车火源和烟雾检测研究
2.1设计思路

  1. 获取数据集。由于在船舱内部的火源图像数据较少,通过百度AI Studio、Kaggle公开的火源数据集、爬取百度火源图片等作为数据集来源,通过数据清洗,最终获得训练集8268张,测试集1167张,验证集1166张共计10601张。
    2.标注数据集。采用标注工具LabelImg对未标注数据集进行标注,对已标注但格式不同的数据集进行格式转换,共标记两个类别,分别是yanwu(烟雾)和fire(火)。
    3.搭建模型。模型采用TPH-YOLOv5[10]算法为基础,该模型识别密集物体,小物体效果显著。
    4.修改模型。算法引入轻量化模块Ghost模块[11],训练后的模型计算量参数量有效降低,加速模型推理。
    5.训练模型。实验环境使用Ubuntu20.04操作系统,使用RTX5000显卡进行运算,显存大小为64GB,CPU配置为Intel@Xeon® Silver 4210R CPU @ 2.40GHz ×40,CUDA版本为10.1,Pytorch版本为1.10.1,Python语言环境为3.6.13。
    6.目标检测。使用训练好的模型进行目标检测。
    图3设计思路
    2.2研究方法
    2.2.1计算机视觉原理(Computational Vision)
    计算机视觉就是给出一张二维图像,计算机视觉系统识别出图像中的对象及其特征,如形状、纹理、颜色、大小、空间排列等,从而尽可能完整地描述该图像。

图4计算机视觉原理
2.2.2卷积原理(Conv)
Conv 是从视觉皮层的生物学上获得启发的。视觉皮层有小部分细胞对特定部分的视觉区域敏感。Hubel 和 Wiesel 发现视觉皮层的神经元细胞(卷积核)会寻找特定特征,这在机器中同样适用。

图5卷积原理
3.创新特色
通过引入C3Ghost模块替代原有的C3模块,用线性变换替代了部分卷积,降低了模型的计算量和参数量,加快了推理速度,下面从TPH-YOLOV5、Ghost模块、GhostBottleneck、改进进行详细介绍。
3.1采用TPH-YOLOV5应用到火源检测
TPH-YOLOV5为解决航拍高速和低空飞行导致的密集小物体的检测较差问题,增加了一个预测head以适应检测小物体;用Transformer Prediction Head(TPH)[12]代替了原有预测头,用自注意力机制进行预测;融合了CBAM[13]找到密集物体的注意区域采用数据增强,多尺度测试,多模型融合,用额外的分类方式提高了模型精度。

图5 TPH-YOLOV5网络结构图

3.2引入轻量化模型
深度卷积神经网络通常引用由大量卷积组成的卷积神经网络,导致大量的计算成本。Google的MobileNet[14 ]和ShuffleNet [15 ]引入了深度可分离卷积操作,以使用较小的卷积核来构建有效的CNN,其余卷积层仍将占用大量内存和FLOPs,这些卷积层在提取特征图时通常会包含丰富甚至冗余的特征图,以保证对输入数据有全面的理解。轻量化卷积Ghost模块的引入用“廉价”卷积代替普通卷积,改进后的TPH-YOLOV5模型,参数量和计算量都有所降低,推理速度加快。

图6普通卷积

Ghost模块是Han等人在保证检测精度的基础上,减少传统卷积神经网络的计算量与参数量而提出的一种轻量化神经网络,模型主要思想是利用“廉价”的方式,通过线性变换操作代替部分产生冗余特征图的传统卷积操作。

图7 Ghost 模块
利用Ghost模块生成与普通卷积层相同数量的特征图,可以轻松地将Ghost模块替换卷积层,集成到现有设计好的神经网络结构中,减少计算成本。Ghost模块具有一个恒等映射(Identity)和(s-1)个线性运算,并且每个线性运算的平均内核大小为n/s·h’·w’·d·d。理想情况下,(s-1)个线性运算可以具有不同的形状和参数,但是特别是考虑到CPU或GPU的实用性,在线推理会受到阻碍。因此,在一个Ghost模块中采用相同大小的线性运算以高效实现Ghost模块。使用Ghost模块升级普通卷积的理论加速比和模型压缩比为
r_s=(n·h’·w’·c·k·k)/(n/s·h’·w’·c·k·k+(s-1)·n/s·h’·w’·d·d)
=(c·k·k)/(1/s·c·k·k+(s-1)/s·d·d)≈(s·c)/(s+c-1)≈s (1)
r_c=(n·c·k·k)/(n/s·c·k·k+(s-1)·n/s·d·d)≈(s·c)/(s+c-1)≈s (2)
r_s是理论加速比;r_c是模型压缩比,n是输出特征图的通道数:h^’ 、w^'分别为输出特征图的高、宽;c是输入的通道数;k·k卷积核大小;d·d是每一个线性操作的平均卷积核大小;s是所分的组数,s-1为Ghost的个数。
Ghost Bottleneck:利用Ghost模块的优势,专门为小型CNN设计的Ghost bottleneck(G-bneck)。如图8所示,Ghost bottleneck类似于ResNet中的基本残差块(Basic Residual Block),其中集成了多个卷积层和shortcut。Ghost bottleneck主要由两个堆叠的Ghost模块组成。

图8 Ghost bottleneck
由Ghost bottleneck组成的C3Ghost模块替换C3模块,利用“廉价”的方式获得和普通卷积相同的特征,降低了模型的参数量和计算量,加快了推理速度。
3.3火源和烟雾目标检测
改进后的模型在训练时只用了400个epoch,就可以准确的对火源和烟雾目标进行检测。模型的具体参数放到了补充材料里。因当前关于渡船的小火源目标检测较少,所以后期优化将重点放在火源小目标的获取和检测上,不断提高模型对小目标的检测精度。

图9火源和烟雾目标检测效果


http://www.ppmy.cn/server/6549.html

相关文章

BGP边界网关路由实验(华为)

思科设备参考:BGP边界网关路由实验(思科) 一,技术简介 BGP(边界网关路由协议)是一种自治系统(AS)间的协议,主要用于在不同的AS之间交换路由信息。AS是一个由一组网络设…

ChatGPT深度科研应用、数据分析及机器学习、AI绘图与高效论文撰写

2022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在…

计算机视觉——OpenCV Python基于颜色识别的目标检测

1. 计算机视觉中的颜色空间 颜色空间在计算机视觉领域的应用非常广泛,它们在图像和视频处理、物体检测等任务中扮演着重要角色。颜色空间的主要作用是将颜色以数值形式表示出来,这样计算机算法就能够对其进行处理和分析。不同的颜色空间有着不同的特点和…

C语言第五章之复合类型(struct, union, enum,typedef等)

复合类型 概述 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性, 这时候可通过结构体实现 1. 结构体 struct 结构体(struct)可以理解为用户自定义的特殊的复合的“数据类型 变量的定义和初始化 定义…

Postman之全局变量与环境变量配置

实际开发中可能需要不停切换环境,接口中来回输入环境地址比较麻烦,故而通过定义变量来节约频繁更换测试地址所耗费的时间。Postman 允许定义自己的全局变量(Globals)与环境变量(Environment),最…

mysql8加密规则修改导致navicat无法连接解决方案

mysql在升级了版本后从8开始修改了加密规则,导致连接出现错误: Authentication plugin ‘caching_sha2_password‘ cannot be loaded解决方案就是更新密码以及加密方式 1 进入mysql mysql -u root -p2 修改加密规则以及密码 ALTER USER rootlocalhost…

P1278 单词游戏 简单搜索+玄学优化

单词游戏 传送门 题目描述 Io 和 Ao 在玩一个单词游戏。 他们轮流说出一个仅包含元音字母的单词,并且后一个单词的第一个字母必须与前一个单词的最后一个字母一致。 游戏可以从任何一个单词开始。 任何单词禁止说两遍,游戏中只能使用给定词典中含有…

修改Ubuntu的镜像源为中科大镜像源

修改Ubuntu的镜像源为中科大镜像源 1、首先使用以下命令备份现有的镜像源: cd /etc/apt sudo cp sources.list sources.list.bak 2、使用以下命令打开镜像源文件: sudo vim /etc/apt/sources.list 3、在vim插入模式下使用以下内容替换掉原镜像…