【YOLOv10改进-注意力机制】CoordAttention: 用于移动端的高效坐标注意力机制

简介: YOLOv10专栏探讨了将位置信息融入通道注意力的创新方法,提出“坐标注意力”机制,改善移动网络性能。该机制通过两个1D特征编码捕捉空间依赖并保持位置细节,生成增强对象表示的注意力图。简单易整合到现有网络如MobileNet,几乎无额外计算成本,且在ImageNet及目标检测等任务中表现优越。实现代码展示了CoordAtt模块的工作流程。更多详情和配置见链接。

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

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

摘要

摘要

近期的移动网络设计研究显示,通道注意力(例如,压缩-激励注意力)在提升模型性能方面具有显著效果,但它们通常忽略了位置信息,而这对于生成空间选择性的注意力图是非常重要的。在本文中,我们通过将位置信息嵌入到通道注意力中,提出了一种用于移动网络的新型注意力机制,我们称之为“坐标注意力”。与通过2D全局池化将特征张量转换为单个特征向量的通道注意力不同,坐标注意力将通道注意力分解为沿两个空间方向分别聚合特征的两个1D特征编码过程。通过这种方式,可以沿一个空间方向捕获长距离依赖,同时沿另一个空间方向保留精确的位置信息。然后,所得到的特征图被分别编码为一对方向感知和位置敏感的注意力图,这两种图可以互补地应用于输入特征图,以增强感兴趣对象的表示。我们的坐标注意力简单且可以灵活地嵌入到经典的移动网络中,如MobileNetV2、MobileNeXt和EfficientNet,几乎不增加计算开销。广泛的实验表明,我们的坐标注意力不仅对ImageNet分类有益,更有趣的是,在下游任务中,如目标检测和语义分割,表现得更好。

创新点

  1. 将位置信息嵌入到通道注意力中,提升了移动网络设计的性能。
  2. 通过两个1D特征编码过程聚合沿着两个空间方向的特征,捕获长距离依赖性,并保留精确的位置信息。
  3. 生成方向感知和位置敏感的注意力图,可以应用于输入特征图,增强感兴趣对象的表示。
  4. 简单易用,几乎不增加计算开销,并且可以灵活地插入经典的移动网络结构。
  5. 在ImageNet分类以及目标检测和语义分割等下游任务中表现出更好的性能。

yolov10 引入


 class CoordAtt(nn.Module):
    def __init__(self, inp, oup, reduction=32):
        super(CoordAtt, self).__init__()
        self.pool_h = nn.AdaptiveAvgPool2d((None, 1))
        self.pool_w = nn.AdaptiveAvgPool2d((1, None))

        mip = max(8, inp // reduction)

        self.conv1 = nn.Conv2d(inp, mip, kernel_size=1, stride=1, padding=0)
        self.bn1 = nn.BatchNorm2d(mip)
        self.act = h_swish()

        self.conv_h = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0)
        self.conv_w = nn.Conv2d(mip, oup, kernel_size=1, stride=1, padding=0)


    def forward(self, x):
        identity = x

        n,c,h,w = x.size()
        x_h = self.pool_h(x)
        x_w = self.pool_w(x).permute(0, 1, 3, 2)

        y = torch.cat([x_h, x_w], dim=2)
        y = self.conv1(y)
        y = self.bn1(y)
        y = self.act(y) 

        x_h, x_w = torch.split(y, [h, w], dim=2)
        x_w = x_w.permute(0, 1, 3, 2)

        a_h = self.conv_h(x_h).sigmoid()
        a_w = self.conv_w(x_w).sigmoid()

        out = identity * a_w * a_h

        return out

task与yaml配置

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

相关文章
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】CoordAttention: 用于移动端的高效坐标注意力机制 (论文笔记+引入代码)
该专栏聚焦YOLO目标检测的创新改进与实战,介绍了一种新的移动网络注意力机制——坐标注意力。它将位置信息融入通道注意力,通过1D特征编码处理,捕获长距离依赖并保持位置精度。生成的注意力图能增强目标表示,适用于MobileNetV2、MobileNeXt和EfficientNet等网络,提高性能,且几乎不增加计算成本。在ImageNet分类和下游任务(目标检测、语义分割)中表现出色。YOLOv8中引入了CoordAtt模块,实现位置敏感的注意力。更多详情及配置见相关链接。
|
监控 计算机视觉 知识图谱
YOLOv10的改进、部署和微调训练总结
YOLOv10在实时目标检测中提升性能与效率,通过无NMS训练解决延迟问题,采用一致的双任务和效率-精度驱动的模型设计。YOLOv10-S比RT-DETR-R18快1.8倍,YOLOv10-B比YOLOv9-C延迟减少46%。新方法包括一致性双标签分配,优化计算冗余和增强模型能力。实验结果显示YOLOv10在AP和延迟上均有显著改善。文章还提供了部署和微调YOLOv10的示例代码。
1210 2
|
8月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv10改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
YOLOv10改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
745 6
YOLOv10改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
|
8月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
2227 2
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
机器学习/深度学习 计算机视觉
【YOLOv10改进-注意力机制】 MSDA:多尺度空洞注意力 (论文笔记+引入代码)
YOLO目标检测专栏探讨了ViT的改进,提出DilateFormer,它结合多尺度扩张注意力(MSDA)来平衡计算效率和关注域大小。MSDA利用局部稀疏交互减少冗余,通过不同头部的扩张率捕获多尺度特征。DilateFormer在保持高性能的同时,计算成本降低70%,在ImageNet-1K、COCO和ADE20K任务上取得领先结果。YOLOv8引入了MultiDilatelocalAttention模块,用于实现膨胀注意力。更多详情及配置见相关链接。
|
机器学习/深度学习
YOLOv10优改系列一:YOLOv10融合C2f_Ghost网络,让YoloV10实现性能的均衡
本文介绍了YOLOv10的性能优化,通过融合Ghost模块和C2f结构,实现了网络性能的均衡。GhostNet通过GhostModule和GhostBottleNeck减少参数量,适用于资源有限的场景。YOLOv10-C2f_Ghost在减少参数和计算量的同时,保持了与原始网络相当或更好的性能。文章还提供了详细的代码修改步骤和可能遇到的问题解决方案。
1467 1
YOLOv10优改系列一:YOLOv10融合C2f_Ghost网络,让YoloV10实现性能的均衡
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv10改进-注意力机制】Polarized Self-Attention: 极化自注意力,双重注意力机制
YOLOv10引入了极化自注意(PSA)块,结合通道和空间注意力,降低信息损失。PSA通过极化过滤保持高分辨率,并用增强处理非线性分布。在2D姿态估计和分割任务上提升1-2点精度,相比基线提升2-4点。代码示例展示了PSA模块如何集成到模型中。更多配置详情见相关链接。
|
11月前
|
机器学习/深度学习 计算机视觉 Ruby
【YOLOv11改进 - 注意力机制】iRMB: 倒置残差移动块,即插即用的轻量注意力
【YOLOv11改进 - 注意力机制】iRMB: 倒置残差移动块,即插即用的轻量注意力本文提出了一种新的轻量级密集预测模型EMO,结合高效的倒置残差块(IRB)和Transformer组件,设计了单残差元移动块(MMB)和倒置残差移动块(iRMB)。EMO在ImageNet-1K、COCO2017和ADE20K基准上表现出色,参数、效率和准确度达到良好平衡,尤其在iPhone14上运行速度比EdgeNeXt快2.8-4.0倍。
【YOLOv11改进 - 注意力机制】iRMB: 倒置残差移动块,即插即用的轻量注意力
|
机器学习/深度学习 编解码 计算机视觉
【YOLOv10改进-注意力机制】HAT(Hybrid Attention Transformer,)混合注意力机制
YOLOv10专栏介绍了一种名为HAT的新方法,旨在改善Transformer在图像超分辨率中的表现。HAT结合通道和窗口注意力,激活更多像素并增强跨窗口信息交互。亮点包括:1) 更多像素激活,2) 有效跨窗口信息聚合,3) 任务特定的预训练策略。HAT模型包含浅层特征提取、深层特征提取和图像重建阶段。提供的代码片段展示了HAT类的定义,参数包括不同层的深度、注意力头数量、窗口大小等。欲了解更多详情和配置,请参考给定链接。
|
编解码 计算机视觉 网络架构
【YOLOv10改进- 特征融合NECK】BiFPN:加权双向特征金字塔网络
YOLOv10专栏探讨了目标检测的效率提升,提出BiFPN,一种带加权和自适应融合的双向特征金字塔网络,优化了多尺度信息传递。EfficientDet系列利用这些创新在效率与性能间取得更好平衡,D7模型在COCO测试集上达到55.1 AP。YOLOv8引入MPDIoU,结合BiFPN学习分支权重,提高检测精度。详情见[YOLOv10 创新改进](https://blog.csdn.net/shangyanaf/category_12712258.html)和相关文章。