Upload
haphuc
View
213
Download
0
Embed Size (px)
Citation preview
Grundlagen: Bildverarbeitung / Objekterkennung
Technische Universitat Munchen
Fakultat fur Informatik
Seminar Thesis
Betreuer: Jan Bandouch
Abgabedatum: 05.07.2006
von
Julia Peterwitz
Grundlagen der Bildverarbeitung und Objekterkennung
Fakultat fur Informatik
Technische Universitat Munchen, Mai 2006
Master of Science
Julia Peterwitz
ABSTRACT
Diese Arbeit stellt einige Grundlagen der Bildverarbeitung vor. Es geht um Stan-dardmethoden die zum Verstehen aktueller Forschungsarbeiten notig sind.Als erstes wird auf die Segmentierung eingegangen. Es gibt drei große Gruppenvon Segmentierungsmethoden: Thresholding, Kanten-basierte und Regionen-basierteSegmentierung.Des Weiteren kann ein Bild nach bestimmten Merkmalen wie Kanten, Ecken oderganzen Templates durchsucht werden. Hierzu werden mehrere Standard-Detektorenvorgestellt.Zur Objekterkennung gehort die Klassifizierung der Objekte. Als Klassifizierung oderKlassifikation bezeichnet man einen Vorgang oder eine Methode zur Einteilung vonObjekten in Klassen oder Kategorien.Weiterhin geht diese Arbeit auf die Verarbeitung von gefundenen Merkmalen in derBildsequenz ein. Der Kalman-Filter trifft anhand bisheriger Koordinaten eine Vorher-sage fur die nachsten Koordinaten des Merkmals. Wahrend dessen wird die nachstePosition des Merkmals im Folgebild gesucht. Im nachsten Schritt wird die Vorhersagemit dem Suchergebnis fusioniert, um eine hohere Genauigkeit zu erreichen.Eine Optical-Flow Anwendung analysiert die Bewegungen die in einer Bildsequenz.Fur jedes Bildelement wird ein Bewegungsvektor berechnet, der die Bewegung inBildkoordinaten ausdruckt. Diese konnen unter anderem als Grundlage fur eine Be-wegungsschatzung in der realen Welt dienen.
KEYWORDS: Segmentieren, Kantendetektoren, Eckendetektoren, Templatematch-ing, Kalman-Filter, Optical-Flow
ii
Inhalt
1 Einleitung 1
2 Segmentierung 32.1 Thresholding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Thresholding Techniken . . . . . . . . . . . . . . . . . . . . . 32.1.2 Schwellwertbildung . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Region-Growing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Merkmalsextraktion 73.1 Kantendetektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 Sobel Kantendetektion . . . . . . . . . . . . . . . . . . . . . . 83.1.2 Canny Kantendetektion . . . . . . . . . . . . . . . . . . . . . 9
3.2 Eckendetektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2.1 Moravec’s Corner Detector . . . . . . . . . . . . . . . . . . . . 103.2.2 Harris Corner Detector . . . . . . . . . . . . . . . . . . . . . . 11
4 Objekterkennung 154.1 Templatematching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.2 Klassifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Verfolgung von Merkmalen/Objekten uber Bildsequenzen 195.1 Kalman-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.2 Optical-Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6 Zusammenfassung 26
iii
Kapitel 1
Einleitung
In dieser Arbeit sollen die Grundlagen der Bildverarbeitung vermittelt werden.
Die Bildverarbeitung nutzt die Mittel der Signalverarbeitung zur Aufbereitung und
Speicherung von visuellen Informationen. Die Manipulation und anschließende Darstel-
lung gehoren nicht zur Bildverarbeitung sondern zur Bildbearbeitung. Die Segmen-
tierung, die Merkmalsextraktion und die Objekterkennung sind Teilbereiche der Bild-
verarbeitung.
Diese Arbeit wird zuerst auf die Segmentierung von Bildbereichen eingehen. Im Zuge
dessen werden die Verfahren des Thresholding und des Region-Growing erlautert,
welche zur Segmentierung von Bildern eingesetzt werden.
Als nachstes geht die Arbeit auf die Merkmalsextraktion in digitalen Bildern ein.
Zwei wichtige Merkmale, die naher betrachtet werden, sind Kanten und Ecken. Hi-
erzu werden der Canny Kantendetektor und der Harris Corner Detektor vorgestellt.
Im Kapitel zur Objekterkennung wird zuerst das Templatematching Verfahren erklart,
welches Objekte beliebiger Form und Schattierung im Bild lokalisieren kann. An-
schließend wird auf die Erkennung der Objekte eingegangen. Das geschieht mittels
Klassifizierung der Objekte im Merkmalsraum.
Abschließend geht die Arbeit auf zwei wichtige Verfahren ein, um Merkmale bzw.
Objekte in der Bildsequenz zu verfolgen. Der Kalmanfilter sorgt fur die Kontinuier-
lichkeit von Messwerten und kann deshalb als Unterstutzung zur Objektverfolgung
verwendet werden. Der Optical-Flow Algorithmus hingegen liefert ein Feld von
1
Geschwindigkeitsvektoren fur Punkte in der Bildsequenz und stellt somit auch eine
Art Verfolgung von Merkmalen dar.
Anwendung finden diese grundlegenden Bildverarbeitungstechniken in vielen moder-
nen Verfahren zur Analyse von Bildern und Bildsequenzen. Oft werden sie in Ihrem
Ablauf modifiziert und dem Umfeld in dem sie vorkommen angepasst, jedoch ist die
Grundidee der Standardalgorithmen meist noch zu erkennen. Aus diesem Grund ist
es wichtig Einblick in die Standardmethoden zu haben. Ein besseres Verstandnis fur
aktuelle Forschungsarbeiten wird somit ermoglicht.
2
Kapitel 2
Segmentierung
Es gibt viele Techniken Bildern in Bereiche aufzuteilen. Die vollstandige und
uberdeckungsfreie Zerlegung nennt man Segmentierung. Es gibt drei große Gruppen
von Segmentierungsmethoden: Threshold-basierte, Kanten-basierte und Regionen-
basierte Segmentierung. Das Thresholding und das Region-Growing Verfahren sollen
im Folgenden naher betrachtet werden.
2.1 Thresholding
Thresholding ist die Anwendung eines Schwellwerts auf ein Grauwertbild (siehe
Abbildung ??). Dabei konvertiert eine nicht-lineare Funktion das Grauwertbild in ein
binares Bild in dem jedes Pixel entweder weiß oder schwarz eingefarbt wird. Je nach
dem ob der untersuchte Pixelwert uber oder unter dem Grenzwert liegt.
Das Thresholding gehort zur histogrammbasierten Segmentierung da sich der Gren-
zwert meist an den Extremwerten des Histogramms orientiert [Ton05, S.197-S.208].
Thresholding ist einfach umzusetzen und benotigt wenig Rechenleistung. Somit ist
es gut in Echtzeitanwendungen einsetzbar.
2.1.1 Thresholding Techniken
Thresholding kann auf verschiedene Arten eingesetzt werden: mit einem oder
mehreren, mit statischen oder dynamischen Schwellwerten.
Wird mehr als ein Schwellwert benutzt, bildet jeder Schwellwert die Ober- oder Un-
3
Abbildung 2.1: Histogramm Applet [FPWW03]
tergrenze eines Farbbereiches im Histogramm. Mehrere Schwellwerte fuhren folglich
nicht mehr zu Binarbildern, sondern die resultierenden Bilder haben so viele Farben,
wie die Anzahl der Bereiche im Histogramm.
Wahrend die einfachen Thresholding-Algorithmen einen globalen Schwellwert fur alle
Pixel verwenden, verandert sich beim Adaptive Thresholding bzw. Dynamic Thresh-
olding der Schwellwert wahrend des Prozesses. Dazu wird jeweils der Mittel- oder
Medianwert in einem ausreichend großen Bereich um das betrachtete Pixel berech-
net. Dieser Wert wird dann zur Anpassung des Thresholds benutzt[Rad05]. Dies
kann sinnvoll sein bei starken Beleuchtungsunterschieden im Bild. Je nach Beleuch-
tungssituation passt sich der Schwellwert den Gegebenheiten an [FPWW94]. Das
resultierende Bild ist binar und Beleuchtungsunterschiede sind durch das dynamische
Anpassen des Schwellwerts ausgeglichen worden.
2.1.2 Schwellwertbildung
Um moglichst gute Schwellwerte manuell zu bestimmen werden die Grenzen der
Bereiche vom Benutzer im Histogramm gesetzt. Das resultierende Threshold-Bild
wird dem Anwender in Echtzeit angezeigt, sodass er die Grenzen gegebenenfalls an-
passen kann. Das automatische Bestimmen von Schwellwerten erfolgt uber die Ex-
4
tremwerte des Histogramms. Es werden also die Stellen gesucht an denen die erste
Ableitung des Histogramms gleich Null ist. Die gefundenen lokalen Minima sind
potentielle Schwellwerte. Die eigentlichen Schwellwerte mussen als Nebenbedingung
noch zwischen zwei lokalen Maxima im Histogramm liegen. Die Extremwertbestim-
mung kann mit Hilfe verschiedener Techniken aus der diskreten Mathematik bestimmt
werden [Mey05].
2.2 Region-Growing
Da benachbarte Pixel meist ahnliche Eigenschaften haben und zu den gleichen
Bildregionen gehoren fuhrt der Ansatz des Region-Growing oft zu guten Ergebnissen.
Ausgehend von einem Start-Pixel wird fur alle benachbarten Pixel gepruft ob sie
die notige Gleichheit aufweisen um der Region hinzugefugt zu werden. Andernfalls
werden sie als außerhalb liegend verworfen. Startet man mit mehreren so genannten
Seed-Points kann ein gruppieren der sich bildenden Regionen notig sein, falls diese
beim Wachsen aneinander stoßen. Um sinnvolle Regionen zu erhalten ist das manuelle
setzen der Seed-Points notwendig. Naturlich gibt es schon vortgeschrittene Region-
Growing Algorithmen die selbst die Seed-Points bestimmen [NN06]. Genauso muss
der Threshold zum hinzufugen oder verwerfen von Pixeln gegebenenfalls an die Bild-
situation angepasst werden. Es ist beim Standard Region-Growing Verfahren somit
ein gewisses Vorwissen zum Bild notwendig und Interaktion vom Benutzer, damit der
Algorithmus das gewunschte Ergebnis liefert [Rad05].
Der Region-Growing Algorithmus mach nur Sinn, wenn sich das gesuchte Objekt
ausreichend vom Hintergrund unterscheidet [Ton05, Seite 243], in diesem Fall ist
der Algorithmus einfach, leicht verstandlich und flexibel. Eine Implementierung des
Region-Growing Algorithmus ist von R. Nock und F. Nielsen [NN06] (siehe Bildfolge
2.2).
5
Kapitel 3
Merkmalsextraktion
Die Segmentierung auf Grund von simplen Intensitats- und Farbunterschieden ist
ein Vorverarbeitungsschritt, reicht aber oft nicht aus, wenn nach bestimmten Bild-
inhalten gesucht werden soll. Deshalb kann es notwendig sein, gezielt Merkmale in
Bildern zu suchen die zu Objekten korrelieren.
3.1 Kantendetektoren
Eines der markantesten Bildmerkmale sind Kanten. Eine Kante bildet meist den
Abschluss eines Objektes, kann aber auch in anderen Zusammenhangen auftreten.
Eine Kante zeichnet sich durch einen Intensitatsunterschied im Bild aus. Nicht jeder
Intensitatsunterschied ist jedoch eine Kante. Bei der Kantendetektion werden diese
Intensitatsunterschiede durch einen Algorithmus gesucht und in Form einer binaren
Reprasentationen als Schwarzweißbild dargestellt [Rad05]. Die zu erkennenden Um-
risslinien nennt man auch Konturen.
Kantendetektoren arbeiten meist in drei wesentlichen Schritten:
1. Auf das Bild wird eine Maske angewendet, um Intensitatsgradienten zu erzeu-
gen.
2. Mittels Thresholding uber das Gradientenbild werden nennenswerte Gradienten
selektiert.
3. Verschiedene Operationen und Algorithmen verbinden die errechneten Daten
7
zu Kanten.
Je nach Verfahren haben die drei Schritte andere Auspragungen. Die Gradienten-
berechnung geschieht aber meist uber zentrale Differenzen, diese werden als 3x3 Ma-
trix implementiert. Hierfur konnen die Prewitt-Masken in x- und y-Richtung
1 0 −1
1 0 −1
1 0 −1
,
−1 −1 −1
0 0 0
1 1 1
oder die Sobel-Masken x- und y-Richtung
−1 0 1
−2 0 2
−1 0 1
,
1 2 1
0 0 0
−1 −2 −1
her genommen werden, die mittels Faltung auf das Bild angewendet werden. Bei ver-
waschenen, weichen Kanten im Bild entstehen schwache Gradienten uber eine großere
Flache. Es entstehen also breite Kanten wobei ein zusatzlicher Hochpassfilter dafur
sorgt, dass nur die hohen Frequenzen stehen bleiben und die Kanten somit ausgedunnt
werden.
3.1.1 Sobel Kantendetektion
Bei der Sobel Kantendetektion wird das ursprungliche Bild mit den Sobel-Matrizen
einmal in x- und einmal in y-Richtung gefaltet. Die entstehenden Daten konnen als
Approximation der ersten Ableitung des Bildes verstanden werden. Wie in Graphik
3.1 illustriert, wird jeweils ein 3x3 Bereich (gelb) mit der Maske (blau) multipliziert
und ergibt einen Teil des Gradienten im Ergebnisbereich (grun). Die Sobel-Maske fur
die x-Richtung filtert die horizontalen Kanten heraus, die fur die y-Richtung die ver-
tikalen Kanten. Nun werden die beiden Ergebnisse so zusammengefasst, dass immer
8
Abbildung 3.1: Faltung mittels Sobel-Operator
das Maximum ubernommen wird.
3.1.2 Canny Kantendetektion
Der Canny edge detector ist bekannt als eine der effektivsten Techniken zur Kan-
tenerkennung [Gre02]. Das Erkennen von nicht vorhandenen Kanten soll vermieden
werden, es sollen vorhandenen Kanten moglichst auch gefunden werden und eine ge-
fundene Kante sollte moglichst exakt mit ihrer realen Kante korrelieren. Der Canny
edge detector optimiert den Ablauf der Kantendetektion [Sch]:
1. Zweidimensionaler Gaußfilter zur Rauschreduktion. Dabei muss die Große des
Glattungs-Operators je nach Situation angepasst werden.
2. Das geglattete Bild wird mit gerichteten Ableitungsoperatoren versehen. Dazu
konnen der vorher beschriebene Sobel-Operator oder aber auch der Laplace-
Operator eingesetzt werden.
3. Nicht-maximale Ableitungen entlang der Kanten werden unterdruckt. Dadurch
wird eine Ausdunnung der Linien erreicht.
4. Fur Gradienten von mittlerer Steigung muss eine Entscheidung getroffen wer-
den, ob es sich um eine Kante oder Rauschen handelt. Dazu wird die Hysterese
angewendet. Dabei werden zu schwache Gradienten auf Grund ihrer Lage en-
tweder als Kanten- oder Nicht-Kanten-Pixel klassifiziert.
9
Abbildung 3.2: Canny Edge Detection Applet [Kra01]
Das resultierende Bild ist ein schwarzes Bild mit dunnen weißen Linien oder umgekehrt
(siehe Abbildung 3.2 rechts oben im Applet).
3.2 Eckendetektoren
Neben Kanten gibt es noch andere interessante Bildmerkmale. Der Punkt in dem
zwei Kanten enden ist eine Ecke. Ecken sind also auch ein wichtiges Merkmal fur einen
Objektabschluss. Ecken konnen ahnlich der Kantendetektion mittels Gradienten oder
aber auch mit Hilfe von Morphologie gesucht werden. Auf die erste Moglichkeit soll
hier naher eingegangen werden.
3.2.1 Moravec’s Corner Detector
Die Funktionalitat des Moravec’s Corner Detectors MCD basiert auf der Betra-
chtung eines kleinen lokalen Bildfensters. Es wird jeweils die Anderung der Bildin-
tensitat I gemessen, wenn das Fenster in eine bestimmte Richtung verschoben wird.
Es mussen drei Falle berucksichtigt werden:
1. Alle Verschiebungen ergeben einen geringen Intensitatsunterschied => einfar-
10
bige Region.
2. Alle Verschiebungen entlang der Kante ergeben einen geringen und alle lotrecht
zur Kante ergeben einen hohen Intensitatsunterschied => Kante.
3. Alle Verschiebungen ergeben einen hohen Intensitatsunterschied => Ecke.
Iu,v ist der Intensitatswert am Pixel (u, v). Um den Intensitatsunterschied festzustellen
kann folgende Formel verwendet werden:
Ex,y =∑u,v
wu,v[Ix+u,y+v − Iu,v]2
fur
(x, y) = {(1, 0), (1, 1), (0, 1), (−1, 1)}
Dabei ist wu,v = 0 außerhalb des MCD Fensters und wu,v = 1 innerhalb des Fensters
(siehe Abbildung 3.3 links). Vermutete Ecken sind dann die lokalen Maxima von E
uber alle Pixel [HS88].
3.2.2 Harris Corner Detector
Der Moravec’s Corner Detector MCD hat einige Schwachstellen. Diese Probleme
versucht der Harris Corner Detector HCD zu beheben [HS88].
1. Das Ergebnis des MCD kann tauschen, da nur in vier Richtungen zwischen 0◦
und 135◦ verschoben wird. Der HCD ersetzt das Verschieben in vier Richtungen
durch die Taylor Entwicklung
Ex,y =∑u,v
wu,v[x ∗ δI
δx+ y ∗ δI
δy+ O(x2, y2)]2
, wobei δIδr
die partielle Ableitung in Richtung r und O das Landau Symbol
darstellt.
11
Abbildung 3.3: Moravec-Fenster (l), Harris-Fenster (r)[Chu06]
Fur kleine Verschiebungen gilt
Ex,y = Ax2 + 2Cxy + By2
, wobei
A =δI
δx
2
∗ w,B =δI
δy
2
∗ w, C = (δI
δx∗ δI
δy) ∗ w
.
2. Das Ergebnis des MCD ist stark verrauscht weil das Fenster binar und rechteckig
ist. HCD benutzt statt dessen einen geglatteten Kreis
wu,v = eu2+v2
2σ2
(siehe Abbildung 3.3 rechts).
3. Der MCD reagiert zu oft. Das heißt es werden zu viele Regionen als Ecke
erkannt, da nur die lokalen Maxima von E fur das Ergebnis verantwortlich sind.
Aus E sollen nun andere Schlusse gezogen werden, welche die Schwankungen
und die Verschieberichtungen von E berucksichtigen. Es ist klar, dass gilt:
Ex,y = Ax2 + 2Cxy + By2 = (x, y)
A C
C B
(x, y)T
. Sei
M =
A C
C B
12
Abbildung 3.4: Eigenwerte dargestellt als Ellipsenachsen.
die 2x2 Matrix aus E. E ist der lokalen Autokorrelationsfunktion sehr ahnlich
und M beschreibt deren Form am Ursprung [Wik06a]. Seien α, β die Eigenwerte
von M. Ein Eigenwert zeigt die Schnelligkeit der Anderungen bei einem Shift
in eine Richtung an (siehe Abbildung 3.4). Die beiden Eigenwerte entsprechen
dem Verhaltnis der Hauptkrummungen von E [HS88].
Es lassen sich drei Falle in der Eigenwertbelegung unterscheiden wie in Abbil-
dung 3.5 dargestellt. Je nach dem wird entschieden ob es sich um Kante, Ecke
oder flache Region handelt:
(a) Beide Eigenwerte sind groß. E hat somit eine scharfe Spitze was auf eine
Ecke hinweist.
(b) Ein Eigenwert ist sehr groß im Vergleich zum Anderen. Das heißt E ist
sehr kantig und zeigt eine Kante an.
(c) Beide Eigenwerte sind klein. E ist also sehr flach und zeigt an, dass keiner
der Shifts eine Veranderung bringt. Es handelt sich somit um eine Region
mit konstanter Intensitat.
4. Weiterhin definiert der HCD noch die Qualitat einer Kante beziehungsweise
Ecke. Die so genannte Corner-Response (Eckenqualitat)
R = α ∗ β − k ∗ (α + β)2
13
Abbildung 3.5: Unterscheidungs-Raum
ist positiv fur Ecken, negativ fur Kanten und klein in einer uniformen Region.
5. Abschließend wird eine Kantenhysterese und eine Eckenverbindung durchgefuhrt
um kleine Locher zu schließen, Brucken zu bauen sowie kleine Kantenstuckchen
und isolierte Kanten zu loschen.
14
Kapitel 4
Objekterkennung
Die Objekterkennung in der Bildverarbeitung ist ein komplexer Vorgang der viele
Unsicherheitsfaktoren hat. Zuerst muss ein Objekt im Bild gefunden werden, hierbei
konnen falsche Objekte gefunden oder existierende nicht entdeckt werden. Sind die
Objekte gefunden, fehlt fur die Objekterkennung noch die Klassifikation der Objekte.
4.1 Templatematching
Das Templatematching gehort zur modellbasierten Segmentierung. Beim Tem-
platematching wird mittels vollstandiger Suche entschieden wie gut ein vorgegebenes
Modell (Template) zu einem bestimmten Pixelbereich passt (match) [Ton05].
Das Modell beschreibt moglichst genau das zu suchende Objekt und seine Einbet-
tung in die Umgebung. Dabei wird das Objekt-Template in einem Pixel Abstand von
einer Bounding-Box begrenzt. Mehr Umgebung als notwendig wurde nur die Fehler-
rate erhohen. Das Template sollte moglichst die gleiche Große und Orientierung haben
wie das gesuchte Objekt. Die Auswirkung von Großenunterschieden ist in Abbildung
4.1 zu sehen. Falls diese Einschrankung der Große und Ausrichtung nicht gegeben ist,
wird noch in allen moglichen Skalierungen s und Drehungen r der Templates gesucht
[Ton05].
Als Maßstab dafur, ob das Template zu einer Bildregion passt, konnen verschiedene
Kriterien verwendet werden. Der durchschnittliche quadratische Abstand von Bild f
15
Abbildung 4.1: Matching Beispiel
und Template t
msd(x, y) =P−1∑p=0
Q−1∑q=0
(f(x + p, y + q) − t(p, q))2
oder der durchschnittliche Abstand der Betrage
mad(x, y) =P−1∑p=0
Q−1∑q=0
|f(x + p, y + q) − t(p, q)|
. Beide Maße sind relativ robust gegenuber Rauschen, aber haben Probleme bei In-
tensitatsunterschieden zwischen Bild und Template.
Der Korrelationskoeffizient cc basiert auf Intensitatsabweichungen anstatt auf Werten
und kann deshalb muhelos selbst Objekte finden die negativ zum Template sind
[Ton05]. Es sei nun g ein Bildausschnitt aus f der die gleiche Große wie t hat. Eg
und Et seien die Erwartungswerte von Bildausschnitt und Template. Dann ist der
Korrelationskoeffizient definiert als
cc(g, t) =
∑ni=1(gi − Eg)(ti − Et)√∑n
i=1(gi − Eg)2√∑n
i=1(ti − Et)2
16
Abbildung 4.2: Menschen und Hunde
Abbildung 4.3: Klassifikation von Mensch und Hund auf Basis von 2 Merkmalen
wobei ti, gi das i-te in Reihe gelesene Pixel von t bzw. vom Ausschnitt g ist. Der
Koeffizient bewegt sich im Wertebereich [−1, 1] und nimmt 1 an falls Template und
Bildausschnitt gleich sind und -1 falls das Template negativ zum Bildausschnitt ist
[Wik06d].
Fuhrt man die Berechnung von cc fur jeden moglichen Bildausschnitt g von f durch,
entsteht eine zweidimensionale Funktion mit Wertebereich [−1, 1] die im besten Fall
eindeutige Minima bzw. Maxima aufweist. Die Extremwerte geben jeweils die Fund-
stelle des Templates im Bild an.
17
4.2 Klassifizierung
Als Klassifizierung oder Klassifikation bezeichnet man einen Vorgang oder eine
Methode zur Einteilung von Objekten in Klassen oder Kategorien [Wik06c]. Die
zu klassifizierenden Objekte konnen Beispielsweise aus der Segmentierung stammen,
welche noch keine Wertung uber die Intensitaten hinaus vorgenommen hat. Die Ob-
jekte konnen auch bereits mit Merkmalen annotiert sein, die durch einen Detektor
gefunden wurden. Diese Merkmale konnen dann fur die Klassifikation verwendet wer-
den.
Durch die Klassifikation soll ein leichtes Verstehen ermoglicht und das Erkennen von
Zusammenhangen verbessert werden. Liegen alle Informationen uber ein Objekt vor,
so kann es immer korrekt klassifiziert werden. Beim Klassifizieren von Bildsegmenten
ist es aber sehr schwierig, alle relevanten Eigenschaften zu bestimmen. Somit muss die
Klassifizierung trotz unvollstandiger Aussagen uber ein Bildsegment funktionieren.
Zur Klassifizierung wird eine Reihe von passenden Merkmalen herangezogen, diese
bilden den so genannten Merkmalsvektor. Beispielsweise konnen zur Klassifizierung
von Menschen und Hunden die Merkmale Anzahl der Beine und Große herangezogen
werden. Hunde befinden sich also meist in der Klasse klein und vierbeinig wohinge-
gen Menschen zwei Beine und mindestens eine gewisse Große haben sollten (siehe
Abbildung 4.2). Bei einem zweidimensionalen Merkmalsvektor wie diesem konnen
die Klassen als Ellipsen in einem Koordinatensystem dargestellt werden (siehe Abbil-
dung 4.3). Dabei wird die Varianz der klassifizierten Objekte innerhalb einer Klasse
als Within-Class-Scatter bezeichnet. Der Between-Class-Scatter bezeichnet den Ab-
stand zwischen den Mittelwerten der Merkmale der einzelnen Klassen [Ton05, Seite
297].
Im Allgemeinen kann nach den unterschiedlichsten Merkmalen klassifiziert werden,
haufig werden Form, Kontrast, Segmentgroße, Farbe, Textur und vielen Andere ver-
wendet [Ton05].
18
Kapitel 5
Verfolgung von Merkmalen/Objekten uber Bildsequenzen
Viele der vorher vorgestellten Verfahren liefern Messwerte. Diese Messwerte
konnen Gradienten, Positionen, Winkel oder Ahnliches sein. Angenommen das Ziel
der anfanglichen Objektsuche bzw. Objekterkennung im Bild war die kontinuierliche
Positionsverfolgung von Objekten uber langere Bildsequenzen hinweg. Da keines der
Verfahren der Segmentierung perfekt ist, sollten die gemessenen Werte noch moglichst
genau an die exakten Werte angenahert werden. Ein bewahrtes Verfahren hierfur ist
der Kalman-Filter.
5.1 Kalman-Filter
Der Kalman-Filter arbeitet auf einer kontinuierlichen Folge von Messwerten, die
aus einem beliebigen Verfahren stammen konnen. Zum Zeitpunkt t existiert eine
Vorhersage x−t , die am Ende von Schritt t-1 erstellt wurde. Außerdem liefert das
gewahlte Verfahren zu jedem Zeitpunkt t einen Messwert zt. Die Kalman-Gain-
Matrix K gewichtet nun abhangig vom Fehler P ob man dem Messwert zt oder dem
zugrunde liegenden Bewegungsmodell, d.h. der Vorhersage, mehr vertraut. Messwert
und Vorhersage werden dann zu einem Schatzwert fusioniert. Der Kalman-Filter ist
ein stochastischer Zustandsschatzer mit iterativer Struktur der in Echtzeitsystemen
angewendet werden kann.
Es wird angenommen, dass Vorhersage und Messung normalverteilt sind. Anhand
des Erwartungswerts und der Varianz werden die beiden Werte fusioniert (siehe auch
19
Abbildung 5.1: Fusionierung von Vorhersage und Messung
5.1).
Die Kalman-Gain-Matrix K, die zur Fusionierung benutzt wird, setzt sich aus dem
geschatzten Vorhersagefehler P−t , der Abhangigkeitsmatrix H und einer Messfehlerko-
varianzmatrix R zusammen [WB04, S.3]:
Kt =P−
t H t
HP−t H t + R
Dabei erfasst H die Abhangigkeit zwischen dem echten Zustand xt und der Messung
zt. In
P−t = APt−1A
T + Q
aus [WB04, S.3, S.5] fließen der Vorhersagefehler
Pt−1 = (I − Kt−1H)P−t−1
aus dem Schritt davor, die Zustandsubergangsmatrix A und ein Modellfehler Q ein.
Die vorhergesagte Messung x−t und die Messung zt werden in [WB04, S.3] nun zu
einer Schatzung xt des realen Wertes xt verbunden.
xt = x−t + Kt(zt − Hx−t )
Dabei wird res = zt−Hx−t als Innovationsschritt oder Residuum bezeichnet, res = 0
heißt Pradiktion und Messung sind gleich.
20
Fur die neue Vorhersage
x−t+1 = Axt + But
wird die Zustandsubergangsmatrix A auf die aktuelle Schatzung angewendet und ein
Regeleingriff But ([Wik06b]: oft nicht vorhanden) addiert.
Es folgt eine kurze Zusammenfassung des Ablaufs eines Kalman Filters fur einen
Zeitpunkt t.
Zusammenfassung Schritt t:
1. Algorithmus liefert zt
2. Kalman-Gain-Matrix berechnen Kt =P−t Ht
HP−t Ht+R
3. Schatzung xt = x−t + Kt(zt − Hx−t )
4. Fehler berechnen Pt = (I − KtH)P−t
5. Vorhersage machen x−t+1 = Axt + But
6. Fehler vorhersagen P−t+1 = APtA
T + Q
5.2 Optical-Flow
Der Begriff des Optical-Flow (Optischer Fluss) wurde erstmals 1950 von J.Gibson
[Gib50] gepragt. Er beschreibt damit die Art, wie Lebewesen ihre Umwelt wahrnehmen.
Dabei erhalten Oberflachen jeweils eine Geschwindigkeit und eine Richtung. Etwa
ein viertel Jahrhundert spater definieren Horn und Schnuck 1981 [HS81, S.185] den
Optical-Flow als die Verteilung von sichtbaren Bewegungsvektoren der Helligkeits-
Muster. Praktisch ausgedruckt durch Rowekamp [Row99, S.5] analysiert eine Optical-
Flow Anwendung die Bewegung, welche von der 3D Szene in die 2D Bildebene pro-
jiziert wird (Abbildung 5.2). Fur jedes Bildelement wird ein Bewegungsvektor berech-
net, der die Bewegung in Bildkoordinaten ausdruckt. Diese konnen unter anderem
21
Abbildung 5.2: 3D Bewegung in die 2D Bildebene projiziert
als Grundlage fur eine Bewegungsschatzung in der realen Welt dienen.
Da der Optical-Flow schon lange erforscht wird gibt es eine Vielzahl von Algorith-
men die diesen berechnen. Diese Algorithmen lassen sich wie folgt einteilen [Row99,
S.15, S.16]:
• Merkmals-basierte Methoden
• Intensitats-basierte Methoden
– Gradienten-basierte Techniken
– Korrelations-basierte Techniken
– Filter-basierte Techniken
Auf Merkmals-basierte Methoden wird nicht weiter eingegangen, da die Berechnung
von Merkmalen viel Rechenzeit erfordert und somit diese Methoden schlecht fur
Echtzeitanwendungen geeignet sind. Wir beschranken uns in dieser Arbeit auf die
Gradienten-basierten Methoden.
Die Helligkeit des Bildes am Punkt (x, y) zum Zeitpunkt t wird mit E(x, y, t) beze-
22
Abbildung 5.3: Partielle Ableitungen
ichnet [HS81]. Bleibt die Helligkeit in (x, y) konstant so gilt
∆E
∆t= 0
. Seien
Ex =δE
δx, Ey =
δE
δy, Et =
δE
δt
die partiellen Ableitungen von E nach x, y und t. Die Ableitungen werden uber den
Durchschnitt der vier benachbarten Differenzen berechnet (Abbildung 5.3) [HS81].
Nach Anwendung der Kettenregel ergibt sich
Ex∆x
∆t+ Ey
∆y
∆t+ Et
∆t
∆t= 0
. Diese Bedingung an die lokale Flow Geschwindigkeit (u, v) lasst sich nun mit
u =∆x
∆t, v =
∆y
∆t
als
(Ex, Ey) · (u, v) = −Et
schreiben, wobei u und v Unbekannte sind. In einfacheren Worten ausgedruckt darf
sich die Flow Geschwindigkeit (u, v) nur auf der Geraden lotrecht zu (Ex, Ey) im
23
Abbildung 5.4: Flug uber einen Tisch auf einer Wiese
Abstand von
Et
|(Ex, Ey)|
befinden.
Leider ist diese eine Gleichung nicht ausreichend um beide Komponenten u und v des
Feldes von Geschwindigkeitsvektoren zu finden. Die Gleichung liefert nur die Kompo-
nente in die Richtung des Gradienten ∇E. Diese Komponente wird als Normalfluss
und das Problem wird in [Jah03, S.230] als Blendproblem bezeichnet. In Abbildung
5.4 ist dargestellt wie das Problem entsteht. An der glatten Tischkante kann nicht
identifiziert werden woher das Pixel aus dem vorherigen Sequenzbild genau stammt
(graue Pfeile). Es korrespondiert mit allen Pixeln auf der Tischkante.
Um das Blendproblem zu uberwinden muss eine weitere Bedingung an die Vektoren
(u, v) gestellt werden. Dazu gibt es viele Ansatze in der Literatur. Horn und Schnuck
[HS81] fordern eine moglichst glatte/ruhige Veranderung uber das Bild hinweg. Dazu
minimieren sie die Quadrate der Gradientenlangen der Optical-Flow Geschwindigkeit:
(δuδx
)2+
(δuδy
)2
und(
δvδx
)2+
(δvδy
)2
.
Das minimieren der Fehler
℘b = Ex∆x
∆t+ Ey
∆y
∆t+ Et, ℘
2c = (
δu
δx)2 + (
δu
δy)2 + (
δv
δx)2 + (
δv
δy)2
24
Abbildung 5.5: Velocity Vector Field
geschieht uber
℘2 =
∫ ∫(α2℘2
c + ℘2b)dxdy
. Die Werte (u, v) die ℘2 minimieren liegen auf einer Senkrechten in Richtung der
Bedingungslinie fur (u, v). Die Gleichungen hierfur sind:
(α2 + E2x + E2
y)(u − u) = −Ex[Exu + Eyv + Et]
(α2 + E2x + E2
y)(v − v) = −Ex[Exu + Eyv + Et]
wobei u, v die lokalen Durchschnittswerte fur u und v sind. Durch weitere Uberlegungen
stellt sich heraus, dass α2 vernachlassigt werden kann.
Es existiert nun fur jeden Punkt (x, y) des Bildes ein Gleichungspaar. Die Berech-
nung ware sehr rechen- und speicherintensiv, wenn fur jeden Bildpunkt gleichzeitig
das oben beschriebene Gleichungspaar gelost werden wurde. Es wird deshalb die iter-
ative Losungsmethode Gauss-Seidel aus der Numerik gewahlt [Wei06]. Um ein gutes
Ergebnis zu bekommen wird der Optical-Flow uber mehrere Iterationen berechnet um
den Fehler zu minimieren. Die erste Iteration berechnet die Vektoren der Helligkeits-
Gradienten-Richtung. Nach 32 Iterationen weisen die Optical-Flow Vektoren einen
annehmbaren Fehler auf (siehe Abbildung 5.5).
25
Kapitel 6
Zusammenfassung
Diese Arbeit gibt einen Einblick in die grundlegenden Methoden der Bildverar-
beitung.
Zunachst wurde die Segmentierung vorgestellt. Diese findet als Vorverarbeitungss-
chritt in sehr vielen Verfahren ihre Anwendung. Deshalb ist die Segmentierung ein
wichtiger Grundbaustein in der der Bildverarbeitung.
Anschließend ging die Arbeit auf die Merkmalsextraktion in Bildern ein. Uber Merk-
male konnen wichtige Aussagen uber Objekte gemacht werden. Zu erwahnen sind
hier Kanten und Ecken welche Objekte von der Umgebung abgrenzen. Außerdem
werden Merkmale benotigt um Objekte zu Klassifizieren. Als Klassifizierung oder
Klassifikation bezeichnet man einen Vorgang oder eine Methode zur Einteilung von
Objekten in Klassen oder Kategorien.
Ist im Vorab bekannt, welche Form und Schattierung ein gesuchtes Objekt hat, kann
das Templatematching mit dem Korrelationskoeffizienten fur die Suche her genom-
men werden.
Die Weiterverarbeitung von Segmenten, Merkmalen und Templates in der Bildsequenz
ist das Ziel der meisten Verfahren auf Bildsequenzen. Standardalgorithmen die hier-
bei Verwendung finden sind unter anderem der Kalman-Filter und der Optikal-Flow
Algorithmus. Der Kalman-Filter ist ein stochastischer Zustandsschatzer mit itera-
tiver Struktur der in Echtzeitsystemen angewendet werden kann. Der Optical-Flow
analysiert Bewegungen von Objekten in einer Bildsequenz. Fur die Bildelemente wird
26
jeweils ein Geschwindigkeitsvektor berechnet, der die Bewegung in Bildkoordinaten
ausdruckt. Diese konnen unter anderem als Grundlage fur eine Bewegungsschatzung
in der realen Welt dienen.
Ein großes Anwendungsfeld der Bildverarbeitung ist die Robotik. Selbstgesteuerte
Roboter sind dabei denkbar, die ihre Umgebung analysieren und erkennen wohin sie
gehen mussen. Auch in der Industrie, z.B. in der Qualitatssicherung ist eine Automa-
tisierung mittels Bildverarbeitung in vielen Bereichen moglich. Andere Bereiche wie
die Bewegungsanalyse im Sport, die Uberwachung von Raumen oder Platzen oder die
Zugangskontrolle setzen auch die Bildverarbeitung fur ihre Berechnungen ein. Viele
Bereiche haben schon sehr ausgereifte Verfahren, aber es gibt noch viel zu verbessern.
Diese Arbeit soll eine Wissensbasis zur Analyse und Verbesserung bestehender Ver-
fahren bieten und genauso auch Anregung sein um neues zu Entwickeln.
27
Referenzen
[Chu06] Yung-Yu Chuang. Features, digital visual effects. Techni-
cal report, National Taiwan University, March 2006. URL
http://www.csie.ntu.edu.tw/cyy/ courses/vfx/06spring/lectures/h and-
outs/lec04 feature.pdf.
[FPWW94] Bob Fisher, Simon Perkins, Ashley Walker, and Erik Wolfart.
Adaptive thresholding. URL, 1994. http:// www.cee.hw.ac.uk/
hipr/html/adpthrsh.html.
[FPWW03] R. Fisher, S. Perkins, A. Walker, and E. Wolfart. Histogram equaliza-
tion experimentation. URL, 2003. http://homepages.inf.ed.ac.uk/rbf/
HIPR2/histeqdemo.htm.
[Gib50] J. Gibson. The perception of the visual World. River Side Press, Came-
bridge, 1950.
[Gre02] William E. Green. Canny edge detection tutorial. Tech-
nical report, Drexel University, Philadelphia, 2002. URL
http://www.pages.drexel.edu/weg22/can tut.html.
[HS81] B. Horn and B. Schnuck. Determining optical flow. In Artifical Intel-
lience, number MA 02139, pages 185–204. Artifical Intellience Labora-
tory, MIT, Cambridge, USA, 1981.
28
[HS88] Chris Harris and Mike Stephens. A combined corner and edge detector.
Plessey Research Roke Manor, United Kingdom, 1988.
[Jah03] Bernd Jahne. Digitale Bildverarbeitung. Springer Verlag, Heidelberg,
2003.
[Kra01] Susanne Krabbe. Still image segmentation. URL, June 2001.
http://www-mm.informatik.uni-mannheim.de/veranstaltungen/ anima-
tion/multimedia/ segmentation/Applet/Segmentation.html.
[Mey05] Ernst W. Meyer. Vorlesung Diskrete Strukturen, chapter 4.8.2 Differen-
zenoperator. Technische Universitat Munchen, December 2005.
[NN06] R. Nock and F. Nielsen. Statistical region merging (srm). URL, May
2006. http://www.csl.sony.co.jp/person/nielsen/SRM/.
[Rad05] B. Radig. Vorlesung Bildverstehen, chapter Segmentation. Technische
Universitat Munchen, 2005.
[Row99] Thomas Rowekamp. A smart Sensor System for Real-time Optical Flow
Estimation. PhD thesis, Fakultat fur Mathematik, Naturwissenschaften
und Informatik der Brandenburgischen Technischen Universitat Cottbus,
1999.
[Sch] Th. Schmidt. Kantenerkennung. Technical report, Uni Halle. URL
http://users.informatik.uni-halle.de/schmidt/kanten.htm.
[Ton05] Klaus D. Tonnies. Grundlagen der Bildverarbeitung. Pearson Studium,
2005. ISBN 3-8273-7155-4.
[WB04] Greg Welch and Gary Bishop. An introduction to the kalman filter.
Technical report, Department of Computer Science University of North
Carolina at Chapel Hill, April 2004.
29
[Wei06] Eric W. Weisstein. Gauss-seidel method. URL, 2006.
http://mathworld.wolfram.com/Gauss-SeidelMethod.html.
[Wik06a] Wikipedia. Autokorrelation. URL, April 2006.
http://de.wikipedia.org/wiki/Autokorrelation.
[Wik06b] Wikipedia. Kalman-filter. URL, February 2006.
http://de.wikipedia.org/wiki/Kalman-Filter.
[Wik06c] Wikipedia. Klassifizierung. URL, February 2006.
http://de.wikipedia.org/wiki/Klassifizierung.
[Wik06d] Wikipedia. Korrelationskoeffizient. URL, April 2006.
http://de.wikipedia.org/wiki/Korrelationskoeffizient.
30