前段时间考研,再加上工作,时间很紧,一直没有更新博客,这几天在搞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上部署的更多相关文章

  1. 如何使用 Yolov4 训练人脸口罩检测模型

    前言 疫情当下,出入医院等公共场所都被要求佩戴口罩.这篇博客将会介绍如何使用 Yolov4,训练一个人脸口罩检测模型(使用 Yolov4 的原因是目前只复现到了 v4 ),代码地址为 https:// ...

  2. ssd物体检测模型训练和测试总结

    参考网址:github:https://github.com/naisy/realtime_object_detection 2018.10.16ssd物体检测总结:切记粗略地看一遍备注就开始训练模型 ...

  3. DPM检测模型 训练自己的数据集 读取接口修改

    (转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) 本文主要是针对上一篇基于D ...

  4. YOLO V4的模型训练

    1.YOLO V4模型训练的基本思路 所有机器学习涉及模型训练,一般都有训练集.验证集.测试集,因此需要准备数据集.有了数据集,再调用训练的算法,获取训练的结果.v3.v4模型训练方法相同. 2.YO ...

  5. iGear 用了这个小魔法,模型训练速度提升 300%

    一个高精度AI模型离不开大量的优质数据集,这些数据集往往由标注结果文件和海量的图片组成.在数据量比较大的情况下,模型训练周期也会相应加长.那么有什么加快训练速度的好方法呢? 壕气的老板第一时间想到的通 ...

  6. [1] YOLO 图像检测 及训练

    YOLO(You only look once)是流行的目标检测模型之一, 原版 Darknet 使用纯 C 编写,不需要安装额外的依赖包,直接编译即可. CPU环境搭建 (ubuntu 18.04) ...

  7. 小白也能弄得懂的目标检测YOLO系列之YOLOv1网络训练

    上期给大家介绍了YOLO模型的检测系统和具体实现,YOLO是如何进行目标定位和目标分类的,这期主要给大家介绍YOLO是如何进行网络训练的,话不多说,马上开始! 前言: 输入图片首先被分成S*S个网格c ...

  8. YOLO、SSD、FPN、Mask-RCNN检测模型对比

    YOLO.SSD.FPN.Mask-RCNN检测模型对比 一.YOLO(you only look once) YOLO 属于回归系列的目标检测方法,与滑窗和后续区域划分的检测方法不同,他把检测任务当 ...

  9. 第三十二节,使用谷歌Object Detection API进行目标检测、训练新的模型(使用VOC 2012数据集)

    前面已经介绍了几种经典的目标检测算法,光学习理论不实践的效果并不大,这里我们使用谷歌的开源框架来实现目标检测.至于为什么不去自己实现呢?主要是因为自己实现比较麻烦,而且调参比较麻烦,我们直接利用别人的 ...

随机推荐

  1. SpringMVC(2):JSON

    一,JSON 介绍 JSON (JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效 ...

  2. redis的总结笔记

    # Redis    1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库        1.1.什么是NOSQL            NoSQL(NoSQL = Not Only ...

  3. SVM中的软间隔最大化与硬间隔最大化

    参考文献:https://blog.csdn.net/Dominic_S/article/details/83002153 1.硬间隔最大化 对于以上的KKT条件可以看出,对于任意的训练样本总有ai= ...

  4. 联盛德 HLK-W806 (七): 兼容开发板 LuatOS Air103

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  5. Jenkins构建通知

    目录 一.简介 二.推送到gitlab 三.邮件通知 自带配置 Email Extension 四.钉钉通知 五.脚本钉钉通知 六.HTTP请求通知 一.简介 类似于监控报警,jenkins在配置持续 ...

  6. shell脚本 awk实现实时监控网卡流量

    一.简介 通过第3方工具获得网卡流量,这个大家一定很清楚.其实通过脚本一样可以实现效果.下面是我个人工作中整理的数据.以下是shell脚本统计网卡流量. 现原理: cat /proc/net/dev ...

  7. [BUUCTF]REVERSE——[V&N2020 公开赛]strangeCpp

    [V&N2020 公开赛]strangeCpp 附加 步骤 查壳,无壳,64位程序 64位ida载入,没有main函数,根据程序里的字符串,去查看函数 __int64 __fastcall s ...

  8. 使用Azure Functions & .NET Core快速构建Serverless应用

    Code Repo: https://github.com/Asinta/ServerlessApp_NetconfChina2020 Prerequisites Visual Studio Code ...

  9. MySQL 分区表,为什么分区键必须是主键的一部分?

    随着业务的不断发展,数据库中的数据会越来越多,相应地,单表的数据量也会越到越大,大到一个临界值,单表的查询性能就会下降. 这个临界值,并不能一概而论,它与硬件能力.具体业务有关. 虽然在很多 MySQ ...

  10. idea删除同一个模块后新建模块显示被占用

    当我们某个模块因为什么原因需要删除重建的时候 ,输入完模块名称并不能创建出来,这是因为模块已经被注册 解决办法: 1.右键点击项目名称---选择Load/Unload Modules 2.将已经删除的 ...