Group ViT(Semantic Segmentation Emerges from Text Supervision)

news/2024/7/7 19:55:43

Group ViT(Semantic Segmentation Emerges from Text Supervision)CVPR2022

来自文本的监督信号,并不依赖于Segmentation mask的手工标注。而是像CLIP一样利用图像文本对使用对比学习的方式进行无监督的训练。

视觉方面做分割,grouping是一种常用的方法。如果有一些聚类的中心点,从这些中心点开始发散,把周围相似的点逐渐扩散成一个group,那这个group即相当于一个Segmentation mask。

让模型在最初的时候能将周围相邻相似的像素点group起来,变成Segmentation mask。Group ViT的贡献就是在也有的ViT模型中加入Grouping Block,同时加入了可学习的Group Tokens

图像编码器就是一个ViT,12层Transformer Layers。输入有两个部分,一个是来自原始图像的Patch Embedding,另外一个是可学习的Group Tokens。假设输入图像为224*224@3,每个patch的大小为16×16,得到14×14个196个长为384(196×384)的序列。(384对应ViT-small,特征维度384)。另外一个输入Group Tokens初始设为64×38464可以理解为64个聚类中心,代表每张图片有64个类别。6层Transformer Layers交汇之后认为Group Tokens学的已经差不多了,聚类中心也学的不错了,加入一个Grouping Block聚类一下,合并称为更大的Group,学到一些更有语义的信息。利用Grouping Block将图像(Patch Embedding)上的直接assign到64个Group Tokens上。相当于做了一次聚类的分配。

Grouping Block先用类似自注意力的方式算了一下相似度矩阵,然后利用相似度矩阵帮助聚类中心的分配,并将196×684降维到64×384。聚类中心分配过程不可导,利用gumbel softmax将该过程变成可导的。第二阶段使用8个Group Tokens将相似的类别进一步合并,将64个Group合并为8个Group。目前图像被分成了8大块,每个块代表一个类别的特征。然后与CLIP一致,通过图像文本对算一个对比学习的loss,然后训练。CLIP中,一个文本对应一张图像的特征,很容易算一个对比学习的loss。但是现在文本端为一个特征,图像端则为8×384的8个特征,无法与文本特征匹配。作者使用了Avg Pooling的方式。得到一个1×384的特征,这样文本特征和图像特征就可以匹配起来了。

接下来看模型如果做zero-shot的推理过程。文本和图像分别经过各自的编码器得到文本特征和图像特征,然后计算相似度,得到最匹配的图像文本对。局限性在于最后的聚类中心(Group Tokens)只有8类,从一张图像中最多分割出八个目标。

作者也做了消融实验,发现64-8的组合效果最好。

每个阶段可视化如图所示,第一阶段中Group5的类别为眼睛,图中确实可以将不同生物眼睛很好的分割出来。第二阶段对应大的目标区域,第三行第二阶段Group6对应类别草地,草地也被较好的分割出来。Grouping Token起到了聚类中心的作用,用Grouping这种思想完成无监督的分割。

与baselin方法比起来确实有提升,第一个用文本做监督信号的工作。还可以做zero-shot 的推理。但是对于有监督的模型如DeepLabV3plus已经达到了87左右的mlou,高了30多个点。

未来工作,一是没有使用dense prediction的特性,如空洞卷积、金字塔池化以及U-Net的结构,从而获取更多的上下文信息和多尺度信息。另一方面是推理过程中,作者设定了相似度阈值0.9,对于相似度小于0.9的阈值,则认为是背景类。

论文链接:http://arxiv.org/abs/2202.11094

参考:CLIP 改进工作串讲(上)【论文精读】_哔哩哔哩_bilibili


http://lihuaxi.xjx100.cn/news/39861.html

相关文章

GRU学习笔记

原理结构 GRU的输入输出和普通RNN一样。有一个当前的输入xtx^txt,和上一个节点传递下来的隐状态(hidden state) ht−1h^{t-1}ht−1,这个隐状态包含了之前节点的相关信息。结合xtx^txt和ht−1h^{t-1}ht−1,GRU会得到当前隐藏节点的…

一周速学SQL Server(第三天)

相关文章链接: 一周速学SQL Server(第一天)https://blog.csdn.net/beiye_/article/details/127016065?spm1001.2014.3001.5501一周速学SQL Server(第二天)https://blog.csdn.net/beiye_/article/details/127022635?…

Cesium学习五:使用entity绘制cylinder

一、圆柱绘制代码 上一篇介绍了多边形的绘制,本篇介绍圆柱的绘制,Cesium提供的cylinder类不仅仅可以绘制圆柱,还可以绘制正多边形棱柱以及锥体等,具体代码如下(别忘了使用你自己的Token,基础环境不知道怎么…

MPLS BGP virtual private network OptionB实验

拓补图 以CE1、PE1、P1、ASBR1配置为例,CE2、PE2、P2、ASBR2的配置同理 1.配置IP地址 2.配置代码 CE: PE: ASBR: 3.总结 这次的实验是使用上次OptionA的实验的基础上进行更改然后配置的,这里面变化的点主要有以下…

信息系统项目管理基础

项目管理基础 重点: 项目的特点 项目的5个特点:临时性,独特的产品,服务或成果,逐步完善,资源约束,目的性。 目标与约束 时间,成本和质量往往是冲突的,需要取舍。 项目…

大数据常见面试题

大数据常见面试题 1、MySQL索引有哪些? 1.1、普通索引index:加速查找 1.2、唯一索引 主键索引:primary key:加速查找约束(不为空且唯一)唯一索引:unique:加速查找约束&#xff0…

Linux基本运维汇总

1 rpm管理 rpm的作用类似于windows上的电脑管家中软件管理、安全卫士里面“软件管家”等产品,是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到…

Nginx日志格式说明

1、日志位置及配置 默认位置在nginx安装目录下的:logs/access.log 也可修改日志配置,在配置文件中:conf/nginx.conf 日志格式参数:log_format #log_format main $remote_addr - $remote_user [$time_local] "$request&qu…