人脸比对 opencv怎么实现?

人脸比对 opencv怎么实现?,第1张

其实有很多办法,我说一种简单办法的思路吧,如果编码的话,代码量有些大。

[思路]识别出某个人的脸

(1)你先准备好这个人的几张或几十张的图片让程序来“学习”

(2)[程序分为两部分]第一部分:[学习这个人的脸]

把这些图片逐个读入程序,然后对每个图片进行以下处理:

a.初步降噪:可以用cvErode或更好级别的算法来对图像完成初步降噪(opencv这块有几个挺好的算法,自己是依据需求和场景来定用哪个吧)

b.用ROI或其他方法划定出人脸区域

c.为ROI圈定的区域 建立histogram

(3)这样你就有了几十个histogram,然后自己写个算法来提取这几十张histogram 的通用特点[也就是模糊的找到这个人的脸部特征]

(4)然后再依据提取的特征建立一个histogram

(5)[程序第二部分]:[识别人脸]

a.从摄像头,读入人脸

b.初步降噪

c.ROI划定区域

d.建立一个histogram

e.用这个histogram与之前[学习中]的histogram进行比较,如果差异小于你规定的阀值 ,则确定识别成功。

---------------------------------------------------------------------------------

以上功能只能做到:如果这个人出现在摄像头前,则能认出这个人来了,如果其他人出现在摄像头前则输出“这个人不是要找的人”。

---------------------------------------------------------------------------------

上面的算法应该算是最简单的啦,所以效果应该不会太好,opencv中还可以对图像进行划分,然后定点五官,这个方法可能更好一些。

---------------------------------------------------------------------------------

如果你要让它能识别出多人,那么思路一样,只不过要对每个人进行上面提到的“机器学习”的过程,也就是建立一个自己的识别库的过程。

头像对比用腾旭AI体验中心软件。

打开微信,选择底部“发现”,点击进入“小程序”,在搜索栏输入“腾旭AI体验中心”,进入小程序。选择“人脸对比”,上传图片后点击“人脸对比”即可。

PHOTOSHOP其实很简单。像你要做的这种在PHOTOSHOP中新建-把像素设置成100-100。然后再左边的工具栏选择文字工具。打出来排版。然后另存就OK。如果想更换背景颜色也很方便;如果想寻求最简单的方法的话PHOTOSHOP做出来是很不错的。

人证识别系统:

人证识别技术,是指通过计算机将人脸信息(指人的脸型、面像等固有的身理特征)采集、处理、对比等,来鉴定个人身份的一项技术。

通过CCD来采集人脸的图像及该人脸固有的特征,进行预处理,提取预处理的信息与采集到的身份z照片,进行人脸信息对比,将采集到的身份z信息、人脸信息及对比结果保存与数据库。

人证识别集:计算机、通信、网络、WEB服务、人脸识别技术、数据库、第二代居民身份z信息技术等多元化技术为一体的,综合性身份验证管理应用系统。

哎,看在100分的面子上。。。。

images=[]%([]是什么意思?)

这个只不过是将images初始化为一个空矩阵而已。每度一幅图像,它都将这幅图像reshape成一个列向量,然后存入images中,最终,读了N幅图像,images就有N列,每一列都是一幅图像。

(原算法是有两种方法求特征向量,一种奇异值分解,另一种不用奇异值分解,我这里选用没有用奇异值分解方法,但为什么还是按照奇异值分解了,而且莫名出现一个S的变量,而且这段的公式我不理解)

这个问题是你人脸识别的算法问题,我不想研究。。。。

c=ceil(M/r)%正无穷大方向取整(M/r是什么意思?为什么要这么做)

这个为什么要这么做,是为了后面subplot画图来计算到底需要几行几列的。这个对你的程序没有任何本质的影响。这段程序就是为了把所有的人脸图在一幅图上分块显示出来。从subplot(r,c,ii)

这句可以看出,r子图像的是行数,c是列数。那么M就是图像数了。。。

colormap('gray')axis equal tight off%返回线性灰度色图(这段不理解)

这段是一系列画图参数的 *** 作: colormap('gray')是让你的图是灰度图。axis equal是让横纵坐标单位一致。tight是限制画图的取值范围。off是去掉坐标显示。这些都是控制显示效果的。完全无关紧要。至于具体效果,你可以把这句去掉看看显示效果,然后在加上这句再看看效果有什么变化就知道了。

%对于其他人脸图按前面计算出的特征向量重构人脸图像(这段是说什么?)

很明显的,这个是用你这次这20个训练样本的结果来重构以前的人脸数据。

基本就是这么回事了。但是人脸特征识别我没研究过,你这个程序的算法非常的简单,至于为什么通过几个特征值分析就好用那我就不知道了,因为我没研究过这个。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12189578.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存