木子呢 发表于 2021-7-30 14:15:20

【Mind+Huskylens趣味AI入门】系列课程—01会唱歌的画

Mind+Huskylens趣味AI入门——会唱歌的画
https://www.bilibili.com/video/BV18o4y1Q7QE
关于教程

本课程结合了Mind+图形化编程与人工智能摄像头Huskylens(二哈识图),通过9个程序与硬件直连的趣味项目,模拟当下热门的人工智能应用场景,在动手实践的过程中学习计算机视觉与人工智能算法的相关知识。适合想要学习编程、了解AI应用的中小学师生,和对Huskylens感兴趣的朋友。

认识Mind+

Mind+是一款拥有自主知识产权的国产青少年编程软件,支持各种开源硬件及AI(人工智能)功能。本课程基于Mind+的实时模式,只需拖动图形化积木编程,就可以在舞台中搭建例如人脸门禁、垃圾分类、自助收银等智慧生活场景,也能够实现神奇宝贝、切水果等经典游戏的互动体验。


认识Huskylens
Huskylens(二哈识图)是一款简单易用的人工智能视觉传感器,仅需一个按键即可完成AI训练,摆脱了繁琐的训练和复杂的视觉算法,让你更加专注于项目的构思和实现。本课程为Huskylens教育版设计,支持与Mind+舞台直接交互并可以使用AI可视化工具,覆盖了Huskylens的大部分功能:颜色识别、人脸识别、物体识别、物体追踪、物体分类、条形码识别等,是Huskylens入门的最佳学习工具。


关于Huskylens(二哈识图)更多使用说明,请参考:https://mindplus.dfrobot.com.cn/huskylens
1.1 项目介绍

1.1.1背景导入


画画可以抒发我们内心的想法和情感。小朋友们喜欢用色彩描绘自己眼中绚丽多彩的世界,而毕加索“蓝色时期”的作品沉浸着一种悲伤忧郁的氛围。每一幅画作都传递着不同的思想和情绪,从颜色中我们能够感受到作者的内心世界。想象一下,如果一幅画会唱歌,它发出的旋律会是开心的、难过的、欢快的还是悲伤的?

接下来我们就借助Mind+、Huskylens制作第一个项目:会唱歌的画,一起来听听小朋友们画中的声音吧!

1.1.2任务拆解

Huskylens的颜色识别功能,能够识别并追踪多种颜色。本项目中,使用Mind+布置画廊的场景。通过鼠标和按键交互使画作可以将画面放大缩小。选择一幅画,当Huskylens识别到画中不同色彩时发出不同音调,形成这幅画的独特旋律。

STEP1: 使用Huskylens的颜色识别功能,学习指定的颜色。

STEP2: 了解坐标系概念,调整角色的位置和大小。

STEP3: 实现角色的点击和按键交互。

STEP4: 将Huskylens识别到的颜色转换成声音。

(目标功能实现效果示意)

1.2 项目准备

1.2.1 软件设置

首先,打开Mind+软件(V1.6.4以上版本),确认软件为“实时模式”;


点击“扩展”,在“功能模块”里加载“Huskylens教育版”;


点击“返回”到主界面可以看到功能模块添加成功。

1.2.2 硬件连接

用USB线把Huskylens连接到电脑。点击扩展功能旁的橙色感叹号,在跳出的窗口的对应设备后,点击“连接”Huskylens。




连接成功后感叹号会变成绿色对勾,“返回编辑器”就完成连接啦。

1.3 程序思路

项目功能实现主要分两个部分:舞台效果设置、用Huskylens识别颜色。

舞台效果设置:


Huskylens识别颜色:



1.4 功能实现

1.4.1 Huskylens颜色识别

(1)功能设置

切换Huskylens算法模式:向左或向右拨动“功能按键”,直至屏幕顶部显示“颜色识别”。长按”功能按键“,进入颜色识别功能的二级菜单。



向左或向右拨动”功能按键“,选中”学习多个“,短按”功能按键“,向右拨动”功能按键“打开”学习多个“开关(进度条变蓝),再短按“功能按键”,确认参数。



向左拨动“功能按键”,选中“保存并返回”,短按“功能按键”,屏幕显示“是否保存参数?”,短按确认,保存参数,自动返回到颜色识别模式。

Tip:默认设置为学习并识别一种颜色。

(2)侦测颜色

将Huskylens屏幕中的“+”对准目标颜色块,屏幕上会有一个白色方框,自动框选目标颜色块。调整Huskylens与颜色块的角度和距离,让白色方框尽量框住整个目标色块。



(3)学习颜色

侦测到颜色后,按下“学习按键”学习第一种颜色,然后松开“学习按键”结束学习,屏幕上有消息提示:“再按一次继续,按其他按键结束”。如果不再需要学习其他颜色了,则在倒计时结束前按下”功能按键”即可,或者不操作任何按键,等待倒计时结束。



在“会唱歌的画”课程中,请按以下顺序进行颜色学习。



(4)识别颜色

Huskylens遇到相同或近似的颜色,会显示对应颜色的ID,ID与学习颜色的先后顺序是一致的,依次标注为“ID1”,“ID2”,“ID3”,以此类推。屏幕还会框选并跟随出色块,大小也会随色块的面积变化。不同颜色可以同时识别并追踪,且边框颜色也不同。



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

1.4.2 Mind+舞台场景布置

(1)添加背景

把鼠标移到“背景库”,点击“上传背景”,打开文件夹上传背景文件“画廊”。


上传好背景,在“背景”模块里编辑背景图片大小和位置,让图片覆盖整个画布。


(2)添加角色

删除默认的mind+角色。鼠标放在Mind+右下角“角色库”,选择“上传角色”,打开本地文件夹选择“画-1”至“画-6”,完成上传。


上传好角色文件后,在“造型”模块里调整图片大小、中心点位置。将图片摆放在画廊的空白画框里。舞台场景布置完成效果如下图所示:


(3)设置角色初始位置

实现效果:点击绿旗,角色回到初始位置。


知识延申

Mind+舞台坐标:

Mind+舞台可以用平面直角坐标系来表示精确位置,用于角色的定位和移动。原点(X=0,Y=0)在舞台的中央。水平方向为X轴,范围为-240~240(左减右增);垂直方向为Y轴,范围为:180~-180(上增下减)。任意一个角色在移动的过程中,软件会自动监控和更新角色的坐标位置,可在图中框选的位置查看当前角色的XY坐标:



1.4.3 角色点击和按键交互

实现效果:开始所有的画显示在“画廊”上,当画被点击时,在舞台中心放大显示。按下空格键,删除放大的角色。



用相同的方法设置其它角色(画-2至画-6)的位置和交互。(完整程序见附录)



1.4.4 Huskylens颜色识别

实现效果:点击向上箭头,Huskylens识别程序执行,当识别到不同颜色时发出对应的音符。这样对着不同的画时,就可以发出独特的旋律了。


这里用到了功能模块中Huskylens的指令。指令说明:从识别到的“结果”中获取当前屏幕中靠近中心的方框信息,没有学习过的框id为0,没有方框则返回-1。



复制“如果,执行”里的代码,更改ID后面的数字,分别判断Huskylens识别到不同颜色的情况,当识别到学习过的颜色时播放不同的钢琴音符。


程序已经编写好啦,快来运行程序,听听每幅画的声音吧!(完整程序见附录)

1.5 知识小结

硬件知识:Huskylens的颜色识别功能

编程知识:设置角色大小、位置;按键和克隆功能的使用

1.6 拓展阅读

1.6.1什么是颜色识别?

自动化生产已经成了社会的发展趋势,机器视觉作为“机器人”的眼睛, 显得尤为重要。颜色识别是机器视觉的一个重要方向,已经经历了多代的技术升级。



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

1.6.2.颜色识别应用领域

(1)农业领域:植物叶子的颜色识别可用来研究植物生长状况、农作物产量和品质,为农作物施肥、植物病理诊断等提供科学依据。


(2)工业领域:颜色识别目前在工业领域使用较多,如印刷、涂料和纺织品等行业, 用于色彩监视和校准等工作。


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


英国北爱尔兰地区的艺术家Neil Harbission头上有一根弯曲的“天线”,这根“天线”其实是一个将颜色转换成声音的智能设备,以帮助天生无法识别颜色的他,通过听觉感受不同的色彩。他也成为了第一个被认可的“半机械人”。


(部分图片来源于网络,只为课程内容配图,不做商用。如果发现文章内有侵犯您知识产权的作品,请直接私信我们,我们会及时修改或删除。)

附录

### 附录1:**程序指令**

| **程序指令** | **功能说明**   |
| ----------- | --- |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629861845-image036.png)| 从识别到的“结果”中获取当前屏幕中靠近中心的方框信息,没有学习过的框id为0,没有方框则返回-1 |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629877012-image038.png) | 当绿旗被点击一下,开始按序执行下面每一行指令,常用作在后面紧跟需要初始化的指令 |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629895880-image040.png)| 点击一下角色,执行下面的程序|
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629911105-image042.png) | 按下键盘上的按键,开始执行下面的指令      |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629926806-image044.png) | 将角色大小增加指定百分比,负数则为减小百分比 |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629937311-image046.png) | 将角色移到最前面或最后面图层   |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629946373-image048.png) | 移到相应的坐标位置|
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629956819-image050.png)| 循环执行程序,每循环一次,循环中的每条指令自上而下,逐步执行 |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629966940-image052.png) | 角色自己进行复制,将触发克隆体启动功能   |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629977455-image054.png)| 当作为克隆体启动时触发,控制克隆体的具体行为 |
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629986263-image056.png)| 删除当前程序所在的克隆体|
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629994040-image058.png) | 电脑播放声音|
| ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627630001575-image060.png)|“等于”运算符 |


### 附录1:**程序示例**

| 角色   | 程序|
| ------- | --- |
| **画-1** | ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629661885-image062.png)|
| **画-2** | ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629730490-image063.jpg)|
| **画-3** | ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629743645-image064.jpg) |
| **画-4** | ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629754861-image065.jpg) |
| **画-5** | ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629763187-image066.jpg) |
| **画-6** | ![](https://cdn.jsdelivr.net/gh/kikiyakiki/picture/2021-7-30/1627629772637-image067.jpg) |

*角色的位置和大小需要根据具体情况调整

资源下载:



energy 发表于 2021-11-30 15:25:15

不是教育版是不是就用不了?

木子呢 发表于 2021-11-30 16:32:27

energy 发表于 2021-11-30 15:25
不是教育版是不是就用不了?

这节课用基础版是可以的

energy 发表于 2021-12-1 08:46:05

木子呢 发表于 2021-11-30 16:32
这节课用基础版是可以的

连接mind+提示不是教育版不给连接哦。

木子呢 发表于 2021-12-1 14:24:07

energy 发表于 2021-12-1 08:46
连接mind+提示不是教育版不给连接哦。

不好意思,看错了,这套课程都是智能用为哈教育版本噢
页: [1]
查看完整版本: 【Mind+Huskylens趣味AI入门】系列课程—01会唱歌的画