相位相关 - 在嘈杂/模糊的图像上表现不佳?

信息处理 傅里叶变换 图片 互相关 阶段 相关性
2022-01-18 12:09:33

我已经成功测试了一维相位相关算法来确定两个合成图像之间的垂直偏移。

然而,当我移动到真实图像时,它根本无法检测到平移(峰值位于 0,这是错误的结果)。

我有以下图片:

在此处输入图像描述 在此处输入图像描述

以及由此产生的相位相关性(幅度、实数、虚数):

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

图像的第一条扫描线完全是白色的,但偏移明显更大(20 像素)。

预期结果是第 20 行的白线,仅在合成图像或光噪声上出现。

我的算法非常简单 - 对于每个图像列:

  1. 计算源和目标图像列 ( a=FT(A), b=FT(B))的 1D FT
  2. 计算互功率谱 ( cross_power = a *. conj(b) / |a *. conj(b)|) -*.表示逐点乘法,conj(x)表示复共轭
  3. 计算相位相关 ( phase = IFT(cross_power))
  4. 在 的每一列中找到最大幅度phase
  5. 找到一致的峰值位置(例如检测到的峰值位置的中值)

你能告诉我如何改进基线相位相关算法来处理真实世界(嘈杂)的图像吗?

我应该使用 NCC(归一化互相关)而不是基于 FFT 的相位相关吗?


更新

我正在尝试使用零填充来排除循环移位引入的错误(只需要简单的图像线性移位),并在来自维基百科的原始图像上进行了测试:

在此处输入图像描述 在此处输入图像描述

单峰显然在那里,因为它应该是:

在此处输入图像描述

但是 - 如果我执行轻微的平滑(高斯模糊)以减少噪声并实际改善结果,则相位相关会完全受损:

在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

这是增强版 - 原始峰值较弱(为什么??)并且在零偏移附近出现了新峰值(为什么??):

在此处输入图像描述

2个回答

一维版本

您列出的一维版本将不起作用。当图像有足够大的偏移(真实世界图像中超过一到两个像素)时,将没有与列像素相关的任何内容。

例如,请尝试:

I5 = rand(100,100)*255;
I6 = zeros(100,100);
I6(11:100,22:100) = I5(1:90,1:79);

所以我们有 I5:

在此处输入图像描述

和 I6:

在此处输入图像描述

那么一维相位相关性就是:

在此处输入图像描述

而二维相位相关性为:

在此处输入图像描述

有点难以看到,但在图像的右下角有一个非常高的峰。一维版本中不存在明显的峰值。

为什么平滑没有帮助?#1

相关性试图做的是在每个图像中找到“相似”的变化。如果基础信号足够随机,那么这将很有效:白噪声与其自身的相关性在原点给出了一个非常好的峰值,而在其他地方则接近于零。

使用高斯平滑“随机”图像将具有平滑您期望的相关性的效果 --- 将任何峰值中的能量分散到更广泛的区域。

平滑具有“预白化”图像的相反效果。预白化(顾名思义)试图使图像更像白噪声——如果我们进行基于相关性的检测(因为峰值被很好地定位),它具有最好的形式。

您最好做的是将 matlabdiff操作用于一种简单但非常有效的预白化图像的方法。

请参阅此示例。

为什么平滑没有帮助?#2

为什么平滑会导致额外的峰值?

如果你用内核 $k(x,y)$ 平滑每个图像,那么我们得到: $$ h_a = g_a \star k\\ h_b = g_b \star k $$ 其中 $\star$ 是卷积。

现在,$$ H_a = K G_a\\ H_b = K G_b\\ R = \frac{H_a H_b^*}{|H_a H_b^*|} = \frac{|K|^2G_a G_b^*}{|K |^2|G_a G_b^*|}\\ = \frac{G_a G_b^*}{|G_a G_b^*|} $$

我怀疑正在发生的事情(尽管我不确定)是您的内核在频域中可能具有接近零的值,从而导致数值问题?

如果我应用内核:

K = one(5,5);

到我的随机图像,然后我得到:

在此处输入图像描述

对于二维相关性,这会使峰更加分散,但不会表现出您所看到的问题。

通过白化信号从相位相关中获得良好性能的最简单方法是获取幅度的对数。您还可以从生成的相关表面中滤除噪声。有关详细信息,请参阅“Improving Phase Correlation for Image Registration”,Proceedings of (ICVNZ2011) Image and Vision Computing New Zealand 2011,p.488-493,http: //www98.griffith.edu.au/dspace/bitstream/handle/ 10072/44512/74188_1.pdf?sequence=1