Arduino Object Detection Track APP
De applicatie kan verschillende soorten objecten van de camera van uw telefoon detecteren en volgen, zoals lijnen, kleurvlekken, cirkels, rechthoeken en mensen. Gedetecteerde objecttypen en schermposities kunnen vervolgens worden verzonden naar een Bluetooth-ontvangapparaat zoals HC-05.
Als u een geschikte microcontroller gebruikt, b.v. Arduino of Raspberry Pi-gebruikers kunnen de gedetecteerde objecten analyseren voor verdere robotica-gebaseerde projecten. Een typisch voorbeeld is het aansluiten van een telefoon op een robotkit van 2 of 4 W die vervolgens een bal of persoon kan volgen / volgen.
Belangrijkste toepassingsfuncties:
1. Kleurvlek detecteren en volgen
2. Cirkel detecteren en volgen
3. Lijndetectie
4. Mensen detecteren en volgen met behulp van Histogram van verlopen (HoG)
5. Detectie van TensorFlow Lite Coco-labelobjecten (bijv. Personen, katten, auto's, tv, enz.)
6. Gebruik aangepaste Tensorflow-modellen.
7. Verzend gedetecteerde objectparameters via Bluetooth.
Merk op dat alle beeldverwerkingsbewerkingen het beste werken in goede lichtomstandigheden. Als u geen objecten kunt detecteren, probeer dan enkele configuratie-instellingen te wijzigen. Merk ook op dat de geïmplementeerde trackingalgoritmen simplistisch zijn en daarom niet betrouwbaar zullen werken wanneer meerdere objecten elkaar overlappen.
Om aangepaste Tensorflow-modellen te gebruiken, laadt u een compatibel mobiel model. Een voorbeeld hiervan is de pet_detect.tflite en pet_labels.txt. U moet deze echter hernoemen naar custom.tflite en custom.txt en ze in de openbare documentmap van uw telefoon plaatsen. Zorg er ook voor dat u Android-app-toestemming voor opslagtoegang inschakelt.
Bluetooth-gegevensindelingen voor verzending:
Alle datacommunicatie wordt verzonden als ASCII-tekst in het volgende formaat:
"Object Type": "ID": "XPos", "YPos", "Width", "Height"
Voorbeeld kleurvlekobject: "CO: 0: -40,60,0,0"
Waar ID is een nummer tussen 0 en 4 zonder tracking, of een uniek geheel getraceerd ID-nummer met trackingoptie.
De x- en y-posities hebben betrekking op het midden van de kleurvlek, waarbij 0,0 zich in het midden van het voorbeeldscherm van de camera bevindt.
Voorbeeld Circle Object No Tracking: "CC: 0: -40,60,20,0"
Waar x, y-posities het middelpunt van de cirkel geven en breedte de straal van de cirkel.
In de volgmodus geven de x, y, w, h de binnenste rechthoek van de cirkel.
Voorbeeld van een cirkelobject met filter op kleur: "FC: 0: -40,60,20,0"
Waar x, y-posities het middelpunt van de cirkel geven en breedte de straal van de cirkel.
Voorbeeld van regelobject: "LO: 0: -40,60,20,200"
Waar x, y posities het eerste lijnpunt geven, en w, h geeft het tweede lijnpunt.
Voorbeeld Mensen Object Geen tracking: "PO: 0: -40,60,20,0"
Waar x, y posities linksboven van de rechthoek geven, en w, h geeft breedte en hoogte.
Voorbeeld van mensen Object met filter op kleur: "FP: 0: -40,60,20,0"
Waar x, y posities linksboven van de rechthoek geeft, en w, h geeft breedte en hoogte van de rechthoek.
Alle gevolgde objecten: "NAAR: 0: -40,60,20,40".
waarbij x, y-posities het middelpunt van de rechthoek geven en w, h breedte en hoogte geeft vanaf het middelpunt van de rechthoek. Houd er rekening mee dat bij het filteren op cirkel en mensen, bijgehouden object-ID's worden gereset naar nul voor overlappende kleurobjecten.
TensorFlow Objects: "ObjectTitle: 0: -40,60,20,40"
Waar ObjectTitle een geclassificeerd TensorFlow-object is, b.v. "Persoon", "Beker", "Fles" enz. X, Y-posities geven het midden van de rechthoek, en w, h geeft breedte en hoogte vanaf het midden van de rechthoek. Houd er rekening mee dat als filteren op snijpunten van kleurenblobs ervoor zorgt dat het bijhouden van kleurenblobs is ingeschakeld.
Formaat voor filter op TensorFlow: "FTF: Persoon: -40,60,20,40". Waar "Persoon" een van de beschikbare gedetecteerde TensorFlow-objecttypen kan zijn die zijn gedefinieerd in coco_labels_list.txt (zie Google TensorFlowLite).
Volledige online hulp bij Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking
Copyright Gemcode Studios 2019



