- DOI:
10.13738/j.cnki.acc.qklw60536
- 专辑:
科学Ⅰ辑;信息科技
- 专题:
信息、科学;综合科技
- 分类号:
G90;N92
摘要:随着图像识别技术和人工智能的不断发展,基于深度学习算法,能够实现高精度的抽烟识别,但是对于一些复杂的场景,如室外环境、动态人物等,抽烟行为识别监测系统的准确率可能会受到影响。此外,抽烟行为识别监测系统的实时性、鲁棒性等方面也需要进一步提高。本文设计一种基于YOLOv5算法抽烟行为识别监测系统,在实现抽烟识别方面具有实时性、高精度、多尺度特征融合等优势。
关键词:VOLOv5算法;抽烟行为识别;深度学习算法
0 引言
据统计全国每年的火灾中有10%以上是吸烟引发的。据上海、北京、江苏等省市统计,抽烟不慎引起的火灾占10—20%,在各种火灾原因中居第3位。抽烟行为对于一些公共场合来说是一种严重的违规行为,可能带来健康和安全隐患,为了建立无烟环境并及时干预抽烟行为。
本文设计的基于YOLOv5网络框架模型的抽烟行为识别监测系统利用监控摄像头采集图像,并对采集图像信进行监测,从而及时针对抽烟行为进行自动预警,确保在禁止抽烟的公共区域进行管控。
1 抽烟行为识别监测系统结构设计
本文研究的基于YOLOv5算法抽烟行为识别监测系统主要包含一下几个模块:
电源模块,主要为摄像头进行数据采集、数据预处理边缘计算CPU、数据传输模块进行供电,输入电压为直流12V或24V,输出电压为直流12V或24V,功率为10W到30W之间,为了确保摄像头的稳定运行,需要抑制电源纹波。一般要求电源模块的纹波系数小于5%。
数据采集模块,采用高像素摄像机设计采集的参数和要求,如图像的分辨率、色彩空间、帧率等。同时还需要确定采集的地点、时间和频率等,完成现场视频及图像的采集。
数据预处理模块,在计数据采集装置前段增加边缘处理芯片,对采集到的图片进行预处理,例如去噪、增强等操作。
数据传输模块,将数据预处理模块后的图像采用TCP/IP、UDP方式实时传输至服务端。
数据处理模块,对图像进行处理,监测抽烟行为进行自动标注。
抽烟识别预警模块,对监测到的抽烟行为进行预警,预警内容包括时间、地点及告警。图1为系统结构设计图
图1 抽烟行为识别监测系统结构设计图
2 抽烟行为识别监测系统网络拓扑设计
抽烟行为识别监测系统采用层次式拓扑设计,与其他网络拓扑相比,层次式拓扑图具有以下优点:
(1)分层设计:层次式拓扑图将网络分为不同的层次,每个层次负责不同的功能,使得网络结构更加清晰、易于管理和维护。
(2)扩展性:层次式拓扑图具有良好的扩展性,可以方便地增加新的层次和设备,支持大规模网络建设。
(3)性能优化:层次式拓扑图可以更好地支持多业务、多协议和多用户环境,实现网络性能优化。
(4)可靠性高:层次式拓扑图中的每个节点都有多个连接,提高了网络的可靠性和稳定性。
(5)易于管理:层次式拓扑图使得网络设备的配置和管理更加简单、直观。
层次式拓扑设计主要包括核心层、汇聚层、和接入层,图2为抽烟行为识别监测系统网络拓扑图。
核心层是网络拓扑中的最高层次,负责高速数据传输,连接不同的汇聚层设备。核心层的功能主要是实现骨干网络之间的优化传输,骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输。
汇聚层位于网络的中间层次,负责处理和分发来自接入层的数据,并将其发送到核心层。汇聚层的设备通常需要有更高的处理能力,因为它们需要进行更复杂的决策,例如基于网络策略的路由选择。此外,汇聚层也是实施安全策略和服务质量(QoS)控制的地方。
接入层是网络拓扑的最低层次,负责用户设备的接入网络,包括有线和无线方式。接入层允许用户设备连接到网络,并提供了基本的网络服务。
图2 抽烟行为识别监测系统网络拓扑图
3 YOLOv5算法及实现
3.1 YOLOv5原理
YOLOv5是Alexey Bochkovskiy团队基于最新的深度学习研究成果和技术进行研发的一种轻量级目标检测算法,该算法在mAP精度上得到了优化和提升,并且相比前代产品,在速度和准确性上也得到大幅度提高。图3 YOLOv5网络框架图
图3 YOLOv5网络框架图
YOLOv5基于中等大小的模型,代号为YOLOv5m,其结构大致可分为四个部分:
Backbone:由CSPDarknet53构成,卷积层和池化层交替组成。
Neck:由SPP、PANet和FPN等构成,使用跨级特征融合加强深层语义信息的表示能力。
Head:由YOLOv5头构成,乘以掩码的预测特征图通过卷积层输出最终的检测结果。
Postprocessing:对检测结果进行后期处理,剔除重复的边框,根据类别置信度筛选边框,输出最终的检测结果。
3.2算法实现
Mosaic数据增强
Mosaic数据增强技术采用了四张图片的随机缩放、随机剪裁、随机排布的方式对数据进行拼接,相比CutMix数据增强多用了两张图片。在目标识别过程中,要识别的目标有大目标、中等目标、小目标,并目三种目标的占比例不均衡,其中,小目标的数量是最多的,但是出现的频率很低,这种情况就会导致在bo时对小目标的优化不足,模型正确识别小目标的难度比识别中、大目标的难度要大很多,于是对于小目标来说很容易出现误检和漏检的情况。Mosaic数据增强技术做出改进后,上述的问题得到有效的解决。该技术的优点是:
(1)丰富了数据集,采用“三个随机”的方式对数据进行拼接丰富了检测的数据集,尤其是随机缩放增加了很多小目标,克服了小目标的不足,让网络的鲁棒性得到提高;
(2)减少GPU的使用,在Mosaic增强训练时,四张图片拼接在一起,GPU可以直接计算网张图片的数据,让Min-batch的大小减少了很多,这使得一个GPU就可以达到比较可观的效果。
自适应anchor
自适应anchor是check_anchors函数通过遗传算法与Kmeans送代算出的最大可能召回率的anchor组合。在网络模型的训练过程中,网络在初始化的锚框的基础上输出预测框,然后与真实groundtruth进行对比,计算两个框之间的差值,再根据差值进行反向更新,迭代网络参数,最后求出最佳的锚框值。自适应的anchor能够更好地配合网络训练,提高模型的精度,减少对anchor的设计难度,具有很好的实用性
Focus结构
该结构采用切片操作,将特征切片成四份,每一份将当成下采样的特征,然后在channe/维度进行cncat。例如如:原始6086083的数据图片,经过切片操作先变成30430412的特征图,再经过一次32个卷积核的卷积操作,变成30430432的特征图。
CSP结构
YOLOV5中的CSP151结构应用于两处,一处是CSP1_X结构应用于Backbone的主干网络中,另一处的CSP2 X结构应用于Neck中,用于加强网络的特征融合的能力。CSPNet主要从网络结构设计的角度解决推理中从计算量很大的问题。该结构的优点有:1增强CNN的学习能力,使得模型在轻量化的同时保持较高的准确性;2)减低计算的瓶颈问题:3)减低内存的分险
PFN+PAN结构
这个结构是FPN和PAN的联合。FPN是自顶向下的,将高层的特征信息通过上采样的方式进行传递融合,得到进行预测的特征图,而PAN正好与FPN的方向是相反的方向,它是自底向上地采取特征信息,两个结构各自从不同的主干层对不同的检测层进行参数聚合。两个结构的强强联合让得到的特征图的特征更加明显和清楚。
Bounding box的损失函数
Bounding box损失函数增加了相交尺度的衡量方式,有效缓解了当两个不相交和两个框大小完全相同的两种特殊情况。因为当预测框和目标框不相交时,10U=0,无法反应两个框距离的远近的时候,此时的损失函数不可导,两个框大小完全相同,两个IOU也相同,OU LOSS无法区分以上两种特殊情况.
nms非极大值抑制
在目标检测过程的后续处理中,对于大量的目标框的筛选问题,通常会进行nms操作,以此来达到一个不错的效果。Y0-LOV5算法同样采用了加权的nms操作。
3.3 部分代码
import cv2
import torch
import numpy as np
from yolo5 import YOLOv5
# 加载模型
model = YOLOv5()
model.load_state_dict(torch.load('yolov5s.pth'))
model.eval()
# 加载分类标签
with open('coco.names', 'r') as f:
classes = [line.strip() for line in f.readlines()]
# 加载图像
img = cv2.imread('test.jpg')
img = cv2.resize(img, (640, 480))
# 检测目标
results = model(img)
boxes = results[0]
scores = results[1]
indices = results[2]
# 过滤掉置信度较低的框
conf_thresh = 0.5
keep = np.where(scores > conf_thresh)[0]
boxes = boxes[keep]
scores = scores[keep]
indices = indices[keep]
# 绘制框和标签
for i in range(len(boxes)):
x1, y1, x2, y2 = boxes[i]
label = f'{classes[indices[i]]}: {scores[i]:.2f}'
cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.putText(img,label,(x1,y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# 显示结果图像
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
首先加载YOLOv5模型和分类标签,然后加载测试图像并进行目标检测。接下来,我们过滤掉置信度较低的框,并绘制剩余的框和标签。最后,显示结果图像,
4 总结
抽烟行为识别监测系统的研究对于保障公共安全、提高监管效率、数据采集与分析、智能化发展以及医学研究等方面都具有重要的意义。随着人工智能和图像识别技术的不断发展,抽烟行为识别监测系统的研究也将不断深入和应用,为人们的生活和工作带来更多的便利和安全保障。
参考文献:
[1]汤永华,石非凡,林森等.基于融合非局部操作的YOLOv5s高密度锦鲤鱼苗检测方法[J/OL].浙江农业学报,1-20[2024-03-24].http://kns.cnki.net/kcms/detail/33.1151.S.20240322.1324.002.html.
[2]王媛彬,韦思雄,吴华英等.基于改进YOLOv5s的矿井下安全帽佩戴检测算法[J/OL].煤炭科学技术,1-11[2024-03-24].http://kns.cnki.net/kcms/detail/11.2402.TD.20240322.1607.005.html.
[3]义凯.基于优化YOLOv5s的道路场景车辆检测算法研究[J].机械工程与自动化,2024,(02):15-17.
[4]张昕楠,李颖,郝涌汀等.基于改进YOLOv5的轴类零件表面缺陷检测算法[J].组合机床与自动化加工技术,2024,(03):168-171+176.DOI:10.13462/j.cnki.mmtamt.2024.03.036.
[5]孙召飞,俞经虎,朱行飞等.基于改进YOLOv5s的口腔全景片牙齿病症识别算法[J/OL].中国激光,1-14[2024-03-24].http://kns.cnki.net/kcms/detail/31.1339.TN.20240314.0905.089.html.
[6]侯艳林,艾尔肯·亥木都拉,李贺南.基于改进YOLOv5s的田间移动障碍物检测[J].现代电子技术,2024,47(06):171-178.DOI:10.16652/j.issn.1004-373x.2024.06.028.
[7]赵怡豪,刘勇,岳仁峰等.基于改进YOLOv5模型的智能立体车库结构裂缝识别算法研究[J].信息系统工程,2024,(03):134-137.
[8]李梓铭,石振威,徐海文等.基于深度学习的林火烟雾识别系统设计[J].中南林业调查规划,2023,42(03):36-40.DOI:10.16166/j.cnki.cn43-1095.2023.03.009.
[9]崔振伟,高玲,苏洪全等.面向炼化场景的烟雾火焰识别技术[J].中国石油和化工标准与质量,2023,43(15):183-186+189.
[10]蒲建飞,魏维,吴帝勇等.基于烟雾区域和轻量化模型的视频烟雾检测[J].成都信息工程大学学报,2023,38(03):281-290.DOI:10.16836/j.cnki.jcuit.2023.03.006.
[11]霍一诺.基于静态特征强化与时空特征融合的视频火灾烟雾探测方法研究[D].中国科学技术大学,2023.DOI:10.27517/d.cnki.gzkju.2023.000569.
[12]张政.基于深度学习的烟雾山火定位与识别研究[D].华北电力大学(北京),2023.DOI:10.27140/d.cnki.ghbbu.2023.001328.
[13]王凯华.基于机器学习的森林火灾烟雾遥感识别研究[D].吉林大学,2023.DOI:10.27162/d.cnki.gjlin.2023.005070.
[14]张玉强,张渊鑫.烟雾特征融合的火灾识别方法研究[J].延安大学学报(自然科学版),2023,42(01):7-13.DOI:10.13876/J.cnki.ydnse.220127.
相关文献推荐
- 节点文献
- 读者推荐
- 相关基金文献
- 关联作者
- 相关视频
- 批量下載
