NeurIPS 2022 | 清华&南开提出SegNeXt:重新思考语义分割的卷积注意力设计

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

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

本文授权转载自:图形学与几何计算

点击进入—> CV 微信技术‍交流群

语义分割是对图像中的每个像素进行识别的一种算法,可以对图像进行像素级别的理解。作为计算机视觉中的基础任务之一,其不仅仅在学术界广受关注,也在无人驾驶、工业检测、辅助诊断等领域有着广泛的应用。

近期,计图团队与南开大学程明明教授团队、非十科技刘政宁博士等合作,提出了一种全新的语义分割模型 SegNeXt[1],该方法大幅提高了当前语义分割方法的性能,并在Pascal VOC 分割排行榜上名列第一。该论文已被 NeurIPS 2022 接收。

Part 1

语义分割模型SegNeXt

1cadb18296aa4ac34efe5c9cec4bebde.png

SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation

代码1:https://github.com/Visual-Attention-Network/SegNeXt

代码2:https://github.com/uyzhang/JSeg

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

研究背景

自2015年FCN[2] 被提出以来,语义分割开始逐渐走向深度学习算法,其常用架构为编码-解码器结构(Encoder-Decoder)。在 vision transformer 被提出之前,人们通常采用卷积神经网络(如 ResNet、VGGNet、GoogleNet 等) 作为其编码器部分;最近,由于vision transformer 在视觉领域的成功,语义分割编码器部分开始逐渐被换成基于vision transformer的模型(如 ViT、SegFormer、HRFormer等)。但是,基于 vision transformer编码器的方法真的比基于卷积神经网络的方法更好么?为了回答这个问题,Jittor团队重新思考了语义分割任务对神经网络的要求,并针对语义分割的任务专门设计了一个基于卷积神经网络的编码器MSCAN 和一个语义分割模型 SegNeXt。

3222e7251611a9354b2356d45b0b932a.png

图1. SegNeXt 和其他语义分割方法的性能对比,其中红色为SegNeXt

方法概述

论文首先分析了语义分割任务本身以及之前的相关工作,总结出四点语义分割任务所需的关键因素。1)强大的骨干网络作为编码器。与之前基于 CNN 的模型相比,基于Transformer 的模型的性能提升主要来自更强大的骨干网络。2)多尺度信息交互。与主要识别单个对象的图像分类任务不同,语义分割是一项密集的预测任务,因此需要在单个图像中处理不同大小的对象,这就使得针对语义分割任务的网络需要多尺度信息的交互。3)注意力机制:注意力可以使得模型关注到重点的部分,并且可以使得网络获得自适应性。4)低计算复杂度:这对于常常处理高分辨率图像的语义分割任务来说至关重要。

49c6db50ff3cde0427cebbb66281ec64.png

表 1 不同方法所具有的的属性对比

为了满足上述四点要求,作者设计了一种简单的多尺度卷积注意力机制 (MSCA)。如图 2 所示,MSCA 主要是采用大卷积核分解、多分支并行架构以及类似VAN[3]的注意力机制。这使得 MSCA 可以获得大感受野、多尺度信息以及自适应性等有益属性。基于 MSCA,该论文搭建了一种层次化神经网络 MSCAN 作为SegNeXt 的编码器部分。除此之外,作者采用了 UNet 架构,并选择了HamNet[4] 作为 SegNeXt 的解码器部分。分析和实验证明,MSCAN和 Ham 优势互补,两者相互配合,使得 SegNeXt 实现了优异的性能。

7c2f44d583a0daf263636115a245bdc4.png

图 2:多尺度卷积注意力 (MSCA) 示意图

实验结果

本文在五个常见分割数据集上 ADE20K, Cityscapes, COCO-Stuff, Pascal VOC, Pascal Context 和一个遥感分割数据集 iSAID做了测评,SegNeXt均超过了之前的方法。限于篇幅,我们仅展示部分结果。

表2:在 ADE20K、Cityscapes, COCO-Stuff 上的实验结果

ff708d342ac6a533aba8869810700567.png

表 3 SegNeXt 在遥感数据集上的实验结果

1244bd14513e6f8a1195b396b73d5d84.png

Part 2

计图语义分割算法库JSeg

Jittor团队基于自主深度学习框架Jittor[5],并借鉴MMSegmentation语义分割算法库的特点,开发了语义分割算法库JSeg。MMSegmentation是广泛使用的功能强大的语义分割算法库,新推出的JSeg可以直接加载MMSegmentation的模型,同时借助Jittor深度学习平台的优势,使其更高效、稳定运行,可以实现训练和推理快速的从PyTorch向Jittor迁移。

目前JSeg已经支持4个模型、4个数据集,其中模型包括在Pascal VOC test dataset斩获第一的SegNeXt模型,数据集包括经典的ADE20K Dataset、CityScapes Dataset以及遥感分割中的iSAID Dataset等,后续JSeg也将支持更多的模型和数据集!

性能提升

我们使用SegNeX-Tiny模型,与Pytorch实现的版本在NVIDIA TITAN RTX上进行了对比,可以显著缩短模型训练所需要的时间。

表1 JSeg和mmseg(PyTorch)的训练时间对比

17effee51067911ec85cb0f52f824aec.png

易用性提升

由于Jittor动态编译的特性及code算子对python内联C++及CUDA的支持,JSeg在不同环境下无需对任何算子进行手动编译,即可轻松运行不同模型,免去了用户对不同模型分别配置环境的负担,同时方便用户对不同方法进行更公平的比较。此外,JSeg的设计易于拓展,用户可以基于JSeg已有的模型和功能方便地开展进一步的研究和开发。

实践案例

下面,我们将简要介绍如何使用JSeg训练一个基础模型。

首先,下载数据集到原始数据集目录。

f4cb9b916db46448d06a45517e6318d8.png

通过tools/convert_datasets下的数据处理脚本对原始数据进行预处理,得到处理后的数据集。然后即可对模型进行单卡或者多卡训练、评估和测试,同时提供了推理接口,用户可以使用10行代码完成一张图片的语义分割,尽可能地降低了用户的使用成本。

f7c5ca255b49abdf467e2fc521ac86ad.png

图2 JSeg语义分割算法输出结果示例

JSeg全部代码已开源在:

https://github.com/Jittor/JSeg

欢迎大家使用Jittor的语义分割算法库JSeg开展研究工作。

如果大家在使用过程中发现有什么问题,可访问Jittor社区进行交流,

https://discuss.jittor.org/

或在github提交issue或者PR。也欢迎大家加入Jittor开发者的QQ交流群,期待您提出宝贵的意见。

参考文献

  1. Guo, M. H., Lu, C. Z.,Hou.Q, Liu, Z. N., Cheng, M. M., and Hu, S. M. SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation,NeurIPS 2022, https://arxiv.org/2209.08575.

  2. Long, Jonathan, Evan Shelhamer and Trevor Darrell, Fully convolutional networks for semantic segmentation, Proceedings of the IEEE conference on computer vision and pattern recognition, 2015.

  3. Guo, M. H., Lu, C. Z., Liu, Z. N., Cheng, M. M. and Hu, S. M., Visual attention network. arXiv preprint arXiv:2202.09741, 2022.

  4. Geng, Z., Guo, M. H., Chen, H., Li, X., Wei, K. and Lin, Z.,  Is attention better than matrix decomposition? arXiv preprint arXiv:2109.04553, 2021.

  5. Hu, S. M., Liang, D., Yang, G. Y., Yang, G. W. and Zhou, W. Y., Jittor: a novel deep learning framework with meta-operators and unified graph execution, Science China Information Sciences, Vol. 63, No.12, article no. 222103, 2020. 

点击进入—> CV 微信技术交流群

SegNeXt 论文和代码下载

 
  

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

图像分割 交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-图像分割 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如图像分割+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!

▲扫码进群
▲点击上方卡片,关注CVer公众号
 
  
整理不易,请点赞和在看

猜你喜欢

转载自blog.csdn.net/amusi1994/article/details/127033329