Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Surveillance à l'aide du suivi

Composants et fournitures

Traitement Arduino
× 1
Arduino UNO
× 1
Caméra (générique)
× 1
Servos (Tower Pro MG996R)
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Le suivi d'objets est une tâche importante dans le domaine de la vision par ordinateur. La prolifération d'ordinateurs puissants, la disponibilité de caméras vidéo de haute qualité et peu coûteuses et le besoin croissant d'analyse vidéo automatisée ont suscité un grand intérêt pour les algorithmes de suivi d'objets. L'analyse vidéo comporte trois étapes clés :la détection d'objets en mouvement intéressants, le suivi de ces objets d'une image à l'autre et l'analyse des traces d'objets pour reconnaître leur comportement. Par conséquent, l'utilisation du suivi d'objets est pertinente dans les tâches de :

1. Reconnaissance basée sur le mouvement, c'est-à-dire identification humaine basée sur la démarche, objet automatique

détection, etc. ;

2. Surveillance automatisée, c'est-à-dire surveiller une scène pour détecter des activités suspectes ou

événements improbables ;

3. Indexation vidéo, c'est-à-dire annotation et récupération automatique des vidéos en multimédia

bases de données ;

4. Interaction homme-machine, c'est-à-dire reconnaissance des gestes, suivi du regard pour les données

entrée aux ordinateurs, etc. ;

5. Surveillance du trafic, c'est-à-dire collecte en temps réel de statistiques de trafic pour diriger le flux de trafic.

6. Navigation de véhicule, c'est-à-dire planification de trajectoire basée sur la vidéo et capacités d'évitement d'obstacles. Dans sa forme la plus simple, le suivi peut être défini comme le problème d'estimation de la trajectoire d'un objet dans le plan de l'image lorsqu'il se déplace autour d'une scène. En d'autres termes, un outil de suivi attribue des étiquettes cohérentes aux objets suivis dans différentes images d'une vidéo. De plus, selon le domaine de suivi, un outil de suivi peut également fournir des informations centrées sur l'objet, telles que l'orientation, la zone ou la forme d'un objet.

Ce projet concerne une méthode de détection et de suivi d'objets en temps réel dans laquelle nous utilisons une caméra de vidéosurveillance pour identifier et suivre la cible dans la plage de vision de la caméra depuis la salle de surveillance. En plus du logiciel de suivi, le système suivra également l'objet dans la scène à l'aide d'un bras robotique monté au laser. Le bras robotique fonctionne de telle manière qu'il couvre chaque coordonnée dans l'image vidéo par son mouvement pan-tilt.

Lien de fichier CAO-

Code

  • mouse_drag_fina_larduino_workinh_code.ino
  • facetracking_procesing_final_code.pde
  • mouse_drag_fina_larduino_workinh_code.ino
mouse_drag_fina_larduino_workinh_code.inoArduino
Il s'agit d'un code de traitement qui transfère les coordonnées de la souris à l'arduino et ajuste le servo en fonction de la position du pointeur de la souris
//////////////////// Code de traitement / ///////////////////////////////import processing.serial.*;import processing.video.*;import java.awt .*;import gab.opencv.*;Capture vidéo;OpenCV opencv;Serial Com7; float fpan,ftilt;int pan, tilt, x, y;int[] inBytes =new int[3];void setup(){size(500,500);String portName =Serial.list()[0]; Com7 =nouveau Serial(this, portName, 9600); vidéo =nouvelle capture (ceci, 640/2, 480/2); opencv =nouveau OpenCV (ceci, 640/2, 480/2); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); video.start(); //Com7 =new Serial(this, Serial.list()[1], 9600); background(0,0,0);ellipse(width/2,width/2,10,10);}void draw(){ scale(2); opencv.loadImage(vidéo); aucun remplissage(); trait (0, 255, 0); poids du trait(3) ; image(vidéo, 0, 0 ); Rectangle[] faces =opencv.detect(); println(faces.longueur); for (int i =0; i 0){ inBytes[0] =inBytes[1]; inBytes[1] =inBytes[2] ; inBytes[2] =Com7.read(); if(inBytes[2] ==255){ println(inBytes[0] +" , " + inBytes[1]); //fond (0,0,0); //ellipse(width - inBytes[0]*width/180,inBytes[1]*width/180,10,10);}} }void captureEvent(Capture c) { c.read();}
facetracking_procesing_final_code.pdeArduino
Ce code suit le visage d'une personne dans la plage de visualisation//////////////////// Code de traitement ////////////// ///////////////////import processing.serial.*;import processing.video.*;import java.awt.*;import gab.opencv.*;Capture video; OpenCV opencv;Série Com7; float fpan,ftilt;int pan, tilt, x, y;int[] inBytes =new int[3];void setup(){size(500,500);String portName =Serial.list()[0]; Com7 =nouveau Serial(this, portName, 9600); vidéo =nouvelle capture (ceci, 640/2, 480/2); opencv =nouveau OpenCV (ceci, 640/2, 480/2); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); video.start(); //Com7 =new Serial(this, Serial.list()[1], 9600); background(0,0,0);ellipse(width/2,width/2,10,10);}void draw(){ scale(2); opencv.loadImage(vidéo); aucun remplissage(); trait (0, 255, 0); poids du trait(3) ; image(vidéo, 0, 0 ); Rectangle[] faces =opencv.detect(); println(faces.longueur); for (int i =0; i 0){ inBytes[0] =inBytes[1]; inBytes[1] =inBytes[2] ; inBytes[2] =Com7.read(); if(inBytes[2] ==255){ println(inBytes[0] +" , " + inBytes[1]); //fond (0,0,0); //ellipse(width - inBytes[0]*width/180,inBytes[1]*width/180,10,10);}} }void captureEvent(Capture c) { c.read();}
mouse_drag_fina_larduino_workinh_code.inoArduino
Il s'agit du code arduino pour le mouvement du servo
#include  byte inBytes[3];Servo panservo;Servo tiltservo;int panangle =90;int tiltangle =90;void setup(){Serial.begin(9600);panservo.attach(9);tiltservo.attach(11);}boucle vide(){if(Serial.available()> 0){inBytes[0] =inBytes[1];inBytes[1] =inBytes[2 ];inBytes[2] =Serial.read();if(inBytes[2] ==255){ Serial.write(inBytes,3) ; panangle =inBytes[0]; tiltangle =inBytes[1];panservo.write(panangle); tiltservo.write(tiltangle);} } }
Ouvrir la bibliothèque de CV pour le traitement
Installez cette bibliothèque pour que ce code fonctionnehttps://github.com/atduskgreg/opencv-processing

Pièces et boîtiers personnalisés


Processus de fabrication

  1. Profil de température Raspberry Pi avec LabVIEW
  2. Surveillance à distance de la météo à l'aide de Raspberry Pi
  3. Tag de capteur à Blynk à l'aide de Node-RED
  4. Suivi de la boule Raspberry Pi
  5. Capteur de mouvement utilisant Raspberry Pi
  6. Suivi automatique des objets de vision
  7. Robot utilisant Raspberry Pi &Bridge Shield
  8. Robot contrôlé par Wi-Fi utilisant Raspberry Pi
  9. C# - Chaînes