YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战第十三天|YOLOv3实战、安装Typora

1.学习哔哩哔哩《YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战》

炮哥带你学视频链接

第5章 YOLOv3实战

5.1 YOLOv3实战先导

在这里插入图片描述

5.2 pycharm与anaconda的安装

之前已经安装过了,见Pytorch框架与经典卷积神经网络与实战第一天|安装PyCharm&Anaconda,配置环境,写爱心代码

5.3 python环境安装

在这里插入图片描述

5.4 pytorch环境安装

安装cuda驱动见Pytorch框架与经典卷积神经网络与实战第四天|PyTorch框架与编程环境安装
在这里插入图片描述

5.5 YOLOv3代码背景介绍

本课程用的是YOLOv3的9.6版本

在这里插入图片描述

5.6 YOLOv3环境安装

下载的时候注意要在红框框出的文件下一级,不能是文件中的文件的文件

在这里插入图片描述

检查环境是否配置成功

在这里插入图片描述

5.7 YOLOv3代码整体结构分析

代码整体解析:
在这里插入图片描述
data文件解析:
(超参数:实现定义好的参数)
在这里插入图片描述
models文件解析:
在这里插入图片描述
utils文件解析:
在这里插入图片描述runs文件解析:
在这里插入图片描述
weight文件解析:
在这里插入图片描述

5.8 推理核心参数代码讲解

exp2:
在这里插入图片描述
exp5:
在这里插入图片描述

5.9 labelimg标注软件的使用

注:现在推荐使用Label Studio,Labelimg已不在开发

创建环境

在这里插入图片描述

激活环境

在这里插入图片描述

下载labelimg软件

在这里插入图片描述

运行labelimg软件

在这里插入图片描述

软件功能介绍

在这里插入图片描述

W:调出标注十字架

在这里插入图片描述

A:切换到上一张图片
D:切换到下一张图片
use default label:固定标签打框
del :删除标注框框
Ctrl+u:选择标注的图片文件夹
Ctrl+r:选择标注好的 label 标签存在的文件夹

在这里插入图片描述

文件保存:一级VOCdevkit,二级VOC2007,第三极:JPEGImages、Annotations

在这里插入图片描述

保存格式:尽量用VOC(xmal文件),不要用yolo(txt)

在这里插入图片描述

5.10 训练数据集划分

训练的时候,类别必须按顺序来填;检测的时候可以不按顺序来
在这里插入图片描述

5.11 训练自己的数据集

you.yaml和dataset_partitioning.py两个文件的检测类别必须一模一样
在这里插入图片描述

5.12 训练结果解析

混淆矩阵:
在这里插入图片描述
跟置信度相关的FI Score图:
在这里插入图片描述
跟置信度相关的精度的图:

在这里插入图片描述
跟置信度相关的召回率的图:
在这里插入图片描述

PR曲线:
在这里插入图片描述
结果解析:
(从左到右分别是:坐标损失、置信度损失、分类损失、精度、召回)
在这里插入图片描述

5.13 训练好的权重推理结果

exp9;
在这里插入图片描述
exp10:
(图片大小改成608x608)
在这里插入图片描述
exp11:
(图片大小改成32x32)
在这里插入图片描述

5.14 训练核心参数代码讲解

weights——权重文件
cfg——网络模型配置文件
data——数据集配置文件
hyp——训练时的超参文件
epochs——训练轮次
batch-size——训练批次大小
imgsz——输入网络的图片分辨率大小
rect——把图片用灰色补成正方形
resume——从上次打断的训练结果接着训练
nosave——不保存模型,默认保存
noval——只在最后一次进行测试,默认False
noautoanchor——不自动调整anchor框,默认False
evolve——是否进行超参进化,使数值变得更好,默认False
cache——是否提前缓存图片到内存
image-weights——对于那些训练不好的图片,会在下一轮增加一些权重
device——设备。只有一个GPU“default=0”,有两个GPU,想用第二个“default=1”,想用多个“default=01”
multi-scale——是否使用多尺度训练,默认False
single-cls——开启之后,只要有目标都识别不管类别,默认False,轻易不要开启
adam——优化器
workers——dataloader中的最大work数,电脑不是很好的填0或1
project、name——保存的结果
exist-ok——是否重新创建
linear-lr——用于对学习速率进行调整,默认为 False
label-smoothing——标签平滑增强 默认0.0不增强 要增强一般就设为0.1
patience——早停机制,训练到一定的epoch,如果模型效果未提升,就让模型提前停止训练
freeze——使用预训练模型的规定固定权重不进行调整(freeze 10 :意思从第0层到到第10层不训练)
save-period——设置多少个epoch保存一次模型
local_rank——rank为进程编号 -1且gpu=1时不进行分布式 -1且多块gpu使用DataParallel模式

5.15 测试代码参数讲解

conf-thres——object置信度阈值,默认0.25
iou-thres——进行NMS时IOU的阈值,默认0.6

5.16 yolo.py代码讲解

common.py包含卷积结构、跳转链接、SPP(v4)、Concat等

5.17 conv和bottleneck模块代码讲解

在这里插入图片描述

conv:
在这里插入图片描述
在这里插入图片描述

bottleneck:
在这里插入图片描述

5.18 backbone网络模块代码讲解

第一列的-1表示这一层的输入是上一层的输出
第二列的1表示这个模块有几个
第三列表示这层的类型,例如conv(CBL)、Bottleneck
第四列表示输出通道数
第五列表示卷积核的大小
第六列表示步幅S

在这里插入图片描述

5.19 neck和head结构代码讲解

上采样upsamble:
在这里插入图片描述
neck&head:
在这里插入图片描述

5.20 是否佩戴口罩检测项目实战先导

在这里插入图片描述

5.21 是否佩戴口罩检测模型训练

修改model中yolov3.yaml文件,复制文件并重命名为yolov3-mask.yaml,把其中类别数量修改为2(戴口罩、不戴口罩)

在这里插入图片描述

修改data中you.yaml文件,复制文件并重命名为mask.yaml,把其中检测的类别数量修改为2,以及检测的类别名修改为without-mask,mask

在这里插入图片描述

修改dataset_partitioning.py修改类别并划分数据集

在这里插入图片描述

5.22 是否佩戴口罩检测模型推理和测试

2.安装Typora1.9.5

Step1 下载安装包

迅雷链接: https://pan.xunlei.com/s/VOFjtwoq1Y06P0cx0c4sMpvxA1?pwd=y4ia

Step2 安装

解压安装包——管理员身份运行——install for all users——选择安装在合适的盘,安装过程中勾选create a desktop cutshort,安装完成后取消勾选launch pytora,然后点击finish——进入crack文件夹——复制winmm.dll文件,放置到typora所在文件夹——双击运行typora——选择帮助——我的许可证,即可激活。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/893517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言常用知识结构深入学习

面试大保健-C语言-变量day01 1. C语言的重要性 大家好!今天我们来聊一聊 C 语言。作为嵌入式开发的基础,C语言在面试中必定是一个重点,虽然具体会问到哪些问题不好预测,但可以肯定的是,基础知识绝对不会少问。所以&a…

Java算法——排序

目录 引言1. 插入排序1.1 基本思想1.2 直接插入排序1.3 希尔排序 2. 选择排序2.1 基本思想2.2 直接选择排序2.3 直接选择排序变种2.4 堆排序 3. 交换排序3.1 基本思想3.2 冒泡排序3.3 快速排序3.3.1 快速排序的基本结构3.3.2 Hoare法3.3.3 挖坑法3.3.4 双指针法 3.4 快速排序非…

java字典注入与关联注入

一、注解类 import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Documented Target(ElementType.METHOD) Retent…

数据库SQLite和SCADA DIAView应用教程

课程简介 此系列课程大纲主要包含七个课时。主要使用到的开发工具有:SQLite studio 和 SCADA DIAView。详细的可成内容大概如下: 1、SQLite 可视化管理工具SQLite Studio :打开数据库和查询数据;查看视频 2、创建6个变量&#x…

docker 部署.netcore应用优势在什么地方?

目录 1. 环境一致性 2. 简化依赖管理 3. 快速部署与扩展 4. 资源利用率高 5. 版本控制与回滚 6. 安全性 7. 生态系统支持 8. 微服务架构支持 9. 降低成本 10. 开发体验提升 总结 使用 Docker 部署 .NET Core 应用有许多优势,特别是在开发、测试和生产环境…

YOLOv8改进,YOLOv8检测头融合DSConv(动态蛇形卷积),并添加小目标检测层(四头检测),适合目标检测、分割等

精确分割拓扑管状结构例如血管和道路,对各个领域至关重要,可确保下游任务的准确性和效率。然而,许多因素使任务变得复杂,包括细小脆弱的局部结构和复杂多变的全局形态。在这项工作中,注意到管状结构的特殊特征,并利用这一知识来引导 DSCNet 在三个阶段同时增强感知:特征…

Oracle之Merge into函数使用

Merge into函数为Oracle 9i添加的语法,用来合并update和insert语句。所以也经常用于update语句的查询优化: 一、语法格式: merge into A using B on (A.a B.a) --注意on后面带括号,且不能更新join的字段 when matched then upd…

【DGL系列】dgl中为graph指定CSR/COO/CSC矩阵格式

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~ 只讲几个注意事项: 1、graph.formats() 函数可以查看graph格式,也可以指定graph格式。 g dgl.graph(([0, 0, 1], [2, 3, 2])…

Addressable学习

AssetsBundle是Unity的资源管理机制,将资源打包到AssetsBundle资源包并提供接口能从ab包里面加载资源出来。有了这个机制以后,我们要做资源管理,还需要做: a: 根据项目需求,编写编辑器扩展,提供指定资源打入对应bundle包工具策略; b: 根据项目的需求,资源…

概率密度函数(PDF)分布函数(CDF)——直方图累积直方图——直方图规定化的数学基础

对于连续型随机变量,分布函数(Cumulative Distribution Function, CDF)是概率密度函数(Probability Density Function, PDF)的变上限积分,概率密度函数是分布函数的导函数。 如果我们有一个连续型随机变量…

鞅的定义_

内容来源 应用随机过程(第五版)张波 商豪 邓军 编著 定义 随机过程 { X n } \{X_n\} {Xn​} 称为关于 { Y n } \{Y_n\} {Yn​} 的下鞅,如果 对 n ⩾ 0 n\geqslant0 n⩾0, X n X_n Xn​ 是 Y 0 , Y 1 , ⋯ , Y n Y_0,Y_1,\cd…

深入解析:Docker 容器如何实现文件系统与资源的多维隔离?

目录 一、RootFs1. Docker 镜像与文件系统层2. RootFs 与容器隔离的意义 二、Linux Namespace1. 进程命名空间1.1 lsns 命令说明1.2 查看“祖先进程”命名空间1.3 查看当前用户进程命名空间 2. 容器进程命名空间2.1 查看容器进程命名空间列表2.2 容器进程命名空间的具体体现 三…

深度学习|表示学习|卷积神经网络|由参数共享引出的特征图|08

如是我闻: Feature Map(特征图)的概念与 Parameter Sharing(参数共享)密切相关。换句话说,参数共享是生成 Feature Map 的基础。Feature Map 是卷积操作的核心产物,而卷积操作的高效性正是由参数…

【Linux网络编程】传输层协议

目录 一,传输层的介绍 二,UDP协议 2-1,UDP的特点 2-2,UDP协议端格式 三,TCP协议 3-1,TCP报文格式 3-2,TCP三次握手 3-3,TCP四次挥手 3-4,滑动窗口 3-5&#xf…

大数据技术笔记

大数据技术概述 本章初步介绍大数据领域技术涉及的一些基础理论,如分布式、存储、网络等知识。 分布式理论 大数据意味数据量大,那么存储和计算数据的节点就不大可能只有一个,而是采用分而治之的思想在多个节点中存储和计算,提…

ARP 表、MAC 表、路由表、跨网段 ARP

文章目录 一、ARP 表1、PC2、路由器 - AR22203、交换机 - S57004、什么样的设备会有 ARP 表? 二、MAC 表什么样的设备会有 MAC 表? 三、路由表什么样的设备会有路由表? 四、抓取跨网段 ARP 包 所谓 “透明” 就是指不用做任何配置 一、ARP 表…

Alibaba Spring Cloud 一 核心组件、特性

Alibaba Spring Cloud 是 Alibaba 基于 Spring Cloud 的分布式微服务解决方案,提供了一套高性能、高可靠的微服务开发和运维工具。它扩展了 Spring Cloud 的功能,并优化了许多在生产环境中的实践场景,例如服务发现、配置管理、熔断限流等。 …

算法10(力扣20)-有效的括号

1、问题 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类…

每日一题——二叉树的前序遍历和中序遍历和后序遍历

文章目录 二叉树的前序、中序与后序遍历题目描述数据范围:示例:示例 1: 解题思路1. 递归法2. 迭代法 代码实现(递归法)代码解析示例输出复杂度分析 中序遍历后序遍历 二叉树的前序、中序与后序遍历 题目描述 给定一棵…

【优选算法】8----四数之和

有看过我上篇算法博客并且去做过的铁子们,对这道题的话应该就不会那么陌生了,因为这两道题 的解题思路有着异曲同工之妙~ -----------------------------------------begin------------------------------------- 题目解析: 跟三数之和就多了…