用树莓派4b构建深度学习应用(八)Openvino篇

​前言

虽然这一代的树莓派增加了内存,但主频的限制使得直接用纯主板推理,速度还是不够实时,这一篇我们介绍一下在树莓派上部署 OpenVINO 神经棒,进一步提升AI的推理速度。

image
image

Intel的了第二代神经计算棒(Neural Compute Stick 2/NCS 2),身材依然只有U盘大小,尺寸只有72.5×27×14毫米,内置了最新的Intel Movidius Myriad X VPU视觉处理器,集成16个SHAVE计算核心、专用深度神经网络硬件加速器,可以极低的功耗执行高性能视觉和AI推理运算,支持TensorFlow、Caffe开发框架。
image

按照Intel给出的数据,NCS 2的性能比之前的Movidius计算棒有了极大的提升,其中图像分类性能高出约5倍,物体检测性能则高出约4倍。
image

NCS2 的主要特点:

  • 边缘处的深度学习推理

  • Open Model Zoo 上预先训练的模型

  • 一个函数库和预先优化的内核,用于更快地投放到市场

  • 支持使用一个公共 API 的跨各种计算机视觉加速器(CPU、GPU、VPU 和 FPGA)的异质性执行

  • Raspberry Pi 硬件支持

安装OpenVINO 工具套件

image

NCS2 支持树莓派作为其的一个特点,intel官方专门做了个主题文档,那部署起来就相当友好了。

https://docs.openvinotoolkit.org/cn/latest/_docs_install_guides_installing_openvino_raspbian.html

1 下载安装包

我选择的版本是 2020年4月的版本:

cd ~/Downloads/

2 安装外部软件依赖

之前已经安装过cmake,其实这步可跳过。

sudo apt install cmake

3 设定环境变量

source /opt/intel/openvino/bin/setupvars.sh

现在每打开一个新的命令行终端。将会出现下列信息:

[setupvars.sh] OpenVINO environment initialized

image

4 添加 USB 规则

将当前的 Linux 用户添加到users群组:注销并登录,使设定生效。

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

安装 USB 规则

sh /opt/intel/openvino/install_dependencies/install_NCS_udev_rules.sh

5 USB 插入intel 神经棒 NCS2

重新插入NCS2,准备运行程序。

构建对象检测样本

1 新建编译目录

mkdir openvino && cd openvino

2 构建对象检测样本

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv7-a" /opt/intel/openvino/deployment_tools/inference_engine/samples/cpp

3 下载权重文件,网络拓扑文件和被测试图片

要下载.bin带权重的文件:

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

要下载带网络拓扑.xml的文件:

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

搜索一些包含人脸的图片作为被检测样本,保存到 ~/Downloads/image 目录下。

4 运行程序

其中 -m 指定模型拓扑结构 .xml 文件,程序会自动寻找同名 .bin 权重文件;

-d MYRIAD 代表用神经棒作为推理设备;

-i 指定了被测图片的路径。

./armv7l/Release/object_detection_sample_ssd -m face-detection-adas-0001.xml -d MYRIAD -i ~/Downloads/image
image

构建性能测试程序

1 ****构建测试程序****

make -j2 benchmark_app

2 构建对象检测样本

其中 -i 是输入被检测的图片;

-m 是输入的模型参数;

-niter 为运行推理的迭代次数。

./armv7l/Release/benchmark_app -i car.png -m squeezenet1.1/FP16/squeezenet1.1.xml -pc -d MYRIAD -niter 1000
image

树莓派+神经棒的推理速度可达 280 FPS,这速度足够快了,再试试在电脑上插神经棒测试,与其对比一下。

3 对比性能

image

还是280帧左右,运行速度没有区别,可见计算瓶颈都集中在NCS2上,主设备用电脑或是树莓派差别不大。在插神经棒的场合,用PC就显得有点浪费了。

再对比一个直接用笔记本电脑的 intel cpu 跑的openvino加速模型:

image

340 FPS,果然还是电脑的CPU更强些。

树莓派的开发流程

  • 选择预训练模型;

  • 使用模型优化器,来转换模型;

  • 最后在树莓派上推理模型。

常规的开发方式,需要在 open model zoo 中寻找适合的模型,对于大多数业务来说,都能满足基本需要。若需要跑一些比较前沿的模型或者是自己设计的神经网络时,那各类模型转换的方法则是必备技能,难度相应也会大一些。

资料下载

image

上文提到的安装包,模型参数和一些资源文件都打包在网盘里了。

本期相关文件资料,可在公众号后台回复:“rpi08”,获取下载链接。

下一篇

我们就将做一些模型转换的工作****,
让yolov5在树莓派上,
用Openvino来运行一下,
敬请期待...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345