48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
# Copyright (c) OpenMMLab. All rights reserved.
|
|
# This file add snake case alias for coco api
|
|
|
|
import warnings
|
|
|
|
import pycocotools
|
|
from pycocotools.coco import COCO as _COCO
|
|
from pycocotools.cocoeval import COCOeval as _COCOeval
|
|
|
|
|
|
class COCO(_COCO):
|
|
"""This class is almost the same as official pycocotools package.
|
|
|
|
It implements some snake case function aliases. So that the COCO class has
|
|
the same interface as LVIS class.
|
|
"""
|
|
|
|
def __init__(self, annotation_file=None):
|
|
if getattr(pycocotools, '__version__', '0') >= '12.0.2':
|
|
warnings.warn(
|
|
'mmpycocotools is deprecated. Please install official pycocotools by "pip install pycocotools"', # noqa: E501
|
|
UserWarning)
|
|
super().__init__(annotation_file=annotation_file)
|
|
self.img_ann_map = self.imgToAnns
|
|
self.cat_img_map = self.catToImgs
|
|
|
|
def get_ann_ids(self, img_ids=[], cat_ids=[], area_rng=[], iscrowd=None):
|
|
return self.getAnnIds(img_ids, cat_ids, area_rng, iscrowd)
|
|
|
|
def get_cat_ids(self, cat_names=[], sup_names=[], cat_ids=[]):
|
|
return self.getCatIds(cat_names, sup_names, cat_ids)
|
|
|
|
def get_img_ids(self, img_ids=[], cat_ids=[]):
|
|
return self.getImgIds(img_ids, cat_ids)
|
|
|
|
def load_anns(self, ids):
|
|
return self.loadAnns(ids)
|
|
|
|
def load_cats(self, ids):
|
|
return self.loadCats(ids)
|
|
|
|
def load_imgs(self, ids):
|
|
return self.loadImgs(ids)
|
|
|
|
|
|
# just for the ease of import
|
|
COCOeval = _COCOeval
|