评价指标
平均精度与平均召回率
AP 是所有类别的平均值。传统上,这称为“平均精度”(mAP)。我们不区分 AP 和 mAP(同样,AR 和 mAR)
AP | AP at IoU=.50:.05:.95 (primary challenge metric) |
AP50 | AP at IoU=.50 (PASCAL VOC metric) |
AP75 | AP at IoU=.75 (strict metric) |
APsmall | AP for small objects: area < 32*32 |
APmedium | AP for medium objects: 32*32 < area < 96*96 |
APlarge | AP for large objects: area > 96*96 |
ARmax=1 | AR given 1 detection per image |
ARmax=10 | AR given 10 detections per image |
ARmax=100 | AR given 100 detections per image |
ARsmall | AR for small objects: area < 322 |
ARmedium | AR for medium objects: 322 < area < 962 |
ARlarge | AR for large objects: area > 962 |
- C75:IoU=.75 时的 PR(严格 IoU 时的 AP),曲线下面积对应于 AP IoU=.75指标。
- C50:PR at IoU=.50(AP at PASCAL IoU),曲线下面积对应于 AP IoU=.50指标。
- Loc:PR at IoU=.10(忽略定位错误,但不重复检测)。所有其余设置均使用 IoU=.1。
- Sim:超类别误报(fps,supercategory false positives)被移除后的PR值。具体而言,与具有不同类标签但属于同一个超类别的对象的任何匹配都不会被视为fp(或tp)。通过设置同一超类别中的所有对象与所讨论的类具有相同的类标签并将它们的忽略标志设置为1来计算Sim。注意,该人是单例超类别,因此其Sim结果与Loc完全相同。
- Oth:消除所有类混乱后的 PR。与 Sim 类似,但现在如果检测与任何其他对象匹配,它就不再是 fp(或 tp)。Oth 是通过将所有其他对象设置为与相关类具有相同的类标签并将其忽略标志设置为 1 来计算的。
- BG:删除所有背景(和类混乱)fps 后的 PR。对于单个类别,BG 是一个阶跃函数,为 1,直到达到最大召回率,然后降至 0(跨类别平均后曲线更平滑)。
- FN:删除所有剩余错误后的 PR(通常 AP=1)。
MMdetection 绘制 PR曲线图
需要用到以下文件
tools\analysis_tools\coco_error_analysis.py和.bbox.json文件,.bbox.json文件的产生见[MMDetection]生成测试集预测的test.bbox.json文件
执行命令
python tools\analysis_tools\coco_error_analysis.py work_dirs\coco_detection\test.bbox.json results --ann=标注的json路径
其中 results 是保存的路径,结果将会保存到该文件夹中。
work_dirs\coco_detection\test.bbox.json results 是预测得到.bbox.json路径
执行后 将会生成每种类别和所有类别在不同指标下的PR图,如下
其中【数值】表示AP