旧版网站
课 8 / 8

AI如何区分狗和猫?

训练一个图像分类器,再把它的预测结果和机器人的动作连接起来。

13–15 岁
使用的应用CuroAI · 机器学习网页版
AI如何区分狗和猫?

认识AI

什么是监督学习?

AI从大量带标签的狗和猫的照片中学习特征(模式),从而把这两个类别区分开。像这样用带正确标签的样本来学习的方法,就叫监督学习。

观看参考视频(韩语) ↗

AI是怎样学会认识狗和猫的?

  1. 1. 收集样本收集大量狗和猫的照片。
  2. 2. 寻找特征比较耳朵形状、脸型等特征。
  3. 3. 学习特征学习有助于区分狗和猫的特征。
预测结果
狗92%
猫8%
这是示例分数,不是准确率。照片太少或太模糊,都可能让AI判断出错。

搭建

来搭一只狗和一只猫吧!

直流电机积木 ×2摇动狗和猫的尾巴
指令作用
转动电机:向左旋转持续向左旋转。
转动电机:向右旋转持续向右旋转。
向左旋转1秒按设定的时间向左旋转。
向右旋转1秒按设定的时间向右旋转。
关闭电机让电机停止。
声音积木发出狗的音效
指令作用
播放音符播放一个音符。
播放音符0.25拍以拍为单位设定音符的时长。
播放音效播放蜂鸣器音效。
播放音效0.25拍以拍为单位设定音效的时长。
LED积木表现猫的心情
指令作用
显示LED点阵自己画出点阵图案。
显示文字:A在LED积木上显示字母。
显示数字:1在LED积木上显示数字。
显示图标:爱心显示内置的图标。
清空LED屏幕熄灭所有LED点。

搭建狗和猫

教AI学习

打开CuroAI

打开CuroAI Studio ↗

添加机器学习扩展

打开“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个以上不同的样本。检查标签的切换、时间设置和电机方向是否正确。

Try it out

Turn on the camera and show a dog photo, then a cat photo, to the camera. You can print the photos or show them on another device's screen. Check that the robot's movement changes with the label the AI recognises.

  1. Show a dog photoA sound effect plays and the dog's tail (motor 1) wags left and right.
  2. Show a cat photoA heart appears on the cat's face (LED) and the cat's tail (motor 2) wags.
  3. Take the photo awayWith no dog or cat (background), the motors stop and the LED display clears.

If the movement doesn't change reliably, collect more example photos for that class and train again. Try a few more times at different distances and lighting.

小测验

Q用带标签的样本来学习的方法叫什么?

查看答案

监督学习 — AI通过带有类别标签的样本来学习。

搭好了、编好程序、也测试过了吗?点一下记录进度。