04—智能分类垃圾桶
前期准备
如果你是台式机,本身没有摄像头,这个步骤可以跳过。
在加入插件前,首先确保你的摄像头已经接好,你可以用电脑自带的摄像头,也可以用外接USB摄像头,一般推荐用外接USB摄像头,把外接USB摄像头放置成俯视状态,就会比较方便录入数据。
为了能够不出差错的使用外接的USB摄像头,在开启Kittenblock前,在系统的设备管理器,把笔记本自带的摄像头先禁用,如下图所示,我把笔记本自带的小米摄像头禁用了。Kittenblock开启时,就会启用外部的usb摄像头。右键我的电脑图标—>属性—>设备管理器—>图像设备,找到你笔记本自带的摄像头,右键禁用。win7可能是叫做 摄像头
如果打开Kittenblock无法但无法启动摄像头,一般是由于杀毒软件禁止启动导致的,关闭杀毒软件件
机器学习特征分类
加载插件
- 加载 视屏侦测 和 ML5 这两个插件
- 打开视屏侦测
录入数据
- 初始化特征提取器,点击一下,再把标签更改为“杀虫剂”点击下,这就录入了第一个数据
我们不断变换卡片的位置和角度,添加多个特征,机器学习才足够强壮。(各种情况数据量足够大),一般每一张卡片录入数据至少在十个数据以上,识别效果才会比较满意
识别检验
录入完毕后,我们随便摆放卡片的位置和方向,点击识别积木块,可以看到已经正确识别出来了。
其他卡片数据也是按着方法进行录入。大家可以在每个垃圾分类的种类中分别挑几张卡片进行录入,后期有时间再把剩下的卡片全部录入(108张卡片我全部录入完毕大概 花费2个多小时,已经购买套件的用户,我们已经提供好录入的模式,可以直接使用)
如果在录入过程中,录入错误了,我们可直接使用清除积木块,但这个清除积木块是把你之前录入的所有数据都清除了,使用一定要额外小心
实物测试
喵家的垃圾只能识别卡片吗?不是的!因为作为一个教育套件,卡片比较通用,而且课堂上课也比较方便。所以就采用了卡片,如果你想录入真正的实物。也是可以的。录入实物的操作与录入卡片的操作完全一致。把实物放在镜头下,点击添加特征。
进阶学习
如我们使用垃圾分类,做实物演示,训练好的模型,保存模型后,换台电脑导入该模型后依旧可以直接使用
模型保存
因为涉及到机器学习,机器学习的数据一般是在内存中跑,如果只保存sb3程序,机器学习的数据是无法保存的。所以我们需要额外的保存积木块和加载积木块。
每当录入新的一个数据后,就另存为一个新的.json文件,这样就避免怕你录错数据后的不可挽救
模型加载
当你下次再打开这个程序时。你需要做两件事,一个初始化特征提取器,再一个就是加载模型(xx.json)。每次打开都需要做这两件事。这样训练的模型和数据才能正确加载。(已经购买套件的用户,可以直接加载提供的程序包中的18.json,这个模型是喵家这边已经全部录入好数据了)
由于识别的准确率也跟样本采样时的光线和背景复杂程度有关,所以喵家提供的模型,你不一定能完全适用,可能个别会识别错误,此时只需要重复上述的录入数据步骤,给分类再 录入样本 即可提高识别率!
注意事项
识别出错,一般有两个原因
- 摄像头的背景太复杂了。如果你是用喵家的18.json机器学习模型,尽量在卡片底下垫一张白色的纸,保持背景是白色的。训练模型与识别模型时,背景尽量保证一致能提高识别率。
- 二是数据样本不够。这时候我们只需要把这个情况再加入正确的标签中,如图所示,可以再变换多几个特殊的角度再进行录入。
录入后再次进行检测,看下是否能正确识别。以上都OK后,记得把模型的.json文件再次保存,这样的保存才能真正把机器学习的数据结果保存下来。
完整程序
此处就不显示关闭和打开垃圾桶的那些自定义积木块了
- 加载文字朗读插件(采用百度AI)
- 程序编写
这个程序是需要有前置准备的,请确保完成并了解过前面01~04的所有操作