温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
改进
YOLOv5
森林
烟雾
检测
算法
信息通信基于改进YOLOv5 的森林烟雾检测算法熊小豪,刘军清,李菁(三峡大学计算机与信息学院,湖北宜昌4430 0 2)摘要:在森林火灾烟雾检测任务中,最重要的是能在火灾发生的初期及时发现小而稀薄的烟雾,目前的烟雾检测算法普遍存在检测精度较差,错检、漏检较多的问题。为解决上述问题,文章提出一种基于改进YOLOv5的烟雾检测算法。为了使提取到的多尺度特征更好的融合,强化对小尺度烟雾的检测,引入了BiFusionNeck融合结构,并对本森林火灾烟雾检测算法中的损失函数进行了改进,使用SIOU作为损失函数,使网络考虑真实框与预测框之间的方向,加快收敛速度。使用本文所提出的方法在自制烟雾数据集上实验,结果表明本文方法的整体性能要优于其他的烟雾检测算法。关键词:烟雾检测;BiFusionNeck;SI O U;YO LO v 5中图分类号:TP391.41Forest Smoke Detection Algorithm Based On Improved YOLOv5(College of Computer and Information Technology,China Three Gorges University,Hubei Yichang 443002,China)Abstract:In the forest fire smoke detection task,the most important thing is to find small and thin smoke in time at the earlystage of the fire.Current smoke detection algorithm generally has the problems of poor detection accuracy,more false detectionand missing detection.To solve the above problems,this paper proposes a smoke detection algorithm based on improved YO-LOv5.In order to fuse the extracted multi-scale features better,the BiFusion Neck fusion structure is introduced,and the lossfunction in the forest fire smoke detection algorithm is improved.SIOU is used as the loss function,which makes the networkconsider the direction between the true bounding box and the prediction bounding box,and accelerates the convergence speed.Using the method proposed in this paper to test on public smoke data sets,the results show that the overall performance of thismethod is better than other smoke detection algorithms.Keywords:Smoke detection;BiFusion Neck;SIOU;YOLOv50引言在世界范围内,森林大火平均每年发生二十多万次,造成不可估量的损失,预防森林大火是个迫切且艰难的任务,先出现烟雾是森林火灾最明显的特征。目前,烟雾检测主要有两种方法:传统方法和深度学习方法。传统方法基于烟雾的某些特性,如颜色、纹理、形状、边缘梯度直方图、不规则性和密度等。FeiniuYuan等基于图像的局部二值模式构造特征金字塔,提取特征金字塔的直方图生成特征向量,利用烟雾图像的静态局部二值特征,但不适用于复杂环境。EmmyPrema等2 基于YUA颜色空间以及小波能量提取烟雾像素,再使用支持向量机决策候选烟雾区域,但是通过颜色空间以及小波能量提取的仅仅是浅层特征,检测精度较低、误检率高,而且泛化能力弱。Tian等3通过像素之间的相关性,主成成分分析判决图像中的烟雾,并分离出疑似区域。然而,这些传统方法都存在着一些明显的问题,准确率普遍较低,适用范围有限,很难应用的实际中。随着深度学习的快速发展,研究者们尝试将深度学习应用到烟雾检测领域中,尤其是经典卷积神经网络AlexNetl4出现以来,越来越多的烟雾检测深度学习方法被提出来。Yuan等5 提出了一种采用全卷积网络的端到端烟雾密度估计方法,该方法将多个非对称编码器,解码器网络堆叠在一起,来实现烟雾密度估计。李鹏等使用高斯混合模型和卷积神经网络结合来检测烟雾,较传统特征提取手段有着更佳的性能。王承鹏等创建了基于单阶段检测算法的轻量级网络。为了适应收稿日期:2 0 2 3-0 2-2 8作者简介:熊小豪(1998-),男,硕士研究生,研究方向:计算机视觉,烟雾检测;刘军清(197 4-),男,博士,教授,研究方向:多媒体信息处理与传输,计算机视觉。702023年第0 5期(总第2 45期)文献标识码:A文章编号:2 0 96-97 59(2 0 2 3)0 5-0 0 7 0-0 3XIONG Xiaohao,LIU Junqing边缘设备,他们以移动网络为骨干,采用深度可分离卷积。该方法可以有效提高检测算法在边缘设备上的运行效率,但在检测精度上存在不足,没有更多的技能来提高精度。QixingZhang等8 两阶段目标检测算法快速RCNN进行室外森林火灾预测。取得了较好的检测结果。但快速RCNN的参数量大,在计算能力较低的边缘设备上效率低,可移植性差。Jiang等 改进轻量级目标检测网络Efficientdet-D2l0,网络中增加自注意机制,减少实际烟雾检测场景中的假阴性,并通过多级烟雾特征融合,降低了类烟雾引起的误检测概率。自从单阶段网络YOLO系列问世以来,一直因快速、准确受广大研究者追捧,谢书翰等以YOLOv4为基础,在检测头嵌入通道注意力机制,并使用K-means算法聚类烟雾的锚框,但通道注意力缺少位置信息,会导致部分信息的丢失。本文以YO-LOv5s为基础构造烟雾检测检测算法,通过BiFusionNeck12结构对各种尺度信息进行更充分的融合,获取更加丰富的烟雾特征;并对网络中的损失函数改进,将CIOU损失函数替换为SIOUI131数,解决CIOU的退化问题,提高准确率。1研究方法1.1 YOLOv5 算法YOLOv5是一阶段的端到端目标检测网络,根据网络宽度、深度的不同提供了五个版本:n、S、X、m、l,本文根据烟雾检测的需求,综合准确率和推理速度,选用YOLOv5s-6.0版本作为基准模型,其结构如图1所示,由三个主要部分组成:Back-Changjiang Information&Communicationsbone部分、Neck部和Head部分。Backbone是整个网络的主干,6.0 版本将C3模块融入Darknet,解决了大型主干网络中梯度复制的问题;使用6 x6的卷积替代Focus,减小了计算量和参数量,而且减少下采样时信息的丢失;在骨干网络的末端加入了SPPF,其相较于空间金字塔池化(SpatialPyramidPool-ing)14检测速度更快。Neck部分采用PAN结构,通过上采样和下采样过程进行特征融合,可以得到更加丰富的特征,加强网络特征融合的能力。Head部分采用三个不同尺寸的检测头来实现多尺度预测。该模型使用CIOU作为边界框损失函数和非极大值抑制作为后处理算法,实现多检测框去重效果。BackboneHeadInputConvConvC3ConvC3ConvC3ConvC3SPPF1.2BiFusionNeck融合结构在YOLOv5中,Neck部分采用PAN结构,将不同尺度特征融合,但由于烟雾的柔性特征,形状轮廓和尺度都是一直变化的,该方法对于提取的多尺度烟雾特征并没有很好的利用,丢失了一部分信息。所以本文引入BiFusionNeck结构,该结构对PAN进行改进,通过更加复杂的融合机制,更大程度上契合烟雾的多变性特征,既保留了全局的语义信息,又融合了细粒度的像素信息,其结构如图2 所示。InputConvConvC3ConvC3ConvC3ConvC3SPPF随着网络层次的加深,所得到的特征图也将丢失越多的信息,为了减轻这一问题,该模块把Backbone所提取的特征进行不同维度的分流,将浅层提取到的特征图使用1x1卷积降维,再使用33步长为2 的卷积进行下采样,与11卷积降71熊小豪等:基于改进YOLOv5的森林烟雾检测算法维后中层特征图融合,得到新的浅层特征;将深层提取到的特征图使用2 2 的转置卷积进行上采样,与中层特征经过两层卷积得到的残差结构进行拼接操作,得到新的深层特征;最后把新的深层特征经过卷积处理后与新的浅层特征拼接。通过这样融合后的特征图即包含烟雾图片上下文的语义信息,也包含烟雾本身的细节,这是一个自下而上的过程,把不同深度卷积层得到的特征从小到大融合一遍。后面的过程则相反,是自上而下的,将大尺度特征图直接经过C3模块后输出给大尺度检测头;大尺度特征图和中尺度特征图拼接后输出给中尺度检测头;将大尺度和中尺度拼接后的特征图经过C3模块Neck再与小尺度特征图拼接的结果输出给小尺度检测头。在烟雾检测任务中,被一些条件约束,导致得到的图片很多都是小尺度的烟雾,这要求网络不仅要准确的识别出烟雾,还要快速识别,仅仅通过烟雾的细节来判决,很难实现。此时需要ConcatC3UpsampleConvConvConcatC3C3ConcatUpsampleConv图1YOLOv5s-6.0网络结构Conv1.17ConcatConv1,1-Conv3,2ConvTransposeConv1.1Conv1.1Conv1Conv/3,21C3Convl1,1Concat图2 BiFusionNeck结构HeadHeadConvConcatC3Ccov1,1ConvTransposeConv1.17网络提取到全局信息,通过上下文特征来增加正确识别的概率。1.3SIOU损失函数YOLOv5网络中的边界框损失函数使用CIOU损失函数,CIOU损失函数考虑三种几何参数:重叠面积、中心点距离、长宽比。相比于之前的损失函数,虽然增加了长宽比作为影响因素,但是烟雾作为一种柔性的目标,根本没有固定的长宽比,其形状和轮廓也不固定,使用CIOU作为损失函数,会导致网络收敛的速度减慢;并且CIOU没有考虑到真实框与预测框之间方向不匹配的问题,不仅会导致收敛速度变慢,而且可能在训练过程中预测框“四处游荡”最终导致模型变差。因此,本Head文使用SIOU作为损失函数,其公式如下(1),SIOU由角度损失、形状损失、距离损失、IOU损失四个部分组成。4+2SIOUtoss=1-IOU+2角度损失定义为:A=co s(2 (arcsi n(Ch/o)-/4)Ch为预测框和真实框中心点的高度差,o预测框和真实框的中心点距离。距离损失定义为:4=2-e(4-2)px)-e(4-2)py)其中px,p,代表着真实框和预测框之间位置的偏离程度。角度损失包含在距离损失里面。形状损失定义为:C3=(1-e-ww)+(1-e-wn)其中w和ww表示预测框和真实框之间宽和高的拉伸程度,控制对形状损失的关注程度。Conv/3,2IOU损失定义为:IOU=1-B n B;l/B U B;lConcat其中B为预测框的面积,B,为真实框的面积。SIOU损失函数考虑到了真实框与预测框之间方向不匹配的问题,更适用于烟雾类的柔性目标,有效提高了网络的收敛速度与精度。Conv/3,212实验结果与分析Concat