Title: Verfolgung von farblich markierten Objekten
1Verfolgungvon farblich markierten Objekten
- Sascha Lange
- http//cvtk.sourceforge.net
2Gliederung
- Bildanalyse
- (Extrem) kurze, oberflächliche Einführung in die
Bildanalyse - Computer Vision Tool Kit
- Vorstellung meiner Bachelor Arbeit
3Bildanalyse
4Definitionen
- 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)
5Anwendungen
- 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
6Arbeiten 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
7Klassische Bildverarbeitung (Einzelbild)
Bilderfassung
Bildverbesserung
Haus Busch vor Haus Baum vor Haus
8Zusammenfassung der klassischen Bildverarbeitung
- Ausgangspunkt Ikonische Bildrepräsentierung
- Ziel Symbolische Bildbeschreibung
- Bildverbesserung
- Häufiges Zwischenziel Regionenbild
- Objekterkennung
9Anwendungen 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/
10Viele Wege führen nach Rom
- Auf dem Weg zum Regionenbild
- Kantenbasierte Segmentierung
- Thresholding
- Regionenbasierte Segmentierung
11Faltung (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-A1,N-B1
- Anwendung
- Anwendung eines Filters auf jedes Pixel
- Lokale Operatoren
- (im Gegensatz zu globalen und Punktoperatoren)
12Kantendetektion 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
13Kantendetektion IIZero-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
14Farbsegmentierung 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 lt t
und s(l) 1 für alle l gt t
constant threshold t
15Farbsegmentierung 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 lokalenSchwellwert durch
Interpolation finden - schneller
16Regiongrowing
- Maximale Homogenitätsbedingung
- H(Ri) TRUE, für alle Regionen Ri
- H(RiURj) FALSE, für alle iltgtj 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
17Zwischenschritt 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 -gt
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)
18Objekterkennung
- Ziel Objekt Klassifizierung
- Weltwissen nötig
- Über verarbeitete Objekte
- Über Objektklassen
- Verschiedene Techniken
- Statistic Pattern Recognition
- Neural Nets
- Syntactic pattern recognition
- Graphmatching
- Optimierungstechniken
19Vom Einzelbild zur Bildfolge
- Feature Point, bzw. Objektverfolgung
- Active Vision
20Feature 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
21Pfad 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
22Active 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
23Exemplar 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/
24Computer Vision Tool Kit
25Motivation
- Vorlesung Intelligente Robotersteuerung
WS2000/2001 - global vision system für die Small Size League
- andere Messungen in künstlichen Umgebungen
- Stab balancieren
- Pendelschwingung
26Aufgabenstellung
- Bibliothek, die folgendes unterstützt
- tracking von farblich markierten Objekten in
künstlichen Umgebungen - Ausgabe von Objekttyp, Position, Orientierung,
Geschwindigkeit - Echtzeitverarbeitung eines Videostroms
- Kalibrierung
27Schichten - 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)
28(No Transcript)
29Farbsegmentierung
RGB-Matrix
- Bildquellef(x,y) (r,g,b)
- Verwendung einer Lookup - Tabelle
- Funktion l(r,g,b) ? c in einer Tabelle
gespeichert - Berechnung von s(x,y)lf(x,y)durch einfache
Nachschlageoperation (im Voraus berechnet) - lookuptable.h colorsegmentation.cpp
Lookup Tabelle
Farbsegmentierung
Farbklassen-Matrix
Connected Regions
Kettencode-Listen
Template Matching
Objekt-Templates
Objektklassen-Listen
Object Tracking
Objektinstanz-Liste
object(Position, Orientierung, Richtung,
Geschwindigkeit)
30Kettenkodierung
- 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
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)
31Kettenkodierung(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
32Objekterkennung
- 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
RGB-Matrix
Farbsegmentierung
Lookup Tabelle
Farbklassen-Matrix
Connected Regions
Kettencode-Listen
Objekt-Templates
Template Matching
Objektklassen-Listen
Object Tracking
Objektinstanz-Liste
object(Position, Orientierung, Richtung,
Geschwindigkeit)
33Objektverfolgung
- Ziel
- 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)
34Trackingalgorithmus
- 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 ltunmatchedgt
35(No Transcript)
36(No Transcript)
37Berechnung 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)
38Erweiterungen
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)
39Ausblick
- Einsatz der Bibliothek in der Midsize-League
- 3D, Messung von Entfernungen
- Karlsruhe / Dortmund
- Bereitstellung verbesserter Kalibrierungswerkzeuge