SLAM入门之视觉里程计(4):基础矩阵的估计

本文介绍了SLAM中通过匹配点对估算基础矩阵的过程,包括图像坐标归一化、最小二乘法和随机采样一致性(RANSAC)方法。归一化可以提高精度,最小二乘法利用更多匹配点提高准确性,RANSAC用于筛选正确匹配,抵抗错误匹配影响。最后,文章提到了OpenCV中计算基础矩阵的函数及其验证方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上篇文章中,介绍了三位场景中的同一个三维点在不同视角下的像点存在着一种约束关系:对极约束基础矩阵是这种约束关系的代数表示,并且这种约束关系独立与场景的结构,只依赖与相机的内参和外参(相对位姿)。这样可以通过通过匹配的像点对计算出两幅图像的基础矩阵,然后分解基础矩阵得到相机的相对位姿。

通过匹配点对估算基础矩阵

基础矩阵表示的是图像中的像点p1到另一幅图像对极线l2的映射,有如下公式:

l2=Fp1

而和像点 P1 匹配的另一个像点 p2 必定在对极线 l2 上,所以就有:
pT2l2=pT2Fp1=0

这样仅通过匹配的点对,就可以计算出两视图的基础矩阵 F
基础矩阵 F 是一个 3×3 的矩阵,有9个未知元素。然而,上面的公式中使用的齐次坐标,齐次坐标在相差一个常数因子下是相等, F 也就只有8个未知元素,也就是说,只需要8对匹配的点对就可以求解出两视图的基础矩阵 F 。下面介绍下 8点法 Eight-Point-Algorithm计算基础矩阵的过程。

假设一对匹配的像点p1=[u1,v1,1]T,p2=[u2,v2,1]T,带入式子中,得到:

[u1,v1,1]f1f4f7f2f5f8f3f6f9u2v21=0

把基础矩阵 F 的各个元素当作一个向量处理
f=[f1,f2,f3,f4,f5,f6,f7,f8,f9]

那么上面式子可以写为
[u1u2,u1v2,u1,v1u2,v1v2,v1,u2,v2,1]f=0

对于其他的点对也使用同样的表示方法。这样将得到的所有方程放到一起,得到一个线性方程组( (ui,vi) 表示第 i 个特征点)
u11u12u21u22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值