當前位置:
首頁 > 最新 > ROS大神為你詳解:如何搞定Movidius神經計算棒基於ROS的實現與封裝

ROS大神為你詳解:如何搞定Movidius神經計算棒基於ROS的實現與封裝

都說Movidius神經計算棒是神器

什麼才是正確用法?

如今,人工智慧熱潮正在席捲各行各業,而計算力和數據、演算法一同支撐著人工智慧的蓬勃發展。作為人工智慧的一個重要分支,深度學習以其良好的表現,越來越受到業界的廣泛關注。

深度學習模型包含海量的參數,需要強大的計算力進行大規模的神經網路矩陣運算;但是終端和物聯網設備往往更多考慮小體積和低功耗的要求,以至於很難兼顧滿足高性能神經網路計算力和實時性要求。英特爾在去年發布了針對神經網路矩陣運算優化的Movidius神經計算棒,兼具性能強大、外形小巧、超低功耗三大優勢,因此一經上市就備受追捧。

那麼問題來了,如何基於ROS搞定英特爾Movidius神經計算棒的實現與封裝?機器人創新生態特邀Intel開源軟體技術中心專家,為你詳解基於 Movidius 神經計算棒的ROS開發包的功能及其使用方法(附全套代碼),幫助你輕鬆地將深度學習技術引入項目,和其他ROS節點無縫連接,為你的機器人裝上人工智慧的利器。

搞定實現與封裝後,能應用在哪些領域?

將提供物體分類和物體檢測的能力,可以運用於多種機器人使用場景,例如:

1

3D物體識別與追蹤

基於已經識別出的2D物體信息,結合深度感測器採集到的深度信息,可以定位到物體在三維空間當中的位置,從而對物體進行3D識別與跟蹤。

2

機器人智能避障

傳統的機器人避障對於障礙物不加以區分,採取相同的策略。而基於物體識別的避障,能夠根據識別出的物體信息,通過指定不同的策略來應對不斷變化的場景,使機器人避障更加智能。

4

基於語義的同步定位與建圖(SLAM)

通過將識別出的物體標註在SLAM得到的地圖上,可以極好地提高地圖的可讀性。

準備好了嗎?

讓我們跟隨Intel開源軟體技術中心專家一起進入技術細節

技術背景

英特爾在2017年發布了Movidius神經計算棒,與英特爾Movidius神經計算棒一同發布的還有NCSDK和NCAppZoo,為用戶在Movidius 神經計算棒之上開發各自的應用提供了良好的軟體支持。

NCSDK目前提供了C和Python兩種語言的編程的介面,通常應用開發者通過調用這些介面就能操作NCS做深度學習方面的圖像預測工作。然而,機器人研究領域廣泛採用ROS框架,這一框架下的各個應用通常採用消息(message)和話題(topic)的方式進行通信。

在這種特殊情況下,機器人應用開發者不得不對NCSDK做進一步的封裝才能使其無縫工作在ROS系統中。

針對NCSDK到ROS系統的銜接問題,我們提出並實現了一種基於ROS系統的對NCSDK的封裝。該項目目前已經在github上面開源:

github 地址:

https://github.com/intel/ros_intel_movidius_ncs/tree/master

項目介紹

1

軟體架構設計

本項目主體由一個ROS發布節點和一個ROS服務節點組成,以適應不同的應用場景。ROS發布節點用於處理來自相機的視頻流數據,預測結果以消息(message)的形式發布到相應的話題(topic)中,供上層應用調用。ROS服務節點用於處理單張圖片數據,預測結果直接返回給上層消費服務的節點做進一步處理。為了更好的演示這兩個節點的使用方法,我們還開發了多個客戶端節點,最終處理結果會以圖像的形式展現出來。

目前項目可以支持物體分類和物體識別兩種應用。物體分類可以採用不用的CNN模型,例如,GoogleNet, AlexNet和SqueezeNet等。物體識別可以支持TinyYolo, mobilenet-SSD等。

Figure 1. ROS NCS structure

2

運行條件

·運行Ubuntu16.04的x86_64計算機

·ROS Kinetic

·Movidius神經元計算棒(NCS)

·NCSDK和NCAppZoo

·RGB相機

具體環境配置可以參考這裡

https://github.com/intel/ros_intel_movidius_ncs/tree/master

3

編譯與安裝

下載源碼到本地ROS工作區,切換到最新發布,編譯、安裝。

複製CNN標籤文件到指定目錄。

4

運行演示程序

目前本項目可以支持一般的USB camera和Intel RealSense camera。也允許用戶根據需要配置不同的相機。以下以一般USB Camera和RealSense D400系列為例進行說明。其他使用方式請參考文檔(https://github.com/intel/ros_intel_movidius_ncs/tree/master)。

物體分類

視頻流處理

在一個終端啟動視頻流處理節點:

在另一個終端啟動demo節點顯示分類結果:

靜態圖像處理

在一個終端啟動圖像處理節點:

在另一個終端啟動demo節點顯示分類結果,例如:

ROS客戶端軟體的輸出效果如下圖所示.

物體識別

(不僅給出物品分類,還給出物體所在圖像中的二維坐標)

視頻流處理

在一個終端啟動視頻流處理節點:

在另一個終端啟動demo節點顯示物體識別結果:

靜態圖像處理

在一個終端啟動圖像處理節點:

在另一個終端啟動demo節點顯示物體識別結果,例如:

ROS客戶端軟體的輸出效果如下圖所示.

項目展望

本項目目前開發到v0.5.0版本,基於Movidius NCSDK 的不斷演進,本產品也在不斷迭代開發當中。一方面,由於ROS2相對ROS具有更好的安全性和實時性,我們計劃移植項目到ROS2中。另一方面,深度學習正經歷著快速發展,所以我們希望能支持更多的CNN模型以適應不同的機器人使用場景的需要。

5大方向技術詳解正在路上

敬請期待

Intel開源軟體技術中心近期將不斷推出更多的基於ROS/ROS2開發的新技術詳解,涉及物體識別、跟蹤、定位技術,帶有物體信息的語義地圖,移動物體檢測及避障,Intel 3D RealSense 攝像頭的應用,以及ROS到ROS2 的演進,ROS2 的實時及安全性等課題。機器人創新生態也將第一時間提供。

Intel開源技術中心致力於提供豐富的開源解決方案,從Linux kernel,可視化軟體,到大型的支持多架構的項目如Yocto, Chrome/Android 和OpenStack,最近一年,Intel開源軟體技術中心致力於到人工智慧領域的研究,特別是基於機器人研究領域廣泛採用的ROS/ROS2 架構,開發更多的AI開源解決方案。

如果你對此次課題有任何問題,歡迎留言提問,我們會邀請Intel開源技術中心專家親自回答。

END

GIF

對接產業商機

分享行業乾貨

微信ID:robotplaces

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人創新生態 的精彩文章:

IFR預測:服務機器人已進入高速發展的快車道
科學家研發出毫米級Delta機器人,速度快20倍

TAG:機器人創新生態 |