Skip to content

md-ahad-hossain/Person-Detection-with-WebServer-View

Repository files navigation

Person detection example

This example shows how you can use Tensorflow Lite to run a 250 kilobyte neural network to recognize people in images captured by a camera. It is designed to run on systems with small amounts of memory such as microcontrollers and DSPs. This uses the experimental int8 quantized version of the person detection model.

Deploy to ESP32

The following instructions will help you build and deploy this sample to ESP32 devices using the ESP IDF.

The sample has been tested on ESP-IDF version release/v4.2 and release/v4.4 with the following devices:

Install the ESP IDF

Follow the instructions of the ESP-IDF get started guide to setup the toolchain and the ESP-IDF itself.

The next steps assume that the IDF environment variables are set :

  • The IDF_PATH environment variable is set
  • idf.py and Xtensa-esp32 tools (e.g. xtensa-esp32-elf-gcc) are in $PATH

Dependencies

This example requires an external component esp32-camera and optionally on selected Board Support Package. All these components are distributed via IDF Component Manager.

Building the example

Set the chip target (For esp32s3 target, IDF version release/v4.4 is needed):

idf.py set-target esp32s3

Then build with idf.py

idf.py build

Load and run the example

To flash and monitor (replace /dev/ttyUSB0 with the device serial port):

idf.py --port /dev/ttyUSB0 flash monitor

Use Ctrl+] to exit.

Using Display

If your development board has a display, input from the camera can be shown on it. This feature is enabled by specific Board Support Package.

Select your development board BSP in menuconfig: Application Configuration -> Select BSP.

Using CLI for inferencing

Not all dev boards come with camera and you may wish to do inferencing on static images. There are 10 images embedded into the application.

  • To switch to CLI mode just define the following line in esp_main.h:
#define CLI_ONLY_INFERENCE 1
  • To run an inferencing you need to type following on idf.py monitor window:
detect_image <image_number>

where <image_number> is in [0, 9]. The output is person and no_person score printed on the log screen.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published