欢迎光临散文网 会员登陆 & 注册

CLIP 改进工作串讲(上)【论文精读·42】

2023-04-03 19:26 作者:c1assy好好学习  | 我要投稿

CLIP

蓝色为正样本,其他是负样本

推理:最大相似度的标签

分割

像素级分类

Language-driven semantic segmentation[ICLR2022]

有监督的训练:并没有把文本当作一个监督信号来使用,还是依赖于手工标注的分割groundtruth mask


Text encoder采用的就是CLIP训练好的文本编码器(数据集很小,finetune效果反而会变差)

Image encoder用CLIP的那个不太行

zero-shot分割和有监督分割相差至少十个点


失败原因:用了CLIP,本质都是计算图像和文本特征之间的相似性,并不是真正在做分类,而是选择最接近的那个


groupViT: [CVPR2022]

从头训练,使用了CLIP的loss

grouping:有一些聚类的中心点,从中心点发散,把周围相似的点逐渐扩充成一个group,这个group就是一个segmentation mask (自下而上的方式 )

group token: 用来代表整个图片

64个:过去用一个是因为想代表整个图片仅有一个特征;但是做分割,是要每个小块都有一个特征表示

通过transformer layers里的自注意力学习到底哪些 patch(粉色的)属于哪个group token

经过六层transformer layers,group token和聚类中心学的差不多了。通过Grouping block把patch直接assign到64个group token(即做了分配,得到64个聚类中心)

grouping block: 类似自注意力,首先计算了相似度矩阵,来帮助patch做聚类中心的分配


gumbel softmax: 将不可导的聚类中心的分配变为可导的-> can end-to-end


由于分割种类就不多,加了新的8个group tokens,再聚一聚(通过transformer layers将64个segment token再次映射到这8个聚类中心上)。

经过3层transformer layers,通过Grouping block把64+8的序列assign到8*384的token上

文本端一个特征,但是图片是8个group embedding:对8块直接平均即Avg pooling,得到1*384的特征

接下来就是CLIP


zero-shot推理:

最多能检测8类(8个group embedding)

一个group token对应一个类,起到了聚类中心的作用:

局限:

  • 是图像编码器的结构,没有很好地利用dense prediction的特性。
  • 背景类:分割做的很好,分类差了。因为CLIP学不到很模糊的概念如背景。。group embedding和文本的相似度必须超过阈值,再取最大的。若group embedding和文本的相似度都没有超过阈值,groupvit就认为该group embedding是背景。当在COCO等类别非常多的数据集上时,置信度都比较低,阈值的设置就比较麻烦。(加一个约束把背景类融到里面。阈值可学习)

改进:+ deep fusion

检测

ViLD

训练量很大

Open-vocabulary object detection via vision and language knowledge diatillation

能够检测任意类别的新物体,zero-shot(肯定要文本)

Baseline: 两阶段的Mask RCNN(1.get n proposal 2.对proposal进行分类)

文本来自于物体的类别base类,其实还是有监督的。


文本端(Text Embeddings)是锁住的,和图像特征(N region embeddings)做点乘 相似性,相似度当作最后分类的logics, 再交叉熵。注:还是有监督的,因此不在基类中的其他类别就归入Background了

ViLD-image: 从基类CB到基类CB+新类CN:

使左边图像编码器输出的region embedding和CLIP image encoder输出尽可能近->知识蒸馏


右边是teach,输入的proposal既可以是基类也可以是新类(监督信号来自CLIP,而不是人工标注)

N->M proposal:加快训练。

对每张图片,提前先用训练好的rpn将M个proposal预抽取出来。teach浅橘色是离线部分,训练时仅需要load M个image embedding

而左边出来的N个proposal是随时可以变化的


LVIS: 有些可能只有一个标注,会越训练越差,不如直接zero-shot


glip: Grounded Language-Image Pre-training

图像文本对易收集。

Vision grounding: 根据一句话,定位出物体

结合了detection和Vision grounding

伪标签:将推理出来的bounding box当作ground truth ->扩大数据集

有监督的,时刻都有bounding box annotation

Fusion(cross-attention): 使图像文本特征更加的有关联性,joint embeding space

Alignment loss: ViLD text分支


GLIPv2:



CLIP 改进工作串讲(上)【论文精读·42】的评论 (共 条)

分享到微博请遵守国家法律