首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Movidius NCS2的OpenCV在使用Darknet神经网络时出现错误

使用Movidius NCS2的OpenCV在使用Darknet神经网络时出现错误
EN

Stack Overflow用户
提问于 2019-10-17 15:52:15
回答 1查看 344关注 0票数 0

我正在尝试使用英特尔Movidius神经计算棒2执行光学字符识别。我使用的光学字符识别网络基于YOLO,因此将图形结构保存为.cfg文件,并将权重保存为.weights文件。我使用的是OpenCV,它与Openvino一起安装在Raspberry Pi 3b+上。我的代码如下:

代码语言:javascript
运行
复制
import cv2

# load network
ocr_net  = cv2.dnn.readNetFromDarknet('ocr-net.cfg', 'ocr-net.weights')
ocr_net.setPreferableTarget(cv2.dnn.DNN_TARGET_MYRIAD)
ocr_net.setPreferableBackend(cv2.dnn.DNN_BACKEND_INFERENCE_ENGINE)

# perform inference
im = cv2.imread('img_path.jpg')
blob = cv2.dnn.blobFromImage(im, swapRB=False)
ocr_net.setInput(blob)
result = ocr_net.forward()

在运行这段代码时,我得到以下错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "test.py", line 12, in <module>
    result = ocr_net.forward()
cv2.error: OpenCV(4.1.2-openvino) /home/jenkins/workspace/OpenCV/OpenVINO/build/opencv/modules/dnn/src/op_inf_engine.cpp:704: error: (-215:Assertion failed) Failed to initialize Inference Engine backend: Device with "CPU" name is not registered in the InferenceEngine in function 'initPlugin'

如果我将推理目标更改为cv2.dnn.DNN_TARGET_CPU,并将推理后端更改为cv2.dnn.DNN_BACKEND_OPENCV,则模型可以正常工作,并且能够正确地执行光学字符识别。我的openvino/openCV设置也是正确安装的,因为我可以使用openCV (使用readNetFromTensorflow()/readNetFromCaffe())正确地运行其他Tensorflow/Caffe模型。

我尝试使用的OCR网络可以在这里找到:cfgweights

如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2020-01-14 23:18:10

根据我对英特尔文档的记忆,opencv.dnn的openVINO发行版不能处理暗网模型。在this page上,您可以找到我认为可以解释为所有支持的框架的列表。

我目前正在尝试将我的暗网自定义模型转换为tf.pb表示,到目前为止还没有成功。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58427555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档