K210,yolo,face_mask口罩检测模型训练及其在K210,kd233上部署
前段时间考研,再加上工作,时间很紧,一直没有更新博客,这几天在搞k210的目标检测模型,做个记录,遇到问题可以添加qq522414928或添加微信13473465975,共同学习
首先附上github地址,本人自己改的,绝对好用,只要有数据,就能跑通https://github.com/LiuXinyu12378/yolo-k210-face-mask
也是想在考研复试的时候可以拿出来给导师看看,证明自己会一些算法和软硬件的东西,让导师更认可自己,好了,下面简单介绍一下过程。
这个模型大概看了看,就是mobilenet+yolo2的检测头,实际就是yolo2的效果
1.首先,就是要准备数据,思来想去,口罩的检测可能更有实际意义,所以就找了口罩的数据,下面分享给大家。可以使用自己的数据集或自己标注一些自己想做得场景,标注工具也在工程里了。
链接:https://pan.baidu.com/s/1mzcFeHboRKcEPfLJNGJ5yA
提取码:9213
2.训练模型,为了达到更好的效果,首先用kmeans聚类,获取图像对应的anchors,效果还可以,然后修改configs.json文件,这里模型输入的大小是224*224的,其实320*240的会更好,修改anchors和训练路径,然后python trian.py训练。训练好后模型会保存在save文件夹下tflite文件。
这里说下为什么模型320*240更好,这是由板子上的摄像头和显示屏决定的,因为k210的c语言没办法实现resize操作,这对它来说太难了,即便写了底层的函数也会运行很慢,所以模型要适配板子,模型的输入要小于等于320*240,这个模型的输入是224*224的,所以屏幕的检测输出并没有沾满,只用了左上角224*224的显示大小。
3.模型转换,模型量化,使用工程目录下得ncc_0.1_win,解压后,把tflite转换成Kmodel,原来训练好的tflite模型大小为20多M,转换完只有1.81M,说明量化很充分,模型在板子上跑起来也很轻快。
ncc_0.1_win\ncc test.tflite test.kmodel -i tflite -o k210model --dataset train_img
4.使用官方的Kendryte IDE,编译模型。没有Kendryte IDE的可以百度自行下载,打开kendryte_kpu-standalone_3工程目录
改这个工程的时候遇到很多坑,这个代码官方没给任何说明,经过大量的尝试结合算法经验,终于把它给改好了。
5.烧录编译好的二进制文件到开发板KD233
6.烧写模型文件kmodle到flask
最终效果还不错,各种口罩图片基本全能识别,上图,照的是本人(从来没怀疑过自己)
上图2,感谢观看
K210,yolo,face_mask口罩检测模型训练及其在K210,kd233上部署的更多相关文章
- 如何使用 Yolov4 训练人脸口罩检测模型
前言 疫情当下,出入医院等公共场所都被要求佩戴口罩.这篇博客将会介绍如何使用 Yolov4,训练一个人脸口罩检测模型(使用 Yolov4 的原因是目前只复现到了 v4 ),代码地址为 https:// ...
- ssd物体检测模型训练和测试总结
参考网址:github:https://github.com/naisy/realtime_object_detection 2018.10.16ssd物体检测总结:切记粗略地看一遍备注就开始训练模型 ...
- DPM检测模型 训练自己的数据集 读取接口修改
(转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) 本文主要是针对上一篇基于D ...
- YOLO V4的模型训练
1.YOLO V4模型训练的基本思路 所有机器学习涉及模型训练,一般都有训练集.验证集.测试集,因此需要准备数据集.有了数据集,再调用训练的算法,获取训练的结果.v3.v4模型训练方法相同. 2.YO ...
- iGear 用了这个小魔法,模型训练速度提升 300%
一个高精度AI模型离不开大量的优质数据集,这些数据集往往由标注结果文件和海量的图片组成.在数据量比较大的情况下,模型训练周期也会相应加长.那么有什么加快训练速度的好方法呢? 壕气的老板第一时间想到的通 ...
- [1] YOLO 图像检测 及训练
YOLO(You only look once)是流行的目标检测模型之一, 原版 Darknet 使用纯 C 编写,不需要安装额外的依赖包,直接编译即可. CPU环境搭建 (ubuntu 18.04) ...
- 小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练
上期给大家介绍了YOLO模型的检测系统和具体实现,YOLO是如何进行目标定位和目标分类的,这期主要给大家介绍YOLO是如何进行网络训练的,话不多说,马上开始! 前言: 输入图片首先被分成S*S个网格c ...
- YOLO、SSD、FPN、Mask-RCNN检测模型对比
YOLO.SSD.FPN.Mask-RCNN检测模型对比 一.YOLO(you only look once) YOLO 属于回归系列的目标检测方法,与滑窗和后续区域划分的检测方法不同,他把检测任务当 ...
- 第三十二节,使用谷歌Object Detection API进行目标检测、训练新的模型(使用VOC 2012数据集)
前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的 ...
随机推荐
- OSGi系列 - 使用Eclipse查看Bundle源码
使用Eclipse开发OSGi Bundle时,会发现有很多现成的Bundle可以用.但如何使用这些Bundle呢?除了上网搜索查资料外,阅读这些Bundle的源码也是一个很好的方法. 本文以org. ...
- 莫烦python教程学习笔记——利用交叉验证计算模型得分、选择模型参数
# View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: ht ...
- IT服务生命周期
一.概述 IT服务生命周期由规划设计(Pianning&Design).部署实施(Implementing).服务运营(Opera,tion).持续改进(Improvemenit)和监督管理( ...
- thinkPHP跨数据库访问/数据库切换
在项目的开发中会遇到访问多个数据库的问题这里讲的是:访问同一地址下的多个数据库 第一步:在配置文件中配置你要连接的其他的数据库 例如:我现在默认的数据库是back 现在我要设置第二个数据库travel ...
- GDB调试增强篇
GDB中应该知道的几个调试方法 七.八年前写过一篇<用GDB调试程序>, 于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题.这 ...
- tcache poisoning(爆破stout获得libc并且熟练使用了realloc)
这道题目帮助我学习了realloc这个函数,是一道十分经典的题目,我会尽量的把exp的每一步都说清楚 例行检查我就不放了 讲程序放入ida中 比较简单的流程,没有show功能,所有我们需要通过爆破st ...
- CTFHub[PWN技能树]——栈溢出
文章目录 一.ret2text 二.ret2shellcode 一.ret2text 例行检查,64位程序,没有开启任何保护 本地运行一下情况,看看大概的情况 64位ida载入,检索程序里的字符串发现 ...
- [BUUCTF]PWN——[ZJCTF 2019]EasyHeap
[ZJCTF 2019]EasyHeap 附件 步骤: 例行检查,64位程序 试运行一下看看程序大概执行的情况,经典的堆块的菜单 64位ida载入,首先检索字符串,发现了读出flag的函数 看一下每个 ...
- [BUUCTF]REVERSE——[MRCTF2020]Xor
[MRCTF2020]Xor 附件 步骤: 例行检查,32位程序,无壳 32位ida载入,首先检索程序里的字符串,根据字符串的提示,跳转到程序的关键函数 根据flag,跳转到sub_401090函数 ...
- 自动化测试环境搭建之Python3.6+selenium44+firefox
推荐使用: Python3.6+selenium2.53.6+Firefox46以下 +[Chrome任意版本+对应版本webdriver] ----------------------------- ...