基于PCA(主成分分析)的人面识别,Matlab实现

news/2024/7/21 5:04:17 标签: matlab, 算法, 开发语言, 计算机视觉, 图像处理

        博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188

        个人主页:Matlab_ImagePro-CSDN博客

        原则:代码均由本人编写完成,非中介,提供有偿Matlab算法代码编程服务,不从事不违反涉及学术原则的事。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

        本次分享的是基于PCA(主成分分析)的人脸识别,用matlab实现。(有疑问或者想交流细节的QQ:3249726188

        一、简述一下这次PCA人脸识别的背景

        博主最近被各位同学咨询最多的就是人脸识别和车牌识别相关算法,这次就介绍一下最为经典的PCA人脸识别算法,后续接下来其他博文,再介绍其他的人脸识别和定位相关算法,有兴趣或者需要的同学可以留意一下后续博文。

        二、PCA人脸识别算法原理和流程

        原理介绍:

        主成成 份分析 (Principal Component Analysis,PCA) 方法就是其中的一种。传统主成成份分析方法的基本原理是 ]:利用 K—L 变换抽取人脸的主要成分 ,构成特征脸空间,识别时将测试图 像投影到此空间,得到一组投影系数 ,通过与各个人脸图像比较进行识别 。这种方法使得压缩前后的均方误差最小,且变换后的低维空间有很好的分辨能力。原理如下(详细原理可以阅读附件文献,这里不再细述):

        算法流程如下:

        1、读取训练集下指定个数的图像,将人脸的像素其保存到到一个二维数组中,将该数组按列排成列向量,即每一列表示一张图像的像素信息。如果有S张人脸图像,则X=[MN,S];
        2、每一行取得均值,每行的元素减去均值,得到每张人脸与平均人脸的差值,组成新矩阵X;
        3、计算X的协方差矩阵C,大小为MN*MN;

        4、计算C的特征值即特征向量,共有MN个特征值及特征向量;
        5、选择主成分,把特征值从大到小排序,选择前R个特征值使得R个特征值占所有特征值得90%以上,随后将特征向量按行排列,则P=[R,MN];
        6、将训练集投影到特征空间,Y=PX=[R,S]。

        7、将测试集也投影到特征空间,假如测试集有K张图像,那么降维后矩阵为[R,K]。
        8、每一张图像[R,1]与特征空间[R,S]用欧氏距离法求出与其最相近的一个图像,识别为该类。所有测试集识别完后,最后求出识别率。

        三、Matlab实现效果

        用matlab实现,打包到GUI上,效果如下:

        训练集:

        测试集:

        Matlab GUI效果:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

专注、专一于Matlab图像处理学习、交流、代做

QQ:3249726188


http://www.niftyadmin.cn/n/5432151.html

相关文章

前端项目,个人笔记(一)【Vue-cli - 定制化主题 + 路由设计】

目录 1、项目准备 1.1、项目初始化 1.2、elementPlus按需引入 注:使用cnpm安装elementplus及两个插件,会报错:vueelement-plus报错TypeError: Cannot read properties of null (reading isCE ) ,修改: 测试&#…

如何在IDEA 中设置背景颜色

在 IntelliJ IDEA 中设置背景颜色,你可以按照以下步骤操作: 1、打开 IDEA 软件,点击左上角的【File】选项。 2、在下拉菜单中,点击【Settings】(或【Preferences】如果你使用的是 macOS)。 3、在打开的…

已解决org.apache.zookeeper.KeeperException.BadVersionException异常的正确解冲方法,亲测有效!!!

已解决org.apache.zookeeper.KeeperException.BadVersionException异常的正确解冲方法,亲测有效!!! 目录 问题分析 报错原因 解决思路 解决方法 总结 博主v:XiaoMing_Java 问题分析 在使用Apache ZooKeeper进行…

论文阅读 Stepwise Feature Fusion: Local Guides Global

1,另一个ssfomer 我在找论文时发现,把自己的分割模型命名为ssformer的有两个:,一个论文SSformer: A Lightweight Transformer for Semantic Segmentation中提出的一种轻量级Transformer模型,结构如下 这个结构很简单&…

时间日期格式化

在创建的项目中,往往涉及到时间日期的参数,都不是显示正常(中国)时区,至于是那儿的时区小编也不知道!但是,我们可以自定义返回的时间日期格式! public class DataUtils {/*** 2021-0…

linux设置开机启动慎用nohup

我机器ubuntu9,设置开机启动我的应用程序,这个大家都知道只要在/etc/rc.local中加上一条shell启动命令就可以了。 但我确碰到了一个奇怪的问题:无法启动我的应用程序。 由于我的程序是java写的,一直怀疑是classpath问题,检查多次没…

element ui 中文离线文档(百度云盘下载)

一般内网开发上不了网,用离线版本比较方便,下载地址: https://download.csdn.net/download/li836779537/88355878?spm1001.2014.3001.5503 下载后里面有个 index.hrml 双击打开就可以用 效果如下:

详解uniapp的生命周期

这篇文章主要介绍了 uniapp 的生命周期, 应用生命周期是指应用程序从启动到关闭的整个过程,包括应用程序的启动、前后台切换、退出等, 需要的朋友可以参考下 Uniapp 作为一款跨平台应用开发框架,具有丰富的生命周期,以下是 Uniapp 的生命周期…