APP下载

基于人脸识别云服务的考勤系统的开发与实现

2016-10-21李玉鹏周俊程超伟高晓丹宋维

电子技术与软件工程 2016年9期
关键词:云服务人脸识别

李玉鹏 周俊 程超伟 高晓丹 宋维

【关键词】云服务 人脸识别 考勤系统 Python

人脸识别一度被认为是生物特征识别领域甚至人工智能领域最困难的研究课题之一,随着科学技术的发展,已被广泛应用与国计民生密切相关领域。云计算的兴起,各大互联网企业相继开发了人脸识别技术云服务,提供了人脸识别的一整套技术方案,使开发人员方便地使用其提供的服务对系统进行开发。本文利用人脸识别云服务技术开发并实现了一个基于人脸识别云服务的考勤系统。

1 系统总体方案

基于人脸识别云服务的考勤系统是将本地实时的待考勤人员的脸部图像发送至云端服务,待其处理完毕后再从云端传回考勤的结果,最后通过本地考勤终端实现人机交互,因此,本系统包括本地终端以和云服务部分。其中本地终端可以是传统PC,也可以是便于多种场景应用的微型计算机“Raspberry Pi”。

2 系统主要功能实现

2.1 人脸检测功能的实现

在人脸检测环节,通过在Python中使用SimpleCV库的函数findHaarFeatures来实现,这是一个在图像中搜索匹配某一特定模式的算法,在SimpleCV库中自带了一些模式,如脸、鼻子、眼睛、身体等。findHaarFeature可以分析摄像头捕捉到的图像,并从图像中匹配出对应的模式,使用此函数可以匹配图像中的人。首先利用SimpleCV库中的Camera函数设置图像尺寸;其次,通过循环语句不断执行faces = frame.findHaarFeatures('face')来捕捉用户在考勤时的图像,当摄像头捕捉到人脸后执行frame.save()就可将检测到的人脸图像保存在本地存储空间中备用。没有捕捉到人脸,系统将继续处于待工作状态直至检测到人脸。该部分功能可以在“Raspberry Pi 2B+”上进行测试。

2.2 本地终端与人脸识别云服务的交互实现

腾讯优图人脸识别在目前LWF测试中,人脸验证可达到99.5%的准确率。本文采用了其提供的SDK以实现交互功能,包括服务鉴权签名,训练及识别过程。首先是鉴权签名,需要使用项目 ID 和密钥获取鉴权签名,使用函数TencentYoutuyun.YouTu(appid, secret_id, secret_key, userid, end_point)完成签名,参数appid为业务的应用标识AppId,secret_id为秘钥SecretId,secret_key为秘钥SecretKey,userid为用户id,end_point服务后台路径。

训练过程包括新建个体和增加人脸。首先新建个体,使用接口NewPerson(self, person_id, image_path, group_ids,person_name= '', tag='', data_type = 0)来完成,其中参数person_id为新建的个体id,由用户指定,需要保证app_id下的唯一性;person_name为个体对应的姓名;group_ids由用户指定的个体存放的组id;image_path为包含个体人脸的图片路径;tag为备注信息;data_type用于表示image_path是图片还是url。考虑到降低系统的复杂度,避免使用数据库,本系统将url值设置为0,直接将图片保存在本地后通过此函数进行上传。因为在进行识别之前,必须先对人脸库进行训练,所以实际训练和识别在服务器端是异步执行的。

識别过程。需调用人脸识别接口FaceIdentify(self, group_id, image_path, data_type = 0)将本地保存的待考勤人员的图像上传至云服务端,进行人脸的识别。其中参数group_id为识别的组id,image_path为待识别的图片路径,data_type用于表示image_path是图片还是url。接口调用统一返回Json格式的返回结果,可以通过返回信息了解各个参数的具体意义。

3 功能测试

本文采用了基于UVC协议的USB摄像头,通过调用SimpleCV的相关算法,实现了系统无需进行任何人工干预的自动促发,因此可以在不同PC及各种嵌入式设备中使用本文所述之设计。本文设计的系统从开发到调测,均使用“Raspberry Pi 2B+”,其拥有32位ARM-CortexA7架构的双核CPU,并且配备了各种常用外设,如以太网网络端口及USB端口等,配合摄像头,从理论和实验中表明足以满足本系统高效运行。测试表明本系统的识别率高达92%以上,完全可以胜任单位的人员考勤工作。

4 结语

本文依托人脸识别云服务,实现一种考勤系统,其识别率及实时性均可满足设计者需求。通过详细地描述基于人脸识别云服务的考勤系统的搭建和实现过程,为相关产品提供了一套解决方案,将有助于加速云服务及智能硬件发展的进程,具有较高的研究价值。

参考文献

[1]腾讯云[EB/OL].[2016-01].http://www.qcloud.com/product/cvm.html.

[2]NathanOostendorp,AnthonyOliver,KatherineScott.Practical Computer Vision with SimpleCV[M].First Edition.O'Reilly Media,2012.

[3]MattRichardson,ShawnWallace.Getting Started with Raspberry Pi[M].First Edition.O'Reilly Media,2012.

猜你喜欢

云服务人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于类独立核稀疏表示的鲁棒人脸识别
基于K-L变换和平均近邻法的人脸识别