Fisherface方法的实现是在PCA数据重构的基础上完成的,首先利用PCA将高维数据投影到低维特征脸子空间,然后再在这个低维特征脸子空间上用LDA特征提取方法得到Fisherface。
2019-12-21 22:18:11 3.25MB LDA 人脸识别 Matlab
1
做人脸识别难得代码eigenface人脸识别Matlab,非常有用非常有用非常有用
1
本matlab程序实现了基于PCA的人脸识别,并提供了相应的论文和测试数据集,并给出了测试结果。
2019-12-21 22:15:01 23.76MB PCA 主成份分析 人脸识别 matlab
1
BP神经网络的人脸识别matlab代码 BP神经网络的人脸识别matlab代码
2019-12-21 22:08:27 7.9MB BP神经网络 人脸识别 matlab代码
1
matlab手写卷积神经网络人脸识别matlab
2019-12-21 21:52:45 92.13MB matlab
1
现在我们回到LDA的原理上,我们在第一节说讲到了LDA希望投影后希望同一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大,但是这只是一个感官的度量。现在我们首先从比较简单的二类LDA入手,严谨的分析LDA的原理。     假设我们的数据集D={(x1,y1),(x2,y2),...,((xm,ym))}D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xixi为n维向量,yi∈{0,1}yi∈{0,1}。我们定义Nj(j=0,1)Nj(j=0,1)为第j类样本的个数,Xj(j=0,1)Xj(j=0,1)为第j类样本的集合,而μj(j=0,1)μj(j=0,1)为第j类样本的均值向量,定义Σj(j=0,1)Σj(j=0,1)为第j类样本的协方差矩阵(严格说是缺少分母部分的协方差矩阵)。     μjμj的表达式为: μj=1Nj∑x∈Xjx(j=0,1) μj=1Nj∑x∈Xjx(j=0,1)     ΣjΣj的表达式为: Σj=∑x∈Xj(x−μj)(x−μj)T(j=0,1) Σj=∑x∈Xj(x−μj)(x−μj)T(j=0,1)     由于是两类数据,因此我们只需要将数据投影到一条直线上即可。假设我们的投影直线是向量ww,则对任意一个样本本xixi,它在直线ww的投影为wTxiwTxi,对于我们的两个类别的中心点μ0,μ1μ0,μ1,在在直线ww的投影为wTμ0wTμ0和wTμ1wTμ1。由于LDA需要让不同类别的数据的类别中心之间的距离尽可能的大,也就是我们要最大化||wTμ0−wTμ1||22||wTμ0−wTμ1||22,同时我们希望同一种类别数据的投影点尽可能的接近,也就是要同类样本投影点的协方差wTΣ0wwTΣ0w和wTΣ1wwTΣ1w尽可能的小,即最小化wTΣ0w+wTΣ1wwTΣ0w+wTΣ1w。综上所述,我们的优化目标为: argmaxwJ(w)=||wTμ0−wTμ1||22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)w argmax⏟wJ(w)=||wTμ0−wTμ1||22wTΣ0w+wTΣ1w=wT(μ0−μ1)(μ0−μ1)TwwT(Σ0+Σ1)w     我们一般定义类内散度矩阵SwSw为: Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T Sw=Σ0+Σ1=∑x∈X0(x−μ0)(x−μ0)T+∑x∈X1(x−μ1)(x−μ1)T     同时定义类间散度矩阵SbSb为: Sb=(μ0−μ1)(μ0−μ1)T Sb=(μ0−μ1)(μ0−μ1)T     这样我们的优化目标重写为: argmaxwJ(w)=wTSbwwTSww argmax⏟wJ(w)=wTSbwwTSww     仔细一看上式,这不就是我们的广义瑞利商嘛!这就简单了,利用我们第二节讲到的广义瑞利商的性质,我们知道我们的J(w)J(w)最大值为矩阵S−12wSbS−12wSw−12SbSw−12的最大特征值,而对应的ww为S−12wSbS−12wSw−12SbSw−12的最大特征值对应的特征向量! 而S−1wSbSw−1Sb的特征值和S−12wSbS−12wSw−12SbSw−12的特征值相同,S−1wSbSw−1Sb的特征向量w′w′和S−12wSbS−12wSw−12SbSw−12的特征向量ww满足w′=S−12www′=Sw−12w的关系!     注意到对于二类的时候,SbwSbw的方向恒为μ0−μ1μ0−μ1,不妨令Sbw=λ(μ0−μ1)Sbw=λ(μ0−μ1),将其带入:(S−1wSb)w=λw(Sw−1Sb)w=λw,可以得到w=S−1w(μ0−μ1)w=Sw−1(μ0−μ1), 也就是说我们只要求出原始二类样本的均值和方差就可以确定最佳的投影方向ww了。
2019-12-21 21:48:28 3KB MATLAB 人脸识别 LDA knn
1
基于SVD分解和最近邻算法的高维人脸识别代码,是MATLAB系统上实现的代码,可直接运行,包含人脸数据库
2019-12-21 21:39:31 3MB 人脸识别 MATLAB
1
内部包含orl人脸数据库;朴素贝叶斯分类数值型数据、取点测比例距、训练数据集特征向量化、(PCA+adaboost PCA+SVM人脸识别(可用,全面))四种人脸识别相关的功能,经过测试均可用,4者代码相互之间没有关系,且第四个“测试成功@(PCA+adaboost PCA+SVM(可用,全面))”可以完整进行人脸识别,下载者根据功能需要选择使用
2019-12-21 21:38:31 22.43MB 人脸识别 MATLAB PCA+adaboost orl
1
基于matlab GUI实现PCA算法的人脸识别demo,很基础的一个demo应用,免费给大家参考。人脸识别的数据库是att数据库,你可以修改成自己的数据库,完成算法的验证。
2019-12-21 21:36:03 2.95MB PCA 人脸识别 Matlab GUI
1
这个程序的功能,是使用DBN算法来实现人脸识别,数据库使用ORL数据库,在迭代次数达到3000时,识别准确率98%左右 1-此程序使用的是LBP(Local Binary Pattern)来实现特征的提取 2-此程序还附带了画学习曲线的功能,画正则参数,隐层结点数,训练样本数的学习曲线 3-DBN是有几层RBM构成,该程序实现的是4层网络,输入层-隐层1-隐层2-输出层 4-DBN的训练基本上分为两步,先用RBM的训练方法训练网络得到初始值,来初始化整个网络,然后用BP反向传播算法来微调整个网络 5-神经网络参数的更新,使用matlab提供的fmincg函数,前提是我们要先得到网络的代价函数nnCostFunction 在此感谢改程序作者,改程序很有参考价值,值得深度学习。ps.程序内的一些图片目录小伙伴们请自行修改
2019-12-21 21:31:45 4.07MB LBP DBN 人脸识别 matlab
1