前言
为什么想单独做一个目标检测篇,主要是感觉自己是个半吊子,满瓶不响、半瓶晃荡,找工作的过程中,也被很多面试官问到哑口无言,基础真的不扎实,自己非常虚,想好好地、静下心来捋一下,所以跟着B站霹雳吧啦的视频,从头到尾认真对目标检测中的算法来进行梳理。基础一定要扎实,不然就会就会错过。
mAP
- 查准率,精确率,指的是所有预测的正例中有多少是正确的,存在一种情况,只预测一个并且是对的,这个时候查准率为100%。查准率对漏检不敏感
- 查全率,召回率,指的是所有真值中的正例有多少倍找到了,也就是找齐全了,存在一种情况,模型疯狂预测,比如预测了50个结果,真正的正例只有5个,这个时候,查全率为100%。查全率对误检不敏感
- 查准率针对的是预测结果、查全率针对的是真值的结果
AP的计算
- 注意这里TP和FN的计算,这里认为所有的正样本数量为num_obj,TP不断变化,FN=num_obj - TP
- GT ID是第多少个真值box,confidence是预测的结果,OB是预测的box和真值box是否大于0.5(
A
P
0.5
AP_{0.5}
AP0.5)
设置不同的阈值,分别计算多次的Precision和Recall
通过上面的计算,可以绘制PR曲线如图所示:
- 注意,如果recall有多个值,挑选出其中最大的作为最终值
- 图中的阴影面积就是AP,图中计算值为0.6694
- 下图是常用的评价指标,关注AP后面的IoU,也就是上图中的IoU取不同的值得结果(上面的计算是按照IoU=0.5来的)。下图中的AP其实是mAP的意思