ESP32 CAM Support

@janjongboom I’m using a 96*96 image. The model size is as follows.

I’m not sure how much RAM is usable, but I’d try:

  1. Resize to 48x48
  2. Pick the MobileNetV2 0.05 transfer learning model
  3. Make sure to enable EON when creating the C++ library

And see if that works, then start making the model larger again.

2 Likes

@janjongboom thanks a lot. these suggestions really worked. now it can work well with the static_buffer. My problem is, if I want to read images in real time for classification, instead of using static_ buffer, is the size limit still in place?

@jifly, well, you’re limited by the amount of RAM and flash that can be used on the ESP32Cam, so yes, still in place (maybe even a bit less because you need to allocate a framebuffer for the video somewhere)… I think this is helpful too: https://github.com/edgeimpulse/example-signal-from-rgb565-frame-buffer

1 Like

Hi, Jan.
I have a problem with the esp32 cam board as follows:

how to solve it please help me.

thank you, Rizki

Hi @rizkiosb your model is too big. You can swap out the transfer learning model for the 0.1 model for example via Impulse design > Transfer learning and then ‘Choose a different
model’.

@jifly Have you seen https://www.survivingwithandroid.com/tinyml-esp32-cam-edge-image-classification-with-edge-impulse/ ? It has a full code example for the ESP32Cam.

1 Like

I didn’t notice this link before. I did it according to the link of rgb565 to rgb888. Great. I’ll refer to this. Thank you so much!@ janjongboom

hi, @janjongboom
after I run the buffer_static program an error message appears like this:

How to solve it please help me.
Thanks, Nena

Hi @Nenamd,

That a known Windows Arduino issue.
You can install the patch here: https://docs.edgeimpulse.com/docs/running-your-impulse-arduino#code-compiling-fails-under-windows-os

The alternative is to install Arduino IDE 2.0 beta, it should fix this issue.

Aurelien

1 Like

Hi, @janjongboom @aurel
I want to ask, why does my program always stop here and the IP address doesn’t appear?

Thank you, Nena

Hi @Nenamd,

This could be linked to RAM limitation as suggested in messages in this thread. How big is your image model? Using 48x48 pixels images and MobileNet 0.05 version should work on this board, you can see this great article as mentioned by Jan: https://www.survivingwithandroid.com/tinyml-esp32-cam-edge-image-classification-with-edge-impulse/

Aurelien

1 Like

thank you, @aurel for the answer. I’ve converted the image to 48x48 pixels and the MobileNet version to 0.05, as reviewed by the article provided by Jan. but the result is like that.

Nena

Looks like it could be some power supply issue, see this link.

Are you able to make the board work with the Arduino Blinky sketch?

Also if you can share your Edge Impulse project ID we can double check that everything is set up correctly.

Aurelien

1 Like

Thank you, @aurel

I have tried using the static_buffer example and it works but from that article it doesn’t work.
I am very grateful if you can help me.
this is my Impulse Edge Project ID: 23879

Nena

Hi @aurel @janjongboom I want to ask again about the classification used by Edge Impulse, namely NN.
which one belongs to the NN?
CNN, ANN, or RNN?

thank you
Nena

@Nenamd, CNN / ANN and RNN are all forms of neural networks, but currently we don’t support recurrent neural networks on most targets in Edge Impulse.

does this include CNN? @janjongboom
IMG_20210401_202455_929

Thanks
Nena

Hi @Nenamd, yes, you can create both CNNs as well as fully-connected networks, etc. here.

Thank you very much @janjongboom, this really helped me :grin: