VOC/COCO风格评估差异对照表

AABB 目标检测 里最常见的 VOC-styleCOCO-style 评估来对照;前者更偏经典/宽松,后者更严格、维度更多。(BrainChip Data1)

对比维度 VOC 风格 COCO 风格
主指标 以每类 AP 和所有类别平均后的 mAP 为核心;经典 VOC 检测评估围绕 PR 曲线和 AP 展开。(BrainChip Data1) 主指标是 AP@0.50:0.95 ,同时还会单独给出 AP50AP75。COCO 官方评估代码的 summary 默认就这样输出。(GitHub2)
IoU 阈值 经典 VOC 检测通常按 IoU=0.5 判定 TP。很多人说的 "VOC mAP" 基本就是这个口径。(GitHub3) COCO 会在 0.50 到 0.95 之间每隔 0.05 取一个 IoU,共 10 个阈值,再做平均。(GitHub2)
AP 计算方式 常见 VOC-style 有两种:VOC07 11-point AP ,以及后续常见实现里的 PR 曲线面积积分 。Detectron2 的 VOC evaluator 就明确区分了 use_07_metric=True 的 11-point 和 False 的积分式 AP。(GitHub3) COCO 使用 101 个 recall 采样点(0, 0.01, ..., 1.00),并在多 IoU 阈值上汇总。(GitHub2)
召回采样密度 VOC07 是 11 个 recall 点(0, 0.1, ..., 1.0)的插值 AP。(Informatics Homepages4) COCO 是 101 个 recall 点(步长 0.01),更细。(GitHub2)
输出指标丰富度 通常重点就是 AP / mAP。(BrainChip Data1) 除了 AP / AP50 / AP75 ,还会输出 AR,以及按目标尺寸分开的指标。(GitHub2)
尺度拆分 VOC 主评估里没有 COCO 那种标准化的 small / medium / large 三档汇报。 COCO 默认拆成 small / medium / large ;面积范围在官方代码里定义为 small: (02!\sim322),medium: (322!\sim962),large: (96^2!\sim\infty)。(GitHub2)
maxDets 限制 VOC 风格里一般不是核心汇报维度 COCO 默认会用 maxDets = 1, 10, 100 ,并据此给出 AR@1 / AR@10 / AR@100 等结果。(GitHub2)
忽略样本机制 VOC 有 difficult 标注;这类目标在评估中会被丢弃,检测到它们通常也不受罚。(Informatics Homepages4) COCO 有 ignore / iscrowd 等机制;评估代码会把这类 GT 设为 ignore,并在累计 TP/FP 时单独处理。(GitHub2)
严格程度 更宽松,特别是只看 IoU=0.5 时,对框定位误差容忍更高。 更严格,因为既看 AP50 ,也看 AP75 ,还把 0.50:0.95 全部平均进去。(GitHub2)
更适合什么场景 更适合快速比较"有没有检出来"、或与老论文/老项目保持一致。 更适合做现代 benchmark、真实部署前的综合比较,因为它对定位精度、小目标和候选数约束都更敏感。这个判断是基于其更严格、更细粒度的官方评估设置。(GitHub2)

最容易混淆的 4 点

1)"VOC mAP" 往往就是 mAP@0.5,不等于 COCO 的 AP。

COCO 默认的 AP 是把 0.50 到 0.95 的多个 IoU 阈值平均后的结果,所以数值通常会比 VOC 风格更低。(GitHub2)

2)"VOC-style" 里还分 VOC07 和非 VOC07。

VOC07 常指 11-point AP;很多后续实现会改成对 PR 曲线做面积积分。看论文或代码时,最好确认有没有 use_07_metric 之类的开关。(GitHub3)

3)同一个数据集,也可能被按不同风格评估。

例如某些框架对 VOC 数据集也能输出 AP / AP50 / AP75,因为它们实现了"VOC 数据集 + 多 IoU 阈值统计"的 evaluator;Detectron2 的 VOC evaluator 就是按 0.50:0.95 循环阈值汇总出 AP/AP50/AP75。(GitHub3)

4)工程里不要只看 AP50。

AP50 高只能说明"差不多框住了",不代表定位很准;AP75 和 COCO AP 更能反映框质量。(GitHub2)

笔记

  • VOC 风格mAP@0.5,偏经典、偏宽松。(GitHub3)
  • COCO 风格AP@[0.5:0.95] + AP50 + AP75 + APs/m/l + AR,偏现代、偏严格。(GitHub2)

指标命名速查表

常见写法 通常表示什么 IoU 阈值 AP 计算方式 你该怎么理解
VOC07 Pascal VOC 2007 风格 AP 0.5 11-point interpolation 最经典、最宽松的 VOC 口径。(Informatics Homepages4)
VOC2007 mAP 所有类别 AP 的平均 0.5 11-point 和上面基本同义,只是强调是 mAP。(Informatics Homepages4)
VOC2010 / VOC2011 / VOC2012 风格 Pascal VOC 后期常用 AP 0.5 all-points / integral AP 2010 起官方说明 AP 改成 "all data points";很多人把这口径俗称成 "VOC2012"。(Oxford Robots5)
VOC2012 mAP 社区常见说法 0.5 通常指 all-points AP 不是一个像 COCO 那样特别标准化的单独"官方简称",更像工程圈简写。这个判断是根据 VOC 官方对 2010 起 AP 规则的说明,以及常见实现只区分 use_07_metric true/false 推出来的。(Oxford Robots5)
mAP@0.5 各类 AP 在 IoU=0.5 下求平均 0.5 取决于 evaluator 只写 mAP@0.5 还不够,最好再说明是 VOC07 还是 all-points。(GitHub3)
AP50 单个总指标名 0.5 常见于 COCO 输出 在 COCO/Detectron2 输出里,AP50 是标准字段。(GitHub3)
AP75 单个总指标名 0.75 常见于 COCO 输出 比 AP50 更严格,更能看框是否贴得准。(GitHub3)
AP(COCO 默认) AP@0.50:0.95 0.50:0.95,步长 0.05 101-point recall sampling 现代论文里只写 AP,大概率默认是 COCO AP。(GitHub2)
AP@.5:.95 / AP@0.50:0.95 COCO 主指标 0.50 到 0.95 101 recall points 和上面的 AP 通常同义。(GitHub2)
APs / APm / APl COCO 小/中/大目标 AP 多 IoU COCO 方式 用于分析不同尺寸目标性能。(GitHub2)
AR@1 / AR@10 / AR@100 COCO 平均召回 多 IoU COCO 方式 maxDets=[1,10,100] 对应。(GitHub2)

参考链接

1: https://data.brainchip.com/dataset-mirror/voc/VOC2007_doc.pdf "voc.dvi"

2: https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py "cocoapi/PythonAPI/pycocotools/cocoeval.py at master · cocodataset/cocoapi · GitHub"

3: https://github.com/facebookresearch/detectron2/blob/main/detectron2/evaluation/pascal_voc_evaluation.py "detectron2/detectron2/evaluation/pascal_voc_evaluation.py at main · facebookresearch/detectron2 · GitHub"

4: https://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf "ijcv27.uk.dvi"

5: https://www.robots.ox.ac.uk/\~vgg/projects/pascal/VOC/voc2010/index.html?utm_source=chatgpt.com "Visual Object Classes Challenge 2010 (VOC2010)"

相关推荐
奔跑中的小象4 小时前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
DevSecOps选型指南4 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
Shockang4 小时前
LangGraph 状态机实战
人工智能
刹那芳华19924 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作5 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
科技之门5 小时前
AI3D从建模到贴图、绑骨和动画的完整流程怎么做?V2Fun完整工作流指南
人工智能·3d·贴图
宇宙第一小趴菜5 小时前
二、机器学习的应用领域和发展史
人工智能·机器学习
前端开发江鸟5 小时前
我写过 MCP Server,却一直以为 MCP 只有 Tool
人工智能
天国梦5 小时前
自习室智能化升级避坑指南:天学网AI智习室方案实测与选型建议
大数据·人工智能
阿里云云原生6 小时前
可用性从 99.9% 跃升至 99.995%:畅捷通如何用 AI 重塑运维底座?
运维·网络·人工智能