Show, Control and Tell: A Framework for Generating Controllable and Grounded Captions

原文地址

时间:2019 CVPR

Intro

当前的多数Image caption模型缺少可控性(controllability)和可解释性(explainablity),这使得它与人类智能不同,因为人类能够选择各种描述图片的角度,并根据手头上的任务选择最合理的描述。本文提出了Show,Control and Tell,他可以根据控制信号(一个序列或者一个图片的区域集合)来进行多样的描述

本文的主要贡献

  • 提出了一个可通过外部信号控制的image captioning模型
  • 模型通过预测noun chunck序列来精确考虑句子的等级结构,同时考虑视觉和语言上的不同,在word level提供额外的grounding
  • 在diversity和caption quality上达到了Flick30k和COCO的SoTA水平

Approach

自然语言本身是分级的,在低层次上,一个句子可以想象为一个词的序列:在描述图片的情况下,我们可以区分visual words,它们是图片中出现的词(object attribute),textual words,图片中未直接体现的词,分析词在句法上的依赖性,我们可以发现更高的抽象,其中词可以组织成树的形状:在dependency tree里,每个词相互连接如图所示:

给一个dependency tree,名词可以和它们的修饰词分组在一起,形成none chunks,如上图,同一颜色框中就是一个none chunk,一个none chunk就基于图片中的一个区域,且图片也可以分成多个区域,每个对应一个none chunk

描述图片的方式可以由不同的chunk序列决定,因此caption根据考虑的区域而不同,因此我们设计一个模型,它接受序列或者图片区域集合作为控制输入。

Generating controllable captions

给定一个图片III和一个序列集合R=(r0,r1,..,rN)R=(r_0,r_1,..,r_N)R=(r0​,r1​,..,rN​)作为输入,我们的caption模型的目标是生成序列y=(y0,y1,...,yT)y=(y_0,y_1,...,y_T)y=(y0​,y1​,...,yT​),它能够描述RRR中所有的区域,同时保证语言的流畅性。

我们的模型接受III和RRR为输入,其中R作为控制信号,然后预测两个输出分布,分别是word level和chunk level的句子表示:词的概率p(yt∣R,I;θ)p(y_t|R,I;\theta)p(yt​∣R,I;θ),以及切换chunk的概率p(gt∣R,I;θ)p(g_t|R,I;\theta)p(gt​∣R,I;θ),其中gtg_tgt​是bool的chunk-shifting门,生成的过程中,模型维持一个指向rir_iri​的指针,并且根据gtg_tgt​决定是否切换到下一个位置

为了生成caption,我们使用了自适应attention的RNN,每一步中,模型根据ht−1,rt,wth_{t-1},r_t,w_tht−1​,rt​,wt​计算hth_tht​,因此ht=RNN(wt,rt,ht−1)h_t=RNN(w_t,r_t,h_{t-1})ht​=RNN(wt​,rt​,ht−1​),训练的时候rtr_trt​和wtw_twt​是ground-truth region set和word,测试的时候,wtw_twt​从模型输出的第一个分布中采样,选择的下一个region从模型输出的第二个分布中采样

chunk-shifting gate,LSTM首先计算一个chunk哨兵stcs^c_tstc​,

其中mtm_tmt​是cell memory,然后计hth_tht​和哨兵向量的兼容性,以及hth_tht​和rtr_trt​的兼容性,通过单层神经网络来计算

shift chunk的概率计算为

Adaptive attention with visual sentinel,当chunk-shifting gate预测chunk的结束,就将生成的过程和控制信号R连接了起来,当rtr_trt​被选中后,就需要第二个机制来在这个区域中区分visual和textual words,为此,我们建立了adaptive attention mechanism with a visual sentinel

visual sentinel和之前一样

然后生成attentive distribution

然后计算attention加权结果,context vector,作为网络的输入

Objective

损失函数由两个预测结果决定,一个是ground-truth预测结果,另一个是caption结果,使用交叉熵损失

根据之前的工作,我们在交叉熵上预训练了之后,使用强化学习继续优化,特别的是,我们使用self-critical sequence training 方法,

caption quality在与人类评判更一致的CIDEr-D上进行优化,alignment在基于Needlemen-Wunsch算法的score上进行优化

controllability through a set of detections

这里设计了一个网络对RRR进行排序

Result

Conclusion

本文提出了Show,Control and Tell模型,引入控制信号来控制image caption的结果

Show, Control and Tell: A Framework for Generating Controllable and Grounded Captions相关推荐

  1. 论文笔记:Show, Control and Tell:A Framework for Generating Controllable and Grounded Captions

    Show, Control and Tell:A Framework for Generating Controllable and Grounded Captions 1.提出问题 现在的图像描述模 ...

  2. Image Captioning概述

    目录 任务描述 应用领域 主要问题 主流框架 常用数据集 Metrics Metrics的部分内容参考自知乎 任务描述 输入:图片III 输出:由 nnn个单词组成的图片内容描述S={s1,...,s ...

  3. 【CVPR2019】论文完整列表一

    CVPR 2019 Paper list No.1-1000 ?CVPR2019 完整列表二 论文题目与链接 Finding Task-Relevant Features for Few-Shot L ...

  4. 【今日CV 视觉论文速览】28 Nov 2018

    今日CS.CV计算机视觉论文速览 Wed, 28 Nov 2018 Totally 62 papers Daily Computer Vision Papers [1] Title: Deformab ...

  5. CVPR2019论文题目中文列表

    英文题目 中文题目   Finding Task-Relevant Features for Few-Shot Learning by Category Traversal 少镜头学习中用类别遍历法寻 ...

  6. (九:2020.08.27)CVPR 2019 追踪之论文纲要(译)

    CVPR 2019 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  7. 【CVPR2019_论文汇总】(按方向划分,0401 更新中)

    转载链接:http://bbs.cvmart.net/topics/302/cvpr2019paper 作为计算机视觉领域三大顶会之一,CVPR2019(2019.6.16-6.19在美国洛杉矶举办) ...

  8. CVPR 2019 论文汇总(按方向划分,0409 更新中)[转载]

    转载链接:http://bbs.cvmart.net/topics/302/cvpr2019paper 作为计算机视觉领域三大顶会之一,CVPR2019(2019.6.16-6.19在美国洛杉矶举办) ...

  9. cvpr 2019 image caption

    文章目录 第一类: Adversarial Semantic Alignment for Improved Image Captions (这篇文章在第三类也会出现,但说问题的角度不同) Descri ...

  10. 万字博客带你了解Spring Framework 的全貌

    1.写在前面 我之前出过一个系列介绍的是spring的源码的系列,但是由于当时个人的水平有限,有些地方介绍的也是模棱两可的,打算重启这块内容,上次只是介绍其中的一部分,例如国际化,事件等等这块的源码都 ...

最新文章

  1. marquee 滚动字幕
  2. SQL SERVER 2008 登陆失败(SQL和windows都没有对应的权限)
  3. compareto方法_Java compareTo() 字符串方法
  4. Restful风格,PUT修改功能请求,表单中存在文件报错-HTTP Status 405 - Request method 'POST' not supported...
  5. java字节码指令集简介
  6. 端口扫描php,PHP实现在线端口扫描
  7. Subclipse更新地址
  8. python暴力破解rar压缩文件
  9. linux mint 下如何制作win7启动盘
  10. vob文件如何转换成mp4
  11. java图片转单色位图_Android:将位图转换为单色位图(每像素1位)
  12. Angular primeng tree 组件数据解析(适用于Angular2+)
  13. zerotier异地搭建组网
  14. 30005 rust_RUSTJKD超级防锈涂料
  15. python生产实战 python 闭包之庖丁解牛篇
  16. spring.main.allow-bean-definition-overriding = true
  17. 多路温度采集控制系统(2)需求分析
  18. 基于W5500的实时远程温湿度监控系统
  19. 佳能mg3150pixma_升级到佳能Pixma MP500多功能喷墨打印机
  20. 武汉人才服务中心---迁移户口回老家---流程

热门文章

  1. 【防火墙_策略路由】
  2. 个人征信报告有哪些版本?
  3. fafa什么意思_fafafafafa 什么意思
  4. 软件测试——课程感想
  5. java oa系统二次开发_浅谈OA系统的二次开发
  6. 谁动了你的 MSN?—— MSN 帐号被盗原因的分析和解决办法,鄙视msnlivesn.com
  7. 群体遗传学习笔记-测序技术学习
  8. mysql查询区分英文大小写_Mysql查询英文如何严格区分大小写?
  9. 计算机网络篇- 网络层
  10. IE11 zh_HANS_CN国际化问题