Skip to main content

A curated list of research based on CLIP.

285
GitHub Stars
104
Curated Resources
13
Categories
23 hours ago
Last Refreshed
TrainImprovement & InnovationDataDistillationLossZero-Shot & Few-Shot & ClassificationRetrievalDetectionSegmentationCaptioningGenerationVideoOther

Use this list with your AI agent

Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:

"Show me other resources from awesome-clip"

Installation instructions →

What's inside

Other

  • 借助CLIP做IQA,文章实验证明,CLIP 捕获了有意义的priors,可以很好地推广到不同的感知评估 .

  • 利用联邦学习训练CLIP.

  • 文章涉及AIGC 检测方向,提出一种能够识别各种伪造图像的方法. 首先作者通过实验分析CLIP,认为CLIP 可以通过识别相似的概念来检测深度伪造品. 基于此,引入类别通用提示CLIP(Category Common Prompt CLIP)--C2P-CLIP,它将类别通用提示集成到文本编码器中,将类别相关概念注入到图像编码器中,从而增强检测性能. 实验证明,此方案在UniversalFakeDetect 和GenImage 上取得了SOTA的效果.

  • 一篇比较有意思的博客,作者实验证明,对抗样本(Adversarial Examples)存在于CLIP中,在零样本分类机制中,CLIP 的对抗样本非常容易找到. Adversarial Examples :对输入样本故意添加一些人无法察觉的细微的干扰,导致模型以高置信度给出一个错误的输出.

  • 文章提出CLIP-benchmark,是第一个对CLIP及其变体进行评估、分析和测试的基准. 同时,作者提出三个观点,1.数据质量对性能有很大影响;2..某些supervision对卷积网络(ConvNets)和视觉变换器(ViT)有不同的影响. 适当的supervision可以有效地提高CLIP的性能; 3.减少文本编码器可以降低训练成本,但对最终性能影响不大. 此外,作者将DeCLIP与FLIP结合,得到一个性能较好的CLIP变体: DeFILIP.

  • 本文提出MotionCLIP,一种 3D 人体运动auto-encoder,具有特征空间解缠结、与高度语义的文本描述特征对齐的特性. MotionCLIP将人体运动流形与 CLIP 空间对齐,隐式地将 CLIP 极其丰富的语义知识注入到流形中. 文章同时证明,尽管 CLIP 从未见过运动域,但MotionCLIP 提供了前所未有的文本到运动的能力,允许域外操作、解纠缠的编辑和抽象语言规范的能力.

Generation

  • 本文在VLM上深入研究了感知对齐梯度(PAG). 作者首先证明原始的CLIP不具备感知对齐梯度,然后为了让CLIP拥有PAG,使用了对抗性训练(adversarial training)和随机平滑(randomized smoothing)的方式是图像编码器具备PAG的能力. 实验证明,使用对抗训练的方式微调CLIP图像编码器后,与输入文本表现出最高的一致性. 作者将微调后的CLIP起名为CLIPAG. 接着作者利用“即插即用”的方式,替换一些其他文生图框架中的CLIP,如CLIPDRaw、CLIPStyle等,基于CLIPAG的框架生成的图片在各方面都优于原始CLIP. 最后,作者提出了一种无需生成器的文生图方案,利用CLIPAG的PAG能力,无需额外的生成器,迭代更新图像的pixels以更好地与文本描述对齐,实现文生图. 🧟‍♂️: 感知对齐梯度(PAG)是指在鲁棒图像分类模型中观察到的一个有趣的属性,其中它们的输入梯度与人类感知一致并构成语义. 看完这篇文章,get到一些新知识, 最后的无需生成器的文生图方案很有想象力,nice~

  • 作者使用CLIP+GAN的方法来实现文生图任务(BigGan).该方法在现成的GAN的latent空间中进行优化,以找到通过CLIP模型测量的给定输入文本实现最大语义相关性得分的图像. 作者发现在GAN空间中优化CLIP分数存在优化问题,像Adam 这样的优化器无法产生令人满意的结果. 因此作者提出FuseDream,通过三个关键技术改进CLIP+GAN的文生图方法. 1.通过增加图像扰动来增强CLIP分数的鲁棒性;2. 提出一种新颖的初始化和超参数化策略,使其有效地在GAN空间中的非凸区域进行优化;3.一种组合生成技术,通过利用一种新颖的双层优化公式,可以组合多个图像以扩展GAN空间并克服data-bias.

  • 在CLIPDraw基础上,文章提出文本描述+艺术风格参考图生成图片的方法---StyleCLIPDraw. 遵循风格和内容应同时生成的原则,将二者耦合在一起,整个流程十分清晰,首先定义drawing representation,将其通过渲染程序即可生成光栅化的图片(这里使用DiffVG),这个框架的目标就是优化drawing representation. 光栅化后的图片做增广,经CLIP后通过最小化文本和图片特征的距离来学习内容,同时光栅化后的图片与风格参考图片利用VGG计算感知损失,学习风格,二者同时加入训练.

  • StyleGAN与CLIP结合实现人脸的风格迁移. 🧟‍♂️: 略读了一下,之前做过一段时间的Gan,对StyleGan还是比较了解的. CLIP之前,基于StyleGan做一些人脸属性编辑,方法基本大同小异,效用encoder把图片映射到latent空间,然后在这个latent空间对这个向量做一些手脚,比如可以某个方向偏移、额外利用一些分类、或者做fusion等. 本文依旧是latent空间去加一个shift vector,文章称作essence vector,然后利用CLIP 的image encoder去施加监督. 文章给的生成case看着效果还可以,具体还需要测试.

  • SIGGRAPH 2022 (Best Paper Award) 一种将图像中的物体转换为草图的方法,允许不同层次的抽象. 🧟‍♂️关键词: 显着性引导的初始化(a saliency-guided initialization)、基于局部注意力图(based on the local attention maps)、B´ezier curves(贝塞尔曲线是通过一组控制点(P0...Pn)来定义的,P0和Pn是曲线的起点和终点,中间控制点通常不在曲线上). 首先通过显著图初始化草图的初始点(通过热力图),然后去迭代更新B´ezier curves 参数(那一组点),通过一个 rasterizer 绘制出草图,借助CLIP计算loss,更新那一组点 ,直到收敛

  • CLIP-GEN是一个Language-Free 的文本生成图像的方法,它不依赖图文训练样本,通过预训练CLIP模型的强大表征能力,只需要图片数据就可以训练出一个文本生成图像的模型。该方法的基本原理是:CLIP-GEN 首先会训练一个 VQ-GAN,把图片映射到离散空间(CodeBook);然后再训练一个conditional transformer(GPT2),把CLIP的图像embedding 映射到VQ-GAN的离散空间(CodeBook);由于在 CLIP中,文本和图像共享一个特征空间,在 inference 的时候直接使用CLIP文本特征替换,即可以实现将文本生成图像.

Video

  • 作者认为针对视频识别任务,端到端的训练、微调模型的效率不高,此外,如果想要借助CLIP的强大zero-shot能力,但却要微调模型,会导致灾难性遗忘. 预训练图像模型的端到端微调并不总是理想的选择,这需要更有效的学习策略来将知识从图像转移到视频,本文提出Efficient Video Learning (EVL) ,直接将CLIP模型参数freeze,训练一个高质量视频识别模型. 使用轻量级的 Transformer frozen CLIP提取视频帧的空间特征作为KV送入decoder,同时作者设计了local temporal 模块来学习帧间的时域关系.

  • 本文提出CLIP-ViP,一个基于预训练CLIP的视频-语言模型. 为了弥合图像和视频数据集之间的domain gaps,作者首先引入域内辅助数据生成方法. 然后提出了一种新颖的Video Proxy机制(额外的toekn),使ViT模型能够同时用于图像和视频编码. 最后,作者提出了一种全Omnisource Cross-modal Learning(OCL)方法,该方法可以从视频文本和图像文本对中联合学习跨模态分布.

  • 文章提出名为CLIP-FSAR的框架,将CLIP引入小样本动作识别任务(few-shot action recognition). CLIP-FSAR充分利用了 CLIP 模型的多模态知识,并设计了视频-文本对比loss来模拟原始CLIP的训练模式,以及prototype modulation来生成可靠的原型.

  • 文章探索如何将CLIP的强大能力从图片域迁移到视频域. 提出Video Fine-tuned CLIP (ViFi-CLIP),证明其可以弥合从图像到视频的domain gap . 针对数据量不足以全量微调的情况,提出了bridge and prompt 的方法来减小上述gap. 🧟‍♂️: 《Frozen CLIP Models are Efficient Video Learners》 vs 《Fine-tuned CLIP Models are Efficient Video Learners》,打一架吧~

  • 本文的研究课题是开集动作识别(open-vocabulary action recognition),具体来说就是测试集中的视频动作类别与训练集动作类别基本没有重叠或重叠程度很小,因此这需要模型具备较高的泛化性能. 目前视频领域主流的做法是基于图像-文本对预训练的模型(主要是CLIP)先在视频数据集上进行fine-tuning,然后再进行测试集的验证. 通过实验探索,我们发现:尽管fine-tuning可以让CLIP具备不错的视频特征提取的能力,但这也会让它失去大规模预训练所得到的泛化性能. 具体的表现就是,那些在闭集(closed-set)场景下优秀的视频分类器们,一到了开集场景下实验性能便大大缩水,甚至不如原先的预训练CLIP模型了. 因此如何让视频模型在fine-tuning的同时还能保持住预训练的知识,成为了本文的研究重点. 作者认为一个基于CLIP的开集动作识别模型应该具备以下特点:1.由于CLIP预训练是没有使用视频数据集的,因此模型需要学习视频域的相关知识(video-specific),用于弥补CLIP在时域建模方面的不足; 2模型需要能保持住预训练CLIP的能力,这对于泛化性能力的保持很重要. 作者提出了一种新的结构FROSTER用来同时实现以上两个目标:针对第一点(时域建模),直接采用cross-entropy loss对finetune模型进行监督. 针对第二点(泛化性特征保持),将frozen clip作为teacher模型对fine-tune模型的特征进行蒸馏,借此希望预训练的能力能够得到很好地保持. 蒸馏过程类似于一个正则化项,确保fine-tune特征不会偏离frozen clip的特征太远. 因为有两个不同的目标,我们需要在它们之间平衡特征学习.

  • 文章提出OmniCLIP,将CLIP用于视频识别. 在视频识别任务上,作者认为时间信息的融合应该是全方位的,包括空间、时间和时空. 基于这个观点,OmniCLIP 重点学习涵盖空间、时间和动态时空尺度的综合特征,作者将其称为omni-scale features. OmniCLIP使用Parallel Temporal Adapter (PTA) 模块增强 CLIP 在时间建模方面的能力,以及Self-Prompt Generator (SPG) 模块来处理不同空间尺度上对象的动态交互和不规则运动. 实验证明,OmniCLIP 在HMDB51等数据集上表现优异.

Improvement & Innovation

  • 大力出奇迹.

  • 文章提出一个概念上简单而有效的方法来训练一个强大的双语/多语多模态表示模型. 使用预训练的多语言文本编码器XLMR替换Clip的文本编码器,通过两阶段的训练模式(Teacher Learning; Contrastive Learning)对齐文本和图像表征.

  • Clip无法关注到局部区域,针对此问题,文章提出一个增强版本的CLIP,名为Alpha-CLIP. Alpha-CLIP带有一个辅助alpha通道来提示注意区域,并通过构造数百万个RGBA区域-文本对进行了微调。Alpha-CLIP不仅保留了CLIP的视觉识别能力,而且可以精确控制图像内容的重点. 它证明了在各种任务中的有效性,包括但不限于开放世界识别、多模态大语言模型和条件2D /3D生成. 它具有强大的潜力,可作为图像相关任务的通用工具.

  • 文章提出中文CLIP预训练模型,并给出了两阶段预训练法: 1.将预训练Clip的图像编码器固定,使用中文RoBERTA替换文本编码器,训练RoBERTA; 2.文本、图像编码器同时训练.

  • 文章发现了CLIP的可解释性有两个问题:1.可视化结果和人的感知是反的;2.可视化有非常多的噪声响应. 针对上述问题,文章阐述了原因,并给出一个train-free的解决方法. 🧟‍♂️:工作上遇到一个问题,使用clip做相似对对比,cos相似度基本都在0.2+,这篇论文给了答案,同时Cam图的结果提升也很大.👍

  • CLIP的文本token长度被限制为77,而研究表明实际有效长度甚至不到20. 这使得CLIP无法处理详细的描述,限制了其在图像检索和文本到图像生成方面的应用. 本文提出Long-CLIP作为CLIP的即插即用替代方案,它支持长文本输入,保留甚至超越其zero-shot的泛化能力,并调整CLIP潜在空间,使其易于取代CLIP,而无需在下游框架中进行任何进一步的调整.

Train

  • 在CLIPA基础上,验证了full resolution 的token微调模型时,inverse scaling law也适用;同时验证各种不同训练参数下模型的能力,包括模型大小、数据和training schedule.

  • 文章提出了一种简单而有效的CLIP训练方法---FLIP(Fast Language-Image Pre-training).该方法只需要在训练时随机Mask掉一部分图像. 实验证明,与标准CLIP详细,该方法在训练速度和模型精度方面都有提升. 文章受到MAE的启发. 引入masking,使模型在“how carefully we look at a sample pair” 和 “how many sample pairs we can process”之间做trade-off. 因为Vit encoder只用于visible patches,当mask掉一部分图像时,可以节约相应的显存,这样降低了计算量,可以使用更大的batchsize,对contrastive loss更加友好. 同时,masking作为一种形式的噪声和正则化可以提高鲁棒性.

  • 在CLIP训练过程中,只对图像数据做了数据增强,而文本数据保持不变. 针对此问题,作者提出了Language augmented CLIP (LaCLIP), 利用LLM的上下文学习能力,重新描述训练集的captions,增加文本的多样性. 实验表明,在下游zero-shot任务上,性能有明显提升.

  • CLIP在结构化的文本-图像匹配上表现不够,如通过clip score并不能区别一张图是人咬狗和狗咬人. 作者认为造成这个问题的原因是CLIP在学习多模态场景中的representations时未能充分利用结构化知识. 文章提出 Structure-CLIP ,一个端到端的框架,通过集成场景图知识来增强多模态结构化表示. 🧟‍♂️: 1.增加难例负样本; 2. 实际工作中个人也想过类似方法,大概是通过分析负责描述的词性等,利用最短依赖路径等方法拆分句子,然后做enhance.

  • 尽管VLM在下游任务表现不错,但对模型如何学习类别和属性的组合关系,目前尚不清楚. 文章首先提出一个Attribution, Relation, and Order(ARO) 的benchmark,系统评估VLM理解不同类型的关系、属性和顺序信息的能力. 然后对使用VLM实现的检索任务和对比预训练做了深刻解析,提出解释了几个问题. 最后提出NegCLIP提高模型对 attributes and relations的理解. 🧟‍♂️: ICLR 2023 Oral,初看觉得没什么意思,但精读后收获很多. 比如实际工作中,利用clip实现多模态检索,虽然clip不能很好的学习object和对应属性的关系,但通过触发key words,依旧可以获得很好的表现. 文章对此做了解读. 以及NegCLIP,方法直接简单,其实实际工作中常用类似方法. 总之是一篇值得细品的文章👍

  • 直接使用 作者的回答 : 从causality理论出发,CLAP旨在提升pretrained VLM在distribution shift场景下的generalization能力,CLAP仅需在text modality用较小成本去fine-tune CLIP模型,可以使pretrained representations更聚焦于content(object)本身,从而提升模型zero-shot/few-shot表现, 以及domain adaptation和adversarial resilience的能力.

Loss

  • 文章提出了一种用于语言图像预训练(SigLIP)的简单成对 Sigmoid 损失. 与使用 Softmax 归一化的标准对比学习不同,Sigmoid 损失仅对图像-文本对进行操作,并且不需要对归一化的成对相似性进行全局视图. Sigmoid 损失同时允许进一步扩大批量大小,同时在较小的批量大小下也能表现更好.

  • Clip的目标函数仅使用了跨模态的对比loss,对于单个模态内部和跨模态的i2t、t2i的对称性约束稍显不足,可能会导致图像和文本之前的inconsistent predictions. 如果对称化两个不匹配的图像-文本对之间的相似性以及图像-图像对和文本-文本对之间的相似性,则可以消除图像和文本空间中的不一致(看图片更好理解). 论文提出了cross-modal consistency和in-modal consistency两种loss,与标准clip相比,在下游的zero-shot分类任务中,准确率有10% − 24%的提升.

Data

  • 针对网络爬虫的文本-图像数据对,进行caption重写。使用LLaVA生成caption,然后与爬虫得到的描述(AltTexts)做融合,送入Vicuna-1.1得到重写后的caption.

  • 使用全合成文本图像对训练 CLIP 模型,与先前依赖于真实数据的方法有显著区别,SynthCLIP 实现了与在真实数据集上训练的 CLIP 模型相媲美的性能.

Distillation

  • 文章提出了一种面向大规模语言图像预训练模型的跨模态蒸馏方法:TinyCLIP. TinyClip包括两个核心技术: affinity mimicking and weight inheritance. 基于多级渐进式方案进行affinity mimicking和Weight inheritance,完成Clip模型的压缩及性能保真,在速度和准确度上做了较好的平衡.

  • 文章核心目的是利用一个大型的教师CLIP模型来监督一个小型的学生CLIP模型,使得学生CLIP模型可以在保持轻量的前提下显著提升性能. 文章从关系、特征、梯度和对比模式的角度来检验CLIP-知识蒸馏的有效性 . 最后的消融实验表明,使用简单的MSE进行特征蒸馏实现了最好的蒸馏性能.

Showing a sample of 104 resources. View the full list on GitHub →