前言
本文介绍了现有实例切割办法的一些缺点,以及transformer用于实例切割的困难,提出了一个根据transformer的高质量实例切割模型SOTR。
经试验表明,SOTR不只为实例切割供给了一个新的结构,还在MS Coco数据集上超过了SOTA实例切割办法。
本文来自大众号CV技能攻略的论文分享系列
重视大众号CV技能攻略 ,专心于核算机视觉的技能总结、最新技能盯梢、经典论文解读。
论文:SOTR: Segmenting Objects with Transformers
代码:github.com/easton-cau/…
Background
现代实例切割办法一般建立在CNN上,并遵从先检测后切割的范式,该范式由用于辨认和定位所有方针的检测器和用于生成切割掩码的掩码分支组成。这种切割思想的成功归功于以下长处,即translation equivariance和location,但**面临以下障碍:****1)因为感触野有限,CNN在高层视觉语义信息中相对缺乏特征的连贯性来相关实例,导致在大方针上的切割成果次优;**2)切割质量和推理速度都严峻依靠方针检测器,在复杂场景下功能较差。
为了战胜这些缺点,最近的许多研讨倾向于摆脱先检测后切割的办法,转向自下而上的战略,该战略学习每个像素的嵌入和实例感知特征,然后运用后处理技能依据嵌入特性将它们连续分组为实例。因而,这些办法能够很好地保存方位和部分相干信息。但是,自下而上模型的****主要缺点是聚类不稳定(如fragmented和joint masks),对不同场景的数据集的泛化能力较差。
此外,transformer能够容易地捕获全局特征,并自然地建模长途语义依靠。特别是,self-attention是transformer的关键机制,它广泛地聚合了来自整个输入域的特征和方位信息。因而,根据transformer的模型能够更好地区别具有相同语义类别的重叠实例,这使得它们比CNN更适合于高层视觉任务。
但是,这些根据transformer的办法依然存在缺乏。一方面,transformer在提取低层特征时体现欠安,导致对小方针的过错猜测。另一方面,因为特征映射的广泛性,需要很多的内存和时间,特别是在练习阶段。
Contributions
为了战胜这些缺点,论文提出了一种创新的自下而上模型SOTR,该模型奇妙地结合了CNN和transformer的长处。
SOTR的重点是研讨如何更好地运用transformer提取的语义信息。为了降低传统self-attention机制的存储和核算复杂度,论文提出了双留意力,它选用了传统留意力矩阵的稀少表明。
1.论文提出了一种创新的CNN-Transformer-hybrid实例切割结构,称为SOTR。它能够有效地对部分衔接和长途依靠进行建模,运用输入域中的CNN骨干和transformer编码器,使它们具有高度的体现力。更重要的是,SOTR经过直接切割方针实例而不依靠于box检测,大大简化了整个流水线。
2.**规划了双留意力,这是一种新的position-sensitive self-attention机制,**是为transformer量身定做的。与原来的transformer比较,SOTR这种规划良好的结构在核算量和内存上都有很大的节约,特别是关于像实例切割这样的密布猜测的大输入。
3.除了纯粹根据transformer的模型外,提出的SOTR不需要在大数据集上进行预练习,就能够很好地推广归纳误差。因而,SOTR更容易应用于数据量缺乏的状况。
4.在MS Coco基准上,SOTR的功能达到了运用ResNet-101-FPN骨干的AP的40.2%,在精确度上超过了大多数最SOTA办法。此外,因为twin transformer对全局信息的提取,SOTR在中型物体(59.0%)和大型物体(73.0%)上体现出显着更好的功能。
Methods
SOTR是一种CNN-Transformer混合实例切割模型,它能够一起学习2D表明并轻松捕获长途信息。它遵从直接切割的范例,首要将输入特征映射划分为patches,然后在动态切割每个实例的一起猜测每个patch的类别。
具体地说,该模型主要由三部分组成:1)骨干模块,用于从输入图画中提取图画特征,特别是低层特征和部分特征;2)transformer,用于建模全局和语义依靠联系;3)多级上采样模块,用于将生成的特征图与相应的卷积核进行动态卷积运算,生成终究的切割掩模。
SOTR构建在简略的FPN骨干上,只需最少的修改。该模型将FPN特征P2-P6展平,并在将它们送入transformer之前用方位嵌入来弥补它们。在transformer之后添加了两个头,用于猜测实例类并产生动态卷积核。多级上采样模块将FPN中的P2-P4特征和变压器中的P5特征作为输入,运用图中红框内所示的动态卷积操作生成终究的猜测。
Twin attention
self-attention在时间和内存上的核算量都是二次方,在图画等高维序列上会产生更高的核算价值,并且阻止了模型在不同环境下的可伸缩性。为了缓解这个问题,论文提出了twin attention(孪生留意力)机制,将留意矩阵简化为稀少表明。
战略主要是将感触野限制在规划好的固定步幅的区块形式上。它首要核算每列中的attention,一起保持不同列中的元素独立。该战略能够在水平标准上聚合元素之间的上下文信息(如图(1))。然后,在每一行中履行相似的留意,以充分运用笔直范围内的特性交互(如图(2))。这两个标准中的留意力依次相连,成为终究一个,它有一个全局接受场,覆盖了两个维度上的信息。
给定FPN的特征图Fi为HWC(FPN的第i层),SOTR首要将特征图Fi切分红N∗N个patches ,其间Pi为NNC,然后沿笔直和水平方向将它们堆叠成固定的块。将方位嵌入添加到块中以保存方位信息,即列和行的方位嵌入空间为1∗N∗C和N∗1∗C。两个attention层都选用多头留意机制。为了便于多层衔接和后处理,twin attention中的所有子层都产生NNC输出。
孪生留意机制能有效地把内存和核算复杂度从O((HW)^2)降低到(HW^2+WH^2)。
Transformer layer
根据编码器的三个不同的transformer 层作为基本构建块(如下图所示)。原始transformer层相似于NLP(图(a))中运用的编码器,它由两部分组成:1)层归一化后的多头自我留意机制;2)层归一化后的多层感知。此外,运用残差衔接来衔接这两个部分。终究,能够得到多维序列特征,作为这些transformer层的K串联衔接的输出,以便在不同的功能头中进行后续猜测。
为了在核算成本和特征提取作用之间获得最佳折中,作者遵从了最初的transformer层规划,在pure twin transformer层中只用双留意力替代多头留意力(图(b))。
为了进一步进步twin transformer的功能,还规划了hybrid twin transformer 层,如图3(C)所示。它在每个孪生留意模块上添加了两个33的卷积层,由一个Leaky RELU层衔接。经过引入卷积运算,能够对留意机制进行有利的弥补,更好地捕捉部分信息,增强特征表明能力。
Functional head
来自transformer模块的特征图被输入到不同的functional head以进行后续猜测。所述class head包括单层线性层,用于输出NNM的分类成果,其间M为类的个数。
因为每个patches只为中心落在patch中的单个方针分配一个类别,如YOLO,论文运用多级猜测,并在不同的特征级别上共享头部,以进一步进步不同标准方针的模型功能和效率。
kernel head也由线性层组成,与class head平行,以输出NND张量用于后续掩码生成,其间张量表明具有D个参数的NN卷积核。
在练习期间,Focal loss被应用于分类,而对这些卷积核的所有监督来自终究的掩模丢失。
Mask
要构造掩码特征表明用于实例感知和方位灵敏的切割,一种简略的办法是对不同标准的每个特征图进行猜测。但是,这会添加时间和资源。受Panoptic FPN的启发,论文规划了多级上采样模块,将FPN的每层和transformer的特征合并成一个一致的掩模特征。
首要,从transformer中获取具有方位信息的相对低分辨率特征图P5,并与FPN中的P2-P4相结合进行融合。关于每个标准的特征图,分33Conv、Group Norm和ReLU几个阶段进行操作。然后,P3-P5对(H/4,W/4)分辨率分别进行2、4、8的双线性上采样。终究,在处理后的P2-P5相加后,履行逐点卷积和上采样,以产生终究的一致的HW特征图。
例如掩码猜测,SOTR经过对上述一致特征映射履行动态卷积运算来为每个patch生成掩码。从kernel head给定猜测的卷积内核K(NNd),每个kernel担任相应patch中实例的掩码生成。具体操作如下:
其间,∗表明卷积运算,Z是终究生成的掩码。应该留意的是,D的值取决于卷积核的形状,也就是说,D=^2C,其间是kernel巨细。终究实例切割掩码能够由Matrix NMS产生,并且每个掩码由Dice Loss独登时监督。
Conclusion
1.原始transformer、pure twin transformer和hybrid twin transformer之间的比照
如上表所示,提出的pure hybrid twin transformers在所有指标上都大大超过了原始transformer,这意味着twin transformer架构不只成功地捕获了笔直和水平维度上的长途依靠联系,并且更适合与CNN骨干相结合来学习图画的特征和表明。
关于pure transformer和twin transformer,后者的作用要好得多。论文认为这是因为3∗3Conv能够提取部分信息并改善特征表达,从而进步了twin transformer的合理性。
2.mask的可视化
3.与其他办法的具体比较
在两种状况下,SOTR比Mask R-CNN和BlendMask的功能更好:
1)形状复杂、容易被其他模型遗失的物体(例如火车前的胡萝卜、卧象、小车厢里的司机),Mask R-CNN和BlendMask无法将其检测为阳性实例。
2)相互重叠的物体(例如列车前面的人),两者不能用准确的鸿沟将它们分隔。SOTR能够用更明晰的鸿沟猜测掩模,而SOLOv2倾向于将方针切割成独自的部分(例如,将列车分为头部和身体),有时无法从图画中扫除布景。因为transformer的引入,SOTR能够更好地获得全面的全局信息,避免了物体上的这种割裂。
此外,与SOTR比较,SOLOv2经过将不存在的方针指定为实例,具有较高的误报率。
4.实时性比较
相关文章阅览
单阶段实例切割总述 | 语义切割总述
实例切割总述总结归纳收拾版
CVPR2021 | SETR: 运用 Transformer 从序列到序列的角度重新考虑语义切割
CVPR2021 | Transformer用于End-to-End视频实例切割
欢迎重视大众号 CV技能攻略 ,专心于核算机视觉的技能总结、最新技能盯梢、经典论文解读。
其它文章
ML2021 | PatrickStar:经过根据块的内存管理完成预练习模型的并行练习
ICCV2021 | PnP-DETR:用Transformer进行高效的视觉剖析
ICCV2021 | 医学影像等小数据集的非自然图画领域能否用transformer?
ICCV2021 | Vision Transformer中相对方位编码的反思与改善
ICCV2021 | TransFER:运用Transformer学习联系感知的面部表情表征
2021-视频监控中的多方针盯梢总述
一致视角了解方针检测算法:最新进展剖析与总结
全面了解方针检测中的anchor | 姿势估计总述
方针检测中回归丢失函数总结 | 小方针检测常用办法总结
视觉Transformer总述 | 2021年小方针检测最新研讨总述
Siamese network总述 | 小方针检测的一些问题,思路和方案
视频了解总述:动作辨认、时序动作定位、视频Embedding
从CVPR 2021的论文看核算机视觉的现状
ICCV2021 | MicroNet:以极低的 FLOPs 改善图画辨认
ICCV2021 | 重新考虑视觉transformers的空间维度
CVPR2021 | TransCenter: transformer用于多方针盯梢算法
CVPR2021 | 敞开国际的方针检测
CVPR2021 | TimeSformer-视频了解的时空留意模型
CVPR2021 | 一个高效的金字塔切分留意力模块PSA
CVPR2021 | 特征金字塔的新办法YOLOF
经典论文系列 | 重新考虑在ImageNet上的预练习
经典论文系列 | Group Normalization & BN的缺点
经典论文系列 | 方针检测–CornerNet & anchor boxes的缺点
经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的办法:自适应练习样本挑选