2016数据挖掘6作业人脸识别.pptxVIP

  • 29
  • 0
  • 约3.05千字
  • 约 14页
  • 2021-11-13 发布于北京
  • 举报
人脸识别算果分析算法优化算法实现 算法介绍目录算法介绍1. 特征脸算法(EigenFace) 1)人脸从像素空间变换到另一个空间,在另一个空间中做相似性的计算。 2)使用主成分分析法提取人脸特征。 3)对训练集中所有人脸图像的协方差矩阵进行本征值分解,得对对应的本征向量,这些本征向 量(特征向量)就是“特征脸”。 算法实现步骤: 1)将训练集的每一个人脸图像都拉长一列,将他们组合在一起形成一个大矩阵A。假设每个人脸图像是MxM大小,那么拉成一列后每个人脸样本的维度就是d=MxM大小了。假设有N个人脸图像,那么样本矩阵A的维度就是dxN了。 2)将所有的N个人脸在对应维度上加起来,然后求个平均,就得到了一个“平均脸”。 3)将N个图像都减去那个平均脸图像,得到差值图像的数据矩阵Φ。 4)计算协方差矩阵C=ΦΦT。再对其进行特征值分解。就可以得到想要的特征向量(特征脸)了。 5)将训练集图像和测试集的图像都投影到这些特征向量上了,再对测试集的每个图像找到训练集中的最接近的人脸,进行分类即可。算法介绍训练阶段: 1)数据预处理: 2)计算平均脸: 3)计算差值脸: 4)构建协方差矩阵:.算法介绍 5)求协方差矩阵的特征值和特征向量,构造特征空间。通常用到奇异值分解,通过求解 的特征值和 特征向量来获得 的特征值和特征向量。 6)获得 的特征值和正交归一化的特征向量后,确定主成分。若在前P个特征向量集上有超过99%的投 影正确率,求出原协方差矩阵的特征向量: 得到特征脸空间:识别阶段: 将待识别人脸的差值脸投影到特征脸空间上,分别比较其与各个训练人脸的欧氏距离,取距离最近的那 个人脸对应的人为待识别人脸对应的人。.算法实现 1. 人脸数据库选择CroppedYale,里面包含了39个人的人脸图片,每个人有64张不同角度和光照的黑白图。结果分析 实验1:每个人脸都取5张训练,其余的做测试集。实验2:每个人脸都取30张训练,其余的做测试集。实验3:每个人脸都取40张训练,其余的做测试集。 算法优化 总的说来,特征脸算法的识别效果并不是很好,因为算法对光照干扰比较敏感,而且特征脸算法不能衡量类间的差别和类内的聚合程度。Fisherface算法: Fisherface是Eigenface的改进算法,在投影时使不同类之间的距离尽可能大,而相同类之间尽量接近。 数集是二类的情况: 数据集是多类的情况:算法优化Fisherface算法介绍: 1)计算每类数据的均值(中心点): 2)数据点投影到w上的中心为: 如何判断向量w最佳呢,可以从两方面考虑:1、不同的分类得到的投影点要尽量分开;2、同一个分类投 影后得到的点要尽量聚合。 定义以下两个公式: J(w)代表不同分类投影中心的距离,它的值越大越好。右边称为散列值(scatter matrixs),代表同一个分类投影后的散列值,也就是投影点的聚合度,它的值越小代表投影点越聚合。 算法优化 结合两个公式: 上式是w的函数,值越大w降维性能越好,所以下面的问题就是求解使上式取最大值的w。 3)把散列函数展开: 另外定义: Sw称为Within-class scatter matrix 4)展开J(w)的分子并定义SB,SB称为Between-class scatter。 5)这样就得到了J(w)的最终表示: 算法优化 上式求极大值可以利用拉格朗日乘数法,不过需要限定一下分母的值,令 ,利用拉格朗日乘数法得到: 通过上式求解w还是有些困难的,而且w会有多个解,考虑下式: 其中λw是以w为变量的数值,继续带入以前的公式: 由于w扩大缩小任何倍不影响结果,所以可以约去两边的未知常数λ和λw 到这里,w就能够比较简单的求解了。FisherFace编程实现m_PCA = mean(ProjectedImages_PCA,2);% 在PCA所得空间上的投影的均值for i = 1 : Class_number m(:,i) = mean( ( ProjectedImages_PCA(:,((i-1)*Class_population+1):i*Class_population) ), 2 ); %行均值 S = zeros(P-Class_number,P-Class_number); for j = ( (i-1)*Class_population+1 ) : ( i*Class_population ) S = S + (ProjectedImages_PCA(:,j)-m(:,i

文档评论(0)

1亿VIP精品文档

相关文档