【问题标题】:Bundle Adjustment for Image Stitching图像拼接的捆绑调整
【发布时间】:2014-08-28 03:31:20
【问题描述】:

我正在使用 matlab 制作简单的图像拼接脚本。我现在有接受有序图像序列的代码(I0 I1 I2 I3 ...)。对于每个图像,我提取 SIFT 描述符并在每个图像对之间匹配它们。 (查找 I0-I1 然后 I1-I2 之间的匹配...)。我使用 ransac 来找出内点并在每对之间拟合一个 Homography。 (H01=>I0-I1)。然后我将图像拼接在一起,I0 与 I1 然后 (I0I1) 与 I2 等等。 (我猜是基本的全景图制作)。

但是,现在我想尝试实施捆绑调整来纠正整个图像中的投影误差。我在 Szeliski 计算机视觉书籍中读过一些关于束调整的内容(但我发现它更多关于 3D 重建中的 BA,我不确定如何在 2D 图像拼接中使用它)。然后我也看了this paper

我不知道从哪里开始,这篇论文使用了更复杂的拼接,所有关于相机模型的讨论都有些混乱,因为我无法将这些讨论与我的简单应用程序联系起来。有人可以帮我开始吗?或者指出一些更合适的材料,在简单的全景制作中应用捆绑调整?我需要做的伪代码也有帮助。

【问题讨论】:

  • 从任意(甚至排序的)图像构建全景图一点也不简单。如果您不了解 Brown 论文中的相机模型,您可能应该使用现有工具。此外,对于联合单应性估计,您不需要捆绑调整,只需使用像 Levenberg-Marquardt 这样的非线性优化。
  • 感谢您的回复。当我使用 RANSAC 找到一组一致的内点时,我使用它们来拟合每个图像对(I1-I2、I2-I3)之间的单应性,并通过 Levenberg-Marquardt 解决非线性最小二乘问题来做到这一点。这就是使用非线性优化而不是捆绑调整的意思,还是我需要查看优化问题中的所有单应性?
  • 其实,忘记我说的联合单应性估计。你当然需要全局参数来共同优化。无论哪种方式,捆绑调整都可以解决需要视差(平移)的问题(3D 重建和相机估计),这是您希望在 parnoramas 中避免的问题。所以我建议你解决共享相机(焦距)和旋转问题。
  • 你有没有得到这个工作?我想知道您是否不介意分享您最终使用的方法?我处于类似的位置,因为我已经实现了成对对应匹配和计算单应性,但是在弄清楚如何进行捆绑调整细化步骤时遇到了问题。

标签: matlab computer-vision image-stitching


【解决方案1】:

我认为您已经尝试了前两个步骤,现在第三步是通过捆绑器进行细化。我强烈建议您阅读 Hartley Zisserman 的书,多视图几何,附录 6。为基于 LM 的最小二乘估计提供了清晰的伪代码以进行误差细化。

现在对于您的问题,您正在尝试改进单应性以获得更好的匹配。所以你的错误是一个光度误差,类似于 x1'Hx2。该案例也在附录中提供。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多