基于pca+Fisher+knn准则实现人脸识别-matlab

1.实验目的

本实验采取PCA算法和FSISHER准确的方法,实现人脸识别的得到,最后结合KNN算法达到准确率的统计,设计一个基于pca+Fisher+knn的人脸识别算法。

2.实验原理

对线性判别函数的一般形式可表示

      

 根据Fisher选择投影方向W的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W的函数为:

 

3.2 特征描述

     对待测样本进行特征提取,采用的是模板法,首先找到每个手写样本的起始位置,在此附近搜索该样本的宽度和高度;将每个样本的长度和宽度 N等份,构成一个 N×N 的均匀小区域;这 N×N 的小区域就是模板,对于每一小区域内的黑像素个数进行统计, 除以该小区域的面积总数, 即得特征值。这样做的好处是,针对同一形状、不同大小的样品得到的特征值相差不大,有能力对同一形状、不同大小的样本视为同类。 N 值越大,模板也越大,特征越多,区分不同的物体能力越强,但同时计算量增加,运行等候的时间增长,所需样品库也要成倍增加。 N 值过小,不利于不同物体间的区别。因此本设计的N取5,即采用5*5的模板,将手写数字的特征提取出来。具体的函数调用见程序GetFeature.m。

3.3 Fisher分类器的实现

Fisher分类器主要进行两类问题的分类,而问题中要解决0~9中10个数字的分类识别问题,所以要构建10×(10-1)/2=45次分类,Fisher算法描述如下:

 

上树算法描述中,采用了两类Fisher分类法 ,在实际编程时需要两两分类处理,最后在计算结果对应最大值者位置为对应的类别序号,即为识别结果。

4 试验的结果

 这是代表了原始的数据

 Pca的方法

主要的代码

LDA的方法

图 代表的是lda后的处理数据

KNN的方法 在matlab2018版本上操作

 进行knn的方法

结果 

可以看出真实的数据和测试的数据的结果

如果真实和测试重合在一起 证明预测对了

源程序链接为:基于pca+Fisher+knn准则实现人脸识别-matlab-Matlab文档类资源-CSDN下载

如有侵权,请私信作者删除

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能专属驿站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值