Segmenter:基于纯Transformer的语义分割网络

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

丰色 发自 凹非寺
来源:量子位(QbitAI)

正如大家所知,在进行图像语义分割时,图像被编码成一系列补丁后往往很模糊,需要借助上下文信息才能被正确分割。

因此上下文建模对图像语义分割的性能至关重要!

而与以往基于卷积网络的方法不同,来自法国的一个研究团队另辟蹊径,提出了一种只使用Transformer的语义分割方法。

Segmenter: Transformer for Semantic Segmentation

论文:https://arxiv.org/abs/2105.05633

代码:https://github.com/rstrudel/segmenter

该方法“效果拔群”,可以很好地捕捉图像全局上下文信息!

要知道,就连取得了骄人成绩的FCN(完全卷积网络)都有“图像全局信息访问限制”的问题。(卷积结构在图像语义分割方面目前有无法打破的局限)

而这次这个方法在具有挑战性的ADE20K数据集上,性能都超过了最先进的卷积方法!

不得不说,Transformer跨界计算机视觉领域真是越来越频繁了、效果也越来越成功了!

那这次表现优异的Transformer语义分割,用了什么不一样的“配方”吗?

使用Vision Transformer

没错,这次这个最终被命名为Segmenter的语义分割模型,主要基于去年10月份才诞生的一个用于计算机视觉领域的“新秀”Transformer:Vision Transformer,简称ViT。

ViT有多“秀”呢?

ViT采用纯Transformer架构,将图像分成多个patches进行输入,在很多图像分类任务中表现都不输最先进的卷积网络。

缺点就是在训练数据集较小时,性能不是很好。

Segmenter作为一个纯Transformer的编码-解码架构,利用了模型每一层的全局图像上下文。

基于最新的ViT研究成果,将图像分割成块(patches),并将它们映射为一个线性嵌入序列,用编码器进行编码。再由Mask Transformer将编码器和类嵌入的输出进行解码,上采样后应用Argmax给每个像素一一分好类,输出最终的像素分割图。

下面是该模型的架构示意图:

解码阶段采用了联合处理图像块和类嵌入的简单方法,解码器Mask Transformer可以通过用对象嵌入代替类嵌入来直接进行全景分割。

效果如何

多说无益,看看实际效果如何?

首先他们在ADE20K数据集上比较不同Transformer变体,研究不同参数(正则化、模型大小、图像块大小、训练数据集大小,模型性能,不同的解码器等),全方面比较Segmenter与基于卷积的语义分割方法。

其中ADE20K数据集,包含具有挑战性的细粒度(fine-grained)标签场景,是最具挑战性的语义分割数据集之一。

下表是不同正则化方案的比较结果:

他们发现随机深度(Stochastic Depth)方案可独立提高性能,而dropout无论是单独还是与随机深度相结合,都会损耗性能。

不同图像块大小和不同transformer的性能比较发现:

增加图像块的大小会导致图像的表示更粗糙,但会产生处理速度更快的小序列。

减少图像块大小是一个强大的改进方式,不用引入任何参数!但需要在较长的序列上计算Attention,会增加计算时间和内存占用。

Segmenter在使用大型transformer模型小规模图像块的情况下更优:

(表中间是带有线性解码器的不同编码器,表底部是带有Mask Transformer作为解码器的不同编码器)

下图也显示了Segmenter的明显优势,其中Seg/16模型(图像块大小为16x16)在性能与准确性方面表现最好。

最后,我们再来看看Segmenter与SOTA的比较:

在最具挑战性的ADE20K数据集上,Segmenter两项指标均高于所有SOTA模型!

(中间太长已省略)

在Cityscapes数据集上与大多数SOTA不相上下,只比性能最好的Panoptic-Deeplab低0.8。

在Pascal Context数据集上的表现也是如此。

  剩余参数比较,大家有兴趣的可按需查看论文细节。

论文PDF和代码下载

后台回复:Segmenter,即可下载上述论文和代码

后台回复:CVPR2021,即可下载CVPR 2021论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的两篇Transformer综述PDF

重磅!Transformer交流群成立

扫码添加CVer助手,可申请加入CVer-Transformer 微信交流群,方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加小助手微信,进交流群

▲点击上方卡片,关注CVer公众号

整理不易,请给CVer点赞和在看

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Transformer图像分割是一种使用Vision Transformer模型的方法。该方法将图像分割成小块,并将这些小块作为输入tokens嵌入到Transformers编码器中。然后,由Transformers解码器将编码器生成的上下文化tokens序列上采样为逐像素的类分数。在解码过程中,可以使用简单的逐点线性映射的patch嵌入到类分数,或者使用基于Transformer的解码方案,其中可学习的类嵌入与patch tokens一起处理以生成类掩码。这种方法通过对模型正则化、模型大小、输入patch大小以及精度和性能之间的权衡进行广泛的研究,来实现图像分割任务。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [用Transformer进行图像语义分割,性能超最先进的卷积方法!](https://blog.csdn.net/QbitAI/article/details/117094238)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [图像分割(二)—— Segmenter: Transformer for Semantic Segmentation](https://blog.csdn.net/qq_42208244/article/details/126813810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值