CRIS: CLIP-Driven Referring Image Segmentation论文阅读笔记

摘要

这篇文章要做的任务是RIS(Referring Image Segmentation),就是通过自然的语言表达来分割一个参考物,而整合文本与像素级的特征是非常有挑战性的。作者受到CLIP的启发,设计了一个visual-language decoder以促进两种模态之间的一致性。同时,作者还提出了文本到像素的对比学习。

方法

首先作者使用ResNet和Transformer分别提取图像和文本特征,然后将特征进行融合以获得多模态的特征,之后这些特征和文本特征被送入visual-language decoder,最后使用两个projector(?)来产生最终的预测掩码,并采用文本到像素的对比损失将文本特征与相关的像素级视觉特征对齐。

Image & Text Feature Extraction截屏2022-10-19 16.48.52

Image Encoder

作者使用四个Stage的ResNet进行特征提取,其中Fv2RH8×W8×C2,..,Fv4RH32×W32×C4

Text Encoder

对于输入TRL,通过Transfomer提取到的特征为FtRL×C。全局文本表示FsRC。其中C,C是特征维度,L是referring expression的长度。

Cross-modal Neck

给定多个视觉特征和全局文本表示Fs,可以通过融合Fv4以及Fs得到简单的多模态特征Fm4RH16×W16×C

截屏2022-10-19 16.52.57

其中Up是上采样两倍,·表示对应元素相乘,σ表示ReLU,W是可学习的变换矩阵,用于将两个模态的特征变换到同一个特征空间。随后的Fm3Fm2

截屏2022-10-19 17.03.50

Avg表示核尺寸为(2, 2),步长为2的平均池化,[]表示concat操作。拼接后的特征通过1×1卷积进行聚合得到Fm

截屏2022-10-19 17.18.51

其中FmRH16×W16×C。最后,作者将2D的空间坐标特征FcoordRH16×W16×2Fm拼接并通过3×3卷积进行融合:

截屏2022-10-19 17.27.09

其中FvRH16×W16×C

Vision-Language Decoder

作者设计的视觉语言解码器可以将细粒度的语义信息从文本特征传播到视觉特征。如图3,解码器模块的两个输入分别为FtRL×C以及FvRN×C,其中N=H16×W16。为了捕捉到位置信息,作者还加上了正弦位置编码。vision-language decoder由n个layer组成,用于生成多模态特征序列FcRN×C。和标准的Transformer结构类似,每个layer包括一个多头自注意力,一个多头交叉注意力以及前馈网络。在每个decoder layer中:

截屏2022-10-19 19.31.15

截屏2022-10-19 19.33.49

对于MHCA,Fv映射为Q,Ft映射为K和V。得到的Fc被用于最终的分割。

Text-to-Pixel Contrastive Learning

目前学到的知识实际上缺乏精细的视觉概念,这对于分割来说是远远不够的。因此作者还设计了文本-像素对比损失,其将文本特征与相应的像素级视觉特征联系起来。如图3,Text Projector用来转换Fs,Image Projector用来转换Fc

截屏2022-10-19 20.09.28

其中ztRD,zvRN×D,N=H4×W4。Up表示四倍上采样(为了尽可能恢复原图的分辨率?)。W和b分别是权重以及偏置。

因此,给定变换后的文本特征zt以及一系列变换后的像素级特征zv,就可以计算对比loss了,目的是让zt和与之对应的zv尽可能相似:

截屏2022-10-19 20.23.40

其中PN分别表示gt中类别“1”和类别“0”的数量,σ代表sigmoid函数。为了得到最终的分割结果,作者讲σ(zt·zv)reshape为H4×W4并上采样为原图大小。iP时要让ztzvi相似度尽可能大,softmax后趋近于1,取负log后趋近于0,即让loss尽可能小;iN时类似。

实验

截屏2022-10-19 20.51.46

实验结果可以查阅论文原文。作者这里列举了一些例子:

截屏2022-10-19 21.00.04

比较有趣的是这些failure case。第一种导致failure的原因是输入的表达具有歧义(左上图),其次是标签标注问题()右上图),最后是遮挡问题(右下图)。

截屏2022-10-19 21.04.07

posted @   脂环  阅读(1179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-10-19 函数实现复合命题的计算及判断两个命题是否等值——中缀表达式转后缀表达式
点击右上角即可分享
微信分享提示
主题色彩