目标检测算法改进系列之嵌入动态蛇形卷积模块DySnakeConv

动态蛇形卷积模块DySnakeConv

血管、道路等拓扑管状结构的精确分割在各个领域都至关重要,确保下游任务的准确性和效率。 然而,许多因素使任务变得复杂,包括薄的局部结构和可变的全局形态。在这项工作中,我们注意到管状结构的特殊性,并利用这些知识来指导我们的 DSCNet 在三个阶段同时增强感知:特征提取、特征融合、 和损失约束。 首先,我们提出了一种动态蛇卷积,通过自适应地关注细长和曲折的局部结构来准确捕获管状结构的特征。 随后,我们提出了一种多视图特征融合策略,以补充特征融合过程中多角度对特征的关注,确保保留来自不同全局形态的重要信息。 最后,提出了一种基于持久同源性的连续性约束损失函数,以更好地约束分割的拓扑连续性。 2D 和 3D 数据集上的实验表明,与多种方法相比,我们的 DSCNet 在管状结构分割任务上提供了更好的准确性和连续性。 我们的代码是公开的。

主要的挑战源于细长微弱的局部结构特征与复杂多变的全局形态特征。本文关注到管状结构细长连续的特点,并利用这一信息在神经网络以下三个阶段同时增强感知:特征提取、特征融合和损失约束。分别设计了动态蛇形卷积(Dynamic Snake Convolution),多视角特征融合策略与连续性拓扑约束损失。
结构图

DySnakeConv代码实现

参考链接:pytorch代码实现之动态蛇形卷积模块DySnakeConv

具体修改步骤

common.py文件修改

pytorch代码实现之动态蛇形卷积模块DySnakeConv中的Class定义部分添加至common.py中的最后。

yolo.py文件修改

将C3_DySnake模块添加至parse_model函数中
C3_DySnake添加示意图
如果需要用DySnakeConv替代原有卷积,则需进一步修改:
DySnakeConv添加

以YOLOv5 v6.0版本为例,修改.yaml配置文件

Backbone修改

配置修改

Neck部分修改

方式1:只替换其中Conv卷积层,直接用DySnakeConv替换即可
方式1
方式2: 在Conv卷积层之后添加DySnakeConv,保持通道数,并修改网络层编号

方式2


http://www.niftyadmin.cn/n/5117582.html

相关文章

写一个自己的编码风格校验工具

文章目录 1. 目标2. 代码实现3. 结果验证1. 目标 我们知道java编译器把Java程序源码编译成字节码的时候,会对Java程序源码做各方面的检查校验,这些校验主要是以程序“写得对不对”为出发点,但不会校验程序“写得好不好”。有鉴于此,业界出现了许多针对程序“写得好不好”的…

【数据库】内联结、自联结、自然联结、外联结(left、right、full)

联结表 基础联结等值联结内联结 INNER JOIN 高级联结自联结 SELF JOIN自然联结 NATURAL JOIN外联结 OUTER JOIN左外联结 LEFT JOIN右外联结 RIGHT JOIN全外联结 FULL JOIN s q l sql sql 最强大的功能之一就是能在数据查询中联结(join)表。 在一个大项目…

docker-rabbitmq 安装依赖

出现的问题如下: channel error; protocol method: #method(reply-code404, reply-textNOT_FOUND - no channel error; protocol method: #method<channel.close>(reply-code404, reply-textNOT_FOUND - no 查看rabbitmq 客户端是否存在如…

大众出版深陷囹圄,教育学术出版坚挺丨十大国际出版集团2022/2023财年出版业务分析

近期,各大国际出版传媒集团陆续披露了2022/2023财年报告,由此我们可以洞察学术出版、教育出版及大众出版领域的发展趋势和业务布局变化,为国内同行提供借鉴,助推我国出版企业更多更快进入第一梯队。一些未公开数据的家族企业&…

开发常用的 Linux 命令知识积累

查看硬盘的使用情况df -h单元为根据大小适当显示,-m单位为M Linux中查找文件夹的命令是find命令。 全盘搜索,也可以指定目录搜索。find 搜索目录 -name 目标名字,find / -name file liunx自己总结常见命令 执行命令 含义 cd ~ 切换到登录…

C#实现对数据库字节数组判断

/// <summary>/// 判断字节数组是否为空&#xff0c;空返回false 不为空true/// </summary>/// <param name"object1"></param>/// <returns>判断字节数组object1是否为空&#xff0c;空返回false 不为空true</returns>public s…

在 Ubuntu 16.04 上从0到1教你如何移植osqp

1 现在给你一些osqp的程序和库的安装,你学习完成以后,请你结合网络上的优秀资料,帮我做些事情 git clone --recursive https://github.com/osqp/osqp cd osqp mkdir build cd build cmake --build . --target install您提供的是一个简单的安装步骤,它主要是从GitHub克隆osq…

计算机视觉中的数据预处理与模型训练技巧总结

计算机视觉主要问题有图像分类、目标检测和图像分割等。针对图像分类任务&#xff0c;提升准确率的方法路线有两条&#xff0c;一个是模型的修改&#xff0c;另一个是各种数据处理和训练的技巧(tricks)。图像分类中的各种技巧对于目标检测、图像分割等任务也有很好的作用&#…