• Arduino Object Detection Tracking 1
  • Arduino Object Detection Tracking 2
  • Arduino Object Detection Tracking 3
  • Arduino Object Detection Tracking 4

Arduino Object Detection Tracking

Cette application est spécialement conçue pour les étudiants, les ingénieurs électroniques et les passionnés travaillant avec les micro-contrôleurs Arduino et Raspberry Pi. Il utilise les librairies OpenCV pour la détection et la classification de la vision par ordinateur, y compris l'apprentissage automatique avec Google Tensorflow Lite.

L'application peut détecter et suivre différents types d'objets à partir de l'appareil photo de votre téléphone, tels que des lignes, des taches de couleur, des cercles, des rectangles et des personnes. Les types d'objet détectés et les positions d'écran peuvent ensuite être envoyés à un récepteur Bluetooth tel que HC-05.

Si vous utilisez un micro-contrôleur approprié, par ex. Les utilisateurs d’Arduino ou de Raspberry Pi peuvent analyser les objets détectés pour d’autres projets basés sur la robotique. Un exemple typique pourrait être d’attacher un téléphone à un kit de robot de 2 ou 4 W qui peut ensuite suivre / suivre une balle ou une personne.

Caractéristiques clés de l'application:
1. Détecter et suivre les taches de couleur
2. Détecter et suivre les cercles
3. Détection de ligne
4. Détection et suivi des personnes à l'aide d'un histogramme de dégradés (HoG)
5. Détection d’objets étiquetés TensorFlow Lite Coco (par exemple, personnes, chats, voitures, télévision, etc.)
6. Utilisez des modèles Tensorflow personnalisés.
7. Envoyez les paramètres de l'objet détecté via Bluetooth.

Notez que toutes les opérations de traitement d'image fonctionnent mieux dans de bonnes conditions d'éclairage. Si vous ne parvenez pas à détecter les objets, essayez de modifier certains paramètres de configuration. Notez également que les algorithmes de suivi mis en œuvre sont simplistes et ne fonctionneront donc pas de manière fiable lorsque plusieurs objets se chevauchent.

Pour utiliser des modèles Tensorflow personnalisés, chargez un modèle de fichier mobilenet compatible. Pet_detect.tflite et pet_labels.txt en sont un exemple. Cependant, vous devez les renommer en custom.tflite et custom.txt et les placer dans le dossier de documents publics de stockage interne de votre téléphone. Assurez-vous également d'activer l'autorisation d'application Android pour accéder au stockage.

Formats de transmission de données Bluetooth:

Toutes les communications de données sont envoyées sous forme de texte ASCII au format suivant:

"Type d'objet": "ID": "XPos", "YPos", "Largeur", "Hauteur"
  
  Exemple d'objet blob de couleur: "CO: 0: -40,60,0,0"
  Où ID est un nombre compris entre 0 et 4 sans suivi, ou tout numéro d'identification unique suivi avec une option de suivi.
  Les positions x et y se rapportent au centre de la goutte de couleur, 0,0 étant au centre de l'écran d'aperçu de la caméra.
   
  Exemple de suivi d'objet circulaire: "CC: 0: -40,60,20,0"
  Où les positions x, y donnent le centre du cercle et la largeur donne le rayon du cercle.
  En mode suivi, les symboles x, y, w et h constituent le rectangle intérieur du cercle.

  Exemple d'objet cercle avec filtre activé: "FC: 0: -40,60,20,0"
  Où les positions x, y donnent le centre du cercle et la largeur donne le rayon du cercle.
  
  Exemple d'objet de ligne: "LO: 0: -40,60,20,200"
  Où x, y positions donne le premier point de la ligne et w, h donne le deuxième point de la ligne.
  
  Exemple de suivi d'objet de personnes: "PO: 0: -40,60,20,0"
  Où x, y positions donne en haut à gauche du rectangle et w, h donne largeur et hauteur.
  
  Exemple d'objet de personnes avec le filtre activé: "FP: 0: -40,60,20,0"
  Où x, y positions donne en haut à gauche du rectangle, et w, h donne la largeur et la hauteur du rectangle.

Tous les objets suivis: "TO: 0: -40,60,20,40".
où x, y positions donne le centre du rectangle et w, h donne la largeur et la hauteur à partir du centre du rectangle. Notez que si vous filtrez sur le cercle et les personnes, les identifiants d'objet suivis seront réinitialisés à zéro pour les objets de couleur superposés.

Objets TensorFlow: "ObjectTitle: 0: -40,60,20,40"
Où ObjectTitle est un objet TensorFlow classé, par ex. "Personne", "Coupe", "Bouteille" etc. Les positions X, Y donnent le centre du rectangle, et w, h donne la largeur et la hauteur à partir du centre du rect. Notez que si le filtrage sur l'intersection de tâches de couleur est garanti, le suivi des tâches de couleur est activé.

Format pour le filtre sur TensorFlow: "FTF: Person: -40,60,20,40". Où "Personne" peut être l'un des types d'objet TensorFlow détectés disponibles définis dans le fichier coco_labels_list.txt (voir Google TensorFlowLite).
 
Aide en ligne complète sur Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking

Copyright Gemcode Studios 2019

Catégorie : Outils

Recherches associées

Avis (1)

Faf. L. 25 janv. 2022     

J'ai essayé votre produit sur un prototype et ça marche bien, je serai ravi si nous pouvions l'améliorer pour qu'il soit à 100% adaptable