本文次要对指标检测算法Conformer进行讲述,本文逻辑构造和论文保持一致。
论文:Conformer: Local Features Coupling Global Representations for Visual Recognition
代码: https://github.com/pengzhilia...

摘要

  1. 在卷积神经网络 (CNN) 中,卷积操作善于提取部分特色,但难以捕捉全局示意
  2. 在本文中,咱们提出了一种称为 Conformer 的混合网络结构,以利用卷积运算和自注意力机制来加强示意学习。 Conformer 源于特色耦合单元 (FCU),它以交互方式交融不同分辨率下的部分特色和全局示意。 Conformer 采纳并发构造,最大限度保留部分特色和全局表征。
  3. 在 ImageNet 上的性能比transformer(DeiT-B)高 2.3%。 在 MSCOCO 上,它在对象检测和实例宰割方面的性能别离比 ResNet-101 高 3.7% 和 3.6%

钻研背景

  1. 卷积神经网络 (CNN)具备显着先进的计算机视觉工作,例如图像分类、对象检测和实例宰割。 这在很大水平上归功于卷积操作,它以分层的形式收集部分特色作为弱小的图像示意。 只管在部分特征提取方面具备劣势,但 CNN 难以捕获全局表征,这通常对高级计算机视觉工作至关重要。 一个直观的解决方案是扩充感触野,但这可能须要更密集但具备破坏性的池化操作。
  2. 最近,transformer 架构 已被引入视觉工作。 ViT 办法 通过宰割每个图像成带有地位嵌入的patch来构建一个tokens,并利用级联transformer块来提取参数化向量作为视觉示意。 因为自注意力机制和多层感知器(MLP)构造,transformer反映了简单的空间变换和长距离特色依赖性,形成了全局示意。 可怜的是,察看到视觉transformer疏忽了部分特色细节,这升高了背景和前景之间的可分别性。 一些改良的视觉转换器提出了一个标记化模块或利用 CNN 特色图作为输出标记来捕捉特色相邻信息。 然而,对于如何将部分特色和全局示意准确地互相嵌入的问题依然存在

钻研现状

  1. 在深度学习时代,CNN能够被视为具备不同接管场的部分特色的分层集成。 可怜的是,大多数 CNNs善于提取部分特色,但难以捕获全局线索。
  2. CNN: 为了缓解这种限度,一种解决方案是通过引入更深的架构和/或更多的池化操作来定义更大的感触野 。 空洞卷积办法 减少了采样步长,而可变形卷积 学习了采样地位。 SENetGENet 提出应用 global Avgpooling 来聚合全局上下文,而后用它来从新加权特色通道,而 CBAM 别离应用 global Maxpooling 和 global Avgpooling 在空间和通道维度上独立地细化特色。

    另一种解决方案是全局注意力机制 ,它在自然语言解决 中展现了捕捉长距离依赖的微小劣势。 受非部分均值办法的启发,非部分操作 以自留神形式引入 CNN,以便每个地位的响应是所有(全局)地位的特色的加权和。 留神加强卷积网络将卷积特色图与自留神特色图连接起来,以加强卷积操作以捕捉近程交互。 关系网络提出了一个对象留神模块,通过外观特色和几何形态之间的交互同时解决一组对象。

    只管获得了停顿,但将全局线索引入 CNN 的现有解决方案具备显著的毛病。 对于第一种解决方案,更大的感触野须要更密集的池化操作,这意味着较低的空间分辨率。对于第二种解决方案,如果卷积操作没有与注意力机制正确交融,部分特色细节可能会好转。

  3. Transformer: 作为一项开创性工作,ViT验证了纯Transformer架构在计算机视觉工作中的可行性。 为了利用长距离依赖性,transformer 块充当独立的架构或被引入 CNN 以进行图像分类、指标检测 、语义宰割 、图像增强和图像生成。 然而,Transformers 常常疏忽部分特色细节。 为解决这个问题,DeiT提出应用蒸馏token将基于 CNN 的特色转移到视觉transformer,而 T2T-ViT 提出应用tokenization模块将图像递归重组为思考相邻像素的标记。 DETR 办法将 CNN 提取的部分特色馈送到转换器编码器-解码器,以串行形式对特色之间的全局关系进行建模。

    可怜的是,察看到视觉transformer疏忽了部分特色细节,这升高了背景和前景之间的可分别性。 一些改良的视觉transformer 提出了一个tokenization模块或利用 CNN 特色图作为输出token来捕捉特色相邻信息。 然而,对于如何将部分特色和全局示意准确地互相嵌入的问题依然存在

钻研内容

Overview

  1. 卷积特色和patch embedding两种风格特征相互交融。在Conformer中,咱们间断将transformer分支的全局上下文馈送到卷积特色图,以增强CNN分支的全局感知能力。 相似地,来自 CNN 分支的部分特色逐步反馈到patch embedding中,以丰盛transformer分支的部分细节。 这样的过程形成了相互作用。
  2. Conformer 由一个骨干模块、双分支、桥接双分支的 FCU 和用于双分支的两个分类器(一个 fc 层)组成。
  3. 骨干模块:骨干模块是一个 7×7 卷积,步长为 2,而后是一个 3×3最大池化,步长为 2,用于提取初始部分特色(例如,边缘和纹理信息)。
  4. 双分支:而后将它们馈送到双分支。 CNN 分支和transformer分支别离由N(例如12)个反复的卷积块和transformer 块组成。 这样的并发构造意味着CNN和transformer分支能够别离最大水平地保留部分特色和全局示意。
  5. FCU: FCU 作为桥接模块,将 CNN 分支中的部分特色与transformer分支中的全局示意交融,见下图 (b)所示。 FCU 从第二个块开始利用,因为两个分支的初始化特色是雷同的。 沿着分支,FCU 以交互方式逐渐交融特色图和patch embedding。
  6. 分类:最初,对于 CNN 分支,所有特色都被会集并馈送到一个分类器。 对于transformer 分支,类token 被取出并馈送到另一个分类器。 在训练过程中,应用两个穿插熵损失来别离监督两个分类器。 损失函数的重要性依据教训设置为雷同。 在推理过程中,将两个分类器的输入简略概括为预测后果

Network Structure

  1. CNN分支: 上图(b)所示,CNN分支采纳特色金字塔构造,特色图的分辨率随着网络深度的减少而升高,而通道数减少。 咱们将整个分支分为 4 个阶段。 每个stage由多个卷积块组成,每个卷积块蕴含n个bottlenecks。 遵循 ResNet 中的定义,bottlenecks蕴含 1×1 卷积(减小通道数)、3×3 空间卷积、1×1 卷积(复原通道数)以及输出和输入之间的残差连贯。 试验中,n在第一个卷积块中设置为1,在随后的N-1个卷积块中满足≥2。

    transformer 通过一步将图像patch投影到向量中,导致部分细节失落。 而在 CNN 中,卷积核滑动重叠的过特色图,这提供了保留精密部分特色的可能性。 因而,CNN 分支可能为transformer分支间断提供部分特色细节。

  2. Transformer Branch: 相似ViT ,该分支蕴含N个反复的transformer块。 如上图(b) 所示,每个 Transformer 块由一个多头自注意力模块和一个 MLP 块组成。在每一层之前利用layernorm,并且在自注意力层和 MLP 块这两个层中都有残差连贯 。咱们将骨干模块生成的特色图压缩成 14×14 的patch embedding,而没有重叠,通过线性投影层,这是一个步长为 4 的 4×4 卷积。 思考到 CNN 分支(3×3 卷积)对部分特色和空间地位信息进行编码 ,不再须要地位嵌入。 这有助于进步上游视觉工作的图像分辨率。
  3. FCU: 给定CNN分支中的特色图和transformer分支中的patch embedding,如何打消它们之间的错位是一个重要问题。 为了解决这个问题,咱们倡议 FCU 以交互方式将部分特色与全局示意间断耦合。

    一方面,咱们必须意识到CNN和transformer的特色维度不统一。 CNN特色图的维度为C×H×W(C、H、W是通道、高度和宽度),而patch embeddings的形态为(K+1)×E,其中K、1和E别离示意图像块的数量、类别 token和embedding维度。 当馈送到transformer分支时,特色图首先须要通过 1×1 卷积来对齐patch embedding的通道数。 而后应用下采样模块(上图(a))实现空间维度对齐。最初,特色图增加patch embedding,如上图(b)所示。 当从transformer branch 反馈到CNN 分支时,patch embedding须要上采样(上图(a))以对齐空间尺度。 而后通过 1×1 卷积将通道维度与 CNN 特色图的维度对齐,并增加到 特色图中。同时,LayerNorm 和 BatchNorm 模块用于对特色进行正则化。

    另一方面,特色图和patch embedding之间存在显着的语义差距,即特色图是从部分卷积算子中收集的,而patch embedding与全局自我聚合。 注意力机制。 因而在每个块(除了第一个)中利用 FCU 以逐渐填补语义空白。