网站首页 公文大全 个人文档 实用范文 讲话致辞 实用工具 心得体会 哲学范文 总结范文 范文大全 报告 合同 文书 信函 实用
  • 汇报体会
  • 节日庆典
  • 礼仪
  • 毕业论文
  • 评语寄语
  • 导游词
  • 口号大全
  • 其他范文
  • 百花范文网 > 实用范文 > 其他范文 > 基于YOLOv3-tiny的火焰目标检测算法

    基于YOLOv3-tiny的火焰目标检测算法

    时间:2023-02-21 11:40:32来源:百花范文网本文已影响

    徐 岩,李永泉,郭晓燕,韩立苏,刘巧玲

    (山东科技大学 电子信息工程学院,山东 青岛 266590)

    火灾是极具破坏性的灾害之一,造成的损失巨大,因此火灾的预防以及前期检测尤为重要。基于传感器的传统火灾检测系统存在检测条件单一、易受户外场景干扰、响应速度慢等缺陷。近年来基于深度学习算法的计算机视觉发展迅速,相比于传统机器学习算法与图像处理技术,深度学习具有强大的特征表示能力和自主学习能力,将深度学习技术与火灾检测相结合,检测速度和精度可以大幅提升。

    基于深度学习的火焰检测主要是通过搭建卷积神经网络提取火焰特征进行分类识别,实现端到端的火焰检测。2016年Frizzi等[1]搭建9层卷积神经网络实现了对火焰和烟雾的分类,检测速度较快。Muhammad等[2]使用AlexNet[3]实现对火灾特征的提取,但网络参数量较大,泛化性较差。2018年Sun等[4]利用残差结构设计了一个新的网络进行火焰识别,通过滑动窗口进行定位,取得较好的检测效果。同年,Yan等[5]利用Faster-RCNN[6]实现了火焰的端到端检测,检测速度与精度大幅提升。2021年Han等[7]采用改进的CA-SSD网络检测吸烟行为,在保证实时性的基础上,提高了烟雾检测的准确性。

    常用于目标检测的卷积神经网络模型主要分为两类,一类是以R-CNN[8]系列为代表的两阶段模型,在检测过程中,首先找到目标候选区域[9],然后对候选区域进行分类与定位,该类方案检测精度较高,但相对于单阶段网络检测速度较慢;
    另一类是以YOLO系列[10-13]、SSD[14]为代表的单阶段模型,将检测问题看成坐标回归问题,通过模型直接输出目标检测结果,该类算法检测速度较快,但相对于两阶段网络检测精度较差。本研究针对火焰检测实时性需求,选取YOLOv3-tiny轻量级网络。通过改进该网络,在保证检测速度的同时提高火焰检测的精度,并通过自制的火焰数据集进行实验,验证改进的YOLOv3-tiny算法的有效性。

    2.1 YOLOv3-tiny网络结构

    YOLOv3-tiny是YOLOv3的一个轻量级网络,构架分为特征提取网络、特征融合网络、检测网络3个部分。相比于YOLOv3采用残差结构来加深特征提取网络的方式,YOLOv3-tiny骨干网络仅由卷积层和池化层简单堆叠构成,极大地降低了网络的参数量和计算量,提升了检测速度。特征融合部分延续了YOLOv3网络采用深层高语义特征图上采样与浅层特征图拼接的融合方式,实现深浅层特征信息的互补。检测网络部分删除了52×52大小的检测分支,仅包含13×13、26×26大小的两个预测分支。具体网络结构如图1所示,其中Concat表示特征图拼接操作,Upsample表示上采样操作,Conv_1、Conv_2分别表示3×3、1×1卷积操作,P1、P2表示输出特征图。

    图1 YOLOv3-tiny网络结构

    2.2 网络改进

    2.2.1 引入CSP-MobileNetV2模块替换骨干网络部分卷积层

    YOLOv3-tiny骨干网络通过卷积层提取特征,池化层降低维度,网络结构简单且层数较少,导致目标特征提取不充分,火焰检测效果较差。本研究在骨干网络相邻两个池化层之间引入CSP-MobileNetV2模块,替换骨干网络部分卷积层,从而增强网络的特征提取能力,使得深层输出特征图含有更丰富的语义信息。

    CSPNet[15]模块通过对输入特征图进行二分支操作,将特征图分成相同的两个分支,其中一个分支进行后续的卷积激活操作,另外一个分支通过跨层连接与卷积激活后的分支进行通道拼接,实现特征融合。CSPNet采用分支操作实现梯度流分割,通过跨层连接实现多种梯度信息组合,缓解网络训练过程中梯度重复利用问题,降低计算量,提升网络的性能。

    MobileNetV2[16]模块由一个1×1的点卷积和一个深度可分离卷积构成。由于深度卷积无法改变特征图通道数,学习到的特征数受输入通道的限制,因此,MobileNetV2在深度可分离卷积结构之前添加了一个1×1卷积进行通道升维,获取更多的目标特征。MobileNetV2模块类似于倒置的残差模块,深度可分离卷积常用来替换普通卷积,减少参数量和计算量。

    本研究将CSPNet模块与MobileNetV2模块相结合,在满足检测速度的情况下提升了网络的检测性能。图2为CSPNet模块、MobileNetV2模块以及融合后的CSP-MobileNetV2模块结构。

    图2 模块结构

    2.2.2 引入SKNet选核注意力网络

    火焰发生的场景复杂多样且火焰的形状大小各异,复杂的背景信息对火焰目标检测会产生干扰,同时不同尺度的火焰目标在同种大小卷积核的作用下提取的特征信息量差距较大,使得目标特征提取不充分。为了在提高对火焰有用信息关注的同时,使火焰特征提取更充分,本研究在原始网络检测分支输出之前引入选核注意力网络(selective kernel network,SKNet)[17]。SKNet是SENet[18]的改进版,通过对不同大小的卷积核提取到的特征图进行全局池化、激活、加权等操作,加强特征图通道关联的同时实现不同分支特征图的加权分配。SKNet的结构如图3所示,作用过程可分为3个部分。

    图3 选核注意力网络结构

    1) 分支卷积。将输入特征图经过不同大小的卷积核进行卷积操作,得到具有不同感受野的特征图。分支卷积的个数可以有2个到多个。实验表明,在本研究数据集上分支卷积个数为2时检测效果最好,分支卷积的大小分别为3×3和5×5。

    2) 融合。将各卷积分支得到的特征图F1、F2对应位置元素相加得到特征图X′,其中F1、F2以及融合特征图X′的维度与输入特征图尺寸一致,皆为H×W×C(H、W为特征图的高度和宽度,C为通道数)。对特征图X′进行通道维度上的全局平均池化(global average pooling,GAP)得到维度为1×1×C的特征图,再经过两个全连接层进行非线性变换。其中,第一个全连接层进行降维,将特征图降为1×1×d,第二个全连接层将特征图恢复到1×1×C。最后通过softmax函数激活得到两个1×1×C的通道描述符a和b,两个通道描述符对应位置的权重相加等于1,实现不同卷积核输出特征图通道权重的分配。式(1)、(2)、(3)分别表示特征融合操作、全局池化操作、激活归一化操作。

    X′=F1+F2,

    (1)

    (2)

    Z=δ(B(S))。

    (3)

    式(3)中:δ表示RELU激活操作,B表示归一化操作。

    (4)

    2.2.3 插入PPM金字塔池化模块

    通常网络越深感受野越大,而YOLOv3-tiny结构简单,网络层数少,得到的特征图感受野比较小,目标的检测效果不佳。通过加深网络来扩大感受野会增加网络的参数量和计算量,为了兼顾检测速度,同时扩大网络的感受野,捕获更丰富的多尺度上下文信息,提高网络的整体性能,本研究在骨干网络末端加入金字塔池化模块(pyramid pooling module,PPM)[19]。

    PPM通过对输入特征图进行一系列不同大小的池化操作得到具有不同感受野的特征图,将得到的特征图与输入特征图进行空间维度上的拼接融合,实现多级特征信息的融合互补。具体过程为:将输入特征图分别进行1×1、2×2、3×3、6×6大小的池化操作,将池化后的特征图通过1×1的卷积进行通道降维,通道数降为输入特征通道的1/N(N为池化操作个数);
    将降维后的特征图采用双线性插值法,上采样得到输入特征图大小,然后与输入特征图进行空间维度上的拼接,使特征图通道数变为2C;
    最后通过卷积操作将特征图进行特征融合降维,通道数恢复为C,实现从全局到局部多尺度特征信息的充分利用。图4为PPM结构图,图5为改进的网络整体结构图,红色边框部分为改进的区域。

    图4 金字塔池化模块结构

    图5 改进的网络结构

    3.1 实验环境与数据集

    实验环境为Deepin Linux V20系统、NVIDIA GeForce RTX 3080 GPU(10 GB)显卡等硬件条件,结合Python语言和Pytorch深度学习框架进行编程实现。输入图片大小为416×416,网络初始学习率为0.001,权重衰减系数为0.000 5,采用动量梯度下降优化算法,动量值为0.9,batch size设置为32,训练轮数(epoch)为150。

    目前网络上公开的火焰数据集较少且质量不高。本研究通过网络爬虫技术自制火焰数据集,共9 206张图片,其中训练集7 365张,测试集1 841张,训练集图片和测试集图片比例为8∶2。通过Labelimg标注软件将数据集制作成PASCAL VOC格式。数据集图片分布比较广泛,既包含了烛火、火炬、篝火等燃烧稳定、特征明显的火焰,也包含了森林火灾、交通火灾、城市火灾等背景复杂、形状多样的火焰。由于数据集包含的背景复杂多样,火焰燃烧阶段不同且形状不一,检测难度较大。数据集中火焰图片大体可以分为两大类,如表1所示。

    表1 数据集分类

    为了使锚框的大小更符合数据集的目标尺寸,本研究通过K-means聚类分析法[20]重新寻找合适的聚类中心生成适合本数据集的6个锚框,大小分别为(17, 23),(26, 46),(54, 59),(66, 115),(128, 145),(216, 279)。锚框尺寸整体符合自制数据集中目标框的尺寸分布,用来加速算法的训练。

    3.2 评价指标

    实验常用的评价指标为准确率(P)、召回率(R)、平均检测精度(A)、平均精度均值(mAP)以及检测速度(Fps)。以下分别为几个指标的计算式:

    (1)

    (2)

    (3)

    (4)

    式中:T为真正例,表示被预测为正类的正样本;
    FP为假正例,表示被预测为正类的负样本;
    FN为假负例,表示被预测为负类的正样本;
    N为类别个数。本研究只有火焰一类,故采取的评价指标为mAP和Fps。

    3.3 实验结果与分析

    本研究在原网络的基础上,分别对单一改进点、融合两个改进点以及最终网络进行了8个实验,具体实验结果如表2所示。

    表2 消融实验结果

    在本研究自制数据集上,YOLOv3-tiny网络的mAP为80.2%,将CSP-MobileNetV2模块引入到骨干网络后mAP提升2.0%,表明引入CSP-MobileNetV2模块后网络的特征提取能力增强,对火焰的深度特征提取更充分。实验3为引入PPM后的网络性能,与原网络相比mAP提升1.5%,说明多级特征信息融合使火焰信息互补,检测效果更好。实验4为加入SKNet模块后的结果,网络的mAP提升1.8%,该结果表明SKNet模块实现了不同尺度火焰目标对卷积核的自适应选择,对火焰特征提取更充分。实验5~7分别将实验2~4进行两两融合,融合后的mAP分别为83.1%、83.4%、82.9%。实验8为本算法结果,mAP达到84.3%,与YOLOv3-tiny网络相比,mAP提升了4.1%,证明了本算法的有效性。

    图6为实验1与实验8训练过程中平均精度均值曲线对比图。从图6可以看出,随着训练程度的加深两条曲线呈上升趋势,并在100轮左右趋于稳定。最终YOLOv3-tiny的mAP为80.2%,本算法的mAP达到84.3%,整体提升了4.1%。

    图6 实验曲线

    为了进一步验证本算法的有效性,分别从检测精度与检测速度两个方面对比几种常用算法在本研究自制数据集上的表现,结果见表3。

    表3 不同算法实验对比

    如表3所示,在检测精度上,本算法的平均精度均值最高,达到84.3%。与YOLOv3、YOLOv3-tiny、 EfficientDet-D2[21]和YOLOv5m相比分别提高了0.8%、4.1%、7.0%和1.6%。

    在检测速度方面,本算法的Fps为106,相较于YOLOv3、SSD,Fps分别高出53和64,比YOLOv5m、EfficientDet-D2算法分别高出69和46。由于引入模块带来少许的参数量和计算量增加,所以与YOLOv3-tiny、YOLOv4-tiny相比,速度稍微降低,但检测速度依旧满足实时性检测的需求。

    图7为YOLOv3-tiny算法与本算法在训练过程中分类损失与回归损失的对比曲线,图7(a)、7(b)分别表示回归损失和分类损失。

    图7 损失曲线

    在图7中,改进前后算法损失曲线都呈下降趋势。随着训练程度的加深,原算法的回归损失值与分类损失值最终分别稳定在1.1与0.7左右,本算法的回归损失值与分类损失值最终分别稳定在0.9与0.6左右。

    为对比改进前后算法的检测效果,对部分火焰图片进行测试。测试的火灾类型包括夜间城市火灾、森林火灾、汽车起火3种类型。图8(a)为YOLOV3-tiny算法的检测结果,图8(b)为本算法的检测结果。通过检测结果看出,本算法的检测效果整体有所提升,且对原算法漏检的小火焰也有较好的检测效果。

    图8 部分火焰检测图片

    表4为模型改进前后的参数量和训练时间对比。从表4中可以看出,由于CSP-MobileNetV2、SKNet以及PPM等模块的加入,改进后YOLOv3-tiny算法的参数量上升4.5M,导致算法运行时间有所提高,算法处理一张图片的时间为9.4 ms,比原YOLOv3-tiny增加3.8 ms。

    表4 算法参数量及运行时间对比

    本研究提出一种基于YOLOv3-tiny的轻量级火焰检测算法,并利用自制的火焰数据集验证了算法的有效性。通过在骨干网络中加入CSP-MobileNetV2结构,提升了算法对火焰目标的特征提取能力;
    在检测分支输出前加入SKNet,加强了对重要特征的关注,实现了不同尺度火焰目标自主选择合适的卷积核;
    在骨干网络末端加入PPM,实现了多尺度火焰目标特征融合互补,提升了火焰的检测效果。实验结果表明,本算法在自制火焰数据集上相比于原算法,mAP提高了4.1%,Fps为106,检测效果显著提升。

    由于自制的火焰数据集图片数量不够充足,后续需要进一步扩充数据集图片,同时本算法的检测速度只是通过部分样本图片推理计算得出,并未在实际应用中进行测试,且网络训练时间较长,在实验配置上过度依赖高算力的GPU,距离实际的实时检测还有差距。在后续工作中,需要进一步开展实验验证,在不降低准确率的前提下,研究如何缩短算法训练时间。

    猜你喜欢 特征提取火焰卷积 最亮的火焰音乐天地(音乐创作版)(2022年1期)2022-04-26基于3D-Winograd的快速卷积算法设计及FPGA实现北京航空航天大学学报(2021年9期)2021-11-02缤纷的火焰学苑创造·A版(2021年2期)2021-03-11卷积神经网络的分析与设计电子制作(2019年13期)2020-01-14空间目标的ISAR成像及轮廓特征提取北京航空航天大学学报(2019年9期)2019-10-26基于Gazebo仿真环境的ORB特征提取与比对的研究电子制作(2019年15期)2019-08-27基于特征提取的绘本阅读机器人设计方案电子制作(2019年15期)2019-08-27从滤波器理解卷积电子制作(2019年11期)2019-07-04漂在水上的火焰动漫星空(兴趣百科)(2019年5期)2019-05-11基于Daubechies(dbN)的飞行器音频特征提取电子制作(2018年19期)2018-11-14

    相关热词搜索:算法 火焰 检测

    • 范文大全
    • 说说大全
    • 学习资料
    • 语录
    • 生肖
    • 解梦
    • 十二星座