4

我只想从 COCO 数据集中下载人物类和二进制分割。我该怎么做?

4

1 回答 1

5

使用pycocotools

  • 导入库
    from pycocotools.coco import COCO
    
  • 加载coco注解的json文件
    coco = COCO('/home/office/cocoDataset/annotations/instances_train2017.json')
    
  • 获取 coco 数据集的类别 ID
    category_ids = coco.getCatIds(catNms=['person'])
    
  • 获取单个图像的注释
    annotations = coco.getAnnIds(imgIds=image_id, catIds=category_ids, iscrowd=False)
    
  • 这里每个人都有不同的注释,annotation[i]因此第 i 个人的注释是合并所有注释并保存
    if annotations:
      mask = coco.annToMask(annotations[0])
      for i in range(len(annotations)):
        mask |= coco.annToMask(annotations[i])
      mask = mask * 255
      im = Image.fromarray(mask)
      im.save('~/mask_name.png')
    
于 2022-01-06T05:04:59.320 回答