【题目】:SOTR: Segmenting Objects with Transformers
【引用格式】:Guo R, Niu D, Qu L, et al. Sotr: Segmenting objects with transformers[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 7157-7166.
【网址】:https://openaccess.thecvf.com/content/ICCV2021/papers/Guo_SOTR_Segmenting_Objects_With_Transformers_ICCV_2021_paper.pdf
【开源代码】:https://github.com/easton-cau/SOTR
目录
一、瓶颈问题
二、本文贡献
三、解决方案
1、模型架构
2、Transformer
2.1 双注意力机制(Twin attention)
2.2 Transformer层
2.3 功能头(Functional heads)
3、Mask
3.1 多级上采样模块
3.2 实例掩码预测
四、实验结果
1、实验设置
2、消融实验
3、定量和定性结果
一、瓶颈问题
- 传统 CNN 在实例分割中的局限:基于 CNN 的实例分割方法(遵循检测 - 然后 - 分割范式)存在不足。CNN 因有限的感受野,在高级视觉语义信息中特征连贯性相对缺乏,难以关联实例,对大物体分割效果欠佳;并且分割质量和推理速度过度依赖目标检测器,在复杂场景下性能较差。
- 自底向上方法的缺陷:为克服传统 CNN 方法的缺点,一些自底向上的实例分割策略被提出,这类方法虽能保留位置和局部连贯信息,但存在聚类不稳定(如掩码碎片化、粘连)以及在不同场景数据集上泛化能力差的问题。
- Transformer 在视觉应用中的不足:受 Transformer 在自然语言处理中的成功启发,其在视觉任务应用中展现出一定优势,然而典型 Transformer 在提取低级特征方面表现不佳,对小物体预测易出错;同时由于特征图规模大,在训练阶段需要大量内存和时间。
二、本文贡献
- 提出创新的混合框架:引入了名为 SOTR 的 CNN - Transformer 混合实例分割框架。该框架利用 CNN 骨干网络和 Transformer 编码器,有效对局部连接性和长距离依赖关系建模,表现力强;且直接分割对象实例,不依赖边界框检测,简化了整体流程。
- 设计新的注意力机制:设计了双注意力机制(twin attention),这是一种位置敏感的自注意力机制,专为模型中的 Transformer 定制。相比原始 Transformer,在计算和内存上有显著节省,尤其适用于实例分割这类对大输入进行密集预测的任务。
- 降低对大规模预训练的依赖:SOTR 无需在大型数据集上进行预训练就能很好地泛化归纳偏差,更易于应用在数据量不足的场景,克服了纯 Transformer 模型对大规模预训练的依赖问题。
- 取得优异的实验结果:在 MS COCO 基准测试中,使用 ResNet - 101 - FPN 骨干网络的 SOTR 模型 AP 达到 40.2% ,精度超越多数现有方法。在中等和大尺寸物体上,AP 分别达到 59.0% 和 73.0% ,展现出在不同尺寸物体分割上的优势。
三、解决方案
1、模型架构
SOTR 是一种 CNN-Transformer 混合实例分割模型,它能够同时学习二维表示,并轻松捕捉长距离信息。它遵循直接分割范式,首先将输入特征图划分为图块,然后在动态分割每个实例的同时预测每个图块的类别【Transformer模块】。具体来说,模型主要由三个部分组成:1)一个骨干网络(from detectron2.modeling.backbone import build_backbone),用于从输入图像中提取图像特征,尤其是低级和局部特征;2)一个 Transformer,用于对全局和语义依赖关系进行建模,它附加了功能头,分别用于预测每个图块的类别和卷积核;3)一个多级上采样模块,通过在生成的特征图和相应的卷积核之间执行动态卷积操作来生成分割掩码。
2、Transformer
2.1 双注意力机制(Twin attention)
自注意力机制的问题:能够捕捉全图上下文和长距离交互关系,但时间和内存复杂度为二次方,处理图像等高维序列是计算成本高,阻碍模型扩展性。
双注意力机制策略:通过稀疏表示简化注意力矩阵,将感受野限制在固定步长的块模式内。先在每列内计算注意力(聚合水平尺度上元素间上下文信息),再在每行内计算(利用垂直尺度特征交互),两个尺度注意力顺序连接【通道维度连接】形成最终注意力,具有全局感受野,并涵盖了两个维度上的信息。
具体计算过程:对于 FPN 第i层特征图,先分割成 N×N 图块
并堆叠成块,添加位置嵌入(列位置嵌入空间1×N×C,行位置嵌入空间N×1×C )。注意力层采用多头注意力机制,子层输出 N×N×C ,可将计算复杂度从降至
。
2.2 Transformer层
原始Transformer层(图3 a):类似 NLP 中编码器,由层归一化后的多头自注意力机制和多层感知器两部分组成,用残差连接相连,经K个串行连接输出多维序列特征用于后续预测。
纯双 Transformer 层(图3 b):遵循原始设计,仅将多头注意力替换为双注意力机制,以平衡计算成本和特征提取效果。
混合双 Transformer 层(图3 c):在每个双注意力模块添加两个由 Leaky ReLU 层连接的3×3卷积层,补充注意力机制,更好捕捉局部信息,增强特征表示。
2.3 功能头(Functional heads)
类别头(class head):含单个线性层,输出N×N×M分类结果(M为类别数)。每个图块为中心落入的单个目标分配一个类别,采用多级预测并在不同特征层级共享头,提升不同尺度目标性能和效率。训练时用 Focal Loss 计算分类损失。
核心头(kernel head):由线性层组成,与类别头并行,输出N×N×D张量(表示N×N卷积核及D个参数)用于掩码生成。训练时卷积核监督来自最终掩码损失。
3、Mask
3.1 多级上采样模块
从 Transformer 模块获取带位置信息的低分辨率特征图,与 FPN 中
融合。对各尺度特征图先进行3×3卷积、Group Norm 和 ReLU 操作,
分别双线性上采样到
分辨率,将处理后
相加,经逐点卷积和上采样生成统一H × W特征图,构建掩码特征表示。
3.2 实例掩码预测
SOTR 对统一特征图执行动态卷积操作生成每个图块掩码。核心头预测卷积核,每个核负责对应图块实例掩码生成,操作表示为
。
,其中 λ 为卷积核的尺寸
- 最终实例分割掩码由 Matrix NMS 生成,每个掩码由 Dice Loss 独立监督
四、实验结果
1、实验设置
在具有挑战性的 MS COCO 数据集上实验,该数据集含 12.3 万张图像、80 类实例标签。模型在 train2017 子集训练,test-dev 子集评估,报告标准 COCO 指标(AP、AP50、AP75、APs、APm、APl)。训练使用 SGD,初始学习率 0.01,1000 次迭代热身,权重衰减,动量 0.9。消融实验训练 30 万次迭代,在 21 万次和 25 万次时学习率降为十分之一。模型在 4 块 32G 内存的 V100 GPU 上训练,批量大小 8,用 Python 编程,基于 PyTorch 和 Detectron2 框架。
2、消融实验
主干网络架构:
比较不同主干网络特征提取性能,发现 Res-50FPN 的 SOTR 在 COCO 上 AP 达 37.5%,大物体上 AP 为 70.8%,且 SOTR 从更深或先进的 CNN 主干网络中自动受益,更好的主干网络可提升性能。
用于特征编码的 Transformer:
用三种不同 Transformer 衡量模型性能,纯双注意力 Transformer 和混合双注意力 Transformer 在指标上大幅超过原始 Transformer,表明双注意力 Transformer 架构能捕捉长距离依赖,更适合与 CNN 主干结合,且混合双注意力 Transformer 效果更好,因为 3×3 卷积能提取局部信息、增强特征表达。
Transformer 深度:
对原始 Transformer 和混合双注意力 Transformer 进行深度消融实验,发现增加深度可提升 AP 但牺牲推理时间和内存,双注意力 Transformer 相比原始 Transformer 带来 3.1% 的 AP 提升,内存占用减少约 50%,但深度增加会导致注意力坍塌,阻碍性能提升,后续实验中基准模型使用深度为 12 的混合双注意力 Transformer。
多级上采样模块:
探究 Transformer 生成的特征图对多级上采样模块的影响,仅用 Transformer 生成的特征图替换 FPN 的层时模型 AP 最高,同时替换
和
层 AP 略降,表明更多层使用生成特征图未显著提升整体 AP,Transformer 的
已使预测具有良好位置敏感性,Transformer 的
因携带更多全局和大物体特征使
和
略有提升,SOTR 用 Transformer 替代 SOLOv2 中
层的 Coordconv 获取位置信息。
动态卷积:
掩码生成有静态卷积直接输出实例掩码和动态卷积持续分割对象两种方式,比较发现无双注意力 Transformer 的 SOTR 模型 AP 为 39.7%,双注意力 Transformer 带来 0.5% 的提升,动态卷积策略使 AP 提升近 1.5%,因为动态卷积的非线性显著增强了特征表示能力。
实时模型及比较:
SOTR 可修改为实时模型 SOTR-RT(牺牲一定准确性),其 Transformer 层数减为两层,输入短边为 736【图像输入的短边分辨率】
3、定量和定性结果
定量结果:
在 MS COCO 测试开发集上,配备 ResNet-101-FPN 的 SOTR 模型掩码 AP 达 40.2%,优于其他现代实例分割方法,与 Mask R-CNN 相比预测精度更高,在中等和大目标检测上有显著提升,与无边界框算法 SOLO 和 PolarMask 相比也有明显改进,且是首个在中等大小目标上 AP 接近 60%、中等和大目标上 AP 超 70% 的方法。
定性结果:
将 SOTR 与 Mask R-CNN、BlendMask 和 SOLOv2 比较,SOTR 在形状精细易被忽略的物体和相互重叠物体的分割上优于 Mask R-CNN 和 BlendMask,能预测出边界更清晰的掩码;相比 SOLOv2,SOTR 避免了将目标分割成独立部分和误将背景判定为实例的问题,因引入 Transformer 能更好获取全局信息。