你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
你觉得这篇文章怎么样?
作者 | 許鈺莨/曾俊霖 |
難度 | 普通 |
材料表 |
人工智慧神經網路運算往往是會進行大量浮點數計算,在一般的個人電腦若需要取得較高的計算效率,往往都會透過GPU進行運算,透過GPU強大的浮點數運算能力,可以有效提升神經網路運算的效能,但若是要將神經網路運算放到如樹莓派的單板電腦進行運算,卻往往受限於單板電腦的GPU運算效能,使得神經網路運算的效能不如個人電腦,但是透過單板電腦進行AIoT的應用促使了邊緣運算技術的發展,若單板電腦要在神經網路運算上獲得較佳的運算效能,可以考慮透過USB隨插即用(或有些單板電腦支援PCIe)的外接神經運算裝置解決神經網路運算的效能需求。
在Rpi4執行NCS2並不是插上即可,必須安裝OpenVINO(全名Open Visual Inference & Neural network Optimization),是Intel所釋出的人工智慧開發工具包,用於支援在NCS2的邊緣運算。
(P.S.本文需安裝OpenCV套件,若未安裝請參照文章: 透過Teachable Machine 來實現Raspberry Pi 4 的影像分類推論! )
本文將分為幾個步驟執行:
- 至OpenVINO™ toolkit 官網下載開發工具包到RPi4
- 初始化OpenVINO環境,並設定USB 規則
- 下載所需執行檔,並執行物件辨識範例
以下將針對上述的的三個步驟,進行分項說明。
一、至OpenVINO™ toolkit 官網下載開發工具包到RPi4
1.在打開樹莓派終端機,並將路徑導向Downloads資料夾
$ cd ~/Downloads/
2.下載開發工具包至Downloads資料夾
$ sudo wget https://download.01.org/opencv/2020/openvinotoolkit/2020.1/l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz
3.建立安裝資料夾
$ sudo mkdir -p /opt/intel/openvino
4.解壓縮檔案
$ sudo tar -xf l_openvino_toolkit_runtime_raspbian_p_2020.1.023.tgz --strip 1 -C /opt/intel/openvino
二、初始化OpenVINO環境,並設定USB規則
$ source /opt/intel/openvino/bin/setupvars.sh
$echo "source /opt/intel/openvino/bin/setupvars.sh" >> ~/.bashrc
$sudo usermod -a -G users "$(whoami)"
$source /opt/intel/openvino/bin/setupvars.sh
$ sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
OpenVINO初始化成功後,可把終端機關掉再重開,會看見"[setupvars.sh] OpenVINO environment initialized"的字,即設置成功。
三、下載所需物件辨識範例檔案,並執行於樹莓派
- 執行動態人臉辨識及動態車輛辨識需要各分三種檔案,下列一一講解檔案之來源,人臉辨識需要檔案:
(1)物件辨識範例檔 py,在RPi4的路徑:
/opt/intel/openvino/deployment_tools/inference_engine/samples/python/object_detection_sample_ssd可以找到
(2)神經網路的架構檔 face-detection-adas-0001.xml,在RPi4終端下指令
$ wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.xml
(3)神經網路的權重檔face-detection-adas-0001.bin ,在RPi4終端下指令
$ wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.bin
2.執行動態車輛辨識需要:
(1)物件辨識範例檔 py ,與人臉辨識檔案相同。
(2)神經網路的架構檔 vehicle-detection-adas-0002.xml ,在RPi4終端下指令
$wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.xml
(3)神經網路的權重檔 face-detection-adas-0001.bin ,在RPi4終端機下指令
$ wget --no-check-certificate https://download.01.org/opencv/2020/openvinotoolkit/2020.1/open_model_zoo/models_bin/1/face-detection-adas-0001/FP16/face-detection-adas-0001.bin
讀者將以上檔案下載後需放置同一個資料夾內,而本文已準備好人臉及車輛辨識範例,及相關檔案,下載連結: https://reurl.cc/KkrmDq ,下列說明執行指令。
3. object_detection_demo_ssd_async.py操作參數說明
參數 |
參數功能說明 |
-h |
Help 參數,可以查詢其他指令。 |
-m |
MODEL,匯入.xml模型檔案。 |
-i |
INPUT ,輸入來源為影片檔或接上Webcam。 |
-d |
DEVICE ,推論時是依據哪種硬體執行,本文範例參數為MYRIAD 。 |
--labels |
LABELS,匯入標籤檔,本文範例無須匯入。 |
-pt |
PROB_THRESHOLD ,閾值,又可以解釋信心指數,預設為0.5,也就是只要辨識率5成以上就會認為車輛或人臉。 |
--no_show |
執行程式時無畫面顯示。 |
4. 執行Webcam動態人臉辨識範例。
$ cd ncs2_test
$ python3 object_detection_demo_ssd_async.py -m face-detection-adas-0001.xml -d MYRIAD -i cam
5. 執行影片動態人臉辨識範例,影片來源由Youtube下載。
$ python3 object_detection_demo_ssd_async.py -m face-detection-adas-0001.xml -d MYRIAD -i May.mp4
6. 執行Webcam動態車輛辨識範例,將Webcam掛於窗外拍攝。
$ python3 object_detection_demo_ssd_async.py -m vehicle-detection-adas-0002.xml -d MYRIAD -i cam
7. 執行動態車輛辨識範例影片,影片來源已先預錄於馬路上車況。
$ python3 object_detection_demo_ssd_async.py -m vehicle-detection-adas-0002.xml -d MYRIAD -i traffic_0003.mp4
相关文章
[1]https://docs.openvinotoolkit.org/latest/_docs_install_guides_installing_openvino_raspbian.html