0

我正在研究两个不同季节(例如夏季和秋季)的闭环检测问题。我需要制作精确召回曲线。假设,我从夏季拍摄了 500 张图像,从秋季拍摄了 500 张图像。我有距离矩阵。在此处输入图像描述

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

4

1 回答 1

0

在precision-recall图中,每个点都是一对precision和recall值。在您的情况下,我猜您需要为每个图像计算这些值,然后对它们进行平均。

想象一下,你总共有 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 个图像中的每一个计算这些值。

于 2018-09-24T00:13:10.130 回答