This shows you the differences between two versions of the page.
priot:laboratoare:10 [2024/12/16 17:59] jan.vaduva [Detectarea obiectelor cu FOMO] |
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 70: | Line 70: | ||
* 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. | ||