参考:https://www.bilibili.com/video/av98553542/
YOLO v3:DarkNet框架 转 OpenVINO框架

1、 openvino

openvino是英特尔推出的一套基于深度学习的计算机视觉加速优化框架,
用二代神经计算棒NCS2,就从openvino开始。
(NCSDK对应的是NCS1,在这篇博客有一个对比

可以看到,要用NCS加速要用openvino,而openvino只支持一些特定的框架(不包括yolov3的darknet和pytorch,所以各种模型的转换是很重要的一步)

在官网下载工具包,然后配置环境变量,安装一些基本的库,都比较简单,一步一步照着来就可以,官网的教程都非常详细,甚至可以直接看中文版:
我是用了linux的版本。
**有一步是装Configure the Model Optimizer, 是装tensorflow的一些依赖项,会报各种奇奇怪怪python、pip等等的错误,各种版本问题,就很迷惑
多谷歌一下吧e.mm

安好以后可以通过简单的例子测试

神经计算棒

2代的计算速度有1代的八倍

2、模型转换

(1)将YOLOv3模型转化为tensorflow的pd模型
https://github.com/mystic123/tensorflow-yolo-v3
解析darknet模型并转化
这个跟环境关系可能还挺大的
开始报错

就奇奇怪怪的错吧
后来重新认真配置了一下环境装了tensorflow
一定要注意版本问题
我成功的环境是
anaconda+python3.6+tensorflow_gpu==1.9.0
要安装Pillow(也就是PIL)
然后运行命令完成.weight–>.pb的转换

python convert_weights_pb.py --weights_file
weight/yolo/yolov3.weights --class_names weight/yolo/obj.labels --tiny True
--size 416 --data_format NHWC --output_graph yolov3.pb

这些参数作者在github上有提到,根据需要改就行,要用神经计算棒一定要改的应该是data_format

(2)用openvino将tensorflow版本的yolov3转换成可以调用的模型IR(.pb->xml+bin)
(FP16或者FP32不同精度)

python3 /opt/intel/openvino/deployment_tools/model_optimizer/mo_tf.py --input_shape
[1,416,416,3] -m yolov3.pb --reverse_input_channels
--tensorflow_use_custom_operations_config yolov3.json -n yolov3 --data_type
FP16

在官网有这些参数的解释
要用神经棒二代,需要加载fp16精度的模型,并且把device换成MYRIAD
(3)测试
可以用官方提供的代码,之前可能在在这里插入代码片目录下可以找到,可能版本升级了,反正我是没有
可以用github里opencv提供的Open Model Zoo中的示例代码下
https://github.com/opencv/open_model_zoo/blob/master/demos/python_demos/object_detection_demo_yolov3_async/object_detection_demo_yolov3_async.py

python object_detection_demo_yolov3_async.py -m yolov3.xml -i dog.jpeg -d MYRIAD

Error1

File "/opt/intel/openvino_2020.3.194/python/python3.6/openvino/inference_engine/__init__.py", line 1, in <module>from .ie_api import *
ImportError: dynamic module does not define init function (initie_api)

改成python3就好了
Error2

E: [ncAPI] [    742535] [python3] ncDeviceOpen:1003  Failed to find booted device after boot
Traceback (most recent call last):File "object_detection_demo_yolov3_async.py", line 359, in <module>sys.exit(main() or 0)File "object_detection_demo_yolov3_async.py", line 230, in mainexec_net = ie.load_network(network=net, num_requests=2, device_name=args.device)File "ie_api.pyx", line 178, in openvino.inference_engine.ie_api.IECore.load_networkFile "ie_api.pyx", line 187, in openvino.inference_engine.ie_api.IECore.load_network
RuntimeError: Can not init Myriad device: NC_ERROR

运行一下测试文件看available device是啥

参考前面的安装教程,确认一下MYRIAD安好没有
好好看官方教程!
在除 CPU 之外的其他硬件上运行示例应用时,需要执行额外的硬件配 置步骤
https://software.intel.com/content/www/us/en/develop/articles/get-started-with-neural-compute-stick.html
感觉是硬件问题,从头开始解决
lsusb看能不能识别到
然后参考这篇找到了解决方法,这个迷惑的操作其实我也没太看懂
http://www.jwrr.com/ncs2-1/
但是hello_query_device能看到MYDRAID了
说明这时候可以识别到设备
然后重新硬件配置
重启
然后又识别不到MYDRAID了???

3、推理模型

二代神经计算棒NCS2+YOLOv3+ROS加速目标检测相关推荐

  1. 树莓派摄像头 C++ OpenCV YoloV3 实现实时目标检测

    树莓派摄像头 C++ OpenCV YoloV3 实现实时目标检测 本文将实现树莓派摄像头 C++ OpenCV YoloV3 实现实时目标检测,我们会先实现树莓派对视频文件的逐帧检测来验证算法流程, ...

  2. 计算机视觉:基于YOLO-V3林业病虫害目标检测

    计算机视觉:基于YOLO-V3林业病虫害目标检测 卷积神经网络提取特征 根据输出特征图计算预测框位置和类别 建立输出特征图与预测框之间的关联 计算预测框是否包含物体的概率 计算预测框位置坐标 计算物体 ...

  3. YOLOv3实现鱼类目标检测

    YOLOv3实现鱼类目标检测 我将以一个项目实例,记录如何用YOLOv3训练自己的数据集. 在开始之前,首先了解一下YOLO系列代表性的DarkNet网络. 如下图所示,是YOLOv3中使用的Dark ...

  4. 手把手教你用yolov3模型实现目标检测教程(一) - 环境配置

    手把手教你用yolov3模型实现目标检测(一) 写在前面: 由于项目需要,使用yolov3模型做了各种现实场景物体的目标检测.做完了过了好长时间,感觉有些遗忘,还是该留下点东西,方便自己查找,也希望能 ...

  5. 基于yolov3的行人目标检测算法在图像和视频中识别检测

    资源下载地址:https://download.csdn.net/download/sheziqiong/85772186 资源下载地址:https://download.csdn.net/downl ...

  6. 开源|RT-Thread 搭配 ROS 实现目标检测小车完结篇

    往期回顾: RT-Thread智能车目标识别系统连载教程--手写体识别模型 (1) RT-Thread智能车目标识别系统连载教程--训练卷积神经网络模型(2) RT-Thread智能车目标识别系统连载 ...

  7. yolov3权重_目标检测之 YOLOv3 (Pytorch实现)

    1.文章目的 Github上已经有YOLOv3 Pytorch版本的实现,但我总觉得不是自己的东西直接拿过来用着不舒服.想着自己动手丰衣足食,因此,本文主要是出于学习的目的,将YOLO3网络自己搭建一 ...

  8. 北京 | 免费高效训练及OpenVINO™加速推理深度学习实战,送Intel神经计算棒二代...

    当今人工智能时代,深度学习极大得促进了计算机视觉技术的快速应用和成熟,也是算法工程师们必须掌握的一项技能,然而,不同环境的依赖部署,高算力的需求,海量数据量需求及算法应用高硬件成本也让深度学习陷入了规 ...

  9. 目标检测—基于Yolov3的目标检测项目实战(学习笔记)

    最近在学习tensorflow,尝试运行学习了github上基于yolov3的一个目标检测项目,此算法可对视频.图片.摄像头实时进行检测,本文主要讲述了,在windows电脑上,复现这一目标检测项目的 ...

  10. LattePanda的Ubuntu虚拟机里安装评测OpenVINO和Intel计算棒NCS2

    最近在调研一款嵌入式的平台,想用作深度学习推理的实现部署,要求尺寸尽量小巧,功耗要尽量低,而且要能够承担一定复杂度的深度学习的算法实现. 恰巧参加一个活动,主办方提供了拿铁熊猫LattePanda和I ...

最新文章

  1. 项目CPU异常高分析
  2. slab 内存分配器介绍(一)
  3. 坑你没商量!盘点Java中最常见的事故现场,你都中过哪些招?
  4. leetcode算法题--排序链表★
  5. 每次执行java命令 都要source_跟着平台混了四年,现在要单飞了!
  6. sharepoint2010网站根据权限隐藏ribbon
  7. iphone图片编辑画笔_苹果超强新功能上线!它打开了 iPhone 摄影的新大门
  8. 字典树实现_学习NLP的第3天——字典树
  9. C#高级语法之泛型、泛型约束,类型安全、逆变和协变(思想原理)
  10. jdk8 cms g1gc_G1 vs CMS vs平行GC
  11. centos 安装openoffice (办公软件 WPS)
  12. weblogic管理3 - 生产模式下免密码管理配置
  13. utilities(matlab)—— 图像加噪
  14. 软件方法(下)分析和设计第8章分析 之 分析类图——知识篇(20211227更新)
  15. 宏杉MacroSAN MS3000G2 SPC-1测试性价比第一
  16. VS2015密钥 VS2017密钥
  17. 通过ip查看主机名和端口占用情况
  18. 什么时候你想逃离北上广?
  19. python中冒号报错_python冒号_python 冒号_python冒号报错 - 云+社区 - 腾讯云
  20. python qt是什么_初识Python与Qt

热门文章

  1. 用R包TCGA-Assembler下载TCGA数据
  2. 超百个区块链应用落地福州,BSN助力数字应用第一城蓬勃发展
  3. python爬虫爬取百度图片
  4. 如何使用数据分析客户购买意愿
  5. Excel如何将两列数据左右调换位置
  6. GoodUP:智协云店通+BitCOO的4WiN全球互贸链 | 翼次元空间
  7. win10安装免安装版的mysql5.7
  8. Electron桌面下雪特效实战文字版(附视频链接)
  9. 苹果官网首页页面设计
  10. 【C#】Excel操作——两个Excel表格比较,如果相同跳过,如果不同将复制到一个表格