| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Yolov5 口罩识别 -> 正文阅读 |
|
[人工智能]Yolov5 口罩识别 |
自定义口罩数据集进行目标检测Yolov5 代码地址https://github.com/ultralytics 数据集数据集可以手动标记或者使用公开数据集 一、手动收集标记数据集使用Labelimg软件标记,网上有很多介绍 二、使用公开数据集以口罩数据集为例: 口罩数据集 训练图片只有105张,比较少,仅用作实验,实际做项目时每个类别的图片至少有1500张,并且图片应用场景要多种多样。 下载解压后后改名为MASK,内容如下(可能有区别),要用的只有 train和valid文件夹。 改动源码下载好yolov5源码,打开后在data文件夹下新建mask.yaml,填入以下信息,前三行改为自己MASK文件的绝对路径
数据集中只有mask和no-mask2个类别,修改
会自动下载Yolov5s的预训练模型进行训练 训练结果打开wandb注册账号,登录,按照提示操作 训练过程会在wandb中清楚地显示出来,方便调参。 总的结果 训练结果测试 可以看出虽然训练样本很少,但是训练的结果还是不错的。这主要是因为用了yolov5在coco数据集上预训练的模型,特征比较丰富,而且口罩检测的类别少,只有两类,区分度较大,带不带口罩很容易看出来。 迁移学习为了加快训练速度,可以采用迁移学习,冻结前面的特征层,只训练后面的检测层或者其他自定义的卷积层 data/yolov5s.yaml
yolov5 基本框架是24层,但是yolov5s模型参数较少,对模型进行了缩放,深度变成了三分之一,宽度变成了二分之一。
不用管他,因为yolov5的所有模型都是24层,只不过不同模型的每一层不一样而已。 看到每个模块的名称:
算法在源码中是这样实现的:
如果要冻结0到9层,只需要如下命令:
如果要训练所有特征层,只训练最后的Detect layer,只需要输入:
完整的训练过程应该是:
当样本分类较少,或者样本数量较少时,也可以直接冻结除了Detect层之外的所有层,就是说将预训练模型当做特征提取器使用。 制作自定义数据集的注意事项
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 14:43:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |