【YOLOv8改进 - 特征融合NECK】SDI:多层次特征融合模块,替换contact操作

简介: YOLOv8专栏探讨了该目标检测算法的创新改进,包括新机制和实战案例。文章介绍了U-Net v2,一种用于医学图像分割的高效U-Net变体,它通过SDI模块融合语义和细节信息,提升分割准确性。SDI模块结合空间和通道注意力,经通道减缩、尺寸调整和平滑后,用哈达玛积融合特征。提供的核心代码展示了SDI模块的实现。更多详情和论文、代码链接见原文。

YOLOv8目标检测创新改进与实战案例专栏

专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例

专栏链接: YOLOv8基础解析+创新改进+实战案例

介绍

image-20240717154057072

摘要

在本文中,我们介绍了U-Net v2,一种用于医学图像分割的新型、稳健且高效的U-Net变体。它旨在增强语义信息在低级特征中的注入,同时精细化高级特征的细节。对于输入图像,我们首先通过深度神经网络编码器提取多层次特征。接下来,我们通过从高级特征中注入语义信息,并通过Hadamard积整合来自低级特征的更精细细节,来增强每一层的特征图。我们新颖的跳跃连接使所有层次的特征都具备丰富的语义特征和复杂的细节。改进后的特征随后被传递到解码器进行进一步处理和分割。我们的方法可以无缝集成到任何编码器-解码器网络中。我们在多个公开的医学图像分割数据集上评估了我们的方法,包括皮肤病变分割和息肉分割,实验结果表明,我们的新方法在保持内存和计算效率的同时,在分割准确性上优于最先进的方法。代码可在:https://github.com/yaoppeng/U-Net v2 获取。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

SDI(Semantics and Detail Infusion)模块是U-Net v2架构中的核心组件,旨在提高医疗图像分割的效果。以下是SDI模块的详细介绍:

SDI模块的概念

SDI模块的主要目的是将高层特征中的语义信息与低层特征中的细节信息相结合,从而增强各级特征图的表示能力。这一模块通过简单高效的跳跃连接实现这一点,使得网络能够更好地捕捉图像的语义信息和细节信息。

SDI模块的结构

1. 空间和通道注意力机制

首先,SDI模块对编码器生成的每一级特征图应用空间和通道注意力机制。这一步骤使特征图能够整合局部的空间信息和全局的通道信息,公式如下:

$$ f1_i = \phi_{c_i}(\phi_{s_i}(f0_i)) $$

其中,$f0i$表示第$i$级的原始特征图,$\phi{si}$和$\phi{c_i}$分别表示空间和通道注意力机制的参数,$f1_i$是处理后的特征图。

2. 特征图的通道数减少

接下来,通过1×1卷积将$f1_i$的通道数减少到一个超参数$c$,得到新的特征图$f2_i$。

3. 特征图的调整

为了将特征图传送到解码器,SDI模块将每一级的特征图调整为相同的分辨率。调整后的特征图表示为$f3_{ij}$,其中$i$表示目标级别,$j$表示特征图的来源级别。调整操作包括:

  • 对于$j<i$的情况,使用自适应平均池化调整尺寸。
  • 对于$j=i$的情况,使用恒等映射。
  • 对于$j>i$的情况,使用双线性插值调整尺寸。

4. 特征图的平滑

调整尺寸后的特征图通过3×3卷积进行平滑,表示为$f4_{ij}$。

5. 哈达玛积

最后,使用哈达玛积将所有调整后的特征图融合在一起,增强每一级特征图的语义信息和细节信息,得到$f5_i$。

SDI模块的优势

  1. 语义和细节的融合:SDI模块通过将高层特征的语义信息与低层特征的细节信息相结合,增强了每一级特征图的表示能力。
  2. 简洁高效的跳跃连接:相较于传统的特征图拼接方式,SDI模块的跳跃连接更为简单高效,减少了计算复杂度和GPU内存使用。
  3. 提升分割精度:通过实验验证,SDI模块显著提升了U-Net v2在多种医疗图像分割任务中的精度。

核心代码

class SDI(nn.Module):
    def __init__(self, channel):
        super().__init__()

        # 创建一个包含4个卷积层的模块列表,每个卷积层的输入和输出通道数都为channel,卷积核大小为3x3,步长为1,填充为1
        self.convs = nn.ModuleList(
            [nn.Conv2d(channel, channel, kernel_size=3, stride=1, padding=1) for _ in range(4)])

    def forward(self, xs, anchor):
        # 创建一个与anchor形状相同的全1张量
        ans = torch.ones_like(anchor)
        target_size = anchor.shape[-1]  # 获取anchor的最后一个维度大小,即目标大小

        for i, x in enumerate(xs):
            # 如果当前张量x的最后一个维度大于目标大小,使用自适应平均池化将其调整为目标大小
            if x.shape[-1] > target_size:
                x = F.adaptive_avg_pool2d(x, (target_size, target_size))
            # 如果当前张量x的最后一个维度小于目标大小,使用双线性插值将其调整为目标大小
            elif x.shape[-1] < target_size:
                x = F.interpolate(x, size=(target_size, target_size),
                                  mode='bilinear', align_corners=True)

            # 将调整大小后的张量x经过对应的卷积层,并将结果与ans相乘
            ans = ans * self.convs[i](x)

        return ans  # 返回最终结果

task与yaml配置

详见: https://blog.csdn.net/shangyanaf/article/details/140498153

相关文章
|
7月前
|
机器学习/深度学习 编解码 自然语言处理
YOLOv8改进 | 主干篇 | RevColV1可逆列网络(特征解耦助力小目标检测)
YOLOv8改进 | 主干篇 | RevColV1可逆列网络(特征解耦助力小目标检测)
309 0
YOLOv8改进 | 主干篇 | RevColV1可逆列网络(特征解耦助力小目标检测)
|
1月前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目DWRSeg是一种高效的实时语义分割网络,通过将多尺度特征提取分为区域残差化和语义残差化两步,提高了特征提取效率。它引入了Dilation-wise Residual (DWR) 和 Simple Inverted Residual (SIR) 模块,优化了不同网络阶段的感受野。在Cityscapes和CamVid数据集上的实验表明,DWRSeg在准确性和推理速度之间取得了最佳平衡,达到了72.7%的mIoU,每秒319.5帧。代码和模型已公开。
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
|
5月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 特征融合】 YOGA iAFF :注意力机制在颈部的多尺度特征融合
【YOLOv8改进 - 特征融合】 YOGA iAFF :注意力机制在颈部的多尺度特征融合
|
5月前
|
计算机视觉 网络架构
【YOLOv10改进-特征融合】YOLO-MS MSBlock : 分层特征融合策略
YOLOv10专栏介绍了YOLO-MS,一个优化多尺度目标检测的高效框架。YOLO-MS通过MS-Block和异构Kernel选择提升性能,平衡了计算复杂度与准确性。它在不依赖预训练的情况下,在COCO上超越同类模型,如YOLO-v7和RTMDet。MS-Block包含不同大小卷积的分支,用于增强特征表示。代码示例展示了MSBlock类的定义,用于处理不同尺度特征。该模块可应用于其他YOLO模型以提升性能。更多详情和配置参见相关链接。
|
5月前
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv8改进 - 特征融合NECK】 GIRAFFEDET之GFPN :广义特征金字塔网络,高效地融合多尺度特征
YOLOv8专栏探讨了目标检测的创新改进,提出了GiraffeDet,一种轻量级主干和深度颈部模块结合的高效检测网络。GiraffeDet使用S2D-chain和GFPN,优化多尺度信息交换,提升检测性能。代码和论文可在相关链接找到。GFPN通过跳跃和跨尺度连接增强信息融合。文章还展示了核心组件如SPPV4、Focus和CSPStage的代码实现。
|
5月前
|
计算机视觉 网络架构
【YOLOv8改进 - 卷积Conv】DWRSeg:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
YOLO目标检测专栏探讨了YOLO的创新改进,如多尺度特征提取的DWRSeg网络。该网络通过区域残差化和语义残差化提升效率,使用DWR和SIR模块优化高层和低层特征。DWRSeg在Cityscapes和CamVid数据集上表现优秀,速度与准确性兼备。论文和代码已公开。核心代码展示了一个包含DWR模块的卷积层。更多配置详情见相关链接。
|
5月前
|
机器学习/深度学习 安全 固态存储
【YOLOv8改进 - 注意力机制】LS-YOLO MSFE:新颖的多尺度特征提取模块 | 小目标/遥感
YOLO系列目标检测模型的新发展,LS-YOLO专为滑坡检测设计。它使用多尺度滑坡数据集(MSLD)和多尺度特征提取(MSFE)模块,结合ECA注意力,提升定位精度。通过改进的解耦头,利用膨胀卷积增强上下文信息。在滑坡检测任务中,LS-YOLO相对于YOLOv5s的AP提高了2.18%,达到97.06%。论文和代码已开源。
|
6月前
|
计算机视觉
【YOLOv8改进 - 特征融合NECK】 HS-FPN :用于处理多尺度特征融合的网络结构,降低参数
MFDS-DETR是针对白细胞检测的创新方法,它通过HS-FPN和可变形自注意力解决规模差异和特征稀缺问题。HS-FPN利用通道注意力模块增强特征表达,改善多尺度挑战。代码和数据集可在给定链接获取。此方法在WBCDD、LISC和BCCD数据集上表现优越,证明了其有效性和通用性。YOLO系列文章提供了更多目标检测改进和实战案例。
|
6月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv8改进 | Neck | 添加双向特征金字塔BiFPN【含二次独家创新】
💡【YOLOv8专栏】探索特征融合新高度!BiFPN优化版提升检测性能🔍。双向加权融合解决信息丢失痛点,统一缩放增强模型效率🚀。论文&官方代码直达链接,模块化教程助你轻松实践📝。立即阅读:[YOLOv8涨点全攻略](https://blog.csdn.net/m0_67647321/category_12548649.html)✨
|
6月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | Neck | 在网络中替换c2f为融合蛇形卷积的C2f_DySnakeConv
本专栏介绍的DSCNet采用蛇形动态卷积,增强对细长弯曲结构(如血管)的特征提取。该卷积操作灵感来自蛇形曲线,能自适应调整权重以关注管状结构局部特征。通过动态卷积核,网络能更好地处理形状变异,提升目标检测的准确性和鲁棒性。
下一篇
DataWorks