人工智能 PCA人脸识别

效果查看

前4行为驯训练样本,后面为识别及处理的效果在这里插入图片描述

实现过程

这里主要使用奇异值分解:
在这里插入图片描述
在这里插入图片描述程序编程主要围绕这个公式进行:

读取样本

在这里插入图片描述

样本中心化

这里记得注意:矩阵中心化是按列处理,所以程序里对只有Mean[j],最后记得求均值。在这里插入图片描述最后用样本减去均值,获得新的矩阵,就是中心化了
在这里插入图片描述
Matrix就是最后的中心化后的矩阵。里面的std[]用于求方差的,暂时不用理会

奇异值处理

这里直接调用函数,这里分别输出的就是三个目标值,特征值,左右奇异矩阵在这里插入图片描述

数据处理

尤其图片原本是112*92的,按照原始图片大小处理,高达10304维,数据量太大,且处理起来有相当多的数据是没有意义的,这里按照特征值特征向量自身体现的属性处理,上一步得到的特征值Eig是按照特征值大小排列得到的,对一幅图像而言,取前n个特征值就可以将图片的大部分信息表现出来了,我们这里为了简化运算,取n=50,实际验证效果也是非常好的
在这里插入图片描述

这里要说明一点:
在这里插入图片描述
一定要注意:这里使用的特征向量是包含在左奇异矩阵的,并非右奇异矩阵里。

计算样本中心

在这里插入图片描述
这里要注意一下,在计算样本中心的时候,顺带着就把这50个样本人为的按照原始信息分类了,原始信息是5个人,每人10张图片,所以我们这里分为5类。

计算比较新样本对特征样本

在这里插入图片描述
注意这里比较的思想,是将目标对象中心化处理,将其与样本特征点积,求出目标与样本之间的距离,这个距离与训练样本与特征样本之间的距离比较,目标样本距离与训练样本哪个距离近,那目标样本就是那个样本。
注意,这个思想是将目标样本整体作为一个单位与训练样本比较,而不是用某个具体的 目标特征去比对,举个栗子:人们在回忆某个人的时候,你想起来的应该是这个人的脸的轮廓,大概模糊的样子而不会是你只想起这个人的眼睛是什么样的,鼻子是什么样的,而忘记大体轮廓的样子。这个要细品一下。

显示结果

我们将比较的结果显示出来:在这里插入图片描述

验证

验证结果如下:
左侧文本框显示识别效果,下面就是识别后的图像。有兴趣的可以将代码下载回去沟通交流。
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值