web端登录基于百度AI平台的Web人脸注册和登录系统的设计
作者:罗佳伟,孙雪峰,李琳
来源:《中国新通信》 2018年第11期
一、人脸识别技术介绍
人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。人脸识别系统主要包括四个组成部分,分别为:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。
人脸图像预处理:对于人脸的图像预处理是基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理。对于人脸图像而言,其预处理过程主要包括人脸图像的光线补偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。
人脸图像特征提取:人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数特征等。人脸特征提取就是针对人脸的某些特征进行的。人脸特征提取,也称人
脸表征,它是对人脸进行特征建模的过程。人脸特征提取的方法归纳起来分为两大类:一种是基于知识的表征方法;另外一种是基于代数特征或统计学习的表征方法。
人脸图像匹配与识别:提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。
二、设计方案
现代浏览器( 除了老旧的IE, 支持HTML5 即可) 均支持在浏览器中调用摄像头拍照。用户第一次使用需要注册,需要用户提供用户名、密码和面部图片。
系统通过前端程序将照片上传到后台服务器,后端服务器将信息存储在数据库中,然后利用百度AI 的SDK API,建立人脸识别库,百度AI 支持免费用户建立1000 张人脸库,并支持人脸比对功能。
用户登陆时,系统可以选择直接利用摄像头扫描用户面部登陆;或者加强用户登录级别,即使用用户名密码登录的同时还需要人脸验证。
百度AI 的人脸验证支持两种模式,第一种为指定人脸是否与人脸库中某个人脸符合条件,第二个就是指定人脸与人脸库中的人脸是否相符(通过ID 判断),本系统两种登陆模式可以基于以上两点设置,后台与百度API 交互后将验证结果通过WEB API 或者RPC 交给指定程序,实现人脸识别登陆功能。
三、系统介绍
系统运行在Linux 平台,JDK 使用1.8, 后端Web 服务器采用Tomcat 8, 数据库使用MySQL 5.7,缓存使用Redis 3, 整个后端在部署完毕后会打包成Docker 的Volume 方便之后的部署,前端使用Nginx 充当前端Web 服务器。
系统调用百度AI 的API,通过摄像头使用人脸识别技术确认登录人是用户本人再进行登录确认,系统基于微服务分布式架构,可以通过RPC 框架与其他系统相结合,作为整个分布式系统的一部分,基本开发语言使用Java,RPC 框架采用由谷歌退出Grpc, 整个Web 框架使用业界最为流行的Spring Boot,数据库采用开源的MySql, 采用前后端分离技术,前后端采用Json 交互,前端采用国产框架VueJS, 框架,并采用开源的“iView”模板,整个前端通过WebPack 进行打包为SPA,之后还会解决由于电脑没有摄像头,通过手机扫码和手机摄像头来进行确认人脸的功能。
四、总结
基于百度AI 平台的Web 人脸注册和登录系统的设计采用百度AI 的SDK API,建立人脸识别库,通过设备完成面部识别取代了传统的账号密码注册、登录方式。这种技术可以广泛的应用到各种系统中,节省了注册时间和登录时间并具有一定的安全措施,是适应现代社会高速发展的一种技术体现。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论