跳到主要内容

在线模型训练

01科技(01Studio)在线训练模型网站适用于用户需要自己训练视觉模型场景,无需代码,拖放图片构建数据集,简单几步,即可生成强大的YOLO11视觉模型。训练完成后自动生成模型文件和python脚本,可直接在开发板上运行。

在线训练网站链接:https://ai.01studio.cc

支持平台:01Studio CanMV K230 / CanMV K230 mini (请使用v1.3以上版本镜像

支持视觉识别类型:图像分类、图像检测

注册登录

打开 https://ai.01studio.cc ,点击右上角登录按钮

train

可以通过手动注册或微信、Github关联账号一键登录(当前关联登录仍然需要邮件或手机号码验证。)

train

登录后点击右上角 【头像--个人主页】 可查看或修改自己的个人信息

train

train

训练分类模型

视觉分类是对图片进行识别分类,输出这张图片大概率是什么物品。(无位置矩形框)

这里准备了一个简单的数据集给大家测试使用,点击下载: 示例数据集(分类) ,里面包含了苹果和鼠标各数十张图片。

train

创建数据集

点击 模型训练--数据集--创建数据集 :

train

进入后输入数据集名称(自定义),然后选择分类,点击创建。

train

可以看到新建了一条数据集。

train

  • 数据集ID:所有数据集唯一编号;
  • 数据集名称:自己定义的数据集名称;
  • 类型:视觉识别类型,这里是分类;
  • 创建时间:数据集的创建时间;
  • 最后更新时间:数据集最后编辑时间;
  • 操作:包含编辑和删除按钮(删除目前不可恢复)。

点击右边操作的编辑按钮,首次进入会提示新建一个标签,这里我们训练苹果和鼠标分类识别,先创建苹果标签 apple (标签尽量使用英文,避免某些开发板无中文库无法使用)

train

创建后左边列表栏出现了apple标签,点击右边按钮可以编辑修改。

train

点击【上传图片到训练集】

train

点击【添加图片】

train

将前面下载的示例数据集中的apple图片的选中:

train

点击【上传到训练集】

train

同样方法再上传几张图片到验证集。训练集用于训练,验证集用于每轮训练考核。验证集数量一般为数据集数量的10%~30%即可。

train

点击【创建标签】,然后新建一个鼠标(mouse)标签。

选中mouse标签:

train

按前面的方法将示例数据集的鼠标图片上传到训练集和数据集。

train

开始训练

点击数据集上方 【创建训练任务】:

train

配置训练参数:参数一般情况下按默认配置即可。

train

  • 目标板:这里选中CanMV K230 (CanMV K230和CanMV K230 mini都选这个);
  • nncase版本:不同镜像可能有所区别,具体看镜像文件名;
  • 模型类型:会根据数据集自动选择;
  • 模型规模:开发板一般选n或s,其它运行速度可能很慢。 train
  • 训练轮次:推荐100-200轮即可,大部分场景随着轮次增加不会有太多改善,当前最大允许500轮;
  • 模型尺寸:数值变大精度会提升,但运行时间长。一般推荐320。
  • 批量大小(batch):默认16,如果图片数量较多(一千张)可以选中32以提升训练速度;
  • 最大学习率(lr0):默认0.01,一般情况下无需调整;

点击【提交】后自动跳转到训练界面:

train

左边是项目信息,右上方是训练日志,右下方是训练结果图表。以下图为例,模型在第5次后识别准确率达100%,效果非常好。

train

点击左侧导航栏--训练记录 即可看到所有训练项目信息。点击右边【详情】按钮进入:

train

训练完成后可以点击【下载】按钮下载模型和代码文件。

train

部署运行

模型文件下载后解压。可以看到有4个文件:

train

分别是:

  • yolo11n_cls_320.kmodel :适用于CanMV K230/CanMV K230 mini的模型文件
  • val.jpg :用于测试图片demo的图片
  • demo-picture.py :识别图片demo,会用到val.jpg
  • demo-camera.py : 使用摄像头识别

yolo11n_cls_320.kmodelval.jpg拖动到CanMV K230 sdcart根目录:

train

基于图片

在CanMV K230 IDE打开 demo-picture.py 代码,运行即可在缓冲区看到识别结果。

train

基于摄像头

在CanMV K230 IDE打开 demo-camera.py 代码,即可通过摄像头进行识别。

train

代码中的display参数可以实现不同的显示方式:hdmilcd3_5(3.5寸mipi屏)和lcd2_4(2.4寸mipi屏,通常是CanMV K230 mini)

train

训练检测模型

图像检测是将图片中训练时的物体类型识别出来,并使用方框进行标注。

这里准备了一个简单的数据集给大家测试使用,点击下载: 示例数据集(检测) ,里面包含了苹果和香蕉各数十张图片已经标注好的label.txt文件。

train里面的是训练集,val里面的是验证集。

train

创建数据集

点击 模型训练--数据集--创建数据集 :

train

进入后输入数据集名称(自定义),然后选择检测,点击创建。

train

可以看到新建了一条数据集。

train

  • 数据集ID:所有数据集唯一编号;
  • 数据集名称:自己定义的数据集名称;
  • 类型:视觉识别类型,这里是分类;
  • 创建时间:数据集的创建时间;
  • 最后更新时间:数据集最后编辑时间;
  • 操作:包含编辑和删除按钮(删除目前不可恢复)。

点击【编辑】按钮进入编辑数据集,然后点击上传图片:

train

先上传到训练集:

train

将示例数据集train文件夹里全部图片添加上传。

train

train

在右边创建一个标签,名称为apple,颜色自定义一下。

train

train

创建完成如下图:

train

然后再创建一个香蕉的标签 banana 。(提示:创建完点击右边小按钮可以重新编辑)

train

图片标注

接下来我们就可以标注图片,从第一张图片开始:

train

先选中标签栏的苹果,然后使用鼠标框出苹果。完成后如下图,左边有个方框,里面有个数字1,右边下方为标注框信息。

train

同样方法再标注香蕉。

train

最后用同样的方法将所有图片的苹果和香蕉标注出来。

train


训练集标注完成后将val文件夹图片上传到验证集。训练集用于训练,验证集用于每轮训练考核。验证集数量一般为数据集数量的10%~30%即可。

train

train

然后使用与前面训练集同样方法进行标注。

下面这个位置可以筛选训练集、验证集 以及是否已经标准的图片。

train

至此检测数据集标注完成。

提示

平台目前支持上传和导出标注文件,当前仅支持YOLO TXT 格式,每个TXT文件对应一张图片的所有标注目标,每一行代表一个目标,每行格式为: <类别索引> <目标中心点x> <目标中心点y> <目标宽度w> <目标高度h>

示例检测数据集里面带一个和图片同名的txt文件是标注信息文件。可以直接上传导入。

train

点击上传标注文件:

train

导入后如标签名称不一致手动修改即可。

train

开始训练

完成标注后点击数据集上方 【创建训练任务】:

train

配置训练参数:参数一般情况下按默认配置即可。

train

  • 目标板:这里选中CanMV K230 (CanMV K230和CanMV K230 mini都选这2个);
  • 模型类型:会根据数据集自动选择;
  • 模型规模:开发板一般选n或s,其它可能跑不起。 train
  • 训练轮次:推荐100-200轮即可,大部分场景随着轮次增加不会有太多改善,当前最大允许500轮;
  • 模型尺寸:数值变大精度会提升,但运行时间长。一般推荐224或320。
  • 批量大小(batch):默认16,如果图片数量较多(一千张)可以选中32以提升训练速度;
  • 最大学习率(lr0):默认0.01,一般情况下无需调整;

点击【提交】后自动跳转到训练界面:

train

左边是项目信息,右上方是训练日志,右下方是训练结果图表。以下图为例,模型在100轮训练后最终mAP50值为0.94(>0.8),mAP50-mAP50-95值为0.65(>0.5),效果非常好。

train

点击左侧导航栏--训练记录 即可看到所有训练项目信息。点击右边【详情】按钮进入:

train

训练完成后可以点击【下载】按钮下载模型和代码文件。

train

部署运行

模型文件下载后解压。可以看到有4个文件:

train

分别是:

  • yolo11n_det_320.kmodel :适用于CanMV K230/CanMV K230 mini的模型文件
  • val.jpg :用于测试图片demo的图片
  • demo-picture.py :识别图片demo,会用到val.jpg
  • demo-camera.py : 使用摄像头识别

基于图片

在CanMV K230 IDE打开 demo-picture.py 代码,运行即可在缓冲区看到识别结果。

train

基于摄像头

在CanMV K230 IDE打开 demo-camera.py 代码,即可通过摄像头进行识别。

train

代码中的display参数可以实现不同的显示方式:hdmilcd3_5(3.5寸mipi屏)和lcd2_4(2.4寸mipi屏,通常是CanMV K230 mini)

train