在树莓派3B+上部署Intel NCS2神经网络计算棒
- 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插件。
总体步骤:
- 安装Intel®️ Distribution of OpenVINO™️ toolkit。
- 设置环境变量。
- 添加USB规则。
- 运行例程确认安装正确。
安装包所含内容:
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神经网络计算棒相关推荐
- 树莓派3B上部署运行.net core 2程序
针对Linxu arm处理器如何部署.net core 2的资料很少,网上找到几篇但都写得不够详细,按照他们教程来撞墙了,折磨了几天终于部署成功了,先上一张运行成功的图 1.windows系统中,在项 ...
- 从零开始搭建树莓派 + intel movidius 神经元计算棒2代深度学习环境
从零开始搭建树莓派+intel movidius 神经元计算棒2代深度学习环境 摘要 材料硬件: 步骤: 1. 下载树莓派镜像并解压 2. 烧写镜像 3. 启动树莓派 4. 配置树莓派 5. 安装cm ...
- 【全流程】从头在树莓派4B上部署自己训练的yolov5模型(配合NCS2加速)
目录 0.前言 1.我的环境 2.整个流程 3.具体过程 3.1 训练自己的yolov5模型 3.2 将.pt模型转换为.onnx模型 3.3 在本地将.onnx转换成IR模型 3.4 在树莓派4B上 ...
- 在树莓派3B+ 上使用YOLO v3 Tiny进行实时对象检测
主要参考文章:http://funofdiy.blogspot.com/2018/08/deep-learning-with-raspberry-pi-real.html(需要vpn) https:/ ...
- 树莓派安装win10arm linux,在树莓派3B 上安装 Windows 10 ARM 版的方法
早先关注我们的朋友可能对<国外开发者尝试在树莓派3上运行Windows 10桌面版>有印象.本文转自 amatfan.com,文末视频来自 daveb778(感谢柠栀和刺分享),给出了如何 ...
- 树莓派3B上用Python编程获取TSL2561光传感器数据
在树莓派3B上用Python编程,通过I2C协议,利用TSL2561光照强度传感器获取环境光强 嵌入式萌新一枚,文章有解释不清或者错误的地方希望大佬能在评论区指正,感激不尽! 大概原理: 通过TSL2 ...
- OpenHarmony3.0在树莓派3B上的烧录与通讯
OpenHarmony3.0已于2021年9月30号正式发布,本篇文章详细给出OpenHarmony3.0在树莓派3B上的烧录与通讯步骤,对其中使用的指令进行详细解释,同时附有烧录与通讯过程中使用的各 ...
- 树莓派3b+和 intel movidius 神经元计算棒2代 跑yolo v3 tiny
本帖子主要是参考了以下两篇: 第一篇: 从零开始搭建树莓派 + intel movidius 神经元计算棒2代深度学习环境 这篇文章主要目录如下: 摘要 材料硬件: 步骤: 1. 下载树莓派镜像 ...
- 树莓派4b上部署yolov3和v3-tiny记录带截图
首先在 PC 上进行yolov3的模型训练和测试,得到.weight和.cfg文件,这两个文件要进行模型的转换然后在树莓派上部署. 一.在树莓派上烧录镜像,buster10系统即可,在系统上更改国内源 ...
最新文章
- 一键编译php,编译安装php 附加一键安装php5.6.30脚本
- SVN中如何创建共享文件夹
- chromium 源码下载地址
- hibernate 表关系映射详解之多对多
- C和指针之字符串编程练习1
- hdoj4283 You Are the One
- pakeage php国内镜像,Packagist/Composer中国全量镜像 | 严佳冬
- Visinets:一个可以让你的信号通路图动起来的网站!
- Linux内核分析 - 网络[十五]:陆由表[再议]
- 《Puppet实战手册》——导读
- 自建服务器调试,Mac简单实现服务器搭建(本地)与iOS调试
- php-5.6.26源代码 - hash存储结构 - hash算法
- 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类
- mysql --force 无效_【技能库】--mysql 索引失效 force index也失效-- 原因解决方案(256)...
- 定时器cron表达式
- sql 注射 nbsi分析
- outlook服务器邮件满了怎么办,outlook邮箱满了怎么清理_outlook一直提示邮箱满了如何清理-win7之家...
- 传说中的蝴蝶效应?--MAC地址克隆竟然惹祸了!
- 安装phpcs和php-cs-fixer
- SAP FI 系列 (031) - 允许在会计凭证中修改统驭科目