在之前的章节中我们获得了同名像点从而恢复相片的姿态,接下来就该轮到vslam前端中最后一部分————计算三维点坐标(三角化),并通过三维坐标预测姿态(PnP)。
一、三角化
在单目slam中仅通过单张图像无法获得像素的深度信息,所以我们需要通过三角测量(Triangulation)的方法来估计地图的深度。一般情况是当我们得到两个视图的一组匹配点,我们希望能恢复出世界点在三维世界的坐标。
这里介绍一个线性三角形法:
在已知了两张图像的姿态后我们能建立以下等式
x=PX;
x′=P′X;
然后使用DLT算法整理可得AX = 0(一对点可得到4行方程)
这里相当于解一个线性最小二乘问题。方程的解为A的最小奇异值对应的单位奇异矢量。
而三角化存在一个矛盾:
图像平移越大,三角化的精度越高;平移越小,匹配效果越好;

本文详细介绍了VSLAM系统中的关键步骤——三角化、PnP(Pose from N Points)和ICP(Iterative Closest Point)。三角化用于从匹配的图像点估算三维坐标,PnP算法则在已知3D和2D点对的情况下求解相机姿态,而ICP用于3D到3D点的位姿估计。线性方法如DLT常用于这些问题的求解,但非线性优化也能提供更精确的结果。
最低0.47元/天 解锁文章
2109

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



