首页IT科技语义分割iou为什么会是0(Transformer前沿——语义分割)

语义分割iou为什么会是0(Transformer前沿——语义分割)

时间2025-09-19 11:11:59分类IT科技浏览5646
导读:进军方向    Transformer自2017年诞生之后,迅速在NLP领域攻城略地,在极短的时间内晋升成为NLP领域绝对的霸主。Transformer进军CV领域的行动早在2018年就开始了,但是行进缓慢,直到2020年谷歌再次出手,提出Transformer进军CV领域的里程碑式的神...

进军方向

   Transformer自2017年诞生之后                ,迅速在NLP领域攻城略地                       ,在极短的时间内晋升成为NLP领域绝对的霸主                。Transformer进军CV领域的行动早在2018年就开始了       ,但是行进缓慢            ,直到2020年谷歌再次出手                        ,提出Transformer进军CV领域的里程碑式的神作 ViT           ,屠榜ImageNet                、CIFAR10                       、CIFAR100        ,将Transformer在CV领域的潜力展示给世人                        ,大家深受震撼与启发               ,随即争相涌入ViT研究浪潮中    ,直接推动了ViT的蓬勃发展                       。

   在阐述Transformer在CV领域开疆拓土的行军路线前                        ,简单概括一条范式       。基于深度学习的方法解决计算机视觉领域的各种任务                   ,诸如图像分类       、目标检测            、语义分割                        、实例分割等,都遵循统一的范式                    ,即                       ,特征提取模块+任务模块            。

特征提取模块 + 分类器

= 图像分类网络

特征提取模块 + 检测器

= 目标检测网络

特征提取模块 + 分割器

= 语义分割网络

  到这里    ,读者朋友可能已经猜到了                ,Transformer可以取代语义分割任务中的特征提取模块                        。但Transformer是否比原本基于 CNN 的特征提取模块更好?答案是肯定的                       ,

C

N

N

:

       ,

            ,

                        ,

T

r

a

n

s

f

o

r

m

e

r

:

          。

\begin{aligned} CNN &: 级联卷积虽能扩大感受野           ,但是有效感受野只占理论感受野很小一部分        ,也就是说                        ,卷积无法直接提取长距离信息;\\ Transformer &: 提取到的特征向量有更丰富的全局上下文信息        。 \end{aligned}

CNNTransformer:               ,    ,                        ,:                        。
   至此                   ,我们了解到,用Transformer取代语义分割中的特征提取模块是可行的                    ,接下来                       ,首先介绍Transformer在语义分割领域的开山制作 SETR

SETR: Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers (CVPR 2021)

SETRSegmentation Transformer 前两个字母的组合

作者单位是 复旦           、牛津大学        、萨里大学                        、腾讯优图               、Facebook

网络结构:ViT 特征提取 + 多层次特征融合 + 解码器

网络结构图

  在语义分割中特征提取模块又称编码器    ,分割器又称解码器

                ,SETR中直接采用 ViT 中 24 层做高层语义上下文建模               。

   ViT 特征提取

:ViT先将输入图像等分为许多个patch                       ,然后通过 展平(Flatten) 和 线性映射(Linear Projection) 操作将这些patch映射为序列       ,然后加上各自的位置编码            ,输入Transformer中做特征提取    。

  多层次特征融合

:编码器中包括 24个 Transformer Layer                        ,为了同时获得高层语义和低层语义信息           ,作者将 第6    、12                        、18                   、24层的输出结果从序列恢复到二维        ,然后按通道维度拼接(concat)                        ,得到具有丰富语义层次的特征向量                        。

  解码器:采用的传统的 CNN 逐级解码               ,将特征向量的宽高恢复到原图像大小    ,扩大宽高的同时缩减通道数为类别数                   。

实验效果

在ADE20K取得 50.28%的mIoU                        ,这是该数据集首次出现mIoU超过50%的记录                   ,同时在 Pascal Context取得 55.83%的mIoU,均是 STOA效果。

ADE20K 数据集上效果

Pascal Voc 数据集上的效果

TransUNet: Transformers Make Strong Encoders for Medical Image Segmentation

面向医学图像分割                    ,结合 擅于长距离上下文建模的Transformer 和 擅于捕捉低层细节信息的UNet                    。

作者单位:约翰霍普金斯大学、电子科技大学                    、斯坦福大学

网络结构:CNN特征提取 + 长距离上下文建模 + UNet解码器

网络结构图

  CNN特征提取:级联卷积提取特征向量                       ,各个stage的输出用于跳跃连接                       。

  长距离上下文建模:使用12个Transformer层对CNN特征提取模块中得到特征向量    ,进一步做长距离上下文建模    。

  UNet解码器:跳跃连接                ,逐级解码                。

实验效果

Synapse multi-organ CT 数据集上的效果

SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers (NeuralPS 2021)

作者单位:香港大学                       、南京大学    、英伟达                、加州理工大学

网络结构:Mix-FFN取代位置嵌入 + Efficient Self-Attention缩减时间复杂度 + Overlapped patch Merging 保留局部连续性 + 极简decoder

网络结构图

  Mix-FFN

:ViT中位置编码的分辨率是固定的                       ,在模型测试使用阶段       ,输入图像的分辨率并不固定            ,因此如果采用位置编码                        ,则需通过重采样获得位置编码           ,显然        ,这会影响模型预测                       。本文作者认为通过填充零                        ,卷积核尺寸3x3的卷积可以获得位置信息       。具体做法是在一个简单的 前馈神经网络(FFN)中加入3x3 Conv               ,公式表示如下:

x

o

u

t

=

MLP

(

GELU

(

Conv

3

×

3

(

MLP

(

x

i

n

)

)

)

)

+

x

i

n

\mathbf{x}_{o u t}=\operatorname{MLP}\left(\operatorname{GELU}\left(\operatorname{Conv}_{3 \times 3}\left(\operatorname{MLP}\left(\mathbf{x}_{i n}\right)\right)\right)\right)+\mathbf{x}_{i n}

xout=MLP(GELU(Conv3×3(MLP(xin))))+xin

  Efficient Self-Attention:作者指出经典的自注意力机制算法时间复杂度为

O

(

N

2

)

O(N^2)

O(N2)

    ,其中N为序列的长度            。在ViT中序列长度 N 通常等于 H*W                        ,其中H                       、W分别为图像高和宽                        。作者指出对于高分辨率图像                   ,自注意力机制的时间复杂度太大,因此提出更高效的自制注意力算法           。核心步骤为:

1)通过 reshape 操作                    ,将输入序列的shape从

N

×

C

N\times C

N×C
变为

N

R

×

C

R

\frac{N}{R}\times CR

RN×CR

                       ,其中R为缩减系数;

2)通过线性映射    ,将 shape为

N

R

×

C

R

\frac{N}{R}\times CR

RN×CR
的序列映射为 shape为

N

R

×

C

\frac{N}{R}\times C

RN×C

的序列        。

SegFormer的四个stage的缩减系数分别为 64       、16            、 4                        、1                        。

  Overlapped patch Merging:本文的作者认为ViT中采用的 patch merging 算法丢失了patch周围的局部连续性信息               。因此提出                ,重叠的patch划分方法                       ,具体做法通过一个宽高为3的窗口       ,步长为2            ,边缘填充为1                        ,进行滑动    。通过重叠保留了patch周围的局部连续性                        。

  极简decoder:作者认为特征提取过程中使用的自注意力机制           ,已经提取到了充分高层的语义特征        ,因此在解码阶段                        ,无需通过级联卷积进一步提升模型感受野                   。因此               ,本文中的解码器只包含几个简单的线性映射和上采样层。

实验效果

ADE20K和Cityscape数据集上的效果

面向移动设备的TopFormer (CVPR 2022)    ,医学分割 DS-TransUNet                        ,…

声明:本站所有文章                   ,如无特殊说明或标注,均为本站原创发布                    。任何个人或组织                    ,在未征得本站同意时                       ,禁止复制           、盗用        、采集                        、发布本站内容到任何网站               、书籍等各类媒体平台                       。如若本站内容侵犯了原著者的合法权益    ,可联系我们进行处理    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
创建maven项目在idea(学习笔记——在IDEA中创建Maven工程之HelloWord;Maven中常见的问题;Maven核心概念之POM、生命周期、插件和目标)