APP下载

基于开源硬件的人工智能开放实验探索*

2019-05-09杨明赵

山西电子技术 2019年2期
关键词:树莓小车摄像头

杨 倩,杨明赵,杨 奕

(重庆理工大学电气与电子工程学院,重庆 400054)

1 背景与现状

近年来,人工智能成为国际热点,2017年下半年,国务院印发《新一代人工智能发展规划》,明确指出人工智能成为国际竞争的新焦点,我国应该借助民间力量,逐步开展全民智能教育项目,逐步推广编程教育、建设人工智能学科,培养复合型人才,形成我国人工智能人才高地[1]。

但是,人工智能是一门综合性学科,本身涉及了线性代数、微积分、概率论、高阶算法以及编程等[2],在基础教育中开设人工智能课程面临这样一个问题:在学生不具备这些基础的情况下,如何提高学生积极性、正确引导学生学习这门课程[3]。本文所述项目通过使用开源硬件,搭建而成的人工智能小车,让学生通过玩游戏这种寓教于乐方式来训练算法,最终将小车训练成为无需人工干涉、能够自主决策行驶的“无人驾驶”小车,把人工智能理念和思维方式融入到师生共同参与的实践项目中来,本开放实验实现了“先实践、后理论”这样的“体验式”人工智能基础学习过程[4]。

2 基于树莓派人工智能开放实验设计

本实验项目基于树莓派开源硬件,通过改装市面上常见的电动小车,并将控制系统与树莓派相连接,达到了将普通的电动小车,升级成为人工智能无人驾驶小车的目的。整个项目不仅成本较低,也具有较强的可行性、新颖性和趣味性。

2.1 实验整体结构设计

树莓派是一个卡片大小的开发板,上面运行了Linux系统,具有电脑的所有基本功能,树莓派最初设计目的是用来提升学校计算机科学及相关学科的教育,让计算机变得有趣[5]。开发板提供了丰富的外部设备或者接口,本项目主要使用WiFi、摄像头、GPIO等组件,使用摄像头采集图像,通过GPIO连接小车控制系统,通过WiFi接入PC局域网,使用PC远程控制树莓派采集数据和运算。整个系统可以简化成如图1所示结构。

图1 智能小车整体逻辑结构

工作原理是通过处理摄像头的图像数据(图像上面包含了地面画好的车道),根据图像数据判断发出相应的控制信号控制小车行驶,所以摄像头是小车的“眼睛”,基于直流电机的动力和转向系统是智能小车的“四肢”,而树莓派开发板就是整个小车“大脑”[6]。图2是训练好的小车在自主行驶过程中的照片。

图2 自主运行中的智能小车

2.2 智能算法设计

树莓派运行的核心算法是使用Python编程语言进行开发的神经网络算法,程序周期性从摄像头采集图像通过训练好的神经网络模型进行加权运算,得到需要小车左转、右转、前进、后退、停车的概率,确定小车下一步的行驶方向[7]。

神经网络包含了基本的输入层、输出层和一个隐藏层,为了降低训练复杂度,从摄像头采集的图像先经过缩放成75×75分辨率大小的灰度图像,然后每个像素作为一个特征输入[8]。输出层包含5个分类:左转L、右转R、前进F、后退B、停车H。隐藏层神经元的个数可以根据经验值动态确定,该参数可以由学生在实验过程中通过不同的值的结果进行观察比较来确定,在这里隐藏层神经元的个数通常是介于输入和输出层之间的一个数[9]。图3是该神经网络的结构。通常训练该神经网络使用2000~3000张图片作为训练数据集能够获得比较好的效果。

图3 人工神经网络结构

2.3 智能算法训练

机器学习算法最大的应用难点在于训练数据,因为首先机器学习需要的学习数据量比较大,通过大量的数据,算法才能从中找到规律,再者,每一项训练数据需要包含输入以及理论上应该得到的输出,这称为“标注数据”,该项目的标注数据就是每一帧摄像头图像以及与之对应的直行、向左、向右行驶的“输出”,显然,通过人工对每一项数据进行判断,然后标注输出这种方式工作量大、容易出错,所以在该项目中,我们开发了类似于电脑游戏的数据采集程序,PC端使用方向键通过WiFi远程控制小车多次按画好的车道前进,期间周期性地采集摄像头数据并且检测键盘方向键按下情况,将图像数据和方向键一并保存下来,得到标注数据。

3 实验效果与收获

总的来看,该项目通过指导学生搭建网络环境、动手制作实验设备、采集数据、算法训练以及运行几个部分,让学生理解编程和人工智能的基本工作过程。通过该实验项目的实施,可以达到以下几个方面的目的。

1) 降低入门难度:本项目不是从枯燥的基础理论开始,而是让学生从一个看得见、摸得着的硬件项目开始,动手制作一台具有实际功能的小车,小车涉及到的知识深浅适中,学生学习起来更加有积极性。

2) 促进编程教育:业界普遍认为,普及人工智能相关课程,重在进行逻辑思维能力的提升和思维方式的改变。人工智能的教育离不开编程教育,本项目使用Python作为编程语言,可以让学生更容易理解编程基础,学习其思维方式,符合基础编程教育的初衷。

另外,本项目过程中引入了游戏开发的思维,让学生通过玩游戏的方式来训练机器学习算法,过程更富有趣味性,让教学更容易推行下去[10]。

4 结束语

本项目以一种普通学生比较容易接受的方式,将编程、人工智能知识融入到学生参与的每一个过程当中,正如国务院印发《新一代人工智能发展规划》所指出:“逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广”,本项目让学生先体验整个过程,然后进行一些理论引导,实现了体验式的教学模式,通过寓教于乐的过程,达到了推广编程教育的目的,方法值得广大教育工作者借鉴和推广。

猜你喜欢

树莓小车摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
大车拉小车
自制小车来比赛
基于树莓派的骑行智能头盔设计
刘老师想开小车
两轮自平衡小车的设计与实现
基于树莓派的远程家居控制系统的设计
响应面法优化红树莓酒发酵工艺
奔驰360°摄像头系统介绍