Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Überwachung mit Tracking

Komponenten und Verbrauchsmaterialien

Arduino-Verarbeitung
× 1
Arduino UNO
× 1
Kamera (allgemein)
× 1
Servos (Tower Pro MG996R)
× 1

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Die Objektverfolgung ist eine wichtige Aufgabe im Bereich der Computer Vision. Die Verbreitung leistungsstarker Computer, die Verfügbarkeit hochwertiger und kostengünstiger Videokameras und der zunehmende Bedarf an automatisierter Videoanalyse haben ein großes Interesse an Objektverfolgungsalgorithmen geweckt. Die Videoanalyse umfasst drei wichtige Schritte:Erkennung interessanter bewegter Objekte, Verfolgung solcher Objekte von Frame zu Frame und Analyse von Objektspuren, um ihr Verhalten zu erkennen. Daher ist die Verwendung von Objektverfolgung für die folgenden Aufgaben relevant:

1. Bewegungsbasierte Erkennung, d. h. menschliche Identifizierung basierend auf dem Gang, automatischem Objekt

Erkennung usw.;

2. Automatisierte Überwachung, d. h. Überwachung einer Szene, um verdächtige Aktivitäten zu erkennen oder

unwahrscheinliche Ereignisse;

3. Videoindexierung, d. h. automatisches Annotieren und Abrufen der Videos in Multimedia

Datenbanken;

4. Interaktion zwischen Mensch und Computer, d. h. Gestenerkennung, Blickverfolgung für Daten

Eingabe in Computer usw.;

5. Verkehrsüberwachung, d. h. das Erfassen von Verkehrsstatistiken in Echtzeit, um den Verkehrsfluss zu lenken.

6. Fahrzeugnavigation, d. h. videobasierte Wegplanung und Hindernisvermeidungsfunktionen. In seiner einfachsten Form kann Tracking als das Problem der Schätzung der Flugbahn eines Objekts in der Bildebene definiert werden, während es sich um eine Szene herum bewegt. Mit anderen Worten, ein Tracker weist den verfolgten Objekten in verschiedenen Frames eines Videos konsistente Labels zu. Darüber hinaus kann ein Tracker je nach Tracking-Domain auch objektbezogene Informationen bereitstellen, z. B. Ausrichtung, Fläche oder Form eines Objekts.

Bei diesem Projekt geht es um eine Echtzeit-Objekterkennungs- und -verfolgungsmethode, bei der wir eine CCTV-Kamera verwenden, um das Ziel im Sichtbereich der Kamera aus dem Überwachungsraum zu identifizieren und zu verfolgen. Zusammen mit der Softwareverfolgung verfolgt das System auch das Objekt in der Szene mit einem lasermontierten Roboterarm. Der Roboterarm arbeitet so, dass er durch seine Schwenk-Neige-Bewegung jede einzelne Koordinate im Videobild abdeckt.

CAD-Datei-Link- 

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
Dies ist ein Verarbeitungscode, der die Mauskoordinaten an das Arduino überträgt und das Servo entsprechend der Mauszeigerposition anpasst
///////////////////// Verarbeitungscode / ////////////////////////////////import processing.serial.*;import processing.video.*;import java.awt .*;import gab.opencv.*;Video aufnehmen;OpenCV opencv;Serielles 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 =neue Seriennummer (dies, PortName, 9600); Video =neues Capture (dies, 640/2, 480/2); opencv =neuer OpenCV (dieser, 640/2, 480/2); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); video.start(); // Com7 =neue Serial (diese, Serial.list () [1], 9600); background(0,0,0);Ellipse(Breite/2,Breite/2,10,10);}void draw(){ scale(2); opencv.loadImage(Video); noFill(); Hub (0, 255, 0); Strichgewicht(3); Bild (Video, 0, 0); Rechteck[] Gesichter =opencv.detect(); println(faces.length); 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]); //Hintergrund (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
Dieser Code verfolgt das Gesicht einer Person im Sichtbereich
///////////////////// Verarbeitungscode ////////////// ///////////////////import processing.serial.*;import processing.video.*;import java.awt.*;import gab.opencv.*;Video aufnehmen; OpenCV opencv;Serielles 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 =neue Seriennummer (dies, PortName, 9600); Video =neues Capture (dies, 640/2, 480/2); opencv =neuer OpenCV (dieser, 640/2, 480/2); opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); video.start(); // Com7 =neue Serial (diese, Serial.list () [1], 9600); background(0,0,0);Ellipse(Breite/2,Breite/2,10,10);}void draw(){ scale(2); opencv.loadImage(Video); noFill(); Hub (0, 255, 0); Strichgewicht(3); Bild (Video, 0, 0); Rechteck[] Gesichter =opencv.detect(); println(faces.length); 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]); //Hintergrund (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
Dies ist Arduino-Code für Servobewegung
#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);}void loop(){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]; Neigungswinkel =inBytes[1];panservo.write(panangle); Tiltservo.write(tiltangle);} } }
Lebenslaufbibliothek zur Bearbeitung öffnen
Installieren Sie diese Bibliothek, damit dieser Code funktionierthttps://github.com/atduskgreg/opencv-processing

Kundenspezifische Teile und Gehäuse


Herstellungsprozess

  1. Raspberry Pi-Temperaturprofil mit LabVIEW
  2. Wetterfernüberwachung mit Raspberry Pi
  3. SensorTag zu Blynk mit Node-RED
  4. Himbeer-Pi-Ball-Tracking
  5. Bewegungssensor mit Raspberry Pi
  6. Automatische Bildverfolgung von Objekten
  7. Roboter mit Raspberry Pi und Bridge Shield
  8. WLAN-gesteuerter Roboter mit Raspberry Pi
  9. C# - Zeichenfolgen
  10. Bestimmen der Genauigkeit der dynamischen Objektverfolgung