郭建卫
(徐州生物工程职业技术学院,江苏 徐州 221006)
高校新生入学资格复查关系到学生的个人利益和国家的教育公平,也是学籍管理的重要工作。《普通高等学校学生管理规定》(教育部41号令)明确规定,新生入学必须复查本人及身份证明与录取通知、考生档案等是否一致。传统方式的资格复查流程中,人工比对考生档案、身份证件、录取通知,费时费力,准确率也不高,并且复查结果不能存档,没法辅助领导对复查结果的监督与审查。
随着Web技术、数据可视化、网络安全等技术的不断进步,大量原本需要在线下完成的工作都可以迁移到线上来完成,大大提升了工作效率。同时,随着人脸实名认证技术越来越成熟,扫描身份证件、调取公安权威数据源人脸图、实时获取人脸图片、人脸图对比等技术应用迅速普及,准确率也得到了大幅度提升。目前,人脸识别技术广泛应用于金融、安防、安全生产等行业场景,满足身份核验、人脸考勤、闸机通行、互动娱乐等业务需求。
相较于传统的新生入学资格复查模式,基于前后端分离的新生入学资格复查管理系统具有效率高、可靠性强、比对结果持久保存、辅助领导对复查结果的监督与审查等优点。
本文结合作者所在院校的业务需求,设计了一种基于前后端分离的新生入学资格复查管理系统,用于新生入学资格复查工作。
该系统的操作用户分为两种角色,即教务管理人员和入学新生,系统用例图如图1所示。
图1 系统用例
教务管理人员使用本系统导入新生的档案照片,设置新生基本信息,管理新生数据,查看新生资格复查进度,打印入学资格复查确认单等。入学新生使用本系统通过微信小程序扫描身份证信息,采集照片并完成身份复查,生成入学资格复查确认单并提交。
本系统的业务流程如图2所示。
图2 系统业务流程
步骤1:教务管理人员通过管理客户端录入新生数据并导入新生档案照片,存储到远程服务器数据库中。
步骤2:入学新生通过微信小程序扫描身份证,采集照片并完成人脸检测及识别,生成确认单并签字,提交复查结果到远程服务器。
步骤3:教务管理人员使用管理客户端管理新生提交的复查结果数据,完成后期的查询统计工作。
本系统采用前后端分离架构进行设计,前端HTML页面通过AJAX调用后端的Restful Api接口,并使用Json数据进行交互,系统部署结构如图3所示。
图3 系统部署结构
前后端分离的框架模式下,前后端各负其责,前端实现页面交互和数据展示,后端负责业务处理与数据持久化等,并且后端程序代码,不用修改就可以用于PC机、手机、平板等多种客户端。该模式前后端不互相依赖,开发效率更高,系统访问速度更快,既能提升用户体验,也能降低系统的维护成本。
采用前后端分离的设计方案,后端Web服务器提供后台服务、前端手机客户端和前端Web客户端完成各项管理业务。系统的整体结构如图4所示,该系统由3个子系统构成。
图4 系统整体结构
2.2.1 后端Web服务器子系统
后端Web服务器系统为前端应用提供所需的API接口服务,包括前端Web客户端基础数据的导入,业务数据的查询统计以及手机端微信小程序提供数据及接口服务。
2.2.2 前端Web客户端子系统
前端Web客户端子系统实现新生入学资格复查相关的管理工作,包括新生信息管理,新生高考采集照片的上传,复查结果的查询统计以及打印功能。
2.2.3 前端手机客户端子系统
通过手机端微信小程序,采集考生的身份证件信息和人脸头像信息,提取人脸特征并完成比对,并将比对结果上传到后端Web服务器子系统。
本文使用百度卡证文字识别及百度人脸实名认证来完成身份复查比对等任务,在考生扫描身份证件时完成考生基本信息的比对,在进行身份核验时,基于姓名和身份证号,调取公安权威数据源人脸图以及高考采集的考生照片,将手机摄像头获取的人脸图片逐一比对,以此判断是否为同一人,从而完成身份核验。新生身份核验复查的整体过程如图5所示。
图5 新生身份复查过程
在开发过程中,主要使用百度提供的卡证文字识别以及人脸检测、人脸特征提取以及人脸实名认证接口:
(1)身份证信息采集接口,支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,同时支持身份证正面头像检测,并返回头像切片的base64编码及位置信息。实现代码为:
(2)卡证文字识别接口,用户向服务请求识别身份证,身份证识别包括正面和背面。实现代码为:
(3)人脸检测接口,负责检测图片中的人脸并标记出位置信息。实现代码为:
(4)人脸实名认证接口主要用于验证采集的生活照与公安身份证小图以及高考采集照片是否为同一人,有正常分数时为[0~1],推荐阈值0.8,超过即判断为同一人。实现代码为:
后端系统设计采用SpringBoot+Spring+Mybatis的框架模式。其中,MyBatis实现数据访问层;Spring管理核心业务组件,提供各类核心服务;Spring Boot用于快速搭建开发环境。请求数据和响应数据都以Json格式数据呈现。以学生信息管理功能为例,系统访问接口设计如表1所示。
表1 学生信息管理API
https://www.***.net/v1.0/pri/students/list GET 学生信息列表https://www.***.net/v1.0/pri/students/id PUT 学生信息更新https://www.***.net/v1.0/pri/students/id DELETE学生信息删除
Web客户端系统基于VUE框架设计开发,通过Axios组件与后端服务通信,核心工作在于管理新生入学信息以及身份复查确认信息。前端用户界面的构建,使用流行的Vue.js前端框架,对路由管理采用Vue-router插件和组件库Element-UI,Vuex提供状态管理功能,通过Axios实现前后端数据交互。
微信小程序主要完成新生身份证件扫描,获取学生的高考录取信息及高考档案照片信息,通过手机摄像头获取人脸图片,通过百度人脸检测接口进行人脸检测和特征提取,通过personVerify服务请求组件调用百度云端服务接口,完成新生入学信息复查,并由考生签字确认上传到后端服务器。
使用PostMan接口调试工具完成接口的功能测试,以查询用户列表接口测试为例,如图6所示。使用Jmeter对用户的响应时间及吞吐量进行压力测试,系统均达到预期指标。
图6 查询用户列表接口测试图
通过对Web客户端及微信小程序的业务流程测试,特别是通过扫描入学新生身份证件,并匹配到库中的学生信息,手机摄像头获取人脸图片,并与新生的身份证照片、高考采集照片比对,完成新生入学身份复查工作并生成复查报告。具体业务流程测试如图7所示。经测试平均准确率及平均识别速度均达到预期。
图7 业务流程测试图
本文设计开发了一种基于前后端分离的新生入学资格复查管理系统,以百度证件扫描及人脸检测与识别SDK为基础,实现了入学新生的资格复查功能。基于前后端分离的新生入学资格复查管理系统较好地完成了新生入学复查的业务流程,识别准确率和效率都优于传统的人工身份核验方法。