Differences

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

Link to this comparison view

iothings:laboratoare:lab9 [2024/07/12 17:05]
laura.ruse [Exerciții]
iothings:laboratoare:lab9 [2024/07/12 17:26] (current)
laura.ruse [Exerciții]
Line 1: Line 1:
-===== Laborator 09. ESP32CAM ​și detecția obiectelor =====+===== Laborator 09. ESP32-CAM ​și detecția obiectelor ​folosind TensorFlow ​=====
  
  
Line 10: Line 10:
  
 Dorim să rulăm un server web pe ESP32-CAM ​ pe care îl vom folosi pentru a obține imaginile.  ​ Dorim să rulăm un server web pe ESP32-CAM ​ pe care îl vom folosi pentru a obține imaginile.  ​
-  * În Arduino IDE 2, mergeți la File > Examples > ESP32 > Camera și deschide exemplul CameraWebServer.+  * În Arduino IDE 2, mergeți la ''​File > Examples > ESP32 > Camera'' ​și deschideți exemplul CameraWebServer.
   * Decomentați linia ''#​define CAMERA_MODEL_AI_THINKER'',​ pentru a selecta modelul de placă. Comentați linia ''#​define CAMERA_MODEL_ESP_EYE''​.   * Decomentați linia ''#​define CAMERA_MODEL_AI_THINKER'',​ pentru a selecta modelul de placă. Comentați linia ''#​define CAMERA_MODEL_ESP_EYE''​.
-  * Completați SSID-ul și parola Wi-Fi-ului. +  * Completați SSID-ul și parola Wi-Fi-ului. Recomandăm folosirea unui hotspot.  
-  * La Tools > Board selectați AI-Thinker ESP32-CAM. +  * La ''​Tools > Board'' ​selectați AI-Thinker ESP32-CAM. 
-  * La Tools > Port selectați portul COM la care este conectat ESP32.+  * La ''​Tools > Port'' ​selectați portul COM la care este conectat ESP32.
   * Apăsați butonul de upload pentru a încărca codul.   * Apăsați butonul de upload pentru a încărca codul.
   * Deschideți Serial Monitor la o viteză de transfer de 115200 baud.    * Deschideți Serial Monitor la o viteză de transfer de 115200 baud. 
Line 20: Line 20:
   * Adresa IP a ESP32 ar trebui să fie afișată în Serial Monitor.   * Adresa IP a ESP32 ar trebui să fie afișată în Serial Monitor.
   * Deschideți un browser și introduceți adresa IP a plăcii ESP32-CAM.   * Deschideți un browser și introduceți adresa IP a plăcii ESP32-CAM.
 +  * Apăsați pe butonul ''​Start Stream''​ pentru a vizualiza stream-ul video.
   * Puteți descărca o fotografie folosind butonul ''​Save''​. De asemenea se poate accesa URL-ul ''​adr_IP/​capture''​ pentru a obține o imagine instant.   * Puteți descărca o fotografie folosind butonul ''​Save''​. De asemenea se poate accesa URL-ul ''​adr_IP/​capture''​ pentru a obține o imagine instant.
  
Line 42: Line 43:
   * Instalați matplotlib: ''​pip install matplotlib''​   * Instalați matplotlib: ''​pip install matplotlib''​
  
-1. Urmăriți acest [[https://​www.tensorflow.org/​hub/​tutorials/​object_detection|tutorial]] pas cu pas pentru a implementa detecția obiectelor dintr-o anumită imagine. Salvați codul într-un fișier Python ''​object_detection.py''​.+1. Urmăriți acest [[https://​www.tensorflow.org/​hub/​tutorials/​object_detection|tutorial]] pas cu pas pentru a implementa detecția obiectelor dintr-o anumită imagine. Fără secțiunea "More images"​. Salvați codul într-un fișier Python ''​object_detection.py''​.
  
 2. Modificați codul din tutorial în modul următor: 2. Modificați codul din tutorial în modul următor:
Line 58: Line 59:
 2.2. Comentați linia ''​pil_image = ImageOps.fit(pil_image,​ (new_width, new_height),​ Image.LANCZOS)''​ din funcția ''​download_and_resize_image''​ pentru a nu face redimensionarea imaginii. Scoateți parametri suplimentari atunci când este apelată funcția ''​download_and_resize_image'':​ ''​downloaded_image_path = download_and_resize_image(image_url)''​. 2.2. Comentați linia ''​pil_image = ImageOps.fit(pil_image,​ (new_width, new_height),​ Image.LANCZOS)''​ din funcția ''​download_and_resize_image''​ pentru a nu face redimensionarea imaginii. Scoateți parametri suplimentari atunci când este apelată funcția ''​download_and_resize_image'':​ ''​downloaded_image_path = download_and_resize_image(image_url)''​.
  
-<​note>​Codul final se găsește ​[[https://​drive.google.com/​file/​d/​1vFyeNVDNLr3WNE4abQhwJk_hKKtZwUPf/​view?​usp=sharing|aici]].</​note>​+<​note ​important>Găsiți codul modificat ​[[https://​drive.google.com/​file/​d/​1vFyeNVDNLr3WNE4abQhwJk_hKKtZwUPf/​view?​usp=sharing|aici]].</​note>​
  
 3. Rulați codul folosind comanda: ''​python3 object_detection.py''​. 3. Rulați codul folosind comanda: ''​python3 object_detection.py''​.
Line 65: Line 66:
 <​code>​ image_url = "​http://​192.168.142.118/​capture"</​code>​ <​code>​ image_url = "​http://​192.168.142.118/​capture"</​code>​
  
-5. Se pot folosi 2 module ​de detecție:​ +5. Se pot folosi 2 modele ​de detecție:​ 
-  * FasterRCNN+InceptionResNet V2: acuratețe ridicată. Folosiți: <​code>​module_handle = "​https://​tfhub.dev/​google/​faster_rcnn/​openimages_v4/​inception_resnet_v2/​1"</​code>​ +  * FasterRCNN+InceptionResNet V2: are acuratețe ridicată. Folosiți: <​code>​module_handle = "​https://​tfhub.dev/​google/​faster_rcnn/​openimages_v4/​inception_resnet_v2/​1"</​code>​ 
-  * ssd+mobilenet V2: mic și rapid. Folosiți: <​code>​module_handle = "​https://​tfhub.dev/​google/​openimages_v4/​ssd/​mobilenet_v2/​1"</​code>​+  * ssd+mobilenet V2: este mic și rapid. Folosiți: <​code>​module_handle = "​https://​tfhub.dev/​google/​openimages_v4/​ssd/​mobilenet_v2/​1"</​code>​
  
  
Line 105: Line 106:
   * Deschideți ''​ObjectDetection_ESP32cam.ino''​ în Arduino IDE 2.   * Deschideți ''​ObjectDetection_ESP32cam.ino''​ în Arduino IDE 2.
   * Completați SSID-ul și parola Wi-Fi-ului în cod.   * Completați SSID-ul și parola Wi-Fi-ului în cod.
-  * La Tools > Board selectați AI-Thinker ESP32-CAM. +  * La ''​Tools > Board'' ​selectați AI-Thinker ESP32-CAM. 
-  * La Tools > Port selectați portul COM la care este conectat ESP32.+  * La ''​Tools > Port'' ​selectați portul COM la care este conectat ESP32.
   * Apăsați butonul de upload pentru a încărca codul.   * Apăsați butonul de upload pentru a încărca codul.
   * Deschideți Serial Monitor la o viteză de transfer de 115200 baud.   * Deschideți Serial Monitor la o viteză de transfer de 115200 baud.
iothings/laboratoare/lab9.1720793118.txt.gz · Last modified: 2024/07/12 17:05 by laura.ruse
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