陈宝杰
课程核心素养目标
①亲身经历项目制作的过程,能够确立项目需求、厘清项目开发流程,能够将问题分解并逐个突破,能够灵活地解决问题。(计算思维)
②能够认识字典与列表的嵌套结构,能够根据需求对数据进行分析并提取出重要的信息。(信息意识)
③能够使用OpenCV、requests等第三方库,扩展Python的功能。能够借助第三方库的强大功能实现功能的开发。(数字化学习与创新)
④在开发的过程中能够联系生活实际,了解开发作品的现实意义,产生应用信息技术改变生活、创造生活的自豪感,并产生在信息社会中的个人责任感、使命感。(信息社会责任)
学业要求
①会阅读开发文档,掌握API调用的方法,并能够根据需求进行平台的接口调用。
②综合运用列表、字典以及程序的三大结构等进行项目的开发。
③借助OpenCV第三方库实现视觉技术的开发和应用。
教学内容分析
本课是人教版高一信息技术必修教材《数据与计算》中第四章“走进智能时代”的内容。本单元以“视觉技术应用”为主题开展5个课时的活动,使学生了解人工智能中的主要视觉技术,如图像识别、人脸识别、人体识别等技术,了解其在生活中的相关应用,感受视觉技术在生活中的应用以及对生活产生的积极影响。本课时是单元教学设计中的第4课时,学生亲身经历智能工具的开发过程,通过项目的制作体验视觉技术的开发和应用。在项目的制作过程中掌握API的调用方法,并能够结合OpenCV实现图像技术的开发和应用。
学情分析
学生在先前的学习中掌握了程序的三大结构顺序结构、选择结构、for循环结构,能够编写简单的程序。认识了列表、字典等数据结构,会简单提取列表、字典中的值。有简单项目开发的经验,但对于综合运用的程序还无法驾驭,代码的灵活使用能力需加强。学生对人工智能充满兴趣,对视觉应用主题比较关注,愿意进行进一步的挖掘和学习。
教学难点
灵活应用API调用开发视觉应用的项目。
教学策略
采用项目化学习方式,使学生明确项目需求,突破项目制作的难点,综合利用所学的知识进行智能工具的开发。教师充分发挥引导作用,为学生能力的提升搭建支架,帮助学生建立成功的体验。
教学准备
多媒体网络教室、申请的API Key和Secret Key、自学材料、辅助材料、导学案等。
教学过程
1.引入新课
师:计算机视觉技术是人工智能的一个重要领域。这里的“视”主要是对图片或视频的获取,而“觉”就是对获取信息的综合处理。视觉技术在各个领域都发挥着重要的作用。上节课我们一起体验了部分人工智能平台中的有关图像识别、图像处理、人体识别等在线的智能工具,这些智能工具可以帮助我们解决一些生活中的问题。本节课我们将编写程序来实现个性化智能工具的开发,创造一个属于我们自己的作品。
2.明确项目需求
师:我们已经成立了三个项目組,三个项目分别为“动漫化”“口罩检测”和“智能菜品识别”。要实现的功能分别为将普通人物动漫化、检测人是否佩戴口罩、根据任何一个菜品检测出菜品的卡路里等。
学生活动:分析并回答三个项目的本质。“动漫化”涉及图像特效的功能,功能类似生活中“美图秀秀”一类的AI产品应用;“口罩检测”涉及人脸及人体的检测功能,一般应用于各种实时检测的场合;“智能菜品识别”涉及图像识别的功能,应用如美食相机等。
设计意图:进一步明确项目的需求,以及项目的性质及应用范围。明确开发的项目与生活的联系,明晰项目开发的价值与意义,激发项目开发的兴趣。
3.项目分析
教师活动:请学生分析三个项目的共性与不同。
学生活动:经过分析得出三个项目的共性——都是对图片的检测,要检测出需要的信息,涉及很复杂的算法。但部分人工智能平台上已经能做到这些图片信息的智能识别。因此,可以使用API接口调用来获取图片的智能识别信息。不同之处是,每个项目都要根据项目的需求提取出关键信息,并对信息进行开发和处理,形成适用于一定场景的个性化功能。
教师活动:播放视频,使学生了解什么是API调用。提出问题:你用过的哪些网站有可能使用了API调用呢?
学生活动:回答问题,如去哪网买票调用了12306的接口等。
教师活动:给出API调用的过程,如图1所示。
教师总结API调用的过程:要实现API的调用,首先要和开放接口的平台进行交互,明确我们要提供的内容,平台返回给我们的内容,就如我们提供菜单,由服务员传递给厨房,厨房返回给客户定制的菜肴。服务员为你服务的前提是什么?那一定是你坐在这家餐厅里,获得点菜许可。所以,在获取服务之前要获得访问的凭证,它就是access_token。它的获取方式是通过平台创建应用的API Key和Secret Key。
设计意图:具体分析项目实现的过程,明确开发的思路。通过分析三个项目的共性与不同,使学生了解项目开发的流程以及实现开发的关键点即API调用。对共性的问题进行重点讲解,实现重点内容的突破。
4.项目开发
(1)自主学习,获取调用结果
教师活动:提供适合学生学习风格的自学材料,包括微课、文档等。
学生活动:根据项目自主选择进行学习并完成API调用,即根据教师提供的AK和SK获取access_token,并通过access_token和本地图片调用API获取返回结果。
教师活动:巡视,对认知有困难的学生进行帮助。
(2)师生互动,分析json数据提取关键信息
师:三个项目组都获得json数据并赋值给了变量res,如何从数据中提取你所需要的信息呢?对于一个字典、列表嵌套的数据,如何提取出需要的元素呢?数据如上页图2所示。
学生活动:结合先前列表类型数据中提取元素以及字典类型数据中提取元素的方法,思考如何提取出需要的信息。
教师活动:通过电子白板的蒙层擦除效果,和学生一起分析提取出的数据,逐渐出示答案(如图3)。
学生活动:根据教师提供的范例,明确提取方法,并思考所在项目要提取哪些元素。
(3)资料辅助,实现项目进一步开发
师:请同学们明确下一步的开发目标,根据所作的规划,继续作品的开发。(教师提供“辅助资料”协助学生进行开发,如消耗卡路里的途径——做家务、跑步、走路之间的换算,使用OpenCV进行图像的显示、拼合方法等,拼合图片的代码如图4所示。
(4)功能拓展,实现摄像头实时获取图像
师:同学们可以对项目进行改造,实现由本地图片到摄像头实时获取图片的转变,使你的项目更加智能化。
学生活动:参考用OpenCV打开摄像头的程序代码,并对已编写的程序进行加工,将识别本地图片升级为打开摄像头获取现场图片并进行识别。利用OpenCV打开摄像头的参考程序如图5所示。
设计意图:学生通过三个活动即API调用、信息提取与开发、图像实时获取来完成整个项目的开发,利用视觉技术实现作品的开发。教师给学生提供了自学资源、辅助资料等帮助学生突破重难点,拓宽开发思路,并在适当的时候帮助学生跨越知识障碍。同时,学生要在项目实施的过程中填写过程记录及自我评价。
5.展示与总结
(1)展示交流
学生活动:三个项目组分别展示自己的项目代码以及实现的功能。下面以三个作品进行举例。
动漫化组——通过编写代码实现了打开摄像头拍摄人物图像,并能够对人物进行动漫化的处理,了解自己动漫化的样子。
口罩识别组——编写代码打开摄像头对戴口罩情况进行识别,并对没有戴口罩的同学进行温馨提示:请做好安全防疫,对个人和社会负责。
菜品识别组——编写代码打开摄像头对菜品进行识别,由于课堂不具备条件,以打印的图片代之。识别之后会告知用户菜品热量是多少,需要跑步多少公里才能消耗掉。提示人们注意饮食健康。
教师活动:对学生作品进行点评,引导学生进行反思和总结。
(2)师生总结
师:同学们通过自己的努力能够开发出一个完整的作品值得表扬。对于视觉技术的利用和开发,本节课学习的知识只是冰山一角。我们还可以学习更多的知识来改造我们的生活,使我们的生活更加便利、更加智能、更加美好。
设计意图:教师对学生的表现进行总结和鼓励,提升学生的自我效能感。
教学反思
人工智能的视觉技术有很多,笔者以图像作为切入点进行整体的单元设计。整个单元采取微观、宏观、应用和评价的线路,即像素—图像—图像特征识别—应用开发—應用扩展。首先,通过调用OpenCV第三方库的程序编写,了解最小图像单位像素,能够编写程序对像素进行修改,进而了解图像的模式等知识。其次,了解机器学习机制,了解对图像特征的提取和识别过程。在图像识别的基础上了解图像相关的应用。最后,学生动手开发智能工具解决生活中的问题,并继续了解更多视觉技术的扩展应用。
本节课要求学生动手开发智能工具,体现视觉技术在生活中的应用。学生根据自己的兴趣共确立了三个项目组,分别涉及对图像的识别、图像的特效处理、人体特征的识别等。对于图像的识别等结果可以借助人工智能平台,通过API调用获取,并对数据进行分析,提取出需要的信息进一步开发和利用。虽然三个项目功能各不相同,但调用方法是一样的,因此,笔者将共性的问题提出来,并引导学生逐步掌握调用的方法,以便后续在进行其他程序开发时实现知识的迁移。本课以项目为引领,注重学生核心素养的培养,激发学生学习的成就感和使命感,使学生树立起技术服务生活、技术创造美好生活的理念。
点 评
《人工智能之视觉技术应用》是以项目制作的形式开展的一节课。学生体验项目制作的过程,并综合运用所学知识开发出和视觉相关的应用。这节课做到了以下几点:
1.情境创设源于生活
在信息技术学科教学中要关注学生核心素养的养成,要将知识转变为素养和智慧。所以,在课堂中教师要注重联系学生的生活,将学习融入到实际问题的解决中。本节课的项目主题都是学生感兴趣的,也是生活中常见的,学生可以融入自己的思想进行创造,让学习来源于生活又用于生活,在问题解决中提升核心素养。
2.项目式学习促进学生发展
项目式学习能够实现以学生为中心的发展理念,培养学生的实践能力和创新精神。在项目式学习的过程中,执教教师发挥了引导的作用,给学生提供学习的支架,包括微课、方法引导、思维引领等。这种方式能够让学生有更多的主动性,在过程中也会培养学生的合作能力、思辨能力、交流能力等,能够落实立德树人的理念,促进学生的全面发展。
3.注重学生高阶思维的培养
高阶思维是指发生在较高认知水平层次上的心智活动或认知能力,其更强调培养学生的创新能力、问题解决能力以及批判性思维能力。高阶思维区别于对知识死记硬背的能力,强调理解和运用知识,并实现知识的迁移。本节课教师注重学生的问题解决能力,学生能够根据项目灵活地提取和综合运用所学知识进行作品开发。教师不仅注重方法的引导,为学生知识的迁移做准备,更注重学生能力的培养和提升,在问题情境下,提升学生的问题解决能力和创新能力。
(点评人:北京市密云区教师研修学院 于芳)