COLMAP: Structure-from-Motion Revisited
结构从动学显微镜(SFM)主要可分为三种类型:增量型、分层型和全局型;其中应用最为广泛的当属增量型。然而,在鲁棒性、精确度以及完整性等方面仍需进一步优化。针对增量型SFM中的三角化过程及BA算法等关键环节的优化将有助于提升该方法的性能指标。
其次,在深度估计过程中主要通过特征提取完成初始匹配任务;随后通过特征匹配及几何验证以去除外点,并从而得到一个较为准确的场景图(scene graph)。该场景图作为后续增量式重建的基础即为提供数据关联等信息的作用。在增量式重建中需要精细地选择适合的两帧来进行重构建模,在图像进行注册之前,首先对场景点进行三角化,并对外点进行筛选;接着对当前模型进行BA优化以提高精度。
BA优化
BA精确定位了现有相机的姿态信息和三维稀疏点云坐标数据。本质上是一种优化机制,旨在最小化各观测数据在图像平面上的投影误差。
增量重建
输入:scene graph ;输出:相机位姿以及3D路标点;
在增量重建过程中,在初始化操作的基础上,并需涉及以下几个方面:首先是图像配准过程;其次是三维模型构建阶段;最后是双基准优化算法。
初始化:SfM在初始化阶段需要科学地确定两个关键帧来进行重构;
此时,在scene graph框架下优先选择具有较大相互可见区域的两个视角是必要的;
文中指出这种策略能够增强系统的冗余性,并进一步提升了重构过程中的鲁棒性和准确性。
图像注册:基于已有建立的SfM模型对图片的位置与姿态进行估计(更为精确地推导出拍摄该图像相机的位置与姿态);通过未知图景与地图中的图景进行2D至2D对应匹配的方式获得二者间的二维到三维对应关系,并应用RANSAC-PNP算法确定该相机的位置与姿态从而完成图像注册。为了提升位置与姿态计算精度和可靠三角化的前提条件本文设计了一种新型鲁棒后续帧选择策略具体内容将在后续章节详细阐述
在本节中介绍了一种新的图像处理技术称为三角化。为了实现有效的场景重建,在新增图像时应确保已有场景点有足够的观测数据,并且还可以通过进一步应用该技术来补充和扩展已有的场景点位置信息。目前广泛使用的三角化算法存在稳定性较差和计算效率低下的问题。在此基础上,本研究提出了一种全新的基于深度学习的自适应三角化策略以提高算法的整体性能。
在BA优化过程中发现:虽然图像注册和三角化被分别执行然而它们之间存在较强的关联性即错误的发生往往在两者之间相互影响例如一个过程中的错误会直接影响另一个过程的结果反过来也成立因此在这种情况下大家普遍认识到应该启动BA算法因为这能够有效提升整体精度而无需单独处理每个环节此外BA不仅可以同时优化相机姿态以及三维坐标还可以使得模型冗余度更高为此在此顺便补充说明一下关于BA的一些基本概念它是一种联合估计方法旨在通过精确调整相机姿态和三维坐标以最小化重投影误差从而实现全局最优
BA问题一般可以利用LM算法来解决。作者指出,在SfM处理网络图像时(尤其是针对那些极其相似的图像),所涉及的优化过程所需的时间会显著增加。
