How edge-impulse-sdk is inferencing object detection without Registering TFLite_Detection_PostProcess()

Hi,
I have trained a object detection model by selecting MobileNetV2 SSD FPN-Lite 320x320. The model has TFLite_Detection_PostProcess layer at the end of the model, which outputs 4 outputs as shown in the image below:

I exported the project as c++ library without compiling with EON compiler. As i looked into the sdk, the allopsresolver didn’t have Detection_PostProcess operator, it was commented out though and EI_CLASSIFIER_ENABLE_DETECTION_POSTPROCESS_OP was not defined as well.

I have seen before that if a operator is missing in the resolver, error would through out that operator is missing, In this case i wonder how it works? Please can anyone explain how it is done.

Thanks & Regards,
Ramson Jehu K

Hi Ramson,

Thanks for your question! If you’re not using EON you’ll need to add EI_CLASSIFIER_ENABLE_DETECTION_POSTPROCESS_OP to your compiler flags to ensure the op is available. There’s an example of this in our Example Standalone Inferencing repos:

Bare metal:

Linux:

Thank you for using Edge Impulse!

Warmly,
Dan

Thanks Dan. You are amazing.

1 Like