def _run_coco_evaluation(coco, coco_res, iou_type='bbox', threshold=None): if isinstance(coco_eval, UnsupportedPackage): coco_eval.raise_error("MSCOCOorigBaseMetric") cocoeval = coco_eval(coco, coco_res, iouType=iou_type) if threshold is not None: cocoeval.params.iouThrs = threshold cocoeval.evaluate() cocoeval.accumulate() cocoeval.summarize() res = cocoeval.stats.tolist() res_len = len(res) middle_index = res_len //2 assert res_len == 12 if iou_type != 'keypoints' else 10 res = [res[:middle_index], res[middle_index:]] return res