利用文本信息引导视觉的模型CLIP

【文献阅读】Learning Transferable Visual Models From Natural Language Supervision 最先进的计算机视觉系统经过训练,可预测一组固定的预先确定的对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为指定任何其他视觉概念都需要额外的标记数据。 直接从关于图像的原始文本中学习是一种很有前途的替代方法,它利用了更广泛的监督来源。我们证明,预测哪个标题与哪个图像匹配这一简单的预训练任务,是一种从互联网收集的 4 亿(图像,文本)对数据集上从头开始学习最先进图像表示的有效且可扩展的方法。 预训练后,自然语言用于引用已学习的视觉概念(或描述新概念),使模型能够零样本迁移到下游任务。我们研究了 阅读详情

一、CLIP模型

论文:Learning Transferable Visual Models From Natural Language Supervision
论文地址:https://arxiv.org/abs/2103.00020
论文代码:https://github.com/openai/CLIP

1、Motivation&Contribution

Motivation
(1)在现实世界里得到大量有标签的数据是困难的,受人力、金钱、现实等因素限制,“有严格限制”的标签是难以得到的,比如,一张狗的图片它对应的标签是dog,dog是给定的类别标签,这需要人去判断这张图片的标签,得到的数据符合<image,label>。
   但是“非严格限制”的标签是容易得到的,比如,小A发布了一张狗的图片,并配文:My dog is so cute!这在网络上到处都有这样的信息,我们可以将这样的数据定义为<imge,text>,显然,text文本信息是更容易得到的,不需要专门的人员进行标注。
  
(2)随着对比学习Contrastive Learning、Transformer、多模态学习的发展,文本和图片任务之间互相促进,使用text中的丰富的语义信息帮助图片的识别,也成为一个重要的探索方向。
  
(3)NLP任务中出现了BERT这样的大型预训练模型,帮助下游任务训练,那么在CV领域中是否也能有这样的模型,大家以后只要使用这个预训练好的CLIP模型,就能低成本地得到一个精度不错的模型,实现zero-shot或few-shot。事实上,CLIP确实在很多数据集上的迁移效果非常好。
Contribution:
(1)不再受传统的标准标签限制,使用一段text作为标签。
(2)将Text引入CV,使用Text语义信息帮助图片识别并达到很好的效果。
(3)预训练的CLIP模型在zero-shot、few-shot表现出色,可以在众多下游任务中拿来应用。

2、Data

   前人并非没有用text信息与image信息结合的想法,但效果都不够好,而CLIP指出它们之所以达不到更好的效果是因为它们使用的数据集还不够大,因此CLIP模型收集、使用了4亿的数据,数据的形式为<image,text>,可见CLIP模型能够有这么好的迁移效果,和大量的数据也有很大关系。

3、Model

   在解释模型前,可以先简单了解对比学习Parametric Contrastive Learning:长尾问题中的对比学习,简而言之,对比学习不需要标签,它通过拉近与正样本特征的距离,拉远负样本特征的距离,实现模型优化。
在这里插入图片描述
   接下来介绍模型的结构,事实上模型的结构非常简单。

   第一部分:Contrastive pre-training,一组<image,text>对,将image经过Image Encoder,text经过Text Encoder,这里的Encoder可以是Transformer,可以是Resnet之类的网络模型,得到图片和文本特征后,将图片特征和文本特征相乘,对角线上都是正样本,其他部分都是负样本,例如I1、T1,是狗的图片和Pepper the aussie pup文本对应的特征,它们是一对正样本,而I1和T2、T3……TN不是一对,是负样本。
  
   第二部分和第三部分:Create dataset classifier from label text,Use for zero-shot prediction可以认为是预测部分,或者是迁移部分,经过预训练好的模型,我们可以直接拿来进行zero-shot predict。一般的预测任务是有具体的标签的,而CLIP输入的是一段text,那么要把它和CLIP模型匹配,只要把标签转换为一段简单的text,最容易实现的就是A photo of a {object},除了这种模板,在特定数据集里,还可以添加句子来缩小范围,例如在食物数据集里可以变为,A photo of a {object}, a type of food.

   列出数据集所有的标签,将它们转换成text,再经过Text Encoder,同样,把图片经过Image Encoder,将text特征和image特征相乘,最相似的text即为对应标签,也就是a photo of a dog,则dog为最终标签。

在这里插入图片描述

4、迁移效果

   使用预训练的模型进行zero-shot学习,绿色表示CLIP比有监督学习的效果好,蓝色表示差。还有很多实验数据可以参考论文的实验部分。
在这里插入图片描述
   使用ImageNet训练好的ResNet101模型,再ImageNet上它和Zero-Shot CLIP精度一样,然而当它迁移到其他版本的数据集上,效果出现大幅度下降,而CLIP不需要样本就远远超过了ResNet101。
在这里插入图片描述

5、CLIP模型的zero-shot应用

详细信息可以参照论文源码。
先安装好CLIP。

$ conda install --yes -c pytorch pytorch=1.7.1 torchvision cudatoolkit=11.0
$ pip install ftfy regex tqdm
$ pip install git+https://github.com/openai/CLIP.git

加载预训练好的CLIP模型,使用CLIP模型进行预测。

import torch
import clip
from PIL import Image

device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)

image = preprocess(Image.open("CLIP.png")).unsqueeze(0).to(device)
text = clip.tokenize(["a diagram", "a dog", "a cat"]).to(device)

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)
    
    logits_per_image, logits_per_text = model(image, text)
    probs = logits_per_image.softmax(dim=-1).cpu().numpy()

print("Label probs:", probs)  # prints: [[0.9927937  0.00421068 0.00299572]]
CLIP模型的一些应用示例及场景 例如,可以将CLIP模型与3D高斯溅射技术结合,用于实现对3D场景的实时、精确语义理解。它能够将图像和文本编码到同一个高维空间中,使得两者之间的相似度可以通过它们在这个空间中的距离来衡量。CLIP(Contrastive Language-Image Pre-training)模型在多个领域都有广泛的应用场景。总的来说,CLIP模型在图像分类、检索、描述生成、风格迁移、多模态搜索等领域都有广泛的应用场景,并且随着技术的不断发展,其应用场景还将继续扩展。 阅读详情

相关推荐

CLIP-DIY 论文解读:基于 CLIP 和无监督目标定位的语义分割

CLIP-DIY 是一种基于 CLIP 模型的开放词汇语义分割方法,特点是无需额外的训练或者像素级标注,即可实现高效、准确的分割效果

liuwill的博客 2475

【论文简介】CLIP:图像与自然语言配对预训练可迁移模型:Learning Transferable Visual Models From Natural Language Supervision

CLIP( Contrastive Language–Image Pre-training)基于对比学习的语言-图像预训练)建立在零样本迁移(zero-shot transfer)、自然语言监督学习( natural language supervision, ) 和多模态学习方面的大量工作之上。 CLIP是一个预训练模型,就像BERT、GPT、ViT等预训练模型一样。首先使用大量数据训练这些模型,然后训练好的模型就能实现,输入一段文本(或者一张图像),输出文本(图像)的向量表示。CLIP和BERT、GPT

进一寸有一寸的欢喜 4040

多模态工业质检:用CLIP引导小样本缺陷分类

结果表明,文本提示引入的语义先验与 CLIP 的跨模态嵌入显著缓解了小样本学习的特征稀疏问题,尤其在缺陷类别差异较细微的情况下,仍能保持稳定性能。该方法的优势在于,文本提示能够为缺陷类别引入额外的语义先验信息,而 CLIP 的跨模态特征空间减少了从零学习的压力,使得仅需少量样本即可获得高精度分类效果。:当增加新缺陷类别时,只需添加该类的 10 张样本和对应文本提示,无需重新训练 CLIP,即可保持 88% 以上的准确率。:利用 CLIP 分别提取图像和文本的特征向量,并在统一的嵌入空间中对齐。

m0_63176915的博客 2393

CLIP: Learning Transferable Visual Models From Natural Language Supervision学习笔记

图像部分:图像通过一个 Image Encoder 得到一些特征,这个 encoder 既可以是 ResNet,也可以是 Vision Transformer。假设每个 training batch 都有 N个图像-文本对,那么就会得到 N 个图像的特征。模型的输入:若干个图像-文本对,比如如图最上面的数据中图像是一个小狗,文本是 ”Pepper the aussie pup”。论文最重要的点利用自然语言信号来训练一个比较好的视觉模型。模型的架构:分为两部分,图像编码器和文本编码器。

qq_35873493的博客 880

【多模态模型CLIP重读】

多模态CLIP模型重读和思考

lixiao2112924629的博客 1624

C语言实现TCP聊天室:Socket编程与并发模型实战解析

网络编程是构建分布式系统的核心技术,其核心在于理解进程间通信的底层机制。TCP/IP协议栈提供了可靠的字节流传输服务,通过Socket API这一抽象接口,开发者可以在应用层建立连接、收发数据。为了高效处理多个并发连接,服务器需要采用多线程或I/O复用模型,前者为每个连接创建独立线程,逻辑清晰但资源消耗大;后者通过select、poll或epoll等系统调用监控多个文件描述符,显著提升并发能力。这些技术是构建高性能网络服务(如即时通讯、在线游戏服务器)的基础。本文以C语言实现一个简洁的TCP聊天室为例,详细

weixin_32642109的博客 291

【李沐论文精读】CLIP精读

是一种基于对比文本-图像对的预训练方法。CLIP用文本作为监督信号来训练可迁移的视觉模型,使得最终模型的zero-shot效果堪比ResNet50,泛化性非常好。CLIP算是在跨模态训练无监督中的开创性工作,作者在开头梳理了现在vision上的训练方式,从有监督的训练,到弱监督训练,再到最终的无监督训练。这样训练的好处在于可以避免的有监督的 categorical label的限制,具有zero-shot性质,极大的提升了模型的实用性能。CLIP 最大的贡献就是打破了之前固定种类标签的范式。

Emily的博客 2816

强化学习赋能宇树机器狗:Isaac Gym与MuJoCo仿真训练全解析

本文详细解析了如何利用Isaac Gym和MuJoCo两大仿真平台为宇树机器狗构建强化学习训练管道。内容涵盖环境配置、模型导入、PPO算法框架设计、奖励函数构建以及从仿真到实机的策略迁移技巧,为开发者提供了一套完整的宇树狗仿真训练实践方案。

zeta9的博客 619

多模态系列论文--CLIP 详细解析

现在最先进的视觉系统都是预先定义好的一些物体类别标签的集合,模型学习预测这些预定义的类别从而完成模型的训练,但有限制性的监督信号也限制了模型本身的泛化性,尤其是需要识别新物体类别的时候,都要去收集新的数据训练新的模型。直接从自然语言文本里去得到一些监督信号是一个非常有前途的办法。本文爬取了一个4个亿的图片文本配对的数据集,选择一种自监督的训练方式,利用文本的监督信号训练一个迁移能力强的视觉模型(zero shot模型),证实了用一个非常简单的预训练的任务,就可以高效且可扩展的学习一些最好的图像的表征。

lansebingxuan的专栏 3711

DIY一个SM2262ENG 2TB Nvme固态硬盘,慧荣SM2262EN主控

网友订做的 材料: 慧荣科技的62en,2片1G 三星DDR4缓存,4颗PF29F04T2AOCTH1,8CE B17A。SM2262EN属于慧荣第二代PCIe SSD主控,支持PCIe G3×4通道和全新的NVMe 1.3规范、8个NAND通道设计,并提供完整固件设计,最大循序读取速度高达3.5GB/s,循序写入速度达3.0GB/s,随机读写则高达420K IOPS和420K IOPS。此外,还采用目前最先进的低功耗设计,无论是在待机还是在工作状态下,均展现超低功耗,有效减少30%的功耗,满足用户追求超

m0_55207244的博客 1万+

IC版图设计之OASIS文件格式详解

OASIS(Open Artwork System Interchange Standard)是继GDSII之后新一代的集成电路版图数据交换标准,由SEMI在2004年正式发布(SEMI标准号:SEMI P39)。高压缩率:相比GDSII可减少3-10倍文件体积扩展性强:支持纳米级工艺的复杂图形描述跨平台兼容:独立于EDA工具和操作系统安全增强:内置校验和与加密支持。

ZZcppc的博客 2435

【cvpr2022】CRIS: CLIP-Driven Referring Image Segmentation

文章地址:CRIS Github:https://github.com/DerrickWang005/CRIS.pytorch1、现有的方法利用外部知识促进学习,主要采用单模态的预训练(如预训练的图像或文本编码器),缺乏多模态的对应信息。CLIP展示了从4亿对图像-文本对学习SOTA图像级视觉概念的能力,这有助于多模态任务。 2、由于图像级预测与像素级预测的差异,直接使用CLIP对于像素级预测任务可能不是最优的。前者关注输入图像的全局信息,而后者需要学习每个空间激活的细粒度视觉表示。利用 CLIP 模型的强

lynn_Dai的博客 4181

Python爬虫实战:深度解析B站弹幕异步采集技术与数据可视化

title=f"弹幕词云 Top 100 (BV: {bvid})", title_textstyle_opts=opts.TextStyleOpts(font_size=23).add(series_name="弹幕词云", data_pair=list(top_100_words.items()), word_size_range=[20, 100]).add_xaxis([f"{i}-{i+1}分" for i in range(len(time_distribution))])

2201_76125261的博客 640

通过CLIP引导解码减轻大型视觉-语言模型中的幻觉问题

人工智能咨询培训老师叶梓 转载标明出处大型视觉-语言模型(LVLMs)因其在视觉推理方面的能力而备受瞩目,被视为实现自主操作智能体的重要里程碑。但它在生成文本时容易出现对象幻觉问题,即描述中包含不存在的对象,这严重限制了它们的可靠性和实用性。

人工智能前沿分享 1439

yolov7目标追踪:基于自定义数据集完成检测

目标追踪包含两个阶段:(1)基于自定义数据集,训练yolo目标检测模型;(2)基于检测模型,将实时检测结果传递到StrongSORT追踪算法中,该算法在OSNet基础上结合运动和外观信息,可以跟踪yolo模型检测到的任何物体。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 2305

【3天快速入门WPF】从小白到新手入门教程

嘿,小伙伴们!如果你已经有一定的C#开发基础,但想快速掌握WPF开发,达到企业级水准,那接下来的这个三天快速入门计划绝对适合你!虽然听起来有点挑战,但别担心,只要跟着这个高强度、结构化的学习计划,你一定能搞定它。首先,我们得搞清楚,WPF的核心知识点到底有哪些。要想达到企业级开发水准,XAML、数据绑定、MVVM、控件使用、命令系统、样式模板这些统统都得拿下。听起来是不是有点多?别急,我们把任务分解到三天里,每天安排合理的内容,保证理论和实践相结合,让你学得扎实又高效。

Zy100Papa的博客 1422

通过稀疏自编码器引导CLIP的视觉变压器

索尼亚·约瑟夫1,2 普拉内特·苏雷什1,2 伊桑·戈德法布3 伦茨·胡费4 乔希·甘德尔曼5 罗伯特·格雷厄姆2 丹尼洛·比佐克1,2 沃伊切赫·萨梅克4 布莱克·亚伦·里查兹1,21Mila 2麦吉尔大学 3独立研究员 4弗劳恩霍夫HHI 5加州大学伯克利分校sonia.joseph@mila.quebec(通讯作者)虽然视觉模型功能强大,但其内部机制仍不为人所理解——这一挑战在语言模型中已被稀疏自编码器(SAEs)帮助解决,但在视觉领域仍较少探索。我们通过在CLIP的视觉变压器上训练SAEs来填补这一

栖客 1102

LVS 负载均衡面试题及参考答案

什么是 LVS 负载均衡?它的主要作用是什么? LVS(Linux Virtual Server)是一个基于 Linux 内核的开源负载均衡项目。它通过将请求流量按照一定的算法分发到后端的多个真实服务器(Real Server)上,从而实现负载均衡的功能。 从原理上来说,LVS 工作在网络层和传输层之间。当客户端发起请求时,请求首先到达 LVS 服务器,LVS 会根据预先设定的规则和算法,比如轮询(Round - Robin)、加权轮询(Weighted Round - Robin)、最少连

大模型大数据攻城狮的专栏 1467

多模态大模型的视觉基础研究——从CLIP到SEAL

视觉基础模型

weixin_41496173的博客 1541

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【大模型开发】最强视觉大模型CLIP解析与案例

CLIP(Contrastive Language-Image Pretraining)由 OpenAI 提出,是一种能够学习文本和图像匹配关系的对比学习模型,可以用于零样本图像分类、文本引导的图像检索、视觉问答(VQA)、图像生成增强等多种任务。

人工智能(AI)技术,大模型技术,深度学习,机器学习,计算机视觉,AI工具实践应用等分享 2495

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

突破视觉修复瓶颈:CLIP驱动的文本引导图像补全全攻略

当你面对一张缺失关键区域的历史照片,或需要移除图像中敏感信息时,传统图像补全(Image Inpainting)技术往往陷入两难:基于像素的方法(如OpenCV的`inpaint`函数)难以生成语义一致的内容,而纯视觉驱动的深度学习模型(如DeepFillv2)又无法理解用户的精确意图。这种"算法生成什么就是什么"的被动模式,在专业场景下的可用性大打折扣。 **表1:主流图像补全技术对比** ...

gitblog_01086的博客 1122

视觉引导解码:无梯度的硬提示反转与语言模型

像 DALL-E 和 Stable Diffusion 这样的文本到图像生成模型已经在各种应用中(包括广告、个性化媒体和设计原型)彻底改变了视觉内容的创作。然而,构建有效的文本提示以引导这些模型仍然具有挑战性,通常需要大量的试错。现有的提示反转方法,例如软提示和硬提示技术,由于有限的可解释性和不连贯的提示生成而效果不佳。为了解决这些问题,我们提出了视觉引导解码 (VGD),这是一种无梯度的方法,利用大型语言模型 (LLMs) 和基于 CLIP 的指导来生成连贯且语义对齐的提示。

栖客 1533

【论文&模型讲解】CLIP(Learning Transferable Visual Models From Natural Language Supervision)

多模态模型 CLIP 讲解,对应论文 Learning Transferable Visual Models From Natural Language Supervision。CLIP 的方法很简单,但效果却意外的好。CLIP 的迁移能力是非常强的,预训练好的模型能够在任意一个视觉分类的数据集上取得不错的效果,而且最重要的是它是 zero-shot 的,即完全没有在这些数据集上做训练就能得到这么高的性能。

Friedrichor的博客 2万+

从CLIP到SAM:大模型如何重塑文本引导的图像融合技术

本文探讨了从CLIP到SAM等视觉-语言大模型如何推动文本引导的图像融合技术从算法驱动转向语义驱动。CLIP通过统一语义空间实现全局引导,BLIP-2增强了多模态理解与自动化描述生成,而SAM则提供了像素级精确分割能力,三者共同实现了从粗放到精细的融合控制,重塑了该领域的技术范式。

egg99的博客 400

CLIP引导扩散模型提升DDColor语义感知能力

通过融合CLIP的语义理解与DDColor的双流着色能力,结合扩散模型在ComfyUI中构建可解释、可调控的老照片智能上色方案。系统能基于内容自动推理合理色彩,避免传统方法的错色问题,实现从像素修复到语义重建的跨越,适用于文化遗产保护与家庭影像还原等场景。

weixin_35671843的博客 439
上一篇: Parametric Contrastive Learning:长尾问题中的对比学习
下一篇: 半监督学习:MixMatch
saya1009
博客等级 码龄7年 6粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值