Shape-Preserving Half-Projective Warps for Image Stitching
摘要
本文提出了一种新的参数变换,它是投影变换和相似变换的空间组合。在给定两幅输入图像的投影变换的情况下,基于对投影变换的分析,我们的方法将重叠区域的投影变换平滑地外推到非重叠区域,由此产生的变换在整个图像上逐渐从投影变为相似。所提出的变换同时具有投影变换和相似变换的优点。它提供了良好的对齐精度作为投影变换,同时保留个人图像的视角作为相似性变换。它还可以与更先进的基于局部变换的对齐方法(如“APAP”)相结合,以获得更好的对齐精度。利用所提出的变换,可以通过拼接投影失真较小的图像(拉伸形状和放大尺寸)来扩展视野。
1、Introduction
图像拼接是将一组图像组合成具有更宽场景视野的更大图像的过程。对于鲁棒性,图像拼接通常通过查找全局参数变换来解决,以使图像对齐[13]。全局变换的常用选择包括相似、仿射和投影。尽管全局变换具有鲁棒性,但对于所有类型的场景和运动,其灵活性通常都不够。例如,投影变换只能为平面场景或无视差摄影机运动提供精确对齐。
为了解决全局变换的模型不足和提高对齐精度,最近,提出了几种局部变换模型,如平滑变化仿射(SVA)变换[9]和APAP变换[13]。为了获得更好的对齐精度,这些方法不依赖于单个全局变换,而是在重叠区域上采用多个局部参数化变换来解释未对齐。对于非重叠区域,使用投影(仿射)正则化平滑地外推图像重叠以外的变换,整体上类似于全局变换。例如,APAP扭曲在重叠区域内使用局部投影扭曲,同时使用移动DLT将局部投影变换平滑外推到非重叠区域。因此,结果是一个全局投影的变换,但允许局部偏差来解释模型不足[13]。但是,由于APAP变换试图在全局上类似于投影变换,因此它与投影变换存在相同的问题:形状/面积变形,即拼接图像的一部分严重拉伸且放大不均匀。
考虑图1中传统的两视图拼接问题,其中两幅图像I1和I2被拼接,I1作为基础图像。图1(a)显示了APAP扭曲的结果[13]。APAP扭曲局部适应不同的变换,从而在两个图像的重叠区域中产生更精确的对齐。重叠区域中的扭曲被外推到非重叠区域中,生成的扭曲近似于全局投影扭曲(图1(b))。如本例所示,I2的非重叠区域因投影扭曲而在尺寸和形状上严重扭曲。为了进一步扩大视野,用I2拼接下一幅图像时,失真甚至会加剧。另一件值得注意的事情是,正如Hartley和Zisserman[7]所指出的,仅应用投影扭曲I2有效地将其透视图更改为I1。因此,I2被扭曲为I1的扩展视图。拼接的图像显示了I1的更宽透视图,因此是单透视图。圆柱形和球形扭曲通过提供多透视视图,在透视扭曲的相当窄的视图中解决了该问题。不幸的是,这些扭曲通常会弯曲成直线,并且仅当所有图像都在同一摄影机中心捕获时才有效。
由于具有大视角的单透视图像不可避免地引入严重的形状/尺寸失真,因此解决方案必须提供多透视缝合图像。一个初步的想法是在重叠区域使用投影扭曲以更好地对齐,而在非重叠区域使用相似扭曲以保留每个视图的透视图。我们选择投影扭曲,因为它是最灵活的全局扭曲。另一方面,我们选择相似性扭曲,因为它只由平移、均匀缩放和旋转组成,因此不会引入形状失真或非均匀缩放。从另一个角度来看,相似性扭曲可以解释为相机平移、缩放和平面内旋转的组合,从而保持观察方向不变,从而保持透视。此外,为了在图像上构建平滑扭曲,需要在具有投影扭曲的区域和使用相似扭曲的区域之间进行平滑过渡。
本文提出了一种新的参数化扭曲,即保形半投影扭曲,它是投影变换和相似变换的空间组合。这样的组合同时考虑了对齐的灵活性和视角的保留。在图1中的I1和I2,我们首先估计它们之间的全局投影变换。在此基础上,我们通过一种新的投影变换外推方案确定了一种相似变换。直观地说,我们的warp在重叠区域执行投影扭曲对齐,同时通过相似性变换保留非重叠区域的图像透视。外推方案还用于在具有透视和相似性扭曲的区域之间形成平滑过渡。我们还提出了一个方案,将所提出的warp与APAP warp进行集成。组合扭曲以类似于APAP扭曲的局部方式对齐图像,并生成类似于proposed warp的多透视视图。如图1(c)(d)所示,使用组合翘曲的拼接图像在保持精确对齐的同时呈现多透视视图。利用所提出的翘曲,视野可以在尺寸、形状和线条没有严重变形的情况下扩展。
2、Related Work
Szeliski对图像拼接[10]进行了全面的研究。传统方法[11,1]假设摄像机运动只包含旋转。图像拼接是在观察球上进行的。通过投影将观察球映射到成像平面以获得二维合成图像。已经提出了一些投影模型,它们的目的往往是最小化由投影引起的视觉失真。Brownet al.在他们的AutoStitch程序[1]中采用了球面投影。Zelnik-Manoret al.[14]使用多平面投影来替代柱面投影。Kopfet al.[8]提出了局部自适应投影,即全局圆柱形,局部透视。Carrollet等人提出了一种用于减少广角图像畸变的保内容投影方法。当这些模型的基本假设不满足时,就会发生错位,可以使用后处理方法(如去鬼影和混合)来隐藏它。
图像拼接技术通常利用参数变换来全局或局部对齐图像。Gaoet al.[6]提出了双单应弯曲,专门处理包含两个主导平面的场景。翘曲函数由两个权值在空间上变化的单应性的线性组合定义。由于它们的扭曲是基于投影变换的,因此产生的图像会遭受投影畸变(拉伸和放大区域)。他们提出了一个后处理来缓解这种扭曲。Linet等人[9]提出了一个平滑变化的仿射拼接域,它是全局仿射的,同时允许局部变形。Zaragozaet al.[13]提出了尽可能投影的翘曲,它是全局投影,同时允许局部偏差以更好地对齐。
我们的方法是基于投影变换的分析。Chumet al.[4]采用坐标变换,导出了计算投影变换几何误差的公式。类似地,我们用坐标的变化来重新表述射影变换。Chum和Matas[3]分析了投影变换下的局部尺度变化,并利用它进行仿射校正。我们遵循同样的分析来设计经线。
3、The proposed warp
本节介绍将(x,y)映射到(x’,y’)的proposed warp函数W:
给一个投影变换ˆH连接两幅图像,我们首先用一条线将R2,划分为两个一半的空间RH和RL。
对于(x, y)∈RH,我们让w(x, y) =ˆH(x, y)。对于另一半空间RL,我们的扭曲函数连续外推ˆH成为一个相似变换S。由于proposed warp W在一个半空间上进行投影变换而在另一个半空间上保持形状,我们称之为保形半投影翘曲。
3.1. Analysis of the projective transformation
我们的变换的构造来自于对给定的投影变换ˆH的分析。定义投影变换(单应)ˆH:
为齐次坐标的线性变换,即:
其中~表示在一个比例因子范围内相等。它有八个参数。(x, y)和(x’, y’)之间的映射可以重写为
我们对ˆH的分析依赖于坐标的改变。这个变化简化了公式,揭示了重要的性质。Chumet al.[4]采用同样的方法计算单应性的几何误差。具体来说,我们将原坐标系(x, y)旋转,形成新坐标(u, v)。新坐标(u, v)与原坐标(x, y)的关系如下
在坐标变换后,我们得到了一个新的将(u, v)映射到(x’, y’)的单应性H。对应的公式为
新的映射也可以写成:
我们还将映射表示为u和v的函数,即:
坐标变化的主要好处是新的投影变换H,h8=0(式5)。同样地,注意,现在等式9和10的分母中只包含一个坐标(u,v)。坐标的改变会导致以下属性:
(i)Change of scale. 我们首先分析图像上的尺度是如何变化的。这种分析依赖于矩阵分解。具体来说,H可以分解成一个仿射变换Ha和一个纯投影变换Hp遵循[3]
(u, v)的局部面积变化可由H在(u, v),detJ(u, v)的雅可比矩阵的行列式度量,它与Ha和Hp的雅可比矩阵的行列式有关
其中sA = detJA(u, v)是一个与u和v无关的常数。由式12可知,由H引起的局部区域变化的比例因子取决于u。特别是当坐标u变大时,通过H的局部区域变大,导致更大的区域畸变。图2(b)给出了一个投影变换的例子,其中面积畸变沿正u轴变得更大。
(ii)Linearity of H. 一般来说,仿射变换保持直线上的长度比,而射影变换则不这样。然而,坐标的变化表明,在一定的条件下,投影变换可以保持长度比。由式9和式10可知,如果u=u0为固定常数,则Hx(u0, v)和Hy (u0, v)均为v的线性函数,
换句话说,对于平行于v轴的直线,H保持该线上各点之间的距离比。
(iii)Ruled surfaces. 直纹曲面是被移动的直线扫过的曲面。它的参数化形式为s(u, v) =p(u) +v·r(u),其中p(u)被称为基准曲线,r(v)被称为指导曲线[5]。考虑形式为k(u, v) =f(u)v+g(u)的一个函数,它的图(在R3中由(u, v, k(u, v))构成的曲面)可以写成
表明它是一个直纹面。由于hx (u, v)和Hy(u, v)可以写成f(u)v+g(u)的形式,所以它们的图是直纹曲面。方程13和14也揭示了这个事实。由式13可知,Hx的图形与平面u=u0的交点是一条直线,说明直线沿轴移动和旋转可以形成Hx的图形。因此,Hx形成了一个直纹面。根据14号公式,同样的论点也适用于Hy。
3.2. Half-projective warp
我们的warp的构造利用了坐标改变的射影变换H的上述三个性质。首先,我们用线u=u1将R2除以两个半空间:
对于(u, v)∈RH,我们应用原始变换H,对于(u, v)∈RL,由于H在RL上造成的面积畸变大于RH(性质(i)),我们建议用相似变换S代替H。然而经纱必须保持连续;否则,将会有一个明显的接缝沿RH和RL的边界。为了构造一个连续的弯曲,我们要求分割线上的所有(u, v)都为S(u, v) =H(u, v)。注意,对于任意的分割线,这种要求是不能满足的,因为投影变换一般不是沿直线线性的,而相似变换是沿直线线性的。幸运的是,通过选择一条平行于v轴的直线,u=u1,由于性质(ii),可以实现连续性要求,因为H(u1, v)是v的线性函数。根据S(u1, v) =H(u1, v)对于所有v,S是唯一确定为
注意u1是warp的一个参数。我们将在第4节讨论如何确定它。
图3给了一个例子。图3(a)显示了输入图像和从给定的投影扭曲ˆH计算出的uv坐标系统。图3©展示了用上述方法构造的连续半投影曲。该构造给出了一个连续(C0)、半投影半相似的弯曲函数。与单一的投影变换(图3(b))相比,我们的扭曲具有更少的形状和面积畸变。然而,它引入了一个突然的线弯曲u=u1。更具体地说,尽管位于RH或RL内部的线保持直线,但通过u=u1分区线的线是弯曲的。为了减少伪象,我们引入了一个缓冲区域,H平滑地外推,使RL中的扭曲函数连续可微(C1),并逐渐从H转变为一个相似变换S。
3.3. C1 extrapolation
为了构造一个C1 warp,我们提出将上述方法推广,将RL进一步划分为两个区域:RT ={(u, v)|u1< u < u2}和Rs ={(u, v)|u2≤u},如图2©所示。u1和u2是warp函数的参数,将在第4节中确定。warp函数定义为
定义在中间区域RT的T(u, v)是一个从H (u, v)逐渐改变其行为为S(u, v)的函数。S(u, v)是定义在RS中的一个相似变换
给出了一个投影变换H,我们首先确定了u1和u2,然后构造了一个warp W为方程17的形式。
由第3.2节的性质(iii)可知,Hx和Hy为表示的两个直纹曲面图。从方程18,图形的Sx和Sy平面在3D也是直纹面。这促使我们要求Tx (u, v)和Ty (u, v)的图也是直纹曲面。因此,我们假设T(u, v)为
为了构造warp W,我们需要确定相似变换S的参数α,β,tx,ty和T的四个函数fx,fy,gx,gy。我们假设这四个函数是多项式函数u。将9、10、18、19式代入17式,我们可以用下面的形式来表示这个warp函数:
当:
Fy和Gy可以用类似的方法表达。
剩下的问题是找到合适的fx,gx,fy,gy, α,β,tx和ty,让W是C1持续。它要求Fx,Gx,Fy和Gy是所有C1的持续(continuous)。以Fx为例,根据算式21, 如果满足以下四个条件Fx是C1,
因为我们有四个线性约束,我们最多可以有四个参数。因为β已经有一个参数,所以fx可以有三个参数。因此,我们假设fx是一个u的二次函数。通过求解4 × 4线性方程组,我们得到fx(u)和β。同样,fy(u)和α可以通过强制连续函数Fy的c1来求解。遵循同样的策略,约束Gx给我们gx(u)和tx。最后,Gy给我们gy(u)和ty 。
综上所述,提出的warp外推H(u, v)到RT和Rs自动确定函数T (u, v)和S(u, v)。最后,给定一个投影变换ˆH,我们构造了一个C1的continuous弯曲函数W,该函数在一个半空间内连续投影,并在另一个半空间内连续转换为一个相似变换。图3(d)展示了构造的扭曲。下一节将讨论如何将所提出的warp应用于图像拼接并确定参数u1和u2.
4、Image stitching
本节介绍如何采用proposed warp进行图像拼接。我们首先描述了如何采用它来进行成对拼接以及如何自动确定参数u1和u2。然后,我们提出了一种新的方案,将proposed warp与 (APAP)warp相结合,以兼顾两者的优点。
4.1. Shape-preserving image stitching
给定两个图像I1和I2,假设它们由一个将I2中的点(x2, y2) 映射到I1中的点(x1, y1)的单应性准坐标系H12联系起来。如图4所示,如果I2被W warp,I1应该通过 W◦H12(-1)被warp,以保持由H12所描述的几何关系。当w=H12时,它被还原为应用H12到I2而固定I1。当w=I时,I2是固定的,I1通过H12(-1)被warp。如第三节所述,我们从H12中推导出建议的经线,并将其作为W在图4中用于拼接两幅图像。
接下来,我们将描述如何自动确定参数u1和u2。由于所提出的扭曲的一个目标是保持每个图像的视角,我们希望每个图像都尽可能地经历一个相似变换。也就是说,我们希望构造的warp W接近于一个相似变换。为了做到这一点,我们将每个图像与一个cost(消耗)Ei联系起来,cost测量其warp函数wi与Frobenius规范中最接近的相似变换的偏差,即,
当Ωi是Ii的矩形域;Ji(x, y, u1, u2)是wi在(x, y)处的雅可比矩阵。由于u1和u2是wi的参数,雅可比矩阵依赖于(u1, u2)。在拼接两个图像的情况下,总能量E(u1, u2) =E1(u1, u2) +E2(u1, u2),其中
(w是根据H12构造的warp)注意,尽管最小化个体Ei可能会导致相似性转换,但它们的联合优化在对齐需求和相似性之间找到了一个很好的折衷。能量是u1和u2的非线性函数。我们通过定期采样参数空间(u1, u2)来优化它,评估采样位置的能量,并选取能量最低的那个。
拼接图像序列{I1,…,In}中,我们执行组级拼接,同时一次拼接所有输入图像。我们的方法为每一对相邻图像找到单应性Hi,i+1和第一个和最后一个图像之间的单应性H1n。H1n是用于派生一个扭曲。In是被warp通过w和每个其它的图片Ii通过w◦Hin−1 。图5显示了一个同时拼接三个图像序列的示例。
4.2. Combination with the APAP warp
proposed warp更注重保持视角,而不是对准精度。然而,它可以与校准精度更高的方法相结合,从而具有两者的优点。在对准精度方面,APAP warp[13]是目前最先进的图像对准方法之一。与APAP结合的一种可能的方法是用所提议的半投射warp替换其移动DLT框架中的投射扭曲。然而,它需要确定空间变化的(u1, u2),这不是简单和直观的。在下面,我们描述一个简单的方案,结合APAP warp与proposed warp。
我们解释我们的warp作为一个两阶段的过程:一个投影变换H,然后是一个后warp W◦H−1,如图6(a)所示。这种post warp可以作为减少投影畸变的一种改进。特别地,我们的后翘曲只操作RL当对RH不做任何操作有大面积的地方失真。虽然APAP warp是局部变化的warp,但它在全局上遵循投影变换。因此,我们可以简单地将其视为一个投影扭曲,并将我们的后扭曲应用于它,以减少如图6(b)所示的失真。这样,图像通过APAP进行局部对齐,同时通过post warp调整全局形状。综上所述,结合APAP和我们的warp函数被定义为:
图6( c )显示了采用APAP和我们的warp组合时更新的几何关系。
5、Experiments
我们比较了我们的warp以及投影经线和AutoStitch[1]。AutoStitch假设输入图像共享相同的摄像机中心,并使用3D旋转模型。对于投影翘曲和我们的翘曲,我们使用VLFeat库[12]提取SIFT特征,并与RANSAC进行匹配,得到重叠区域的投影变换。通过固定一幅图像作为参考,并对另一幅图像应用投影变换来实现与投影经线的拼接。我们手动选择参考,以获得最佳的投影扭曲效果和更少的失真。对于我们的warp,在得到投影变换后,我们确定参数u1和u2,构造warp,然后应用warp函数对图像进行对齐。对齐后的图像采用线性混合的方法进行合成。
我们使用MATLAB实现了该方法,并在带有3.4GHz CPU和4GB RAM的PC机上进行了实验。在使用800×600分辨率拼接两个图像时,我们的实现花了大约5秒的时间来找到参数u1和u2,而warp构造和图像warp组合都用了不到2秒的时间。
6、Conclusion
提出了一种用于图像拼接的新型warp。我们的warp对齐全球图像,同时保留他们的原始视角。当结合APAP warp,结果提供准确的对齐,更少的失真和多视角视图。我们的参数选择过程目前没有考虑图像内容(如线特征)。因此,当场景中充满了线结构时,所选择的参数并不能有效地降低线失真。在未来,我们还将探索将我们的warp应用于不同应用(如视图变形)的可能性。