首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

顶会CVPR论文:一种简单的开放词汇语义切分编码器

顶会CVPR论文:SED: A Simple Encoder-Decoder for Open-Vocabulary Semantic Segmentation

01 摘要

开放词汇语义切分力求将像素从一组开放的类别中划分为不同的语义组。现有方法大多探索利用预训练的视觉语言模型,其中关键是采用图像级模型进行像素级分割任务。本文提出了一种简单的用于开放词汇语义分割的编码器-解码器SED,它包括基于分层编码器的代价图(cost map)生成和具有类别早期拒绝(early rejection)的逐渐融合解码器。基于分层编码器的代价图生成采用分层主干来预测像素级的图像-文本代价图,而不是普通的转换。与普通Transformer相比,分层主干能更好地捕获局部空间信息,并且相对于输入大小具有线性计算复杂度。本文的渐进融合解码器采用自顶向下的结构,将代价图和不同骨干层的特征图结合起来进行分割。为了加快推理速度,本文在解码器中引入了一种类别早期拒绝方案,该方案在解码器的早期层拒绝许多不存在的类别,从而在不降低精度的情况下获得最多4.7倍的加速。在多个开放词汇语义分割数据集上进行了实验,验证了该方法的有效性。当使用ConvNeXt-B时,本文的SED方法在ADE20K上实现了31.6%的mIoU分数,其中150个类别在单个A6000上以每张图像82毫秒(ms)的速度完成。

论文地址:

https://arxiv.org/abs/2311.15537

02 引言

语义分割是计算机视觉的基本任务之一,其目的是解析图像中每个像素的语义类别。传统的语义分割方法[5,30,47]假设语义类别是封闭集,在推理过程中难以识别未见的语义类别。为此,最近的研究探索了开放词汇语义分割[2,46,54],旨在分割属于任意语义类别的像素。

最近,视觉语言模型,如CLIP[37]和ALIGN[24],从数以百万计的图像-文本配对数据中学习对齐的图像-文本特征表示。预训练的视觉语言模型在识别开放词汇类别方面表现出优异的泛化能力。这激发了一系列研究工作,探索使用视觉语言模型进行开放词汇语义分割[13,28]。最初,研究工作主要采用两阶段框架[14,28,50],直接适应开放词汇分词的视觉语言模型。具体来说,他们首先生成类别不可知论的掩码提案,然后采用预训练的视觉语言模型将这些提案分类到不同的类别中。然而,这种两阶段框架使用两个独立的网络进行掩码生成和分类,从而阻碍了计算效率。此外,它没有充分利用上下文信息。

与上述两阶段方法不同,基于单阶段框架的方法直接扩展了开放词汇分词的单一视觉语言模型。有几种方法去除图像编码器最后一层的池化操作,生成像素级特征图进行分割。例如,MaskCLIP[57]在CLIP图像编码器的最后一层去除了全局池,使用值嵌入和纹理化直接预测像素级分割图。CAT-Seg[11]首先生成像素级的图像-文本成本图,然后通过空间和类聚合对成本图进行细化。虽然与两阶段方法相比,这些方法获得了良好的性能,但我们注意到它们的以下局限性。首先,MaskCLIP[57]和CAT-Seg都采用普通Transformer ViT[15]作为主干,局部空间信息弱,输入尺寸分辨率低。为了解决这些问题,CATSeg引入了一个额外的网络来提供空间信息。然而,这会产生额外的计算成本。其次,随着开放词汇类数量的增加,CAT-Seg的计算成本显著增加。

为了解决上述问题,本文提出了一种简单而有效的编码器-解码器方法,称为SED,用于开放词汇语义分割。本文提出的SED包括一个基于分层编码器的成本图生成和一个具有类别早期拒绝的逐渐融合解码器。基于分层编码器的代价图生成采用分层主干来预测像素级的图像-文本代价图,而不是普通的转换。与普通Transformer相比,分层主干能更好地保留不同层次的空间信息,并且相对于输入大小具有线性计算复杂度。本文的渐进式融合解码器逐步将来自不同层次主干的特征图和代价图结合起来进行分割预测。为了提高推理速度,本文在解码器中设计了一种类别早期拒绝方案,该方案可以有效地预测现有类别,并在解码器的早期层拒绝不存在的类别。在多个开放词汇语义分割数据集上进行了全面的实验,揭示了所提出的贡献在准确率和效率方面的优点。综上所述,本文提出了一种简单而有效的开放词汇语义分割方法,并做出了以下贡献。

图1 A-150和PC-459的精度(mIoU)和速度(ms)比较。

(1)本文提出了一种用于开放词汇语义分割的编码器-解码器,包括基于分层编码器的成本图生成和逐步融合解码器;

(2)本文引入了一个类别早期拒绝方案,在早期层拒绝不存在的类别,这有助于显著提高推理速度,而不会显著降低分割性能。例如,它在PC-459上提供4.7倍的加速。

(3)本文提出的方法SED在多个开放词汇分词数据集上取得了优异的性能。具体来说,所提出的SED在分割性能和速度方面提供了良好的权衡(见图1)。当使用ConvNeXt-L时,本文提出的SED在a -150上获得35.2%的mIoU分数,在PC-459上获得22.6%的mIoU分数。

03 方法

在本节中,我们将描述我们提出的用于开放词汇语义分割的编码器-解码器,称为SED。图2显示了我们提出的SED的整体架构,它包括两个主要组件:一个基于分层编码器的成本图生成和一个具有类别早期拒绝的逐渐融合解码器。在我们基于分层编码器的代价图生成中,我们使用分层图像编码器和文本编码器为解码器生成像素级图像-文本代价图

和分层特征图

。我们的渐进式融合解码器采用特征聚合模块(FAM)和跳层融合模块(SFM),逐步将像素级代价图

与分层特征图

结合,生成高分辨率特征图

。在

的基础上,我们使用一个输出层来预测不同类别的分割映射。此外,在解码器中采用了类别早期拒绝(CER)策略来早期拒绝不存在的类别,以提高推理速度。

图2 本文提议的SED的整体架构。首先使用分层编码器(可学习)和文本编码器(固定)来生成像素级的图像-文本成本图。然后,本文引入了一种渐进融合解码器,将分层编码器的不同特征映射和代价映射结合起来。渐进式融合解码器将特征聚合模块(FAM)和跳层融合模块(SFM)叠加在一起。此外,本文在解码器中设计了一个类别早期拒绝(CER),以在不牺牲性能的情况下加快推理速度。

3.1 基于分层编码的代价图

基于分层编码器的代价图生成(HECG)采用视觉语言模型CLIP[10,37,39]生成像素级的图像-文本代价图。具体而言,本文首先使用分层图像编码器和文本编码器分别提取视觉特征和文本嵌入。然后,我们计算这两个特征之间像素级的代价映射。现有的MaskCLIP[57]、CAT-Seg[11]等方法采用纯变换作为图像编码器生成像素级成本图。如前所述,普通Transformer的局部空间信息相对较弱,并且相对于输入大小具有二次复杂度。为了解决这些问题,本文建议使用分层主干作为成本图生成的图像编码器。分层编码器可以更好地捕获局部信息,并且相对于输入大小具有线性复杂度。代价图的生成描述如下。

给定输入图像

,本文首先利用分层编码器ConvNeXt[29,39]提取多尺度特征映射,记为

。这些特征图相对于输入大小有4、8、16、32像素的步长。为了使输出的视觉特征与文本嵌入对齐,在最后一个特征图

附加一个MLP层,得到对齐后的视觉特征图

,其中

等于文本嵌入的特征维数,

,

。给定一个类别名称的任意集合

,我们使用提示模板策略[11,20,28]生成关于类别名称

的不同文本描述

,例如“一张

的照片,一张多个

的照片,…”。

表示类别的总数,

表示每个类别的模板数量。将

馈入文本编码器,得到文本嵌入,记为

。通过计算视觉特征图

与文本嵌入E之间的余弦相似度[38],得到像素级代价图

其中

,

表示二维空间位置,

表示文本嵌入索引,

表示模板索引。因此,初始代价图

的大小为

。初始代价映射经过一个卷积层生成解码器的输入特征图

。为简单起见,我们没有在图2中显示

3.2 渐进式融合解码器

高分辨率特征图极大地促进了语义分割。但是,编码器生成的代价图

分辨率相对较低,噪声较大。因此,直接使用代价图进行预测,不利于生成高质量的分割图。为了解决这个问题,本文提出了一种渐进融合解码器(GFD)。GFD通过将特征聚合模块 (feature aggregation module,FAM)和skiplayer fusion module (SFM)两个模块层叠,逐步生成高分辨率的特征图 Fh。FAM旨在对局部区域和不同类别之间的关系进行建模,而SFM旨在利用分层编码器的浅层特征来增强特征映射的局部细节。

图3 渐进式融合解码器的结构。渐进融合解码器(GFD)首先在空间和类两个层次上进行特征聚合(a),然后采用跨层融合(b)将前一解码器层和分层编码器的特征映射结合起来。

特征聚合模块:图3(a)展示了空间级和类级融合的特征聚合模块(FAM)的设计。本文首先进行空间级的融合来模拟局部区域的关系。先前的研究[29,35]表明,大核卷积运算是一种简单但有效的捕获局部信息的结构。基于此,本文采用大核卷积进行了空间级融合[29]。具体来说,输入特征映射Fdec li经过一个深度卷积层和一个MLP层。深度卷积层有一个9 × 9的深度卷积和一个层范数操作,MLP层包含两个线性层和一个GeLU层。此外,我们在卷积层和MLP层中都使用了残差连接。在空间级聚合之后,我们进一步沿着类别维度应用线性自关注运算[11,25]来进行类级特征聚合。特征聚合模块(FAM)生成的特征映射用

表示。

跨层融合模块:特征映射

空间粗糙,缺乏局部细节信息。相比之下,层次编码器中的浅层特征映射

包含了丰富的细节信息。为了结合这些局部细节进行分割,本文引入了跨层融合模块,将低分辨率特征图

与高分辨率特征图

逐步结合。如图3(b)所示,我们首先使用反卷积操作将低分辨率特征映射

上采样2倍。然后,模型使用卷积运算将相应的高分辨率特征映射

,的通道维数降为16倍,并将降维后的特征映射重复N次,使其与

具有相同的类别维数。接着,本文将上采样的特征图和重复的特征图拼接在一起。为了融合更多的信息,还对初始代价图

进行上采样和连接。最后,本文通过两个卷积层馈送连接的特征映射

,以生成输出特征映射

。如文献[11]所示,直接将梯度反向传播到图像编码器会降低开放词汇语义分割的性能。因此,模型直接阻止梯度反向传播从跳过层融合模块到图像编码器。

本文的观察(见表4)表明,与普通Transformer相比,具有跳过层融合的分层编码器显着提高了性能。这可能是由于分层编码器能够为分词提供丰富的局部信息,并且停止梯度反向传播避免了对开放词汇分词能力的负面影响。

3.3 类别早期拒绝

逐步融合解码器的计算量与语义分类的数量成正比。当分类数量很大时,推理时间显著增加。事实上,大多数图像只包含几个语义类别。因此,解码器的大部分推理时间用于计算不存在的类别的特征。为了提高推理速度,本文引入了一个类别早期拒绝方案来识别这些现有的类别,并在早期解码层拒绝不存在的类别。被拒绝的分类对应的特征映射从当前的解码器层移除,下一个解码器层只考虑保留的分类。在训练过程中,如图4(a)所示,在每一层之后加入辅助卷积分支,分别预测分割图,分割图由Ground-truth监督。为了避免对模型训练的负面影响,模型停止了它们的梯度反向传播到解码器。

图4 类别早期拒绝的结构。在训练(a)中,本文在每个解码器层之后附加一个辅助卷积来预测由ground-truth监督的分割映射。在推理(b)过程中,我们使用top-k策略来预测现有类别并拒绝下一解码器层不存在的类别。

在推理过程中,本文在分割映射上采用top-k策略来预测现有的语义类别。具体来说,模型为每个像素选择具有最大响应的top-k类别,并从所有像素生成类别的联合集,该集合被馈送到下一个解码器层。作者观察到

可以确保大多数现有的类别被识别。图4(b)显示了推理过程中的类别早期拒绝。模型首先从

预测分割图,并采用top-k策略选择

类别。然后,去除未选择类别的特征映射,生成输出的特征映射

。将生成的特征图

馈送到解码器层。类似地,模型为下面的层生成具有更少类别的特征图。因此,大多数不存在的类别在早期被拒绝,提高了解码器的推理速度。

04 实验

4.1 数据集和评估指标

遵循现有的开放词汇语义分割方法[11,51],本文使用大规模数据集COCOStuff[3]来训练模型。在COCO-Stuff数据集中,训练集包含约118k张带有171个不同语义类别的密集注释图像。利用COCO-Stuff上训练好的模型,本文在多个广泛使用的语义分割数据集(ADE20K[56]、PASCAL VOC[16]和PASCAL- context[33])上进行了实验,以证明所提出的SED的有效性,并将其与文献中最先进的方法进行了比较。

ADE20K[56]是一个大规模的语义分割数据集。它包含20k个训练图像和2k个验证图像。在开放词汇语义分词任务中,有两个不同的测试集:A-150和A-847。测试集A-150有150个常用类别,测试集A-847有847个常用类别。PASCAL VOC[16]是最早用于目标检测和分割的数据集之一。大约有1.5k的训练图像和1.5k的验证图像。该数据集包含20个不同的对象类别。在开放词汇语义分词任务中,我们将其命名为PAS-20。

PASCAL-context[33]是对原始PASCAL VOC数据集进行语义分割的扩展。在开放词汇语义分割中,有两个不同的测试集:PC-59和PC-459。测试集PC-59有59个类别,测试集PC-459有459个类别。评价指标:在现有传统和开放词汇语义分割的基础上,采用平均交联(mIoU)作为评价指标。它是所有类的交集除以并集的平均值。

4.2 实现细节

本文采用预训练的视觉语言模型CLIP[10,37,39]作为基础模型,其中分层主干ConvNeXt-B或ConvNeXt-L作为分层图像编码器。ConvNeXt-B的文本嵌入特征维Dt为640,ConvNeXt-L的文本嵌入特征维

为768,类别模板个数P为80,特征映射Fdec - l1的通道数为128。我们冻结了文本编码器,只训练图像编码器和渐进融合解码器。我们在4个NVIDIA A6000 gpu上使用4张图像的小批量训练我们的模型。采用优化器AdamW,初始学习率为2×10−4,权值衰减为1×10−4。为了避免训练集上的过拟合,图像编码器的学习率乘以一个λ = 0.01的因子。总共有80k次训练迭代。在训练过程中,我们将输入图像裁剪为768 × 768像素。在推理过程中,输入图像被调整为768 × 768像素。

4.3 与SOTA模型比较结果

表1 与SOTA模型比较。报告了五个广泛使用的开放词汇语义分割测试集的mIoU结果。在这里,最好的结果以粗体显示,第二好的结果用下划线显示。通过比较VLM模型,本文提出的SED方法在所有五个测试集上都取得了优异的性能。与CAT-Seg[11]和OVSeg[28]相比,本文提出的SED方法不使用额外的主干或数据集。

表2 mIoU和推理时间(ms)的比较。报告了A-150的基本和大模型的结果。这里,推断时间是在单个NVIDIA A6000 GPU上报告的。

4.4 消融实验

表3 SED中不同模块的影响。展示了将不同模块集成到基线中的结果。

表4 普通和分层编码器的比较。本文分别采用ViT-B和ConvNeXt-B作为普通编码器和分层编码器。

表5 HEG中微调图像编码器的消融研究。本文展示了不同的微调策略和编码器学习率的不同尺度因子的结果。

表6 不同设计在GFD中的消融研究。渐融合解码器(GFD)包括特征聚合模块(FAM)和跳层融合模块(SFM)。本文首先展示了FAM中不同核大小(a)和空间类聚集(b)的影响。然后,本文给出了融合不同特征映射(c)和梯度反向传播(d)在SFM中的影响。最后,本文们展示了不同解码器层的影响(e)。

图5 定性的结果。在左边部分,展示了一些高质量的结果,我们的方法可以准确地对各种类别进行分类和分割。在右上部分,给出了一些失效案例和相应的基真(GT)。在右下角,给出了一种情况,在这种情况下,本文的方法可以分割在基础真理(GT)中没有注释的猫。

版权说明

本文中的内容全部来自论文《SED: A Simple Encoder-Decoder for Open-Vocabulary Semantic Segmentation》,分享文章的目的是为了让更多刚入门的同学能够快速了解最前沿的科研动态,进而筛选出对自己有帮助的文献,助力科研。如有侵权,请联系本公众号立即删除。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O7jSl8eJJOidkU2Tke_axOmg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券