前言
个人觉得K210与openmv最大的区别就是可以跑模型了,虽然不能跑yolov5得这类大型模型,但是还是可以使用一些yolov2、Mobilenet V1等轻量化模型。
一、MaixHub功能介绍
想要训练一个可用得模型,奈何电脑显卡不给力,没关系,我们可以使用Spieed的MaixHub模型在线训练来训练模型。Maixhub 模型训练平台帮助大家快速训练想要的 AI模型, 不需要任何训练环境搭建和代码运行, 只需要选择训练类型,上传(标注)数据集, Maixhub就会自动进行训练,训练结束后下载即可。
MaixHub目前有两种训练:
1、目标分类
识别图片所属的种类,只是识别出图片的种类,并没有显示识别物体的坐标(没有框出来),比如:
2、目标检测
既能识别出物体,又能将识别到的物体的坐标输出出来(框出来),比如:
二、Maixhub模型训练使用方法
首先要确定自己需要训练那种模型,如果只是要识别出物体,那就先目标分类,如果既要识别出物体类别,还要输出识别到的物体坐标,那就选择目标检测。
确定分类。 包括分类数量, 具体分类。 比如这里以识别红色小球和玩具为例:


所以共两个分类: ball 和 toy, 我们也称之为标签(label),
注意!!! 分类名(标签/label)只能使用英文字符和下划线
确定分辨率:以下为Maixhub目前支持的分辨率,其它分辨率将会训练失败(使用推荐分辨率识别准确率更高):
目标分类: 224x224(推荐)
目标检测: 224x224(推荐), 240x240
确定采集数据集数量:另外也要满足 Maixhub 的要求:
目标分类: 每类图片数量不低于40张,比如采集 200 张
目标检测: 每类图片数量不低于100张, 比如采集200张
上限为2000张
最后要注意上传的zip文件不能超过20MiB
三、图片采集
采集图片有以下几种方式:
1、使用开发板采集到SD卡, 直接采集成需要的分辨率 (推荐)
2、使用现成的图片, 使用预处理工具处理成需要的分辨率, 注意, 处理完后一定要手动检查数据是否符合要求, 不然可能影响训练精准度
3、手机拍照, 然后使用预处理工具处理成需要的分辨率, 注意, 处理完后一定要手动检查数据是否符合要求, 不然可能影响训练精准度
使用开发板进行数据采集
因为之前已经了解了MAIX BIT的拍照原理,所以这里我们主要是用开发板来采集图片。
使用这个脚本来进行采集图片
#根据你的开发板修改摄像头和屏幕配置, 比如lcd.rotation
#准备一张支持 SPI 模式的 SD 卡, 分区为 MBR (msdos), 格式化为 FAT32
#将目录下的boot.py文件拷贝到 SD 卡根目录
#开发板断电, 将SD卡插入开发板
#开发板上电, 程序会自动创建一个目录cap_images_1, 下次上电会创建cap_images_2, 这样就避免了覆盖
#采集一个分类的图片 按开发板上的boot按键,然后松开按键来采集一张图片, 这会将图片保存到cap_images_1/0/0.jpg, 采集的图片的名字会自动增长, 比如0.jpg 1.jpg ...
#长按boot按键切换类别目录 这会创建一个新目录,比如cap_images_1/1/, 后面采集的图片都会被保存到这个新的目录, 比如cap_images_1/1/0.jpg
#开发板断电,取出SD卡插到电脑, 打开文件管理器就可以看到采集的图片了
import sensor, lcd
from Maix import GPIO
from fpioa_manager import fm
from board import board_info
import os, sys
import time
import image
#### image size ####
set_windowing = (224, 224)
#### sensor config ####
sensor.reset(freq=22000000, dual_buff=False)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA) # 320x240
try:
sensor.set_jb_quality(95) # for IDE display quality
except Exception:
pass # no IDE support
if set_windowing:
sensor.set_windowing(set_windowing)
sensor.skip_frames()
#### lcd config ####
lcd.init(type=1, freq=15000000)
lcd.rotation(2)
#### boot key ####
boot_pin = 16 # board_info.BOOT_KEY
fm.register(boot_pin, fm.fpioa.GPIOHS0)
key = GPIO(GPIO.GPIOHS0, GPIO.PULL_UP)
######################################################
#### main ####
def capture_main(key):
def draw_string(img, x, y, text, color, scale, bg

本文详细介绍了如何使用MaixHub进行目标分类和检测模型的在线训练。首先,讲解了MaixHub的功能,接着阐述了模型训练的步骤,包括图片采集、数据标注、打包数据集、上传训练以及下载模型。文章还提供了使用labelimg进行标注的指导,并给出了训练完成后可能出现的问题及解决方案。整个过程简单易懂,适合初学者进行AI模型训练实践。
——MaixHub在线训练模型(旧版在线炼丹)&spm=1001.2101.3001.5002&articleId=124214179&d=1&t=3&u=3bec75dd6aa9400f9b35f7f68aecd5ae)
1万+

被折叠的 条评论
为什么被折叠?



