首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MATLAB实现人脸识别

MATLAB实现人脸识别

作者头像
不脱发的程序猿
发布于 2023-05-26 02:55:26
发布于 2023-05-26 02:55:26
7930
举报

本篇博文基于MATLAB实现人脸识别,基于几何特征的算法,对人脸从图像采集、预处理、到特征点定位提取,校验通过;主要利用YCbCr肤色模型,通过连通分量提取算法定位人脸;对RGB图像通过形态学图像处理算法选定区域,再进行细化算法,找到其人脸坐标并提取出来;然后利用PCA与特征脸算法计算特征值完成识别。

拓展学习:https://download.csdn.net/download/m0_38106923/87720473

项目资源下载请参见:MATLAB实现人脸识别【图像处理实战】

实现步骤如下所示:

1)将训练集的每一个人脸图像都拉长一列,将他们组合在一起形成一个大矩阵A。假设每个人脸图像是MxM大小,那么拉成一列后每个人脸样本的维度就是d=M*N大小了。假设有N个人脸图像,那么样本矩阵A的维度就是d*N了。

2)将所有的N个人脸在对应维度上加起来,然后求个平均,就得到了一个“平均脸”。

3)将N个图像都减去那个平均脸图像,得到差值图像的数据矩阵Φ。

4)计算协方差矩阵C=ΦΦT。再对其进行特征值分解。就可以得到想要的特征向量(特征脸)了。

5)将训练集图像和测试集的图像都投影到这些特征向量上了,再对测试集的每个图像找到训练集中的最近邻或者k近邻啥的,进行分类即可。

对于步骤4,涉及到求特征值分解。如果人脸的特征维度d很大,例如256*256的人脸图像,d就是65536了。那么协方差矩阵C的维度就是d*d=65536x65536。对这个大矩阵求解特征值分解如果N不大的话,可以通过求解C’=ΦTΦ矩阵来获得同样的特征向量,计算相似性用的是欧氏距离。

打开示例程序,可选择静态图像识别或实时识别模式,如下图所示:

初次运行需要保存人脸数据到数据库,否则会弹出警告对话框,状态栏显示提示信息,如下图所示:

选择实时识别或静态图像识别,以静态图像为例打开采集到的人脸图像,保存到数据库即可进行识别。

实时模式下,在左侧相机栏和格式栏,选择相机及分辨率,如下图所示:

开始采集人脸图像,如下图所示:

点击抓拍保存人脸图像,将权限勾选框点选,并在文本输入框中输入名字,并点击保存,将人脸数据保存到数据库。此时左侧状态栏会显示保存的信息,如下图所示:

点击返回到识别页面,再次点击开始采集按钮,抓拍人脸图像,进行识别,结果如下图所示:

当数据库中有多个人脸数据时,会根据匹配准确率进行排序,点击上一条/下一条脸部数据匹配按钮可查看匹配准确率。如下图所示:

项目资源下载请参见:  MATLAB实现人脸识别【图像处理实战】

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
人脸识别系列一 | 特征脸法
从这里开始,我会不定期的更新一些人脸识别的有趣算法和小demo算法,源码也会开放出来,自己在学习的过程中希望也能帮助到公众号中对这方面感兴趣的小伙伴,无论是从源码角度,还是从原理角度,我说清楚了,对在看的你有帮助就是我最大的幸福。
BBuf
2019/12/09
1.7K0
机器学习之基于PCA的人脸识别
这段代码是一个简单的PCA(主成分分析)算法实现,用于对图像数据进行降维处理。下面是对代码进行逐行分析:
叶茂林
2023/07/30
3720
机器学习之基于PCA的人脸识别
基于主成分分析PCA的人脸识别
主成分分析(Principal Component Analysis,简称PCA)是最常用的一种降维方法。
叶茂林
2023/07/28
4230
基于主成分分析PCA的人脸识别
模式识别从0构建—PCA
PCA或K-L变换是用一种正交归一向量系表示样本。如果只选取前k个正交向量表示样本,就会达到降维的效果。PCA的推导基于最小化均方误差准则,约束是:u为单位正交向量。推导结果是,正交向量就是归一化的协方差矩阵的特征向量,对应的系数就是对应的特征值。使用PCA方法提取特征脸的步骤如下:
孔西皮
2021/03/04
1.5K0
模式识别从0构建—PCA
基于LDA KNN的人脸识别详解
人脸识别(LDA+KNN方法): dataTrain=creatData(TrainDatabasePath); dataTest=creatData(TestDatabasePath); trainLabel=creatTrainLabelMat(); testLabel=creatTestLabelMat(); [train_lda,test_lda]=LDA(dataTrain,trainLabel,dataTest);: PCA降维 计算协方差矩阵 再求类内均值计算Sb、Sw(类间散布矩阵、类内散
微风、掠过
2018/04/10
2.7K1
基于LDA KNN的人脸识别详解
【模式识别】解锁降维奥秘:深度剖析PCA人脸识别技术
这些技术通常不是孤立存在的,而是相互交叉和融合的,以解决更复杂的问题。在实际应用中,根据具体的问题和数据特点选择合适的模式识别技术是至关重要的。
SarPro
2024/02/20
3920
【模式识别】解锁降维奥秘:深度剖析PCA人脸识别技术
人脸识别经典算法:特征脸方法(Eigenface)
特征脸方法基本是将人脸识别推向真正可用的第一种方法,了解一下还是很有必要的。特征脸用到的理论基础PCA在之前的文章中已经讲过了。直接上特征脸方法的步骤: 步骤一:获取包含M张人脸图像的集合S。在我们的例子里有25张人脸图像(虽然是25个不同人的人脸的图像,但是看着怎么不像呢,难道我有脸盲症么),如下图所示哦。每张图像可以转换成一个N维的向量(是的,没错,一个像素一个像素的排成一行就好了,至于是横着还是竖着获取原图像的像素,随你自己,只要前后统一就可以),然后把这M个向量放到一个集合S里,如下式所示。
智能算法
2018/04/03
5.5K0
人脸识别经典算法:特征脸方法(Eigenface)
基于opencv人脸识别
5.开始、读训练数据、计算平均脸、计算协方差矩阵、计算特征值、特征矩阵、 PAC降维、子空间模型、检测
全栈程序员站长
2022/09/05
6280
基于opencv人脸识别
基于Spark的机器学习实践 (十) - 降维
通过讲解PCA算法的原理,使大家明白降维算法的大致原理,以及能够实现怎么样的功能。结合应用降维算法在分类算法使用之前进行预处理的实践,帮助大家体会算法的作用。
JavaEdge
2019/04/18
7430
基于Spark的机器学习实践 (十) - 降维
高铁新建人脸识别系统,如何做到整容也可以识别逃犯?
如今人脸识别系统已经广泛应用于我们的生活中,如数码相机、门禁系统、机场的安全设施 、桌面软件、互联网应用(如Facebook)等等[1]。然而今日的一则关于“高铁人脸识别抓逃犯”的新闻一出[2],在评论中又引发了一阵阵怀疑。怀疑的中心问题在于,人脸识别系统真的能准确无误地在数以亿计的面孔中找出匹配的嫌疑人吗? 降维:减少冗余信息 完整的人脸识别系统一般由多个模块组成,在进行人脸识别之前首先要进行人脸检测(即在一张完整的图片中探测到人脸区域),以及图片的预处理、归一化等步骤(例如自动把倾斜的照片摆正)。本文就
用户1737318
2018/06/05
3.3K0
机器学习中7种常用的线性降维技术总结
Principal Component Analysis (PCA) 是一种常用的降维技术,用于将高维数据集转换为低维表示,同时保留数据集的主要特征。PCA 的目标是通过找到数据中最大方差的方向(主成分),将数据投影到这些方向上,从而实现降维。
deephub
2024/02/21
9870
机器学习中7种常用的线性降维技术总结
【干货】计算机视觉实战系列05——用Python做图像处理
【导读】专知成员Hui上一次为大家介绍讲解图像的缩放、图像均匀操作和直方图均衡化,这一次为大家详细讲解主成分分析(PCA)、以及其在图像上的应用。 【干货】计算机视觉实战系列01——用Python做图像处理(基本的图像操作和处理) 【干货】计算机视觉实战系列02——用Python做图像处理(Matplotlib基本的图像操作和处理) 【干货】计算机视觉实战系列03——用Python做图像处理(Numpy基本操作和图像灰度变换) 【干货】计算机视觉实战系列04——用Python做图像处理(图像的缩放、均匀操作
WZEARW
2018/04/13
2.8K0
【干货】计算机视觉实战系列05——用Python做图像处理
机器学习之基于LDA的人脸识别
首先,代码通过使用dir函数获取指定路径下所有以".bmp"结尾的文件,并存储在变量pictures中。
叶茂林
2023/07/30
2400
机器学习之基于LDA的人脸识别
澎思科技资深算法研究员罗伯特:有限算力资源下的深度学习与人脸识别
Robert Lorenz(德国籍),澎思科技资深算法研究员,德国柏林洪堡大学数学系博士,致力于人脸检测、人脸跟踪和人脸质量判断等领域的技术研发,尤其擅长模型构建和模型优化。其研究成果已经应用于澎思科技多种人脸识别软件平台和硬件产品中。同时也致力于视频结构化算法的研究和开发,负责数个子研究课题的攻坚工作。
AI科技评论
2019/09/23
7440
澎思科技资深算法研究员罗伯特:有限算力资源下的深度学习与人脸识别
【数据挖掘】解码数据降维:主成分分析(PCA)和奇异值分解(SVD)
译者按:当拥有非常高纬度的数据集时,给数据降低纬度对于分析来说是非常重要的。降维要求分析人员在最大程度降低数据纬度的同时,尽可能多的保留原数据中包含的信息。主成分分析(PCA)是降维的常用方法之一,而奇异值分解(SVD)则是实现主成分分析的重要手法。本文在不涉及太多数学细节的条件下,形象生动地解析数据降维的过程,并通过人脸识别的例子,直观地展示了主成分分析的显著降维效果。 每一天,IBM会产生250万的三次方比特的数据,而这些生成的数据中的大部分是高纬度的。顾名思义,为使工作更为有效,给数据降维是必不可少的
陆勤_数据人网
2018/02/27
2.7K0
【数据挖掘】解码数据降维:主成分分析(PCA)和奇异值分解(SVD)
人脸识别算法演化史
本文为人脸识别算法系列专题的综述文章,人脸识别是一个被广泛研究着的热门问题,大量的研究论文层出不穷,文中我们将为大家总结近些年出现的具有代表性的人脸识别算法。请大家关注SIGAI公众号,我们会持续解析当下主流的人脸识别算法以及业内最新的进展。
SIGAI学习与实践平台
2018/08/07
1.9K0
人脸识别算法演化史
人脸到底是怎样识别的
人脸识别技术原理简单来讲主要是三大步骤:一是建立一个包含大批量人脸图像的数据库,二是通过各种方式来获得当前要进行识别的目标人脸图像,三是将目标人脸图像与数据库中既有的人脸图像进行比对和筛选。根据人脸识别技术原理具体实施起来的技术流程则主要包含以下四个部分,即人脸图像的采集与预处理、人脸检测、人脸特征提取、人脸识别和活体鉴别。
刘盼
2018/12/28
2.9K0
人脸到底是怎样识别的
基于 FPGA 的视频流人脸伪造设备
近年来随着机器学习等技术的发展,人工智能在图像识别、语音处理等方面的能力不断增强、应用范围不断扩大,这极大的方便了人们的生活。然而随之带来的安全问题也变得越来越不可忽视。
FPGA技术江湖
2021/10/22
2.1K0
基于 FPGA 的视频流人脸伪造设备
高能!8段代码演示Numpy数据运算的神操作
Numpy是Numerical Python extensions 的缩写,字面意思是Python数值计算扩展。Numpy是Python中众多机器学习库的依赖,这些库通过Numpy实现基本的矩阵计算,Python的OpenCV库自然也不例外。
IT阅读排行榜
2019/06/14
1.5K0
基于 opencv 的人脸识别系统
随着智能设备的不断发展,人脸检测技术应用于越来越多的领域,极大的丰富和方便了人们的生活,具有很大的商业价值和研究意义。人 脸 识 别 主 要 为 两 个 步 骤:人 脸 检 测(FaceDetection)和人脸识别(Face Recogniton)。人脸检测就是判断待检测图像中是否存在人脸以及人脸在图片中的位置,人脸识别则是将检测到的人脸与已知的人脸库中的人脸进行比对,得出相似度信息。本项目基于天嵌的 TQ2440(采用 S3C2440 处理器)硬件开发平台,扩展 USB 摄像头模块,搭建配置嵌入式开发环境,给出并实现了一个嵌入式人脸识别实现方案。本系统使用人脸类 harr 特征、Adaboost 算法进行人脸检测,采用 PCA(Principal Component Analysis)降维算法得到特征脸子空间,将在 PC 平台训练的人脸识别分类器预存到嵌入式目标平台,最后结合最近邻匹配算法实现在线人脸识别,实际采集的图片测试结果表明该系统效果良好。
跋扈洋
2022/03/29
2.4K0
推荐阅读
相关推荐
人脸识别系列一 | 特征脸法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档