让 App 认出你自己的东西:Teachable Machine、PIC 和即教即识怎么选
想做一个「拍一下就知道是苹果还是香蕉」「比个手势就能控制」的 App,网上会搜到一堆名字:Teachable Machine、PIC、TeachableMachine 拓展、TMIC……它们是什么关系?国内能不能用?本站又该用哪个?这一页一次讲清楚。
先说结论:
- 在国内,直接用本站的「即教即识」组件。在手机上拍几张样本就能教会,也可以用电脑打开即教即识训练台来教。全部离线,不依赖国外网站。
- 已经有别人训练好的
.tflite模型文件(比如 Teachable Machine 导出的),用「自定义图像分类」直接加载。 - 只认手势(石头剪刀布、点赞、握拳),用「手势识别」,不用教。
先弄懂一件事:「教电脑认东西」是怎么回事
把它想成请一位见多识广的老师,再给他看几张你的照片:
- 老师(行话叫「底座模型」):已经看过上百万张各种图片,很会抓特征:颜色、形状、纹理、轮廓。这一步是谷歌等公司提前做好的,谁都一样。
- 你给他看样本:告诉他「这几张是杯子,这几张是笔」。老师不用从头学,只要记住你这几类东西的特点。这一步叫「训练」,几秒钟到几分钟就完成。
- 考他:拿一张新照片,他说出「这是杯子,九成把握」。这就是「识别」,App 里做的就是这一步。
下面所有方案都是这个思路,区别只在三件事:在哪里教、教完存成什么文件、App 里用什么来认。
一张表看懂它们的关系
| 方案 | 谁做的 | 在哪里教 | 教完存成什么 | App 里用什么认 | 国内能用吗 |
|---|---|---|---|---|---|
| Teachable Machine | 谷歌 | 谷歌的网站 teachablemachine.withgoogle.com | 在线模型链接,或下载 TF.js / TFLite 文件 | 下面两个拓展之一;TFLite 文件也能给本站的自定义图像分类用 | 网站需要访问国外网络 |
| ├ TeachableMachine 拓展 | MIT(2025 年版) | 同上,用谷歌网站 | 同上(填在线模型链接) | 这个拓展 + 一个网页浏览框组件,每次运行都要从谷歌网站下载模型 | 运行时也要访问国外网络,基本用不了 |
| └ TMIC 拓展 | 巴西圣卡塔琳娜联邦大学 | 同上,用谷歌网站 | 同上 | 这个拓展,只支持后置摄像头,2022 年后没更新 | 同上 |
| PersonalImageClassifier(PIC) | MIT | MIT 自己的训练网站 classifier.appinventor.mit.edu | .mdl 文件 |
PIC 拓展 + 一个网页浏览框组件 | 训练页要从谷歌服务器加载模型,国内网络下常常用不了;识别时离线 |
| 即教即识(本站) | App Inventor 2 中文网 | 手机 App 里,或本站的即教即识训练台 | 即教即识模型文件(.json) |
即教即识组件(内置,不用导入) | 全部在国内,完全离线 |
| 自定义图像分类(本站) | App Inventor 2 中文网 | 不负责教,加载别处训练好的模型 | .tflite 模型 + 标签文件 |
自定义图像分类组件(内置) | 识别完全离线;能不能拿到模型看你在哪训练 |
它们之间的关系,用一句话说:
- Teachable Machine 是谷歌做的通用训练网站,什么都能训练(图片、声音、姿势),不是专门给 App Inventor 用的。
- PIC 是 MIT 为 App Inventor 课堂自己做的另一套训练网站加拓展,和 Teachable Machine 是两家各做的,模型文件互不通用。
- 后来 Teachable Machine 用的人多了,MIT 又出了 TeachableMachine 拓展,让 App Inventor 也能用谷歌网站训练的模型;TMIC 是更早的第三方同类拓展。
- 即教即识是本站对 PIC 和 Teachable Machine 这两条路的本土化简化版(全程离线运行):把「教」搬到手机和本站网页上,「认」做成内置组件。
详细对比
| 对比项 | PIC 拓展 | TeachableMachine 拓展 | 即教即识 |
|---|---|---|---|
| 要导入拓展吗 | 要(.aix) |
要(.aix) |
不用,设计器「机器学习套件(ML Kit)」分类里直接拖 |
| 训练要电脑吗 | 要,用电脑浏览器 | 要,用电脑浏览器 | 不用,手机上直接教;也可以用电脑上的训练台 |
| 训练要外网吗 | 要(加载谷歌服务器上的模型) | 要 | 不要 |
| App 运行要联网吗 | 不用 | 要,每次从谷歌网站下载模型 | 不用 |
| 要额外放网页浏览框组件吗 | 要,拓展在里面跑识别 | 要 | 不用 |
| 识别引擎 | 网页里跑 TensorFlow.js(2018 年的 0.13 版) | 网页里跑 TensorFlow.js | 原生 Google MediaPipe,更快 |
| 底座模型 | MobileNet v1(0.25 宽度精简版) | Teachable Machine 自带 | MobileNet v3 small(更新的一代) |
| 教完能马上认吗 | 要先点「训练」等它跑完 | 要在网站上训练完再导出 | 加一张样本立刻生效,不用等 |
| 能接着教吗 | 要回网站重新训练、重新导出 | 同左 | 能,加载模型后接着拍样本 |
| 测试效果 | 训练网站有测试页 | 网站上可预览 | 训练台有测试页(每类正确率、认错的图片) |
| 可调参数 | 能选底座、加层、调学习率和轮数 | 少量 | 没有,为教学做了简化,只有「最低置信度」一个旋钮 |
| 模型文件大小 | 约 150KB,和样本多少无关 | 含底座模型,比 .mdl 大 | 每张样本约 8KB,100 张约 850KB |
| 模型文件能互用吗 | 只能给 PIC 拓展 | 只能给 TM 拓展;导出的 TFLite 可给自定义图像分类 | 只能给即教即识 |
| 鸿蒙 | 不支持 | 不支持 | 暂不支持(工程能打开,调用时提示) |
| 适合谁 | 想讲神经网络怎么训练、自己调参的进阶课 | 能访问国外网络、已用惯谷歌网站的用户 | 国内课堂、入门、现场演示、个人小项目 |
我该用哪个
| 你的情况 | 推荐 |
|---|---|
| 第一次做「认东西」的 App,或者在课堂上带学生做 | 即教即识,手机上几分钟教会 |
| 老师想在电脑上提前做好模型,投屏演示,再发给学生 | 即教即识训练台,导出模型文件,学生上传成素材直接用 |
| 手上有一批现成照片(比如水果、垃圾分类数据集) | 即教即识训练台,把照片按类别拖进去 |
| 只认手势:石头剪刀布、点赞、握拳 | 手势识别,7 种手势不用教 |
已经有 Teachable Machine 或别人训练好的 .tflite 模型 |
自定义图像分类 |
| 类别很多(几十上百类)、要求很高的准确率 | 在电脑上专门训练 TFLite 模型,用自定义图像分类 |
| 要讲「神经网络是怎么训练出来的」、让学生自己调参数 | PIC 拓展(训练网页需要能访问国外网络) |
| 认常见物体(猫、狗、杯子、车……),不想自己教 | 图像标注,400 多类带中文名,不用教 |
用即教即识,三步做出来
- 教:手机上用「从摄像头采集样本」给每个类别拍 10~30 张;或者电脑打开训练台拍样本、拖入图片。别忘了教一个「背景」类(镜头前什么都不放)。
- 存:手机上「保存模型」,或训练台「下载」,得到模型文件;作为素材上传到项目里(文件名用字母数字,如
model.json)。 - 认:屏幕初始化时「加载模型」,再「打开实时摄像头」,在「实时分类」事件里拿到类别和置信度。
完整案例、积木和 .aia 源码见即教即识使用指导。
常见问题
以前用 PIC 训练的 .mdl 文件,能直接给即教即识用吗?
不能。两边的「老师」(底座模型)不一样:.mdl 里存的是专门配合 MobileNet v1 的一小段网络,即教即识用的是 MobileNet v3 small,接不上。重新拍样本教一遍就行,一般几分钟。
以前在 Teachable Machine 上训练的模型怎么办?
在 Teachable Machine 网站上「导出模型」,选「TensorFlow Lite」→「浮点」,下载得到 model_unquant.tflite 和 labels.txt,两个都上传成素材,用自定义图像分类加载即可,完全离线。在线模型链接这种用法国内用不了。
即教即识没有「训练」按钮,那它准不准? 它的做法是:每张样本先请「老师」提取特征记下来,认的时候看新照片和哪一类的样本最像(行话叫 k 近邻)。所以不需要训练这一步,加样本立刻生效。课堂上常见的几类到十几类、每类几十张,准确率和 PIC 差不多;类别特别多、样本特别多时,专门训练出来的模型会更准,这时用自定义图像分类。
总是认错或者「拿不准」怎么办? 每类多拍几张,拍的时候换角度、换距离、换背景;再教一个「背景」类。总说「拿不准」可以把「最低置信度」调低一点,乱认就调高。训练台的「测试效果」能看出哪一类最容易认错。
为什么即教即识的模型文件比 .mdl 大?
它存的是每张样本的特征(每张约 8KB),.mdl 存的是训练好的小网络(固定约 150KB)。几百张样本也就几 MB,放进项目没问题。文件里只有数字,不含照片。
PIC 和 TeachableMachine 拓展还能用吗? 能用,本站的拓展页面都保留着。只是在国内,它们的训练网站和(TeachableMachine 拓展的)运行都要访问国外网络,所以推荐优先用即教即识。
扫码添加客服咨询