AB
AiBoss
チュートリアル

Lobe

チュートリアル

用 Lobe 训练图像分类模型并导出到应用

Lobe 是一款面向 Windows 与 macOS 的桌面应用,用可视化界面完成图像分类模型的导入、标注、训练与导出。本文按项目创建、数据标注、训练验证、纠错优化、导出部署的顺序讲清完整流程,并说明每类标签的图片数量建议、占位标签的用法以及 TensorFlow Lite、Core ML、SavedModel 三种导出格式的适用场景。

想做一个能识别图片内容的模型,通常要写训练脚本、配环境、调参数。Lobe 把这一整套流程收进了一个桌面应用:导入图片、给图片打标签、等它自动训练,然后导出成可以直接放进 App 的模型文件。整个过程不需要写代码,适合没有编程或数据科学背景、但想亲手跑通一次机器学习实验的人,也适合需要给应用快速补上图像识别能力的开发者。当前公开预览阶段,Lobe 支持的是图像分类——判断一张图属于你定义的哪一类。如果你只是想先了解这类工具的整体形态,可以先看 Lobe 的工具页,再回到本文按步骤操作。

需要先说明一点:Lobe 的能力边界由它当前支持的模型类型决定。图像分类之外,对象检测(在图中框出具体物体)和表格数据分类在素材所述的公开预览阶段属于后续规划,不在本文的操作范围内。下面讲的是图像分类这一条完整链路。

准备工作

系统与安装包

Lobe 提供 Windows 与 macOS 两个桌面版本,从官网首页或页面右上角的下载入口获取安装包即可。安装包体积不小,素材记录的数字是 378MB,下载与安装都需要留出几分钟。安装完成后没有需要配置的选项,勾选运行 Lobe、点击完成就能直接进入主界面。

加入 Beta 需要填写的信息

下载前需要填写姓名、邮箱地址和国家/地区等信息以加入 Lobe Beta。这些信息不做真实性校验,但建议按实际情况填写,避免后续沟通出现问题。

数据与隐私

Lobe 可以离线工作,导入的图片留在本机,不会上传到云端。这一点对处理私人照片或敏感素材的场景比较关键:训练数据不出本地,模型训练也在本地完成。

素材准备

开始之前先想清楚要区分哪几类。至少需要两个标签,每个标签至少五张图片才能触发训练。图片之间最好在背景、光照、拍摄角度、主体位置上有所变化,这样模型才能学到真正有区分度的特征,而不是记住某一张图的构图。素材中给出的建议是每个标签 100 到 1000 张图片,具体数量取决于任务的复杂程度。

操作步骤

第一步:新建项目

打开 Lobe,在主界面左下角点击新建项目按钮,然后在左上角为项目命名。项目名只用于你自己区分不同实验,取一个能看出用途的名字即可,例如按识别对象命名。

第二步:导入图片

点击右上角的导入按钮,会出现三种来源:从本机选择图片、通过摄像头拍摄、导入已经按文件夹结构整理好的数据集。第一次做模型,建议用最简单的第一种。

从硬盘中选中同一主题的至少五张图片。可以逐张点选,也可以按住 Ctrl(Windows)或 Cmd(macOS)多选。选完后图片会进入当前项目,等待打标签。

第三步:给图片打标签

为第一张图片输入一个有描述性的标签,例如识别狐狸就写“fox”。Lobe 会记住这个标签,后续同一批图片可以直接套用,不必重复输入。如果某张图标签写错了,右键点击该图片即可修改标签或删除图片。

完成第一组之后,再导入另一组图片——应当是与第一组不同但相关的主题。素材中的做法是:第一组用邻居家的狐狸照片,第二组用自家狗的照片,让模型学会区分两者。同样先给第一张图打标签,再把标签应用到这一组的其余图片。

可以继续添加更多组,但构建一个可用模型最少只需要两组。

第四步:等待自动训练

当至少有两个标签、且每个标签至少五张图片时,Lobe 会自动开始训练。训练完成时会有一声提示音。此时点击左侧栏的训练选项即可查看结果。

把鼠标悬停在某张图片上,会显示预测结论,例如“预测正确,你的 Lobe 正确判断这张图是 [标签名]”。这一步相当于用训练数据回看模型表现,能快速发现明显问题。

第五步:用新图片验证

训练集上的表现好不代表模型可用,需要拿没参与训练的图片再测一次。点击左侧的播放(Play)区域,把图片拖进窗口,或点击导入选择文件。Lobe 会给出它认为的标签。

判断结果是否正确,然后给出反馈:预测对了点绿色对勾按钮,错了点红色按钮。这些反馈会进入后续训练,帮助模型适应同一主题的不同变化。持续补充图片、持续反馈,模型的判断会逐步稳定。

第六步:定位并修正错误预测

如果模型反复判断错误,可以按下面的方法排查和优化。

  • 找出最容易混淆的图片。进入训练区域,点击右上角的查看按钮,选择“错误优先”(Incorrect First)。列表会把模型最常判断错的图片排在前面。针对这些图片补充更多同类变体,并标注正确或错误,后续预测会更准。
  • 加一个“None”占位标签。Lobe 永远会在你定义的标签里选一个,即使导入的图片与这些标签毫无关系。也就是说,拿一张风景照去问一个只认识“狐狸”和“狗”的模型,它也会硬选一个。解决办法是准备一些与目标类别无关的图片,打上“None”标签,让模型有一个“都不属于”的出口。
  • 强制更充分地训练。数据集较大、错误预测较多时,可以点击左上角的三横线菜单按钮,选择“优化模型”(Optimize Model),再点击优化。这会让 Lobe 用更彻底的方式重新训练当前模型。

第七步:导出模型

训练满意后就可以把模型拿出来用了。点击左上角菜单按钮,选择导出,然后挑选目标格式:

导出格式适用场景
TensorFlow LiteAndroid 应用与物联网设备
Core MLiOS、iPad 与 macOS 应用
TensorFlow 1.15 SavedModel用 Python 编写的应用

保存模型文件或代码之前,界面会提供一次优化模型的机会,按需选择即可。除了导出文件,Lobe 还提供自己的 API,用于在 Python 和 .NET 中运行导出的模型。如果这些名词看起来超出当前水平,也不必担心——项目会自动保存,随时可以回来继续。

一个完整示例

下面把上面的步骤串成一个最小可跑通的例子,目标是区分“狐狸”和“狗”两类图片。

  1. 安装并启动 Lobe,在主界面左下角新建项目,命名为“fox-vs-dog”。
  2. 点击右上角导入,从本机选择五张以上狐狸照片,尽量覆盖不同背景、光线和姿态。
  3. 给第一张图输入标签“fox”,其余狐狸图片套用同一标签。
  4. 再次点击导入,选择五张以上狗的照片,第一张打标签“dog”,其余套用。
  5. 等待自动训练完成并听到提示音,点击左侧训练查看结果,逐张确认预测是否正确。
  6. 点击左侧播放,拖入一张没参与训练的狐狸照片和一张狗的照片,分别用绿色对勾或红色按钮给出反馈。
  7. 如果发现某类图片频繁判错,进入训练区域,点右上角查看并选择“错误优先”,针对排在前面的图片补充变体。
  8. 准备几张与狐狸、狗都无关的图片,打上“None”标签,避免模型对无关图片强行归类。
  9. 点击左上角菜单,选择导出。若目标是 Android 应用,选 TensorFlow Lite;若是 iOS 或 macOS 应用,选 Core ML;若是 Python 程序,选 TensorFlow 1.15 SavedModel。
  10. 在导出前的优化提示处按需选择,然后保存文件。

这个例子只用了几十张图片,足以跑通流程并观察模型行为,但不足以支撑生产环境。真实任务应按素材建议把每个标签的图片数量提升到 100 至 1000 张的量级,并保证类别之间的视觉差异足够明显。

注意事项

  • 只支持图像分类。当前公开预览阶段的能力是给整张图分配一个标签。对象检测与表格数据分类属于规划中的功能,不要按这两类任务的预期去准备数据。
  • 模型总会给出一个答案。这是使用中最容易踩的坑。没有“None”占位标签时,任何输入都会被归入已有类别,导致误判。凡是实际使用中可能遇到无关图片的场景,都应补上占位标签。
  • 训练是自动触发的。达到两个标签、每个标签五张图片的门槛后,Lobe 会自行开始训练,不需要手动点开始。听到提示音即表示本轮完成。
  • 数据留在本地。应用可离线运行,导入的图片不会被上传。反过来说,换一台机器就无法直接沿用原来的本地数据,需要重新导入。
  • 导出格式要与目标平台匹配。TensorFlow Lite 面向 Android 与物联网,Core ML 面向 Apple 平台,SavedModel 面向 Python 应用。选错格式会导致后续集成困难。
  • 项目会自动保存。中途关闭不会丢失进度,可以分多次补充图片、反复训练。
  • 版本、体积、功能范围等信息可能变化。安装包大小、可用导出格式、支持的任务类型均以官网当前信息为准。