《初中信息技术川教八年级上册 综合应用初识人脸教案.docx》由会员分享,可在线阅读,更多相关《初中信息技术川教八年级上册 综合应用初识人脸教案.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、初识人脸教学设计一、教学目标知识与技能:OpenCV的简单使用,简单的人脸识别案例。过程与方法:从介绍人脸识别在生活中的普及程度到人脸识别流程介绍。从简单人脸识别原理到代码实现。 本次课建议重点放在代码部分详细讲解,如果课程后学生们能独立复现代码就已经很不错了。二、教学重难点重点:人脸识别流程及代码难点:较为复杂的函数参数,需要记忆的函数名称,代码逻辑部分。三、教学环境硬件环境:网络环境软件环境:Windows操作系统或其他编程软件:Python解释器及其IDLE开发工具四、教学资源课件:初识人脸PPTo资料:人脸识别相关素材。附:代码五、学生需求分析对于日益普及的人工智能应用中的人脸识别分支
2、,有很多同学都在实际生活中接触到了,对人脸识别的前前 后后也充满了好奇心,本次课讲简单介绍人脸识别原理和代码体验。让学生们产生更多学习兴趣。六、教学策略和教学方法理论实践相结合。好处在于遇到问题能及时解决问题。七、教学过程一、人脸识别引入说起人脸识别大家肯定都不陌生,离我们最近就是人类的人脸识别了,当我们认识并熟悉一个人后,不论他 (她)是化妆或者染发我们都能认出来。甚至有时候光看背影也能认出来。那么计算机也能像人-样“认识”一个人吗?答案是肯定的。随着计算机每年一次的翻倍发展,现在的计算机 不仅能简单识别人脸,还能应用更多的生活场景,方便我们的生活。比如手机拍照的时候就有人脸识别的应用,手机
3、会自动识别并聚焦拍摄内容中的人脸。还有刷脸支付刷脸借 书等也是人工智能的应用呢。二、人脸定位那么计算机是怎么从图像中“认出”我们的人脸的呢?其实在许多年前这确实是一个世界难题。因为当时受 困于计算机运算速度以及编程语言的低度普及等原因。关于人脸识别的算法一直都没有出现。那么计算机到底是怎么找到人脸的呢,人脸定位首先要判断在检测的图片或场景中是否存在人脸,如果存在 人脸,则给出人脸的位置、大小信息,再将信息标注在图片上。三、准备工作Python有很多外部模块,能实现不同的功能,OpenCV就是其中之一。OpenCV是一个关于图像处理的库,所 以人脸识别,无人驾驶等有关图像的事情都可以让它来帮忙。
4、安装OpenCV也很简单,只需要在命令行(win+R)中直接输入pip install opencv-python就可以了。如果安装成功,在IDLE中就可以导入使用了。(如果安装失败或安装缓慢可以利用清华大学的PYPI镜像,即: 直接输入 pip install opencv-python -i 就能快速安装了。)当安装成功后,在python安装FI录下的cv2/data文件夹下会有一些文件,这些就是我们本次课程中需要的 了。关于我们需要使用OpenCV中的Haar分类器来定位人脸。Haar分类器可以简单理解为计算机出别事物的一 种工具。安装OpenCV以后,在相应的目录下就有OpenCV自带
5、的Haar分类器文件,这些文件是XML格式的文 档,在这些分类器中会用到haarcascade_frontalface_default.xml,接下来就用Haar分类器来定位人脸。四、处理流程图片灰度化是因为人脸定位不需要图像中的色彩部分。灰度化后处理速度会更快。Opencv提供的分类器中 已经写好相关定位信息。我们在学习阶段直接使用就好了,如果想要定位人脸直接使用默认的人脸分类文件(xml) 就可以了。到这一步后我们就拿到图像中人脸的位置信息了,利用opencv中的绘图函数把人脸位置相关信息作为参数 传入就可以把图像中的人脸标注出来了。值得注意的是,我们拿到的人脸位置信息其实是一个可迭代类型
6、,也就是要利用循环来遍历的原因,因为图 像中的人脸可能是多个。五、代码实现完整的代码。特别注意,分类器文件和图像文件要和代码文件处于同级H录才能正确运行!(为了确保学生能够深入的了解全部代码,建议在代码讲解中多加入代码调试和中间结果讲解展示)建议多花一些时间给学生敲代码,出现问题及时解惑。关于代码中出现的函数详细信息可以参考如下中文参考文档。https : 六、修改标注形状我们可以改变标注形状,只需要把倒数第四行方框代码修改成圆形框代码就可以了,圆形框的方法为circleo 如果想要其它形状或者自定义形状的都可以利用现有的形状进行组合。可以参考。pencv官方文档(英文)七、颜色介绍三原色介绍
7、,python中表示RGB颜色的方式介绍。RGB表示颜色的原理介绍。OpenCV中表示颜色的方式为BGR,除了三原色表示位置不同外,其它都和RGB相同。不过。pencv也提供 了相应的转换函数。八、修改标注颜色通过绘制形状函数中的颜色参数修改就可以改变标注颜色了.九、更多人脸部位定位通过改变分类器函数中的部位分类文件(xml)就可以识别图像中其它部位的位置了。比如眼睛定位。附录:代码中出现的函数参数解释imread (读入的图像文件cvtColor(图像对象,状态码或转换指令)CascadeClassifier(分类器路径)detectMultiScale(灰度图像对象,可选参数)def detectMultiScale(self,image, scaleFactor=None,ninNeighbors=None,flags=None,minSize=NonezmaxSize=None):def rectangle(img,ptl,pt2,coloG thickness=None,lineType=None,shift=None):mshow(窗口名称,带展示的图像对象)