YOLOv8改进 | 注意力机制 | 添加适用于遥感图像的LSKblock注意力——【二次创新+完整代码】

简介: 遥感目标检测的研究主要集中在改进方向边界框的表示上,而忽略了遥感场景中独特的先验知识。 这类先验知识对于准确检测微小目标至关重要,因为这些目标往往需要更大的上下文信息才能被正确识别。提出的 LSKNet 可以动态调整其大的空间感受野,以更好地模拟不同目标的距离上下文,从而提高遥感目标检测的精度。 LSKNet 是第一个在遥感目标检测中探索大选择性核机制的方法。

💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡

遥感目标检测的研究主要集中在改进方向边界框的表示上,而忽略了遥感场景中独特的先验知识。 这类先验知识对于准确检测微小目标至关重要,因为这些目标往往需要更大的上下文信息才能被正确识别。提出的 LSKNet 可以动态调整其大的空间感受野,以更好地模拟不同目标的距离上下文,从而提高遥感目标检测的精度。 LSKNet 是第一个在遥感目标检测中探索大选择性核机制的方法。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方便大家一键运行,小白也可轻松上手实践。以帮助您更好地学习深度学习目标检测YOLO系列的挑战。

专栏地址:YOLOv8改进——更新各种有效涨点方法——点击即可跳转

1. 原理

image.png

大型选择性核 (LSK) 块是大型选择性核网络 (LSKNet) 的基本组件,专为遥感物体检测而设计。LSK 块背后的主要原理涉及动态调整网络的接受场,以捕获准确检测遥感图像中的物体所需的不同上下文信息。以下是 LSK 块的关键元素和机制:

  • 关键原理和机制:

  • 大型核卷积:

顺序分解:大型核卷积分解为一系列较小的深度卷积,核大小和扩张率不断增加。这种方法有助于有效地扩展接受场,而不会在特征图之间引入间隙。

效率:与直接使用单个大型卷积核相比,此方法减少了参数数量,使其在计算上高效,同时仍能捕获长距离依赖关系。

  • 空间核选择:

自适应聚合:LSKNet 不是根据通道维度选择核(如 SKNet 中所示),而是专注于空间维度。这使网络能够更好地捕捉图像空间内不同目标的空间变化。

动态加权:大型深度核处理的特征根据输入进行空间加权和合并。这种动态加权使网络能够自适应地调整每个目标的感受野,从而增强遥感图像中各种物体的检测性能。

  • LSKNet 块架构:

两个子块:每个 LSKNet 块由两个主要子块组成:

大核 (LK) 选择子块:通过大核卷积序列和空间选择机制动态调整感受野。

前馈网络(FFN)子块:用于通道混合和特征细化,包括全连接层、深度卷积、GELU 激活和另一个全连接层。

  • 模型变体:

LSKNet 有不同的变体,例如 LSKNet-T(Tiny)和 LSKNet-S(Small),特征通道数和每个阶段的 LSKNet 块数各不相同,可以灵活地平衡性能和计算效率。

LSKNet 中的 LSK 块通过利用大型分解核和空间选择机制来动态调整感受野,从而引入了一种新颖的方法。这种设计有效地捕获了准确检测遥感图像中的物体所需的各种上下文信息,使 LSKNet 成为遥感物体检测任务的强大而高效的骨干。

2. LSKblock的代码实现

2.1 将LSKblock添加到YOLOv8中

关键步骤一: 将下面代码粘贴到在/ultralytics/ultralytics/nn/modules/conv.py中,并在该文件的all中添加“LSKblock”

class LSKblock(nn.Module):
    def __init__(self, dim):
        super().__init__()
        self.conv0 = nn.Conv2d(dim, dim, 5, padding=2, groups=dim)
        self.conv_spatial = nn.Conv2d(dim, dim, 7, stride=1, padding=9, groups=dim, dilation=3)
        self.conv1 = nn.Conv2d(dim, dim // 2, 1)
        self.conv2 = nn.Conv2d(dim, dim // 2, 1)
        self.conv_squeeze = nn.Conv2d(2, 2, 7, padding=3)
        self.conv = nn.Conv2d(dim // 2, dim, 1)

    def forward(self, x):

完整内容 :YOLOv8改进 | 注意力机制 | 添加适用于遥感图像的LSKblock注意力——【二次创新+完整代码】——点击即可跳转

相关文章
|
机器学习/深度学习 编解码 测试技术
【YOLOv10改进-注意力机制】LSKNet(Large Selective Kernel Network ):空间选择注意力
YOLOv10专栏聚焦遥感目标检测,提出LSKNet,首个探索大型选择性核的模型。LSKNet利用LSKblock Attention动态调整感受野,处理不同目标的上下文。创新点还包括极化滤波和增强技术,提升信息保留和非线性输出。在HRSC2016等遥感基准上取得SOTA性能。LSKNet代码展示其网络结构,包括多阶段模块和注意力机制。详细配置和任务说明见相关链接。
|
机器学习/深度学习 编解码 IDE
用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
用于低分辨率图像和小物体的新 CNN 模块SPD-Conv
|
机器学习/深度学习 Serverless 计算机视觉
【YOLOv8改进 - 注意力机制】Sea_Attention: Squeeze-enhanced Axial Attention,结合全局语义提取和局部细节增强
【YOLOv8改进 - 注意力机制】Sea_Attention: Squeeze-enhanced Axial Attention,结合全局语义提取和局部细节增强
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
533 13
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为2023-CVPR LSKNet (附网络详解和完整配置步骤)
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
2579 13
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
|
机器学习/深度学习 存储 TensorFlow
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
3268 11
YOLOv11改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头
|
计算机视觉
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
3020 10
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
|
XML 数据格式 Python
YOLOv5入门实践(3)——手把手教你划分自己的数据集
YOLOv5入门实践(3)——手把手教你划分自己的数据集
5755 0
YOLOv5入门实践(3)——手把手教你划分自己的数据集
|
计算机视觉
YOLOv11改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
YOLOv11改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
1661 4
|
机器学习/深度学习 测试技术 计算机视觉
【YOLOv11改进 - 注意力机制】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块
【YOLOv11改进 - 注意力机制】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块
【YOLOv11改进 - 注意力机制】LSKA(Large Separable Kernel Attention):大核分离卷积注意力模块