贾金明,宋焕生,梁浩翔,云 旭,戴 喆
(长安大学 信息工程学院,西安 710064)
目前工业生产设备缺乏巡检人员定期维护、排查异常现象和隐患,导致设备频繁损坏,造成巨大的损失.因此完整的巡检过程监控分析在巡检人员对设备维护管理中起着重要的作用.工业现场巡检过程监控分析是未来人工智能的一个重要研究领域,也是计算机视觉中的一个热门研究课题.工业现场巡检过程监控分析是对工业生产场景巡检过程视频中巡检人员的行为进行监控与分析,判断其行为是否符合规范与标准.现有的行为监控分析方法主要分为基于视频和图像两种方式.其中基于视频的行为监控分析方法使用视频序列之间的时空、姿态等信息做处理.根据实现方式不同,主要分为基于马尔可夫链状态转移图[1],基于模板匹配[2]与基于深度学习的方法.而基于图像的行为监控分析方法则分别判断每一帧图像中人员的行为状态信息,此方法并未结合视频的时空信息进行综合分析.本文根据先前的研究,设计了基于计算机视觉的工业现场巡检过程监控分析系统.
巡检过程监控分析系统包含对场景下人员的检测,随着深度学习技术[3]的飞速发展,卷积神经网络在计算机视觉领域的应用更加广泛,目标检测作为计算机视觉领域的研究热点之一,已经应用于军用、民用各个领域,包括智能交通[4,5]、智能监控[6–8]、图像分割[9,10]等,其中智能监控下的人员检测[11,12]取得了巨大的成功.首先提出的目标检测[13]方法是两级目标检测算法,其中R-CNN[10]由Girshick 等在2014年提出,该算法首次将卷积神经网络应用于目标检测.同年SPP-Net被提出[12],其可对整张图像仅进行一次卷积操作,避免了R-CNN 中对所有候选区域分别提取特征的重复操作.接着Fast R-CNN[14]仿照SPP-Net 在R-CNN 的基础上进行了改进,提高了检测精度和速度.2016年,Ren等提出了Faster R-CNN[15],真正实现了网络的端到端训练.随后出现的R-FCN 沿用Faster R-CNN 的框架,使用全卷积神经网络,但是计算量仍较大,针对此情况出现了Mask R-CNN[16]网络,实现了对实例的分割.2016年,Redmon 等深入分析目标检测算法速度差的原因,提出了一级目标检测算法YOLOv1[17].YOLOv1使用网格预测的形式代替生成候选区域网络,提高了网络的检测速度.YOLOv2 在YOLOv1 的基础上进行改进,引入批量归一化操作.YOLOv3[18]继续改进,增加了多尺度预测方法,可以得到较高的检测精度.
巡检人员在进入本文所述巡检系统前,首先需经过一套人脸识别系统,以保证进入巡检系统的人员唯一性.由于该系统并不属于本文重点研究内容,因此文章内部不进行讨论.如图1所示,本系统将多相机下的实时视频流数据通过RTSP 协议传输至服务器,读取巡检路线中每个相机视角下的单帧图像进行巡检预设置.巡检预设置结束后,将视频流数据输入深度学习网络中进行人员检测.对巡检人员行为进行分析,得到人员实时位置信息并记录,分析记录结果进行干扰的剔除以及评估结果的获取,获取的评估结果包括实际巡检路线,巡检路线完成度,每个巡检区域对应的实际巡检时长,巡检区域完成度与巡检总完成度.最后将评估结果与通过分析结果得出的巡检事件存储并在网页端发布与显示.
图1 系统结构
本系统的特色及优势有以下几个方面:
(1)系统使用YOLOv3 网络进行人员的检测,检测精度高且速度快,对复杂多变的实际环境检测能力强.
(2)系统设计了一种基于人员检测结果的巡检人员行为分析算法,该算法可以同时绑定多相机下的多个巡检区域,算法精度高、速度快且有效地剔除了干扰.
(3)系统采用数据库存储模式对数据进行存储,并将图像压缩编码成Base64 的形式快速通信,减少了网络传输量.
(4)系统包含一套完整的人机交互界面与可以长期稳定运行的系统,操作方便快捷.
如图2所示,n为巡检路线所包含的相机总数,为巡检路线下的巡检区域总数.本系统首先要进行相机名称的绑定,绑定结果如图2中Camera 1,Camera 2,…,Cameran所示,并对应相机进行巡检预设置.系统调用相机读取当前待配置相机下的图像作为巡检预设置背景,通过本系统设计的人机交互界面进行巡检区域的绘制,将巡检区域位置信息保存至数据库,区域绘制结果如图2中Area 1,Area 2,…,Area (m+ 1)所示.随后对应巡检区域设置最小逗留时长,并保存至数据库中,结果如图2中Stay time 1,Stay time 2,…,Stay time (m+ 1)所示.再配置巡检路线下的相机顺序,根据配置的相机顺序以及绘制各个相机下的巡检区域顺序进行整体巡检区域顺序的自动更新,将结果保存至数据库.最后按照巡检区域顺序进行相邻巡检区域之间行进时长的设置,设置结果保存至数据库中,结果如图2中Travel time 1,Travel time 2,…,Travel time (m+ 1)所示.
图2 巡检预设置说明图
本系统中对于人员的检测,选择采用COCO 数据集训练YOLOv3 网络进行人员检测,以实现快速准确地判断出人员的位置信息.COCO 数据集中采用海量数据和标签的训练结果作为主干的卷积神经网络,部分人员样本如图3所示.
图3 COCO 数据集中的人员样本
本系统采用的端到端目标检测算法YOLOv3[19]将人员检测问题转化成一个回归性问题.给定一张输入图像,它能够直接在多个位置上回归出人员的边界框.本目标检测算法不仅能保证实时性,也能保证系统的准确性.
系统首先将视频流数据通过多线程的方式输入深度学习网络中得到人员检测结果,将此结果进行行为分析.首先当系统并未开启巡检监测时,当相机场景下出现人员则系统报该巡检路线有人员闯入事件产生;当系统开启巡检监测时,首先判断人员是否在巡检区域内以及所在巡检区域编号.判断示意图如图4所示.
图4 人员位置判断示意图
图4中am1为巡检区域m左上角x坐标,bm1为巡检区域m左上角y坐标,am2为巡检区域m右下角x坐标,bm2为巡检区域m右下角y坐标.xk为人员检测框k左上角x坐标,yk为深度学习人员检测框k左上角y坐标,wk为深度学习人员检测框k宽度,hk为深度学习人员检测框k高度.
人员位置判断方法如式(1)、式(2)所示,式中k为人员检测框序号,检测框与人员一一对应,m为巡检区域序号.当同时满足式(1)和式(2)的时候,人员k处于巡检区域m内.
将满足式(1)、式(2)的人员检测结果输入行为分析算法中进行干扰排除以及最终巡检行为分析结果的获取.假设有一条巡检路线包含5 个巡检区域,经深度学习人员检测并分析人员位置结果,结果信息送入巡检人员行为分析算法进行处理,输入信息如图5所示.图5中每个点代表某时刻在某位置检测到人员.当同一时刻有两个或者两个以上区域同时出现信息点的时候,代表同一时刻多个区域同时有人的出现,则先保存此刻数据,假设信息连续次数小于某一给定阈值v=4时则认为此处为干扰,进行筛选排除,如图中三角形点所示,三角形点为干扰信息.并且由于从一个区域行至下一区域至少需要某一时间,所以当从某一区域离开再出现至下一区域时小于此时间,则认为是外来干扰,需要排除,如图中正方形点所示,正方形点也为干扰信息.
图5 行为分析算法示意图
排除干扰信息后得到正确信息,如图5所示圆点为正确巡检信息,并且由图可得知巡检正确路线及每个巡检区域真实逗留时长.假设区域1 到区域5 最短逗留时长依次为T1,T2,T3,T4,T5.如图所示区域1 到区域5 实际逗留时长依次为t1−t0,t3−t2,t5−t4,t7−t6,t9−t8.则各巡检区域完成度及巡检区域总完成度如式(3)、式(4)所示.
式(3)中,cm代表第m个巡检区域的巡检区域完成度,式(4)中C代表巡检区域总完成度,Tm代表巡检区域m最短逗留时长,Sm代 表巡检区域总数,m为1,2,3,4,5.
如图5假设正确巡检路线为1 至5,实际巡检路线为r1,r2,r3,r4,r5,则采用式(5)、式(6)进行巡检路线总完成度P的计算.
假设巡检总完成度S中巡检区域总完成度所占评估权重为l1,巡检路线总完成度所占权重为l2.则该巡检总完成度计算方法如式(7)所示.
最后根据计算结果进行巡检事件判断,判断算法如下所示.当满足cm<1时,第rm巡检区域不合格,生成区域逗留不合格事件;当满足P<1时候,该巡检路线不合格,生成巡检路线不合格事件.根据S的值可以评判本次巡检情况,本文所使用评价指标为,当满足S<0.85时,本次巡检情况差;当满足 0.85≤S<1时,本次巡检情况良好;当满足S=1时,本次巡检情况优异,即巡检合格完成.
2.4.1 数据存储
数据的存储过程采用一组可以完成特定功能的SQL[20]语句集,经编译后存储进数据库,最终用户可以通过指定存储过程的名称来进行调用.这个过程可以看作是对编程中面向对象方法的模拟.本系统数据库中所存储信息如图6所示.图6(a)所示为巡检区域预设置存储信息.图6(b)所示巡检人员行为分析结果存储信息.
图6 数据库存储信息示意图
2.4.2 数据的传输与发布
本系统采用HTTP 协议将数据库存储如图6(b)所示结果进行传输发布.信息传输及发布过程展示如图7所示,在进行数据的传输时,客户向服务器请求服务只需请求方法和路径,通信简单快速,且允许传输任意类型的数据对象.客户机和服务器之间通信不需要建立持久的连接,节省了传输时间.如图7所示网页端可以向服务器端传输相机与算法的开关信号,服务端接收信号后进行相应的操作处理.服务端向网页端传输巡检行为分析结果及巡检事件信息,巡检事件信息包含巡检过程中所产生巡检事件的类型、巡检事件产生时间及巡检事件证据信息,借此可以获知该巡检过程具体行为信息.其中巡检事件中的证据图片在进行HTTP传输之前,先进行Base64 编码压缩,将压缩信息传输,这样可以节约网络资源,网页端接收到信息后进行Base64 解码,还原出证据图片显示.巡检行为分析结果信息可以直观评估该巡检过程.数据传输结果在服务器网页端进行发布.
图7 信息传输及发布过程示意图
本实验所采用的服务器硬件CPU 为Intel(R)Core(TM)i7-8700K,显卡使用NVIDIA GTX1080Ti,摄像头使用TL-IPC42A-4,分辨率为1080 P,采集频率15 帧/秒,交换机使用华为S1724G-AC 24 口千兆交换机,网线使用千兆CAT6 类网线.本系统软件采用QT、OpenCV、Microsoft SQL Server Management Studio 等相关软件环境.本实验在A、B 两个场景中进行测试,每个场景下都有5 段相互独立的巡检视频.场景B 较场景A 实验环境更为复杂,尤其在光照条件,遮挡情况有明显的区分,场景具体信息如表1所示.下述实验中所采用的视频数据皆为相同数据源文件.
3.2.1 人员检测实验
如表2所示,本实验通过获取在A、B 两个场景下采用YOLOv3 目标检测算法进行人员检测的结果与实际人员总数进行对比得出算法检测准确率进行评估.实验得出场景A 的平均检测准确率为93.16%,场景B 的平均检测准确率为90.94%.由于场景B 环境较场景A 环境更为复杂,因此在场景B 下YOLOv3 平均检测准确率低于场景A 下的平均检测准确率.尽管如此,实验中场景B 仍然拥有90.94%的平均检测准确率,因此本文所提出的人员检测方法可以满足实际场景中人员检测的应用.
表1 实验场景信息
3.2.2 巡检检测实验
如表3所示,本实验将在场景A 和场景B 下的YOLOv3 人员检测结果的基础上对本系统提出的巡检人员行为分析算法进行测试,将分析结果与对应实际结果进行对比.实验假设在巡检完成度中,巡检区域总完成度所占权重为0.7,巡检路线总完成度所占权重为0.3.通过式(7)的计算得知场景A 中的巡检路线监测平均准确率为92%,巡检逗留时长监测平均准确率为98.24%.场景B 中的巡检路线监测平均准确率为85%,巡检逗留时长监测平均准确率为95.96%.场景B 由于人员遮挡情况更多使得巡检路线监测平均准确率和巡检逗留时长监测平均准确率略低于场景A,但其依然具有较高的监测准确率,所以本系统所提出的巡检人员行为分析算法有效地剔除了干扰,可以满足在实际场景下对巡检路线和巡检逗留时长的监测.
表2 人员检测实验结果
表3 巡检监测实验结果
3.2.3 系统效果实验
如表4所示,本实验将在场景A 和场景B 下基于YOLOv3 人员检测结果的行为分析结果得出的巡检结果分别进行评估,评估结果的准确率与由本文3.2.2 章节巡检监测实验所得出的巡检路线及巡检逗留时长准确率相关.同时本实验采用实时率计算方法对输入系统视频流的总时长与经过系统处理后输出的视频流总时长作对比,其计算结果为二者的比值,得到场景A 下系统平均实时率为98.88%,场景B 下系统平均实时率为98.38%.通过对比场景A、B 获取的平均实时率结果,表明系统实时率仍受场景中环境因素的干扰.但是经过对场景A、B 实时率的分析说明本系统近似满足实时性要求,可以进行实际场景的应用.
表4 系统效果实验结果
文献[21]也进行了巡检路径的检测,文章采用基于GPS 的大圈以及小圆两种距离计算方法进行巡检路线的监测,成本高且精度最高为81.3%,低于本文提出的方法,且未谈及有关处理速度的研究.此方法与本文提出的方法相比,本文方法仅使用视频流信息,节约成本,且考虑实际场景信息更为详尽,能够排除场景内的大多数干扰,获取准确的人员巡检信息.本文提出的方法在普通场景下巡检监测系统精度为95.12%,在复杂场景下巡检监测系统精度为90.48%,且速度可以满足实时处理的需求,均优于文献[21].因此本文所提供的算法以及巡检监测系统,是能够实际应用于工业场景的智能化巡检监测.
为了快速、准确地分析工业现场巡检过程中巡检人员的巡检行为是否符合规范和标准,本文提出了一种基于机器视觉的工业现场巡检过程监控分析系统.系统对每个相机场景进行巡检时长、巡检路线等参数的预设置,设置完成后使用YOLOv3 网络监控多相机下的人员位置信息.系统使用的检测算法检测精度高、速度快,并适用于多种复杂的检测环境.接着使用本文设计的巡检人员行为分析方法分析人员位置信息,并评估巡检过程.该方法能够并行处理多个相机下的多个巡检区域的视频流数据,有效排除了干扰.最后将评估结果存储、传输与发布.根据网页发布结果,可以查看巡检过程中巡检人员具体行为信息.系统采用数据库存储模式对数据进行存储,保证系统数据信息的安全.在数据传输时,系统使用Base64 对图像数据进行编码及解码,减少了网络通信量.本系统包含一套完整成熟的人机交互界面与可以长期稳定运行的系统,且设备安装简单,操作方便,能够满足实时数据处理的需求.