Verfolgung von farblich markierten Objekten Sascha Lange .

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

Transcript of Verfolgung von farblich markierten Objekten Sascha Lange .

Page 1: Verfolgung von farblich markierten Objekten Sascha Lange .

Verfolgungvon farblich markierten Objekten

Sascha Lange

http://cvtk.sourceforge.net

Page 2: Verfolgung von farblich markierten Objekten Sascha Lange .

Gliederung

1. Bildanalyse– (Extrem) kurze, oberflächliche Einführung

in die Bildanalyse

2. Computer Vision Tool Kit– Vorstellung meiner Bachelor Arbeit

Page 3: Verfolgung von farblich markierten Objekten Sascha Lange .

Bildanalyse

Page 4: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 5: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 6: Verfolgung von farblich markierten Objekten Sascha Lange .

“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

Page 7: Verfolgung von farblich markierten Objekten Sascha Lange .

Klassische Bildverarbeitung (Einzelbild)

HausBusch vor HausBaum vor Haus

ModellfreieSegmentierung

ModellgestützeSegmentierung

Bildverbesserung

Bildsymbolverarbeitung

SymbolischeVerarbeitung

Bilderfassung

Page 8: Verfolgung von farblich markierten Objekten Sascha Lange .

Zusammenfassung der klassischen Bildverarbeitung

Ausgangspunkt: Ikonische Bildrepräsentierung

Ziel: Symbolische Bildbeschreibung

Bildverbesserung Häufiges Zwischenziel: Regionenbild Objekterkennung

Page 9: Verfolgung von farblich markierten Objekten Sascha Lange .

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/

Page 10: Verfolgung von farblich markierten Objekten Sascha Lange .

Viele Wege führen nach Rom…

Auf dem Weg zum Regionenbild

– Kantenbasierte Segmentierung– Thresholding– Regionenbasierte Segmentierung

Page 11: Verfolgung von farblich markierten Objekten Sascha Lange .

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(),(

Page 12: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 13: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 14: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 15: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 16: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 17: Verfolgung von farblich markierten Objekten Sascha Lange .

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)

Page 18: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 19: Verfolgung von farblich markierten Objekten Sascha Lange .

Vom Einzelbild zur Bildfolge

Feature Point, bzw. Objektverfolgung Active Vision

Page 20: Verfolgung von farblich markierten Objekten Sascha Lange .

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:

Page 21: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 22: Verfolgung von farblich markierten Objekten Sascha Lange .

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“

Page 23: Verfolgung von farblich markierten Objekten Sascha Lange .

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/

Page 24: Verfolgung von farblich markierten Objekten Sascha Lange .

Computer Vision Tool Kit

Page 25: Verfolgung von farblich markierten Objekten Sascha Lange .

Motivation

Vorlesung „Intelligente Robotersteuerung“ WS2000/2001– „global vision system“ für die Small Size

League andere Messungen in künstlichen

Umgebungen– Stab balancieren– Pendelschwingung

Page 26: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 27: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 28: Verfolgung von farblich markierten Objekten Sascha Lange .
Page 29: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 30: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 31: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 32: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 33: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 34: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 35: Verfolgung von farblich markierten Objekten Sascha Lange .
Page 36: Verfolgung von farblich markierten Objekten Sascha Lange .
Page 37: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 38: Verfolgung von farblich markierten Objekten Sascha Lange .

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

Page 39: Verfolgung von farblich markierten Objekten Sascha Lange .

Ausblick

Einsatz der Bibliothek in der Midsize-League– 3D, Messung von Entfernungen– Karlsruhe / Dortmund

Bereitstellung verbesserter Kalibrierungswerkzeuge