yolov4理论介绍

单GPU就能训练很好

从数据层面和网络设计层面来进行改善

BOF  Bag of freebies

只增加训练成本,能提高精度,不影响推理速度

数据增强:调整亮度、对比度、色调、随机缩放、剪切等等

网络正则化的方法:Dropout、Dropblock

数据增强的方法

把训练集的一些数据做增强,变得更复杂,让网络学习增加网络的能力

马赛克数据增强 CutMix

数据增强有很多种

把猫和狗融合成一张

把图片部分变成黑色

把猫和狗进行拼接

yolov4中使用cutmix,即第三种数据增强

Random Erase

用随机值或训练集的平均像素值替换图像的区域

 Hide and Seek

根据概率设置随机隐藏一些补丁

 Self -adversarial-training(SAT)

引入噪音增加难度

 Dropblock

之前的dropout是选择失活一部分神经元,防止网络过拟合。(数据集太简单了,增加一点难度)

相当于让一部分神经元检测不到图片。也就等价于让图片上某些像素点检测不到。

但是问题是dropout太简单了,虽然某些点检测不到,但是也可以根据周围像素推断。

 因此出现了dropblock,dropblock选择使某一块区域都检测不到,负责检测一块区域的都失活。

这样大大增加了网络的难度,提升复杂性

Label Smoothing

 之前标签的时候,是就是1,不是就是0。这样让网络学习之后,很绝对判断,觉得是或者不是

所有标签平滑一点,是标0.95,不是标0.05。给一点余地

GIOU损失

IOU损失 = 1 - IOU(prediction、groudtruth)

不太能很好反应

 GIOU损失 = 1 - IOU + \frac{|C - B \bigcup B^{gt} |}{|C|}

引入了最小封闭形状C,C把A,B包含在内

在不重叠的情况下让预测框尽可能朝着真实框前进。

但是这种情况又完了

DIOU 

分子表示预测框和真实框之间,中心点的欧氏距离d

CIOU : 最终yolov4选择CIOU损失

 NMS

NMS

之前使用NMS(非极大值抑制)来确定是否删除一个框。用最大的那个置信度的框和周围其他框算IOU,IOU大于阈值就不要

DIOU-NMS

SOFT-NMS 

与普通NMS相似,也是用最大置信度的框与周围框算IOU,IOU大于阈值的,不会之间删去,会给周围的框降置信度,降一点分。再次算。

BOS Bag of specials

增加稍微徐推断代价,可以提高精度

细节改进,引入了各种能让特征提取更好的方法

注意力机制,网络细节设计、特征金字塔

SPPNet

v3中说过,输入时候会改变输入数据的大小,因此不同尺寸输入提取特征就需要一定处理。

SPP通过最大池化来满足不同尺寸最终输入特征一致

另外SPPNet还可以增大感受野 

CSPNet

每一个block按照特征图的channel维度拆成二部分

核心思想就是把特征图分成二部分,一部分按照正常网络走。另一部分concat到正常的输出

SAM

CBAM

CBAM注意力机制会对特征图的深度和图片上位置进行不同程度的注意,二个维度。通过赋予不同权重然后乘以原图

深度上不同特征的注意不同

单个图片上背景和前景的注意不同(空间注意力机制)

V4中引入的是SAM,只有空间注意力机制,即只对图片上的位置进行注意力赋予不同权重

原始SAM结构和V4中修改的SAM结构。对比发现就是去掉了maxpooling层

sigmid函数就是用来赋予权值的

 PAN

PAN就是引出一个自底向上的特征传递路径

本来在v3中就有上层特征和下层特征融合向下传递的路径。但是没有下层特征向上传递的路径。因此引入了PAN

a部分是主干网络,主干网络看上去就4层,但是其实是4个block,每个block有好多层,因为这个是一个特征提取网络。假设100层,如果再重新走一遍网络从下向上传信息,会非常大计算量。

因此PAN使用了根据上传到下的特征图,再开辟一条捷径反过来融合从下向上

v4中更改了PAN的结构,不使用加法进行特征融合,使用乘法进行特征拼接操作

激活函数

Mish 包容性强,relu激活函数负值时候直接0,v4认为太绝对了,因此使用Mish

计算量大了,效果提升了

 网络架构

SPPNet

PANNet

3个Head和v3相同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值