各种距离测量中的混淆:归一化互相关,归一化相关系数和Bhattacharya系数

时间:2014-06-05 05:50:48

标签: python python-2.7 opencv metrics cross-correlation

我对这些上述距离测量感到困惑 - 关于哪种距离测量对于匹配图像相似性是有用的。我对这些措施进行了调查,这是我的结论。任何人都可以告诉我,如果我对任何距离测量都出错了。

1)归一化互相关:这适用于普通图像,并提供旋转图像,它可以测量相似性达到一定量,它不适用于具有不同亮度/对比度的图像,而它应该有[{{3}支持并且它不支持移位的图像。

2) - 正规化相关系数:它匹配旋转和强度差异图像,但它不支持移位图像。

3)Bhattacharya系数 - 它适用于旋转和移位的图像,但对于强度差异的图像,即亮度或低对比度的图像,它不会检测到。

我知道所有这些数据相似性度量都取决于您拥有的数据集的类型,但有人可以告诉我,如果我的测量结果出错了吗?

1 个答案:

答案 0 :(得分:3)

这些术语都适用于模板匹配的变体,例如OpenCV的matchTemplate。在所有这些算法中,两个图像通过相对于另一个相互转换来比较,对重叠像素执行某种类型的计算,并返回一个数字。

重要的是要意识到在此操作中,没有执行旋转或尺寸缩放,因此它们都没有特别好地设计用于处理旋转或缩放的图像。也就是说,如果你正在查看图像中旋转或缩放的对象,这些都不是正确的使用方法。

不同算法之间的差异主要在于如何比较像素。基本上,标准化和校正的越多(例如,平均照明,整体亮度范围等),计算成本越高并且结果越好(对于未知照明情况)。关于如何思考这些问题的一些简单想法如下。标准化的数据只能处理标准化数据,适用于整体照明差异,就像房间里的灯光亮起或调低一样。互相关是最常用的,因为它相对较快并且给出了合理的结果。相关系数相对于平均值进行比较,因此,这是照明差异的良好选择。如果您使用户外图像,您几乎总是希望使用标准化方法。如果您不担心计算时间,则归一化相关系数通常是最佳的。