基于互联网云计算的人脸识别算法研究

2016-10-18 01:25许少榕
关键词:步长人脸人脸识别

许少榕

(福州职业技术学院,福州 350108)



基于互联网云计算的人脸识别算法研究

许少榕

(福州职业技术学院,福州 350108)

基于互联网云计算的人脸识别算法是人工智能的核心算法,也是计算机视觉发展的瓶颈所在。利用主成分分析算法对图像的特征点进行提取,并对传统的细菌觅食算法进行改进,提出了改进的细菌觅食算法(GBFA),利用改进细菌觅食算法对主成分分析法中的目标函数进行求解。将计算过程嵌入MATHEMATICA Cloud云中,利用部署函数对图片进行操作,开发人脸识别程序Face_Recognition,并分别针对智能抠图抽丝、人脸分类、同一人物人脸匹配、寻找特定人物4种功能形态进行测试,测试结果显示,提出的基于互联网云计算的人脸识别算法对于人脸识别、人脸分类、人脸筛选等具有极强的适应性和极高的精确度。

MATHEMATICA Cloud;主成分分析;GBFA;抠图抽丝

0 引言

基于互联网云计算的人脸识别算法是人工智能的核心算法,也是计算机视觉发展的瓶颈所在,是国内外学者长期关注的课题[1-4]。

FAN Li-qiang[5]利用主成分分析法提取图像的特征点,并利用Matlab中的求解程序解答主成分分析法中的目标函数,获得了较好的图像识别效果,但仅仅针对背景单一的人脸可以识别,对于具有复杂背景的人脸的识别效果较差。Planck[6]通过传统的细菌觅食算法求解主成分分析法中的目标函数,解答速度较快,对3D人脸的适应性较强,但精度较差,难以给出较为准确的人脸位置。Tanaka J W等[7]基于互联网云计算,大大提升了求解的速度,对于不同形态的人脸图像具有很强的适应性,但所使用的云计算平台稳定性较差,时常出现无法计算或者计算精度较差的现象。Kikkeri等[8]利用迹线追踪的原理,对人脸的细部构造进行细致刻画,对同一人物不同形态下的识别能力较强,但对于阴暗的背景,迹线往往出现严重的偏差,时常将背景颜色也归类到人脸之中。Yifrach A等[9]利用Hadoop云计算平台,针对阴暗背景下的脸部进行着重刻画,对于背景的识别能力较强,但是对于强光下的人脸,其计算精度和识别能力都较差。

本文在前人研究的基础上,选用细菌觅食算法(简称BFA,下同),同时基于免疫算法(generate and test)的相关概念,融合半解析解的相关思想[10],针对BFA算法的3个操作环节(复制操作环节、趋向性操作环节和迁移操作环节),提出BFA的一种优化算法GBFA(Generate Bacterial Foraging Algorithm)。然后,选用稳定性较好、数据库较为丰富的收费云计算平台——MATHEMATICA Cloud,利用部署函数对图片进行操作,开发人脸识别程序Face_Recognition,并分别针对智能抠图抽丝、人脸分类、同一人物人脸匹配、寻找特定人物4种功能形态进行测试,验证本文提出的基于互联网云计算的人脸识别算法对于人脸识别的适用性,以期为其他人脸识别算法提供借鉴。

1 人脸图像识别算法

1.1主成分分析法

人脸图像主要特征的提取是基于主成分分析法原理。人脸图像包含了很多细节特征,准确地评价这些特征对于识别人脸具有重要的意义。但是人脸图像的多个细节特征是相互关联的,如果对每个细节特征都进行细致的分析,会导致计算量的大幅度增加和决策函数的升维。主成分分析法就是利用降维的思想,将这些繁杂的细部特征转化为数目较少的综合性特征指标。

主成分分析法的主要步骤如下:

Step1:对原始数据进行标准化采集,该集合x的维度为P。

x=(X1,X2,X3,…,Xp)T,

(1)

其中,n(n>P)个样品的集合Xi为

Xi=(X1i,X2i,X3i,…,Xpi)Ti=1,2,3,…,n。

(2)

针对样本阵元进行标准化变换

(3)

(4)

(5)

称Z标准化阵。

Step2:标准化阵Z的矩阵系数

(6)

其中,

(7)

Step3:求解R的特征方程

|R-λIP|P=0,

(8)

按照

(9)

Step4:将指标变量转化为主成分

(10)

式中:U1为第一主成分;U2为第二主成分;U3为第三主成分;UP为第P主成分。

Step5:对载入的人脸图像进行几何归一化处理。假设载入的人脸图像的像素点为m×n,则将像素储存在列向量(X1,X2,X3,…)T中。

Step6:求得平均人脸:

(11)

训练样本的协方差矩阵为

(12)

取差值向量

wi=xi-μx,

(13)

w=(w1,w2,w3,…,wn)。

(14)

Step7:投射到待检测空间,则每幅图像在特征空间的坐标函数为

yi=UT(xi-μx)=UTwi,

(15)

其中,

(16)

同样可以将待测图像xtest投射到特征子空间之中。

ytest=UT(xtest-μx)。

(17)

Step8:利用距离分离器进行辨识,目标函数为

minDist=min||yi-ytest||。

(18)

1.2方程求解

对于1.1节提出的目标函数,利用改进细菌觅食算法(GBFA)进行求解。BFA(细菌觅食算法)中第i次的步长为

(19)

式中:NS为BFA虚拟的细菌群落中细菌游动的最大次数;Led为细菌游动的初始步长。

细菌移动的每一次步长均小于初始步长Led。并且,计算开始之时(i值较小),第i次的步长很大,可以提高搜索的速度,使得计算可以更快进行;随着计算过程的进行(i值的增大),第i次的步长会越来越小,这是为了在计算的后期,保证足够的收敛精度。

在趋向性操作步长的动态更新机制建立之后,将群落中所有细菌的适应度进行累加,并由从大到小的顺序进行排列,形成细菌序列。将细菌序列前m(m为百分比)部分的细菌进行复制n次,将细菌序列中的其余细菌进行剔除,m和n的关系为

(20)

如此一来,使用细菌群落中m部分的细菌代表了原有的细菌菌落,可以提高细菌群落的整体觅食能力。此后,依照如下步骤对细菌菌落进行变异、繁殖:

1)挑选出细菌群落中适应度较高的细菌,标记为克隆群体A;

2)克隆群体A繁殖成为群体B:

(21)

式中:Round为四舍五入函数;S为细菌群落的整体个数;A(i)为计算的克隆群体A的个数;i为第i次计算;α为克隆的系数。

为了方便计算,将适应度F进行标准化

(22)

式中max为取最大值函数。

3)对群体B进行变异操作,生产群体C:

B(i)=B(i)+βrandomn(C),

(23)

式中:random为随机函数;B(i)为计算的克隆群体B的个数;β为变异概率,计算方法为:

β=e-F(n-i+1),

(24)

根据上式可知,适应度越高的个体,变异概率β越大。

因为交叉方法

H=B(x1)-B(x2)+B(x3)-B(x4),

(25)

式中x1、x2、x3、x4为克隆群体A中4个不同的细菌。将群体C融合进入群体B中,形成群体D:

D=B+C。

(26)

4)对群体D中,将其中前m(m为百分比)部分的细菌进行n次复制,将其余细菌进行剔除。

在传统的BFA算法之中,需要设定一个迁移概率Ped,如果随机数小于迁移概率Ped,就会对细菌进行迁移操作。这样做的目的是希望细菌可以跃出局部最优解的陷阱。但是,这种做法同样具有极大的弊端,因为迁移概率Ped对于所有的细菌都有效,无论细菌的适应度如何,都可能被迁移。GBFA算法在迁移操作环节中,适应度最高的个体被驱散的概率为0,适应度最高的个体被驱散的概率为Ped,以提高搜索的速度。根据以上思想,绘制GBFA算法流程图,如图1所示。

2 MATHEMATICA Cloud云计算平台搭建

MATHEMATICA Cloud是针对正版MATHEMATICA软件开发的云计算服务平台,之所有没有选择常用的云计算平台Hadoop,主要有4点原因:1)MATHEMATICA Cloud面对付费用户,进行了初步的信息筛选[11];2)MATHEMATICA Cloud其中涉及到大量的人文数据、经济数据、地理数据,数据库实施维护,其真实性得到了保障[12];3)面向互联网具有自己的搜索引擎,其搜索引擎基于机器学习算法,对于信息具有很强的识别与筛选能力[13];4)该软件为付费用户提供了快捷便利的接口,只需要在客户端上进行程序编写便可以自动导入云中进行计算[14]。

表1 程序主要函数

表1(续)

表1展现了计算机人像识别程序的主要函数。利用这些函数可以对图像进行复杂的操作,并最终实现识别人像的目的。

3 程序运行结果

利用上述原理和函数,编制人脸识别程序Face_Recognition,利用Face_Recognition对图像进行识别。

3.1面部识别

在对程序输入图像之后,程序会自动对图像进行扫描并提取其中的像素点,同时将像素排列成矩阵,根据上述算法进行特征点的提取,如图2所示。图2(b)中的某些像素点是背景,需要剔除,已精简计算规模。利用MATHEMATICA Cloud对人像、人体挂饰、服饰、基础动作的数据,根据图2(b)中的特征点,去除背景部分,进而实现抠图功能。图2(c)展现了Face_Recognition的抠图能力,根据图2(b)可以看出,婴儿头部右侧发梢得到了很好的抽丝。说明MATHEMATICA Cloud中对于婴儿发梢的数据较为丰富,可以针对不同的事物实现高精度辨识,以达到抽丝效果。图2(d)展现了Face_Recognition的识别效果,可以准确地定位到人像面部。

(a)原图

(b)图像特征点

(c)抠图、抽丝效果

(d)识别效果

3.2含有条件的面部识别

图3中,分别添加了3种识别条件:第一种识别条件为识别图像中所有的人,第二种识别条件为识别图像中的孩童,第三种识别条件为识别图像中的成人。根据图3可以看出,在这3种识别条件下软件都表现了很好的适应性。

(a)原图

(b)人像识别

(c)寻找孩童

(d)寻找成人

3.3人像匹配度

图4展现的是刘德华先生不同时期、不同环境、不同装束、不同形态下的图片,依照Face_Recognition对6幅图像进行对比识别,计算两者之间的相似程度(见表2)。

(a)

(b)

(c)

(d)

(e)

(f)

abcdefa1.0000000.9773620.9505470.8518930.9092650.906742b0.9773621.0000000.9738080.9517210.9977110.957371c0.9505470.9738081.0000000.9549620.8096390.992643d0.8518930.9517210.9549621.0000000.9371850.817387e0.9092650.9977110.8096390.9371851.0000000.981162f0.9067420.9573710.9926430.8173870.9811621.000000

根据表2可以看出,图像之间的相似程度皆在0.8以上,说明Face_Recognition对不同时期、不同环境、不同装束、不同形态下的人物具有极强的识别能力。

4 寻找特定人物

图5展现的是从众多人像中识别林志玲女士的效果图。在向Face_Recognition输入图片之后,调取MATHEMATICA Cloud中所有关于林志玲女士的面部数据。然后,对输入图像进行面部识别,寻找其中与林志玲女士相似度最高的人像。

(a)原图

(b)识别效果图5 从众多人像中识别林志玲女士

5 结语

本文针对人脸识别问题,利用MATHEMATICA Cloud云,开发Face_Recognition程序,实现对图像的人脸识别、抠图、抽丝等操作,具体而言,有如下4点结论:

基于MATHEMATICA Cloud云,Face_Recognition程序可以实现对输入图像特征点的提取,并自动完成对输入图像的抠图、抽丝操作;

基于MATHEMATICA Cloud云,Face_Recognition程序可以基于输入的图像,自动对图像进行分类,并可以单独提取其中的某些特定类别。

基于MATHEMATICA Cloud云,Face_Recognition程序可以针对输入图像中的人物进行判别,可以识别不同时期、不同环境、不同装束、不同形态下的同一人物。

基于MATHEMATICA Cloud云,Face_Recognition程序可以针对特定的任务进行搜索,并从繁杂的人物头像中进行比对、筛选。

[1] Naveen S,Moni R S.Contourlet and Fourier Transform Features Based 3D Face Recognition System[M].Germany:Springer International Publishing,2016:411-425.

[2] Guo Yulan,Lei Yinjie,Li Liu,et al.EI3D: Expression-invariant 3D face recognition based on feature and shape matching[J].Pattern Recognition Letters,2016,23:65-67.

[3] L Aijing,Y Jin,MI Ali.Design of the hospital integrated information management system based on cloud plat-form[J].The West Indian Medical Journal,2015,34(5):521-526.

[4] Li Hongjun,Ching Y.Suen.Robust face recognition based on dynamic rank representation[J].Pattern Recognition,2016,60:13-24.

[5] FAN Li-qiang,LV Guo-fang.Prediction of concrete strength based on high dimensional cloud RBF neural net-work[J].Electronic Design Engineering,2016(8):60-67.

[6] Charles Beumier.3D Face recognition[C]//Industrial Technology,2006.ICIT 2006.IEEE International Conference on.New York:IEEE,2006.

[7] Tanaka J W,Simonyi D.The“parts and wholes”of face recognition:a review of the literature[J].Quarterly Journal of Experimental Psychology,2016,69(10):1-37.

[8] Kikkeri H N,Koenig N F.Face recognition using depth based tracking[J].Free Patents Online,2016(5):92-96.

[9] Yifrach A,Novoselsky E,Solewicz Y A,et al.Improved nuisance attribute projection for face recognition[J].Formal Pattern Analysis & Applications,2016,19(1):69-78.

[10] 王俊奇,李闯,董晔.Bishop法的半解析解及其广义数学模型[J].水利与建筑工程学报,2015(6):123-128.

[11] Policy M.About Us:Child Welfare[J].Mathematica Policy Research Reports,2016.

[12] Deppisch T.E6Tensors:A Mathematica Package for E6 Tensors[J].Thomas Deppisch,2016,19:15.

[13] Clark D B,Godat E,Olness F I.ManeParse:a Mathematica reader for Parton Distribution Functions[J].High Engery Physics-Phenomenology,2016(15):16.

[14] Tabakin F.QDENSITY/QCWAVE:A Mathematica quantum computer simulation update[J].Computer Physics Communications,2016,201:171-172.

The Study on Face Recognition Algorithm Based on Internet Cloud Computing

XU Shao-rong

(FuzhouPolytechnic,Fuzhou350108,China)

Face recognition algorithm based on Internet cloud computing is the core algorithm of artificial intelligence,and also the bottleneck lies in the development computer vision.In this paper,the features of the images have been extracted by the principal component analysis algorithm,and some improvements have been made for the traditional bacterial foraging algorithm.An improved bacterial foraging algorithm(GBFA)has been put forward.The target function in the principal component analysis has been solved by the improved bacterial foraging algorithm.The calculation process is embedded in Mathematica Cloud.By using the deployment function,the images have been manipulate,and the face recognition program has been developed.The four functional forms of smart matting spinning,face classification,face matching of the same people,and looking for a specific person have been tested.The results show that the face recognition algorithm based on the Internet cloud proposed in this article has a strong adaptability and high accuracy for face recognition,face classification,face screening,and so on.

Mathematica Cloud;principal component analysis;GBFA;matting snag

10.3969/j.issn.1009-8984.2016.03.025

2016-06-06

许少榕(1982-),女(汉),福建闽侯,实验师

主要研究计算机技术。

TP391

A

1009-8984(2016)03-0111-05

猜你喜欢
步长人脸人脸识别
人脸识别 等
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
三国漫——人脸解锁
基于逐维改进的自适应步长布谷鸟搜索算法
长得象人脸的十种动物
一种新型光伏系统MPPT变步长滞环比较P&O法