Search code examples
opencvneural-networkopenvino

cv::dnn::Layer::forward does not work on specific layer (python)


I'm using the openvino toolkit in python for head position estimation. I load the network as follows:

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)

The following

print(model_headpose.getLayerNames())

gives:

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

When I run:

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

I get a float, as expected;
BUT when i run

print(model_headpose.forward('angle_p_fc'))

or

print(model_headpose.forward('angle_r_fc'))

I get the following error:

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'

Are these layers not initialized? Can someone please help me? Thanks in advance!


Solution

  • My question was solved by using model_headpose.forward(['angle_p_fc', 'angle_r_fc', 'angle_y_fc'])