计算ROC曲线以验证分割算法的质量

时间:2015-02-04 20:32:42

标签: opencv image-processing machine-learning computer-vision pattern-recognition

1)假设我有一组100张图像,我从中手动提取前景和背景(地面实况)。

2)现在我有一个分割算法算法,我将其应用于之前的数据集。结果取决于几个算法参数(假设我进行颜色分割,因此结果取决于使用的不同颜色空间阈值)。分割的结果是二元掩模。

3)因此,对于100幅图像中的每一幅图像,我都有一个基础事实和一个预测。我可以轻松计算每个图像的混淆矩阵或所有图像的最终混淆矩阵。

我的问题:如何计算ROC曲线?

思路:

a)我想为算法的每个参数设置一条ROC曲线。因此,我保持N-1参数不变,并在标准化的比例[0,1]中改变另一个。因此,对于[0,1]中的每个变化,我需要重新运行所有图像的分割并计算TPR和FPR,这是ROC曲线中的一个点。但是在这种方法中,我永远无法同时评估所有参数的分类器。

b)对于这种情况,Roc曲线可能不是理想的评估指标,我必须使用其他东西,例如F1得分。

这是一个众所周知的tutorial on ROC curves,但就我而言,我无法计算图3中显示的那些分数(它们似乎是一个指标,表明您对分类结果的信心,如果我理解正确的话)。

1 个答案:

答案 0 :(得分:0)

首先,您需要定义不同分割之间的相似性度量。我认为,这不能一般地定义,但很大程度上取决于对你来说重要的东西(大小,形状,面积,段数,......)。但是你选择了混乱,这是我认为的一个很好的妥协。

其次有ROC(接收器工作特性)曲线的替代品,如精确回忆曲线或相同的比率,但我认为他们都希望显示I型和II型误差。我认为洛克也很好。

第三,您的分割算法中有多个参数。那怎么办呢?

我建议您计算所有可能的组合,然后为每个误报率(FPR)显示您为任何参数集获得的最大真阳性率(TPR)。简而言之:只需要做到最好(并记住参数)。

然后,当您显示此ROC曲线时,对于每个FPR,您知道哪个参数集最佳,并且您还获得了这些参数集在FPR上的依赖关系。这意味着通过参数空间存在相应的曲线,每个FPR的TPR最大。