【YOLOv8改进】Explicit Visual Center: 中心化特征金字塔模块(论文笔记+引入代码)

简介: YOLO目标检测专栏介绍了YOLO的有效改进和实战案例,包括卷积、主干网络、注意力机制和检测头的创新。提出中心化特征金字塔(CFP)解决特征交互和局部区域忽视问题。CFP通过空间显式视觉中心方案和全局集中特征规范增强模型表现,尤其在YOLOv5和YOLOX上表现提升。创新点包括轻量级MLP和并行视觉中心机制,以捕获全局和局部信息。YOLOv8引入EVCBlock整合这些改进。详细代码和配置见链接。

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

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

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

摘要

摘要 - 视觉特征金字塔在各种应用中展示了其在效率和有效性上的优势。然而,现有方法过分集中于层间特征交互,却忽略了同层特征调控,这在实践中被证明是有益的。尽管一些方法尝试借助注意力机制或视觉变换器(Vision Transformer)学习一个紧凑的同层特征表示,但它们忽略了对于密集预测任务而言重要的被遗漏的角落区域。为了解决这个问题,在本文中,我们提出了一个用于目标检测的集中化特征金字塔(CFP),它基于全局显式的集中特征调控。具体来说,我们首先提出了一个空间显式的视觉中心方案,其中一个轻量级的多层感知机(MLP)被用来捕捉全局长距离依赖性,而一个并行的可学习视觉中心机制被用来捕捉输入图像的局部角落区域。基于此,我们接着提出了一个自上而下的通用特征金字塔的全局集中调控方式,其中从最深的同层特征获得的显式视觉中心信息被用来调节前端浅层特征。与现有的特征金字塔相比,CFP不仅能够捕捉全局长距离依赖性,而且还能高效地获得一个全面且具有区分度的特征表示。在具有挑战性的MS-COCO数据集上的实验结果验证了我们提出的CFP在最先进的YOLOv5和YOLOX目标检测基线上能够实现一致的性能提升。

创新点

中心化特征金字塔(CFP)的创新点主要包括:

  1. 空间显式视觉中心方案:CFP首次提出了一种全新的空间显式视觉中心(EVC)方案,该方案通过一个轻量级的多层感知机(MLP)捕捉全局长距离依赖关系,以及通过一个并行的可学习视觉中心机制聚集输入图像的局部角落区域。这种结合了全局和局部特征的方法,有效地提升了模型对于不同尺寸和位置的目标的检测能力。

  2. 全局集中特征规范(GCR):在特征金字塔中引入了全局集中特征规范的概念,该策略利用自上而下的方式,使用从最深层的同层特征获得的视觉中心信息来调整前端浅层特征。这种方法强化了浅层特征的表达能力,使其能够受益于深层特征的全局信息,从而提高了特征的表示力和区分度。

  3. 轻量级MLP与并行视觉中心机制:通过采用轻量级MLP来减少计算复杂度,同时确保模型能够捕捉到全局的长程依赖性。并行的视觉中心机制则专注于捕获局部的角落信息,这对于识别小物体或者在复杂场景中的目标尤为重要。

yolov8 引入

class EVCBlock(nn.Module):
    def __init__(self, c1, c2, channel_ratio=4, base_channel=16):
        super().__init__()
        expansion = 2
        ch = c2 * expansion
        # Stem stage: get the feature maps by conv block (copied form resnet.py) 进入conformer框架之前的处理
        self.conv1 = nn.Conv2d(c1, c1, kernel_size=7, stride=1, padding=3, bias=False)  # 1 / 2 [112, 112]
        self.bn1 = nn.BatchNorm2d(c1)
        self.act1 = nn.ReLU(inplace=True)
        self.maxpool = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)  # 1 / 4 [56, 56]

        # LVC
        self.lvc = LVCBlock(c1, c2, num_codes=64)  # c1值暂时未定
        # LightMLPBlock
        self.l_MLP = LightMLPBlock(c1, c2, ksize=1, stride=1, act="silu", act_layer=nn.GELU, mlp_ratio=4., drop=0.,
                                   use_layer_scale=True, layer_scale_init_value=1e-5, drop_path=0.,
                                   norm_layer=GroupNorm)
        self.cnv1 = nn.Conv2d(ch, c2, kernel_size=1, stride=1, padding=0)

    def forward(self, x):
        x1 = self.maxpool(self.act1(self.bn1(self.conv1(x))))
        # LVCBlock
        x_lvc = self.lvc(x1)
        # LightMLPBlock
        x_lmlp = self.l_MLP(x1)
        # concat
        x = torch.cat((x_lvc, x_lmlp), dim=1)
        x = self.cnv1(x)
        return x

task与yaml配置

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

相关文章
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【Neck】| 2023 显式视觉中心EVC 优化特征提取金字塔,对密集预测任务非常有效
YOLOv11改进策略【Neck】| 2023 显式视觉中心EVC 优化特征提取金字塔,对密集预测任务非常有效
475 8
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数
YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数
3772 6
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
2686 13
YOLOv11改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF
|
计算机视觉
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
3115 10
YOLOv11改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进v11颈部网络
|
机器学习/深度学习 PyTorch TensorFlow
YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
1018 12
YOLOv11改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
1413 10
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
机器学习/深度学习 资源调度 算法
YOLOv11改进策略【损失函数篇】| 引入Soft-NMS,提升密集遮挡场景检测精度,包括GIoU-NMS、DIoU-NMS、CIoU-NMS、SIoU-NMS、 EIou-NMS
YOLOv11改进策略【损失函数篇】| 引入Soft-NMS,提升密集遮挡场景检测精度,包括GIoU-NMS、DIoU-NMS、CIoU-NMS、SIoU-NMS、 EIou-NMS
5135 6
|
机器学习/深度学习 数据可视化 计算机视觉
YOLOv11改进策略【注意力机制篇】| 2024 SCSA-CBAM 空间和通道的协同注意模块
YOLOv11改进策略【注意力机制篇】| 2024 SCSA-CBAM 空间和通道的协同注意模块
1821 2
YOLOv11改进策略【注意力机制篇】| 2024 SCSA-CBAM 空间和通道的协同注意模块
|
机器学习/深度学习 编解码 知识图谱
YOLOv11改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
YOLOv11改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失
1062 0
YOLOv11改进策略【卷积层】| HWD,引入`Haar小波变换`到下采样模块中,减少信息丢失