Pedestrian Counter - Is this possible with Edge Impulse?

I have an OpenMV Cam H7. I have been working through the Edge Impulse examples and have been quite impressed with Edge Impulse. I have completed the “smile detection” example but, unfortunately, the impulse that was created was too big to be deployed to on my OpenMV Cam H7 and the H7 Plus is on back order.

I am exploring options to build a simple pedestrian counter for a local municipal pool. The idea is to place a camera in the one hall that people use when to entering / exiting the pool. We would like to see if we can count two things: 1) Pool utilization by day / daypart and 2) Estimate the number of people at the pool at any one time. We also do not want to collect any personally identifiable information so, I would like to send just the counts to a separate microcontroller which will store and report the data via a cellular modem (this part I have a high confidence in).

My question is whether this scenario is possible using Edge Impulse (indoors, good lighting, fixed placement):

  • watch the hallway with high enough frame rate to capture pedestrians
  • identify people walking alone and in groups
  • count people moving across an imaginary line across the hall - count up for folks walking in and down for folks walking out.
  • Once trained, run this model locally with no external computing resources required.

The OpenMV Cam H7 cannot support this scenario at this time (couple months?). My other candidate for this is a Raspberry PI would this work? Would I also need OpenCV?

Thank you,

Chip

Hi @chipmc I think this is something you’ll want to start with a Raspberry Pi 4 (https://docs.edgeimpulse.com/docs/raspberry-pi-4) or Jetson Nano (https://docs.edgeimpulse.com/docs/nvidia-jetson-nano) right off the bat as a minimum, as your application will benefit from the additional compute available on these platforms. You may need to leverage OpenCV for the application part where you want to count people moving across the imaginary line or if the imaginary line is always at a fixed coordinate within the frame, you should be able to use the x/y coordinate returned by the Edge Impulse classifier to determine where they crossed.

1 Like

Hi @chipmc as @yodaimpulse said I think this is more for an SBC as jetson or RPi.
A first example using Jetson
Second example also Jetson

Joeri,

Thank you - this is almost exactly what I am looking to do.

I read your examples and have one question - is the 2Gb Nano good enough or do I need to purchase a model with more memory?

Thanks,

Chip

@chipmc 2GB should be fine!

@janjongboom,

Thank you. The Amazonians are bringing me one now and I can’t wait to give it a try.

BTW, great job on the Object detection video, it gives me hope that I can accomplish my goals with this project!

Chip

@chipmc 2GB is fine.