基于OpenCV的增量式SfM评估及葡萄园SLAM系统对比分析
1. 增量式SfM算法描述
增量式SfM有两种方法:
- 迭代两视图SfM算法 :对多个2D视图迭代执行两视图SfM算法。先计算前两个视图的内外参数,再用投影矩阵获取这两个视图的3D点,得到初始3D点估计后进行三角测量。但该方法的3D重建是按比例的,运动的测量单位是任意的,扩展到多视图时,每对相机有自己的尺度单位。
- 基于PnP算法的多视图重建 :使用Perspective - n - Point (PnP)算法解决了第一种方法的尺度问题,但有时PnP算法不能给出合理的投影矩阵,因此与更鲁棒的RANSAC算法结合使用。得到第一对图像的投影矩阵后进行三角测量获取初始3D点,计算基线结构,用新帧的2D点对应的3D点计算下一个视图的投影矩阵,再进行三角测量重建3D模型,该过程迭代进行。此方法需要记录3D点与2D点的对应关系。
本文提出的增量式SfM方法基于鲁棒的PnP RANSAC模块,其流程图涵盖四个阶段:
1. 提取EXIF数据 :解析每个图像头部的EXIF信息,获取相机焦距,用于构建内部校准矩阵,并通过束调整进一步优化。
2. 寻找2D对应特征点 :检测所有图像中特征点的2D位置,使用RANSAC估计所有可能图像对中的对应点。具体算法如下:
- 输入:n个RGB图像集合
- 对于每个第i个图像:
- 应用鲁棒特征检测器。
- 对于每对第i和第j个图像:
- 匹配特征点。
- 计算基本矩阵
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



