ORB-SLAM2--初始化

一.Initializer::FindHomography:单应矩阵,假设场景为平面的情况下--参考MVG 3.1变换不变性和归一化,算法3.2,2D单应的归一化DLT算法

(1) Normalize(mvKeys1,vPn1, T1);
特征点归一化,坐标均值为0,一价绝对值为1,归一化方便数据处理,保证程序运行加快收敛,归纳统一样本的统计分布性.归一化原理

 

程序里面的for()循环利用RANSAC算法,找到得分最高的Homography单应矩阵

(2) ComputeH21(vPn1i,vPn2i)--直接线性 (DLT) 变换求解单应矩阵--(参考翻译版<<计算机视觉中的多视图几何>>3.1节)

这里的单应矩阵Hn是利用归一化后的像素坐标进行操作的。在程序中vt是v的转置,所以最小的特征值对应的特征向量是vt的最后一行。

 恢复到原始的均值和尺度。

cv::Mat Hn = ComputeH21(vPn1i,vPn2i);
H21i = T2inv*Hn*T1;  //解除归一化
H12i = H21i.inv();

代码原理: 

(3)Initializer::CheckHomography:通过reference frame和current frame 两张图像匹配点重投影是否成功

--参考MVG 3.7 RANSAC鲁棒估计

(4)ReconstructH:通过H21矩阵输出 R t--参考MVG 3-估计--2D摄影变换

二.Initializer::FindFundamental:基础矩阵  假设场景为非平面的情况下--参考MVG 10.2归一化8点算法 F的归一化8点算法

(1) Normalize(mvKeys1,vPn1, T1);
特征点归一化,坐标均值为0,一价绝对值为1,归一化方便数据处理,保证程序运行加快收敛,归纳统一样本的统计分布性.归一化原理

程序里面的for()循环利用RANSAC算法,找到得分最高的Fundamental基础矩阵

(2)ComputeF21(vPn1i,vPn2i)--8点算法求解基础矩阵

恢复到原始的尺度--解除归一化

 F21i = T2t*Fn*T1; //解除归一化

(3)Initializer::CheckFundamental:通过reference frame和current frame 两张图像匹配点重投影是否成功--参考MVG 3.7 RANSAC鲁棒估计  基本原理和单应矩阵的相同

(4)ReconstructF:通过F21矩阵输出 R t  --参考MVG8.6.2 由本质矩阵恢复摄像机矩阵

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Maccy37

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值