Gabor+SVM:利用Gabor程序实现对人脸的特征提取,然后用SVM进行分类;
1 Gabor
Gabor 特征提取算法可以在不同方向上描述局部人脸特征,对光照、遮挡以及表情变换等情况具有较强的鲁棒性,即Gabor算法在异常和危险情况下具有较强的系统生存的能力。
1.1 一维Gabor核:
其由一个高斯核与一个复数波的乘积定义为如下公式:

其中w(t)是高斯函数,s(t)是复数波,两者的一维数学表达式定义如下:
我们将s(t)代入一维Gabor公式可得下式:
我们将上述一维情况推广到二维
二维复数波定义如下,其中(x,y)表示空间域坐标,(u0,v0)表示频率域坐标。
二维高斯函数定义如下,其中σx,σy 分别为在x,y两个方向上的尺度参数,用来控制高斯函数在两个方向上的“展布”形状。(x0,y0)为高斯函数的中心点。K为高斯核的幅度的比例。
但是由于高斯函数还有旋转的操作,所以我们对坐标进行如下的变换:
由此,我们得到了坐标变换后的高斯函数公式,其中θ表示高斯核顺时针旋转的角度。
1.2 二维Gabor核
类似一维 Gabor 核,我们将二维高斯函数与二维复数波相乘,就得到了二维的Gabor核:
一个Gabor核能获取到图像某个频率邻域的响应情况,这个响应结果可以看做是图像的一个特征。如果我们用多个不同频率的Gabor核去获取图像在不同频率邻域的响应情况,最后就能形成图像在各个频率段的特征,这个特征就可以描述图像的频率信息了。
下图展示了一系列具有不同频率的 Gabor 核,用这些核与图像卷积,我们就能得到图像上每个点和其附近区域的频率分布情况。
经过 Gabor 滤波获到的人脸图像信息包含实部和虚部两部分,分别代表不同局部的人脸特征信息,为了提取更加全面的人脸特征信息,一般会采用两种特征值相结合的方法,比如幅值和相位信息。但 Gabor 的相位信息会因为人脸空间位置发生改变而不太稳定。Gabor 幅值信息变化相对稳定,并且充分反映了人脸图像的能量谱。因此采取 Gabor 幅值特征。经过Gabor幅值特征处理,得到了人脸 Gabor 特征信息。5 个尺度,8 个方向的 Gabor 特征提取图如下所示:
2 PCA+SVM
2.1 PCA
主成分分析(Principal Component Analysis, 简称PCA)是常用的一种降维方法.
算法步骤:
2.2 SVM介绍
支持向量机(Support Vector Machines, 简称SVM)是一种二类分类模型.
划分超平面为:
3 人脸识别步骤
将每张人脸图片(m,nm,n)读取并展开成(m×n,1m×n,1), 假设总有ll张图片, 所有排列到一起, 一列为一张图片, 最终形成一个(m×n,l)(m×n,l) 的矩阵作为原始数据;
数据中心化: 计算平均脸, 所有列都减去张平均脸;
计算矩阵的协方差矩阵/散布矩阵, 求出特征值及特征向量, 并将其从大到小排列取前K个特征; (到这步特征已将至K维)
计算中心化后的数据在K维特征的投影;
基于上一步的数据进行 One-VS-One Multiclass SVM模型训练;
读取用于测试的人脸图片, 同训练图片一样处理;
利用训练出的模型对测试图片进行分类;
计算准确率.
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]孟逸凡,柳益君.基于PCA-SVM的人脸识别方法研究[J].科技视界. 2021,(07)
[6]张娜,刘坤,韩美林,陈晨.一种基于PCA和LDA融合的人脸识别算法研究[J].电子测量技术. 2020,43(13)
[7]陈艳.基于BP神经网络的人脸识别方法分析[J].信息与电脑(理论版). 2020,32(23)
[8]戴骊融,陈万米,郭盛.基于肤色模型和SURF算法的人脸识别研究[J].工业控制计算机. 2014,27(02)