YOLOv5改进 | 2023主干篇 | 替换LSKNet遥感目标检测主干 (附代码+修改教程+结构讲解)

简介: YOLOv5改进 | 2023主干篇 | 替换LSKNet遥感目标检测主干 (附代码+修改教程+结构讲解)

一、本文介绍

本文给大家带来的改进内容是LSKNet(Large Kernel Selection, LK Selection),其是一种专为遥感目标检测设计的网络架构,其核心思想是动态调整其大的空间感受野,以更好地捕捉遥感场景中不同对象的范围上下文。实验部分我在一个包含三十多个类别的数据集上进行实验,其中包含大目标检测和小目标检测,mAP的平均涨点幅度在0.04-0.1之间(也有极个别的情况没有涨点),同时官方的版本只提供了一个大版本,我在其基础上提供一个轻量化版本给大家选择,本文会先给大家对比试验的结果,供大家参考。

image.png

推荐指数:⭐⭐⭐⭐⭐

专栏回顾:YOLOv5改进专栏——持续复现各种顶会内容——内含100+创新

二、LSKNet原理

image.png

2.1 LSKNet的基本原理

LSKNet(Large Selective Kernel Network)是一种专为遥感目标检测设计的网络架构,其核心优势在于能够动态调整其大的空间感受野,以更好地捕捉遥感场景中不同对象的范围上下文。这是第一次在遥感目标检测领域探索大型和选择性核机制。

LSKNet(大型选择性核网络)的基本原理包括以下关键组成部分:

1. 大型核选择(LK Selection)子块:这个子块能够动态地调整网络的感受野,以便根据需要捕获不同尺度的上下文信息。这使得网络能够根据遥感图像中对象的不同尺寸和复杂性调整其处理能力。

2. 前馈网络(FFN)子块:该子块用于通道混合和特征精炼。它由一个完全连接的层、一个深度卷积、一个GELU激活函数以及第二个完全连接的层组成。这些组件一起工作,提高了特征的质量并为分类和检测提供了必要的信息。

这两个子块共同构成LSKNet块,能够提供大范围的上下文信息,同时保持对细节的敏感度,这对于遥感目标检测尤其重要。

下面我将为大家展示四种不同的选择性机制模块的架构比较:

image.png


对于LSK模块:

1. 有一个分解步骤,似乎是用来处理大尺寸的卷积核(Large K)。 2. 接着是一个空间选择*步骤,可能用于选择或优化空间信息的特定部分。

这与其他三种模型的架构相比较,显示了LSK模块在处理空间信息方面可能有其独特的方法。具体来说,LSK模块似乎强调了在大尺寸卷积核上进行操作,这可能有助于捕获遥感图像中较大范围的上下文信息,这对于检测图像中的对象特别有用。空间选择步骤可能进一步增强了模型对于输入空间特征的选择能力,从而使其能够更加有效地聚焦于图像的重要部分。

2.2 大型核选择(LK Selection)子块

LSKNet的大型核选择(Large Kernel Selection, LK Selection)子块是其架构的核心组成部分之一。这个子块的功能是根据需要动态调整网络的感受野大小。通过这种方式,LSKNet能够根据遥感图像中不同对象的大小和上下文范围,调整处理这些对象所需的空间信息范围。

大型核选择子块与前馈网络(Feed-forward Network, FFN)子块一起工作。FFN子块用于通道混合和特征细化,它包括一个序列,这个序列由一个全连接层、一个深度卷积、一个GELU激活函数以及第二个全连接层组成。这种设计允许LSKNet块进行特征深度融合和增强,进一步提升了遥感目标检测的性能

下面我将通过LSK(Large Selective Kernel)模块的概念性插图,展示LSKNet如何通过大型核选择子块和空间选择机制来处理遥感数据,从而使网络能够适应不同对象的长范围上下文需求。

image.png

1. Large Kernel Decomposition:原始输入经过大核分解,使用两种不同的大型卷积核(Large K)进行处理,以捕获不同尺度的空间信息。

2. Channel Concatenation:两个不同的卷积输出通过通道拼接组合在一起,这样可以在后续步骤中同时利用不同的空间特征。

3. Mixed Pooling:拼接后的特征图经过平均池化和最大池化的组合操作,然后与自注意力(SA)机制一起使用,以进一步强化特征图的关键区域。

4. Convolution and Spatial Selection:通过卷积操作和自注意力(SA)生成新的特征图,然后通过空间选择机制进一步增强对目标区域的关注。

5. Element Product and Sigmoid:使用Sigmoid函数生成一个掩码,然后将这个掩码与特征图进行元素乘积操作,得到最终的输出特征图。这一步骤用于加权特征图中更重要的区域,以增强网络对遥感图像中特定对象的检测能力。

整个LSK模块的设计强调了对遥感图像中不同空间尺度和上下文信息的有效捕获,这对于在复杂背景下准确检测小型或密集排布的目标至关重要。通过上述步骤的复合操作,LSK模块能够提升遥感目标检测的性能。

2.3 前馈网络(FFN)子块

LSKNet的前馈网络(Feed-forward Network, FFN)子块用于通道混合和特征精炼。该子块包含以下组成部分:

1. 全连接层:用于特征变换,提供网络额外的学习能力。 2. 深度卷积(depth-wise convolution):用于在通道间独立地应用空间滤波,减少参数量的同时保持效果。 3. GELU激活函数:一种高斯误差线性单元,用于引入非线性,提高模型的表达能力。 4. 第二个全连接层:进一步变换和精炼特征。

这个FFN子块紧随LK Selection子块之后,作用是在保持特征空间信息的同时,增强网络在特征通道上的表示能力。通过这种设计,FFN子块有效地对输入特征进行了深度加工,提升了最终特征的质量,从而有助于提高整个网络在遥感目标检测任务中的性能。

目录
相关文章
|
6月前
|
机器学习/深度学习
YOLOv5改进 | 主干篇 | 轻量级网络ShuffleNetV1(附代码+修改教程)
YOLOv5改进 | 主干篇 | 轻量级网络ShuffleNetV1(附代码+修改教程)
136 1
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv8改进 | 主干篇 | SwinTransformer替换Backbone(附代码 + 详细修改步骤 +原理介绍)
YOLOv8改进 | 主干篇 | SwinTransformer替换Backbone(附代码 + 详细修改步骤 +原理介绍)
895 0
|
6月前
|
机器学习/深度学习 测试技术 Ruby
YOLOv8改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv8改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
211 0
|
6月前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
246 2
|
4月前
|
机器学习/深度学习 算法 vr&ar
YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例
这个摘要主要涵盖了一个关于YOLO目标检测的深度学习专栏的内容概览。该专栏专注于YOLO算法的历史、前沿研究和实战应用,提供了一系列的文章,详细讲解了YOLO的改进方法,包括卷积优化、损失函数创新、注意力机制、网络结构和主干网络的更新,以及针对不同场景如红外成像、小目标检测等的应用。此外,还提供了每周多次的更新频率以保持内容的时效性,并指导读者进行论文写作和项目实现,包括具体的代码示例和实战项目,如行人检测、对象分割、姿态估计等。该专栏还涉及到面试准备和实习就业指导,帮助读者提升在图像算法领域的专业技能。
|
6月前
|
机器学习/深度学习 存储 测试技术
【YOLOv8改进】 YOLOv8 更换骨干网络之 GhostNet :通过低成本操作获得更多特征 (论文笔记+引入代码).md
YOLO目标检测专栏探讨了卷积神经网络的创新改进,如Ghost模块,它通过低成本运算生成更多特征图,降低资源消耗,适用于嵌入式设备。GhostNet利用Ghost模块实现轻量级架构,性能超越MobileNetV3。此外,文章还介绍了SegNeXt,一个高效卷积注意力网络,提升语义分割性能,参数少但效果优于EfficientNet-L2。专栏提供YOLO相关基础解析、改进方法和实战案例。
|
5月前
|
机器学习/深度学习
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构(3)
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构
|
5月前
|
编解码 自动驾驶 计算机视觉
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构(1)
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构
|
5月前
|
机器学习/深度学习
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构(2)
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构
|
5月前
|
机器学习/深度学习
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构(4)
【保姆级教程】【YOLOv8替换主干网络】【1】使用efficientViT替换YOLOV8主干网络结构