APP下载

人脸识别系统在嵌入式ARM上的实现

2013-09-27西安科技大学通信与信息工程学院西安710054

电子器件 2013年6期
关键词:识别率人脸人脸识别

(西安科技大学通信与信息工程学院,西安710054)

(西安科技大学通信与信息工程学院,西安710054)

由于通用RU-LBP和PCA结合的人脸识别算法得到的子空间内各类之间距离不均衡导致人脸识别低,提出一种岭回归人脸识别方法。通过使用RU-LBP和PCA进行人脸特征提取,然后对这些特征使用岭回归算法进行识别,该算法能够最大程度上均化各类之间的距离,提高分类能力。在FERET标准的人脸库上的实验结果表明,该算法能够显著改进人脸识别率。

嵌入式ARM;人脸识别;Adaboost;RU-LBP;PCA;岭回归

随着安全监控意识的不断提高,平时所忽略的安全隐患也日趋严重。如何高效、方便地进行身份验证和识别,已经成为人们日益关注的问题。人脸识别作为身份验证的一种有效方式,已成为模式识别领域研究的热点问题。

人脸识别可基于传统的用于信号处理的DSP,但这不利于人机交互,没有丰富的操作界面。而基于LINUX操作系统的嵌入式ARM具有丰富的界面编程接口,便于移植,在人机交互方面具有很大的优势,越来越受到专业人士的青睐。随着高速ARM处理器的迅猛发展,使用ARM来进行图像处理也越来越能够满足实时性的要求。

本文采用最新款高性能Cortex-A8处理器的Tiny210开发板,在LINUX操作系统下采用V4L2进行图像采集和预处理,用Adaboost算法进行人脸检测,在通过RU-LBP(旋转模式和统一模式相结合的LBP算子)进行人脸特征提取的基础上,经PCA降维,使用能够最大程度上均化各类之间距离的岭回归方法进行识别[1-2]。最终实现了一个具有友好人机交互界面的嵌入式人脸识别系统,具有良好的实时性和识别率。

1 嵌入式硬件选择与系统架构

由于嵌入式人脸识别系统运算量很大,对实时性要求高,对芯片的处理性能有很高的要求本系统采用三星公司新出的S5PV210为主处理器的Tiny210开发板为实现平台,处理器运行主频高达1 GHz,同时加入了用于多媒体和信号处理的NEONTM技术,以及内部集成的PowerVRSGX540高性能图形引擎,很适合在图像处理方面的应用。

本文需要进行初始化工作:LCD显示驱动、USB摄像头驱动和USB Host驱动的移植,以及开放的源码库OPENCV和QT用户界面。本系统涵盖了图像的采集、处理、显示等数字图像处理技术,其整体结构如图1所示[7]。

图1 系统架构

2 软件模块的设计与开发

2.1 图像采集和预处理

V4L2(Video for Linux2)是Linux系统下处理视频采集设备的标准接口[5]。它为Linux下的视频驱动提供了统一的接口,使得应用程序可以使用统一的API函数操作不同的视频设备,极大地简化了视频系统的开发和维护。

V4L2视频采集的流程如图2所示。

图2 V4L2视频采集流程图

打开设备文件后,首先取得设备的capability,查看设备的功能,比如视频输入、音频输入输出等。然后设置视频的制式和帧格式,制式包括PAL,NTSC,帧的格式则包括宽度和高度等。接着向驱动申请帧缓冲(一般不超过5个),将申请到的帧缓冲映射到用户空间,这样就可以直接操作采集到的帧,而不必反复拷贝帧缓存的内容,从而提高视频采集效率。之后将申请到的帧缓冲全部入队列,开始视频的采集。采集完成后,出队列以取得采集到的数据帧缓冲,取得原始采集数据,将缓冲重新入队列尾,这样可以循环采集。采集结束后停止采集,关闭视频设备。

输入的视频图像往往会受到噪声,外界光照强弱等因素的影响,因而在进行人脸检测之前,需要对视频图像进行相应的预处理操作,包括中值滤波、直方图均值化等。

2.2 人脸检测

本系统使用Adaboost算法来进行人脸检测,算法选取如图3所示的几个特征矩形作为训练模板,得到人脸检测最合适的矩形特征。

图3 特征矩形

Adaboost训练算法的基本思想是由弱分类器构建强分类器。给定n个训练样本(x1,y1),(x2,y2),…,(xn,yn),其中yi=0表示非人脸,yi=1表示人脸。对每个特征训练一个弱分类器,所有特征的弱分类器的加权错误率为:

最佳错误率对应的即为最佳弱分类器,其错误率为:

该算法具有计算量小、速度快、准确性高等特点,是目前嵌入式系统中最常用的人脸检测方法。

2.3 人脸特征定位

在人脸准确检测的基础上,要达到高的识别率,首先必须获得较好的人脸特征描述。本系统采用LBP算法,LBP作为最好的纹理描述算子之一,具有对光照变化的不敏感性以及计算简易和快速等特点,是嵌入式系统中一种有效的人脸特征描述方法[3]。

LBP算子的基本思想是将中心像素点的灰度值设为阈值,用其圆形邻域内的像素点与之作比较得到的二进制码来表述局部纹理特征。它计算简单,分类能力强,在描述纹理特征提取方面有着显著的效果。相比于传统的LBP算子,旋转不变LBP可以使得图像具有旋转不变性,统一模式LBP可以解决旋转不变LBP造成的输出值频率差异太大而影响分类能力等问题。本系统将人脸划分为4×4个小矩形区域,对各个区域分别应用旋转不变和统一模式相结合的算子,并最终得到4×4个区域的联合直方图,将其作为人脸图像的特征描述子。这种划分区域的方式,是从人脸的全局和局部两个方面来描述人脸特征,更能代表图像本身的特征。

2.4 人脸识别算法

2.4.1 基于主元分析的特征降维

直接利用联合LBP直方图的特征进行识别,运算量会很大[4]。利用PCA算法[7-8]可将高维向量投影到低维向量空间,达到降维目的,提高运算速度。它主要包括以下两个步骤:

(1)求出训练样本集的总体散布矩阵 Si=,其中N为样本个数;Xi为第i人脸特征向量为训练样本集的平均人脸特征向量。

(2)求Si的特征值,并选出前面最大的K个特征值,然后把人脸特征向量向这些特征值对应的特征向量投影,得到一组用来表征人脸的系数。

2.4.2 基于岭回归的人脸识别

对静态图像人脸识别系统,上述方法已经能够得到较好的识别率。但是,对动态视频图像的人脸识别系统,上述方法得到的识别率比较低,无法满足系统的性能要求。这主要是由子空间内各类之间距离不均衡导致的,某些类之间的类间距远小于其他某些类之间的类间距,这样导致分类器在区分这些类间距相对较小的类时,性能变差。

基于岭回归的人脸分类方法可以解决上述问题。它的基本思想是:正则单形顶点作为离散的点具有最高程度上的对称性,选取这样的一些点作为标记不同类训练人脸(样本)的标签,并使用岭回归算法将这些训练人脸映射到一个人脸子空间,使得每个样本的映射结果与标记该样本的顶点的距离最小。对于一个新的人脸(待识别人脸),将其映射到这个人脸子空间中,并与这些标签向量进行比较,最终得到识别结果。算法主要步骤如下:

用m-1维空间中的m个两两等距的点vi(i= 1,2,…,m)来标记不同人的m个人脸图像,然后应用岭回归方法训练一个线性模型W,将每个人脸图像训练样本Ii(i=1,2,…,n)映射到m-1维子空间中。

设人脸分类问题中总共有n个训练样本{(xi,Yi)|i=1,2,…,n},其中xi(i=1,2,…,n)为维度较高的p维人脸图像向量,Yi(i=1,2,…n)为用于标记xi的维度相对较小的r维向量。基于多元标注岭回归人脸的人脸分类问题可以描述为:求解矩阵W∈Rp×r用于描述xi和Yi的线性关系(i=1,2,…,n),使得式(4)中的J(W)最小。

其中,X=[x1,x2,…,xn],Y=[Y1,Y2,…,Yn],tr(矩阵的迹)表示矩阵对角线上元素之和。对式(4)求导,并令其为零可得:

对于待识别的人脸x,在子空间中的投影值为WTx,计算WTx与每类人脸标注向量之间的距离,最近距离所对应的那类人脸,即为x所属类别。

下面给出每类人脸的标注向量(两两等距)的选取方法。

对于m类训练人脸。在 m-1维欧式空间Rm-1中构造出m个两两等距的点,这m个点可以在平移、旋转等变换下保持等距。

记这m个点为Ti∈Rm-1(i=1,2,…,m),记矩阵T=[T1,T2,…,Tm],则T可以按如下方式构造:

对于k=2,3,…,m-1计算:

岭回归人脸识别算法的过程可以总结如下:

(1)根据式(4)计算映射矩阵W。

(2)对于待识别的人脸x,计算x在子空间中的映射y=WTx;

(3)计算m与每类人脸Ti,(i=1,2,…,m)的标记的距离‖y-Ti‖,取argim in‖y-Ti‖作为人脸x所属的分类。

2.5 系统算法整体流程

本文采用嵌入式QT及OPENCV实现一个实时人脸识别系统[6]。该系统使用本文所提出的嵌入式LINUX视频采集接口(API)和Adaboost算法完成视频图像采集和人脸检测,通过旋转不变和统一模式结合的LBP算子进行人脸特征定位,得到的分块联合直方图作为人脸特征,降维(PCA)后使用岭回归算法完成人脸的识别。系统整体流程图如图4所示。

图4 系统流程图

3 实验结果

本文在MATLAB环境下,对FERET人脸库采用RU-LBP、PCA和岭回归相结合的方法进行算法验证。在FERET人脸库选取其中50类,每类选取2张(2 train)人脸图像作为训练集,剩下的作为测试集,重复进行10次,共获得10组不同的训练集和测试集。类似的可以采用4 train、6 train、8 train、10 train的训练集和测试集。

将此算法与PCA,LDA,RU-LBP与PCA结合等算法进行比较,最终得到各个算法的平均识别率如表1所示。从表中可以看出,PCA,LDA,RU-LBP结合PCA,以及本文所使用算法的最高识别率分别为81.6%,89.1%,90.3%,96.5%。因此,此算法具有更好的识别效果。

表1 4种算法识别率对比

在系统移植时,选取FERET人脸库中19类人脸(每类10张)及本人10张,共200张图片作为训练集。在Linux环境下,以跨平台C++应用程序开发框架QT和机器视觉库OPENCV为开发平台进行算法的移植。最后对整个系统性能进行测试,取得了良好的效果。

4 结语

本文介绍了基于Tiny210的人脸识别系统的设计与实现,简要叙述了嵌入式设备中图像采集,人脸检测,特征定位等算法的理论基础,并独创性地将岭回归方法应用于嵌入式人脸识别系统,在MATLAB中进行了算法验证,得到较好的识别结果。最后,将算法移植到嵌入式ARM中,经测试,系统具有友好的人机交互界面,识别效果良好。该系统的研制对人脸识别系统的实用化工作打下了坚实的基础,具有广泛的应用前景。

[1]An S,Liu W,Venkatesh S.Face Recognition Using Kernel Ridge Regression[C]//Proceedings CVPR,2007.

[2]Lienhart R,Maydt J.An Extended Set of Haar-Like Features for Rapid Object Detection[C]//Proc IEEE Int’l Conf Image Processing,2002,1:900-903.

[3]Timo Ahonen,Abdenour Hadid,Matti Pietikainen.Face Description with Local Binary Patterns:Application to Face Recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2006,28(12):2037-2041.

[4]Jo Chang-yeon.Face Detection Using LBPFeatures[EB/OL].www. stanford.edu/class/.../Jo Face Detection Using LBP Features.pdf.

[5]Lu Yinli,Yu Hongli,Zhang Pengpeng.The Implementation of Embedded Image Acquisition Based on V4L2[C]//Electronics,Communications and Control(ICECC),2011 International Conference. Hengyang,China.2011:549-552.

[6]Jasmin Blanchette(英),Mark Summerfield.C++GUI Qt4编程[M].闫锋欣,曾泉人,张志强,译.2版.北京:电子工业出版社,2011.

[7]江湖,苏详芳,刘立海,等.基于网络的数字视频监控系统[J].武汉大学学报(自然科学版),2000(5):608-612.

[8]王培珍,徐俊生.基于ARM9的嵌入式Linux图像采集设计系统[J].中国制造业信息化,2007(10):85-88.

人脸识别系统在嵌入式ARM上的实现*

王亚民*,何 松,王 维

Implementation of Face Recognition System Based on Embedded ARM*

WANG Yaming*,HE Song,WANGWei
(College of Communication and Information Technology,Xi’an University of Science and Teconology,Xi’an710054,China)

All kinds of the subspace distances obtained between face recognition algorithm of general RU-LBP and PCA combination are not balanced and make it low in face recognition,a ridge regression method for face recognition is proposed.For face feature extraction by using RU-LBP and PCA,and then the regression algorithm is used to identify the ridge,the algorithm can maximizes the average between the various types of distance,and improves the classification ability.In the FERET standard face database,the experimental results indicate that this algorithm can significantly improve the recognition rate exactly.

embedded ARM;face recognition;Adaboost;RU-LBP;ridge regression

10.3969/j.issn.1005-9490.2013.06.006

TP391.41 文献标识码:A 文章编号:1005-9490(2013)06-0779-05

项目来源:陕西省教育厅科研计划项目(12JK0454)

2013-03-20修改日期:2013-04-21

EEACC:6140C

王亚民(1958-),男,山西芮城人,西安科技大学教授,研究生导师,主要从事宽带通信理论与技术、光信息理论与技术、光电传感器领域的研究和物理教学;

何 松(1988-),男,汉族,河南荥阳人,西安科技大学工学硕士,研究方向为:电路与系统,87293745@qq.com。

猜你喜欢

识别率人脸人脸识别
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
基于类图像处理与向量化的大数据脚本攻击智能检测
人脸识别技术的基本原理与应用
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
三国漫——人脸解锁
提升高速公路MTC二次抓拍车牌识别率方案研究
高速公路机电日常维护中车牌识别率分析系统的应用