YOLOV4&YOLOV5学习笔记

本文详细介绍了YOLOV4和YOLOV5在目标检测领域的改进,包括标签平滑处理、SPP模块、特征融合策略、自对抗训练、GIOU_loss的局限性、数据增强技术如dropout和cutout的运用,以及dropblock的改良。此外,还探讨了网络结构的多样性,如s、m、l、x不同尺度的设计,并分析了预测阶段的优化问题。文章深入讨论了NMS过程中不使用CIOU_LOSS的原因,并总结了YOLO系列模型的关键优化技术对性能提升的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YOLOV4&YOLOV5学习笔记

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

在这里插入图片描述

标签平滑处理来解决类别之间没有关联的问题。
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
spp一堆池化的组合
4.
在这里插入图片描述
5.
特征融合的方法

在这里插入图片描述
6.
自对抗训练就是自监督训练
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
9.
在这里插入图片描述

第一个改进,将主干网络中的激活函数改了
在这里插入图片描述
11.

新加了spp块,增加感受视野,
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
14.
yolov3没有告诉候选框应该往哪个方向上去回归
在这里插入图片描述
15.
状态3的效果比状态2更好,状态3移动更简单,状态2移动更复杂
在这里插入图片描述
16.

在这里插入图片描述
17.

GIOU_loss不能衡量下图这种情况

在这里插入图片描述
18.
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
20.
在NMS时不使用CIOU_LOSS是因为,使用CIOU_LOSS需要使用目标框的长和宽,但是在做NMS时,已经是预测阶段了,在预测阶段根本没有目标框。
在这里插入图片描述
21.
数据增强
在这里插入图片描述
22.
作者使用dropout是为了让中间层的神经网络也能获得想cutout的作用和效果。因为如果你只是使用cutout’时这只是对输入数据进行了数据增强,但是神经网络是很聪明的,如果在神经网络中不使用dropout,那么在神经网络中就不能获得cutout’带来的好处,因为神经网络会将cutout的图片,经过神经网络后,恢复成完整图片,所以这里在神经网络中使用了dropout。
在这里插入图片描述
23.
cutout缺点:遮挡的部分是连成的一个整体,而且使规则的,而且这个规则的遮挡对于卷积来说是无效的,因为对于浅层的卷积接收到的数据确实是不完整的,但是对于中间层和最后的卷积,图片经过前面的处理,到达中间层和最后层的图片就已经是完整的了。
24.
普通的dropout是随机的对于目标区域而言遮挡效果不是很好,遮挡的区域太少,下图中的dropout就好像给图片加了一些噪音,所以对它进行了改造,使用的是dropblock,遮挡的区域更大。这样的改变即增大了遮挡的面积,也保证了核心的目标区域不至于全部被遮挡完全。
在这里插入图片描述

这儿应该是直接的切片操作,和残差结构的恒等映射是一样的
在这里插入图片描述
26.

在这里插入图片描述

网络的深度和宽度会不一样就形成了,s,m,l,x,网络的深度和宽度越来越大。
在这里插入图片描述
28.

在这里插入图片描述
29.
在这里插入图片描述
30.

在这里插入图片描述
31.
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

### YOLOv4 学习教程与笔记 #### 一、YOLOv4 的简介 YOLOv4 是一种先进的目标检测算法,继承和发展了前几代YOLO系列的优点。相比其他两阶段的目标检测方法,如Mask R-CNN,YOLOv4 不需要额外的候选框生成过程,因此能够实现更快的速度,尽管这可能稍微牺牲了一些精度[^3]。 #### 二、YOLOv4 架构特点 YOLOv4引入了许多改进措施来提升性能,包括但不限于CSPNet(跨阶段部分网络)、Mish激活函数以及自对抗训练等技术的应用。这些特性共同作用下,不仅提高了模型的准确性,还增强了其鲁棒性和泛化能力[^1]。 #### 三、安装依赖库及配置环境 为了顺利开展YOLOv4学习实践工作,建议按照以下步骤搭建开发环境: 1. 使用Anaconda管理Python版本及其包; 2. 创建一个新的虚拟环境用于项目隔离; 3. 安装必要的第三方库,比如PyTorch框架和其他辅助工具; ```bash # 打开命令提示符窗口(win+r+cmd),执行下列指令创建并激活新的Conda环境 conda create -n yolov4_env python=3.8 conda activate yolov4_env ``` 接着可以参照官方文档或其他资源完成剩余设置操作[^5]。 #### 四、数据集准备与预处理 对于任何机器学习任务来说,高质量的数据都是至关重要的。针对YOLOv4而言,通常会采用VOC格式或者COCO格式作为标注标准,并通过脚本转换成适合该模型读取的形式。此外还需要注意图像尺寸统一等问题以确保最佳效果[^4]。 #### 五、模型训练流程概述 当一切准备工作就绪之后就可以着手于实际的训练环节了。一般情况下我们会修改`train.py`中的参数选项指定所使用的配置文件路径,例如: ```python from pathlib import Path ROOT = Path(__file__).resolve().parents[0] cfg_file_path = ROOT / "models/yolov4-custom.cfg" ``` 以上代码片段展示了如何定位到具体的`.cfg`配置文件位置以便后续调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值