💡本篇内容
:RT-DETR改进最新LSKNet结构:顶会ICCV2023|原创改进遥感旋转目标检测SOTA!大选择性卷积核的领域首次探索
💡🚀🚀🚀本博客 RT-DETR + 遥感旋转目标检测SOTA!大选择性卷积核的领域首次探索 LSKNet 源代码改进 适用于 RT-DETR… 等等YOLO系列 按步骤操作运行改进后的代码即可
💡适合用来改进作为 🚀改进点 顶会ICCV2023
💡该专栏《剑指RT-DETR原创改进》
只改进RT-DETR模型
相关的内容
💡论文:https://arxiv.org/pdf/2303.09030.pdf
💡重点:同时博客 还基于该顶会ICCV2023论文模块
,进行二次原创改进模块结构,具有多种配置,原创
文章目录
- 一、LSKNet论文理论部分 + RT-DETR代码实践
- 论文方法
- 论文实验
- 一、 代码| 将LSKNet结构应用到RT-DETR核心代码
- 改进核心代码(EMO + RT-DETR)
- 新增部分
- 修改部分
- RT-DETR-LSK网络配置文件
- 运行训练命令
一、LSKNet论文理论部分 + RT-DETR代码实践
最近关于遥感目标检测的研究主要集中在改进定向边界框的表示上,但忽略了遥感场景中呈现的独特先验知识。这种先验知识可能很有用,因为在没有参考足够远距离上下文的情况下,可能会错误地检测微小的遥感物体,并且不同类型物体所需的远距离上下文可能会有所不同。在本文中,我们考虑到这些先验并提出了大型选择性核网络(LSKNet)。LSKNet可以动态调整其大的空间感受野,以更好地模拟遥感场景中各种物体的测距上下文。据我们所知,这是遥感物体检测领域首次探索大型选择性核机制。没有花里胡哨的东西,LSKNet 在标准基准上设置了新的最先进的分数,即 HRSC2016 (98.46% mAP)、DOTA-v1.0 (81.85% mAP) 和 FAIR1M-v1.0 (47.87% mAP)。基于类似的技术,我们在2022年大湾区国际算法大赛中获得第二名。
论文方法
图展示了一个LSKNet Bolck的图示,是主干网中的一个重复块,其灵感来自ConvNeXt, PVT-v2, VAN, Conv2Former 和 MetaFormer。每个LSKNet块由两个剩余子块组成:大核选择(LK Selection)子块和前馈网络(FFN)子块。LK选择子块根据需要动态地调整网络的感受野。前馈网络子块用于通道混合和特征细化,由一个全连接层、一个深度卷积、一个GELU激活和第二个全连接层组成的序列。核心模块LSK Module被嵌入到LK选择子块中。它由一连串的大内核卷积和一个空间内核选择机制组成。
更多论文细节参考: https://arxiv.org/pdf/2303.09030.pdf
论文实验
一、 代码| 将LSKNet结构应用到RT-DETR核心代码
还没加群的私信博主加RT-DETR交流群
改进核心代码(EMO + RT-DETR)
新增部分
首先在ultralytics/nn/modules文件夹下,创建一个lsk.py文件,新增以下代码
群-腾讯文档中查看
修改部分
在ultralytics/nn/modules/init.py中导入 定义在lsk.py里面的模块
from .lsk import LSKB
'iRMB' 加到 __all__ = [...] 里面
第一步:
在ultralytics/nn/tasks.py
文件中
from ultralytics.nn.lsk import LSKB
然后在 在tasks.py
中配置
找到
elif m is nn.BatchNorm2d:
args = [ch[f]]
在这句上面加一个
elif m is LSKB:
c1, c2 = ch[f], args[0]
if c2 != nc: # if c2 not equal to number of classes (i.e. for Classify() output)
c2 = make_divisible(min(c2, max_channels) * width, 8)
args = [c1, c2, *args[1:]]
RT-DETR-LSK网络配置文件
RT-DETR-lsk.yaml
周三更新在群文档中
运行训练命令
运行RT-DETR的训练命令即可
python train.py --cfg yolov8-lsk.py
参考
https://arxiv.org/pdf/2303.09030.pdf