svm-OpenCV PCA人脸识别时欧氏距离的问题

问题描述

OpenCV PCA人脸识别时欧氏距离的问题

我用PCA+SVM方式对ORL人脸库进行人脸识别,使用Opencv的PCA库进行降维及特征提取,提取后的特征用于SVM训练,如果每人用两个图进行学习,最终测试样本的识别率能到85%+。
但是我如果用测试样本的特征向量和训练样本的特征向量进行欧式距离(NORM_L2)的计算,计算结果十分没有规律,不管是不是同一个人的特征,距离从一千多到四千多的都有。这种情况十分不合理呀,opencv还有个基于PCA样本距离的特征脸识别库不就是用L2距离进行比较来进行识别的吗?鉴于此我又实验了一下使用opencv的特征脸识别库EigenFaceRecognizer进行人脸识别,同样的样本划分,但是不自己写特征提取代码,直接输入原始图片,因为特提取的工作是特征脸库自己做的,识别率也能到80%+。
总结起来问题就是,我用PCA提取的特征进行SVM人脸识别,效果还可以,但是直接用测试样本的特征值和训练样本的特征值进行距离比较,却并不能得出同一人的样本距离会比较近,不同人的会比较远的结果,和特征脸识别的工作原理不符。不知是哪里有问题,求解!

解决方案

OpenCV的PCA人脸识别
OpenCV的PCA人脸识别
opencv学习-pca人脸识别

解决方案二:

http://blog.csdn.net/liulina603/article/details/28633403

时间: 2024-09-22 21:41:14

svm-OpenCV PCA人脸识别时欧氏距离的问题的相关文章

用vs2015和opencv做人脸识别时碰到LNK2019的错误

问题描述 用vs2015和opencv做人脸识别时碰到LNK2019的错误 错误如下: 不是链接器的问题,应该是代码的问题,但我对c++和vs还不太熟悉.请哪位大神告知.代码如下: #include "stdafx.h" #include #include #include "opencv2/core.hpp" #include "opencv2/face.hpp" #include "opencv2/highgui.hpp"

OpenCV+python 人脸识别

首先给大家推荐一本书:机器学习算法原理与编程实践 本文内容全部转载于书中,相当于一个读书笔记了吧 绪论 1992年麻省理工学院通过实验对比了基于结构特征的方法与基于模版匹配的方法,发现模版匹配的方法要优于基于特征的方法. 以支持向量机为代表的统计学习理论在随后被应用到了人脸识别与确认中去.但是由于算法运行效率问题,很快被一种新的算法替代了.这就是2001年康柏研究院提出的基于简单矩形特征和AdaBoost的实时人脸检测系统.该方法的主要贡献包括: 1.可以快速计算简单矩形特征作为人脸图像特征 2

c++-基于opencv的人脸识别,代码运行出错,求帮忙!

问题描述 基于opencv的人脸识别,代码运行出错,求帮忙! 代码显示是没有错的,运行显示有未处理的异常,求大神!急!!! 解决方案 求大神帮忙!如果熟悉C++语言的,再详谈啊!我在手机上不方便传代码! 解决方案二: #include #include #include using namespace std; void PrintMat(CvMat*); void FputMat(FILE , CvMat *); int main(int argc, char * argv[]) { /读入图

脸部识别-关于opencv的人脸识别识别率极低

问题描述 关于opencv的人脸识别识别率极低 我用opencv做了一个人脸识别的应用.主要流程就是,从一幅图中检测出人脸,然后将人脸框定为一张新的图片,再利用这张图片,调用opencv的识别函数进行识别.可问题是,内置的三个算法我都用过了,为什么识别率都非常低呢?甚至基本是无法识别的. 我已经训练好了样本库的,训练用的是证件照,每个人的证件照通过旋转一定角度从而分别形成十个样本. 用于识别的照片是普通的生活照,近距离的人脸照. 解决方案 如果OpenCV提供的库直接的识别率有那么高,就不会还有

利用opencv实现人脸识别

问题描述 利用opencv实现人脸识别 目前本人已实现实时人脸检测,但怎样进一步完成特征采集存入数据库,并将检测到的人脸与数据库中的比对却没有头绪.求助!!! 解决方案 建议先从几何角度入手.先通过两眼具体.眼嘴距离等.判断正面人脸.有经验后.再尝试其他算法

基于 OpenCV 的人脸识别

##一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从谷歌街景的图片拼接,到交互艺术展览的技术实现中,都有 OpenCV 的身影. OpenCV 起始于 1999 年 Intel 的一个内部研究项目.从那时起,它的开发就一直很活跃.进化到现在,它已支持如 OpenCL 和 OpenGL 等现代技术,也支持如 iOS 和 Android 等平台. 1

opencv 做人脸识别 opencv 人脸匹配分析_C 语言

机器学习 机器学习的目的是把数据转换成信息. 机器学习通过从数据里提取规则或模式来把数据转成信息. 人脸识别 人脸识别通过级联分类器对特征的分级筛选来确定是否是人脸. 每个节点的正确识别率很高,但正确拒绝率很低. 任一节点判断没有人脸特征则结束运算,宣布不是人脸. 全部节点通过,则宣布是人脸. 工业上,常用人脸识别技术来识别物体. 对图片进行识别 复制代码 代码如下: #include "opencv2/core/core.hpp" #include "opencv2/obj

如何使用JNI中的opencv实现人脸识别功能?

问题描述 我想用unity3d编写一个社交小游戏,其中需要上传玩家头像,并进行简单的人脸五官判别,在头像图片框中框选出眼睛.鼻子.嘴巴三个器官,以便进行后续的处理.如何使用opencv便捷的实现这一目标.请各位大神们指点! 解决方案 解决方案二:不知道楼主有解决方案么?我最近也在做类似的项目所以想请教一下

手把手教你如何用 OpenCV + Python 实现人脸识别

下午的时候,配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文.   必备知识 Haar-like Haar-like百科释义.通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征简单的描述,如:眼睛要比脸颊颜色要深,鼻梁两侧比鼻梁颜色要深,嘴巴比周围颜色要深等. opencv api 要想使用opencv,就必须先知道其能干什么,怎么做.于是API的重要性便体现