Der Bregenzer Gedenkweg. Widerstand und Verfolgung in Bregenz 1939 - 1945.
Verfolgung von farblich markierten Objekten Sascha Lange .
-
Upload
amal-raschke -
Category
Documents
-
view
109 -
download
5
Transcript of Verfolgung von farblich markierten Objekten Sascha Lange .
Verfolgungvon farblich markierten Objekten
Sascha Lange
http://cvtk.sourceforge.net
Gliederung
1. Bildanalyse– (Extrem) kurze, oberflächliche Einführung
in die Bildanalyse
2. Computer Vision Tool Kit– Vorstellung meiner Bachelor Arbeit
Bildanalyse
DefinitionenBildverarbeitung (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
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)
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
Anwendungen
Medizin– 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)
HausBusch vor HausBaum vor Haus
ModellfreieSegmentierung
ModellgestützeSegmentierung
Bildverbesserung
Bildsymbolverarbeitung
SymbolischeVerarbeitung
Bilderfassung
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)
A
a
B
a
baKbxaxFyxG1 1
),()1,1(),(
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 0 +1
-2 0 +2
-1 0 +1
+1 +2 +1
0 0 0
-1 -2 -1
22 GyGxG
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
0 +1 0
+1 -4 +1
0 +1 0
Farbsegmentierung: Constant thresholding
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 thresholdt
Farbsegmentierung: Adaptive Thresholding
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:– 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– FormOder 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
t-1 t
),...,,( 321iiii xxxT
Minimierung des Abstands reicht nicht aus:
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äsentationenBottom-Up Analyse
cvtk.h
Farbsegmentierung
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
Low - Level Vision
High - Level Vision
Farbsegmentierung
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
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
Kettenkodierung Kodieren:– 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
Farbsegmentierung
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
Kettenkodierung(2)
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:– 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
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
Objektverfolgung Ziel:
– Zuordnung der gefundenen Instanzen zur richtigen „Instanzgeschichte“
Einfacher Fall:– Objekte eindeutig
identifiziert
Schwieriger Fall:– Mehrere Instanzen pro
Schablone– Innerhalb jedes Eimers
„tracking“ - Algorithmus
Farbsegmentierung
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
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
xt,1 – xt-1,i1
xt,2 – xt-1,i2
xt,1 – xt-1,i1
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>
h(k1) = 0
h(k2) = c
h(k3) = d ≥ c
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
Farbsegmentierung
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
Erweiterungen
Farbsegmentierung
Connected Regions
Template Matching
Object Tracking
object(Position, [Orientierung],Richtung, Geschwindigkeit)
Lookup Tabelle
Objekt-Templates
RGB-Matrix
Farbklassen-Matrix
Kettencode-Listen
Objektklassen-Listen
Objektinstanz-Liste
Vorverarbeitung wieGlättung, Helligkeit
Morphologische Operatorenwie Opening / Closing
Region merging
Koordinatentransformation
Ausblick
Einsatz der Bibliothek in der Midsize-League– 3D, Messung von Entfernungen– Karlsruhe / Dortmund
Bereitstellung verbesserter Kalibrierungswerkzeuge