Evaluation for Object Detection

交并比 IoU = 预测框与真实框的交集/预测框与真实框的并集

IoU > threshold (一般为0.5)认为预测正确(True positive)

给定一张图片,已知该图像中给定类别的实际目标数量N(TotalObjects)_C,检测结果中预测正确的数量为N(TruePositives)_C

则该图像中给定类别的精度为 Precision_C = N(TruePositives)_C/N(TotalObjects)_C

给定验证集(多张图片),某类的平均精度为 AveragePrecision_C = sum(Precision_C)/N(TotalImages)_C

为度量模型,取所有类的AP平均值作为MeanAveragePrecision(MAP)=sum(AveragePrecision_C)/N(classes)


对于数据测试结果有下面4种情况:
TP: 预测为正,实际为正
FP: 预测为正,实际为负
TN:预测为负,实际为负
FN: 预测为负,实际为正
精确率、准确率:Accuracy=(TP+TN)/(TP+TN+FN+FP)
精准率、查准率: P = TP/ (TP+FP)      正样本预测结果数/预测为正样本的数量,检索结果中有用的结果
召回率、查全率: R = TP/ (TP+FN)     正样本预测结果数/正样本实际数,相关文档中被正确检索到的
真正例率(同召回率、查全率):TPR = TP/ (TP+FN) 正样本预测结果数 / 正样本实际数
假正例率:FPR =FP/ (FP+TN) 被预测为正的负样本结果数 /负样本实际数
F1-score: 2*TP/(2*TP + FP + FN)

precision和recall双高当然是最好。但实际应用中往往precision和recall成反比关系。比如只检索出1条且相关,则precision为100%而recall则很低。而实际应用中则根据需要调整指标,比如如果是做搜索,那就是保证召回的情况下提升准确率;如果做疾病监测、反垃圾,则是保准确率的条件下,提升召回。


为了找到precision和recall的平衡点,往往会通过绘制precision-recall curve。PRC纵轴是precision,而横轴是recall,所以PRC曲线应该是越往右上凸越好(双高)而F1指则是结合了precision和recall的综合评估:2PR/(P+R)


通常还会用ROC曲线衡量分类器效果,ROC纵轴是true positive rate,横轴是false positive rate。通常tpr越高,fpr越低,分类器效果越好。所以ROC曲线越往左上凸越好。

你可能感兴趣的:(Evaluation for Object Detection)