我正在使用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。
我不确定从哪里开始,论文使用的是更复杂的拼接,关于相机模型的所有讨论都有点令人困惑,因为我无法将这些讨论与我的简单应用程序相关联。有人可以帮助我开始使用吗?或者指向一些更适合在简单全景制作中应用光束调整的材料?我需要做的伪代码也是有帮助的。
构建arbirary(即使排序)图像的照片并不简单。如果你不理解布朗论文中的相机模型,你应该使用现有的工具。另外,对于联合单应性估计,您不需要进行束调整,只需使用像Levenberg-Marquardt这样的非线性优化。 – DrPepperJo
感谢您的回复。当我用RANSAC找到一组一致的内点时,我用它们来拟合每个图像对(I1-I2,I2-I3)之间的单应性,我通过Levenberg-Marquardt解决了非线性最小二乘问题。这是你使用非线性优化而不是捆绑调整的意思,还是我需要查看优化问题中的所有单应性? – krunarsson
实际上,忘记我对联合单应性估计所说的话。你当然需要全局参数来共同优化。无论哪种方式,捆绑调整解决了需要视差(翻译)的问题(三维重建和相机估计),这是您想要在parnoramas中避免的问题。所以我建议你解决共享相机(焦距)和旋转。 – DrPepperJo