Arduino Object Detection Track APP
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



