龙源期刊网 http://www.qikan.com.cn
基于人脸识别技术的考勤系统的研究与设计
作者:潘虹 曹晓红 程盼 党小娟 来源:《数码设计》2018年第09期
摘要: 人脸识别是一种生物特征识别技术,它的原理是:通过将已经存储的人脸图像与人的面部特点和表情的分析比较,达到自动识别的目的。本文设计的基于人脸识别技术的考勤系统具有以下优点:(1)防止冒名考勤的行为;(2)缩短考勤验证时间,节省时间;(3)认证身份的准确性高。
关键词: 人脸识别,Android系统,PCA算法
中图分类号: G7.3;TP391.41;;; 文献标识码: A;;; 文章编号: 1672-9129(2018)09-0124-02
Absrtact:; face recognition is a biometric recognition technique. Its principle is: automatic recognition can be achieved by comparing the stored face image with human facial features and
expressions. The attendance system based on face recognition has the following advantages: (1) preventing the behavior of false attendance; (2) shortening the time of attendance verification and saving time; (3) high accuracy of authentication identity. Key words:; face recognition Android system PCA algorithm 1; 绪论
随着时代的发展,智能手机也迅速发展起来,Android 操作系统成为最受欢迎的系统之一,在移动环境下进行人脸识别技术的研究也成为新的研究方向。人脸识别具有非侵犯性好、安全性高、应用环境广泛等特性,在身份认证方面具有独特的优势[1]。
对人脸进行识别,要经过人脸检测、人脸图像特征提取和身份判定等这几个关键过程[2],本文主要对相关算法进行了研究和优化,并设计实现了基于人脸识别技术的考勤系统。 主要工作如下:
(1)对经典的人脸检测算法进行探讨和研究,总结了这些算法的缺点和优点。 (2)对PCA算法进行分析,并优化了PCA算法的计算过程,使得复杂度减少,提高了人脸识别速度。
(3)在安卓平台上对基于人脸识别技术的考勤系统进行设计和实现。
龙源期刊网 http://www.qikan.com.cn
2; 算法研究
本文对PCA算法进行分析,并对该算法进行改进和优化。人脸识别要经过特征提取和匹配两个过程。
2.1 特征提取的方法。人脸识别技术中最重要的一步就是特征提取,图像中包含了很多信息,但是有些信息是多余的,因此用特征提取方法来对图像进行降维是很有必要。
特征提取的方法包括:基于几何特征的提取方法、模板匹配的提取方法、基于统计特征的人脸识别算法、基于隐马尔可夫(HMM)的方法、基于神经网络的人脸识别算法等方法,这些算法各有自己的优点和缺点[3]。接下来介绍本文所采用的算法。
2.2 算法研究。本文所采用的算法是应用较为广泛的人脸识别算法 PCA方法,它具有特征提取和降维优势。PCA经常用于减少输入图像的维数,同时保留输入图像中最有用的特征。 (1) K-L变换。在人脸识别中最需要处理的问题就是如何降维,K-L 变换就是一种应用较为广泛的消除人脸特征之间的相关性的人脸识别方法。 协方差矩阵公式如下: 设 n 维矩阵 x,则 x 的均值为 a= 1 n ∑ n i-1 Xi;;;;;;; (2.1) 每个量和均值的差 φi=Xi-a;;;;;;;; ;(2.2) 则协方差矩阵为
C =; 1 n ∑ n i - 1 iiT;;;;;;;;;; (2.3)
(2) 最近邻分类。最近邻法分类器是一种比较输入数据和模板数据在空间中距离的分类方法。计算公式如下:
设 x,y 是 n 维空间中的两个点,则欧式距离: d(x,y) = ||x-y|| = [∑ n i-1 (xi -yi )2 ] 1 2;;;;;; (2.4) 3; 开发技术
龙源期刊网 http://www.qikan.com.cn
3.1 开发技术简介。在移动终端上进行人脸识别技术的研究具有重要的意义,这项技术能够应用于很多领域,例如考勤系统、门禁系统、隐私保护等。本文设计的考勤系统所采用的技术是Android开发工具,本章将对Android开发工具进行详细介绍。
Android 是一种基于 Linux 内核的操作系统,它是一个源码开放的平台,使得开发者能够免费使用资源,容易学习,操作起来方便简单。 3.2 开发环境搭建。
(1)JDK。首先下载JDK软件并安装,JDK是 Java 开发的基础环境和核心部分。安装好JDK之后,需要进行环境变量配置:PATH、CLASSPATH、JAVAHOM。
(2)Eclipse和ADT。Eclipse软件是开发Android的工具,它是一款免安装的软件,打开软件时需要设置Workspace的路径,最后将ADT进行安装[6]。
(3)SDK。在 Android 开发中,SDK为开发者提供了重要的库文件和其它开发工具。可以在网上下载SDK的压缩包,它是一款免安装的软件,解压缩即可。最后需要配置环境变量。
(4)OpenCV。OpenCV提供了丰富视觉处理算法。 4; 系统实现
本文实现了基于人脸识别技术的考勤系统,该系统主要用于对员工进行考勤。首先,利用摄像头对员工进行图像采集,形成人脸库;然后员工进行考勤时,采用基于 PCA特征提取算法提取人脸的特征向量。然后进行身份匹配。最后输出人脸识别结果。 5; 总结
随着信息时代的发展,Android系统的大力发展,基于安卓平台对人脸识别技术进行研究非常热门,本文通过对典型的人脸识别技术进行研究,总结出其优点和缺点。并对PCA算法进行改进和优化,最终在Android平台上实现了基于人脸识别技术的考勤系统,该系统有以下优点:(1)防止冒名考勤的行为;(2)缩短考勤验证时间,节省时间;(3)认证身份的准确性高。
参考文献:
[1]侯梦华. 基于机器视觉的实时目标检测系统研究[D]. 广州:广东工业大学, 2008. [2]靳薇. 面向身份认证的人脸识别及应用[D]. 西安:西安电子科技大学, 2011.
龙源期刊网 http://www.qikan.com.cn
[3]唐赫. 基于 PCA 和神经网络的人脸识别算法研究[J]. 软件导刊, 2013, 06: 33-34.