I have trained my model using tensorflow ssd mobilenet v2 and optimized to IR model using openVINO. For FP32 (i.e CPU device) the inference is detecting multiple objects of multiple labels in a single frame. But when i tried to convert it to FP16 (i.e MYRIAD device) the inference is detecting only one object per label in a frame. Any solutions for this problem ?
Did you train your model with the data precision being FP32? if that's the case then what you are seeing when running on MYRIAD device is a decrease in accuracy since you are losinig half of the data bits and you have trained your model with FP32 data precision.
Thank you for your reply. I doubt if this behavior is due to lack of precision on the FP16 model for the following reasons.
1. We converted a Caffe MobileNet SSD model trained on Coco90 dataset to a FP16 graph file and ran in Movidius NCS. There both the original FP32 and the converted FP16 detected multiple objects of same label in frames.
2. However the similar Conversion of TensorFlow MobileNet SSD model trained on the same Coco90 dataset to FP16 results in the converted model detecting only one object per label in a frame. This we have witnessed in couple of other TensorFlow based SSDs as well. One pretrained from a Github repository and other our custom trained model. It is as if the the converted FP16 model picks only one bounding box per label corresponding to the highest confidence score.
I understand the we replace a big chunk of the sub-graph of the SSD with one layer (TFObjectDetectionAPIDetectionOutput). Does this have anything to do with this behavior?
Or in other words, have you seen any Tensorflow Mobilenet SSD model converted to FP16 detect more than one object of the same label in a frame?
Eagerly awaiting your assistance.