MAttNet代码阅读-1
refe.py代码阅读(对图片数据和文本数据的预处理)
图片部分与目标检测相同,生成字典(instances.json文件),文本部分(refcoco.p)生成文本的字典
文本字典
refer对于文本的处理得到的文本的字典 (对应refcoco(unc).p来理解)字典的可视化
处理得到图片和标签的字典
# fetch info from instances
# 利用的是instances.json这个文件的信息 主要是处理的图片的相关信息
Anns, Imgs, Cats, imgToAnns = {}, {}, {}, {}
# annotations 是一个很大的列表 包括全部图片的标签的信息 每个框的信息都有对应的图片的id 具体的坐标 分割的像素点的信息 对应图片的id 类别信息等
for ann in self.data['annotations']:
Anns[ann['id']] = ann # 建立anno的字典 可以通过anno的id来得到anno的信息(每一个框是一个信息
# .get()返回字典中关键字对应的词 imgToAnns中有ann['image_id'] 则直接返回信息 ,不然返回[]
imgToAnns[ann['image_id']] = imgToAnns.get(ann['image_id'], []) + [ann] # 可以通过图片的id得到图片上所有标签的信息
for img in self.data['images']: # 建立图片的字典 可以通过图片的id得到图片的网络地址和图片的宽高信息
Imgs[img['id']] = img
for cat in self.data['categories']:
Cats[cat['id']] = cat['name'] # 建立类别名称和类别id的字典