前段时间考研,再加上工作,时间很紧,一直没有更新博客,这几天在搞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. mybatis错误 Mapped Statements collection does not contain value for

    java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for 在unit里测试 ...

  2. Jmeter初级入门教程

    <jmeter:菜鸟入门到进阶>系列 创建一个简单的自动化脚本 创建线程组[Thread Group]: 右击[TestPlan]选择[Add]--[Thread(Users)]--[Th ...

  3. this指针的用法和基本分析

    当在不同的对象中采用this指针,就已经是在给它赋值了.对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址. this 指针是由系统自动提供的指向对象的特殊指 ...

  4. Java线程安全性-原子性工具对比

    synchronized 不可中断锁,适合竞争不激烈的场景,可读性好,竞争激烈时性能下降很快 Lock 可中断锁,多样化同步,竞争激烈时能维持常态 Atomic 竞争激烈时能维持常态,比Lock性能还 ...

  5. 创建线程的第二种方式------实现Runnable接口的方式

    package cn.itcast.demo16.Demo07.Runnable;/** * @author newcityman * @date 2019/7/22 - 23:17 */public ...

  6. 使用OPC与PLC通讯 一

    总结自己在opc与自控开发的经验.首先介绍OPC DA模式下的OPC各种操作. 在使用opc时需要引用到 OPCDAAuto.dll 这个类库. 在项目引用后需要注册这个类库,否则程序跑起来会报错,& ...

  7. pyecharts简介

    一.概况 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可. 而 Python 是一门富有表达力的语言,很适合用于数据处理.当数据分析遇上数据可 ...

  8. JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器,解决 ios 无法判断是否为qq浏览器环境的问题 !!!

    原理 通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型 在Android上 QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个[空白符+QQ] ...

  9. [BUUCTF]REVERSE——[FlareOn4]login

    [FlareOn4]login 附件 步骤: 是个网页,直接打开,查看网页源码 百度了几个函数 charCodeAt(0)是返回当前字符的Unicode 编码 String.fromCharCode返 ...

  10. C++11 新特性:enable_shared_from_this

    enable_shared_from_this是一个模板类,定义于头文件<memory>,其原型为:template< class T > class enable_share ...