基于对数极化DFT的尺度不变图像配准


10

我正在尝试使用Reddy Chatterji论文中所述的相位相关进行图像配准。就我而言,图像可以相对于彼此缩放和转换。

据我了解,找到相对比例的算法是(请参阅:论文的流程图):

F1 = DFT(I1)
F2 = DFT(I2)
H1 = Highpass(F1)
H2 = Highpass(F2)
L1 = LogPolar(Magnitude(H1))
L2 = LogPolar(Magnitude(H2))
PC = PhaseCorrelate(L1,L2)
PM = norm(PC)
R = IDFT(PhaseCorr/PM)
P = Peak(R)
Scale = LogBase^P[1]

比例给了我看似荒谬的价值(图像之间存在极大的差异,并且永远无法纠正)。

但是忽略规模,相同的相位相关方法可以很好地进行翻译。所以我怀疑我的对数极坐标变换有问题。这是一个示例,其中我已解决翻译问题-左图是原始图像,右图已被裁剪和翻译-该解决方案显示在原始图的顶部:

仅翻译作品

为对数极坐标变换,我第一变换成极空间

一世^ρθ=一世[R+ρcos2πθñθ[R-ρ2πθñθ
一世[Rñθθ
一世^ØGρθ=一世^日志bρθ
b=2[R-ñρ

这是对数极性空间中的示例图像(以防万一出现明显错误):ρ=θ=256

对数极

最后,这显示了图像在相位相关步骤之前经过的实际变换(顶部是高通滤波器后的DFT幅值,底部是对数极坐标空间中的值):

DFT的对数极

我正在使用具有LogPolar和PhaseCorrelate方法的OpenCV。虽然PhaseCorrelate像我的手动实现一样为我提供了正确的翻译答案,但在规模上是不正确的。由于使用OpenCV LogPolar或我自己的LogPolar不会影响正确性,因此我一定会缺少一些东西。

任何帮助,将不胜感激。


1
您知道出什么问题了吗?
Mr.WorshipMe,2016年

1
@ Mr.WorshipMe不幸的是没有。
德鲁·康明斯

@德鲁·康明斯(Drew Cummins),我想这是由于您使用的测试图像所致,因为与背景之间存在明显的过渡。其他测试图像怎么样?而且,从最后一张图来看,两个量值之间存在明显差异,因此最好在DFT之前执行适当的窗口预处理。
lxg

在找到那篇论文的前几天,我一直在尝试实现该算法,但没有成功。我想知道您是否可以与初学者分享您的实现方法:)
AlexisEspaña,

Answers:


1

如果您想要真正强大的功能,但是在计算上可能会更昂贵,那么您可能想看看我在这里实现的算法。它实现了论文“使用对数极性变换进行稳健的图像配准”(pdf)。除了平移和缩放不变外,它还具有旋转不变的优点。在我的应用程序(艺术)中,它甚至可以注册外观相似的图像,而不仅仅是相同图像的转换版本。


0

我想这是由于特定的实施问题。例如,(1)最好在DFT之前执行加窗预处理;(2)您可以检查Highpass()函数,并且可以参考Reddy Chatterji的论文(23)-(24)中的那个。此外,比例值有限制,您可以尝试其他比例值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.