可信身份师生人脸智能采集的研究和实现*

2022-09-26 02:56何斌斌张波彭小春彭华梁
科学与信息化 2022年18期
关键词:身份证人脸人脸识别

何斌斌 张波 彭小春 彭华梁

华南农业大学 广东 广州 510642

引言

近几年,随着人工智能技术不断优化和完善,依托于人工智能的人脸识别技术被广泛应用到刑侦、交通、金融等领域,教育领域也不例外。高校校内师生数量较大,人员流动比较频繁,在疫情防控期间,人员动态管理存在较大压力,因此高校开始将人脸识别技术运用到学校管理当中,尤其门禁进出、安保等方面,减轻管理人员的工作压力,同时学校也能通过人脸识别技术,准确掌握学生的在校状态以及活动轨迹[1]。

为提升学校智能化管理水平,更好维护良好校园秩序,快捷高效的解决全校师生人脸大批量录入的问题,本文提出一种可信身份师生人脸智能采集系统,提供安全的人脸特征照自助采集服务,为师生进出校门提供便捷服务。为加强个人信息保护,人脸特征照采集仅限于校园网环境下使用。

1 系统设计

人脸识别技术是一种基于人工智能(AI)的计算机技术,用于在数字图像中查找和识别人脸。基于人脸识别技术的“可信身份师生人脸采集系统”采用前后端分离开发架构,以及Python和C#混合语言多端开发模式[2]。

“前后端分离技术”已经成为互联网项目开发的业界标杆,通过前后端独立开发有效地进行解耦。并且前后端分离技术为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,智慧屏终端,手机终端等等)打下坚实的基础。

本系统前端选型采用轻量型的Vue框架,后端则采用Python语言中较为可靠的Flask框架[3]。采用Python语言不仅可以编写后端API接口,同时可编写人脸识别程序,Python语言不仅语法优雅简单,第三方库功能强大,而且还可以跨平台运行。考虑到人脸特征照的存储安全性,分发的可靠性以及海量照片检索的性能,本系统采用对象存储(OSS)作为人脸特征照存储的底层支撑技术。

1.1 功能规划

对于师生人脸特征照采集而言,首先要提供一个功能完善的管理后台,此外,一个严格身份核验、快速便捷的智慧屏采集终端也是保证师生采集人脸特征照质量的重要一步。考虑如上因素,本系统按照管理后台端和智慧屏自主采集终端独立设计,其主要功能如下:

管理后台端:①用户管理:实现对全校师生以及管理员等用户基本信息管理。②用户管理:实现对全校师生以及管理员等用户基本信息管理。③用户脸库管理:实现对全校师生录入的多张特征照的存储和管理。④应用授权管理:实现第三方系统申请脸库、授权访问等功能。⑤用户黑白名单:实现用户脸库的黑白名单管理。

智慧屏自主采集终端:①身份核验:通过身份证、校园卡对用户身份进行双重身份校对核验。②人证比对:通过身份证照片以及自动调用摄像头抓拍的人脸特征照进行比对,通过比对分数判断是否为同一个人。③人脸特征照采集:自动调用摄像头拍摄人脸特征照,系统会对照片进行质量检测,符合要求才能入库。

基于DDD领域驱动设计思想[4],本系统可以分解为6大功能模块:用户管理模块、脸库管理模块、应用授权模块、身份核验模块、特征照采集模块、人脸识别模块。

1.2 详细设计

在上述功能中,身份核验和人脸识别是本系统的核心[5-6]。详细功能设计如下:①身份证信息读取:智慧屏终端配备二代身份证阅读器,通过读取用户的身份证,获得姓名、身份证号、照片等个人身份真实信息。②身份证信息读取:智慧屏终端配备二代身份证阅读器,通过读取用户的身份证,获得姓名、身份证号、照片等个人身份真实信息。③身份信息校验:通过上述获取的用户姓名、身份证号、校园卡号,与学校身份数据中心对接,核实身份信息是否一致。④抓拍人脸特征照:智慧屏终端配备USB摄像头,抓拍人脸特征照,并与身份证照片合并推送到云端服务器进一步处理。⑤抓拍人脸特征照:智慧屏终端配备USB摄像头,抓拍人脸特征照,并与身份证照片合并推送到云端服务器进一步处理。⑥云端预处理:服务器收到人脸特征照以及身份证照片,与Python端的人脸识别模块建立连接,发送人脸比对请求,等待识别结果。⑦人证比对:Python 端使用深度卷积网络,利用提前训练好的模型处理待检测图片,得出识别结果。⑧特征照入库:经身份信息校验以及人证比对成功后,Python端把用户的特征照保存到对象存储,并把对应关系保存到数据库。⑨结果反馈:人脸特征照采集结果返回给前端展示给用户,提醒用户收好个人证件。

2 系统开发

根据上述的功能设计,梳理出功能开发流程图如图1。

图1 功能开发流程图

系统使用Pycharm 2022开发管理后台端,采用Visual Studio 2022开发智慧屏前端,分别采用Python语言和C#语言混合开发,采用Mysql8关系型数据库提供用户数据库存储,同时采用了MinIO作为对象存储保存人脸特征照。根据系统的整体功能设计,进行系统详细设计。

2.1 硬件设备

身份证读卡器采用新中新DKQ-A16D二代身份读卡器,IC卡读卡器采用URF-R330 IC卡读写器,摄像头采用兼容USB 2.0免驱动型摄像头。

图2 新中新DKQ-A16D二代身份读卡器

2.2 用户信息相关

使用基于Vue框架的AVUE-UI进行前端页面开发,给管理后台提供 信息管理操作;后端采用peewee框架作为访问数据持久层,对用户信息数据进行增、删、查、改。

2.3 抓拍图片

为了保障数据传输可靠性和安全性,智慧屏终端通过USB摄像头抓拍人脸特征照后,首先将图片转为Base64编码,通过HTTPS协议传输到后端,接收处理后,转存对象存储中。

2.4 云端身份信息核对

服务器端接收到智慧屏终端发送的请求后,与身份中心对接,根据用户的关键信息请求用户的基本数据,从基本数据比对用户的姓名、身份证号、校园卡号是否一致。

2.5 云端人证比对

云端身份信息核对成功后,使用基于TensorFlow的MTCNN模型[7],对人像区域进行定位,抽取出人脸特征照,同时与身份证照片进行比对,比对通过后把人脸特征数据记录到数据库。

2.6 结果反馈

Python端识别完成后,将识别结果通过AJAX请求返回至前端,前端对结果进行处理、展示。

3 系统实现

本系统前端采用Vue框架的组件化技术,把页面拆分成多个组件 (component),每个组件依赖的CSS、JavaScript、模板、图片等资源放在一起开发和维护。编写组件就像搭积木一样,编写一堆组件最终拼装生成页面。前端采用路由配置模块化,实现模块统一加载,实现模块代码重用。

人脸识别模块通过3个阶段的深度卷积网络级联来实现,识别之前,需要收集大批量质量合格的人脸数据集对模型进行训练,然后将图像中的人脸进行预处理,输入数据,最后使用SVM分类训练验证其分类结果,形成人脸识别模型[8-9]。当服务器接收到智慧屏终端发送的识别请求,人脸识别模块开始调用人脸识别模型,输入人脸特征照,返回识别结果。

管理端的人员数据管理如图3所示,应用授权管理如图4所示。

图3 人员数据管理

图4 应用授权管理

智慧屏终端如图5所示:

图5 智慧屏终端采集界面

①用户把身份证放到读卡器,自动读取身份证并填充信息;②自动读取校园卡并填充信息;③点击拍照自动进行人脸识别并抓拍;④点击上传个人信息即可将信息上传云端核验并入库。

4 结束语

基于多重身份校验的人脸特征照采集系统是保证师生真实身份的有效手段。系统的整体设计采用了前后端分离技术,使用Python语言和C#语言共同开发,完成了用户管理、脸库管理、人脸入库管理等功能。人脸识别模块采用了深度卷积网络,并使用TensorFlow训练模型实现了人脸检测和人脸比对。经实践检验,系统运行稳定,效果良好,通过智慧屏终端可实现师生全自助式安全采集个人的人脸特征照,大大降低了人脸录入工作量。

猜你喜欢
身份证人脸人脸识别
都有身份证
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
三国漫——人脸解锁
据说最近流行晒身份证,各路大神都被炸了出来
趣说古人的“身份证”
人脸识别在高校安全防范中的应用