gen_coco_panoptic_test_info.py 968 B

123456789101112131415161718192021222324252627282930313233
  1. import argparse
  2. import os.path as osp
  3. from mmengine.fileio import dump, load
  4. def parse_args():
  5. parser = argparse.ArgumentParser(
  6. description='Generate COCO test image information '
  7. 'for COCO panoptic segmentation.')
  8. parser.add_argument('data_root', help='Path to COCO annotation directory.')
  9. args = parser.parse_args()
  10. return args
  11. def main():
  12. args = parse_args()
  13. data_root = args.data_root
  14. val_info = load(osp.join(data_root, 'panoptic_val2017.json'))
  15. test_old_info = load(osp.join(data_root, 'image_info_test-dev2017.json'))
  16. # replace categories from image_info_test-dev2017.json
  17. # with categories from panoptic_val2017.json which
  18. # has attribute `isthing`.
  19. test_info = test_old_info
  20. test_info.update({'categories': val_info['categories']})
  21. dump(test_info, osp.join(data_root,
  22. 'panoptic_image_info_test-dev2017.json'))
  23. if __name__ == '__main__':
  24. main()