电网小型基建工地远程监控系统设计和实现
2020-03-05陈彦希刘新斌董鹏丁德红
陈彦希,刘新斌,董鹏,丁德红
(1.国网湖南省电力有限公司常德供电分公司,常德415000;2.湖南文理学院,常德415000)
0 引言
随着我国经济的快速发展,人们越来越重视工地的施工安全,迫切提高施工的安全水平。采用视频监控的方式监管工地,能够有效提高工地的安全水平,但普通的视频监控系统一般采用有线网络的方式传输,不适用于电网小型基建工地这类位置经常变换且偏远的工地。所以我们采用4G 网络的方式传输视频信号,文献[2,6]中也提出了采用4G 网络的方式传输视频信号,但其部署方式太过复杂、成本过高、系统不成熟和稳定性不高,而我们采用文献[7]中提到的用专用4G 摄像机通过接入萤石云的方式转发视频信号,视频传输保密程度高、传输稳定且萤石云在摄像机数量不超过10 台的情况下可以免费使用,从而节省了系统成本,但是萤石云提供的视频查看软件具有一定的限制,所以我们在萤石云服务的基础上调用接口设计软件,优化界面,新增报警功能。这样系统就非常符合电网小型基建工地远程视频监控的使用。
文献[3]中提出了传统视频监控技术单一、资源大量浪费等问题,并引入人脸识别功能增强工地监控的智能性,我们考虑到工地安全员、项目经理、监理等相关负责人存在经常不去工地查看施工情况的问题,引入了人脸识别考勤,文献[4]中也提到以人脸识别进行考勤,但他们采用单独的Android 前端设备进行考勤的方式,增加了系统成本。我们采用前端抓拍后端比对人脸的方式进行工地考勤,大大减少了建设成本,且采用调用成熟人脸识别离线接口的方式替代文献[5]中使用传统的在基础人脸识别算法上改进的方式,提高了识别的准确性和系统的稳定性。
众所周知,安全帽是工地员工的生命的一个重要保护措施,但许多工人仍然忽视这一问题,常常需要安全员去人工监管,但人工监管不能够时时刻刻进行监管,不少工人仍会存在侥幸心理不戴安全帽,所以将安全帽识别加入工地监控系统很有必要。可以消除工人侥幸心理,提高工地安全监管效率,目前市场上也有许多类似的检测方法,检测安全帽的方法大致分为两种,第一种是基于机器学习的安全帽检测方法,如文献[1]提出了一种基于YOLOv3 算法和SVM 分类器的方法进行安全帽识别的方法,这种方法虽然精准但是速度较慢且对服务器压力较大,不适用于我们这种位置不同的多路视频流检测,并且技术难度大,我们采用另一种检测方式,既通过人脸定位安全帽潜在区域,对该区域进行RGB 像素点遍历,计算出视觉红色和视觉黄色在该区域所占比例,若所占比例高达80%则认为佩戴了安全帽。该方法虽然准确性没有深度学习检测的方法高,但是速度快,算法简单稳定,正好符合电网小型基建工地的检测使用。
1 系统实现
1.1 项目需求
国网常德供电公司需要一款部署在手机、桌面终端的管控软件。该软件能实现对电网小型基建等施工过程和施工安全的全过程监控,方便公司实时掌握施工进度和施工过程影像资料,及时发现安全隐患,为突发事件提供较为精准的、有依据性的过程资料与证据,确保施工过程中的安全、质量可追溯。同时,可以节约公司和项目管理人员往返施工现场的时间,有利于施工现场安全管控及时准确,提高工作效率。
根据实际场景的要求,我们为系统划分了六个功能需求。
(1)采用4G 网络对偏远地区工地实时视频监控;
(2)建立完善的员工信息库,要求信息导入和编辑便捷;
(3)建立完善的异常报警信息库和工地信息库;
(4)对工地负责人进行人脸识别并记录,按工作月考勤,次数不达标报警;
(5)对不戴安全帽的人员,取证并报警;
(6)能够动态检测,画面有变化才录像,采用128GB SD 卡保存录像。
1.2 系统总体结构
根据系统特点,采用典型的C/S 架构,由工地的前端设备(采集端)、云服务器上的远程视频监控系统(服务端)和Android 实时查看软件(客户端)共三部分构成。每个工地有1 个采集端,各工地视频设备均相同,采集端分布在市内各个电力基建工地,各采集端设备均通过4G 网络接入萤石云,等待客户端的调用。
本文中,前端设备采用海康威视型号为DS-2CD7847FWD 的智能网络摄像机,该摄像机支持4G网络、萤石云、人脸抓拍、移动侦测和断网续传功能完全符合系统需要。
图1 系统架构图
1.3 系统工作流程
人脸识别考勤部分:
前端设备启动之后,一直处于监控状态,在监测到有人脸出现时自动进行抓拍,通过网络将抓拍到的人脸推送至专用人脸识别云服务器,系统会自动监测到图片,并将图片读入内存创建副本,对副本进行剪裁,剪裁后调用虹软离线人脸检测接口检测人脸位置,获取人脸位置后通过虹软离线人脸特征接口提取该位置的人脸特征,在根据文件名判断所属工地,调取相应工地的员工人脸特征通过虹软离线人脸比对接口进行比对,并判断相似度最高的员工是否达到要求,将达到要求的记录加入数据库。
安全帽识别部分:
获取图像后会创建一个副本图像,系统通过调用虹软人脸检测接口判断人脸在图像中的位置,并截取人脸上边缘上人脸高度三分之一的区域,这个区域是安全帽的潜在区域。因为工地光线的原因,安全帽的红色或黄色可能会存在很多情况,我们通过大量测试得到视觉红色和视觉黄色的RGB 值范围,为了更精确地判断,我们将该范围精细到很多小的范围,范围见表1。通过遍历RGB 像素点得出在我们定义的视觉黄色和视觉红色范围的数量和总像素点的比值,若比值大于80%,我们就认为该员工有佩戴安全帽,未达到的将会加入报警列表,公司相关负责人可通过专用App 查看到带照片的未戴安全帽报警信息。
图2 人脸识别考勤流程图图
图3 安全帽识别流程图
表1 视觉红色和视觉黄色的RGB 值范围
远程视频监控部分:前端摄像头通过4G 网络与萤石云服务器建立加密连接,用户通过手机App 向系统服务器发送登录请求,系统验证身份后检测登录token 是否过期,若过期将会向萤石云服务器发送登录token 更新请求,并将更新后的登录token 加密后发送给用户,用户解密后登录系统专用客户端,再向萤石云发送视频预览请求,此时前端摄像头才会与萤石云服务器建立数据传输通道,将视频数据通过萤石云转发给用户。
1.4 服务端设计
服务端主要功能是各个工地人脸和安全帽集中识别、员工信息管理、工地信息管理、数据交换和考勤管理。
服务端界面美观,操作简便,能够设置工地的施工时间、装修时间,自动进行考勤,对未带安全帽报警和工地负责人工作月考勤次数未达标报警。
人脸识别部分采用虹软离线人脸识别算法,该算法识别速度快、准确度高,能够很好的完成预期考勤功能。
后台数据库采用MySQL,Web 服务采用WebServiceHost 类建立连接方式,Web 主要作用是负责服务器与客户端通信,通信方式是以HTTP 的方式进行的,鉴于HTTP 协议存在可能被监听的风险。所以在本系统中,对App 向服务器发送的数据,我们采用了多重加密手段,典型的方法是通过MD5 对数据接口签名验证和数据内容加密。具体方法是将数据请求的内容、当前时间戳和加密密钥混合后计算该混合字符串的MD5值。将数据内容与计算出来的MD5 一起发往服务器。服务器接收到请求后,同样根据数据内容和时间戳以及加密密钥计算出一个MD5 值,且同一个时间戳的计算值只能验证一次,若计算出的MD5 值与接收到的MD5 值相同,则验证通过。
我们采用MySQL 数据库,MySQL 作为轻量级数据库相比DB2、Oracle 等具有部署灵活即时使用的特点,使用MySQL 数据库有助于系统的部署和系统的扩展,非常符合项目要求。
图4 服务端界面效果
图5 现场画面
1.5 移动App设计
客户端采用Android App,客户端主要实现工地视频预览和工地报警信息接收。App 在萤石云demo 的基础上优化界面,删除一些系统不需要的功能,内置token 获取算法,第一次安装时需要输入使用密码解锁,解锁后再次使用时会自动向系统服务器请求获取登录token。新增报警信息界面,使用okhttp 的方式与服务器进行通信,能够查看报警信息列表和详情页。
2 结语
本文设计并实现了一套完整的电网小型基建工地远程视频监控系统,首先通过大量的比对测试选出了合适的硬件设备和系统构架,在视频监控的基础上集成保障工地安全的人脸识别考勤、安全帽识别等功能。系统的组成包括基于.NET WinForm 框架构建的管理系统和基于Android 客户端。开发环境为Visual Studio、Android Studio,使用C#语言和Java 语言对设计的系统进行实现,数据库平台为MySQL。通过本系统可以通过4G 网络进行视频监控,解决传统的视频监控系统安装和配置困难的问题,实现了通电即可用。加入人脸识别算法和安全帽识别算法,实现24 小时无人值守。系统实现了对电网小型基建工地进行远程视频监控、工作人员身份识别并生成考勤打卡记录和未带安全帽员工报警功能,为类似基建项目的信息化管理提供借鉴。
图6 App界面效果