在接触到image caption时,看的论文是《Show and Tell: Lessons learned from the 2015 MSCOCO Image Captioning Challenge》《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》,网络上对这两篇论文的解析也特别多,总的来说,这两篇论文大体思路一致,采用的都是经典的encoder-decoder框架,主要区别在《Show, Attend and Tell》加入了attention机制,《Show and Tell》的NIC模型则没有,加入attention机制后,测试效果往往更好,这里不再赘述这两篇论文的内容。今天,我主要是想要说一下,2015年的一篇论文《From Captions to Visual Concepts and Back》。

论文里的一张处理流程实例图,可以看到,本论文的方法主要分为三步:

1.detect words(检测单词)

2.generate sentences(生成句子)

3.re-rank sentences(重新排序句子)

一、detect word

在detect words这一步,论文采用的是weakly-supervised approach of Multiple Instance Learning。主要考虑到有些描述性质的词如beautiful等,不能精确地在一张图片上框出来,这样一来,经典的目标检测方法训练方法就不能用了。论文通过MIL的方法规避了这一问题。

论文首先建立一个包含1000个常用的训练的caption的词汇表,沿用MIL的bag观念,这里的一个bag就是一张图片,每个bag里的instance就是图片i的region j,其实就是不同的bounding box对应的部分图片。遍历词汇表,如果单词w出现在图片i的caption里,那么这个bag对应w的标签就是positive,反之就是negative。那么图片i出现单词w的概率为

是图片i的第j个region出现单词w的概率,就是图片i

计算公式为

沿用原论文的解释

论文采用交叉熵损失函数更新权值,查阅引用文献,可知

公式里的就是论文里的

到这里,论文里面提到具体训练过程分为两步,第一步迭代地从正bag中选择instance,第二部利用更新的positive label重新训练分类器(没理解到底怎么操作的)。另外论文里没有提到bounding box具体有多少,尺寸为多少,只提到利用上采样将图片长边延伸到565,送入全卷积神经网络后,fcn8得到12*12的feature map,这些feature map对应开始不同位置的bounding box(这里感觉论文挖了大坑却没填)。

二、generate sentence

论文指出这一步是核心,论文的方法基于统计,是一个统计模型。具体地,论文采用的是maximum entropy language model(MELM)

根据之前单词以及检测到但是还未出现单词预测下一个单词的概率计算公式为:

这个公式形式上类似softmax。

《From Captions to Visual Concepts and Back》阅读笔记相关推荐

  1. trainer setup_Detectron2源码阅读笔记-(一)Configamp;Trainer

    一.代码结构概览 1.核心部分 configs:储存各种网络的yaml配置文件 datasets:存放数据集的地方 detectron2:运行代码的核心组件 tools:提供了运行代码的入口以及一切可 ...

  2. VoxelNet阅读笔记

    作者:Tom Hardy Date:2020-02-11 来源:VoxelNet阅读笔记

  3. Transformers包tokenizer.encode()方法源码阅读笔记

    Transformers包tokenizer.encode()方法源码阅读笔记_天才小呵呵的博客-CSDN博客_tokenizer.encode

  4. 源码阅读笔记 BiLSTM+CRF做NER任务 流程图

    源码阅读笔记 BiLSTM+CRF做NER任务(二) 源码地址:https://github.com/ZhixiuYe/NER-pytorch 本篇正式进入源码的阅读,按照流程顺序,一一解剖. 一.流 ...

  5. Mina源码阅读笔记(一)-整体解读

    2019独角兽企业重金招聘Python工程师标准>>> 今天的这一节,将从整体上对mina的源代码进行把握,网上已经有好多关于mina源码的阅读笔记,但好多都是列举了一下每个接口或者 ...

  6. “CoreCLR is now Open Source”阅读笔记

    英文原文:CoreCLR is now Open Source 阅读笔记如下: CoreCLR是.NET Core的执行引擎,功能包括GC(Garbage Collection), JIT(将CIL代 ...

  7. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  8. 05《软件需求模式》阅读笔记

    剩下的两个阅读笔记写第二部分.各类需求模式,共八个领域和它的需求模式,这一次写前四个. 基础需求模式,它是所有种类的系统都可能需要的一些东西.系统间接口需求模式使用系统间接口需求模式定义被定义的系统和 ...

  9. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  10. 大型网站技术架构:核心原理与案例分析阅读笔记二

    大型网站技术架构:核心原理与案例分析阅读笔记二 网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变 ...

最新文章

  1. 轻松一下,看看vs.net2002变态的智能提示,不知道算不算bug
  2. html 一条线两种颜色,HTML5/CSS3超酷进度条 不同进度多种颜色
  3. 这套1600赞的NLP课程已开放,面向实战,视频代码都有丨资源
  4. opc ua_UA Web挑战会议:针对初创公司的SpringIO
  5. 笔记-项目立项管理-项目的可行性研究-可行性研究内容
  6. 5个杰出的商业机器学习用例
  7. Always keep in mind
  8. Gradle 依赖项管理
  9. python获取输入法状态_Python学习中常见的错误
  10. 每日一题(30)—— 局部变量能否和全局变量重名?
  11. php 多数据库联合查询,php如何同时连接多个数据库_PHP教程
  12. Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)
  13. 断开式绑定ComboBox 关键命令 1201
  14. DataX离线数据同步工具/平台
  15. 3. Web Dynpro for ABAP: Web Dynpro Window Web Dynpro Program
  16. 日常视频一秒变游戏,人物可以随意操控:全靠Facebook的实时算法
  17. [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
  18. wi ndows防火墙,网吧的防火墙怎么关?四种方法关闭WINDOWS防火墙
  19. qt获取 扫码枪_QT获取激光扫描枪获取条形码数据
  20. 尤大大(尤雨溪)的年度总结、预期

热门文章

  1. rails rjs select method help
  2. 提取动漫视频里的BGM
  3. win7防火墙例外设置方法_win7防火墙添加端口方法
  4. 基于滴滴云搭建安全稳定的 Memcached 服务器
  5. 有声音显示音频服务器,Win7右下角声音图标显示音频服务未运行的解决方法小结...
  6. pdf书籍资源共享_书籍和更多内容已获许可使用知识共享
  7. 数学建模算法与应用 线性规划(cvxpy包)
  8. 线性规划——对偶问题、强弱对偶定理、KKT条件
  9. Kotlin学习笔记(二)——函数操作符内置函数
  10. ble l2cap 工作过程_从车联网安全到BLE安全(二)