




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《猜拳小达人》教学设计课题:猜拳小达人授课对象:中职一年级课型:新授课课时:2~3课时教材分析:结构内容:本节课选自《人工智能通识》的项目一。本节课的主要内容是体验人工智能的应用,了解深度学习TensorFlow.js框架,了解深度学习神经网络模型,了解图像分类的概念,掌握基于TensorFlow.js搭建网页应用的流程和方法。地位作用:如今人工智能已经逐步让人们的生活智能化,让企业服务智能化,那么无论为了工作还是为了跟上时代步伐,有必要去了解人工智能是如何运作的。本节课的学习将带领学生从零开始认识人工智能技术,并在浏览器中运行人工智能模型,使学生能够动手搭建一个简单的人工智能应用,即网页端的猜拳游戏,让学生建立起对人工智能的兴趣。学情分析学习心理特征:本节课的授课对象为中职一年级学生该阶段的学生学习自制力较差,上课注意力易被分散,因此在上课过程中,应该采用讲练结合的方式,让学生能够在实践中学习和巩固课程内容。同时该阶段的学生有很多自己的想法和创意,因此在设计任务时,需要给学生一定的自由发挥的空间,让学生自主地学习和实践。另外由于中职一年级的学生水平各不相同,因此教师在学生操作过程中应该实时观察,引导并鼓励基础较差的学生完成练习。知识基础:中职一年级学生已经掌握了计算机与浏览器的使用,因此可以让学生独立动手安装实训需要的环境。教学目标知识与技能目标:能够说出什么是人工智能能够说出人工智能的典型应用能够说出TensorFlow.js是什么能够说出Html是什么能够安装浏览器插件WebServerforChrome能够了解TensorFlow.js构建模型的过程能够部署猜拳游戏的Html与JS代码过程与方法:使用搜索引擎搜索信息,小组合作讨论人工智能的概念及其应用。根据教师发布的实训任务书,自主进行WebServerforChrome插件的安装与配置。根据教师发布的实训任务书,自主下载代码包到正确位置根据教师发布的实训任务书,自主采集手势数据、训练模型并进行猜拳游戏。情感态度与价值观:能够体会到人工智能技术的奇妙和给生活带来的乐趣。通过小组合作的方式,培养学生的主动参与的意识,强化自身的责任感,以及增强自己的合作能力。教学重难点教学重点:1、能够说出什么是人工智能2、能够说出TensorFlow.js是什么3、能够部署猜拳游戏的Html与JS代码教学难点:1、能够部署猜拳游戏的Html与JS代码教学方法教法:任务驱动法、练习法学法:自主学习法、小组合作学习法教学准备教学环境:多媒体网络计算机房教学资源:多媒体网络计算机,派Lab平台,PPT课件,微课教学过程教学内容及过程时间分配设计意图一、创设情景【教师活动】小派最近学习有点累,他想要一款游戏来缓解疲劳,于是他想到可以和计算机进行猜拳游戏:计算机的摄像头能够捕捉到小派的手势动作数据,并识别小派手势,然后根据小派和计算机随机出的手势,进行判断胜负。但是小派自己不会制作游戏,于是小派向我们寻求了帮助。2分钟该环节通过创设一个生活中真实存在的情景,让学生了解人工智能的应用。二、任务分析【教师活动】小派给我们布置了一个任务就是帮忙制作一个网页版的猜拳游戏。首先我们需要对如何开展该任务进行分析(该过程可以让学生进行小组讨论回答)预设:首先需要了解搭建网页端的人工智能应用使用什么工具或框架,接着需要了解如何运行网页端的人工智能应用及运行环境的配置,然后需要了解猜拳游戏前端页面的功能有什么,最后了解猜拳游戏中关键的手势识别模型。【学生活动】小组展开讨论各小组发表自己的任务分析结果【教师活动】对各小组的讨论结果进行评价,最后进行小结,得出最后的任务分析结果:子任务一:安装与配置环境子任务二:TensorFlow.js代码部署子任务三:手势数据采集、模型训练、猜拳PK3分钟该环节主要是对本节课的任务的一个讨论分析,在该过程中,让每个学生对接下来要完成的任务进行分析和讨论,让学生成为课堂的主体,提高学生的参与感,提升学生的自主思考能力。三、新知学习任务一:安装与配置环境【教师活动】在进行实训任务之前呢,老师这里先提供一个网址“/tools/ai-demo-simple-web/07-rps-dataset/index.html”,同学们可以通过这个网址进去体验一下猜拳游戏,这样,同学们能够对我们后面即将去实现的猜拳游戏有个整体的认识,知道这个游戏主要有什么功能。【学生活动】打开网址进行体验,根据界面功能与提示逐步进行猜拳PK。【教师活动】同学们在初次打开这个网页的时候,会有一个打开摄像头的提示,这时需要点击“允许”,因为后面的操作中会用到你的电脑内置的摄像头来捕捉你给出的手势。摄像头开启后,我们就可以采集数据了。在这个网页中我们可以看到“石头”、“布”、“剪刀”按钮,也就是说我们下面要采集这三种手势的图片。在三个按钮上方,可以看到摄像头实时捕捉的画面。假如这时你要采集石头手势的数据,那么你每点击一次,石头手势的样本就会自动加1,当然,采集数据的时候记得观察摄像头中的画面,确认你的手势出现在画面中。依次采集完数据之后呢,就可以点击按钮训练手势识别模型了。这里需要稍等一会,模型训练完成,页面会给你一个“完成”的提示。提示出来之后,你就可以开始玩猜拳游戏了。你可以随意对着摄像头给出一个剪刀、石头或者布的手势,然后点击“猜拳PK”,这时按钮下面会直接出猜拳结果。【学生活动】小组讨论探究,各组分享探究结果【教师活动】进行总结这里先简单的说一下最后猜拳PK部分的逻辑,同学们训练的手势识别模型先对你给出的手势进行识别,同时,计算机也会随机出一个手势,然后两个手势进行比较,再输出结果。15分钟在该环节中,设置了一个猜拳游戏体验的环节,能够让学生自己动手体验在网页上进行猜拳的一个过程,增加课堂的趣味性,调节课堂的氛围,同时也让学生对项目的目标成果有个整体认知。【教师活动】请同学们思考,为什么要安装Chrome浏览器的插件WebServerforChrome呢?预设:因为我们要搭建和运行网页版的猜拳游戏,想要运行本地的网页,就需要在本地模拟出一个服务器,方便起见,我们直接在Chrome浏览器中安装一个插件就可以了。【学生活动】思考并回答问题【教师活动】对学生的回答进行小结:同学们的推断都是比较准确的,Chrome浏览器因为安全的因素,限制直接运行本地网页文件,因此在进行网页相关项目调试时,就需要在本地模拟出一个网页服务器,而WebServerforChrome就是这样的一款Chrome扩展程序,让用户使用Chrome来充当自己的临时HTTP服务器。同学们,我们安装完这个插件后,要怎么运行网页呢?(同学们先动手安装,然后讨论)预设:需要配置一下这个插件,插件中会自动生成一个URL地址,点击这个地址就能跳转到网页所在的目录,然后双击网页就能打开了。【学生活动】思考并回答问题30分钟在该环节中,通过提问的方式引出接下来要操作的内容,同时让学生在动手操作之前能够思考为什么要做这个事.另外,让学生动手安装之后再抛出一个问题,让学生讨论发现问题的答案,而不是直接给出,增加学生之间的互动与交流。任务二:TensorFlow.js代码部署【教师活动】刚才我们已经把安装好了程序或者网页运行的插件,那么下面我们就要实现猜拳游戏的网页。就如同我们一开始体验的那个网页,基本的功能要有。那么一般搭建人工智能的网页应用,流行的工具是什么,TensorFlow.js。TensorFlow.js是TensorFlow的JavaScript版本。可运行在浏览器环境中,也可以通过服务器端Node.js启动。它不但支持完全基于JavaScript从头开发、训练和部署模型,也可以用来运行已有的Python版TensorFlow模型,或者基于现有的模型进行继续训练。这个框架有四大优势,我们简单了解一下即可。第一,不需要安装软件或驱动(打开浏览器即可使用);第二,可以通过浏览器进行更加方便的人机交互;第三,可以通过手机浏览器,调用手机硬件的各种传感器(如:GPS、电子罗盘、加速度传感器、摄像头等);第四,用户的数据可以无需上传到服务器,在本地即可完成所需操作。通过这些优势,TensorFlow.js将给开发者带来极高的灵活性。比如现在,我们不需要安装特别多特别复杂的依赖包,也不需要你的电脑有多高的配置,我们也可以搭建一个人工智能的应用。这里老师就不过多的讲解,考虑到从零开始编码实现网页的前后端难度非常大,那么请同学们进入派Lab平台,这里有相关的资源供我们借鉴。在平台上找到这门课这个项目,我们可以直接下载猜拳游戏的网页代码。下载之后,解压到指定的位置,这个时候就要回想一下配置插件的时候设置的文件夹目录。【学生活动】参考实训任务书或派Lab平台上的实训指南,完成猜拳游戏代码的部署。掌握Html与js代码之间的调用关系,TensorFlow.js构建模型的方法。【教师活动】在学生练习时进行巡视,对一些动手能力较弱的学生进行相关的指导,引导学生完成练习。【教师活动】对学生的练习进行简单小结,指出学生常见的错误。15分钟在该环节中,主要介绍猜拳游戏网页的实现,当然,这部分要考虑实现难度与学生的能力。给出一个代码样例,有条件的学生可以在此基础上进行改进。这里需要老师带着学生一起去理解代码之间的结构以及代码内部的核心部分。重点了解TensorFlow.js构建模型的部分。让学生对模型有所认知。任务三:手势数据采集、模型训练、猜拳PK【教师活动】现在我们把猜拳游戏的代码以及运行猜拳游戏网页的环境都准备好了,接下来就可以在网页上一步一步地实现猜拳PK了。想要实现最后的猜拳,就得让计算机能够看出我们出的是什么手势,然后才能进行比较。这就用到了手势自动识别模型,这个模型怎么来的呢,当然就是使用相关的手势数据进行训练得来的。那首先我们先采集一批手势数据。按照前面我们体验的过程,就可以在我们自己的网页上进行体验了。现在就请同学们参考实训任务书或者派Lab平台的实训指南,自主完成任务三。【学生活动】参考实训任务书或者派Lab平台的实训指南完成任务三【教师活动】在学生练习时进行巡视,对一些动手能力较弱的学生进行相关的指导,引导学生完成练习。最后猜拳PK的结果(供参考)15分钟该环节是一个实训环节,结合学生自身的特点,让学生自己参考任务书,完成任务,提高学生的自学能力,以及动手实践能力。四、课堂小结【教师活动】教师请各小组对本节课学习的内容进行小结。最后教师进行总结。布置课后习题5分钟让学生自己进行小结,加深学生对本节课知识的理解,也同时锻炼学生总结归纳的能力。学习效果评价课后习题题型题目答案填空题(一空一分)1、阐述什么是人工智能2、列举至少三个人工智能的应用场景3、临时在Chrome浏览器中运行本地网页,可以安装()插件1、略2、无人驾驶、智能客服、翻译机3、WebServerforChrome选择题(每题2分)4、关于TensorFlow.js,下列说法错误的是()A.TensorFlow.js是一个JavaScript库B.使用TensorFlow.js可以在浏览器上创建CNN、RNN等模型C.TensorFlow.js可以在浏览器或Node.js服务端运行D.TensorFlow.js中的张量即变量5、以下哪个不是TensorFlow.js的优点()A、网页应用交互性更强B、有访问GPS,Camera,Microphone,Accelerator等传感器的标准apiC.通过链接即可分享程序D.TensorFlow.js开发的应用运行速度非常快4、D5、D学习评价表评价角度评价内容自评他评师评ABCABCABC知识与技能能够说出什么是人工智能(课后习题1)填写对应习题的得分能够说出TensorFlow.js是什么(课后习题4,5)能够安装浏览器插件WebServerforChrome(课后习题3)能够说出人工智能的典型应用(课后习题2)能够部署猜拳游戏的Html与JS代码查看学生派lab平台中的实训情况,由教师给分过程与方法在小组讨论过程中,能够积极参与,合理地发表自己的想法。能够快速完成教师布置的实训任务总分备注:A:3分;B:2分;C:1分反思《口罩识别系统》教学设计课题:口罩识别系统授课对象:中职一年级课型:新授课课时:2~3课时教材分析:结构内容:本节课选自《人工智能通识》的项目四。本节课的主要内容是实现一个口罩识别的应用,一共有4个任务:任务1图像标注工具的使用,学生需要根据实训任务书安装并熟练使用标注工具labelimg;任务2使用任务1中下载好的标注工具对口罩图片进行标注。任务3是对口罩识别模型的训练和读取预训练模型,学生需要理解口罩识别的流程。任务4调用训练好的模型进行口罩识别,学生需要掌握模型测试的过程。地位作用:大数据和人工智能带给社会的变化是无比巨大的,在新冠疫情的冲击下,人工智能算法可以帮助社会进行口罩识别,为我们节省了大量的人力和物力,本节课的学习将带领学生实现一个人工智能项目——口罩识别,该项目讲解了从数据标注、数据处理、模型训练到模型测试整个流程,使同学们能够应对在解决真实企业项目过程中遇到的各种问题。学情分析学习心理特征:本节课的授课对象为中职一年级学生该阶段的学生学习自制力较差,上课注意力易被分散,因此在上课过程中,应该采用讲练结合的方式,让学生能够在实践中学习和巩固课程内容。同时本节课动手操作的任务比较多,因此需要循序渐进,需要以相应的任务为依托,需要小组的合作,需要教师的引导,以便学生在此过程中可以得到实时的反馈;另外由于中职一年级的学生水平各不相同,因此教师在学生操作过程中应该实时观察,引导并鼓励基础较差的学生完成练习。知识基础:中职一年级学生已经可以独立安装实训需要的环境和熟悉人工智能项目的一般流程,数据标注是一个新的知识点,可以让同学动手实操数据的标注,使学生理解数据的重要,理解标签与特征的含义。教学目标知识与技能目标:了解神经网络模型了解神经网络模型熟悉人工智能应用的实现流程具备图像标注的能力具备基于Torch框架实现目标检测模型的训练与预测的能力过程与方法:根据教师发布的实训任务书,自主进行标注工具labelimg的安装并认识该工具。根据教师发布的实训任务书,对口罩图片进行标注根据教师发布的实训任务书和老师的引领下,完成口罩识别预训练模型的加载,并尝试自己训练该模型根据教师发布的实训任务书和老师的带领下,读取测试图片,调用口罩识别模块,保存并显示检测结果。情感态度与价值观:能够体会到人工智能技术的奇妙和给生活带来的乐趣。通过小组合作的方式,培养学生的主动参与的意识,强化自身的责任感,以及增强自己的合作能力。教学重难点教学重点:1、能够使用数据标注工具2、能够加载预训练模型和训练模型3、能够调用口罩识别模块测试新的图片教学难点:1、能够加载预训练模型和训练模型教学方法教法:任务驱动法、练习法学法:自主学习法、小组合作学习法教学准备教学环境:多媒体网络计算机房教学资源:多媒体网络计算机,派Lab平台,PPT课件,微课教学过程教学内容及过程时间分配设计意图一、创设情景【教师活动】小派是某小区物业的一名工作人员,在工作过程中,他发现很多居民进出小区时不按照防疫规范戴口罩。对此,他非常苦恼,于是他想,如果有一个自动检测大家戴没戴口罩的系统就好了,让机器来识别和提醒,节约人力又能解决问题。本任务将基于Torch1.9.0实现对人脸是否佩戴口罩的自动检测。先到右侧实训演示体验一下吧!2分钟该环节通过创设一个生活中真实存在的情景,让学生了解口罩识别的应用场景。二、任务分析【教师活动】小派需要咱们帮助他实现对人脸是否佩戴口罩的自动检测。咱们应该怎么做呢?首先我们需要对如何开展该任务进行分析(该过程可以让学生进行小组讨论回答)预设:首先讨论一下口罩识别的应用场景,接着了解建立口罩识别模型的步骤。【学生活动】小组展开讨论各小组发表自己的任务分析结果【教师活动】对各小组的讨论结果进行评价,最后进行小结,得出最后的任务分析结果:子任务一:图像标注工具的使用子任务二:对口罩图片进行标注子任务三:进行口罩识别模型的训练子任务四:使用训练好的口罩识别模型进行新的图片的测试3分钟该环节主要是对本节课的任务的一个讨论分析,在该过程中,让每个学生对接下来要完成的任务进行分析和讨论,让学生成为课堂的主体,提高学生的参与感,提升学生的自主思考能力。三、新知学习任务一:图像标注工具的使用【教师活动】通过前面几个项目的学习,同学们应该了解了人工智能数据集的特征与标签的含义。那如何对一张图片进行标签信息的处理呢,我们人眼看图片,可以立马知道这张图片中是否有佩戴口罩,但是计算机是没办法像人眼一下识别出来,所以我们需要告诉计算机哪里是口罩,这个就是图像标注。人工智能项目一般都会有数据标注的工作,前面虽然我们经历,这是因为提前就把数据标注的工具做好了。针对不同任务,如图像分类、图像分割、图像识别等,图像标注工具有很多,下面我们以labelImg为例,熟悉工具的常规使用。首先我们下载该标注工具,点击左侧文件夹图标,进入“data-sets”文件夹,选中“labelImg.exe”,并右键选择“下载”,保存到本地。大家下载后,双击exe文件,就可以看面界面了。请同学们进行下载并安装。【学生活动】学生动手操作【教师活动】现在我们就来使用它,点击左侧工具栏中的“Open”,可以选择本机中任一张图片,也可点击“OpenDir”打开本机中存放图片的文件夹。如选择磁盘中某路径下的“samples”文件夹。打开后,可以看到左上角红框表示当前加载的图片,中间显示的就是“1.jpg”对应的图像,右下角红框是“samples”文件夹中的所有图片的“Filelist”。假设我们的任务是训练一个目标检测模型,现在我们要将图片中出现的各种人和物打上标签。点击左侧工具栏的“CreateRectBox”,用来在图片中画标注框,下面我们把口罩框出,并打上“mask”标签。我们再把图片中的书框出,打上标签,可以看到右侧红框是该图片中已经被框出内容的标签名。如果想要删除步骤4中画出的某个标注框,可以先选中图片中的这个标注框,然后能看到左侧工具栏中“DeleteRectBox”由灰色不可点状态变成了黑色可点击状态,这时点击它,被选中的标注框就被删除了。如果图片中有相同的物体,那么标注时就可以使用复制功能,复制图片中已画好的标注框,然后将其拖动到未标注的物体上。点击左侧工具栏中的“Save”,可以选择保存的路径,在该路径下将生成一个xml文件,且xml文件的名字是和被标注图片的名称一样。可以通过以下方式查看xml的标注结果。“path”:表示当前xml标注结果对应的图片路径;“object”:表示图片中被标注的对象,有几个标注框就会有几个object,每一个object中包含了该标注对象的类别标签“name”以及在图片中的位置信息。【预设】教师演示数据标注过程【学生活动】学生实操,对一张图片进行数据标注20分钟在该环节中,教师演示数据标注的过程,让学生提前对数据有个认知。任务二:口罩数据的标注刚刚我们已经学会了如何使用labelimg工具,现在为了训练一个基于神经网络的口罩识别模型,我们需要制作一批带标注的人脸图像数据。对任意一张出现人脸的图片,将人脸框出,并打上标签。如果人脸没带口罩,标签为“nomask”,如果带了口罩,人脸标签为“mask”。为了便于批量标注,我们将保存图像的文件夹打开,然后逐张图像进行标注即可。如下图所示的文件夹,你也可以点击左侧文件夹图标,进入“data-sets”下载该文件夹对应的压缩包。使用“CreateRectBox”,在口罩上画一个矩形框,并填写label为“mask”;使用“save”功能生成一个标注结果xml文件,并保存到磁盘目录中,默认是存放在被标注图片的同级目录中后缀为xml的同名文件。点击“NextImage”,就可以打开该文件夹下的下一张图片。按照同样的标注方法,对两张人脸进行标注并保存:没带口罩,标记为“nomask”;带了口罩,标记为“mask”;请同学们选择两张图片,一张带口罩的和一张不带口罩,进行标注。【学生活动】学生通过实训任务书或者派Lab平台上的实训指南,进行数据的标注【教师活动】对学生的操作做一些指导,及时解决学生在采集过程中遇到的问题。15分钟在该环节中,通过演示法向同学们展示了口罩数据标注的全过程,然后让学生自己实践,模仿训练,加强学生的动手操作能力。任务三:进行口罩识别模型的训练【教师活动】刚刚同学们已经成功的完成了数据的标注了,那现在我们来进行口罩识别模型的训练。实现口罩识别模型使用的是目标检测中的YOLO模型。目标检测是计算机视觉中比较常见的任务,它用来找到图片中的某些物体,,除了识别这些物体的种类,同时标出这些物体的位置。YOLO就是一种可以实现目标检测的模型,它的全称是youonlylookonce。YOLO使用卷积神经网络学习的特征来检测图像中的物体。本任务将基于YOLO实现口罩识别。同学们只需要掌握YOLO模型的作用就可以了。因为关于YOLO模型的结构已经封装在了train.py文件中,我们直接调用就可以的。下面请同学们打开派lab,打开项目4中的任务3,我们通过6个步骤完成本任务。第一步和第二步:是约定俗成的解压资源文件和导包的操作。点击左侧文件夹图标,进入“data-sets”,可以看到压缩包“MaskDetect.zip”,包含了该项目的数据集以及封装好的代码库,使用下面的命令将其解压到当前目录中。该项目实现的源码都封装在“train.py”中,可以使用下面的命令将其导入环境中,在后续的步骤中可以调用它内部的方法。第三步:处理xml标注数据,在任务2中,我们标注了一批人脸戴与不戴口罩的数据,标注结果均是xml文件,下面我们要对其做进一步的处理,提取有用信息。调用“process_xml”方法,配置好图像路径、标注文件的路径、以及结果保存路径即可。这里先处理训练集再处理验证集。第四步,读取数据集,从train包中调用process_traindata()函数,根据以上步骤的文件路径,将数据集划分为训练与测试。请同学们按照实训任务书,完成数据的读取。【学生活动】参考实训任务书或派Lab平台上的实训指南,完成数据的读取。【教师活动】第五步:由于从头训练一个好模型需要时间较久,我们提前预训练了一个口罩识别模型"./model_data/yolov4_maskdetect_weights1.pth",我们可以使用标注的数据在此模型上继续迭代,得到一个效果更好的模型。调用“load_premodel”函数,配置好模型路径、类别标签文件路径即可。运行结果中显示“Finished!”加载完成。请同学们思考一下,预训练模型对于整个模型构建有什么意义?【预设】预训练模型是提前训练好的模型,是性能比较稳定的模型。使用预训练模型来测试新的数据,不仅可以节约时间,还能获得稳定的准确率。有时一些任务也是通过对预训练模型的微调完成模型的构建。【学生活动】学生动手实操,并思考回答问题【教师活动】第六步:如果需要从头训练一个口罩识别模型,请同学们思考需要哪些参数,这些参数各自代表什。要构建一个人工智能应用,一般需要标注好的数据、模型结构,关于模型结构,读取数据都封装在train.py文件中,我们调用train_model方法,,配置好训练集、验证集、迭代次数、学习率、模型结构等参数即可。注:使用cpu环境训练时,把Batch_size设小一点,否则容易报出超出内存的错误。同学们在私底下可以将迭代设置的大一些,知道损失函数收敛了或者到达一定的迭代次数,就训练好了。训练完得到的是最好的模型的权重,我们再调用“save_model”方法,配置好得到的模型权重,模型保存的地址和名称即可。【学生活动】学生动手实操,并思考回答问题30分钟在该环节中,教师通过演示、任务驱动方法,演示法带领学生熟悉模型训练的流程,任务驱动法引导学生进行举一反三,巩固旧知识,并在练习中发展问题,解决问题。任务四:使用训练好的口罩识别模型进行新的图片的测试【教师活动】在上一个任务中,我们进行了模型的训练,得到的是一个训练好的最优的模型,在本任务中,就使用这个模型对一张新的图片进行测试。在开始实训之前,确认一下当前环境中是否已经安装了torch1.7.1,如果在任务3中已经安装,且实训环境没有关闭,可以直接开始任务4的实训;否则,重新安装torch包:!pipinstalltorch==1.7.1。第一步:解压资源文件和导入一些包和封装好的函数。第二步:我们准备模型,顺利完成了任务3的同学,可以将自己的模型通过下面的方式上传到本任务的数据路径下;任务3中训练的模型我们上传到了网盘,如果完成了任务3的同学可以不用下载,如果没有完成任务3的同学,可以去下载使用。模型地址如下:链接:/s/11djm79ak78I_Udz4AcoS_g提取码:xkv8注意:无论是自己的模型还是下载的模型,都需要将模型上传到该项目环境中。方法如下:点击左侧文件夹图标,进入“model_data”,点击上传按钮,找到本地的模型,等待上传完成即可。请同学动手实操,将模型上传至本任务中。【学生活动】学生动手实操。【教师活动】现在我们对预训练模型进行测试,先读取测试图片,定义图片路径,然后用Image.open模块打开文件,模型测试方法封装在yolo.py文件中,先实例化一个YOLO类,然后对yolo调用detect_image函数,进行口罩识别,返回的是一个带标签的图片,带了口罩的图片会框出人脸部分,并标注“mask”和置信度,没带口罩的图片同样会框出人脸,但是标注“nomask”和置信度。接下来就可以对这张图片进行保存和显示。请同学们自己上传一张图片进行测试吧。【学生活动】学生动手实操。【教师活动】刚刚同学们完成的非常好。我们可以批量展示测试效果,大家打开派lab,执行步骤7的代码。在界面的右边将出现一个交互面板,这里可设置一个图片目录,以“face_mask_datasetes/val_mask/images/”为例,你可以任意选择该目录中的图像进行测试。
另外,如果你想要用自己的图片测试,可以将图片上传到这个目录下(重新设置一个目录也可以,但要将下面代码中的参数path_image修改成你的新目录),然后重新运行下面的代码。【学生活动】学生动手实操。15分钟该环节教师通过带领学生进行实操,解读代码,学生通过动手模仿,可以让学生了解人工智能算法的测试流程,让学生对此有一个初步的认知。四、课堂小结【教师活动】教师请各小组对本节课学习的内容进行小结。最后教师进行总结。布置课后习题5分钟让学生自己进行小结,加深学生对本节课知识的理解,也同时锻炼学生总结归纳的能力。学习效果评价课后习题题型题目答案填空题(一空一分)1、阐述什么是目标检测2、请你对一张带墨镜的图片进行标注,带了墨镜的标注mask,没带的标注no_mask。3、请你简述口罩识别的流程1、略2、略3、略选择题(每题2分)4、YOLO模型是用来()A.图像分类B.文本分类C.目标检测D.语音识别5、训练一个口罩模型,一般需要配置哪些参数()A.学习率B.batch_sizeC.优化函数D.损失函数4、D5、ABCD学习评价表评价角度评价内容自评他评师评ABCABCABC知识与技能能够说出什么是目标检测(课后习题1)填写对应习题的得分能够对不同种类的图像进行标注(课后习题2)能够简述口罩识别的流程(课后习题3)能够说出YOLO模型的应用的领域(课后习题4)能够说法人工智能算法训练阶段所用到的参数(课后习题5)能够实现口罩数据的标注、模型的训练和标注查看学生派lab平台中的实训情况,由教师给分过程与方法在小组讨论过程中,能够积极参与,合理地发表自己的想法。能够快速完成教师布置的实训任务总分备注:A:3分;B:2分;C:1分反思《体育运动的姿态检测》教学设计课题:体育运动的姿态检测授课对象:中职一年级课型:新授课课时:2~3课时教材分析:教学内容选自《人工智能通识》课程的项目五。该项目共有4个任务:任务1是姿态检测体验,通过对浏览器进行相关配置,然后调用相应模型,学生可自行体验姿态检测,并学习相应的人工智能基础知识,例如什么是姿态检测、什么是分割掩码、姿态检测的应用等知识;任务2是图片中的运动姿态检测,主要介绍运动姿态检测的核心框架——MediaPipe模块的使用,同时学生能够结合已有的设计经验,设计出运动姿态检测任务的实训步骤;任务3是图片深蹲姿势标准检测器,是针对某一具体动作对任务2的丰富,学生需要掌握angle()函数与cv2AddChineseText()函数的使用方法;任务4是视频深蹲姿势标准检测器,该任务是对任务3的拓展,只需对任务3做一定的修改与拓展,便可将该检测器的使用面从图片扩展到视频层面。通过学习本课,学生可以举一反三对不同的体育动作或舞蹈动作进行姿态检测,同时还可将其扩展到手语识别、手势控制等领域。学情分析学习心理特征:本课授课对象是智能技术系机器人专业高一年级学生。学生在学习该项目之前,已经有过多个项目的学习经验,不但具备了识读、编写Python程序的能力,同时还对一些比较常用的机器学习算法、深度学习的TensorFlow框架、计算机视觉领域的基础知识以及一些项目开发中常用到的Python库有了比较深入的理解与应用。知识基础:1.学生已经完成了项目四口罩识别系统的学习,同时已经对计算机视觉领域中的各种图像处理技术有了比较深入的、概念化的理解,但对某些图像处理技术如何应用到项目开发中还存在一定的困难,要想突破这个困难,需要相应的任务作依托、需要教师的引导、需要小组的合作。2.大部分学生自主学习能力比较差,但对新鲜事物的探索能力较强,因此将该项目中任务1的姿态检测体验作为课前准备阶段的学习内容推送给学生,使其在体验姿态检测的同时,对该项目的应用、技术需求有一定的了解。3.对任务2进行升级改造成任务3时,将关节坐标的读取、给图片增加文字、动作幅度的计算三个环节进行合并应用时,学生可能会对程序的识读存在一定的问题,为此可通过增加批注的方式加深学生的理解。教学目标知识与技能目标:1、能够安装Mediapide框架。2、能够调用Mediapide框架对图片、视频中的运动进行姿态检测3、掌握angle()函数、cv2AddChineseTest()函数的使用。4、能够对姿态检测的视频进行读取与保存。5、了解姿态检测技术的概念与应用领域。6、了解计算机视觉领域中图像分割技术的概念及掩码技术。过程与方法:使用搜索引擎搜索信息,小组合作讨论数据分析及数据可视化概念及其应用。根据教师发布的实训任务书,自主进行爬虫工具—后羿采集器的安装与配置。根据教师发布的实训任务书,自主在爬虫工具中创建数据采集任务,即采集杭州滨江区的房价。根据教师发布的实训任务书和老师的引领下,完成数据的分析与可视化根据教师发布的实训任务书和老师的带领下,完成随机森林模型的构建和预测。情感态度与价值观:能够体会到人工智能技术的奇妙和给生活带来的乐趣。通过小组合作的方式,培养学生的主动参与的意识,强化自身的责任感,以及增强自己的合作能力。教学重难点教学重点:MediaPipe模块的安装与调用。教学难点:关节节点的捕捉与动作幅度的计算教学方法教法:任务驱动法、练习法学法:自主学习法、小组合作学习法教学准备教学环境:多媒体网络计算机房教学资源:多媒体网络计算机,派Lab平台,PPT课件,微课教学过程教学内容及过程时间分配设计意图一、创设情景【教师活动】从图片或者视频中估计人体姿势在各种应用中发挥着关键作用,例如智能体育锻炼教练、手语识别、手势控制以及VR相关的各种体感应用。在我们日常生活中,姿态检测可以构成瑜伽、舞蹈和健身应用的基础。小派同学希望可以通过深蹲来锻炼自己腿部的肌肉力量,但是他害怕不标准的姿势有害无益。所以在这个项目周,我们将逐步跟小派一起,实现一个深蹲标准与否的检测器。2分钟该环节通过创设一个生活中真实存在的情景,让学生了解姿态检测和人工智能。二、任务分析【教师活动】小派希望可以通过一个神奇的检测器检测自己的深蹲姿势是否标准,那应该如何检测呢,要用到哪些技术呢?本项目一共可以分为四个子任务,任务1呢,我们先不去探讨这里面有什么具体的技术,先去体验一下姿态检测,看看姿态检测检测的到底是什么。任务2我们来介绍一下MediaPipe模块的使用,来了解一下姿态检测的流程。任务3是对任务2的丰富,我们需要掌握angle()函数与cv2AddChineseText()函数的使用方法。任务4是对任务3的拓展,会来体验一下视频检测的检测流程。【学生活动】小组展开讨论各小组发表自己的任务分析结果【教师活动】对各小组的讨论结果进行评价,最后进行小结,得出最后的任务分析结果:子任务一:姿态检测体验子任务二:图片中的运动姿态检测子任务三:图片深蹲姿势标准检测器子任务四:视频深蹲姿势标准检测器3分钟该环节主要是对本节课的任务的一个讨论分析,在该过程中,让每个学生对接下来要完成的任务进行分析和讨论,让学生成为课堂的主体,提高学生的参与感,提升学生的自主思考能力。三、新知学习任务一:姿态检测体验【教师活动】本任务是来通过浏览器配置来实现网页版的姿态检测。我们先按照猜拳小游戏项目中,安装好Chrome浏览器的插件WebServerforChrome。我们下载本任务所需的资料,同学们打开派Lab中的任务1,从右边侧边栏选择文件夹图表,点击文件夹‘data-sets’,下载“姿态识别.zip”到本地电脑上.【学生活动】学生打开网址,下载资料【教师活动】下载好资料后,需要对谷歌浏览器就行配置,我们打开谷歌浏览器,输入:chrome://flags/#unsafely-treat-insecure-origin-as-secure。然后将:8887网址复制到文本框中,再点击Disable选项卡,选择Enable。这一步完成之后,打开WebServer,选择刚刚解压的文件夹,通过WebServer打开index.html,网页加载速度取决于电脑配置,请同学们耐心等待一下。网页加载完成后,画面上有几个可调节的参数,自拍模式是,打开则对相机或者视频图片输入进行垂直翻转处理。模型复杂度可选0,1,2.标记的准确性和计算延迟通常会随着模型的复杂度增加,默认为1。平滑标点为过滤不同输入图像中的地标以减少抖动。开启画面分割,如果设置为true,那么除了姿势界标之外吗,该解决方案还生成分割掩码。平滑分割的作用是过滤不同输入图像的分割掩码以减少抖动。最小姿态检测置信度为人检测模型中的最小置信度。最小姿态跟踪置信度:跟踪模型的最小置信度直,设置为更高的可以提高识别的稳定性与准确性,但是会带来更高的延迟。如果有同学的摄像头不可用,可以选择下载本任务提供的demo,并上传至浏览器。同学可以自己动手操作,然后分享一下自己的感受【学生活动】学生通过实训任务书或者派Lab平台上的实训指南,自行进行姿态识别体验并发表看法。是姿态检测体验,通过对浏览器进行相关配置,然后调用已经制作好的运动姿态检测模型,学生可自行体验姿态检测,并学习相应的人工智能基础知识,例如什么是姿态检测、什么是分割掩码、姿态检测的应用等知识。15分钟在该环节中,通过让学生亲身体验姿态识别的过程,引发学生的兴趣任务二:对图片中的运动姿态进行检测刚刚同学们已经体验了姿态识别了。本任务就开始学习姿态识别中的具体的实现过程了。本任务的目标是了解MediaPipe模块的使用和姿态检测的流程首先我们了解MediaPipe模块。MediaPipe是一款由GoogleResearch开发并开源的多媒体机器学习模型应用框架。基于图形的跨平台框架,用于构建多模式(视频,音频和传感器)应用的机器学习管道。 MediaPipe可在移动设备、工作站和服务器上跨平台运行,并支持移动GPU加速。使用MediaPipe,可以将应用的机器学习管道构建为模块化组件的图形。 在谷歌,一系列重要产品,如、GoogleLens、ARCore、GoogleHome以及,都已深度整合了MediaPipe,并且还支持TensorFlow和TFLite的推理引擎(InferenceEngine),任何TensorFlow和TFLite的模型都可以在MediaPipe上使用。同时,在移动端和嵌入式平台,MediaPipe也支持设备本身的GPU加速。同学们可以通过!pipinstallmediapipe来安装MediaPipe。【学生活动】学生通过实训任务书或者派Lab平台上的实训指南,进行MediaPipe的安装【教师活动】姿态检测模型是已经训练好的,由于直接从官网进行模型下载比较缓慢,我们的右边侧栏中提供了这个模型,我们将模型进行压缩后到指定位置。然后导入一些本节所需要的包,cv2用来读取图片的,numpy用来做运算,util里面有封装好的函数,本任务的姿态识别会用到里面的函数,matplotlib用来查看图片。我们首先读取待检测的图片,使用的函数是cv2.imread()函数,然后进行显示,由于OpenCV读取的是BGR顺序的图片,我们先将图片转换为RGB。使用的是转换函数“cv2.cvtcolor()”,然后使用“plt.show显示图片。”可以看到图片中的人物正在做一个下腰的动作。同学们先尝试将这张图片进行显示。【学生活动】学生通过实训任务书或者派Lab平台上的实训指南,进行M图片的展示。【教师活动】接下来,我们调用make_image函数进行姿态检测。我们将MediaPipePose的检测过程放入了make_image函数,所以在这里我们使用了MediaPipe并绘制姿态标点。在这里,我们只要调用make_image函数,输入一张刚读取的图像,该函数返回的是一张检测完毕并进行了描点的操作,最后通过plt.imshow函数进行展示。从这张检测图上看出,身体的各个关键点已经被检测出来了,请同学们自行尝试【学生活动】学生通过实训任务书或者派Lab平台上的实训指南,进行图片中运动姿势的关键点检测。20分钟在该环节中,通过演示法向同学们展示了运动姿势识别的全过程,然后让学生自己实践,模仿训练,加强学生的动手操作能力。任务三:对图片深蹲姿势标准检测器【教师活动】上个任务,我们检测了运动的姿势,可以发现关节与关节之间是用线连接起来的,小派在进行深蹲锻炼的过程中,发现计算机可以进行判断是否膝盖弯曲角度低于90°,并以此来判断深蹲做的是否标准。首先我们仍然解压文件并将模型解压到所需位置,并把相应的包导入。同学们打开派lab中的任务3,在步骤5中,我们该如何根据三个坐标计算关节的角度呢?这里是可以通过调用angle函数进行角度计算,这个函数被封装在util.py文件中,参数为三个点的坐标,返回的是夹角值。同学们可以通过,自己设置三个坐标,测试一下。【学生活动】学生输入三个测试坐标,调用angle函数计算夹角。【教师活动】我们已经知道如何通过angle函数计算三个坐标的夹角;有了这个函数,我们就可以计算人体关键点之间的夹角了。那如果我想在某张图片上标记上夹角的大小,又该如何实现呢?那这个步骤我们就来学习如何给图片添加上文字。我们 我们通过imread读取图片,然后进行颜色通道转换。接下来通过调用cv2AddChineseText()方法在图片“1.png”的(250,50)的位置上添加文字"添加文字",并设置颜色(0,0,0)即黑色。如果大家想要调制出更多的颜色,可以访问网站。接下来,我们来读取关节坐标,我们先配置MediaPipe的姿态识别解决方法,得到标记姿态的结果后,再读取所有点的坐标,然后再通过索引读取每个位置的坐标,计算膝关节弯曲角度需要三个的点的坐标,而调用关节点需要用到关节点的英文名称,我们将每个关节的英文都放在了步骤7中,大家自行查阅。同学们现在可以进行步骤6、7的练习,尝试给图片添加文字,计算关节坐标。【学生活动】学生动手实操【教师活动】接下来我们将步骤5.6.7进行合并,大家可以想一下为什么要将计算夹角、给图片添加文字、计算关节坐标合并在一个compute函数内。这里呢会涉及到make_image函数,make_image函数作用的是标记关节的。我们现将任务二中的make_image函数进行升级,使它可以输入自定义的一些图像处理函数,并在完成姿态检测后进行处理。接下来我们进行图片读取,并将上一个代码块中的compute函数输入进make()函数,这样就可以在对图像进行姿态检测后,绘制我们自己想加上去的内容,比如膝盖弯曲角度。我们读取一张1的图片,将该图片和compute函数作为参数传入make_image_advance函数中。 步骤六的文字会默认为黑色,但是我们可能会希望如果这个深蹲姿势是标准的,有一些更醒目的提示,比如说亮绿色。反之,如果是不标准的,我们可能希望有一些提醒色,比如黄色。我们预设,膝盖弯曲角度小于90度,则表示深蹲姿势是标准的,否则就是不标准的,这一步是拓展问题,同学们可以根据步骤9进行尝试。【预设】这一步是合并姿态识别和标记关节坐标,适合基础不太好的同学直接调用。【学生活动】学生动手实操30分钟在该环节中,教师通过演示、任务驱动方法,学生模仿训练的方式进行姿态的识别的标记,演示法带领学生姿态识别的流程与优化,任务驱动法引导学生进行举一反三,巩固旧知识,并在练习中发展问题,解决问题。任务四:视频深蹲姿势标准检测器【教师活动】前面的任务中,我们对是对图片中的姿态进行识别的,本任务是对视频中的深蹲姿势进行检测。全部的流程都是一样的,大家可以回顾图片姿态识别的过程,视频的姿态识别也是一样的,将对图片的处理转换为对视频的处理就可以了。同样的,我们传入make_video函数,这是已经包装好的视频深蹲检测函数,这里的make_video函数是将视频逐帧读取,再进行处理的,我们设置每秒查看一次。然后再把视频处理函数进行传入,视频处理函数compute的作用是在图片上显示当前是第几秒。操作完成后,我们可以通过侧边栏的文件夹处下载out.mp4进行查看,在人背后的那面墙右上方添加了黑色数字。在步骤3中我们学会了再视频画面中添加文字,那么想要把深蹲检测的信息添加到视频中,就要重新定义一个更加复杂的compute函数,如果同学们在任务3想出了更符合自己喜好的操作函数,也可以直接将这个函数进行替换。同样的,也是将动作的标准程度进行不同颜色的标注。经过刚才的讲解,同学们请结合实训任务书,实现将深蹲检测的信息添加到视频中。【学生活动】学生动手实操。到现在为止,体育运动的姿态检测项目就完成了,整个过程用到的封装函数比较多,在本项目中,大家需要掌握检测的流程,angle函数,以及图片、视频处理函数,至于具体的姿态检测模型的原理不需要掌握。大家自己动手实操一下。20分钟该环节教师通过带领学生进行实操,解读代码,学生通过动手模仿,可以让学生了解人工智能算法的工作流程,让学生对此有一个初步的认知。四、课堂小结【教师活动】教师请各小组对本节课学习的内容进行小结。最后教师进行总结。布置课后习题5分钟让学生自己进行小结,加深学生对本节课知识的理解,也同时锻炼学生总结归纳的能力。学习效果评价课后习题题型题目答案填空题(一空一分)1、阐述什么是Mediapide框架2、使用cv2AddChineseText函数一张图片进行文字标注,并上传结果3、简述掩码的概念1、略2、略3、略选择题(每题2分)4、以下关于MediaPip的说法中,错误的是()A.是一个多媒体机器学习模型框架B.是跨平台的应用框架C.MediaPipe的核心框架由python实现D.MediaPipe集成了人脸识别,人体姿态评估,人手检测模型4、C学习评价表评价角度评价内容自评他评师评ABCABCABC知识与技能能够说出什么是Mediapide框架(课后习题1)填写对应习题的得分简述掩码的概念能够认识MediaPip。能够使用cv2AddChineseText函数一张图片进行文字标注,并上传结果,并实现图片深蹲姿势的检测。查看学生派lab平台中的实训情况,由教师给分过程与方法在小组讨论过程中,能够积极参与,合理地发表自己的想法。能够快速完成教师布置的实训任务总分备注:A:3分;B:2分;C:1分反思《创意美术体验》教学设计1课题:图像读取与几何变换授课对象:中职课型:新授课课时:3~4课时教材分析:结构内容:本节课选自《人工智能通识》的项目六。本节课的主要内容体验人工智能的应用,了解计算机视觉技术发展趋势和应用场景,自己动手上传图片尝试目标识别,对计算机视觉技术有感性认识,熟练使用OpenCV库对图像进行基本操作,熟练使用OpenCV库对图像进行边缘检测。地位作用:如今人工智能已经逐步让人们的生活智能化,让企业服务智能化,那么无论为了工作还是为了跟上时代步伐,有必要去了解人工智能是如何运作的。本节课的学习将带领学生感知计算机视觉技术应用,需要学习OpenCV对图像的基本操作,为后面的学习打好基础。学情分析学习心理特征:本节课的授课对象为中职一年级学生该阶段的学生学习自制力较差,上课注意力易被分散,因此在上课过程中,应该采用讲练结合的方式,让学生能够在实践中学习和巩固课程内容。同时该阶段的学生有很多自己的想法和创意,因此在设计任务时,需要给学生一定的自由发挥的空间,让学生自主地学习和实践。另外由于中职一年级的学生水平各不相同,因此教师在学生操作过程中应该实时观察,引导并鼓励基础较差的学生完成练习。知识基础:中职一年级学生已经掌握了计算机与浏览器的使用,因此可以让学生独立动手安装实训需要的环境。教学目标知识与技能目标:了解计算机视觉技术发展趋势和应用场景自己动手上传图片尝试目标识别,对计算机视觉技术有感性认识熟练使用OpenCV库对图像进行基本操作熟练使用OpenCV库对图像进行边缘检测熟练OpenCV对图像的基本操作实现图像的几何变换(缩放、平移、旋转、仿射、透视)过程与方法:使用搜索引擎搜索信息,小组合作讨论OpenCV的基本操作和边缘检测算法应用。根据教师发布的实训任务书,自主进行OpenCV的图像读取和边缘检测的实训。根据教师发布的实训任务书,自主实现图像的几何变换操作情感态度与价值观:能够体会到计算机视觉技术的奇妙和给生活带来的乐趣。通过小组合作的方式,培养学生的主动参与的意识,强化自身的责任感,以及增强自己的合作能力。教学重难点教学重点:1、什么是计算机视觉?2、什么是数字图像处理?3、计算机眼中的世界4、OpenCV加载彩色灰度图像5、显示图像尺寸、灰度图教学难点:OpenCV工具进行边缘检测OpenCV进行图像缩放、平移、旋转、仿射和透视教学方法教法:任务驱动法、理实一体法学法:自主学习法、小组合作学习法教学准备教学环境:人工智能实训室教学资源:派LabAI云课堂,PPT课件,教案,实训源代码,相关素材教学过程教学内容及过程时间分配设计意图一、创设情景【教师活动】OpenCV是计算机视觉中经典的专用库,其支持多语言、跨平台,功能强大。OpenCV-Python为OpenCV提供了Python接口,使得使用者在Python中能够调用C/C++,在保证易读性和运行效率的前提下,实现所需的功能,其简单易懂,使得初学者能够快速上手使用。学会OpenCV处理计算机视觉问题将事半功倍!2分钟该环节通过创设一个生活中真实存在的情景,让学生了解人工智能的应用。二、任务分析【教师活动】 本案例我们主要需要学习OpenCV对图像的基本操作,为后面的学习打好基础。首先我们需要对如何开展该任务进行分析(该过程可以让学生进行小组讨论回答)预设:首先需要导入Python工具包,接着学习加载彩色灰度图像,然后需要了解显示图像尺寸和显示灰度图的方法,最后写入图像进行边缘检测。【学生活动】小组展开讨论各小组发表自己的任务分析结果【教师活动】对各小组的讨论结果进行评价,最后进行小结,得出最后的任务分析结果:子任务一:OpenCV基础图像读取、写入与保存子任务二:边缘检测子任务三:几何变换3分钟该环节主要是对本节课的任务的一个讨论分析,在该过程中,让每个学生对接下来要完成的任务进行分析和讨论,让学生成为课堂的主体,提高学生的参与感,提升学生的自主思考能力。三、新知学习任务一:OpenCV基础图像读取、写入与保存【教师活动】在进行实训任务之前呢,老师这里先梳理一下操作的流程。+步骤1:导入Python工具包+步骤2:加载彩色灰度图像+步骤3:显示图像尺寸+步骤4:显示灰度图+步骤5:写入图像+步骤6:边缘检测【学生活动】根据实训指导手册按步骤进行实训。【教师活动】老师们根据操作流程进行教学,先从导入python工具包开始,一般在写一个程序之前,都是需要导入相关的工具包的,我们要想实现图像的读取写入和保存,就需要先对其进行数据层面的处理,我们可以导入数据处理包numpy、图像处理工具CV2、以及可视化的包matplotlib,同学们可以进行尝试。接着,我们可以让学生输入代码img=cv.imread('./data-sets/pic.jpg',0)来加载彩色灰度图像,接着进行图像尺寸的介绍,图像尺寸即图像像素尺寸,由宽和高两个维度组成,平时我们说的1920x1080尺寸图片,意思就是1920个像素宽,1080个像素高的图片。上述加载的图像尺寸为435x580。输入代码img.shape来查看图像尺寸。接着对灰度图进行介绍,灰度图,GrayScaleImage或是GreyScaleImage,又称灰阶图。把白色与黑色之间按对数关系分为若干等级,称为灰度。灰度分为256阶,即图片中每一个像素点为0到255之间的一个数值。输入代码plt.imshow(img,plt.cm.gray)将图像转为灰度图,输入代码plt.show()来显示图像。最后保存图像,输入代码cv.imwrite('pic_1.png',img)来保存图像【学生活动】小组讨论探究,各组分享探究结果【教师活动】进行总结这里先简单的说一下图像读取写入、保存的原理和函数方法,同学们需要根据每一步骤,学习一个知识点,每个函数的使用方法和参数。最后进行同学答疑。15分钟在该环节中,设置了一个实操环节,能够让学生自己动手实操进行图像基本读取写入保存的一个过程,增加课堂的实践性,调节课堂的氛围,同时也让学生对项目的目标成果有个整体认知。【教师活动】请同学们思考,为什么要先显示灰度图呢?imshow()函数的参数都代表着什么呢?预设:图像灰度化的目的是为了简化矩阵,提高运算速度。彩色图像中的每个像素颜色由R、G、B三个分量来决定,而每个分量的取值范围都在0-255之间,这样对计算机来说,彩色图像的一个像素点就会有256*256*256=16777216种颜色的变化范围!而灰度图像是R、G、B分量相同的一种特殊彩色图像,对计算机来说,一个像素点的变化范围只有0-255这256种。彩色图片的信息含量过大,而进行图片识别时,其实只需要使用灰度图像里的信息就足够了,所以图像灰度化的目的就是为了提高运算速度。【学生活动】思考并回答问题【教师活动】对学生的回答进行小结:同学们的推断都是比较准确的,同时,使用函数cv.imshow()在窗口中显示图像。窗口自动适合图像尺寸。第一个参数是窗口名称,它是一个字符串。第二个参数是我们的对象。你可以根据需要创建任意多个窗口,但可以使用不同的窗口名称。(同学们先动手实践,然后讨论)预设:注意在jupyter环境下,opencv的cv.imshow()函数无法正常显示图片,故我们用plt.imshow()函数替代cv.imshow()【学生活动】思考并回答问题30分钟在该环节中,通过提问的方式引出接下来要操作的内容,同时让学生在动手操作之前能够思考为什么要做这个事.另外,让学生动手安装之后再抛出一个问题,让学生讨论发现问题的答案,而不是直接给出,增加学生之间的互动与交流。任务二:OpenCV实现图像的几何变换【教师活动】刚才我们已经把对图像的读取、写入、保存进行了学习,现在需要对几何变换进行实操学习。图像几何变换是指用数学建模的方法来描述图像位置、大小、形状等变化的方法。在实际场景拍摄到的一幅图像,如果画面过大或过小,都需要进行缩小或放大。如果拍摄时景物与摄像头不成相互平行关系的时候,会发生一些几何畸变,例如会把一个正方形拍摄成一个梯形等。这就需要进行一定的畸变校正。在进行目标物的匹配时,需要对图像进行旋转、平移等处理。在进行三维景物显示时,需要进行三维到二维平面的投影建模。因此,图像几何变换是图像处理及分析的基础。1、什么是图像的几何变换?图像的几何变换就是将一组图像数据经过某种数学运算,映射成另外一组图像数据的操作。所以,几何变换的关键就是要确定这种空间映射关系。几何变换又称空间变换。对于图像数据来说,就是将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置。或者说,几何变换不改变图像的像素值,只是在图像平面上进行像素的重新安排。2、为什么要对图像进行几何变换?对图像进行几何变换可以一定程度上的消除图像由于角度、透视关系、拍摄等原因造成的几何失真,进而造成计算机模型或者算法无法正确识别图像,所以我们要对图像进行几何变换。几何变换不是取悦人眼的,是取悦计算机的,是让计算机(模型、算法)能更好的认识图片的。所以,对图像进行几何变换处理是深度学习中数据增强的一种常用手段,是进行图像识别前的数据预处理工作内容。比如,在很多机器视觉落地项目中,在实际工作中,我们并不能保证被检测的物体在图像的相同位置和方向,所以我们首先要解决的就是被检测物体的位置和方向。所以我们首先要做的就是对图像进行几何变换。3、图像数据都有哪些几何变换?按照人类的视觉效果分,二维图像的基本几何变换主要有缩放、平移、旋转、镜像、透视等。按照变换的数学原理的不同分,二维图像的基本几何变换主要有仿射变换、透视变换、重映射变换。本次的实训内容则分为14个小节:步骤1:读取图片步骤2:输出原始图片步骤3:获取原始图片的尺寸步骤4:定义图像缩放变换的参数步骤5:显示放大变换前后对比图步骤6:定义平移变换的参数步骤7:进行图像的平移变换步骤8:显示平移变换前后对比图步骤9:定义旋转变换参数步骤10:进行图像的旋转变换步骤11:显示旋转变换前后对比图步骤12:定义透视变换的参数步骤13:进行的图像的透视变换步骤14:显示透视变换前后对比图【学生活动】参考实训任务书或派Lab平台上的实训指南,完成图像几何变换的理解和几种几何变换的意义和实操。【教师活动】在学生练习时进行巡视,对一些动手能力较弱的学生进行相关的指导,引导学生完成1-8步骤练习。【教师活动】对学生的练习进行简单小结,指出学生常见的错误。30分钟在该环节中,主要介绍图像几何变换的实现,当然,这部分要考虑实现难度与学生的能力。给出一批代码样例,有条件的学生可以在此基础上进行改进。这里需要老师带着学生一起去理解代码之间的结构以及代码内部的核心部分。重点了解几个重要变换的函数方法。让学生对opencv的使用有所认知。任务二步骤10-14:OpenCV几何变换下部分【教师活动】1、放大缩小图像(Scaling)改变图像尺寸,即长和宽,可以按照比例即按照长宽比来改变图像大小,也可以不按照图像长宽比按照需求来放大或者缩小图像;可以看到Opencv提供了resize函数,可以通过第二个参数输入图像的具体尺寸,也可以通过fxfy参数按照新的尺寸与旧尺寸的比值来设置;interpolation参数表示在放缩图像的时候的插值方法;2、平移图像(translation)假设我们的视域不变,也就是我们看的地方和范围都不变,对图像进行各个方向的移动,我们能看到的就是图像经过平移之后的结果;Opencvpython没有直接的图像平移函数,可以通过平移矩阵来完成对图像的平移,平移矩阵钱两列为一个单位矩阵,最后一列是沿着x,y方向的平移量;3、旋转图像(rotation)还是假设我们的视域是固定的,就是我们看到区域是固定的;固定现在图像中一个点,然后旋转图像,旋转之后,我们还能看到地方就是旋转之后的图像;4、仿射变换(AffineTransformation)简单来说就是源图像经过放缩、平移和旋转的一种或者集中各种组合变换之后的图像;还有说是仿射变换是图像线性变换加上平移,即Y=AX+B;仿射变换如何变换取决于其变换矩阵是什么,变换矩阵是一个2*3的矩阵,变换矩阵的最后一列为平移量,前面是图像x,y的变换矩阵;由此可以看到,仿射变换是在二维图像中的变换;各代码详解请见实训指导手册15分钟该环节是一个实训环节,结合学生自身的特点,让学生自己参考任务书,完成任务,提高学生的自学能力,以及动手实践能力。四、课堂小结【教师活动】教师请各小组对本节课学习的内容进行小结。最后教师进行总结。布置课后习题5分钟让学生自己进行小结,加深学生对本节课知识的理解,也同时锻炼学生总结归纳的能力。学习效果评价课后习题题型题目答案问答题(一题一分)1、阐述什么是OpenCV2、列举至少三个计算机视觉的应用场景3、几何变有哪几种,为什么要进行图像的几何变换1、略2、无人驾驶、人脸识别、图像生成3、略选择题(每题2分)4、OpenCV用于对图像执行透视变换的函数是()A.flip()B.resize()C.warpAFFine()D.warpPerspective()5、OpenCV用于图像写入文件的函数是()A、imread()B、imshow()C.imwrite()D.videocapture()4、D5、C学习评价表评价角度评价内容自评他评师评ABCABCABC知识与技能能够说出什么是OpenCV(课后习题1)填写对应习题的得分能够说出图像几何变换是什么(课后习题4,5)能够说出图像几何变换的函数方法(课后习题3)能够说出计算机视觉的主要应用(课后习题2)能够实践完成图像的读取写入和保存查看学生派lab平台中的实训情况,由教师给分过程与方法在小组讨论过程中,能够积极参与,合理地发表自己的想法。能够快速完成教师布置的实训任务总分备注:A:3分;B:2分;C:1分反思《创意美术体验》教学设计2课题:创意美术-拼接苹果橙授课对象:中职课型:新授课课时:3~4课时教材分析:结构内容:本节课选自《人工智能通识》的项目六。本节课的主要内容体验人工智能的应用,了解什么是图像拼接,了解什么是图像金字塔,能够使用图像金字塔来拼接图像,创造新的水果苹果橙。地位作用:如今人工智能已经逐步让人们的生活智能化,让企业服务智能化,那么无论为了工作还是为了跟上时代步伐,有必要去了解人工智能是如何运作的。本节课的学习将带领学生感知计算机视觉技术应用,需要学习OpenCV对图像的基本操作,为后面的学习打好基础。学情分析学习心理特征:本节课的授课对象为中职一年级学生该阶段的学生学习自制力较差,上课注意力易被分散,因此在上课过程中,应该采用讲练结合的方式,让学生能够在实践中学习和巩固课程内容。同时该阶段的学生有很多自己的想法和创意,因此在设计任务时,需要给学生一定的自由发挥的空间,让学生自主地学习和实践。另外由于中职一年级的学生水平各不相同,因此教师在学生操作过程中应该实时观察,引导并鼓励基础较差的学生完成练习。知识基础:前面的课程已经让学生了解了OpenCV的基本用法,本节将继续对OpenCV进行实操练习。教学目标知识与技能目标:了解计算机视觉技术发展趋势和应用场景了解什么是图像拼接了解什么是图像金字塔熟练使用OpenCV来拼接图像,创造新水果技能实操:使用搜索引擎搜索信息,小组合作讨论OpenCV图像拼接的应用。根据教师发布的实训任务书,自主进行图像金字塔的探究和使用。根据教师发布的实训任务书,自主实现新水果拼接。情感态度与价值观:能够体会到计算机视觉技术的奇妙和给生活带来的乐趣。通过小组合作的方式,培养学生的主动参与的意识,强化自身的责任感,以及增强自己的合作能力。教学重难点教学重点:1、什么是图像拼接?2、什么是高斯金字塔?3、什么是拉普拉斯金字塔4、高斯金字塔和拉普拉斯金字塔的关系教学难点:OpenCV工具应用图像金字塔OpenCV进行新水果拼接教学方法教法:任务驱动法、理实一体法学法:自主学习法、小组合作学习法教学准备教学环境:人工智能实训室教学资源:派LabAI云课堂,PPT课件,教案,实训源代码,相关素材教学过程教学内容及过程时间分配设计意图一、创设情景【教师活动】派弟弟是美术老师,平时大多是教学生画各种生活中出现的物体,时间久了自己都觉得枯燥,于是想要一些有创意的东西让学生画,来激发兴趣,小派通过图像拼接发明了一些没见过不常见的新东西。本案例我们主要学习基于OpenCV水果拼接案例,生成彩椒、苹果橙、黑白马等图像重建体验。2分钟该环节通过创设一个生活中真实存在的情景,让学生了解图像拼接的应用。二、任务分析【教师活动】 本案例我们主要需要学习图像拼接的概念,为后面的学习打好基础。首先我们需要对如何开展该任务进行分析(该过程可以让学生进行小组讨论回答)预设:
图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要。【学生活动】小组展开讨论各小组发表自己的任务分析结果【教师活动】对各小组的讨论结果进行评价,最后进行小结,得出最后的任务分析结果:子任务一:了解图像金字塔子任务二:进行图像拼接3分钟该环节主要是对本节课的任务的一个讨论分析,在该过程中,让每个学生对接下来要完成的任务进行分析和讨论,让学生成为课堂的主体,提高学生的参与感,提升学生的自主思考能力。三、新知学习任务一:探究图像金字塔【教师活动】通常,我们过去使用的是恒定大小的图像。但是在某些情况下,我们需要使用不同分辨率的(相同)图像。例如,当在图像中搜索某些东西(例如人脸)时,我们不确定对象将以多大的尺寸显示在图像中。在这种情况下,我们将需要创建一组具有不同分辨率的相同图像,并在所有图像中搜索对象。这些具有不同分辨率的图像集称为“图像金字塔”。那我们现在可以先导入相关工具包加载图像。【学生活动】根据实训指导手册按步骤进行实训。【教师活动】老师们根据操作流程进行教学,先从导入python工具包开始,一般在写一个程序之前,都是需要导入相关的工具包的,我们要想实现图像的读取写入和保存,就需要先对其进行数据层面的处理,我们可以导入数据处理包numpy、图像处理工具CV2、以及可视化的包matplotlib,同学们可以进行尝试。接着,我们可以让学生输入代码!unzip-o./data-sets/samples.zip-d./来解压资源文件,接着进行苹果图片和橙子图片的读取。A=cv.imread('./samples/apple.jpg')#将图片像素缩放至384*384大小A=cv.resize(A,(384,384))#读取橘子图片B=cv.imread('./samples/orange.jpg')#将图片像素缩放至384*384大小B=cv.resize(B,(384,384))【学生活动】小组讨论探究,各组分享探究结果【教师活动】进行总结这里先简单的说一下图像读取写入方法,然后讲一下resize图像缩放的原理。同学们需要根据每一步骤,学习一个知识点,每个函数的使用方法和参数。最后进行同学答疑。15分钟在该环节中,设置了一个实操环节,能够让学生自己动手实操进行图像基本读取写入保存的一个过程,增加课堂的实践性,调节课堂的氛围,同时也让学生对项目的目标成果有个整体认知。【教师活动】同学们知道图像金字塔都有哪些吗?请同学们思考,两者有什么不同?如何生成他们?预设:两种金字塔:高斯金字塔(Gaussianpyramid):用来向下采样(缩小尺寸),主要的图像金字塔拉普拉斯金字塔(Laplacianpyramid):用来从金字塔低层图像重建上层未采样图像,在数字图像处理中也即是预测残差,可以对图像进行最大程度的还原,配合高斯金字塔一起使用。【学生活动】思考并回答问题【教师活动】对学生的回答进行小结,然后分别引导学生进行高斯金字塔和拉普拉斯金字塔的生成。代码如下:#生成A的高斯金字塔G=A.copy()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 随州市重点中学2024-2025学年数学高二第二学期期末达标检测模拟试题含解析
- 企业财务数据安全保密及员工行为规范合同
- 全球化市场拓展与外贸企业知识产权保护合同
- 车辆赠与合同范本及赠与条件约定
- 采石场土地及矿产资源开采权移交合同
- 餐饮业人力资源招聘与配置顾问合同
- 精细化管理餐饮业厨师岗位劳动合同
- 团工委工作计划-团委团支部工作计划
- 学生批量请假管理制度
- 能源知识竞赛复习试题
- 化工和危险化学品重大事故隐患考试试题(后附答案)
- 电子化学品工厂设计规范(征求意见稿)
- 2024-2025学年新教材高中政治 第三单元 全面依法治国 9.1 科学立法教案 部编版必修3
- 烘焙食品厂生产员工手册
- 农业现代化背景下智能种植基地建设方案
- 中医药进校园
- 2024年西北工业大学附中丘成桐少年班初试数学试题真题(含答案详解)
- 机务维修作风课件讲解
- 垃圾清运服务投标方案技术方案
- GB/T 718-2024铸造用生铁
- 2024-2029年中国无溶剂复合机行业市场现状分析及竞争格局与投资发展研究报告
评论
0/150
提交评论