内容正文:
八年级上册
第二单元 让机器认识我
一、教材体系
让机器认识我
如何从图片“认识”一个人
识别训练
如何从图片“认出”一个人
“认出”一个人
如何“初识”人脸
人脸定位
“认识”一个人
识别预测
人脸识别技术的
应用
“初识”人脸
二、知识点
1.了解人脸定位的基本过程。(人脸定位首先要判断在检测的图片或场景中是否存在人脸,如果存在人脸,则给出人脸的位置、大小信息,再将信息标注在图片上。了解OpenCV是—个关于图像处理的库,人脸识别,无人驾驶等有关图像的事情都可以让它来帮忙。安装OpenCV也很简单,只需要在命令行( win+R)中直接输入命令pip install opencv-python后按一下回车键就开始下载安装了。)。
2.了解分类器的作用。(Haar分类器可以简单理解为计算机识别事物的一种工具。认识并会用人脸分类器haarcascade_frontalface_default.xml来进行人脸识别。特别注意,分类器文件和图像文件要和代码文件处于同级目录才能正确运行!)。
3.体验人脸定位。(修改标注形状:改变标注形状,只需要把倒数第四行方框代码修改成圆形框代码就可以了,圆形框的方法为circle。修改标注颜色:通过绘制形状函数中的颜色参数修改就可以改变标注颜色了。更多人脸部位定位:眼睛定位。)
代码中出现的函数参数解释:
imread(读入的图像文件)
cvtColor(图像对象,状态码或转换指令)
CascadeClassifier(分类器路径)
detectMultiScale(灰度图像对象,可选参数)
4. 了解机器学习的过程。(首先我们让计算机知道我们要对谁进行训练,(本次课程选用的是中国航天之父钱学森年轻时的照片和中国近代力学之父钱伟长年轻时的照片作为训练图像素材。)然后调用我们安装好的扩展模块中的LBPH识别器提供的训练函数。最后就会得到一个关于训练好的样本,这个样本中就包含了训练图像的特征。在使用LBPH之前先要安装相关扩展库(安装命令pip install opencv-contirb-python)。)
5. 了解基于图片的人脸识别训练过程。(首先要引入模块,读入训练用的两张图片,设置标签为“0”,然后加入LBPH识别器进行识别训练。人脸图片标签的作用在于:将人脸图片进行分类,同一个人的人脸图片设置相同的标签,这样方便标识出不同的人脸数据。多个不同的人脸识别训练与单个人脸识别训练的原理相同,区别在于添加训练图片时选用不同人的照片。)
6. 体验基于视频的人脸识别训练。(首先我们使用程序调用计算机摄像头的相关接口获得摄像头中的图像信息。然后识别每一幅图像中的人脸并灰度化存入指定的文件夹“Facedata”,在信息采集完毕后(1000张图像)就可以依照前面类似的步骤进行统一训练。最后会得到一个trainer.yml人脸模型文件。)
7. 了解基于图片的人脸识别预测。(第一步就是让计算机拿到测试图像,然后调用predict函数,该函数会返回对应标训练人脸标签和置信度。其中置信度为0时表示完全吻合。最后输出这两个返回值来判断识别情况。putText函数可以帮我们在图片上标注出人名。)
8. 体验基于视频的人脸识别预测过程。(把输入的预测图片改为视频中每一幅捕获的图像就可以了,然后再把预测信息标注出来。)
9. 了解人脸识别技术应用领域。(人脸识别技术具有识别精度高、使用方便、识别速度快等特点,已广泛应用于我们的工作生活中。①单人识别:用户提前上传个人照片存储于系统中,每次验证时,实时拍照与系统中存储的照片信息进行对比,进而确定“你是不是你”。如刷脸支付、酒店入住登记、考试身份核验等应用场景。②多人识别:对场景内所有人进行面部识别并与人像数据库进行比对,比如刷脸考勤、公安机关追逃等。)
练习题
一、单选题
1、OpenCV可以用来( )。
A.画图
B.生成随机数
C.生成验证码
D.人脸定位
【答案】D
【解析】OpenCV可以处理很多计算机视觉方面的任务,人脸定位就要靠它(见课本47页),因此选项D正确。
2、以下分类器中( )是人脸分类器。
A.haarcascade_frontalface_alt B.haarcascade_frontalface_alt2
C.haarcascade_frontalface_default D.haarcascade_lefteye_2splits
【答案】C
【解析】安装OpenCV以后,在相应的目录下就有OpenCV自带的Haar分类器文件,这些文件是XML格式的文档。在这些分类器中会用到haarcascade_ frontalface_ default.xml,接下来我们就用Haar分类器来定位人脸(见课本48页)。因此选项C正确。
3、对