(中职)Python编程基础与应用电子课件人工智能库的应用_第1页
(中职)Python编程基础与应用电子课件人工智能库的应用_第2页
(中职)Python编程基础与应用电子课件人工智能库的应用_第3页
(中职)Python编程基础与应用电子课件人工智能库的应用_第4页
(中职)Python编程基础与应用电子课件人工智能库的应用_第5页
已阅读5页,还剩29页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、正版课件 内容可修改(中职)Python编程基础与应用电子课件人工智能库的应用人工智能库的应用主讲:Python编程基础与应用配套课件+contents目录face_recognition 的安装和简介案例:人脸识别学生考勤系统face_recognition 的安装和简介01face_recognition的简介项目face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例。据项目的官方文档说明,本项目是世界上最简洁的人脸识别库之一,你可以使用Python和命令行工具提取、识别、操作人脸。该项目的人脸识别是基于业内领先的C+开源库 dlib

2、中的深度学习模型,用Labeled Faces in the Wild(美国麻省大学安姆斯特分校(University of Massachusetts Amherst)制作的人脸数据集,该数据集包含了从网络收集的13,000多张面部图像。)人脸数据集进行测试,有高达99.38%的准确率。但对小孩和亚洲人脸的识别准确率尚待提升。有关它的更多介绍请访问英文网站https:/face-recognition.readthedocs.io/。安装face_recognition它的安装方法很简单,可以直接使用PIP进行安装。但它有依赖环境,在安装时可能会出错。如果在Windows操作系统下安装fac

3、e_recognition失败,可以按以下顺序检查:1)如果你本机没有安装vistual studio,就先下载安装vistual studio 2012或以上版本,并在安装选项中增加C+库的支持。在微软官网(/zh-hans/)下载新版本的vistual studio。2)如果提示cmake没安装,请先安装它。pip install cmake安装face_recognition3)如果提示dlib没安装,请先安装它。pip install dlib4)以上环境准备好后,再安装face_recognition。pip install face_recognitionface_recognit

4、ion的API简介1)batch_face_locations()人脸定位 使用CNN深度学习模型返回图像中人脸边界框的二维数组。如果您使用的是GPU,由于GPU可以一次处理一批图像,因此可以更快地获得结果。如果您不使用GPU,则不需要此功能。语法举例:batch_face_locations(images, number_of_times_to_upsample=1, batch_size=128)参数:images 表示图片列表(每个图片为一个numpy数组)。number_of_times_to_upsample 表示对图像进行脸部上采样的次数。数字越大,面孔越小。batch_size

5、表示每个GPU处理批次中要包含多少个图像。face_recognition的API简介2)face_locations()人脸定位 利用CNN深度学习模型或方向梯度直方图(Histogram of Oriented Gradient, HOG)进行人脸提取。返回值是一个数组(top, right, bottom, left)表示人脸所在边框的四条边的位置。语法举例:face_locations(img, number_of_times_to_upsample=1, model=hog)它的功能与batch_face_locations()类似。它的前2个参数相同,后面的model表示要使用的人

6、脸检测模型,主要有两个模型“hog”和“cnn”。“ hog”准确性较低,但在CPU上速度更快。“cnn”是经过GPU / CUDA加速(如果可用)的更准确的深度学习模型。默认值为“hog”。face_recognition的API简介3)compare_faces()人脸比对将面部编码列表与候选编码进行比较,以查看它们是否匹配。语法举例:compare_faces(known_face_encodings, face_encoding_to_check, tolerance=0.6)参数:known_face_encodings 表示已知人脸的特征向量。face_encoding_to_ch

7、eck 表示未知人脸的特征向量。Tolerance是容忍度,认为相匹配的面孔之间的距离有多大。越低越严格,0.6是典型的最佳性能。face_recognition的API简介4)face_distance()人脸特征向量距离给定面部编码列表,将它们与已知的面部编码进行比较,并获得每个比较面部的欧几里得距离。距离告诉您面孔的相似程度。语法举例:face_distance(face_encodings, face_to_compare) 参数:face_encodings表示已知人脸的特征向量。face_to_compare 表示未知人脸的特征向量。face_recognition的API简介5)

8、face_encodings()人脸解码输入一张图片后,生成一个128维的特征向量,这是 人脸识别的依据。语法举例:face_encodings(face_image, known_face_locations=None, num_jitters=1, model=small)参数:face_image 表示包含一个或多个面部的图像。known_face_locations 是可选项,项目每个面的边界框。num_jitters 表示计算编码时对面部重新采样的次数。越高越准确,但越慢(即100慢100倍)。model是可选项,为“large”或“small”。它表示使用哪种模型,它默认仅返回5点

9、,但速度更快。face_recognition的API简介6)face_landmarks()脸特征提取给定图像,返回图像中每个面部的面部特征位置(眼睛,鼻子等)的决定。语法举例:face_landmarks(face_image, face_locations=None, model=large)参数:face_image 表示要搜索的图像。face_locations这个是默认值,默认解码图片中的每一个人脸。若输入face_locations()i可指定人脸进行解码。model是可选项,为“large”或“small”。face_recognition的API简介7)load_image_

10、file()加载图像文件它能将图像文件(.jpg,.png等)加载到numpy数组中。语法举例:load_image_file(file, mode=RGB)参数:file表示图像文件名或要加载的文件对象。mode表示将图像转换成的格式。仅支持“ RGB”(8位RGB,3通道)和“ L”(黑白)。范例11-13定位图片中所有人脸,并自动生成人脸图片保存在本地给出学生图片student.jpg,自动识别出图片中的人脸。原图效果如图所示。说明:出于印刷和版权的考虑,素材中的人像图片都后期加了马赛克,原图并没有马赛克。范例11-13定位图片中所有人脸,并自动生成人脸图片保存在本地代码范例11-13定

11、位图片中所有人脸,并自动生成人脸图片保存在本地代码范例11-13定位图片中所有人脸,并自动生成人脸图片保存在本地经检查,它已经自动生成文件夹“student-img”,并在它里面自动生成4个人脸图片,范例11-14识别图片人物有两张图片,一张是已知人物,另一张是未知人物。现进行人脸识别,判断未知人物是不是本人。范例11-14识别图片人物代码范例11-14识别图片人物图片请读者自动选用。本案例选用的图片如图所示,执行后结果会正确体现出来。试一试更多的范例,可参考/ageitgey/face_recognition/tree/master/examples来完成。比如:1人脸定位案例:定位某人的脸

12、案例:使用卷积神经网络深度学习模型定位某人的脸案例:使用卷积神经网络深度学习模型批量识别图片中的人脸案例:把来自网络摄像头视频里的人脸高斯模糊(需安装OpenCV)试一试2人脸关键点识别案例:提取 用户A和用户B的面部关键点案例:给某人涂美妆试一试3人脸识别案例:是用户A还是用户B?案例:人脸识别之后在原图上画框框并标注姓名案例:在不同精度上比较两个人脸是否属于一个人案例:从摄像头获取视频进行人脸识别-较慢版(需安装OpenCV)案例:从摄像头获取视频进行人脸识别-较快版(需安装OpenCV)案例:从视频文件中识别人脸并把识别结果输出为新的视频文件(需安装OpenCV)案例:通过浏览器HTTP

13、访问网络服务器进行人脸识别(需安装Flask框架))案例:基于K最近邻KNN分类算法进行人脸识别案例:人脸识别学生考勤系统03案例描述考勤制度是对学生的学习和生活进行管理的有效措施,而考勤系统是否完善是决定考勤制度实施程度的关键因素。目前,很多学校教师的考勤依旧沿袭着手工操作的模式,导致学校考勤机制难以发挥应有的效率。在此背景下,开发一款具备实时性和高效性的考勤系统,借助“平安校园”的数据平台,构建以人脸识别为技术支撑的学生考勤管理系统。该系统可以有效记录自动签到和查询签到,可以利用校园网络的服务器将学生端的考勤数据进行上传,而且考勤数据的动态管理和查看完全可以通过管理账号来实现。本案例只要求

14、实现部分功能:考勤时会使用第三软件拍摄好学生的一张或者数张图片,然后让本系统去做人脸识别,如果学生与人脸识别库的信息一致,则表明学生正常来上课没有缺勤,如果比对的信息不一致,则记录为缺勤。案例分析1)对班级每一个学生都采集相片,每个相片图像只有一个学生的头像信息。图片文件放在“known”文件夹中。采集相片技术不在本案例讨论范围内。如图所示,一共有4位学生。案例分析2)使用第三方软件抓拍到课室上课的学生集体照片一张,如果学生人从过多,可以从不同角度拍摄数张。抓拍技术不在本案例讨论范围内。如图所示,在本次测试数据中,我们使用了“学生考勤照片1.jpg”图片,它有5位学生,但是有2位不是本班的学生。案例分析3)从指定的图片路径,获取图片名称和学生姓名。4)遍历获取已知学生的人脸编码。5)读取拍摄的考勤相片,获取未知学生的人脸编码。6)进行人脸对比,看那些学生按时来上课。7)生成人脸对比结果,把数据汇总并显示出来。它用到的技术点有以下几方面: 获取文件名os.listdir(),构造完整文件路径os.path.join(path, i),去除图片文件名的后缀list.split(.)0,使用for和while进行循环遍历,使用face_recognition.load_image_file()加载图片,使用face_recognition.face_encodings进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论