跳到主要内容

04—智能分类垃圾桶

前期准备

危险

如果你是台式机,本身没有摄像头,这个步骤可以跳过。

在加入插件前,首先确保你的摄像头已经接好,你可以用电脑自带的摄像头,也可以用外接USB摄像头,一般推荐用外接USB摄像头,把外接USB摄像头放置成俯视状态,就会比较方便录入数据。
为了能够不出差错的使用外接的USB摄像头,在开启Kittenblock前,在系统的设备管理器,把笔记本自带的摄像头先禁用,如下图所示,我把笔记本自带的小米摄像头禁用了。Kittenblock开启时,就会启用外部的usb摄像头。右键我的电脑图标—>属性—>设备管理器—>图像设备,找到你笔记本自带的摄像头,右键禁用。win7可能是叫做 摄像头
47.png

危险

如果打开Kittenblock无法但无法启动摄像头,一般是由于杀毒软件禁止启动导致的,关闭杀毒软件件

机器学习特征分类

加载插件

  • 加载 视屏侦测ML5 这两个插件

image.png   image.pngimage.png

  • 打开视屏侦测

331.png

录入数据

  • 初始化特征提取器,点击一下,再把标签更改为“杀虫剂”点击下,这就录入了第一个数据

341.png

信息

我们不断变换卡片的位置和角度,添加多个特征,机器学习才足够强壮。(各种情况数据量足够大),一般每一张卡片录入数据至少在十个数据以上,识别效果才会比较满意

识别检验

录入完毕后,我们随便摆放卡片的位置和方向,点击识别积木块,可以看到已经正确识别出来了。
361.png
其他卡片数据也是按着方法进行录入。大家可以在每个垃圾分类的种类中分别挑几张卡片进行录入,后期有时间再把剩下的卡片全部录入(108张卡片我全部录入完毕大概 花费2个多小时,已经购买套件的用户,我们已经提供好录入的模式,可以直接使用)

危险

如果在录入过程中,录入错误了,我们可直接使用清除积木块,但这个清除积木块是把你之前录入的所有数据都清除了,使用一定要额外小心

实物测试

喵家的垃圾只能识别卡片吗?不是的!因为作为一个教育套件,卡片比较通用,而且课堂上课也比较方便。所以就采用了卡片,如果你想录入真正的实物。也是可以的。录入实物的操作与录入卡片的操作完全一致。把实物放在镜头下,点击添加特征。
50.png

进阶学习

如我们使用垃圾分类,做实物演示,训练好的模型,保存模型后,换台电脑导入该模型后依旧可以直接使用

模型保存

因为涉及到机器学习,机器学习的数据一般是在内存中跑,如果只保存sb3程序,机器学习的数据是无法保存的。所以我们需要额外的保存积木块和加载积木块。

信息

每当录入新的一个数据后,就另存为一个新的.json文件,这样就避免怕你录错数据后的不可挽救

391.png
401.png

模型加载

当你下次再打开这个程序时。你需要做两件事,一个初始化特征提取器,再一个就是加载模型(xx.json)。每次打开都需要做这两件事。这样训练的模型和数据才能正确加载。(已经购买套件的用户,可以直接加载提供的程序包中的18.json,这个模型是喵家这边已经全部录入好数据了)
49.png

危险

由于识别的准确率也跟样本采样时的光线和背景复杂程度有关,所以喵家提供的模型,你不一定能完全适用,可能个别会识别错误,此时只需要重复上述的录入数据步骤,给分类再 录入样本 即可提高识别率!

注意事项

识别出错,一般有两个原因

  • 摄像头的背景太复杂了。如果你是用喵家的18.json机器学习模型,尽量在卡片底下垫一张白色的纸,保持背景是白色的。训练模型与识别模型时,背景尽量保证一致能提高识别率。
  • 二是数据样本不够。这时候我们只需要把这个情况再加入正确的标签中,如图所示,可以再变换多几个特殊的角度再进行录入。
信息

录入后再次进行检测,看下是否能正确识别。以上都OK后,记得把模型的.json文件再次保存,这样的保存才能真正把机器学习的数据结果保存下来。

完整程序

此处就不显示关闭和打开垃圾桶的那些自定义积木块了

  1. 加载文字朗读插件(采用百度AI)

image.png   image.png

  1. 程序编写

这个程序是需要有前置准备的,请确保完成并了解过前面01~04的所有操作
screenshoot-2020_9_15-上午1_57_59.png
image.png