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,一经查实,立即删除!

相关文章

数据库SQLite和SCADA DIAView应用教程

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

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

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

Addressable学习

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

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

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

深入解析: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 表…

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

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

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

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

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

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

【开源免费】基于SpringBoot+Vue.JS校园失物招领系统(JAVA毕业设计)

本文项目编号 T 150 ,文末自助获取源码 \color{red}{T150,文末自助获取源码} T150,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

2025美赛倒计时,数学建模五类模型40+常用算法及算法手册汇总

数学建模美赛倒计时,对于第一次参加竞赛且没有相关基础知识的同学来讲,掌握数学建模常用经典的模型算法知识,并熟练使用相关软件进行建模是关键。本文将介绍一些常用的模型算法,以及软件操作教程。 数学建模常用模型包括&#xf…

【深度学习】常见模型-循环神经网络(Recurrent Neural Network, RNN)

循环神经网络(RNN) 概念简介 循环神经网络(Recurrent Neural Network, RNN)是一种用于处理序列数据(如时间序列、文本序列等)的神经网络模型。与传统神经网络不同,RNN 的结构具有记忆能力&…

Matlab总提示内存不够用,明明小于电脑内存

目录 前言情况1(改matlab最大内存限制)情况2(重启电脑)情况3 前言 在使用matlab中,有时候需要占用的内存并没有超过电脑内存依旧会报错,提示内存不够用,可以尝试下面几种方法,总有一…

数据结构(Java)——二叉树

1.概念 二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常被称为左子节点和右子节点。二叉树可以是空的(即没有节点),或者由一个根节点以及零个或多个左子树和右子树组成,其中左子树和右子树也分…

Windows电脑上记录工作待办清单的工具用哪个?

在Windows电脑上记录日常工作待办清单的工具用哪一个比较好呢?想要工作效率高,借助Windows电脑上的待办清单工具,可以帮助大家快速完成各项任务,今天给大家盘点几款工作待办清单工具。 Windows自带的便笺Stickynotes Windows自…

H266/VVC 量化编码中 JCCR 技术

色度联合编码 JCCR VVC 支持色度分量联合编码(Joint Coding of Chroma Residual,JCCR), 两个色度残差联合编码。通过 TU 的标志位 tu_joint_cbcr_residual_flag 指定该工 具,并通过 CBF 来隐式传输所选的模式。仅当 TU 的至少一个色度分量的 …

云原生时代,如何构建高效分布式监控系统

文章目录 一.监控现状二.Thanos原理分析SidecarQuerierStoreCompactor 三.Sidecar or ReceiverThanos Receiver工作原理 四.分布式运维架构 一.监控现状 Prometheus是CNCF基金会管理的一个开源监控项目,由于其良好的架构设计和完善的生态,迅速成为了监控…

DAY3,模拟终端

题目 实现一个终端的功能,注意需要带有cd功能 思路 如何 C语言执行shell命令? 使用进程替换exec函数;;使用system函数。 如何 切换工作目录? 使用chdir函数切换工作目录。 其…