建立 Raspbian* 作業系統與Intel® 類神經電腦棒 2的開放原始碼OpenVINO™工具組

文件

安裝與設定

000057005

2022 年 04 月 14 日

筆記
  • 安裝時需要所有步驟。
  • 這些步驟已透過 Raspberry Pi 4* 主機板和 32 位 Raspbian* Buster 測試。
  • 若要遵循本指南中的步驟,則需要連線網際網路。
  • 本文使用 2021.3 版的OpenVINO™工具組開放原始碼發行進行驗證。

OpenVINO™工具組能快速部署模擬人類視覺的應用程式和解決方案。此工具組將電腦視覺 (CV) 工作負載延伸至採用 Convolutional Neural Network (CNN) 的 Intel® 硬體,將效能最大化。這些步驟通常遵循本文中關於 Intel® 類神經電腦棒 2與開放原始碼OpenVINO™工具組,但包含特定的變更,讓所有內容在主機板上執行。

本指南為您提供為 Raspbian* 作業系統建立OpenVINO™工具組開源分配的步驟,並使用 Intel® 類神經電腦棒 2(Intel® NCS2)。

注意神經電腦棒的原始Intel® Movidius™也與OpenVINO™工具組相容,而該裝置可在本文中而不是Intel® 類神經電腦棒 2使用。

按一下 或主題以取得詳細資料:

系統需求
注意本指南假設您的 Raspberry Pi* 主機板已在下方列出的作業系統上啟動並執行。

硬體

  • Raspberry Pi* 4 (Raspberry Pi* 3 B+ 型號應該可以使用。)
  • 至少 8 GB microSD 卡
  • Intel® 類神經電腦棒 2
  • 乙太網路網際網路連線或相容的無線網路
  • 專用 DC 電源介面卡

目標作業系統

  • Raspbian* 彈性,32 位

  • Raspbian* Buster,32 位
設定您的建置環境
注意本指南包含必須作為根部或 sudo Access 執行才能正確安裝的命令。

確定您的裝置軟體是最新的:

sudo apt update && sudo apt upgrade -y

該工具組的部分依存沒有預先建置的 ARMv7 二進位檔案,必須從來源建立。與其他平臺相比,這可以大幅增加建置時間。準備建置工具組需要下列步驟:

安裝建置工具

sudo apt install build-essential

從源頭安裝 CMake*

從 Kitware* GitHub* 版本頁面擷取 CMake,將其解壓縮,並輸入解壓縮資料夾:

cd ~/

wget https://github.com/Kitware/CMake/releases/download/v3.14.4/cmake-3.14.4.tar.gz

tar xvzf cmake-3.14.4.tar.gz

cd ~/cmake-3.14.4

執行 啟動程式 腳本以安裝額外的依存開始建置:

./bootstrap

make -j4

sudo make install

注意命令 使用的作業數量可以使用-j 旗標進行調整。建議您設定平臺上核心數目的工作數目。

您可以使用命令檢查系統上的核心數量:

grep -c ^processor /proc/cpuinfo

請注意,設定過高的數位可能會導致記憶體超載,導致建置失敗。如果時間允許,建議執行 1 至 2 個工作。

從源頭安裝 OpenCV

Intel® OpenVINO™工具組利用 OpenCV* 的威力,加速基於視覺的推斷。雖然 Intel® OpenVINO™工具組的 CMake 程式下載 OpenCV* 如果支援平臺未安裝任何版本,ARMv7 平臺則不存在特定版本。因此,您必須從源頭建立 OpenCV。

OpenCV 需要一些額外的依存關係。從您的封裝管理器安裝下列內容:

sudo apt install git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libatlas-base-dev python3-scipy 

注意建議在從 OpenCV* GitHub 頁面的儲存庫中,指定最新且穩定的分支或標籤,而不是預設直接重迭主分支。

從 OpenCV* GitHub 頁面複製存放庫,準備建置環境並建置:

cd ~/

git clone --depth 1 --branch 4.5.2-openvino https://github.com/opencv/opencv.git

cd opencv && mkdir build && cd build

cmake –DCMAKE_BUILD_TYPE=Release –DCMAKE_INSTALL_PREFIX=/usr/local ..

make -j4

sudo make install

下載原始碼與安裝依存關係
注意建議在從 openvinotoolkit GitHub 頁面的儲存庫中,指定最新且穩定的分支或標籤,而不是預設直接重迭主分支。

Intel® OpenVINO™工具組的開放原始碼版本可透過 GitHub 取得。存放庫資料夾是格 溫特的 openvino

cd ~/

git clone --depth 1 --branch 2021.3 https://github.com/openvinotoolkit/openvino.git

存放庫也有必須取取的子模組:

cd ~/openvino

git submodule update --init --recursive

Intel® OpenVINO™工具組有許多建置依存關係。 install_build_dependencies.sh 腳本可為您取用。如果嘗試執行腳本時出現任何問題,您必須單獨安裝每個依存度。

執行腳本以安裝 Intel® OpenVINO™工具組的依存關係:

sh ./install_build_dependencies.sh

如果腳本完成成功,您已準備好建置工具組。如果目前發生故障,請確保安裝任何列出的依存關係,然後再試一次。

建築

開始建置的第一步是要求安裝 OpenCV 的系統。使用下列命令:

export OpenCV_DIR=/usr/local/lib/cmake/opencv4

若要建立 Python API 包裝,請安裝 /inference-engine/ie_bridges/python/requirements.txt 檔案中列出的所有額外套件:

cd ~/openvino/inference-engine/ie_bridges/python/

pip3 install -r requirements.txt

注意

使用 -DENABLE_PYTHON=ON option. To specify an exact Python version, use the following options:

-DPYTHON_EXECUTABLE=`which python3.7` \

-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \

-DPYTHON_INCLUDE_DIR=/usr/include/python3.7

使用 -DNGRAPH_ONNX_IMPORT_ENABLE=ON option to enable the building of the nGraph ONNX importer.

使用 -DNGRAPH_PYTHON_BUILD_ENABLE=ON option to enable the nGraph binding.

使用 -DCMAKE_INSTALL_PREFIX={BASE_dir}/openvino_dist to specify the directory for the CMake building to build in:

for example, -DCMAKE_INSTALL_PREFIX=/home/pi/openvino_dist

該工具組使用 CMake 建物系統來引導並簡化建物流程。若要為Intel® 類神經電腦棒 2打造推斷引擎和 MYRIAD 外掛程式,請使用下列命令:

注意執行以下命令時,請移除所有的背擊 (\)。反沖用於通知這些命令未分離。

cd ~/openvino

mkdir build && cd build

cmake -DCMAKE_BUILD_TYPE=Release \

-DCMAKE_INSTALL_PREFIX=/home/pi/openvino_dist \

-DENABLE_MKL_DNN=OFF \

-DENABLE_CLDNN=OFF \

-DENABLE_GNA=OFF \

-DENABLE_SSE42=OFF \

-DTHREADING=SEQ \

-DENABLE_OPENCV=OFF \

-DNGRAPH_PYTHON_BUILD_ENABLE=ON \

-DNGRAPH_ONNX_IMPORT_ENABLE=ON \

-DENABLE_PYTHON=ON \

-DPYTHON_EXECUTABLE=$(which python3.7) \

-DPYTHON_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.7m.so \

-DPYTHON_INCLUDE_DIR=/usr/include/python3.7 \

-DCMAKE_CXX_FLAGS=-latomic ..

make -j4

sudo make install

如果由於 OpenCV 程式庫的問題而 發出 命令失敗,請確定您已告知系統您的 OpenCV 安裝地點。如果目前完成建置,Intel® OpenVINO™工具組已準備好執行。請注意,建置位於 ~/openvino/推斷引擎/bin/armv7l/Release 資料夾中。

驗證安裝

成功完成推斷引擎組建後,您應確認所有裝置都已正確設定。若要確認工具組與Intel® 類神經電腦棒 2在您的裝置上運作,請完成下列步驟:

  1. object_detection_sample_ssd執行範例程式,確認所有程式庫載入正確。
  2. 下載 經過訓練的型號。
  3. 取類神經網路的輸入。
  4. 設定 Intel® 類神經電腦棒 2 Linux* USB 驅動程式。
  5. 使用所選的型號和輸入執行object_detection_sample_ssd

範例應用程式

Intel® OpenVINO™工具組包含一些使用推斷引擎與Intel® 類神經電腦棒 2的範例應用程式。其中一個程式 是object_detection_sample_ssd, 可在下列專案中找到:

~/openvino/bin/armv7l/Release

執行下列命令以測試 object_detection_sample_ssd

cd ~/openvino/bin/armv7l/Release

./object_detection_sample_ssd -h

它應該會列印說明對話,說明計畫的可用選項。

下載模型

該計畫需要一個模型來傳遞輸入。您可以取得以® IR 格式OpenVINO™工具組的模型:

  • 使用 Model Optimizer 將現有模型從支援的框架之一轉換為推斷引擎的 IR 格式
  • 使用 Model Downloader 工具從 Open Model Zoo 下載
  • 直接從 download.01.org 下載 IR 檔案

就我們而言,直接下載最簡單。使用下列命令來取得 person-vehicle-bike detection 模型:

cd ~/Downloads

wget https://download.01.org/opencv/2021/openvinotoolkit/2021.2/open_model_zoo/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin

wget https://download.01.org/opencv/2021/openvinotoolkit/2021.2/open_model_zoo/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml

注意Intel® 類神經電腦棒 2需要針對 16 位浮點格式(稱為 FP16)優化的模型。如果您的模型與範例不同,可能需要使用 Model Optimizer 轉換為 FP16。

神經網路的輸入

最後需要的專案是神經網路的輸入。對於我們下載的型號,您需要具有 3 個色彩通道的影像。將必要的檔案下載到主機板:

cd ~/Downloads
wget https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg -O walk.jpg

設定Intel® 類神經電腦棒 2 Linux USB 驅動程式

需要新增一些 udev 規則,使系統能夠辨識Intel® NCS2 USB 裝置。

注意如果目前的使用者不是使用者群組的成員,請執行下列命令並重新啟動您的裝置。

sudo usermod -a -G users "$(whoami)"

Set up the OpenVINO™環境:

source /home/pi/openvino_dist/bin/setupvars.sh

To perform Intel® 類神經電腦棒 2推斷,執行 USB 規則 install_NCS_udev_rules.sh腳本:

sh /home/pi/openvino_dist/install_dependencies/install_NCS_udev_rules.sh

The USB driver should be installed correctly now. If the Intel® Neural Compute Stick 2 is not detected when running demos, restart your device and try again.

執行 object_detection_sample_ssd

下載模型時,可取得輸入影像,並將Intel® 類神經電腦棒 2插入 USB 埠,使用下列命令執行 object_detection_sample_ssd

cd ~/openvino/bin/armv7l/Release

./object_detection_sample_ssd -i ~/Downloads/walk.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD

這將使用所選選項執行應用程式。 -d 旗標會告訴程式用於推斷的裝置。-MYRIAD 利用 Intel® 類神經電腦棒 2啟動 MYRIAD 外掛程式。命令成功執行後,終端將顯示推斷的統計資料,並產生影像輸出。

[ INFO ] Image out_0.bmp created!
[ INFO ] Execution successful
[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool


使用 Raspbian* 預設影像檢視程式開啟產生的影像輸出:

gpicview out_0.bmp

如果應用程式在您的Intel® NCS2上執行成功,OpenVINO™工具組和Intel® 類神經電腦棒 2已正確設定,以便在您的裝置上使用。

驗證對 Python 有約束力的 nGraph 模組

執行object_detection_sample_ssd Python 示範:

source /home/pi/openvino_dist/bin/setupvars.sh

cd /home/pi/openvino_dist/deployment_tools/inference_engine/samples/python/object_detection_sample_ssd

python3 object_detection_sample_ssd.py -i ~/Downloads/walk.jpg -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -d MYRIAD

如果應用程式在您的Intel® NCS2上成功執行,nGraph 模組將正確綁定至 Python。

環境變數

您必須更新多個環境變數,才能編譯並執行工具組應用程式OpenVINO。執行下列腳本以暫時設定環境變數:

source /home/pi/openvino_dist/bin/setupvars.sh

**(選用)** 關閉外殼時,會移除OpenVINO環境變數。作為一種選項,您可以永久設定環境變數如下:

回音「來源/home/pi/openvino_dist/bin/setupvars.sh」>>~/.>>

若要測試您的變更,請開啟新的終端。您將看到下列內容:

[setupvars.sh]OpenVINO環境初始化

這就完成了 Raspbian* 作業系統OpenVINO™工具組的開源分配建置程式,並以Intel® 類神經電腦棒 2方式使用。

相關主題
在 Raspberry Pi* 上建立 Open Model Zoo 示範
Raspberry Pi* 的工作流程
ncappzoo 現在支援 Intel® NCS 2 和OpenVINO™工具組
OpenVINO™工具組 Open Model Zoo
為 Intel® 類神經電腦棒優化網路 (Intel® NCS 2) 裝置
社群論壇和技術支援