2

我正在研究空间域中模板匹配的标准化互相关。虽然该方法很慢,但它对我的目的来说已经足够好了。但是我在里面看到了一个奇怪的东西。让我解释一下下面的情况:

91 91 91 91 9 9
91 91 91 91 9 9
                                   8 6 7 8

图案图像源图像。

现在,当 NCC 执行此操作时:它发现模板图像的平均值为 91,基础源图像的平均值也为 91,然后它从像素中减去强度值,这基本上将公式中的所有项都归零,从而导致未定义的相关性值,即使完美匹配也找不到匹配项。!如何解决这种情况?我正在使用以下公式:来自JP Lewis的优秀来源

在此处输入图像描述

此外,当我修改公式以从每个像素强度中减去 (mean/2) 时,它似乎工作正常,但我担心这个新的相关系数有多容易受到照明的影响。

编辑:当我拍摄 1 X 1 图案图像并在源图像中多次出现时,情况甚至更糟。使用上述修改后的版本,我无法找到合适的匹配项。我很想研究你们中的许多人可能一直在使用的各种解决方法。谢谢。!

4

1 回答 1

2

归一化互相关的想法是,如果将任意数添加到每个像素或将每个像素乘以任意(非负)数,相似性不会改变。现在在搜索图像中取任意 2x2 像素区域,例如

91  9
 6  7

将它乘以 0 并加上 91 - 你就有了完美的匹配。简而言之:您无法使用标准化互相关来匹配“平面”模板。或者搜索图像中的“平坦”区域。

请注意,这不是标准化互相关中的“错误”。您看到的效果非常合理。想象有人递给你一张全黑的照片,问你看到了什么。您的答案不会是“我与蝙蝠车完美匹配,因为它完全是黑色的”,您的答案将是“我不知道,图像对比度太小”。这正是 NCC 试图用除以零来告诉你的。

此外,当我修改公式以从每个像素强度中减去 (mean/2)

您的意思是,您将分子和分母中的均值替换为均值/2?这听起来不是一个好主意。如果模板或搜索图像区域仅包含零,您仍然会得到除以零。更重要的是:您正在计算一个没有真正意义的数量(至少没有我能想到的)。例如,搜索区域区域的平均亮度会影响匹配结果。

我很想研究各种解决方法 [...]

明显的临时解决方法是向分母添加少量,因此搜索图像中的“平坦”区域不会导致除数为零。然后,如果您将任意数字添加到每个像素或将每个像素乘以任意(非负)数字,除非该数字非常接近 0,否则您(或多或少)会得到一个不会改变的相似性度量。

但这将为您提供任何平面搜索区域或平面模板的 0 匹配。哪个(如上所述)非常有意义。如果您在这种情况下想要不同的行为,则不需要归一化的互相关。

另一种相似性度量可能是平方欧几里得距离。您可以选择在计算差异之前减去模板和搜索区域的平均值。然后,如果您将任意数字添加到每个像素,您将得到一个不会改变的相似性度量。但是如果你将每个像素乘以某个值,它会改变。

于 2013-03-05T10:14:45.897 回答