OpenMV H7 Memory Error:Out of Fast Frame Buffer Stack Memory

Anyone else having this issue the the OpenMV H7 CAM?
I have deployed my EdgeImpulse project to my H7 and running the default python program gives this error. I was looking at some other posts on the OpenMV site and they say to reduce the image resolution, which I did, but still get the error.

Here is my IDE screenshot

What’s your impulse settings? My bet is that the model is too big for the non-plus version of the M7.

Which settings?
I basically followed your example.
30 images for each class, 3 classes, 96x96 pixels and grayscale.

Is this on the OpenMV H7 or H7+?

On the H7 I’d try to change the size to 48x48 pixels and use the MobileNet 0.1 model instead of the 0.35, as described in https://www.hackster.io/ishotjr/mega-or-mini-image-classification-on-the-1mb-openmv-cam-h7-be57ac to make sure the model fits in the non-plus H7.

1 Like

That seems to work. Is there a big difference between the H7 and H7 Plus?

The Plus model adds 32 MB of SDRAM and another 32 MB of flash, which is a pretty big addition to the 1 MB RAM and 2 MB flash on the non-plus version. (source: https://openmv.io/products/openmv-cam-h7-plus)

Looks like I will have to order the H7 Plus version… Thanks!

1 Like

Hmm followed the other tutorial for working within the contraints of the non h7plus and now get

OSError: Arena size is too small for activation buffers. Needed 57648 but only 54640 was available.

on line 21 of ei_image_classifier

any ideas?

@kevincrum, yeah your model is 1K too big, I’m not entirely sure how the OpenMV does its memory management works and if application size has anything to do with it, but probably reducing to 44x44 or something would help.

I cant seem to get edge impulse UI to downsize past 48x48 (it reloads as 48x48) I havent tried using ‘expert mode’ and changing the parameter there. However when I downsize and try grey scale etc I run into

MemoryError: Out of fast Frame Buffer Stack Memory! Please reduce the resolution of the image you are running this algorithm on to bypass this issue!
on line

for obj in tf.classify(net, img, min_scale=1.0, scale_mul=0.8, x_overlap=0.5, y_overlap=0.5):

Hi @kevincrum,

When setting the image size, do you click on Save Impulse before switching to the next tabs? You should be able to get under 48x48.

Also just to confirm, in the ei_image_classification.py file you should also modify the set_pixformat() function to:

sensor.set_pixformat(sensor.GRAYSCALE)

Aurelien

And just to double check, are you using the MobileNetV2 0.05 model?