基于Python深度学习的目标检测案例探究

2020-01-03 10:09朱微霞
现代信息科技 2020年14期
关键词:目标识别高中课程人工智能

x摘  要:针对目前高中阶段人工智能教育现状和项目资源案例稀缺的情况,针对浙江地区高中生的信息素养,结合新课程改革中“人工智能初步”模块要求,开发了具有可操作性的人工智能校本课程项目案例——基于Python深度学习的目标检测人工智能应用项目案例。这些项目案例结合人工智能应用的典型特征,具有较好的可迁移性,可在高中信息技术校本课程中适用,同时为基于核心素养的高中信息技术新课程改革提供了深入思考与实践探索的途径。

关键词:人工智能;高中课程;目标识别

Abstract:Aiming at the current situation of artificial intelligence education in high school stage and the scarcity of project resource cases,aiming at the information literacy of high school students in Zhejiang area,and combining the requirements of the “initial artificial intelligence” module in the new curriculum reform,a practical case of artificial intelligence school-based curriculum project ——target detection artificial intelligence application project case based on Python deep learning is developed. These project cases,combined with the typical characteristics of artificial intelligence application,have good portability,and can be applied in high school information technology school-based curriculum. At the same time,it provides a way of in-depth thinking and practical exploration for the new curriculum reform of high school information technology based on core literacy.

Keywords:artificial intelligence;high school curriculum;target recognition

0  引  言

高中信息技术学科课程标准包含了“人工智能初步”选修模块,但通过大量的调研发现,在目前的浙江地区高中阶段信息技术学科教学中,对于此模块并没有系统的理论指导及课程实践经验,也没有围绕信息技术学科核心素养开设此课程的案例体系。因此,文章以浙江省宁波市效实中学信息技术学科开设的面向高一、高二年级的“学Python玩转人工智能”校本选修课程为研究案例,探索了“人工智能初步”模块的教学新模式,以“基于Python深度学习目标检测”为案例进行了具体的研究和分析。案例涵盖了项目介绍、模型支持、基本步骤、准备工作、目标检测过程、检测结果分析等方面。

1  人工智能教育现状及存在问题

随着云计算、大数据、物联网、互联网、智能识别、知识管理等新兴科技的暂露头角,信息技术疾步迈入智能化阶段,人工智能已经成为人们关注和研究的焦点。作为推动未来社会发展的崭新引擎,国家高度重视人工智能产业的发展。早在2017年国务院就发布了《新一代人工智能发展规划》,提出分三步走的战略目标:到2020年人工智能总体技术和应用与世界先进水平同步,到2025年人工智能基础理论实现重大突破,到2030年人工智能理论、技术与应用总体达到世界领先水平[1]。而现在在校的中小学生,到2035年和2050年将是国家所需的人工智能高端人才的中坚力量,因此,人工智能相关能力与素养的培养急需在中小学阶段打好基础,应实施个性化的培养模式,培养出更多的人工智能高端人才奠定基础。

其实,中小学开展人工智能教育早已提上了教育部的议事日程,教育部官方公布了《2019年教育信息化和网络安全工作要点》,文件明确指出要“推动在中小学阶段设置人工智能相关课程”,同时也为中小学开始人工智能教育指明了方向,要推動在中小学阶段设置人工智能相关课程,逐步推广编程教育。事实上,教育部文件提到人工智能等内容已经不是第一次。2018年1月教育部召开《新课标》发布会,机器人相关课程被纳入了“新课标”中,内容涵盖编程、机器人、人工智能等主要知识;2018年4月,教育部印发《教育信息化2.0行动计划》。因此,当教育信息化基础设施尚在普及完善、“互联网+”和教育领域尚在互相催化融合时,人工智能作为信息技术的更高发展阶段,毫无疑问将会深层次推动教育教学改革与创新发展,也给未来教育带来机遇和挑战。但是人工智能时代的快速到来让很多政府部门、学校和老师都猝不及防,对突如其来的人工智能教育还未做好准备,现实存在很多亟待解决的难题。人工智能本就是新兴领域,涉及面广、综合性强,在中小学教学上尚无成熟的课程案例可循;适合中小学的人工智能教材严重短缺,内容良莠不齐。而且人工智能涉及面广,对教师的综合素质、跨学科的能力要求较高;但大部分中小学教师接受教育时没接触过人工智能课程,缺乏人工智能相关的专业知识,无法形成成熟的教学理念,人工智能资源严重匮乏。如何让学校能够正常开设人工智能课程,各级教育主管部门还没有明确的指导意见。2003年教育部发布的《普通高中信息技术课程标准(实验稿)》和旧版信息技术教材“人工智能初步”选修模块成了花瓶和摆设,全国开设人工智能课程的高中不足百分之五。原本摆在我们面前的大好机遇却因残酷的现实而让学校和教师望而却步。

笔者与所在团队多年来一直位于教学一线,近几年一直致力于探索可用于高中人工智能教育的项目案例,并在研究与实践中积累了一些典型案例。这些项目案例资源不但可用于高中“人工智能初步”模块的教学,高中信息技术课程其他模块也能参考使用。笔者期待可以抛砖引玉,为高中一线信息技术教师上好人工智能课程提供可借鉴的思路。

2  人工智能项目案例探究

2.1  项目介绍

目标检测的任务是在图像中找出检测对象的位置和大小,这是计算机视觉领域的核心问题之一,在自动驾驶、机器人和无人机等许多领域极具研究价值。随着深度学习的興起,基于深度学习的目标检测算法逐渐成为主流。深度学习是指在多层神经网络上运行各种机器学习算法解决图像、文本等各种问题的算法集合。该算法又被称为目标检测网络。本项目使用一种名为MobileNet-SSD的目标检测网络对图像进行目标检测。MobileNet-SSD能够在图像中检测出多种物体和背景,平均准确率达到72.7%。

Python程序语言是目前公认的最适合人工智能的编程语言[2]。选择Python作为高中人工智能应用开发语言,因为Python比较接近自然语言;而且Python语法精炼,学习者能轻松入门;此外Python可以广泛使用大量的第三方库,也方便了人工智能各种应用的开发;再者,新课改审核刚刚通过的浙江省高中信息技术教材使用了Python语言,Python语言接下来将成为浙江省高中信息技术教材首选的编程语言之一。

2.2  模型支持

由于训练神经网络需要大量的数据和强大的算力,这里利用一个已经训练好的目标检测网络模型。在Python中,可以通过OpenCV的DNN模型使用训练好的模型对图像进行目标检测。

2.3  基本步骤

(1)加载MobileNet-SSD目标检测网络模型。

(2)读入待检测图像,并将其转换成Blob数据包。

(3)将数据包传入目标检测网络,并进行前向传播。

(4)根据返回结果标注图像中被检测出的对象。

2.4  准备工作

(1)Model文件夹:目标检测网络模型文件包含神经网络模型文件MobileNetSSD_deploy.caffemodel和网络结构描述文件obileNetSSD_deploy.prototxt。

(2)目标检测文件夹:用于存放本项目的模型、源程序、图像和视频等文件。

(3)Images文件夹用于存放目标检测的图像,可以含有汽车、飞机、行人、马、猫等。

2.5  目标检测过程

(1)导入cv2和numpy模块:

(2)指定图像和模型文件的路径即创建表示图像文件、网络描述和网络模型文件等的变量:

(3)设定目标名称,即物体分类标签、颜色和字体等变量,CLASSES分类中的标签是通过MobileNET-SSD网络训练的能够被检测的物体名称,包括20种物体和1种背景;COLORS变量存放的是随机分配的标签颜色:

(4)加载网络模型,使用DNN模型从文件中加载神经网络模型:

(5)读取图像并进行预处理,从文件种加载待检测的图形,用来构造一个Blob数据包,cv2.dnn.blobFromImage函数返回一个Blob数据包,它是经过均值减法归一化和通道交换之后的输入图像:

(6)将图像传入网络:

(7)对结果进行处理,用循环结构读取检测结果中的检测区域,并标注出矩形框分类名称和可信度:

(8)显示图像并等待:

2.6  目标检测结果分析

案例中静态图片的检测,从图1识别前与识别后对比图中可以看出,图1(b)中被识别的物体被方框所标记。对图中含有车和人的图像进行目标检测,在Python Shell窗口中输出被检测出的物体及其可信度如下:

3  结  论

通过开发这样的项目案例资源,解决了高中信息技术校本课程中最具挑战性的人工智能课程教学难的问题,从而使基于学科核心素养的信息技术课程教学初步落地,也让大数据、人工智能这些概念不仅仅停留在理论宣传上,更渗透到一线教师日常教学的实践中。另外具有人工智能课程建设经验的大学通过现代远程教育手段与中学合作开展教学,也可以加快高中人工智能课程建设的步伐并保证教学质量。大学负责教学专题网站的建设,主持与中学生的讨论答疑;中学则负责课程教学的具体实施。高校研究人员能为中学提供理论指导、教学资源和教学实施建议;来自中学的教学实践也利于高校研究者开展更有效的课程研究。因此本文的研究也仅仅只是一个开始。

参考文献:

[1] 中华人民共和国教育部.普通高中信息技术课程标准:2017年版 [M].北京:人民教育出版社,2018:9-10.

[2] 秦科,刘贵松.面向Python应用的大学教学改革初探 [J].计算机教育,2017(9):21-25.

作者简介:朱微霞(1975.08—),女,汉族,浙江宁波人,高级教师,本科,研究方向:中学信息技术教学研究、新课改校本课程开发。

猜你喜欢
目标识别高中课程人工智能
浅析高中数学深度学习的实现途径
2019:人工智能
人工智能与就业
数读人工智能
全自动模拟目标搜救系统的设计与实现
动态场景中的视觉目标识别方法分析
基于PC的视觉解决方案在 Delta机器人抓放中的应用
高中生物学习焦虑原因及对策
构建高中思想政治课合作学习模式的研究
PBL教学法在高中思想政治课中的应用