YOLOv5知识总结

YOLOv5知识总结

1、简介

由输入端、Backbone、Neck、预测端组成,如图所示。
YOLOv5知识总结_第1张图片训练流程:
train.py

2、输入端

2.1 Mosaic数据增强

随机选取4张图像----->进行随机缩放、裁剪、排布---------->扩大数据集、提高鲁棒性

2.2 自适应图像缩放

自适应图像缩放

2.3 自适应初始锚框计算

K-means聚类+遗传算法

3、Backbone

3.1 Focus结构

YOLOv5知识总结_第2张图片
一张图像每隔一个像素取一个,就变成4张图像、然后concat以及卷积操作
YOLOv5知识总结_第3张图片

3.2 CBL结构

YOLOv5知识总结_第4张图片

3.2.1 BN

批量归一化(Batch Normalization,BN)
作用:防止梯度爆炸或消失、加快收敛速度
为什么要归一化:固定每一个batch训练时的数据分布,提高训练速度。
具体过程:1、计算样本均值;2、计算样本方差;3、样本数据标准化处理;4、进行平移和缩放。

3.2.2 Leaky Relu

Leaky Relu(x) = x if x>0
Leaky Relu(x) = ax if x<=0
一般a为0.01

3.3 CSP结构

YOLOv5中有俩种

3.3.1 CSP1_X

YOLOv5知识总结_第5张图片

3.3.2 CSP2_X

YOLOv5知识总结_第6张图片

3.4 SPP结构

金字塔池化
作用:将任意大小的特征图转化为固定大小的特征向量
结构:
YOLOv5知识总结_第7张图片

4、Neck

FPN + PAN
FPN:特征金字塔
为什么要FPN:因为卷积网络中,深层网络(就是经过卷积操作多的网络)响应语义特征,但特征图太小,图像特征差不利于位置检测,而浅层网络响应图像特征,但语义特征差,不利于分类,将他们融合在一起,不就行了。
PAN:和FPN类似 但相反。
YOLOv5知识总结_第8张图片

5、输出端

5.1 目标框损失函数

边界框损失函数

5.2 去重

适应DIoU_nms 代替nms

你可能感兴趣的:(#,YOLOv5,深度学习,人工智能,目标检测)