通过测量颜色和边缘距离来组合欧氏距离

问题描述 投票:0回答:1

假设我已经使用颜色作为特征来计算两个图像之间的欧几里得距离,还使用它们的边缘来计算了两个图像之间的欧几里得距离。我想测试一下,将这两个距离值组合起来是否可以更好地表示图像的相似程度。结合这两个距离度量,是否像colourDistance + edgeDistance / 2一样简单?还是有更复杂的距离值合并方法?

java distance euclidean-distance
1个回答
1
投票

colourDistance和edgeDistance的任何功能都可以使用。您可能会想到描述为测试三个可能功能的内容:

f1(colourDistance, edgeDistance) = colourDistance
f2(colourDistance, edgeDistance) = edgeDistance
f3(colourDistance, edgeDistance) = (colourDistance + edgeDistance) / 2

理论上,您可以测试任何其他功能。立即想到的一件事是线性组合:

g(colourDistance, edgeDistance) = w1 * colourDistance + w2 * edgeDistance

对于w1的各种值,w2。这将使您可以试验这两个功能的视觉重要性。您的f3是此功能的一种情况,其中w1=w2=0.5

[您可能会发现要素的权重不是线性的,例如,很小的值的1点差比大值的1点差大得多(或更小)。您可以尝试以下功能:

h(colourDistance, edgeDistance) = w1 * log(colourDistance) + w2 * log(edgeDistance)

最终建议,我不清楚您的距离是否在同一范围内。如果一个距离度量从0-10到另一个距离从0-1000,则可能需要对值进行归一化,或者通过选择w1和w2进行补偿。

© www.soinside.com 2019 - 2024. All rights reserved.