您的位置是:少儿编程网>Scratch编程教程Scratch编程教程

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

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

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

  • 前言Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

这是一个轰轰烈烈的全民人工智能的时代。不说自己做了些和大数据、人工智能的工作都感觉有点不好意思说自己是干IT的。据说人工智能已经进入中小学标准教育大纲了。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

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

2. 目的Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

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

(**终的应用截图,根据角色图片,能够识别这是谁,验证通过与否,同时播放声音。)Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

3. 免费注册IBM 沃森人工智能平台账号Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

IBM Watson人工智能属于IBM 云平台所提供的服务,属于人工智能的大厂家,其人工智能水平还是位于前列的。首先进入https://console.bluemix.net/注册IBM的云平台账号。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

注册图像识别服务。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

IBM图像识别服务按照调用次数收费,Lite的免费版一个月允许调用1000次。对于测试来说,这已经够了。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

进入这个服务以后,“Create”创建账号。然后我们可以看到各种版本的收费标准。Lite版本是免费的,每月1000个Calls。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

创建这个服务的账号以后,能够获取一个API Key,就是其他应用中访问IBM服务的API Key。会在后面的Scratch项目中用到。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

获取**关键的API Key。点击复制,复制该API Key,可以先复制到本地的文件中。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

如果要订阅文本识别类的服务,选择“Watson Assistant(formerlyConversation)”Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

4. 注册MachineLearningForKids.co.ukBin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

进入网址,https://machinelearningforkids.co.uk。**次使用,申请账号。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 4.1 Worksheets-19AI示例应用Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

进入“Worksheets”,能够看见19个AI的应用项目。随便打开一个,就进入下载页面了。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

https://machinelearningforkids.co.uk/#!/worksheetsBin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

下载页面:下载学生手册和教师手册。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

手册中有详细的操作步骤。当然手册了里面并没有告诉你如何申请IBM账号。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

4.2 设置IBM API KeyBin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

Watson VisualRecognition:Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

https://www.ibm.com/watson/services/visual-recognition/Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Watson Assistant:Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

https://www.ibm.com/watson/services/conversation/Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

这一次需要使用到图像识别。注册IBM图像识别服务以后,在这里”Add new API key”,添加API Key即可。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Teacher> API KeysBin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

添加图像识别的IBM Watson API Keyes。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

4.3 开始人工智能的Scratch项目Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

一)      新建AI项目Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

进入“Projects”,  新建项目“Add a new project”,需要录入项目名称Project Name, 识别类型Recognizing,有文字、图形和数字。这里需要选择图形。注意,这里的项目名称依然不支持中文,只能使用英文。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 二)      Train:培训计算机识别图形,进行图形分类识别Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

创建以后,进入项目。有三个功能:“训练Train”,“学习和测试Learn & Test”,”Scratch”。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  • Train: 为系统提供需要识别的照片,可以在线拍照,作为素材,训练系统。识别这是谁,那是谁。系统分组识别,因此要分成几组。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  • Learn &Test: 系统进行抽取,学习。然后可以测试该模型的可靠性。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  • Scratch: 进入Scratch编程环境,在Scratch环境中调用这个AI模型。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

进入Train, 定义三个分组:Kang, Tong, Others,即为两个人,和其他人。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

每组拍10个照片,注意每个照片要更换一定的表情,例如做一下鬼脸之类的。**终目的是,根据所提供的照片,系统能够识别这是谁。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

三)      Learn &Test:机器学习和测试Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

几分钟以后,系统就能建立模型。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

建立模型需要花费几分钟,可以返回项目,重新进来。学习完毕以后,还可以删除该模型,注意该模型只能保留一天。第二天来就需要重新学习了。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

模型建立后,点击“Test withWebcam”,可以拍照测试模型。系统列出识别结果-即该图属于哪一类的图片,即哪个人。提供给出可信度Confidence,例如91%的概率认为这是某人。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

如果图片正规一点,识别率会高一些。如果图形变化大,识别率可能会小一些。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

四)      Scratch:进入Scratch环境,调用AI应用。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

这里的Scratch环境并不是直接在MIT网上的,但功能类似。可以切换到中文版,但扩展的积木还是英文的。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

如果想省时间,就直接使用这些模板,下载模板中的角色图片,然后编写程序,上载角色。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

下面开始制作程序:Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  1. 首先查看“更多模块”,这里能够看见这个人工智能项目Face Lock的扩展,并且有一个绿色标志,说明这个扩展和AI模型是工作的。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  2. 进入舞台,导入4个舞台背景图片。这些背景图片是从示例项目中直接下载的。**个是空手机、第二个是Scanning,说明在扫描图片;第三个是识别成功,绿色打钩的通过背景Granted;第四个是未能正确识别的红色锁定背景Denied。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

如果成功识别某个人,允许进入系统Granted,则使用背景3,否则使用背景4 Denied.Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

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

 Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

4.    调用AI人脸识别:这段程序其实很简单。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  1. )点击的时候,先将背景切换到Scanning,显示正在扫描。其实Scratch是有摄像头扫描图片功能的,不过速度太慢了。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

  2. )设置三个判断,Recognize image () = Kang,则切换背景为Granted;说一句话“This is Kang.”;播放一段声音,自己录制一段声音,“我是Kang Kang。”。第二、三个判断类似,识别Tong和Others。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

Image里面选择Costume Image,就是当前角色的图片。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBM Watson)实例教程Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

   3.)测试:先对角色拍照,可以一次拍多个照片,执行前,选择对应的照片。然后开始,系统会切换背景、说话、并且播放声音。系统的识别能力还是很不错的。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

下一次试试剪刀石头布。和计算机一起玩剪刀石头布的游戏,我们出剪刀、石头或者布,计算机能够识别出来,并且出题,比对。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台

本程序的图片和Scratch都来自https://machinelearningforkids.co.uk,感谢这个网提供如此美好的AI体验。Bin少儿编程网-Scratch_Python_教程_免费少儿编程学习平台


相关文章:

支持一下 ( )

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

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

客服在线

服务时间

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