你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
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. 执行动态人脸辨识及动态车辆辨识需要各分三种档案,下列一一讲解档案之来源,人脸辨识需要档案:
(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) 对象辨识范例文件 object_detection_demo_ssd_async.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