【问题标题】:Confusion in Various distance measures : Normalized Cross Correlation, Normalized Correlation Coefficient and Bhattacharya Coefficient各种距离测量的混淆:归一化互相关、归一化相关系数和巴塔查里亚系数
【发布时间】:2014-06-05 05:50:47
【问题描述】:

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

1) 归一化互相关:这适用于普通图像,并且提供的旋转图像可以测量一定程度的相似性,它不适用于具有不同亮度/对比度的图像,但它应该根据 [http://en.wikipedia.org/wiki/Cross-correlation] 得到支持。而且它不支持移位的图像。

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

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

我知道所有这些数据相似性度量取决于您拥有的数据集的类型,但是谁能告诉我,我的度量结果是否有任何错误?

【问题讨论】:

  • 在定义“图像相似度”之前,距离比较是没有用的。
  • @old-ufo- 对不起,我想测量图像相似度没有距离相似度
  • 我明白了。 “图像相似度”是什么意思?您要查找重复项吗?两个红色图像是否比同一个物体更“相似”,但从不同的角度来看,或者不是?以此类推。
  • @old-ufo- 不,我不期待重复,我只是在寻找从数据库中检索类似图像。
  • 这就是为什么我要问“你所说的相似是什么意思”。如果你真的想取得好成绩,这与所有这些距离无关,你必须像web.cs.swarthmore.edu/~turnbull/cs97/f08/paper/sivic03.pdf 这样的工作 - 这是非常好的。另请看en.wikipedia.org/wiki/List_of_CBIR_engines

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


【解决方案1】:

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

重要的是要认识到,在此操作中,不会执行旋转或大小缩放,因此它们都不是特别适合处理旋转或缩放的图像。也就是说,如果您正在查看图像中旋转或缩放的对象,则这些方法不适合使用。

不同算法之间的大部分区别在于像素的比较精确度。基本上,标准化和校正的越多(例如,平均照度、整体亮度范围等),计算成本就越高,结果就越好(对于未知的照明情况)。以下是关于如何思考这些问题的一些简单想法。归一化的仅适用于归一化的数据,适用于整体照明差异,就好像房间里的灯被调高或调低一样。互相关是最常用的,因为它相对较快并给出合理的结果。相关系数是相对于平均值进行比较的,所以同样,这对于照明差异来说是一个不错的选择。如果您使用户外图像,您几乎总是希望使用标准化方法。如果您不担心计算时间,归一化相关系数通常是最好的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 2017-07-24
    • 2016-12-09
    • 1970-01-01
    • 2016-09-27
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多