文献基本信息
- 标题:Language-Driven Semantic Segmentation
- 作者:Boyi Li、Kilian Q. Weinberger、Serge Belongie、Vladlen Koltun、René Ranftl
- 单位:Cornell University、University of Copenhagen、Apple、Intel Labs
- 会议/期刊:ICLR
- 发表时间:2022年4月3日
- 代码:https://github.com/isl-org/lang-seg
背景与意义
- 语义分割可以看做是像素级的分类,因此分类的新技术、新思路,一般可以直接用过来。
- 本文实现了zero-shot的语义分割,实现方式与CLIP实现zero-shot的方式类似,都是通过类别prompt作为文本输入,然后计算相似度。
- 给定一张图片,然后通过文本prompt给定任意的类别,从而实现对应的语义分割。
- 从上图中可以看到,给定了对应的类别prompt:
- 对于图中明确出现了的语义类别(如dog、tree),模型能够很清楚地分割出来。
- 对于图中没有的类别(如vehicle),模型也不会误召回(容错率高)。
- 对于图中有、但是类别prompt没给的类别(如grass),也能正确分类为other。
- 同样可以检测类别的子类或父类(如dog、pet),模型也能够通过语义识别出来。
- 由于CLIP类的模型实质上都是通过计算图文相似度来实现分类或分割的,因此对于“other”类的类别,prompt文本实际可以是任何无意义的文本,如“me”、“a”或“an” 等,只要与目标类别不要太接近即可。
研究方法与创新点
- 如上图所示,模型整体看来与CLIP模型非常相似,图像先输入图像编码器(DPT ViT+decoder)得到特征向量,再进行一些upscaling,输出图像与原图像大小保持一致,输出再与ground-truth做交叉熵,其中将单个的图像文本特征换成语义分割中逐像素的密集特征。
- 文本编码器提取
的文本特征(
个类别,
为特征维度),图像编码器提取
的密集图像特征(跟原来相比有所降维,比如1/4、1/16),文本-图像二者相乘得到
的特征,再经过空间规整模块上采样回原图尺寸,完成语义分割,其中
、
、
和
分别是类别prompt个数(可变)、通道数和特征图的高、宽。除了上面的文本编码器提取的文本特征要与密集图像特征相乘来计算像素级的图文相似度之外,整个网络与传统的有监督网络完全一致。
- 在训练过程中,模型是以有监督的方式进行训练的,也就是说训练过程中是存在标注的分割图的,模型在7个分割数据集上进行训练。
- 在推理时,可以指定任意个数、任意内容的类别prompt来进行zero-shot的语义分割。
- 创新:通过在传统的有监督分割模型上加入文本特征,通过特征相乘把文本特征和图像特征结合起来,学到一些languge-aware的特征,在最后就能用文本prompt得到任意的分割效果。
- LSeg整个文本编码器就是CLIP的文本编码器的模型和权重,并且训练、推理全程中都是冻结的;LSeg的图像编码器可以是任何网络(CNN/ViT),需要进行训练。
- 空间规整模块是本文提出的一个模块,为了在计算完像素级图文相似度后有一些可学习的参数来理解计算结果,由一些卷积和逐深度卷积组成。
研究结论
- 在PASCAL-5、COCO20、FSS-1000上作评价,如PASCAL-5有20类,现在把20类分成4份,每份5类,将其中5类作为已知,其他15类未知,做zero-shot实验。
- 由上图可知,LSeg在zero-shot的语义分割上确实大幅领先之前方法,但是与few-shot哪怕是one-shot相比,还是有很大的提升空间。
- 由上图可知,LSeg在zero-shot的语义分割上确实大幅领先之前方法,但是与few-shot哪怕是one-shot相比,还是有很大的提升空间。
存在的问题
- 空间规整层是简单的conv卷积或者DWconv,这一层进一步学习文本图像融合后的特征,理解文本与图像如何交互。消融实验证明,两层空间规整层效果最好,但是四层空间规整层突然就崩了,本文中并没有对此解释原因,因此无法得知空间规整是否是一个稳定有效的技巧。
启发与思考
- 图像分类任务和图像分割任务很像,无非就是把图像级别的分类转变成像素级别的分类,前者的技术往往都能直接应用到后者。
- 提供了一种利用CLIP的新思路,可以单独使用其中的文本或图像编码器,并且也可以用有监督的方式进行训练。