OSE - Objekterkennung im Videobild: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 15: Zeile 15:
* Vergleichen und Bewerten Sie Ansätze zur Objekterkennung anhand fachlicher Kriterien.
* Vergleichen und Bewerten Sie Ansätze zur Objekterkennung anhand fachlicher Kriterien.
* Visualisieren Sie die Objekterkennung an einem Beispiel.
* Visualisieren Sie die Objekterkennung an einem Beispiel.
* Führen Sie eine inverse Perspektiventransformation durch. Entscheiden Sie sich, ob Sie das Videobild oder das Bildverarbeitungergebnis transformieren. Berücksichtigen Sie dabei extrinsische und intrinsische Kameraparameter.
* Führen Sie eine inverse Perspektiventransformation ([[DSB18:_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 Autonimes Fahren zur Verfügung.
* 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.
* 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==
== Anforderungen==
Im Lastenheft ...


Im Pflichtenheft ...
Die Abbildung 2.1 zeigt das Lastenheft


[[Datei:CCF_REQ10_2330.PNG|1200px|thumb|none|Abbildung 2.1: Das Lastenheft]]


Die Abbildung 2.2 zeigt die Pflichten, die in MS2 zu erfüllen sind
[[Datei:Pflichtenheft OSE imVideobild.png|1200px|thumb|none|Abbildung 2.2: Das Pflichtenheft]]


== Funktionaler Systementwurf / Technischer Systementwurf ==
== 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:<br>
1.<br>
2.... <br>
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 ==
== Komponentenspezifikation ==
Zeile 49: Zeile 83:
* [http://users.informatik.haw-hamburg.de/~ubicomp/projekte/master09-10-aw1/foell/folien.pdf Tracking bewegter Objekte in Videosequenzen] von Gregory Föll
* [http://users.informatik.haw-hamburg.de/~ubicomp/projekte/master09-10-aw1/foell/folien.pdf Tracking bewegter Objekte in Videosequenzen] von Gregory Föll
*[[Objekterkennung_mit_Kamera]] von Christian Hauke
*[[Objekterkennung_mit_Kamera]] von Christian Hauke
* [https://www.mathworks.com/help/driving/ref/birdseyeview.html MATLAB: Inverse Perspective Mapping]
* [https://www.mathworks.com/help/driving/examples/visual-perception-using-monocular-camera.html MATLAB: Visual Perception Using Monocular Camera]


----
----
→ zurück zum Hauptartikel: [[Praktikum_SDE|SDE Praktikum Autonomes Fahren]]
→ zurück zum Hauptartikel: [[Praktikum_SDE|SDE Praktikum Autonomes Fahren]]

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

Abbildung 2.1: Das Lastenheft


Die Abbildung 2.2 zeigt die Pflichten, die in MS2 zu erfüllen sind

Abbildung 2.2: Das Pflichtenheft

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


→ zurück zum Hauptartikel: SDE Praktikum Autonomes Fahren