You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于pycocotools中COCOeval类accumulate函数的技术疑问

pycocotools cocoeval.py 核心疑问解答
  • npig变量含义:npig是number of positive images的缩写,指包含至少一个标注目标的图像总数,和negative-positive完全无关。代码里它用来统计存在ground truth的图像数量,是计算召回率时的关键分母项。

  • 能否用self.eval的precision/recall画PR曲线:可以直接用,但要注意多维数组的维度对应。self.eval['precision']是形状为[T, R, K, A, M]的数组,self.eval['recall']是[R, K, A, M]的数组。如果要绘制单类别的PR曲线,需要先提取对应维度的数据——比如指定IoU阈值(如0.5对应索引0)、类别索引、难度等级(all对应0)、任务类型(bbox对应0),再用提取后的precision和recall数组绘图。

  • scores是不是F1 score:不是。这里的scores是模型输出的检测框置信度分数,即模型判断该框为目标的概率值,用来对检测结果排序,是划分正负样本的依据,和F1 score(2PR/(P+R))完全不相关。

  • T、R、K、A、M变量含义:

    • T:IoU阈值的数量,默认10个(从0.5到0.95,步长0.05)
    • R:召回率的采样点数,默认101个(从0到1,步长0.01)
    • K:数据集的类别总数,比如COCO是80类
    • A:目标难度等级,0代表all(所有目标)、1代表small(小目标)、2代表medium(中目标)、3代表large(大目标)
    • M:检测任务类型,0是bbox(边界框检测)、1是segm(实例分割)
  • 终端打印precision和recall的值:
    可以在自己的评估脚本里添加打印逻辑,示例代码如下:

    from pycocotools.coco import COCO
    from pycocotools.cocoeval import COCOeval
    
    # 初始化评估对象
    coco_gt = COCO('ground_truth.json')
    coco_dt = coco_gt.loadRes('detection_results.json')
    coco_eval = COCOeval(coco_gt, coco_dt, 'bbox')
    
    # 执行评估流程
    coco_eval.evaluate()
    coco_eval.accumulate()
    coco_eval.summarize()
    
    # 提取并打印指定类别的precision和recall(以person类别为例)
    person_cat_id = coco_gt.getCatIds(catNms=['person'])[0]
    cat_array_idx = coco_eval.params.catIds.index(person_cat_id)
    
    # 取IoU=0.5(索引0)、所有召回率点、person类别、all难度、bbox任务的precision
    precision_data = coco_eval.eval['precision'][0, :, cat_array_idx, 0, 0]
    # 取对应类别的recall数据
    recall_data = coco_eval.eval['recall'][:, cat_array_idx, 0, 0]
    
    print("Person类别Precision值:")
    print(precision_data)
    print("\nPerson类别Recall值:")
    print(recall_data)
    
    # 也可以直接打印summarize输出的平均指标
    print(f"\nAP@0.5: {coco_eval.stats[0]}")
    print(f"AR@0.5: {coco_eval.stats[6]}")
    

    如果你想在cocoeval.py内部打印,可在accumulate()函数末尾添加打印逻辑,比如输出self.eval['precision']的特定切片。

内容的提问来源于stack exchange,提问作者NJR11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:20:22