我正在嘗試使用我的自定義.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文件一樣脫機運行? –