Lecture 03 学习讲义
正文
工具
按问题查找
Lecture 034 · AP 必须说明积分协议

4 · AP 必须说明积分协议

独立阅读

并入相关学习路径

固定框匹配、PR/AP、NMS误删相邻对象反例

4 · AP 必须说明积分协议

本例使用 all-points interpolated AP / precision envelope:先累加 TP 和 FP,得到每个排名位置的 precision、recall;从右向左取 precision 的累计最大值,形成单调不增的上包络;只在 recall 实际增长的区间计算面积。

pinterp(r)=max⁡r~≥rp(r~),AP=∑k(rk−rk−1)pinterp(rk). p_{\rm interp}(r)=\max_{\tilde r\ge r}p(\tilde r),\qquad \mathrm{AP}=\sum_k (r_k-r_{k-1})p_{\rm interp}(r_k).

实现在前后补上边界点,最后补 (recall=1, precision=0),保证没有达到的召回区间贡献零。不对原始四个 precision 求算术平均,也不使用梯形积分。

AP50 的 precision 为 [1,1/2,2/3,1/2],recall 为 [1/2,1/2,1,1]。重复 recall 不增加面积;后半区间使用精度上包络 2/3,得到

AP50=12×1+12×23=56. \mathrm{AP50}=\tfrac12\times1+\tfrac12\times\tfrac23=\tfrac56.

AP75 只召回 GT1,最大 recall 为 1/2。未召回的后半区间精度为零,故 AP75=1/2×1+1/2×0=1/2。

最后的可视化代码格会显示两个评价阈值下的 PR 上包络。

这里的 AP50/AP75 表示同一 all-points 协议在不同 IoU 阈值的结果。它不等于 COCO 的 101 个 recall 采样点 AP 实现,也不是 0.50:0.05:0.95 多阈值 mAP。对真实数据集,应按指定协议汇总同类预测,并在各图像内部匹配,再构建整体 PR 曲线;不能直接把单张图像 AP 的平均值当作数据集 AP。本教学实现没有 crowd、ignore、面积分组或 maxDets。