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

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

对比维度 VOC 风格 COCO 风格
主指标 以每类 AP 和所有类别平均后的 mAP 为核心;经典 VOC 检测评估围绕 PR 曲线和 AP 展开。(BrainChip Data1) 主指标是 AP@0.50:0.95 ,同时还会单独给出 AP50 、AP75。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)"

相关推荐
天远API几秒前
零信任架构实战:基于天远企业二要素验证构建自动化跨境物流货代授信签约网关
人工智能·1024程序员节·工具分享
@嵌入式扫地僧2 分钟前
实战教程:NVIDIA Jetson Nano 8GB 搭建本地 RAG 大语言模型知识库完整指南
人工智能·ai·jetson nano·1024程序员节·rag
全栈探索者5 分钟前
出图模型怎么选?同一只猫的四场实测:Z-Image、Qwen-Image 2.1、SD1.5 三维对决
人工智能·macos·aigc·stablediffusion·comfyui
小年糕是糕手5 分钟前
【AI】用 Python 做一个 AI 截图检索助手:把收藏夹里的截图找回来
linux·人工智能·python·chatgpt·agent·codex·deepseek
特立独行的猫a7 分钟前
用仓颉写桌面应用的“薄壳框架”cj-tauri ,以及它的 AI 对话客户端 ai-chat
人工智能·harmonyos·tauri·仓颉·鸿蒙pc·cj-tarui·ai客户端
乐动心情9 分钟前
AI推理性能优化的关键技术即演进路径
人工智能·性能优化
努力努力再努力FFF10 分钟前
普通人适合考什么AI证书?不同基础和学习目标怎么选
人工智能·学习
愤怒火龙果15 分钟前
AI 渗透测试智能体架构综述:从单兵到蜂群的演进图谱
人工智能·网络安全·架构
Wanda121418 分钟前
机器人与机电一体化3D数字孪生机器-Day7
人工智能·3d·机器人·数字孪生
84869811925 分钟前
RAGFlow v1.0 企业级 RAG 落地实录:从零部署到 RAGAS 评估闭环(全踩坑记录)
人工智能·大模型·rag·ragflow·ragas