基于图像识别的用电安全检查子系统设计与实现*
2023-11-10刘禹泽潘明明邹华王白根王欧赵骞刘辉舟
刘禹泽,潘明明,邹华,王白根,王欧,赵骞,刘辉舟
(1.北京邮电大学 网络与交换技术国家重点实验室,北京 100876;2.中国电力科学研究院有限公司,北京 100192;3.国网安徽省电力有限公司安庆供电公司,安徽 安庆 246000;4.国网安徽省电力有限公司,安徽 合肥 230061)
0 引言
工业企业价值链是指将原材料转化为最终产品或服务的整个过程,包括从产品设计、原材料采购、生产制造、销售与分销等环节,用电安全检查事关生产制造这个重要环节,保证工业企业价值链正常运作。
2020 年4月,国务院安全生产委员会印发了《全国安全生产专项整治三年行动计划》,明确要求各地区、各企业全面排查现有风险,认真辨识、科学评估,从而制定有效的防控措施。客户安全用电检查服务是政府赋予电网企业的基本职责,国家电网有限公司全面贯彻国务院安委会《全国安全生产专项整治三年行动计划》,进一步提升客户用电安全管理水平,服务客户保障用电安全。
目前,安全用电检查工具无法确保现场人员完整按照标准作业流程对设备、人员、管理安全隐患检查进行全面检查和评价,容易存在管理盲区,难以及时识别风险。主要体现为缺乏智能识别工具,难以实时对现场进行记录、测量及辅助判定。典型如作业人员在现场观察相关设备状态时,出现人工错误,对用电设备存在的安全隐患产生漏判等。
为了解决上述问题,本文拟借助移动终端摄像头的拍摄能力以及后台的处理能力提出一种基于图像识别的用电安全检查子系统。该系统将改变现有安全用电检查的现状,实现安全检查作业现场数据状态与后台实时比对,实现用电安全检查的智能化。
1 相关工作
目前安全用电检查智能监管主要有以下几个主技术:(1)通过安装传感器和智能设备,将用电设备的实时运行数据传输到云端,并通过物联网技术进行实时监测和预警,及时发现异常情况。(2)通过对大量数据进行分析,比如用电设备的历史运行数据、电费数据、异常报警记录等,可以快速发现潜在的安全隐患,并进行预测分析和智能优化。(3)通过机器学习和深度学习等技术,可以对用电设备进行自动化分析和识别,发现设备的异常状态,提高安全监管的精度和效率。
本文将研究计算机视觉领域中的目标检测算法,为指示灯状态的正常与异常情况比对,人员安全帽是否佩戴,是否有火情发生等提供支持。目前目标检测网络主要分为基于区域建议的双阶段目标检测网络与无区域建议的单阶段目标检测方法。Ren 等人提出Faster RCNN[1]模型,在不牺牲检测精度的前提下大大提高检测速度。在Faster R-CNN[1]的启发下,提出了更多双阶段检测模型如R-FCN[2]、Cascade R-CNN[3]、CBNet[4]等,这些检测模型都有识别准确度的增强。Redmon 等提出YOLO[5]模型,在无区域建议的单阶段目标检测有较高性能。Liu 等人提出了SSD[6]模型,提高对于密集场景与小目标的检测识别效果,并提高异常尺度目标的鲁棒性。同时对于训练数据是否带有标签也分为有监督、半监督、无监督方法,Wang K 等人提出伪标签自训练方法[7],该半监督方法有效利用了无标注数据进行训练,从而扩充训练集,提高模型的泛化能力。Jeong J 等人提出对无标注图像计算一致性约束损失[8],该损失有效避免生成图像出现锯齿状、失真、模糊等问题,从而提高生成图像的质量。对于视频处理等任务,Wang L 等人提出TSN[9]网络,通过对视频进行分段处理,实现了较高的计算效率。Zhou 等人在TSN 的基础上提出了TRN[10]网络,可以更好地理解视频中的动作。Lin J 等人的工作致力于轻量级在线视频理解,提出TSM[11]模型结构,通过将时间维度的操作转换为空间维度的操作,提升计算效率。
2 基于图像识别的用电安全隐患识别子系统架构(场景)
该子系统场景为通过摄像头对待检测场景进行图像获取,保存并传输给服务器。服务器在对图像进行目标检测识别之后,将检测结果与现场待检测场景的图像进行比对,按照用电安全的需求进行比较,比对出其中的隐患并提出警告信息,如图1 所示。
图1 系统场景图
3 基于Yolo 的安全隐患识别算法
3.1 算法流程图
基于Yolo 安全隐患识别算法流程图如图2 所示。
图2 安全隐患识别算法流程图
其流程为首先通过摄像头获取图像数据,然后将其传给服务器,服务器先用目标检测Yolo 模块对其进行检测,然后将处理后的目标图像传输到数据提取模块中,数据提取模块定义将通过检测框坐标来进行目标物体定位,在该模块提取物体信息之后,与系统要求物体状态进行比对,将不符合的信息生成警告信息,最后将警告图片发送给客户端。
在目标检测模块中,首先进行了数据预处理。在训练目标检测模型中加入了数据增强,通过将图像翻转、平移、旋转、缩放、添加噪声等方法对图像样本进行了增广补充,这样既弥补了样本量小的缺点,同时还有助于提高目标检测准确度。然后参照Yolo 框架,利用神经网络对样本数据进行训练学习,生成目标检测模型。
3.2 算法网络结构图
系统的目标检测网络结构如图3 所示。
图3 目标检测网络结构
输入图像首先需要经过一个卷积层,将其特征图的分辨率缩小为原始分辨率的一半,同时提取出一些基础特征。
之后网络采用CSP 模块来进行特征提取。CSP 模块的核心是将输入的特征图分为两部分,一部分进行卷积和特征处理,另一部分直接输出。通过这种方式,可以有效地减少模型中的参数数量,并提高模型的计算效率。网络一共使用了3 个CSP 模块。在CSP 模块之后,网络采用SPP 模块来进行特征处理。SPP 模块能够有效地处理特征图中的不同尺度信息,提高模型的检测能力。网络的SPP 模块分别处理了输入特征图的1/8、1/16和1/32 尺度。
最后,通过一个卷积层来输出检测结果。网络中每个检测框需要输出5 个参数:x、y、w、h和置信度分数,同时还需要输出80 个类别的置信度分数。通过使用特殊的损失函数来优化这些参数,从而使得模型能够有效地进行目标检测。
在预测边界框的坐标时,采取相对于网格的坐标,这意味着边界框的坐标值是相对于其所在框的左上角位置计算的。为了使边界框更加准确,还采用了锚点框的选择和多尺度的特征图预测的技术。在对所有的预测框进行筛选时,选择最可能是目标的框,并使用非极大值抑制算法来消除冗余的框。这样就可以得到图像中所有目标的准确位置和种类预测结果。
3.3 检测结果处理
在对比指示灯是否符合安全需求时,首先对现场图片进行指示灯状态检测,获得检测结果后对检测到的全部指示灯进行编号,获取其检测的全部指示灯各自的标注,并根据指定指示灯的具体要求,定位到该指定指示灯处,检测该指定指示灯是否正常开启或关闭,若出现异常则发送警告。例如在图4中,将其从左到右编号为1,2,3,4,此时编号2 和编号4 指示灯亮起,编号1 和编号3 指示灯灭,若此时与指示灯具体要求的亮灭不同,会根据要求进行比对并发送警告。
图4 指示灯训练集图像标注处理
检测目标有三个,一个是对于火情的检测,一个是对于人员是否佩戴头盔的检测,另一个是对于指示灯状态的检测。对于火情的检测,使用开源火情数据集进行训练。对于人员是否佩戴头盔的检测,收集了现场人员的图片作为数据集进行训练。对于指示灯状态的检测,收集了现场指示灯图片作为数据集进行训练。指示灯状态检测结果如图5 所示。
图5 指示灯状态检测结果图
4 系统目标检测实验
使用系统进行火情检测的训练指标结果如图6、图7所示。
图6 火情检测loss 指标图
图7 火情检测mAP 指标图
其中模型的训练集定位损失box_loss 远低于0.04,置信度损失obj_loss 接近0.015,分类损失cls_loss 远低于0.001。验证集定位损失box_loss 为0.045,置信度损失obj_loss 在0.022 之下,分类损失cls_loss 远低于0.001。表示阈值大于0.5 的平均mAP 为0.6。可见模型的火情检测效果良好。
使用系统进行人员头盔检测的训练指标结果如图8、图9 所示。
图8 人员佩戴头盔检测loss 指标图
其中模型的训练集定位损失box_loss 在0.04 之下,置信度损失obj_loss 接近0.060,分类损失cls_loss 远低于0.005。验证集定位损失box_loss 接近0.035,置信度损失obj_loss 在0.060 之下,分类损失cls_loss 为0.002。表示阈值大于0.5 的平均mAP 接近0.93。可见模型的人员佩戴头盔检测效果良好。
使用系统进行指示灯状态检测的训练指标结果如图10、图11 所示。
图10 指示灯状态检测loss 指标图
图11 指示灯状态检测mAP 指标图
其中模型的训练集定位损失box_loss 在0.04 之下,置信度损失obj_loss 在0.015 之下,分类损失cls_loss 远低于0.005。验证集定位损失box_loss 远低于0.04,置信度损失obj_loss 远低于0.015,分类损失cls_loss 远低于0.005。表示阈值大于0.5 的平均mAP 接近0.95。可见模型的指示灯状态检测效果良好。
在实际用电场所中,当不应亮起的指示灯亮起红灯或绿灯时,可以准确判断并发出警告。当应该亮起的指示灯未亮灯时,可以准确判断并发出警告。
使用实际监控图像进行实验,火情监测、人员头盔检测和指示灯状态的平均检测置信度和平均检测执行时间如表1 所示。使用的监控视频数据包含从2022 年12 月1 日到2022 年12 月30 日的图像数据。
表1 检测平均置信度和平均执行时间
5 结论
目前的目标检测模型可以为公司提供安全自动监测技术支持,通过监控图像检测火情、人员是否佩戴头盔以及指示灯状态是否异常,为公司监管人员提供方便快捷的监管手段,以便更迅速地发现安全隐患并第一时间防止危害发生。
本文应用实现了监控图像分析系统,该系统通过基于Yolo 的目标检测网络进行火情、人员头盔以及指示灯状态的训练与学习,通过真实现场场景作为训练数据集提升了检测准确率。
未来的改进方向可以关注监控图像中玻璃反光的情况,这种图像遮挡对于本算法的识别造成影响,一种可能的解决手段是利用闪光图像进行辅助区别图像中的反光部分和非反光部分。闪光图像是一种针对原图像反光部分进行闪光灯补偿再次取景,并通过新产生的闪光图片对原图片进行影响,在此进行举例说明。两个物体,一个是玻璃前的红色物体,另一个是玻璃后的蓝色物体,在原图片中,得到了环境光影响下的蓝物体和红物体图片。如果加上只对蓝物体进行照射的闪光灯,那么就会获得环境光影响下的蓝物体,红物体和闪光灯影响下蓝色物体的图片。当后者减去前者后,就只剩下了闪光灯影响下的蓝色物体,也就从理论上消除了玻璃反光的影响。但是这个用于实际时,效果一般。由于计算机视觉技术中去反光方向研究还不是很深入,因此这里仅仅提出一个解决思路。
总之,基于Yolo 的目标检测算法是检测监控图像中的安全隐患的最佳选择之一,监管人员和公司都可以从中受益,并能提高安全质量。