SLAM中帧间匹配之2d2d与3d2d的区别

博主在自己写VO的时候遇到了一个问题,因为只使用2d2d恢复[R|t],然后画位姿的时候效果太差,见下面的效果图,对着部分产生疑问,遂来比较3d2d与2d2d之间的效果。不比不知道,一比吓一跳。

上图左侧数据是执行3d2d的所恢复的帧间匹配,右侧是2d2d所恢复的帧间匹配,用到的图像是 rgbd_dataset_freiburg2_desk 数据集的两张图片和他们对应的深度图,                                        

从算法运行结果图看到,其实对于旋转矩阵R来说,2d2d与3d2d之间的结果很接近,但是差别较大的是t。

2d2d恢复的t是[-0.1837910360060056; -0.1022711955595259; 0.977630532278255]

3d2d恢复的t是[0.001221053475643392; -0.00123831187388288; 0.002960260295877236]

 两者差几个量级,或许读者不清晰差异在哪,下面由位姿T的实验结果来展示一下差别。

3d2d:

2d2d:

2d2d的位姿图是非常的飘的,所以才连续截了3张。

这个实验说明了,在帧间匹配的时候,除了在特征点提取(类似ORBSLAM的网格)和筛选部分(最大最小描述子匹配距离)需要做一些限制和要求之外,只做2d2d的匹配是不可行的。一定要在初始化之后,立马恢复出3d点坐标,然后在后面应用3d2d求解帧间匹配。此外,这个3d点的恢复需要同时进行,因为不可能只用第一帧所获取的点的3d点,会慢慢消失的,需要不断往地图中补充3d点。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值