缺陷异常检测及定位性能评价指标–AUROC,PRO(per-region-overlap)
异常检测/缺陷检测性能的评估
对于异常检测性能的评估,以接收者特性曲线下方的面积AUROC(area under the receiver operating characteristic)作为评估指标。
异常检测任务本质上是一项分类任务,而AUROC指标从原理上是根据混淆矩阵计算得出,如图为一个二分类混淆矩阵,其中1为异常,0为正常。
第一行的0和1分别对应实际值为正常和异常的情况,第一列的0和1分别对应预测值为正常和异常的情况。
将预测为异常且实际为异常的样本定义为真阳性样本TP(True Positive),而预测为异常但实际为正常的样本则定义为假阳性样本FP(False Positive),剩下两个以此类推。
对于分类的性能的评估通常使用的指标为:准确率(Accuracy)、召回率(Recall)和查准率(Precision)。
准确率(Accuracy)的计算方式是所有分类对的样本数除以总样本数:
召回率(recall)指实际为异常样本中有多少被预测为异常,也被称为查全率、真阳性率(TPR):
而查准率(Precision)表示预测为异常的样本中有多少是实际为异常样本,也被称为精确率:
由于单纯的查准率和召回率会受正负样本不平衡的影响,引入了查准率和召回率的调和平均数F1,综合评估分类性能:
此外,在实际应用中,为了衡量模型的不足,还引入了误检率(FPR)来衡量模型的不足,它表示有多少负样本被错误地预测为正样本:
使用上述公式需要规定阈值进行分类,若阈值设置不合理,则评估结果将很难反馈分类性能,故需要定义一个与阈值无关的指标,来避免这种情况,也可更全面地评价分类性能。
通过设置一系列阈值,评价两个指标在不同阈值下的变化曲线。在缺陷检测的分类任务中,常用的曲线有两种:
1、PR曲线(Precision-recall curve),在不同阈值下,以召回率(recall)作为横坐标轴,查准率(precision)作为纵坐标轴绘制的曲线;
2、ROC曲线(Receiver operator characteristic curve),在不同阈值下,以误检率(FPR)作为横坐标轴,召回率(TPR)作为纵坐标轴绘制的曲线。对于ROC曲线,虚报的越少越好,即TPR保持很高,ROC曲线下的面积越大越好。
总结一下就是TPR越高,同时FPR越低(即ROC曲线越陡),那么模型的性能就越好。通常采用曲线下面积(Area Under Curve,AUC)来度量相应曲线指标所描述的性能,即本文采用的指标AUROC。
异常定位性能的评估
对于异常定位性能的评估,使用了AUROC和per-region-overlap(PRO)两个指标。与用于逐像素测量的AUROC不同,PRO分数平等地对待任何大小的异常区域。
异常定位性能评估一般是将缺陷概率的热力图设定阈值二值化后的结果与像素级别标签图对比计算。而二值化后的结果评价即可转换为分类问题,前文混淆矩阵及相应的评价指标便可由此评价定位性能,即像素级AUROC指标。
但ROC曲线中TPR值受缺陷面积影响,若正确定位面积大的异常区域(TP值会很大且TP/(TP+FN)会因为TP的比重大而变大)将会大幅提高TPR指标,但若错误定位小的缺陷区域(FP值会增大,但FP/(FP+))则不会有很大的影响,因此该指标在实际应用中存在局限。因此,Bergman等提出连通域级的指标PRO(Per-region-overlap)。如式,第一步将定位的缺陷结果和实际的真值按连通域划分为N个区域,接着求出每个区域中预测结果P和真值Gn的交集,将交集除以Gn后N个区域加权平均即可求得PRO值 。同时预测结果P和真值Gn的交集即真阳性样本TPn,故PRO也可根据混淆矩阵计算。
版权归原作者 2strongerme 所有, 如有侵权,请联系我们删除。