为Raspbian * OS安装OpenVINO™工具包
在本文档中
- 介绍
- 开发和目标平台
- 概观
- 安装用于Raspbian * OS软件包的OpenVINO™Toolkit
- 安装外部软件依赖项
- 设置环境变量
- 添加USB规则
- 构建和运行对象检测示例
- 使用OpenCV * API运行人脸检测模型推理
- Raspberry Pi *的工作流程
注意:
- OpenVINO™工具包以前称为英特尔®计算机视觉SDK。
- 这些步骤适用于32位Raspbian * 9 OS(Stretch),这是Raspberry Pi *板的官方操作系统。
- 这些步骤已通过Raspberry Pi 3 *验证。
- 除非另有说明,否则本指南中的所有步骤均必需
- 需要互联网连接才能按照本指南中的步骤操作。
介绍
OpenVINO™工具包可快速部署模拟人类视觉的应用程序和解决方案。该工具包基于卷积神经网络(CNN),可扩展英特尔®硬件的计算机视觉(CV)工作负载,从而最大限度地提高性能。OpenVINO工具包包括英特尔®深度学习部署工具包(英特尔®DLDT)。
用于Raspbian * OS的OpenVINO™工具包仅包含推理引擎和MYRIAD插件。您可以将其与英特尔®Movidius™神经计算棒(英特尔®NCS)或插入其中一个USB端口的英特尔®神经计算棒2一起使用。
包含在安装包中
用于Raspbian OS的OpenVINO工具包是一个包含预安装头文件和库的存档。默认情况下安装以下组件:
零件 |
描述 |
这是运行深度学习模型的引擎。它包含一组库,可以轻松推理与应用程序的集成。 |
|
为英特尔®硬件编译的OpenCV *社区版本。 |
|
一组简单的控制台应用程序,演示如何在您的应用程序中使用英特尔深度学习推理引擎。 |
注意:该软件包不包含模型优化程序。要将模型转换为中间表示(IR),您需要将其单独安装到主机。
开发和目标平台
硬件
- Raspberry Pi *板,采用ARM * ARMv7-A CPU架构。检查uname -m返回armv7l。
- 英特尔®Movidius™可视处理单元(VPU)之一:
- 英特尔®Movidius™神经计算棒
- 英特尔®神经计算棒2
操作系统
- Raspbian * Stretch,32位
软件
- CMake * 3.7.2或更高版本
概观
本指南提供了有关如何为Raspbian * OS安装OpenVINO™工具包的逐步说明。为每种类型的兼容硬件提供链接,包括下载,初始化和配置步骤。将涵盖以下步骤:
- 安装OpenVINO™工具包
- 安装外部软件依赖项
- 设置环境变量
- 添加USB规则
- 运行对象检测示例以验证推理引擎安装
- 运行人脸检测模型推断(用于OpenCV *)以验证OpenCV安装
- 了解Raspberry Pi的工作流程
安装用于Raspbian * OS软件包的OpenVINO™Toolkit
本指南假设您下载了用于Raspbian * OS的OpenVINO工具包。如果您没有该工具包软件包的副本,请l_openvino_toolkit_raspbi_p_<version>.tgz从英特尔®开源技术中心下载最新版本,然后返回本指南继续安装。
注意:用于Raspbian OS的OpenVINO工具包是在没有安装程序的情况下分发的,因此除了用于Linux * OS的OpenVINO™工具包的英特尔®分发版之外,您还需要执行额外的步骤。
- 打开终端*或您首选的控制台应用程序。
- 转到下载OpenVINO工具包的目录。本文档假定这是您的~/Downloads目录。如果没有,请替换~/Downloads文件所在的目录。
cd~ / Downloads /
默认情况下,包文件保存为l_openvino_toolkit_raspbi_p_<version>.tgz。
- 创建安装文件夹。
sudo mkdir -p / opt / intel / openvino
- 解压缩档案:
sudo tar -xf l_openvino_toolkit_raspbi_p_ <version> .tgz --strip 1 -C / opt / intel / openvino
- setupvars.sh通过替换<INSTALLDIR>安装文件夹的绝对路径来修改脚本:
sudo sed -i“s | <INSTALLDIR> | / opt / intel / openvino |” /opt/intel/openvino/bin/setupvars.sh
现在安装了OpenVINO工具包组件。仍需要其他配置步骤。继续下一部分以安装外部软件依赖项,配置环境并设置USB规则。
安装外部软件依赖项
构建推理引擎示例应用程序需要CMake *版本3.7.2或更高版本。要安装,请打开Terminal *窗口并运行以下命令:
sudo apt install cmake
CMake已安装。继续下一部分以设置环境变量。
设置环境变量
在编译和运行OpenVINO工具包应用程序之前,必须更新多个环境变量。运行以下脚本以临时设置环境变量:
来源/opt/intel/openvino/bin/setupvars.sh
(可选)关闭shell时将删除OpenVINO环境变量。作为选项,您可以永久设置环境变量,如下所示:
echo“source /opt/intel/openvino/bin/setupvars.sh”>>〜/ .bashrc
要测试您的更改,请打开一个新终端。您将看到以下内容:
[setupvars.sh]初始化OpenVINO环境
继续下一部分,为英特尔®Movidius™神经计算棒和英特尔®神经计算棒2设备添加USB规则。
添加USB规则
- 将当前Linux用户添加到users组:
sudo usermod -a -G用户“$(whoami)”
注销并登录以使其生效。
- 要对英特尔®Movidius™神经计算棒或英特尔®神经计算棒2进行推断,请安装运行install_NCS_udev_rules.sh脚本的USB规则:
sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh
您已准备好编译并运行对象检测示例以验证推理引擎安装。
构建和运行对象检测示例
按照以下步骤使用OpenVINO工具包中的推理引擎样本运行预先训练的人脸检测网络。
- 导航到您具有写入权限的目录,并创建样本构建目录。此示例使用名为的目录build:
mkdir build && cd build
- 构建对象检测示例:
cmake -DCMAKE_BUILD_TYPE =发布-DCMAKE_CXX_FLAGS =“ - march = armv7 -a”/ opt / intel / openvino / deployment_tools / inference_engine / samples
make -j2 object_detection_sample_ssd
- 下载预先训练的人脸检测模型或从主机复制:
- 要下载.bin带权重的文件:
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R1/models_bin/face-detection-adas-0001/FP16/face-detection-adas-0001.bin
-
- 要下载.xml具有网络拓扑的文件:
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R1/models_bin/face-detection-adas-0001/FP16/face-detection-adas-0001.xml
- 运行示例并指定模型和输入图像的路径:
./armv7l/Release/object_detection_sample_ssd -m face-detection-adas-0001.xml -d MYRIAD -i <path_to_image>
应用程序输出一个图像(out_0.bmp),其中检测到的面对包围在矩形中。
继续下一部分以验证OpenCV安装。
使用OpenCV * API运行人脸检测模型推理
要验证OpenCV *安装,请使用推理引擎后端运行OpenCV深度学习模块。这是一个Python *示例,它与预先训练的人脸检测模型一起使用:
- 下载预先训练的人脸检测模型或从主机复制:
- 要下载.bin带权重的文件:
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R1/models_bin/face-detection-adas-0001/FP16/face-detection-adas-0001.bin
-
- 要下载.xml具有网络拓扑的文件:
wget --no-check-certificate https://download.01.org/opencv/2019/open_model_zoo/R1/models_bin/face-detection-adas-0001/FP16/face-detection-adas-0001.xml
- 创建一个名为的新Python *文件,openvino_fd_myriad.py并在其中复制以下脚本:
将cv2导入为cv
#加载模型。
net = cv.dnn.readNet('face-detection-adas-0001.xml',
的脸检测用ADAS-0001.bin')
#指定目标设备。
net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)
#阅读图像。
frame = cv.imread('/ path / to / image')
#准备输入blob并执行推理。
blob = cv.dnn.blobFromImage(frame,size =(672,384),ddepth = cv.CV_8U)
net.setInput(BLOB)
out = net.forward()
#在框架上绘制检测到的面部。
用于out.reshape(-1,7)中的检测:
置信度=浮点数(检测[2])
xmin = int(检测[3] * frame.shape [1])
ymin = int(检测[4] * frame.shape [0])
xmax = int(检测[5] * frame.shape [1])
ymax = int(检测[6] * frame.shape [0])
如果信心> 0.5:
cv.rectangle(frame,(xmin,ymin),(xmax,ymax),color =(0,255,0))
#将帧保存到图像文件。
cv.imwrite('out.png',frame)
- 运行脚本:
python3 openvino_fd_myriad.py
在此脚本中,OpenCV *从中间表示(IR)格式和图像加载人脸检测模型。然后它运行推理并使用检测到的面保存图像。
恭喜,您已完成用于Raspbian * OS安装的OpenVINO™工具包。您已完成本指南中所有必需的安装,配置和构建步骤。
如果您想了解有关Raspberry Pi的OpenVINO工作流程的更多信息,请阅读下一个主题。
Raspberry Pi *的工作流程
如果要将模型用于推理,则必须将模型转换为由推理引擎用作输入的.bin和.xml中间表示(IR)文件。Raspberry Pi上的OpenVINO™工具包支持仅包括英特尔®分布式OpenVINO™工具包的推理引擎模块。此平台不支持模型优化程序。要获得优化模型,您可以使用以下选项之一:
- 从英特尔®开源技术中心下载适用于OpenVINO版本的一套即用型预训练模型:
- 有关OpenVINO 2019 R1版本的型号,请访问https://download.01.org/opencv/2019/open_model_zoo/R1/。
- 有关OpenVINO 2018 R5版本的型号,请访问https://download.01.org/openvinotoolkit/2018_R5/open_model_zoo/。
有关预训练模型的更多信息,请参阅预训练模型文档