Table of Contents

RedSight: Tintă controlată prin recunoaștere facială

Introducere

Prezentarea pe scurt a proiectului vostru:

  • ce face
  • care este scopul lui
  • care a fost ideea de la care aţi pornit
  • de ce credeţi că este util pentru alţii şi pentru voi

Proiectul consta intr-o tinta automatizata care foloseste un modul ESP32-CAM pentru a detecta si urmari in timp real fata unei persoane. Atunci cand camera recunoaste o fata prestabilita, isi ajusteaza tinta si o urmareste cu ajutorul unui laser rosu.

Descriere generală

O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. Exemplu de schemă bloc: http://www.robs-projects.com/mp3proj/newplayer.html

Schema BLOCK a proiectului

Proiectul este alcatuit din urmatoarele componente:

Hardware Design

Aici puneţi tot ce ţine de hardware design: listă de piese scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) diagrame de semnal rezultatele simulării

Lista de piese

ComponentaDescriereLinkDatasheet
ESP32-CAMModul ESP32 cu camera OV2640ESP32-CAMDatasheet
Micro servo SG90Servomotor 180°SG90Datasheet
Dioda Laser 5VLaser pentru tintireLaser-
Ecran LCD 1602 I2CEcran LCD pentru afisareLCD 1602Datasheet
Modul Joystick XY Modul pentru a controla tinta manual Joystick XYDatasheet

Pini utilizati

ComponentăPiniInterfață
ESP-CAMGND, 5V, GPIO 4, GPIO 14, GPIO 13, RX, TX-
ESP-CAM-MBGND, 5V, RX, TXUART
LaserGND, 5VDigital OUT
Servomotor SG90GND, 5V, GPIO 4PWM
Ecran LCDGND, VCC, SDA, SCLI2C

Schema Electrica

Calcul consum energie

ComponentaConsum estimat
ESP32-CAM~160 mA (Wi-Fi activ)
Micro servo SG90~100–250 mA (in sarcina)
Dioda Laser 5V~30 mA
LCD 1602 I2C~20 mA
Modul Joystick XY~5 mA

Rezultate

Toate componentele au fost testate in simulare si functioneaza corespunzator, interactionand corect cu ESP32-CAM. Sistemul raspunde eficient atat la comenzile automate (detectarea fetei), cat si la cele manuale (prin joystick). Afisajul LCD reda in timp real informatiile esentiale, iar laserul si servomotorul colaboreaza pentru urmarirea si indicarea precisa a tintei.

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Mediu de dezvoltare

Aplicația firmware este dezvoltată în Arduino IDE, utilizând extensia corespunzătoare pentru plăcile ESP32 și suport pentru camera AI Thinker (OV2640). Mediul oferă integrare cu portul serial și suport pentru biblioteci externe utilizate pentru inferență ML, control servomotor și afișare LCD.

Librării și surse 3rd-party utilizate:

Algoritmi și structuri implementate/plănuite:

Face recognition - ESP32-CAM & Edge Impulse

Platforma folosita

Date utilizate pentru antrenare si testare

Modelul antrenat

Performante pe setul de validare

Confusion Matrix:

Metrici generale:
Performanta On-Device

Procesare imagini:

Etapa Timp RAM
Pre-procesare 15 ms 4 KB
Inferenta 1122 ms 119.4 KB
Total 1137 ms 239.4 KB

Stocare:

Rezumat performanta
Metriaca Valoare
Timp total 1137 ms
RAM totala 239.4 KB
Flash total 90.9 KB
Acoperire F1 88.3%

Concluzii

Modelul de recunoastere faciala dezvoltat pe platforma Edge Impulse Studio pentru ESP32-CAM ofera o performanta buna atat in ceea ce priveste acuratetea, cat si eficienta pe dispozitiv. Cu un scor F1 de 89.7% pe setul de validare si o precizie de 93.8% pentru clasele non-background, modelul este capabil sa diferentieze corect intre persoanele recunoscute si fundal, chiar si in conditii variate, folosind imagini capturate atat cu ESP32-CAM, cat si cu telefon mobil.

Timpul de procesare de aproximativ 1.1 secunde per inferenta este rezonabil pentru aplicatii embedded, iar consumul redus de memorie RAM (sub 240 KB) si spatiu in flash il fac potrivit pentru implementarea pe microcontrolere cu resurse limitate, precum ESP32-CAM.

Surse și funcții implementate

Pipeline

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

In urma realizarii proiectului, au fost obtinute urmatoarele rezultate semnificative:

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Edge Impulse Model Build:

Cod proiect:

Link Github proiect:

Demo YouTube:

Pentru ca vor mai aparea modificari la cod, am facut si un repository de github unde voi uploada mereu varianta buna atunci cand apare vreo modificare.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

03.05.2025

Am cumparat toate piesele pentru proiect, inclusiv un esp32-s3-devkit1 pe care planuiesc sa il folosesc.

12.05.2025

Ma chinui sa conectez camera externa la esp32-s3-devkit1, camera pe care o comandasem nu avea si conectorul inclus, a trebuit sa comand alta si sa astept dupa ea ceva timp.

14.05.2025

Am reusit sa conectez camera externa ov2640 la esp32-s3-devkit1, utilizand esp-idf. Mi-am creat si modelul de face recognition, incep usor usor sa il antrenez cu poze. Imi dau comanda si de un esp32-cam in caz de backup, cu tot cu programator.

18.05.2025

Din pacate, nu reusesc sa urc modelul pe esp32-s3-devkit1, asa ca ma mut cu proiectul pe esp32-cam.

20.05.2025

Reusesc sa urc modelul si sa implementez majoritatea functionalitatilor pe care le va avea proiectul meu pe esp32-cam.

25.05.2025

Toate componentele merg ok, mai sunt cateva schimbari minore de facut la cod si poate si ceva fine-tuning la model.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF