Computer Vision:Algorithms and Applications (Image stitching

第9章图像拼接

9图像拼接

图像拼接起源于摄影社区,大部分手动的密集方法基于经过调查的地面控制点,或者自动登记的关键点,用来将航空照片转变成大规模的马赛克照片。这个领域的一个关键进步是绑定调整算法,能够同时解决所有照相机的地点位置。从而产生全球一致的解决方案。在创建马赛克照片过程中另一个经常出现的问题是如何消除可视的场景,今年来已经发展了很多的技术。

在胶片摄影中,研制了特别的相机来拍摄超广角全景图,通常通过当相机在围绕自身轴线旋转时候露出的细缝来捕获场景。在

虽然最早期的技术工作是通过直接减少像素与像素之间的差异,最近的大部分算法是根据提取的一个稀疏特征集并且相互匹配,正如第四章所述。这些基于特征的图像拼接方法对场景运动有更加强健的优势,如果方式正确,速度也会更快。然而,最大的优势在于确认场景的能力,例如,自动发现无序的图像集的邻接关系,可以实现普通用户的全自动拼接。

一旦我们对其了图像,我们必须选择最终组合图像表面的方式来组合已经对其的图像。也需要算法来剪切或者混合重叠部分,即使存在视差,镜头变形,场景运动,或者其他异常情况。

9.1运动模型

在对齐图像之前,需要建立数学关系来联系两幅图像中的坐标。常见的参数模型都可行,二维变换,平面角度变换,3D相机旋转,镜头扭转,映射到非平面(如圆柱形)的表面。

在这部分内容中,我们复习了这些模型,将他们应用到不同的拼接场景中。同时,介绍了球形和圆柱形合成表面显示如何在有利的情况下,可以用来对其。决定哪些对其模型最适合于给定的场景或者数据集属于模型选择问题,本书没有讨论。

9.1.1线性全景运动

调整图像时使用的最简单可行的运动模型,是简单的转化和

当P0矩阵的最后一排取平面方程N0_p+c0,一些点假定在这个平面上。例如:他们的差距是d0=0,我们可以忽略M10的最后一列和最有一行,因为我们不需要关心z缓冲区的深度。由此产生的但应举证~H10(3*3子矩阵M10的左上角)描述在两幅图像之间的像素的映射。

9.1.2应用:Whiteboard和文件扫描

最简单的图像拼接应用时在一个平板扫描仪上将一系列的图片拼接在一起。比如你有一个大的地图,或者一个小孩的艺术作品,对你的平板扫描仪来说太大。扫描多个文件,确保有足够多的特征来确保足够数量的图片。接下来,采取连续的图像对,根据覆盖部分,提取特征,匹配他们,进行2D刚体变换。最好的匹配特征是使用两个点的RANSAC,有时有必要找到一个最好内联集合。最后在合成表面合成图像(例如,第一次的扫面对其),并且平均他们。你可以看到任何潜在的问题吗?

一个更大的问题存在于成对的校准过程中。对其对越来越多,解决方案可能改变以致不适应全局。在这种情况下,就需要全局优化程序。这种全局优化往往需要解决一个非线性方程组,尽管有时是线性的或者简单的变换,常规最小二乘是一种选择。

9.1.3全景旋转

最典型的全景图像拼接是当相机处于旋转中。试想你站在大峡谷的边缘。相对于几何中心偏远处,你跑动过程中(例如,跑向平面的无穷远处),相机处于旋转之中,这等价于所有的像素点离相机很远(图9.3).设置,我们得到简单的变换矩阵

其中,是简单的相机固有矩阵(2.59),假设,例如,像素从相机的光学中心开始记坐标,上面公式可以改写为

映射矩阵并选择大模型的图片拼接算法。

,我们可以重写更新矩阵

注意到矩阵中的实体与表6.1和方程6.19中使用的参数参数的一对一联系,例如

我们可以将这些规则应用到方程6.24和9.10中,得到

这给予了我们估算的线性方程。注意到这些更新规则依赖于目标视野的焦距,而独立于当前视野的焦距。这是因为组合算法使得目标存在小扰动。一旦旋转向量被计算出来,旋转矩阵可以用更新。

更新估算焦距的公式有些复杂,由Shum和Szeliski2000给出。在这里将不重复,因为在9.2.1节将要给出一个基于最小化3D射线区别的可供选择的更新规则将要给出。图9.4给出在3D旋转运动模型下4张图片的边缘。

9.1.4缝隙填补

走过的路成为背后的风景,不能回头不能停留,若此刻停留,

Computer Vision:Algorithms and Applications (Image stitching

相关文章:

你感兴趣的文章:

标签云: