您现在的位置是:网站首页>Scratch编程教程Scratch编程教程

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

少儿编程网2019-07-10 22:57:00Scratch编程教程 人已围观 来源:艾博特

简介Scratch中实现人脸识别-刷脸?能够实现聊天机器人?能够教AI玩游戏(剪刀石头布、井字游戏)?是的,你没有看错。计划通过几次的人工智能课程,让小朋友了解人工智能能够干什么,有哪些应用,并且亲自尝试一下AI的应用,体验未来世界的智能性。

  • 前言

这是一个轰轰烈烈的全民人工智能的时代。不说自己做了些和大数据、人工智能的工作都感觉有点不好意思说自己是干IT的。据说人工智能已经进入中小学标准教育大纲了。

Scratch中实现人脸识别-刷脸?能够实现聊天机器人?能够教AI玩游戏(剪刀石头布、井字游戏)?是的,你没有看错。计划通过几次的人工智能课程,让小朋友了解人工智能能够干什么,有哪些应用,并且亲自尝试一下AI的应用,体验未来世界的智能性。

当然这还没有涉及到背后的人工智能的实现逻辑。我们只是在应用大厂家的人工智能算法和平台(鼎鼎大名的IBM沃森Watson)。因此这几个例子,也只能说是人工智能的应用,并不属于底层人工智能的研发。当然,市面上,也有不少通过调用通用平台AI功能的AI应用产品。人工智能算法和平台的发展很可能和云平台类似,最终由多个寡头企业主导,或者会逐渐走向开源和免费,成为免费的“水电”。

2. 目的

人脸识别是人工智能下图像识别的重要科目。大学人工智能专业中,估计有半数是和图像识别相关的。人脸识别非常重要,并且在将来的社会中应用会非常广泛。估计未来将将来全地球人的人脸数据。刷脸购买产品、车牌识别、乘车坐飞机,进入某个区域,都可能直接通过“刷脸”完成验证工作。“人脸”识别还能自动识别“好人”和“坏人”,提升社会的安全。例如在西单广场、交通入口处,设置一堆人脸识别的摄像头,如果发现“坏人”指数大于80%的人,允许警察提前进入警戒状态,甚至允许上前“盘问”。

今天的目的是使用人脸识别。在Scratch中拍照,然后系统会识别这是谁,是否允许进入某游戏或系统。当然在这之前,我们要先介绍一下这几个人工智能后面所用的IBM Watson人工智能平台系统,如何申请免费账号,如何培训系统,如何在Scratch中调用和使用这些人工智能的功能。

(最终的应用截图,根据角色图片,能够识别这是谁,验证通过与否,同时播放声音。)

3. 免费注册IBM 沃森人工智能平台账号

IBM Watson人工智能属于IBM 云平台所提供的服务,属于人工智能的大厂家,其人工智能水平还是位于前列的。首先进入https://console.bluemix.net/注册IBM的云平台账号。

进入后,如果没有账号,可以在“Create Free Account”中创建免费账号。如果已经拥有账号,可以直接登录。IBM的这个云平台似乎还是在国外,访问比较慢。注册以后需要邮件确认,如果无法完成验证,就只能“翻墙”确认一下了。

 

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

注册图像识别服务。

 

注册以后,要定于对应的AI服务,例如文本识别、图像识别、数字识别。我们这一次用到了图像识别,因此要注册“Visual Recognition”服务。可以在IBM平台中找到对应的服务,先创建API Key。在machinelearningforkids.co.uk也有链接地址,进入IBM云平台,注册相关的服务。

 

IBM图像识别服务按照调用次数收费,Lite的免费版一个月允许调用1000次。对于测试来说,这已经够了。

进入这个服务以后,“Create”创建账号。然后我们可以看到各种版本的收费标准。Lite版本是免费的,每月1000个Calls。

 

创建这个服务的账号以后,能够获取一个API Key,就是其他应用中访问IBM服务的API Key。会在后面的Scratch项目中用到。

获取最关键的API Key。点击复制,复制该API Key,可以先复制到本地的文件中。

如果要订阅文本识别类的服务,选择“Watson Assistant(formerlyConversation)”

4. 注册MachineLearningForKids.co.uk

这是一个少儿机器学习网站,有十几个案例项目。这些项目都可以应用在Scratch中。这个网站使用的后台AI平台是IBM的Watson,因此需要先注册IBM的AI平台账号。

进入网址,https://machinelearningforkids.co.uk。第一次使用,申请账号。

 4.1 Worksheets-19AI示例应用

进入“Worksheets”,能够看见19个AI的应用项目。随便打开一个,就进入下载页面了。

https://machinelearningforkids.co.uk/#!/worksheets

 

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

下载页面:下载学生手册和教师手册。

手册中有详细的操作步骤。当然手册了里面并没有告诉你如何申请IBM账号。

4.2 设置IBM API Key

先别着急创建Scratch项目,需要先申请、设置API Key。进入”Teacher>API Keys”. 这里有两个链接地址,可以引导我们进入IBM的Watson平台,注册文本和图像识别服务。如果第三步没有提前注册,也可以在这里进入,注册。

Watson VisualRecognition:

https://www.ibm.com/watson/services/visual-recognition/

Watson Assistant:

https://www.ibm.com/watson/services/conversation/

这一次需要使用到图像识别。注册IBM图像识别服务以后,在这里”Add new API key”,添加API Key即可。

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

Teacher> API Keys

 

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

添加图像识别的IBM Watson API Keyes。

4.3 开始人工智能的Scratch项目

一)      新建AI项目

 

进入“Projects”,  新建项目“Add a new project”,需要录入项目名称Project Name, 识别类型Recognizing,有文字、图形和数字。这里需要选择图形。注意,这里的项目名称依然不支持中文,只能使用英文。

 

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

 

 二)      Train:培训计算机识别图形,进行图形分类识别

创建以后,进入项目。有三个功能:“训练Train”,“学习和测试Learn & Test”,”Scratch”。

  • Train: 为系统提供需要识别的照片,可以在线拍照,作为素材,训练系统。识别这是谁,那是谁。系统分组识别,因此要分成几组。

  • Learn &Test: 系统进行抽取,学习。然后可以测试该模型的可靠性。

  • Scratch: 进入Scratch编程环境,在Scratch环境中调用这个AI模型。

 

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

 

进入Train, 定义三个分组:Kang, Tong, Others,即为两个人,和其他人。

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

 

每组拍10个照片,注意每个照片要更换一定的表情,例如做一下鬼脸之类的。最终目的是,根据所提供的照片,系统能够识别这是谁。

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

 

三)      Learn &Test:机器学习和测试

 

上载素材完毕以后,就可以进行机器学习和测试了。进入”Learn& Test”,点击培训机器学习模型。这时候需要调用Watson的API,如果前面没有设置好API,这里就无法继续。

几分钟以后,系统就能建立模型。

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

建立模型需要花费几分钟,可以返回项目,重新进来。学习完毕以后,还可以删除该模型,注意该模型只能保留一天。第二天来就需要重新学习了。

模型建立后,点击“Test withWebcam”,可以拍照测试模型。系统列出识别结果-即该图属于哪一类的图片,即哪个人。提供给出可信度Confidence,例如91%的概率认为这是某人。

 

 

如果图片正规一点,识别率会高一些。如果图形变化大,识别率可能会小一些。

 

四)      Scratch:进入Scratch环境,调用AI应用。

这里的Scratch环境并不是直接在MIT网上的,但功能类似。可以切换到中文版,但扩展的积木还是英文的。

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

 

进入后,点击菜单“Project Templates”,有17个模板项目,包括一些示例代码和角色图片。请复制浏览器URL,在新页签中打开,进入Project Templates。
 少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

如果想省时间,就直接使用这些模板,下载模板中的角色图片,然后编写程序,上载角色。

 

下面开始制作程序:

  1. 首先查看“更多模块”,这里能够看见这个人工智能项目Face Lock的扩展,并且有一个绿色标志,说明这个扩展和AI模型是工作的。

  2. 进入舞台,导入4个舞台背景图片。这些背景图片是从示例项目中直接下载的。第一个是空手机、第二个是Scanning,说明在扫描图片;第三个是识别成功,绿色打钩的通过背景Granted;第四个是未能正确识别的红色锁定背景Denied。

如果成功识别某个人,允许进入系统Granted,则使用背景3,否则使用背景4 Denied.

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

 

3.  设置一个空白角色,什么都不要放。不过要进入造型,拍一些照片,也可以每次使用的时候拍摄。Scratch没有单独的拍照功能,这点很不好。因此需要一个空造型,在运行开始之前,先给这个造型启动WebCam拍照,才能进行后面的识别环节。

 

4.    调用AI人脸识别:这段程序其实很简单。

  1. )点击的时候,先将背景切换到Scanning,显示正在扫描。其实Scratch是有摄像头扫描图片功能的,不过速度太慢了。

  2. )设置三个判断,Recognize image () = Kang,则切换背景为Granted;说一句话“This is Kang.”;播放一段声音,自己录制一段声音,“我是Kang Kang。”。第二、三个判断类似,识别Tong和Others。

Image里面选择Costume Image,就是当前角色的图片。

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程

   3.)测试:先对角色拍照,可以一次拍多个照片,执行前,选择对应的照片。然后开始,系统会切换背景、说话、并且播放声音。系统的识别能力还是很不错的。

下一次试试剪刀石头布。和计算机一起玩剪刀石头布的游戏,我们出剪刀、石头或者布,计算机能够识别出来,并且出题,比对。

本程序的图片和Scratch都来自https://machinelearningforkids.co.uk,感谢这个网提供如此美好的AI体验。


扩展阅读:

推荐阅读:读懂3-6岁儿童25个敏感期,“对症下药”才能事半功倍(推荐收藏)

  • 很多时候我们会对孩子们表现出来各种蛮不讲理、语出惊人的行为感到不解,其实那是孩子进入了敏感期的表现。当老师们理解了孩子敏感期行为背后身心发展的需求,并和家长一起对症下药,提供更好的外界支持,会对孩子未来心智成长受用终身!今天我就为你解读3-6岁孩子的25个敏感期,并给你一些应对策略和建议,希望对你有所帮助~什么是敏感期?著名儿童教育家蒙台梭利提出在儿童内心里有一股无法抑制的动力,驱使他对所感兴趣的特定事物产生尝试或学习的狂热,以一种惊人的方式自然而然地吸收学习,当一种热情耗尽之后,另一种热情会随之燃起。这个阶段就叫做敏感期。 3-4岁(小班)孩子敏感期1.色彩的敏感期特点:对五颜六色的东西充满好奇,喜欢不同颜色的搭配,开始对涂色活动乐此不疲。建议:老师可以在美工区投放各种颜色的涂色材料,满足孩子的色彩需求。在布置教室时,合理搭配各种颜色,将色彩融入环境。2.执拗的敏感期特点:这个阶段的孩子经常把不挂在嘴边,想要大人按照他的想法来,否则就会情绪化。还会....>>查看全文

支持一下吧 ( )

文章评论

      匿名评论
    • 评论
    人参与,条评论
    少儿编程网

客服在线

服务时间

周一至周日 9:00-21:00