Differences

This shows you the differences between two versions of the page.

Link to this comparison view

priot:laboratoare:10 [2024/12/16 17:57]
jan.vaduva
priot:laboratoare:10 [2025/01/14 01:54] (current)
alexandru.bala [Detectarea obiectelor cu FOMO]
Line 16: Line 16:
  
 Pași: Pași:
-  - Descarcă firmware-ul alternativ din repository-ul ​GitHub ​al proiectului.+  - Descarcă firmware-ul alternativ din repository-ul ​[[https://​github.com/​Mjrovai/​ESP32-TinyML/​blob/​main/​ESP32-CAM_Code/​espressif-esp32-cam-ai-thinker.zip|Github]] ​al proiectului.
   - Deschide fișierul zip și execută programul de încărcare firmware pentru sistemul tău de operare.   - Deschide fișierul zip și execută programul de încărcare firmware pentru sistemul tău de operare.
   - Asigura-te ca ai toate dependentele instalate   - Asigura-te ca ai toate dependentele instalate
Line 34: Line 34:
  
   * Măr   * Măr
-  * Banana+  * Banană
   * Cartof   * Cartof
  
Line 56: Line 56:
   - Blocul de învățare:​ Utilizarea unui model FOMO pentru detectarea obiectelor.   - Blocul de învățare:​ Utilizarea unui model FOMO pentru detectarea obiectelor.
  
-De ce FOMO?+== De ce FOMO? ==
 FOMO (Faster Objects, More Objects) este un model de detectare a obiectelor optimizat pentru dispozitive edge. Acesta oferă: FOMO (Faster Objects, More Objects) este un model de detectare a obiectelor optimizat pentru dispozitive edge. Acesta oferă:
   - Performanță în timp real pe dispozitive cu putere de calcul redusă, necesitând memorie minimă (RAM și ROM) pentru inferență.   - Performanță în timp real pe dispozitive cu putere de calcul redusă, necesitând memorie minimă (RAM și ROM) pentru inferență.
Line 62: Line 62:
  
 === Configurarea impulsului === === Configurarea impulsului ===
-  ​Preprocesarea imaginilor +  ​Preprocesarea imaginilor 
-      ​- ​Redimensionează imaginile la 96x96 pixeli.+    ​* ​Redimensionează imaginile la 96x96 pixeli.
 <note tip>​Convertește-le în Grayscale (opțional) pentru a economisi memorie.</​note>​ <note tip>​Convertește-le în Grayscale (opțional) pentru a economisi memorie.</​note>​
-  ​Blocul de învățare:​+  ​Blocul de învățare:​
  
 <note tip>​Utilizează modelul FOMO (MobileNetV2 0.35) disponibil în Edge Impulse Studio.</​note>​ <note tip>​Utilizează modelul FOMO (MobileNetV2 0.35) disponibil în Edge Impulse Studio.</​note>​
-  ​Salvează parametrii și continuă cu antrenarea.+  ​Salvează parametrii și continuă cu antrenarea.
  
 +==== Antrenarea modelului de detectare a obiectelor ====
 +În timpul antrenării,​ modelul FOMO va detecta obiecte învățând modele din dataset-ul etichetat. Spre deosebire de clasificarea simplă a imaginilor, detectarea obiectelor se concentrează pe:
  
 +  * Detectarea prezenței obiectelor într-o imagine.
 +  * Identificarea locațiilor aproximative utilizând o abordare bazată pe grilă, care este eficientă din punct de vedere al resurselor.
 +Augmentarea datelor:
 +
 +Edge Impulse aplică augmentarea datelor pentru a îmbunătăți performanța modelului, introducând variații în datele de antrenament,​ cum ar fi:
 +
 +  * Răsturnări aleatorii.
 +  * Decupări.
 +  * Ajustări ale luminozității.
 +
 +=== Implementarea ====
 +După ce modelul este antrenat, acesta poate fi implementat ca o bibliotecă Arduino compatibilă cu ESP32-CAM.
 +
 +  * Exportă modelul din Edge Impulse Studio ca bibliotecă .zip Arduino.
 +
 +  * Deschide Arduino IDE:
 +
 +    * Mergi la Sketch > Include Library > Add .ZIP Library.
 +    * Adaugă biblioteca descărcată.
 +
 +  * Deschide sketch-ul de exemplu furnizat de Edge Impulse: FOMO Object Detection > esp32 > esp32_camera
 +    * Modifică sketch-ul și selectează pin-urile corecte ale camerei:
 +
 +<​code>​ #define CAMERA_MODEL_AI_THINKER ​  </​code>​
 +
 +  * Încarcă codul pe ESP32-CAM.
 +
 +=== Testarea modelului ===
 +După implementarea codului, ESP32-CAM va:
 +
 +  - Captura o fotografie cu camera.
 +  - Realiza detectarea obiectelor utilizând modelul FOMO.
 +  - Afișa obiectele detectate și probabilitățile lor în Serial Monitor.
 +
 +=== Rezultate și optimizare ===
 +Modelul FOMO cu MobileNetV2 0.35 oferă performanțe excelente pentru detectarea obiectelor în timp real pe ESP32-CAM. Timpul de inferență este minim, asigurând o detectare lină fără a depăși limitele de memorie ale dispozitivului.
 +
 +Pentru optimizare suplimentară:​
 +
 +Ia în considerare utilizarea bibliotecii ESP NN de la Edge Impulse pentru a accelera inferența și a reduce latența.
 +Optimizează utilizarea memoriei în codul final pentru a elibera RAM suplimentar pentru modele mai mari, dacă este necesar.
  
priot/laboratoare/10.1734364629.txt.gz · Last modified: 2024/12/16 17:57 by jan.vaduva
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