基于PCA-SVM 的人脸识别方法研究
2021-04-13孟逸凡柳益君
孟逸凡 柳益君
(1.江苏理工学院计算机工程学院,江苏 常州 213001;2.常州市云计算与智能信息处理重点实验室,江苏 常州 213001)
0 引言
人脸识别技术是指包括人脸检测和人脸身份认证技术在内的识别技术。随着国内外人脸识别方法研究的不断发展,人脸识别技术已经广泛进入了人们的日常生活,如日常的考勤打卡、电子身份证等[1]。 本文探究了一种经典的PCA-SVM 人脸识别方法,并通过MATLAB 工具软件进行仿真计算。
1 原理和工具
1.1 PCA-SVM 原理
1.1.1 主成分分析PCA
本文处理的所有原始图片都是112×92 大小的pgm 格式图片,每幅图片包含10304 个像素点,每一行代表一个样本,维数就是10304 维。 维数过大使得数据处理工作十分复杂,同时,图片特征之间的强相关性还会导致“维数灾难”。 快速高效的人脸识别,其关键在于提取到精准表征人脸的特征。从人脸图像中找出最能表征人脸的特征空间, 是主成分分析(Principal Component Analysis,PCA)[2]在人脸特征提取中的基本思想。 在这个过程中,不能表征人脸的属性会被剔除(降维的过程),也就是在一个高维特征空间中利用一组系数对特征加权,来重新表示一张人脸图片[3]。 PCA 过程的数学描述如下:
读取样本矩阵X={xi1,xi2,…,xin} (i=1,2,…,m),假设样本矩阵是一个m 行n 列的矩阵, 其中m 为样本数目,n 为特征数目。
用原始数据X 减均值之后可以得到Z={z1,z2,…,zn},其中
找到一个方向u1,使所有zi在u1方向上投影长度(方差)最大,即最大化展开可以得到

在这个过程中,如果要计算k 个方向(即降为k维),则保留前k 大的特征值对应的特征向量V(V 为n 行×k 列)。
最后得到的降维后的数据为pcaA=(X-Z)×V,pcaA 是一个m 行k 列的矩阵。……
