千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:西安千锋IT培训  >  技术干货  >  OpenCV系列教程(八)人脸识别

OpenCV系列教程(八)人脸识别

来源:千锋教育
发布人:qyf
时间: 2023-01-12 16:42:44

  一 人脸识别

  1 EigenFace 介绍

  EigenFace 在人脸识别历史上应该是具有里程碑式意义的,其被认为是第一种有效的人脸识别 算法。1987 年 Sirovich and Kirby 为了减少人脸图像的表示采用了 PCA(主成分分析)的方法进行降维,1991 年 Matthew Turk 和 Alex Pentland 首次将 PCA 应用于人脸识别,即将原始图像投影到特征空间,得到一系列降维图像,取其主成份表示人脸,因其主成份中就包含人脸的形状,估称EigenFace 为“特征脸”。EigenFace 是一种基于统计特征的方法,将人脸图像视为随机向量,并用统计方法辨别不同人脸特征模式。EigenFace 的基本思想是,从统计的观点,寻找人脸图像分布的基本元素,即人脸图像样本集协方差矩阵的特征向量,以此近似的表征人脸图像。具体过程如下:

图片 1

  下面是从第一幅原始图像,原图和每隔 15 个特征向量进行重建后的效果图,很明显随着引入进来的特征向量越来越多,重建后的效果也越来越接近原图:

图片 2

  EigenFace 的工作流程如下:

图片 3

  2 人脸识别算法对比

  前一节主要介绍了 eigenFace,下面再简单介绍两种其它的识别算法:

  一、FisherFace

  FisherFace 是一种基于 LDA(全称 Linear Discriminant Analysis, 线性判别分析)的人脸识别算法,而 LDA 是 Ronald Fisher 于 1993 年提出来的,而 eigenFace 是基于 PCA 实现的,LDA 和 PCA相同的地方是,都有利用特征值排序找到主成份的过程,但是不同的是 PCA 求的是协方差矩阵的特征值,而 LDA 是求的是一个更为复杂的矩阵的特征值。其中需要注意的是在求均值时,和 PCA 也是有所不同的,LDA 对每个类别样本求均值,而 PCA 是对所有样本数据求均值,来得到平均脸。采用Fisherface 方法对人脸进行识别对光照、人脸姿态的变化更不敏感,有助于提高识别效果,但左右偏转脑袋,尽量不要超过 15°,并对上下偏转比较敏感。

  二、LBPH

  LBPH 是利用局部二值模式直方图的人脸识别算法,LBP 是典型的二值特征描述子,所以相比前面EigenFace 和 FisherFace,更多的是整数计算,而整数计算的优势是可以通过各种逻辑操作来进行优化,因此效率较高。另外通常光照对图中的物件带来的影响是全局的,也就是说照片中的物体明暗程度,是往同一个方向改变的,可能是全部变亮或全部变暗,因此 LBP 特征对光照具有比较好的鲁棒性。

  3 opencv 人脸识别案例分析

  一、建议每个样本人物图像至少 8 张,拍摄样本图像时,注意头部尽量不要上下左右摆头。

图片 4

  二、编写样本描述文件 image.txt,主要描述样本图像路径和样本图像对应的标签,格式如下:

图片 5

  三、实现流程

  加载样本图像

  vectorimages;

  vectorlabels;

  images.push_back(imread(path, 0));

  labels.push_back(num);

  训练样本,并给样本打上标签

  Ptrmodel = createEigenFaceRecognizer();

  model->train(images, labels);

  识别比对目标图像,将找到的样本对应标签返回

  int label = model->predict(obj_img);

  识别结果:

图片 6

  还可以通过上面最后介绍的两种识别算法进行测试,对比识别效果:

  Ptrmodel = createFisherFaceRecognizer();

  Ptrmodel = createLBPHFaceRecognizer();

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

c++获取文件大小

2023-03-14

OpenCV系列教程(四) 计算 N 维数据关系

2023-01-11

OpenCV系列教程(三)Mat 像素统计技术

2023-01-11

最新文章NEW

jquery字符串转数字

2023-04-21

tomcat端口号配置

2023-03-20

搭建hadoop高可用集群

2023-03-16

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>