基于人工蜂群算法的人脸识别

2019-04-18 05:44白荟琳陈少杰刘添添
关键词:蜜源适应度人脸

白荟琳,曲 娜,陈少杰,刘添添

(沈阳航空航天大学安全工程学院,辽宁 沈阳 110136)

由于人脸具有唯一性、易于采样等优点,因此,人脸识别与检测技术应用受到广泛关注【1】。2003年,甘俊英、张有为等【2】将BP神经网络算法应用到人脸识别中并建立模型。王宏漫、欧宗瑛等【3】使用独立PCA的方法来提取更适合分类的人脸特征的主要独立分量,后采用支持向量机分类机制进行识别。周德龙、高文、赵德斌等【4】采用奇异值分解和判别式KL投影等技术来提取最终特征进行识别,这种方法能让分类器做的更简明有效,采用相对比较少的特征向量数目反而得到一个相对较高的识别率。Jiang、Hu等【5】在2005年将三维重建图像技术应用到人脸识别中,先将标准条件下的二维人脸重构成一幅三维标准人脸模型,后将各种不同条件如发型、神情、光照之类的因素放入此模型当中,将其组成一个较为繁杂多变的样本,然后使用主成分将人脸部的特点分析出来,不过这种办法对于初始二维人脸图像标准很严格,而且进行识别的时间也非常久。2008年,王玮、黄非非、冯海亮等人【6】首次提出以多尺度LBP特征为基础的人脸描述与识别算法,并且得到了非常高的识别率。Tang、Yin等【7】用三维人脸构建二维人脸库,将多姿态人脸转化为两张单独照片的比对,但计算复杂,耗时较长。王宪、陆友桃、宋书林等【8】在2012年首先通过Gabor小波变换提取人脸图像中的特征,利用PCA方法继续处理、识别。2014年,马小虎、谭延琪等【9】提出了鉴别稀疏保持嵌入的算法,利用最小二乘问题的结果对SPP中的稀疏权进行了改进,得到了更有价值的判别稀疏权,从而有效地反映了SPP中的判别信息,以保持这个最优的稀疏权为目标来计算低维特征子空间。本文主要研究人工蜂群算法在人脸检测和识别方面的匹配应用,通过PCA方法提取人脸图像中的主要特征,继而利用人工蜂群算法迭代计算,最终实现匹配,速度较快,鲁棒性较好。

1 PCA人脸特征选取

通常在进行人脸识别时将图像视作一个像素矩阵,一幅大小为w×h的人脸图像,按列展开,可将其看做长度为w×h的列向量,相当于图像处于一个高维空间中,但数据分布较分散、冗余信息较多。实际应用时,需要通过某种变换将高维空间中的数据投影到低维子空间,将冗余信息去除掉,从而更好地进行分类。从一幅人脸图像来看,神情、表情特征最主要从嘴巴、眼睛反映出来。因此,要是能将这些最明显的特点给提取出来,那么识别率将会非常高。利用主成分分析法将这些特点提取出来。该方法不仅对高维数据进行降维,还消除数据相关性和噪声。将原始数据的N个特征用较少的M个特征替代,尽量使这M个特征互不相关,进而通过M个特征的线性组合表示原始的N个特征。识别过程是先将特征脸组成一个空间,再把待识别的人脸图像映射到特征脸空间。具体步骤如下【10】:

1)计算所有样本的均值µ和协方差矩阵S,如式(1)、(2)。

2)计算协方差矩阵S的特征值,记该矩阵的特征值为λ1,λ2,…,λn,并由大到小进行排序,如式(3)。

3)将前m个特征值所对应的矢量构建成一个矩阵R,一般情况而言,如果特征值较小所对应的特征矢量包含噪声的可能性越大。所以实际应用中,选择前m个特征矢量,即为PCA提取出的主成分。

2 人工蜂群算法的应用

蜜蜂通过“8字舞”的方式交流蜜源及采蜜信息,实现自组织行为。人工蜂群(Artificial Bee Colony,ABC)就是将这一自然现象建立成模型,主要包括跟随蜂、引领蜂和侦察蜂。蜜源i(i=1,2,...,NP)的质量潜在解与适应度值fiti相适应。跟随蜂和引领蜂的综合就是蜜源的数量,并且在同一个时间段内只有一个引领蜂在蜜源里作业。假设每个蜜源是一个D维向量,t为迭代次数,xid∈(Ld,Ud),Ld和Ud分别为迭代空间的上限和下限,且有d=1,2,...,D。由此,蜜源i初始位置在搜索空间中随机生成的方式如式(4)所示。

在初始搜索阶段,根据式(2)内容引领蜂在周边探寻蜜源,从而发现新的蜜源。

其中,d为区间[1,D]内的随机整数,表示引领蜂在D维向量中随机抽选一维d进行搜索,而j≠i,且j∈ [1,2,...NP],即在NP个蜜源当中随机挑选一非i蜜源,φ为决定扰动的幅度,均匀、随机分布在[-1,1]当中。

当搜索到的新蜜源Vi=[vi1,vi2,...,vid]对空间的适应度优于Xi时,则以新蜜源取代旧蜜源,若新蜜源Vi对空间的适应度小于旧蜜源Xi,则保留Xi。

在全部引领蜂完成式(5)运算后,便飞回到蜂巢对所发现的蜜源进行资源共享,发现新蜜源的引领蜂带着跟随蜂去到新的蜜源,具体表示如式(6)。

最后,跟随蜂以轮盘赌的方式对引领蜂进行选择,简单来说就是在[0,1]生成一均匀分布的随机数r,当Pi>r时,跟随蜂则以式(6)为依据在蜜源i周边构建一新的蜜源,并与引领蜂采用相同的贪婪选择法对应保留蜜源予以确定【11】。

在发现蜜源整个阶段中,如果蜜源Xi经过了trial次迭代已达到阈值limit,却没有探寻到更好的蜜源,则应将该蜜源遗弃,而后该蜜源所对应的引领蜂角色便转变为侦查蜂,侦查蜂继续在搜索空间中生成新的蜜源Xt+1i,表示为式(7)。

为保持人工蜂群算法的一般性,其解的适应度评价应以式(8)为依据进行计算:

式中,fi为解的函数值。可以把人工蜂群算法重点分为引领蜂搜索新蜜源、引领蜂及时将蜜源信息进行传递、引领蜂转变身份变成侦查蜂后进行作业3个部分。

ABC人脸识别过程如下【12】∶

1)初始化:设定蜜源Xi、参数NP以及limit和迭代次数的上限t,将待匹配样本作为识别对象。

2)蜜源Xi分配1只引领蜂出来作业,根据式(5)内容进行搜寻,最后搜寻到新的蜜源Vi,再进行图像处理得到人脸部分特征并在人脸库中进行搜索。

3)根据式(8)对新搜索到的蜜源Vi的适应度进行评价,并以贪婪选择法确定出应该保留的蜜源;在与人脸库的所有样本比对过程中,将每次比对后的匹配率计算出来。

4)根据式(6)计算出蜜源被引领蜂找出且被跟踪的概率。

5)跟随峰搜索蜜源的方案和引领蜂一样,由贪婪选择性选出来的方案来确定蜜源并将其保留。然后从所有样本中留下匹配率最高的,再看看蜜源是不是应该被放弃。如果蜜源满足被放弃的条件,那么相对的引领蜂将会换身份成侦查蜂,相反就转换到过程7);对比最终挑选样本与待测样本的匹配率是否满足要求。

6)侦察蜂根据式(7)随机产生Vi。

7)t=t+1,判断迭代次数是否达到上限,是否有遗漏,若满足,则输出匹配率最高的样本作为最终结果;若不满足,证明存在未被比对的样本,故转到过程2)继续进行比对。

3 仿真实验

利用MATLAB的图形用户界面(GUI)编程得到易于操作的人脸识别界面。

3.1 不同实验条件下的结果

1)图1是在自然光条件下进行人脸识别的结果。

图1 自然光条件下人脸识别结果

2)图2~图5为人工蜂群算法对于人脸在不同角度、表情、发型等条件下识别的结果。

图2 不同角度的人脸识别结果

图3 不同表情的人脸识别结果

图4 不同表情和发型的人脸识别结果

图5 不同表情和光照的人脸识别结果

3.2 实验结果分析

实验利用ORL YALE数据库,采集了15个人的人脸图像,每个人有10个图像,图像大小是112×92,总共150张图像。图像的细节包括是否佩戴了镜框,眼睛打开角度,头发的长短,表情的不同等不同程度的变化。除此之外,人脸的姿态也有很大变化,如人脸旋转角度大概可达到20°,尺寸也会有10%的幅度变化,YALE人脸数据库部分图像如图6所示。仿真实验共进行了60组人脸识别,其中58组识别正确,准确度为96.7%。

图6 部分人脸库图像

4结论

利用主成分分析法将人脸图像中的主要特点、重要信息进行识别提取,减少了计算量。利用人工蜂群算法进行人脸识别,提高了识别的准确率。仿真实验共进行了60组人脸识别(包括不同光照、姿势、表情等),其中58组识别正确,准确率为96.7%,说明该方法是有效的。

猜你喜欢
蜜源适应度人脸
改进的自适应复制、交叉和突变遗传算法
林下拓蜜源 蜂业上台阶
有特点的人脸
一起学画人脸
三国漫——人脸解锁
指示蜜源的导蜜鸟
一种基于改进适应度的多机器人协作策略
蜜蜂采花蜜
基于空调导风板成型工艺的Kriging模型适应度研究
长得象人脸的十种动物