简介:通过Mind 创建一个机器学习人脸识别的应用,同步上传识别结果到Easy Iot物联网平台。通过App Inventor 2创建手机安卓App应用,接收到识别结果后远程控制掌控板旋转舵机。整个过程模拟实现远程身份验证,远程开锁。
在12月16日举办的第十一届中小学STEAM教育大会,前沿专家学者们围绕走向“科创输出”的人工智能教育所进行的探索和实践进行了分享和交流。恰好按计划,这一期想跟大家分享的就是人工智能方面的实验,与大会主题契合。本次实验通过Mind 创建一个机器学习人脸识别的应用,同步上传识别结果到Easy Iot物联网平台。通过App Inventor 2创建手机安卓App应用,接收到识别结果后远程控制掌控板旋转舵机。整个过程模拟实现远程身份验证,远程开锁。通过实验,了解什么是人工智能,人工智能的简单分类,以及人工智能与物联网技术的整合应用,掌控板扩展板和舵机的使用等知识点。
本次实验较以往的实验多了一些硬件,但除了USB摄像头,其他并非必须,大家手上没有也没关系,如果你用的是笔记本电脑,可能本身就已经有摄像头。涉及到掌控板和舵机的响应部分,你可以用Mind 里的机器人角色执行相应动作或说话进行响应。大家通过文章掌握相关技术逻辑和原理即可。
实验目标- 初步了解人工智能的概念
- 了解人工智能的简单分类
- 了解Mind 在人工智能方面的能力
- 了解人工智能技术和物联网技术的整合应用
硬件:
- 电脑
- USB摄像头
- 手机
- 掌控板
- 掌控板扩展板
- 180度舵机
- 数据线
本文实验所用的台式电脑为Windows7操作系统,手机为安卓系统,掌控板为V2.0版本,扩展板为micro:bit掌控I/O扩展板,数据线为Type-C接口。
软件:
- 电脑安装Mind 软件
本文实验所用的Mind 软件版本为V1.8.0 RC1.0。
- App Inventor 2可视化编程平台
本次实验采用的是App Inventor 2平台的汉化增强版软件WxBit(网址为:https://www.wxbit.com/),本文下面所提到的AI2平台皆指WxBit。
- Easy Iot物联网平台
网址:https://iot.dfrobot.com.cn/index.html
什么是人工智能人工智能(Artificial Intelligence,缩写为 AI)是指使用算法和技术来模拟人脑,让计算机具备感知、理解、学习、推理、规划和决策的能力,以帮助人类完成某些复杂的任务。
当前,人工智能在机器视觉、语音识别、语义识别、图像识别、动作控制等众多领域实现重大突破,并开始广泛渗透到金融、客服、安防、医疗、无人驾驶、教育和家居等行业。人工智能已经成为信息技术领域的一个重要分支,正在影响着我们的生活和工作方式。
用简单直白的话来说,人工智能就是让计算机具备听得懂、看得懂、会思考、会决策的能力。结合本文的实验,一个普通常见的USB摄像头,通过人工智能的赋能,它就具备了识别人脸的能力,是不是很奇妙!
人工智能的简单分类人工智能的分类方式很多,有的按应用场景、有的按技术手段、还有的按智能程度等标准进行分类,并且随着人工智能技术的不断革新和应用场景的拓展,分类方法也在不断演进和增加。所以这里我不会从理论上来探讨人工智能到底有多少分类,仅打算从最直观的使用方式的不同来对人工智能进行简单分类:
- 在线式人工智能:是指在云端或网络上运行的人工智能系统,通常采用客户端—服务器模式。客户端设备(如智能手机、电脑等)通过网络将需要处理的数据发送给服务器,服务器进行数据分析、智能处理,然后将结果返回给客户端。百度、腾讯、阿里等大厂提供的人工智能服务就属于在线式人工智能。再具体一点,微信语音转文字功能就是这种模式,断网环境是用不了的。所以在线式人工智能对网络有一定要求,在数据隐私和安全性方面也面临一些挑战。
- 离线式人工智能:是指不需要依赖云端或网络连接,将人工智能算法、模型和数据存储在本地电脑上,实时进行数据处理和智能化任务的人工智能系统。本次实验使用的Mind 机器学习(ML5)功能就是一项离线式人工智能。离线式人工智能对数据安全和隐私有更好的保障,对电脑配置和计算能力也有更高的要求,并且需要耗费一定的时间来进行学习训练。
- 人工智能硬件模块:是指可以脱离电脑和网络运行,集成了特定人工智能计算能力的硬件设备,特别适合在独立运行的创客作品中实现人工智能创意。比如Mind 支持的语音识别模块、语音合成模块、视觉识别摄像头就属于这类硬件。HUSKYLENS二哈识图AI摄像头是视觉识别摄像头的明星产品,内置6种功能:人脸识别、物体追踪、物体识别、巡线追踪、颜色识别、标签识别、物体分类、二维码识别、条形码识别。仅需一个按键即可完成AI训练,直接输出识别结果给控制器,无需折腾复杂的算法,就能制作非常有创意的项目。
上述的分类是我个人为便于学习和理解人工智能所做的一个简单分类,主要目的就是想告诉大家不必在眼花缭乱的各种语音识别、视觉识别中迷茫纠结,不知道怎么使用。比如就视觉识别来说,上述三种方式都能实现,你只需要考虑自己的项目特点就行,有没有网络支持?需不要电脑配合?或者是要独立运行?很容易就知道哪种方式的人工智能技术适合你的项目了。
Mind 在人工智能方面的能力Mind 官方教程里面有一项“AI人工智能相关”,详细说明了Mind 当前所具备的人工智能能力和使用方法,对应前面的三种分类,它都有涉及,并且教程也很详细,建议初学者仔细阅读。本文实验使用到的仅是机器学习功能中的人脸识别这项AI功能,属于离线式人工智能。
机器学习是人工智能的一个分支,是一种让计算机能够像聪明的小孩一样,通过学习数据来解决问题的方法。它就像一个聪明的小孩在学习知识,通过观察和学习大量的例子(数据),逐渐找出其中的规律(模型)。然后,当我们给这个小孩一个新的问题(预测新的数据),他可以根据学到的规律来解决这个问题。结合本文的实验来说,就是先训练摄像头记住看到的人脸是谁?等下次再见到这个人,摄像头就能认出他。
在Mind 编程实现人脸识别和舵机响应编程前先将USB 摄像头接入电脑主机USB接口,再按上图将掌控板插入扩展板插槽,将180度舵机接入扩展板P8接口,最后将掌控板数据线连接到电脑主机。下面开始在实时模式下编程,之前的项目都是上传模式,请注意区别。
1.在Mind 实时模式新建项目,依次添加下列扩展并连接掌控板:
在主控板扩展库添加“掌控板”;
在扩展板扩展库添加“micro:bit掌控扩展板”;
在执行器扩展库添加“舵机模块”;
在功能模块扩展库添加“机器学习(ML5)”;
在网络服务扩展库添加“MQTT”。
完成以上添加后,点击“连接设备”选择连接掌控板。