新闻详情

新闻详情

首页 / 资讯中心 / 详情

DenseCLIP

发布时间:2026/9/28 3:47:41来源:尧图网络
DenseCLIP
这篇论文最需要记住的一句话是把 CLIP 的 image-text matching 转换成 pixel-text matching也就是把 CLIP 原本擅长的整张图 → 语言进一步下沉成图像空间位置 → 语言从而将 CLIP 中学到的 language prior 用到 semantic segmentation、detection、instance segmentation 等 dense prediction 任务中。1. DenseCLIP 为什么要做这件事CLIP 在大规模 image-text pairs 上进行对比学习因此可以学到很强的视觉—语言语义关系。例如给一张狗的图片再构造a photo of a dog a photo of a cat a photo of a car通过 Text Encoder 得到然后比较哪个相似度最高就认为图片属于哪个类别。所以 CLIP 天然擅长的是但是 semantic segmentation 要解决的是每个空间位置是什么例如这里 → dog 这里 → grass 这里 → tree 这里 → sky也就是说CLIP 原本解决的是整个image → text而 segmentation 需要两者之间存在明显的 task gap。论文指出只把 CLIP image encoder 当普通 pretrained backbone 去 fine-tune虽然比 ImageNet pretraining 好一些但并没有充分利用 CLIP 中的语言知识。因此 DenseCLIP 的基本问题就是CLIP 已经学会了“什么视觉内容对应什么语言语义”能不能把这种能力从整张图下沉到空间位置2. 整体框架DenseCLIP 实际上做了两件事整篇论文可以先压缩成两个核心模块Pixel-Text Matching解决怎么让每一个 spatial feature 和类别文本进行匹配把改造成Context-Aware Prompting解决怎么让类别 text embedding 更适合当前这张图片不是永远使用固定的dogembedding而是利用当前 image context 对它进行适当调整。论文 Figure 3 的整体流程就是同时然后这些 score maps 一方面接受监督另一方面又作为 language prior 注入最终 segmentation decoder。3. CLIP Image Encoder 中的z̄和z这是理解 DenseCLIP 最关键的一步之一。以 CLIP 的 ResNet image encoder 为例假设最后一层 feature map 为这里可以把理解成HW个 spatial tokens。首先 global average pooling得一个粗糙的 global token然后 CLIP 并不是直接用这个global token而是把一起送进 Multi-Head Self-Attention论文中原始 CLIP 最终主要取作为 image embedding而通常不用后面的。为什么 MHSA 后会有z̄和z两部分因为 MHSA 并不会把所有 token 压缩成一个 token。输入共个 token。self-attention 之后依然输出个 token作者只是把它们重新分成和你可以把它理解成global token ─┬─ 看所有 spatial tokens │ spatial token1 ├─ 看 global 所有 spatial spatial token2 ├─ 看 global 所有 spatial spatial token3 └─ 看 global 所有 spatial最后得到所以 DenseCLIP 关心的点就在这里原始 CLIP 主要取走第一个作为整图表示而 DenseCLIP 发现后面的由于也参加了这种全局 self-attention同时又保持空间位置因此可以拿来做 pixel-text matchingMHSA 对z̄有什么作用原来的只是简单 average pooling所有位置被平均对待。经过 self-attention 后global token 可以主动关注于是得到的是一个更加有语义的 global representation。例如图片是草地上有一只狗。普通 average pooling 只是把dog feature grass feature background feature ...平均起来。而 attention pooling 可以更加关注真正重要的狗区域。因此 更好的 whole-image semantic representation这正是原始 CLIP 最需要的东西因为它最终做的是MHSA 对z又有什么作用这是 DenseCLIP 真正关心的部分。原来的更接近一个局部视觉 feature比如毛发、颜色、纹理、边缘。而经过 self-attention 后可以同时参考global token其他 spatial tokens当前局部信息。因此可以粗略理解成xᵢ: 这个位置长什么样经过 attention 后zᵢ: 结合整张图上下文后这个位置更可能是什么与此同时z仍然保留的空间结构。所以作者发现z 保留 spatial information 的 language-compatible feature map论文认为它一方面还保留足够的 spatial information另一方面因为经过了 CLIP 的 attention pooling所以可能和 language features 有较好的兼容性。这就给后面的 pixel-text matching 提供了基础。4. 最核心的一步Pixel-Text Matching假设 downstream segmentation dataset 一共有K个类别dog cat grass tree sky ...对于每一个类别构造一个文本 prompt例如a photo of a dog a photo of a cat a photo of grass ...通过 CLIP Text Encoder每一个代表一个类别 prompt 的 text embedding。同时我们已经有于是对每一个 spatial feature 和每一个 text embedding 做相似度得到这就是例如对于某个位置dog 0.85 cat 0.12 grass 0.04 tree 0.02说明这个位置和dog的语言特征最匹配。因此原始 CLIP 做的是而 DenseCLIP 变成这就是整篇论文最核心的变化论文把这些 score maps 看成一个低分辨率 segmentation prediction。5. Pixel-Text Score MapS后面到底做什么S并不是直接作为最终 segmentation result 使用。它主要有两个作用。作用1直接监督 pixel-text alignment因为已经很像一个低分辨率的 segmentation result所以可以直接和 GT计算 loss也就是告诉模型如果这个位置 GT 是 dog 那么它和 dog text embedding 的相似度应该最高。因此这个 loss 的作用就是强迫 spatial visual feature 和 text feature 建立正确的语义对应关系作者认为这也能够帮助 CLIP feature 更快恢复 locality。作用2作为 language prior 送给 segmentation decoderDenseCLIP 还会把和原始 visual feature拼接得然后送进普通 segmentation decoder例如 Semantic FPN这里可以把两部分信息理解成x₄: 视觉结构信息如颜色、纹理、形状、边缘、局部结构。S: language-derived semantic prior如这个位置看起来有 0.8 概率像 dog0.1 像 cat。所以 decoder 实际上是在综合视觉空间信息 语言语义信息得到最终 segmentation。论文明确把 score maps 拼接到最后的 feature map 中以显式注入 language prior。为什么不能直接把S当 segmentation因为更接近一个粗粒度 semantic guidanceCLIP 本身并不是为精确 pixel localization 训练的因此它很可能 知道这里是 dog但不知道dog 的边界精确在哪里。所以可以简单理解S: 告诉 decoder “是什么”x₄ decoder: 告诉模型“准确在哪里”这是 DenseCLIP 一个非常重要的思想。6. Context-Aware Prompting让 text embedding 根据图片调整到目前为止我们一直假设每个类别都有一个固定 text embedding但是现实中dog on grass dog indoors small white dog brown dog dog in snow视觉表现差别很大。如果无论什么图片都使用完全一样的a photo of a dog得到的那么 text representation 并没有考虑当前图片的 context。因此 DenseCLIP 又提出其思想是不只是 language 告诉 vision 什么是 dog当前 image 也反过来帮助调整 “dog” 的 representation。7. Context-Aware Prompting 是对谁做的DenseCLIP 有个类别因此也有个类别 promptsa photo of a dog a photo of a cat a photo of grass ...通过 Text Encoder 得到所以本身就是所有类别 prompt 的 text embeddings。因此说Context-aware prompting 对每个类别做和说Context-aware prompting 对 prompt text embedding 做在这里其实是同一件事。因为 每个类别 → 一个类别 prompt → 一个 text embedding8. 两种 Context-Aware Prompting尝试了两个方案和记后者即可。Pre-model prompting先从图片中抽取 visual context然后将 visual context 和 class name 一起作为 Text Encoder 的输入相当于先根据图片修改 prompt再生成 text embedding。问题是每张图片的 visual context 都不同。所以 inference 时每张图片都需要重新跑一次 Text Encoder计算成本较高。Post-model prompting先正常得到所有 class text embeddings然后让这些 text embeddings 作为 Transformer Decoder 的 query也就是说对于它会从当前 image features 里寻找与 dog 相关的 visual context对于则会寻找与 grass 相关的信息。最后使用得到 image-conditioned text features。需要注意DenseCLIP并不会真的生成一句文本a brown dog standing on grasscontext-aware prompting 是发生在 embedding / latent feature space而不是自然语言生成。因此可以理解成从通用dogrepresentation → 调整成一个更适合当前这张图片的 dog representation。9. 为什么这里要使用很小的γ作者使用并将初始化得很小例如原因是 CLIP 原本已经通过海量 image-text pairs 学到了很好的 language prior如果刚开始就让 image context 大幅修改它很可能破坏原来的 pretrained knowledge。因此作者实际采取的是保留原始 CLIP semantic prior 进行小幅 image-conditioned adjustment而不是重新学习一个dogembedding。作者最终也更倾向使用 post-model prompting因为它不仅效果更好而且 inference 更高效。10. 两个 Loss 怎么理解DenseCLIP 在 semantic segmentation 中可以把训练理解成两条监督路径。首先pixel-text score map。然后一方面直接接受监督另一方面和拼接之后继续进入 segmentation decoder。整体可以写成┌→ S → Pixel-Text Matching Loss Image → Encoder ──┤ └→ [x4,S] → Decoder → Prediction → Task Loss第一条Pixel-Text Matching Loss被监督的是即 pixel-text score maps。它由和计算得到然后和 ground-truth segmentation label计算它负责告诉模型每个空间位置应该和正确类别的 text embedding 更相似。也就是训练第二条Task Loss先送进 segmentation decoder最终 segmentation prediction再拿和同一个 ground truth计算正常的 segmentation task loss。它负责让最终 segmentation result 正确因此两条 loss 可以很简单地记成S↔GT→ 监督中间的 pixel-text alignment和P↔GT→ 监督最终 segmentation论文 Figure 3 中也明确区分了 Pixel-Text Matching Loss 和最终 Task Loss。11. 把整个 DenseCLIP 从头到尾重新串起来现在整套流程可以压缩成下面这条主线。输入图片通过 CLIP Image Encoder 得到以及 attention pooling 后其中z 保留 spatial structure 的 CLIP feature与此同时对于K个类别构造 prompts再通过 Text Encoder 得到然后通过 Context-Aware Prompting让每个类别 text embedding 根据当前 image context 进行调整。再计算得到的 pixel-text score maps。之后同时再最终完成 segmentation。所以 DenseCLIP 可以浓缩成12. 实验最需要记什么说明仅仅把 CLIP 当作一个更好的 visual backbone已经有效。但是加入 DenseCLIP 后说明更重要的提升来自显式利用 CLIP 中的 vision-language relationship而不是单纯换了一个更好的 pretrained backbone。Ablation 中也可以看到说明 language-guided learning 和 context-aware prompting 都有明显贡献而且 post-model prompting 最终效果和效率最好。DenseCLIP 也可以用在 object detection 和 instance segmentation而且 instance segmentation 上的提升更加明显。13. DenseCLIP 的局限是什么最关键的问题仍然是CLIP semantic ability 强spatial localization 强CLIP 原始预训练过程中没有 dense supervision也没有明确要求 feature 保留非常精确的 locality。所以它可以很擅长“图片中是不是有 dog”但并不天然擅长“dog 到底精确覆盖哪些 pixels”作者自己也指出DenseCLIP 在 detection 上的提升没有 segmentation 那么明显可能和 CLIP image encoder 缺乏 locality 有关并认为未来可以通过 dense supervision 或更好地恢复 locality 来改善。这个问题实际上一直延续到了后来的 open-vocabulary segmentation 和 reasoning segmentation。14. DenseCLIP 在整个研究发展中的位置如果把现在看的这条线串起来可以理解成CLIP解决重点是整张图是什么。DenseCLIP开始解决重点是图像不同位置分别是什么。也就是后来的 Open-Vocabulary Segmentation继续追问训练时没有见过的类别还能不能 segment例如zebra、fire hydrant、microwave...即再后来的 LISA / PixelLM / GLaMM / GROUNDHOG问题继续扩展到这时候输入已经不再只是固定类别而可能是“如果我要划船图中哪些东西是我需要的”模型需要先进行语言理解甚至 reasoning再把结果 grounding 到 pixels。15. 这篇论文应该掌握的几个概念如果后面复习只要记住下面这条主线就够了↓DenseCLIP 从 CLIP Image Encoder 中找回原本被忽略的 spatial features↓让每个空间 feature 和类别 text embedding 做↓得到↓一方面直接学习 pixel-text alignment另一方面把语言语义作为 prior 注入 dense prediction。同时利用让使每个类别的 text representation 根据当前 image context 进行调整。最终DenseCLIP真正建立的是之间的桥梁。最后一句话总结DenseCLIP 的核心并不是设计了一个更复杂的 segmentation decoder而是发现CLIP 中已存在非常强的 language-aligned semantic knowledge与其只把 CLIP 当成一个 pretrained visual backbone不如把这种视觉-语言关系直接引入 dense prediction。具体做法就是再利用共同完成最终 segmentation。而它留下的核心问题也非常清楚如何既保留 VLM 强大的 semantic knowledge 又获得精确的 spatial / pixel grounding ability这实际上正是后面继续读MaskCLIP → OpenSeg → SAN → CAT-Seg → reasoning segmentation时一直会反复看到的核心矛盾。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

17-U-Boot命令行与常用命令 2026/9/28 4:52:19

17-U-Boot命令行与常用命令

文章目录 一、本章讲什么 二、为什么需要这个 三、核心概念(比喻) 四、工作原理/流程 命令分类速查表 4\.1 信息查看类 4\.2 存储操作类 4\.3 网络操作类 4\.4 内存操作类 4\.5 启动类 4\.6 系统控制 五、交互/调用时序 六、实战/代码 场景 1:从 SD 卡手动启动内核(启动三件…

阅读更多 →
测试用例设计六大方法:从瞎点到系统覆盖,登录注册实战讲透 2026/9/28 4:52:19

测试用例设计六大方法:从瞎点到系统覆盖,登录注册实战讲透

很多新人测试拿到需求就开始"点点点",点了半天自己都不知道测了什么、漏了什么。 老测试拿到需求,先想的是:这个功能有哪些输入维度?哪些边界?哪些组合?哪些异常路径? 这背后就是测试…

阅读更多 →
告别模板丑站:望城经开区建设开发公司门户网站设计规范全解析 2026/9/28 4:52:06

告别模板丑站:望城经开区建设开发公司门户网站设计规范全解析

告别模板丑站:望城经开区建设开发公司门户网站设计规范全解析 还在用那种五年前的免费模板?页面加载慢得像蜗牛,配色红绿撞车,手机端文字挤成一团。这种网站不仅让访问者秒退,更让搜索引擎蜘蛛绕道走。很多负责望城经开区建设开发公司门户网站的运营和开…

阅读更多 →
佛山网站建设在哪找靠谱服务商?3个实战案例教你避开坑 2026/9/28 4:52:06

佛山网站建设在哪找靠谱服务商?3个实战案例教你避开坑

佛山网站建设在哪找靠谱服务商?3个实战案例教你避开坑 想做个网站,却连代码都看不懂?别慌。在佛山做了十年建站,我见过太多老板被“免费建站”骗了定金,或者被“技术大牛”忽悠买贵了服务器。今天不讲虚的,直接上干货。 如果你正在纠结…

阅读更多 →
基于RAG的电商优惠券推荐系统设计毕设源码(源码+lw+部署文档+讲解等) 2026/9/28 4:52:00

基于RAG的电商优惠券推荐系统设计毕设源码(源码+lw+部署文档+讲解等)

博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业,有18年开发经验,长年从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。一、…

阅读更多 →
Mosh老师的几个Python趣味示例程序 2026/9/28 4:52:00

Mosh老师的几个Python趣味示例程序

Mosh老师的Python Projects for Beginners – Master Problem-Solving! 🚀这个视频讲解的几个Python示例兼具趣味性和易学性。其Github源代码地址为:https://github.com/mosh-hamedani/python-projects-for-beginners 对应的项目描述PDF文件下载地址为…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉