三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

5分钟零代码玩转浏览器AI:手把手体验Teachable Machine图像与声音训练

5分钟零代码玩转浏览器AI:手把手体验Teachable Machine图像与声音训练

5分钟零代码玩转浏览器AI:手把手体验Teachable Machine图像与声音训练

【免费下载链接】teachable-machine-v1Explore how machine learning works, live in the browser. No coding required.项目地址: https://gitcode.com/gh_mirrors/te/teachable-machine-v1

打开浏览器,对着摄像头做一个手势,几秒后电脑就学会了分辨"这个动作"和"那个动作"——听起来像科幻片?Teachable Machine正是这样一个免费、零门槛的AI实验项目,它让机器学习的训练、测试和反馈全部在浏览器里实时完成,无需安装任何专业软件,也完全不用写一行代码。

先回答一个扎心问题:学AI,真的非要先啃编程吗?

很多人对"机器学习"的第一反应是:数学公式、Python脚本、动辄几个G的数据集。于是念头还没成型,就被劝退了。

但请你先停下来想想:你真正想做的,到底是什么?

大概率不是"推导反向传播公式",而是——让电脑认出一个东西、听出一种声音,然后做点反应。比如识别你的手势控制音乐播放,或者分辨猫叫和狗吠。

Teachable Machine把这件事还原成了它的本来面目:一件人人都能上手的事。它用 TensorFlow.js 在浏览器里构建了一个"教学现场",你只需要"喂"样本,模型立刻学会,全程可视化。它藏在你可能意想不到的地方——比如这个开源项目里,核心代码就清晰地躺在 src/ai/ 目录下,全部面向浏览器运行。

它到底能"教"AI 学什么?先认清三大输入通道

打开 html/index.html 渲染出的主界面,你会发现整个工具被设计成一条清晰的流水线:输入 → 学习 → 输出

通道一:图像与摄像头(上手最快的入口)

对着摄像头张开手掌、握拳、比个耶,长按对应颜色的按钮,模型就不断把这些画面"吸收"进分类器。背后干活的,是 src/ai/WebcamClassifier.js 这个模块——它调用 MobileNet 提取图像特征,再用 KNN 分类器实时训练,每帧画面都会转化为置信度百分比显示在屏幕上。

通道二:声音与麦克风(很多人忽略的宝藏)

点开"Input"切到声音模式,录制几段不同音频,AI 就能学会区分它们。这正好呼应了每个新手最关心的一个问题:"我的模型要学会哪几种东西?"——在 src/config.js 里你可以看到,工具默认预设了绿、紫、橙三种分类标签,classNames数组一目了然,想加类别改这里就行。

通道三:姿态与动作(进阶玩家的游乐场)

当图像和声音都玩熟了,你自然会好奇:能不能让 AI 识别"动作"?答案是肯定的,这也是从"会玩"走向"会创造"的分水岭。

给零基础用户的第 1 个任务:3 分钟跑起第一个"懂你"的模型

与其看十篇教程,不如亲手做一次。把项目克隆到本地后,只需几条命令:

git clone https://gitcode.com/gh_mirrors/te/teachable-machine-v1 cd teachable-machine-v1 yarn yarn run watch

浏览器打开https://你的IP:3000,Teachable Machine 的完整界面就出现在眼前。接着按这三步走:

  1. 按住"绿色训练"按钮,对着摄像头做"张开手掌",持续 2~3 秒收集样本;
  2. 换紫色按钮,换成"握拳",再收集一批;
  3. 松开所有按钮,在摄像头前挥挥手——看,屏幕右侧的置信度立刻告诉你:它认出了你的动作!

整个过程不超过 3 分钟,这就是"教"AI 的全部仪式。

给新手的第 2 个任务:让 AI "开口说话"和"放一段音乐"

只会"认出"还不够有趣。Teachable Machine 真正的魔法,在于训练结果可以驱动真实世界的声音与动作

在 src/ui/modules/OutputSection.js 中,三种输出模块被优雅地组织在一起:GIFOutputSoundOutputSpeechOutput。这意味着你可以:

  • 让 AI 在识别到"猫叫"时,播放一段钢琴声;
  • 让 AI 在识别到"挥手"时,用语音朗读一句话;
  • 甚至让 AI 触发一段 GIF 动画。

声音库也不用愁。项目自带的 assets/outputs/sound/sounds/ 目录下躺着 20 多个精选音效——从鼓点、小号到掌声、鸟鸣,搜索选择即可。而让电脑"开口说话"的能力,藏在 src/outputs/speech/TextToSpeech.js 里,它调用的正是浏览器原生的语音合成接口,零成本、零依赖。

训练效果总是不理想?对照这 5 个自查清单

几乎每个新手都会在某个时刻嘀咕:"为什么我的模型认不准?"别急着怀疑自己,先逐条对照:

清单 1:样本是否够"多样"

只在台灯下拍的手势,到了自然光下就失灵。尝试不同光照、不同角度、不同背景,让 AI 看到世界的"丰富版本"。

清单 2:分类标签是否够"干脆"

用"招手"而不是"手部动作",用"猫叫"而不是"动物声音"。标签越具体,模型边界越清晰。

清单 3:每个类别是否都喂够了样本

三个类别,两个喂了 50 张、一个喂了 3 张——不公平的"教学"只会养出偏心的模型。

清单 4:是否盯着置信度实时观察

Teachable Machine 的反馈是即时的。每按一次训练按钮,屏幕上的百分比都在跳动,学会"看着数据调整策略"是入门最关键的一课。

清单 5:是不是总在一个环境里采集

把摄像头固定在一个位置、背景永远相同,模型就会偷偷学会"认背景"而不是"认动作"。

满足你的好奇心:这些"魔法"背后的代码长什么样

如果你和我一样,玩着玩着就忍不住想掀开引擎盖看看——这个项目简直是为好奇心准备的礼物。它的模块化设计极其清爽:

  • src/ai/:AI 核心。WebcamClassifier.js负责图像采集与实时训练,squeezenet.js提供了轻量级备选网络;
  • src/outputs/:输出中枢。声音搜索、语音合成、GIF 播放各司其职;
  • src/ui/modules/:界面逻辑。LearningClass.js管理每个类别的样本数量,Wizard.js负责新手引导流程;
  • style/:全部样式。用 Stylus 编写,结构同样模块化。

看到 src/config.js 里那几行颜色配置了吗?改一个十六进制色值,整个界面的主题色就跟着变。这种"每改一行都能立刻看到效果"的反馈感,正是初学者探索源码最好的起点。

接下来的 3 个行动方向,挑一个马上做

方向一:把"识别"变成"控制"

训练三个手势,分别接上"播放/暂停/切歌",你的专属手势音乐播放器就诞生了。

方向二:做一款家庭互动玩具

让 AI 区分家人的笑声和哭声——这个创意完全可以变成一个亲子游戏。

方向三:去读一次源码

哪怕只看 src/ai/WebcamClassifier.js 的开头几十行,你也会惊讶地发现:所谓"训练模型",不过就是addExample()加上predictClass()两个函数来回调用。

写在最后

机器学习的魅力从来不在于它有多高深,而在于它能让普通人第一次真切地感受到"教一台机器学会东西"的成就感。Teachable Machine 把这扇门开到了你面前,门后没有门槛,只有好奇心在等你。

现在,打开终端、敲下那三行命令,对着摄像头摆一个手势——你与 AI 的故事,就从这一刻开始。

【免费下载链接】teachable-machine-v1Explore how machine learning works, live in the browser. No coding required.项目地址: https://gitcode.com/gh_mirrors/te/teachable-machine-v1

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表