Print

发布时间: 2019-11-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.190066
2019 | Volume 24 | Number 11




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





图像序列的增量式运动结构恢复
expand article info 高天寒1,2, 杨子艺1
1. 东北大学软件学院, 沈阳 110000;
2. 东北大学软件学院交互式媒体与计算技术研究所, 沈阳 110000

摘要

目的 传统增量式运动结构恢复算法中,初始图像对选择鲁棒性差,增量求解过程效率较低,捆绑调整策略存在计算冗余,模型修正后仍存在较大误差。为解决上述问题,以基于图像序列的3维重建为基础,提出一种新的增量式运动结构恢复算法(SFM-Y)。方法 首先,采用改进的自适应异常值过滤方法增强初始图像对选择的鲁棒性,得到用于初始重建的初始图像对;其次,通过增量迭代重建丰富点云模型,采用改进的EPNP(efficient perspective-$n$-point)解算方法提高增量添加过程的计算效率和精确度;最后,采用优化的捆绑调整策略进行模型修正,解决模型漂移问题,修正重投影误差。结果 实验选取不同数据规模的数据集,在本文方法及传统方法间进行测试对比,以便更加全面地分析算法性能。实验结果表明,SFM-Y算法相比传统的增量式运动结构恢复算法,在计算效率和结果质量方面均有所提高,根据性能分析对比的结果所示,本文方法较传统方法在计算效率和重建精度上约有10%的提升。结论 提出的增量式运动结构恢复算法能够高效准确地实现基于图像序列的3维重建优于传统方法,计算效率较高,初始重建鲁棒性强,生成模型质量较好。

关键词

增量式运动结构恢复算法; 3维重建; 图像序列; PNP问题; 捆绑调整

Revised image-sequence-based incremental structure from motion algorithm
expand article info Gao Tianhan1,2, Yang Ziyi1
1. Software College, Northeastern University, Shenyang 110000, China;
2. Interactive Media and Computing Technology Institute, Software College, Northeastern University, Shenyang 110000, China

Abstract

Objective With the fast development of virtual reality technology, determining how to establish virtual scenes rapidly and realistically becomes a bottleneck that restricts the popularization and promotion of virtual reality technology. As an important technical means to solve this problem, 3D reconstruction technology has been applied in many fields, such as ancient building protection and restoration, medical treatment, and tourism. Such technology has been developing continuously in recent years, and its application scenarios have been extended greatly. The scale of data to be processed has also increased substantially, and the accuracy requirements for reconstruction results have continuously increased. In these cases, many problems existing in the traditional methods are exposed. For instance, problems such as poor robustness of initial image pair selection process, inefficient incremental solving process, redundant calculation of bundle adjustment, and errors that remain after model correction are found in the traditional incremental structure from motion algorithm. Accordingly, this study proposes a new incremental structure from motion algorithm (named SFM-Y) based on the foundation called image sequence-based 3D reconstruction. Method First, an improved adaptive outlier-filtering method is proposed to enhance the robustness of the initial image selection in this study. Next, an adaptive threshold estimation model is introduced into our algorithm, and constraints and filter conditions are added to improve the robustness of initial image selection and initial reconstruction to resolve the robustness problem caused by the threshold, which is set manually, used in the RANSAC (random sample consensus) filter process. The constraints include four-point method inspection, wide baseline constraint, and revised five-point outlier culling method. In this way, the initial image pair that is used to perform initial reconstruction is selected with strong robustness. Second, the proposed method processes incremental iterative reconstruction to enrich the point cloud model. In this process, the improved efficient perspective-$n$-point solution method is proposed to improve the computational efficiency and accuracy of the incremental addition process. The solution method combines the idea of weighted refinement and the method of how to reduce a linear system’s algebraic error. We try to give this method a rigorous derivation process to prove that it is an efficient solution to the question of how to accelerate the incremental solution process of the incremental structure from motion algorithm. Finally, an optimized bundling adjustment strategy is used to modify the model, solve the model drift, and revise the re-projection error. In this stage, the integration of graphics is checked by introducing a minimum triangulation angle and performing re-triangulation on the tracks among different projection points. Then, once or twice iterative optimization (including global bundle adjustment, filtering, and re-triangulation process) is executed to ameliorate the result of our algorithm. All the methods mentioned above that we performed or revised work together to complete a common goal, reducing solution time and improving reconstruction quality. Result Among all the experiments mentioned in this paper, we select data sets in different data scales first. A comparison and test are then performed among the methods involved in this study to comprehensively and objectively analyze the algorithm performance and acquire a convincing result. Experimental results show that the SFM-Y algorithm improves the computational efficiency and quality of results compared with the traditional incremental motion structure recovery algorithm. The performance analysis and comparison results indicate that the proposed method is more efficient than the traditional method. The reconstruction accuracy yields 10% improvement compared with that of the traditional algorithm referred to in this study. Conclusion After a series of analyses, arguments, and experiments, the following conclusions are drawn. Experiments in many databases show that the new incremental motion structure restoration algorithm (SFM-Y) proposed in this study can efficiently and accurately achieve the goal of 3D reconstruction based on image sequences. This algorithm provides a new way of thinking in the field of incremental structure from motion algorithm, which certainly has a positive promoting effect on the development of 3D reconstruction research and has great meaning for the following research and exploration. The proposed algorithm is better than traditional methods and has the advantages of high computational efficiency, strong initial reconstruction robustness, and high quality of the generated model.

Key words

incremental structure from motion algorithm; 3D reconstruction; image sequence; PNP (perspective-$n$-point) problem; bundle adjustment

0 引言

随着计算机视觉及人机交互相关技术的不断进步,虚拟现实技术得到了迅猛发展。虚拟现实技术以其沉浸感、交互性等优势在教育、医疗、房地产、文物与古建筑保护等方面得到了广泛的应用[1]。在虚拟场景的构建过程中,使用到大量的3维模型,模型构建的质量和效率成为虚拟现实开发过程的关键。目前,主流的建模方式依赖于3D studio max和maya等工具进行手工建模,虽然在一定程度上可以保证模型的精度和场景的艺术性,但是繁琐的操作步骤和过多的人力消耗,极大地延长了虚拟现实开发周期并显著增加了开发成本。

作为计算机视觉领域重要组成部分的3维重建近年来逐渐成为研究的热点[2-6]。3维重建按照数据的获取方式可以分为主动式和被动式[7]两种类型。主动式3维重建方法主要采用3维激光扫描仪对真实物体进行扫描,然后对获取到的数据进行分析与处理,这种方式依赖昂贵的设备,且仍需要大量的辅助人工工作才能完成;被动式3维重建方法通过分析图像序列中的各种信息,使用逆向工程对物体进行建模,包括X形状恢复法、运动结构恢复法等。其中X形状恢复法主要通过图像的2维特征(包括明暗度、纹理、轮廓等,统称为X)推导出深度信息,但其要求的条件较为苛刻,需要先验知识及大型目标数据库,且重建效果一般。而运动结构恢复法(SFM)则以多视点多幅图像为输入,通过匹配不同图像中的相同特征点并利用这些匹配约束求取空间3维点的坐标信息,从而实现3维重建[8]。相比而言,运动结构恢复法对图像的要求较低,输入数据仅为通过各种设备获取的多幅2维图像,不需要人工干预,从而提高了3维建模的自动化程度。文献[9]被认为是SFM研究的奠基性工作,采用增量添加的思想,极大影响了后续的研究。增量式[10-12]、全局式[4]、层次式(包含树状、分层SFM等)[13],以及文献[14-17]等一系列方法不断被提出和改进。bundler和visual SFM等优秀开源项目的出现,进一步促进了SFM方法应用。然而相关方法同样存在一些问题,例如bundler产生的结果重投影误差比较大,在图像包含外点时不够稳定等。在后续研究中,文献[4, 12-13]从不同角度对前人工作进行了改进,其中文献[12]是比较新颖的改进方法。

综上所述,增量式SFM是比较流行的算法策略,在重建精度和鲁棒性上都表现出一定的优势。但同时也存在一些问题:1)重复的捆绑调整(BA)操作会降低模型重建效率;2)增量添加过程的误差累计在大规模场景下会出现场景漂移;3)初始重建图像的选择会对后续操作产生影响,导致相机姿态解算错误,增加计算值与真实值偏离的程度;4)在大型数据集上的运行效率较低。

本文针对基于图像序列的3维重建方式,以传统增量式稀疏点云重建(运动结构恢复)算法为基础,对其若干关键流程进行了优化与改进,着力解决算法的效率、鲁棒性等问题,从而得到高质量的稀疏点云模型。主要贡献如下:

1) 使用改进的自适应阈值估计方法取代静态阈值,并进一步添加相应约束过滤,降低异常值(外点)占比,从而提高初始图像对选择的鲁棒性。

2) 对增量添加的过程进行优化,使用改进的EPNP(efficient perspective-$n$-point)算法取代传统方法,提高算法的解算速度和准确性。

3) 优化捆绑调整算法,在保证计算准确度的前提下,尽可能减少冗余计算,在一定程度上提高算法的效率。

1 增量式SFM算法

经过不断地发展,增量式SFM算法已经形成了几个较为固定的阶段,大致可分为特征点提取和匹配、初始重建、增量添加与解算及误差修正几个部分。在特征点提取与匹配阶段,通常使用Lowe提出的SIFT (scale-invariant feature transform)[18]方法进行特征点提取[19],并配合K最近邻(KNN)算法和KD-TREE (K dimensional tree)结构进行匹配。这些技术在运动结构恢复算法中的应用已比较成熟,本文不做过多讨论,主要针对除特征点提取和匹配阶段外的其他部分进行改进优化。

1.1 初始重建

初始重建主要是依赖所选择的初始图像对,利用双目立体视觉原理和对极几何关系进行。初始图像对的选择直接影响后续增量添加图像的过程及增量式SFM(structure from motion)算法整体的重建质量。传统SFM算法从随机的初始图像对开始重建,会带来一些明显错误的结果。

在选择初始图像对之前,需要采用一些方法对匹配的图像进行预处理,传统SFM算法和已有的3维重建系统[10, 20]大都依赖于随机抽样一致性算法(RANSAC)计算模型来处理错误数据(噪声)并配合5点法和8点法等计算方法。该方法的缺点在于需要引入一个静态的阈值,例如将其设置为0.6%[10],这个值的设定往往需要通过一定的经验,可能造成不同条件下的图像的适配度并非最佳。

1.2 增量添加与解算

有了良好的初始重建结果后,通过解决PNP(perspective-$n$-point)问题可以将新的图像加入到当前点云模型中,根据新增图像中$N$个点与已经解算完毕的$N$个点之间的对应关系,可以反算新增图像的旋转矩阵和平移向量,从而确定对应相机的姿态,进而根据图像中的匹配点和其对应的轨迹关系进行三角化测量,计算出更多的3维点,如图 1所示。

图 1 解算相机姿态与三角测量的迭代过程
Fig. 1 The iterative procedure of camera pose calculation and triangulation

传统增量式SFM算法,如bundler中使用DLT(direct linear transform)[21]算法解决重建中增量添加的问题。但DLT算法存在一定的缺点,其并没有将畸变问题考虑在内,而非线性畸变问题直接关系到解算结果的准确性。此外DLT算法解算精度较低,其复杂的数据结构会导致算法在大型数据集上的效率表现不佳。EPNP[22]方法是一种精度较高的快速线性非迭代算法,在一定程度上提高了DLT算法的精确度,但EPNP方法也存在着一些问题,例如对噪声数据不能提供较好的估计,在计算方法和计算效率上仍有提升空间。

1.3 误差修正

捆绑调整(BA)是运动结构恢复算法中进行误差修正的方法,在增量式算法中随着图像的增多,累计误差会越来越大,从而影响最终的重建效果。传统增量式SFM算法中,在每次增量迭代过程后都将进行全局BA操作,需耗费大量的时间,严重影响算法的整体效率,如何改进BA优化策略是提升算法性能的关键。

2 改进算法

本节主要介绍算法的核心方案,首先提出一种改进的自适应阈值估计方法以提高初始图像对选择的鲁棒性与初始重建的稳定性;然后给出了一种改进的EPNP方法,提高增量式运动结构恢复算法在增量解算阶段的计算效率和准确性;最后提出一种改进的捆绑调整(BA)优化方法,对点云模型进行修正。

2.1 初始图像对选择与初始重建

增量式SFM算法的核心是先选择一对种子图像作为重建的基础,逐渐将新的图像加入重建模型之中。重建结果的鲁棒性、准确性都依赖于初始图像对的选择。为了保证选择的图像对对重建质量具有显著积极影响并且含有数量足够多的匹配特征点,采取如下优化方法选择初始图像对。

2.1.1 自适应阈值估计

为自适应地确定阈值,本文提出面向反向估计模型[23],即AC-RANSAC (a contrario RANSAC)的改进方法F-AC-RANSAC(Fast AC-RANSAC),自动计算与适配输入数据的阈值为

$\begin{array}{l} NFA(\mathit{\boldsymbol{M}}, k) = {N_{{\rm{out }}}}\left( {n - {N_{{\rm{sam }}}}} \right) \times \\ \left( {\begin{array}{*{20}{l}} n\\ k \end{array}} \right)\left( {\begin{array}{*{20}{c}} k\\ {{N_{{\rm{sam }}}}} \end{array}} \right){\left( {{e_k}{{(\mathit{\boldsymbol{M}})}^d}{\alpha _0}} \right)^{k - {N_{{\rm{sam }}}}}} \end{array} $ (1)

式中,$k$是假定的内点联系的数量,$n$是总的对应关系数量,在特征点提取和匹配过程后可获得。${N_{{\rm{sam}}}}$是RANSAC样本的主体,从输入图像中获取。${N_{{\rm{out}}}}$是可从RANSAC采样估计的模型数目,$d$是误差维度,$e_k$($\mathit{\boldsymbol{M}}$)表示在所有$n$个对应关系中,模型$\mathit{\boldsymbol{M}}$的第$k$个最小误差,需要对对应关系排序后进行选择。$α_0$是具有1像素误差的随机对应关系的概率,对随机对应关系进行统计计算后获得。

自适应阈值估计模型需要根据所有可能的${N_{{\rm{sam}}}}$并满足模型$\mathit{\boldsymbol{M}}$的约束条件得出,该约束条件为

$NFA(\mathit{\boldsymbol{M}}) = \mathop {\min }\limits_{k = {N_{{\rm{tant }}}} + 1, \ldots ,n} NFA(\mathit{\boldsymbol{M}},k) \le \varepsilon $ (2)

式中,$\varepsilon $通常设为1,则模型$\boldsymbol{M}$的内点和外点的误差阈值$e_{k}(\boldsymbol{M})^{d}$可确定($k$为最小)。结合式(1)和约束条件式(2)的最小化求解及已知参数可求得所需的自适应阈值估计模型,进而可以根据模型和输入数据确定误差阈值。

2.1.2 引入约束与过滤条件

通过自适应阈值估计,已经得到了排除异常值的结果,为了进一步过滤异常值并提高模型的稳定性,同时缩减初始图像对的选择范围,引入如下约束与过滤条件。

1) 使用4点法计算单应矩阵核验匹配点,将通过核验的匹配点称为内点,图像根据内点数量进行排序,从而筛选具有更多可靠的匹配特征点的图像。

2) 为了弥补短基线匹配技术在深度信息估计方面的不足,选择宽基线作为约束条件之一[6, 24]来确保后续增量添加和三角化过程还原点的空间位置可靠,然后利用对极几何关系和特征提取得到的特征描述符进行后续操作。

3) 采用改进的Nister 5点法,利用点到极线距离的最小原理剔除异常值,保证基础矩阵的正确性,从而确保在相机姿态确定后2维图像中的点与对应3维空间中的点映射关系正确,具体为

$\begin{array}{l} \sum\limits_{i = 0}^N {\left( {d{{\left( {\mathit{\boldsymbol{x}}_i^{\prime {\rm{T}}},\mathit{\boldsymbol{E}}{\mathit{\boldsymbol{x}}_i}} \right)}^2} + d{{\left( {{\mathit{\boldsymbol{x}}_i},{\mathit{\boldsymbol{E}}^{\rm{T}}}{\mathit{\boldsymbol{x}}_i}} \right)}^2}} \right)} = \sum\limits_{i = 0}^n {{{\left( {\mathit{\boldsymbol{x}}_i^{\prime {\rm{T}}},\mathit{\boldsymbol{E}}{\mathit{\boldsymbol{x}}_i}} \right)}^2}} \times \\ \left( {\frac{1}{{\left( {\mathit{\boldsymbol{E}}{\mathit{\boldsymbol{x}}_i}} \right)_1^2 + \left( {\mathit{\boldsymbol{E}}{\mathit{\boldsymbol{x}}_i}} \right)_2^2}} + \frac{1}{{\left( {{\mathit{\boldsymbol{E}}^{\rm{T}}}\mathit{\boldsymbol{x}}_i^\prime } \right)_1^2 + \left( {{\mathit{\boldsymbol{E}}^{\rm{T}}}\mathit{\boldsymbol{x}}_i^\prime } \right)_2^2}}} \right) \end{array} $ (3)

式中,$d$($a$, $b$)表示$a$$b$两点间的距离,$\mathit{\boldsymbol{E}}$表示基础矩阵,$\mathit{\boldsymbol{x}}$表示待考察的候选点。

正确的相机姿态对应的本质矩阵将第1幅图像上的点$d$1投影到第2幅图像上对应的点$d$2时,两点间形成一条极线,记第2幅图像中与$d$1匹配的点$d$1到这条极线的距离为$L$1。同理,第2幅图像上的点$d$2投影到第2幅图像上对应的点$d$1时,两点间形成一条极线,记第1幅图像中与$d$2匹配的点$d$2到这条极线的距离为$L$2。如果$L$1+$L$2是最小的,说明匹配的两点为正解,否则将被排除。

2.1.3 初始重建

1) 在前面两个步骤所述约束条件和计算下,选择经过自适应异常值过滤后异常值占比最低且符合约束的两幅图像作为初始图像对。

2) 计算所选图像对的基础矩阵$\mathit{\boldsymbol{F}}$,以及对应的本质矩阵$\mathit{\boldsymbol{E}}$,然后使用奇异值分解法(SVD)求解对应的旋转矩阵$\mathit{\boldsymbol{R}}$和平移向量$t$。其中基础矩阵$\mathit{\boldsymbol{F}}$为两幅图像中对应点$\mathit{\boldsymbol{x}}$$\mathit{\boldsymbol{x}}$满足$\mathit{\boldsymbol{x′Fx}}$=0的3×3齐次线性矩阵,体现对极几何的内在射影几何关系。而本质矩阵$\mathit{\boldsymbol{E}}$为基础矩阵在归一化图像坐标下的情况,用来求解相机姿态。

3) 基于选择的初始图像对和计算得到的相机位姿,采用双视图重建方法进行初始重建。

2.2 增量添加与三角测量

提出一种改进的EPNP方法,结合WEPNP (weighted EPNP)[25]的加权求精思想和文献[26]中缩小线性系统代数误差的方法,旨在线性时间内提高EPNP方法的计算效率,同时解决在深度值变化剧烈情况下的误差问题。

2.2.1 优化待求解的线性系统。

首先基于文献[26]改进EPNP方法结果的线性表达式,以便可以基于线性系统的代数误差的最小化计算来鲁棒地排除异常值,得到一个待求解的线性表达式,推导过程如下。

对于每个点$i$都有透视约束

$d_{i}\left[\begin{array}{l}{\boldsymbol{u}_{i}} \\ {1}\end{array}\right]=\boldsymbol{A}[\boldsymbol{R} | \boldsymbol{t}]\left[\begin{array}{l}{\boldsymbol{p}_{i}^{ w}} \\ {1}\end{array}\right] $ (4)

式中,$\boldsymbol{p}_{i}^{\omega}=\left[x_{i}^{\omega}, y_{i}^{\omega}, z_{i}^{\omega}\right]^{\mathrm{T}}$为空间中$n$个相关点的3维到2维的映射关系,$\omega $代表世界坐标系下的坐标,${d_i}$为点$i$的深度,$\boldsymbol{u}_{i}=\left[u_{i}, v_{i}\right]^{\mathrm{T}}$$p_{i}^{\omega}$的2维投影,$\mathit{\boldsymbol{A}}$为相机的内参矩阵,$\mathit{\boldsymbol{R}}$为相机的旋转矩阵,$\mathit{\boldsymbol{t}}$为相机的平移向量。由EPNP方法可知,$\boldsymbol{p}_{i}^{\omega}$可由空间中的4个控制点的质心坐标$\boldsymbol{c}_{j}^{w}(j=1, \cdots, 4)$重写为$\mathit{\boldsymbol{p}}_i^\omega = \sum\limits_{j = 1}^4 {{\alpha _{ij}}} \mathit{\boldsymbol{c}}_j^\omega $,由于$α_{ij}$在坐标系中是独立的,所以在相机坐标系下将$\boldsymbol{p}_{i}^{\omega}$重写为$\mathit{\boldsymbol{p}}_i^c = \sum\limits_{j = 1}^4 {{\alpha _{ij}}} \mathit{\boldsymbol{c}}_j^c$,等式在运算过程中变形为

$\left[\begin{array}{ccc}{1} & {0} & {-u_{i}^{c}} \\ {0} & {1} & {-v_{i}^{c}}\end{array}\right] \boldsymbol{B}_{i} \boldsymbol{x}=0 $ (5)

式中,${\mathit{\boldsymbol{B}}_i}$是为$α_{ij}$建立的控制点坐标矩阵,$\mathit{\boldsymbol{x = }}{\left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{c}}_1^{c{\rm{T}}}} & \cdots & {, \mathit{\boldsymbol{c}}_4^{c{\rm{T}}}} \end{array}} \right]^{\rm{T}}}$为未知解,可简化表示为一个$\mathit{\boldsymbol{M}} \times \mathit{\boldsymbol{x = }}{\rm{0}}$的线性系统。其中由式(5)经过矩阵变形计算可得到${\left[ {\begin{array}{*{20}{l}} {u_i^c} & {v_i^c} & 1 \end{array}} \right]^{\rm{T}}} = {\mathit{\boldsymbol{A}}^{ - 1}}{\left[ {\begin{array}{*{20}{l}} {{u_i}} & {{v_i}} & 1 \end{array}} \right]^{\rm{T}}}$,进而可得到标准化后的2维坐标。

2.2.2 剔除错误数值及对应关系

假设$\mathit{\boldsymbol{M}}$的零空间秩始终为1,采取文献[26]中计算此零空间的策略,删除异常值和错误的对应关系。求$\mathit{\boldsymbol{M}} \times \mathit{\boldsymbol{x = }}{\rm{0}}$的最小二乘解等价于如下的最小二乘问题

${z_s} = \mathop {\arg \min }\limits_{||z||{_F} = 1} \sum\limits_{i = 1}^N {{{\left\| {\sum\limits_{j = 1}^4 {{\alpha _{ij}}} \left( {z_j^c{u_i} - \tilde x_j^c} \right)} \right\|}^2}} $ (6)

式中,${\tilde x_j^c}$表示相机坐标系下的坐标,$z_j^c$为相机坐标系下的控制点的非齐次坐标,$z_s$为所求$\mathit{\boldsymbol{M}} \times \mathit{\boldsymbol{x = }}{\rm{0}}$的最小二乘解,$u_i$在式(4)的参数阐述中已给出。

2.2.3 结果求精

基于优化了待求解的线性系统,采用WEPNP的加权平均思想,对式(6)进行求解。

相机坐标系下的坐标${\tilde x_j^c}$与世界坐标系下的坐标$\tilde x_i^\omega $满足

$\tilde x_i^c - {\bar x^c} = \mathit{\boldsymbol{R}}\left( {\tilde x_i^\omega - {{\bar x}^\omega }} \right),\quad i = 1,2, \cdots ,N $ (7)

式中,$\bar{x}^{c}=\frac{1}{N} \sum_{i=1}^{N} \tilde{x}_{i}^{c}$, ${\bar x^\omega } = \frac{1}{N}\sum\limits_{i = 1}^N {\rm{ }} \tilde x_i^\omega $,对式(7)采取加权求精的操作,等式左右除以对应空间点的深度$s_i^* = z_i^c$,则式(7)变形为

$\begin{aligned} \frac{1}{s_{i}^{*}}\left(\widetilde{x}_{i}^{c}-\bar{x}^{c}\right) &=\frac{1}{s_{i}^{*}} R\left(\widetilde{x}_{i}^{\omega}-\bar{x}^{\omega}\right) \\ i &=1,2, \cdots, N \end{aligned} $ (8)

通过式(8)构造矩阵

$\mathit{\boldsymbol{D}} = \sum\limits_{i = 1}^N {\frac{1}{{s_i^{*2}}}} \left( {\tilde x_i^c - {{\bar x}^c}} \right){\left( {\tilde x_i^\omega - {{\bar x}^\omega }} \right)^{\rm{T}}} $

并通过SVD奇异值分解矩阵$\mathit{\boldsymbol{D}}$,从而获得旋转矩阵$\mathit{\boldsymbol{R}}$,并由$\mathit{\boldsymbol{R}}$解得相机$\tilde c$位置,从而确定了添加图像的相机位置。

2.3 BA优化与修正

在增量添加与三角化步骤中,由于误差累计会出现场景漂移以及计算中的效率平衡等问题,在增量迭代过程后进一步进行光束法平差(bundle adjustment)优化,目的在于减小误差,优化模型,同时解决涉及到大量计算时BA算法的效率问题。

HSFM (hybrid structure-from-motion)[27]采用将BA加入到每个相机添加和三角化的增量迭代过程中来改善模型质量,这种方式可以提高模型的准确性,但由于增量式SFM只是局部影响模型,而且在已经做出改进的积极影响下,通常不需要每次迭代都进行全局BA。因此,以HSFM中的BA策略为参考,本文使用如下的策略步骤进行改进:

1) 全局BA。使用引入huber函数作为损失函数的改进的BA公式模型,不必在每次迭代中都使用全局BA,而是在模型增长一定比例后才进行全局BA,具体为

$\mathop {\min }\limits_{_{{C_i},{X_j}}} \sum\limits_{i = 1}^N {\sum\limits_{j = 1}^M {{\delta _{ij}}} } {\left\| {{x_{ij}} - \gamma \left( {{\mathit{\boldsymbol{K}}_i},{\mathit{\boldsymbol{R}}_i},{C_i},{X_j}} \right)} \right\|_{{\rm{huber }}}} $ (9)

式中,${\delta _{ij}}$表示相机$i$是否观察到场景点$j$,取值为1时表示能观察到,为0时表示不能观察到,${\mathit{\boldsymbol{K}}_i}$为相机$i$的内参矩阵,${\mathit{\boldsymbol{R}}_i}$为相机$i$的旋转矩阵,${\mathit{\boldsymbol{C}}_i}$是相机$i$的中心,$\gamma\left(\boldsymbol{K}_{i}, \boldsymbol{R}_{i}, C_{i}, X_{j}\right)$为投影函数,$x_{ij}$是确定的2维图像点位置。

2) 过滤和重三角测量。在计算过程中会产生重投影误差(即第2次投影误差),其原因是真实3维空间点在图像平面上的投影(图像上的像素点)和计算得到的虚拟的像素点的差值,由于提取特征点的位置和三角测量计算等原因,计算得到的值和实际情况不会完全相符(即误差值不会恰好等于0)。所采取的策略是进行图形完整性检查,在所有的观察射线对中引入最小三角测量角并对投影点之间的轨迹进行重三角测量,具体为

$\cos \alpha=\frac{t_{a}-X_{a b}}{\left\|t_{a}-X_{a b}\right\|_{2}} \cdot \frac{t_{b}-X_{a b}}{\left\|t_{b}-X_{a b}\right\|_{2}} $ (10)

式中,$\alpha $为所求最小测量角,$X_{ab}$是已三角化的点,$t$为待检查的点。引入最小三角测量角和重三角测量的目的在于过滤运算中产生的较大的重投影误差的轨迹,更好地提高计算重建点深度的准确性,降低误差累计,并增强重建的完整性,使模型更接近于理想状态。

3) 迭代优化。最后,为了进一步提升模型的准确性和增强场景,进行12次的迭代优化(重复步骤1)和步骤2)),使最终得到的稀疏点云能达到一个较好的结果。

3 实验及性能分析

通过实验分析本文改进算法(SFM-Y)的性能。实验1通过与visual SFM、bundler以及未改进的AC-RANSAC法在若干数据集上的对比,验证本文算法在过滤异常值及初始图像对选择鲁棒性方面的性能;实验2通过将本文方法与EPNP、DLT方法进行对比,验证应用本文算法对解算效率和准确性方面的提升;实验3验证本文算法的BA优化与修正策略对实际计算误差的效果提升;实验4为本文算法与visual SFM、bundler分别在不同规模数据集上的运行结果与性能指标对比,使用的数据集与实验1相同。

实验1  异常值过滤效果

为了验证SFM-Y中提出的F-AC-RANSAC法在过滤异常值及提高初始相对选择的鲁棒性方面的效果,实验选取了bundler[10]、visual SFM[20]和AC-RANSAC[23]法进行对比分析,使用了South Building,Graham_Hall,Tower of London,Nyc_library,Union_square 5种不同规模的数据集[28]进行测试。针对算法在异常值过滤后的平均外点占比进行比较,结果如表 1所示,可以发现SFM-Y中提出的F-AC-RANSAC优于传统方法的性能,并且能在自适应阈值估计方法的基础上进一步过滤异常值,降低外点在总特征点中的平均占比,筛选出良好的图像数据,从而可以选择出鲁棒的初始图像对进行初始重建,避免了异常值对产生的后续影响。

表 1 平均外点占比
Table 1 Average outlier proportion

下载CSV
/%
数据集 bundler visual SFM AC-RANSAC F-AC-RANSAC
South Building 0.20 0.19 0.19 0.17
Graham_Hall 0.30 0.27 0.26 0.25
Nyc_library 1.60 1.53 1.40 1.35
Tower of London 1.20 1.18 1.16 1.13
Union_square 1.10 1.05 1.00 0.96
注:加粗字体表示过滤的最优结果。

实验2  增量添加过程中的解算效率与准确性

本实验分别验证了本文方法的解算效率与准确性。采用DLT[21]方法、EPNP[22]方法与SFM-Y进行对比,在解算效率方面采用完成解算点的数量与时间的对应关系衡量,在解算精度方面使用平均旋转误差与平均平移误差作为指标,从数据的变化趋势来对比算法的优劣。

1) 解算效率。在本实验中主要验证本文改进的EPNP方法(OWEPNP)在解算效率方面的优势。

图 2所示,随着图片数目的不断增加,点的数目不断增加,完成一次DLT解算的时间不断上升,而EPNP方法和本文提出的OWEPNP方法则没有太大的波动,较为稳定,而且OWEPNP在解算时间上优于EPNP方法,可见OWEPNP能在增量解算过程中降低时间开销。

图 2 解算效率对比
Fig. 2 Comparison of calculation efficiency

2) 解算准确性。使用平均旋转误差和平均平移误差两个指标考量OWEPNP方法的解算准确性。平均旋转误差和平均平移误差为所有取样点对应的相机姿态误差(包括旋转误差与平移误差)的平均值,值越稳定说明解算方法越准确,如图 3图 4所示。从图 3图 4可以看出,OWEPNP方法与其他两种方法对比,可以在一定程度减少解算点的误差值,提高解算点的精确度,从而使重建结果能够更加贴近理想状态。

图 3 平均平移误差对比
Fig. 3 Comparison of average translation error
图 4 平均旋转误差对比
Fig. 4 Comparison of average rotation error

实验3  BA优化与修正效果

本实验采用重投影误差作为指标评价SFM-Y的BA优化与修正结果,并选择visual SFM[20]及bundler[10]与本文方法进行对比,考察三者在这一指标下的性能,重投影误差是指真实3维空间点在图像平面上的投影和重投影之间的差值,差值越小说明得到的3维点坐标和相机位姿越准确。从图 5可以看出,bundler对重投影误差的修正在多次迭代后并没有明显的下降,仍处于较高的水平;visual SFM较bundler有所改善,但误差下降的速度较为缓慢,且趋于稳定时重投影误差仍大于本文所述SFM-Y方法;SFM-Y可以有效降低重投影误差,在第2次迭代过程后曲线趋于稳定,继续迭代会花费更多的时间,且对重建结果的质量并没有显著提升。

图 5 重投影误差降低的趋势
Fig. 5 Reducing trend of reprojection error

实验4  重建结果对比

与实验1相同,本实验使用了文献[22]所提供的部分数据集,对visual SFM[20]、bundler[10]以及SFM-Y进行测试,依次包含了数据量较小、中等、较大的几种数据集,试图更加全面地衡量本文方法在不同数据量下的计算性能与精度。实验结果及各性能指标如表 2所示。

表 2 重建结果对比
Table 2 Comparison of reconstruction result

下载CSV
数据集 图像数量 注册图像的数量 结果中点的数量 时间/min 平均重投影误差/像素
VSFM bundler SFM-Y VSFM bundler SFM-Y VSFM SFM-Y bundler VSFM bundler SFM-Y
South Building 128 128 100 128 45 000 38 000 60 000 8.976 30.325 6.064 0.68 0.75 0.497
Graham_Hall 1 273 1 084 980 1 251 380 000 364 000 415 000 40.58 5 960.530 35.670 1.16 1.54 1.04
Tower of London 1 576 569 547 804 140 000 150 000 130 000 8.283 3 081.750 7.531 0.59 1.54 0.61
Nyc_library 2 550 511 400 710 110 000 71 000 133 000 10.056 60.425 8.563 0.67 1.84 0.66
Union_square 5 961 839 649 1 611 95 000 90 000 109 000 9.27 938.617 8.900 0.68 3.22 0.67
注:加粗字体表示不同方法相比较得到的最优结果, VSFM为visual SFM。

使用SFM-Y重建得到的结果如图 6所示,可以看出测试数据集中图像的质量是不同的,图 6(b)中, Graham_Hall数据集中的图像质量明显优于其他数据集,能用于匹配和解算的图像数量较多。从实验结果看,虽然受数据集中图片的质量影响,导致在有些数据集中产生的结果并不十分令人满意(最终被注册并重建出点的图像数量仅为一部分),但从实验结果中可以看出SFM-Y在重建质量和效率方面的优势,相较传统增量式运动结构恢复算法,在算法效率和质量上都有一定的提升。

图 6 实验结果
Fig. 6 Experimental result ((a) South Building; (b) Graham_Hall; (c) Tower of London; (d) Nyc_library; (e) Union_square)

4 结论

基于图像序列的增量式运动结构恢复算法这一领域展开研究工作,分析了目前该领域发展现状和传统方法中存在的问题,并针对这些问题探索解决方案。采取多种优化手段和方法结合,基于传统增量式运动结构恢复算法提出了一种优化方法SFM-Y。该方法针对分析得到的问题,从初始重建、增量添加和模型修正优化等若干阶段对传统算法进行了改进,目的在于优化传统增量式运动结构恢复算法存在的运算效率和重建质量等方面的问题。实验结果表明,本文算法与传统方法相比,在算法的计算效率方面约有10%的提高,尤其是在数据量较大的情况下,进一步缩短了生成模型所需的时间,在一定程度上提高了算法的鲁棒性和准确性,从实验结果看,得到的结果中点的数量更为丰富。但根据实验结果来看,本文方法在数据条件较为复杂的情况下的性能并不十分稳定,这是由于图片质量及提取到匹配的特征点数目等多种因素导致的。在未来的研究中,将着力解决本文方法在这种情况下重建的质量和效率问题,同时探索如何采取其他手段进一步提升增量式运动结构恢复算法的效率和重建结果的质量,以及如何扩展生成结果的应用场景等问题。

参考文献

  • [1] Zhao Q P. Over view of virtual reality[J]. Science in China:Information Science, 2009, 39(1): 2–46. [赵沁平. 虚拟现实综述[J]. 中国科学F辑:信息科学, 2009, 39(1): 2–46. ] [DOI:10.1360/zf2009-39-1-2]
  • [2] Forsyth D A, Ponce J. Computer Vision O: amodern Approach[M]. Beijing: Electronic Industry Press, 2012: 110.Forsyth D A, Ponce J. [计算机视觉——一种现代方法[M].北京: 电子工业出版社, 2012: 110.]
  • [3] Lyu L, Yao T Z, Song J T, et al. Design andimplementation of 3D reconstruction systembased on monocular vision[J]. Computer Engineering, 2018, 44(12): 233–239. [吕立, 姚拓中, 宋加涛, 等. 基于单目视觉三维重建系统的设计与实现[J]. 计算机工程, 2018, 44(12): 233–239. ] [DOI:10.19678/j.issn.1000-3428.0047936]
  • [4] Moulon P, Monasse P, Marlet R. Global fusion of relative motions for robust, accurateand scalable structure from motion[C]//Proceedings of 2013 IEEE International Conference on Computer Vision. Sydney, Australia: IEEE, 2013: 3248-3255.[DOI: 10.1109/ICCV.2013.403]
  • [5] Skilling J, Gull S F. Algorithms and Applications[M]//Smith C R, Grandy W T. Maximum Entropy and Bayesian Methods in Inverse Problems. Dordrecht: Reidel Publishing Company, 1985: 83-132.
  • [6] Yao T Z, Zuo W H, An P, et al. Wide-baseline 3D reconstruction with semantic prior fusion and progressive depth optimization[J]. Journal of Image and Graphics, 2019, 24(4): 603–614. [姚拓中, 左文辉, 安鹏, 等. 融合语义先验和渐进式深度优化的宽基线3维场景重建[J]. 中国图象图形学报, 2019, 24(4): 603–614. ] [DOI:10.11834/jig.180477]
  • [7] Anand A, Koppula H S, Joachims T, et al. Contextually guided semantic labeling and search for three-dimensional point clouds[J]. The International Journal of Robotics Research, 2013, 32(1): 19–34. [DOI:10.1177/0278364912461538]
  • [8] Tong S, Xu X G, Yi C T, et al. Overview on vision-based 3D reconstruction[J]. Application Research of Computers, 2011, 28(7): 2411–2417. [佟帅, 徐晓刚, 易成涛, 等. 基于视觉的三维重建技术综述[J]. 计算机应用研究, 2011, 28(7): 2411–2417. ] [DOI:10.3969/j.issn.1001-3695.2011.07.003]
  • [9] Snavely N, Seitz S M, Szeliski R. Photo tourism:exploring photo collections in 3D[J]. ACM Transactions on Graphics, 2006, 25(3): 835–846. [DOI:10.1145/1141911.1141964]
  • [10] Snavely N, Seitz S M, Szeliski R. Modeling the world from internet photo collections[J]. International Journal of Computer Vision, 2008, 80(2): 189–210. [DOI:10.1007/s11263-007-0107-3]
  • [11] Shah R, Deshpande A, Narayanan P J. Multistage SFM: revisiting incremental structure from motion[C]//Proceedings of the 2nd International Conference on 3D Vision. Tokyo, Japan: IEEE, 2014, 1: 417-424.[DOI: 10.1109/3DV.2014.95]
  • [12] Schönberger J L, Frahm J M. Structure-from-motion revisited[C]//Proceedings of 2016 IEEE Computer Vision and Pattern Recognition.Las Vegas, NV, USA: IEEE, 2016: 4104-4113.[DOI: 10.1109/CVPR.2016.445]
  • [13] Farenzena M, Fusiello A, Gherardi R. Structure-and-motion pipeline on a hierarchical cluster tree[C]//Proceedings of the 12th International Conference on Computer Vision Workshops.Kyoto, Japan: IEEE, 2009: 1489-1496.[DOI: 10.1109/ICCVW.2009.5457435]
  • [14] Agudo A, Moreno-Noguer F, Calvo B, et al. Sequential non-rigid structure from motion using physical priors[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(5): 979–994. [DOI:10.1109/TPAMI.2015.2469293]
  • [15] Cui H N, Shen S H, Hu Z Y. Global fusionof generalized camera model for efficient large-scale structure from motion[J]. Science China Information Sciences, 2017, 60(3): 038101. [DOI:10.1007/s11432-015-0792-1]
  • [16] Lee M, Cho J, Choi C H, et al. Procrustean normal distribution for non-rigid structure from motion[C]//Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition. Portland: IEEE, 2013: 1280-1287.[DOI: 10.1109/CVPR.2013.169]
  • [17] Ludovic M, Del Bue A. Revisiting projective structure for motion:a robust and efficient incremental solution[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018. [DOI:10.1109/TPAMI.2018.2849973]
  • [18] Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91–110. [DOI:10.1023/b:visi.0000029664.99615.94]
  • [19] Jia D, Zhu N D, Yang N H, et al. Image matching methods[J]. Journal of Image and Graphics, 2019, 24(5): 677–699. [贾迪, 朱宁丹, 杨宁华, 等. 图像匹配方法研究综述[J]. 中国图象图形学报, 2019, 24(5): 677–699. ] [DOI:10.11834/jig.180501]
  • [20] Wu C C. Towards linear-time incremental structure from motion[C]//Proceedings of 2013 International Conference on 3DV-Conference. Seattle, WA, USA: IEEE, 2013: 127-134[[DOI: 10.1109/3DV.2013.25]
  • [21] Hartley R, Eisserman A. Multiple View Geometry in Computer Vision[M]. USA: Cambridge University Press, 2003.
  • [22] Lepetit V, Moreno-Noguer F, Fua P. EPnP:an accurate O(n) solution to the PnP problem[J]. International Journal of Computer Vision, 2009, 81(2): 155–166. [DOI:10.1007/s11263-008-0152-6]
  • [23] Moulon P, Monasse P, Marlet R. Adaptive structure from motion with a contrario model estimation[C]//Proceedings of Asian Conference on Computer Vision. Daejeon, Korea: Springer, 2012: 257-270.[DOI: 10.1007/978-3-642-37447-0_20]
  • [24] Zhang F, Xu Z H, Shi L M, et al. Automatic reconstruction of distant scenes from wide baseline images[J]. Journal of Computer-Aided Design & Computer Graphics, 2010, 22(2): 256–263. [张峰, 许振辉, 史利民, 等. 基于宽基线图像远距离场景的自动三维重建[J]. 计算机辅助设计与图形学学报, 2010, 22(2): 256–263. ]
  • [25] Yang S, Wu F C. Weighted linear methods for the camera pose estimation[J]. Journal of Software, 2011, 22(10): 2476–2487. [杨森, 吴福朝. 摄像机位姿的加权线性算法[J]. 软件学报, 2011, 22(10): 2476–2487. ] [DOI:10.3724/SP.J.1001.2011.03916]
  • [26] Ferraz L, Binefa X, Moreno-Noguer F. Very fast solution to the PnP problem with algebraic outlier rejection[C]//Proceedings of 2014 Conference on Computer Vision and Pattern Recognition. Columbus, OH, USA: IEEE, 2014: 501-508.[DOI: 10.1109/CVPR.2014.71]
  • [27] Cui H N, Gao X, Shen S H, et al. HSfM: hybrid structure-from-motion[C]//Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, USA: IEEE, 2017: 1212-1221.[DOI: 10.1109/CVPR.2017.257]
  • [28] Wilson K, Snavely N. Robust global translations with 1DSfM[C]//European Conference on Computer Vision. Zurich, Switzerland: Springer, 2014: 61-75.[DOI: 10.1007/978-3-319-10578-9_5]