马猴烧酒 发表于 2018-8-25 18:01:22

VisualQA数据集介绍

本帖最后由 马猴烧酒 于 2018-8-27 11:37 编辑

1 简介
    VisualQA数据集是用于可视化的问答数据集,可视化的问答即根据图片的内容进行提问与回答,如图1-1,将视觉与语言结合起来。这个数据集的基本信息如下
265,016张图片(COCO和抽象场景);
每张图片至少有3个问题(平均5.4个问题);
每个问题有10个基本事实答案;
每个问题有3个似乎合理(但可能不正确)的答案;
自动评估指标。
图1-1
2 内容
    数据集有VQA1和VQA2两个版本,VQA1版本的数据集内容如图2-1所示。VQA2版本的数据集内容如图2-2所示。


图2-1

图2-2
    VQA1和VQA2版本的数据集都分为真实图片和抽象图片,真实图片是用于问答的数据集,抽象图片是用于对图片内容进行抽象,生成标题的数据集。两者的共同点是都被分成训练集,验证集,测试集,真实图片的数据集分为问题(比如Training questions 2015 v1.0),答案(比如Training annotations 2015 v1.0)json文件。问题(questions)数据集被用来当做输入数据集,而答案(annotations)数据集被用来当做验证的数据集。抽象图片也分为输入数据集和验证数据集,下面一一介绍这些数据集的格式,首先介绍下真实图片的答案(annotations)的数据集格式。真实图片的annotations数据集    annotations的json文件最外层是个字典,包含info,data_type,license,data_subtype,annotations五个键。info键存储的值描述数据集的信息,如下所示。{
"info" : info,
"data_type": str,
"data_subtype": str,
"annotations" : ,
"license" : license
}    data_type键值描述数据集属于真实图片,还是抽象图片,data_subtype键值描述数据集属于训练集,验证集还是测试集,并且描述数据集的年份。license键值描述数据集的授权文件,annotaisons键值描述问题对应的答案,是个列表,列表中每个元素是如下所示的字典。{
"question_id" : int,
"image_id" : int,
"question_type" : str,
"answer_type" : str,
"answers" : ,
"multiple_choice_answer" : str
}
    answers中每个元素也是个字典,其形式如下。{
"answer_id" : int,
"answer" : str,
"answer_confidence": str
}    answer_id描述答案唯一的id,answer描述答案,answer_confidence描述答案可信度。
真实图片的questions数据集    questions的json文件最外层也是个字典,包含如下的5个键值对。{
"info" : info,
"task_type" : str,
"data_type": str,
"data_subtype": str,
"questions" : ,
"license" : license
}    info,data_type,data_subtype,license键值描述的内容和annotations数据集的一样,重点关注task_type,questions键值。task_type键值描述问题的类型,问题分为多个类型:是多选题,开放性题,还是有标准答案的题。questions描述各个具体问题。questions列表中每个字典元素question如下所示。{
"question_id": int,
"image_id": int,
"question": str
}    question_id描述问题id,image_id描述问题对应的图片id,question描述问题。上述是常规的问答questions数据集格式,除了常规问答还有选择题问答,选择题的questions数据集格式与常规问答questions不同的地方在于question多了multiple_choices键,而最外层的字典多了num_choices键。如下所示。"num_choices": int
question{
"multiple_choices" :
}    num_choices描述选择题的选择项个数,multiple_choices描述选择题选项,是个字符串列表。    真实图片的数据集介绍完了,再来看看抽象图片的数据集。抽象图片的输入数据集   真实图片的输入数据集是questions数据集,而抽象图片的输入数据集略有不同,最外层的字典如下所示。{
"info" : info,
"data_type": str,
"data_subtype": str,
"compositions" : ,
"images" : ,
"license" : license
}    info,data_type,data_subtype,license键值描述的内容与真实图片一致,在此不做赘述。compositions描述的是图片id和图片名称的组合,这里的图片名称指对应场景(图片id)合成的图片名称,意思是一个场景对应着多幅描述这个场景的图片。compositions格式如下。{
"image_id" : int,
"file_name" : str
}    image_id是图片id,file_name是图片名称。images是图片列表,包含图片id,图片名称,图片链接,图片地址,图片宽高。images中图片名称是指图片id所对应的图片名称,即场景本身,而compositions中的图片名称指的是从另外的角度来描述场景的图片,比如场景中切割的图片来描述场景。iamges图片列表中每个字典元素如下所示。{
"image_id" : int,
"file_name" : str,
"url" : str,
"height" : int,
"width" : int
}抽象图片的验证数据集    抽象图片验证数据集的json最外层依然是个字典,如下所示。{
"info" : info,
"task_type": str,
"data_type": str,
"data_subtype": str,
"annotations" : ,
"images" : ,
"license" : license
}    info,task_type,data_type,data_subtype,images,license键值前面都介绍过,这里描述的内容与前面介绍的一致,不再赘述,而annotations里面的annotation发生了一些改变。annotation的结构如下所示。{
"id" : int,
"image_id" : int,
"caption" : str
}    id是annotation的唯一id,image_id是图片id,caption是为图片id对应的图片生成的标题。3 其他    另外一些值得注意的地方,开放数据集的作者引入了一个新的评估指标,该指标对于表达答案的人际差异具有很强的可靠性,指标如下
http://visualqa.org/static/img/equation.png
    回答正确率等于人类提供的答案个数/3,和1之间的最小值。其次为了与“人类精确度”保持一致,机器精度在所有10种选择的9套人类标注器上取平均值。    对外发布的数据集对原始数据集进行了以下预处理:
[*]问题和回答字符串的拼写校正(使用必应拼写器)
[*]问题标准化(第一个字符大写,最后一个字符' ? ')
[*]答案标准化(所有字符小写,除小数点外无句点,数字单词- >数字,条形文字(a, a, a))
[*]如果缺少缩进,则添加撇号(例子如"dont" 转换成"don't")
4 小结
   VisualQA数据集是一个非常适合视觉问答的数据集,其分成真实图片数据集和抽象图片数据集,真实图片数据集用于视觉问答,抽象图片数据集用于图片标题生成,抽象图片数据集也可以用于视觉问答,因为官网也提供了其和真实图片数据集的输入验证格式相同的json文件。除此之外VisualQA提供了在线测试图片,可以上官网http://vqa.cloudcv.org/自己上传图片试试效果。


污妖王 发表于 2018-9-15 09:10:26

视觉问答,很神奇啊,这是机器向人的智能又迈出了一大步的特征

令狐少侠 发表于 2018-10-8 16:09:48

不错的数据集,记录了

2919005896 发表于 2018-10-11 08:08:30

挺好的

马猴烧酒 发表于 2018-10-11 08:20:27

污妖王 发表于 2018-9-15 09:10
视觉问答,很神奇啊,这是机器向人的智能又迈出了一大步的特征

现阶段还很浅显,坐等大佬开括新世界

污妖王 发表于 2018-10-11 08:28:18

马猴烧酒 发表于 2018-10-11 08:20
现阶段还很浅显,坐等大佬开括新世界

恩,坐等大佬,我们这些杂鱼只需紧跟大佬的脚步就好了

2919005896 发表于 2018-10-12 07:58:54

令狐少侠 发表于 2018-10-8 16:09
不错的数据集,记录了

对啊整个这个模块很良心
页: [1]
查看完整版本: VisualQA数据集介绍