Arduino Object Detection Track APP
Die Anwendung kann verschiedene Arten von Objekten wie Linien, Farbkleckse, Kreise, Rechtecke und Personen auf der Kamera Ihres Telefons erkennen und verfolgen. Erkannte Objekttypen und Bildschirmpositionen können dann an ein Bluetooth-Empfangsgerät wie den HC-05 gesendet werden.
Wenn ein geeigneter Mikrocontroller verwendet wird, z. Arduino- oder Raspberry Pi-Benutzer können die erkannten Objekte für weitere robotergestützte Projekte analysieren. Ein typisches Beispiel ist das Anbringen eines Telefons an einem 2 oder 4 W Roboterkit, das dann einen Ball oder eine Person verfolgen kann.
Hauptanwendungsmerkmale:
1. Farberkennung und -verfolgung
2. Circle Detect und Track
3. Line Detect
4. Personen erkennen und verfolgen mithilfe des Histogramms der Farbverläufe (HoG)
5. Erkennung von TensorFlow Lite Coco Label-Objekten (z. B. Personen, Katzen, Autos, Fernseher usw.)
6. Verwenden Sie benutzerdefinierte Tensorflow-Modelle.
7. Senden Sie erkannte Objektparameter über Bluetooth.
Beachten Sie, dass alle Bildverarbeitungsvorgänge bei guten Lichtverhältnissen am besten funktionieren. Wenn Sie keine Objekte erkennen können, versuchen Sie, einige Konfigurationseinstellungen zu ändern. Beachten Sie auch, dass die implementierten Verfolgungsalgorithmen einfach sind und daher nicht zuverlässig funktionieren, wenn sich mehrere Objekte überlappen.
Laden Sie ein kompatibles mobilet-Dateimodell, um benutzerdefinierte Tensorflow-Modelle zu verwenden. Ein Beispiel hierfür sind pet_detect.tflite und pet_labels.txt. Sie müssen diese jedoch in custom.tflite und custom.txt umbenennen und in den internen Speicher des öffentlichen Dokumentordners Ihres Telefons ablegen. Stellen Sie außerdem sicher, dass Sie die Android App-Berechtigung für den Speicherzugriff aktivieren.
Bluetooth-Datenübertragungsformate:
Die gesamte Datenkommunikation wird als ASCII-Text im folgenden Format gesendet:
"Objekttyp": "ID": "XPos", "YPos", "Breite", "Höhe"
Beispiel für ein Farbklecks-Objekt: "CO: 0: -40,60,0,0"
Wobei ID eine Zahl zwischen 0 und 4 ohne Verfolgung oder eine eindeutige ganzzahlige verfolgte ID-Nummer mit Verfolgungsoption ist.
Die x- und y-Positionen beziehen sich auf die Mitte des Farbklecks, wobei sich 0,0 in der Mitte des Kameravorschaubildschirms befindet.
Beispiel für ein Kreisobjekt ohne Verfolgung: "CC: 0: -40,60,20,0"
Wobei x, y-Positionen den Mittelpunkt des Kreises angeben und die Breite den Radius des Kreises angibt.
Im Tracking-Modus bilden x, y, w, h das innere Rechteck des Kreises.
Beispiel für ein Kreisobjekt mit aktivierter Filterfarbe: "FC: 0: -40,60,20,0"
Wobei x, y-Positionen den Mittelpunkt des Kreises angeben und die Breite den Radius des Kreises angibt.
Beispiel für ein Linienobjekt: "LO: 0: -40,60,20,200"
Wobei x, y-Positionen den ersten Linienpunkt und w, h den zweiten Linienpunkt angeben.
Beispiel für ein Personenobjekt ohne Nachverfolgung: "PO: 0: -40,60,20,0"
Wobei x, y-Positionen die obere linke Ecke des Rechtecks und w, h die Breite und Höhe angeben.
Beispiel People-Objekt mit Filter auf Farbe: "FP: 0: -40,60,20,0"
Wobei x, y-Positionen die obere linke Ecke des Rechtecks und w, h die Breite und Höhe des Rechtecks angeben.
Alle verfolgten Objekte: "TO: 0: -40,60,20,40".
Dabei geben die Positionen x, y die Mitte des Rechtecks und w, h die Breite und Höhe von der Mitte des Rechtecks an. Beachten Sie, dass beim Filtern nach Kreisen und Personen die nachverfolgten Objekt-IDs für überlappende Farbobjekte auf Null zurückgesetzt werden.
TensorFlow-Objekte: "ObjectTitle: 0: -40,60,20,40"
Wenn ObjectTitle ein klassifiziertes TensorFlow-Objekt ist, z. "Person", "Tasse", "Flasche" usw. X, Y-Positionen geben die Mitte des Rechtecks an, und w, h geben die Breite und Höhe von der Mitte des Rect an. Beachten Sie, dass beim Filtern nach Farbklecksen-Schnittpunkten sichergestellt ist, dass die Farbklecksen-Nachverfolgung aktiviert ist.
Format für Filter auf TensorFlow: "FTF: Person: -40,60,20,40". Wobei "Person" einer der verfügbaren erkannten TensorFlow-Objekttypen sein kann, die in der Datei coco_labels_list.txt definiert sind (siehe Google TensorFlowLite).
Vollständige Online-Hilfe bei Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking
Copyright Gemcode Studios 2019




