您好, 访客   登录/注册

基于App Inventor的图像识别APP设计

来源:用户上传      作者:罗红梅

  摘要:文章通过介绍一款手机游戏APP的制作,演示了机器学习中的监督学习过程,让学生在游戏的过程中对机器学习和图像识别有一个大致的了解,以期让学生认识身边的人工智能。
  关键词:图像识别;App Inventor;机器学习
  中图分类号:TP18 文献标识码:A
  文章编号:1009-3044(2020)01-0049-02
  机器学习是人工智能的核心,深度学习是机器学习中一个新的研究方向,它能够让机器像人一样具有分析学习能力,能够识别文字、图像和声音等数据。为了让中学生对机器学习、图像识别的过程有一个感性的认识,以期引起孩子们学习人工智能的兴趣,文章介绍一个简单的图片识别APP的制作流程。通过这个APP,手机能够判断出照片中的对象是什么物体。
  1开发环境介绍
  App Inventor是谷歌公司开发的、完全在线的手机编程软件,它将代码全部编写完毕并封装成组件,使用者只需用积木式的拖拽来完成Android编程,它也支持乐高NXT机器人,可以完成手机控制机器人。
  MLforkids为训练机器学习模型提供了一个易于使用的引导环境,可用于分类文本、数字或识别图像,它能够将训练过的机器学习模型添加到App Inventor项目中,该工具完全基于网络,无须安装或复杂的设置,它使用的后台AI平台是IBM的Watson。
  2项目设计
  本项目利用A0p Inventor 2做一个手机捉迷藏游戏APP,首先在MLforkids网站上给机器提供样本,每种类别至少提供十个,机器通过学习这些样本产生一个模型,将这个模型导入App In-ventor 2就可以制作识别这些对象的APP。玩家找到事先定义的对象须拍照证明,手机APP将能够分析照片并识别该对象。
  2.1收集样本
  在浏览器中打开网址https://maehineleamingforkids.eo.uk/,登录并创建一个新项目,注意项目名称不可使用汉字,识别类型选择“图像”,点击“训练”按钮后,添加三个标签并分别命名为“Cat”“Rabbit”“Scissors”的标签桶,标签名也不可有汉字。点击第一个标签桶中的“摄像头”按钮,用摄像头给第一个物体拍照,尝试从不同侧面、角度或距离拍,重复拍摄至少十张片。按相同的方法给第二和第三个物体拍照。图1为样本收集图。
  2.2训练机器学习模型
  在项目页面中,点击“学习和测试”按钮,点击“培养新的机器学习模型”按钮,后台IBM的Watson平台就开始运作,当前型号状态显示“Available”时,说明模型已经训练完成。红色显示的URL地址就是我们后期APP制作用到的機器学习模型的唯一地址,将其拷贝下来。
  2.3APP编程
  在浏览器中输入地址:http://app.gzjkw.net,这是广州电教馆架设的App Inventor 2服务器。无须注册直接用QQ帐号即可登录。新建一个App Inventor项目(注意:项目名称不可使用中文)。在组件面版中点击“Import Extension”,点击“URL”将上一步获得的地址复制到这里,点击“Impoa”按钮,如此即可将刚刚训练好的机器学习模型导入,即为儿童机器学习扩展(“ML4K”),将其拖到设计界面,完成此操作后,图标将添加到在“不可见组件”列表中。图2为此移动游戏界面组件设计,表1为所有组件设计的参数设置。
  逻辑设计将完成以下功能:点击“开始”按钮启动游戏,找到对象后点击“拍照”按钮调用手机上的相机功能拍照,如果ML4K模型验证是所需对象的照片,其标签将以绿色背景突出显示。当三个对象都被找到,即三个标签的背景均为绿色时游戏结束,对话框提示完成游戏所花费的时间,其他逻辑设计较为简单,图3为ML4K模块的关键部分逻辑设计。2AAPP功能测试
  当机器学习模型已验证找到所有三个对象后,计时器将停止计时并由对话框报告花费的时间,图4为APP游戏的运行效果。
  3结束语
  这个项目训练了机器学习模型来识别物体。首先通过收集这些对象的照片样本并”标记”,即告诉计算机每张照片中的内容,计算机使用这些标记来训练模型,通过查找图案的颜色和形状来学习如何识别新照片,这被称为“监督学习”。样本越具有多样性,机器学习模型的性能越好,判断的准确率也越高。例如可尝试添加具有不同背景的样本;拍摄时将对象靠近或远离相机,也可以将对象四面颠倒,从顶部和底部拍摄对象。在这个项目中,训练一台电脑,看看它是如何学习,尝试找出它的错误、教它如何改进,并看到它改变,这就是最简单的人工智能。
转载注明来源:https://www.xzbu.com/8/view-15144554.htm