SEMINARVORTRAG, AACHEN, 19.01.12 RUBEN SCHWARZWALD Grundlagen der Kameragestützten Objekterkennung in Echtzeit Betreuer: Prof. Dr. Walter Hillen Dipl.-Ing.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Matrixmultiplikation
Informatik II: Algorithmen und Datenstrukturen SS 2013
Wasserfall-Ansätze zur Bildsegmentierung
Gliederung Motivation / Grundlagen Sortierverfahren
Halbzeit: Kurze Wiederholung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Layout Algorithmen.
Seminar parallele Programmierung SS 2003
Externe Datenstruktur lineare Liste
Fachbereich Maschinenbau und Produktion
ENDEVOR Archivierung, Backup und Recovery
Seminar: Informationstechnik in der Medizin Universität Dortmund Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl für Kommunikationstechnik.
Seminar: Informationstechnik in der Medizin Universität Dortmund Skin Detection Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl für Kommunikationstechnik.
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Adaption von K-Means Algorithmen an Datenbanken
Analyse der Laufzeit von Algorithmen
Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung Softwaretechnologie II (Teil I): Simulation und 3D Programmierung Prof.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Einführung in die Programmierung mit Java
Gliederung der Vorlesung
Konstruktivismus Konstruktivismus geht davon aus, dass Informationen nicht einfach aufgenommen, verarbeitet und gespeichert werden, sondern dass sie durch.
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Klasse 7 Planung einer Unterrichtsstunde – mit DGS Carina Rosenhauer Seminar zum fachdidaktischen Blockpraktikum SS 2011.
Erprobung von Interpolationsmethoden für plan-polare Antennenmesstechnik von Michael Delissen Michael Delissen, IHF, RWTH Aachen University.
Das Kind und seine Kompetenzen im Mittelpunkt - Rückblick der Entwicklungs- und Bildungsangebote 14.12– Die Geschichte des Adventsstündchen erweitert.
Institut für Eisenhüttenkunde Department of Ferrous Metallurgy Methoden der digitalen Bildverarbeitung zum Auffinden von fluoreszierenden Punkten auf Messproben.
Das Zahlwort. Die Zahlwörter bezeichnen: -eine Zahl oder (in Verbindung mit Substantiven) eine bestimmte Anzahl von Gegenständen: Grundzahlwörter; -Den.
Algorithmen zur Bildverarbeitung Bildverarbeitung und ihr Einsatz im Bereich der Lasermaterialbearbeitung Frederic Schulze.
EVALUIERUNG VON BILDERKENNUNGSALGORITHME N IN HINBLICK AUF NUTZBARKEIT IN DER FLASH ENTWICKLUNG GEHALTEN VON: DENNIS SABELLECK.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Westside. Dynamisches Sitzen Komfort: Die Form macht den Unterschied Durchdachtes, klares Design:  Form, Winkel und Flexibilität der aus einem Stück.
Funktionsweise eines Funambolservers Natascha Graf Aachen, 01. Februar 2010.
Hardware / Software Codesign Hardware versus Software.
Eine Arbeitsgenehmigung ausfüllen Kursus „Sicher arbeiten mit einer Arbeitsgenehmigung”
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
1 freedroidz – spielend Programmieren lernen. 2 Was ist freedroidz?
Energy as a driver in open-ended evolution Von Tim Hoverd & Susan Stepney Präsentation von Sebastian Schrage.
The Perfect Shuffle - Sortieren auf Multiprozessorrechnern von Diego Semmler.
Mit dem Computer kann man ganz toll präsentieren
Richter-und Mercalliskala
Suchen und Sortieren.
Anforderungen an die neue Datenstruktur
Grundlagen der Informationsverarbeitung
Seminar im Fach Geoinformation IV
WS 2001/2002 Mehrbenutzerzugriff auf GIS-Daten
Das Problem des Handlungsreisenden
Betreuer: Dipl.-Inf. (FH) Peter Poschmann
Komponenten des Computers
Referenzen In c kennen wir gewöhnliche Variablen und Pointer.
abH ausbildungsbegleitende Hilfen
Mensch-Maschine-Interaktion
Arten von Kontrollstrukturen
«Delegierter» Methoden Schablone Funktionszeiger
Heute: Geschichten vom Schulweg
9. Vererbung und Polymorphie
Wissenschaftliches Projekt
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
Ziel: Kinder in ihren kommunikativen Kompetenzen stärken.
 Präsentation transkript:

SEMINARVORTRAG, AACHEN, RUBEN SCHWARZWALD Grundlagen der Kameragestützten Objekterkennung in Echtzeit Betreuer: Prof. Dr. Walter Hillen Dipl.-Ing. Yvonne Schockert

Inhalt 1Einleitung 2Grundlagen 3Connected Component Labeling 4Umsetzung 5Ausblick

EINLEITUNG

Sensorgestützte Sortierung von Abfällen Hauptforschungsgebiet des IAR Optische Sortierung Kamera über einem Förderband Aussortierung mit Hilfe von Druckluftdüsen

IFA Sorter

Datenverarbeitung Segmentierung Objektsuche Auswertung Sortierung in Echtzeit

Grundlagen

Objekterkennung Grundlegende Aufgabe der Bildverarbeitung Identifiziert Objekte in Graphiken Anwendungsbeispiele  Texterkennung  Sortieranlagen

Implementierungen Keine ist so flexibel wie die Menschliche Wahrnehmung Erkennungsmerkmale sind stark von der Perspektive und der Beleuchtung abhängig Anwendungsspezifisch

Binärbilder Schwarz/Weiß Bild ohne Graustufen Bildpunkte als einzelnes BIT gespeichert Objekte werden mit einer Farbe markiert Der Hintergrund wird mit der anderen Farbe markiert

Binärbilder Abbildung: Binärbild und Originalbild

Segmentierung Unterteilung eines Bildes in zusammenhängende Regionen Prüft für jeden Bildpunkt ob er zum Vordergrund oder zu Hintergrund gehört Erzeugt ein Binärbild

Segmentierung Pixelbasierte Verfahren  Entscheiden anhand Informationen eines Bildpunkts  Anfällig für Störungen wie zum Beispiel ungleichmäßige Beleuchtung  Schneller als robustere Verfahren  z.B. Schwellwertverfahren

Nachbarschaftsrelationen Definieren wann Bildpunkte als benachbart betrachtet werden In einem quadratischen 2D Raster gibt es 2 Varianten

Nachbarschaftsrelationen 4er Nachbarschaft  Bildpunkte sind benachbart wenn sie eine gemeinsame Kante besitzen

Nachbarschaftsrelationen 8er Nachbarschaft  Bildpunkte sind benachbart wenn sie eine gemeinsame Kante oder Ecke besitzen

Nachbarschaftsrelationen Eine zusammenhängende Gruppe ist also eine Menge von Bildpunkten welche über Nachbarschaften verbunden sind Je nach Art der Nachbarschaft kann es zu unterschiedlichen Ergebnissen kommen

Nachbarschaftsrelationen Beispiel für unterschiedliche Ergebnisse bei Verwendung von 4er oder 8er Nachbarschaft

Connected Component Labeling

Weist jeder zusammenhängenden Gruppe in einem Binärbild ein eindeutiges Label her Benötigt sequentielle Operationen, da die Operation nicht nur auf Grundlage der Informationen eines Bildpunkts ausgeführt werden kann

Connected Component Labeling

Voraussetzungen Hintergrund muss eindeutig von den Objekten getrennt sein Es sollte keine fehler im Hintergrund geben D.h. Das Bild muss Fehlerfrei segmentiert sein

Algorithmen Es gibt viele Algorithmen welche das Connected Component Labeling umzusetzen Algorithmen können in vier Klassen eingeteilt werden 2 davon eignen sich für die Verwendung auf gewöhnlichen Computern

Algorithmen Algorithmen welche das Bild mehrfache vorwärts und rückwärts durchlaufen bis das Ergebnis sich nicht mehr verändert  Bei komplexen Mustern sehr Zeitintensiv  Nicht für zeitkritische Systeme geeignet

Algorithmen Two-Pass Algorithmus  Im ersten Bilddurchlauf werden den Bildpunkten Label zugewiesen und notiert wenn für ein Objekt mehrere Label verwendet worden sind  Im Zweiten durchlauf wird jedem Objekt dann ein eindeutiges Label zugewiesen

Algorithmen Algorithmen für durch Baumstrukturen dargestellte Bilder  Arbeiten mit Suchalgorithmen Parallele Algorithmen  Für massive parallele Prozessoren

Umsetzung

Programmanforderungen Umsetzung des Connected Component Labeling Möglichst geringe Ausführungszeit Einzelnes Bild als eingabe Ausgabe in zwei Arrays:  In einem werden alle zu Objekten gehörenden Bildpunkte gespeichert  Im anderen wo das Objekt beginnt und wie viele Bildpunkte es umfasst

Verwendete Hardware Gewöhnlicher Desktop Rechner  Kostengünstiger als spezielle Hardware  Eignet sich besser um mit verschiedenen Algorithmen zu experimentieren

Auswahl des Algorithmus Segmentierung mit dem Schwellwertverfahren  Geringe Rechenzeit  Ausreichendes Ergebnis

Auswahl des Algorithmus Two-Pass Algorithmus  Keine besonderen Hardwareanforderungen  Einfach zu implementieren  Geringe maximaleLaufzeit

Implementierung Ursprüngliches Bild

Implementierung Mit dem Schwellwertverfahren generiertes Binärbild

Implementierung Ergebnis nach dem Ersten Durchlauf

Implementierung Endergebnis

Performance Test

Testbild 1, hohe Anzahl von kleinen Objekten(200x200) ProgrammBenötigte Zeit (ms) In dieser Arbeit entstandenes Programm 162 Bereits existierendes Programm welches auch einen Two-Pass Algorithmus verwendet 3 Bereits existierendes Programm welches den naiven Ansatz verwendet 1

Performance Test Testbild 2, niedrige Anzahl von großen Objekten(200x200) ProgrammBenötigte Zeit (ms) In dieser Arbeit entstandenes Programm 735 Bereits existierendes Programm welches auch einen Two-Pass Algorithmus verwendet 4 Bereits existierendes Programm welches den naiven Ansatz verwendet 3

Performance Test Testbild 3, Maximale Anzahl mit minimal großen Objekten(200x200) ProgrammBenötigte Zeit (ms) In dieser Arbeit entstandenes Programm 3385 Bereits existierendes Programm welches auch einen Two-Pass Algorithmus verwendet 7469 Bereits existierendes Programm welches den naiven Ansatz verwendet 7

Performance Test Testbild 4, Einzelnes Objekt welches das gesamte Bild bedeckt (200x200) ProgrammBenötigte Zeit (ms) In dieser Arbeit entstandenes Programm 2520 Bereits existierendes Programm welches auch einen Two-Pass Algorithmus verwendet 9 Bereits existierendes Programm welches den naiven Ansatz verwendet 6

Performance Test Testbild 5, Kurzer Text(200x200) ProgrammBenötigte Zeit (ms) In dieser Arbeit entstandenes Programm 149 Bereits existierendes Programm welches auch einen Two-Pass Algorithmus verwendet 2 Bereits existierendes Programm welches den naiven Ansatz verwendet 1

Ausblick

Verbesserung der Laufzeit durch Verwendung eines zweidimensionalem Kooridantenarrays Parralele Ausführung des Programms auf meheren Prozessor Kernen