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

如何基于自定义数据集在YOLOv5中获取COCO指标

获取YOLOv5自定义数据集的COCO指标方法

1. 准备依赖与文件

首先确保安装pycocotools库,这是计算COCO指标的核心工具:

pip install pycocotools

同时需要两个关键文件:

  • 自定义数据集的验证集标注文件(如instances_val.json,COCO格式)
  • 你的YOLOv5输出的prediction.json文件

2. 确认预测文件格式合规

prediction.json必须严格遵循COCO检测任务的结果格式,每个条目结构如下:

{"image_id": 123, "category_id": 4, "bbox": [x_min, y_min, width, height], "score": 0.85}

注意:

  • bbox是左上角坐标+宽高,YOLOv5导出的预测文件默认已经做了格式转换,无需手动调整;如果是自行生成的预测结果,记得将YOLO的中心坐标+宽高格式转换为COCO格式。
  • image_id要和验证集标注文件中的image_id完全对应。

3. 编写评估脚本

创建一个Python脚本(如coco_eval.py),用pycocotools完成指标计算:

from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval

# 加载真实标注和预测结果
coco_gt = COCO("path/to/your/instances_val.json")  # 替换为你的验证集标注路径
coco_dt = coco_gt.loadRes("path/to/your/prediction.json")  # 替换为你的预测文件路径

# 初始化评估器
eval = COCOeval(coco_gt, coco_dt, "bbox")
# 设置评估的图像范围(默认用所有验证集图像)
eval.params.imgIds = coco_gt.getImgIds()
# 运行评估
eval.evaluate()
eval.accumulate()
eval.summarize()

4. 运行脚本并解读结果

执行脚本:

python coco_eval.py

运行后会输出COCO标准的检测指标,核心指标包括:

  • AP:所有IOU阈值(0.5~0.95,步长0.05)下的平均精度
  • AP50:IOU=0.5时的平均精度
  • AP75:IOU=0.75时的平均精度
  • AP_s/AP_m/AP_l:小/中/大目标的平均精度(按面积划分)
  • AR:不同IOU阈值下的平均召回率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:05:19