30 lines
962 B
Python
30 lines
962 B
Python
import warnings
|
|
warnings.filterwarnings('ignore')
|
|
import argparse
|
|
from pycocotools.coco import COCO
|
|
from pycocotools.cocoeval import COCOeval
|
|
from tidecv import TIDE, datasets
|
|
|
|
def parse_opt():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument('--anno_json', type=str, default='data.json', help='label coco json path')
|
|
parser.add_argument('--pred_json', type=str, default='', help='pred coco json path')
|
|
|
|
return parser.parse_known_args()[0]
|
|
|
|
if __name__ == '__main__':
|
|
opt = parse_opt()
|
|
anno_json = opt.anno_json
|
|
pred_json = opt.pred_json
|
|
|
|
anno = COCO(anno_json) # init annotations api
|
|
pred = anno.loadRes(pred_json) # init predictions api
|
|
eval = COCOeval(anno, pred, 'bbox')
|
|
eval.evaluate()
|
|
eval.accumulate()
|
|
eval.summarize()
|
|
|
|
tide = TIDE()
|
|
tide.evaluate_range(datasets.COCO(anno_json), datasets.COCOResult(pred_json), mode=TIDE.BOX)
|
|
tide.summarize()
|
|
tide.plot(out_dir='result') |