Bootstrap

关于边缘检测任务Edge Detection任务评价指标中ODS-F/OIS-F的理解

Intro

目前在做边缘检测,关于评估方法里面的指标ODS-F/OIS-F理解一直比较模糊,网上搜索相关解析也不太明白,这段时间恰好看了一下文献,加深了一下理解,故写本文分享一下,错误之处还烦请批评指正。

PS.最好的方法是查看CVPR 2017文章Richer Convolutional Features for Edge Detection,可以跳转至4 Experiments on edge detection,或者在文中搜索关键词: edge probability map / ODS / OIS.

F-Measure / F值

ODS-FOIS-F中的F表示的是F值,即为精确率(P, precision)和召回率(R, recall)的调和平均数,表示为

F − S c o r e = ( 1 + β 2 ) ⋅ P r e c i s i o n ⋅ R e c a l l β 2 ⋅ P r e c i s i o n + R e c a l l F-Score=(1+\beta ^2)\cdot \frac {Precision\cdot Recall} {\beta^2\cdot Precision + Recall} FScore=(1+β2)β2Precision+RecallPrecisionRecall

β = 1 \beta=1 β=1,即 F − S c o r e = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n + R e c a l l F-Score=\frac {2\cdot Precision\cdot Recall} {Precision + Recall} FScore=Precision+Recall2PrecisionRecall,则中立地综合考虑精确率和召回率,两者权重相同。可以通过调节 β \beta β的值来调节对于精确率和召回率的偏好: β < 1 \beta<1 β<1,则精确率P更重要; β > 1 \beta>1 β>1,则召回率R更重要。

ODS/OIS

首先我们边缘检测得到的edge probability map结果,并不是二值的矩阵。每个矩阵元素,即对应图像中的像素是否为边缘上点的概率,取值为0到1。为了后续的结果评估,需要将此概率二值化得到binary edge map. 故需要设计阈值(threshold) η \eta η,也可以称为置信度,大于 η \eta η则置0,表示为正例(positive samples);小于 η \eta η则置1,表示为负例(negative samples),以得到用于评估的二值边缘图binary edge map。

ODS/OIS则表示设置阈值 η \eta η的不同方法:
ODS(optimal dataset scale),也称为全局最佳、固定轮廓阈值 数据集固定比例 、检测指标数据集尺度上最优,简单说就是为所有图像设置同样的阈值,即选取一个固定的阈值 η \eta η应用于所有图片, 使得整个数据集上的F-score最大;
OIS(optimal image scale),也称为单图最佳、每幅图像的最佳阈值、图片尺度上最优,简单说就是在每一张图片上均选取不同使得该图片F-score最大的阈值 η \eta η

包括很多边缘检测数据集中的标注也是若干人共同完成的,认知上的不同导致边缘标注也不是完全一致的,一般数据集会平均所有的groundTruth得到edge probability map,即也是类似的情况。

End

关于边缘检测数据集BSDS500的简单介绍以及边缘检测结果评估也可以看看我之前的文章

;