OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第六章_人脸识别.pptx

OpenCV计算机视觉技术(Python语言描述)(微课版)课件 第六章_人脸识别.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;;人脸检测是对图像中的人脸进行定位。

进行人脸检测时通常使用Haar分类器对图像进行人脸检测。本质上是通过先验知识得到专用于对人脸进行特征提取的模板,使用提取的特征进行分类器的训练,最后训练好的分类器可以高准确率地分辨出提取的特征是否为人脸。

Haar分类器主要由Haar-like特征、积分图、级联AdaBoost算法组成。其中Haar-like特征对应人脸特征提取,积分图用来优化提取到的大量参数,级联AdaBoost对目标图像的特征点进行降维,选择出利于图像分类的最优特征点,并进行组合成为级联检测器,从而利用其检测器进行判断目标图像中的内容是否为人脸。;Haar分类器中的级联AdaBoost训练需要大量的数据,但是OpenCV已经为我们准备好了训练好的分类器参数xml文件,并存放在Python安装目录下的Lib\site-packages\cv2\data路径下。可以参考右图。

可以看到路径下存放了haar分类器对各种检测目标训练的分类器参数,这里我们选择默认人脸检测参数haarcascade_frontalface_default.xml和人眼检测的参数haarcascade_eye.xml,将两份文件到工程目录下方便调用。;接下来我们来实现实时人脸检测的程序,效果如图。;程序中我们创建分类器对人脸进行检测,并在检测到的人脸ROI区域上检测人眼区域,最后绘制检测到的ROI区域。;用于传入xml参数文件的路径生成级联分类器实例。;用于获取对应分类器图像检测结果:

第一个参数,numpy.ndarray类型的img,表示待检测图像。

第二个参数,float类型的scaleFactor,表示指定图像压缩比例。

第三个参数,int类型的minNeighors,表示构成检测目标的相邻矩形的最小个数,默认值为3,可以通过增加数值来降低误识别率。;第四个参数,bool类型的flags,无实际意义。

第五个参数,tuple类型的minSize,表示最小的矩形候选框大小,小于此值的矩形候选框会忽略。

第六个参数,tuple类型的maxSize,表示最大的矩形候选框大小,大于此值的矩形候选框会忽略。

第一个返回的参数,numpy.ndarray类型的objects,表示检测到的矩形候选框集合,元素为[x,y,w,h]分别表示矩形候选框的(x,y)坐标以及大小(w,h)。

;;我们通过学习人脸检测这节的内容,了解了???何使用OpenCV进行对人脸检测。在接下来的程序中,我们将利用上节所学知识,实现一个具有完整功能的人脸识别程序,即具有人脸采集、人脸检测和人脸识别功能。;人脸识别程序主要包括人脸采集及检测模块和人脸的匹配识别模块,即先从图像或视频资源中检测人脸并保存,并使用OpenCV提供的模型进行训练保存训练参数,最后应用这些训练参数完成对人脸的判别实现识别。

人脸识别程序的项目结构如下:;其中generate.py为人脸检测及采集模块,train.py和face_recognition.py属于人脸的匹配识别模块。faces、test和train文件夹分别用于存放人脸数据、用于测试人脸识别程序的视频文件和用于人脸检测和采集的视频文件。

人脸识别程序还提供了从摄像头获取视频流来采集人脸数据的选项。;人脸检测模块与人脸采集模块读取train文件夹中人脸数据并进行采集,程序运行效果如图,并将采集到的人脸数据以.pgm格式存放。;程序中对定位到的人脸进行裁剪并缩放为200×200的大小,最后保存为.pgm灰度图格式,在检测过程中设定了20帧的检测间隔以便能截取到不同姿态的人脸,从而提高人脸识别程序的识别率。;用于对图像进行缩放:

第一个参数,numpy.ndarray类型的src,进行缩放的图像。

第二个参数,tuple类型的dsize,表示缩放目标的具体大小,例如(width,height)分别表示缩放目标的宽、高。

第三个参数,numpy.ndarray类型的src,表示缩放后的目标图像,需要与原图拥有相同大小和类型。

;第四个参数,float类型的fx,表示缩放目标x轴方向的缩放因子。当数值为0时,按照dsize参数进行缩放。

第五个参数,float类型的fy,表示缩放目标y轴方向的缩放因子。当数值为0时,按照dsize参数进行缩放。

第六个参数,int类型的interpolation,表示缩放过程中的缩放插值算法。默认为cv2.INTER_LINEAR。

第一返回的参数,numpy.ndarray类型的dst,表示缩放后的目标图像,同第三个参数。

;

您可能关注的文档

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档