k210部署自行训练的口罩识别模型

这篇具有很好参考价值的文章主要介绍了k210部署自行训练的口罩识别模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

因为培训需要,开坑K210,前后忙活了3天终于把自行训练的口罩模型部署成功了,实测还行,分享一下经(ni)验(keng):

本人学过一段时间python,见过别人玩开源硬件(没动过手),接触过一点人工智能项目的理论知识(观课议课),先自己体验一下半个项目的过程。

1.资源:

1.1.口罩训练素材:mxyoloV3训练库

1.2.训练方式:mxyoloV3(百度下载)、60组、alpha=0.75、增强模式、16个/批,共580个图片全部标注

1.3.训练过程:因为耗内存才不到2个G,而且内存都是超配,基本忽略内存的影响

1.3.1. 8700kCPU(黑果虚拟机Win10自动分配,纯CPU算力),一个批次大约需要135秒,发现太费时间,就算了15组,结果识别率超差,又花了1个多小时算了30组,能上来一些,仍不是很理想;

1.3.2. 12500cpu,物理win10,一个批次125秒,仅仅时间减少,30组效果差不多,参考袁云强老师的视频,基本很确定准不准基本和批次数量以及样本数量挂钩

1.3.3. 2700+GTX960 ,2012年的老U和2014年的老显卡,渣一样的设备,纯粹是因为想起来还有一块GTX960躺在盒子里,试试传说中的GPU运算。装备CUDA完全体以后,一个批次大概30S。。。。。。CPU占用率基本在25-30%。从结果来看心里一万匹草泥马奔腾而过:这要是去弄一块二手3060Ti不得起飞?

1.4.K210板卡   01studio k210、亚博 k210 ,芯片一样,造型差的不少,后来才知道 01studio 是maxipy系列,亚博是canmv系列,各自有IDE,实测相互的兼容性并不好。

线材都是齐的(吐槽01studio的usb线是microuse,亚博的是usebtypec)、32GTF卡、读卡器

2.连接01studio k210开发板并跑个demo

串口设备不陌生,这块没什么难度,就是一开始不小心把端口号弄错了,半天没写进去程序。

k210部署自行训练的口罩识别模型

这里吐槽一下mixly,当然也可能完全是我的问题。 mixly就不介绍了,优点是门槛进一步拉低,都是图形化拖拖拉拉就好,想着大家都是K210芯片,应该差不太多,实战发现mixly会出现无法上传代码到开发板的情况??( could not enter raw repl )??

本着想不通查不到就换个思路的办法,仔细看看01studio的配套文件,发现它推荐小白使用MaixPy IDE做开发,没啥问题,上。然后没遇到任何困难就把demo运行成功了????大概是MaixPy有个主动连接和调试的按钮,并且针对开发板有较好的连接适配。

3.部署自行训练的口罩模型

在www.yuque.com/mxpi 找到上面那个视频说到的mixly部署代码先试试,结果当然是没成功,估计跟他视频里用到的开发板不同。

so,查了一下01studio的配套代码,也有一个类似的模型检测代码。


import sensor,image,lcd,time
import KPU as kpu

#摄像头初始化
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.set_vflip(1)  #摄像头后置方式

lcd.init() #LCD初始化

clock = time.clock()

#模型分类,按照20class顺序
classes = ['Un_Masks', 'Masks']

#1、从Flash加载模型。将模型烧录到开发板Flash。烧录方法参考pdf教程。
#task = kpu.load(0x500000)

#2、从SD加载模型卡上。将kmodel文件通过读卡器拷贝到SD卡。
task = kpu.load("/sd/faceMask.kmodel") #模型SD卡上

#网络参数
anchor = (0.9325, 1.0987, 1.7635, 2.3976, 2.6134, 3.4486, 3.3165, 4.5023, 4.1806, 5.5381)

#初始化yolo2网络,识别可信概率为0.7(70%)
a = kpu.init_yolo2(task, 0.7, 0.3, 5, anchor)

sensor.set_windowing((224, 224))

while(True):

    clock.tick()

    img = sensor.snapshot()
    #img = img.resize(224, 224)
    code = kpu.run_yolo2(task, img) #运行yolo2网络


    if code:
        for i in code:
            a=img.draw_rectangle(i.rect())
            a = lcd.display(img)

            lcd.draw_string(i.x(), i.y(), classes[i.classid()], lcd.RED, lcd.WHITE)
            lcd.draw_string(i.x(), i.y()+12, '%f1.3'%i.value(), lcd.RED, lcd.WHITE)
    else:
        a = lcd.display(img)

    print(clock.fps())#打印FPS

classes、anchor都是比较熟悉的东西,按照流程很快就通过MaxiPyIDE部署成功了(吐槽一下,mac版的莫名其妙的有“语法错误”提示,放到虚拟机的win10上跑没有任何问题,这是友好的劝退?)

参考mxyolov3训练过程中的anchor、classes参数修改以上代码,并复制模型文件到sd卡,运行,然后,报错:ValueError: [MAIXPY]kpu: load error:2006, ERR. NO_ MEM: memory not enough

没道理啊,换自己的模型就不行了?(样例的模型大小1.4M,我的模型1.9M)

找到这篇文章 :

Micropython解释器MaixPy 常见问题-电子发烧友网 (elecfans.com)

目前最合理的情况和处置办法就是更换体积更小的固件(maixpy_v0.6.2_84_g8fcd84a58_minimum_with_ide_support.bin    在minimum上增加了ide支持),于是把这个固件烧上去,运行,然后:kpu:check img format err!

还是上面那的文档,原因是摄像头输入的尺寸和模型的尺寸不同。。。以后再解决训练的问题了,先把输入改了,增加一行代码: sensor.set_windowing((224, 224))

至此,程序正常运行,算是把第一个自己训练的模型在开发板跑起来了。

4.研究亚博k210

Canmv的,风格跟01studio完全不同,IDE也是建议另外一个。

来回研究了半个小时,都没有连上开发板!!!

然后又回去看文档,发现这玩意支持microPython不错,但出厂只支持c。。。。。。虽然CanMv IDE可以刷固件,但是要先连上才行。so,kflash_gu_v1.6.5_2 把支持microPython估计刷上,然后能接入了。

这个板子的连接时间差不多要4-5秒,并且有时不成功,01studio连接也就1秒左右,不存在连接丢失的,原因暂不清楚,周一TB找技术客服问问。

刷固件以后,就可以把亚博k210自带的口罩识别放进去了,实测识别率还不错。

5.总结

5.1.IDE问题,mixly的兼容性可能会不太好,兼容有问题的时候考虑下厂家推荐的ide

5.2.当模型过大(2M或以上)时,有可能内存不足,去刷一个minimum的固件,应该能解决问题

5.3.训练模型的过程中的锚点参数,最后可能是需要放进程序的

5.4.mac上会有些莫名其妙的问题,到win上无事发生

micropython新东西并不多,其实mixly这种没啥必要

 最后上个图,左边是亚博,右边是01studio

k210部署自行训练的口罩识别模型

 文章来源地址https://www.toymoban.com/news/detail-407871.html

到了这里,关于k210部署自行训练的口罩识别模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K210学习篇(八)在MaixHub训练模型

    本文着重于如何使用K210拍摄图片,并将图片上传到MaixHub平台进行模型训练。补充一下一些经验心得,比如一些训练参数的设置。 在我们训练模型之前,我们需要获取一些数据集,其实也就是需要识别的物体图片。这里记得我们在获取数据集的时候,尽量使用手里的k210去进行

    2024年02月17日
    浏览(44)
  • K210学习笔记——MaixHub在线训练模型(新版)

      最近sipeed推出了新版的maixhub在线训练平台,因为前端时间比较忙没有时间来体验新版的功能,最近闲下来后赶忙来体验一下。新版maixhub对浏览器有要求的,比如不支持qq浏览器,推荐使用Chrome、Microsoft Edge、Firefox、Safari等浏览器。点击这里跳转新版maixhub。   新版mai

    2023年04月08日
    浏览(33)
  • K210学习笔记(十二)——MaixHub本地训练模型(Windows)

    MaixHub虽然可以在线训练模型,但是数据集限制大小为20M以下,而且大多数时候都需要排队才能训练模型,这可能就不能满足我们对模型的需求,所以我在Windows系统下搭建环境,本地训练模型。对于本地训练的纯小白来说,虽然MaixHub本地训练不需要虚拟机,但是还是要严格按

    2023年04月26日
    浏览(46)
  • AI嵌入式K210项目(24)-口罩检测

    本节课主要学习口罩检测功能,将摄像头采集的画面分析,比对模型,分析是否佩戴口罩,打印出佩戴口罩的状态 请先将模型文件导入内存卡上,再将内存卡插入到K210开发板的内存卡插槽上,具体操作步骤请参考: AI嵌入式K210项目(21)-AI模型文件导入至TF卡 本实验使用/

    2024年02月20日
    浏览(60)
  • 神经网络:训练模型+转化为k210上跑的kmodel

    目录 前言 第一种 第二种 第三种 第四种 结语

    2024年02月16日
    浏览(36)
  • K210项目实战(口罩检测系统和垃圾分类系统)

    在前面我学习了使用K210训练模型做目标检测,然后也学会了使用K210做串口通信,学完之后我就把K210丢在箱子里吃灰了,因为学校疫情原因,两年一届的电赛很遗憾不能参加了,然后我就想拿他做个口罩检测系统(检测到没戴口罩可以语言提醒),这个真的好简单,哈哈哈,接

    2023年04月14日
    浏览(32)
  • Maix Bit(K210)保姆级入门上手教程---自训练模型之云端训练

    Maix Bit(K210)保姆级入门上手教程—环境搭建 Maix Bit(K210)保姆级入门上手教程—外设基本使用 这是K210快速上手系列文章,主要内容是,介绍MaixHub这个线上训练模型的使用,以及如何部署到K210中。 阅读本文的前提:读者对基本的监督式学习有一定的了解,之道学习率、迭

    2024年02月16日
    浏览(80)
  • K210学习笔记(十一)——MaixHub在线训练模型(旧版在线炼丹)

    个人觉得K210与openmv最大的区别就是可以跑模型了,虽然不能跑yolov5得这类大型模型,但是还是可以使用一些yolov2、Mobilenet V1等轻量化模型。 想要训练一个可用得模型,奈何电脑显卡不给力,没关系,我们可以使用Spieed的MaixHub模型在线训练来训练模型。Maixhub 模型训练平台帮

    2024年02月05日
    浏览(66)
  • K210识别应用:基于yolov2模型的数字识别控制舵机

              注:此文章转载于本人的微信公众号:Young L童鞋                                                                           关注我,走进嵌入式江湖  电赛期间,在实验室学长的引领下入手了一块K210,在很多比赛中,K210的作用是用来做视觉部分,当然也可以用到

    2024年02月15日
    浏览(34)
  • Mx-yolov3+Maixpy+ K210进行本地模型训练和目标检测

    我接触K210同样也是因为一次比赛,需要进行目标检测并对垃圾进行分类,在接触到K210之前我一直使用各种YOLO版本检测,并部署到树莓派和nano上,一次偶然的机会,我发现了K210,这里要感谢我的一位学长,是他带着我开始了K210的学习,让我从盲目的命令行指令转到Maxipy上使

    2024年02月15日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包