我正在尝试使用我的自定义.klg文件运行SLAM算法(ElasticFusion)。 我尝试了以下2种方式:使用kinect记录到klg文件1
第一种方式正要从不同深度和RGB图片(.png)文件及其时间戳信息手工打造.klg文件。我在这个Sequence 'freiburg1_desk'数据集上尝试了转换脚本,然后运行ElasticFusion。我得到了很好的结果和点云。但是,当我尝试使用相同的步骤在自己的设备上记录环境时,我没有得到期望的结果或点云。我在实时记录中获得的结果要好得多。我想这是因为我用于深度图像可视化的代码。
np.clip(depth, 0, 2**10-1, depth)
depth2=depth/2842.5
depth2+=1.1863
depth=np.tan(depth2)
depth*=0.1236
depth-=0.037
depth*=1000
#depth = 0.1236 * math.tan(depth/2842.5 + 1.1863);
depth = depth.astype(np.uint16)
return depth
我得到上面的公式从here
更好的近似斯特凡Magnenat在这篇文章中给出:
distance = 0.1236 * tan(rawDisparity/2842.5 + 1.1863) in meters
。添加-0.037的最终偏移项为最初的ROS数据。
,我试图用该Logger其由托马斯维兰(ElasticFusion)建议的第二种方式。我运行这个记录器没有任何错误。
Number devices connected: 1
1. device on bus 001:14 is a Xbox NUI Camera (2AE) from Microsoft (45E) with serial id 'A00366911101042A'
searching for device with index = 1
Opened 'Xbox NUI Camera' on bus 1:14 with serial number 'A00366911101042A'
但我越来越深的黑色屏幕和RGB图像。
我使用Ubuntu 16.04和Kinect1。任何一种建议或帮助的可以理解的
你能够离线运行ElasticFusion吗? –
是的,它可能通过插入标志 – MIRMIX
我们是否必须使用记录器进行记录,然后转换为.klg文件,然后像dyson klg文件一样脱机运行? –