OSE - Objekterkennung im Videobild: Unterschied zwischen den Versionen
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 37: | Zeile 37: | ||
=== Vorverarbeitung === | === Vorverarbeitung === | ||
Die Difinition der Vorverarbeitung ist die Veränderung der Helligkeit | Die Difinition der Vorverarbeitung ist die Veränderung der Helligkeit | ||
einzelner Bildpunkte oder die Veränderung der Lage der Punkte zueinander. Man kann die in diesem Kapitel besprochenen Vorverarbeitungsfunktionen, bei denen die Helligkeit einzelner Bildpunkte verändert wird, grundsätzlich in zwei Gruppen einteilen, je nachdem woraus sich die Helligkeit eines Bildpunkts im Ergebnisbild bestimmt: | einzelner Bildpunkte oder die Veränderung der Lage der Punkte zueinander. Man kann die in diesem Kapitel besprochenen Vorverarbeitungsfunktionen, bei denen die Helligkeit einzelner Bildpunkte verändert wird, grundsätzlich in zwei Gruppen einteilen, je nachdem woraus sich die Helligkeit eines Bildpunkts im Ergebnisbild bestimmt:<br> | ||
1.<br> | 1.<br> | ||
2.<br> | 2.... <br> | ||
Als Beispiel kann die Aufgabe der Vorverarbeitung die Korrektur ungleichmäßiger Bildausleuchtungoder oder Entfernen von Rauschen sein. | Als Beispiel kann die Aufgabe der Vorverarbeitung die Korrektur ungleichmäßiger Bildausleuchtungoder oder Entfernen von Rauschen sein. | ||
=== Segmentierungsalgorithmen === | === Segmentierungsalgorithmen === | ||
Die Segmentierung ist ein Verfahren, das aus einer großen Datenmenge zusammenhängende kleinere Bereiche bestimmt. Die Segmentierung findet sich beispielsweise in der Bildverarbeitung oder im Data-Mining. Die Bildsegmentierung ist eine der grössten Herausforderungen der Bildverarbeitung. In dem Abschnitt werden mehrere Segmentierungsalgorithmen beschrieben und verglichen, damit am Ende der passende Segmentierungsalgorithmus gewählt werden. | |||
==== Binärsegmentierung ==== | |||
Das Verfahren vom Segmentierungsalgorithmum ist die Unterscheidung zwischen zwei Bereichen (hellen und dunklen Bereichen), d.h. in einem Binärbild lassen sich zwei Zustände darstellen, die als Weiß und Schwarz bezeichnet werden. Für die Binärsegmentierung sind entscheidend zwei Aspekte: | |||
==== Konturverfolgung ==== | |||
==== Template Matching ==== | |||
==== Kantendetektion ==== | |||
=== Merkmals-extraktion === | === Merkmals-extraktion === | ||
Alle Objekte, die vom Rechner verarbeitet werden sollen, müssen ihre Eigenschaften in Zahlen, sogenannten Merkmalen ausdrücken. Die Berechnung heißt Merkmalsextraktion, mehrere Merkmale eines Objektes werden zu einem Merkmalsvektor zusammengefasst. Also Merkmalsextraktion bestimmt die Merkmale (Fläche, Durchschnittsfarbe, Konturform und Größe) von allen Regionen des Bildes, die verher segmentiert wurden. | |||
=== Klassifikation === | === Klassifikation === | ||
Klassifikation ist ein zentraler Vorgang bei der Objekterkennung. Sie hat die Aufgabe, von der bloß beschriebenen Ebene physikalischer, geometrischer oder sonstiger Merkmale zu einer symbolischen Ebene zu gelangen. Im Rahmen der für uns hier wesentlichen Mustererkennung im technischen Bereich können wir Klassifikation definieren als die Zuordnung eines durch einen Satz von Merkmalen beschriebenen Objekts zu einer von mehreren vorgegebenen Klassen. Nachdem die segmentierten Objekte klassifiziert wurden, werden relevante Objekte weitergearbeitet. | |||
=== Signalflussplan === | === Signalflussplan === | ||
=== Morphologischer Kasten === | === Morphologischer Kasten === |
Aktuelle Version vom 16. Juni 2020, 12:09 Uhr
BILD EINFÜGEN Autor: M.Anas Habbaba
Einleitung
Die Aufgabe ist die Erkennung von Objekten mit Hilfe der am autonomen Fahrzeug verbauten Kamera. Bei der Kamera handelt es sich um eine VRmDC-12 COB der Firma VRmagic GmbH. Dies Bildaufnahme erfolgt mit einem CMOS-Sensor der Auflösung von 754 x 480 Pixeln bei einer maximale Bildrate von 70 fps in sowohl Farb- als auch Monochrombildern. Der integrierte 600 MHz C64x+ DSP kann zur Bildverarbeitung verwendet werden. Die Bilder der Kamera werden via Ethernet-Schnittstelle an den im Fahrzeug verbauten Computer versendet. Die mitgelieferten Bibliotheken erlaubten einen Zugriff auf die Bilder in Visual Studio.
Für die Erarbeitung eines optimalen Algorithmus kann im ersten Schritt eine Offline-Umgebung in Matlab erstellt werden. Die mit der Kamera aufgenommen Bilder/Videos sind so zu verarbeiten, dass die darauf zu sehenden Objekte (Kopierkartons der Abmaße 21cm x 30cm x 25cm) erkannt werden. Erst im zweiten Schritt folgt die online Anwendung auf dem PC des Fahrzeuges oder DSP der Kamera.
Ihre Aufgaben
- Recherchieren Sie, welche Segmentierungsalgorithmen für die Erkennung von Kartons im Videobild vielversprechend sind. Nutzen Sie hierzu die Vorlesung "Digitale Signal- und Bildverarbeitung" sowie Fachliteratur.
- Skizzieren Sie den Ablauf einer Bildverarbeitung.
- Vergleichen und Bewerten Sie Ansätze zur Objekterkennung anhand fachlicher Kriterien.
- Visualisieren Sie die Objekterkennung an einem Beispiel.
- Führen Sie eine inverse Perspektiventransformation (IVP) durch. Entscheiden Sie sich, ob Sie das Videobild oder das Bildverarbeitungergebnis transformieren. Berücksichtigen Sie dabei extrinsische und intrinsische Kameraparameter.
- Führen Sie einen Matlab Objekterkennung durch. Als Beispiel steht Ihnen eine Videoaufnahme aus dem Bereich Autonomes Fahren zur Verfügung.
- Setzen Sie Ihren Algorithmus mit automatischer Codegenerierung in C um, so dass er in der Umgebung der Bildverarbeitung läuft oder auf dem DSP des Kameramoduls.
Anforderungen
Die Abbildung 2.1 zeigt das Lastenheft
Die Abbildung 2.2 zeigt die Pflichten, die in MS2 zu erfüllen sind
Funktionaler Systementwurf / Technischer Systementwurf
Hier werden Schritte und Algorithmen beschrieben und verglichen, die am Ende zu Objekttracking führen. Außerdem sind der Datenflussplan und der Mophorogische Kasten zu sehen.
Bilderfassung
Bilderfassung, das ist der Transfer von Bilddaten in den PC, deckt in der Regel den gesamten Weg von der Kamera bis in den Hauptspeicher des PC des Fahrzeugs ab. Dort werden die Bilddaten dann für die nachfolgende Verarbeitung per Software oder zur Speicherung bereitgestellt. Die Bilddaten werden hier über Ethernet-Schnittstelle an den Computer übertragen.
Vorverarbeitung
Die Difinition der Vorverarbeitung ist die Veränderung der Helligkeit
einzelner Bildpunkte oder die Veränderung der Lage der Punkte zueinander. Man kann die in diesem Kapitel besprochenen Vorverarbeitungsfunktionen, bei denen die Helligkeit einzelner Bildpunkte verändert wird, grundsätzlich in zwei Gruppen einteilen, je nachdem woraus sich die Helligkeit eines Bildpunkts im Ergebnisbild bestimmt:
1.
2....
Als Beispiel kann die Aufgabe der Vorverarbeitung die Korrektur ungleichmäßiger Bildausleuchtungoder oder Entfernen von Rauschen sein.
Segmentierungsalgorithmen
Die Segmentierung ist ein Verfahren, das aus einer großen Datenmenge zusammenhängende kleinere Bereiche bestimmt. Die Segmentierung findet sich beispielsweise in der Bildverarbeitung oder im Data-Mining. Die Bildsegmentierung ist eine der grössten Herausforderungen der Bildverarbeitung. In dem Abschnitt werden mehrere Segmentierungsalgorithmen beschrieben und verglichen, damit am Ende der passende Segmentierungsalgorithmus gewählt werden.
Binärsegmentierung
Das Verfahren vom Segmentierungsalgorithmum ist die Unterscheidung zwischen zwei Bereichen (hellen und dunklen Bereichen), d.h. in einem Binärbild lassen sich zwei Zustände darstellen, die als Weiß und Schwarz bezeichnet werden. Für die Binärsegmentierung sind entscheidend zwei Aspekte:
Konturverfolgung
Template Matching
Kantendetektion
Merkmals-extraktion
Alle Objekte, die vom Rechner verarbeitet werden sollen, müssen ihre Eigenschaften in Zahlen, sogenannten Merkmalen ausdrücken. Die Berechnung heißt Merkmalsextraktion, mehrere Merkmale eines Objektes werden zu einem Merkmalsvektor zusammengefasst. Also Merkmalsextraktion bestimmt die Merkmale (Fläche, Durchschnittsfarbe, Konturform und Größe) von allen Regionen des Bildes, die verher segmentiert wurden.
Klassifikation
Klassifikation ist ein zentraler Vorgang bei der Objekterkennung. Sie hat die Aufgabe, von der bloß beschriebenen Ebene physikalischer, geometrischer oder sonstiger Merkmale zu einer symbolischen Ebene zu gelangen. Im Rahmen der für uns hier wesentlichen Mustererkennung im technischen Bereich können wir Klassifikation definieren als die Zuordnung eines durch einen Satz von Merkmalen beschriebenen Objekts zu einer von mehreren vorgegebenen Klassen. Nachdem die segmentierten Objekte klassifiziert wurden, werden relevante Objekte weitergearbeitet.
Signalflussplan
Morphologischer Kasten
Komponentenspezifikation
Programmierung
Komponententest
Systemtest
Ergebnisse
Zusammenfassung
Link zum Quelltext in SVN
Weiterführende Links
- Matlab Computer Vision Toolbox
- Grundlagen der Bildverarbeitung von Klaus D. Tönnies
- Robotics, Vision & Control von Peter Corke
- Tracking bewegter Objekte in Videosequenzen von Gregory Föll
- Objekterkennung_mit_Kamera von Christian Hauke
- MATLAB: Inverse Perspective Mapping
- MATLAB: Visual Perception Using Monocular Camera
→ zurück zum Hauptartikel: SDE Praktikum Autonomes Fahren