本文记录简单了解VQA的过程,目的是以此学习图像和文本的特征预处理、嵌入以及如何设计分类loss等等.

参考资料:

https://zhuanlan.zhihu.com/p/40704719

https://www.youtube.com/watch?v=ElZADFTer4I

https://www.youtube.com/watch?v=cgOmpgcELPQ https://tryolabs.com/blog/2018/03/01/introduction-to-visual-question-answering/

https://tryolabs.com/blog/2018/03/01/introduction-to-visual-question-answering/

VQA定义:

给定一张图像和一个相关文字问题,从若干候选文字回答中选出正确答案.

常用策略是CNN提取图像特征,RNN提取文本特征,将图像特征和文本特征进行融合,然后通过全连接层进行分类.关键在于如何融合这两个模态.

Visual Question Answering (VQA) by Devi Parikh

Why Words and Pictures?

  • Applications.应用场景很广.

  • Measuring and demonstrating AI capabilities.通过对image和language的理解,衡量并展现AI的能力.

  • Beyond “bucket” recognition.跳出通常的对于AI任务的分类.

Image captions即为图片加上文字描述,可能存在的问题是,文字描述太过通用,无法详细地描绘出图像中的细节.

构建VQA:

  • 创建数据集,包括coco数据集中的254721张图片、50000张卡通,从Amazon Mechanical Turk为每张图片收集3个问题,每个问题收集10个回答.

  • 38%的问题是binary yes/no, 99%的问题有着<=3个单词的答案.这使得评估变得可行.

  • Input: image和question Output: answer.

  • Image用CNN, Question用RNN和LSTM, 输出是1 of K个最可能的答案.

What such a model can‘t do?

  • 例如“pizza box中剩下了几片菜叶子“的问题.因为该模型不具有计数的功能,

Introduction to Visual Question Answering: Datasets, Approaches and Evaluation

A multi-discipline problem:

  • VQA是跨学科的,至少需要NLP、CV、Knowledge Representation & Resoning等知识.

Available datasets:

  • 好的datasets结合恰当的评估方法是解决许多问题的关键.

  • VQA非常复杂,因此一个好的dataset要足够大,能包含尽可能多种类的图片和问题.许多datasets从COCO(Microsoft Common Objects in Context)数据集中获取图片.

  • COCO数据集大大简化和加速了VQA dataset的构建过程,但仍存在问题.例如收集广泛的、恰当的、没有歧义的probelm,以及可能被利用的biases.

  • The DAQUAR dataset是第一个重要的VQA dataset.全称是DAtaset for QUestion Answering on Real-world images.它的图片基于NYU-Depth V2 Dataset, 包含6974个training问答和5674个testing问答.它的缺点是只包含了室内图像,并且光照条件使得很难回答问题.

  • The COCO-QA dataset包含123287张图片, 78736个training问答和38948testing问答.值得注意的是它的所有答案都是一个单词.缺点是由于问题是由nlp生成的,因此存在一些奇怪的内容,并且只包含目标、颜色、计数和定位的问题.

  • The VQA dataset包含204721张COCO中的图片和50000张卡通图片.每个图片对应3个问题,每个问题对应10个答案.

Current Approaches:

  • VQA所需要的方法大致是:从问题中抽取特征、从图片中抽取特征、将两种特征结合来生成答案.

  • 对于text features,有BoW, LSTM encoders等方法.

  • 对于image features, 有pre-trained CNNs on ImageNet是最常用的.对于Answer, 模型一般会将问题视作一个分类任务.

  • 不同方法的主要区别就是如何结合textual and image features.

  • 一个不好的baseline很可能会给出最频繁出现的答案,或者是随机挑选答案.因此baseline的设计很关键.比较常用的方法是训练一个线性分类器或是网络,将features作为input.

  • Attention-based approaches是让算法专注于最相关的部分.例如“What color is the ball”的关键词就是“color”和“ball”,图像也会认为ball是最重要的一块区域.应用在VQA中,一般会使用spatial attention来生成区域特定特征,用于训练CNN.

  • Bayesian approaches的思想是对于问题和图像特征中同时出现的数据进行建模,作为一种推理关系的方式.

Evaluation metrics:

  • 传统的classic accuracy对于有选项的回答系统不错,但是对于开放式回答系统起不到作用.

  • WUPS估计一个回答和标准答案的语义距离,结果在0和1之间.使用WorldNet来计算语义树中的距离,从而衡量相似性.另外还会将相似性较低的答案的得分额外下降.缺点是太依赖WorldNet.

最新文章

  1. How to read a scientific paper
  2. C#资源文件与与资源名称字符串之间的互相转化
  3. loj 1251(2-sat + 输出一组可行解)
  4. python 内容查询小助手
  5. Unity3D研究院之IOS全自动编辑framework、plist、oc代码
  6. 设置mysql服务器远程连接
  7. Codeforces Beta Round #51 D. Beautiful numbers 数位dp
  8. CISCO 双线接入MAP配置详解
  9. AOP(以MVC中的过滤器为例)
  10. QtSpeech会让Qt说话
  11. Map 迭代 两种方法
  12. inline-block及解决空白间距
  13. Java 输出通过 InetAddress 获得的 IP 地址数组
  14. SparseArray,SparseBooleanArray和SparseIntArray
  15. alias 命令详解
  16. C++笔记007:易犯错误模型——类中为什么需要成员函数
  17. 关于HTTP中GET与POST的区别
  18. Linux安装软件、python开发环境
  19. FragmentXlistview
  20. Mysql 储存引擎

热门文章

  1. ZYNQ笔记(2):PS端——Hello World !
  2. Queue接口分析:add和offer区别,remove和poll方法到底啥区别
  3. IIS配置——常见问题
  4. 深入理解Session和Cookie的区别
  5. crawler_app_在Airtest无线模式控制手机
  6. 在Nginx服务器上安装SSL证书
  7. 基于vue+springboot+docker网站搭建【四】安装nginx
  8. css3+JS实现幻灯片轮播图
  9. FileReader生成图片dataurl的分析
  10. 中文版Postman测试需要登陆才能访问的接口(基于Cookie)