查看: 308|回复: 4

[视觉识别入门教程] 【HUSKYLENS二哈识图】micro:bit视觉识别入门教程—02 色彩钢琴

[复制链接]
色彩钢琴

1.png
2.png

功能介绍:
本项目利用HuskyLens 的颜色识别功能,通过识别不同颜色的琴键,播放不同的音符,让你的“演奏”既好看又好听,拥有绝对美妙的舞台效果。

材料清单:

3.png

知识园地:
当今社会,自动化生产已经成为了社会的发展趋势,机器视觉作为“机器人”的眼睛, 则显得尤为重要。颜色识别作为其中一个重要的技术方向,已经经历了多代技术的升级。而我们这个项目就是借助 HUSKYLENS 传感器的颜色识别功能来对色彩进行区分和识别,通过不同的颜色奏响我们的小钢琴。

1. 什么是颜色识别?
什么是颜色识别,首先我们要了解知道什么是颜色,颜色是通过眼、脑和我们的生活经验所产生的一种对光的视觉效应,我们肉眼所见到的光线,是由波长范围很窄的电磁波产生的,不同波长的电磁波表现为不同的颜色。颜色识别就是基于不同亮度下的色彩属性进行识别和区分的。

4.png

颜色识别工作原理:
颜色识别是基于 Lab 色彩空间(英语:Lab color space)进行识别的,带有维度 L* 代表亮度,a* 代表从绿色到红色的分量,b* 代表从蓝色到黄色的分量,基于非线性压缩的 CIE XYZ 色彩空间坐标。我们可以将 Lab 这三个参数理解为三维坐标系的XYZ。对已经识别学习的颜色的 Lab 参数进行比对,当两个颜色在一定的误差范围内相吻合时,就判定为是同一个颜色。

5.png

在我们平时使用颜色识别中,同一个模块的颜色属性中色相和饱和度是固定不变的,但是受到环境亮度的影响明亮度会产生一些变化,所以在使用颜色识别功能时一定要保证学习识别时的环境亮度和实际工作时的环境亮度尽量保持一致。

颜色识别主要应用在以下领域:
1>在工业领域使用,颜色识别目前在工业领域使用较多,如印刷、涂料和纺织品等行业, 用于色彩监视和校准等工作。

6.png

2>对色弱或视觉障碍的人进行辅助识别,能增强他们对颜色和色彩的理解。

7.png

2.HUSKYLENS 传感器 - 颜色识别功能演示?
如果想要色彩钢琴能够顺利的演奏起来,首先要让 HUSKYLENS 传感器学习我们的彩色琴键的颜色,并让它知道每个颜色对应的音符。HUSKYLENS 传感器中的颜色识别功能是利用传感器内置算法,通过对不同颜色进行学习和记录,能够辨别出不同颜色的ID 并反馈给主控板。

在HuskyLens 传感器中默认设置为只学习、识别并追踪一种颜色,但是我们的彩色琴键肯定不能只有一个,所以我们需要将其设置为能够识别多种颜色的状态。

操作设置- 学习多个:
1.向左或向右拨动“功能按键”,直至屏幕顶部显示“颜色识别”。

2.长按“功能按键”,进入颜色识别功能的二级菜单参数设置界面。

3.向左或向右拨动“功能按键”,选中“学习多个”,然后短按“功能按键”,接着向右拨动“功能按键”打开“学习多个”的开关,即:进度条颜色变蓝,进度条上的方块位于进度条的右边。再短按“功能按键”,确认该参数。

8.png

4.向左拨动“功能按键”,选中“保存并返回“,短按”功能按键“,屏幕提示”是否保存参数?“,默认选择”确认“,此时短按”功能按键“,即可保存参数,并自动返回到颜色识别模式。

这样我们就设置好学习多个的功能了。

学习与识别
1.侦测颜色
将HuskyLens 屏幕中央的“+”字对准目标颜色块,屏幕上会有一个白色方框,自动框选目标颜色块。调整 HuskyLens 与颜色块的角度和距离,让白色方框尽量框住整个目标色块。

9.png

2.学习颜色
侦测到颜色后,按下“学习按键”学习第一种颜色,然后松开“学习按键”结束学习,屏幕上有消息提示:“再按一次继续,按其他按键结束”。如要继续学习下一种颜色,则在倒计时结束前按下“学习按键”,可以继续学习下一种颜色。如果不再需要学习其他颜色了,则在倒计时结束前按下”功能按键”即可,或者不操作任何按键,等待倒计时结束。HuskyLens 显示的颜色 ID 与学习颜色的先后顺序是一致的,也就是:ID 会按顺序依次标注为“ID1”,“ID2”,“ID3”,以此类推,并且不同颜色对应的边框颜色也不同。

10.png

3.识别颜色
如 HuskyLens 遇到相同或近似的颜色,屏幕上会有彩色边框框选出色块,并显示该颜色的ID,边框的大小随颜色块的面积一起变化,边框会自动跟踪色块。多种不同的颜色可以同时识别并追踪,不同颜色对应的边框颜色也不同。

11.png

当出现多个相同颜色的色块时,相隔的色块不能被同时识别,只能一次识别一个色块。

12.png

小提示:环境光线对颜色识别的影响很大,对于相近的颜色,HuskyLens 有时会误识别。建议保持环境光线的稳定,在光线适中的环境中使用此功能。

项目实践
我们将分为两步将任务完成,首先我们会学习使用 HuskyLens 的颜色识别功能, 并将识别到的颜色 ID 输出。然后我们就可以根据输出的颜色 ID 给他们对应的声音播放,这样就可以完成我们的色彩钢琴了。我们将通过两个任务来完成色彩钢琴。

任务一:多种颜色识别
在最开始我们需要让HuskyLens 摄像头能够识别多种颜色,并区分这些颜色的不同,能够给出反馈,以便于后续我们增加音符。

任务二:给每个颜色定义音符
在能够精准的识别出每个颜色之后,我们就可以给每个颜色定义一个声音,让他们能够按照一定的规律播放,这样就可以实现色彩钢琴了。

任务一:多种颜色识别
1. 硬件连接
HuskyLens 传感器使用的是IIC 接口,需要注意线序,不要接错或接反。

13.png

2. 程序设计
这里我们需要让HuskyLens 传感器学习各个琴键的颜色,并能够输出颜色 ID以方便后续我们对应颜色奏响对应的声音
STEP1 学习与识别
在设计程序之前我们需要让HuskyLens 传感器学习各个琴键的颜色。(注意需要先开启学习多个的功能)

14.png


STEP2 Mind+ 软件设置
打开Mind+ 软件(1.62 或以上版本),切换到“上传模式”,点击“扩展”,在“主控板”下点击加载“micro:bit”,在“传感器”下点击加载“HUSKYLENS AI 摄像头”。

15.png 16.png

STEP3 指令学习
来认识一下主要用到的几条指令。

17.png

18.png

19.png

STEP4 流程图分析

20.png

3. 程序示例

21.png

4. 运行效果
当在HUSKYLENS 传感器中识别到对应颜色的 ID,就在 micro:bit 上显示对应的数字。

22.png

任务二:给每个颜色定义音符
1. 硬件连接
如何编写程序呢?在 Mind+,自带播放音符指令,分为低、中、高音,还有各种节拍。我们只要给对应的 ID 添加对应的音符即可。

23.png

24.png

程序逻辑图如下:

25.png

2. 程序示例
在上步完成的程序中添加音符模块即可。

26.png

3. 运行效果
将HuskyLens 传感器固定好,固定的位置在没按下琴键时,彩色琴键要在识别范围外,而摁下琴键时出现在识别范围内。当我们摁下琴键,会根据识别到的颜色播放对应的音符。

项目小结:
项目回顾:
本节课学习了解了颜色识别的工作原理,并通过使用 HuskyLens 传感器学习了传感器的颜色识别功能。
颜色识别在人工智能视觉识别中非常重要的一个功能,在工业中有着广泛的引用。大家想想颜色识别还可以实现什么有趣的功能?

知识点回顾:
1、了解颜色识别的工作原理;
2、学习了 HuskyLens 传感器的颜色识别功能和识别多个的操作方法。

项目拓展:
完成了彩色小钢琴之后,我们一定会发现一个问题,琴键的数量比较少,而如果我们要增加琴键的数量,随着颜色的增多,会有很多颜色相近的琴键,就有可能会出现误识别。琴键变多也会出现摄像头识别范围无法读取足够多的琴键。所以我们有没有什么办法扩宽我们小钢琴的音域呢?

小提示:可以利用 micro:bit 上的 AB 按键实现升阶和降阶的功能。

txm派瑞深山锹  高级技师

发表于 2020-4-29 08:46:10

很好的创意呀!!
回复

使用道具 举报

_木子_  初级技匠
 楼主|

发表于 2020-4-29 10:11:22


                     
回复

使用道具 举报

shzrzxlee  中级技匠

发表于 2020-5-30 18:04:00

大家好,二哈要usb外接电源,否则会不断重启二哈 是吗?
回复

使用道具 举报

shzrzxlee  中级技匠

发表于 2020-5-30 18:15:35

mind+1.63 编译不通过 用的是掌控板
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail