一:相关名词解释
mAP是英文mean Average Precision的全称,同时也是衡量深度学习中对象检测算法准确率的一个重要指标,mAP的计算涉及到很多专业的术语与解释,首先就来认识一下这些术语名词与解释:
IOU 英文全称是(Intersection-over-Union)并交比,
在对象检测中只有那些并交比大于0.5的才被认为是TP(True Position)即正确匹配与预测。关于IOU的形象解释如下图:
对于正确标注数据框与预测数据框,交并比的图示如下:
TP(Ture Position)
表示预测与真实标注框保持了一致,但是还没有被正确的检测出来的,简单直白的点说就是将要成功预测。
FP(False Position)
表示预测与真实不符合,假设真实标注框是CAR、FP表示你有多少预测是CAR但是实际对象不是CAR,所谓的假阳性。
FN(False Negatives)
表示有多少个真实标注框没有被检测到,以VOC数据集中CAR为例,表示有多少CAR对象没有被检测出来。
二:计算均值平均精度(mAP)与召回率(recall)
搞清楚上面的几个专业名词解释真实含义之后,计算mAP与recall就会相对比较容易理解。下面是给出来计算TP、FP、FN的伪代码如下:
iterate through entire list of predictions for all images
if IOU > threshold
if object not detected yet
TP++
else
FP++ // nms should reduce # of overlapping predictions
else
FP++
if no prediction made for an image
FN++
最终计算mAP与召回率公式如下:
mAP = TP/(TP+FP)
Recall = TP/(TP+FN)
mAP与recall的曲线随着训练时间的推移,都会不断的上升,预示着对象检测率不断提升、模型正在正常训练过程中,如果发现训练时候mAP曲线没有上升或者有值一直很小,就说明模型训练出现了问题,需要仔细检查模型构造与数据。同时mAP指标也是衡量一个对象检测模型好坏的重要指标数据,在tensorflow常用的对象检测模型基于COCO数据集训练得到mAP指标对比列表如下:
原文发布时间为:2018-10-12
本文作者:gloomyfish
本文来自云栖社区合作伙伴“OpenCV学堂”,了解相关信息可以关注“OpenCV学堂”。