这个基于图像相似性/距离的度量标准的名称是什么?

What is the name of this image similarity/ distance based metric?

我使用下面的代码来计算图像 1 和 2(i1 和 i2)之间的相似度。 1=完全相似而 0=非常不同。我想知道这个算法使用的是什么方法(即欧几里德距离或..?)谢谢。

import math
i1=all_images_saved[0][1]
i2=all_images_saved[0][2]
i1_norm = i1/np.sqrt(np.sum(i1**2))
i2_norm = i2/np.sqrt(np.sum(i2**2))
np.sum(i1_norm*i2_norm)

我不相信这是一个距离,否则 0 就意味着相同。这看起来像是 2 个归一化向量的点积,在这种情况下我会说它们是原始向量(值的范围从 -1 到 1 在下面描述的阈值之间):

  • 1 = 同向
  • 0 = 正交
  • -1 = 相反方向

并且给定 geometric definition of the dot product,如果您有向量的点积和大小,您可以得出 2:

之间的角度
a . b = ||a|| ||b|| cos θ

还是我在这里完全漏掉了什么?

看起来像 cosine similarity。您可以检查它给出与以下相同的结果:

from scipy import spatial 
cosine_distance = spatial.distance.cosine(i1.flatten(), i2.flatten()) 
cosine_similarity = 1 - cosine_distance