智能分类垃圾桶
前期准备
1、如果你是台式机,本身没有摄像头,这个步骤可以跳过。
2、如果你是笔记本,先禁用笔记本摄像头
鼠标右键“我的电脑”图标—>属性—>设备管理器—>图像设备,找到你笔记本自带的摄像头,右键禁用。win7可能是叫做 摄像头
插上USB摄像头
插上我们配送的USB摄像头,电脑会识别成HD camera
摄像头摆放
自行调整摄像头的俯视高度 和 焦距
1、弯折摄像头,让其镜头尽量低一点
2、旋转圆环,调整焦距,让其尽量清晰
3、最终软件舞台显示的效果,虽然有点模糊,但是已经完全没有问题了
打开Kittneblock软件
如果打开Kittenblock,无法启动摄像头,一般是由于杀毒软件禁止启动导致的。
先关闭杀毒软件,再重新打开Kittenblock
1、加载视频插件 和 ML5的插件,选择左下角的扩展
视屏侦测分栏
拖拽以下的积木
点击镜像开启动,设置透明度为0
ML5分栏
1、录入数据
1、初始化特征提取器,点击一下
2、再把标签更改为“虾”点击下(录入不同的物体需要对应更改为不同名字),这就录入了第一个数据。第一次录入比较慢,不要惊慌,等待一下,点击积木块,黄色边框消失后,就代表执行完毕了
3、要求录入的名字是在这4个列表内(蓝色勾勾去掉可以隐藏列表),否则就需要自己进行增加
点击加号就可以自行添加
4、需要不断变换卡片的位置和角度,多点击几次“KNN添加特征积木块”,录入多次标签,机器学习才足够强壮。
一般每一张卡片录入数据至少在5个数据以上,识别效果才会比较准确
这里我不断的变动虾的卡片位置和角度,同时点击了 添加特征的积木块(红框所示)
2、识别检验
录入完毕后,我们随便摆放卡片的位置和方向,点击识别积木块,可以看到已经正确识别出来了。
3、再录入其它的卡片
其他卡片数据也是按照同样的方法进行录入。大家可以在每个垃圾分类的种类中分别挑几张卡片进行录入,后期有时间再把剩下的卡片全部录入
4、实物录入
喵家的垃圾只能识别卡片吗?不是的!因为作为一个教育套件,卡片比较通用,而且课堂上课也比较方便。所以就采用了卡片,如果你想录入真正的实物。也是可以的。录入实物的操作与录入卡片的操作完全一致。把实物放在镜头下,点击添加特征。
进阶学习
模型保存
因为涉及到机器学习,机器学习的数据一般是在内存中跑,如果只保存sb3程序,机器学习的数据是无法保存的。因此需要额外保存模型和加载模型
模型保存为“myKNN.json”
点击保存后
本地文件中,多出了“myKNN.json”
模型加载
当你下次再打开这个程序时。你需要做两件事,一个初始化特征提取器,再一个就是加载模型(xx.json)。
且每次打开都需要做这两件事。这样训练好的模型才能再次被用上
注意事项
识别出错,一般有两个原因
- 摄像头的背景太复杂了。尽量在卡片底下垫一张白色的纸,保持背景是白色的。训练模型与识别模型时,背景尽量保证一致能提高识别率。
- 二是数据样本不够。这时候我们只需要把这个情况再加入正确的标签中,如图所示,可以再变换多几个特殊的角度再进行录入。
录入后再次进行检测,看下是否能正确识别。以上都OK后,记得把模型的.json文件再次保存,这样的保存才能真正把机器学习的数据结果保存下来。
完整程序
这个程序是需要有前置准备的,请确保完成或者了解过前面所有操作
打开程序“04智能分类垃圾桶_完整”
我们先特征分类录入 “废电池”和“易拉罐”进行测试下,记得不同角度多录入几张
Robotbit的电源也打开了
按下空格进行识别
如果执行正确,对应垃圾桶会正确的打开,且电脑会进行语音播报。
常见问题与解答
1、按空格后没有反应
请注意逐一进行排查:
1、特征分类是否训练好,点击返回的结果是否正确?
2、如果特征分类结果是正确的,请检查Microbit串口是否已经连接了(是否已经恢复过固件),可以点击Microbit点阵表情显示,如果点阵有反应,则证明正常。
3、以上都正确,那么可能是舵机没接正确,或者 Robotbit的电源没有打开。