如何使用注意力模型生成图像描述?

栏目: 数据库 · 发布时间: 6年前

内容简介:雷锋网按:本文为 AI 研习社编译的技术博客,原标题 Image Captioning with Attention翻译 |  刘娇     整理 |  余杭图像描述类任务就是给图像生成一个标题。 给定一个图像:

雷锋网按:本文为 AI 研习社编译的技术博客,原标题 Image Captioning with Attention

翻译 |  刘娇     整理 |  余杭

图像描述类任务就是给图像生成一个标题。 给定一个图像:

如何使用注意力模型生成图像描述?

图片出处 , 许可证:公共领域

我们的目标是用一句话来描述图片, 比如「一个冲浪者正在冲浪」。 本教程中用到了基于注意力的模型,它使我们很直观地看到当文字生成时模型会关注哪些部分。

如何使用注意力模型生成图像描述?

这个模型的结构类似于论文: Show, Attend and Tell: Neural Image Caption Generation with Visual Attention.

本教程中的代码使用到了  tf.keras eager execution 这两个工具,链接里有详细的内容可以学习。

这个 notebook 展示了一个端到端模型。 运行的时候,它会自动下载 MS-COCO 数据集,使用 Inception V3 模型训练一个编码 - 解码器,然后用模型对新图像进行文字描述。

这篇代码可以在 Colab  中运行,但是需要 TensorFlow 的版本 >=1.9   

本实验对数据进行打乱以后取前 30000 篇描述作为训练集,对应 20000 篇图片(一张图片可能会包含多个描述)。 训练模型的数据量相对较小,因此只用了一个 P100 GPU,训练模型大约需要两个小时。

如何使用注意力模型生成图像描述?

下载 MS-COCO 数据集

MS-COCO  数据集包含 82,000 多张图片,每张图片都是用至少 5 句不同的文字描述的。 下面的代码在运行时会自动下载并且解压数据。

注意: 提前下载好数据,数据文件大小 13GB 。

如何使用注意力模型生成图像描述?

选择是否压缩训练集大小来减少训练时间

本教程中选择用 30000 篇描述和它们对应的图片来训练模型,但是当使用更多数据时,实验结果的质量通常会得到提高。

如何使用注意力模型生成图像描述?

如何使用注意力模型生成图像描述?

Inceptions v3 图像预处理

这个步骤中需要使用 InceptionV3 (在 Imagenet 上训练好的模型) 对每一张图片进行分类,并且从最后一个卷积层中提取特征。

首先,我们需要将图像转换为 inceptionV3 需要的格式:

把图像的大小固定到 (299, 299);

使用 preprocess_input 函数将像素调整到 -1 到 1 的范围内(为了匹配 inceptionV3 的输入格式)。

如何使用注意力模型生成图像描述?

初始化 InceptionV3 & 下载 Imagenet 的预训练权重

将 InceptionV3 的最后一个卷积层作为输出层时,需要创建一个 keras 模型

将处理好的图片输入神经网络,然后提取最后一层中获得的向量作为图像特征保存成字典格式(图名 --> 特征向量);

选择卷积层的目的是为了更好地利用注意力机制,并且输出层的数据大小是8x8x2048;

......

想要继续阅读,请移步至我们的AI研习社社区: https://club.leiphone.com/page/TextTranslation/628

更多精彩内容尽在 AI 研习社。

不同领域包括计算机视觉,语音语义,区块链,自动驾驶,数据挖掘,智能控制,编程语言等每日更新。

手机端可以扫描二维码访问:

雷锋网(公众号:雷锋网 (公众号:雷锋网) )雷锋网

如何使用注意力模型生成图像描述?

雷锋网原创文章,未经授权禁止转载。详情见 转载须知

如何使用注意力模型生成图像描述?

以上所述就是小编给大家介绍的《如何使用注意力模型生成图像描述?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

High Performance Python

High Performance Python

Andrew Lewis / O'Reilly Media, Inc. / 2010-09-15 / USD 34.99

Chapter 1. Introduction Section 1.1. The High Performance Buzz-word Chapter 2. The Theory of Computation Section 2.1. Introduction Section 2.2. Problems Section 2.3. Models of Computati......一起来看看 《High Performance Python》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试