YOLOV4之 Cross Stage Partial,<CSP Darknet53>
创始人
2024-06-03 11:51:30
0

yolov4 超级详细介绍 https://zhuanlan.zhihu.com/p/237539414

CSP意思是跨阶段部分连接,看着这跨阶段三个字,肯定又是Skip操作,目的为了解决梯度消失问题,同时丰富多尺度特征,提高检测等任务的效果。
嗯,也确实是这样的。
论文作者认为推理计算过高的问题是由于网络优化中的梯度信息重复导致的,采用CSP模块先将基础层的特征划分为两部分,然后通过跨阶段层次结构将它们合并,在减少计算量的同时可以保证准确率。
所以,是怎么发现梯度信息重复,又是按照什么规则划分?
我也不知道因为我暂时还没读论文(摊手)。

先介绍一种CSPDarknet中使用到的Mish激活函数

Mish=x * tanh(ln(1+e^x))。

实现方法

tanh(softplus(x))

其中tanh,是均值为0的sigmoid,复习sigmoid,它是0到1之间的!
softplus也是一个激活函数,可以说是平滑版本的RELU
在这里插入图片描述

在这里插入图片描述

Mish的优点在于Mish激活函数无边界(即正值可以达到任何高度)避免了由于封顶而导致的饱和。
理论上对负值的轻微允许更好的梯度流,而不是像ReLU中那样的硬零边界,
同时,平滑的激活函数允许更准确的信息深入神经网络,从而得到更好的准确性和泛化。缺点是这东西本身就较慢,还吃显存,得到的性能提升没那么大,性价比太低了,
依旧使用LeakyReLU也可以的。

CSPDarkNet的基础模块是CSP ResNeXt

这里ResNeXt和ResNet的区别可以参考
文章1
文章2 主要是代码

这里的total 32 paths在文中被定义为cardinality,文中提到,增加这个cardinality的值,比把网络加深或者增加channels更有用。
在这里插入图片描述

def resnet50(num_classes=1000, include_top=True):# https://download.pytorch.org/models/resnet50-19c8e357.pthreturn ResNet(Bottleneck, [3, 4, 6, 3], num_classes=num_classes, include_top=include_top)def resnext50_32x4d(num_classes=1000, include_top=True):# https://download.pytorch.org/models/resnext50_32x4d-7cdf4587.pthgroups = 32width_per_group = 4return ResNet(Bottleneck, [3, 4, 6, 3],num_classes=num_classes,include_top=include_top,groups=groups,width_per_group=width_per_group)

下面是普通的ResNeXt block 和 CSP ResNeXt block
在这里插入图片描述

从结构上来看,CSP是将输入通道分成两部分,‘一部分保持不变,
另外一部分经过常规Res(X)Block跟原来一部分进行通道拼接,拼接后进入transition layer。
CSP将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率(或有所提升)。??
其中transition layer是一个卷积加池化, 用于整合学到的特征,降低特征图的尺寸。

CSP Darknet53 可以看下图中的Backbone部分
CBM = Conv+BN+Mish
CSP = Cross Stage Patrial
CBL = Conv+BN+Leaky Relu

在这里插入图片描述
Cross Stage Patrtial 细节
在这里插入图片描述
在这里插入图片描述
每个CSP模块都有以下特点:

相比于输入,输出featuremap大小减半
相比于输入,输出通道数增倍
经过第一个CBM后,featuremap大小减半,通道数增倍
CSP1和其他CSP有所不同:

经过模块第二个CBM后,CSP1 featuremap大小和通道数都不变,但是其他模块featuremap大小不变,通道减半
经过最后一个CBM后,CSP1 featuremap大小不变,通道数减半,但是其他模块featuremap大小通道数都不变

参考 博客

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...