【问题标题】:cv::dnn::Layer::forward does not work on specific layer (python)cv::dnn::Layer::forward 不适用于特定层(python)
【发布时间】:2019-07-17 12:09:33
【问题描述】:

我在 python 中使用 openvino 工具包进行头部位置估计。 我按如下方式加载网络:

weights_headpose = 'head-pose-estimation-adas-0001-2018-FP32.bin'
config_headpose = 'head-pose-estimation-adas-0001-2018-FP32.xml'
model_headpose = cv.dnn.readNet(weights_headpose, config_headpose)

以下

print(model_headpose.getLayerNames())

给予:

['angle_p_fc', 'angle_r_fc', 'angle_y_fc']

当我跑步时:

>print(model_headpose.forward('angle_y_fc'))

正如预期的那样,我得到了一个浮点数;
但是当我跑步时

print(model_headpose.forward('angle_p_fc'))

print(model_headpose.forward('angle_r_fc'))

我收到以下错误:

cv2.error: OpenCV(4.1.0-openvino) C:\jenkins\workspace\OpenCV\OpenVINO\build\opencv\modules\dnn\src\op_inf_engine.cpp:688: error: (-215:Assertion failed) !isInitialized() in function 'cv::dnn::InfEngineBackendNet::initPlugin'

这些层没有初始化吗?有人可以帮帮我吗?提前致谢!

【问题讨论】:

  • 您能否澄清一下您在推理之前提供了一个输入 blob?
  • 是的,我是。加载网络后,我运行blob_headpose = cv.dnn.blobFromImage(frame_crop, size=(60, 60), crop=False) model_headpose.setInput(blob_headpose)。此外,运行 model_headpose.forward() 提供与运行 model_headpose.forward('angle_y_fc') 相同的浮点数
  • 谢谢,所以问题就像缺少库一样,您可以尝试删除/重新安装最新的 opencv 或安装 openvino 并使用带有库的安装中的 opencv。或者,如果您进入虚拟环境,请检查您的环境变量。我尝试过同样的方法并且没有遇到问题,我能够运行 model_headpose.forward('angle_p_fc') 并按预期获取值。
  • 我不知道该怎么做。我花了一段时间来设置正确使用来自 openvino 的 opencv 而不是普通的 opencv-python。现在它使用了 openvino,但是当我运行“pip list”时,我只看到“opencv-python”。如何更新 openvino 的?
  • 尝试在终端的/opt/intel/openvino/bin/setupvars.sh 中运行setupvars.sh 并在其中运行python 以检查是否工作。

标签: opencv neural-network openvino


【解决方案1】:

使用model_headpose.forward(['angle_p_fc', 'angle_r_fc', 'angle_y_fc'])解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 2018-12-04
    • 1970-01-01
    相关资源
    最近更新 更多