1. 判断正确的检测结果并计算 Precision 和 Recall------每一种类别
1.1 对于精度(Precision) 和召回率(Recall) 的计算,所有机器学习问题都一样,必须要判断出 True Positives(真正例)、False Positives(假正例)、True Negatives(真负例) 和 False Negatives(假负例).
为了计算精确率( Precision ) 为了得到 True Positives 和 False Positives,需要用到 IoU,以判断检测结果是正确的(True) 还是错误的(False). 一般以 0.5 的 IoU 阈值,如果 IoU>0.5,则,检测结果是 True Positive;否则,检测结果是 False Positive. 在 COCO 数据集和竞赛中,其评测指标推荐对多个不同的 IoU 阈值进行计算. 但,简洁起见,这里仍只采用 IoU 阈值为 0.5,这也是 PASCAL VOC 的评测指标.
为了计算召回率(Recall),需要知道 Negatives 的数量. 由于图片中所有没有检测到物体的部分都被视为 Negative,因此,True Negatives 的计算有点棘手. 但,可以只计算 False Negatives,如模型漏检的目标物体.
1.2 另一个待考虑的因素是,模型预测的每个检测结果的置信度. 通过改变置信度阈值,可以改变一个预测框是 Positive 还是 Negative.