论文阅读--GroupViT

 视觉之前做无监督分割的时候,经常使用grouping方法:如果有一些聚类的中心点,从这写点开始发散,把周围相似的点逐渐扩充成一个group,这个group就相当是一个segmentation mask

右边是grouping block,左边的两个层之间的小东西表示可学习的group tokens,目的是想要模型在初始学习的时候能慢慢的把相邻的像素点group起来,变成一个又一个的segmentation mask

可以看到浅层时的group token分割效果还不是很好,但经过transformer layers和grouping block的学习,深层的group token的分割效果很好

输入来自原始图像的patch embedding和group tokens,group token的第一维代表聚类中心数量

group token可以理解为cls token,它想要代表整个图片,为什么多个token而不像cls token就一个,是因为分割有很多目标类别

transformer layers将patch embedding与group tokens联系起来

经过一些transformer之后,认为group token学得差不多了,聚类中心也学得差不多了,这时候利用grouping block将group token尝试合并成更大的group,学到一些更有语义的信息;另一个好处是它变相的把序列长度降低了

grouping block先利用类似自注意力的方式,计算量一个相似度矩阵,然后用这个相似度矩阵帮助原来的image token做一些聚类中心的分配,从而把image token降维到group token的维度;做聚类中心分配的过程不可导,所以用了gumbel softmax的trick

训练过程通过对比学习的loss,文本经过text encoder得到文本特征,但是图像经过group

token、group merging得到的是一个序列,第一维是聚类中心个数,第二位是深度,为了把序列的特征融合成整个图像的特征,使用平均池化,然后对比学习

背景类通过设置阈值来区分,这是CLIP的的局限性,背景类太抽象了,可以代表很多很多类

图片喂给GroupViT,文本喂给text encoder,对比学习计算相似度

聚类中心个数是超参数,需要人工设定,作者实验发现8个的效果最好,此时分割最多检测到8类

由图可知,group token确实起了作用

stage1的第五个token代表眼睛,第三十六个token代表四肢,且面积较小,因为此时未经过grouping block,聚类中心多

stage2中明显看到聚类中心减少后,token表示范围增大,且每个token代表不同类别 

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值