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

Erkennung von unbemannten Luftfahrzeugen mithilfe von Computer Vision

Zusammenfassung

Mit der technologischen Innovation wird die Sicherheit zum größten Problem, das es zu bewältigen gilt. Die exponentiell zunehmende Zugänglichkeit von Drohnen stellt eine große Bedrohung für die allgemeine Sicherheit dar. Der Einsatz von UAVs hat in den letzten Jahren zugenommen. Unter Berücksichtigung der Sicherheitsprobleme wird hier eine Lösung vorgeschlagen. Erkennen Sie zuerst UAVs und verfolgen Sie dann ihren Weg.

Für die Objekterkennung sind Computer Vision Deep Learning-Algorithmen sehr effektiv. Die Eingabe wird von YOLO verarbeitet, einem neuronalen Netzwerk, das zur Objekterkennung und -verfolgung in Echtzeit verwendet wird.

2.1 Das UAV-Konzept verstehen

Wie im Titel „UAV-Erkennung und -Verfolgung mit Computer Vision“, UAV (Unmanned Aerial Vehicle) ist ein Flugzeug ohne Pilot, das ferngesteuert oder von Bordcomputern gesteuert werden kann.

UAVs können für nützliche Zwecke wie Landwirtschaft, wissenschaftliche Forschung, Wettervorhersage, Versand und Lieferung, Rettungseinsätze und Gesundheitsfürsorge verwendet werden. Es kann für Katastrophenzwecke wie Angriffe, Raketenangriffe, Zieltötung usw. verwendet werden.

2.2 Was ist maschinelles Sehen?

Computersehen ist das Wissenschaftsgebiet, das Computer dazu bringt, Bilder so zu sehen, zu identifizieren und zu verarbeiten, wie es das menschliche Auge tut, und um eine angemessene Ausgabe zu liefern. Computer Vision wird in fast allen Bereichen eingesetzt, z. B.:

2.3 Was ist die Bildverarbeitungstechnik?

Die Bildverarbeitung Technik wird von Computer Vision verwendet, um verschiedene Aufgaben auszuführen. Der durchgeführte Vorgang und die angewendeten Verfahren zur Verbesserung der Qualität eines Bildes oder zum Erzielen eines bestimmten Ergebnisses, nachdem es als Bildstapel erhalten wurde, wird als Bildverarbeitung bezeichnet.

Die Bildverarbeitung gilt heute als einer der sich am schnellsten entwickelnden Bereiche der Informationstechnologie mit wachsenden Anwendungen in allen Geschäftsbereichen. Anwendungen der Bildverarbeitung sind:

Anwendungsfälle der Bildverarbeitung

Bildverarbeitung kann in diesen Bereichen verwendet werden:

3. Algorithmen zur Objekterkennung

Viele Algorithmen sind für die Objekterkennung vorhanden. Einige davon sind wie folgt:

Tabelle 3.1:Algorithmen zur Erkennung

Algorithmus Beschreibung Stärke Schwäche
VOILA    AND JONES  (Die Viola-Jones

Der Algorithmus wurde 2001 von Paul Viola und Michael Jones entworfen)

Der Hauptzweck war die Gesichts- und Objekterkennung. Es kann Objekte in Echtzeit erkennen.

Wenn wir Bildalgorithmen geben, sehen sie sich kleinere Unterregionen an und versuchen, Objekte zu finden, indem sie sich spezielle Merkmale in jeder Unterregion ansehen.

Der Algorithmus von Viola und Jones verwendet Haar-ähnliche Merkmale, um Objekte zu erkennen

  1. Robust
  2. Sehr hohe Erkennungsrate.
  3. Verwenden Sie verschiedene Klassifikatoren, die jeweils einen anderen Teil des Bildes betrachten
  4. Schnell
  5. Gut beim Erkennen von Kanten und Linien
  1. Kann geneigte oder gedrehte Gesichter nicht erkennen.
  2. Sie reagiert empfindlich auf Lichtverhältnisse
  3. Kann sich bewegende Objekte nicht erkennen
CNN (Convolutional  Neural Networks) Eingeführt von Kunihiko     Fukushima im Jahr 1980 Das biologisch inspirierte hierarchische Modell, das trainiert werden kann, um Erkennung, Erkennung und Segmentierung zu bestätigen.

Es ist im Grunde ein Deep-Learning-Algorithmus, er nimmt Bilder als Eingabe, weist dem im Bild vorhandenen Objekt lernbare Gewichtungen und Verzerrungen zu und unterscheidet zwischen dem einen und dem anderen

  1. Features durch Training bestimmen (hat also einen höheren Freiheitsgrad).
  2. Verwenden Sie eine einzelne Klassifizierung, die das gesamte Bild betrachtet.
  3. Wendet Matrixoperationen an.
  4. Genau.
  1. Großer Datensatz ist erforderlich
  2. Teuer.
YOLO    (You Only Look Once) Es ist ein Echtzeit-Erkennungsalgorithmus. Es wendet einen neuronalen Netzwerkalgorithmus auf das Bild an und teilt das Bild in ein S x S-Gitter und bildet eine Grenze um Bilder und sagt Möglichkeiten für jede der Grenzen voraus. Es verwendet eine Regression.
  1. Kann mehrere Objekte im selben Bild erkennen.
  2. Echtzeitausführung
  3. Superschnell
  4. Hochleistung
  5. Keine Hintergrundfehler
1. Erkennt ein Objekt pro Gitterzelle.

2.   Hohe Leistung der Genauigkeit vorziehen.

SSD (Single Shot Detector) Diese Methode benötigt nur einen einzigen Schuss, um mehrere Objekte zu erkennen. Diese Methode ist sehr schnell. Es ist für die Echtzeitimplementierung ausgelegt. Es enthält zwei Komponenten Backbone und SSD-Head.
  1. Höhere Rechenzeit
  2. Hohe Genauigkeit
  3. Kompromiss der Genauigkeit ist moderat
  1. Leistung gut bei großen Objekten, aber etwas schlechter bei kleinen Objekten
  2. End-to-End-Erkennung ist zu langsam.
  3. Rechenintensiv.

Hier wird der Algorithmus des neuronalen Yolo-Netzwerks verwendet. Dieser Algorithmus ist für die Echtzeitimplementierung sehr schnell. Es verwendet einen neuronalen Netzwerkalgorithmus und teilt das Bild in ein S x S-Raster und erstellt eine Grenze um das Bild herum, um Möglichkeiten für jede Grenze vorherzusagen. Algorithmen zur Erkennung sind in Tabelle 4.4 aufgeführt.

3.1 Algorithmus für Tracking

Nach dem Erkennen eines Objekts liegt der nächste Fokus auf der Spur. Wenn es sich bei dem erkannten Objekt um einen Drachen oder Vogel handelt, ist keine Verfolgung erforderlich, aber wenn das erkannte Objekt eine Drohne ist, wird das Ziel verfolgt.

Viele Algorithmen werden für die Objektverfolgung verwendet. Aber auch hier wird YOLO zum Verfolgen verwendet, da dieser Algorithmus schnell und genau ist und erkennen und verfolgen kann, bis sich das Ziel außerhalb der Reichweite der Kamera bewegt.

4. Implementierung des vorgeschlagenen Designs

Hier ist die Implementierung des vorgeschlagenen Designs. In dem alle Schritte durchgeführt werden, die zum Ausführen des Projekts auf Software erforderlich sind.

4.1 Anfangsphase

  1. Bildverarbeitung braucht eine gute CPU/GPU, wähle CPU. Installieren Sie Anaconda von der Website Die Installation von Anaconda ist in Abbildung 4.1 dargestellt
  2. Erstellen Sie nach der Installation von Anaconda Navigator mit Hilfe des Umgebungsdialogs eine Umgebung und wählen Sie die Python-Version aus.

  3. Nachdem Sie erfolgreich eine Umgebung erstellt haben, ist der nächste Schritt die Installation von Spyder, da es einfach zu bedienen ist. Installieren Sie dann open CV über den Befehl pip install cv2.

4.2 Datensatz vorbereiten

  1. Sammeln Sie viele Bilder von verschiedenen Luftobjekten wie Drohnen, Vögeln, Flugzeugen, Helikoptern, Drachen und Ballons.

Hinweis: Das Erstellen eines Datensatzes ist mehr als nur das Sammeln von Bildern. Geben Sie die Namen der Bilder an und geben Sie auch die Position dieser spezifischen Objekte in jedem Bild an. Dafür kann eine Software namens Labellmg sorgen verwendet, das Bilder in Textdateien umwandelt. Wie in Abbildung 4.6

gezeigt
  1. Sobald Txt-Dateien aller Objekte erstellt wurden. Packen Sie alle Bilder und Textdateien in eine ZIP-Datei. Benennen Sie auch die Datei für die enthaltenen Klassen.

4.3 YOLO-Konfiguration

Führen Sie zur Konfiguration die folgenden Schritte aus: 

  1. Darknet mit YOLO v3 installieren.
  2. Um das YOLO zu konfigurieren, erstellen Sie einen Ordner in darknet/data, der alle Bilder und .txt-Dateien des zuvor erstellten Datensatzes enthält.
  3. Um eine benutzerdefinierte Konfigurationsdatei zu erstellen, nehmen Sie die erforderlichen Änderungen in YOLO v3 von cfg vor, indem Sie Stapel, Unterteilungen und maximale Stapel in Bezug auf Klassen und Schritte anpassen.
  4. Wenn Sie die Anzahl der Klassen eingeben, ändern Sie die Faltungsschicht über YOLO. Setzen Sie auch random auf 1. cfg-Parameter sind in Tabelle 4.1
  5. aufgeführt

Tabelle 4.1:CFG-Parameter

Name Beschreibung
Stapel Wie viele Bilder und Beschriftungen werden im Vorwärtsdurchgang verwendet, um einen Gradienten zu berechnen und die Gewichtungen über die Backpropagation-Methode zu aktualisieren.
Unterteilungen Die Charge wird in viele „Blöcke“ unterteilt. Die Bilder eines Blocks werden parallel ausgeführt.
Schritte 500.1000:Passen Sie die Lernrate nach 500 und 1000 Batches an.
Ebenen (Filter) Wie viele Faltungskerne gibt es in einer Schicht.
Ebenen (zufällig) Legen Sie die YOLO-Schichten ein. Wenn auf 1 gesetzt, führen Sie eine Datenerweiterung durch, indem Sie die Größe der Bilder alle paar Stapel auf unterschiedliche Größen ändern, die verwendet werden, um über Objektgrößen zu verallgemeinern.
  1. Erstellen Sie einen benutzerdefinierten Objektordner über data/obj.names, in dem alle Namen geschrieben sind, die wir erkennen möchten, wie Drohnen, UAVs, Vögel, Drachen usw.
  2. In obj.data sind Klassenanzahl, train.txt, gültig, Namen und Gewichtsordner enthalten und gespeichert.
  3. In train.txt werden alle Daten und Namen der Bilder gespeichert.

4.4 YOLO auf Ihrem Datensatz trainieren

Das Training von YOLO für einen angepassten Datensatz erfolgt ebenfalls über das Darknet. Klonen und aktivieren Sie das Darknet und aktivieren Sie den offenen Lebenslauf. Indem Sie den ZIP-Ordner, die .cfg-Datei, die .names-Datei, die obj.data-Datei und die train.txt-Datei nehmen, die oben erstellt wurden, konfigurieren Sie dann das Darknet-Netzwerk für das Training von YOLO v3 und zählen Sie die Ausführungen.

Nach Tausenden von Iterationen, die basierend auf unserer CPU-Leistung etwa 2 Stunden dauern können, ist ein trainierter Datensatz einsatzbereit und in unser System integrierbar, mit Angabe des durchschnittlichen Verlusts.

4.5 Code auf Bild- und Videoeingabe testen

Nachdem Sie den YOLO für den benutzerdefinierten Datensatz trainiert haben, beginnen Sie mit dem Testen des Codes auf Ihrem trainierten Datensatz, der als YOLO-Gewichte bezeichnet wird. In diesem Fall hat es 4 Klassen.

Probieren Sie die YOLO-Erkennung auf einem anderen Gerät aus. Große Gewichte sind in Bezug auf die Genauigkeit gut, aber die Verarbeitung ist aufgrund der niedrigen Bilder pro Sekunde etwas langsam. Machen Sie ein Video von UAV, Vögeln und geben Sie diese Daten als Eingabe für den Code ein. Alle Objekte werden erfolgreich erkannt und mit den Labels mit fps und Schwellenwert verfolgt.

Jetzt kann der Code für Echtzeit-Szenarien getestet werden, indem die Echtzeit-Eingabe der Webcam die Reichweite unserer Kamera ändert, flog unser UAV mit Aufzeichnung des Ergebnisses, Sie sehen die Ausgabe als erforderlich „Erkennung und Verfolgung von UAV“.


Industrietechnik

  1. Computer Vision als Bewegungssensor für SmartThings
  2. SONBI ROBOTER MENSCHLICHE ERKENNUNG MIT KINECT UND HIMBEE PI
  3. Die Vorteile des Einsatzes von Robotic Vision für Automatisierungsanwendungen
  4. 4 Vorteile der Verwendung einer intelligenten Lecksuchlösung in Gebäuden
  5. 5 Vorteile der Verwendung des IoT-betriebenen Wasserleckerkennungssystems von Biz4intlias in der Industrie
  6. 7 Anwendungen von Computer Vision
  7. Maschinelles Sehen
  8. Unmanned Aerial Vehicle (UAV) in großer Höhe zur Überwachung meteorologischer Parameter
  9. Verhindern von wärmeinduzierter Bildverzerrung in Zeilenkameras für maschinelles Sehen
  10. 24 Lektion 7:Mastercam