Framerate (FPS) for object detection on Raspberry Pi 4?

What kinds of framerates are people seeing on the Raspberry Pi 4 with the object detection model (MobileNetV2-SSD FPN)? I trained it to look for my dog, his tug toy, and a ball. I’m getting ~1.8 FPS. Is this similar to what other folks are getting without any sort of acceleration (e.g. Google Coral)?

I have seen others approach 4 FPS using a quantized (TFLite) MobileNetV1-SSD (https://youtu.be/aimSGOAUI8Y?t=24) Is a MobileNetV2 backbone that much slower, or are there other settings I can configure to speed things up on the Pi?

Hi @ShawnHymel,

By default, the edge-impulse-linux-runnner uses the unoptimized version (float32) of your model.
If you want to enable the quantized version, you can use edge-impulse-linux-runnner --quantized.

Could you try this is the performances with the quantized version suit you?

Regards,

1 Like

Int8 model does not yield better performance on the Pi. I’m seeing about 400ms. per inference on my Pi 4. And yeah not much we can do at the moment, until we have smaller models.

2 Likes

You are lucky for getting 1.88 FPS. I’m getting arround 1.07 FPS . I also use Raspberry Pi 4, but I have a little extra processing to captured images (drawing bounding boxes and other shaps using opencv).

I increased the cpu frequency to 800. From (boot/config.txt>uncomment arm_freq).
Also I increased the priority of the python and eim processes using nice command. This slightly increased the FPS.

1 Like

@yahyatawil great suggestions. We’re also working on a much more optimized object detection pipeline (not based on MobileNetV2 SSD) that will dramatically increase performance.

1 Like