Modular Attention Network for Referring Expression Comprehension——代码阅读第一天

Feronia ·
更新时间:2024-11-11
· 762 次阅读

今天是阅读2018cvpr论文MAttNet源码的第一天,由于第一次读论文源码有很多不懂的地方,在此记录每天的学习进度,希望可以不断提高自身能力。

该论文训练的第一步是准备训练数据,因此先从tools/propro.py开始。论文可以加载refclef,refcoco,refcoco+,refcocog四种数据集,本文以refclef为例。

一、首先实例化pyutils/refer/refer.py中的REFER类
refer= REFER(data_root,dataset,splitBy)#传入data根目录,refclef,unc
1、在REFER类中先加载文件refs(unc).p和instances.json
instances.json中记录了images图像, annotations标签,categories 实体的类别信息。
-images:共19997张,每个image包含file_name,width,height,id四种属性
-annotations:共99523,每个annotation包含七种属性,annotations_segmentation, mask_name, area, image_id(对应的图片id),bbox(区域),category_id(对应的实体类别),id(annotation id)【前三种作用暂不清楚】
-categories:共276个类别,每个category包含id和name

refs(unc).p中可以读取99296个推理表达(暂定),每个ref中包含7个属性
-sent_ids 句子id
-ann_id 标签annotation id
-ref_id ref id
-image-id 图像id
-split 标注是train
-sentenses 句子,其中每个sentense又包括tokens(将句子拆分成一个一个词,), raw【暂不清楚作用】,sent_id(句子id),sent(完整的句子)四个属性
-category_id object的类别
2、建立图像,自然语言之间的索引。调用createIndex()
在本文中主要存储五种关系,分别为sentence, annotation, refs, image,catagory
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200218222405787.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1bm1lbm1pYW4=,size_如在这张图片中,包含天空,山和海洋,那么一张图片就可以在不同的区域定义不同的标签,而每个图片又可以用多句话来描述,或者针对山也可以有不同的话。而图片中可能存在多个人,他们都属于person这个类别。因此五种关系之间的数量关系为sentences>annotations>refs>images>category.即一张图片可以对应多个标签,多个句子,而每个标签又可以用多个句子描述。因此这五个关系两两建立索引得到多种字典
-Refs (暂定)
-Anns {ann_id:annnotation}
-Imgs {imge_id:image}
-Cats {category_id:category_name}
-Sents {sent_id:sentense}
-imgToRefs {image_id:ref}
-imgToAnns 以下类似
-refToAnn
-AnnToref
-catToRefs
-sentToRef
-sentTokens{sent_id:tokens}
二、建立词汇表
vocal,sentToFinal=build_vocab(refer, params)
根据刚才建立的索引sentTokens,设置word_count_threshold(5),通过循环遍历每句话,记录每个单词在所有句子中出现的次数,如果小于等于设置的阈值word_count_threshold,则该词被认为是“bad word”。只有大于阈值的词才能组成词汇表。代码从所有句子的9320种词(word2count)中选出了1867个词组成vocab,另外,由于category中的某些词在word2count中没有出现过,或因为小于阈值而被除掉,因此还需要把category中的词加入到词汇表vocab中。

在vocab中添加UNK,BOS,EOS,PAD【作用未知】
。。。后续更新


作者:sunmenmian



attention for

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章