基于改进YOLOv5s的船上火灾检测算法

2023-12-02 09:32刘飞跃沈靖夫杨一帆许之远张元良
电脑知识与技术 2023年29期
关键词:池化火焰火灾

刘飞跃,沈靖夫,杨一帆,许之远,张元良

(江苏海洋大学海洋工程学院,江苏连云港 222005)

0 引言

船舶上火灾事故是海上主要事故类型之一,据统计船舶火灾事故约占船舶总事故的12%。海上船只一旦发生火灾往往会带来很大的人员伤亡和财产损失[1]。火灾产生时往往伴随着高温、高热量、大量烟雾等现象。传统的火灾检测主要通过布置传感器进行监测,如:感光型、感温型、感烟型等传感器类型。但是火灾刚发生时往往目标很小,蔓延到一定程度才能被这些传感器检测到[2],所以传统方法响应时间过长,不能在第一时间检测到火灾的发生。

随着近年来计算机的算力飞速发展,深度学习逐渐应用于各个行业,在基于图像的目标检测、目标分类等领域均应用良多。相较于传统的传感器火灾检测系统,基于图像的检测系统因为可以与监视器和网络互联,具有响应快、处理迅速等特点,有利于更快发现火灾情况以便于及时作出应对。

在众多目标检测的算法中YOLO[3]算法凭借着模型小、效率高、可以部署在移动端等优势脱颖而出。Wu[4]等人提出了适应于部署在移动设备的轻量化网络tiny-YOLO。Wang[5]等人提出改进的Tiny-YOLOv3算法,其生成的模型的尺寸比原模型更小,性能比原模型更优。Xie[6]等人通过在YOLOv4 中改进候选框,增加通道注意力机制来提高火焰识别精度。Wang[7]等人提出将YOLOv5的三输出改为四输出来提高小目标检测的精度与特征融合能力。Li[8]通过提出Grow up 数据增强算法来进行数据集处理,并基于YOLOv4提出了SF-YOLO,使用Ghost 卷积替代普通卷积模块设计了轻量型GSF-YOLO 算法。Zhang[9]等人通过引入焦点损失函数,结合火焰静态和动态两种特征设计出多特征的融合方法,从而降低误报火焰的目的。

为了适应船上复杂的空间情况,本文在基础的火焰数据集上增加了船上和仓库的起火照片,同时为使算法可以部署在设备上,尽量采用轻量化的模型,在此模型基础上提高精度。本文基于YOLOv5网络进行改进,选用的是小尺度的s 模型,满足轻量化的条件。旨在通过优化后的网络尽可能又快又准地检测到火焰,配合警报器第一时间提醒工作人员,在火灾造成不可逆局面之前及时处理。

1 YOLOv5网络模型基本结构

YOLOv5 网络通过模块中的宽度和深度的差别,区分出s、m、l、x 四种主要版本。除了宽度和深度之外,四种版本网络模型完全一致。此网络模型由四个部分组成:输入(Input) ,主干网络(Backbone),颈部(Neck),和预测头(Head)。相较于YOLOv5 之前的版本,YOLOv5v6.0把Foucs层换成了6×6的卷积层,采用卷积层的效果不变,且更适应相应的优化算法。还将空间金字塔池化(SPP)换成速度更快的空间金字塔池化(SPPF)。本文采用基础网络结构是YOLOv5s6.0 版本,网络模型结构如图1所示。

图1 YOLOv5 网络模型结构图

2 对YOLOv5网络的改进

2.1 增加坐标注意力机制

Hou[10]等在2021 年中提出了坐标注意力(Coordinate attention,CA)。编码过程如图2。该注意力机制将位置信息嵌入到通道注意力中,将通道注意力机制划分为两个一维的特征编码的过程,分别沿两个空间方向聚合特征,一个方向获取空间方向的远程依赖关系,另一个方向保存精确的位置信息。

图2 CA编码过程

本文标签位置分布如图3,可以看出样本检测框尺度并不均衡。为此加入CA模块以增强网络的全局感受野以及对目标的精确定位能力,来适应本文不均衡的图像标注尺度。全局平均池化主要用于通道注意力对全局空间信息进行的编码。因为需要将全局空间信息压缩到通道中,所以很难保留位置信息。

图3 标签位置分布

CA 为了保存更多的位置信息,分别对水平和垂直两个方向进行编码。给定输入X 后,使用(H,1) 和(1,W) 的池化核分别对x,y 方向进行平均池化。Zc表示第c 个通道的输出。zhc表示高度h 的第c 个通道的输出,式(1)如下:

相较于之前没有划分x,y 方向的池化,划分后既可以帮助我们沿着一个方向获得远程依赖关系,还可以保留这个方向的位置信息,有助于注意力可以更快速更准确地找到感兴趣的地方。

2.2 改进特征金字塔

信息在神经网络中的传递方式非常重要,YOLOv5 采用的是路径聚合网网络(PANet)[11]。该方法采用了双向融合,通过由下向上的路径增强,利用准确的低层定位信号来增强整个特征层次,进而缩短底层与顶层的信息路径。

本文采用了更为复杂的加权双向特征金字塔(BiFPN)[12]。该网络在PANet 的特征融合的基础上增加横向连接,做到了在不增加成本的条件下进行更多的特征融合,且在输出之后进行模块重复从而获取更多的特征,网络结构见图4。BiFPN 集成了双向跨尺度连接和快速归一化融合,可以获取更大感受野和更丰富的语义信息,特别是小目标检测的浅层特征,满足火焰检测时效性的要求。

图4

2.3 优化损失函数

在目标检测的过程中,边界框回归在目标定位的过程中有着十分重要的作用。在YOLO v5 6.0版本中边界框回归损失函数采用的是CIOU[13]。CIOU考虑了预测框和真实框的重叠面积,还有其中心点距离和高与宽的纵横比,该损失函数已经非常符合真实框的情况。但是由于只是考虑了纵横比的差异,并不是宽和高分别与其置信度的真实差异,所以在某些特殊情况下会阻碍模型优化。对此有学者提出EIOU[14],它明确地衡量了边界框回归(bounding box regression,BBR)中三个几何因素的差异,即重叠区域、中心点和边长。并提出了一个回归版本的焦点损失,使回归过程专注于高质量的锚框。该损失函数可以实现提高收敛速度和定位精度的明显优势。

EIOU 的计算公式见式(3),其中b,bgt表示预测框和真实框的中心点,ρ表示的是两中心点之间的欧氏距离,wc,hc分别是覆盖两个box的最小外接框的宽度和高度,w,h,wgt,hgt分别为预测框的和真实框的宽高。

3 实验结果及分析

3.1 数据集的获取标注及划分

本次实验数据集主要来源是网上搜集的船上失火视频进行截取的图片。由于此类照片的数据量不大,还采用环境条件相似的照片如厂房、车厢等起火照片组成本文数据集1500 张图片。使用LabelImg 软件手工进行标注,标注后存取信息的是YOLO 格式的txt文件。在进行训练前对数据集进行训练集、测试集和验证集的分组。

3.2 实验环境和评价指标

本文实验使用PyTorch 深度学习框架,编译语言为Python3.8,训练环境为CUDA 11.1,GPU 为NVIDIA RTX3070 Laptop,最小训练批次为32,训练100 个周期。

实验结果由精确率(P) 、召回率(R) 、平均精度(AP)和平均精度均值(mAP)作为评价指标,计算过程见式(4)~(7)。其中,P表示模型预测为正的样本中为正的概率,R 表示真正为正的样本被成功预测的概率,AP 表示不同召回率下的平均检测精度,n 表示数据集中的类别数量,mAP表示多个类别的AP的均值,因为本文是对火焰进行的单目标检测,所以用AP 表示mAP即可。

其中,TP(True Positive)表示正确的预测正样本,FP(False Positive)表示错误的把负样本预测为正,FN(False Negative)表示错误的预测为负样本。

3.3 实验结果

首先观察原YOLO 网络和添加了CA 之后的训练结果对比。如图5所示,虚线是未做修改结果,实线是添加CA后的结果。可以看出修改后网络虽然在前三十轮收敛的速度没有原网络迅速,但是原网络结构在训练40轮之后原模型有上升趋势,而增加CA的网络逐渐稳定在0.016左右。

图5 增加CA结构前后置信度损失对比

图6 舱内、舱外和仓库的照片

为了更好地验证对比实验结果,本文设计了四组实验,分别是未修改的YOLOv5、增加CA、增加BiFPN、修改损失函数为EIOU。这四组实验除了网络结构不同,其余配置完全相同。测试结果如表1所示。

表1 实验结果

从表1中可以看出,在进行网络改进时,每一步改进都有一定的优化作用。最终的结果对比未修改的YOLOv5,精度增加了6.1%,召回率增加了2.4%,平均精度增加了3%。可以看出优化后的网络对于精度提升得非常明显,但是对于召回率和平均精度的改善不是特别显著。

为了更直观地感受上述实验的结果,抽取了舱内、舱外和仓库的照片分别对每一种网络进行测试,可以看出优化后的网络对于火焰的识别精度有着不少的提升,对于舱外这种低画质的照片尤为显著。

4 结论

本文为了适应船上遮挡物多、画质不高的特殊环境,在网络结构上增加了CA 模块以获取图片中更多的信息,增强了本文算法对目标定位的精度。采用BiFPN 结构来进行多尺度特征融合。损失函数改用EIOU 解决了纵横比的模糊定义,加速了预测框的收敛,提高了预测框的回归精度。下一步需要扩大船上火焰的数据,在增加精度的同时进行轻量化优化,以保证更好地部署算法。

猜你喜欢
池化火焰火灾
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
最亮的火焰
卷积神经网络中的自适应加权池化
缤纷的火焰
漂在水上的火焰
基于卷积神经网络和池化算法的表情识别研究
吹不灭的火焰
掌握火灾逃生知识
离奇的火灾