作者/攝影 | 曾吉弘 |
年 Intel RealSense 系列推出了不少裝置,希望能針對手持應用、機器人、倉儲等等提供更方便的解決方案。本文將介紹 D435景深攝影機 (機器人王國購買連結)。大小只有 90 x 25 x 25 (mm),可以透過usb 供電,非常適合手持應用與機器人等場域。
正面可以看到四個主要的模組,分別是右側成像器、IR 投影器、左側成像器與 RGB 模組
這張圖可以看得更清楚一點
以下影片是使用 D435 / T265 的機器人視覺應用
開箱開箱
現在實際開箱囉,盒子維持 Intel 一貫的 “飛向宇宙,浩瀚無垠“(自己說) 的風格。
軟體下載
請由 Intel 開發者頁面下載 Intel RealSense SDK 2.0,目前提供 Win10, Win7, Linux (Ubuntu 有安裝包) 與 Android 等平台。
支援的軟體平台相當豐富,網站上的 code sample 都是以 C/ C++ 為主,但在其 github 上就能找到其他語言的範例程式,本文後續將介紹一些 python 範例的操作畫面。
SDK 安裝過程很簡單,按照預設設定安裝即可。
RealSense Viewer
安裝完畢後,開啟 RealSense Viewer 畫面如下,這時還未裝上 D435。請用盒裝中的 usb type C 線連接您的電腦與 D435,系統會自動抓到機器。
如果系統發現有可更新的韌體,Viewer 右上角就會詢問是否更新。點選 [Install] 就可以自動更新韌體,您也可以來這邊找最新的韌體。
右上角可以切換2D / 3D 模式,先來看 2D。點選畫面左側的 RGB Camera 選項就可以看到畫面囉,這不是我的新安州嗎?
切換為 stereo mode (2D),畫面右側的 Y 軸刻度代表距離(單位 m)
開始 2D streaming,點選 [info] 可以看到更多資訊
來看看3D streaming,在此可切換 Depth source 與 texture source (現為 depth)。
切換 texture source 為 color
Depth Quality Tool
Depth quality tool 是另一個隨著 RealSense SDK 安裝好的工具,可以有更多細部的設定。在此只說明不同解析度、FPS 與 Region of interest 等設定。1280 x 720 可到 30FPS (ROI 40%),如果要更高的 FPS 的話,就要降低解析度才行,例如 640 x 360 @60, 90FPS。
Python範例
請先根據原廠說明建立好您的 python3環境,我在 anaconda python3 環境中只要安裝好pyrealsense2 就可以執行(教學請按我),相當方便。
安裝 pyrealsense2 函式庫:
以下直接執行原廠所提供的範例(github) ,也可以點選範例名稱來直接看內容
1. Tutorial 1 – 串流深度資訊,並在 console 中用 ASCII code 來顯示影像。意義不明的範例,可以看出有手掌的形狀嗎?)
2. NumPy and OpenCV – 使用 OpenCV and Numpy 來彩現深度影像與彩色影像。
3. Stream Alignment – 移除背景的範例,作法是將深度影像與彩色影像對齊並經過運算之後來移除背景。相關參數還是要調整一下才有最好的效果。
4. [點雲相關] OpenCV software renderer,可用滑鼠與鍵盤來操作。參數說明如下:
滑鼠:
按著滑鼠左鍵來旋轉畫面,按著右鍵平移畫面。滑鼠中央滾輪則是縮放。
鍵盤:
- [p] 暫停
- [r] 重置視角
- [d] 切換十進位值
- [z] 切換 point scaling
- [c] 切換顏色來源
- [s] 存檔 (./out.png)
- [e] 匯出 ply 檔 (./out.ply)
- [q\ESC] 離開
5. [點雲相關] PyGlet pointcloud renderer – 請先安裝 pip install pyglet
用 PyGlet 來檢視點雲,鍵盤滑鼠操作方式相同。
最後還用 ipynb 方式提供了兩個範例 Distance to Object 與Depth Filters
相關文章