anno_json = '/data/guchengsong/detection/thyroid/raw_data/annotations/test.json'
pred_json = '/home/gcs/thyroid/yolov8-main_g/YOLOv8n_output_val8_json_file.json'
eval_classes = [0]
#try: # https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocoEvalDemo.ipynb
from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval
import numpy as np
# dataloader = create_dataloader(data[task], imgsz, batch_size, gs, opt, pad=0.5, rect=True,
# prefix=colorstr(f'{task}: '))[0]
anno = COCO(anno_json) # init annotations api
pred = anno.loadRes(pred_json) # init predictions api
eval = COCOeval(anno, pred, 'bbox')
# 设置仅评估指定类别ID
eval.params.catIds = eval_classes
# if is_coco:
# eval.params.imgIds = [int(Path(x).stem) for x in dataloader.dataset.img_files] # image IDs to evaluate
eval.evaluate()
eval.accumulate()
eval.summarize()
map50, map95 = eval.stats[:2] # update results (mAP@0.5:0.95, mAP@0.5)
调用coco的API来生成coco格式的检测结果
最新推荐文章于 2024-03-06 20:20:57 发布