一种基于全局线性方法的三维模型重建方法

文档序号:6544877阅读:163来源:国知局
一种基于全局线性方法的三维模型重建方法
【专利摘要】本发明公开了一种基于全局线性方法的三维模型重建方法。本方法为:首先,通过两两相机之间的相对旋转关系求解得到所有相机的朝向矩阵;其次,通过非线性优化的技术得到稳定的相机三元组重建,求解三元组中的线性关系;再次,根据三元组提供的方程组成一个线性方程组,通过数值方法即可求解得到准确的相机姿态,最后通过集束调整的技术对重建结果进行最后的优化。本文提出的方法经过实验验证是快速、鲁棒和准确的。
【专利说明】一种基于全局线性方法的三维模型重建方法
【技术领域】
[0001]本发明涉及一种基于全局线性方法的三维模型重建方法,属于计算机软件【技术领域】。
【背景技术】
[0002]近年来有很多人在研究利用大量无序的网上照片集合来重建景物的三维模型,而运动恢复结构(sfm)是这些重建流程中的关键步骤。三维重建的流程包括:1.对所有的图片做图像特征提取(一般采用SIFT特征);2.对特征点进行匹配(找到相机间看到的共同的点);3.初始化相机群的姿态和特征点的三维坐标;4.调整相机姿态和场景结构(bundleadjustment)。其中第3步,传统的方法[Snavely06], [Li08], [Agarwal09]在初步重建相机姿态和特征点三维坐标都采用增量捆绑调整(incremental bundle adjustment),即初始选择联系最密切的两张图片,还原两个相机的姿态和特征点位置,然后调整去除误差;再添加一张图片,还原这个相机的姿态和特征点的位置,这样不断的重复直到所有的图片对应的相机姿态以及特征点的三维坐标被还原出来。这种方法对于很多场景的重建效果还不错。
[0003]David采用的方法[David Crandal 12011]则把运动恢复结构(sfm)看成是对马尔科夫模型求能量最小化,一次性求解所有相机的姿态以及特征点的三维坐标。David声称他的方法比目前任何一种增量集束调整(IBA)方法都要快,并且对于重建中的错误更有鲁棒性。David的方法首先利用所有的图片计算出初始的所有相机姿态,然后用集束调整做一次最后的场景结构修正。但是,David的算法对于大规模的图像数据的重建效果较好,因为这种情况下人们对于相机姿态的准确性要求不高,只关注整体效果。但是,David的算法对于求解精确的相机姿态有致命的缺陷,即算法假设所有的相机都在同一平面上,这导致相机的姿态不可能完全精确。
[0004]近几年一些人提出了新的全局求解运动恢复结构的算法,[Sinha]设计了一个鲁棒的多流程的线性算法,利用两个相机对重建之间在已经相机朝向的情况的线性关系,全局的求解相机姿态和特征点坐标。[Jiang]同样设计一种新颖鲁棒的线性算法,在已知相机朝向的情况下,算法最小化相机中心之间距离的几何误差,全局线性求解出一个好的初始重建。但是上述两种方法都对两两相机重建的对极几何的准确性依赖极高,如果不能准确的筛除错误的对角几何,算法将会崩溃。
[0005]传统方法:很多著名的Sfm系统都是先两两相机计算相对姿态,采用按次序或者分层的方法一个个地把相机添加到整体的重建中。他们的共同缺陷就是,1.每次添加相机需要做一次集束调整,这严重影响算法的运算速度2.如果增量集束调整的初始种子没有选择好,那么重建的效果会受到影响;3.对于大广角的场景,增量添加相机不可避免带来累积误差,导致后添加的相机姿态变形,特征点位置不精确。
[0006]全局的方法:一些全局的算法是分两步来计算相机在世界坐标系中的姿态,他们先计算相机的朝向,然后再计算相机光心的位置。[Crandal 12011]和[Jiang2013][sinha2010]都属于这种方法,[Crandal 12011]利用相机自带的GPS信息,建立MRF模型,把相机的朝向和光心位置看成是隐变量,采用置信传播算法求解能量最小化可以重建城市级别的SFM。[sinha2010]和[Jiang2013]都是先用[Martinec2007]线性地求解得到所有相机在世界坐标系中的朝向,该方法被验证证明结果相当稳定和准确。但是相机光心在世界坐标系中的位置并不容易求解,因为两两相机重建[Nister05]之间的尺度差异未知。[sinha2010]利用两个相机重建(I,j),(j, k)之间存在线性关系(包括尺度和偏移),先求解所有合法的两两重建间的线性关系,然后利用线性方程组全局地求解所有两两重建相对全局世界坐标的尺度和偏移,从而两两重建中的相机光心的位置也可以轻松得到。这种方法避免了多次的集束调整,算法时间上有了很大的提高,但是根据[Arie-NaChimsOn2012],这个方法产生的结果准确性无法和传统的方法比较。[Jiang2013]考察每个共享特征点的三视图,利用线性方程优化三个相机间的几何距离关系,同样可以联立所有的三视图求解得到所有相机的光心位置。但是这种方法过于重视相机间的几何约束(包括相机间的旋转角度和基线比例),忽视了特征点的投影误差,本文经过实践证明[jiang2013]方法对于三元组优化所得相机重建结果的平均投影误差达到30-200不等,相机三元组的重建投影误差就如此之大,对于算法最后求解的重建,投影误差依然存在,对于有些数据集,由于投影误差太大,即使做集束调整也无法得到相对好的结果。

【发明内容】

[0007]针对现有技术中存在的技术问题,本发明的目的在于提供一种基于全局线性方法的三维模型重建方法。
[0008]本发明根据全局线性方法从无序、大规模图像数据中重建稳定的三维模型方法。传统的运动恢复结构方法,一个个地按次序添加相机的视图,这种方法可能会导致中间过程的误差累积,影响重建质量。相反,全局线性的方法可以从全局分担这些错误,从而保证整体的重建效果。本文提出一种新的非线性优化的方法,可以得到稳定的相机三元组的视图重建,接着再用全局线性的方法求解相机的姿态以及相片中特征点的三维坐标。首先,我们通过两两相机之间的相对旋转关系求解得到所有相机的朝向矩阵;其次,我们通过非线性优化的技术得到稳定的相机三元组重建,求解三元组中的线性关系;再次,足够多的三元组提供的方程,可以组成一个线性方程组,通过数值方法即可求解得到准确的相机姿态,最后通过集束调整的技术对重建结果进行最后的优化。本文提出的方法经过实验验证是快速、鲁棒和准确的。
[0009]与现有技术相比,本发明的积极效果为:
[0010]本文提出了一种新的鲁棒的线性方法,它把[Sinha]和[Jiang]的方法做了综合,使得在全局求解时能够得到更精确的相机三元组。就像大部分的方法一样,我们首先计算相机的朝向,使用[Martinec]描述的方法。然后,我们利用[Jiang]的方法,通过最小化相机中心之间的几何误差来求解相机的位置。但是实践证明这个方法并不像其论文中所说的那么准确,本文发现其算法对于三元组的优化后,其特征点三角化后的结果并不理想,平均误差不可接受。因此,在这一步之后,我们利用[Sinha]的关于两两相机重建之间存在的线性关系对Jiang得到的三元组的初始解做进一步的优化。然后利用两两重建间的线性关系得到线性方程求解,得到初步的重建结果,最后做一次集束调整。我们的算法相当有效和鲁棒,而且易于并行。
【专利附图】

【附图说明】
[0011]图1为Rbc到Rab的4自由度的线性变换关系;
[0012]图2为Ck的最优值求解图。
【具体实施方式】
[0013]本文提出的是一种全局求解SFM的方法,步骤与[sinha2010] [Jiang2013]类似。Sinha的方法重视相机三元组中两两重建之间的线性关系,这线性关系由最大似然估计求解,求解的原理是重视投影误差最小化;Jiang的方法重视相机光心之间的几何关系,包括夹角以及几何比例;本文提出的方法是将二者的优点结合在一起,避免二者的缺点。首先利用[martinec2007]的方法快速准确的求解所有相机的朝向。构造合适的三元组,这些三元组共享一些特征点,然后用非线性最小二乘法(LM)估计三元组中三个相机光心的位置,使得一方面使得sinha方法中的平均投影误差较小,同时Jiang方法中的三元组相机光心几何误差较小,从而得到准确的相机两两重建之间的线性关系。最后通过上一步求出的相机两两重建之间的线性关系 ,建立线性方程组,全局求解所有两两重建的全局尺度和偏移,从而求解得到所有相机的光心位置。
[0014]I)求解相机朝向
[0015]一对相机之间相对的姿态Rij可以通过5点法来计算,求解所有相机的朝向可以被看成是寻找朝向集合Ri,i = 1,2,…,η,他们之间的关系通过Rij给定,即
[0016]事实上,公式I包含了三个小方程,最后的相机朝向矩阵的解可以通过Eigen提供的最小二乘法求解线性方程组得到。
[0017]只要对相机匹配图中寻找到一个生成树,那么所有相机的朝向都可以获得,为了让最后的结果更准确,我们需要在生成树的基础上添加更多的可信的EG边构成可信边集合。首先,我们根据ijEG边的特征点匹配数目的多少,建立匹配图的最大生成树;然后在添加新的可信边到最大生成树中,其标准是如果一个相机三元组(I,j,k),其中(I,j)和(j, k)都在可信边集合中,那么边(I,k)也可以被添加进可信边集合。这样构成的可信边集合被认为是可靠的,并且可以求解得到精确的相机朝向。
[0018]由于精确的相机朝向非常重要,我们通过[zach2010]关于匹配图环路限制的算法来剔除匹配图中不准确的EG。
[0019]2)求解三元组中的线性关系
[0020]首先假设所有的EG边都没有误差,一方面,已知相机的朝向,每一个两两重建Rab (包含相机a,b),与全局重建相差4个自由度,包括未知的尺度s和三维偏移向量t。假设Rbc和Rab共享相机b以及一些特征点,那么我们可以求得Rbc到Rab的4自由度的线性变换关系,如图1所示,优化特征点Xj通过变换后的投影误差,即可得到s,t的值,变换后的投影误差为:
[0021]Tkd(xkJ/^iS-nf)} +(I)
[0022]其中,函数S?将3维特征点投影到相机二元组(a, b)的重建坐标系中的相机的二维平面,k e {a,b} ,/r的定义与类似;d是关于特征点投影到相机平面上的位置与特征点所在相机平面的原始位置Xw的距离函数。
[0023]另一方面,已知相机的朝向,考察相机三兀组,相机光心之间的相对的偏移向量ci j, cjk, cik已知。我们想要估计相机光心坐标ci, cj, ck。理想状况下,cij, cik和cjk应该是共面的。但是各种各样的噪声使得在真实数据中是不共面的。我们先考虑cij是正确的并最小化ck到两条线I (ci,cik)和I (cj,cjk)的欧式距离。这里I (p,q)代表一条线以q的朝向穿过点P。那么最优化的Ck的解应该是两个共同点AB的中点,如图2所示。
[0024]Ck最优化的解可以通过下列公式计算:
【权利要求】
1.一种基于全局线性方法的三维模型重建方法,其步骤为: 1)通过两两相机之间的相对旋转关系求解得到所有相机的朝向矩阵; 2)通过非线性优化的技术得到稳定的相机三元组重建,求解三元组中的线性关系; 3)根据三元组提供的方程组成一个线性方程组,通过数值方法求解得到准确的相机姿态; 4)通过集束调整的技术对重建结果进行最后的优化。
2.如权利要求1所述的方法,其特征在于相机朝向的求解方法为:首先,根据ijEG边的特征点匹配数目的多少,建立匹配图的最大生成树;然后在添加新的可信边到最大生成树中,其标准是如果一个相机三元组(I,j, k),其中(I,j)和(j,k)都在可信边集合中,那么边(I,k)也被添加进可信边集合;然后根据可信边集合求解得到精确的相机朝向。
3.如权利要求1所述的方法,其特征在于通过非线性最小二乘法求解得到三个相机光心位置Ci,Cj, Ck,并利用公式可以得到两两重建之间的尺度和偏移关系。
【文档编号】G06T17/00GK103985154SQ201410171960
【公开日】2014年8月13日 申请日期:2014年4月25日 优先权日:2014年4月25日
【发明者】林嘉 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1