• 2018.12.20日 英特尔更新了OpenVINO Toolkit R5版本。该版本添加了对树莓派的支持。作为NCS2的官方开发套件,OpenVINO在此之前只能在台式机ubuntu 16.04上使用。而在树莓派上使用的ncsdk并不支持NCS2计算棒。通过在树莓派上部署OpenVino,可实现在树莓派上使用NCS2加速神经网络计算。

本博客依照官方资料编写,博主在确认可行(排雷)后,第一时间写下此博文。官方链接:
https://software.intel.com/en-us/articles/OpenVINO-Install-RaspberryPI#install-the-package

intel NCS & OpenVINO 交流QQ群:608483784

系统要求:

你需要一个安装了Raspbian 9 OS 32位,也就是官方系统的树莓派3B+。

注意事项:

一般来说, 所有的步骤都是不可或缺的,除非您在之前已经部署过了一些模块。
OpenVINO toolkit for Raspbian OS 只包含了MYRIAD插件。

总体步骤:

  1. 安装Intel®️ Distribution of OpenVINO™️ toolkit。
  2. 设置环境变量。
  3. 添加USB规则。
  4. 运行例程确认安装正确。

安装包所含内容:

1.推理引擎
2.OpenCV 4.0
3.样本代码

安装步骤:

下载Intel®️ Distribution of OpenVINO™️ toolkit。
(此处默认下载目录,安装目录为~/Downloads)

打开终端:

1.切换目录:

cd ~/Downloads/

2.解压文件:(如后期版本更新,请自行修改版本号。)

tar -xf l_openvino_toolkit_ie_p_2018.5.445.tgz

3.修改 setupvars.sh 脚本的< INSALLDIR >为安装目录的绝对路径:

sed -i "s|<INSTALLDIR>|$(pwd)/inference_engine_vpu_arm|" inference_engine_vpu_arm/bin/setupvars.sh

4.添加环境变量:
选择1:临时应用环境变量

source inference_engine_vpu_arm/bin/setupvars.sh

选择2: 长期应用环境变量

在.bashrc文件尾部添加以下代码:

source ~/Downloads/inference_engine_vpu_arm/bin/setupvars.sh

保存后,开启一个新的终端,看见
[setupvars.sh] OpenVINO environment initialized
即成功。

5.添加USB规则:
添加当前用户到用户组:

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

执行完该命令后注销重新登录。

6.使用命令添加规则:

sh inference_engine_vpu_arm/install_dependencies/install_NCS_udev_rules.sh

注:如提示没有rule文件,请在当前目录建立文件97-myriad-usbboot.rules 文件内包含如下内容

SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="2485", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"

然后使用下列命令

sudo cp 97-myriad-usbboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo ldconfig

即可添加USB规则。

至此,NCS2环境部署已完成。我们使用官方例程进行验证。

1.转到包含示例源码的文件夹:

cd inference_engine_vpu_arm/deployment_tools/inference_engine/samples

2.新建文件夹build:

mkdir build && cd build

3.构建对象检测示例:

cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv7-a"
make -j4 object_detection_sample_ssd

4.下载预先训练的人脸检测模型:

wget --no-check-certificate https://download.01.org/openvinotoolkit/2018_R4/open_model_zoo/face-detection-adas-0001/FP16/face-detection-adas-0001.bin
wget --no-check-certificate https://download.01.org/openvinotoolkit/2018_R4/open_model_zoo/face-detection-adas-0001/FP16/face-detection-adas-0001.xml

5.运行示例测试结果:(path_to_image 为带人脸的图片路径)

./armv7l/Release/object_detection_sample_ssd -m face-detection-adas-0001.xml -d MYRIAD -i <path_to_image>

使用OpenCV API运行人脸检测模型

新建一个名为openvino_fd_myriad.py的文件,内容如下:(’/path/to/image‘替换为图片绝对路径)

import cv2 as cv# Load the model
net = cv.dnn.readNet('face-detection-adas-0001.xml', 'face-detection-adas-0001.bin') # Specify target device
net.setPreferableTarget(cv.dnn.DNN_TARGET_MYRIAD)# Read an image
frame = cv.imread('/path/to/image')# Prepare input blob and perform an inference
blob = cv.dnn.blobFromImage(frame, size=(672, 384), ddepth=cv.CV_8U) net.setInput(blob)
out = net.forward()# Draw detected faces on the frame
for detection in out.reshape(-1, 7): confidence = float(detection[2]) xmin = int(detection[3] * frame.shape[1]) ymin = int(detection[4] * frame.shape[0]) xmax = int(detection[5] * frame.shape[1]) ymax = int(detection[6] * frame.shape[0])if confidence > 0.5:cv.rectangle(frame, (xmin, ymin), (xmax, ymax), color=(0, 255, 0))# Save the frame to an image file
cv.imwrite('out.png', frame)

然后运行脚本

python3 openvino_fd_myriad.py

以上完成后,便成功在树莓派上部署NCS2计算棒的运行环境了。

在树莓派3B+上部署Intel NCS2神经网络计算棒相关推荐

  1. 树莓派3B上部署运行.net core 2程序

    针对Linxu arm处理器如何部署.net core 2的资料很少,网上找到几篇但都写得不够详细,按照他们教程来撞墙了,折磨了几天终于部署成功了,先上一张运行成功的图 1.windows系统中,在项 ...

  2. 从零开始搭建树莓派 + intel movidius 神经元计算棒2代深度学习环境

    从零开始搭建树莓派+intel movidius 神经元计算棒2代深度学习环境 摘要 材料硬件: 步骤: 1. 下载树莓派镜像并解压 2. 烧写镜像 3. 启动树莓派 4. 配置树莓派 5. 安装cm ...

  3. 【全流程】从头在树莓派4B上部署自己训练的yolov5模型(配合NCS2加速)

    目录 0.前言 1.我的环境 2.整个流程 3.具体过程 3.1 训练自己的yolov5模型 3.2 将.pt模型转换为.onnx模型 3.3 在本地将.onnx转换成IR模型 3.4 在树莓派4B上 ...

  4. 在树莓派3B+ 上使用YOLO v3 Tiny进行实时对象检测

    主要参考文章:http://funofdiy.blogspot.com/2018/08/deep-learning-with-raspberry-pi-real.html(需要vpn) https:/ ...

  5. 树莓派安装win10arm linux,在树莓派3B 上安装 Windows 10 ARM 版的方法

    早先关注我们的朋友可能对<国外开发者尝试在树莓派3上运行Windows 10桌面版>有印象.本文转自 amatfan.com,文末视频来自 daveb778(感谢柠栀和刺分享),给出了如何 ...

  6. 树莓派3B上用Python编程获取TSL2561光传感器数据

    在树莓派3B上用Python编程,通过I2C协议,利用TSL2561光照强度传感器获取环境光强 嵌入式萌新一枚,文章有解释不清或者错误的地方希望大佬能在评论区指正,感激不尽! 大概原理: 通过TSL2 ...

  7. OpenHarmony3.0在树莓派3B上的烧录与通讯

    OpenHarmony3.0已于2021年9月30号正式发布,本篇文章详细给出OpenHarmony3.0在树莓派3B上的烧录与通讯步骤,对其中使用的指令进行详细解释,同时附有烧录与通讯过程中使用的各 ...

  8. 树莓派3b+和 intel movidius 神经元计算棒2代 跑yolo v3 tiny

    本帖子主要是参考了以下两篇: 第一篇: 从零开始搭建树莓派 + intel movidius 神经元计算棒2代深度学习环境 这篇文章主要目录如下: 摘要 材料硬件: 步骤: 1.    下载树莓派镜像 ...

  9. 树莓派4b上部署yolov3和v3-tiny记录带截图

    首先在 PC 上进行yolov3的模型训练和测试,得到.weight和.cfg文件,这两个文件要进行模型的转换然后在树莓派上部署. 一.在树莓派上烧录镜像,buster10系统即可,在系统上更改国内源 ...

最新文章

  1. 一键编译php,编译安装php 附加一键安装php5.6.30脚本
  2. SVN中如何创建共享文件夹
  3. chromium 源码下载地址
  4. hibernate 表关系映射详解之多对多
  5. C和指针之字符串编程练习1
  6. hdoj4283 You Are the One
  7. pakeage php国内镜像,Packagist/Composer中国全量镜像 | 严佳冬
  8. Visinets:一个可以让你的信号通路图动起来的网站!
  9. Linux内核分析 - 网络[十五]:陆由表[再议]
  10. 《Puppet实战手册》——导读
  11. 自建服务器调试,Mac简单实现服务器搭建(本地)与iOS调试
  12. php-5.6.26源代码 - hash存储结构 - hash算法
  13. 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类
  14. mysql --force 无效_【技能库】--mysql 索引失效 force index也失效-- 原因解决方案(256)...
  15. 定时器cron表达式
  16. sql 注射 nbsi分析
  17. outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理_outlook一直提示邮箱满了如何清理-win7之家...
  18. 传说中的蝴蝶效应?--MAC地址克隆竟然惹祸了!
  19. 安装phpcs和php-cs-fixer
  20. SAP FI 系列 (031) - 允许在会计凭证中修改统驭科目

热门文章

  1. 02.AOSP调试记录
  2. ArcGIS教程:创建饼图
  3. 过来人的经验:自学编程的6个建议
  4. 数字图像处理作业文档整合
  5. jdk1.7新特性: 自动关闭IO流
  6. (附源码)ssm+mysql+基于SSM框架的图片分享及评价网站设计与实现 毕业设计201524
  7. foobar2000利用cue对ape进行分轨操作及其常见问题
  8. Springboot-项目启动加载类
  9. 安卓开发常用的adb命令
  10. 关于final修饰的变量赋值的问题