基于计算机视觉的初中人工智能实验教学探究
作者: 孙羽竹
摘要:本文以计算机视觉的人工智能项目实践为例,引导学生通过学习思考,设计和实现简单的计算机视觉算法与程序,并通过“疲劳驾驶AI预警1.0”项目实验教学激发学生学习兴趣,提高了学生的思维能力和创新能力。
关键词:人工智能;计算机视觉;OpenCV
计算机视觉是人工智能领域的重要分支之一,基于计算机视觉的初中人工智能实验教学是一个探索性的课题,它致力于使计算机能够理解和解释图像或视频数据。在初中人工智能教学中引入计算机视觉实验可以帮助学生更直观地了解人工智能的应用。笔者以计算机视觉的人工智能项目实践为例,引导学生通过学习思考,设计和实现简单的计算机视觉算法与程序,如目标检测、人脸识别等,进而提高学生的思维能力和创新能力。
初中人工智能教学状况
人工智能是当今世界科技与教育领域的热点之一,因此,与人工智能相关的课程在各学段都有开设。初中阶段的人工智能课程注重基础知识的掌握和综合素养的培养,如:一些学校将人工智能技术相关的内容,包括一些简单的编程概念以及计算机基础知识的介绍,纳入到信息科技课程中作为选修课程或校园社团中进行教学,帮助学生了解计算机技术和人工智能技术的区别与基本原理,并提高他们对人工智能技术的浓厚兴趣;一些学校尝试开设STEM(科学、技术、工程、数学)教育课程,其中会涉及一些与人工智能相关的实际应用和项目。这样的课程旨在通过动手实践和项目驱动的方式,引导学生了解和应用人工智能的基本概念和原理。尽管初中阶段的人工智能教学相对有限,但随着人工智能的迅速发展和教育改革的推动,可预见未来会有更多的学校开始关注人工智能教育,并逐步增加相关课程和培养计划。
计算机视觉与OpenCV
概述
计算机视觉是指使计算机对通过摄像头或其他传感器获取的图像或视频数据进行分析、理解和处理的技术。它涉及了模式识别、图像处理、机器学习和人工智能等多个领域的交叉应用。而OpenCV是一个开源的计算机视觉库,广泛应用于图像处理、模式识别等领域。它提供了丰富的函数和工具,可用于处理图像和视频流。计算机视觉的目标是让计算机能够“看懂”图像或视频,并以类似于人类的方式对其进行理解和处理,具体会涉及以下任务:
物体检测与识别:计算机可以自动检测图像中的物体并确定其所属类别,如人脸识别、车辆识别和物品识别。
图像分割:将图像划分为不同的区域或对象,以提取有用信息或进行后续处理,如医学影像中的病灶分割、背景去除等。
姿态估计与跟踪:通过分析图像或视频,计算机可以估计物体或人体在三维空间中的姿态和运动情况,如人体骨骼识别和姿态识别。
目标跟踪:追踪视频序列中的特定目标,保持其在连续帧之间的一致性,如视频监控中的目标跟踪或自动驾驶中的车辆跟踪。
图像生成:利用计算机视觉技术生成逼真的图像或视频,如虚拟现实和增强现实技术中的场景渲染和人物合成。
基于“疲劳驾驶AI预警1.0”项目实践教学探讨
1.项目分析
项目的引入是通过让学生观看疲劳驾驶视频,了解疲劳驾驶的危害,从而引导学生思考如何借用人工智能技术帮助驾驶员防止悲剧发生。经过教师引导,学生上网查阅相关数据与学习,了解此项目的实现价值和制订项目的目标。然后,学生基于项目目标将任务分解,并通过互联网或查看书籍寻找可能的技术,最终总结出每个子任务的解决方案,如上表所示。
2.实现思路
(1)利用OpenCV调用计算机摄像头识别驾驶员图像信息
判断驾驶员是否疲劳驾驶,可以捕捉驾驶员眼睛图像信息进行识别判断。利用OpenCV可以调用计算机摄像头,把焦点定位到人脸和眼睛上,数据就是摄像头捕捉到的视频流,并将视频流分割成帧,然后对每一帧进行眼睛关键点识别,最后合成视频输出。
(2)利用OpenCV+Dlib模块获取人脸重要特征信息
在通过OpenCV获取到计算机摄像头人脸信息后,对眼睛特征动作进行分解,利用Dlib模块提供的68个关键点模型对应人脸关键点坐标进行定位(如上图)。通过对图片仔细观察,确定左眼坐标是(42~47)、右眼坐标是(36~41)。当得到关键点坐标后,教师引导学生通过眼睛坐标特征来计算是否打瞌睡,并通过学习,查阅资料以尝试开始编写OpenCV+Dlib的调用语句。
(3)引导学生通过眼睛特征判断是否疲劳驾驶
首先,学生思考打瞌睡时眼睛的动作变化——闭眼。“是否所有闭眼动作都属于打瞌睡呢?”教师抛出新的问题。学生思考后得出答案:不是所有闭眼动作都在打瞌睡,眨眼的瞬间也会闭眼,但眨眼不是打瞌睡。“那么打瞌睡时眼睛具有什么特征呢?”教师继续发问。学生经研讨后确定:如果闭眼且闭眼时间超2秒,可判断为打瞌睡,就可能在疲劳驾驶。
教师总结,通过眼睛两个关键的条件可判断是否疲劳驾驶:一是眼睛要闭合;二是眼睛闭合时间超2秒。
3.思考和设计算法
教师引导学生根据条件设计算法:计算上眼皮和下眼皮的距离,当上眼皮和下眼皮的距离和眼睛纵横比值(定义为Ear)小于设定的最小阈值(最小阈值接近0)时,则判断眼睛状态是闭合。因为计算读取视频其实就是将视频分为一帧一帧地播放,这里可以理解为PPT放映,把连续闭眼的最小连续帧定义为Ratio,当连续闭眼连续帧值Ratio大于最小连续帧(30帧,时间约2秒)时,则判断为瞌睡,不是眨眼,当两个条件同时满足,则触发警报,此时计算机会执行播放铃声指令,达到提醒驾驶员效果。
通过计算EAR和Ratio两个关键数据来辨别眼睛正常张开、眨眼还是打瞌睡,是整个项目的核心算法。当然,算法不是唯一的,还有更多更好的算法,教师可鼓励学生去研究思考。
4.项目实现与效果展示
教师引导学生对项目进行分析、任务分解,并理清思路、制订算法,然后开始编写语言程序。在编写程序过程中如果遇到问题,学生可以主动寻求同学、老师、互联网或相关书籍的帮助,最终完成项目代码,项目实现达到预期效果。
反思及建议
通过本项目实践教学,让学生了解和掌握了人工智能计算机视觉技术和原理,提高了学生的逻辑分析能力、思维能力和创新能力。项目实现过程所遇到的困难、所花的时间和精力、所学到的知识都将成为学生成长的基石。
初中阶段的人工智能教学,教师可从以下方面开展。
引入课程:学校可以将人工智能课程纳入现有的科学或计算机课程中。这些课程应包括介绍人工智能的基本概念、应用领域、原理、算法和模型,并给予学生编写简单程序和解决问题的机会,使学生了解人工智能的基本原理和技术。
实践项目:组织学生参与人工智能实践项目,让其亲历人工智能的开发和应用或者使用人工智能技术进行数据分析和预测,如图像识别、语音识别等,通过实际操作和解决问题来加深理解。
社会实践:组织学生参观相关企业或研究机构,让他们近距离接触人工智能的应用场景和技术成果。同时,邀请专业人士来学校举办讲座,分享他们在人工智能领域的经验和见解。这将帮助学生了解人工智能领域的前沿动态,并激发他们的创新思维。
参加竞赛科技活动:鼓励学生参加人工智能方面的竞赛活动、学校或社区科技节活动,这样可以激发学生的兴趣,提高他们的专业水平和团队合作能力。
结语
人工智能综合实践项目教学有助于增强学生对人工智能理论知识的理解和掌握,提高学生的逻辑分析能力、思维能力和解决问题的能力。当然,中小学人工智能教育还面临着许多未知的问题、困难和挑战,需要不断地探索和实践,逐步完善中小学人工智能教育的方式方法和途径。
参考文献:
[1]刘永,胡钦晓.论人工智能教育的未来发展:基于学科建设的视角[J].中国电化教育,2020(02):37-42.
[2]顾佳敏.人工智能教育在初中信息科技课程中的初步探索[J].课程教学研究,2019(09):31-34.
[3]张丹,崔光佐.中小学阶段的人工智能教育研究[J].现代教育技术,2020(01):39-44.