-
Notifications
You must be signed in to change notification settings - Fork 1
/
eval.py
37 lines (30 loc) · 833 Bytes
/
eval.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import sys
import json
import torch
import os
import numpy as np
from pycocotools.cocoeval import COCOeval
import matplotlib.pyplot as plt
from pycocotools.coco import COCO
def dump_to_json():
pass
def eval(anno_json,
result_json,
anno_type):
annType = ['segm', 'bbox', 'keypoints']
annType = annType[1] # specify type here
print('Running demo for *%s* results.' % (annType))
# initialize COCO ground truth api
cocoGt = COCO(anno_json)
# initialize COCO detections api
cocoDt = cocoGt.loadRes(result_json)
imgIds = sorted(cocoGt.getImgIds())
imgIds = imgIds[0:100]
imgIds = imgIds[np.random.randint(100)]
# running evaluation
cocoEval = COCOeval(cocoGt, cocoDt, annType)
cocoEval.params.imgIds = imgIds
cocoEval.evaluate()
cocoEval.accumulate()
cocoEval.summarize()
pass