29448| 9
|
[项目分享] Mind+人工智能之垃圾分类助手(基于视觉学习) |
本帖最后由 EVE 于 2019-11-29 13:59 编辑 写在前面 前段时间,我们的好朋友亮亮推出了Mind+1.6.1,当然火速下载用起来啊。然后过了好长好长时间,亮亮不经意的说:“161做了一些AI的模块,先用用看”。 于是就随便的用了一下,不用不知道,一用吓一跳好吗? 亮亮啊,你悄摸摸的加了这么多人工智能模块,是打算留着过年嘛?什么图像识别、谷歌翻译、文字朗读,这些功能为什么藏得这么深?!你不说我完全不知道啊!真是内心平和的亮亮啊... 于是有了此贴,一直觉得垃圾分类是视觉识别一个很好的应用场景,比如某宝某信推出的一些手机程序,直接用手机摄像头识别垃圾。虽然垃圾分类这个题从今年7月炒到现在已经快成了冷饭,但是有了亮亮的AI模块加持,冷饭也能香喷喷! 功能描述 Mind+1.6.1有“图像识别”功能,使用这个功能,可以自己做一款AI视觉垃圾助手。 用电脑摄像头检测垃圾,判断这是什么垃圾,给出分类结果。为了垃圾分类助手更加智能,对于程序无法识别的垃圾,还能人为帮助它学习,让它更加聪明。 视频演示 项目必备 电脑有摄像头! 电脑有摄像头! 电脑有摄像头! Mind+1.6.1! Mind+1.6.1! Mind+1.6.1! 网速好! 网速好! 网速好! AI图像识别 如果是初次使用Mind+或图像识别,请阅读官方教程:http://mindplus.dfrobot.com.cn/ai_image 可以通过以下3步快速上手: STEP1、打开Mind+1.6.1,选择“实时模式” STEP2、点击“扩展”,在“网络服务”下加载“AI图像识别” STEP3、编写程序 程序1、开启摄像头: 点击程序块,运行程序。 运行结果:舞台显示摄像头画面。 程序2、识别图像主体: 点击程序块,运行程序。 运行结果:显示图片识别结果。 体验完图像识别的功能,我们知道只要截取一张摄像头的图片,识别图像主体,AI服务器就会自动反馈5个识别种结果,识别的可能性越高,越靠前。比如上图的识别结果有苹果、粒子、桃子等,苹果的可能性最高,所以排在第一位。 功能分析 依据上海地区的垃圾分类原则,将垃圾分为4类:干垃圾、湿垃圾、有害垃圾、可回收物。每类垃圾包括多种垃圾,所以可以使用4个列表来存储 4类垃圾,把不同的垃圾名称添加到列表中。 将图像识别应用在垃圾分类场景的话,可以用摄像头识别垃圾,得到识别结果后,判断属于哪一类垃圾。如果无法判断,说明列表中没有这个垃圾名称,那么人工导入对应列表,垃圾助手就越来越“聪明”啦!当许多人共同用这个垃圾助手,每个人都可以享受它的便利,同时每个人也都在帮助它变得越来越强大,经过一段时间的使用积累,这个垃圾助手将会涵盖所有常用的垃圾。 分析完了功能,一起来思考一下,这些功能可以用程序实现吗?有哪些技术难点? 1、怎么将识别结果依次与列表中的每一项依次对比呢? 2、对于无法判断的垃圾,怎么获得它的名称呢? 3、怎么将名称人工导入列表中呢? 克服了这些难点,相信就可以实现功能。 攻克难点1:遍历列表 将从图中识别的图像主体与列表中的每一项进行比较,也就是遍历列表。遍历结束的条件是:在列表中发现相同项或比完列表所有项。如果发现相同项,则说明该垃圾属于列表一类,否则不属于。 来看下面这段程序: 列表“干垃圾”包含多项干垃圾名称; 变量“图像”为; 变量“判断标志”初始赋值为0,如果发现相同项,则为1。 上面程序中,变量“图像”与列表“干垃圾”中的每一项依次对比,如果相同则变量“判断标志”为1,否则变量“判断标志”为0。 攻克难点2:提取识别结果第一项 前面讲过识别结果的第一项是可能性最高的,怎么提取出这一项呢?如下图,需要提取的是“纸品湿巾”。 使用图像识别功能不难发现,输出结果的文字形式总是“图中可能是xxx、xxx、xxx、xxx、xxx”,第一项xxx位于第6个字符到第1个“、”之间。用程序定位出第一项的位置,如下: 攻克难点3:将识别结果手动导入列表 可以使用电脑键盘辅助手动导入。比如下面这个程序,按下“1”键,变量“识别结果”将会导入到列表第一项。 这么一来,实现视觉学习的垃圾分类助手的程序难点都是可以解决的啊。 那么还有非常重要的一点,就是确定交互方式,即使用垃圾助手的人怎么操作。比如通过键盘按键完成图片截取、视觉学习的过程,通过角色说话提示流程。大家也可以使用其他方式。 程序思路 给出一种参考思路: 完整项目参考程序 所有程序都写在一个角色下,用到的变量和列表如下: 写在最后 至此,这个项目只能说是简单实现了基于视觉的垃圾分类的基本功能,但还有很大的丰富空间。 比如,是不是可以设计更人性化的交互方式呢?多加入几个角色,把程序中的一些文字提示以动画的方式呈现出来。 再比如,是不是可以设计一个这样的AI垃圾桶呢?摄像头识别垃圾后,自动打开对应垃圾桶的盖子。Mind+中的图像识别是在实时模式下的,但是大部分硬件支持是在上传模式下,可以打通它们之间的数据传输吗?无线通信和物联网都可以实现数据远程传输,所以能否把实时模式下得到的判断结果反馈到上传模式下的各种硬件上呢? 再想的远一点,这个垃圾桶可以成为落地的产品吗?让家庭或者社区中可以使用的AI垃圾桶!考虑到电脑体积太大,或许可以考虑树莓派或者LP,搭载一个摄像头,再与硬件结合,吧啦吧啦吧啦吧啦 ... ... Emmm,真香! |
172.17 KB, 下载次数: 9635
EVE 发表于 2020-9-30 00:21 大佬,请教一下,实时模式里面的模块,怎么保存到上传模式去? |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed