SFM主要分为三类:增量式、分层式、全局式,其中最为流行的是增量式,但是目前在鲁棒性、精确度、完整性等方面还有待提高。需要对增量式SFM中三角化和BA等步骤进行了改进,这能够提高SFM的精确率和鲁棒性以及重建完整性。
首先,SFM通常进行特征提取,然后匹配以及几何校验来滤出外点,经过前面的步骤就得到了场景图(scene graph),该场景图是后续增量式的基础,也就是提供数据关联等信息的作用。增量式重建中需要非常仔细挑选两帧进行重建,在图像进行注册之前,需要进行三角化场景点和滤出外点还得BA优化当前的模型。
BA优化
BA优化已有相机的姿态和三维稀疏点云坐标。BA的本质是一个优化模型,其目的是最小化重投影误差。
增量重建
输入:scene graph;输出:相机位姿以及3D路标点;
为了完成增量重建,需要完成初始化,图像注册,三角化以及BA优化这些步骤。
-
初始化:SfM在初始化时需要非常仔细的选择两帧进行重建;此时需要尽量选择scene graph中相机间可视区域多的两视角进行初始化,文中称这种选择增加了“redundancy”进而增加了重建的鲁棒性与精确性。
-
图像注册:即根据已有的SfM模型估计图片的位姿(更准确的是估计拍摄该图像相机的位姿);根据未知的图像与地图中图像的2D-2D匹配,进而得到二者之间的2D-3D匹配,然后利用RANSAC-PNP解算出该相机位姿,完成图像注册。为了提高位姿结算精度以及可靠的三角化,本文设计了新颖的鲁棒后续帧选择策略,