内容正文:
中物理
第二单元 让机器认识我
川教版(2020) 信息技术(八年级上册)
第2节 “认识”一个人
学易同步精品课堂
1
课堂导入
同学们:上节课我们学习了让机器认识我们的脸,并用方框或圆形框来定位标注我们的脸。
今天这节课我们要来学习让机器认识一个人,同学们想不想知道机器是怎样认识我们的呢?下面我们一起来学习。
学习目标
1
1.了解机器学习的过程。
2.了解基于图片的人脸识别训练过程。
3.体验基于视频的人脸识别训练。
2
目录
一、如何从图片“认识”一个人
二、识别训练
三、拓展阅读:人脸识别技术的“前世今生”
如何从图片“认识”一个人
一
一、如何从图片“认识”一个人
如何从图片“认识”一个人
一
前面学习了人脸定位,在定位人脸的基础上,如何能“认识”一个人呢?这需要对机器进行相应的“训练”,让它“学习”认识一个人。
机器学习需要人脸图片样本数据,让它进行训练,它会学习人脸的特征。给机器训练的数据越多,它的认识就越全面、越准确。
输入训练图片
机器训练
获得特征
基于图片的人脸识别训练过程如下图。
识别训练
二
二、识别训练
识别训练
二
下面用同一个人的两张图片“img01.jpg”和“img02.jpg”来训练。这两张图片上是同一个人,标签为“0”。
识别训练
二
第一步:准备工作
在后面的程序中将用到LBPH识别器,这个识别器由OpenCV扩展库提供,需要提前安装此扩展模块。安装方法和第一节安装OpenCV的方法相同。
安装命令: pip install opencv-contrib-python
知识卡片:LBPH识别器
LBPH是Local Binary Patterns Histograms的缩写,翻译过来就是局部二进制编码直方图。LBPH的主要思想是以当前点与其相邻点的相对关系作为处理结果。正因如此,在图像灰度整体发生变化时,提取的信息仍能保持不变。此方法在人脸识别中运用非常广泛,本节的程序就使用了这种方法来训练机器。OpenCV还提供了另外两种人脸识别方法,分别是EigenFace和FisherFacea
在这里输入命令后敲一下回车键
等待安装完成
识别训练
二
第二步:人脸识别训练
训练机器“认识”人脸。首先要引入模块,读入训练用的两张图片,设置标签为“0”,然后加入LBPH识别器进行识别训练,步骤如下图。
引入模块
输入训练图片
设置图片标签为“0”
加入LBPH识别器
机器训练
识别训练
二
人脸识别训练的程序代码如下图。
程序运行结果
识别训练
二
第三步:多个不同的人脸识别训练
多个不同的人脸识别训练与单个人脸识别训练的原理相同,区别在于添加训练图片时选用不同人的照片。以识别两个人为例,只需再增加另一个人的图片进行训练即可。保留前面的“img01.jpg”和“img02.jpg”,这两张图片都是同一个人,标签为“0”;增加两张训练图片“img11.jpg”和“img12.jpg”,这两张图片为同一个人,标签为“1”。
识别训练
二
完整的代码如下图。
程序运行结果
识别训练
二
扩展任务:“认识”视频中的人
从视频中“认识”一个人,需要采集足够多的人脸图像信息让机器训练,过程如下图。
人脸数据采集
机器训练并生成训练模型文件
1.人脸数据采集。通过摄像头扫描捕捉需要的人脸图像信息,在程序所在的目录创建一个“Facedata”文件夹,用来存放采集的人脸数据,详细程序见课本后面的附录二:人脸图像采集代码。程序运行后,先要用户设置一个人脸图片标签。
程序运行后,在id后面输入一个人脸图片标签
识别训练
二
输人标签“0”并按回车键后,摄像头开始自动采集视频中人脸图像并保存到“Facedata”文件夹中。
2.人脸数据训练。在程序所在目录创建一个“face_trainer"文件夹,存放训练后的模型文件,详细程序见附录三:人脸数据训练代码。
代码运行后,导入训练图片和对应标签进行训练,最后在“face_trainer”文件夹中生成训练后的模型文件trainer.yml。
拓展阅读
三
三、人脸识别技术的“前世今生”
拓展阅读
三
人脸识别技术既是一项起源较早的技术,又是一门焕发着活跃生命力的新兴技术。随着近年来人工智能、大数据、云计算等技术更迭速度的加快,人脸识别作为人工智能的一项重要应用,也搭上了时代的快车,基于人脸识别技术的一系列产品实现了广泛应用。
最早与人脸识别相关的研究并不是在计算机领域,而是在心理学领域。早在20世纪50年代,就有学者尝试从心理学的角度来阐释人脸认知的奥秘。除了从心理学的角度来研究人脸识别原理外,也有从生物视觉角度来探索奥秘的。但真正与我们现在的人脸识别技术有较多关联的研究出现在20世纪70年代。
拓展阅读
三
人脸识别技术已从2D迈入3D时代,3D人脸识别如下图。3