韩明洁 董立文 李湘玉 李思霓 厉明豪 莫淋淋
辽宁科技大学
1前言
随着科技水平的快速发展,机械化生产以及高科技技术的引入,不论对企业还是个人来讲,安全生产无疑成为重中之重,目前,安全防护主要包括两方面;一、进行安全教育培训,二、安全管理水平,其中安全管理水平主要包括管理人员水平和安全器械及预警设施,职工进行安全教育,是安全管理的一项最基本的工作,也是确保安全生产的前提条件。只有加强安全教育培训,不断强化全员安全意识,增强全员防范意识,才能筑起牢固的安全生产思想防线,才能从根本上解决安全生产中存在的隐患。安全与生产是辨证的统一,相辅相成,安全教育既能提高经济效益,又能保障安全生产。但是,安全教育从根本上不能解决安全事故的发生,必须依靠完善的安全预警系统,只有依靠安全的硬件设施,辅助安全教育才能提高安全生产。
目前,我国在安全预警技术方面较发达国家还有一定距离,不能只靠教育培训来提高安全生产,可见完善的安全预警设施有多重要。
2 企业安全教育培训系统框架设计
有必要提供基于网络的企业安全教育培训系统框架。基于网络的企业安全教育培训系统框架包括服务器主机、网络云服务平台和监控终端,服务器主机通信连接防护墙,防护墙通过专线分别连接监控终端和网络云服务平台,监控终端和网络云服务平台之间专线连接,网络云服务平台包括风控平台、物联网平台、教育平台和安防二级平台,网络云服务平台将已有的网络、计算机、信息资源和应用支撑统筹利用,监控终端包括安防平台,用于提供备份和分享信息,服务器通过防护墙接收及传递信息。
风控平台网络连接管理主机,管理主机通过移动终端或计算机向风控平台传输指令。
服务器主机包括控制主机、监控主机、消防主机和预警主机,控制主机分别与监控主机、消防主机和预警主机连接,监控主机包括噪音监控模块、视频监控模块、振幅监控模块、检测主机和检测副机,噪音监控模块和振幅监控模块监控企业生产车间的噪音值和振动频率,并反馈至控制主机,控制主机根据监控信息控制消防主机工作,预警主机将采集到的信息传递至控制主机,同时控制主机将反馈信息传递给预警主机。
检测主机包括压力检测器、温度检测器、液位检测器,检测副机包括气体浓度检测器,压力检测器、温度检测器和液位检测器分别将检测到压力信息、温度信息和液位信息通过检测主机传递给控制主机,控制主机下达控制指令,检测副机用于检测生产车间气体的浓度指标。
消防主机包括企业消防主机,控制主机根据监控主机和管理主机的指令控制消防主机工作,消防主机接收到指令后控制企业消防主机。
预警主机包括处理器、门禁模块、监控管理模块、周界防护模块和访客登录模块,门禁模块、监控管理模块、周界防护模块和访客登录模块分别与处理器连接,处理器将接收的信息传递给控制主机,监控管理模块和周界防护模块用于监控和探测发生安全事故时车间是否留有人员,访客登录模块禁止非工作人员进入生产车间。
门禁模块与报警指示灯连接、监控管理模块与红外摄像头连接,周界防护模块与人体微波感应器连接,访客登录模块与指纹识别仪连接。
3实现步骤
参见图5本发明的方法包括如下步骤:
(1)前端首先需要采集图片。利用webcam调用摄像头采集用户图像。jquery.webcam.js实现调用摄像头拍摄照片,并且可以兼容常用的浏览器。jquery中的webcam插件是实际上是一个透明层,可以直接在javascript中与摄像头进行直接通信。Webcam可以通过javascript直接使用API来访问摄像头,这些API是很小的。利用webcam.js进行拍照,得到的照片可以显示在一般的网页中,也可以渲染到canvas,或者提交到服务器。webcam虽然是基于HTML5 getUserMedia的,但是webcam中还提供隐式的Flash回调。所以在有的浏览器不支持HTML5的时候,webcam就可以自动调用Flash,并且利用相同的API回调。因此webcam具有很好的浏览器兼容性。
下载webcam压缩包并且加压后得到主要的两个文件jquery.webcam.js和jquery.webcam.min.js。在使用webcam时,如果需要修改默认值,可以调用Webcam.set()方法来实现,通过填入一个hash表的方式来修改。一般需要修改的值有width与height、image_format、jpeg_quanlity、fps等。width和height分别表示相机试图的宽度和高度。
image_format控制拍摄照片的格式,常用的有“png”和“jpeg”。fps用来控制拍摄的速率。
调用webcam.snap()方法来拍照,图片的URI会通过回调函数传递回来,数据是使用Base64编码的二进制。调用webcam.upload()方法来上传图片,这个方法接受三个参数,第一个参数为snap()方法返回的数据URI,第二个参数是上传端口,第三个参数是上传完成后的回调,这种上传实际上是使用Ajax完成的。图片数据使用标准的multipart formpost方式上传,包含在一个命名为webcam的form中。
(2)前端特征提取以及二值化
定义一个模块来处理前端特征提取以及二值化。在20181108-102900模型结构中,input层用于输入图像数据,embeddings中的数据是从图像中提取的128维的图像特征数据。
定义paths为采集的图像,num_images为采集的图像数量。emb_array为128维特征数据的数组,大小为[num_images,128]。关于加载图片的数据等等操作调用了facenet中一些定义好的函数与接口实现。
求得原始特征数据以后对特征数据进行二值化,二值化将128维特征数据中小于0的数据置为0,其余数据置为1。二值化后将原始的128维特征数据转为128bit的特征数据。
(3)对于图像安全识别功能和图像安全认证功能都需要对前端特征数据通过paillier密码算法进行加密。在加密中首先需要生成一对非对称密钥对。出于对于安全性的考量,使得公钥和私钥尽可能比较大。利用无关大素数p和q,生成公私钥。p和q尽量大,这里选择这两个大素数的长度为512,因此需要用特殊的数据类型来表示,利用NTL大数库来实现。NTL大数库中的数据类型ZZ表示长度很大的数据。后续运算都调用NTL大数库中接口函数来实现。
(4)参见图4为了实现实时识别的效果,在前端页面上设置一个摄像头DOM元素,然后利用webcam.attach()方法将相机绑定到这个DOM元素中。这个DOM元素用来实时显示摄像头中画面。然后再定义一个大小一样的canvas(画布)元素在同一位置上。这个canvas元素覆盖在原来摄像头元素上,在canvas上将检测到的目标利用矩形圈画出来,并在矩形周围标上识别出的姓名。圈出目标的矩形框与一旁展示的姓名分别调用strokeRect()和fillText()来实现。canvas是html5中新增加的组件,类似一块透明的布,可以利用javascript在上面绘制内容。
为了实现实时检测的效果,在前端设置定时采集照片发送给后台去处理。首先定义一个take_snapshot()函数,将webcam.snap()函数和webcam.upload()函数封装在这个函数里面。然后利用setInterval()函数定时执行take_snapshot()函数,定时执行采集图像以及提交数据等操作。当定时设置的时间较短时,可以达到肉眼的实时图像识别效果。具体参数设置为setInterval(take_snapshot,1000),设置为每1s更新一次。
(5)前后端交互的主要目的是前端将数据提交给后台,然后后台处理完数据以后返回结果给前端,前端收到后台发送回来的数据后解析数据,然后根据后台的数据渲染前端页面。前后端交互常用的方式有cookie、Ajax、jsonp、服务端渲染、webSocket和Socket.io等等。在云环境下安全目标识别系统原型前后端交互中采用Ajax方式。
Ajax全称为Asynchronous JavaScript and XML,指异步的JavaScript和XML。Ajax的显著优点为局部刷新页面,即在收到服务器返回的数据后,无需重新加载整个页面,而只是更新部分页面。这实现了前端页面和后台服务器之间数据的异步传输,比之以往的前后端交互方式使得效率更高,用户体验更好。
4 结束语
采用本项目提供的基于网络的企业安全教育培训系统框架通过将已有的计算机、网络以及信息资源进行统筹,根据监控主机实现实时监控生产车间的作业情况,同时检测主机通过各类检测器对生产车间进行全方位检测,当监控主机监控或检测到安全事故时,通过服务器迅速反馈至管理主机,管理主机可随时通过移动终端或者计算机进行远程或近程控制,同时消防主机、监控主机和预警主机根据管管理主机的指令工作,有效解决了安全事故发生的概率和快速救援等问题,在一定程度上提高了安全生产的安全性。
参考文献
[1]企业无线网络设计与实现[J]. 刘浪. 冶金管理. 2019(17)
[2]WCDMA无线网络设计基础浅析[J]. 黄海晖. 广东通信技术. 2004(S1)
[3]中波发射机监控系统通讯网络设计与实现探讨[J]. 袁星. 西部广播电视. 2020(11)
基金支持
该项目获得辽宁科技大学2020年期大学生创新创业训练计划支持,项目号202010146518