1.做目标检测项目,就会涉及模型的评价指标。目标检测常见的评价指标是mAP。
2.讲mAP之前,首先需要知道:recall,precision等基本概念。以上概念在机器学习的二分类常常用到,但是怎么引用到目标检测呢?
3.目标检测可以理解成回归+分类问题。回归用于预测检测框的大小与位置,分类用于判断该框里面的内容属于什么类别,且输出该类别置信度。
4.绘制PR曲线,绘制PR曲线,需要根据置信度大小排序,然后统计各个阶段的recall,precision。最后绘制图像。我当时就做的主要是人形检测,因此只有一个类别。目标检测中绘制单个类别的PR曲线的具体操作:1.首先读取xml文件中label。记录下每张照片里面的该类别的真实框。记为group_truth。并统计所有照片下该类别的总数。记为truth_num。2.将训练好的模型导出,并作预测,得到预测框。记为:group_pre。3.计算每张照片里面的预测框与真实框的IOU。IOU>=0.5 记为1,否则为0(0.5阈值可以根据实际情况随意取).并将该label(0 or 1)与置信度放进一个list。4.根据以上list,按照置信度排列,从大到小排序。这就可以绘制PR曲线。
5.通过步骤4已经可以画出每个类别的PR曲线,AP就是PR曲线与坐标轴围成的面积(近似理解),mAP是衡量多类别目标检测的指标,其中m是mean的意思。即多个类别求AP均值。将各个类别AP加起来,除以该类别即可。
6.代码随后附上。我导入的是caffe模型,xml是labelimg做的。
top1-----就是你预测的label取最后概率向量里面最大的那一个作为预测结果,如过你的预测结果中概率最大的那个分类正确,则预测正确。否则预测错误
top5-----就是最后概率向量最大的前五名中,只要出现了正确概率即为预测正确。否则预测错误。