Intel® Distribution of OpenVINO™ Toolkit
Community support and discussions about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all things computer vision-related on Intel® platforms.

Issues with SOFTMAX in SSD


I am working currently with the Zoo Models from Tensorflow. More specific the Mobilenetv1 + SSD for Object detection. I have no issues so far using the standard pipeline and convert it using the model optimizer. I am also able to run it on the samples provided by OpenVino.

However, my issue is when I changed score_converter: SOFTMAX instead of score_converter: SIGMOID in my model's pipeline. The conversion goes smoothly but when I try it the sample the results are completely different from the tensorflow's PB that I am using. It seems I that all the confidence scores I receive are 1. I tried looking into the ObjectDetectionAPISSDPostprocessorReplacement class, but I am being overwhelmed. Any suggestions?

This happened to me on R3 and it still happens to me on R4.




0 Kudos
1 Reply

After investing some hours into this I was able to find where is the issue but I could not figure out why.

I just changed this line of code

if activation_function == 'SOFTMAX':
    # softmax to be applied to the confidence
    softmax_conf_op = Softmax(graph, dict(axis=3, nchw_layout=True))
    activation_node = softmax_conf_op.create_node([node], dict( + '/softmax'))

Changing the axis from 1 to 3 made my network work on the Object_detection_sample_ssd.

Anyone knows what could be the issue?