Rilevamento oggetti TensorFlow e tracciamento via Bluetooth per progetti Arduino

Ultima versione

Versione
Aggiornare
22 feb 2020
Sviluppatore
Categoria
Installazioni
10.000+

App APKs

Arduino Object Detection Track APP

Questa applicazione è progettata specificamente per studenti, ingegneri elettronici e hobbisti che lavorano con micro controller Arduino e Raspberry Pi. Utilizza i libarari OpenCV per il rilevamento e la classificazione della visione artificiale, incluso l'apprendimento automatico di Google Tensorflow Lite.

L'applicazione può rilevare e tenere traccia di vari tipi di oggetti dalla fotocamera del telefono come linee, macchie di colore, cerchi, rettangoli e persone. I tipi di oggetti rilevati e le posizioni dello schermo possono quindi essere inviati a un dispositivo ricevitore Bluetooth come HC-05.

Se si utilizza un microcontrollore appropriato, ad es. Gli utenti di Arduino o Raspberry Pi possono analizzare gli oggetti rilevati per ulteriori progetti basati sulla robotica. Un esempio tipico potrebbe essere quello di collegare un telefono a un kit robot da 2 o 4 W che può quindi tracciare / seguire una palla o una persona.

Caratteristiche principali dell'applicazione:
1. Rilevamento e traccia del BLOB di colore
2. Circle Detect e Track
3. Rilevamento linea
4. Le persone rilevano e tracciano utilizzando l'istogramma dei gradienti (HoG)
5. Rilevamento di oggetti TensorFlow Lite Coco Label (ad es. Persone, gatti, automobili, TV, ecc.)
6. Utilizzare modelli Tensorflow personalizzati.
7. Invia i parametri degli oggetti rilevati tramite Bluetooth.

Si noti che tutte le operazioni di elaborazione delle immagini funzionano meglio in buone condizioni di illuminazione. Se non riesci a rilevare oggetti, prova a modificare alcune delle impostazioni di configurazione. Si noti inoltre che gli algoritmi di tracciamento implementati sono semplicistici e quindi non funzioneranno in modo affidabile quando più oggetti si sovrappongono.

Per utilizzare i modelli Tensorflow personalizzati, caricare un modello di file mobilenet compatibile. Un esempio è Pet_detect.tflite e pet_labels.txt. Tuttavia, è necessario rinominarli in custom.tflite e custom.txt e posizionarli nella cartella dei documenti pubblici di archiviazione interna del telefono. Assicurati inoltre di abilitare l'autorizzazione dell'app Android per l'accesso allo spazio di archiviazione.

Formati di trasmissione dati Bluetooth:

Tutte le comunicazioni di dati vengono inviate come testo ASCII nel seguente formato:

"Tipo di oggetto": "ID": "XPos", "YPos", "Larghezza", "Altezza"
  
  Esempio di oggetto BLOB di colore: "CO: 0: -40,60,0,0"
  Dove ID è un numero compreso tra 0 e 4 senza tracciamento o qualsiasi numero ID univoco con tracciamento intero con opzione di tracciamento.
  Le posizioni xey si riferiscono al centro del blob colore con 0,0 al centro della schermata di anteprima della telecamera.
   
  Esempio di oggetto cerchio senza tracciamento: "CC: 0: -40,60,20,0"
  Dove x, y indicano il centro del cerchio e la larghezza indica il raggio del cerchio.
  In modalità di tracciamento, x, y, w, h forniscono il rettangolo interno del cerchio.

  Esempio di oggetto cerchio con filtro su colore: "FC: 0: -40,60,20,0"
  Dove x, y indicano il centro del cerchio e la larghezza indica il raggio del cerchio.
  
  Esempio di oggetto linea: "LO: 0: -40,60,20.200"
  Dove x, y posiziona il primo punto della linea e w, h dà il secondo punto della linea.
  
  Tracciamento oggetto oggetto di esempio persone: "PO: 0: -40,60,20,0"
  Dove x, y indica la parte superiore sinistra del rettangolo e w, h indica la larghezza e l'altezza.
  
  Esempio di oggetto persone con filtro per colore: "FP: 0: -40,60,20,0"
  Dove x, y indica la parte superiore sinistra del rettangolo e w, h indica la larghezza e l'altezza del rettangolo.

Tutti gli oggetti tracciati: "TO: 0: -40,60,20,40".
dove x, y posiziona il centro del rettangolo e w, h indica la larghezza e l'altezza dal centro del rettangolo. Si noti che se si filtra su cerchio e persone, gli ID oggetto tracciati verranno reimpostati su zero per gli oggetti colore sovrapposti.

Oggetti TensorFlow: "ObjectTitle: 0: -40,60,20,40"
Dove ObjectTitle è qualsiasi oggetto TensorFlow classificato, ad es. "Person", "Cup", "Bottle" ecc. Le posizioni X, Y indicano il centro del rettangolo e w, h indica la larghezza e l'altezza dal centro del rettangolo. Notare che se il filtro sull'intersezione del blob di colore assicura che il tracciamento del blob di colore sia abilitato.

Formato per filtro su TensorFlow: "FTF: Persona: -40,60,20,40". Dove "Persona" può essere uno qualsiasi dei tipi di oggetto TensorFlow rilevati disponibili definiti in coco_labels_list.txt (Vedi Google TensorFlowLite).
 
Guida online completa su Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking

Copyright Gemcode Studios 2019
Ulteriori informazioni

Pubblicità