APP下载

基于PSO-KNN 算法的人脸识别优化研究

2021-04-20罗志刚

电子设计工程 2021年6期
关键词:人脸人脸识别分类器

罗志刚

(南方电网有限责任公司广东佛山供电局,广东佛山 528000)

随着数字化和移动支付的日益普及,通过传统的密码和口令卡来保护机密数据变得愈发困难。由于生物识别技术为用户提供了更高水平的安全性,研究人员将重点放在了生物识别技术上[1]。生物特征识别是指利用人的生理和行为特征(如指纹、面部、虹膜、声音、步态等)进行身份识别[2]。通常,人脸识别由于其独特性、不变性和低成本等特点,已被广泛应用于移动支付、登机识别等个人身份认证[3]。然而,由于尺寸、种族、光照、姿势、表情和年龄的不同,人脸识别难以准确实现。目前,人脸识别的研究主要集中在基于纹理的匹配,纹理分析最重要的是利用邻域来表达人脸图像中存在的强度值空间行为。局部二值模式(LBP)是从人脸图像中提取最具识别性特征的有效方法[4]。

在计算机视觉领域,为了降低特征空间的维数并提高识别精度,消除冗余以及不相关面部特征的方法主要有遗传算法(GA)[5]、粒子群优化算法(PSO)[6]和蚁群优化算法(ACO)[7]等进化算法。K 近邻(KNN)在统计估计和模式识别中已广泛应用,并且文献[8]已经证明KNN 是一种简单且高效的人脸识别算法。在基于种群的优化算法中,由于PSO不存在局部极小问题,因此可用于模式识别中的参数优化。

文中提出了一种基于PSO-KNN 算法的人脸识别方法,从人脸图像中提取最具识别性的LBP 特征,并利用GA、PSO 和ACO 等进化优化算法降低特征空间的维数,并研究了PSO 算法在KNN 算法中对K 值的优化,提出的具有元启发式算法最佳特征的PSOKNN 可以准确识别个体。最后,利用提出的PSOKNN 算法对人脸进行生物特征识别。

1 特征提取

特征检测及其提取是生物特征人脸识别中的基础工作[9]。特征作为图像的可量化度量,其指定了图像的颜色、形状、纹理或上下文相关信息的重要特征。其中,纹理是生物特征图像中最强大的特征描述符。纹理以规则的间隔定义信息的重复模式或结构来排列。文中利用已广泛应用于各种模式识别问题的局部二值模式(LBP)来处理纹理描述符的方法,从生物特征人脸图像中提取最具区别性的特征。所提取的LBP 特征对光照效果、姿态、表情和人的年龄具有不变性。

人脸图像I的LBPP,R运算符定义为:

其中,s(x) 为阈值函数,Ic为中心像素的强度值,Ip为其相邻像素的值,P为所考虑的相邻像素数量,R为相邻像素的半径。设M×N为人脸图像的大小,在计算每个像素(i,j)的LBP 模式之后,通过构建直方图来表示整个人脸图像:

其中,Z表示人脸图像中LBP 的最大值。

2 特征选择

随着许多基于种群的优化算法的出现,研究人员将研究重点放在选择最优特征[10]上。通过识别人脸图像中最重要的特征来构建具有鲁棒性的人脸识别模型。文中采用了元启发式算法(例如GA、PSO和ACO)来选择最优特征。

2.1 遗传算法(GA)

GA 作为进化优化算法,通过对种群的个体进行操作来寻找最优解[11],其可以应用于具有噪声且不连续的数据集。通过随机创建候选解方案,选择LBP 特征作为KNN 分类器的输入,并计算适应度函数(即准确性)。算法1 给出了用于选择最优LBP 特征的GA 算法的概述。

算法1:人脸特征选择的遗传算法

输入:原始特征集

输出:简化特征集

步骤1:随机生成一个个体种群;

步骤2:利用KNN 分类器模型对种群进行评估;

步骤3:当不满足停止条件时,选择最优个体进行繁殖;

步骤4:对选择的个体进行交叉和变异操作;

步骤5:评估新个体的适应度(即准确性);

步骤6:将最差的个体替换为准确性较低的个体;

步骤7:返回最优特征子集。

2.2 粒子群优化算法(PSO)

PSO 是基于种群的元启发式优化算法[12]。在PSO 中,每个粒子的位置代表特征选择问题的候选解(即特征向量)。算法2 给出了用于选择最优LBP特征的PSO 算法的概述。

算法2:人脸特征选择的粒子群算法

输入:原始特征集

输出:简化特征集

步骤1:随机初始化粒子;

步骤2:利用KNN 分类器模型对粒子进行评估;

步骤3:当不满足停止条件时,根据KNN 的适应度(即准确性)计算全局最优解gB和局部最优解pB;

步骤4:计算每个粒子的速度并更新位置;

步骤5:返回最优特征子集。

2.3 蚁群优化算法(ACO)

ACO 是从蚂蚁觅食行为中得到的启发,在找到食物来源后,蚂蚁会在路径中放置一些信息素并间接地传递给其他蚂蚁有关食物来源的有用信息[13]。算法3 给出了用于选择最优LBP 特征的ACO 算法的概述。

算法3:人脸特征选择的蚁群优化算法

输入:原始特征集

输出:简化特征集

步骤1:随机初始化信息素;

步骤2:利用KNN 分类器模型对路径进行评估;

步骤3:当不满足停止条件时,使用最佳k个蚂蚁的特征子集来更新信息素踪迹;

步骤4:返回最优特征子集。

蚂蚁做出路径选择的概率为:

其中,ρ为信息素蒸发系数。

3 基于PSO-KNN算法的人脸识别

3.1 KNN算法

KNN 算法是一种最简单的基于实例的学习算法,其优点是能够从大型的训练集中快速找到最接近的目标[14],并且进行更有针对性的学习。与常用的决策表(DT)、MLP、SVM 等方法相比,KNN 算法具有执行时间短、识别准确率高等优点,因此更适合对人脸图像进行识别。通常,KNN 利用距离度量从训练集中找到最接近的人脸。算法4 给出了用于人脸识别的KNN 算法的概述。

算法4:基于KNN 算法的人脸识别

输入:查询人脸图像

输出:匹配人脸图像

步骤1:数据集中的每个人都分配了一个类标签C={P1,P2,…,Pn};

步骤2:初始化K(K=2,3,…)值和距离矩阵;

步骤3:使用距离矩阵找到输入样本的K近邻;

步骤4:运用大数表决法选出最普通的人脸;

步骤5:将最普通的人脸标签分配给测试样本。

3.2 PSO-KNN算法

PSO 算法以鸟群和鱼群的社会行为为驱动,PSO的基本操作为交流和学习。在PSO 中,每个粒子的位置代表了所考虑优化问题的候选解。在每次迭代中,每个粒子都通过改变其速度来搜索更好的位置。每个粒子的位置P和速度V的更新为:

算法5:基于PSO-KNN 算法的人脸识别

输入:查询人脸图像

输出:匹配人脸图像

步骤1:数据集中的每个人都分配了一个类标签C={P1,P2,…,Pn};

步骤2:初始化PSO 参数(种群规模N、惯性权重W、个体学习系数C1、全局学习系数C2);

步骤3:利用随机K值训练KNN 算法,并计算适应度函数的精度;

步骤4:根据适应度函数计算每个粒子的位置;

步骤5:如果粒子当前位置优于其先前的最佳位置,则通过以下公式更新粒子的位置:

步骤6:根据粒子先前的最佳位置确定种群中的最优粒子。

步骤7:使用式(10)更新粒子的速度:

步骤8:将粒子移动到其更新位置;

步骤9:转到步骤3,直到满足停止条件或达到最大迭代次数;

步骤10:利用优化的K值训练KNN 算法,并找到输入样本的K个近邻;

步骤11:运用大数表决法选出最普通的人脸;

步骤12:将最普通的人脸标签分配给查询样本。

4 实验分析

文中提出并讨论了用于人脸识别的PSO-KNN算法,并在实时人脸数据集和标准的ORL 人脸数据集上进行了实验,该方法进一步减少了LBP 得到的特征,从而更好地识别人脸图像。

4.1 数据集

使用图1 所示的200 万像素罗技网络摄像头,从155名受试者中各创建10个不同姿势的面部数据集。

图1 人脸图像传感器

从受试者获取的人脸图像样本如图2 所示,每个图像的大小从144 kb 到150 kb 不等。

图2 从受试者身上采集的人脸图像样本

所提方法也在包含400 张人脸图像的标准ORL人脸数据集上进行了验证,如图3 所示。

图3 ORL数据集的人脸图像样本

4.2 实验结果

文中比较了PSO-KNN 算法与决策表、SVM、MLP、KNN 等标准基准分类器的性能,这些算法会接收到从基于种群优化技术(如GA、PSO 和ACO)获得的简化特征集。GA、PSO 和ACO 算法的参数分别如表1~3 所示。

表1 GA参数

表2 PSO参数

表3 ACO参数

文中使用5 种相似性度量指标来分析不同最近邻对KNN 算法的性能影响。假设X=(X1,X2,…,Xn)和Y=(Y1,Y2,…,Yn)分别表示真实人脸图像的特征样本和算法所选择人脸图像的特征样本。欧氏距离(Euclidean)定义为:

其中,Cov(X,Y)为X和Y之间的方差,Std(X)和Std(Y) 分别为X和Y的标准差。马氏距离(Mahalanobis)定义为:

其中,S为X和Y之间的样本协方差矩阵。

对于实时人脸数据集,表4 给出了不同相似性度量下KNN 算法的准确率性能分析。

表4 不同相似性度量下KNN算法的准确率性能分析

由表4 可见,采用KNN 算法,识别率最高为92.38%,最低为81.03%。在相似性度量中,余弦相似性优于其他度量。在余弦相似条件下,最高和最低准确率分别为92.38%和84.19%。

文中对比了提出的PSO-KNN 与决策表(DT)、支持向量机(SVM)、多层感知器(MLP)和传统的KNN 等基准识别技术的准确率分析结果,如表5 所示。

表5 PSO-KNN算法与现有基准算法准确率比较分析

由表5 可见,DT、SVM、MLP、KNN 和PSO-KNN与实际特征集的匹配准确率分别为87.07%、84.71%、87.60%、88.71%和92.38%。对于DT 分类器,GA、PSO 和ACO 的准确率分别为90.64%、91.61%和91.29% 。DT 对PSO 算法的最高准确率为91.61%。对于SVM 分类器,GA、PSO 和ACO 的准确率分别为89.67%、90.96%和89.80%。SVM 对PSO 的最高准确率为90.96%。对于MLP 分类器,GA、PSO和ACO 的 准 确 率 分 别 为90.32%、92.45% 和92.84% 。SVM 对PSO 算法的 最高准确 率为92.45%。KNN 对PSO 算法的准确率最高达94.20%。

KNN-PSO 算法识别率最高为97.41%,最低为92.38%。其中,PSO 的准确率为97.41%,ACO 的准确率为96.45%,GA 的准确率为95.48%。在这3 种算法中,PSO 算法的准确率高达97.41%,比ACO 算法提高0.96%,比GA 算法提高了1.93%。结果表明,文中提出的KNN-PSO 比DT、SVM、MLP 和KNN 具有更好的性能。

对于实时人脸数据集,具有不同相似性度量的KNN 算法的准确率性能分析结果如图4 所示。各种算法准确率性能分析如图5 所示。

图4 KNN算法准确率性能分析

图5 各种算法准确率性能分析

对于标准的ORL 人脸数据集,对提出的人脸识别模型进行了验证,结果如表6 所示。

表6 基于ORL数据集的准确率比较分析

在标准ORL 数据集上,不同分类器准确率性能分析结果如图6 所示。

图6 ORL数据集上不同分类器准确率性能分析

由表6 和图6 可见,在基于元启发式的种群特征选择方法中,PSO 生成了用于人脸识别的最佳特征子集。综上所述,与DT、SVM、MLP 和KNN 相比,文中提出的PSO-KNN 具有更高的准确率。

为了验证文中提出的PSO-KNN 算法具有更好的人脸识别效果,对于标准的ORL 人脸数据集,将RANSAC(ORB2-IPR)方法[15]、CBR[16]和非相关判别SPP(UDSPP)算法[17]与文中方法进行比较,结果如表7所示。

表7 与现有方法的性能比较

由表7 可见,与文献[15]基于RANSAC (ORB2-IPR)的兴趣点识别方法和文献[16]局部遮挡条件下案例推理(CBR)的人脸识别系统相比,文中提出的PSO-KNN 方法具有更好的识别率和识别效果。同时,与文献[17]的非相关判别SPP(UDSPP)算法相比,PSO-KNN 算法具有更高的准确率。

5 结束语

人脸识别是生物特征识别中最可靠的方法。文中将PSO-KNN 算法引入到人脸识别中,利用LBP 方法提取人脸图像中存在的判别信息,结合GA、PSO和ACO 进一步降低了特征集的维数。运用PSO 对KNN 算法中的参数K进行优化。最后,利用所提出的PSO-KNN 算法进行人脸识别。实验结果表明,文中提出的PSO-KNN 算法比现有的DT、SVM、MLP 和KNN 等方法具有更好的识别效果。此外,与GA 和ACO 相比,PSO 在特征数较少的情况下具有更好的准确率,并且与CBR、ORB2-IPR 和UDSPP 人脸识别方法相比,所提出的方法能够更有效地识别生物特征。在未来的人脸识别研究中,KNN 的变种将与其他优化算法相结合。

猜你喜欢

人脸人脸识别分类器
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
人脸识别技术的基本原理与应用
三国漫——人脸解锁
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
长得象人脸的十种动物
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别