Verfolgung von farblich markierten Objekten

Slides:



Advertisements
Ähnliche Präsentationen
Kantenbasierte Verfahren
Advertisements

Objektbewegungsdetektion in Bildfolgen
Schnelle Matrizenoperationen von Christian Büttner
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Das LCA – Problem in Suffixbäumen
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
Suche in Texten (Stringsuche )
Wasserfall-Ansätze zur Bildsegmentierung
A Model of Saliency-Based Visual Attention for Rapid Scene Analysis
Anwendung und Visual Basic
Graphische Datenverarbeitung IV Dr. Markus Heitz.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Bildverarbeitung Richard Göbel.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
CIDOC-CRM Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung AM 2 Dozent: Prof. Dr. Manfred Thaller Referent: Nelson Marambio.
Inhaltsverzeichnis Einleitung Der Skalenraum Anwendungsbeispiele
Indoor Navigation Performance Analysis
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung In welcher Masche liegt der Punkt p?
Thorsten Jost INF-M2 – AW1 – Sommersemester Mai 2008
Seminar Biometrie Brehme Kewenig SS2006 H. Hundacker Institut für Wirtschafts- Verwaltungsinformatik Allgemeines Verarbeitungspipeline Vorverarbeitung.
Vortrag: Ingo Gensch, Mathias Reich am:
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Intelligentes Crawling im WWW mit Hilfe intuitiver Suchbedingungen
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
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.
Machine Learning KNN und andere (Kap. 8).
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Erdbebenlokalisierung
Datenverteilung in Ad-hoc Netzen 1/24 Adaptive Datenverteilung in mobilen Ad-hoc Netzen unter Verwendung des Area Graph basierten Bewegungsmodells S. Bittner,
FHP - Fachbereich Bauingenieurwesen
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
in der medizinischen Bildverarbeitung
Einführung in die Programmierung
Computergraphische Visualisierungs- verfahren für 3D-Stadtmodelle
Diskrete Mathematik II
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II Vorlesung 7 SS 2000 Punkt-in-Polygon-Verfahren I (Trapezkarte)
Basisinformationstechnologie I
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Verhalten von Objekten in der Szene
… oder wie finde ich den Weg
Objekte und ihre Beschreibung
1 Mai 2007 Seminar Intelligente Systeme KFZ-Kennzeichenerkennung Alexander Nöhrer Andreas Vida
LOD Levels of Detail Oliver Gassner Christian Troger.
Beleuchtungsmodelle, Schattierungsmodelle
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
T. Wallrath Optimierung des Photon Mapping Verfahrens durch Verbesserung der Radiance Estimate Berechnung und Einsatz von Radiosity Photonen.
Lisa Blum - Kathrin Kunze - Michael Kreil
Gesichtsdetektion in digitalen Einzelbilder
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Datenstrukturen für den Algorithmus von.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Foliendesign: Jörg Steinrücken & Tobias Kahn Vorlesung
The PicSOM Retrieval System 1 Christian Steinberg.
„Single Color Extraction Sebastian Bertram Proseminar SS 2005: Distanzen und Ähnlichkeitsmaße im hochdimensionalen Raum and Image Query“
- Studienarbeit - Entwurf und Umsetzung von kombinierten Anfragen für die Ähnlichkeitssuche auf digitalen Bilder auf der Basis von Regionen und Features.
Deterministische Verfahren
5.1 5 Retrieval auf Bildern (.... in a nutshell)  Bedeutung.... ... im Zusammenhang mit Information Retrieval ... für Anwendungen Medizin: "Finde ähnliche.
Institut für Eisenhüttenkunde Department of Ferrous Metallurgy Methoden der digitalen Bildverarbeitung zum Auffinden von fluoreszierenden Punkten auf Messproben.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
Erkennung von Fassaden
 Präsentation transkript:

Verfolgung von farblich markierten Objekten Sascha Lange http://cvtk.sourceforge.net

Gliederung Bildanalyse Computer Vision Tool Kit (Extrem) kurze, oberflächliche Einführung in die Bildanalyse Computer Vision Tool Kit Vorstellung meiner Bachelor Arbeit

Bildanalyse

Definitionen Bildverarbeitung (Image Processing) “Image processing is a collection of techniques for numerical operation on the pixel data. These include image enhancement for presentation to a human observer and the extraction of features for futher analysis.” (Computer Vision Research – Introduction) Gliederung: Bildbearbeitung und Bildanalyse Bildanalyse (Image Analysis) “Generierung einer bedeutungsvollen Beschreibung eines in einem oder mehreren Bildern zu einem Zeitpunkt oder in einem Zeitraum dargestellten räumlichen Teils der näheren oder ferneren Umgebung mit Hilfe von Computern.” (Verfasser unbekannt) Von der Ikonische Darstellung zu symbolischen Beschreibungen Machine Vision / Computer Vision “The use of devices for non-contact sensing to automatically receive and interpret an image of a real scene in order to obtain information  and/or control machines or processes“ (SME) Besonderes Gewicht auf dem Aspekt der Prozessüberwachung und / oder –kontrolle (ev. aber auch nur Überinterpretation)

Anwendungen Medizin Industrielle Automatisierung Überwachung Tomographie, Radiologie, Gewebeschnitte Industrielle Automatisierung Qualitätskontrolle, Sortierung, Transport Überwachung Gebäudeüberwachung, Suchen in Menschenmengen Vermessungswesen & Fernerkundung Landvermessung, Satellitenbildauswertung, Radarbilder Human Computer Interfaces Gesture Recognition Biometrie Fingerabdrücke, Authentifizierung Archivierung Content Based Image Retrieval

“Arbeiten” in der Computer Vision Keine klare, allgemeine Standardmethode Derzeit relativ unstrukturierte Sammlung von Verfahren Ingenieurwissenschaftliche Herangehensweise: Auswahl geeigneter Verfahren zur Lösung einer speziellen Problemstellung Aktuelle Schlagworte: Active Vision: Aktive Kontrolle des Sichtfeldes Exemplar-based vision

Klassische Bildverarbeitung (Einzelbild) Bilderfassung Bildverbesserung Modellfreie Segmentierung Modellgestütze Segmentierung Bildsymbolverarbeitung Haus Busch vor Haus Baum vor Haus Symbolische Verarbeitung

Zusammenfassung der klassischen Bildverarbeitung Ausgangspunkt: Ikonische Bildrepräsentierung Ziel: Symbolische Bildbeschreibung Bildverbesserung Häufiges Zwischenziel: Regionenbild Objekterkennung

Anwendungen ohne bedeutungsvolle symbolische Beschreibung / Modell Beispiel Biometrie Direkter Vergleich von “Feature Points” Beispiel Image Based Retrieval Query by example (Farbe, Textur, Anordnung) http://elib.cs.berkeley.edu/photos/blobworld/

Viele Wege führen nach Rom… Auf dem Weg zum Regionenbild Kantenbasierte Segmentierung Thresholding Regionenbasierte Segmentierung

Faltung (Convolution) “Zusammenmultiplizieren” von 2 Matrizen verschiedener Dimensionen Die größere Matrix ist hier das Bild Die kleinere wird “Kernel” genannt Verschieben des Kernels über jeden einzelnen Bildpunkt Dabei wird jeder Eintrag im Kernel mit dem darunter liegenden Pixel multipliziert Die Summe der Produkte wird als Resultat dieser Stelle gespeichert Diskreter Fall: Für Bildmatrix FM,N und Kernel KA,B Resultierende Matrix: GM-A+1,N-B+1 Anwendung: Anwendung eines “Filters” auf jedes Pixel Lokale Operatoren (im Gegensatz zu globalen und Punktoperatoren)

Kantendetektion I Detektion von Kanten anhand von Änderungen in der Helligkeit (1. Ableitung, Helligkeitsgradient) Sobel Kantendetektoren Je ein Kernel für horizontale und vertikale Kanten Absolutbetrag des Gradienten durch Kombination: Je größer der Gradient desto größer das „Ansprechen“ Problem: Anfällig für Rauschen Thresholding Breite, diffuse Linien +1 +2 -1 -2 -1 +1 -2 +2

Kantendetektion II: Zero-Crossings der 2. Ableitung Laplace-Operator Berechnet 2. Ableitung der Grauwerte Isotropher Operator Erhöht Rauschen LoG Operator „Laplace of Gaussian“, Marr-Hildreth Operator Erst Glätten, dann Laplace Operator Bestimmung der „Zero-Crossings“ Dünner Kantenverlauf Feinheit kontrolliert durch Standardabweichung der Gaußglocke Entfernung der Kanten, die nicht durch 1. Ableitung unterstützt werden +1 -4

Farbsegmentierung: Constant thresholding Starker Beleuchtungsgradient Bildfunktion: f(x,y) = (r,g,b) Luminosität: l(r,g,b) = [0..255] Segmentierung: s(l) = [0,1] mit s(l) = 0 für alle l <= t und s(l) = 1 für alle l > t constant threshold t

Farbsegmentierung: Adaptive Thresholding Funktioniert auch bei starkem Gradient in der Beleuchtung Local thresholding: Für jedes Pixel in bestimmter Umgebung statistisch den Threshold bestimmen: median, mean, (max-min)/2 t = median-c Parameter: Umgebungsgröße, c Chow und Kaneko: Bild aufteilen Wahrscheinlichkeit für uniforme Beleuchtung sei höher Threshold für jedes Teilbild bestimmen Für jedes Pixel einen lokalen Schwellwert durch Interpolation finden schneller

Regiongrowing Maximale Homogenitätsbedingung: Region merging H(Ri) = TRUE, für alle Regionen Ri H(RiURj) = FALSE, für alle i<>j und Ri ist Nachbar von Rj Homogenitätskriterien: Helligkeit Farbe Textur Form Oder Kombination daraus Direkt auf Pixelbild oder vorsegmentiertem Bild Region merging Start mit übersegmentiertem Bild (z.B. Pixelbild) Verschmelzungskriterium z.B. mit Hilfe von H(RiURj) Region splitting Start mit untersegmentiertem Bild (z.B. Bild als ein Segment) Unter Umständen anderes Ergebnis als merging Aus Gründen der Effizienz: Datenstruktur zur Adjazenzrepräsentierung Split and Merge Baut gleichzeitig einen Quadtree auf

Zwischenschritt: Regionenrepräsentierung und -beschreibung Ikonische Darstellung der Regionen Übergang zur symbolischen Verarbeitung Verminderung des Speicher- und Rechenaufwandes Formrepräsentierungen: Konturbasiert (Kettenkodes, Fourierdeskriptoren, B-Splines) Regionenbasiert (Skelettierung, Dekomposition -> Graph) Regionenbeschreibungen: Reichen für die Analyse ev. auch aus Möglichst topologisch Invariante Beschreibungen Kontur basiert: Curvature Kantenlänge (Umfang) Biegungsenergie Regionenbasiert Fläche, Zentrum, Höhe, Breite Exzentrizität: Verhältnis zwischen Haupt- und Nebenachse „Elongatedness“: größter Durchmesser / Fläche „Rechteckigkeit“ Kompaktheit: (Umfang / Fläche)

Objekterkennung Ziel: Objekt Klassifizierung „Welt“wissen nötig Über verarbeitete Objekte Über Objektklassen Verschiedene Techniken: Statistic Pattern Recognition Neural Nets Syntactic pattern recognition Graphmatching Optimierungstechniken

Vom Einzelbild zur Bildfolge Feature Point, bzw. Objektverfolgung Active Vision

Feature Point Tracking Ziel: „Trajektorien“ Vorgehen: Pfadkohärenzfunktion, die eine Zuordnung bewertet Finden des globalen Optimums Probleme: Constraints für die Pfadkohärenzfunktion Widersprüchliche Constraints Physikalisches Modell des beobachteten Systems nötig Minimierung des Abstands reicht nicht aus: t-1 t

Pfad Koherenz Funktion (nach Sethi und Jain) Bewertet Richtungsänderungen und Geschwindigkeitsänderungen Dazu 2 Richtungsvektoren von t-2 über t-1 bis t 1. Term berechnet den Kosinus (0 wenn senkrecht zueinander) 2. Term bestraft Längenunterschiede Probleme: Gewichtung zwischen Geschwindigkeit und Richtung Zusammen- oder Abprallen und andere Verletzungen des zugrunde liegenden Modells

Active Vision Aktive Kontrolle der Kamera und des Systems Um mehr Daten zu erlangen Intelligente Datenakquisition Kontrolliert durch die partiell interpretierte und bemessene Szene Genau die Daten erlangen, die benötigt werden Kontinuierliche, „Real-Time“ Operation „Vision as Process“

Exemplar Based Image Recognition Keine Verarbeitung bis zur symbolischen Beschreibung des Bildes Kein Szenenmodell Stattdessen Bilddatenbank Verschiedene Ansichten der Objekte „Prototypen“ der Objektklassen Ganze Szenen Steuerungssignal ev. direkt mit Szenen gekoppelt (z.B. IBR) Ähnlichkeitsoperationen, die direkt auf den Bildern arbeiten ? EROSAL www.cogsci.uni-osnabrueck.de/~erosal/

Computer Vision Tool Kit

Motivation Vorlesung „Intelligente Robotersteuerung“ WS2000/2001 „global vision system“ für die Small Size League andere Messungen in künstlichen Umgebungen Stab balancieren Pendelschwingung

Aufgabenstellung Bibliothek, die folgendes unterstützt: „tracking“ von farblich markierten Objekten in künstlichen Umgebungen Ausgabe von: Objekttyp, Position, Orientierung, Geschwindigkeit Echtzeitverarbeitung eines Videostroms Kalibrierung

Schichten - Architektur Jede Schicht kapselt einen Algorithmus Datenstrukturen zwischen den Schichten sind definiert vom Bild zu höheren Repräsentationen Bottom-Up Analyse cvtk.h RGB-Matrix Farbsegmentierung Lookup Tabelle Farbklassen-Matrix Low - Level Vision Connected Regions Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen High - Level Vision Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Farbsegmentierung Bildquelle: f(x,y) = (r,g,b) RGB-Matrix Bildquelle: f(x,y) = (r,g,b) Verwendung einer Lookup - Tabelle: Funktion l:(r,g,b)  c in einer Tabelle gespeichert Berechnung von s(x,y)=l°f(x,y) durch einfache Nachschlageoperation (im Voraus berechnet) lookuptable.h colorsegmentation.cpp Farbsegmentierung Lookup Tabelle Farbklassen-Matrix Connected Regions Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Kettenkodierung Kodieren: Reduktion der Datenmenge Beschreibung der Kontur nach Freeman 4er, 8er Nachbarschaft Sequenz von Nummern, die Richtung der Kontur kodieren Reduktion der Datenmenge schnell zu berechnen einfache Berechnung von: Zentrum Fläche umgebendes Rechteck chaincoding.h chaincoding.cpp RGB-Matrix Farbsegmentierung Lookup Tabelle Farbklassen-Matrix Connected Regions Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Kettenkodierung(2) Fläche Zentrum der Fläche Allgemein: A =  b(x,y) dx dy Diskrete Integration nach einer Achse Differenz zwischen Integral der oberen und unteren Kante ist die Fläche Zentrum der Fläche Allgemein: X =  x b(x,y) dx dy /  b(x,y) dx dy Analog zur Fläche Beim Integrieren mit x multiplizieren

Objekterkennung Objekt - Schablonen: Naiver Suchalgorithmus RGB-Matrix Objekt - Schablonen: object id center (col, area), axis (col, area, dist), mark (col, area, dist, orien) end Naiver Suchalgorithmus Toleranzgrenzen „Harte“ Matches (keine Wks) Ausgabe: Liste von Objekt-Eimern mit „Instanzen“ Farbsegmentierung Lookup Tabelle Farbklassen-Matrix Connected Regions Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Objektverfolgung Ziel: Einfacher Fall: Schwieriger Fall: Zuordnung der gefundenen Instanzen zur richtigen „Instanzgeschichte“ Einfacher Fall: Objekte eindeutig identifiziert Schwieriger Fall: Mehrere Instanzen pro Schablone Innerhalb jedes Eimers „tracking“ - Algorithmus RGB-Matrix Farbsegmentierung Lookup Tabelle Farbklassen-Matrix Connected Regions Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Trackingalgorithmus Optimierung eines globalen, konfigurierbaren Kriteriums Uniform Cost Search (oder A*, wenn Heuristic für Kriterium vorhanden) Kosten h(node) = Kriterium Knoten sind mögliche Paarungen In jeder Ebene wird ein Objekt mehr zugeordnet h(k1) = 0 h(k2) = c xt,1 – xt-1,i1 h(k3) = d ≥ c xt,1 – xt-1,i1 xt,2 – xt-1,i2 xt,1 – xt-1,i1 xt,2 – xt-1,i3 xt,1 – xt-1,i1 xt,2 – xt-1,i4 xt,1 – xt-1,i1 xt,2 – xt-1,i2 xt,3 – xt-1,i3 xt,1 – xt-1,i1 xt,2 – xt-1,i2 xt,2 – <unmatched>

Berechnung der Ausgabe Berechnung der benötigten Werte anhand der Instanzgeschichte Orientierung: Winkel der Strecke center / axis zur x-Achse Richtung / Geschwindigkeit aus der Geschichte Z.Zt. Ungeglättet „Einfache“ Glättung? Kalmann-Filter zum Ausgleich der Meßfehler? Subpixelgenauigkeit RGB-Matrix Farbsegmentierung Lookup Tabelle Farbklassen-Matrix Connected Regions Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Erweiterungen Vorverarbeitung wie Glättung, Helligkeit RGB-Matrix Koordinatentransformation Farbsegmentierung Lookup Tabelle Morphologische Operatoren wie Opening / Closing Farbklassen-Matrix Connected Regions Region merging Kettencode-Listen Template Matching Objekt-Templates Objektklassen-Listen Object Tracking Objektinstanz-Liste object(Position, [Orientierung], Richtung, Geschwindigkeit)

Ausblick Einsatz der Bibliothek in der Midsize-League 3D, Messung von Entfernungen Karlsruhe / Dortmund Bereitstellung verbesserter Kalibrierungswerkzeuge