技防系统关键技术开发与应用研究
2019-05-23王磊刘俊婷侯世中江艳飞王青芝王前程
王磊 刘俊婷 侯世中 江艳飞 王青芝 王前程
摘要:本文针对当前的社会需求,将需要安全防护领域中的技防关键技术——人脸识别技术进行完善、优化设置,从而使智能报警的精准度有效的提升,预警漏报率有效的缩减;使原先人为的被动查询改良为智能的主动防御,工作效率有效地提高;采用高普及率、灵活性好、方便操作的手机APP作为用户体验端;配有高可靠性、较强扩展能力、灵活移动的监控系统,市场应用前景广阔;在专利支撑下,于省级各项大赛中获得较好成绩。
关键词:技防;人脸识别;服务器
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)08-0161-02
开放科学(资源服务)标识码(OSID):
1引言
在应用创新型院校、家庭、企业及保密机构等各个领域中,完善、科学的技防系统必然会给我们带来显而易见的好处。假设上述领域中,配备了完善的人脸识别系统,当发生用户数据库之外的人员擅自侵入时,通过技防系统便可实时告知后台,提出可靠报警信息;假设上述领域中,配备了完善的视频监控系统,当发生消防异常情况时,通过技防系统便可于第一时间被察觉。
在很多具有特殊需求、需要安全防护的工作场合中,倘若用人力监控是否有外来人员私自进入情况,必会带来巨大的工作量,然而目前的防护措施有电子围栏、门禁、人工监控视频等。从理论上来讲可以实现防护功能,但是遇到占地面积广的情况,必然需要上百的摄像头进行搭建系统,并且配套多人监控,实时关注视频动态,在实际应用中必然不可靠;若采用门禁等方式,则需要每个门禁处配备人员辅助,那更是大量浪费人力;不仅如此,逐年递增的校园犯罪率,具有其极高的不确定性及突发性,是各类院校不得不重视的问题,必然会针对校园安全问题,带来了较大的工作压力,在校园增加人脸识别关键技术后,与公安联网,在公安局已备案嫌疑人进入校园时,便可进行智能报警等,并且,其技术在校园管理、课堂考勤、宿舍管理、考试监管、图书馆借阅等方面也带来了便利。
因此,人脸识别技术是技防系统中必不可少的关键性技术,本文开发研究人脸检测和对比,采用“分割-余弦-相似度”的方法设计可靠的人脸识别,应用于实时监控中,当有管理者、用户、陌生人进入时,服务器会给手机端发送相应的提醒信息,根据设定可以合理预警,因此,将其在应用领域中的监控能力进行了有效的智能提升,随着技术不断地完善升级,可以适当地将监控人员数量减少,其将劳动强度合理的降低,真正起到了安全防护作用。
2人脸识别关键技术其总体架构设计
硬件设计采用树莓派作为主控设备,将外置摄像头与树莓派进行连接,通过实时采集信息,判断照片中如有人脸出现,通过“分割-余弦-相似度”算法处理,且与人脸库的照片进行比对,将最终人脸识别处理后的信息结果推送并存储到对应的服务器中。服务器已提前设立好相应的存储数据库,在服务器中,树莓派所对应的服务端,将设定接收来自树莓派客户端发送的信息后,将其插入数据库,手机APP所对应服务端口,会一直在搜寻数据库,并且保持一个长连接,若检测到信息,将其处理并推送给手机APP。APP端口接收到相应信息,将识别结果完整的展现给客户端。此工作总体架构如下图所示。
3开发环境及核心技术
3.1 主控端的开发环境介绍
本设计核心控制端是树莓派3B,其需要配备合理的开发环境Raspbian操作系统,安装完整的OpenCV视觉库及Pillow图像处理库,采用Python 2.7高级编程语言结合程序设计技巧来完成相应的操作。
3.2核心技术介绍
本技术设计是受PCA算法的启发,首先自己创建了人脸模型库,经过人脸识别的一系列仿真实验进行合理有效的对比,将训练图像和测试图像进行了仔细的匹配对照。通过实验发现,PCA算法也有一定的弊端存在,其计算量较大是不得不去面对的问题,因为在整个特征抽取过程中,首先使图像矩阵变化为图像向量,然而图像向量具有较高的维数,必然会导致计算量变大。因此,开发了一套“分割-余弦-相似度”的算法,先将用户照片录取进入,进行人脸检测,将检测的人脸采集出来,存到数据库中,就存档为一个样本。在后期检测过程中,如果摄像头拍摄的照片里,检测到照片中有人,便执行程序将人脸采集出来,此时处理照片和样本方法一致,然后做分割,可以使用CROP,此分割类似与局部哈希计算,但是与直接的哈希若有区别,对照片做的分块中,截取其中固定的一块,进行余弦计算,将结果与之前样本比较其中相似程度,达到设置值后,判定为同一人。此算法相比较速度快、准确率较高。
现将其中部分关键技术,人脸检测与人脸对比环节做详尽阐述。
3.2.1 人脸检测
人脸检测技术主要采用代码开放的视觉库。首先,通过cv2.cvtColor使采集的照片从RGB模式变换成灰度图模式;其次,将分类器进行合理定义,将分别通过学习非面像样品集和学习面像样品集的方式定义相应的分类器,也可以采用已经训练成功的cv2.CascadeClassifier人脸检测相关分类器等;再次,返回相应一系列列表cv2.CascadeClassifier.detectMultiScale,其为人脸的个数,而照片中人脸的位置是由列表中的四个相关变量来对应描述;最后,将摄像头对应端口开放,进行检测。
在多次实验测试中,发现原先默认照片格式每张容量占600KB左右,多张积累占用容量较大,在多方尝试后,改用.JPEG格式,每张容量占100KB左右,使照片空间占用量大大降低。
3.2.2 人脸对比
人脸对比技术是在借鉴PCA算法及百度AI接口等思想设计的基础上,升级完善。首先,使用Python创建SDK客户端。其次,通过上述相应算法返回计算后的相似度,通常情况判定是否为同一人的相似度,一般设置为0.8以上。延续着“增-删-改-查”的思路进行改良。
4信息通信及相关环境搭建
在树莓派相关设置搭建完毕后,运用人脸识别算法计算出相应结果,通过POST方式把信息传送到服务器。在服务器处,需要合理安装Debian8操作系统及SQLite3关系型数据库管理系统进行相应的环境搭建,并且采用Python3高级编程语言协同完成相应的代码编写操作。
本设计中,TCP协议是服务器与树莓派之间的网络通信方式,此通信协议是一种基于字节流、可靠地、面向连接的传输层协议。先将具体信息传送步骤介绍如下。
4.1 树莓派(发送)->服务器
首先,将import socket长连接模块顺利导入;其次,创建socket.socket()套接字;再次,通过socket.AF_INET建立通信,socket.SOCK_STREAM將其认定成TCP协议,完成认定套接字;从次,socket.connect(IP地址,端口))将服务端连接;最后,树莓派向服务器中树莓派所对应服务端发送相关数据。
4.2 服务器(接收)<-树莓派
首先,使用importsocketserver导入相应模块;其次,将需要完善的处理方法重新撰写,可以通过子类继承方式改变为父类方法;再次,创建ss.ThreadingTCPServer服务端套接字;从次,在客户端发出相应请求时,监听该对应端口接收其请求,其套接字在创建时刻便已经自动绑定端口和IP;最后,将树莓派端传送的信息session.recv()接收过来,使数据加载到数据库中,关闭socket.close()套接字。
5结语
合理的运用技防系统关键技术——人脸识别,对于和谐稳定社会的建立是非常有利的,也必然会使社会生产效率进一步的提高。我们在后期的开发研究中,将此技术不断完善升级,争取使其技术更好地为社会服务。
参考文献:
[1] 王磊.互联网+智能管家机器人的设计与实现[J].信息记录材料,2018(1):57-59.
[2]王磊.互联网智能管家机器人在独立学院学生创新创业中的应用研究[J].电脑知识与技术,2018(5):198-199.
【通联编辑:光文玲】