RT-DETR改进最新LSKNet结构:顶会ICCV2023|原创改进遥感旋转目标检测SOTA!大选择性卷积核的领域首次探索

本文主要是介绍RT-DETR改进最新LSKNet结构:顶会ICCV2023|原创改进遥感旋转目标检测SOTA!大选择性卷积核的领域首次探索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

💡本篇内容: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

这篇关于RT-DETR改进最新LSKNet结构:顶会ICCV2023|原创改进遥感旋转目标检测SOTA!大选择性卷积核的领域首次探索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773916

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注