图像检索领域中的精确度-调出曲线

时间:2018-09-09 23:43:07

标签: information-retrieval precision-recall content-based-retrieval

我正在研究两个不同季节(例如夏天和秋天)的闭环检测问题。我需要制作精确调用曲线。假设我从夏天拍摄了500张图像,从秋天拍摄了500张图像。我有距离矩阵。 enter image description here

但是我完全困惑如何绘制精确的召回曲线。就像,对于一个季节的每张图像,我将获得500个按升序(距离)排列的最近图像。我知道精度和召回率的定义,但是我无法接近这个问题的解决方案。期待任何形式的帮助或意见或建议。预先感谢。

1 个答案:

答案 0 :(得分:0)

在精确调用图中,每个点都是一对精确值和调用值。我想您的情况是,您需要为每张图像计算这些值,然后取它们的平均值。

想象一下,您总共有1000张图像,而属于夏天的图像只有100张。如果您拍摄500张最接近“夏季”图像的图像,则在最佳情况下(当第一幅图像始终属于该类别时)的精度将为:

precision(summer) = 100 / (100 + 400) = (retrieved summer images) / (retrieved summer images + other retrieved images) = 0.2

回想一下:

recall(summer) = 100 / (100 + 0) = (retrieved summer images) / (retrieved summer images + not retrieved summer images) = 1

如您所见,它的召回率很高,因为检索了所有夏季图像,但精度较低,因为只有100张图像,另外400张图像不属于此类。

现在,如果您拍摄的是前100张而不是500张图像,则查全率和精度将等于1。

如果先拍摄50张图像,则精度仍为1,但召回率将降至0.5。

因此,通过改变图像数量,您可以获得精确调用曲线的点。对于上述示例,这些点将是(0.2,1),(1,1),(1,0.5)。

您可以使用不同的阈值为1000幅图像中的每幅计算这些值。