Deep Visual-Semantic Alignments for Generating Image Descriptions

Deep Visual-Semantic Alignments for Generating Image Descriptions

论文地址

时间:2015年

Target

generates natural language descriptions of images and their regions

Challenge

  • 需要高capability的模型来处理图片信息,生成自然语言
  • 模型需要摆脱硬编码模板和一些固定模式,仅仅从数据中学习
  • ground-truth数据不能精确到图片中的区域

insight

  • 将图片-描述的数据集当作弱标签,label中的词指代图片中的某个未知区域

Contribution

  • 提出了能够推断断句和图片区域潜在的对齐关系的模型,将图片特征和文本特征通过一个共享的embedding空间联系起来
  • 引入了multimodal RNN结构,接受图片输入并生成description

源码

Model

模型分为两部分,第一部分,将句子中的短语和visual region进行对齐,然后利用对齐后的数据作为标签,训练第二个模型生成短语

第一部分:learn to align visual and language data

表示图片

使用Region CNN(RCNN)来编码图片,CNN在ImageNet上预训练,且在ImageNet Detection Challenge的200类上作了fine-tune,选择top19的location和整张图片来计算图片的表达,将图片编码成20个h(1000~1600)维的向量
在这里插入图片描述
I b I_b Ib表示某个bounding box中的pixels,在CNN得到的特征上作投影得到mutimodal embedding

每张图片是20个h维向量的集合
在这里插入图片描述

表示句子

使用Bidirectional RNN(BRNN)来编码句子,BRNN接受N个词的输入,然后将他们编码成h维向量,每个词的编码过程会融入其上下文的信息

输入的词用word embedding编码为300维的向量,并且保持不变以避免过拟合。

对齐?(alignment)目标

现在已经将图片和句子编码到了相同的h维空间中,我们可以定义图片k和句子l的匹配程度为

在这里插入图片描述
这里 g k g_k gk是图片feature的集合, g l g_l gl是句子feature的集合,作者发现,下面的式子简化了上式,并去掉了不必要的目标
在这里插入图片描述
对于图片k和句子l的匹配程度,只需要求对句子l中每个片段最佳匹配区域的内积之和即可,相比于之前的对每个区域求匹配再求和,最后证明这样做简化了模型且提高了性能,注意k=l时代表图片和句子匹配的情况,最后的max-margin loss为

在这里插入图片描述
这样的损失函数鼓励k=l时有更高的匹配得分,k!=l时得分更低,这解决了没有region级别的对应label的问题

解码text segment和image的alignment

v i T s t v_i^Ts_t viTst表示了word t和区域i的匹配程度,但如果直接用这样的得分来匹配词和区域,会导致词scattered且不一致,相邻的词可能被匹配到了图中不同的区域,这里作者使用了Markov Random Field来解决这个问题,最终得到了snippet和region的alignment

第二部分:Muiltimodal Recurrent Neural Network for generating description

这一部分的输入是图片和其对应的description,可以是整张图片及sentence,或者region和snippets,其结构就是cnn encoder + rnn decoder

局限性

  • 生成的region caption是一次一个区域,而不是同时生成所有的
  • RNN接受的图片特征不够expressive
  • 模型不是end-to-end

Terminology

  • multimodal embedding
  • RCNN

问题

  • 什么是stuctured objective that aligns the two modalities through a multimodal embedding
    就是将sentence和image都表达成multimodal embedding space 中的向量然后通过内积来衡量相似度

  • v = W m [ C N N θ c ( I b ) ] + b m v=W_m[CNN_{\theta_c}(I_b)]+b_m v=Wm[CNNθc(Ib)]+bm是干啥的
    将image feature投影到multimodal embedding空间

  • 3.1.4

  • 整个文章是否分为两个部分:生成图片中描述部分的对应bounding box,以及给定一张图片,生成描述?第二个模型数据来源于第一个模型?
    是的3的第一段有提到,第一个模型生成数据供第二个模型学习

  • 总的任务是生成描述及描述区域,难道是先使用RCNN给出proposal然后喂给第二个模型生成caption
    看起来是这样

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值