Question/Issue:
hi Edge Impulse!
I’ve trained up an object detection model (FOMO MobileNetV2 0.35). I downloaded the model with
edge-impulse-linux-runner --download modelfile.eim
to my x86 Linux machine, and I can process still images with python classify-image.py modelfile.eim image.jpg
.
Given exactly the same image file, classify-image.py’s bounding boxes are different from the studio’s Model Testing results. The coordinates of the bounding boxes don’t match, and sometimes the number of bounding boxes don’t match as well.
classify-image.py writes the processed image, so I can tell that the preprocessing is working (grayscale, 600x600). I’ve also seen the related posts concerning int8/float32, e.g.
- Different result between on device and live classification
- Different results from the Studio Model Testing compared to deployment
In the studio, I found the Deployment > C++ Library > Optimizations dialog. I selected Unoptimized (float32)
, disabled the EON Compiler, and rebuilt – but it’s not clear to me how to propagate these changes to the downloaded modelfile.eim.
So my questions are:
-
why don’t the results match?
-
is the Python SDK a feasible route for deploying object detection for image files or should I stick with C++? I don’t need to process a camera feed; I thought testing with image files would be easier.
-
is there any way with the Python SDK to determine if the model is using int8 or float32?
thanks!
-Rob
Project ID:
227891