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------选择帮助------我的许可证,即可激活。

相关推荐
AI量化投资实验室1 小时前
deap系统重构,再新增一个新的因子,年化39.1%,卡玛提升至2.76(附python代码)
大数据·人工智能·重构
张登杰踩1 小时前
如何快速下载Huggingface上的超大模型,不用梯子,以Deepseek-R1为例子
人工智能
AIGC大时代1 小时前
分享14分数据分析相关ChatGPT提示词
人工智能·chatgpt·数据分析
TMT星球2 小时前
生数科技携手央视新闻《文博日历》,推动AI视频技术的创新应用
大数据·人工智能·科技
AI视觉网奇2 小时前
图生3d算法学习笔记
人工智能
天乐敲代码2 小时前
JAVASE入门九脚-集合框架ArrayList,LinkedList,HashSet,TreeSet,迭代
java·开发语言·算法
十年一梦实验室2 小时前
【Eigen教程】矩阵、数组和向量类(二)
线性代数·算法·矩阵
Kent_J_Truman2 小时前
【子矩阵——优先队列】
算法
小锋学长生活大爆炸2 小时前
【DGL系列】dgl中为graph指定CSR/COO/CSC矩阵格式
人工智能·pytorch·深度学习·图神经网络·gnn·dgl
佛州小李哥2 小时前
在亚马逊云科技上用AI提示词优化功能写出漂亮提示词(上)
人工智能·科技·ai·语言模型·云计算·aws·亚马逊云科技