AI如何区分狗和猫?
训练一个图像分类器,再把它的预测结果和机器人的动作连接起来。
学习目标
- 通过带标签的样本理解监督学习
- 训练一个有三个类别(狗、猫、背景)的图像分类器
- 为每种预测结果编写机器人的动作
准备材料
- 直流电机积木 ×2
- LED积木
- 声音积木
- CuroAI Studio(网页应用)

认识AI
什么是监督学习?
AI从大量带标签的狗和猫的照片中学习特征(模式),从而把这两个类别区分开。像这样用带正确标签的样本来学习的方法,就叫监督学习。
AI是怎样学会认识狗和猫的?
1. 收集样本收集大量狗和猫的照片。
2. 寻找特征比较耳朵形状、脸型等特征。
3. 学习特征学习有助于区分狗和猫的特征。
AI给新照片分类
1. 展示新照片给AI看一张它从没见过的照片。
2. 比较特征把它和学过的特征进行比较。
3. 预测选出一个类别,显示预测结果。
比较的特征耳朵形状眼睛形状鼻子形状脸型
💡 AI把新照片和学过的特征进行比较,从而预测它属于哪个类别。
搭建
来搭一只狗和一只猫吧!


直流电机积木 ×2摇动狗和猫的尾巴
| 指令 | 作用 |
|---|---|
| 转动电机:向左旋转 | 持续向左旋转。 |
| 转动电机:向右旋转 | 持续向右旋转。 |
| 向左旋转1秒 | 按设定的时间向左旋转。 |
| 向右旋转1秒 | 按设定的时间向右旋转。 |
| 关闭电机 | 让电机停止。 |

声音积木发出狗的音效
| 指令 | 作用 |
|---|---|
| 播放音符 | 播放一个音符。 |
| 播放音符0.25拍 | 以拍为单位设定音符的时长。 |
| 播放音效 | 播放蜂鸣器音效。 |
| 播放音效0.25拍 | 以拍为单位设定音效的时长。 |

LED积木表现猫的心情
| 指令 | 作用 |
|---|---|
| 显示LED点阵 | 自己画出点阵图案。 |
| 显示文字:A | 在LED积木上显示字母。 |
| 显示数字:1 | 在LED积木上显示数字。 |
| 显示图标:爱心 | 显示内置的图标。 |
| 清空LED屏幕 | 熄灭所有LED点。 |
搭建狗和猫

教AI学习
打开CuroAI
添加机器学习扩展
打开“Extensions”(扩展),选择“Cubroid Machine Learning”。
创建三个类别
创建三个类别:狗、猫和背景。
💡 什么是标签?标签就是类别的名字,它告诉AI这个样本是什么。
每个类别15个以上不同的样本



给三个类别命名
给每个标签起好名字,然后把每个“将标签命名为”积木各点一次来保存。
💡 为什么也要训练“背景”?因为AI需要一个类别来表示既没有狗也没有猫的画面。
将标签[1 v]命名为[狗] :: #52b98a 将标签[2 v]命名为[猫] :: #52b98a 将标签[3 v]命名为[背景] :: #52b98a
收集多样的训练样本
用“培训标签”积木为每个类别收集15个以上不同的样本。要变换拍摄角度和背景。
💡 收集某一个类别时,不要让其他动物出现在画面里。
培训标签[1 v] :: #52b98a 培训标签[2 v] :: #52b98a 培训标签[3 v] :: #52b98a
连接积木(组号)
打开积木电源,在“Group Number”里输入与积木贴纸上相同的号码,然后按“OK”确认。

Group Number33
编程并运行
哪个积木负责什么?
直流电机1狗尾巴
直流电机2猫尾巴
LED积木猫的表情
声音积木狗的叫声
把预测结果和动作连接起来
狗- 发出音效
- 电机1向左 / 向右转
- 停止电机1
猫- LED显示爱心
- 电机2向左 / 向右转
- 停止电机2;清空LED
背景- 停止电机1
- 停止电机2
- 清空LED屏幕
查看完整程序
先把“将标签命名为”积木和“培训标签”积木各点一次。之后,每当AI认出一个类别,“收到标签时”积木就会自动运行。
狗
将标签[1 v]命名为[狗] :: #52b98a 培训标签[1 v] :: #52b98a 收到标签[1 v]时 :: hat #52b98a 播放音符 [效果小 v] :: sound 旋转直流电机块1 (1) [向左旋转 v] 秒 :: motion 等待 (1) 秒 :: control 旋转直流电机块1 (1) [向右旋转 v] 秒 :: motion 等待 (1) 秒 :: control 关闭直流电机块1 :: motion
猫
将标签[2 v]命名为[猫] :: #52b98a 培训标签[2 v] :: #52b98a 收到标签[2 v]时 :: hat #52b98a 显示 [♥ v] :: looks 旋转直流电机块2 (1) [向左旋转 v] 秒 :: motion 等待 (1) 秒 :: control 旋转直流电机块2 (1) [向右旋转 v] 秒 :: motion 等待 (1) 秒 :: control 关闭直流电机块2 :: motion 清空屏幕 :: looks
背景
将标签[3 v]命名为[背景] :: #52b98a 培训标签[3 v] :: #52b98a 收到标签[3 v]时 :: hat #52b98a 关闭直流电机块1 :: motion 关闭直流电机块2 :: motion 清空屏幕 :: looks
💡 测试前,每个类别都要训练15个以上不同的样本。检查标签的切换、时间设置和电机方向是否正确。
小测验
Q用带标签的样本来学习的方法叫什么?
查看答案
监督学习 — AI通过带有类别标签的样本来学习。
本课完成!
搭好了、编好程序、也测试过了吗?点一下记录进度。
