This is an old revision of the document!


Image Recognition

Introduction

Context

The idea for this project came from the desire to develop my bachelor project in a different direction. I wanted to try to develop an image recognition system based on ESP32, which is not exactly meant for image processing and analysis.The implementation of this project would lead to reduced expenses for developing an image recognition system. The ESP32-CAM board is much cheaper than a dedicated image processing board, such as the NVIDIA Jetson Nano.

Objectives

Therefore, the ideal scenario would be to collect images using the ESP32-CAM, to train a machine learning model that would learn to recognize three types of objects. The ESP32-CAM recognizes the object and sends the information to a Firebase database. Using an ESP8266, I retrieve the information from Firebase and depending on the recognized object, I control an SG90 servo motor to simulate sorting the recognized objects.

During the development of the project, I encountered several difficulties, I understand why ESP32-CAM is not the most optimal solution for an Image Recognition project. However, I manage to solve some of them and I can show a MVP of the initial idea.

TODO :

Architecture

Hardware

Components

  • AI Thinker ESP32-CAM - based on the ESP-32S module that integrates WIFI and Bluetooth
  • ESP8266 - low-cost Wi-Fi microchip, with built-in TCP/IP networking software, and microcontroller capability
  • OV2640 Camera - supports jpeg image output format
  • SG90 - Tiny and lightweight with high output power.

Circuit Diagram

TBD

Real-life view

TODO : insert a photo here


Software

Software arhitecture

Software Arhitecture have three parts:

  • Data acquisition and ML model training
  • Image Recognition and Firebase Population
  • Data acquisition from Firebase and decision making

Used methods Image Capturing

TBD

Used methods Image Conversion/Processing

TBD

Used methods to train the AI model

TBD

Code & Structure

The application logic is divided into * parts:

Arduino
Python
Web app

Results

Conclusion

References

Hardware components documentation and datasheets

External Libraries

  • Arduino
  • Javascript/CSS
  • Python

Litterature

iothings/proiecte/2023/imgrecsystem.1705159025.txt.gz · Last modified: 2024/01/13 17:17 by alexandru.vrabii
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0