【YOLOv8改进 - 特征融合NECK】 HS-FPN :用于处理多尺度特征融合的网络结构,降低参数

简介: MFDS-DETR是针对白细胞检测的创新方法,它通过HS-FPN和可变形自注意力解决规模差异和特征稀缺问题。HS-FPN利用通道注意力模块增强特征表达,改善多尺度挑战。代码和数据集可在给定链接获取。此方法在WBCDD、LISC和BCCD数据集上表现优越,证明了其有效性和通用性。YOLO系列文章提供了更多目标检测改进和实战案例。

摘要

在标准的医院血液检测中,传统过程需要医生使用显微镜从患者的血液显微图像中手动分离白细胞。然后,这些分离出的白细胞通过自动白细胞分类器进行分类,以确定血液样本中不同类型白细胞的比例和数量,从而辅助疾病诊断。这种方法不仅耗时费力,而且由于图像质量和环境条件等因素,容易出现错误,从而可能导致后续分类不正确和误诊。现代白细胞检测方法在处理具有较少白细胞特征的图像和不同白细胞规模差异方面存在局限性,导致大多数情况下结果不尽如人意。

为了解决这些问题,本文提出了一种创新的白细胞检测方法:多层次特征融合和可变形自注意力 DETR(MFDS-DETR)。为了解决白细胞规模差异问题,我们设计了高层次筛选特征融合金字塔(HS-FPN),实现多层次融合。该模型使用高层次特征作为权重,通过通道注意力模块过滤低层次特征信息,然后将筛选后的信息与高层次特征融合,从而增强模型的特征表达能力。此外,我们通过在编码器中引入多尺度可变形自注意模块,并在解码器中使用自注意和交叉可变形注意机制,解决了白细胞特征稀缺问题,这有助于提取白细胞特征图的全局特征。

通过与其他尖端白细胞检测模型在私有 WBCDD、公共 LISC 和 BCCD 数据集上的比较,验证了所提出的 MFDS-DETR 方法的有效性、优越性和通用性。我们的源代码和私有 WBCCD 数据集可在以下地址获得:https://github.com/JustlfC03/MFDS-DETR。

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

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

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

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

image-20240622094143702

HS-FPN(Hierarchical Scale-based Feature Pyramid Network)是一种用于多尺度特征融合的网络结构,旨在解决白细胞图像中的多尺度挑战,从而提高模型对白细胞的准确识别能力。HS-FPN包括两个主要组件:特征选择模块和特征融合模块。

  1. 特征选择模块:在特征选择模块中,不同尺度的特征图经过筛选过程。这个过程有助于选择高级和低级特征图中的信息。

  2. 特征融合模块:在特征融合模块中,经过筛选的特征与高级语义特征进行逐点相加。这种融合方式能够有效地将高级语义信息与低级特征属性相结合,从而提高对白细胞图像的特征表达能力。

HS-FPN利用通道注意(Channel Attention,CA)模块来利用高级语义特征作为权重,以过滤低级特征。这种筛选后的特征与高级语义特征相加,实现了多尺度特征融合,从而提高了模型的特征表达能力。通过这种方式,HS-FPN能够更好地捕获白细胞图像的全面特征信息,从而提高白细胞检测的准确性和效率。

yolov8 代码引入

# 定义HSFPN通道注意力机制类
class HSFPNChannelAttention(nn.Module):
    def __init__(self, in_planes, ratio=4, flag=True):
        super(HSFPNChannelAttention, self).__init__()
        # 自适应平均池化,将输入特征图变为1x1
        self.avg_pool = nn.AdaptiveAvgPool2d(1)
        # 自适应最大池化,将输入特征图变为1x1
        self.max_pool = nn.AdaptiveMaxPool2d(1)

        # 卷积层1,将输入通道数降维
        self.conv1 = nn.Conv2d(in_planes, in_planes // ratio, 1, bias=False)
        # ReLU激活函数
        self.relu = nn.ReLU()
        # 卷积层2,将通道数恢复
        self.conv2 = nn.Conv2d(in_planes // ratio, in_planes, 1, bias=False)

        # 标志位,决定输出是否与输入相乘
        self.flag = flag
        # Sigmoid激活函数
        self.sigmoid = nn.Sigmoid()

        # 初始化卷积层权重
        nn.init.xavier_uniform_(self.conv1.weight)
        nn.init.xavier_uniform_(self.conv2.weight)

    def forward(self, x):
        # 通过平均池化和两层卷积计算通道注意力
        avg_out = self.conv2(self.relu(self.conv1(self.avg_pool(x))))
        # 通过最大池化和两层卷积计算通道注意力
        max_out = self.conv2(self.relu(self.conv1(self.max_pool(x))))
        # 将平均池化和最大池化的结果相加
        out = avg_out + max_out
        # 根据flag决定是否与输入相乘并返回结果
        return self.sigmoid(out) * x if self.flag else self.sigmoid(out)

task与yaml配置

详见:hhttps://blog.csdn.net/shangyanaf/article/details/139877859

相关文章
|
3月前
|
机器学习/深度学习 算法
PSO和GA优化BP神经网络参数
PSO和GA优化BP神经网络参数
108 5
|
1月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族是什么?不同规格CPU型号、处理器主频及网络性能参数均不同
阿里云ECS实例规格族是指具有不同性能特点和适用场景的实例类型集合。不同规格族如计算型c9i、通用算力型u1、经济型e等,在CPU型号、主频、网络性能、云盘IOPS等方面存在差异。即使CPU和内存配置相同,性能参数和价格也各不相同,适用于不同业务需求。
|
7月前
|
编解码 异构计算
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
481 10
RT-DETR改进策略【Neck】| BiFPN:双向特征金字塔网络-跨尺度连接和加权特征融合
|
7月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
260 3
RT-DETR改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
|
7月前
|
机器学习/深度学习 编解码 TensorFlow
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
399 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构
|
7月前
|
机器学习/深度学习 自动驾驶 计算机视觉
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
330 61
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 GhostNet V1 基于 Ghost Module 和 Ghost Bottlenecks的轻量化网络结构
|
7月前
|
计算机视觉
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
207 12
RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络
|
7月前
|
机器学习/深度学习 编解码 计算机视觉
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
293 12
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为:Swin Transformer,提高多尺度特征提取能力
|
7月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
268 10
RT-DETR改进策略【Neck】| ECCV-2024 RCM 矩形自校准模块 优化颈部网络
|
7月前
|
计算机视觉 Perl
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为CVPR-2024 PKINet 获取多尺度纹理特征,适应尺度变化大的目标
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为CVPR-2024 PKINet 获取多尺度纹理特征,适应尺度变化大的目标
196 10
RT-DETR改进策略【Backbone/主干网络】| 替换骨干网络为CVPR-2024 PKINet 获取多尺度纹理特征,适应尺度变化大的目标

热门文章

最新文章