ORB-SLAM源码中的相机参数设置

在github看到很多关于相机参数设置的的讨论, 这一篇就是对看到的内容做一个整理和总结,
在这里插入图片描述

一. 易混淆概念

1.Camera.bf

根据文档的注释,这个参数是指的:基线距离(单位:米) * fx(单位:像素)

2.ThDepth

这是一个深度阈值,用于区分哪些特征点是近点,哪些是远点。关于更多的信息,可以参考我之前的笔记

双目关键点
双目关键点的深度如果小于40倍基线长度的值,就被叫做近关键点,否则就是远关键点。近关键点可以较好的被三角化,并提供尺度,平移,旋转信息。而远关键点可以提供比较好的旋转信息,但只能有比较差的尺度和平移信息,远点用多视角进行三角化。

在YAML中,这个参数默认就是40,符合论文所提到的内容。根据作者本人在gitub的发言,这个阈值在50左右都是安全的。如果是用于不同的数据集,可以参考作者在不同YAML中的设定。

3. DepthMapFactor(用于RGBD)

DepthMapFactor是一个比例系数,根据TUM数据集官网的说明,对于RGB-D数据集,深度图像的缩放系数为5000,即深度图像中的像素值为5000,对应于离摄像机1米的距离,10000对应于2米的距离,等等。像素值为0意味着缺失值/没有数据。

二. 直接运行和在ROS下运行的区别

这一点是因为看到了有好几个issue都是在问,为什么同样的参数,同样的数据集,用两种方式跑下来,结果差很多。这一点是因为:1)在ros中也许出现了丢帧; 2)参数设置不当(通常会被忽略),在使用RGBD相机时,ROS的参数设置是要修改的。
根据官网的信息,直接运行时,DepthMapFactor=5000(对于16bit的PNG图片);而在ROS下运行时,DepthMapFactor=1(对于ROS bag文件中的32bit的浮点图)。
官网上还写了一个怎么从像素坐标算出3D点的代码,从这个代码更好理解为什么说DepthMapFactor是一个比例系数。

fx = 525.0  # focal length x
fy = 525.0  # focal length y
cx = 319.5  # optical center x
cy = 239.5  # optical center y

factor = 5000 # for the 16-bit PNG files
# OR: factor = 1 # for the 32-bit float images in the ROS bag files

for v in range(depth_image.height):
  for u in range(depth_image.width):
    Z = depth_image[v,u] / factor;
    X = (u - cx) * Z / fx;
    Y = (v - cy) * Z / fy;

三. TUM RGB-D数据集相关

这一小节是想记录一下在官网发现的一点小细节。

  • 对于彩色图像
    在这里插入图片描述Freiburg 3序列的彩色和红外图像都已经过去畸变处理,因此畸变参数都为零。原始的畸变值可以在tgz文件中找到。

注意:我们建议使用ROS的默认参数集(即没有失真),因为对预注册的深度图像进行去畸变并非易事。

  • 对于深度图像

通过比较报告的深度值和从RGB棋盘上估计的深度来验证深度值。在这个实验中,TUM的人发现来自Kinect的报告深度值偏离了一个恒定的比例系数,如下表所示。他们已经对所有序列的深度图像进行了相应的预缩放,所以你这边不需要任何操作。
在这里插入图片描述


参考资料:

  1. 作者回复的参数建议:https://github.com/raulmur/ORB_SLAM2/issues/89
  2. TUM数据集官网的说明:https://vision.in.tum.de/data/datasets/rgbd-dataset/file_formats
  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值