移动端学生公寓人脸识别门禁管理系统
2021-08-09陈韩浩郑胜忠黄承慧郭艺辉
陈韩浩,郑胜忠,黄承慧,郭艺辉
(广东金融学院互联网金融与信息工程学院,广东 广州 510521)
0 引言
随着我国高等教育事业的发展,高校招生数量在不断的扩大,而学生公寓作为学生日常生活以及学习的重要场所,其安全管理的难度也在不断加大[1-3]。为有效加强学生公寓安全管理,众多高校开始采用三辊闸、摆闸、翼闸、旋转闸等通道型门禁系统[4-6]。同时,近年来随着人脸识别技术的飞速发展[7-11],人脸识别在通道型门禁系统中的应用也越来越广泛[12-15]。但是通道型人脸识别门禁系统需要配置大型闸机机械设施以及复杂的计算机系统,安装复杂、投入成本高。本文通过调用百度AI接口,提出并实现了一个基于移动端的学生公寓人脸识别门禁管理系统。系统投入成本极低,操作简单易行,其对于规范学生公寓安全管理、保障住宿学生人身以及财产安全、提高学生公寓管理信息化水平均具有十分积极的意义。
1 系统设计
本文移动端智能人脸识别门禁管理系统主要由三个部分构成,包括手机移动客户端、后台应用服务器以及人脸识别模块。手机移动客户端负责人脸信息采集、人脸比对结果及相关信息的接收;后台应用服务器负责接收由客户端传来的数据信息,数据录入以及向百度AI接口发出人脸比对服务请求;人脸识别模块通过调用百度AI接口实现,负责将用户传入的人脸信息和百度数据库中的人脸信息进行比对,比对完成之后将结果返回给客户端;最终,在手机客户端对返回的人脸比对结果进行展示。本文移动端人脸识别门禁管理系统体系结构如图1 所示。
图1 系统体系结构图
1.1 移动端层次结构
移动端结构包括四个层次,分别是 Linux 内核层、系统运行时库层、应用程序框架层以及应用层。应用层采用Java 语言和 XML语言开发。使用Java 代码实现数据逻辑的处理,使用XML语言实现页面的布局。移动端层次结构如图2所示。
图2 移动端层次结构图
1.2 服务端层次结构
本文服务端采用 MVC 设计模式,使用Spring Boot 搭建服务端框架,系统划分为控制层(Controller)、业务层(Service)以及持久层(Dao)。服务端提供登录管理接口、日志管理接口、人脸识别以及人脸信息采集接口。使用 AJAX 异步交互技术接收与响应客户端的请求,使用JSON进行数据格式传输。服务端层次结构如图3所示。
图3 服务端层次结构图
1.3 系统需求分析
本系统实现基于移动端的学生公寓人脸识别门禁管理,系统主要功能如下:
(1)实现快速有效的身份识别。系统对来访者身份的识别包含以下几个部分内容:①非法访问者,包括社会人员、传销人员以及其他非法人员身份识别。系统管理员将学生人脸信息添加进学生人脸数据库。当宿舍管理员发现来访人员身份可疑时,使用手机摄像头获取可疑人员的人脸信息,上传至系统。系统遍历数据库后如未找到与之匹配的人脸信息,即向客户端返回无匹配信息的结果,宿舍管理员据此判断该访问者是非法访问者并禁止其进入学生公寓。②学生辅导员、班主任等合法访问者身份识别。系统管理员将学生辅导员、班主任等人脸信息增添到教师人脸数据库。当学生辅导员、班主任等来访时,宿舍管理员通过手机摄像头获取来访人员人脸信息,上传至系统。系统与存储在教师人脸信息库中的图像信息进行比对,若匹配成功,则准予其进入公寓。③本公寓学生家属等合法访问者身份识别。系统管理员将学生家属人脸信息增添到家属数据库。当学生家属来访时,宿舍管理员通过手机摄像头获取来访人员人脸信息,上传至系统。系统与存储在家属人脸信息库中的图像信息进行比对,若匹配成功,则准予其进入公寓。④本校学生但非本公寓学生身份识别。
(2)实现学生晚归门禁管理。当学生晚归情况发生时,宿舍管理员通过手机摄像头获取晚归学生人脸信息,门禁系统快速准确识别出学生身份,并将学生晚归信息,包括晚归学生人脸图像信息、晚归时间以及学生身份信息录入系统。系统汇总统计信息后,可以将数据反馈给各院系以及学工处,便于学校有关部门有针对性地开展学生管理工作。
(3)实现来访信息电子化处理。所有合法来访者、临时来访者的来访信息,包括来访者身份、来访时间、访问地点以及被探访人员信息等均被记录入系统。
系统依据上述功能划分为三个功能模块,包括系统管理模块、身份识别模块和用户信息管理模块,系统功能结构如图4所示。
图4 系统功能结构图
1.4 系统整体业务流程
系统管理员登录APP,对用户进行人脸信息采集和个人信息录入,将数据发送至服务器。服务器验证Token是否有效,如果有效,则进行人脸库匹配,若匹配成功,则更新人脸信息;若匹配不成功,则将数据录入数据库。
宿舍管理员登录APP,对需鉴别身份的人员拍照获取人脸信息,传送至服务器进行人脸信息匹配。如果匹配失败,弹出警告框,提示为非法来访者。如果匹配成功,则继续判断是否是学生,如果是,则判断是否超过门禁时间,若超过,则将其晚归信息录入违规日志;若非学生即为教师或者家属等其他合法访问者,将其来访信息录入来访日志。系统整体业务流程如图5所示。
图5 系统整体业务流程图
1.5 数据库设计
本系统使用MySQL数据库,主要用到的数据表有系统管理员表(system_manager)、宿舍管理员表(room_manager)、学生表(student)、家属与教师表(other)、申请表(apply)、日志表(logs)、人脸信息表(face_info)。实体关系如图6所示。
图6 数据库实体关系图
2 系统实现
本系统的开发环境配置为Intel Core(TM) i7-9700K,内存16GB的笔记本电脑,所采用的操作系统是Windows 10;使用 JAVA作为开发语言,使用Android Studio 3.0.1作为集成开发环境。移动端使用安装了安卓8.0操作系统,内存为6GB的安卓手机;云服务器安装Cent OS 7.4操作系统,1核2GB,带宽1MB,存储容量为50 GB。
2.1 人脸信息采集的实现
系统管理员使用手机对用户拍照,获取到人脸图像,向服务器发起录入人脸信息请求。服务器通过LoginHandlerInterceptor组件对请求进行身份验证,若验证失败则向客户端返回Token过期的信息,若验证成功则通过FaceController控制器解析Token。如果解析Token成功,FaceController控制器则调用AddService服务组件进行信息录入处理。录入的信息被传送至UserInfo数据库存储,录入成功的结果封装后被返回给安卓客户端,并在客户端APP界面提示录入成功。人脸信息采集时序如图7所示。
图7 人脸信息采集时序图
2.2 身份识别的实现
宿舍管理员通过移动终端拍摄需鉴别身份人员的人脸图像,并向服务器发送人脸识别的请求,网关验证宿舍管理员身份有效后,通过ManagerController控制器对Token进行验证并解析出用户id,控制器通过id调用FaceService服务组件来提供人脸识别子系统的识别服务。该服务使用遍历的方式将传入的人脸信息与数据库中的人脸信息进行一一比对,若在数据库中找到与该人脸信息相匹配的数据,则将该数据封装在UserInfo类中返回给客户端。若没有找到与该人脸信息相匹配的数据,则会向客户端发送警报信息,客户端将警报信息显示在APP界面上。身份识别时序图如图8所示。
图8 身份识别时序图
3 系统测试
本系统采集并在数据库中录入包括学生、学生家属、教师等人员的人脸信息和个人信息共 85 份数据。系统进行了7轮测试,测试样本包括已注册人员以及未注册人员。本文将成功匹配到数据库中人脸信息的人数和已注册登记的人数进行对比,得出每一轮测试的平均成功识别率、平均耗时和平均匹配度(正确识别人脸和数据库中已有人脸的匹配程度)。每一轮测试样本数及系统测试结果如表1所示。
表1 系统测试结果
测试结果表明,每轮测试的成功匹配率均达到90%以上,其中最高的一轮测试达到98.3%;每一轮测试的平均耗时在0.6-0.8秒的区间,均小于1秒,符合快速人脸识别的系统需求;7轮测试中,有5轮平均人脸匹配度在90%以上,只有两轮测试低于90%,分别是89.7%和86.1%,系统具有较高的匹配度,这为系统对来访人员进行有效身份验证提供了可靠的保障。测试结果表明,本系统能够满足人脸识别门禁管理的需求。
4 结论
本文提出并实现了一个基于移动端的人脸识别学生公寓门禁管理系统。相比于投入成本高,安装复杂的大型通道式人脸识别门禁系统,本系统投入成本低、操作简单易行、识别率高。系统的实现对于加强学生公寓安全管理、维护学生正常生活秩序、保障学生人身安全都具有十分重要的应用价值和现实意义,在未来作为智慧校园建设的一部分亦具有极其重要的战略意义。