天天看点

CPN网络的label_transform.py文件对cocoapi的使用

CPN代码中,label_transform.py对COCO数据的标注进行重新组装,生成新的train_data。这里可以学习到如何使用cocoapi的函数。记录如下,对函数的说明可参看注释。

from tqdm import tqdm
dataDir = '../..'
dataType = 'val2017'
annFile = '{}/annotations/person_keypoints_{}.json'.format(dataDir,dataType)
coco_kps=COCO(annFile)
coco_ids = coco_kps.getImgIds() #5000张图片,共有5000个img_id
catIds = coco_kps.getCatIds(catNms=['person'])#catId为1
for img_id in tqdm(coco_ids):
    img = coco_kps.loadImgs(img_id)[0] #根据img_id加载一张图片的img信息
    annIds = coco_kps.getAnnIds(imgIds=img['id'], catIds=catIds) #根据img_id和cat_id获取满足条件的一张图片对应的多个annId,有可能annId为空,即图片没有满足条件的标注信息
    anns = coco_kps.loadAnns(annIds) #根据annId加载一张图片的1至多个标注信息,
           
上一篇: HDU 2109 JAVA

继续阅读