2017-06-19 118 views
1

我正在嘗試使用我的自定義.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圖像。

enter image description here

我使用Ubuntu 16.04和Kinect1。任何一種建議或幫助的可以理解的

回答

1

解決

方式二後重新安裝OpenNI工作。可能在以前的運行記錄器莫名其妙地無法找到OpenNI流式傳輸深度和rgb。

+0

你能夠離線運行ElasticFusion嗎? –

+1

是的,它可能通過插入標誌 – MIRMIX

+0

我們是否必須使用記錄器進行記錄,然後轉換爲.klg文件,然後像dyson klg文件一樣脫機運行? –