使用Intel NCS 2及OpenVINO在樹莓派上跑自駕車

作者:CAVEDU 教育團隊

CAVEDU 團隊之前曾經使用樹莓派結合 NCS 實作自駕車,課程推出後受到大家的熱烈迴響,感謝大家的熱情參與,先前上課所使用的 NCS 為一代的版本,在本篇文章中,我們將使用第二代的 NCS, 搭配全新的函式庫 OpenVINO 來實作。

安裝 OpenVINO

1. 準備樹莓派,並灌好 Raspbian 作業系統。

您可以在樹莓派官網下載最新的映像檔,下載完後,可以用 Etcher 將映像檔燒錄到 SD 卡中來開機。如果您使用的是「RK—樹莓派神經網路自走車套件」,可以直接開啟終端機下載套件包。

2. 樹莓派開機,接上網路,打開終端機。

3. 數入以下指令下載 OpenVINO 套件包。請注意,隨著版本更新,套件包的版號也會變,本範例所使用的版本為「2018.5.445」。

4. 解壓縮套件包。

解壓縮完成後,您會看到有一個資料夾「inference_engine_vpu_arm」出現在加目錄當中。

5. 執行以下的指令來修改 setupvars.sh 中的參數,待會設定環境參數時會用到。

6. 環境參數設定

輸入以下的指令來啟動自動設定 OpenVINO 的環境參數:

第一次設定完,請重新登入一次shell或者是重新打開終端機才會生效。

成功啟動環境的話,您將會看到「[setupvars.sh] OpenVINO environment initialized」的字樣

7. 為了使樹莓派能夠認得 NCS,必須再額外設定 USB Rules

將現在的使用者加入 users 的群組。

加入完成後,並須登出再重新登入。

安裝 udev rules。

當終端機出現「[setupvars.sh] OpenVINO environment initialized」時,表示您已經在樹莓派上成功安裝 OpenVINO 了,此版本的 OpenVINO 只有 Inference Engine 而已,只能做辨識。為了要能夠將訓練完的模型編譯成 NCS 看得懂的格式,我們必須在電腦上安裝完整版的 OpenVINO Toolkit。

搭配 RK — 樹莓派神經網路自走車套件

如果您有「RK–樹莓派神經網路自走車套件」可以搭配範例(ai-car-openvino.zip)使用以下指令啟動;另請先將 RK-樹莓派神經網路自走車套件 提供的檔案下載至樹莓派,並解壓縮檔案。

將樹莓派接上 Movidius 2,接下來我們將使用預錄好的影片來測試訓練過的模型。

(小提醒:按下 ctrl+c 可以停掉程式)

以下是跑出來的測試結果,辨識一幀圖片大概需要花 0.014 秒左右。


如果讀者想要看到實際的畫面的話,可以在指令的尾端加上–gui

同樣的範例,我們也可以用來跑在 NCS 一代上面,跑出來的結果如下:

可以看到 NCS 一代在表現上稍稍輸了 NCS 二代,在處理單張影像的時間花了 0.026 秒左右,差不多是快兩倍的時間呢!

解惑時間

  • 可以用本範例來辨識攝影機的影像嗎?

可以的,一樣使用上面的指令,但是就不指定為使用影片檔。

  • 那如果我有一台自走車,上面有馬達跟攝影機,該怎麼跑這個範例讓機器人動起來?

以我們之前上課的機器人套件為例,可以執行以下的指令來讓機器人根據攝影機的影像來判斷交通號誌,並且控制馬達做出對應的動作,例如轉彎、前進、停止等。

  • 那如果我有自己的資料然後想要自己訓練模型呢?

這個問題比較複雜,首先樹莓派本身並沒有足夠的算力可以做深度學習的訓練,所以我們會建議找一台電腦來做訓練這件事情。關於訓練模型,首先我們必須在電腦上安裝好 python 及 tensorflow 的環境, 然後執行以下的指令來做訓練,其中,model-base-dir 代表訓練完的模型要放在哪裡,data-dir 則代表訓練用的資料集的位置。

因為我們在樹莓派上面安裝的 OpenVINO 只有 Inference Engine,只能做辨識;為了要能夠將訓練完的模型編譯成 NCS 看得懂的格式,我們必須在電腦上安裝完整版的 OpenVINO Toolkit。

詳細的安裝說明,請參考 Intel 官方的安裝教學:

(本文轉載自 CAVEDU 教育團隊原文連結;責任編輯:謝長霖)

CAVEDU 教育團隊

CAVEDU 教育團隊

CAVEDU 教育團隊是由一群對教育充滿熱情的大孩子所組成的機器人科學教育團隊。致力推動國內機器人教育。
CAVEDU 教育團隊

Author: CAVEDU 教育團隊

CAVEDU 教育團隊是由一群對教育充滿熱情的大孩子所組成的機器人科學教育團隊。致力推動國內機器人教育。

Share This Post On
468 ad

Submit a Comment

你的電子郵件位址並不會被公開。 必要欄位標記為 *