加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

少儿编程Scratch第16讲:初试人工智能-人脸识别(IBMWatson)

(2018-09-24 23:53:24)
标签:

scratch

少儿编程

人工智能

人脸识别

watson

分类: 幼儿教育
原创: AlbertZ 艾博特 今天
  • 前言


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


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

 

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


 

2. 目的

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

 

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


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWenhnppbTGqia5sHIZVwKOJCVuSfqzQGibkkqoNXJgaXtc7ZibkVXOESJQQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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


 

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


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

 

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

 

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWed2b15XBVoA8x43z2ATqUgLghg97hAo1e9Hjk6wCr8aLbSPaktShf1w/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

注册图像识别服务。


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

 


https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWe4bVBQB0Ca7eRiaOL3udS5jT6icSNniaibPsO31bGiaNbODKVWnyVKYvFnibg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

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

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

 

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

 

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWeKyibcnzPiciaqgzcvVaMjJ57E7c30Wwn9icajJRh8xHQ3nw2G1MobKo1lQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

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


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

 

微信订阅号:ABO_CRM


 

4. 注册MachineLearningForKids.co.uk

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

 

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

 

 

 4.1 Worksheets-19AI示例应用

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

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

 

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWeBJCmEkJeRUR3bpicicH6QR97AQ1fmicV2Q7V68USDF5VkUDbp5VTIaI2g/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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

 

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



 

4.2 设置IBM API Key

 

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

 

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即可。

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWen8xbcicUXGRrEiaVJmFTaohLWqbLdiblq61kTzeGtP6jN5UYbILYr4tiag/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

Teacher> API Keys


https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWeRhvwk8TxbGbPicwyBBYMicA5NHnjbtlo2urwibLFxmONdrCn6zc6MiaU7Q/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

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


 

4.3 开始人工智能的Scratch项目

一)      新建AI项目


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


https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWe1j4dA8G9qbjcwKIMEvHagGEsGsMEIicyJ2kqjCMG2WcH27fcr4GkK8Q/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1


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

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

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

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

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

 

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWe2p2IUwLY8JDM1zgicOvZbq4mia2m0VflhwtcNu5mRPddQic0wQhiaibCnag/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1


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

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWePEgGtuLHdtsucY6yZoByKRsqSL4fKe2zfzyAbq9PLmMXAZe8BxZ42g/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1


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

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWeIM7BvQdUh2jqKq15EOY5uOcRqFqtZGZiapIvXqSyCGGhBrFvEu4kIicw/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

 

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


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

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

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWez1CCo6ZtKcyZ2BbkNO03tKjs9VSsZ2ULK5Cu6G0wVvQWxCFDQ7BjVg/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

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



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

 

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWe4D1GLRs3VYh9EbzMDnND2kHazg1sJGKaBNJoribFH0Q2iaFKBeyicg93Q/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1


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

 

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

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

https://mmbiz.qpic.cn/mmbiz_png/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWermcM7z3qhZTvpBHUyfFKbz3Vr2BRic08ibuj3Nyd0AaTXuHNkAa00nuQ/640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1


进入后,点击菜单“Project Templates”,有17个模板项目,包括一些示例代码和角色图片。请复制浏览器URL,在新页签中打开,进入Project Templates https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWeG2eYkibpiaEU03mpFiaQwuiaaq9MUWjT77uJ53r3RgySq57nABibpblBfug/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

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

 

下面开始制作程序:

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


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

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

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWeG2eYkibpiaEU03mpFiaQwuiaaq9MUWjT77uJ53r3RgySq57nABibpblBfug/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1


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


微信订阅号:ABO_CRM


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

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


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

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


https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWe04WRmop9LARKhmMJLWoaiaqfkLylFgScsBC6OrnicYKtZNyFqugHNKdg/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1


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

 

https://mmbiz.qpic.cn/mmbiz_jpg/r8cVVTdeCr79yRGoiclImJ3GesiaNicaaWenhnppbTGqia5sHIZVwKOJCVuSfqzQGibkkqoNXJgaXtc7ZibkVXOESJQQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1


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


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


《SAP CRM管理与实施指南》

2018.09.24- 中秋节快乐!


少儿编程-Scratch

·     少儿编程Scratch第15讲:贪吃蛇(2018/9)

·     少儿编程Scratch第14讲:链表和冒泡排序算法(2018/9)

·     少儿编程Scratch第13讲:九九乘法问答(2018/7)

·     少儿编程Scratch第12讲:制作时钟 (2018/6)

·     少儿编程Scratch第11讲:植物大战僵尸(1) (2018/5)

·     少儿编程Scratch书评:《轻松玩转Scratch编程》

·     少儿编程Scratch第十讲:钢琴演奏入门(2018/4)

·     少儿编程Scratch第九讲:小猫跳跳-较完整的跳跃运动(2018/4)

·     少儿编程Scratch第八讲:变量和太空大战(2018/4)

·     少儿编程Scratch第七讲:字母雨打字练习(2018/3)

·     少儿编程Scratch第六讲:抽奖游戏之造型、随机和广播(2018/2)

·     少儿编程Scratch第五讲:练习一坐标和移动(2018/1)

·     少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘(2018.01)

·     少儿编程Scratch第三讲:宇宙大战.枪战游戏(2018.01)

·       少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)

·       Scratch第一讲:Scratch完美的初体验(2018.01)


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有