分享免费的编程资源和教程

网站首页 > 技术教程 正文

CV中最佳backbone:几种resnet的变形

goqiw 2024-10-20 07:27:27 技术教程 24 ℃ 0 评论

看懂本文需要掌握基本的卷积计算过程。

基本的 resent:


res2net,这个到底是啥?


resnext:这个怎么有点像insection??? 哦,分组卷积???也不是啊分组卷积后面的连接在一起

x1,x2,x3,x4是把特征图input_x按照通道数平均分成4个特征图。

然后将x1直接输出到y1

将x2经过一个3*3的卷积后,分成两路,一路输出到y2,一路加上x3,再输入到一个3*3的卷积里面,这个卷积的输出又分成两路,一路输出到y3,一路与x4相加,输入到 3*3的卷积核计算,这个输出就是y4.

将以上计算得到的y1,y2,y3,y3在通道上连接起来,再经过一个1*1的卷积运算后,再加上input_x就得到了res2net模块的输出。

这个模块里面涵盖了各种尺度的特征,y4比y1的感受也大6.

详细在这里:https://blog.csdn.net/ruoruojiaojiao/article/details/89074763



分组卷积:按照通道数将 featuremap 平均分成c组,每次单独进行卷积。

se-resnet:通道注意力机制网络







sk-resnet:核选择的残差网络





这个resnest到底是啥?残差分裂注意力模块。

将 channels数为C的in_feature map 分成k组,每组维度为C/k,

然后在组内再分裂split成r份,每份feature map维度为C/k/r,将这r组feature map 的channel数利用3x3卷积升为C/k,然后对其进行通道注意力机制,将这个D/k个维度上的 feature map 每组乘上一个注意力权重。然后再将这r个D/k 个channel的feature map 相加,得到一个有D/k个维度的feature map。组内这样的过程就称为 splite attention:分裂注意力。

也就是说,每组feature map的维度为C/k/r,经过channel 变换后,维度变为C/k,经过注意力机制后维度还是C/k

in_featrure map分成的k组,每组都进行同样的计算,k组就得到k个C/k的feature map,

我们将这k个feature map 在channel 维度上 concanate 起来就得到了C 通道的 feature map,这就是输出feature map.






https://zhuanlan.zhihu.com/p/133403713

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表