对象检测网络中的mAP到底怎么计算出来的

一:相关名词解释

mAP是英文mean Average Precision的全称,同时也是衡量深度学习中对象检测算法准确率的一个重要指标,mAP的计算涉及到很多专业的术语与解释,首先就来认识一下这些术语名词与解释:

IOU 英文全称是(Intersection-over-Union)并交比,
在对象检测中只有那些并交比大于0.5的才被认为是TP(True Position)即正确匹配与预测。关于IOU的形象解释如下图:

7e84cfc44e67d025806f935fe81df0bc7455db2b

对于正确标注数据框与预测数据框,交并比的图示如下:

cec07efa3c699d823031a225d6e50cfbca10e2e7

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指标对比列表如下:

3e06cd73f1b1d2c49399d92041fe1a9b8b7d8646




原文发布时间为:2018-10-12
本文作者:gloomyfish
本文来自云栖社区合作伙伴“OpenCV学堂”,了解相关信息可以关注“OpenCV学堂”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值