【人工智能】Transformers之Pipeline(二十六):图片转文本(image-to-text/image-text-to-text)

​​​​​​​

目录

一、引言 

二、图片转文本(image-to-text/image-text-to-text)

2.1 概述

2.2 nlpconnect/vit-gpt2

2.3 pipeline参数

2.3.1 pipeline对象实例化参数

2.3.2 pipeline对象使用参数 

2.4 pipeline实战

2.5 模型排名

三、总结


一、引言 

pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型

今天介绍多模态的第四篇:图片转文本(image-to-text/image-text-to-text),在huggingface库内可以使用pipeline两行代码部署的图片转文本(image-to-text)模型有700个,因为2024年图片多模态大模型的兴起,在图片文本转文本(image-text-to-text)任务中,模型有5000+。关于图片文本转文本(image-text-to-text),之前写了很多篇,可以参考我之前的两篇文章:

【机器学习】GLM-4V:图片识别多模态大模型(MLLs)初探

【机器学习】阿里Qwen-VL:基于FastAPI私有化部署你的第一个AI多模态大模型

今天主要对如何使用pipeline两行代码部署的图片转文本(image-to-text)模型进行讲解。

二、图片转文本(image-to-text/image-text-to-text)

2.1 概述

图片转文本(image-to-text/image-text-to-text)模型从给定图像输出文本。图像字幕或光学字符识别可视为图像转文本的最常见应用。

图片特征提取与文本生成在技术上主要有2个流派: 

  • ViT+GPT2:上一篇讲的是图片特征提取,主要讲到了Vision Transformer (ViT)方法,但ViT仅有encode结构,只能将图片转换为特征向量,无法进行文本生成,本篇进一步将ViT和GPT2融合,本质上是在ViT上新增一个decode结构,提供文本补全的功能。(Qwen-VL、GLM-4V)等均属于这个流派。
  • CLIP+BLIP:同样的,另一个图片特征提取流派:对比学习CLIP也是仅有encode,无法进行文本生成,于是Salesforce团队研发了BLIP,在CLIP的基础上新增decode结构,具体论文见BLIP)。

为了保证技术连贯性,今天在上一篇ViT基础上,讲解ViT+GPT2。

2.2 nlpconnect/vit-gpt2

ViT部分:首先将图片切分成大小相等的块序列(分辨率为16*16),对每个图片块进行线性嵌入添加位置信息,通过喂入一个标准的transformer encoder结构进行特征交叉。

GPT部分:将文本token向量化后,经过embedding层、Masked Self-Attention层,在Encoder-Decoder Self-Attention层与ViT的Transformer Encoder输出相连接。

这样ViT与GPT可以进行联合学习,完成图片到文本的转换。 

2.3 pipeline参数

2.3.1 pipeline对象实例化参数

图片化为字符画。需要先安装PIL。推荐下载PIL包来实现。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - - - - - - - - - - - - - - - * * * * * * * * * * * * * * * * + + + + + + + + + + + + + + + + + + + + * - - - - - - - - - - - - - - - * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * * * - - - - - - - - - - - - - - - * * * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / / / / - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / / / / - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / / / / - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / / / / / / / / / / / / / / / / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / / / / / / / / / / / / / / / / / / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # / / / / / / / / / / / / / # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # / / / / / / / / / / / / / # # + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # / / / / / / / / / / / / / # # + + + + + + + + + + + + + + + + + + + + + + + + + + + # # # # # # # # # # # # + / / - - - - - - - / # # # # # # # + + + + + + + + + + + + + + + + + + + + + + # # # # # # # # # # # # + / / - - - - - - - / # # # # # # # + + + + + + + + + + + + + + + + + + + # # # # # # # # # # # # # # # + / / / / / - - / / / # # # # # # # # # # + + + + + + + + + + + + + + + + # # # # # # # # # # # # # # # + / / / / / - - / / / # # # # # # # # # # + + + + + + + + + + + + + + + + # # # # # # # # # # # # # # # + / / / / / - - / / / # # # # # # # # # # + + + + + + + + + + + + + + # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * + + + + + + + + + / + # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * + + + + + / / / / / + # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * / / / / / / / / / / + # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * / / / / / / / / / / + # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * / / / / / / / / / / + # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * / / / / / / / / / / / # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * / / / / / / / / / / / # # # # # # # # # # # # # # # # # + / / / / / / / / / / # # # # # # # # # # # # * / / / / /
### 文本到图像换方法和技术 #### 方法概述 在信息技术领域,将文本换为图像是一个多学科交叉的任务,涉及自然语言处理(NLP)、计算机视觉以及机器学习等多个方面。当前主要存在两种类型的模型用于实现这一目标:基于生成对抗网络(GANs)的方法和基于变换器架构(transformer-based architectures)的方法。 #### 基于GAN的技术 生成对抗网络是一种强大的框架,在给定描述性的文字输入时能够创造出逼真的图片。这类技术通过两个神经网络之间的竞争来工作——一个是负责创造新样本的生成器(generator),另一个则是评估这些样本真实度的判别器(discriminator)[^1]。当应用于text-to-image任务时,生成器接收编码后的文本特征作为条件信息,并试图合成符合该描述的新颖视觉表示;而判别器则尝试区分由生成器产生的假象与实际存在的照片级质量的真实世界景象之间差异。 #### 变换器架构的应用 近年来,随着预训练语言模型的发展,特别是像BERT这样的双向编码器表示法的成功应用,研究者们也开始探索如何利用类似的机制来进行跨模态映射。具体来说,就是先对源端(这里是文本序列)进行充分理解后再将其投影至目标空间(即像素域)。这种方法通常依赖于精心设计好的注意力机制(attention mechanism),使得模型可以更有效地捕捉长距离依赖关系并提高最终输出的质量[^2]。 #### 工具介绍 对于希望快速上手实践上述理论的研究人员或开发者而言,市面上已经有许多开源项目可供选择: - **DALL-E**: 开发自OpenAI实验室的一个大型多模式预训练模型实例,它能够在接收到简单指令后立即返回高质量的艺术风格插画作品; - **VQ-GAN+CLIP**: 结合了矢量量化变分自动编码器(VQ-VAE)同对比损失函数(CLIP score)的优势,允许用户仅需提供少量提示词就能得到令人满意的创作成果; - **Make-A-Scene**: Adobe公司推出的一款交互式绘图应用程序,支持使用者借助简单的草稿勾勒轮廓再加上几句说明性话语便能即时渲染出完整的场景画面。 ```python from transformers import pipeline # 使用Hugging Face提供的pipeline接口加载预训练模型 generator = pipeline('image-generation', model='CompVis/stable-diffusion-v1-4') prompt = "A beautiful sunset over mountains" result_image = generator(prompt) # 展示生成的结果 display(result_image['images'][0]) ```
评论 49
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值