技巧配景
現(xiàn)在,人工智能的高潮正在囊括各行各業(yè),而盤算力和數(shù)據(jù)、算法一同支持著人工智能的蓬勃成長。作為人工智能的一個主要分支, 深度進修以其優(yōu)越的表示,愈來愈遭到業(yè)界的普遍存眷。深度進修模子包括海量的參數(shù),須要壯大的盤算力停止年夜范圍的神經(jīng)收集矩陣運算;而終端和物聯(lián)網(wǎng)裝備常常更多斟酌小體積和功耗的請求,以致于很難統(tǒng)籌知足高機能神經(jīng)收集盤算力和低功耗的請求。英特爾在客歲宣布的針對神經(jīng)收集矩陣運算優(yōu)化的Movidius神經(jīng)元盤算棒 (NCS) 就很好的順應(yīng)了這一運用范疇的需求。本文將向您引見基于 Movidius NCS 的ROS開辟包的功效及其應(yīng)用辦法,您可以輕松地將深度進修技巧引入項目,和其他ROS節(jié)點無縫銜接,為您的機械人裝上人工智能的利器。
與Movidius神經(jīng)元盤算棒一同宣布的還有NCSDK和NCAppZoo,為用戶在Movidius神經(jīng)元盤算棒之上開辟各自的運用供給了優(yōu)越的軟件支撐。
NCSDK今朝供給了C和Python兩種說話的編程的接口,平日運用開辟者經(jīng)由過程挪用這些接口就可以操作NCS做深度進修方面的圖象猜測任務(wù)。但是,在機械人研討范疇,人們普遍采取ROS框架,這一框架下的各個運用平日采取新聞(message)和話題(topic)的方法停止通訊。在這類特別情形下,機械人運用開辟者不能不對NCSDK做進一步的封裝能力使其無縫任務(wù)在ROS體系中。針對NCSDK到ROS體系的連接成績,我們提出并完成了一種基于ROS體系的對NCSDK的封裝。該項目今朝曾經(jīng)在github下面開源(github地址)。
項目引見
1.軟件架構(gòu)設(shè)計
本項目主體由一個ROS宣布節(jié)點和一個ROS辦事節(jié)點構(gòu)成,以順應(yīng)分歧的運用場景。ROS宣布節(jié)點用于處置來自相機的視頻流數(shù)據(jù),猜測成果以新聞(message)的情勢宣布到響應(yīng)的話題(topic)中,供下層運用挪用。ROS辦事節(jié)點用于處置單張圖片數(shù)據(jù),猜測成果直接前往給下層花費辦事的節(jié)點做進一步處置。為了更好的演示這兩個節(jié)點的應(yīng)用辦法,我們還開辟了多個客戶端節(jié)點,終究處置成果會以圖象的情勢展示出來。
今朝項目可以支撐物體分類和物體辨認(rèn)兩種運用。物體分類可以采取分歧的CNN模子,例如,GoogleNet, AlexNet和SqueezeNet等。物體辨認(rèn)可以支撐TinyYolo, mobilenet-SSD等。

Figure 1. ROS NCS structure

2.運轉(zhuǎn)前提
·運轉(zhuǎn)Ubuntu16.04的x86_64盤算機
·ROS Kinetic
·Movidius神經(jīng)元盤算棒(NCS)
·NCSDK和NCAppZoo
·RGB相機
詳細情況設(shè)置裝備擺設(shè)可以參考這里。
3.編譯與裝置
下載源碼到當(dāng)?shù)豏OS任務(wù)區(qū),切換到最新宣布,編譯、裝置。
復(fù)制CNN標(biāo)簽文件到指定目次。

4.運轉(zhuǎn)演示法式
今朝本項目可以支撐普通的USB camera和Intel RealSense camera。也許可用戶依據(jù)須要設(shè)置裝備擺設(shè)分歧的相機。以下以普通USB Camera和RealSense D400系列為例停止解釋。其他應(yīng)用方法請參考文檔。
·物體分類
視頻流處置
在一個終端啟動視頻流處置節(jié)點:

在另外一個終端啟動demo節(jié)點顯示分類成果:

靜態(tài)圖象處置
在一個終端啟動圖象處置節(jié)點:

在另外一個終端啟動demo節(jié)點顯示分類成果,例如:

ROS客戶端軟件的輸入后果以下圖所示.

·物體辨認(rèn)(不只給出物品分類,還給出物體地點圖象中的二維坐標(biāo))
視頻流處置
在一個終端啟動視頻流處置節(jié)點:

在另外一個終端啟動demo節(jié)點顯示物體辨認(rèn)成果:

靜態(tài)圖象處置
在一個終端啟動圖象處置節(jié)點:

在另外一個終端啟動demo節(jié)點顯示物體辨認(rèn)成果,例如:

ROS客戶端軟件的輸入后果以下圖所示.

運用范疇
本項目供給的物體分類和物體檢測的才能,可以應(yīng)用于多種機械人應(yīng)用場景,例如:
1.3D物體辨認(rèn)與追蹤
基于曾經(jīng)辨認(rèn)出的2D物體信息,聯(lián)合深度傳感器收集到的深度信息,可以定位到物體在三維空間傍邊的地位,從而對物體停止3D辨認(rèn)與跟蹤。
2.機械人智能避障
傳統(tǒng)的機械人避障關(guān)于妨礙物不加以辨別,采用雷同的戰(zhàn)略。而基于物體辨認(rèn)的避障,可以或許依據(jù)辨認(rèn)出的物體信息,經(jīng)由過程指定分歧的戰(zhàn)略來應(yīng)對賡續(xù)變更的場景,使機械人避障加倍智能。
3.基于語義的同步定位與建圖(SLAM)
經(jīng)由過程將辨認(rèn)出的物體標(biāo)注在SLAM獲得的地圖上,可以極好地進步地圖的可讀性。
瞻望
本項目今朝開辟到v0.5.0版本,基于Movidius NCSDK 的賡續(xù)演進,本產(chǎn)物在賡續(xù)迭代開辟傍邊。一方面,因為ROS2絕對ROS具有更好的平安性和及時性,我們籌劃移植項目到ROS2中。另外一方面,深度進修正派歷著疾速成長,所以我們愿望能支撐更多的CNN模子以順應(yīng)分歧的機械人應(yīng)用場景的須要。












