一篇CLIP应用在语义分割上的论文

论文标题:

DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting

作者信息:

代码地址:

https://github.com/raoyongming/DenseCLIP

Abstract

CLIP模型对下游分类任务取得很好的效果,作者通过隐式和显式的利用CLIP中的预训练知识,提出一个密集型预测任务的框架,该框架通用于各种模型和主干网络,并在分割任务上有很好的效果。

Introduction



(首先讨论了经典的预训练应用范式)把backbone在大规模数据集预训练,然后根据任务接一个detector或则分割的decoder。
CLIP模型也可以通过这种方式进行应用,修改语言模型的输出并应用于分类任务,但是和其预训练任务相似,应用面太窄,不够通用,无法应用于密集型的预测任务。
(作者的贡献)提出了DenseCLIP框架,将CLIP中的原始图像-文本匹配问题转换为像素-文本匹配问题,使用像素-文本score map来明确地指导密集预测模型的学习(图b)。该框架可以应用于任何主干模型。

Approach

3.1. Preliminaries: Overview of CLIP

CLIP模型扩展应用在密集型任务上有两个难点:
1.首先是密集型预测任务应用backbone的就比较少,有一些应用就是把CLIP中的img encoder直接拿来用,但是忽视了text encoder的重要作用。
2.CLIP本身是分类任务,由于上游对比预训练任务和下游每像素预测任务之间存在巨大差距,将知识从CLIP转移到密集预测更加困难。主要原因还是输入输出的形式不一样。

3.2. Language-Guided Dense Prediction

作者认为除了CLIP中img encoder所表示的全局特征以外,最后一层是能表示 language-compatible feature map。CLIP在应用backbone的时候做了改进,加入了一个attention pooling layer(https://blog.csdn.net/rocking_struggling/article/details/127291295),在特征x4x_4x4​上应用得到global featurex4‾\overline{x_4}x4​​,之后将它们concat输出到多头自注意力层:

其中z4‾\overline{z_4}z4​​被应用于Img decode的输出,而z4{z_4}z4​被忽略掉了,作者认为:
(1)z4{z_4}z4​仍然保留了足够的空间信息,因此可以作为一个特征图。
(2)MHSA对输入元素是类似的,故z4{z_4}z4​应该和z4‾\overline{z_4}z4​​类似。
作者将z4{z_4}z4​和CLIP的text encoder的输出特征ttt做乘法,获得pixel-text score map。
pixel-text score map有两个作用:
(1)直接作为低分辨率的分割结果,引入监督计算辅助分割损失。
(2)和x4x_4x4​的concat输入到Image Deocoder中去,获得分割结果计算损失。

3.3. Context-Aware Prompting

(作者对text encoder部分做的一些改进)
作者认为CLIP中的text prompt: a photo of a [CLS]效果不是很好,尤其是对于分割任务而言。对于[CLS]描述应该越清晰越好,于是作者采用CoOp的思想,生成learnable textual contexts放在[CLS]的前面,输入到text encoder中去:

其中,ppp是生成的contexts,eke_kek​是类别。生成这些ppp叫Vision-to-language prompting,分别叫pre-model prompting和post-model prompting:

pre-model prompting:建立一个可学习的序列qqq,然后和图像特征zzzconcat输入到Decoder中去获得text vprev_{pre}vpre​,把vprev_{pre}vpre​替换ppp。

post-model prompting:把已经text encoder的特征ttt和图像特征zzzconcat暑促到Decoder中去获得text vpostv_{post}vpost​,并用它更新ttt:

3.4. Instantiations

作者这个框架分别应用在语义分割、检测\实例分割上面,为此还设计了不同的损失函数。
语义分割的辅助损失函数:

检测\实例分割损失函数:

作者还说可以用任何主干网络替换CLIP中的Image Encoder,因为在text feature的指导下,backbone可以更快更好的学习,表明了DenseCLIP的强通用性。

Experiments

【论文阅读】DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting相关推荐

  1. 论文阅读笔记: (2022.05, icra) Traffic Context Aware Data Augmentation for Rare Object Detection in Autonom

    这篇文章是nullmax发到icra上的, 主要讲了用domain迁移的方法制作稀有场景的数据集,数据已经开源:ROD - Nullmax Rare Object Dataset 一.目的,主要贡献 ...

  2. DenseCLIP:Language-Guided Dense Prediction with Context-Aware Prompting

    DenseCLIP:Language-Guided Dense Prediction with Context-Aware Prompting 论文地址:https://arxiv.org/pdf/2 ...

  3. 论文阅读课1-Attention Guided Graph Convolutional Networks for Relation Extraction(关系抽取,图卷积,ACL2019,n元)

    文章目录 abstract 1.introduction 1.1 dense connection+GCN 1.2 效果突出 1.3 contribution 2.Attention Guided G ...

  4. 论文阅读:《Ad Click Prediction: a View from the Trenches》

    https://time.geekbang.org/column/article/370 广告是很多互联网公司的重要收入来源,比如 Google.Facebook.微软.阿里巴巴.百度.腾讯等.以 F ...

  5. 【论文阅读】Prior Guided Feature Enrichment Network for Few-Shot Segmentation

    Prior Guided Feature Enrichment Network for Few-Shot Segmentation Abstract Introduction Related Work ...

  6. 笔记:论文阅读 Enriched Feature Guided Refinement Network for Object Detection

    面向目标检测的丰富特征引导细化网络 摘要 提出一个单阶段检测框架,该框架解决了多尺度目标检测和类不平衡的问题. 没有设计更深层网络,而是引入一种简单而有效的特征丰富化方案来生成多尺度的上下文特征. 进 ...

  7. 论文阅读笔记 Sparse Representation-Based Intra Prediction for Lossless/Near Lossless Video Coding

    摘要 基于稀疏表征的帧内预测SRIP.在HEVC中有35种角度预测模式AIP,用最相似的相邻像素去表示当前待编码像素.为了编码与解码的一致,角度预测模式的参数要传到解码端,为了进一步提高编码效率,再传 ...

  8. 论文阅读和分析:《DeepGCNs: Can GCNs Go as Deep as CNNs?》

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊. 数据集 1.脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1. ...

  9. 论文阅读和分析: “How Attentive are Graph Attention Networks?”

    下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊. 数据集 1.脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1. ...

最新文章

  1. 没有任何基础的可以学python吗-对没有编程基础的人来说,直接学Python入门IT合适吗?...
  2. python实现文件共享_改进的一行Python实现文件共享--支持并发
  3. node 生成随机头像_唯一ID生成算法剖析
  4. linux平台下rpm方式和源码包方式安装mysql5.7
  5. Android自动伸展动画,android – 如何实现平滑的展开/折叠动画
  6. 计算机网络犯罪和一般犯罪的不同,论计算机网络犯罪题稿.doc
  7. 云开发数据库VS传统数据库丨云开发101
  8. Swagger 注解~用于方法
  9. vue 样式绑定 class
  10. 11.17 dfs poj1979 Red and Black
  11. webpack中的loader
  12. Java实现阿拉伯数字转换成中文大写数字,以及中文大写数字到阿拉伯数字的转换。
  13. python运算符计算集合并集_Python集合、集合的运算、集合方法详细讲解
  14. 联想天逸 510S 2022怎么样
  15. matlab simca,SIMCA软件|SIMCA-多元数据分析软件
  16. iOS上线APP在App Store地址
  17. python面向过程之水果超市
  18. C语言计算数字乘积根,c语言,求任意一个整数各位数字之积
  19. oracle数据库锁表查询,解锁,kill缩表进程
  20. 上传自己的项目到Github开源的步骤

热门文章

  1. MFC的使用——在共享DLL中使用MFC、在静态库中使用MFC
  2. Android 9 功能和 API
  3. NVIDIA嵌入式开发板Jetson TX1教程
  4. linux make命令error2,make命令出错,求解释。
  5. 9、Vue自定义指令
  6. 初代网红绿茶餐厅闯关IPO:翻台率萎靡、上市难回春
  7. 我的开车心得-送给马路新人 【转】
  8. spark streaming 整合kafka 报错 KafkaConsumer is not safe for multi-threaded access
  9. How to Add a Dotted Underline Beneath HTML Text
  10. DSPE-PEG-SH, 磷脂PEG巯基