Platform : Windows 10
SDK: OpenVino R4 2018
Device: Movidius Neural Compute Stick (Myriad 2)
Model: SSD_INCEPTION_V2 tensorflow
I am using the ssd_inception_v2 imported from the TensorFlow Detection model Zoo. I made some customization by removing the preprocessing , postprocessing and the ANCHOR Box generation to be done on CPU with OpenCV and Numpy. The model is working fine with me on TensorFlow.
I tested the model with OpenVINO on CPU and its is also working well. I used the following command for model conversion:
python3 mo_tf.py --input_model ssd_inception_v2.pb --input_shape [1,300,300,3] --model_name ssd_inception_v2
All preprocessing is done in OpenCV and Numpy (including BGR->RGB, scaling, mean,...etc).
When I tried using the NCS, I got wrong results for the bounding boxes (The confidence values are correct). I used the following command for model conversion:
python3 mo_tf.py --input_model ssd_inception_v2.pb --input_shape [1,300,300,3] --model_name ssd_inception_v2_ncs --data_type FP16
I got some warnings about clipping some weights to zero due to float16 conversion, could this be the source of error?
I attached the test package.
I found the problem. It was in the last concat layer. I removed it and consider two output layers, one for boxes and one for scores.
It seems the last concat layer is not working well on the NCS.