【YOLOv10改进-特征融合篇】EVC(Explicit Visual Center): 中心化特征金字塔模块 | 小目标

简介: YOLO目标检测专栏探讨了对YOLO框架的创新改进,如中心化特征金字塔(CFP)。CFP引入了空间显式视觉中心方案和全局集中特征规范,通过轻量级MLP与并行视觉中心机制强化特征表示,尤其利于小目标检测。在YOLOv5和YOLOX基础上,CFP实现性能提升。相关代码示例展示了EVCBlock的结构,整合了LVCBlock和LightMLPBlock。更多详情和配置参见[YOLO基础解析+创新改进+实战案例](https://blog.csdn.net/shangyanaf/category_12303415.html)。

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

专栏链接: YOLOv10 创新改进有效涨点

摘要

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

创新点

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

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

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

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

yolov10 引入

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/140143687

相关文章
|
2月前
|
机器学习/深度学习 缓存
Block Transformer:通过全局到局部的语言建模加速LLM推理
Block Transformer是一种优化自回归语言模型推理效率的新架构,通过块级自注意力来平衡全局和局部依赖,提高吞吐量。模型包含嵌入器、块解码器和令牌解码器,其中块解码器处理全局依赖,令牌解码器处理局部细节。这种方法减轻了KV缓存的延迟和内存开销,尤其是在长序列处理中。实验显示,尽管Block Transformer参数量增加,但推理速度显著提升,尤其是在大块长度和优化的组件比例下,实现了性能与速度的平衡。
259 7
|
1月前
|
计算机视觉 网络架构
【YOLOv10改进-特征融合】YOLO-MS MSBlock : 分层特征融合策略
YOLOv10专栏介绍了YOLO-MS,一个优化多尺度目标检测的高效框架。YOLO-MS通过MS-Block和异构Kernel选择提升性能,平衡了计算复杂度与准确性。它在不依赖预训练的情况下,在COCO上超越同类模型,如YOLO-v7和RTMDet。MS-Block包含不同大小卷积的分支,用于增强特征表示。代码示例展示了MSBlock类的定义,用于处理不同尺度特征。该模块可应用于其他YOLO模型以提升性能。更多详情和配置参见相关链接。
|
26天前
|
机器学习/深度学习 移动开发 自然语言处理
【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点
【YOLOv8改进- 多模块融合改进】GhostConv + ContextAggregation 幽灵卷积与上下文聚合模块融合改进,助力小目标高效涨点
|
1月前
|
机器学习/深度学习 编解码 算法
【YOLOv8改进 - 特征融合NECK】SDI:多层次特征融合模块,替换contact操作
YOLOv8专栏探讨了该目标检测算法的创新改进,包括新机制和实战案例。文章介绍了U-Net v2,一种用于医学图像分割的高效U-Net变体,它通过SDI模块融合语义和细节信息,提升分割准确性。SDI模块结合空间和通道注意力,经通道减缩、尺寸调整和平滑后,用哈达玛积融合特征。提供的核心代码展示了SDI模块的实现。更多详情和论文、代码链接见原文。
|
24天前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - Backbone主干】清华大学CloFormer AttnConv :利用共享权重和上下文感知权重增强局部感知,注意力机制与卷积的完美融合
【YOLOv8改进 - Backbone主干】清华大学CloFormer AttnConv :利用共享权重和上下文感知权重增强局部感知,注意力机制与卷积的完美融合
|
2月前
|
机器学习/深度学习 前端开发 计算机视觉
【YOLOv8改进】Explicit Visual Center: 中心化特征金字塔模块(论文笔记+引入代码)
YOLO目标检测专栏介绍了YOLO的有效改进和实战案例,包括卷积、主干网络、注意力机制和检测头的创新。提出中心化特征金字塔(CFP)解决特征交互和局部区域忽视问题。CFP通过空间显式视觉中心方案和全局集中特征规范增强模型表现,尤其在YOLOv5和YOLOX上表现提升。创新点包括轻量级MLP和并行视觉中心机制,以捕获全局和局部信息。YOLOv8引入EVCBlock整合这些改进。详细代码和配置见链接。
|
3月前
|
计算机视觉 网络架构
【YOLOv8改进】MSBlock : 分层特征融合策略 (论文笔记+引入代码)
YOLO-MS是一个创新的实时目标检测器,通过多尺度构建块(MS-Block)和异构Kernel选择(HKS)协议提升多尺度特征表示能力。它在不依赖预训练权重和大型数据集的情况下,在MS COCO上超越了YOLO-v7和RTMDet,例如YOLO-MS XS版本(4.5M参数,8.7G FLOPs)达到了43%+的AP,比RTMDet高2%+。MS-Block利用分层特征融合和不同大小的卷积,而HKS协议根据网络深度调整Kernel大小,优化多尺度语义信息捕获。此外,YOLO-MS的模块化设计允许其作为即插即用的组件集成到其他YOLO模型中,提升它们的检测性能。
|
3月前
|
机器学习/深度学习 数据挖掘 测试技术
DETR即插即用 | RefineBox进一步细化DETR家族的检测框,无痛涨点
DETR即插即用 | RefineBox进一步细化DETR家族的检测框,无痛涨点
241 1
|
3月前
|
机器学习/深度学习 传感器 编解码
Hy-Tracker来啦 | 带有YOLO的跟踪算法家族再添新成员,尺度变化和遮挡都不是问题!
Hy-Tracker来啦 | 带有YOLO的跟踪算法家族再添新成员,尺度变化和遮挡都不是问题!
123 1
|
3月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 细节涨点篇 | UNetv2提出的一种SDI多层次特征融合模块(分割高效涨点)
YOLOv8改进 | 细节涨点篇 | UNetv2提出的一种SDI多层次特征融合模块(分割高效涨点)
545 2