💡💡💡本文自研创新改进: 可变形大核注意力(D-LKA Attention)高效结合SPPF进行二次创新,大卷积核提升不同特征感受野的注意力机制。
YOLOv5最初采用SPP结构在v6.0版本(repo)后开始使用SPPF,主要目的是融合更大尺度(全局)信息 YOLOV8使用SPPF 作者对SPP和SPPF进行了比较,SPPF在不影响mAP的情况下可以获得更快的速度和更少的FLOPs
论文:arxiv.org/pdf/2309.00121.pdf
为了解决这些挑战,我们引入了Deformable Large Kernel Attention (D-LKA Attention)}的概念,这是一种采用大卷积核来充分理解体积上下文的简化注意力机制。
这种机制在类似于自注意力的感受野中运行,同时避免了计算开销。 此外,我们提出的注意力机制受益于可变形卷积来灵活地扭曲采样网格,使模型能够适当地适应不同的数据模式。 我们设计了 D-LKA Attention 的 2D 和 3D 适应,后者在跨深度数据理解方面表现出色。
将deformable_LKA和SPPF高效结合,进行创新
3.1.1 SPPF_deformable_LKA加入models/sppf/SPPF_deformable_LKA.py
核心源码:
class DeformConv_experimental(nn.Module):
def __init__(self, in_channels, groups, kernel_size=(3,3), padding=1, stride=1, dilation=1, bias=True):
super(DeformConv_experimental, self).__init__()
self.conv_channel_adjust = nn.Conv2d(in_channels=in_channels, out_channels=2 * kernel_size[0] * kernel_size[1], kernel_size=(1,1))
self.offset_net = nn.Conv2d(in_channels=2 * kernel_size[0] * kernel_size[1],
out_channels=2 * kernel_size[0] * kernel_size[1],
kernel_size=3,
padding=1,
stride=1,
groups=2 * kernel_size[0] * kernel_size[1],
bias=True)
self.deform_conv = torchvision.ops.DeformConv2d(in_channels=in_channels,
out_channels=in_channels,
kernel_size=kernel_size,
padding=padding,
groups=groups,
stride=stride,
dilation=dilation,
bias=False)
def forward(self, x):
x_chan = self.conv_channel_adjust(x)
offsets = self.offset_net(x_chan)
out = self.deform_conv(x, offsets)
return out
class deformable_LKA(nn.Module):
def __init__(self, dim):
super().__init__()
self.conv0 = DeformConv(dim, kernel_size=(5,5), padding=2, groups=dim)
self.conv_spatial = DeformConv(dim, kernel_size=(7,7), stride=1, padding=9, groups=dim, dilation=3)
self.conv1 = nn.Conv2d(dim, dim, 1)
def forward(self, x):
u = x.clone()
attn = self.conv0(x)
attn = self.conv_spatial(attn)
attn = self.conv1(attn)
return u * attn
by CSDN AI小怪兽
https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。