Bildverarbeitung und Objekterkennung ||

667
Bildverarbeitung und Objekterkennung Herbert Süße Erik Rodner Computer Vision in Industrie und Medizin

Transcript of Bildverarbeitung und Objekterkennung ||

Page 1: Bildverarbeitung und Objekterkennung ||

Bildverarbeitung und Objekterkennung

Herbert SüßeErik Rodner

Computer Vision in Industrie und Medizin

Page 2: Bildverarbeitung und Objekterkennung ||

Bildverarbeitung und Objekterkennung

Page 3: Bildverarbeitung und Objekterkennung ||

Herbert Süße ⋅ Erik Rodner

Bildverarbeitung undObjekterkennung

Computer Vision in Industrie und Medizin

Page 4: Bildverarbeitung und Objekterkennung ||

Dr. Herbert SüßeDr. Erik RodnerLehrstuhl für Digitale BildverarbeitungInstitut für Mathematik und InformatikFriedrich-Schiller-Universität JenaJena, Deutschland

ISBN 978-3-8348-2605-3 ISBN 978-3-8348-2606-0 (eBook)DOI 10.1007/978-3-8348-2606-0

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; de-taillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.

Springer Vieweg© Springer FachmedienWiesbaden 2014Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht aus-drücklich vomUrheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das giltinsbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen,Mikroverfilmungen und die Einspei-cherung und Verarbeitung in elektronischen Systemen.

Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk be-rechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne derWarenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermannbenutzt werden dürften.

Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier.

Springer Vieweg ist eine Marke von Springer DE. Springer DE ist Teil der Fachverlagsgruppe SpringerScience+BusinessMediawww.springer-vieweg.de

Page 5: Bildverarbeitung und Objekterkennung ||

Vorwort

Ein Lehrbuch über die Bildverarbeitung zu schreiben ist genauso unmöglich wie ein Lehr-buch der Mathematik oder Physik herauszugeben. Die Bildverarbeitung ist inzwischen sospezialisiert, dass man über jedes Teilgebiet ein eigenes Lehrbuch herausgeben könnte. Imfolgenden Buch versuchen wir trotzdem einen relativ breiten Überblick über das Gebiet zugeben, welcher aber nicht im geringsten den Anspruch auf Vollständigkeit erhebt.

Insbesondere Studenten und Anwender, welche das erste Mal mit demThema der Bild-verarbeitung in Berührung kommen, verwechseln dieses mit der Bildbearbeitung. Bei derBildbearbeitung beschäftigt man sich hingegen mit der manuellen Modifikation von Bil-dern zum Zwecke der „optischen Verbesserung“ oder um Fotomontagen zu erstellen. ImGegensatz dazu steht die Bildverarbeitung, welche sichmit der automatischenmaschinellenAnalyse von Bildern beschäftigt. Trotz der bereits schon seit ein paar Jahrzehnten betrie-benen Forschung, ist in den letzten Jahren erst ein unglaublicher Boom möglicher An-wendungen zu beobachten. An dieser Stelle sei zum Beispiel die automatische Fussgänge-rerkennung im Automobilbereich oder die Gesichtsdetektion bei aktuellen Digitalkamerasund Mobiltelefonen genannt. Diese Anwendungen basieren auf Algorithmen der Bildver-arbeitung und zeigen nur einen kleinen Bereich derMöglichkeiten der automatischen Bild-analyse auf.

Unser Buch wendet sich an Studenten, Anwender und Spezialisten der Bildverabei-tung. Studenten sollenmit dem Buch an die Bildverarbeitung herangeführt werden um dasInteresse an diesenThemenbereichen zu wecken. Für Anwender und Spezialisten sind die-jenigen Abschnitte geeignet, in denen ausführlich einzelne spezifische Problemstellungendargelegt werden, welche Bestandteil der jahrelangen Forschung der Autoren waren undimmer noch sind. Wir hoffen, dass die Spezialisten in diesen Abschnitten einige Anregun-gen finden. Insgesamt kann das vorliegende Buch als eine Art Zusammenfassung der Lehr-und Forschungstätigkeit der Autoren am Lehrstuhl Digitale Bildverabeitung der Friedrich-Schiller-Universität Jena angesehen werden.

Eine besondere und spannende Herausforderung der Bildverarbeitung ist die Tatsache,dass diese Disziplin auf vielen anderen Wissenschaftsdisziplinen basiert. So sind Aspek-te aus der Mathematik (Optimierung, Numerik, lineare Algebra, . . . ) genauso wichtig wieKonzepte aus der Physik aber vor allem auch der Informatik. Die aktuelle Forschung indiesem Bereich durchläuft oft alle Stufen der Entwicklung, von der mathematischen Mo-

V

Page 6: Bildverarbeitung und Objekterkennung ||

VI Vorwort

dellierung der Problemstellung über die algorithmische Konzeption bis hin zur fertigenSoftware. Dadurch entsteht eine Einheit aus Theorie und Praxis, welche in wenigen ande-renWissenschaften in dieser Form zu finden ist. Die Bildverarbeitung ist eng verwandt mitden folgenden Gebieten:

1. Computergrafik2. Mustererkennung, maschinelles Lernen und künstliche Intelligenz3. Digitale Geometrie4. Berechenbare Geometrie5. Stereologie6. Stochastische Geometrie.

Wir werden bestimmte thematische Schnittmengen mit diesen Gebieten auch in diesemBuch näher erläutern.

Ein besonderer Schwerpunkt des Buches wird es sein Beziehungen und Parallelen zwi-schen Problemstellungen undLösungen zu ziehen.Oftwird ein sehr allgemeinesmathema-tisches Konzept bei unterschiedlichen Problemstellungen zur Lösung herangezogen, abervon derNotation undMotivation ganz anders dargestellt. ImBuchwerdenwir daher bei be-stimmtenThemengebieten nicht die algorithmischenDetails beleuchten, sondern eher diemathematische Modellierung und deren Motivation betrachten. Da die Bildverarbeitungauf vielen Wissenschaftsdisziplinen basiert, ist ein zusätzliches Problem die Verwendungeinheitlicher Begriffe. So werden manchmal die gleichen Konzepte mit unterschiedlichenBegriffen bezeichnet. Beispiele dafür sind die Begriffe Varianzen und Kovarianzen, welchein der Physik als Momente zweiter Ordnung bezeichnet werden. Zusätzliche Verwirrungentsteht durch die inflationäre Verwendung von Schlagworten, welche mit der ursprüngli-chen Definition nichts mehr gemein haben, als Beispiel sei an dieser Stelle der Begriff des„Strukturtensors“ erwähnt.

Da die Bildverabeitung eine relativ junge Wissenschaft ist, haben sich viele Begriffein englischer Notation eingebürgert. Oft geben wir in Klammern den englischen Begriffan. Die digitale Bildverarbeitung selbst wird als Computer Vision bezeichnet, wobei manoft zwischen 2D- und 3D-Computer Vision unterscheidet. Im Buch werden wir den Be-griff Computer Vision als Synonym für die Bildverarbeitung verwenden. Weiterhin werdenwir nur vereinzelt auf wichtige Werke der Bildverarbeitung verweisen und haben bewusstauf umfangreiche Literaturlisten verzichtet. Dem interessierten Leser sei an dieser Stelleempfohlen auf einschlägige Suchdatenbanken fürwissenschaftlicheVeröffentlichungen zu-rückzugreifen, wie etwa scholar.google.com. Sinnvolle Schlagworte für die Suche sind injedem Abschnitt hervorgehoben. Wir möchten an dieser Stelle auch auf die Internetseitedes Buches hinweisen:

http://www.dbvbuch.de

Auf dieser Seite werden wir Links und Ergänzungen zur Verfügung stellen.

Page 7: Bildverarbeitung und Objekterkennung ||

Vorwort VII

Die Entstehung des Buches verdanken wir gemeinsamen Forschungsarbeiten und re-gen Diskussionen mit vielen Kollegen. Insbesondere gilt unser Dank Prof. Klaus Voss, Dr.Wolfgang Ortmann und Prof. Joachim Denzler. Besonderer Dank geht auch an Dr. MarcelBrückner,Dr. Martin Rapus,Dr. Michael Kemmler,Dr. Björn Fröhlich undDaniel Haase fürdas Bereitstellen einiger Abbildungen. Herrn Dr. Christian Lautenschläger vom KlinikumJena danken wir für die erfolgreiche Zusammenarbeit auf dem Gebiet der medizinischenBildverarbeitung. Weiterhin sind wir dankbar für das unermüdliche Korrekturlesen vie-ler Kollegen: Paul Bodesheim, Alexander Freytag, Daniel Haase, Christoph Käding, MarcoKörner,Mahesh Venkata Krishna, Sven Sickert und Johannes Rühle.

Zu guter Letzt danken wir Irene Süße undWiebke Rodner für Geduld, Aufmunterung,Verständnis und Motivation während der gesamten Zeit und insbesondere in den langenNächten des Schreibens.

Jena, im März 2014 Herbert Süße und Erik Rodner

Page 8: Bildverarbeitung und Objekterkennung ||

Inhaltsverzeichnis

Teil I 2D-Bildverarbeitung

1 Elementare Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1 Abtastung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Diskrete Natur von digitalen Bildern . . . . . . . . . . . . . . . . . . . . . . . 6

1.2.1 Gittertypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.2.2 Kuriositäten im Quadratgitter . . . . . . . . . . . . . . . . . . . . . . 101.2.3 Digitale Konvexität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.2.4 Silhouetten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.2.5 Perkolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 Bildmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4 Bildtransformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.4.1 „Reine“ Grauwertransformationen . . . . . . . . . . . . . . . . . . . 181.4.2 Polar- und Log-Polar-Darstellungen . . . . . . . . . . . . . . . . . . 201.4.3 Globale geometrische Transformationen . . . . . . . . . . . . . . . 211.4.4 Praktische Durchführung der Transformationen . . . . . . . . . 231.4.5 Beispiel OCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Die Operationen Faltung und Korrelation . . . . . . . . . . . . . . . . . . . . . . . 272.1 Faltung und Korrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1.1 Faltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.1.2 Korrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.1.3 Ableitungen der Faltung . . . . . . . . . . . . . . . . . . . . . . . . . . 362.1.4 Wrap-around effect und zero padding . . . . . . . . . . . . . . . . . 37

2.2 Zirkularmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.2.1 Elementare Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . 382.2.2 Normabschätzungen und Stabilität . . . . . . . . . . . . . . . . . . 41

2.3 LSI-Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.4 Faltungsgleichungen im Ortsraum . . . . . . . . . . . . . . . . . . . . . . . . . 48

2.4.1 Iterative Entfaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482.4.2 Beschränkte Entfaltungskerne . . . . . . . . . . . . . . . . . . . . . . 49

IX

Page 9: Bildverarbeitung und Objekterkennung ||

X Inhaltsverzeichnis

2.5 FIR und IIR Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.6 Schnelle Faltungen im Ortsraum . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3 Bildtransformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.1 Grundlagen und Basissysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.2 Analoge Fouriertransformation im endlichen Intervall (AFT) . . . . . . 573.3 Die endliche diskrete Fouriertransformation (DFT) . . . . . . . . . . . . . 603.4 Die Fourier-Integraltransformation (IFT) . . . . . . . . . . . . . . . . . . . . 62

3.4.1 Integraltransformation als Grenzwert . . . . . . . . . . . . . . . . . 623.4.2 Integraltransformation mit stetigen Basen . . . . . . . . . . . . . . 64

3.5 Die unendliche diskrete Fouriertransformation (UDFT) . . . . . . . . . . 653.6 Fourier-Mellin-Transformation (FMT) . . . . . . . . . . . . . . . . . . . . . . 663.7 Hilbert-Transformation (HIT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4 Grundlegende Eigenschaften der Fouriertransformation . . . . . . . . . . . . . 714.1 Bezeichnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2 Nullter Fourierkoeffizient, Gleichanteil . . . . . . . . . . . . . . . . . . . . . . 724.3 Konvergenzverhalten, Gibbssches Phänomen . . . . . . . . . . . . . . . . . 724.4 Linearität der Fouriertransformation . . . . . . . . . . . . . . . . . . . . . . . 744.5 Periodizität der Fourierkoeffizienten . . . . . . . . . . . . . . . . . . . . . . . 754.6 Spektrum reeller Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.7 Parsevalsche Gleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.8 Faltungstheorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.9 Spektrum der Korrelationsfunktion . . . . . . . . . . . . . . . . . . . . . . . . 804.10 Kohärenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.11 Eigenwerte und Eigenfunktionen bezüglich der Faltung . . . . . . . . . . 814.12 Normabschätzungen und Kondition . . . . . . . . . . . . . . . . . . . . . . . 824.13 Faltungs-Iterationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.14 Reelle diskrete Fouriertransformation – Hartleytransformation . . . . . 844.15 Separierbarkeit der mehrdimensionalen Fouriertransformation . . . . . 864.16 Implementierung der inversen Fouriertransformation . . . . . . . . . . . 864.17 Verschiebungstheorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.18 Fouriertransformierte spezieller Funktionen . . . . . . . . . . . . . . . . . . 884.19 Spektrum der Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.20 Periodische Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944.21 Fouriertransformation für komplexe Funktionen . . . . . . . . . . . . . . . 96

4.21.1 Blockmatching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964.21.2 Trigonometrische Interpolation . . . . . . . . . . . . . . . . . . . . . 974.21.3 Trigonometrische Approximation . . . . . . . . . . . . . . . . . . . 984.21.4 Trigonometrisches Ellipsenfitting . . . . . . . . . . . . . . . . . . . 994.21.5 Normalisierung von Punktmengen . . . . . . . . . . . . . . . . . . 1014.21.6 Fourierdeskriptoren und Translationen . . . . . . . . . . . . . . . 104

Page 10: Bildverarbeitung und Objekterkennung ||

Inhaltsverzeichnis XI

4.21.7 Fourierdeskriptoren und isotrope Skalierungen . . . . . . . . . . 1044.21.8 Fourierdeskriptoren für Rotation und Startpunktwahl . . . . . 1054.21.9 Fourierdeskriptoren in der Praxis . . . . . . . . . . . . . . . . . . . 107

4.22 Cepstrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.23 Modifizierte diskrete Fouriertransformationen (MDFT) . . . . . . . . . . 1104.24 Diskrete Kosinus Transformation (DCT) . . . . . . . . . . . . . . . . . . . . 1124.25 Unschärferelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1154.26 Affine Transformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1164.27 Lokales Energiemodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

4.27.1 Lokale Energie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.27.2 Phasenkongruenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.27.3 Funktionen mit hoher Phasenkongruenz . . . . . . . . . . . . . . 121

5 Abtasttheoreme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235.1 Abtasttheorem im endlichen Intervall . . . . . . . . . . . . . . . . . . . . . . 1235.2 Abtasttheorem für das unendliche Bildmodell . . . . . . . . . . . . . . . . . 1295.3 Abtasttheorem für 2D-Signale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.4 Anwendungen des Abtasttheorems . . . . . . . . . . . . . . . . . . . . . . . . 134

5.4.1 Verkleinern von Bildern (Shrinking) . . . . . . . . . . . . . . . . . 1345.4.2 Vergrößern von Bildern (Zooming, Superresolution) . . . . . . 1345.4.3 Superresolution und Bildrestauration . . . . . . . . . . . . . . . . . 1395.4.4 Bemerkungen zum Abtasttheorem . . . . . . . . . . . . . . . . . . . 1425.4.5 Pyramiden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

6 Orts-Frequenz-Darstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1476.1 Der Leck-Effekt (Leakage effect) . . . . . . . . . . . . . . . . . . . . . . . . . . 1476.2 Das komplexe Spektrogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1486.3 Wigner-Ville-Orts-Frequenz-Darstellung . . . . . . . . . . . . . . . . . . . . 1516.4 Gabor-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1526.5 Quadratur-Filter (Energie-Filter) . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7 Filterentwurf im Frequenzraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557.1 Tiefpassfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557.2 Unscharfe Maskierung (Unsharp Masking) . . . . . . . . . . . . . . . . . . . 1567.3 Pruning-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1587.4 Homorphe Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1587.5 DoB-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1587.6 Scharfe Bilder (Fokussierung) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

8 Filter im Ortsraum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1658.1 Lineare und verschiebungsinvariante Filter . . . . . . . . . . . . . . . . . . . 165

8.1.1 Berechnung der Filterkoeffizienten . . . . . . . . . . . . . . . . . . 1658.1.2 Implementierung von LSI-Filtern . . . . . . . . . . . . . . . . . . . 169

Page 11: Bildverarbeitung und Objekterkennung ||

XII Inhaltsverzeichnis

8.2 Nichtlineare Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1708.2.1 Funktionen von LSI-Filtern . . . . . . . . . . . . . . . . . . . . . . . 1718.2.2 Richtungsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1748.2.3 Relaxationsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1768.2.4 Morphologische Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . 1768.2.5 Rangordnungsfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

9 Stochastische Bildsignale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1839.1 Grundbegriffe der Informationstheorie . . . . . . . . . . . . . . . . . . . . . 1839.2 Statistiken n-ter Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1899.3 Rauschmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

9.3.1 Rauschminderung mit mehreren Aufnahmen . . . . . . . . . . . 1929.3.2 Rauschen und Bilddatenkompression . . . . . . . . . . . . . . . . . 193

9.4 Energiefunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1939.5 Bildrestauration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

9.5.1 Invers-Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1969.5.2 Restauration unter Zwang . . . . . . . . . . . . . . . . . . . . . . . . . 1969.5.3 Wiener-Hellstrom-Optimal-Filter . . . . . . . . . . . . . . . . . . . 1999.5.4 Richardson-Lucy-Algorithmus . . . . . . . . . . . . . . . . . . . . . 2029.5.5 Bewegungsunschärfe (motion blur) . . . . . . . . . . . . . . . . . . 2039.5.6 Wellenfront Kodierung (wavefront coding) . . . . . . . . . . . . . 2099.5.7 Kodierte Apertur (coded aperture imaging) . . . . . . . . . . . . . 209

10 Bildsegmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21110.1 Thresholding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21210.2 Konturfolgeverfahren bei binärer Quantisierung . . . . . . . . . . . . . . . 21310.3 Konturfolgeverfahren bei lokaler ternärer Quantisierung . . . . . . . . . 21510.4 Konturfolgeverfahren bei beliebigen Punktmengen . . . . . . . . . . . . . 21810.5 Seeded region growing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22010.6 Anwendung in der Biofilmanalyse . . . . . . . . . . . . . . . . . . . . . . . . . 22110.7 Liniendetektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

10.7.1 Dynamische Programmierung . . . . . . . . . . . . . . . . . . . . . 22210.7.2 Dijkstras Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . 22610.7.3 Graphbasierte Methoden . . . . . . . . . . . . . . . . . . . . . . . . . 229

10.8 Akkumulations- oder Votingmethoden . . . . . . . . . . . . . . . . . . . . . 23110.8.1 Primale Voting-Methode zur Detektion von Geraden . . . . . . 23110.8.2 Duale Voting-Methode: Hough-Transformation . . . . . . . . . 23310.8.3 Zeit- und Speicher-Effizienz . . . . . . . . . . . . . . . . . . . . . . . 23410.8.4 Hough-Transformation und Konvexgeometrie . . . . . . . . . . . 23510.8.5 Verallgemeinerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

Page 12: Bildverarbeitung und Objekterkennung ||

Inhaltsverzeichnis XIII

11 Farbbildverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24111.1 Spektrale Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24211.2 Visuelle Farbwahrnehmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24311.3 Farbtafeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24411.4 Farbmodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

11.4.1 Technikorientierte Farbmodelle . . . . . . . . . . . . . . . . . . . . . 24611.4.2 Wahrnehmungsorientierte Farbmodelle . . . . . . . . . . . . . . . 249

11.5 Operationen auf Farbbildern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

12 Texturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25312.1 Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25312.2 Elementare statistische Merkmale . . . . . . . . . . . . . . . . . . . . . . . . . 25512.3 Autoregressive Prozesse (AR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

Teil II 3D-Bildverarbeitung

13 3D-Geometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26113.1 Geometrische Transformationen und homogene Koordinaten . . . . . . 261

13.1.1 Geometrische Transformationen in der Ebene . . . . . . . . . . . 26113.1.2 Homogene Koordinaten . . . . . . . . . . . . . . . . . . . . . . . . . . 263

13.2 Beschreibung von 3D-Rotationen . . . . . . . . . . . . . . . . . . . . . . . . . 26913.2.1 Beschreibung durch Rotationsmatrizen . . . . . . . . . . . . . . . 26913.2.2 Bestimmung der Drehachse und des Drehwinkels . . . . . . . . 27213.2.3 Drehmatrix aus Drehachse und Drehwinkel . . . . . . . . . . . . 27313.2.4 Beschreibung von 3D-Rotationen durch Quaternionen . . . . . 27313.2.5 Exponentielle Form einer Quaternion . . . . . . . . . . . . . . . . 27913.2.6 Quaternionen über komplexen Zahlen . . . . . . . . . . . . . . . . 28013.2.7 Dot-Produkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28113.2.8 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28113.2.9 Kanonisch exponentielle Darstellung einer Drehmatrix . . . . 28313.2.10 Vor- und Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28613.2.11 Eine Anwendung zur Bestimmung einer Rotation . . . . . . . . 28613.2.12 Duale Zahlen, Duplex-Zahlen . . . . . . . . . . . . . . . . . . . . . . 28813.2.13 Duale Quaternionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28913.2.14 Euklidische Transformationen und duale Quaternionen . . . . 290

14 Geometrie der Abbildungsprozesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29314.1 Kameramodelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

14.1.1 Orthografische Projektion . . . . . . . . . . . . . . . . . . . . . . . . 29414.1.2 Skalierte orthografische Projektion . . . . . . . . . . . . . . . . . . 29414.1.3 Anisotrop skalierte orthografische Projektion . . . . . . . . . . . 29514.1.4 Affine Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296

Page 13: Bildverarbeitung und Objekterkennung ||

XIV Inhaltsverzeichnis

14.1.5 Spezielle affine Kameras . . . . . . . . . . . . . . . . . . . . . . . . . . 29614.1.6 Pinhole camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29614.1.7 Pinhole camera – Erweiterung 1 . . . . . . . . . . . . . . . . . . . . 30214.1.8 Pinhole camera – allgemeiner Fall . . . . . . . . . . . . . . . . . . . 30214.1.9 Normalisierte Koordinaten . . . . . . . . . . . . . . . . . . . . . . . . 30314.1.10 Homographien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30414.1.11 Kamerainvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30414.1.12 Homogene Koordinaten via Kartesische Koordinaten . . . . . . 308

14.2 Bewegung der Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31014.3 Invarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312

14.3.1 Punktinvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31214.3.2 Flächeninvarianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31714.3.3 Invarianten von Punkten, Geraden, Kurven . . . . . . . . . . . . 319

14.4 Epipolargeometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32214.4.1 Zusammenhang über die Projektionsmatrizen . . . . . . . . . . . 32414.4.2 Zusammenhang über die Epipolartransformation . . . . . . . . 32614.4.3 Zusammenhang über die EssentialMatrix . . . . . . . . . . . . . . 32814.4.4 Spezialfall: 3D-Punkte liegen in einer Ebene . . . . . . . . . . . . 33414.4.5 Berechnung der Fundamentalmatrix . . . . . . . . . . . . . . . . . 335

15 Kamerakalibrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33915.1 Direkte Kalibrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33915.2 Selbstkalibrierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

15.2.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34315.2.2 Planare Kalibrierung nach Zhang . . . . . . . . . . . . . . . . . . . . 34715.2.3 Tomasi und Kanade: Schwache Perspektive . . . . . . . . . . . . . 35215.2.4 Tomasi und Kanade: Perspektive . . . . . . . . . . . . . . . . . . . . 355

15.3 Kalibrierung mit der E-Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 35615.4 Kameraparameter aus der Projektionsmatrix . . . . . . . . . . . . . . . . . . 35615.5 Verzeichnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

16 3D-Rekonstruktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36316.1 Rekonstruktion aus Projektionen . . . . . . . . . . . . . . . . . . . . . . . . . . 36316.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten . . . . . . 367

16.2.1 Weak perspective camera . . . . . . . . . . . . . . . . . . . . . . . . . . 36716.2.2 Affine Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36916.2.3 Pinhole camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370

16.3 Triangulation von Raumpunkten . . . . . . . . . . . . . . . . . . . . . . . . . . 37616.4 Bestimmung der Punktkorrespondenzen . . . . . . . . . . . . . . . . . . . . 37816.5 Eine einfache, praktische 3D-Vermessungsaufgabe . . . . . . . . . . . . . . 38016.6 Aktives Sehen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

16.6.1 Projektion von Lichtstrahlen . . . . . . . . . . . . . . . . . . . . . . . 383

Page 14: Bildverarbeitung und Objekterkennung ||

Inhaltsverzeichnis XV

16.6.2 Projektion mit Lichtebenen . . . . . . . . . . . . . . . . . . . . . . . . 38316.6.3 Codierter Lichtansatz (Coded Light Approach) . . . . . . . . . . 38416.6.4 Moire-Technik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38716.6.5 Phasenshift-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 39016.6.6 Profilometrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39316.6.7 Statistische Muster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39416.6.8 Shape from focus/defocus . . . . . . . . . . . . . . . . . . . . . . . . . 395

16.7 PhotometrischeMethoden der Rekonstruktion . . . . . . . . . . . . . . . . 39816.7.1 Beleuchtung und Reflexion . . . . . . . . . . . . . . . . . . . . . . . . 39816.7.2 Shape from Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400

16.8 Monokulare Rekonstruktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40316.8.1 Siebanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40316.8.2 Planare Vierecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40616.8.3 Rechtecke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40816.8.4 Kugeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41016.8.5 Kreisscheiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

17 Tensoren in der Bildverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41517.1 Grundbegriffe der Tensoralgebra . . . . . . . . . . . . . . . . . . . . . . . . . . 415

17.1.1 Vektorraum V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41517.1.2 Einsteinsche Summenschreibweise . . . . . . . . . . . . . . . . . . . 41617.1.3 Dualer Vektorraum V* . . . . . . . . . . . . . . . . . . . . . . . . . . . 41617.1.4 Multilineare Vektorfunktionen . . . . . . . . . . . . . . . . . . . . . 41717.1.5 Multilineare Vektorabbildungen . . . . . . . . . . . . . . . . . . . . 41817.1.6 Wechsel des Koordinatensystems . . . . . . . . . . . . . . . . . . . . 41917.1.7 Tensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

17.2 Allgemeine Tensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42317.2.1 Tensoralgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42317.2.2 m-Vektoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43217.2.3 Rang von Tensoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43317.2.4 Zerlegung von Tensoren . . . . . . . . . . . . . . . . . . . . . . . . . . 435

17.3 Der Euklidische Raum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43617.4 Tensorfelder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43817.5 Anwendungen in der Bildverarbeitung . . . . . . . . . . . . . . . . . . . . . . 440

17.5.1 Der trifokale Tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44017.5.2 Der Strukturtensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

Teil III Objekterkennung

18 Maschinelles Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44918.1 Grundprinzipien des maschinellen Lernens . . . . . . . . . . . . . . . . . . 449

18.1.1 Funktionale Modellierung . . . . . . . . . . . . . . . . . . . . . . . . 451

Page 15: Bildverarbeitung und Objekterkennung ||

XVI Inhaltsverzeichnis

18.1.2 StochastischeModellierung . . . . . . . . . . . . . . . . . . . . . . . 45118.1.3 Diskriminative und generative Klassifikatoren . . . . . . . . . . . 452

18.2 Herausforderungen des Maschinellen Lernens . . . . . . . . . . . . . . . . . 45418.2.1 Modellkomplexität, Überanpassung und Generalisierung . . . 45418.2.2 Lernen mit wenigen Beispielen . . . . . . . . . . . . . . . . . . . . . 455

18.3 Statistische Schätzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45618.3.1 Maximum-Likelihood und Maximum-A-Posteriori-Schätzung 45618.3.2 Bayes-Ansätze und Marginalisierung . . . . . . . . . . . . . . . . . 45818.3.3 MMSE-Schätzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45918.3.4 Kombination von Modellen mit Bagging . . . . . . . . . . . . . . . 460

18.4 Klassifikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46118.4.1 Nächster-Nachbar-Klassifikator . . . . . . . . . . . . . . . . . . . . . 46218.4.2 Normalverteilungsklassifikator . . . . . . . . . . . . . . . . . . . . . 46418.4.3 Entscheidungsbäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46618.4.4 Randomisierte Entscheidungsbäume . . . . . . . . . . . . . . . . . 46818.4.5 Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47018.4.6 Support-Vektor-Klassifikator . . . . . . . . . . . . . . . . . . . . . . . 473

18.5 Kernelbasierte Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47818.5.1 Kernelfunktionen und nichtlineare Klassifikation . . . . . . . . 47818.5.2 Mercer-Bedingung und Konstruktion von Kernelfunktionen . 48118.5.3 Kerneldichteschätzung und Parzen-Klassifikator . . . . . . . . . 48418.5.4 Support-Vektor-Klassifikator mit Kernelfunktionen . . . . . . . 48618.5.5 Modellierung mit Gauß-Prozessen . . . . . . . . . . . . . . . . . . . 49018.5.6 Gauß-Prozess-Regression . . . . . . . . . . . . . . . . . . . . . . . . . 49518.5.7 Klassifikation mit Gauß-Prozessen . . . . . . . . . . . . . . . . . . . 49818.5.8 Laplace-Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . 49918.5.9 Zusammenhang zum SVM Ansatz . . . . . . . . . . . . . . . . . . . 50018.5.10 Mehrklassen-Klassifikation . . . . . . . . . . . . . . . . . . . . . . . . 50218.5.11 Hyperparameter-Schätzung . . . . . . . . . . . . . . . . . . . . . . . 503

18.6 Bewertung von Klassifikatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . 50418.6.1 Wahl der Testbeispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . 50418.6.2 Erkennungsraten bei mehreren Klassen . . . . . . . . . . . . . . . 50518.6.3 Bewertung von binären Klassifikatoren . . . . . . . . . . . . . . . . 506

18.7 Unüberwachte Verfahren und Gruppierung . . . . . . . . . . . . . . . . . . 50818.7.1 Gruppierung mit k-Means . . . . . . . . . . . . . . . . . . . . . . . . 50918.7.2 Schätzung von Mischverteilungen . . . . . . . . . . . . . . . . . . . 510

19 Momente, Matching und Merkmale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51519.1 Momente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51519.2 Transformation der Momente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52019.3 Normalisierung der Momente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52219.4 Kovariante Merkmale, Verfahren und Umgebungen . . . . . . . . . . . . . 524

Page 16: Bildverarbeitung und Objekterkennung ||

Inhaltsverzeichnis XVII

19.5 Invarianten und Momente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52719.5.1 Erweiterte Hu-Invarianten (Rotationen) . . . . . . . . . . . . . . . 52719.5.2 Invarianten für Euklidische Transformationen . . . . . . . . . . . 52819.5.3 Invarianten für Ähnlichkeitstransformationen . . . . . . . . . . . 52919.5.4 Invarianten für affine Transformationen . . . . . . . . . . . . . . . 529

19.6 Gestaltsanalyse mit momentenbasiertem Fitting . . . . . . . . . . . . . . . 53019.7 Effiziente Berechnung von Konturmerkmalen . . . . . . . . . . . . . . . . . 535

19.7.1 Elementare Konturmerkmale . . . . . . . . . . . . . . . . . . . . . . 53519.7.2 Berechnung der Momente . . . . . . . . . . . . . . . . . . . . . . . . 539

19.8 Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54119.8.1 Matchingmaße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54219.8.2 Histogrammbasierte Matchingmaße . . . . . . . . . . . . . . . . . 54419.8.3 Signaturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54619.8.4 Matching und Registrierung . . . . . . . . . . . . . . . . . . . . . . . 547

19.9 Lokale Merkmale und Häufigkeitshistogramme . . . . . . . . . . . . . . . . 57119.9.1 Detektor nach Kadir und Brady . . . . . . . . . . . . . . . . . . . . . 57219.9.2 SIFT-Merkmale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57219.9.3 HOG-Merkmale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57519.9.4 Local Binary Patterns (LBP) . . . . . . . . . . . . . . . . . . . . . . . 57619.9.5 Statistiken von lokalen Merkmalen . . . . . . . . . . . . . . . . . . 57719.9.6 Schnelle Berechnungen mit Integralbildern . . . . . . . . . . . . . 579

19.10 Transformation von Merkmalen . . . . . . . . . . . . . . . . . . . . . . . . . . 58019.10.1 Principal Component Analysis (PCA) . . . . . . . . . . . . . . . . . 58019.10.2 Faktorenanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585

20 Visuelle Erkennungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58920.1 Herausforderungen der visuellen Objekterkennung . . . . . . . . . . . . . 58920.2 Bildklassifikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

20.2.1 Kategorisierung mit globalen Merkmalen . . . . . . . . . . . . . . 59120.2.2 Kernelbasierte Kombination von mehreren Merkmalen . . . . 59520.2.3 Kombinierte Merkmalsberechnung und Klassifikation . . . . . 59620.2.4 Erkennung auf Instanzebene . . . . . . . . . . . . . . . . . . . . . . . 597

20.3 Objektlokalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59820.3.1 Sliding-Window Klassifikation . . . . . . . . . . . . . . . . . . . . . 59920.3.2 Viola-und-Jones-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . 60020.3.3 Fusion von Objekthypothesen . . . . . . . . . . . . . . . . . . . . . . 60420.3.4 HOG Detektor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60520.3.5 Teilebasierte Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 606

20.4 Semantische Segmentierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60720.4.1 Klassifikation lokaler Deskriptoren . . . . . . . . . . . . . . . . . . 60720.4.2 Klassifikation mit effizienten Pixelmerkmalen . . . . . . . . . . . 60920.4.3 Iterative Verwendung von Kontextmerkmalen . . . . . . . . . . . 611

Page 17: Bildverarbeitung und Objekterkennung ||

XVIII Inhaltsverzeichnis

Teil IV Mathematische Hilfsmittel

21 Ausgleichsrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61721.1 Quadratische Formen und Eigenwertprobleme . . . . . . . . . . . . . . . . 61721.2 Ausgleichsrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620

21.2.1 Lineare Ausgleichsrechnung . . . . . . . . . . . . . . . . . . . . . . . 62021.2.2 Nichtlineare Ausgleichsrechnung . . . . . . . . . . . . . . . . . . . . 62521.2.3 Kovariantes Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63021.2.4 Ausreißer-Probleme (Outlier) . . . . . . . . . . . . . . . . . . . . . . 63321.2.5 Andere Schätzer (LAD) . . . . . . . . . . . . . . . . . . . . . . . . . . 636

22 Lineare Algebra und Stochastik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63922.1 Pseudoinverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63922.2 Regularisierung nach Tichonov und Arsenin . . . . . . . . . . . . . . . . . . 64422.3 Singulärwertzerlegung (SVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645

22.3.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64522.3.2 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647

22.4 Blockmatrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64922.5 Normalverteilungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651

Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653

Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

Page 18: Bildverarbeitung und Objekterkennung ||

Teil I2D-Bildverarbeitung

Page 19: Bildverarbeitung und Objekterkennung ||

1Elementare Grundlagen

In den folgenden Abschnitten werden elementare Grundlagen und Probleme der 2D-Bildverarbeitung angesprochen.Von den Autoren erfolgte dabei die Auswahl der Problemesubjektiv und erhebt nicht den Anspruch irgendeiner Vollständigkeit. Ziel dieser Ab-schnitte ist es zu erkennen, wo die wesentlichen Unterschiede zwischen „analoger“ und„digitaler“ Bildverarbeitung liegen.

1.1 Abtastung

Bilder werden durch die vielfältigsten Aufnahmetechniken und Sensoren gewonnen, eineÜbersicht dazu findet man in J. Beyerer et al. [2]. Um ein mit Hilfe der Sensoren gewon-nenes analoges Bild oder ein analoges Signal im Rechner abzuspeichern, müssen wir dasanaloge Signal in die diskrete Form überführen. Dazu benötigen wir eine Rasterung desDefinitionsbereiches und eineQuantisierung des Wertebereiches, beides zusammen nen-nen wirDigitalisierung des analogen Signals. Wenn wir keine zusätzlichen Bemerkungenmachen, dann erfolgt die Rasterung immer äquidistant, zweidimensional bedeutet dies dieAbtastung im Quadratgitter. Nach der Abtastung nummerieren wir abstrakt die Abtast-punkte mit ganzen Zahlen durch, so dass z. B. fn nicht unbedingt der Funktionswert ander Stelle n der analogen Funktion f (x) bedeuten muss, es ist aber der n-te abgetastete,diskrete Funktionswert. Die Quantisierung der Funktionswerte werden wir hier nicht un-tersuchen, sondern nur die reine Abtastung. Wir gehen also davon aus, dass fn beliebigereelle oder komplexe Zahlen sein können und exakt die analogen Funktionswerte an denAbtastpunkten darstellen.

Später werden wir noch das sogenannteAbtasttheorembeweisen und zwar für verschie-dene Bildmodelle, siehe Kap. 5. Das Abtasttheorem sagt etwas über die Rasterung aus,jedoch nichts über die Quantisierung. Was besagt eigentlich das Abtasttheorem? Wennman eine analoge Funktion an diskreten Stützstellen abtastet und anschließend nur dieAbtastwerte zur Verfügung hat, dann kann man allein aus den Abtastwerten die analo-

3H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_1, © Springer Fachmedien Wiesbaden 2014

Page 20: Bildverarbeitung und Objekterkennung ||

4 1 Elementare Grundlagen

ge Funktion nicht mehr rekonstruieren. Wir wissen nämlich nicht, wie sich die Funktionzwischen den Stützstellen verhält. Haben wir jedoch ein geeignetes A-priori-Wissen überdie analoge Funktion, dann können wir die analoge Funktion rekonstruieren. Wie könntedieses A-priori-Wissen aussehen? Da gäbe es sehr viele Möglichkeiten. Wir könnten z. B.wissen, dass die Funktion Ableitungen bis zur n-ten Ordnung besitzt und alle AbleitungenhöhererOrdnungNull sind. Es wird sich aber in der Praxis nur das A-priori-Wissendurch-setzen, dass verständlich und praktisch handhabbar ist. Das ist oft dasWissen, aus welchenFrequenzen sich das Signal zusammensetzt und aus welchen nicht. Zunächst formulierenwir das bekannte Abtasttheorem (nach Shannon, Whittaker und Kotelnikov) verbal, umein „Gefühl“ für diese Aussage zu bekommen.

Satz 1.1 (Abtasttheorem) Eine analoge Funktion sei bandbegrenzt, d. h. die größte im Signalauftretende Frequenz νg sei endlich. Dies ist das A-priori-Wissen, was wir haben müssen.Wenn wir dann mit der äquidistanten Abtastschrittweite Δt

Δt ≤

νg(1.1)

das Signal abtasten, dann können wir anschließend allein mit den diskreten Abtastwertenund dem A-priori-Wissen über die Bandbegrenzung das analoge Signal wieder vollständigrekonstruieren.

Das heißt nun für die Abtastfrequenz νab ≥ νg . Ist sie größer als νg , dann sprichtman vonÜberabtastung. Das führt zu keiner Informationserhöhung,wird aber aus Sicher-heitsgründen oft gemacht. Die halbe Abtastfrequenz νNyquist =

νab wird auch Nyquist-Frequenz genannt, damit gilt νNyquist ≥ νg .

Eine andere Formulierung bezieht sich auf die Wellenlänge oder Periode der Schwin-gungmit der höchsten Frequenz: Bezüglich der Periode der Schwingung mit der Grenzfre-quenz muss man mindestens zwei Abtastpunkte wählen. Zum Verständnis geben wir jetztzwei einfache Beispiele an:

Beispiel 1 Für ein gewöhnliches Fernsprechsignal zur Übertragung normal gesprochenerSprache reicht eineÜbertragung des Frequenzbereiches von 300 bis 3400Hertz aus. Es liegtalso eine Grenzfrequenz von 3400 Hertz vor. Wie viele Signale/Sekunde müssen wir nunübertragen? Wir müssen das Signal im Abstand von

Δt ≤

⋅ = ⋅ − s ( μs) (1.2)

abtasten. Man wählt aus Sicherheitsgründen μs, damit erhalten wir als eigentliche Ab-tastfrequenz:

νab = ⋅ νNyquist =

μs= Hz. (1.3)

Page 21: Bildverarbeitung und Objekterkennung ||

1.1 Abtastung 5

Beispiel 2 Betrachten wir einmal ein BAS-Signal (Bild-, Austast- und Synchron-Signal)nach der „alten“ CCIR-Norm, charakterisiert durch

• Interlace Mode 2 : 1,• Teilbildfrequenz 50Hz,• Vollbildfrequenz 25Hz,• Zeit zum Aufbau eines Vollbildes 40ms,• Anzahl Zeilen 625,• Sichtbare Zeilen 576,• Verhältnis horizontale zu vertikale Auflösung 4 : 3.

Es handelt sich somit nicht um eine „echte“ 2D-Funktion. Bezüglich der y-Richtung liegteine Rasterung in den Zeilen schon vor – wir müssen also im Prinzip nur noch horizon-tal diskretisieren. Wir gehen einmal ideal von den 625 Zeilen aus. Wenn wir abtasten mitdem Ziel quadratische Pixel zu erhalten, so müssen wir ⋅

= Bildpunkte pro Zei-le abtasten. Damit müssen wir pro Sekunde ⋅ ⋅ ≈ ⋅ Signale abtasten oderübertragen. Die Abtastfrequenz muss also 13MHz betragen. Sie beträgt aber beim Fern-sehen nach der CCIR-Norm nur 10MHz, daher ist die vertikale Auflösung besser als diehorizontale Auflösung. Durch den Interlace-Modus haben wir z. B. unschöne Effekte beiVideosequenzen. Wenn wir ein Standbild als Vollbild auswerten wollen und in der Sze-ne hat sich einiges bewegt, dann kann es beim Zusammensetzen „Versätze“ geben. Diesewerden oft durch Interpolation ausgeglichen, dies nennt manDeinterlacing. Aufnahmen,die direkt auf Vollbildern beruhen, nennt man Progressive Scan. Die Regel ist dann diedirekte Abtastung über die geometrisch angeordneten Sensoren, in der Regel CCD- oderCMOS-Sensoren.Wie ordnetman nun diese Sensoren auf einemChip an? Standard ist dasRechteck- bzw. Quadratgitter. Was gibt es eigentlich in der Ebene noch für MöglichkeitenSensoren so anzuordnen, dass das Muster total „regelmäßig“ ist? Dazu muss man erst denBegriff „regelmäßig“ definieren. Regelmäßige oder homogeneGitter sind die, bei denen je-der Gitterpunkt die gleiche Anzahl von unmittelbaren Nachbarn hat und die entstehende,elementare „Gitterzelle“ immer die gleiche Anzahl von Kanten hat. Solche regelmäßigenStrukturen in der Ebene gibt es nur drei, das Rechteckgitter, das Dreiecksgitter und dasHexagonalgitter. Durchgesetzt hat sich in der Bildverarbeitung aber nur das Rechteckgit-ter, siehe auch Abschn. 1.2.

Wir kehren noch einmal zurück zum Abtasttheorem. Wenn wir weniger Abtastpunktehaben als lautTheorem nötig ist, dann sprichtman vonUnterabtastung. Wir können danndas Signal in der vollen Auflösung nicht mehr rekonstruieren. Bei periodischen Strukturentritt dann oft ein Nebeneffekt auf, man glaubt Strukturen zu sehen, die es gar nicht gibt.Diesen Effekt nennt man Aliasing. In Abb. 5.4 sind „echte“ Bilder mit Aliasing-Effektenzu sehen. In Abb. 1.1 sind zwei simulierte Abtastungen des Siemens-Sternes zu sehen, esentstehen Aliasing-Effekte, die an die Computer-Grafik erinnern. Schon das simple Pro-blem der Bildverkleinerung berührt erneut das Abtasttheorem. Verkleinern wir ein Bild,indem wir einfach jeden zweiten Bildpunkt weglassen, dann tasten wir mit einer höhe-

Page 22: Bildverarbeitung und Objekterkennung ||

6 1 Elementare Grundlagen

Abb. 1.1 Abtastung des Siemens-Sterns: a Aliasing mit größerer Abtastschrittweite, b Aliasing mitkleinerer Abtastschrittweite

ren Schrittweite ab. Dies kann funktionieren, muss aber nicht, je nach der Grenzfrequenzdes Bildes. Eine Unterabtastung bewirkt Störungen des Bildes, indem zum Beispiel kleineStrukturen verschwinden. Der markanteste Hinweis auf eine Unterabtastung ist der „Gar-tenzauneffekt“, bei dem in periodischen Strukturen langwellige „Schwebungen“ sichtbarwerden. Durch die Unterabtastung gibt es Bereiche, in denen nur die Latten oder nur dieZwischenräume im Bild übrigbleiben.

1.2 Diskrete Natur von digitalen Bildern

Digitale Bilder entstehen aus analogen durch den Prozess der Digitalisierung, d. h. Raste-rung der x , y-Koordinaten und Quantisierung der Funktionswerte, siehe Abschn. 1.1. Inder Bildverabeitung bedient man sich deshalb zweier grundlegender Strategien:

• Man modelliert das analoge Bild mit den Mitteln der nichtdiskreten Mathematik. Da-bei benutzt man die Geometrie und die Analysis. Erst zum Schluß diskretisiert manentsprechend der gegebenen Auflösung des Bildes. Man kennt dann in der Regel nichtdie Diskretisierungsfehler.

• Man benutzt direkt mathematische Modelle der diskreten Mathematik. Falls diese Mo-delle praxistauglich sind, entfallen die anschließenden Diskretisierungsfehler.

In der Bildverarbeitung benutzt man je nach Aufgabenstellung das diskrete oder analogeModell, oft auch Mischformen aus beiden. Betrachten wir z. B. Rotationen. Diese lassen

Page 23: Bildverarbeitung und Objekterkennung ||

1.2 Diskrete Natur von digitalen Bildern 7

sich im diskreten Gitter nicht direkt beschreiben. Man benutzt folglich analoge Rotationenund diskretisiert anschließend. Möchte man z. B. im Bild mit einem Algorithmus die Kon-tur eines Objektes bestimmen, so muss man den diskreten Konturfolgealgorithmus direktbenutzen. Einen sinnvollen Algorithmus zur Bestimmung einer analogen Kontur gibt esnicht. Je nach Aufgabenstellung unterscheiden wir folglich Bildmodelle, siehe Abschn. 1.3.

1.2.1 Gittertypen

Wenn man die Pixel in ein Koordinatensystem einträgt, entsteht ein Gitter. Das bekann-teste ist das Quadratgitter, eine Untermenge von Z

= Z × Z. Noch allgemeiner stellen diePixel die Knoten und die Verbindungen zu den Nachbarn die Kanten in einem Nachbar-schaftsgraphen dar. Könnte man nun auch andere Gitter als das Quadratgitter verwenden,die vielleicht sogar Vorteile bieten?Welche Anforderungen stellt man nun an ein Gitter auspraktischen Gründen der Bildverarbeitung?

• Jedes Pixel sollte bezüglich einer Nachbarschaft stets die gleiche Anzahl Nachbarn ha-ben. Dies nennt man den Nachbarschaftsgrad ν.

• Jede „Elementarzelle“, genanntMasche, sollte stets vom gleichen Typ sein, d. h. die glei-che Maschenlänge λ besitzen.

Nachbarschaftsgraphen mit ν = konstant und λ = konstant nennt man homogen oderregulär. Man kann nun zeigen, dass es in der Ebene mit unendlich vielen Pixeln nur dreisolcher homogener Gitter gibt:

• Quadratgitter (ν = , λ = ), siehe Abb. 1.2a,• Hexagonalgitter (ν = , λ = ), siehe Abb. 1.2b,• Dreiecksgitter (ν = , λ = ), siehe Abb. 1.2c.

Dabei spielt es keine Rolle, ob beim Quadratgitter die Elementarzellen tatsächlich Qua-drate sind, es können auch beliebige Vierecke sein, Analoges gilt bei den anderen Gittern.Diese drei Gitter mit einer endlichen Anzahl von Pixeln sind nur regulär auf einem To-rus (Schwimmreifen), nicht in der Ebene. Dasselbe liegt vor, wenn man sich ein endlichesPixelbild periodisch fortgesetzt denkt. Gibt es nun gar keine endliche, reguläre Nachbar-schaftsgraphen in der Ebene? Die gibt es tatsächlich, aber auf Grund der geringen Anzahlvon Pixeln, haben sie in der Bildverarbeitung keinerlei Bedeutung. Ein simples Beispielsind die geschlossenen Ringstrukturen mit n Pixeln, dann ist ν = , λ = n. Es gibt abernoch andere. Dazu müssen wir erst einen Zusammenhang zwischen Polyedern im Raumund Nachbarschaftsgraphen in der Ebene herstellen. Man kann zeigen:

Ein endliches, nichtentartetes 3D-Polyeder kannman stets als endlichen, planaren Gra-phen darstellen und umgekehrt. Endlich bedeutet beim Polyeder eine endliche Anzahl vonEcken und beim Graphen eine endliche Anzahl von Knoten.

Page 24: Bildverarbeitung und Objekterkennung ||

8 1 Elementare Grundlagen

a b c

Abb. 1.2 a Quadratgitter, bHexagonalgitter, c Dreiecksgitter

Dann werden die Ecken des Polyeders die Knoten des Graphen, die Kanten des Po-lyeders werden die Kanten des Graphen und die Seitenflächen des Polyeders werden dieMaschen des Graphen. Folglich kann man (nichtentartete) endliche, planare Graphen mit(nichtentarteten) Polyedern identifizieren. Umgedreht repräsentieren damit solche Poly-eder planare Graphen. Nun gibt es die berühmten fünf Platonischen Körper (dies sind3D-Polyeder), die folglich fünf endliche, reguläre Nachbarschaftsgraphen bilden. Es be-zeichnen α die Anzahl der Ecken (Pixel, Knoten), α die Anzahl der Kanten, α die Anzahlder Seitenflächen (Maschen). Dann lauten die fünf Platonischen Körper:

• Hexaeder (Würfel) mit ν = , λ = , α = , α = , α = ,• Tetraeder mit ν = , λ = , α = , α = , α = ,• Oktaeder mit ν = , λ = , α = , α = , α = ,• Dodekaeder mit ν = , λ = , α = , α = , α = ,• Ikosaeder mit ν = , λ = , α = , α = , α = .

Auf Grund der geringenAnzahl von Pixeln sind sie für die Bildverarbeitung bedeutungslos.In regulären Gittern kannman eineDigitaleGeometrie imGegensatz zur Euklidischen

Geometrie aufbauen, siehe Klette und Rosenfeld [35]. Eine ähnliche Fragestellung bezüg-lich regulärer Gitter gibt es in derGeometrie und nennt sich Parkettierung der Ebene: Kannman mit einem vorgegebenen Polygon die Ebene vollständig parkettieren? Mit beliebigenDreiecken undVierecken geht dies natürlich. Aber schonmit einem regelmäßigen Fünfeckist dies nichtmehrmöglich.MitHexagonenmuss diesmöglich sein, da dasHexagonalgittereines der drei regulären Gitter ist.

Da sich in der praktischen Bildverarbeitung nur das Quadratgitter durchgesetzt hat,werden wir uns im Folgenden immer auf das metrische Gitter Z = Z × Z bzw. in 3Dauf Z beziehen. Dabei nehmen wir immer an, die Abstände zwischen den Pixelkoordina-ten in x, y und z-Richtung sind gleich. In der Praxis stimmt das auch fast immer, es gibtaber Ausnahmen. So z. B. bei 3D-Bildern in der

• Magnetresonanztomographie (MRT), Computertomographie (CT)• Konfokale Laser Scanning Mikroskopie (CLSM).

Hier ist oft der Abstand in z-Richtung anders (oft größer) als der in den beiden x- undy-Richtungen. Dies muss insbesondere bei Visualisierungen beachtet werden.

Page 25: Bildverarbeitung und Objekterkennung ||

1.2 Diskrete Natur von digitalen Bildern 9

Wichtig in einer gegebenen Menge von Pixeln im Sinne von Nachbarschaftsgraphenist der Begriff der Nachbarschaftsrelation, man spricht auch von Nachbarschaftssyste-men oder Nachbarschaftsstrukturen. In diesem Sinne hat im Quadratgitter jedes Pixelvier Nachbarn, im Dreiecksgitter sechs Nachbarn und im Hexagonalgitter drei Nachbarn.Führt man im Quadratgitter eine beliebiges Nachbarschaftssystem ein, dann meint maneigentlich nicht das Quadratgitter, sondern eine Menge von Pixeln, die im Koordinaten-system quadratisch angeordnet sind und deren Nachbarn durch das Nachbarschaftssystembestimmt sind. Diese bilden dann i. Allg. keine regulären Nachbarschaftsgraphen.

Es sei dieMenge aller Pixel eine Punktmenge S und R eine Relation auf S, d. h. R ⊆ S×S.Eine Nachbarschaftsrelation ist dann eine

• irreflexive und• symmetrische

Relation. Prägt man dem Nachbarschaftsgraphen noch eine Orientierung auf, dann redetman von orientierten Nachbarschaftsgraphen und kann den Begriff der Maschen einfüh-ren. Oft benötigt man den Begriff clique. Eine Teilmenge CS ⊆ S heißt clique, wenn jedesPaar verschiedener Elemente aus CS Nachbarn sind. C bezeichne die Menge aller cliquenCS . Damit sind auch die Teilmengen cliquen, die nur ein einziges Element von S enthalten.

Immetrischen Gitter Z sind die gebräuchlichsten Nachbarschaften die Vierernachbar-schaft (City-Block-Metrik)

R(x , y) = {(u,w) ∶ ∣u − x∣ + ∣w − y∣ = } (1.4)

und die Achternachbarschaft (Chessboard-Metrik)

R(x , y) = {(u,w) ∶ max(∣u − x∣, ∣w − y∣) = }. (1.5)

Manchmal benutzt man auch sogenannte Gitterzellenmodelle. Man stellt sich dabei in Z

ein Pixel als Quadrat, in Z ein Pixel als Würfel vor. Dann ist die Vierernachbarschaft in

Z durch die Kanten eines Quadrates erklärbar, die Achternachbarschaft durch die

Kanten und die Ecken des Quadrates. Mit dieser Interpretation können wir die Vierer-und Achternachbarschaft sofort auf Z übertragen. Die Vierernachbarschaft wird zur -erNachbarschaft, da ein Würfel Flächen besitzt. Die Achternachbarschaft wird zur -erNachbarschaft, da ein Würfel Flächen, Kanten und Ecken besitzt.

Redet man von einer Umgebung oder Nachbarschaft U eines Pixels (x , y), dann gehö-ren die Nachbarn und der Aufpunkt (x , y) zur Umgebung U . Die nächst wichtige Relationist nun die Verbundenheitsrelation, die sich auf eine Nachbarschaftsrelation bezieht. ZweiPixel p und q stehen in Relation (sind verbunden, es gibt einen Weg von p nach q), wennes eine benachbarte Folge von Pixeln gibt, so dass p der Startpunkt ist und q der Endpunkt.Wenn wir noch defineren, dass jedes Pixel mit sich selbst verbunden ist, dann ist die Ver-bundenheitsrelation eine Äquivalenzrelation. Die Verbundenheitsrelation teilt folglich alleschwarzen (oder weißen) Pixel in Klassen ein, die wir Objekte nennen wollen.

Page 26: Bildverarbeitung und Objekterkennung ||

10 1 Elementare Grundlagen

a b

Abb. 1.3 Interpretation eines Binärbildes: a Eine Linie oder viele Objekte? b Relation zwischen In-nen und Außen eines Objektes bezüglich der Vierer- oder Achternachbarschaft?

1.2.2 Kuriositäten im Quadratgitter

In Z gibt es bezüglich der Nachbarschaften und Verbundenheitsrelation einige „Kuriosi-

täten“ im Gegensatz zur Euklidischen Ebene. Dazu betrachten wir einige Beispiele, dabeisind schwarze Quadrate Objektpunkte und weiße sind Hintergrundpunkte. Wenn wir inAbb. 1.3a die Vierernachbarschaft benutzen, dann liegen sieben Objekte mit je einem Pi-xel vor. Benutzen wir dagegen die Achternachbarschaft, dann liegt nur ein Objekt vor,das als flächiges Objekt oder auch als Linie gedeutet werden kann. Echt kurios wird esin Abb. 1.3b. Wenn wir die Achternachbarschaft zugrunde legen, dann haben wir eine ge-schlossene Linie, also ein Objekt mit einem Innern. Andererseits hängt das Innere überdie Achternachbarschaft mit dem Äußeren zusammen, was der Euklidischen Geometrievöllig widerspricht. Mathematisch ist das keinWiderspruch, aber sehr unbefriedigend. Da-her wählt man oft zwei Nachbarschaften, für den Objektzusammenhang die Vierer oderAchternachbarschaft, und dann aber umgedreht für den Hintergrund die Achter oder Vie-rernachbarschaft.

Weiterhin kann es sein, dass „übliche“ Objekte der Euklidischen Ebene in Z über-

haupt nicht existieren. So gibt es kein einziges gleichseitiges Dreieck, dessen EckpunkteGitterpunkte aus Z sind. Weiterhin müssen grundlegende Definitionen in der Euklidi-schen Ebene in Z

neu durchdacht werden. So ist ein sehr wichtiger Begriff die Konvexitätvon Mengen, d. h. in Z

die Konvexität von Binärobjekten.

1.2.3 Digitale Konvexität

Ausführliche Darstellungen zur Digitalen Konvexität findet man in Klette [35]. Die Kon-vexität ist in R

folgendermaßen definiert:

Definition 1.2 (Konvexe Punktmengen) Eine Punktmenge M ⊂ R heißt konvex, wenn für

zwei beliebige Punkte x , x ∈ M auch alle Punkte der Verbindungsstrecke in M liegen.

Page 27: Bildverarbeitung und Objekterkennung ||

1.2 Diskrete Natur von digitalen Bildern 11

Zwischen zwei Gitterpunkten brauchen aber gar keine weiteren Gitterpunkte liegen.Daher müssen wir im Gitter Z eine andere, möglichst mit der Euklidischen Ebene ei-nigermaßen verträgliche Definition finden. Dazu definieren wir zunächst den Begriff derKollinearität von drei Gitterpunkten P = (x , y), P = (x , y) und P = (x , y). Diesedrei Gitterpunkte heißen kollinear, wenn die Fläche des von ihnen aufgespannten Dreiecksgleich Null ist, d. h. wenn

⋅ F△

=

���������������

x y x y x y

���������������

= (x − x)(y − y) − (x − x)(y − y) = (1.6)

gilt.

Definition 1.3 (Konvexe Linearkombination) Gegeben seien m beliebige Punkte xi , i =

, . . . ,m in der Euklidischen Ebene. Dann nennt man

x =m∑i=

λixi , λi ≥ ,m∑i=

λi = (1.7)

eine konvexe Linearkombination der m Punkte xi .

Für drei Punkte x , x , x werden damit alle Punkte desjenigen Dreiecks dargestellt,welches die drei Punkte aufspannen. Wenn die drei Eckpunkte des Dreiecks nun selbstGitterpunkte sind, dann können natürlich auch alle Gitterpunkte innerhalb des Dreiecksals konvexe Linearkombination der Eckpunkte dargestellt werden.

Definition 1.4 (Triangulare Gitterpunkte) Ein beliebiger Gitterpunkt P heißt bezüglichdreier nichtkollinearer Gitterpunkte triangular, wenn er als konvexe Linearkombination derdrei Gitterpunkte darstellbar ist, d. h. wenn er selbst in dem Dreieck liegt, das durch die dreiGitterpunkte aufgespannt wird.

Damit können wir nun die „digitale Konvexität“ einführen:

Definition 1.5 (Konvexe Menge von Gitterpunkten) Eine Menge M von Gitterpunktenheißt konvex, wenn für beliebige drei Punkte P , P, P ∈ M alle bezüglich dieser drei Punktetriangularen Punkte auch zur Menge M gehören.

In der Abb. 1.4 ist ein digital konvexes Objekt zu sehen, welches in der EuklidischenEbene nicht konvex ist (wenn man das Objekt durch das Konturpolygon beschreibt). Dawir nur nichtkollineare Punkte zugelassen haben, erhalten wir wieder kuriose Konvexitäts-begriffe bei speziellen Punktmengen: Besteht die Menge M in Z

nur aus Punkten, die auf

Page 28: Bildverarbeitung und Objekterkennung ||

12 1 Elementare Grundlagen

Abb. 1.4 Kontur eines digital-konvexen Objektes, welches inR

nicht konvex ist

einer Geraden liegen, dann ist diese Menge M immer konvex, egal ob diese Punkte zu-sammenhängend sind oder nicht. Wenn die Menge M aus zwei Punkten besteht, ist diesefolglich immer konvex. Dies ist kein mathematischer Widerspruch zur Konvexität in R

,aber eben „seltsam“. Man könnte nun die Restriktion an die Kollinearität fallen lassen unddie triangularen Punkte zu beliebigen, auch entarteten Dreiecken betrachten. Es bleibendann immmer noch kuriose Fälle übrig: Die Menge M bestehe aus zwei Gitterpunkten.Liegt auf der Verbindungsstrecke dieser beiden Gitterpunkte kein weiterer Gitterpunkt, istdie Menge M digital konvex. Der Begriff der digitalen Konvexität zeigt auch, dass es na-türlich viele gemeinsame Probleme mit der Computergrafik und der Berechenbaren Geo-metry (Computational Geometry) gibt. Da insbesondere eine digitale Kontur ein Polygondarstellt, kann man viele Erkenntnisse von Polygonen aus diesen beiden Gebieten nutzen.Im Zusammenhang mit der Konvexität spielt der Begriff der Konvexen Hülle (KH) PH ei-ner beliebigen Punktmenge P. Dabei ist PH die „kleinste“ konvexe Menge, die P enthält.Dies gilt sowohl in der Euklidischen Ebene als auch im Gitter. Zur Berechnung der Konve-xen Hülle gibt es sowohl in der Bildverarbeitung als auch in der Computational GeometryStandardalgorithmen. In der Bildverarbeitung ist die konvexe Hülle oft eine zu grobe Ab-schätzung der Punktmenge P, man möchte dies oft etwas „weicher“ haben. Daher führenwir jetzt den Begriff der Limitierten Konvexen Hülle (LKH) ein, die gewissermaßen dieSilhouette einer diskreten PunktmengeM darstellen soll, siehe dazu auch [74]. Die Silhou-ettenberechnung ist ein schönes Beispiel für die Gemeinsamkeiten aus der Bildverabeitung(Segmentierung einer PunktmengeM) und der BerechenbarenGeometrie (Triangulierungeiner Punktmenge M).

1.2.4 Silhouetten

Gegeben sei eine Punktmenge P, entweder in der Euklidischen Ebene oder im Gitter. ImGitter ist diese imRegfelfall endlich.Weiter sei eine Strukturkonstante limit gegeben. ZweiPunkte aus P seien benachbart, wenn bezüglich einerMetrik ihr Abstand kleiner gleich (≤)limit ist. Wir betrachten nun alle möglichen Dreiecke von drei beliebigen Punkten aus P,deren drei Seitenlängen kleiner gleich (≤) limit sind. InR müssen wir auch alle entarteten

Page 29: Bildverarbeitung und Objekterkennung ||

1.2 Diskrete Natur von digitalen Bildern 13

Dreiecke zulassen, wenn wir die Kompatibilität zur Konvexität beibehalten wollen. In Z

lassen wir dagegen nur dann die entarteten Dreiecke zu, wenn dies auch bei der Definitionder digitalen Konvexität getan wurde. Für jedes Dreieck betrachten wir

• In der Euklidischen Ebene: Alle Punkte PD des Dreiecks, d. h. alle durch eine konvexeLinearkombination der drei Eckpunkte des Dreiecks erzeugten Punkte.

• Im Gitter: Alle triangularen Punkte PT , die durch die drei Gitterpunkte des Dreieckserzeugt werden.

Nun können wir den Begriff der Limitierten Konvexen Hülle (LKH) einführen.

• In der Euklidischen Ebene: Die LKH P′H ist die Vereinigung aller Punktmengen PDmit P.

• Im Gitter: Die LKH P′H ist die Vereinigung aller triangularen Punkte PT mit P.

Die LKH hängt natürlich direkt vom Strukturparameter limit ab. Ist limit = , dann ist dieLKH(P) = P, also die Menge P selbst. Ist limit → ∞, dann gilt LKH(P) → KH(P), d. h.mit größer werdendem limit nähern wir uns der Konvexen Hülle KH(P). Die LKH(P)vergrößert die Menge P, folglich gilt:

P ⊆ LKH(P) ⊆ KH(P). (1.8)

Während die Bildung der Konvexen Hülle ein Projektionsoperator darstellt, d. h. es giltKH(KH(P)) = KH(P), ist dies bei der LKH nicht mehr der Fall. Die LKH(LKH(P))wird „größer“ als die LKH(P), ähnlich der morphologischen Operation Dilation, sieheAbschn. 8.2.4. Die LKH kann benutzt werden, um Silhouetten von Punktmengen inZ zuberechnen. Unter der Silhoutte verstehen wir alle Randkurven (Außen- und Innenkontu-ren) der LKH bezüglich der Vierernachbarschaft in Z

als Zusammenhangsrelation in derLKH.

Wenn wir die LKH in einem Binärbild darstellen, dann stellen wir alle Punkte aus derLKH schwarz dar und nichts weiter. Die Zusammenhangseigenschaft bez. limit haben wirdann vergessen und betrachten das Binärbild nur noch bezüglich der Vierernachbarschaft.Mit dem Konturfolgeverfahren bezüglich der Vierernachbarschaft als Objektzusammen-hang bestimmen wir alle Außen- und Innenkonturen und nennen alle diese Konturen dieSilhouette der Punktmenge M. Nun gibt es aber ähnlich wie bei der digitalen Konvexität„kuriose“ Fälle. Es kann durchaus vorkommen, dass wir zwei Außenkonturen und damitzwei Objekte im Binärbild bestimmen, obwohl beide Objekte bezüglich limit in der LKHlogisch zusammenhängend sind. Dann beschreibt die Silhouette die LKH eigentlich nichtkorrekt. Dies ist ein Kompromiss und ist für praktische Aufgaben nicht bedeutsam, da esdoch „seltene“ oder „kuriose“ Fälle sind.

In Abb. 1.5a ist das Bild einer Nervenzelle zu sehen. Entsprechend einem A-priori-Wissen über limit soll die Silhouette bestimmt werden. Dazu werden mit klassischen

Page 30: Bildverarbeitung und Objekterkennung ||

14 1 Elementare Grundlagen

Abb. 1.5 a Eine Schicht der Aufnahme einer Nervenzelle mit einem konfokalen Laserscanning-Mikroskop, b Detektierte, typische Punkte aus a

Vorverarbeitungsschritten der Bildverarbeitung typische Punkte der Zelle ermittelt, sieheAbb. 1.5b. Alle schwarzen Pixel in Abb. 1.5b bestimmen nun die Punktmenge P. Entspre-chend dem Parameter limit sind in Abb. 1.6a, b die LKH für zwei Werte von limit zu sehen.In Abb. 1.6c, d sind LKH für größere Werte von limit zu sehen. Aus allen vier Abb. 1.6a–dist zu sehen, wie sich die LKH mit wachsendem limit entsprechend (1.8) verhält. Außerder Silhouettenbestimmung von Punktmengen kann die LKH auch zur Konturglättungerfolgreich eingesetzt werden. Zu diesem Zwecke bestimmen alle Punkte der Kontur einesObjektes die Punktmenge P. Nun wird wieder mit einem limit die LKH von P bestimmt.Von dieser LKH(P) wird nun mit dem Konturfolgeverfahren (siehe Abschn. 10.2) wiederdie Kontur bestimmt. Diese neue Kontur ist nun entsprechend limit geglättet, d. h. konkaveStellen werden „abgeschwächt“ bzw. Lücken womöglich ganz geschlossen, siehe Abb. 1.7.

Die dunklen Linien sind die originalen Konturen und bilden jeweils die Punktmenge P.Die grauen Flächen bilden die LKH der Konturen. Von diesen grauen Flächen muss mannun die Konturen bestimmen und erhält die neuen, geglätteten Konturen.

Für praktische Anwendungen benötigen wir einen schnellen Algorithmus zur Berech-nung der LKH. Als Approximation der LKH benutzen wir eineModifikation der Delaunay-Triangulation der endlichen, diskreten Punktmenge M. Wenn n = card(M) ist, dann gibtes n logn-Algorithmen zur Delaunay-Triangulation, die wir aber noch bezüglich limitmo-difizieren müssen, siehe dazu auch Abschn. 10.4.

Bemerkung Die Idee, Dreiecke zur Konstruktion der LKH zu benutzen, liegt auf derHand, wenn man die innere und äußere Struktur einer Punktmnege beschreiben möchte.Eine völlig andere Frage ist es, wie man im diskreten Gitter Z diese Dreiecke darstellt,welche Diskretisierungsstrategie man wählt. So gibt es z. B. die Gaußsche Digitalisierung,

Page 31: Bildverarbeitung und Objekterkennung ||

1.2 Diskrete Natur von digitalen Bildern 15

Abb. 1.6 Von der Punktmen-ge aus 1.5b wurde die LKHmit a limit = 10, b limit = 30,c limit = 60, d limit = 150 be-rechnet

Abb. 1.7 Eine diskrete Kontur wird als diskrete Punktmenge aufgefasst und von dieser Punktmengewird die LKHmit a limit = 30, b limit = 50 berechnet

Page 32: Bildverarbeitung und Objekterkennung ||

16 1 Elementare Grundlagen

die Gitterlinienschnittpunkt-Digitalisierung usw., siehe dazu Klette [35]. Wir hatten alsDigitalisierung die triangularen Punkte gewählt, damit die Kompatibilität zur DigitalenKonvexität bestehen bleibt. Wählt man eine andere Diskretisierungsstrategie, so erhältman im diskreten Gitter Z auch eine andere LKH oder andere Silhouetten. Allerdings giltdann die Beziehung (1.8) bezüglich der digitalen konvexen Hülle nicht mehr. Dazu ein

Beispiel Es soll von einer Punktmenge nur die Außenkontur bestimmt werden, die inne-re Struktur interessiert überhaupt nicht. Die Silhouette soll also lediglich die Außenkontursein. Dazu wählen wir alle Paare von Punkten aus P. Wir verbinden die beiden Punktederjenigen Paare durch ein Geradensegment, deren Punktabstand ≤ limit sind. Wenn wirdies nun im Gitter Z tun, wählen wir als Diskretisierung die „Gitterlinienschnittpunkt-Digitalisierung“. Dazu können wir den bekannten Bresenham-Algorithmus benutzen. Wirerhalten damit in Z

eine Menge P′. Von dieser Menge wollen wir nun die Außenkonturbestimmen. Da wir aber auch die „äußeren“ Punkte von P nur durch Geradensegmenteverbunden haben, liefert der klassischeKonturfolgealgorithmus bezüglich der Vierernach-barschaft nicht die gewünschte Außenkontur, er „bricht durch“. Wir müssen die Geraden-segmente „flächig“ verdicken. Dies geschieht durch eine Dilation mit einem × Struk-turelement. Nun erhalten wir eine Menge P′′. Von dieser Menge P′′ bestimmen wir mitdem Konturfolgealgorithmus die Außenkontur und damit die Silhouette der Punktmen-ge P. Die Innenkonturen beschreiben allerdings nicht die Struktur der Punktmenge undsind daher ohne A-priori-Wissen nicht nutzbar. Für einen „großen“ Wert von limit erhal-ten wir nicht mehr die digitale konvexe Hülle. Da wir Paare von Punkten gewählt haben,hat der Algorithmus eine quadratische Komplexität.

1.2.5 Perkolation

In den Gittern gibt es auch sehr interessante Beziehungen zur Physik. So gibt es die soge-nannte Perkolationstheorie (Durchsickerungstheorie von Körpern). Die Perkolation kannman schön in den Gittern simulieren. Dazu betrachten wir ein genügend großes Bild miteiner Gitterstruktur, z. B. das Quadratgitter. Wir geben eine beliebige Wahrscheinlichkeitp vor und besetzen jedes Pixel entsprechend dieser Wahrscheinlichkeit mit , also schwarz,ansonstenmit weiß. Dies tun wir unabhängig voneinander für jedes Pixel. Nun suchen wirin der Menge der schwarzen Pixel bezüglich der Vierernachbarschaft einen Weg von derersten Bildzeile zur letzten Bildzeile, bzw. von der ersten Bildspalte zur letzten Bildspalte.Diese Verbundenheit drückt die Perkolation, folglich die Durchsickerung aus.Wir nehmeneinmal an, wir hätten theoretisch dieWahrscheinlichkeit q ermittelt, mit der bei gegebenerWahrscheinlichkeit p ein Weg existiert, die Durchdringung also möglich ist. Diese Kurvemuss trivialerweise monoton sein, d. h. je größer p wird, desto größer muss ja wohl auch qwerden, zumindestens kann q nicht kleiner werden. Deshalb wird man vermuten, dass dieKurve langsam ansteigt. Die Überraschung ist groß: Diese sieht völlig anders aus. Von p = bis pc ist sie Null und dann springt sie bis p = auf , folglich eine --Sprungfunktion. Bis

Page 33: Bildverarbeitung und Objekterkennung ||

1.3 Bildmodelle 17

pc gibt es keineWege und ab pc gibt es immerWege. Ab der kritischenWahrscheinlichkeitpc tritt sozusagen ein Phasenwechsel auf. Das Interessante daran ist, dass diese kritischenWahrscheinlichkeiten für die Gittertypen unterschiedlich sind:

Gittertyp KritischeWahrscheinlichkeit pcHexagonalgitter 0,6962Quadratgitter 0,5927Dreiecksgitter 0,5000

Wenn man praktisch Gitter-Körper mit geringen Durchdringungseigenschaften habenmöchte, dann wäre das Hexagonalgitter bevorzugt.

1.3 Bildmodelle

Ein Bild stellt mathematisch eine Funktion f (x) von einer, meistens aber von zwei un-abhängigen Variablen f (x , y) dar. Natürlich können es auch Funktionen von drei odermehreren Variablen sein. Oft sind es skalare Funktionen, es können aber auch vektorwer-tige Funktionen sein, wie z. B. Farbbilder.Wir werden dabei immer ein Koordinatensystemzugrundelegen. Man könnte z. B. ein diskretes Grautonbild auch alsMatrix auffassen, dannmüsste man die Variablen x und y vertauschen. Dies hätte den „kleinen Vorteil“, dassman alle Matrixoperationen auf Bilder anwenden könnte. Dabei ist aber Vorsicht gebo-ten, was ist z. B. die Determinante eines Bildes? Ist dies der Fall, dann werden wir explizitdarauf hinweisen. Je nach Anwendung bzw. mathematischer Behandlung kann man einBild auffassen als diskrete Funktion oder als nichtdiskrete Funktion, die wir im Folgen-den als analoge Funktion bezeichnen wollen. Eine zweite sehr wichtige Unterscheidungliegt im Definitionsbereich des Bildes, ist dieser endlich oder unendlich? Dies kann manwieder entsprechend dem mathematischen Apparat so oder so tun. Und genau darin liegtdie Verwirrung in vielen Büchern, es wird einfach ein Modell ohne Begründung gewählt.Wir wollen im Folgenden also genau unterscheiden und bezeichnen dies als Bildmodell.Häufig beschränken wir uns aus schreibtechnischen Gründen auf Funktionen einer Ver-änderlichen. Ein kleines Problem bei Bildern ist der Bereich außerhalb des Bildes, was istdort? So könnte man einfach schließen, wir wählen eben einen endlichen Definitionsbe-reich von derGröße des Bildes, dann habenwir dieses Problemnichtmehr. Dann entstehenaber neue Probleme, die es vorher nicht gab: Bei einem endlichen Definitionsbereich gibtes einen Rand, und manche Operationen (z. B. wie die Faltung) verlangen aber, dass manüber den Rand hinaus zugreift. Also muss man außerhalb erklären, was dort vorzufindenist. EineMöglichkeit ist, dort alles als Null anzunehmen. Eine zweite Möglichkeit ist die pe-riodische Fortsetzung. Eine weitere Möglichkeit ist die gespiegelte Fortsetzung usw. In denmeisten Fällen werden wir auf die periodische Fortsetzung zurückgreifen. Dies entsprichtdann dem regulären Quadratgitter auf dem Torus. Es gibt auch genügend Aufgabenstel-lungen, wo wir uns das Bildmodell nicht auswählen können, sondern wo es völlig klar ist,

Page 34: Bildverarbeitung und Objekterkennung ||

18 1 Elementare Grundlagen

welches Modell genommen werden muss. Für periodische Fortsetzungen gilt:

f (x + kX) = f (x) ∀x , k ∈ Z (1.9)

f (n + kN) = f (n) ∀n, k ∈ Z (1.10)f (x + kX , y + lY) = f (x , y) ∀x , yk , l ∈ Z (1.11)

f (m + kM , n + lN) = f (m, n) ∀m, k , nl ∈ Z. (1.12)

Bei Funktionen einer Variablen kann man die Periode X bzw. N genau benennen, fürFunktionen zweier Variablen müsste man dann als Periode X ,Y schreiben bzw. M ,N imdiskreten Fall.

Wir wollen im Folgenden vereinbaren bei diskreten Funktionen f (n) den Index tief zustellen, d. h. fn = f (n) und fm ,n = f (m, n). Wir legen weiterhin Abkürzungen für dieBildmodelle fest:

• A1[X], A2[X,Y] Eindimensionale bzw. zweidimensionale analoge Funktionen über demIntervall X bzw. X ,Y mit periodischer Fortsetzung

• A1[−∞,+∞], A2[−∞,+∞] entsprechend von Minus Unendlich bis plus Unendlichund schließlich das diskrete Analogon bezeichnen wir mit

• D1[N], D2[M,N] bzw.• D1[−∞,+∞], D2[−∞,+∞].

Bei den unendlichen Modellen muss man das Bild „außerhalb“ des eigentlichen Bildes ir-gendwie auffüllen, dann sind Nullen durchaus sinnvoll.

1.4 Bildtransformationen

Aus den verschiedensten Gründen müssen Bilder transformiert werden, z. B. bei der Bild-registrierung. Dies können geometrische Transformationen sein, aber auch nur andereKoordinatendarstellungen.

1.4.1 „Reine“ Grauwertransformationen

Natürlich werden bei allen Bildtransformationen immer Grauwerte transformiert. Mit„reinen“ Grauwerttransformationen meint man Grauwertransformationen, die völlig un-abhängig vom Ort im Bild sind. Ein Grauwert wird immer nach derselben Vorschrifttransformiert, egal an welcher Pixelposition er sich im Bild befindet. Die einfachstenTransformationen sind lineare Transformationen oder stückweise lineare Transformatio-nen, wie z. B. die Binarisierung oder andere Quantisierungen der Grauwerte. So simpelwie mathematisch eine Binarisierung auch sein mag, die praktische Bestimmung einer

Page 35: Bildverarbeitung und Objekterkennung ||

1.4 Bildtransformationen 19

„optimalen“ Binarisierungsschwelle ist ein ganz anderes und schwieriges Problem, sieheAbschn. 10.1. Mathematisch interessanter sind dagegen die Transformationen, die aufVerteilungen der Grauwerte beruhen. Dazu nehmen wir ein analoges Modell an, die Grau-werte seien g ∈ R. Das Grauwerthistogramm ist dann die Dichtefunktion hg(x) von g undh′g(x) die Dichte der transformierten Grauwerte g′, wobei die Transformation g′ = f (g)laute. Dann gilt:

H(g) =g

hg(x)dx = H′(g′) =g′

h′g′(x)dx mit = f (). (1.13)

Dies sind aber gerade die Verteilungsfunktionen, woraus man die Transformation derDichten ablesen kann:

h′g′(g′) = hg( f −(g′)) ⋅

d f −

dg′. (1.14)

Damit die inverse Transformation f − existiert, fordern wir die strenge Monotonie von f .Wir können nun f so bestimmen, dass die Zieldichte h′ oder die Zielverteilung H′ ei-ne bestimmte Form oder Funktion annehmen soll. der einfachste Fall ist sicher der, dassh′ konstant bzw. H′ linear sein soll. Diesen Fall nennt man Histogrammausgleichung (hi-stogram equalization). Ist z. B. g ∈ [,G], so können wir h′ als Konstante nicht beliebigvorgeben, es muss immer noch eine Dichte sein, daher muss h′ =

G oder H′ = g′

G sein.Folglich muss gelten:

H(g) = ∫

ghg(x)dx = H′(g′) =

g′

h′g′(x)dx =g′

G. (1.15)

Daraus können wir die Transformation

g′ = f (g) = G ⋅

g

hg(x)dx (1.16)

ablesen. Da die Grauwerte in der Praxis diskret (sogar ganz) sind, müssen wir das Integralin (1.16) durch

g′ = f (g) = G ⋅g

∑k=

h(k) (1.17)

approximieren, wobei h(k) aus dem Grauwerthistogramm zu entnehmen ist. Dadurchlässt sich praktisch keine idealeGleichverteilung erreichen. Bei Bildern erhöht sich dadurchder Kontrast. Manchmal treten dann auch unerwünschte Effekte auf. Wenn im Bild große

Page 36: Bildverarbeitung und Objekterkennung ||

20 1 Elementare Grundlagen

Flächen mit einem geringen Grauwertbereich auftreten (z. B. der Himmel oder Wolkenüber einer Landschaft), dann werden auch diese Grauwerbereiche gestreckt und erschei-nen verrauschter oder gestörter als vor der Transformation. Dies lässt sich immer dannnicht verhindern, wenn eine Transformation unabhängig vom Bildinhalt oder vomOrt imBild durchgeführt wird.

Das Zielhistogrammmuss nicht unbedingt konstant sein, wir können beliebige Funktio-nen vorgeben. Es sei z. B. das Zielhistogramm linear, dann ist die Zielverteilungsfunktioneine Parabel, folglich:

h′(g′) = ag′ + b → H′(g′) = ag′ + bg′ mit H′() = . (1.18)

Daraus folgt

ag′ + bg′ = f ∗(g) = (aG + bG) ⋅

g

hg(x)dx (1.19)

und damit:

g′ +bag′ − f ∗(g) = → g′, = f (g) = −

ba

±

√b

a+

f ∗(g)a

. (1.20)

Es ist diejenige Lösung zu wählen bei der die Ableitung von f (g) positiv ist. Die Parametera, b der Zielverteilung müssen natürlich bekannt sein, man könnte sie durch Fitting an einZielhistogramm ermitteln.

Das Interessante an diesen histogrammbasierten Transformationen ist, dass man sieüberall dort einsetzen kann, wo die Histogramme eine Rolle spielen. Man ist überhauptnicht an Grauwerthistogramme gebunden. Ein Beispiel dazu. Es sollen Unterschriftendurch matching verglichen werden. Dazu muss man die Unterschriften irgendwie norma-lisieren, damit ein Vergleich auch sinnvoll erscheint. Dazu richten wir die Unterschriftenhorizontal aus und binarisieren die Unterschriften-Bilder. Dann bilden wir sogenannteProjektionshistogramme. Das x-Projektionshistogramm wird folgendermaßen gebildet:Pro x-Koordinate zählt man die Anzahl der schwarzen Pixel. Mit der Histogrammausglei-chung werden anschließend die x-Koordinaten transformiert, die y-Koordinaten ändernsich nicht. Die Binärwerte an den Pixelpositionen werden natürlich „mitgenommen“. Ei-gentlich liegt nun keine „reine“ Grauwerttransformation vor, sondern eine geometrischeKoordinatentransformation, die auch noch nichtlinear ist.

1.4.2 Polar- und Log-Polar-Darstellungen

• Bei der Polar-Darstellung werden die kartesischen Koordianten (x , y) in Polarkoordi-naten (r, φ) umgerechnet, wobei x = r cosφ und y = r sinφ gilt.

Page 37: Bildverarbeitung und Objekterkennung ||

1.4 Bildtransformationen 21

• Bei der Log-Polar-Darstellung ist der einzige Unterschied zur Polar-Darstellung die Lo-garithmierung des Radius. Anstelle (r, φ) werden die Koordinaten (log r, φ) benötigt.Dadurch ergeben sich bei der Umrechnung einige kleine Schwierigkeiten. Für r = istder Logarithmus nicht definiert, man fängt daher erst mit r ≥ an umzurechnen.

1.4.3 Globale geometrische Transformationen

• Die einfachsten Transformationen sind Translationen:

(x′

y′) = (

xy) + (

aa

) ↔ x′ = x + a . (1.21)

• Die nächste Stufe sind Euklidische Transformationen:

x′ = Rx + a . (1.22)

R ist dabei eine orthogonale Matrix. Diese Transformationen bestehen also aus Trans-lationen, Rotationen und eventuell Spiegelungen. Wenn man Spiegelungen ausschließt,dann ist R eine Rotationsmatrix, d. h.:

R = (cos φ − sin φsin φ cos φ

) . (1.23)

Manchmal betrachten wir auch nur „reine“ Rotationen:

x′ = Rx. (1.24)

Wenn wir einen Punkt (x , y) in der Ebene als komplexe Zahl z = x + i y auffassen, dannkönnen wir reine Rotationen in der komplexen Ebene kompakt formulieren:

z′ = z ⋅ e iφ . (1.25)

Statt reinen Rotationen sindmanchmal auch x-Scherungen oder y-Scherungen von In-teresse. Eine x-Scherung ist:

x′ = x + sx yy′ = y

(1.26)

Eine y-Scherung ist:

x′ = xy′ = syx + y

(1.27)

Page 38: Bildverarbeitung und Objekterkennung ||

22 1 Elementare Grundlagen

Manchmal benötigen wir auch noch eine anisotrope Skalierung:

x′ = c ⋅ xy′ = d ⋅ y.

(1.28)

• Die nächste Stufe sind Ähnlichkeitstransformationen:

x′ = s ⋅ Rx + as > . (1.29)

Es kommt zusätzlich zu den Euklidischen Transformationen noch eine isotrope Skalie-rung s hinzu.

• Eine weitere Steigerung sind die affinen Transformationen:

x′ = Ax + a . (1.30)

Dabei ist:

A = (a aa a

) . (1.31)

Die lineare affine Transformation A (ohne Spiegelungen) lässt sich separieren in eineHintereinanderausführung einer Rotation, einer anisotropen Skalierung und einer wei-teren Rotation:

A = (cos β − sin βsin β cos β

)(c d

)(cos α − sin αsin α cos α

) . (1.32)

Dies folgt aus der Singulärwertzerlegung von A, siehe Abschn. 22.3. Man kann auchgleichwertig die erste Rotation durch eine x-oder y-Scherung ersetzen:

A = (cosγ − sin γsinγ cosγ

)(e f

)( sx

) . (1.33)

Eine ähnliche Separation gelingt durch Hintereinanderausführung einer x-Scherung,einer y-Scherung und einer anisotropen Skalierung:

A = (g h

)( sy

)( sx

) . (1.34)

Dabei muss allerdings a ≠ vorausgesetzt werden, was aber praktisch nicht relevantist. Man kann auch die affine Transformation in der komplexen Ebene kompakt darstel-len. Mit z = x + i y gilt:

z′ = a ⋅ z + b ⋅ z + c (1.35)

Page 39: Bildverarbeitung und Objekterkennung ||

1.4 Bildtransformationen 23

mit

a =(a + a) +

i(a − a), b =

(a − a) +

i(a + a),

c = a + ia. (1.36)

• Die letzte Steigerung, die von praktischem Interesse ist, sind die projektiven Transfor-mationen:

x′ =ax + ay + aax + ay + a

, y′ =ax + ay + aax + a y + a

. (1.37)

• Eine allgemeine geometrischeTransformation schreibenwir einfach als Vektorfunktion:

x′ = g(x). (1.38)

Bei Integralsubstitutionen mit geometrischen Transformationen schreibt man oft:

f (x) = f (g−(x′)) = f ′(x′). (1.39)

Dies ist keine Bildtransformation, sondern nur der Übergang zu neuen Koordinaten. Eine„echte“ Bildtransformation bezüglich der Koordinaten x′ = g(x) wird durch

f ′(x) = f (g−(x)) (1.40)

beschrieben. Wir müssen folglich die inverse Transformation g− benutzen.Wollen wir z. B. ein Bild nach „rechts“ verschieben, somüssen wir das verschobene Bild

mit f ′(x) = f (x− a) bezeichnen, es ist folglich die inverse Translation in dieser Notationzu benutzen. Das ist aber nur die mathematische Notation, gedanklich nehmen wir natür-lich die Kooordinaten-Transformation x′ = g(x) und übertragen die Funktionswerte.

1.4.4 Praktische Durchführung der Transformationen

Wenn wir ein diskretes Bild f (i , j) mit einer Transformation g(x) in ein diskretes Bildf ′(k , l) transformieren, so sind ein paar Dinge zu beachten. Wenn wir ganzzahlige Pi-xel transformieren muss das Ergebnis nicht ganzzahlig sein, wo schreiben wir dann denGrauwert hin? Es könnte dann im Zielbild auch Lücken geben, die überhaupt nicht mitGrauwerten belegt sind. Daher müssen wir umgekehrt vorgehen. Wir geben die Pixel ausdem Zielbild vor und berechnen mit der inversen Transformation die Koordinaten imQuellbild, diese werden i. Allg. auch nicht ganzzahlig sein. Die einfachste Variante ist nun,dass wir den Grauwert eines Nachbarpixels nehmen. Die bessere Variante ist, wenn wir in-terpolieren. Die häufigste Interpolationsvariante ist die bilineare Interpolation mit den vier

Page 40: Bildverarbeitung und Objekterkennung ||

24 1 Elementare Grundlagen

Abb. 1.8 Lenna, a Original-Bild, b Polar-Bild mit bilinearer Interpolation, r ≥ , c Log-Polar-Bildmit bilinearer Interpolation, r ≥

benachbarten Grauwerten. Weiterhin ist bei der Polar-und Log-Polartransformation nochetwas zu beachten. Da für kleine r wenige Pixel mit Grauwerten zur Verfügung stehen, tra-gen imZielbild kleine r wenige Informationen, so dass aus praktischenGründen r nicht beiNull bzw. Eins, sondern bei größeren Werten beginnen sollte. In der Abb. 1.8c wurde dieLog-Polar-Darstellung mit r = begonnen. Man sieht den auffälligen homogenen Bereich,der kaum eine Bildinformation trägt, deshalb sollte man nicht mit r = beginnen, sondernmit größeren Werten.

1.4.5 Beispiel OCR

Es gibt eine Fülle von Anwendungen, bei denen Bilder transformiert werden müssen. Wirgeben einmal ein Beispiel aus der OCR (Optical Character Recognition) an. In der Regelwird ein Dokument/Bild so segmentiert, dass man für jedes Zeichen das umschreibendeRechteck erhält, siehe auch Abschn. 19.7.1. Das umschreibende Rechteck mit den darinenthaltenen Grauwerten ist ein Bild, wenn auch in der Regel ein kleines Bild. Von demZeichen sollen nunMerkmale berechnet werden, die für eine anschließende Klassifikationgenutzt werden können. Daman in der Vorverarbeitung davon ausgeht, dass anschließenddas Dokument horizontal ausgerichtet ist, sind alle Merkmale bezüglich der Rotation nor-miert. Von affinen Verzerrungen gehen wir auch nicht aus, also bleiben typischerweisenoch anisotrope Skalierungen übrig. Die Merkmale sollten also invariant bezüglich die-ser Skalierungen sein. Die einfachste und auch beste Methode zur Merkmalsauswahl ist:wir nehmen als Merkmalsvektor einfach alle Grauwerte innerhalb des umschreibendenRechteckes. Nun müssen wir zur Normalisierung zwei Transformationen durchführen:

• Zur Normalisierung der anisotropen Skalierung geben wir ein Zielbild einer bestimm-ten Dimension vor, z. B. × Pixel. Nun transformieren wir die Grauwerte des um-schreibenden Rechteckes mittels bilinearer Interpolation auf dieses Zielbild.

Page 41: Bildverarbeitung und Objekterkennung ||

1.4 Bildtransformationen 25

• Die Grauwerte des Zielbildes können wir noch nicht als Merkmale benutzen, da Be-leuchtungsschwankungen, verschiedener Kontrast usw. noch nicht normalisiert sind.Wir werden die Grauwerte linear transformieren, aber wie? Dazu binarisieren wir dasZielbild, wobei wir eine Schwelle z. B. nach Otsu bestimmen. Da sich im Zielbild einZeichen befindet, müsste das Zeichen als Vordergrund schwarz werden und der Restals Hintergrund weiß. Dies muss nicht genau unseren Vorstellungen entsprechen, abergrößtenteils wird es stimmen. Nun bestimmen wir das arithmetische Mittel aller Grau-werte dieser Vordergrundpixel v und das arithmetischeMittel aller Grauwerte der Hin-tergrundpixel h. Das binarisierte Zielbild wird nicht mehr benötigt. Die Idee ist nuneine lineare Transformation, wobei h auf den kleinsten Grauwert gmin (z. B. Null) undv auf den größten Grauwert gmax (z. B. 255) abgebildet wird. Dann wird es passieren,dass einige transformierte Grauwerte kleiner gmin und einige größer als gmax werden.Um diesen Effekt etwas zu lindern, kann man statt gmin nun gmin + threshold und stattgmax nun gmax − threshold benutzen, wobei diese Schranken empirisch zu wählen sind.

Nun können die Grauwerte des Zielbildes als Merkmale benutzt werden, in diesem Fallewäre dies ein 120-dimensionaler Merkmalsvektor. Diesen können wir noch komprimierenmit der Karhunen-Loeve-Transformation, auch PCA genannt, siehe Abschn. 19.10.1.

Page 42: Bildverarbeitung und Objekterkennung ||

2Die Operationen Faltung und Korrelation

2.1 Faltung und Korrelation

Die Operationen Faltung undKorrelation sind in vielenWissenschaften bekannte undweitverbreitete Operationen. Die Korrelation ist in der Stochastik, Physik, Bildverarbeitung,Signaltheorie usw. eine weit verbreitete Operation, während die Faltung typischerweise inder Siganltheorie angesiedelt ist. Die Korrelation ist auf die Faltung zurückführbar, sodassvom mathematischen Standpunkt aus die Faltung als Operation ausreichen würde. Wäh-rend die Faltung alle „schönen“ algebraischen E§igenschaften besitzt, hat die Korrelationkaum „vernünftige“ algebraische Eigenschaften, sie ist nicht einmal assoziativ. Da sie abergroßeBedeutung inAnwendungen hat, ist es besser sie direkt zu benutzen als sie auf die Fal-tung zurückzuführen. In der Bildverarbeitung wird die Faltung häufig mit linearen Filternidentifiziert. Dies ist natürlich nicht ausreichend. Zusätzlich werden in diesemZusammen-hang oft nicht ganz korrekte Formulierungen verwendet. So ist die Aussage: „Lineare Filterwerden durch eine Faltung beschrieben“ falsch. Die Faltung ist eine lineare Operation, aberzusätzlich noch verschiebungsinvariant. Daher ist richtig: die Faltung beschreibt ein linea-res Filter, aber nicht jdes lineare Filter wird durch eine Faltung beschrieben.

2.1.1 Faltung

Die Faltung ist eine der wichtigsten Operationen in der Signalverarbeitung (lineare Sys-temtheorie) und der Bildverarbeitung, sie ist eine spezielle lineare Operation. In der eng-lischsprachigen Literatur heißt diese convolution, manchmal auch folding. Für eindimen-sionale und zweidimensionale, diskrete Funktionen ist die Operation Faltung * definiertzu:

( f ∗ g)n = ∑if i gn−i , ( f ∗ g)m ,n = ∑

i∑jf i , j gm−i ,n− j . (2.1)

27H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_2, © Springer Fachmedien Wiesbaden 2014

Page 43: Bildverarbeitung und Objekterkennung ||

28 2 Die Operationen Faltung und Korrelation

Für analoge Funktionen gilt entsprechend:

( f ∗ g)(t) = ∫B

f (ξ)g(t − ξ)dξ, ( f ∗ g)(t , t) = ∫B

∫B

f (ξ, η)g(t − ξ, t − η)dξdη.

(2.2)

Die Summationsgrenzen oder die Integrationsbereiche sind entsprechend dem Bildmodellzu wählen. Das Ergebnis der Faltung zweier Funktionen ist also wieder eine Funktion, zweiBilder gefaltet ergibt wieder ein Bild. Häufig findet man in vielen Büchern die nicht ganzkorrekte Bezeichnung:

f (t) ∗ g(t) = ∫B

f (ξ)g(t − ξ)dξ. (2.3)

Es werden nicht zwei Funktionswerte f (t) und g(t) gefaltet, sondern zwei Funktionenf und g und anschließend wird das Ergebnis an der Stelle t betrachtet. Wir werden dieseSchreibweise aus prkatischenGründen zumTeil auch benutzen, sind uns aber bewusst, waseigentlich gemeint ist.

Stellvertretend für alle Definitionen werden wir oft die eindimensionale, diskrete Versi-on bevorzugen.Manchmal imZusammenhangmit der Interpolationwird eine „gemischte“Faltungsoperation bezüglich der äquidistanten Stützstellen tk

( f ∗ g)(t) = ∑kf (tk)g(t − tk) (2.4)

angegeben. Dies ist weder die diskrete noch die analoge Faltung, also keine „echte“ Faltung.Wir werden später zeigen, wie wir diese auf die analoge Faltung zurückführen. Dagegenfasst man die folgende „gemischte“ Faltung

h(tk) = ( f ∗ g)(tk) = ∫B

f (τ)g(tk − τ)dτ (2.5)

einfach als Hintereinanderausführung der analogen Faltung

h(t) = ( f ∗ g)(t) = ∫B

f (ξ)g(t − ξ)dξ (2.6)

und der anschließenden Abtastung dieser Funktion h(t) an den diskreten Stellen tk auf.Die Operation Faltung besitzt alle „schönen“ algebraischen Eigenschaften, sie ist linear,kommutativ, assoziativ, distributiv und vieles mehr.Wir wollen einmal als einfache Übungdie Kommutativität zeigen:

( f ∗ g)n = ∑if i gn−i = ∑

n−lfn−l gl = ∑

lgl fn−l = (g ∗ f )n . (2.7)

Page 44: Bildverarbeitung und Objekterkennung ||

2.1 Faltung und Korrelation 29

Die anderen Eigenschaften lassen sich ebenso einfach zeigen. Eine 2D-Faltung kannmanchmal auf die Anwendung von zwei 1D-Faltungen zurückgeführt werden, dann lässtsich die 2D-Faltung effektiv implementieren, siehe Abschn. 8.1.2. Man spricht dann vonder Separierbarkeit der Faltung. Wann ist diese nun gegeben? Unter der Separierbarkeitder 2D-Faltung wollen wir verstehen, dass sich ein Operand h der Faltung g = h ∗ f alsProdukt hm ,n = cm ⋅ dn∀m, n schreiben lässt und damit h = x ∗ y ist. Die 2D-Funktionenx und y lassen sich dann durch 1D-Funktionen xi , j = ci δ j, yi , j = djδi darstellen. Die1D-Funktion c ist in x als Zeile bzw. d als Spalte in y eingebettet. Dann gilt

(x ∗ y)m ,n = ∑i , j

xi , j ym−i ,n− j = ∑i , j

ci δ jdn− j δm−i = cm ⋅ dn . (2.8)

Nun erkennen wir leicht die Hintereinanderausführung zweier 1D-Faltungen

g = h ∗ f = x ∗ y ∗ f = x ∗ (y ∗ f ). (2.9)

Die Faltung hat viele interessante Anwendungen in der Bildverarbeitung, wird aber auchin anderen Gebieten benutzt. Zum besseren Verständnis zeigen wir zunächst eine einfacheAnwendung in der Wahrscheinlichkeitsrechnung.

Beispiel 1 Gegeben seien zwei diskrete Zufallsvariablen X und Y , die der Einfachheithalber nur ganzeZahlen annehmen sollen, ein typisches Beispiel ist dasWürfeln.DieWahr-scheinlichkeiten P(X = i) = pi und P(Y = j) = q j seien gegeben. Die Zufallsvariablen Xund Y seien unabhängig. Gesucht ist nun die Verteilung der Summe der Zufallsvariablen,also Z = X +Y . BeimWürfeln würde das bedeuten, wir würfeln zweimal unabhängig von-einander und suchen die Wahrscheinlichkeiten für die Summe der gewürfelten Augen. Dadie Zufallsvariablen unabhängig sind, brauchen wir nur die Wahrscheinlichkleiten allerKombinationen von Augen zu addieren, die die Gesamtsumme der Augen ergeben, also

P(Z = l) = ∑i , j,i+ j=l

pi ⋅ q j = ∑ipi ql−i = (p ∗ q)l . (2.10)

Wenn Y die gleiche Verteilung wie X hat, d.h p ≡ q, dann ist P(Z = l) = (p ∗ p)l , d. h. dieFaltung von p mit sich selbst. Dies wird in Analogie zur Autokorrelation als Autofaltungbezeichnet. Sind X und Y stetig verteilt und unabhängig mit den Dichten f (x) und g(y),dann ist die Dichte für die Summe ebenfalls

h(z) = ( f ∗ g)(z) =∞

∫−∞

f (x)g(z − x)dx (2.11)

als Faltung beschrieben. Aus der Wahrscheinlichkeitsrechnung ist bekannt: sind X und Yzusätzlich normalverteilt, so ist auch Z normalverteilt. Da die Dichte h(z) von Z sich alsFaltung der Dichten schreiben lässt, sagt man auch: „die Normalverteilung ist invariant

Page 45: Bildverarbeitung und Objekterkennung ||

30 2 Die Operationen Faltung und Korrelation

gegenüber der Faltung“. Immer wenn man normalverteilte Dichten faltet, ist das Ergebniseine Dichte der Normalverteilung. Da die Gaußfunktion als Dichte der Normalverteilungin der Bildverarbeitung in verschiedenen Zusammenhängen, insbesondere bei Filtern, einegroße Bedeutung besitzt, schreiben wir die Faltung noch einmal für die isotrope 2D-Gauß-Funktion G(x , y; , σ) =

πσ e−(x+y)/(σ

) auf:

G(x , y; ,√

σ + σ

) = G(x , y; , σ) ∗G(x , y; , σ). (2.12)

Betrachten wir nochmals zweimal Würfeln mit einem klassischen Würfel, dann gilt pi =q j =

, i = , , , , , , pi = q j = ∀i , j < , i , j > , welche zweifelsfrei Rechteckfunktio-

nen darstellen. Dies können wir auffassen als ein eindimensionales Bild mit unendlicherAusdehnung, ein endlich ausgedehntes Bildmit periodischer Fortsetzung ist logischerWei-se hier verboten. Nach der Faltung mit sich selbst „dehnt“ sich das Bild weiter aus, es gibtalsomehr als sechs Funktionswerte ungleich Null, es ensteht eineDreiecksfunktion als Ver-teilungsfunktion. Dabei ist P(Z = ) = ∑l pl ⋅ p−l =

der größte Wert der Faltung.

Beispiel 2 Ein fast identisches Beispiel ist die Multiplikation zweier Polynome. Gegebenseien zwei „gewöhnliche“ Polynome

p(x) =n∑i=

aix i , p(x) =m∑k=

bkxk . (2.13)

Die Koeffizienten fassenwir als zwei diskrete Funktionen a und b auf, wobei ai = , i⟨, i⟩nund bk = , k⟨, k⟩m ist. Wir betrachten nun das Produktpolynom p(x) und erhalten

p(x) = p(x) ⋅ p(x) =m+n∑l=

(a ∗ b)l ⋅ xl . (2.14)

Die Koeffizienten des Produktpolynomes ergeben sich als Faltung der beiden diskretenFunktionen, gebildet aus den Koeffizienten der einzelnen Polynome. Dieses Beispiel hatdarüberhinaus eine praktische Bedeutung. Wenn wir x = setzen, dann würden wir zweiganze dezimale Zahlen multiplizieren. Das Ergebnispolynom ist das Resultat der Multipli-kation, allerdings ohne Übertrag. Wenn wir folglich auf einem Rechner die Multiplikationzweier großer ganzer Zahlen effizient implementieren sollen, dann relaisieren wir dies überdie diskrete Faltung, die sich „schnell“ implementieren lässt. Anschließend reichen wir dieÜberträge von „Ziffer“ zu „Ziffer“ durch und sind fertig.

Beispiel 3 Nun noch ein Beispiel aus der Physik. Wir betrachten einen homogenen, iso-tropen Diffusionsprozess, der durch folgende partielle Differentialgleichung beschriebenwird:

ut = div(∇u) = ∇u = Δu = uxx + uyy , u(x , y, ) = f (x , y), (2.15)

Page 46: Bildverarbeitung und Objekterkennung ||

2.1 Faltung und Korrelation 31

wobei u(x , y, t) die zeitabhängige Konzentration beschreibt und f (x , y) die Anfangskon-zentration festlegt. Diese Gleichung entspricht auch der sogenannten Wärmeleitungsglei-chung. Wenn man diese Differentialgleichung löst, erhält man die erstaunliche Lösung

u(x , y, t) = f (x , y) ∗G(x , y; ,√t) mit t > . (2.16)

Dabei ist G(x , y; , σ) die isotrope Gauß-Funktion

G(x , y; , σ) =

πσ e−

(x+y)σ (2.17)

mit dem Erwartungswert und der zeitabhängigen Varianz σ = t. Die Anfangskonzen-tration f (x , y) wird also mit einer sich ausbreitenden Gaußfunktion gefaltet. Wenn wirdie Substitution t = σ betrachten und u nach σ ableiten anstatt nach t, dann geht dieseDifferentialgleichung über in

uσ = σ∇u = σΔu. (2.18)

Wie oben schon erwähnt ist die Gauß-Funktion selbst Lösung dieser partiellen Differenti-algleichung (dies kann man leicht nachrechnen), d. h. es gilt

∂G(x , y; , σ)∂σ

= σ∇G(x , y; , σ) = σΔG(x , y; , σ). (2.19)

2.1.2 Korrelation

Als nächste Operation führen wir die Korrelation ○ ein:

( f ○ g)n = ∑ifn+i gi , ( f ○ g)m ,n = ∑

i∑jfm+i ,n+ j gi , j . (2.20)

Für analoge Funktionen gilt:

( f ○ g)(t) = ∫B

f (t + ξ)g(ξ)dξ,

( f ○ g)(t, t) = ∫B

∫B

f (t + ξ, t + η)g(ξ, η)dξdη. (2.21)

Überstreichungen bedeuten immer die Operation konjugiert komplex, konjugiert komplexvon Funktionen bedeutet im Folgenden die elementweise Operation. Bei „normalen“ (reel-len) Bildern entfällt diese Operation. Verbal heißt dies: wir verschieben f um n Positionennach „links“ und bilden das Skalarprodukt oder wir verschieben g um n Positionen nach

Page 47: Bildverarbeitung und Objekterkennung ||

32 2 Die Operationen Faltung und Korrelation

„rechts“ und bilden das Skalarprodukt. Die Korrelation ist nicht identisch mit der Faltung,ist dieser aber sehr ähnlich. Leider hat sie keinerlei „vernünftige“ algebraische Eigenschaf-ten, weder Kommutativität noch Assoziativität. Anstatt der Kommutativität gilt z. B.:

( f ○ g)m = (g ○ f )−m . (2.22)

Sie hat aber auch in der Bildverabeitung große Bedeutung. Weiterhin können wir ablesen:

( f ○ g)n = ∑ifn+i gi = ∑

lfn−l g−l . (2.23)

Das ist aber die Faltung von f mit der konjugiert komplexen, am Koordinatenursprunggespiegelten Funktion g. Daher führen wir den Spiegelungsoperator R (Reflection) gRn =

(Rg)n ∶= g−n ein. Eine erste Rechenregel für die Spiegelung bezüglich der Faltung ist ( f ∗

g)R = f R ∗ gR . Damit können wir nun die Korrelation auf die Faltung zurückführen:

f ○ g = f ∗ gR = f ∗ (Rg). (2.24)

Dies hat nun den Vorteil, dass wir mit der Faltung rechnen können, bei der ja viele Rechen-regeln gelten. Zum Beispiel gilt für rellwertige Funktionen:

f ○ g = f ∗ gR = (g ∗ f R)R = (g ○ f )R . (2.25)

Für reelle, gerade Funktionen g gilt g = gR . Ist zusätzlich auch f reell und gerade, so ist

f ○ g = f ∗ gR = f ∗ g = g ∗ f R = g ○ f . (2.26)

Nur in diesem Spezialfall ist die Korrelation kommutativ. Wir sehen, dass durch die Zu-rückführung der Korrelation auf die Faltung, Ausübung einiger Rechenregeln bezüglichder Faltung und dann wieder Rückübersetzung in die Korrelation, wir Rechenregeln fürdie Korrelation ableiten können.

Als nächstes führen wir den allgemein bekannten Begriff eines linearen und verschie-bungsinvarianten Filters in der Bildverarbeitung ein.

Lineares und verschiebungsinvariantes Filter (LSI-Filter) Gegeben sei ein Bild f undeine Filtermaske g einer ungeraden Dimension mit fest vorgegebenen Zahlenwerten. DieFiltermaske erweitern wir nun gedanklich auf die Bildgröße von f indem wir Nullen auf-füllen. Die Filterung bedeutet nun, wir setzen das Filter g mit seinemMittelpunkt gedank-lich über ein Pixel in f . Nun multiplizieren wir alle Grauwerte mit den darüberliegendenZahlen des Filters und addieren alle diese Produkte. Diese Summe weisen wir dem ent-sprechenden Pixel in einem dritten Bild h zu. Dies tun wir für alle Pixel des Bildes f . AmRande setzen wir periodisch fort. Diesen Prozeß wollen wir im Folgenden immer als LSI-Filter bezeichnen.

Page 48: Bildverarbeitung und Objekterkennung ||

2.1 Faltung und Korrelation 33

Wir erkennen nun, dieses LSI-Filter wird genau durch die Korrelation beschrieben. Dawir die Korrelation auf die Faltung zurückführen können, heißt dies, ein LSI-Filter an-wenden bedeutet die Korrelation von f mit g oder die Faltung von f mit der gespiegeltenFiltermaske gR . Wenn das Filter reell und symmetrisch ist (viele Filtermasken sind sym-metrisch), dann ist ein LSI-Filter identisch mit der Korrelation und der Faltung zugleich.

Will man nun ein Bild f mit zwei Filtern g und h nacheinander filtern, also exakt( f ○ g) ○ h ausführen, dann möchte man sicher aus Effektivitätsgründen die beiden Fil-ter g und h zu einem Filter zusammenfassen. Leider gilt aber das Assoziativgesetz für dieKorrelation nicht. Wie fasst man aber korrekt die Filter zusammen? Wir wenden jetzt un-sere Rechenregeln an:

( f ○ g) ○ h = f ∗ gR ∗ hR . (2.27)

Andererseits gilt aber für die Zusammenfassung der Filter

f ○ (g ○ h) = f ∗ (g ∗ hR)R = f ∗ gR ∗ h. (2.28)

Wir vergleichen und fassen zusammen

( f ○ g) ○ h = f ○ (g ○ hR). (2.29)

Wir müssen also das Filter gmit dem gespiegelten Filter h filtern. Die Korrelation hat nichtnur Bedeutung als lineares Filter, sondern sie ist ein Übereinstimmungsmaß (Matching-maß) zweier Funktionen bei einer Verschiebung. Der Zahlenwert ( f ∗ g)n gibt an, wie gutf und g miteinander korrelieren, wenn man g um n Positionen nach „rechts“ verschiebt,oder was dasselbe ist, wennman f um n Positionen nach „links“ verschiebt. DasMatching-maß ist das Skalarprodukt.

Im Gegensatz zur Autofaltung hat die Autokorrelation große Bedeutung, wir korrelie-ren also eine Funktion mit sich selbst. Sie ist deutbar an einer Stelle n wie gut die Funktionmit sich selbst korreliert wennman sie um n Positionen verschiebt. Trivialerweise muss dieAutokorrelation bei n = immer ihr Maximum haben, da f hier mit sich selbst am bestenkorreliert. Wir schreiben nochmals:

f ○ f = f ∗ fR= f

R∗ f . (2.30)

Die Autokorrelation ist stets für reelle f eine gerade (symmetrische) Funktion, d. h. es giltimmer für reelle f

( f ○ f )R = f R ○ f R = f R ∗ f = f ∗ f R = f ○ f . (2.31)

Da Korrelationen und Faltungen eng mit Verschiebungen verbunden sind, definieren wirnun einen Verschiebungsoperator (shift operator) Sm bzw. Su mit

(Sm f )n ∶= fn−m , (Su f )(t) ∶= f (t − u). (2.32)

Page 49: Bildverarbeitung und Objekterkennung ||

34 2 Die Operationen Faltung und Korrelation

Die nächste interessante Eigenschaft lautet: Die Autokorrelation ist verschiebungsinvari-ant:

(Sm f ○ Sm f )n = ∑ifn+i−m f i−m = ∑

lfn+l f l = ( f ○ f )n . (2.33)

Gibt es für die Faltung oder Korrelation eigentlich ein neutrales Element neu, sodass f ∗neu = neu ∗ f = f bzw. f ○ neu = neu ○ f = f gilt? Für die Faltung gibt es dieses Elementtatsächlich, es ist der Einheitsimpuls δ, für die Korrelation ist dies nicht der Fall. So gilt beider Korrelation δ○ f = δ∗ f R = f R . Für die Faltung gilt stets f ∗δ = δ∗ f = f .Wie sieht die-ser Einheitsimpuls, diese Funktion nun aus? Für den diskreten Fall ist dies einfach δ = ,δi = ∀i ≠ . Mit demVerschiebungsoperator Sm können wir nun die „Eins“ des Einheits-impulses an eine beliebige Stelle m platzieren e(m) ∶= Smδ. Wenn wir diskrete Funktionenmit N Stützstellen betrachten, so sind diese „Einheitsfunktionen“ trivialerweise Basisfunk-tionen aller diskreten Funktionen, diese sind vergleichbar mit den „Einheitsbasisvektoren“im N-dimensionalen Vektorraum. Für analoge Funktionen ist dies schwieriger, hier ist δdie Dirac-Funktion, sie ist im Ursprung nicht eins, sondern unendlich. Dies ist folglichkeine „normale“ Funktion mehr, daher nennt man sie auch verallgemeinerte Funktion.Verallgemeinerte Funktionen werden in der Mathematik als Distributionen bezeichnet.Der Einheitsimpuls muss also im analogen Fall die Eigenschaft

( f ∗ δ)(t) = (δ ∗ f )(t) = ∫B

f (τ)δ(t − τ)dτ = ∫B

δ(ξ) f (t − ξ)dξ = f (t) (2.34)

erfüllen. Aus dieser Forderung für beliebige f können wir den Spezialfall f ≡ einsetzenund erhalten eine notwendige Bedingung für die Diracfunktion ∫B δ(ξ)dξ = . Setzen wirz. B. für f selbst δ ein, dann folgt

δ() = (δ ∗ δ)() = ∫B

δ(ξ)δ(− ξ)dξ = ∫B

δ(ξ)dξ = ∞. (2.35)

Das Integral über das Quadrat des Einheitsimpulses existiert also nicht mehr. Da wir nunein neutrales Element δ bezüglich der Faltung gefunden haben, können wir auch inverseElemente bezüglich der Faltung beschreiben. Falls ein inverses Element f − zur Funktionf existiert, dann muss es die Bedingung

f ∗ f − = f − ∗ f = δ (2.36)

erfüllen. In der Signalverarbeitung spielen Funktionen, die der Gleichung

f ○ f = f ∗ f R = δ (2.37)

Page 50: Bildverarbeitung und Objekterkennung ||

2.1 Faltung und Korrelation 35

genügen, eine bedeutende Rolle. Die Gleichung besagt: Die Autokorrelation dieser Funk-tion ist gleich dem Einheitsimpuls, andererseits ist gleichzeitig die gespiegelte Funktionf R das inverse Element bezüglich der Faltung. Funktionen, die (2.37) erfüllen, nennt man„weiß gemachte“ Funktionen (whitening), siehe Abschn. 4.20. Wenn für f eine inversesElement f − bezüglich der Faltung existiert, dann ist ( f −)R gleichzeitig rechtsinvers undlinksinvers bezüglich der Korrelation, also inverses Element bezüglich der Korrelation, ob-wohl δ kein neutrales Element der Korrelation ist. Denn es ist

f ∗ f − = δ → f ∗ (( f −)R)R= f ○ ( f −)R = δ = δR = ( f −)R ∗ f R

= ( f −)R ○ f . (2.38)

Man spricht dann trotzdem von der Korrelationsinversen, obwohl ein neutrales Elementbezüglich der Korrelation nicht existiert.

In speziellen Anwendungen, z. B. der coded aperture imaging, (siehe auch Abschn. 9.5.7)möchte man binäre Masken haben, wobei ca. 50 Prozent Nullen sein sollen und der RestEinsen. Die Faltungsinverse dazu sollte auch binär sein, z. B. aus − und + bestehen. Dannkommt man beim Invertieren der Faltung ohne Multiplikationen aus. Gibt es denn solcheFaltungsmasken?

Beispiel 1

• f = (, , , , ), N = • f − = (, ,−,−, )• f ∗ f − = (, , , , ) = ⋅ δ• Wenn f die Dimension N = hat, dann muss f − auch die Dimension N = haben.

Sollte aber f als Filtermaske in einem Großen Bild benutzt werden, dann hat f − dieDimension des grossen Bildes und sieht völlig anders aus.

Wenn man Faltungsmasken entwirft und deren Inverse aber benötigt, dann sollten siezumindestens näherungsweise (2.37) erfüllen, da dann die inverse Faltung numerisch be-sonders stabil ist, siehe Abschn. 9.5.1. Die Faltungsmaske stellt dann eine „weiß“ gemachteFunktion dar. Dazu ein

Beispiel 2

• f = (, , , , , , ), N = .• Es ist f ○ f = f ∗ f R = (, , , , , , ) = δ + .• Damit muss f ○ (c ⋅ f + d) = δ gelten.• Es ist f ○ (c f + d) = c f ○ f + f ○ d = c(δ + ) + f ○ d = δ.• Daraus folgt c =

, d = − .

• Damit ist ( f −)R = f −

=

(− , , ,−

, ,−

,−

) die Korrelationsinverse und f −

die Faltungsinverse.

Page 51: Bildverarbeitung und Objekterkennung ||

36 2 Die Operationen Faltung und Korrelation

Kommen wir noch einmal auf die „gemischte“ Faltungsoperation (2.4) zurück. Diesewird oft im Zusammenhang mit der Interpolation benutzt. Wir wollen diese nun exakt aufdie analoge Faltung zurückführen. Es gilt

[( f ∗ g)(t)]gemischte Faltung = ∑kf (tk)g(t − tk) = ∑

kf (tk)g(t − tk) ∗ δ(tk)

= ∑k

∫−∞

f (ξ)g(t − ξ)δ(tk − ξ)dξ

=

∫−∞

g(t − ξ)(∑kf (ξ)δ(tk − ξ))dξ

=

∫−∞

g(t − ξ) fa(ξ)dξ = ( fa ∗ g)(t). (2.39)

Folglich ist die „gemischte“ Faltung die analoge Faltung von g mit der Funktion fa(t) =

∑k f (t)δ(tk − t) = ∑k f (t)δ(t − tk). Die Summe δa = ∑k δ(t − tk) nennt man auchideale Abtastfunktion. Wir multiplizieren somit f mit der idealen Abtastfunktion. Mit der„gemischten“ Faltung kann man eine beliebige Interpolationsfunktion erzeugen. Wir su-chen eine Interpolationsfunktion, die durch die diskreten Abtastwerte f (tk) von f (t) geht.Dann brauchen wir an die Funktion g(t) nur die Forderung stellen: An den äquidistantenAbtaststellen tk muss g(tk) den diskreten Einheitsimpuls darstellen. Zwischen den Abtast-stellen kann g(t) ein beliebiges analoges Verhalten aufweisen.

2.1.3 Ableitungen der Faltung

Wir betrachten die Faltung von differenzierbaren Funktionen, also g(x) = h(x) ∗ f (x)und wollen die Regel zur Ableitung von g(x) bestimmen. Es gilt:

g′(x) =⎛⎜⎝

X

h(τ) f (x − τ)dτ⎞⎟⎠

=

X

h(τ) f ′(x − τ)dτ

=

X

f (τ)h′(x − τ)dτ. (2.40)

Damit gilt die Regel:

g′(x) = h′(x) ∗ f (x) = h(x) ∗ f ′(x). (2.41)

Es wird also nur ein Operand abgeleitet, egal welcher. Eine praktische Anwendung die-ser Regel (2.41) wollen wir nun zeigen. Man glättet ein Bild mit der Gauß-Funktion G(x)

Page 52: Bildverarbeitung und Objekterkennung ||

2.1 Faltung und Korrelation 37

als Filter und anschließend filtert man das erhaltene Bild mit dem Laplace-Filter Δ. Nachobiger Ableitungsregel gilt dann aber:

Δ (G(x) ∗ f (x)) = (ΔG(x)) ∗ f (x). (2.42)

Wir brauchen nur dieGauß-Funktion ableiten und erhalten ein Filter, das sogenannte LoG-Filter (Laplacian ofGaussian) oderMexican hat. Mit der isotropen Gauß-Funktion G(x) =

πσ e−

x+y

σ bilden wir

LoG = ΔG(x , y) = −

πσ ( −x + y

σ ) e−x+y

σ (2.43)

und erhalten das LoG-Filter. Für praktische Anwendungen muss dieses nun noch diskre-tisiert werden. Dieses LoG-Filter kann man auch als DoG-Filter (Difference of Gaussian)näherungsweise darstellen, dazu benutzen wir (2.19), nochmals aufgeschrieben gilt ∂G

∂σ =

σΔG. Wir ersetzen nun näherungsweise die Ableitung ∂G∂σ durch den Differenzenquotien-

ten und benutzen dabei eine skalierte Standardabweichung kσ mit einem Faktor k:

σΔG =∂G∂σ

≈G(x , y, , kσ)−G(x , y, .σ)

kσ − σ. (2.44)

Damit gilt:

G(x , y, , kσ)−G(x , y, .σ) ≈ (k − )σ ΔG . (2.45)

2.1.4 Wrap-around effect und zero padding

In jedem Bildmodell ist die Faltung und Korrelation definiert und das Ergebnis diesbe-züglich korrekt. Oft hat man aber Funktionen/Bilder theoretisch im Modell A[−∞,+∞]

gegeben, praktischmüssenwir aber letztlich dasModellA[X]bzw.D[N]benutzen.Dannkönnen aber unterschiedliche Ergebnisse auftreten. Bei derAnwendung der zyklischen Fal-tung und später der DFT muss man also genau prüfen ob das Intervall X korrekt ist odernicht. Dazu ein Beispiel:

Im Abschn. 2.1.1 hatten wir die Verteilung der Summe zweier unabhängiger Zufalls-variablen untersucht. Nehmen wir einen Würfel mit den Augen 1 bis 6 und den Wahr-scheinlichkeiten pi = /, i = , , , , , und pi = , i < , i > . Diese Verteilung p istzweifelsohne eineRechteckfunktion.DieVerteilung der SummederAugen,wennwir zwei-mal würfeln, ist die Autofaltung dieser Rechteckfunktion im Modell A[−∞,+∞], damitstellt p ∗ p eine Dreiecksfunktion in diesemModell dar. Nun stellen wir uns vor, p ∗ p aus-zurechnen ist uns numerisch zu kompliziert (was es natürlich nicht ist) und wir nutzen dasFaltungstheorem mit der DFT (siehe Fouriertransformation, Abschn. 4.8), dann müssenwir ein endliches Intervall mit den diskreten Wahrscheinlichkeiten / und entsprechendviel Nullen festlegen. Nehmen wir das Intervall mit den Werten p = , p = /, p = /,

Page 53: Bildverarbeitung und Objekterkennung ||

38 2 Die Operationen Faltung und Korrelation

. . . , p = /, p = , dann ist das auch zweifelsfrei eine Rechteckfunktion, allerdings mitder PeriodeN = . Nun rechnenwir imModellD[] dieVerteilungsfunktion p∗p aus undsehen, dass das Ergebnis falsch ist. Durch die periodische Fortsetzung stimmen die Wertenicht, dies nennt man wrap around effect. Wir haben also das Intervall X dem Problemfalsch angepasst. Wie muss man dies nun richtig tun? Die Rechtteckfunktion darf sich beiVerschiebung durch die periodische Fortsetzung nicht „echt“ überlappen. Dies erreichenwir, indem wir einfach das Intervall verdoppeln und mit Nullen auffüllen. Das Ergebni-sintervall wird trotzdem periodisch fortgesetzt, aber innerhalb einer Periode stimmt dasErgebnis. Das Auffüllen mit Nullen zur korrekten Anpassung des Intervalles X nennt manzero padding. Beim Würfeln würden wir also (wenn wir bei i = beginnen) die Funktionp = , p = p = p = p = p = p = /, p = p = p = p = p = p = p = benut-zen mit N = . (N = würde eigentlich auch reichen, wenn wir bei i = beginnen). Nundürfen wir nicht den Unsinn schlussfolgern, dass bei der Faltung (oder DFT) stets ein Bildoder Block usw. mit Nullen auf die doppelte Größe aufzufüllen ist. Dies kommt immer aufdie konkrete Aufgabenstellung an. Nehmen wir einmal zwei gewöhnliche Grauwertbildergleicher Größe und wir falten diese beiden. Dann brauchen wir nicht mit Nullen auffül-len, da wir ja nicht wissen, was „außerhalb“ der Bilder die tatsächlichen Grauwerte sind.Anzunehmen diese sind Null, ist genauso fragwürdig wie die periodische Fortsetzung.

2.2 Zirkularmatrizen

2.2.1 Elementare Eigenschaften

In diesem Abschnitt wollen wir ausschließlich die endliche, diskrete Faltung mit periodi-scher Fortsetzung näher untersuchen. Unsere diskreten Funktionen können wir deshalbauch als Vektoren in einem n-dimensionalen Vektorraum auffassen. Daher werden wirmanchmal die Funktionen als Spaltenvektoren schreiben bzw. auffassen. Aus dem Zusam-menhang soll stets hervorgehen, was exakt gemeint ist. Wenn auf der einen Seite z. B. einediskrete Funktion steht und auf der anderen Seite ein Spaltenvektor, dann ist die Gleicheitim Sinne zweier diskreter Funktionen zu verstehen.Wenndiskrete periodische Funktionenvoraus setzen, dann können wir die Faltung auch ausdrücken als das Produkt einer MatrixCh mit dem Spaltenvektor f :

g = h ∗ f ≙ Ch ⋅ f . (2.46)

Diese Matrix Ch können wir leicht ausrechnen durch Anwendung der Definition der Fal-tung, sodass wir leicht finden:

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

ggg..

gN−

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

h hN− hN− . . hh h hN− . . hh h h . . h. . . . . .. . . . . .

hN− hN− hN− . . h

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

fff..

fN−

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (2.47)

Page 54: Bildverarbeitung und Objekterkennung ||

2.2 Zirkularmatrizen 39

Da in der Matrix Ch die Zeilen zyklisch verschoben sind, folgt der Name Zirkularmatrix(circulant matrices). Wenn wir nicht die periodische Fortsetzung voraussetzen, sondern„außerhalb“ des Intervalles darf „irgendetwas“ stehen, dann schiebt sich das „irgendetwas“in den nächsten Zeilen ein, es entstehen die sogenannten Toeplitz-Matrizen. Zirkular-matrizen sind also spezielle Toeplitz-Matrizen. Allgemein können wir für eine beliebi-ge Toeplitzmatrix T die Bedingung ti , j = ti+m , j+m ,∀m formulieren. Gilt zusätzlich nochti , j = ti+N , j bzw. ti , j = ti , j+N (Translationsinvarianz), dann wird die Toeplitzmatrix zurZirkularmatrix Z. Man kann durch eine geschickte Erweiterung der Toeplitzmatrix eineZirkularmatrix erzeugen, allerdings verdoppeln sich dann die Anzahl der Zeilen und Spal-ten. Eine Toeplitzmatrix T wird meist in der Form

T =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

t t t . . tN−t− t t . . tN−t− t

− t . . tN−. . . . . .. . . . . .

t−N t−N t−N . . t

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

(2.48)

angegeben. Eine typische Toeplitzmatrix, die in der Regel keine Zirkularmatrix ist, tritt z. B.in der Stochastik auf. Dazu fassen wir ein Bild als ein stochastisches Feld auf, d. h. das BildF stellt einen Zufallsvektor dar:

F = (X, X , . . . , XN−)T . (2.49)

Die Kovarianzmatrix oder Momentenmatrix zweiter Ordnung lautet dann:

Σ =

⎛⎜⎜⎜⎜⎝

E(X) E(XX) ⋯ E(XXN−)

E(XX) E(X ) ⋯ E(XXN−)

⋮ ⋮ ⋮ ⋮

E(XN−X) E(XN−X) ⋯ E(XN−)

⎞⎟⎟⎟⎟⎠

. (2.50)

Wenn man fordert, dass das Feld stationär im erweiterten Sinne sein soll, d. h. E(XiX j) =

ri− j , dann ist die Kovarianzmatrix eine Toeplitzmatrix.Nun können wir jeder Funktion h bezüglich der Faltung eine Zirkularmatrix Ch zuord-

nen und die Faltung mit dieser Matrix ausdrücken. Damit können wir nun automatischalle Eigenschaften der Faltung auf die Operationen mit diesen Zirkularmatrizen übertra-gen bzw. wieder „zurückübersetzen“ in die Faltung. Wie sieht z. B. die Zirkularmatrix desEinheitsimpulses aus? Dies ist die Einheitsmatrix, also Cδ = E. Spiegeln wir eine Funkti-on, dann wird die Zirkularmatrix transponiert, folglich C f R = CT

f . Die inverse Funktionf − bezüglich der Faltung existiert genau dann, wenn die Zirkularmatrix C f invertierbarist und es gilt C f − = (C f )

−. Dies heißt wiederum, die Inverse einer Zirkularmatrix mussselbst wieder eine Zirkularmatrix sein. Da die Faltung kommutativ ist f ∗ g = g ∗ f , mussdas Matrixprodukt kommutativ sein C f ⋅Cg = Cg ⋅C f und das Produkt muss selbst wieder

Page 55: Bildverarbeitung und Objekterkennung ||

40 2 Die Operationen Faltung und Korrelation

eine Zirkularmatrix sein. Für zweidimensionale diskrete Funktionen (Bilder) können wirgenauso die Zirkularmatrizen bilden. Dazu ordnenwir alle Zeilen des Bildes nacheinanderin einem Spaltenvektor an, wir nehmen an, die Dimension des Bildes sei M ,N , dann hatdieser die Länge L = M ⋅N und die Zirkularmatrix die Dimension (L, L), wobei diese sichzirkular zusammensetzt aus den Zirkularmatrizen der Zeilenvektoren h j , j = , . . . ,M − des Bildes h und daher auch Blockzirkularmatrizen genannt werden:

Ch =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

Ch ChM− ChM− . . Ch

Ch Ch ChN− . . ChCh Ch Ch . . Ch

. . . . . .

. . . . . .ChN− ChN− ChN− . . Ch

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (2.51)

Mit den Zirkularmatrizen haben wir eine erste numerischeMöglichkeit, Faltungsgleichun-gen zu lösen bzw. die Faltung zu invertieren. Auf Grund der großen Dimension der Zir-kularmatrizen (bei einem (, )-Pixel-Bild hat die Zirkularmatrix die Dimension(.., ..)) werden wir dies aber praktisch nicht tun. Dennoch sind die Zir-kularmatrizen theoretisch sehr hilfreich, da wir damit Wissen aus der Matrixalgebra aufdie Faltung recht einfach übertragen können. Dazu ein

Beispiel Wie wir später sehen werden, hat die inverse Faltung große praktische Bedeu-tung. Wir wollen also eine Faltungsgleichung h ∗ f = g lösen, wobei g und h gegebensind und die Funktion f gesucht ist. Diese Gleichung resultiert oft aus verrauschten Daten,d. h. es ist sehr wahrscheinlich, dass diese Gleichung überhaupt keine Lösung hat. Dannwollen wir sie eben im Sinne der kleinsten Quadrate lösen, d. h. wir suchen ein f , sodass∥h ∗ f − g∥ → Minimum gilt. Offensichtlich ist ∥Ch ⋅ f − g∥ → Minimum die Formulie-rung mit der Zirkularmatrix Ch . Wir haben also ein lineares Gleichungssystem im Sinneder kleinsten Quadrate zu lösen. Dies ist ein Standardproblem der linearen Algebra undführt auf die Gaußschen Normalengleichungen (21.32) bzw. (22.16):

A ⋅ x = b ↔ AT ⋅A ⋅ x = AT ⋅ b. (2.52)

Wir brauchen also nur mit der transponierten KoeffizientenmatrixAT die linke und rechteSeite zu multiplizieren. Dies tun wir nun auch mit der transponierten Zirkularmatrix:

Ch ⋅ f = g ↔ CTh ⋅Ch ⋅ f = CT

h ⋅ g. (2.53)

Nun „übersetzen“ wir wieder diese beiden Gleichungen in die Faltungsgleichungen

h ∗ f = g ↔ hR ∗ h ∗ f = hR ∗ g . (2.54)

Page 56: Bildverarbeitung und Objekterkennung ||

2.2 Zirkularmatrizen 41

Diese Gaußschen Faltungs-Normalengleichungen können wir auch in der Form

(h ○ h) ∗ f = g ○ h (2.55)

schreiben. Wir sehen, die Autokorrelation wird auf der linken Seite verwendet und auf derrechten Seite die Kreuzkorrelation. Wir könnten (2.55) auch als die Gaußschen Faltungs-Normalengleichungen bezeichnen.

2.2.2 Normabschätzungen und Stabilität

In vielen Anwendungen spielt die Abschätzung einer Norm ∥ f ∗ g∥p eine große Rolle. All-gemein gilt folgende Normabschätzung:

∥ f ∗ g∥r ≤ ∥ f ∥p ⋅ ∥g∥q ,p+

q= +

r, p, q, r ≥ . (2.56)

Wir sehen, für die L−Norm ist die Abschätzung korrekt, für die Euklidische Normgilt diesnicht. Häufig benötigen wir aber die Euklidische Norm. Die Zirkularmatrizen helfen unshier weiter, weil wir hier die Hilfsmittel aus der Numerik und linearen Algebra benutzenkönnen. Gegeben sei eine Matrix A und ein Vektor x, wenn dann die Ungleichung

∥A ⋅ x∥l ≤ ∥A∥k ⋅ ∥x∥l (2.57)

gilt, dann heißt die Matrixnorm ∥A∥k zur Vektornorm ∥x∥l verträglich. Für l = , d. h.zur Euklidischen Norm sind z. B. die Frobenius-Norm und die Spektralnorm verträglich,wobei die Spektralnorm die bessere Abschätzung liefert. Wenn wir dies nun für die Zirku-larmatrizen nutzen, dannmüssen wir die Matrixnormder Zirkularmatrix wieder „zurück-übersetzen“ und zwar in dem Sinne, was dies für die Funktion bedeutet. Für die Frobenius-Norm bedeutet dies z. B. ∥C f ∥ =

√N∥f∥, wodurch wir die Abschätzung

∥ f ∗ g∥ ≤√N∥ f ∥ ⋅ ∥g∥ (2.58)

für die Euklidische Norm erhalten. Eine bessere Abschätzung liefert allerdings die Spek-tralnorm ∥A∥S . Diese ist der betragsgrößte Eigenwert der Matrix A. Der betragsgrößteEigenwert einer Zirkularmatrix C f ist der betragsgrößte Fourierkoeffizient der Funktion f ,diesen bezeichnen wir mit ∥ f ∥S . Daher gilt:

∥ f ∗ g∥ ≤ ∥ f ∥S ⋅ ∥g∥. (2.59)

In denAbschn. 4.11 und 4.12 kannman nachlesen, dass für die dort benutzte Fouriertrans-formation die Beziehung

∥ f ∥S =√Nmax

k∣αk( f )∣ (2.60)

Page 57: Bildverarbeitung und Objekterkennung ||

42 2 Die Operationen Faltung und Korrelation

gilt. Für andere Fouriertransformationen könnte sich der Faktor ändern. Zwischen Eukli-discher Norm und Spektralnorm gilt dann die Abschätzung:

∥ f ∥ = ∥ f ∗ δ∥ ≤ ∥ f ∥S ⋅ ∥δ∥ = ∥ f ∥S . (2.61)

In vielen wichtigen Anwendungen spielt die Lösung einer Faltungsgleichung eine großeRolle. In der Gleichung h ∗ f = g seien h und die rechte Seite g gegeben. Gesucht ist dieFunktion f . Wenn die Faltungsinverse h− existiert, ist die Lösung formal f = h− ∗ g. Oftexistiert die Inverse nicht und die rechte Seite ist mit Fehlern behaftet, sei es durch Rau-schen oder andere Störungen. Im Abschn. 9.5 wird dies ausführlich diskutiert. Die Lösungeiner Faltungsgleichung nennt man auch deconvolution. Jetzt wollen wir aber den einfa-chen Fall betrachten, dass die Faltungsinverse h− tatsächlich existiert. Dann interessiertnur noch folgendes Problem:

Die rechte Seite g sei mit Fehlern behaftet und nicht g, sondern eine Näherung g istgegeben. Dann lösen wir die Faltungsgleichung h ∗ f = g und erhalten die Lösung f . Esentsteht sofort die Frage, wie sich der Fehler ∥g − g∥ auf den Fehler ∥ f − f ∥ der Lösungauswirkt.

Definition 2.1 (Stabile Systeme) Ein System heißt stabil, wenn „kleine“ Änderungen desInputs (hier die rechte Seite) nur „kleine“Änderungen desOutputs (hier die Lösung) bewirken.

Das Wort „kleine“ ist sehr relativ und sollte irgendwie quantitativ beurteilbar sein. Dawir unsere Faltungsgleichungen auch mit Zirkularmatrizen beschreiben können und dieFaltungsgleichung damit weiter nichts als ein lineares Gleichungssystem darstellt, entneh-men wir dazu die Hilfsmittel aus der numerischen linearen Algebra. Gegeben sei statt derFaltungsgleichung ein lineares Gleichungssystem:

Ax = b ↔ Ax = b. (2.62)

Daraus folgt sofort:

x − x = A− ⋅ (b − b). (2.63)

Unter Benutzung der Rechenregel (2.57) für verträglicheMatrixnormen erhalten wir sofortdie Abschätzung:

∥x − x∥ ≤ ∥A−∥ ⋅ ∥(b − b)∥. (2.64)

Wir haben mit der Norm der inversen Matrix eine quantitative Abschätzung gefunden.Allerdings haben wir den absoluten Fehler abgeschätzt, besser ist es, dafür den relativenFehler zu benutzen. Wir benutzen dazu

∥b∥ = ∥Ax∥ ≤ ∥A∥ ⋅ ∥x∥ → ∥x∥ ≥∥b∥∥A∥

(2.65)

Page 58: Bildverarbeitung und Objekterkennung ||

2.3 LSI-Operatoren 43

und schätzen Ungleichung (2.64) weiter ab:

∥x − x∥∥x∥

≤∥A−∥ ⋅ ∥(b − b)∥

∥x∥≤∥A∥∥A−∥ ⋅ ∥(b − b)∥

∥b∥. (2.66)

Die quantitative Abschätzung wird nun durch das Maß

K(A) = ∥A∥S∥A−∥S (2.67)

beschrieben und heißtKonditionszahl der MatrixA. Dabei haben wir unter allen verträg-lichen Normen die Spektralnorm als optimale Norm gewählt. Je kleiner K(A) ist, destostabiler verhält sich das System. Nun können wir dies mit den Zirkularmatrizen in die„Faltung übersetzen“. Folglich können wir bezüglich der Stabilität der Faltungsgleichungh ∗ f = g die Faltungs-Konditionszahl

K(h) = ∥h∥S ⋅ ∥h−∥S (2.68)

als Maß benutzen.Im Abschn. 4.12 wird die Konditionszahl einer Funktion bezüglich der Faltung mit

Hilfe der Fourierkoeffizienten dargestellt, siehe (4.48).DieGaußschen Faltungs-Normalen-gleichungen (2.55) sind zwar immer lösbar, aber oft instabil. Desweiteren braucht auchdie Faltungsinverse von h ○ h nicht zu existieren. Dann kann man sich der Methode derRegularisierung bedienen. ImAbschn. 22.2 wurde die Regularisierung eines linearen Glei-chungssystems beschrieben. Dies führte auf die Ersatzaufgabe (22.39). Wenn wir dafürZirkularmatrizen einsetzen, können wir wieder diese Gleichung (22.39) in die Faltung„übersetzen“ und erhalten die regularisierten Faltungs-Normalengleichungen:

(h ○ h + λδ) ∗ f = g ○ h. (2.69)

Diese regularisierten Faltungs-Normalengleichungen (2.69) treten wieder auf im Zusam-menhang mit der Bildrestauration und sind Bestandteil der Methode „Restauration unterZwang“, siehe Abschn. 9.5.2.

2.3 LSI-Operatoren

Im Folgenden wollen wir LSI-Operatoren (Linear Shift Invariant) untersuchen. In der Si-gnaltheorie werden diese oft in Bezug auf die Zeit als LTI-Systeme (Linear Time Invariant)bezeichnet. Ein Operator L ist linear, wenn

L(λ ⋅ f + μ ⋅ g) = λ ⋅ L f + μ ⋅ Lg ∀λ, μ ∈ C (2.70)

für beliebige Funktionen f und g gilt. Wir erinnern im Unterschied dazu daran, dass esauch lineare Funktionen gibt. Dabei meint man bei Polynomen, dass die höchste Potenz

Page 59: Bildverarbeitung und Objekterkennung ||

44 2 Die Operationen Faltung und Korrelation

eins ist. Lineare Funktionen stellen aber nicht unbedingt lineare Operatoren da. So isty = ax + b eine lineare Funktion, aber kein linearer Operator. Das additive Glied störtdie Linearität. Ebenso ist eine affine Abbildung x′ = Ax+b linear im Sinne einer Funktion,aber kein linearer Operator, da die Verschiebung b stört. Ohne die Verschiebung sind affi-ne Abbildungen auch lineare Operatoren. Ein simples Beispiel eines linearen Operators istder bereits eingeführte Verschiebungsoperator Sm bzw. Su . Ein weiteres einfaches Beispielist der Faltungsoperator Lg :

Lg f ∶= g ∗ f . (2.71)

Wenn wir einmal die „Nullfunktion“ einsetzen, z. B. L = L( + ) = L + L = L, sosehen wir, dass immer L = gelten muss. Ein linerarer Operator bildet also immer dasNullelement auf das Nullelement ab. Wann ist nun ein linearer Operator L noch zusätzlichverschiebungsinvariant? Wir benötigen dazu den Verschiebungsoperator, siehe (2.32). Einbeliebiger Operator L ist genau dann verschiebungsinvariant, wenn gilt:

L(Sm f ) = Sm(L f ), L(Su f ) = Su(L f ). (2.72)

Wenn wir den Operator L mit dem Verschiebungsoperator Sm bzw. Su vertauschen dür-fen, die Reihenfolge also keine Rolle spielt, dann nennen wir L verschiebungsinvariant. Istein Operator linear und verschiebungsinvariant, dann nennen wir L einen LSI-Operator.Welche Operatoren sind nun LSI-Operatoren? Dazu formulieren wir einen wichtigen Satz,den wir auch Hauptsatz der LSI-Theorie nennen könnten:

Satz 2.2 Ein beliebiger Operator L ist genau dann ein LSI-Operator, wenn er ein Faltungs-operator ist.

Beweis Der Satz zeigt uns zwei Richtungen auf. Zuerst wollen wir den einfachen Teil zeigen,wobei wir uns auf diskrete Funktionen im Beweis beschränken:

1. Ein Faltungsoperator ist ein LSI-Operator. Es ist nahezu trivial zu zeigen, dass die Faltunglinear ist. Bleibt nur die Verschiebungsinvarianz der Faltung zu zeigen:

(L f Sk g)n = ( f ∗ Sk g)n = ∑m

fm(Sk g)n−m = ∑m

fm gn−k−m

= ( f ∗ g)n−k = (Sk( f ∗ g))n = (SkL f g)n . (2.73)

Damit folgt

L f Sk g = SkL f g (2.74)

die Verschiebungsinvarianz der Faltung. Außer den elementaren algebraischen Eigen-schaften hat nun die Faltung auch noch die LSI-Eigenschaft.

Page 60: Bildverarbeitung und Objekterkennung ||

2.3 LSI-Operatoren 45

2. Ein beliebiger LSI-Operator L ist ein Faltungsoperator.Eine beliebige diskrete Funktion g mit N Stützstellen entwickeln wir nach einer Basis,wir nehmen die „triviale“ Basis, also die N Einheits-Basisfunktionen e(k) = Skδ undschreiben

g =N−∑k=

gk ⋅ e(k). (2.75)

Nun wenden wir den beliebigen LSI-Operator L auf g an und nutzen natürlich dabeidie LSI-Eigenschaft des Operators aus:

(Lg)n = ∑kgk(LSkδ)n = ∑

kgk(SkLδ)n = ∑

kgk(Lδ)n−k = (g ∗ Lδ)n . (2.76)

Als Folgerung aus dem Beweis lesen wir eine Grundgleichung ab:

Lg = g ∗ Lδ ∀g . (2.77)

Da die Faltung verschiebungsinvariant ist, sind lineare Filter, so wie wir sie eingeführt hat-ten, eigentlich LSI-Filter, also spezielle lineare Filter. Folglich ist der allgemeine Ausdruck„lineares Filter“ nicht falsch, aber es ist ein spezielles lineares Filter.

Jeder LSI-Operator L lässt sich also darstellen als Faltung des Inputs g mit der FunktionLδ. Die Funktion Lδ heißt PSF (Point Spread Function) oder Impulsantwort, welche dasErgebnis der Anwendung des Operators L auf den Einheitsimpuls δ darstellt. Dies ist eingrundlegendes Ergebnis der linearen Systemtheorie. Nun folgen einige Beispiele von LSI-Operatoren.

Beipiel 1 Die Filtermasken der linearen Filterung sind als Impulsantwort eines LSI-Operators interpretierbar. Das bekannte Sobelfilter zur Bestimmung horizontaler undvertikaler Kanten können wir nun auch so schreiben:

hx = R(Lδ) =⎛⎜⎝

− − −

⎞⎟⎠, hy = R(Lδ) =

⎛⎜⎝

− − −

⎞⎟⎠. (2.78)

Diese linearen Filter sind somit LSI-Operatoren.Die Korrelation (lineare Filterung) ist also die Faltung mit den gespiegelten Filtermas-

ken. Wie sehen dann aber lineare Filter aus, die wirklich nur lineare Operatoren darstellenund nicht verschiebungsinvariant sind? Dazu greifen wir die Stelle aus dem Beweis heraus,bei dem wir die Linearität genutzt haben, aber noch nicht die Verschiebungsinvarianz:

(Lg)n = ∑kgk(LSkδ)N = ∑

kgk(Le(k))n . (2.79)

Page 61: Bildverarbeitung und Objekterkennung ||

46 2 Die Operationen Faltung und Korrelation

Das gefilterte Bild Lg lässt sich mit hi ,k ∶= (Le(k))i darstellen als

y = Lg = ∑kgkLe(k)↔ yi = ∑

kgkhi ,k (2.80)

Linearkombination der Impulsantworten Le(k). Mit h(t , u) ∶= (LSuδ)(t) ist dies im ana-logen Fall

y(t) = ∫B

g(u)h(t , u)du. (2.81)

Die Impulsantworten hängen jetzt vomOrt ab. DasWesentliche der Verschiebungsinvari-anz ist also dieOrtsunabhängigkeit dieser Impulsantworten.OhneVerschiebungsinvarianzbedeutet also lineare Filterung:Wir konstruieren aus den ortsabhängigen PSF Le(k) pro Pi-xel i eine Filtermaske, die von Pixel zu Pixel verschieden sein kann. Bei linearen Filtern,die LSI-Operatoren darstellen, haben wir also eine einzige Filtermaske, und bei linearenFiltern ohne LSI-Eigenschaft, haben wir für jedes Pixel eine mögliche andere Filtermas-ke. Nochmals zur Klarstellung: Die Filtermaske pro Pixel i ist nicht identisch mit der PSFLe(i), sondern setzt sich aus der i-ten Stelle aller PSF Le(k) zusammen. Stillschweigendhaben wir immer vorausgesetzt: die Filtermaske, egal ob sie ein LSI-Filter oder nur ein li-neares Filter darstellt, darf niemals vom konkreten Bild selbst abhängen, ansonsten stellensie nichtlineare Filter dar, siehe z. B. Abschn. 8.2.2.

Beispiel 2 Das optische System einer Kamera ist auf jeden Fall als Operator deutbar, derdas „tatsächliche“ Bild der Umwelt als Input in das aufgenommene, im Rechner abge-speicherte Bild transformiert. Da sich Lichtintensitäten addieren, können wir von einerLinearität tatsächlich ausgehen. Verschiebungsinvarianz heißt, die PSF ist unabhängig vonder Lage des Einheitsimpulses, also ortsunabhängig ist. Dazu nehmen wir das Modell derdünnen Linse an, siehe Abb. 14.2. Weiterhin nehmen wir an, dass die Blende kreisför-mig ist. Dann hat die PSF in grober Näherung die Form einer Pillendose (pill box) miteinem bestimmten Radius und einer bestimmten Höhe. Man kann nun in der geometri-schenOptik zeigen, dass dieser Radius unabhängig von der Lage desObjektpunktes in einerObjektebene, aber abhängig von der Tiefe der Objektebene ist. Folglich gilt die Verschie-bungsinvarianz nur für den Bildbereich, in demdieObjekte gleich weit entfernt sind.Wennalle Objekte im Bild sehr weit entfernt sind, können wir näherungsweise Verschiebungs-invarianz annehmen. Weiterhin kann man dies näherungsweise lokal im Bild annehmen.Damit realisiert das optische System (zumindestens näherungsweise, lokal im Bild) einenLSI-Operator und wir wissen sofort, dass dann

g = h ∗ f , h = Lδ (2.82)

die Bildaufnahme bezüglich der Unschärfe beschreiben muss. Wenn man also g im Rech-ner abgespeichert hat und h = Lδ die gemessene (oder berechnete) PSF ist, dann möchte

Page 62: Bildverarbeitung und Objekterkennung ||

2.3 LSI-Operatoren 47

man das „scharfe“ Bild f bestimmen. Es liegt also mathematisch das Problem der inversenFaltung vor.Wie sieht eine solche optische PSF eigentlich aus? In der Abb. 14.2 ist zu sehen:Wenn man die Bildebene verschiebt, wird der gleiche Objektpunkt unscharf abgebildet.Wenn wir annehmen, dass die Apertur (Blende) kreisförmig ist, dann wird der Objekt-punkt auch in einen Kreis „verschmiert“, zumindestens folgt dies aus der geometrischenOptik. Infolge anderer optischer Effekte ist dies aber in der Praxis etwas komplizierter. Imeinfachsten Fall modelliert man die PSF als Pillendose (pill box), d. h. als eine Kreisflächemit einem konstanten Funktionswert über der Kreisfläche. Häufig modelliert man sie aberals eine rotationssymmetrische Gaußfunktion

h(x , y) =

πσ e−

x+y

σ , (2.83)

wobei σ als Radius des Kreises zu deuten wäre.

Beispiel 3 Wir nehmen einmal den Verschiebungsoperator Sm und untersuchen, ob die-ser ein LSI-Operator ist. Dass dieser linear ist, ist trivial. Verschiebungsinvarianz bedeutetSkSm f = SmSk f , was auch trivialerweise gilt. Damit ist der Verschiebungsoperator tatsäch-lich ein LSI-Operator und muss sich mit der Faltung darstellen lassen:

Sm f = f ∗ Smδ . (2.84)

Beispiel 4 Jetzt wollen wir ein Beispiel angeben für einen linearen Operator, der nichtverschiebungsinvariant ist. Wir betrachten den Spiegelungsoperator R f = f R , dessen Li-nearität trivial zu zeigen ist. Die Verschiebungsinvarianz bedeutet SkR f = RSk f . Dies istaber falsch, stattdessen gilt S

−kR f = RSk f .Jetzt wollen wir einen LSI-Operator L auf eine Faltung selbst anwenden:

L( f ∗ g) = ( f ∗ g) ∗ Lδ = f ∗ (g ∗ Lδ) = f ∗ (Lg) = ( f ∗ Lδ) ∗ g = (L f ) ∗ g . (2.85)

Wir erkennen als Rechenregel, dassman den Operator an genau einen Operanden der Fal-tung „hineinziehen“ kann. Damit gilt auch

Lg = L(g ∗ δ) = (Lg) ∗ δ = g ∗ (Lδ), (2.86)

was wir aber schon kannten. Da der Verschiebungsoperator auch ein LSI-Operator ist, giltsomit auch Sm g = g ∗ Smδ. Diese Faltungsgleichung werden wir noch zur Bestimmungder Verschiebung nutzen. Beim Spiegelungsoperator hatten wir die Eigenschaft R( f ∗ g) =(R f ) ∗ (Rg) gezeigt, folglich kann er kein LSI-Operator sein. Mit den nun hergeleitetenRechenregeln können wir noch einmal die Verschiebungsinvarianz der Autokorrelationbeweisen, dazu sei g = Sm f gegeben, dann gilt:

g ○ g = Sm f ○ Sm f = Sm f ∗ R(Sm f ) = Sm( f ∗ R(Sm f ))= Sm( f ∗ S

−mR f ) = SmS−m( f ∗ R f ) = f ○ f . (2.87)

Page 63: Bildverarbeitung und Objekterkennung ||

48 2 Die Operationen Faltung und Korrelation

Beispiel 5 Wie verhält sich die Autokorrelation bei einem LSI-System g = h ∗ f ? Dies istmit unseren Rechenregeln sehr einfach herzuleiten:

g ○ g = g ∗ Rg = h ∗ f ∗ R(h ∗ f ) = h ∗ f ∗ Rh ∗ R f

= (h ∗ Rh) ∗ ( f ∗ R f )= (h ○ h) ∗ ( f ○ f ). (2.88)

Diese formale Analogie ist verblüffend und wird alsWiener-Lee-Beziehung bezeichnet.

2.4 Faltungsgleichungen im Ortsraum

2.4.1 Iterative Entfaltung

Wenn eine Faltungsgleichung h∗ f = g gegeben ist, h und g gegeben sind und f gesucht ist,dann liegt ein Problem der inversen Faltung oder deconvolution vor. Im Abschn. 9.5 wer-den wir dies als Restaurationsproblem ausfühlich behandeln. ImWesentlichen werden alleMethoden im Fourierraum durchgeführt. Kann man aber auch im Ortsraum die Funktionf berechnen? Mit Zirkularmatrizen ist dies möglich, aber der praktische Aufwand ist zuenorm. Dennoch gibt es einige numerische Hilfsmittel, um auch im Ortsraum die Faltungzu invertieren. Dazu formen wir unsere Gleichung h ∗ f = g in eine Fixpunktgleichungum:

f = f + α(g − h ∗ f ) ↔ f = (δ − αh) ∗ f + αg , α ∈ R (2.89)

und versuchen durch Iteration diese Fixpunktgleichung zu lösen. In der Bildverarbeitungwerden Modifikationen dieser Iterationen als Van Cittert-, Bially- oder Landweber-Itera-tionen bezeichnet. InAbschn. 4.13werdenwir nochmals eine Faltungs-Iteration betrachtet,allerdings formulieren wir dann ein Konvergenzkriterium im Frequenzraum. Jetzt wollenwir ein ganz simples, hinreichendes Kriterium im Ortsraum formulieren, so dass die in-verse Funktion h− existiert und die Iteration konvergiert:

Satz 2.3 Die Bedingung

N−∑l=

∣hl ∣ < ∣h∣ (2.90)

ist hinreichend dafür, dass h− bezüglich der Faltung existiert.Weiterhin erzeugt die Faltungs-Iteration

f ( j+) = (δ −hh

) ∗ f ( j) +gh

, j = , , ,⋯ (2.91)

Page 64: Bildverarbeitung und Objekterkennung ||

2.5 FIR und IIR Filter 49

mit einer beliebigen Startfunktion f () eine Funktionenfolge f ( j), die

limj→∞

f ( j) = f und g = h ∗ f (2.92)

erfüllt. Mit g = δ konvergiert die Folge gegen das inverse Element h− von h. Mit

q =N−∑i=

∣hi ∣

∣h∣(2.93)

folgt die a posteriori Fehlerabschätzung bezüglich der l oder l∞-Norm

∥ f (m) − f ∥ ≤q

− q∥ f (m−) − f (m)∥ ≤

qm

− q∥ f (() − f ()∥. (2.94)

Wenn wir folglich eine örtlich beschränkte PSF h kennen, dann ist für die Konvergenzentscheidend das Verhältnis der Filterkoeffizienten außerhalb des Koordinatenursprungszu dem Koeffizient im Koordinatenursprung h.

2.4.2 Beschränkte Entfaltungskerne

Eine weitere Möglichkeit zur Entfaltung h ∗ f = g im Ortsraum ist die folgende. Wir be-trachten zunächst nur die Invertierung der PSF h, also die Gleichung h ∗ q = δ. Da dieInverse nicht zu existieren braucht, lösen wir diese im Sinne der kleinsten Quadrate, also∥δ − h ∗ q∥ → Minimum. Da q aber den gesamten Ortsraum ausfüllen wird, haben wirnumerisch immer noch einen großen Aufwand im Ortsraum, daher beschränken wir nunden Ortsraum. Wir setzen von vornherein q so an, dass q eine bestimmte Filtergröße qBhat und außerhalb setzen wir die Koeffizienten von vornherein zu Null und bestimmennur die Koeffizienten innerhalb der Filtermaske qB und lösen nun das numerische Pro-blem ∥δ − h ∗ qB∥ → Minimum. Nach aufstellen der Gaußschen Normalengleichungenerhalten wir ein lineares Gleichungssystem von der Dimension der Filtermaske qB . Wennwir dieses Gleichungssystem gelöst haben, können wir approximativ entfalten und erhal-ten als Näherungslösung f = qB ∗ g, was numerisch eine gewöhnliche Filterung mit einerbeschränkten Filtermaske darstellt.

2.5 FIR und IIR Filter

Ein LSI-Operator ist durch die PSF Lδ eindeutig bestimmt. Je nach endlicher oder unend-licher Ausdehnung der PSF unterscheidet man

• FIR-Filter (finite impulse response) und• IIR-Filter (infinite impulse response).

Page 65: Bildverarbeitung und Objekterkennung ||

50 2 Die Operationen Faltung und Korrelation

Für das endliche, periodischeBildmodell hat diese Unterscheidung überhaupt keinen Sinn,da die Ausdehnung der PSF niemals unendlich sein kann. Daher können wir für dieseUnterscheidungnur das unendliche, diskrete oder analogeBildmodell heranziehen.Unsere„üblichen“ LSI-Filter, bei denen man die endlichen Masken angibt, sind also immer FIR-Filter h = Lδ und beziehen sich auf die Faltung y = Lx = x ∗ Lδ = x ∗ h. Wenn derInput x gegeben ist, dann bekommen wir einfach durch die Faltung des Inputs x mit h denOutput y. Die Faltung drückt also eine LSI-Abbildung x → y direkt aus. Vielleicht kannman aber die LSI-Abbildung x → y auch noch anders beschreiben? Dazu betrachten wireine sogenannte lineare Differenzengleichung mit konstanten Koeffizienten:

∑k=−∞

ak yn−k =∞

∑l=−∞

bl xn−l . (2.95)

Wir nehmen an, die diskreten Funktionen a und b haben endliche viel Funktionswerteungleich Null:

a = (. . . , , a−N , . . . , a− , a, a , . . . , aN , , . . . ) (2.96)

b = (. . . , , b−M , . . . , b− , b, b , . . . , bM , , . . . ). (2.97)

Wir sehen sofort, auf der linken und rechten Seite stehen Faltungen, d. h.

a ∗ y = b ∗ x (2.98)

beschreibt die Differenzengleichung. Wenn wir nun einen Input x vorgeben, dannmüssenwir den Output y erst aus der Differenzengleichung ausrechnen. Wenn diese Lösung ein-deutig ist, dann haben wir wieder einen Operator y = Lx ↔ x → y definiert. Die Lösungist z. B. eindeutig, wenn die Inverse von a bezüglich der Faltung existiert. Welche Eigen-schaften hat nun der Operator L, ist er etwa auch ein LSI-Operator?

Satz 2.4 Ist die Lösung y von (2.98) für jedes Input x eindeutig, dann ist der Operator Ltatsächlich ein LSI-Operator.

Beweis Der Beweis ist nahezu trivial. Da auf der linken und rechten Seite Faltungen stehenund diese selbst die LSI-Eigenschaft haben, ist auch der Operator L ein LSI-Operator. ◻

Dieser Satz impliziert nun Folgendes: Da jeder LSI-Operator durch die PSF Lδ eindeu-tig bestimmt ist, müssen wir nur diese PSF aus der Differenzengleichung bestimmen. Wirlösen für x = δ explizit oder numerisch dieDifferenzengleichung a∗y = b∗δ = b und erhal-ten als Lösung yδ = Lδ. Die Gesamtlösung ergibt sich dann einfach zu y = x ∗ yδ = x ∗ Lδ.

Die nächste wichtige Frage ist nun: Sind denn die meisten Differenzengleichungen a ∗

y = b ∗ x auch eindeutig lösbar? Einen Fall der eindeutigen Lösbarkeit kennen wir schon:Ist a = δ, dann erhalten wir unsere bekannte Faltung y = b ∗ x und bei dieser ist der Out-put y immer eindeutig. Ist dagegen a ≠ δ, dann muss das inverse Element von a bezüglich

Page 66: Bildverarbeitung und Objekterkennung ||

2.6 Schnelle Faltungen im Ortsraum 51

der Faltung existieren, wovon wir auf keinen Fall ausgehen können. Wir benötigen aberdie Eindeutigkeit der Lösung, da sonst L kein Operator ist. Wir müssen also unter denvielen, möglichen Lösungen immer eine „herausgreifen“, dies geschieht durch sogenannteAnfangsbedingungen. Das ist die gleiche Situation wie bei linearen Differentialgleichun-gen, bei denen man auch Anfangs- oder Randbedingungen stellt. Nun müssen aber dieseBedingungen konsistent zur Linearität und Verschiebungsinvarianz sein, ansonsten kannes sein, dass das System kein LSI-Operator mehr ist. Für einen linearen Operator wissenwir, dass das Nullelement auf das Nullelement abgebildet werden muss, d. h. es muss im-mer = L gelten. Diese Gleichung darf durch die gestellten Anfangsbedingungen nichtverletzt werden. Dazu betrachten wir ein simples Beispiel. Die Gleichung yn − yn− = xnist nicht eindeutig lösbar. Wir nehmen als Anfangsbedingung y = c, c ∈ R und berechnenrekursiv die Lösung für den Input x = . Dann ist y = y + = c, y = y + = c usw., d. h.yn = c, n ≥ . Damit ist = L nur möglich für c = .

Für die Verschiebungsinvarianz müssen auch ähnliche Überlegungen durchgeführtwerden, was wir aber nicht mehr tun werden.

2.6 Schnelle Faltungen im Ortsraum

Wie implementiert man nun schnelle Faltungen im Ortsraum? Dazu hat es nur Sinn dasModell D2[I , J] zu verwenden. Gegeben sei die 2D-Faltung:

gm ,n = (h ∗ f )m ,n =I−∑i=

J−

∑j=

hi , j fm−i ,n− j . (2.99)

Das Filter h heißt separierbar, wenn hi , j = xi ⋅ y j gilt, d. h. wenn sich die Filtermatrix alsTensorprodukt zweier Vektoren darstellen lässt. In diesem Falle gilt dann:

gm ,n = (h ∗ f )m ,n =M−∑i=

N−∑j=

xi y j fm−i ,n− j =M−∑i=

xi⎛

N−∑j=

y j fm−i ,n− j⎞

=M−

∑i=

xizm−i ,n . (2.100)

Praktisch heißt dies: Wir filtern zunächst die Spalten von f mit den Filterkoeffizienten yiund anschließend filtern wir das erhaltene Bild z wieder zeilenweise mit den Filterkoeffi-zienten x j . Wenn wir die Filtermaske h als MatrixH auffassen, die Werte xi und y j jeweilsin Spaltenvektoren x und y schreiben, dann können wir die Separierbarkeit auch als dyadi-sches Produkt (Tensorprodukt)H = x⋅yT schreiben. Diese Formder Separierbarkeit hattenwir schon in (2.8) und (2.9) behandelt, indem wir unter bestimmten Voraussetzungen eine2D-Faltung auf die Hintereinanderausführung zweier 1D-Faltungen zurückgeführt hatten.Nun einige Beispiele:

Page 67: Bildverarbeitung und Objekterkennung ||

52 2 Die Operationen Faltung und Korrelation

• Zwei bekannte Beispiele für separierbare Filtermasken sind das Mittelwertfilter und dasisotrope Gaußfilter:

hM =⎛⎜⎝

⎞⎟⎠=⎛⎜⎝

⎞⎟⎠⋅ ( ) , (2.101)

hG =⎛⎜⎝

, , ,, ,, , ,

⎞⎟⎠=⎛⎜⎝

,

⎞⎟⎠⋅ (, , ,) . (2.102)

Auf Grund der speziellen Struktur des Mittelwertfilters kann dieses noch effizienter im-plementiert werden, siehe Abschn. 8.1.2.

• Zur Rauschunterdrückungwerden oft Binomialfilter verwendet. Binomialfilter approxi-mieren Gaußfilter im diskreten Gitter und stellen somit eine optimale Quantisierungs-strategie von Gaußfiltern dar. Bei einem eindimensionalen Filter der Ausdehnung N + laufen die Pixelpositionen von bis N , daher ist:

P(X = k) = pk = (Nk)pkqN−k . (2.103)

Wir setzen p = / und erzeugen die zweidimensionalen Filterkoeffizienten durch Mul-tiplikation, d. h. pi , j = pi ⋅ p j. Damit ist die Filtermaske schon von der Konstruktion herseparierbar. Es gilt z. B. für ein × -Binomialfilter:

hBin =

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

⋅ ( ) . (2.104)

• Wenn wir nun andere Filter betrachten, wie ermitteln wir, ob diese separierbar sind.Wenn diese es nicht sind, was macht man dann? Dazu benutzen wir den Approxima-tionssatz bezüglich der Singulärwertzerlegung einer Matrix B = ∑

rj= σju j ⋅ vTj , siehe

Abschn. 22.3. Wenn diese Summe nur genau einen Summanden besitzt, dann ist B se-parierbar, ansonsten istB die gewichtete Summe von separierbaren Filtermasken.Wennwir den Approximationssatz beachten, dann könnenwir also die Filtermaske durch einegeringe Anzahl separierbarer Filtermasken approximieren. Dazu sind in Abschn. 22.3einige Beispiele von Filtermasken aufgeführt. Weiterhin werden im Abschn. 8.1.2 wei-tere Überlegungen zur schnellen Implementierung ausgeführt.

Page 68: Bildverarbeitung und Objekterkennung ||

3Bildtransformationen

3.1 Grundlagen und Basissysteme

DasWort Fouriertransformation(en) werden wir im Folgendenmit FT abkürzen, sie ist be-nannt nach dem französischenMathematiker Jean Baptiste Joseph Fourier (1768–1830). InAbhängigkeit vom verwendeten Bildmodell gibt es vier FT, unterscheidet man noch eineoder mehrere unabhängige Veränderliche, so erhöht sich dies noch. Wir werden stets diekomplexe Schreibweise der FT benutzen, da sich dadurch viele Eigenschaften elegant undkompakt formulieren lassen, gleichzeitig erweitern wir die Anwendbarkeit auf komplex-wertige Funktionen. Komplexwertige Funktionen werden wir insbesondere bei Konturenverwenden. Um die komplexe Schreibweise besser zu verstehen, ist die Eulersche Formeleigentlich die Grundlage, siehe (4.1). Die folgenden Ausführungen dienen dazu, bekanntemathematischeGrundlagen aufzuschreiben, die wir imFolgenden benötigen.Wir betrach-ten einen linearen Raum H mit einem komplexwertigen Skalarprodukt:

⟨a, b⟩, a, b ∈ H∶ (3.1)

• ⟨a, a⟩ ≥ , ⟨a, a⟩ = ↔ a = ,• ⟨a, b⟩ = ⟨b, a⟩,• ⟨α ⋅ a + β ⋅ b, c⟩ = α⟨a, c⟩ + β⟨b, c⟩, α , β ∈ C,

⟨a, α ⋅ b + β ⋅ c⟩ = α⟨a, b⟩ + β⟨a, c⟩, α , β ∈ C.

Bekannte Beispiele für Skalarprodukte sind:

• Der Raum aller über B quadratisch integrierbaren, analogen Funktionen:

⟨a, b⟩ = ∫B

a(t)b(t)dt , (3.2)

53H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_3, © Springer Fachmedien Wiesbaden 2014

Page 69: Bildverarbeitung und Objekterkennung ||

54 3 Bildtransformationen

• Der Vektorraum aller N-dimensionalen Vektoren oder diskreten Funktionen mit N-Stützstellen

⟨a, b⟩ =N−∑i=

aibi . (3.3)

Wenn ⟨a, b⟩ ein Skalarprodukt ist, dann ist auch ⟨a, b⟩ ∶= c ⋅ ⟨a, b⟩, c > , c ∈ R ein Skalar-produkt. Normen von Elementen ausH kannman viele angeben, aber eine wichtige Normwird durch das Skalarprodukt ∥a∥ = ⟨a, a⟩ induziert. Zwei Vektoren a, b ∈ H heißen or-thogonal, wenn ⟨a, b⟩ = erfüllt ist. Der nächste wichtige Begriff ist der einer Basis desRaumes. Wir nennen die Menge {φk , k ∈ Z} eine Basis, wenn durch sie der ganze Raumaufgespannt wird. Die orthogonalen Basen spielen dabei die zentrale Rolle, weil bei diesenvieles einfacher wird. Die Basis heißt orthogonal, wenn

⟨φk , φl ⟩ = δk−l = δl−k (3.4)

gilt, wobei δn der Einheitsimpuls ist.Wir entwickeln einmal ein Element f nach einer end-lichen, orthonormalen Basis

f =N−∑k=

αkφk , (3.5)

dann können wir die Koeffizienten αk sofort mit den Rechenregeln des Skalarproduktesangeben:

⟨ f , φl⟩ = ⟨N−

∑k=

αkφk , φl⟩ =N−

∑k=

αk⟨φk , φl ⟩

=N−∑k=

αkδl−k = (α ∗ δ)l = αl . (3.6)

Die Koeffizienten αl = ⟨ f , φl⟩ nennt man verallgemeinerte Fourierkoeffizienten, die Ent-wicklung nach der Basis ist dann die verallgemeinerte inverse Fouriertransformation. Nunbilden wir das Skalarprodukt von f mit sich selbst:

∥ f ∥ = ⟨ f , f ⟩ = ⟨N−

∑k=

αkφk ,N−

∑l=

αl φl⟩ =N−

∑k=

N−

∑l=

αkαl δk−l

=N−∑k=

∣αk ∣ = ⟨α , α⟩ = ∥α∥ (3.7)

und erhalten die Grundgleichung

∥ f ∥ = ∥α∥, (3.8)

Page 70: Bildverarbeitung und Objekterkennung ||

3.1 Grundlagen und Basissysteme 55

welche als Parsevalsche Gleichung bezeichnet wird. Oft wird diese auch Energiegleichunggenannt, im Prinzip stellt sie die abstrakte Verallgemeinerung des Satzes des Pythagorasim rechtwinkligen Dreieck dar. Wenn keine besonderen Bemerkungen angebracht wer-den, dann gelten prinzipielle Aussagen für alle Bildmodelle, manchmal gibt es aber kleineUnterschiede, nehmen wir einmal Modell D[N]. Die Basisfunktionen φk(n) fassen wirals Spaltenvektoren auf und schreiben sie in eine Matrix φ. Ebenso fassen wir alle Koefiizi-enten αl als Elemente eine Spaltenvektors α auf, ebenso die Elemente fi als Spaltenvektorf . Dann können wir schreiben:

f = φ ⋅ α ↔ α = φT ⋅ f . (3.9)

Wir können also für das Modell D[N] die Hin-und Rücktransformation kompakt in Ma-trixschreibweise notieren, wobei φ eine unitäreMatrix ist. Alle bisherigen Ausführungengelten auch für unendlichdimensionale, orthogonale Basen, d. h. abzählbar viele Basisele-mente.Nun kannmandies speziell für analoge Funktionenweitertreiben für überabzählbarviele Basisfunktionen, das i-te Baisiselement wird zum τ-ten Basiselement:

φi(t) ↔ φ(t , τ). (3.10)

Die Summe wird zum Integral, so dass wir formal erhalten:

f = ∑iαiφi ↔ f = ∫

B

α(τ)φ(t , τ)dτ. (3.11)

Die Basisfunktionen φ(t , τ)nenntman dannBasiskern oderTransformationskern. Die Ko-effizienten α(τ) erhalten wir dann wieder durch Analogiebetrachtungen:

αi = ⟨ f , φi⟩ ↔ α(τ) = ∫B

f (η)φ(η, τ)dη. (3.12)

Die Koeffizienten α(ν) nennt man nun Spektrum bezüglich des Transformationskernesoder der stetigen (überabzählbaren) Basis φ(t , ν).

Wir setzen nun einmal f (t) in α(ν) ein, dann ergibt sich mit einer orthonormalen ste-tigen Basis:

α(ν) = ∫B

α(τ)⎧⎪⎪⎨⎪⎪⎩∫B

φ(η, τ)φ(η, ν)dη⎫⎪⎪⎬⎪⎪⎭dτ = ∫

B

α(τ)δ(ν − τ)dτ

= (α ∗ δ)(ν) = α(ν). (3.13)

Umgedreht, setzen wir nun α(ν) in f (t) ein:

f (t) = ∫B

f (η)⎧⎪⎪⎨⎪⎪⎩∫B

φ(t , τ)φ(η, τ)dτ⎫⎪⎪⎬⎪⎪⎭

dη = ∫B

f (η)δ(t − η)dη

= ( f ∗ δ)(t) = f (t). (3.14)

Page 71: Bildverarbeitung und Objekterkennung ||

56 3 Bildtransformationen

Damit erhalten wir für stetige Basen zwei Orthogonalitätsbedingungen:

δ(t − η) = ∫B

φ(t , τ)φ(η, τ)dτ (3.15)

δ(t − η) = ∫B

φ(τ, t)φ(τ, η)dτ. (3.16)

Die zweite Bedingung entspricht sonst der üblichen Forderung. Wir können diese beidenBedingungen als „Zeilenorthogonalität“ und „Spaltenorthogonalität“ interpretieren. Neh-men wir als Basiselemente einmal n-dimensionale Vektoren, die wir als Spaltenvektorenaufschreiben, dann ist Bedingung zwei die Spaltenorthogonalität, Bedingung eins die Zei-lenorthogonalität.DerUnterschied besteht aber darin, dass in diesem Falle eine Bedingungreicht, weil die andere stets daraus folgt. Nehmen wir einmal die Spaltenorthogonalität ei-ner quadratischen Matrix A an, dann gilt ATA = E. Da die inverse Matrix existiert giltweiter AT = A− und damit wieder AAT = E, was aber die Zeilenorthogonalität darstellt.Bei stetigen Basen können wir dies nicht einfach so aufschreiben, dann haben wir zwei Or-thogonalitätsbedingungen, in diesem Falle nennt man den Kern φ(t , τ) selbstadjungiert.

Mit diesen beiden Bedingungen und durch Einsetzen folgt sofort

∫B

f(t) f(t)dt = ∫B

α(ν)α(ν)dν (3.17)

und damit speziell

∫B

∣ f (t)∣dt = ∫B

∣α(ν)∣dν, (3.18)

welches die Parsevalsche Gleichung (Energiegleichung, verallgemeinerter Pythagoras) fürstetige Basen darstellt. Nun einige Beispiele für Integraltransformationen:

Beispiel 1 Mit φ(t , ν) = eπiνt erhalten wir einen selbstadjungierten Kern, der die klas-sische Fourier-Integraltransformation beschreibt. Auf Grund der totalen Symmetrie derArgumente t und ν fallen die beiden Orthogonalitätsbedingungen zu einer zusammen.Folglich ist

f (t) =+∞

∫−∞

α(ν)eπıνtdν, (3.19)

α(ν) =+∞

∫−∞

f (τ)eπiντdτ =

+∞

∫−∞

f (τ)e−πiντdτ (3.20)

die Fourier-Integraltransformation.

Page 72: Bildverarbeitung und Objekterkennung ||

3.2 Analoge Fouriertransformation im endlichen Intervall (AFT) 57

Beispiel 2 Eine andere Transformation ist die Laplace-Transformation:

α(p) =+∞

f (t)e−ptdt (3.21)

f (t) =

πi

−μ+i∞

∫−μ−i∞

α(p)e ptdp. (3.22)

Das diskrete Analogon zur Laplacetransformation ist die z-Transformation, siehe [53].

Beispiel 3 Ein weiteres Beispiel einer Integraltransformation ist dieHilbert-Transforma-tion:

β(s) = V.P.π

+∞

∫−∞

f (t)s − t

dt (3.23)

f (t) = V.P.−π

+∞

∫−∞

β(s)t − s

ds. (3.24)

Diese spielt in der Bildverabeitung eine große Rolle bei den Quadratur-Filtern. Wie mansieht (siehe Abschn. 2.1.1), lässt sich diese mit der Faltung leicht ausdrücken:

β(s) =π( f (t) ∗

t)(s) ↔ f (t) = −

π(β(s) ∗

s)(t). (3.25)

3.2 Analoge Fouriertransformation im endlichen Intervall (AFT)

Wir betrachten das Bildmodell A[, X], demnach analoge Funktionen f (x) im endlichenIntervall [, X]. Als k-te Basisfunktion wählen wir

φ(k)(x) =

√Xeπik

xX , k ∈ Z. (3.26)

Als Skalarprodukt benutzen wir

⟨ f , g⟩ =X

f (τ)g(τ)dτ. (3.27)

Page 73: Bildverarbeitung und Objekterkennung ||

58 3 Bildtransformationen

Man kann zeigen, dass diese Basisfunktionenmit dem Skalarprodukt ein vollständiges Or-thonormalsystem bilden, daher können wir wie bei allgemeinen Basisentwicklungen nacheinem Orthonormalsystem sofort aufschreiben:

f (x) =

√X

∑k=−∞

αke+πikxX ↔ αk =

√X

X

f (x)e−πikxX dx . (3.28)

Dies ist die üblicheDarstellung der Fourierreihenentwicklung (AFT) in komplexer Schreib-weise. Es sei betont: einer analogen Funktion f (x) wird ein diskretes Spektrum αk , k ∈ Z

zugeordnet:

f (x) ↔ (α−∞

, . . . , α− , α, α, . . . , α+∞). (3.29)

Wir können also formal das Spektrum selbst nicht wieder transformieren, weil es keineanaloge Funktion darstellt. Von Symmetrie kann also keine Rede sein, das Einzige, wassymmetrisch ist, ist der Faktor

X. Oft werden in der Literatur diesbezüglich unsymmetri-

sche Formen angegegeben. Betrachten wir einmal die Basisfunktionen φ(k)(x) = eπikxX ,

dann bilden diese bezüglich des Skalarproduktes ⟨ f , g⟩ = ∫X f (x)g(x)dx nur ein Or-

thogonalsystem, die Längen der Basisfunktionen sind nicht zu Eins normiert. Benutzenwir dagegen das Skalarprodukt ⟨ f , g⟩ =

X ∫X f (x)g(x)dx, dann bilden sie ein Orthonor-

malsystem. Der Faktor vor den Basisfunktionen muss also immer zu dem Faktor vor demSkalarprodukt „passen“. Damit ergibt sich die unsymmetrische AFT:

f (x) =+∞

∑k=−∞

αkeπikxX ↔ αk = ⟨ f , φ(k)⟩ =

X

X

f (x)e−πikxX dx . (3.30)

Benutzen wir andererseits die Basisfunktionen φ(k)(x) = X e

πik xX mit dem Skalarprodukt

⟨ f , g⟩ = X ∫X f (x)g(x)dx, dann bilden diese ein Orthonormalsystem. Damit ergibt sich

eine andere unsymmetrische AFT:

f (x) =X

+∞

∑k=−∞

αkeπikxX ↔ αk = ⟨ f , φ(k)⟩ =

X

f (x)e−πikxX . (3.31)

Im Folgenden benutzen wir immer die symmetrische FT mit dem „gewöhnlichen“ Skalar-produkt.

Wir bilden nun α−k und setzen voraus, dass f eine reelle Funktion ist:

α−k =

√X

X

f (x)e+πi(−k)xX dx =

√X

X

f (x)e−πikxX dx = αk . (3.32)

Page 74: Bildverarbeitung und Objekterkennung ||

3.2 Analoge Fouriertransformation im endlichen Intervall (AFT) 59

Das heißt, dass für reelle Funktionen f αk = α−k oder α−k = αk gilt.Mit diesemWissen ver-

suchen wir nun die reelle Fouriertransformation einer reellen Funktion in nicht komplexerSchreibweise herzuleiten. In der Reihenentwicklung spielen also für reelle Funktionen dieDoppelterme

γk =

√X

(αkeπikxX + αke−πik

xX ) (3.33)

die bestimmende Rolle. Mit e iφ = cos φ + i sinφ und αk = ak + ibk ergibt sich:

γk =

√X

(ak cos(πkxX) − bk sin(πk

xX)) . (3.34)

Damit können wir die Fourierreihe aufschreiben:

f (x) =

√Xα +

∑k=

(

√Xak cos(πk

xX) −

√Xbk sin(πk

xX)) . (3.35)

Für die inverse FT gilt analog:

αk = ak + ibk =

√X

X

f (x)e−πikxX

=

√X

X

f (x)(cos(πkxX) − i sin(πk

xX)) . (3.36)

Für den Real- und Imaginärteil können wir nun getrennt ablesen:

α = a, ak =

√X

X

f (x) cos(πkxX) dx ,

bk = −

√X

X

f (x) sin(πkxX) dx ∀k ≠ . (3.37)

Durch eine letzte simple Substitution erhalten wir als Endresultat die Form:

f (x) =

√X

[a

+∞

∑k=

(ak cos(πkxX) + bk sin(πk

xX))] (3.38)

mit

a =

√X

X

f (x)dx , ak =

√X

X

f (x) cos(πkxX) dx ,

bk =

√X

X

f (x) sin(πkxX) dx ∀k ≠ . (3.39)

Page 75: Bildverarbeitung und Objekterkennung ||

60 3 Bildtransformationen

Wenn nicht ausdrücklich daraufhingewiesen wird, wählen wir auch bei reellen Funktionenimmer die komplexe Schreibweise der FT. In der Physik ist es nicht üblich die Darstellung(3.38) zu benutzen, da diese die Addition einer sin- und cos-Funktion darstellt und somitetwas unübersichtlich ist. Für diese Zwecke ist es besser eine einzige sin- oder cos-Funktionmit einer Phasenverschiebung zu benutzen. Wir benutzen folglich ein Sinusoid oder einesinusoidale Größe. Mit simplen Umrechnungsformeln erhalten wir dann

f (x) =

√X

[a

+∞

∑k=

Ak sin(πkxX

+ φk)] (3.40)

mit den Amplituden Ak =√ak + bk und den Phasen tan φk = ak

bk. Ebenso kann man die

cos-Funktion benutzen, da diese auch sinusoidal ist, dann ist

f (x) =

√X

[a

+∞

∑k=

Ak cos(πkxX

+ φk)] (3.41)

mit den Amplituden Ak =√ak + bk und den Phasen tan φk = − ak

bk. Die FT für das Modell

A[X ,Y] ist wieder simpel aufzuschreiben:

f (x , y) =

√X

√Y

∑k=−∞

∑k=−∞

αk ,k e+πi(k x

X +kyY ) (3.42)

αk ,k =

√X

√Y

X

Y

f (x , y)e−πi(kxX +k

yY )dx . (3.43)

3.3 Die endliche diskrete Fouriertransformation (DFT)

Gegeben sei eine diskrete Funktion fk , k = , , . . . ,N−, die Funktionswerte können kom-plex oder reell sein. Wir stellen uns dabei gedanklich eine Abtastung einer analogen Funk-tion an N Abtaststellen vor. Die Abtaststellen nummerieren wir einfach neu durch mit denIndizes , , , . . . ,N − . Im gleichen Koordinatensystem entspricht das einer Stauchungoder Streckung der Funktion bezüglich der x-Koordinaten. Als k-te diskrete Basisfunkti-on wollen wir

φ(k)n ∶= φ(k)(n) =

√Neπik

nN (3.44)

verwenden. Mit dem Skalarprodukt

⟨ f , g⟩ =N−∑l=

fl gl (3.45)

Page 76: Bildverarbeitung und Objekterkennung ||

3.3 Die endliche diskrete Fouriertransformation (DFT) 61

bilden diese ein Orthonormalsystem. Daher schreiben wir:

fn =

√N

N−∑k=

αkeπiknN ↔ αk = ⟨ f , φ(k)⟩ =

√N

N−∑j=

f j e−πikjN . (3.46)

Wir wollen nun die DFT von einem anderen Standpunkt aus betrachten. Wir betrachtendasModell AFT und approximieren das Integral durch eine Quadraturformel, z. B. die ein-fache Rechteckregel:

X

g(x)dx ≈ h ⋅N−∑l=

g (l ⋅XN) =

XN

√X

N−∑l=

f (xl)e−πikl ⋅XN ⋅

X = C ⋅ αk . (3.47)

Bis auf einen Faktor C erhalten wir gerade die diskreten Fourierkoeffizienten. Wir sehen,dass N diskreten Funktionswerten fl genau N komplexe Fourierkoeffizienten αl zugeord-net sind:

( f, f , f, . . . , fN−) ↔ (α, α , α, . . . , αN−). (3.48)

Dies bedeutet aber nicht, dass ein bestimmter Funktionswert einem bestimmten Fourier-koeffizienten zugeordnet ist, sondern nur, dass wieder eine diskrete Funktion mit N (kom-plexen) Funktionswerten entsteht. Dies hat zur Folge, dass man dann die Fourierkoef-fizienten selbst mit der DFT transformieren kann. Die Verallgemeinerung der DFT aufFunktionen mit zwei unabhängigen Variablen (oder mehreren) ist wieder recht einfach:

fm ,n =

√M

√N

M−∑k=

N−∑l=

αk , l e+πi(mkM +n

lN ) (3.49)

αk , l =

√M

√N

M−∑m=

N−∑n=

fm ,n e−πi(kmM +l

nN ) . (3.50)

Da bei der Transformation und der inversen Transformation der Faktor immer √

Nist,

sprechen wir wieder von einer symmetrischen Form. Oft werden (wie bei der AFT) un-symmetrische Formen in der Literatur angegeben. Betrachten wir einmal die Basisfunk-tionen φ(k)n ∶= φ(k)(n) = eπik

nN , dann bilden diese bezüglich des Skalarproduktes ⟨ f , g⟩ =

∑N−l= fl gl nur ein Orthogonalsystem, die Normen der Basisfunktionen sind nicht zu Eins

normiert. Benutzen wir dagegen das Skalarprodukt ⟨ f , g⟩ = N ∑

N−l= fl gl , dann bilden sie

ein Orthonormalsystem. Der Faktor vor den Basisfunktionen muss also immer zu demFaktor vor dem Skalarprodukt „passen“. Damit ergibt sich eine unsymmetrische DFT:

fn =N−∑k=

αkeπiknN ↔ αk = ⟨ f , φ(k)⟩ =

N

N−∑j=

f j e−πikjN . (3.51)

Page 77: Bildverarbeitung und Objekterkennung ||

62 3 Bildtransformationen

Benutzen wir andererseits die Basisfunktionen φ(k)n ∶= φ(k)(n) = N e

πik nN mit dem Ska-

larprodukt ⟨ f , g⟩ = N∑N−l= fl gl , dann bilden diese ein Orthonormalsystem. Damit ergibt

sich eine andere unsymmetrische DFT:

fn =N

N−∑k=

αkeπiknN ↔ αk = ⟨ f , φ(k)⟩ =

N−∑j=

f j e−πikjN . (3.52)

Im Folgenden benutzen wir immer die symmetrische DFT (3.46) mit dem „normalen“Skalarprodukt.

3.4 Die Fourier-Integraltransformation (IFT)

Die IFTwird häufig in der Physik, Elektrotechnik und Stochastik benutzt. In der Stochastikist das Integralspektrum imWesentlichen die sogenannte charakteristische Funktion einerZufallsvariablen.

Wir betrachten das analoge Bildmodell A[−∞,+∞]. Da die harmonischenFunktionenim Intervall [, X] ein Orthonormalsystem bilden und dabei X beliebig groß sein kann,dann dürfte es doch für das unendliche Intervall auch ohne Schwierigkeiten gehen. Hierliegt der Trugschluss, auf diesem Intervall bilden die harmonischen Funktionen kein Or-thonormalsystemmehr, wir müssen uns etwas anderes einfallen lassen. Dazu gibt es zweiIdeen:

a) Wir betrachten formal den Grenzübergang X → ∞ und untersuchen was „passiert“.b) Wir versuchen ein übliches, abzählbar unendliches Basissystem auf eines mit „überab-

zählbar vielen Basisfunktionen“ zu erweitern.

3.4.1 Integraltransformation als Grenzwert

Wir betrachten die FT für das Bildmodell A[X] und beachten, dass f (x) periodisch mitX ist:

αk =

√X

X

f (x)e−πikxX dx =

√X

+

X

∫−

X

f (x)e−πikxX dx . (3.53)

Wir substituieren nun νk = kX und bezeichnen mit α(νk):

α(νk) =√X ⋅ αk =

+

X

∫−

X

f (x)e−πiνk xdx . (3.54)

Page 78: Bildverarbeitung und Objekterkennung ||

3.4 Die Fourier-Integraltransformation (IFT) 63

Wenn wir nun Δνk ∶= νk+ − νk = X setzen, dann geht die Fourierreihe

f (x) =

√X

∑k=−∞

αke+πikxX (3.55)

über in:

f (x) =∞

∑k=−∞

α(νk)e+πiνk x ⋅ Δνk . (3.56)

Jetzt lassen wir X → ∞ laufen, damit ist aber Δνk → und wir erhalten

f (x) = limΔνk→

(∞

∑k=−∞

α(νk)e+πiνk x ⋅ Δνk) =

+∞

∫−∞

α(ν)e+πiνx dν. (3.57)

als Grenzwert das uneigentliche Riemann-Integral. Genauso ist dann:

α(ν) = limX→∞

α(νk) =+∞

∫−∞

f (x)e−πiνx dx . (3.58)

Damit haben wir formal die Fourier-Integraltransformation (IFT) hergeleitet:

f (x) =+∞

∫−∞

α(ν)e+πiνx dν ↔ α(ν) =+∞

∫−∞

f (x)e−πiνx dx . (3.59)

Man beachte: jetzt haben wir analoge Frequenzen ν. Diese Form der IFT ist symmetrischbezüglich derVorfaktoren und auch symmetrisch in demSinne, dass eine analoge Funktionwieder in eine analoge Funktion überführt wird:

f (x) ↔ α(ν). (3.60)

Man kann also die Fourier-Transformierte α(ν) selbst wieder transformieren. Wie bei derAFT und der DFT gibt es auch hier bezüglich der Faktoren unsymmetrische Formen. Inder Physik wird oft mit der Kreisfrequenz ω = πν anstatt der „normalen“ Frequenz νgearbeitet. Es ist dann:

f (x) =π

∫−∞

α (ωπ

) e+iωxdω. (3.61)

Bezeichnen wir nun mit α∗(ω) ∶= √

πα( ω

π ) und lassen anschließend den ∗ wieder weg,so erhalten wir die symmetrische IFT mit der Kreisfrequenz ω:

f (x) =

√π

+∞

∫−∞

α(ω)e+iωxdω ↔ α(ω) =

√π

+∞

∫−∞

f (x)e−iωxdx . (3.62)

Page 79: Bildverarbeitung und Objekterkennung ||

64 3 Bildtransformationen

Substituieren wir dagegen α∗(ω) ∶= π α(

ωπ ), so erhalten wir eine unsymmetrische IFT

mit der Kreisfrequenz ω:

f (x) =+∞

∫−∞

α(ω)e+iωxdω ↔ α(ω) =π

+∞

∫−∞

f (x)e−iωxdx . (3.63)

Substituieren wir schließlich α∗(ω) ∶= α( ωπ ), so erhalten wir die zweite unsymmetrische

Form der IFT:

f (x) =π

+∞

∫−∞

α(ω)e+iωxdω ↔ α(ω) =+∞

∫−∞

f (x)e−iωxdx . (3.64)

Da bezüglich einer „überabzählbaren Basis“ ein Skalarprodukt mit Vorfaktoren verwendetwerden muss (analog der Abschnitte AFT und DFT), sind die unsymmetrischen Formenimmer etwas mit Vorsicht zu behandeln, wenn es um die genauen Vorfaktoren geht.

3.4.2 Integraltransformationmit stetigen Basen

Man kann die IFT auch einführen, indem wir eine überabzählbare Basis betrachten, sie-he Abschn. 3.1. Wir benötigen also selbstadjungierte Kerne. Die Basisfunktion als Kernφ(x , ν) hatten wir interpretiert als die ν-te Basisfunktion an der Stelle x. Man kann nunzeigen, dass

φ(x , ν) = e+πiνx , φ(x , ω) =

√π

e+iωx (3.65)

bezüglich des Skalarproduktes ∫∞

−∞

f (x)g(x)dx selbstadjungierte Basiskerne darstellen,d. h. konkret:

δ(t − τ) =∞

∫−∞

φ(η, t)φ(η, τ)dη =

∫−∞

e+πiη(t−τ)dη. (3.66)

Obige Bedingung impliziert:

∫−∞

e+πiηx dη = ∀x ≠ . (3.67)

Diese beiden Basiskerne führen auf die beiden symmetrischen IFT (3.59) und (3.62). ImAbschn. 3.1 hatten wir zwei Orthonormalitätsbedingungen für stetige Basen notiert, aufGrund der Symmetrie der Basiskerne fallen diese bei der IFT zu einer Bedingung zusam-men. Wenn wir vor den Kernen den Faktor ändern, dann müssen wir wieder das Skalar-produkt so ändern, dass die Faktoren zueinander „passen“, siehe auch AFT und DFT. Diesführt dann zu den beiden unsymmetrischen IFT (3.63) und (3.64).

Page 80: Bildverarbeitung und Objekterkennung ||

3.5 Die unendliche diskrete Fouriertransformation (UDFT) 65

3.5 Die unendliche diskrete Fouriertransformation (UDFT)

Wir betrachten nun das BildmodellD[−∞,+∞], d. h. wir betrachten eine diskrete Funkti-on mit dem Definitionsbereich von −∞ bis +∞ und wollen dafür eine unendliche diskreteFT herleiten. Dazu schreiben wir zunächst noch einmal die FT für das Modell A[X] auf:

f (x) =

√X

∑k=−∞

αke+πikxX ↔ αk =

√X

X

f (x)e−πikxX dx . (3.68)

Da die Funktion f (x) analog ist, aber das Spektrum αk diskret, vertauschen wir jetzt ein-fach formal die Rollen und beachten, dass X die Periode für f (x) ist:

α(ω) =

√X

∑k=−∞

gke+πikωX ↔ gk =

√X

X

∫−

X

α(ω)e−πikωX dω. (3.69)

Da die Periode nicht vorgegeben ist, wählen wir X = π und erhalten:

α(ω) =

√π

∑k=−∞

gk e+ikω ↔ gk =

√π

π

∫−π

α(ω)e−ikωdω. (3.70)

Eigentlich wären wir schon fertig. Die Hin-und Rücktransformation besitzen aber nichtdie Form der anderen FT, deshalb substituieren wir αd(ω) ∶=

√π ⋅ α(−ω) und erhalten

schließlich die Endform der UDFT:

αd(ω) =∞

∑k=−∞

gk e−ikω ↔ gk =π

π

∫−π

αd(ω)e+ikωdω. (3.71)

Diese Form der FT benötigen wir beim Beweis des Abtasttheorems für das BildmodellA[−∞,+∞].

Bemerkung: Die UDFT ist auch die z-Transformation für z = e iω , deshalb findet manoft die Bezeichnung H(e iω) anstatt αd(ω). Es sei erinnert, die z-Transformation ist dasdiskrete Analogon zur Laplace-Transformation.

Es ist natürlich nun sehr leicht, die UDFT für 2D-Bilder aufzuschreiben:

αd(ω , ω) =∞

∑k=−∞

∑k=−∞

gk ,k e−ikω−ikω (3.72)

gk ,k =

π

π

∫−π

π

∫−π

αd(ω , ω)e+ikω+ikωdωdω. (3.73)

Man beachte noch einmal: Das Spektrum einer diskreten Funktion für dieses Bildmodellist eine analoge Funktion, diesbezüglich liegt also keine Symmetrie vor. Außerdem ist dasSpektrum in der Form (3.71) periodischmit der Periode π.

Page 81: Bildverarbeitung und Objekterkennung ||

66 3 Bildtransformationen

3.6 Fourier-Mellin-Transformation (FMT)

Eine der Fouriertransformation sehr ähnliche Transformation ist die Mellin und dieFourier-Mellin Transformation, benannt nach dem finnischen Mathematiker HjalmarMellin. Sie spielt eine Rolle im Zusammenhang mit der log-polar-Transformation. Da Po-larkoordinaten verwendet werden, benutzen wir auch die Variable r für den Radius und θfür den Winkel. Die Mellin-Transformation der Funktion g lautet:

z(u) =∞

g(r)ru−dr, r ≥ , u komplex. (3.74)

Da es Konvergenzprobleme des Integrals gibt, wird auch häufig u als rein imaginär ange-nommen:

z(w) =

g(r)riw−dr, r ≥ , w reell. (3.75)

Wir substituieren einmal in (3.75) r = e−πr′

, dann ergibt sich:

z(w) =

g′(r′)e−πiwr′dr′ mit g′(r′) = −πg(e−πr′

). (3.76)

Damit sehen wir nun die klare Ähnlichkeit zur Fourier-Transformation: Die Mellin-Transformation ist die Fourier-Integraltransformation über einer exponentiellen Skalaoder invers über einer logarithmischen Skala. Die Notation r soll an den Radius in Polar-koordinaten erinnern.

Nun wollen wir zur Fourier-Mellin-Transformation übergehen, indem wir die Fourier-Transformation bezüglich des Polarwinkels ≤ θ ≤ π betrachten. Dazu benutzen wir dieunsymmetrische Fouriertransformation AFT aus Abschn. 3.2, (3.30):

αk =X

X

f (x)e−πikxX dx → αk =

π

π

f (θ)e−ikθdθ . (3.77)

Hängt nun f (θ) noch von dem Polarradius r ab, dann hängen die Fourierkoeffizientenauch von r ab:

αk(r) =π

π

f (r, θ)e−ikθdθ . (3.78)

Page 82: Bildverarbeitung und Objekterkennung ||

3.7 Hilbert-Transformation (HIT) 67

Nun wenden wir die Mellin-Transformation (3.75) auf die Funktion αk(r) an, d. h. g(r) =αk(r):

z(k ,w) =π

π

f (r, θ)e−ikθriw−dθdr. (3.79)

Die Rücktransformation ergibt sich dann zu:

f (r, θ) =∞

∫−∞

∑k=−∞

z(k ,w)e ikθ r−iwdw . (3.80)

Das Transformationspaar (3.79) und (3.80) nennt man Fourier-Mellin-Transformation.Die Rücktransformation (3.80) heißt auch log polar circular harmonic decomposition of f .Die FMT werden wir praktisch bei der signalorientierten Registrierung von Bildern ein-setzen, siehe Abschn. 19.8.4.

3.7 Hilbert-Transformation (HIT)

Die Hilberttransformation ist eine Integraltransformation, die in der Bildverarbeitung einegroße Rolle spielt.Wir definieren sie hier nur für reelle Funktionen f und nennen sie βf (s):

β f (s) =π(V.P.)

∫−∞

f (t)s − t

dt ↔ f (t) = −π(V.P.)

∫−∞

β f (s)t − s

ds. (3.81)

(V.P.) bedeutet, dass die Integrale als Cauchyscher Hauptwert zu verstehen sind. Damitkann man allgemein β = HIT( f ) und f = HIT−(β) = −HIT(β) schreiben. Weiterhinsieht man, dass die HIT sich als Faltung schreiben lässt:

β f (s) =πf (s) ∗

s↔ f (t) = −

πβ(t) ∗

t. (3.82)

Da sich die Hilberttransformation als Faltung schreiben lässt, gilt trivialerweise:

HIT( f ∗ g) = f ∗HIT(g) = HIT( f ) ∗ g . (3.83)

Es sei nun α f (ω)das Spektrumvon f und αβ(ω)das SpektrumderHilberttransformiertenβ, dann gilt folgende einfache Beziehung:

αβ(ω) = −i ⋅ sign(ω)α f (ω). (3.84)

Beide Spektren unterscheiden sich nur um eine Phasenverschiebung von ± π . Man könn-

te demnach das Spektrum von f um ± π phasenverschieben, anschließend zurücktrans-

formieren und hätte die Hilberttransformierte ausgerechnet. Für das Spektrum α f (ω) =

Page 83: Bildverarbeitung und Objekterkennung ||

68 3 Bildtransformationen

R(ω) + iI(ω) reeller Funktionen gilt α f (ω) = α f (−ω) und folglich R(−ω) = R(ω) undI(−ω) = −I(ω). Mit diesen Beziehungen können wir leicht

f (t) =π

R(ω) cosωtdω −π

I(ω) sinωtdω (3.85)

ausrechnen. Wenn wir nun die Beziehung (3.84) nutzen, dann können wir ebenso

β f (s) =π

I(ω) cosωsdω +π

R(ω) sinωsdω (3.86)

ausrechnen. Dieses Grundprinzip der beiden Gleichungen (3.85) und (3.86) nenntman tri-gonometrische Konjugation. Die Hilberttransformation werden wir noch bei Energiefilternanwenden, sieheAbschn. 6.5. Exemplarisch seien nun einige Beispiele von Funktionen undderen Hilberttransformierte angegeben:

f (t) = const ↔ β f (s) =

f (t) = δ(t) ↔ β f (s) =πs

f (t) = rect(tt

) ↔ β f (s) = −πln ∣

s − ts + t

f (t) =

+ t↔ β f (s) =

s + s

f (t) = sinc(t) ↔ β f (s) = − cos s

sf (t) = sinωt ↔ β f (s) = − cosωsf (t) = cosωt ↔ β f (s) = sinωs.

(3.87)

In der Funktionentheorie heißt ein komplexes Signal z(t) analytisch, wenn der Imaginär-teil die Hilberttransformierte des Realteils ist:

z(t) = f (t)+ iβ f (t). (3.88)

Dies bedeutet:

β f (t) = HIT( f (t)) ↔ f (t) = −HIT(β f (t)). (3.89)

Der Realteil ist dann die negative Hilberttransformierte des Imaginärteils. Für anlytischeFunktionen gelten folgende Rechenregeln:

βz(t) = β f (t) − i f (t), (3.90)

βz(t) ⋅ z(t) = z ⋅ βz(t), (3.91)z(t) ⋅ z(t) = iz(t) ⋅ βz(t) = iβz(t) ⋅ z(t), (3.92)

βz ⋅z(t) = −iz(t) ⋅ z(t). (3.93)

Page 84: Bildverarbeitung und Objekterkennung ||

3.7 Hilbert-Transformation (HIT) 69

Das Folgende beschreibt das gewöhnliche komplexe Produkt zweier analytischer Funktio-nen:

z(t) = f(t) + iβ f (t), z(t) = f(t) + iβ f (t) (3.94)

→ z(t)z(t) = [ f(t) f(t) − β f (t)β f(t)] + i [ f(t)βf (t) + β f(t) f(t)] . (3.95)

Kombiniert man nun (3.94) mit der Regel (3.93) so folgt, dass das Produkt zweier analyti-scher Signale wieder ein analytisches Signal ist:

[ f(t) ⋅ β f(t) + β f(t) ⋅ f(t)] = HIT [ f(t) ⋅ f(t) − β f(t) ⋅ β f(t)] . (3.96)

Page 85: Bildverarbeitung und Objekterkennung ||

4Grundlegende Eigenschaften derFouriertransformation

In den folgenden Abschnitten sollen wesentliche Eigenschaften der Fouriertransformationnicht nur dargestellt werden, sondern wie sie insbesondere für die Bildverarbeitung nutz-bringend verwendet werden können. Dabei werden generelle Eigenschaften für alle Typender Fouriertransformation denjenigen Eigenschaften gegenübergestellt, die nur für spezi-elle Typen der Fouriertransformation gelten.

4.1 Bezeichnungen

Im Folgenden sollen „übliche“ Bezeichnungen, Termini usw. eingeführt werden.

• Alle Fourierkoeffizienten, z. B. αk für die DFT, α(ν) für die IFT, nennt man das Fourier-Frequenzspektrum oder einfach das Spektrum der Funktion f .

• Alle Beträge der Fourierkoeffizienten, z. B. ∣αk ∣, ∣α(ν)∣ nenntman dasAmplitudenspek-trum der Funktion f .

• Alle Quadrate der Beträge der Fourierkoeffizienten, z. B. ∣αk ∣, ∣α(ν)∣ nennt man das

Leistungsspektrum oder Energiespektrum der Funktion f .• Einen Bereich von ν bis ν nennt man Bandbreite. Manchmal wird dieser auch in Ok-

taven angegeben. Ist z. B. < ν ≤ ν, dann drückt O mit ν = Oν die Bandbreite inOktaven aus.

• Da alle Fourierkoeffizienten in der Regel komplex sind, besitzen diese komplexen Zah-len in der komplexen Ebene auch Polarkoordinaten, den Radius r und den Winkel φ.DiesenWinkel nenntman Phase. Daher bilden alle Längen r das Amplitudenspektrum,und die Menge aller Winkel das Phasenspektrum. Das Spektrum setzt sich also ausAmplituden-und Phasenspektrum zusammen.

• Um sich bewusst zu werden, dass die Basisfunktionen auch etwas mit Schwingungen zutun haben, sollte man sich der Eulerschen Beziehung bedienen:

e iφ = cos φ + i sin φ → e−iφ = cosφ − i sin φ. (4.1)

71H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_4, © Springer Fachmedien Wiesbaden 2014

Page 86: Bildverarbeitung und Objekterkennung ||

72 4 Grundlegende Eigenschaften der Fouriertransformation

Die inversen Beziehungen sind dann

cos φ =e iφ + e−iφ

, sin φ =

e iφ − e−iφ

i. (4.2)

• Je nach Art der Manipulation von Fourierkoeffizienten spricht man von Tiefpassfiltern,Bandpassfiltern und Hochpassfiltern, wobei die „tiefen“, „mittleren“ und „hohen“ Fre-quenzen „durchgelassen“ werden. Ansonsten spricht man von Sperren.

• Verwendet man die Fourierkoeffizienten, so sprechenwir auch vom Frequenzraum (fre-quency domain), im Unterschied dazu vom Ortsraum (space domain). Beim Ortsraumverwendet man direkt das Signal oder Bild. In der klassischen Signaltheorie übernimmthäufig die Rolle des Ortsraumes der Zeitbereich.

• Die Fouriertransformierte der PSF (sieheAbschn. 2.3) nenntmanTransferfunktion (TF)oder auchÜbertragungsfunktion (TF).Die auf denGleichanteil normierteTransferfunk-tion nennt man optische Transferfunktion (OTF). Der Betrag der OTF wird Modulati-ons-Transferfunktion (MTF) genannt.

• Eine ideale PSF ist häufig der Einheitsimpuls und damit die MTF bzw. OTF eine kon-stante Funktion. Daher wird oft die OTF oder MTF als Kennlinie zur Beurteilung einesLSI-Systems herangezogen.

4.2 Nullter Fourierkoeffizient, Gleichanteil

Unter allen Fourierkoeffizienten nimmt der Nullte eine besondere Stellung ein. Für reelleFunktionen ist dieser Fourierkoeffizient immer reell.Wir schreiben ihn einmal für dieDFT,AFT und IFT auf:

α =

√N

N−∑l=

fl , α =

√X

X

f (x)dx , α() =+∞

∫−∞

f (x)dx . (4.3)

Wir sehen, dieser Koeffizient ist proportional zum Mittelwert der Funktion. In der Elek-trotechnik wird dieser als Gleichanteil von f bzw. als DC-Komponente (Direct Current)bezeichnet. Oft wird von typischen Bandpassfiltern gefordert, dass ihre DC-KomponenteNull sein soll. Das gefilterte Bild ist dann invariant gegenüber konstanten Grauwertaddi-tionen, da die Fouriertransformierte einer konstanten Funktion den Einheitsimpuls ergibt.

4.3 Konvergenzverhalten, Gibbssches Phänomen

Im Folgenden betrachten wirModell A1[X] und beschreiben das Konvergenzverhalten derFourierreihe. Obwohl das Konvergenzverhalten schon lange bekannt war, konnte es erst1966 von dem Mathematiker Carleson (Schweden) bewiesen werden. Erst 40 jahre später,

Page 87: Bildverarbeitung und Objekterkennung ||

4.3 Konvergenzverhalten, Gibbssches Phänomen 73

2006, erhielt er für diese Leistung den Abel-Preis, den (quasi) Nobelpreis für Mathematik.Die Fields-Medaille ist auch ein (quasi) Nobelpreis für Mathematik, der Empfänger darfaber nicht älter als 40 Jahre sein. Damit kommt der Abel-Preis demNobelpreis etwas näher.

Da wir den Raum L[X] und die vollständige Basis der harmonischen Funktionen be-trachtet haben,muss die Konvergenz im quadratischenMittel erfolgen. Aber was heißt diesnun genauer, wann liegt punktweise Konvergenz vor, wann gleichmäßige Konvergenz undwie schnell konvergieren die Teilsummen?

Lemma 4.1 Es gelten folgende Aussagen zum Konvergenzverhalten:

1. Wenn die Funktion im Intervall [, X] von beschränkter, totaler Variation ist (d. h. siedarf nicht „zu sehr schwingen“), dann liegt punktweise Konvergenz vor. Bei Unstetigkeits-stellen, diese dürfen nur Sprünge sein, konvergieren die Teilsummen gegen das Mittel ausrechtsseitigem und linksseitigem Grenzwert der Funktion in einem Punkt x, d. h. gegenf (x) =

( f−(x) + f +(x)).

2. Wenn die Funktion (mindestens einmal) differenzierbar ist, dann konvergieren die Teil-summen sogar gleichmäßig gegen f .

3. Je glatter die Funktion ist, d. h. je öfter sie differenzierbar ist, desto „schneller“ konvergie-ren die Teilsummen gegen f . Ist z. B. die Funktion f r-mal differenzierbar und die r-teAbleitung stetig, dann gilt:

lim∣k∣→∞

∣k∣rαk( f ) = . (4.4)

Interessant ist der Fall, wenn die Funktion Sprünge besitzt. Dann tritt eine „Konvergenz-Kuriosität“ ein, genannt Gibbssches Phänomen oder einfach Ringing genannt. Es tretenan der Unstetigkeitsstelle sogenannte Über- und Unterschwinger auf. Das Kuriose daranist, dass diese Über- und Unterschwinger nicht verschwinden, auch nicht für k → ∞.Noch kurioser ist, dass die Höhe der Über- und Unterschwinger völlig unabhängig vonk ist, wobei sich dabei ein relativer Fehler bezogen auf die tatsächliche Sprunghöhe vonca. 18 Prozent ergibt. Dieses kuriose Verhalten liegt daran, dass wir an der Sprungstellenur punktweise Konvergenz haben und keine gleichmäßige Konvergenz. Dieses Ringinghat in der Bildverarbeitung große Bedeutung, da in Bildern häufig Kanten vorkommen,die als Sprünge von Funktionen zu deuten sind. In der Datenkompression, speziell in dermit Informationsverlust (z. B. JPEG,MPEG), möchte man eine Funktion, die in eine Reiheentwickelbar ist, durch eine endliche Teilsumme dieser Reihe approximieren. Benutzt mandabei Transformationen, die ähnlich der Fouriertransformation sind, muss man auf dasRinging achten. Besteht z. B. ein Bild aus einem schwarzen Buchstaben auf weißem Hinter-grund, ist am Rande des Buchstabens ein Sprung endlicher Höhe vorhanden.Komprimiertman dieses Bild zu stark, tritt das Gibbssche Phänomen visuell in Form von Ringing-Artefakten auf, die optisch sehr störend wirken. Da eine endliche Teilsumme weiter nichtsals ein idealer Tiefpass ist, sind als Filter oft ideale Tiefpässe nicht erwünscht, da sie die-se Ringing-Artefakte erzeugen. Dies ist bei Kompressionen von Bildern usw. zu beach-

Page 88: Bildverarbeitung und Objekterkennung ||

74 4 Grundlegende Eigenschaften der Fouriertransformation

Abb. 4.1 a Originalbild mit„natürlichen“ Kanten (z. B.bei „FFT“) und „künstlichen“Kanten (Sprung vom rechtenBildrand zum linken Bildrand.b Bei einem idealen Tiefpassdes Bildes in a entstehen nunWrap-around-Effekte undRinging-Artefakte

ten. Wenn wir Bilder komprimieren wollen, dann sind Unstetigkeitsstellen sehr störend,nicht nur wegen der Ringing-Artefakte, sondern weil das Konvergenzverhalten schlechtist, d. h. Bilder sich schlecht komprimieren lassen. Da Bilder mit der endlichen analo-gen oder diskreten Fouriertransformation immer periodisch fortgesetzt werden, könnenan den Bildrändern Sprünge entstehen. Diese Sprünge sind „künstlich“ durch die periodi-sche Fortsetzung entstanden, und keine „natürliche“ Sprünge im Bild, wie bei Kanten. DieEffekte durch diese „künstlichen“ Sprünge nennt man wrap-around-effects. Diese solltenvermieden werden, z. B. durch gespiegelte Fortsetzung des Bildes oder Anwendung vonFensterfunktionen, die Bildränder aneinander „angleichen“. Ein Beispiel für diese Effekteist in Abb. 4.1a dargestellt. Es ist schwarzer Text auf weißem Hintergrund zu sehen, also„echte“ Bildkanten. Weiterhin ist der rechte Bildteil schwarz, der linke weiß, so dass eine„künstliche“ Unstetigkeit bei periodischer Fortsetzung entsteht. Auf dieses Bild wurde nunein idealer Tiefpass angewendet. Das Ergebnis ist in Abb. 4.1b zu sehen. Um den Text sinddeutlich dieRinging-Artefakte aufgetreten.Weiterhin sind auch im linkenBildteil die Arte-fakte als wrap-around-Effekte in Erscheinung getreten. Aus den Konvergenzeigenschaftender Fourierreihen können wir für die Kompression folgendes ableiten. Bilder mit Unstetig-keitsstellen, steilen Kanten usw. lassen sich „schlecht“ komprimieren – je glatter das Bildist, umso besser können wir komprimieren.

4.4 Linearität der Fouriertransformation

Die am einfachsten zu zeigende Eigenschaft der Fouriertransformation ist die Linearität,d. h. es gilt z. B. für die DFT

αk(λ f + μg) = λ ⋅ αk( f ) + μ ⋅ αk(g), λ, μ ∈ C. (4.5)

Dies liegt in der Linearität der verwendeten Summen und Integrale begründet.

Page 89: Bildverarbeitung und Objekterkennung ||

4.5 Periodizität der Fourierkoeffizienten 75

4.5 Periodizität der Fourierkoeffizienten

DieBildmodelleA1[X] undD1[N] setzen periodische Funktionen voraus, bzw. die Fourier-transformation erzwingt die Periodizität der Funktionen. Sind nun die Fourierkoeffizientenselbst periodisch oder nicht? Untersuchen wir als erstes einmal die DFT nach (3.46):

αl =

√N

N−∑k=

fk e−πik ln . (4.6)

Dann gilt:

αl+N =

√N

N−∑k=

fk e−πik(l+N)

N =

√N

N−∑k=

fk e−πik lN ⋅ e−πik

=

√N

N−∑k=

fk e−πik lN = αl . (4.7)

Auf Grund dessen, dass e−πik = , ∀k ∈ Z, folgt die Periodizität αl+N = αl der diskretenFourierkoeffizienten. Folglich müssen wir bei der Interpretation der diskreten Fourierko-effizienten genau hinschauen, für welche Frequenzen sie eigentlich zuständig sind. Dazuein

Beispiel Wir nehmen einmal an wir haben eine diskrete Funktion mit neun Funktions-werten. Dann haben wir auch bijektiv neun diskrete Fourierkoeffizienten:

( f, f , f, f, f, f, f, f, f) ↔ (α, α , α, α, α, α, α, α, α). (4.8)

Auf Grund der Periodizität der neun diskreten Fourierkoeffizienten können wir diese auchso schreiben:

(α−, α−, α−, α− , α, α , α, α, α). (4.9)

Jetzt sehen wir deutlicher, welcher Koeffizient für welche Frequenz zuständig ist. DieGrenzfrequenz ist vier, da zu einer Frequemz zwei komplexe Fourierkoeffizienten gehören.Für die Visualisierung von Spektren ist also die zweite Variante besser, für das formale ma-thematische Rechnen die erste Variante. Wir sehen weiter, dass bei einer geraden Anzahlvon Funktionswerten ein Symmetrieproblem auftritt. Nehmen wir z. B. acht Funktions-werte, dann gehen beide Beziehungen über in:

( f , f , f, f, f, f, f, f) ↔ (α , α, α, α, α, α, α, α) (4.10)

bzw. die Interpretation mit der Periode acht:

(α−, α−, α− , α, α , α, α, α). (4.11)

Page 90: Bildverarbeitung und Objekterkennung ||

76 4 Grundlegende Eigenschaften der Fouriertransformation

Da auf Grund der Periode acht α = α− gilt, können wir auch

(α−, α−, α−, α− , α, α , α, α) (4.12)

schreiben. Auf jeden Fall ist für die vierte Frequenz nur ein komplexer Fourierkoeffizientzuständig. Auf Grund einer vernünftigen Interpretation der diskreten Fourierkoeffizientenwäre es für die inverse DFT eigentlich besser, folgendes zu schreiben:

fk =

√N

N−∑l=

αl e+πik lN ↔ fk =

√N

+N/

∑l=−N/

αl e+πik lN , N ungerade. (4.13)

Dann müssten wir aber noch für gerade N unterscheiden:

fk =

√N

N−∑l=

αl e+πik lN ↔ fk =

√N

+N/−

∑l=−N/

αl e+πik lN , N gerade. (4.14)

Auf Grund dieser Unterscheidung zwischen ungerade und gerade ist es mathematisch aufGrund der Periodizität der diskreten Fourierkoeffizienten einfacher, die Summation von bis N − wie bisher laufen zu lassen.

Sind denn nun für analoge Funktionen (Modell A1[X]) die Fourierkoeffizienten auchperiodisch?Wir schreiben analog:

αk( f ) =

√X

X

f (t)e−πik tX dt (4.15)

und nun formal analog (obwohl k + X nicht interpretierbar ist)

αk+X( f ) =

√X

X

f (t)e−πi(k+X)t

X dt

=

√X

X

f (t)e−πik tX ⋅ e−πitdt ≠ αk( f ). (4.16)

Der Grund liegt darin, dass die Beziehung e−πit = falsch ist, da t eine kontinuierlicheGröße und nicht ganzzahlig ist. Für das Modell A1[−∞,+∞] ist es ohnehin Unsinn nacheiner Periode zu suchen, da diese ja Unendlich wäre. Für diskrete Funktionen D1[−∞,+∞]sind die analogen Fourierkoeffizienten

αd(ω) =+∞

∑k=−∞

fk e−ikω (4.17)

periodisch mit π wie man leicht sieht. Dieser Fall ist aber für uns nicht so interessant. DieDFT-Koeffizienten sind also (fast) die einzigen Koeffizienten, die selbst wieder periodischsind.

Page 91: Bildverarbeitung und Objekterkennung ||

4.7 Parsevalsche Gleichung 77

4.6 Spektrum reeller Funktionen

Ist die zu transformierende Funktion f reell, so hatten wir die Eigenschaft αk = α−k bereits

hergeleitet. Diese gilt für alle Formen der FT. Dies bedeutet für das Amplitudenspektrumeines reellen Bildes, dass dieses immer spiegelsymmetrisch zum Koordinatenursprung ist.Durch eine Rotation um 180 Grad wird das Amplitudenspektrum somit wieder in sichüberführt. Für die DFT gibt es noch eine Besonderheit.Wenn N eine gerade Zahl ist, danngibt es ja nur einen Koeffizienten αN/, was ist dann mit dieser Eigenschaft? Nun, die DFThat als einzige FT die Besonderheit, dass die Fourierkoeffizienten αk selbst wieder peri-odisch mit N sind, damit gilt αN/ = α

−N/. Auf Grund unserer obigen Eigenschaft mussdann auch αN/ = α

−N/ gelten, woraus folgt, dass der Koeffizient αN/ bzw. auch α−N/

rein reell sein muss. Demzufolge besitzen endliche, reelle und diskrete Funktionen außerdem rellen α stets noch einen reellen Fourierkoeffizienten αN/ bzw. α−N/. Ist nun diereelle Funktion f noch zusätzlich eine gerade Funktion, d. h. fn = f

−n , so gilt:

αk =

√N

N−∑l=

fl e−πiklN =

√N

N−∑l=

f−l e−πik

− lN

=

√N

N−∑l=

fl e−πiklN = αk . (4.18)

Damit ist das Spektrum reeller, gerader Funktion rein reell. Ist die Funktion ungerade, d. h.fn = − f

−n , dann ist das Spektrum rein imaginär, d. h. αk = −αk . Diese Eigenschaften geltenwiederum für alle FT.

4.7 Parsevalsche Gleichung

Wir betrachten als Beispiel die DFT und bilden einmal unter Verwendung des orthonor-malen Basissystems φ(k)(n) folgendes:

⟨ f , f ⟩ =N−∑k=

∣ fk ∣ = ⟨N−∑k=

αkφ(k) ,N−∑l=

αl φ(l)⟩

= ∑k , l

αk ⋅ αl ⋅ δk−l =N−∑k=

∣αk ∣. (4.19)

Diese Gleichung wird als ParsevalscheGleichung bezeichnet, oft auch als Energiegleichungund stellt eigentlich nur die Verallgemeinerung des gewöhnlichen Satzes des Pythagorasim rechtwinkligen Dreieck dar. Wir hatten diese für allgemeine, orthonormale Basissys-teme bereits mit (3.8) kennengelernt. Diese Gleichung gilt für alle Orthonormalsysteme,demzufolge auch für alle Arten der FT. Im Grunde genommen wechseln wir von einemOrthonormalsystem zu einem anderen, was nichts anderes als eine Rotation darstellt. Bei

Page 92: Bildverarbeitung und Objekterkennung ||

78 4 Grundlegende Eigenschaften der Fouriertransformation

Rotationen bleiben die „Längen“ der Vektoren erhalten, sind invariant. Wir führen dieseInvarianten (4.19) nochmals auf:

• AFT

⟨ f , f ⟩ ∶=X

∣ f (x)∣dx =∞

∑k=−∞

∣αk ∣ = ⟨α , α⟩. (4.20)

• DFT

⟨ f , f ⟩ ∶=N−∑k=

∣ fk ∣ =N−∑k=

∣αk ∣ = ⟨α , α⟩. (4.21)

• IFT

⟨ f , f ⟩ ∶=∞

∫−∞

∣ f (x)∣dx =

∫−∞

∣α(ν)∣dν = ⟨α , α⟩. (4.22)

Wir sehen, dass die linke Seite nur noch von der Wahl des Skalarproduktes abhängt. Diesist hilfreich bei der Bestimmung eventueller Faktoren, wenn man nicht das „gewöhnliche“Skalarprodukt verwendet, insbesondere bei den unsymmetrischen FT. Die ParsevalscheGleichung für die IFT (4.22) wird oft auch Satz von Plancherel genannt.

4.8 Faltungstheorem

Eine fundamentale Eigenschaftwird imFaltungstheorem formuliert. Es beschreibt den Zu-sammenhang von Faltung und Fouriertransformation. Viele wichtige Anwendungen derFouriertransformation basieren auf dem Faltungstheorem. Wir wollen es für die DFT be-weisen.

Satz 4.2 (Faltungstheorem) Es seien zwei diskrete Funktionen f und g gegeben. Dann gilt:

αk( f ∗ g) = C ⋅ αk( f ) ⋅ αk(g), C ∈ R, (4.23)

αk( f ⋅ g) =C

⋅ (α( f ) ∗ α(g))k , C ∈ R. (4.24)

Beweis Die zweite Zeile ist dual zur ersten Zeile, wobei der Faktor C sich gerade reziprokverhält. Zunächst wollen wir zeigen, dass sich die zweite Zeile einfach aus der ersten ergibtund umgedreht. Wir benutzen dabei die Eigenschaften αk(α) = f Rk und αk(αR) = fk . Ausdem ersten Teil des Faltungstheorems folgt:

αk(α( f ) ∗ α(g)) = C ⋅ f Rk ⋅ gRk = C ⋅ ( f ⋅ g)Rk . (4.25)

Page 93: Bildverarbeitung und Objekterkennung ||

4.8 Faltungstheorem 79

Wir eliminieren die Spiegelung auf der rechten Seite:

αRk (α( f ) ∗ α(g)) = C ⋅ fk ⋅ gk = C ⋅ ( f ⋅ g)k . (4.26)

Jetzt bilden wir wieder auf der linken und rechten Seite das Spektrum:

αk(αR) = (α( f ) ∗ α(g))k = C ⋅ αk( f ⋅ g). (4.27)

Damit ist:

αk( f ⋅ g) =C(α( f ) ∗ α(g))k . (4.28)

Nun beweisen wir den ersten Teil des Faltungstheorems. Es ist:

αk( f ∗ g) =

√N

N−∑l=

(N−∑m=

fm gl−m) e−πik(l−m+m)

N

=

√N

N−∑m=

fme−πikmN

N−∑l=

gl−me−πik(l−m)

N . (4.29)

In die zweite Summe geht der Indexmmit ein, so dass die beiden Summen scheinbar nichtentkoppelt sind. Wie man aber leicht sieht, hängt die zweite Summe überhaupt nicht vomIndex m ab, eben auf Grund der Periodizität der e-Funktion und der Funktion g, sodassdie beiden Summen doch entkoppelt sind und demzufolge gilt:

αk( f ∗ g) =√N ⋅

√N

N−∑m=

fme−πikmN ⋅

√N

N−∑l=

g je−πik( j)N

=√Nαk( f ) ⋅ αk(g). (4.30)

Damit haben wir das Faltungstheorem für die DFT bewiesen und gleichzeitig die Kon-stante C =

√N berechnet. Wie ermitteln wir aber nun generell den konkreten Wert des

Faktors C? Dazu gibt es einen kleinen „Trick“. Wir können stets schreiben:

αk( f ) = αk( f ∗ δ) = C ⋅ αk( f ) ⋅ αk(δ) → C =

αk(δ). (4.31)

Wirmüssen folglich für die konkrete Fouriertransformation das Spektrum des Einheitsim-pulses ausrechnen, dieses ist immer eine reelle Konstante. Der Kehrwert dieser Konstanteist der gesuchte Faktor beim Faltungstheorem.

Page 94: Bildverarbeitung und Objekterkennung ||

80 4 Grundlegende Eigenschaften der Fouriertransformation

4.9 Spektrum der Korrelationsfunktion

Wir können nun das Faltungstheorem auf alle Beziehungen anwenden bei denen die Fal-tung auftritt. So können wir die Korrelation auf die Faltung zurückführen:

f ○ g = f ∗ gR . (4.32)

Da αk(gR) = αk(g) ist, folgt:

αk( f ○ g) = C ⋅ αk( f ) ⋅ αk(g). (4.33)

Als Spezialfall können wir nun das Spektrum der Autokorrelation angeben:

αk( f ○ f ) = C ⋅ αk( f ) ⋅ αk( f ) = C ⋅ ∣αk( f )∣. (4.34)

Dies bedeutet: das Spektrum der Autokorrelationsfunktion von f ist das Leistungsspek-trum von f . In der Literatur, insbesondere im Zusammenhang mit stationären Prozessen,wird dieser einfache Zusammenhang als Wiener-Chintchin-Theorem bezeichnet. Manch-mal wird auch (4.33) als Kreuzleistungsspektrum bezeichnet. Mit dem Faltungstheoremkann man nun viele Zusammenhänge recht simpel ausrechnen. Will man z. B. das Spek-trum der Autokorrelation des Outputs eines LSI-Systems y = h ∗ x berechnen (Wiener-Lee-Beziehung, siehe (2.88)), so ist:

αk(y ○ y) = C ⋅ ∣αk(y)∣ = αk((h ∗ x) ○ (h ∗ x)) = αk((h ○ h) ∗ (x ○ x))= C ⋅ ∣αk(h)∣ ⋅ ∣αk(x)∣ . (4.35)

Man kann also das Leistungsspektrum des Inputs eines LSI-Systems ausschließlich mitHilfe des Leistungsspektrums der PSF h in das Leistungsspektrum des Outputs des LSI-Systems überführen.

4.10 Kohärenz

Oft interessiert die Korrelation zweier komplexer Spektren. Dazu bildet man das Quadratdes komplexen Korrelationskoeffizienten (siehe (19.88)) zweier Spektren und nennt diesKohärenz (coherence). Sind z. B. zwei diskrete Spektren αk( f ) und αl(g) gegeben, dann istdie Kohärenz gleich:

coherence = ρf ,g =∣∑

N−i= αi( f ) ⋅ αi(g)∣

∑N−i= ∣αi( f )∣∑N−

i= ∣αi(g)∣. (4.36)

Page 95: Bildverarbeitung und Objekterkennung ||

4.11 Eigenwerte und Eigenfunktionen bezüglich der Faltung 81

4.11 Eigenwerte und Eigenfunktionen bezüglich der Faltung

Die Faltung hängt mit den Fourierkoeffizienten auch über ein Eigenwertproblem zusam-men. Im Folgenden notieren wir diskrete Funktionen zum Teil als Spaltenvektoren. Umdie Schreibweise zu vereinfachen, soll aus dem Zusammenhang heraus klar sein, ob es einediskrete Funktion oder ein Spaltenvektor sein soll.

Lemma 4.3 (Eigenfunktionen bei der DFT) Die diskreten Fourier-Basisfunktionen

x(k) =

√N

(, eπikN , eπi

kN , . . . , eπi

(N−)kN )

T(4.37)

mit den Fourierkoeffizienten αn(x(k)) = δk−n sindEigenfunktionen einer beliebigen diskretenFunktion f bezüglich der Faltung:

f ∗ x(k) =√N ⋅ αk( f ) ⋅ x(k) . (4.38)

Wir sehen, nur die Eigenwerte hängen von der konkreten Funktion f ab, die Eigenfunktionennicht.

Beweis Auf Grund des Faltungstheorems (siehe (4.23))

αn(h) =√Nαn( f )αn(g) (4.39)

für die Faltungsgleichung h = f ∗ g und der trivialen Eigenschaft αn(x(k)) = δn−k könnenwir schreiben:

αn( f ∗ x(k)) =√N ⋅ αn( f ) ⋅ αn(x(k)) =

√N ⋅ αn( f ) ⋅ δn−k =

√N ⋅ αk( f ) ⋅ δn−k . (4.40)

Jetzt könnenwir die linke Seite und die rechte Seite zurücktransformieren und erhalten dasgewünschte Ergebnis (4.38).

In Abschn. 2.2 haben wir gezeigt, dass jeder diskreten Funktion f genau eine Zirkular-matrix C f zuweisbar ist, damit gilt:

f ∗ x(k) = C f ⋅ x(k) . (4.41)

Dabei ist C f die der Funktion f zugeordnete Zirkularmatrix. Damit sind die Fourierko-effizienten (bis auf einen Faktor) die Eigenwerte der Zirkularmatrix C f und die Fourier-Basis-Vektoren x(k) die Eigenvektoren, wobei diese völlig unabhängig von der Funktion fsind. ◻

Eigenwertprobleme von Matrizen finden wir bei den mannigfachsten Anwendungen,oft stellt die Matrix des Eigenwertproblems eine Kovarianzmatrix dar. Eine Kovarianzma-trix ist symmetrisch und positiv semidefinit. Könnte es nun zwischen Zirkularmatrizen

Page 96: Bildverarbeitung und Objekterkennung ||

82 4 Grundlegende Eigenschaften der Fouriertransformation

und Kovarianzmatrizen einen Zusammenhang geben und damit zu unserem Faltungs-Eigenwertproblem? Wenn die Kovarianzen nicht vom Ort abhängen, dann entsteht tat-sächlich eine Zirkularmatrix. Wir bilden folglich von der Funktion f unsere bekannte Au-tokorrelation f ○ f und betrachten die Zirkularmatrix C f ○ f dieser Autokorrelationsfunkti-on. Wenn die Kovarianzen nicht vom Ort abhängen, dann ist unsere Zirkularmatrix C f ○ f

identisch (bzw. eine Schätzung) der Kovarianzmatrix des stochastischen Feldes F (wir be-trachten die Funktionswerte von f als Zufallsvariable und schreiben deshalb ein großes F).Wann hängen aber die Kovarianzen nicht vom Ort ab? In der Stochastik nennt man dieseFelder stationär im erweiterten Sinne. Aus (4.38) folgt dann:

C f ○ f ⋅ x(k) = N ⋅ ∣αk( f )∣ ⋅ x(k) . (4.42)

Da für stationäre Felder C f ○ f sogar eine Kovarianzmatrix ist, haben wir einen Fall, für denwir die Lösung des Eigenwertproblem kennen. Bei der PCA (siehe Abschn. 19.10.1) ist diesgenau die Aufgabe, für stationäre Felder haben wir durch (4.42) die Lösung für die PCAgefunden. Interessant ist dann, dass alle Eigenvektoren überhaupt nicht vom konkretenBild f abhängen, die Reihenfolge bezüglich der Größe der Eigenwerte kann sich jedochändern.

4.12 Normabschätzungen und Kondition

Zum besseren Verständnis dieses Abschnittes sollte man erst Abschn. 2.2.2 lesen. Zur Be-urteilung der Stabilität von inversen Faltungen benötigen wir oft Normabschätzungen derFaltung f ∗ g. Wir entwickeln jetzt g nach den Basisfunktionen (Vektoren x(k)):

g =N−

∑j=

α j(g) ⋅ x( j) . (4.43)

Damit erhalten wir für die Euklidische Norm:

∥ f ∗ g∥ =GGGGGGGGGGG

N−∑j=

α j(g)( f ∗ x( j))GGGGGGGGGGG

=GGGGGGGGGGG

N−∑j=

α j(g)√Nαj( f )x( j)

GGGGGGGGGGG

≤√Nmax

l∣αl( f )∣ ⋅

GGGGGGGGGGG

N−∑j=

α j(g)x( j)GGGGGGGGGGG=√Nmax

l∣αl( f )∣ ⋅ ∥g∥. (4.44)

Das ist gleichzeitig eine optimale Normabschätzung, da für Funktionen g = x( j) die Bezie-hung maxl ∣αl(x(l)∣ = ∣α j(x( j)∣ gilt und damit die Ungleichung zur Gleichung wird:

∥ f ∗ x( j)∥ =√Nmax

l∣αl( f )∣ ⋅ ∥x( j)∥. (4.45)

Page 97: Bildverarbeitung und Objekterkennung ||

4.13 Faltungs-Iterationen 83

Diese Normabschätzung benötigen wir wieder bei der inversen Faltung. Weiterhin folgt

∥a∥ = ∥a ∗ δ∥ ≤√Nmax

j∣α j(a)∣, ∥a−∥ = ∥a− ∗ δ∥ ≤

√Nmax

j∣α j(a−)∣ (4.46)

αk(δ) = αk(a ∗ a−) =

√N

=√Nαk(a)αk(a−) → αk(a−) =

N

αk(a)

. (4.47)

Daraus folgt für die Konditionszahl K(a) = ∥a∥S ⋅ ∥a−∥S (siehe (2.67)) mit der Spektral-norm ∥.∥S (siehe Abschn. 2.2.2) die Beziehung

K(a) =max j ∣α j(a)∣mink ∣αk(a)∣

. (4.48)

Gegeben sei eine Faltungsgleichung g = h ∗ f , wobei g und h gegeben sind und f gesuchtist.Wir nehmen an, die Faltungsinverse h− existiere, dann ist die Lösung f = h−∗g.Wie inAbschn. 2.2.2 ausgeführt, bestimmt die Konditionszahl die Stabilität des Systems. Je kleinerK(a) ist, desto stabiler lässt sich die Faltung invertieren. Weiterhin ist ablesbar, dass die„Schwankungsbreite“ des Amplitudenspektrums entscheidend ist.Minimal istK(a) sicherdann, wenn das Amplitudenspektrum konstant ist, dann liegen maximal stabile Systemevor. Dies können wir simulieren. Wenn wir folglich eine PSF konstruieren, indem wir aufdem Einheitskreis in der komplexen Ebene Punkte zufällig erzeugen, d. h. alle haben denBetrag Eins, aber die Phase wird zufällig gewählt (z. B. ein weiß gemachtes Bild), dann istdiese PSF bezüglich der inversen Faltung maximal stabil. Natürlich gilt dies auch für denEinheitsimpuls, er hat sogar ein konstantes Spektrum.

4.13 Faltungs-Iterationen

Wir betrachten die Faltungs-Fixpunktgleichung f = h ∗ f + g, dann können wir zeigen:

Satz 4.4 Es sei h eine diskrete Funktion der Periode N. Es konvergiert die Jacobi-Faltungs-iteration

f (m+) = h ∗ f (m) + g , m = , , . . . (4.49)

für eine beliebige Startfunktion f () immer mit

limm→∞

f (m) = f = (δ − h)− ∗ g (4.50)

und das inverse Element (δ − h)− existiert genau dann, wenn

maxk

∣αk(h)∣ <

√N

(4.51)

für die Fourierkoeffizienten αk(h) von h erfüllt ist.

Page 98: Bildverarbeitung und Objekterkennung ||

84 4 Grundlegende Eigenschaften der Fouriertransformation

Beweis In der Numerik der linearen Algebra gibt es einen Konvergenzsatz bezüglich derJacobi-Iteration bei linearen Gleichungssystemen: Als notwendiges und hinreichendesKonvergenzkriterium müssen die Beträge aller Eigenwerte der Iterationsmatrix kleinerEins sein. Da die Eigenwerte der Zirkularmatrix Ch bis auf einen Faktor aber genau diediskreten Fourierkoeffizienten sind, ergibt sich sofort obiges Konvergenzkriterium. ◻

Wenn wir von der Faltungsgleichung g = h ∗ f ausgehen, diese in eine Fixpunktglei-chung umformen

f = f + c ⋅ (g − h ∗ f ) ↔ f = (δ − c ⋅ h) ∗ f + cg (4.52)

erhalten wir als Bedingung:

maxl

∣ −√Nc ⋅ αl(h)∣ < . (4.53)

4.14 Reelle diskrete Fouriertransformation – Hartleytransformation

Für reelle Funktionen f hatten wir die Eigenschaft αk( f ) = α−k( f ) gezeigt, d. h. die Hälfte

aller diskreten Fourierkoeffizienten ist redundant. Das Spektrum als komplexe Funktionist folglich eine hermitesche Funktion (hermitian, selbstadjungiert). Selbstverständlich istauch umgekehrt das Spektrum einer hermiteschen Funktion rein reell. Bei praktischen An-wendungen brauchen wir also nur die Hälfte aller Koeffizienten zu speichern. Da dies nichtschön zu verwalten und unsymmetrisch ist, gibt es auch noch andere Ideen. Wir bildenderart eine reelle Funktion zk = G(αk), so dass aus den zk die Koeffizienten αk wiederausgerechnet werden können. Ein schönes einfaches Beispiel ist die Summe oder Differenzvon Realteil und Imaginärteil. Betrachten wir einmal die Differenz als Beispiel, also

αk = ak + ibk , zk = G(αk) = ak − bk . (4.54)

Für reelle f gilt dann z−k = ak + bk , folglich haben wir zwei Gleichungen mit zwei Unbe-

kannten und können die ak und bk aus den zk und z−k wieder ausrechnen. Speziell mit

diesem G haben wir eine totale Symmetrie:

βk = G(αk) ↔ fk = G(αk(β)). (4.55)

Wir müssen aber noch zeigen, daß sich die inverse Transformation ebenso verhält. Dazudrücken wir als erstes die βk durch die komplexen αk aus, es ist zunächst:

αk = ak + ibk (4.56)αk = ak − ibk (4.57)

Page 99: Bildverarbeitung und Objekterkennung ||

4.14 Reelle diskrete Fouriertransformation – Hartleytransformation 85

und damit

ak =αk + αk

, bk =

αk − αk

i. (4.58)

Damit wird βk zu

βk = ak − bk =αk + αk

−αk − αk

i=αk( + i) +

αk( − i). (4.59)

Nun bilden wir davon das Spektrum und nutzen für reelle f die Regeln αl(α) = fl undαl(α) = f Rl

αl(β) =

√N

N−∑m=

(αm( + i) +

αm( − i)) e−πi l

mN

=

√N

N−∑m=

αme−πi lmN +

i√N

N−∑m=

αme−πi lmN

+

√N

N−∑m=

αme−πi lmN −

i√N

N−∑m=

αme−πi lmN

=f Rl +

if Rl +

fl −

ifl . (4.60)

Damit wird aber

G(αl(β)) =f Rl −

f Rl +

fl +

fl = fl . (4.61)

Folglich haben wir die Rücktransformation gezeigt. Diese symmetrische, reelle Fourier-transformation nenntmanHartley-Transformation.Da wir bei der Transformation die Dif-ferenz aus Real- und Imaginärteil bilden, könnenwir die Transformation auch direkt in derForm

βk =

√N

N−∑m=

fm (cos πkmN

+ sin πkmN) (4.62)

fk =

√N

N−∑m=

βm (cos πkmN

+ sin πkmN) (4.63)

schreiben. Diese Basisfunktionen der Hartley-Transformation werden auch cas(z)-Funk-tionen genannt, also

cas(z) ∶= cos(z) + sin(z) =√ cos(z −

π) . (4.64)

Page 100: Bildverarbeitung und Objekterkennung ||

86 4 Grundlegende Eigenschaften der Fouriertransformation

Schreiben wir die diskreten Basisfunktionen als orthonormiertes System von Spaltenvek-toren in eineMatrixH und fassenwieder die diskreten Funktionen als Spaltenvektoren auf,so ergibt sich

β = H ⋅ f ↔ f = H ⋅ β. (4.65)

Die reelle Matrix H ist also zu sich selbst invers H− = H.

4.15 Separierbarkeit der mehrdimensionalen Fouriertransformation

Wir betrachten nun die zweidimensionale DFT:

αk , l =

√M

√N

∑m

∑n

fm ,n e−πi(kmM +l

nN )

=

√M

∑m

(e−πikmM

√N

∑nfm ,n e−πi l

nN ) . (4.66)

Das heißt, zuerst transformieren wir die Spalten des Bildes, und anschließend die Zeilendes transformierten Bildes. Damit braucht man eine zweidimensionale DFT nicht zu im-plementieren. Es reicht, zweimal eine eindimensionale DFT anzuwenden.

4.16 Implementierung der inversen Fouriertransformation

Wenn man die DFT implementiert, braucht man die Rücktransformation nicht extra zuimplementieren. Da das Spektrum αk selbst wieder eine diskrete, komplexe Funktion ist,können wir auch das Spektrum selbst wieder mit der DFT transformieren:

αl(α) =

√N

N−∑k=

αke−πil kN =

√N

N−∑k=

αke+πi(− l)k

N = f−l = f Rl . (4.67)

Das Spektrum des Spektrums ergibt folglich die gespiegelte Originalfunktion. Wir brau-chen also nur die Transformierte zu entspiegeln. Genauso sehen wir auch:

αl(αR) = fl , (4.68)

d. h. wir können auch vorher das Spektrum spiegeln. Weiterhin gilt:

αl(α) =

√N

N−∑k=

αke+πil kN = fl , (4.69)

sodass wir das Spektrum nur zu konjugieren brauchen, dann zu transformieren und wie-der konjugieren. Das letzte konjugieren fällt bei reellwertigen Funktionen f allerdings weg.

Page 101: Bildverarbeitung und Objekterkennung ||

4.17 Verschiebungstheorem 87

Die gleichen Beziehungen gelten auch für die Integraltransformation. Das Modell A1[X]fällt diesbezüglich völlig aus der Rolle, denn die Originalfunktion f (x) ist eine analo-ge Funktion, während das Spektrum diskret ist, folglich können wir nicht das Spektrumtransformieren. Bei diesem Model muss echt zwischen Hin- und Rücktransformation un-terschieden werden.

4.17 Verschiebungstheorem

Wir betrachten einmal „reine Verschiebungen“ St g(t) = g(t − t) und berechnen dasIntegralspektrum:

αSt g(ω) =∞

∫−∞

g(t − t)e−iωtdt =∞

∫−∞

g(τ)e−iω(τ+t)dτ

= e−iωt∞

∫−∞

g(τ)e−iωτdτ = αg(ω) ⋅ e−iωt . (4.70)

Verschiebungen im Ortsraum bewirken Modulationen im Frequenzraum. Nun betrach-ten wir zusätzlich zur Verschiebung im Ortsraum noch eine Modulation im Ortsraumgω ,t(t) = g(t − t)e iω t und erhalten:

αgω , t (ω) =∞

∫−∞

g(t − t)e iω t e−iωtdt =∞

∫−∞

g(t − t)e−i(ω−ω)tdt

= αg(ω − ω)e−i(ω−ω)t . (4.71)

Modulationen im Ortsraum bewirken somit Verschiebungen des Spektrums. Wenn wirz. B. reelle Funktionen betrachten, dann ist es sinnvoll, dass auch die Modulation reell ist.Dann können wir notieren:

gω(t) = g(t) cosω t = g(t)(e iω t + e−iω t

)

↔ αgω (ω) =αg(ω − ω) + αg(ω + ω)

. (4.72)

Bisher haben wir Verschiebungen und Modulationen mit der IFT beschrieben, dies giltentsprechend natürlich auch für alle anderen FT. Benutzen wir aber die DFT, dann sindeigentlich nur ganzzahlige Verschiebungen n zugelassen:

αk(Sn f ) =

√N

N−∑l=

fl−n e−πi lkN =

√N

N−∑m=

fme−πi(m+n)kN

= αk( f )e−πinkN . (4.73)

Page 102: Bildverarbeitung und Objekterkennung ||

88 4 Grundlegende Eigenschaften der Fouriertransformation

Weiterhin kann man das Verschiebungstheorem lediglich als Spezialfall des Faltungstheo-rems (4.23) auffassen, denn es gilt:

Sn f = Sn( f ∗ δ) = f ∗ Snδ ↔ αk(Sn f ) =√Nαk( f ) ⋅ αk(Snδ)

= αk( f ) ⋅ (√Nαk(Snδ)) . (4.74)

Dann muss man aber das Spektrum des verschobenen Einheitsimpulses ausrechnen.

4.18 Fouriertransformierte spezieller Funktionen

• EinheitsimpulsEgal welches Bildmodell wir wählen, der Einheitsimpuls ist wohl die wichtigste Funkti-on. Das Spektrum lässt sich leicht ausrechnen. Für die DFT, AFT und IFT ist

αk(δ) =

√N

N−∑l=

δl e−πiklN =

√N, αk(δ) =

√X, αδ(ν) = . (4.75)

In (4.75) ist das Spektrum des Einheitsimpulses zu sehen, aber es sind drei verschiede-ne Funktionen, die den Einheitsimpuls beschreiben. Die erste ist der endliche diskreteEinheitsimpuls, die zweite ist die Diracfunktion, allerdings mit periodischerWiederho-lung (Periode X), sozusagen ein Dirac-Kamm. Die dritte Funktion ist die eigentlicheDirac-Funktion. Das Spektrum des Einheitsimpulses ist folglich immer reell und kon-stant. Welche Konstante benutzt wird, lässt sich direkt ausrechnen oder wir benutzendas Faltungstheorem:

αk( f ) = αk( f ∗ δ) = C ⋅ αk( f ) ⋅ αk(δ) → αk(δ) =C. (4.76)

Die Konstante beim Faltungstheorem bestimmt folglich die Konstante des Einheitsim-pulses und umgedreht. Damit können wir nun auch den Einheitsimpuls darstellen:

DFT (Bildmodell D1[N]): δl =N

N−∑k=

eπiklN , (4.77)

AFT (Bildmodell A1[X]): δX(x) =X

∑k=−∞

eπikxX , (4.78)

IFT (Bildmodell A1[−∞,∞]): δ(x) =∞

∫−∞

eπiνx dν. (4.79)

Interessant ist, dass diese Summen/Reihen/Integrale für alle l ≠ bzw x ≠ verschwin-den müssen. In (4.77) kann man dies leicht durch die endliche geometrische Summe

Page 103: Bildverarbeitung und Objekterkennung ||

4.18 Fouriertransformierte spezieller Funktionen 89

zeigen:

N−∑k=

eπiklN =

N−∑k=

(eπilN )

k=(eπi

lN )

N−

eπi lN −

= . (4.80)

In (4.78) haben wir eine Darstellung für den Dirac-Kamm gefunden, welcher aber immathematischen Sinne „merkwürdig“ ist. Auf der linken Seite steht der Dirac-Kamm alseine Distribution, auf der rechten Seite dagegen eine „normale“ Funktionen-Reihe, diefast nirgends im üblichen Sinne konvergiert. Man kann diese Darstellung aber „retten“,wenn wir die e-Funktionen auf der rechten Seite auch als Distributionen auffassen unddie Konvergenz auch im Sinne von Distributionen interpretieren. In diesem Sinne istdiese Darstellung auch Grenzwert des Dirichletschen Integralkernes, siehe auch (7.2).Einen Dirac-Kamm können wir aber auch mit der eigentlichen Dirac-Funktion durchVerschieben und Addition der Dirac-Funktion erzeugen (δX(x) = ∑n δ(x − nX)), sodass wir eine interessante Beziehung erhalten:

δX(x) =∞

∑n=−∞

δ(x − nX) =X

∑k=−∞

eπikxX . (4.81)

Wir setzen nun einmal in (4.81) die Intervallänge zu X = und erhalten:

∑k=−∞

δ(x − k) =∞

∑l=−∞

eπi l x . (4.82)

Diese Beziehung wollen wir nun benutzen:

∑n=−∞

f (n) =∞

∑n=−∞

∫−∞

α(ν)eπinνdν⎞

⎠=

∫−∞

α(ν) [∞

∑k=−∞

eπikν] dν

=∞

∑k=−∞

∫−∞

α(ν)δ(k − ν) =∞

∑k=−∞

α(k). (4.83)

Damit erhalten wir mit Hilfe des Dirac-Kammes die Beziehung:

∑n=−∞

f (n) =∞

∑k=−∞

α(k), (4.84)

welche man Poissonsche Formel nennt. Nun wollen wir vom Dirac-Kamm das Integral-spektrum nachModell A1[−∞,∞] ausrechnen und dabei die Beziehung (4.81) nutzen.Folglich brauchen wir nur von jedem Summanden

X eπik x

X das Integralspektrum be-rechnen und erhalten unter Benutzung von (4.79):

αδX(ν) =X

∑k=−∞

δ(ν −kX). (4.85)

Page 104: Bildverarbeitung und Objekterkennung ||

90 4 Grundlegende Eigenschaften der Fouriertransformation

Wir sehen: das Integralspektrum eines Dirac-Kammes ist wieder ein Dirac-Kamm, aberauf einem „inversen Gitter“, d. h. hat der Dirac-Kamm eine grobe Auflösung, dann hatder Kamm im Spektrum eine feine Auflösung und umgekehrt. Die Anwendung desDirac-Kammes auf eine Funktion f (x) wird auch als Abtastung von f mit der idealenAbtastfunktion δX bezeichnet:

fa(x) = f (x) ⋅ δX(x) = ∑kf (x)δ(x − kX). (4.86)

Obwohl dies eine Abtastung darstellt, ist diese Funktion immer noch eine analoge,wenn auch mathematisch eine merkwürdige Funktion, nämlich die Multiplikation derFunktion mit dem Dirac-Kamm, der selbst aber eine Distribution darstellt. Wir wollennun das Integralspektrum dieser Abtastfunktion ausrechnen und benutzen dabei wie-der den Verschiebungsoperator Su f und beachten, dass das Spektrum des Produkteszweier Funktionen die Faltung der beiden Spektren ist:

α fa(ν) =X ∑

kα f (ν) ∗ S k

Xδ(ν) =

X ∑

kS k

X(α f (ν) ∗ δ(ν))

=X ∑

kα f(ν −

kX). (4.87)

Das Spektrum der Abtastfunktion ergibt sich durch Addition von Verschiebungen desanalogen Integralspektrums der abzutastenden Funktion f (x). Wenn wir nun im Ge-gensatz dazu die diskrete Funktion fd(n) = f (n ⋅ X) betrachten und deren Spektrumlaut demModellD[−∞,∞]berechnen (sieheAbschnittAbtasttheoreme), so sehenwir,dass dieses Spektrum identisch ist mit dem Integralspektrum (4.87). Das Spektrum bez.derUDFT ist nach (3.71) periodischmit π imArgument. ImAbschnittAbtasttheoremehaben wir dieses für die diskrete, abgetaste Funktion mit αd(ωT) hergeleitet, daher istdiese periodisch in νmit

T . Auch das Integralspektrum (4.87) ist tatsächlich periodischin ν mit

T (T = X), so dass beide Spektren vollständig identisch sind. Deshalb ist esgerechtfertigt, die merkwürdige Funktion (4.86) als analoge Abtastung zu bezeichnen.In der Literatur wird oft obige Vorgehensweise zum direkten Beweis des Abtastheoremsfür das unendliche Bildmodell benutzt. Die gleiche Abtastfunktion fa(x) hatten wir imAbschn. 2.1.1 im Zusammenhang mit der „gemischten“ Faltung kennengelernt.

• Konstante FunktionWir wollen nun das Spektrum einer konstanten Funktion berechnen, z. B. fl =

N:

αk( f ) =

√N

N−∑l=

√Ne−πik

lN = δk = δk . (4.88)

Das Spektrum des Einheitsimpulses ist folglich eine konstante Funktion und das Spek-trum einer konstanten Funktion ist (bis auf einen Faktor) der Einheitsimpuls.

Page 105: Bildverarbeitung und Objekterkennung ||

4.18 Fouriertransformierte spezieller Funktionen 91

• KosinusfunktionAls „triviale“ Funktion wollen wir nun die Kosinus- oder Sinusfunktion betrachten, dahier die Abhängigkeit vom Bildmodell sehr schön zu sehen ist. Wir betrachten f (x) =

cos(tx), t ∈ R, wobei t eine beliebige reelle Zahl ist. Zunächst betrachten wir das Bild-modell A1[−∞,+∞], also die Integraltransformation und berechnen das Spektrum. Esist:

αcos(tx)(ω) =∞

∫−∞

(e itx + e−i tx

) e−iωx dx =

∫−∞

e ix(t−ω)dx +

∫−∞

e−ix(ω+t)dx

= C ⋅ (δ(ω − t) + δ(ω + t)) . (4.89)

Für die Sinusfunktion erhaltenwir einen ähnlichen, aber rein imaginärenAusdruck.Umein ähnliches Ergebnis im Modell A1[X] zu erhalten, sind einige wesentliche Dinge zubeachten:– Das Spektrum ist unendlich ausgedehnt, aber diskret. Daher ist der Einheitsimpuls

im Spektrum zwar unendlich ausgedehnt, aber diskret. Folglich können wir nicht tkontinuierlich annehmen, sondern ganzzahlig t = l , l ∈ Z.

– Die Wahl des Intervalles X ist nun entscheidend. Wollen wir tatsächlich die periodi-sche Funktion cos(l x) beschreiben, dann müssen wir für X die Periode π

l wählen.– Unter diesen Voraussetzungen erhalten wir (bis auf einen Faktor C) die gleiche Dar-

stellung:

αk(cos l x) = C ⋅ (δk−l + δk+l ) . (4.90)

• RechteckfunktionWir betrachten eine gerade Rechteckfunktion der Periode X:

f (x) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Imin, wenn −X ≤ x < −XImax, wenn −X ≤ x ≤ +XImin, wenn +X < x ≤ +X

(4.91)

und verwenden deshalb die AFT mit dem Modell A1[X]. Da die Funktion reell undgerade ist, verschwinden alle Sinus-Terme und es ergibt sich:

f (x) =(Imax + Imin) +

π(Imax − Imin)

∑k=

(−)k+

k − cos [π(k − )

xX]. (4.92)

Möchte man das Spektrum einer nicht symmetrischen Rechteckfunktion ausrechnen,so brauchen wir nur eine Verschiebung d in (4.92) berücksichtigen:

f (x − d) =(Imax + Imin) +

π(Imax − Imin)

∑k=

(−)k+

k − cos[π(k − )

(x − d)X

].

(4.93)

Page 106: Bildverarbeitung und Objekterkennung ||

92 4 Grundlegende Eigenschaften der Fouriertransformation

Diese periodischeRechteckfunktionwird squarewave genannt und oftmit derVerschie-bung d = X

und Imin = −, Imax = + angegeben, dann wird (4.93) zu

f (x −X) =

π

∑k=

k −

sin [π(k − )x

X] . (4.94)

Eng verwandt mit der Rechteckfunktion ist die umgedrehte Frage: Das Spektrum seiein idealer Tiefpass, also eine spezielle Rechteckfunktion, wie lautet dann die Funktionim Ortsraum? Folglich muss diese Funktion so ähnlich aussehen wie das Spektrum in(4.92) und wird Dirichletscher Integralkern Dn(x) genannt, siehe (7.2).

• GaußfunktionFür praktische Anwendungen hat die Gaußfunktion eine große Bedeutung. Als Dichteder Normalverteilung geschrieben ergibt sich:

f (x) =

√πσ

e−x

σ ↔ α f (ω) = e−σω . (4.95)

Die Fouriertransformierte ist folglich wieder eine Gaußfunktion, allerdings verschwin-det der Faktor und die Rolle von σ vertauscht sich. Dabei haben wir die IFT (3.64)benutzt. Manchmal ist es hilfreich, die Gaußfunktion in der Form:

f (x) = e−ax↔ α f (ω) =

√πae−

ωa . (4.96)

zu verwenden. Benutzt man nicht die Kreisfrequenz, dann wird aus Symmetriegründenhäufig das Transformationspaar:

f (x) = e−πbx↔ α f (ν) =

√be−π

νb (4.97)

angegeben.• Betragsfunktion

Als Beispiel einer stetigen, aber nicht überall differenzierbaren Funktion wollen wir dieBetragsfunktion f (x) = ∣x∣ betrachten. Dabei ist das Bildmodell ganz wichtig, weil sichdie resultierenden Funktionen grundlegend unterscheiden.Wir wählenA1[π] undbe-achten, dass ∣x∣ eine gerade Funktion ist (wir verschieben gedanklich ∣x∣ um π). Dannergibt sich:

f (x) = ∣x∣ =∞

∑k=−∞

(−)k − πk

e+ikx =π−π

∑n=

cos(n + )x(n + )

. (4.98)

Page 107: Bildverarbeitung und Objekterkennung ||

4.19 Spektrum der Ableitungen 93

4.19 Spektrum der Ableitungen

Wenn wir eine Funktion ableiten – wie ändert sich dann die Fouriertransformierte derAbleitung? Wir wählen die IFT mit demModell A1[−∞,+∞]

α f (ν) =∞

∫−∞

f (τ)e−πiντdτ, f (x) =∞

∫−∞

α f (ν)e+πixνdν. (4.99)

Wir setzen im Folgenden voraus, dass f (x) entsprechend oft differenzierbar ist und dassman unter dem Integral differenzieren darf. Folglich können wir die Ableitung einfach be-rechnen zu

f ′(x) =∞

∫−∞

πiνα(ν)e+πixνdν. (4.100)

Aus dieser Darstellung können wir sofort das Spektrum der Ableitung ablesen:

α f ′(ν) = πiν ⋅ α f (ν) → α f (ν) =

πiνα f ′(ν). (4.101)

Damit gilt für die n-te Ableitung sofort:

α f (n)(ν) = (πiν)nα f (ν). (4.102)

Hohe Frequenzen werden bei den Ableitungen mehr gewichtet als niedrige Frequenzen.Bilden wir nun das Spektrum des Laplace-Operators

αΔ f (u, v) = α fxx+ f y y(u, v) = −(π)(u + v)α f (u, v). (4.103)

Im Spektralbereich heißt also eine Laplace-Filterung eine Multiplikation eines Fourierko-effizienten mit dem Quadrat des Abstandes der Frequenzen zum Koordinatenursprung.

Betrachten wir weiterhin die Heaviside’sche Sprungfunktion Θ(x) und wir berechnenderen Spektrum:

αΘ(ν) =∞

e−πiνx dx =δ(ν) +

πiν

. (4.104)

Das Integral existiert eigentlich gar nicht: das Ergebnis muss als verallgemeierte Funkti-on aufgefasst werden. Dann fällt uns der Zusammenhang zur Ableitung (4.101) für ν ≠ auf. Da das Spektrum des Einheitsimpulses Eins ist, ist dies nun das Spektrum des (un-bestimmt) integrierten Einheitsimpulses. Damit ist die Dirac-Funktion die Ableitung derHeavisideschen Sprungfunktion.

Page 108: Bildverarbeitung und Objekterkennung ||

94 4 Grundlegende Eigenschaften der Fouriertransformation

DieAbleitungs-Eigenschaften kannmannunnutzen umz. B.Differentialgleichungen zulösen. Man führt dabei die Differentialgleichung auf eine algebraische Gleichung zurück,löst diese und transformiert die Lösung zurück. Dies funktioniert aber nur, wenn für allein die Differentialgleichung eingehenden Funktionen einschließlich der gesuchten Lösungdie Spektren bezüglich der IFT auch existieren. Da dies oft nicht der Fall ist, eignet sichz. B. die Laplace-Transformation besser zum Lösen von Differentialgleichungen. Dazu ein

Beispiel Gegeben sei die Differentialgleichung

−u′′(x) + u(x) = e−∣x ∣ . (4.105)

Wir müssen voraussetzen, dass die Spektren von u(x) und e−∣x ∣ existieren. Es ist

αe−∣x ∣(ν) =

+ πν. (4.106)

Nun wollen wir eine Lösung der Differentialgleichung berechnen. Dazu benutzen wir un-sere Ableitungsregeln:

−(πiν)αu(ν) + αu(ν) =

+ πν. (4.107)

Wir klammern αu(ν) aus und lösen danach auf:

αu(ν) =

( + πν). (4.108)

Zufällig ist dies das Produkt des Spektrums von e−∣x ∣ mit sich selbst, daher können wir zurRücktransformation das Faltungstheorem anwenden und erhalten eine Autofaltung

u(x) =e−∣x ∣ ∗ e−∣x ∣ (4.109)

als eine spezielle Lösung dieser Differentialgleichung.

4.20 Periodische Bilder

In periodischenBildernwerden bestimmte Fourierkoeffizienten besonders groß sein, näm-lich diejenigen, die gerade die periodischen Verläufe beschreiben. Oft gibt es aber keinperiodisches Bild in Reinkultur, sondern es können mehrere periodische Strukturen vor-handen sein. Es gibt nun zwei Möglichkeiten:

a) Wir selektieren eine periodische Struktur, oderb)Wir entfernen jegliche periodische Struktur aus dem Bild.

Page 109: Bildverarbeitung und Objekterkennung ||

4.20 Periodische Bilder 95

Abb. 4.2 a Originalbild: Sieboder Textur mit Fehl- oderStörstellen. b Self-Filtering,cWhitening des Bildes aus a

Das Entfernen jeglicher periodischer Struktur nennen wir whitening des Bildes:

βk =αk

∣αk ∣, ∣αk ∣ ≠ , k = , . . . ,N − . (4.110)

Daswhitening wirdmanchmals auch als phase-only transformation bezeichnet. Das Ampli-tudenspektrum ∣βk ∣ des weiß-gemachten Bildes ist identisch Eins, demzufolge auch dessenLeistungsspektrum. Das Leistungsspektrum ist aber gleichzeitig das Spektrum der Auto-korrelationsfunktion. Damit ist das Spektrum der Autokorrelationsfunktion reell und kon-stant, womit die Autokorrelationsfunktion selbst der Einheitsimpuls ist. Dies bedeutet, beiVerschiebung des Bildes ist die Korrelation stets Null. Sollten in praktischen AnwendungenFourierkoeffizienten Null sein, so dass wir nicht teilen können, dann bleiben diese einfachNull.

Wenn wir nun statt durch die Beträge der Fourierkoeffizienten zu teilen, das Gegenteilmachen, nämlich mit diesen multiplizeren, so tritt auch der gegenteilige Effekt ein, die pe-riodischen Strukturen werden verstärkt, wobei sich die dominanteste periodische Struktur

Page 110: Bildverarbeitung und Objekterkennung ||

96 4 Grundlegende Eigenschaften der Fouriertransformation

durchsetzen wird:

βk = αk ⋅ ∣αk ∣ ⋅√k, k = −N/, . . . ,−,+, . . . ,N/. (4.111)

Da die hohen Frequenzen durch die Multiplikationen zu sehr gedämpft werden, bilden wireinenKorrekturfaktor, damit die verbleibende periodische Struktur nicht zu unscharfwird.

Beide Filter sind eindeutig nichtlineare Filter, da die Faktoren vomBild selbst abhängen.Daher werden solche Filter oft auch als self-filtering bezeichnet.Whitening ist demzufolgeauch self-filtering, hier bleiben wir aber beim Begriffwhitening.Whitening bzw. self-filteringkönnen beide auch praktisch genutzt werden. Betrachten wir dazu eine periodische Texturmit Störstellen, siehe Abb. 4.2a. Dann sollen diese Störstellen, falls vorhanden, detektiertwerden. Für solch einen Fall ist in Abb. 4.2b, c dieWirkung von self-filtering undwhiteningzu sehen.

4.21 Fouriertransformation für komplexe Funktionen

4.21.1 Blockmatching

In der Regel sind Bilder oder andere Signale reelle Funktionen. Man kann aber auch sinn-volle Anwendungen für komplexe Funktionen finden, siehe z. B. Abschn. 4.9. Wenn wirz. B. beim klassischenBlockmatching in der Bildverarbeitung zwei Blöcke, d. h. zwei Bildergleichzeitig bearbeiten bzw. transformieren müssen, dann können wir aus Effizienzgrün-den einen kleinen Trick benutzen. Das erste Bild f wird zum Realteil und das zweite Bildf zum Imaginärteil einer komplexen Funktion f = f + i f. Wir berechnen nun die DFTvon f und aus diesem Spektrumwieder die Spektren von f und f, es ist also nur eineDFTnötig. Es gilt:

zk = αk( f ) = αk( f + i f) = αk( f) + iαk( f) (4.112)

zk = αk( f ) = αk( f) − iαk( f) = α−k( f) − iα

−k( f). (4.113)

Damit ist:

z−k = αk( f) − iαk( f)

und wir können berechnen:

αk( f) =z−k + zk

, αk( f) =i(z−k − zk) . (4.114)

Damit haben wir also die Spektren der beiden reellen Bilder f und f wieder aus demSpektrum von f berechnet.

Page 111: Bildverarbeitung und Objekterkennung ||

4.21 Fouriertransformation für komplexe Funktionen 97

4.21.2 Trigonometrische Interpolation

Im Folgenden betrachten wir die geschlossenen Konturen von Objekten. Da diese Rand-kurven vonObjekten sind, wählen wir eine parametrische Beschreibung, z. B. (x(t), y(t)),t ∈ [, T], wobei t ein beliebiger Parameter ist. Ist der Rand diskret, dann können wir dieKonturpunkte als Paare (xk , yk), k = , , . . . ,N − aufzählen. Nun interpretieren wir bei-de Darstellungen in der komplexen Ebene, d. h. jeder Konturpunkt ist dann eine komplexeZahl. Wir können also schreiben:

z(t) = x(t) + i y(t), t ∈ [, T] oder zk = xk + i yk , k = , . . . ,N − . (4.115)

Durch diesen „Trick“ haben wir nun eine analoge oder diskrete Funktion mit nur einerunabhängigen Variablen erhalten, allerdings sind die Funktionswerte komplex. Wir kön-nen auf diese Funktionen die eindimensionale analoge oder diskrete Fouriertransforma-tion anwenden. Bisher haben wir immer die Periodizität als lästiges Übel angesehen. Indem Falle von Konturen sind die Funktionen jedoch tatsächlich periodisch. Nehmen wireinmal die obige, diskrete Darstellung der Kontur. Die Funktionswerte sind komplexe Zah-len, wobei diese die Koordinaten der Konturpunkte repräsentieren. Das Argument k, k =

, . . . ,N − ist eine Nummerierung der Konturpunkte, folglich eine Aufzählung. Wo wirdie Aufzählung beginnen, also den Startpunkt wählen, ist zunächst völlig willkürlich, dadie Funktionen tatsächlich periodisch sind. Es handelt sich dann lediglich um eine zykli-sche Verschiebung der komplexen Funktion. Wenn wir nun durch die Konturpunkte eintrigonometrisches Interpolationspolynom legen, brauchen wir nur die Darstellung (5.3)benutzen:

zk(t) =

√N

N−+k∑k=k

αk(z)eπiktT , t ∈ [, T]. (4.116)

Welches k wählen wir nun? Da wir im Gegensatz zum Abtasttheorem keine weiterenInformationen zur Verfügung haben, wählen wir das Polynom, welches uns am „vernünf-tigsten“ erscheint. Große k bewerten damit hohe Frequenzen und die Polynome werdenstark variieren, siehe Abb. 4.3. Also nehmen wir nur die niedrigsten Frequenzen mit k =

−N/, folglich:

zk(t) =

√N

+

N

∑k=− N

αk(z)eπiktT (4.117)

und damit das glatteste Polynom, siehe Abb. 4.3a. Wenn wir z. B. die Polynome (4.116) mitM Punkten diskretisieren, natürlich mit mehr Punkten als die Kontur selbst Punkte hat,

Page 112: Bildverarbeitung und Objekterkennung ||

98 4 Grundlegende Eigenschaften der Fouriertransformation

Abb. 4.3 TrigonometrischeInterpolation mit N = Stützstellen und a k = −,b k = −, c k = bezüglich(4.116)

folglich M ≫ N , so setzen wir tl = l ⋅ TM , l = , . . . ,M − in (4.116) ein und erhalten:

zk(tl) =

√N

N−+k∑k=k

αk(z)eπikl ⋅ TMT

=

√N

N−+k∑k=k

αk(z)eπiklM , l = , . . . ,M − . (4.118)

Die komplexen Zahlen zk(tl) interpretieren wir wieder als Konturpunkte und könnenso die Kontur mit neuen interpolierten Punkten darstellen. Auf diese Weise wurden auchAbb. 4.3a–c erstellt.

4.21.3 Trigonometrische Approximation

Im Folgenden gehen wir vom trigonometrischen Interpolationspolynom der diskretenKonturpunkte aus, und zwar mit k = −N/, demzufolge:

z(t) =

√N

+

N

∑k=− N

αk(z)eπiktT , t ∈ [, T]. (4.119)

Wenn wir nun sukzessive hohe Frequenzen weglassen, erhalten wir kein Interpolations-polynom mehr, sondern die Kontur wird nur noch durch ein Polynom approximiert. ImGrunde genommen ist dies weiter nichts als ein Tiefpass des Interpolationspolynoms, folg-lich:

zP(t) =

√N

+P∑k=−P

αk(z)eπiktT , < P <

N. (4.120)

Je kleiner P wird, umso „gröber“ werden die Konturen approximiert, siehe Abb. 4.4. InAbb. 4.5 sind die Tiefpässe einer realen Kontur zu sehen.

Page 113: Bildverarbeitung und Objekterkennung ||

4.21 Fouriertransformation für komplexe Funktionen 99

Abb. 4.4 Approximation derKontur mit den ersten a 3,b 10, c 50 Frequenzen – idealerTiefpass

Abb. 4.5 Trigonometrische Approximation – Ideale Tiefpässe einer realen Kontur

4.21.4 Trigonometrisches Ellipsenfitting

Eine interessante Frage ist nun: wie sieht die „gröbste“ Approximation aus? Es kommt si-cher P = nicht in Frage, also bleibt nur P = übrig:

z(t) =

√N

+∑k=−

αk(z)eπiktT =

√N

[α + α−e−πi

tT + αeπi

tT ] . (4.121)

Diese komplexe Schreibweise einer Funktion zerlegen wir wieder in Realteil und Imaginär-teil unter Benutzung der Eulerschen Formel (4.1) und erhalten die Parameterdarstellung

Page 114: Bildverarbeitung und Objekterkennung ||

100 4 Grundlegende Eigenschaften der Fouriertransformation

Abb. 4.6 TrigonometrischesEllipsenfitting und Grad derElliptizität mit a eform = ,,b eform = ,, c eform = ,nach (4.124)

einer geschlossenen Kurve:

x[Ellipse](t) =

√N

[Re(α) + Re(α + α−) ⋅ cos

πtT

+ Im(α− − α) ⋅ sin

πtT

] , (4.122)

y[Ellipse](t) =

√N

[Im(α) + Re(α − α−) ⋅ sin

πtT

+ Im(α− + α) ⋅ cos

πtT

] . (4.123)

Das ist eine bekannte parametrische Form der Darstellung einer Ellipse. Damit ist dasgröbste Polynom z(t) stets eine Ellipse und kann zum Ellipsenfitting von Konturen be-nutzt werden, siehe Abb. 4.6. Man benötigt dazu eigentlich nur zwei Fourierkoeffizientenund braucht somit nicht die vollständige DFT der Konturpunkte auszuführen. Dieses El-lipsenfitting funktioniert aber nur gut, wenn die vollständige Kontur gegeben ist – einKontursegment reicht dazu nicht aus. Ist die vollständige Kontur gegeben, dann ist die-se Methode eine sehr elegante und effektive Methode. Zusätzlich kann man sofort einMaß eform für die Elliptizität von Konturen aufstellen. Dazu nutzen wir das Leistungs-spektrum bis auf den Nullten Koeffizienten. Wir summieren (bzw. integrieren) über dasLeistungspektrum und normieren bezüglich der beiden ersten Fouerierkoeffizienten:

eform =(∑k∉{,−,} ∣αk(z)∣)(∣α−(z)∣ + ∣α

+(z)∣). (4.124)

Je größer folglich eform ist, desto unähnlicher ist das Objekt einer Ellipse. Diese Maße sindin Abb. 4.6 eingetragen und entsprechen auch unserer Vorstellung vom Grade der Ellipti-zität.

Nun wollen wir noch kurz die Kovarianz dieses Ellipsenfittings bezüglich affinen Trans-formationen zeigen. Dazu benutzen wir die komplexe Schreibweise z′ = az + bz + c eineraffinen Transformation, siehe (4.199). Wir interpretieren eine Kontur als ein Polygon, d. h.als eine geordnete Menge von Punkten z , z , . . . , zN−. Wenn nun eine affine Transforma-tion auf diese Punkte angewendet wird, erhalten wir wieder transformierte Punkte in derentprechenden geordneten Folge z′o , z′ , . . . , z′N−: dies ist im Folgenden unsere Annahme.Affin kovariantes Fitting von Ellipsen heißt, dass die beiden gefitteten Ellipsen durch diegleiche affine Transformation ineinander überführbar sind. Das Fitting beider Ellipsen be-

Page 115: Bildverarbeitung und Objekterkennung ||

4.21 Fouriertransformation für komplexe Funktionen 101

deutet dann:

z(t) =

√N

[α + α−e−πi

tN + αeπi

tN ] ,

z′(t) =

√N

[α′ + α′−e−πi t

N + α′eπi t

N ] , (4.125)

wobei die α′k die diskreten Fourierkoeffizienten der affin transformierten Punkte z′l sind.Wir müssen nun zeigen, dass die affine Transformation von z(t) genau z(t)′ ergibt. Dazubenutzen wir obige komplexe Schreibweise einer affinen Transformation, setzen in dieseBeziehung für z die Ellipse z(t) ein und erhalten:

z′(t) =

√N

[(aα + bα +√Nc) + ((aα

− + bα)e−πitN )]

+

√N

[((aα + bα−)eπi

tN )] . (4.126)

Andererseits gilt:

α′k =

√N

N−∑n=

z′ne−πik n

N =

√N

N−∑n=

(azn + bzn + c)e−πiknN

=

√Na

N−∑n=

zne−πiknN +

√Nb

N−∑n=

zn e−πiknN +

√NcN−∑n=

e−πiknN . (4.127)

Daraus folgt nun

α′ = aα + bα +√Nc , α′ = aα + bα

−, α′− = aα

− + bα. (4.128)

Genau dies wollten wir für das affine Fitting zeigen. Bei praktischen Aufgaben, obwohlaffine Transformationen vorliegen, sind die Punkte allerdings nicht affine Abbilder derPunkte der anderen Kontur. Die Anzahl der Punkte ist nicht die gleiche, im Gitter ent-stehen Diskretisierungsfehler usw. Damit unsere obigen Annahmen bezüglich der affinenInvarianz des Ellipsenfittings stimmen,mussman dieKontur affin reparametrisieren. Legtman dagegen auf die affine Invarianz keinenWert, kannman das Ellipsenfitting auch ohneReparametrisierung anwenden.

4.21.5 Normalisierung von Punktmengen

Eine Kontur ist eine geordnete Menge von Punkten, damit eine Funktion mit komplexenFunktionswerten. Von dieser Funktion können wir die diskreten Fourierkoeffizienten bil-den und mit Hilfe der sogenannten Normalisierung Invarianten der Kontur berechnen.Bevor wir die Normalisierung bei den Konturen zeigen, soll diese kurz bei ungeordnetenPunktmengen demonstriert werden, obwohl auf diese die DFT nicht angewendet werdenkann.

Page 116: Bildverarbeitung und Objekterkennung ||

102 4 Grundlegende Eigenschaften der Fouriertransformation

Definition 4.5 Ungeordnete Punktmengen sind Punktmengen bei denen die Aufzählung derPunkte keine Rolle spielt.

Geordnete Punktmengen unterliegen einer Ordnung bezüglich der Aufzählung derPunkte, z. B. die Eckpunkte von Polygonen. Konturen sind spezielle Polygone. Wir be-trachten eine Menge von Punkten in der Ebene:

(xk , yk), k = , , . . . ,N − ↔ zk = xk + i yk , k = , , . . . ,N − . (4.129)

Aus dem Zusammenhang soll immer hervorgehen, ob diese geordnet ist oder nicht. Wennwir z. B. eine diskrete Kontur vorliegen haben, dann nummerieren wir einfach die Kontur-punkte im mathematisch positiven Umlaufsinn durch, beginnend bei irgendeinem Kon-turpunkt oder bei einem Polygon mit einem Polygon-Eckpunkt. Weiter nehmen wir imFolgenden an, dass die durch eine geometrische Transformation entstehende Kontur oderPunktmenge auch tatsächlich so vorliegt, nämlich als Transformation dieser Punkte unddass wir genau beim transformierten Startpunkt die Aufzählung auch wieder beginnen.Später werden wir zeigen, wie diese praktisch nicht einhaltbaren Voraussetzungen behan-delt werden. Insbesondere bei den Fourierdeskriptoren werden wir die Normalisierungs-methode als Methode zur Herleitung von Invarianten benutzen, daher werden wir kurzdiese Methode erläutern.

Wie betrachten zwei Punktmengen P und P′, wobei P′ aus P z. B. durch eine Ähnlich-keitstransformation hervorgehe. Für alle zn ∈ P und z′n ∈ P′ gilt dann:

z′n = (re iφ)zn + d = czn + d , zn = xn + i yn . (4.130)

Die komplexe Zahl d = dx + idy beschreibt die Translation und die komplexe Zahl c =

cx + icy beschreibt mit r die Skalierung und mit φ den Rotationswinkel. In der komplexenSchreibweise haben wir nur zwei Parameter c und d, in der rellen Schreibweise sind es vier.Wir wählen nun von den N Punkten willkürlich zwei aus, z. B. z und z. Diese transfor-mieren wir nun so, dass sich bestimmte komplexe Zielpunkte ergeben, z. B. wählen wir:

= cz + d , = cz + d . (4.131)

Nun haben wir zwei Gleichungen mit zwei Unbekannten und lösen diese:

c =

z − z, d = −

zz − z

. (4.132)

Mit dieser konkreten Transformation transformieren wir nun alle anderen Punkte:

z′n =zn

z − z−

zz − z

=zn − zz − z

, n ≠ , . (4.133)

Diese z′n beziehen sich nun auf die Standardlage der beiden Punkte z und z – wir habensie diesbezüglich normalisiert. Daher bilden die beiden Punkte z und z eine normalisierte

Page 117: Bildverarbeitung und Objekterkennung ||

4.21 Fouriertransformation für komplexe Funktionen 103

Basis aller Punkte bezüglich der Ähnlichkeitstransformationen. Drei Punkte würden eineBasis einer affinen Transformation, und vier Punkte die Basis einer projektiven Transfor-mation bilden. Unsere zwei ausgewählten Punkte müssen wir aber in jeder Punktmengekennen, es müssen natürlich immer die beiden gleichen Punkte sein. Die praktisch ein-fachste Lösung sindMarker: wir markieren irgendwie zwei typische Punkte, die wir immerwiederfinden. In der Astronomie wäre dies denkbar, da man auf einer Sternenkarte immerzwei typische, bekannte Sterne als Basis benutzen kann. Dieses Verfahren hat auch nochden Vorteil, dass die Punktmengen nicht die gleiche Anzahl von Punkten besitzen müssen,da man einfach für jeden vorhandenen Punkt zwei Invarianten, also normalisierte Koordi-naten berechnet. Unsere komplexen normalisierten Koordinaten schreiben wir nochmalsin rellen Koordinaten auf:

x′n =(xn − x)(x − x) + (yn − y)(y − y)

(x − x) + (y − y),

y′n =(yn − y)(x − x) − (xn − x)(y − y)

(x − x) + (y − y). (4.134)

DieseNormalisierung könnenwir aber dann nicht verwenden, wennwir die beiden Punktenicht auffinden. Im worst case bilden wir dann N(N−)

Basen und überprüfen, ob wenigs-tens eine brauchbare darunter ist. Bei Polygonen ist dies allerdings einfacher, wenn wir alsBasis zwei aufeinanderfolgende Punkte im mathematisch positiven Sinne nehmen, dannhätten wir nur N Basen im worst case. Bei affinen und projektiven Basen erhöht sich diesentsprechend.

Wollten wir nun Punktmengen ohne Referenzen durch Invarianten beschreiben, dannmüssen wir permutationsinvariante Merkmale erzeugen. Die einfachsten permutationsin-varianten Merkmale ck , l sind Summen von Funktionen der Punkte, z. B.:

ck , l =N−∑j=

zkj ⋅ (z j)l ⎛

⎝mk , l =

N−∑j=

xkj ⋅ y j

l⎞

⎠. (4.135)

Diese ck , l werden diskrete, komplexe Momente genannt, während die mk , l die üblichendiskreten, reellen Momente sind, siehe Abschn. 19.1. Zur Normalisierung wählen wir fol-gende Momente aus:

=Nc′, =

N

N−∑n=

z′n =N

N−∑n=

(czn + d)

= c ⋅N

N−∑n=

zn + d (4.136)

=Nc′, =

N

N−∑n=

z′n =N

N−∑n=

(czn + cdzn + d)

= cN

N−∑n=

zn + cdN

N−∑n=

zn + d . (4.137)

Page 118: Bildverarbeitung und Objekterkennung ||

104 4 Grundlegende Eigenschaften der Fouriertransformation

Wir haben wieder zwei Gleichungen mit zwei Unbekannten, es ergibt sich:

c =±

√N ∑

N−n= zn−(

N ∑

N−n= zn)

, d =∓

N ∑N−n= zn

√N ∑

N−n= zn−(

N ∑

N−n= zn)

(4.138)

→ z′n = ±zn −

N ∑N−n= zn

√N ∑

N−n= zn−(

N ∑

N−n= zn)

. (4.139)

Die Vorzeichen sind durch 180 Grad Rotationen bedingt. Setzen wir nun diese normier-ten z′n in weitere diskrete, komplexe Momente c′k , l ein, dann sind diese Werte komplexeInvarianten einer gegebenen Punktmenge in Bezug auf Ähnlichkeitstransformationen.

4.21.6 Fourierdeskriptoren und Translationen

Für Fourierdeskriptoren werden ausschließlich geordnete Punktmengen verwendet. EineTranslation in der komplexen Ebene lässt sich durch

z[T]n = zn + c , n = , . . . ,N − , c ∈ C (4.140)

beschreiben. Dabei ist c eine konstante komplexe Zahl, die die Translation beschreibt. Dar-auf wenden wir nun die DFT mit den uns bekannten Regeln an:

αk(z[T]) = αk(z) + αk(c) = αk(z) + c√Nδk ∀k . (4.141)

Damit gilt αk(z[T]) = αk(z),∀k ≠ , d. h. alle außer demNullten Fourierkoeffizienten sindinvariant gegenüber einer Translation. Der Nullte Fourierkoeffizient beschreibt die „Lage“des Objektes, da er als Gleichanteil oder DC-Komponente (siehe (4.3)) proportional zumSchwerpunkt des Objektes ist.

4.21.7 Fourierdeskriptoren und isotrope Skalierungen

Eine isotrope Skalierung in der komplexen Ebene wird genauso einfach wie die Translationdurch

z[S]n = s ⋅ zn , n = , . . . ,N − , s ∈ R, s > (4.142)

beschrieben, wobei s eine reelle Konstante ist. Dann gilt:

αk(z[S]) = s ⋅ αk(z) ∀k . (4.143)

Page 119: Bildverarbeitung und Objekterkennung ||

4.21 Fouriertransformation für komplexe Funktionen 105

Um den Skalierungsparameter s zu eliminieren, wenden wir die Normierungsmethode an.Wir wählen einen stabilen Koeffizienten αq aus, z. B. q = oder q = − und normierendiesen auf den Betrag sq > , z. B. sq = , d. h. wir berechnen s aus:

∣αq(z[S])∣ = s ⋅ ∣αq(z)∣ = sq = const > → s =sq∣αq ∣

. (4.144)

Dieses berechnete s setzen wir nun in die Transformation (4.143) ein und erhalten:

αk(z[S]) = s ⋅ αk(z) =sq∣αq∣

αk (4.145)

als skalierungsinvariante Fourierdeskriptoren. Wenn wir den Nullten Koeffizienten aus-schließen, dann liefert (4.145) translationsinvariante und skalierungsinvariante Fourierde-skriptoren.

4.21.8 Fourierdeskriptoren für Rotation und Startpunktwahl

Als nächstes betrachten wir „reine“ Rotationen mit dem Rotationswinkel β:

z[R]n = e iβ ⋅ zn , n = , . . . ,N − → αk(z[R]) = e iβ ⋅ αk(z), k = , . . . ,N − . (4.146)

Da nur die Phase beeinflusst wird, gilt ∣αk(z[R])∣ = ∣αk(z)∣, d. h. das Amplitudenspektrumist rotationsinvariant. Wollen wir diesen Informationsverlust durch Elimination der Phasevermeiden, normieren wir wieder. Wir können den Fourierkoeffizienten αq aus der Skalie-rungsnormierung benutzen, da wir diesen jetzt bezüglich der Phase normieren wollen. Esbezeichne φ(z) die Phase von z, dann normieren wir:

φ(αq(z[R])) = φ(αq(z)) + β + πl = , l ∈ Z. (4.147)

Für l = wird nach β umgestellt, in die Transformation (4.146) eingesetzt, undwir erhalten

αk(z[R]) = e−iφ(αq) ⋅ αk(z) ∀k (4.148)

rotationsinvariante Fourierdeskriptoren.Die Voraussetzung, dass wir immer den richtigen Startpunkt finden, ist praktisch je-

doch völlig unmöglich. Wir werden die Aufzählung stets mit einem beliebigen Startpunktbeginnen. Dies ist eine Startpunkt-Verschiebung um unbekannte d Eckpunkte der Konturoder des Polygons:

z[SH]n = (Sdz)n = zn−d . (4.149)

Page 120: Bildverarbeitung und Objekterkennung ||

106 4 Grundlegende Eigenschaften der Fouriertransformation

Mit demVerschiebungstheorem (siehe Abschn. 4.17) und der Normierung der Phase einesKoeffizienten αp zu Null, ergibt sich:

αk(z[SH]) = αk(z)e−πikdN → φ(αp(z[SH]) = φ(αp(z)) − πp

dN

+ πl = . (4.150)

Wenn wir (4.150) nach der Verschiebung d auflösen und alle Fourierdeskriptoren damittransformieren, haben wir startpunktinvariante Deskriptoren. Da wir aber auch die Pha-se des q-ten Koeffizienten mittransformieren, wird die Phasennormierung bezüglich derRotation zerstört. Diese beiden Phasennormierungen scheinen sich zuwidersprechen.Die-ses Problem kann man lösen, indem wir beide Phasen gleichzeitig normieren, d. h. aber,wir müssen ein Gleichungssystem mit zwei Gleichungen und zwei Unbekannten eindeu-tig lösen. Vielleicht gelingt uns dies aber leichter durch Hintereinanderausführung beiderTransformationen. Zu diesem Zwecke betrachten wir gleich Ähnlichkeitstransformatio-nen, da die Skalierung und Translation keine Schwierigkeiten bereiten. Wir lassen also denNullten Koeffizienten weg und betrachten die Koeffizienten nach einer Skalierung und Ro-tation:

α[S ,R]k =sq∣αq∣

e−iφ(αq)αk . (4.151)

Wennwir diese α[S ,R]k nun startpunkt-verschieben, transformiert sich auf der rechten Seiteφ(αq) und αk bezüglich des Verschiebungstheorems, ∣αq∣ bleibt invariant, daher gilt:

α[SH,S ,R]k = α[S ,R]k e−πi(k−q)

dN . (4.152)

Wenn wir nun für einen Index p mit p ≠ q die Phase zu Null normieren und d ausrech-nen, bleibt die Normierung für den Index q erhalten, da obige Formel für alle d gilt. DiePhasennormierung ergibt:

φ(α[S ,R]p ) − π(p − q)dN

+ πl = . (4.153)

Wir lösen nach d auf und setzen in die Transformation (4.152) ein:

α[SH,S ,R]k = α[S ,R]k e−i(q−k)[

φ(α[S ,R]p )

p−q +π lp−q ] . (4.154)

Diese sind aber nur eindeutig, wenn der Ausdruck lp−q ganz ist. Für p = q+ ist dies sicher

der Fall. Damit sind

α[SH,S ,R]k = α[S ,R]k e−i(q−k)φ(α

[S ,R]q+ ), k ≠ (4.155)

Page 121: Bildverarbeitung und Objekterkennung ||

4.21 Fouriertransformation für komplexe Funktionen 107

Abb. 4.7 Eine Kontur mitgleichem Amplitudenspektruma wie die Außenkontur desBuchstabens A, b wie die Kon-tur des Buchstabens F, c wie dieKontur des Buchstabens Z

Fourierdeskriptoren, die gegen Ähnlichkeitstransformationen und Startpunktverschie-bungen invariant sind.

Da das viel einfacher zu berechnende Amplitudenspektrum invariant gegenüber Rota-tionen und Startpunktverschiebungen ist, wird dieses häufig zur Klassifikation benutzt. Dawir aber gegenüber demeigentlichen Spektrumeinen Informationsverlust inKauf nehmen,ensteht die Frage wie groß dieser Verlust ist. Damit haben wir wieder die generelle Frage,ob in der Amplitude oder in der Phase die meiste Information steckt. Dazu machen wirein Experiment. Von den Konturen in Abb. 4.7 wurden die Fourierdeskriptoren berechnet.Dann wurde jeweils das Amplitudenspektrum berechnet und zusätzlich zumAmplituden-spektrum die Phasen zufällig gewählt. Anschließend wurde zurücktransformiert und eineKontur erhalten, die die gleichen Invarianten wie die Originalkontur besitzt. Alle dieseObjekte können wir folglich mit dem Amplitudenspektrum als Merkmal nicht mehr un-terscheiden. In Abb. 4.7 sind Konturen zu sehen, die das gleiche Amplitudenspektrum wiedie Konturen der „Buchstaben“ besitzen. Der Informationsverlust ist beträchtlich. Damitlassen sich gleiche Buchstaben zwischen verschiedenen Fonts nicht mehr unterscheiden.

Neben den Ähnlichkeitstransformationen kann man auch Fourierdeskriptoren für af-fine Transformationen angeben. Dazu muss man bezüglich der Normierung ein linearesGleichungssystem explizit analytisch lösen. Da diese affin invarianten Fourierdeskriptorenin der Praxis schwierig einsetzbar sind, sei hier lediglich auf die Literatur [86] verwiesen.

4.21.9 Fourierdeskriptoren in der Praxis

Die praktische Nutzung von Fourierdeskriptoren ist mit Schwierigkeiten verbunden. Wirnehmen dazu an, aus dem praktischen Problem sei eine geometrische Transformation Tbekannt. Weiterhin sei von einem Referenzobjekt O die diskrete Kontur:

zl = xl + i yl , l = , . . . ,N − (4.156)

bekannt. Von einem unbekannten Objekt O′ berechnen wir ebenfalls die diskrete Kontur:

z′k = x′k + i y′k , k = , . . . ,M − . (4.157)

Page 122: Bildverarbeitung und Objekterkennung ||

108 4 Grundlegende Eigenschaften der Fouriertransformation

Es zeigen sich im Wesentlichen zwei Schwierigkeiten:

• Es ist in der Regel M ≠ N , d. h. die Anzahl der Konturpunkte stimmt nicht überein.• Wir nehmen einmal an, es sei zufälligM = N . Dannmuss bis auf eine unbekannte Start-

punktverschiebung d die Kovarianz z′j−d = Tz j , j = , . . . ,N − gelten. Auf Grund derDiskretisierungsfehler wird dies nicht der Fall sein. Ein extremes Beispiel dafür ist einRechteck O in einer horizontalen Lage. Das Rechteck O′ sei in 45-Grad-Lage detektiert.Bereits in diesem Fall stimmt die diagonale Rasterung mit der horizontalen überhauptnicht mehr überein.

Bevor wir folglich die Fourierdeskriptoren anwenden, müssen wir beide Probleme lösenbzw. näherungsweise lösen. Dazu können wir die Kontur wie folgt reparametrisieren:

• Zunächst erstellen wir aus der diskreten Kontur zi , i = , . . . ,N − eine analoge Kon-tur z(t), t ∈ [, T] durch Interpolation oder Approximation. Dies geschieht natürlichauch für das Objekt O′ mit der Bezeichnung z′(t′), t′ ∈ [, T′] Im einfachsten Falleinterpretieren wir die Kontur als Polygon, was allerdings keine robuste Approximationdarstellt. Dies ist bisher nur eine analoge Parametrisierung der Kontur, aber noch nichtdie gewünschte Reparametrisierung. Wir nehmen jetzt an, es sei z′() = Tz(), d. h.wir kennen genau die Startpunkte.

• Wir wählen einen geeigneten Parameter s anstatt t für z(t) und s′ anstatt t′ für z′(t′).Es muss dann eine monotone Funktion s′ = h(s) geben, so dass die Kovarianz z′(s′) =

Tz(s) gilt. Die Funktion h muss also im Einklang mit der Transformation T stehen.Dazu ein

Beispiel Als Beispiel betrachten wir Ähnlichkeitstransformationen für T und als Parame-ter für die Reparametrisierung die Bogenlänge s. Die Translation ist bei den Ähnlichkeit-stransformationen völlig uninteressant. Wir nutzen die bekannte Beziehung (19.17):

(ds′) = (dx′) + (dy′). (4.158)

Für affine Transformationen (siehe Abschn. 1.4.3) gilt dann:

(ds′) = (dx′) + (dy′) = (adx + ady) + (adx + ady). (4.159)

Für Ähnlichkeitstransformationen mit der Skalierung a und demWinkel φ gilt:

a = a cosφ, a = −a sinφ, a = a sinφ, aa cosφ, (4.160)

demzufolge ist:

(ds′) = a((dx) + (dy)) = a(ds). (4.161)

Daraus folgt die Funktion s′ = h(s) zu:

ds′ = a ⋅ ds, a > → s′ = a ⋅ s = h(s), a > . (4.162)

Page 123: Bildverarbeitung und Objekterkennung ||

4.22 Cepstrum 109

Damit ist gezeigt, dass die Parametrisierung mit der Bogenlänge s bezüglich Ähnlichkeit-stransformationen eine geeignete Reparametrisierung darstellt. Für affine Transformatio-nen ist die Reparametrisierung viel schwieriger, dazu müssen wir eine Flächenparametri-sierung durchführen, siehe [86]. Für die Bogenlänge s und Ähnlichkeitstransformationengehen wir in der Praxis folgenermaßen vor:

• Die analoge Kontur z(t) reparametrisieren wir bezüglich der Bogenlänge und anschlie-ßend tasten wir diese Kontur mit einer äquidistanten Schrittweite bezüglich der Bogen-länge s ab, so dass wir stets N diskrete Konturpunkte zsk , k = , . . . ,N − erhalten.

• Von diesen Konturpunkten berechnen wir die auch startpunktinvarianten Fourierde-skriptoren (4.155).

Wenn wir bei der Abtastung immer einen „geeigneten“ Startpunkt zufällig treffen, dann istalles in Ordnung. Oft liegen wir aber „zwischen richtigen“ Abtastpunkten. Dieses Problemkönnen wir nur näherungsweise lösen, indem wir N genügend groß wählen, so dass dieserFehler hinreichend klein wird.

4.22 Cepstrum

DasWort Cepstrumwurde invers aus Spec und demWort trum gebildet undwurde bereits1963 von Bogert, Healy und Tukey [5] eingeführt. Das Cepstrum c( f ) von f ist definiertals:

c( f ) ∶= α− [log α( f )] . (4.163)

Wir bilden folglich das Spektrum, logarithmieren dies und transformieren zurück. Ohnedie Logarithmierung würde einfach wieder das Original f entstehen. In dieser Form wirdes auch als komplexes Cepstrum bezeichnet, da der Logarithmus von komplexen Zahlenzu bilden ist. Oft wird auch:

c( f ) ∶= ∣α− [log ∣α( f )∣] ∣ (4.164)

als Cepstrumbezeichnet. Beziehtman sich auf das Leistungsspektrum, so sprichtman auchoft vom „power cepstrum“ pc:

pc( f ) ∶= ∣α− [log ∣α( f )∣] ∣. (4.165)

Manche Autoren schreiben auch:

c( f ) ∶= ∣α [log ∣α( f )∣] ∣. (4.166)

Page 124: Bildverarbeitung und Objekterkennung ||

110 4 Grundlegende Eigenschaften der Fouriertransformation

Da dies nur die gespiegelte Version ergibt, ist dies jedoch völlig uninteressant. Das Cep-strum wurde ursprünglich benutzt um in seismologischen, verrauschten und überlager-ten Echosignalen die Zeitverzögerung auszurechnen. Für die Bildverarbeitung bedeutetdies: wenn man statt einem Bild und dessen Verschiebung nur das überlagerte Bild mitdessen Verschiebung hat, kann man trotzdem die Verschiebung noch ausrechnen. Gene-rell dient der Logarithmus beim Cepstrum dazu, Multiplikationen im Frequenzbereich(z. B. eine Faltung im Ortsbereich ergibt Multiplikationen im Frequenzbereich) auf additi-ve Überlagerungen zurückzuführen, um so bestimmte Komponenten trennen zu können.Die Cepstrum-Methode wird vorwiegend dann angewendet, wenn aus zwei additiv über-lagerten Bildern, wobei ein Bild die Verschiebung des anderen darstellt, die Verschiebungausgerechnet werden soll, und zwar ausschließlich und nur aus dem additiv überlagertenBild, siehe dazu Abschn. 19.8.4.

4.23 Modifizierte diskrete Fouriertransformationen (MDFT)

Die grundlegende Variante der DFT (3.46) kannman somodifizieren, dassman eine ganzeKlasse vonmodifizierten DFT’s erhält. Im Abschn. 5.4.2 haben wir eine solche benutzt undfür die Diskrete Cosinus-Transformation (DCT) werden wir auch eine solche benötigen.Die Idee ist, die anloge Funktion zuerst zu verschieben und dann diskret abzutasten, oderdie analoge Funktion zuerst zu modulieren und dann diskret abzutasten. Wir schreibenerst einmal die allgemeine Form auf und nennen diese modifizierte DFT folglich MDFT.Als allgemeine Basisfunktionen dienen

φ(k),u ,v =

√Neπi

(n+u)(k+v)N , (4.167)

die ein Orthonormalsystem bilden. Daher erhalten wir das Transformationspaar:

f u ,vn =

√N

N−∑k=

αu ,vk e+πi

(n+u)(k+v)N ↔ αu ,v

n =

√N

N−∑k=

f u ,vk e−πi(k+u)(n+v)

N . (4.168)

In (4.168) haben wir zwei Indizes u, v eingeführt. Wenn diese ganzzahlig sind, dann ändertsich auf Gund der Periodizität der DFT nicht viel – dies ist keine neue Transformation.Sind dagegen u, v nicht ganz, so haben wir neue Eigenschaften, z. B. geht die Periodizitätverloren. Man kann dies leicht überprüfen, da die MDFT auf die DFT zurückführbar ist:

αu ,vn =

√N

N−∑k=

f u ,vk e−πi(k+u)(n+v)

N

= e−πiunN

√N

N−∑k=

[ f u ,vk e−πiv(k+u)

N ] e−πiknN . (4.169)

Page 125: Bildverarbeitung und Objekterkennung ||

4.23 Modifizierte diskrete Fouriertransformationen (MDFT) 111

Die Bezeichnung f u ,vk für die diskreten Funktionswerte soll nur andeuten, dass mit deranalogen Funktion vor der Abtastung bezüglich u, v etwas passiert ist. Für uns sind diesabstrakt nur die vorgegebenen, diskreten Funktionswerte. Für u = , v = erhaltenwir die klassische DFT. Nun wollen wir die Parameter u, v deuten, d. h. was ist vor derAbtastung der analogen Funktion passiert? Wir wissen aus dem Abschn. 5.1, dass dieDFT-Koeffizienten αk weiter nichts als die analogen Koeffizienten βk einer bandbegrenz-ten Funktion f (x) sind. Betrachten wir zunächst einen Parameter λ und schreiben eineanaloge, bandbegrenzte Funktion auf:

f (x + λ) =

√X

N−∑k=

βkeπik(x+λ)

X . (4.170)

Der Parameter λ ist hier nur eine Verschiebung der analogen Funktion f (x). Wir tastennun die analoge, verschobene Funktion f (x+ λ) äquidistant ab mit xl = l ⋅ XN und ersetzendie absolute Verschiebung λ durch die relative Verschiebung u bezüglich der SchrittweiteXN mit λ = u ⋅ X

N :

f u ,l = f (lXN

+ uXN) =

√X

N−∑k=

βkeπik(l+u)

N . (4.171)

Wir sehen, die βk übernehmen bis auf einen Faktor die Rolle der αu ,vk . Damit ist der Para-

meter u deutbar als relative Verschiebung der analogen Funktion.Nun wollen wir den Parameter v untersuchen, dazu betrachten wir:

e−πivxX f (x) =

√X

N−∑k=

βkeπikxX → f (x) =

√X

N−∑k=

βkeπix(k+v)

X . (4.172)

Im linken Teil steht folglich nicht die bandbegrenzte Fourierdarstellung von f (x), sondernvon e−πiv

xX f (x), also dermodulierten Funktion.Wir tastenwie immermit xl = l XN ab und

erhalten:

e−πivlN f (xl) =

√X

N−∑k=

βkeπiklN → f (xl) =

√X

N−∑k=

βkeπil(k+v)

N . (4.173)

Wir sehen wieder: die βk übernehmen bis auf einen Faktor die Rolle der αu ,vk . Damit ist

der Parameter v deutbar als Modulation der Funktion f (x). Da der Modulation eigent-lich eine Verschiebung im Frequenzraum entspricht, sagt man auch oft, v entspreche einerVerschiebung im Spektrum, so wie u einer Verschiebung im Ortsraum entspricht. Da dieβk aber selbst diskret sind, kann man eigentlich nur ganzzahlige Verschiebungen betrach-ten. Daher ist es mathematisch sauberer, nur vonModulation der Funktion f (x) in einemIntervall zu sprechen.

Page 126: Bildverarbeitung und Objekterkennung ||

112 4 Grundlegende Eigenschaften der Fouriertransformation

4.24 Diskrete Kosinus Transformation (DCT)

Im JPEG-Standard ist eine reelle diskrete Fouriertransformation enthalten – die diskreteKosinustransformation, welche erstmals in [1] erwähnt wurde. Wir wollen diese nun her-leiten. Da diese Transformation für die Datenkompression entworfen wurde, gilt es einigeBesonderheiten zu beachten:

• Sie soll der DFT ähnlich sein, d. h. ihre komprimierenden Eigenschaften besitzen.• Sie soll von vornherein eine reelle Transformation sein, um Speicher zu sparen.• Die wrap-around-Effekte sollen von vornherein vermieden werden. Durch die peri-

odische Fortsetzung eines Bildes haben wir am Bildrand oft Unstetigkeitsstellen. Dieseführen bei einem idealen Tiefpass zu Ringing-Artefakten. Außerdem liegt ein ähnlicherEffekt wie bei der Konvergenz von Fourreihen vor: Je glatter eine Funktion ist, umsoweniger Terme der Reihe benötigt man für gute Approximationen, d. h. umso besser istdie Kompressionseigenschaft. Daher soll diese Unstetigkeit am Bildrand vorn vornher-ein vermieden werden. Unstetigkeiten an „echten“ Kanten können wir dagegen nichtvermeiden.

• Die Transformation soll sich bezüglich Software undHardware effektiv implementierenlassen.

Idee Wir setzen eine im Intervall [,N − ] definierte, diskrete Funktion gespiegelt fort,dann hat sie die doppelte Intervallänge N . Anschließend setzen wir sie wie immer peri-odisch fort. Dadurch hat sie am Bildrand keine Unstetigkeiten mehr, sie wäre bezüglich derIntervallmitte symmetrisch und daher die DFT rein reell. Wenn wir nun durch einen Trickdie Intervallänge N wieder auf die ursprüngliche Größe N reduzieren könnten, dann hät-ten wir alle Forderungen erfüllt.

Bis auf die Implementierung wollen wir diese Schritte nun einzeln untersuchen. Gege-ben sei also eine diskrete Funktion fk , k = , . . . ,N − . Diese wollen wir nun gespiegeltfortsetzen, so dass ein Symmetriezentrum entsteht. In Abb. 4.8 sind 5 diskrete Funkti-onswerte zu sehen, diese beginnen am Koordinatenursprung. Im oberen Teil setzen wirgespiegelt nach links fort. Da bei x = das Symmetriezentrum liegt, dürfen wir nur Funktionswerte spiegeln. Wollen wir aber alle Werte spiegeln, so ensteht die untere Ab-bildung. Das Symmetriezentrum liegt jetzt bei x = −

. Man sieht an diesem Beispiel, esgibt mehrere Möglichekeiten der gespiegelten Fortsetzung, deshalb gibt es auch in der Li-teratur mehrere DCT-Varianten. Wir entscheiden uns nun für die verbreiteste Form ( inder Abb. 4.8 der untere Fall), obwohl das Symmetriezentrum nicht bei Null liegt. Dahermüssen wir gedanklich die analoge Funktion um

nach „links“ verschieben und dann anN äquidistanten Stützstellen abtasten. Wir benötigen folglich die MDFT für v = (da wirnichts modulieren) und u = +

, da wir nach „links“ verschieben. Für den oberen Fall ausAbb. 4.8 würde die übliche DFT ausreichen. Die diskrete, gespiegelte Funktion bezeichnenwir jetzt mit f :

fk =⎧⎪⎪⎨⎪⎪⎩

fk , k = , . . . ,N − fN−−k , k = N , . . . , N −

(4.174)

Page 127: Bildverarbeitung und Objekterkennung ||

4.24 Diskrete Kosinus Transformation (DCT) 113

Abb. 4.8 Zwei Möglichkeitenvon gespiegelten Fortsetzungeneiner diskreten Funktion mit 5Funktionswerten

bzw. die aufgezählten Funktionswerte pro Periode:

f = ( f , f , . . . , fN− , fN− , fN−, . . . , f). (4.175)

Von diesen Funktionswerten bilden wir nun die MDFT für u = , v = :

α ,n ( f ) =

√N

N−∑k=

fk e−πi(k+

)nN =

√N

N−∑k=

fk e−πi(k+)n

N . (4.176)

Als erstes schauen wir uns die Summanden an.Wir betrachten den l-ten Summanden undden N − − l-ten Summanden, die immer paarweise auftreten müssen:

fl e−πi( l+)n

N , fl e−πi((N−− l)+)n

N = fl e−πi−(+ l+)n

N . (4.177)

Diese Paare treten folglich immer konjugiert komplex auf, so dass die Sinus-Terme ver-schwinden und nur noch die Kosinus-Terme übrigbleiben (Eigenschaft einer geradenFunktion). Die Kosinus-Terme treten dann allerdings doppelt auf, so dass sich folgendeSumme ergibt:

α ,n ( f ) =

√N

N−∑k=

fk cos π(k + )n

N, n = , . . . , N − . (4.178)

Den Ausdruck für α , ( f ) halbieren wir einfach, dies ist zwar fasch, wenn wir dies aber

bei der Rücktransformation beachten, dann stimmt wieder das Gesamtsystem:

α , ( f ) =

√N

N−∑k=

fk . (4.179)

Die Transformation ist uns nun mit N Funktionswerten fk gelungen. Wir haben aber im-mer noch N-MDFT-Koeffizienten zu berechnen. Vielleicht besitzen diese aber interessan-

Page 128: Bildverarbeitung und Objekterkennung ||

114 4 Grundlegende Eigenschaften der Fouriertransformation

te Eigenschaften und lassen sich auf die Hälfte reduzieren? Und tatsächlich, folgende Ei-genschaften lassen sich einfach verifizieren:

α ,n ( f ) = −α

,N−n( f ), α

,N ( f ) = , α

,n+l N( f ) = (−)l α

,n ( f ). (4.180)

Die erste Bedingung ist eine Symmetrieeigenschaft, die dritte Eigenschaft ist eine Art Peri-ode. Diese Eigenschaften nutzen wir nun für die Rücktransformation aus, so dass wir nurdie ersten N Koeffizienten benötigen. Da α

, ( f ) auf Grund der Symmetrie nur einmal

auftritt, verdoppeln wir ihn trotzdem, da wir ihn bei der Hintransformation bewusst hal-biert hatten. Daher erhalten wir

fn =

√N

N−∑k=

α ,k ( f ) cos π

(n + )kN

, n = , . . . , N − . (4.181)

Da wir nur die ersten N Funktionswerte fk und die ersten N MDFT-Koeffizienten benöti-gen, benennen wir diese Größen einfach um und erhalten allgemein die eigentliche DCT:

DCTn( f ) =

√N

N−∑k=

fk cos π(k + )n

N, n = , . . . ,N − (4.182)

DCT( f ) =

√N

N−∑k=

fk , (4.183)

fn =

√N

N−∑k=

DCTk( f ) cos π(n + )k

N, n = , . . . ,N − . (4.184)

Da der Koeffizient DCT( f ) etwas aus der Rolle fällt, bevorzugen manche Autoren auchdie Schreibweise:

DCT( f ) =

√N

N−∑k=

fk ,

DCTn( f ) =

√N

N−∑k=

fk cos π(k + )n

N, n = , . . . ,N − . (4.185)

fn =

√NDCT( f ) +

√N

N−∑k=

DCTk( f ) cos π(n + )k

N, n = , . . . ,N − .

(4.186)

Page 129: Bildverarbeitung und Objekterkennung ||

4.25 Unschärferelation 115

Die DCT für zweidimensionale Bilder schreiben wir ebenfalls auf. Manmuss dabei beson-ders den Nullten Koeffizienten beachten:

DCTm ,n( f ) =

√MN

M−∑k=

N−∑l=

fk , l cos(π(k + )m

M) cos(π

(l + )nN

) , (4.187)

DCT,n( f ) =

√MN

M−∑k=

N−∑l=

fk , l cos(π(l + )n

N) , n ≥ (4.188)

DCTm ,( f ) =

√MN

M−∑k=

N−∑l=

fk , l cos(π(k + )m

M) , m ≥ (4.189)

DCT,( f ) =

√MN

M−∑k=

N−∑l=

fk , l (4.190)

fm ,n =

√MN

M−∑k=

N−∑l=

DCTk , l ( f ) cos(π(m + )k

M) cos(π

(n + )lN

) . (4.191)

Eine rein reelle Transformation würden wir auch sofort erhalten, wenn wir die Funktionan einem Symmetriezentrum ungerade fortsetzen. Dadurch bleiben nur die Sinus-Termeübrig und diese nennen wir dann diskrete Sinus-Transformation. Dadurch erzeugen wiraber am Rande künstlich Unstetigkeitsstellen, daher lassen sich diese Transformationenfür Datenkompressionen nicht so gut anwenden wie die Kosinus-Transformationen.

4.25 Unschärferelation

Als Auflösung Δ f eines Signals f (t) im Punkt t wollen wir die in der Wahrscheinlich-keitsrechnung bekannte Standardabweichung benutzen. Da ein beliebiges Signal f (t) aberkeine Dichte darstellt, beziehen wir uns auf die Energie ∣ f (t)∣ und normieren, indem wirdurch das Integral über die Energie teilen. Es sei nun wieder α f (ω) das Spektrum von f ,wobei wir den Kern e−iωt benutzen. Dann ist die Auflösung im Ortsraum:

(Δ f ) = ∫∞

−∞

(t − t)∣ f (t)∣dt

∫∞

−∞

∣ f (t)∣dt(4.192)

und entsprechend im Frequenzraum:

(Δα) = ∫∞

−∞

(ω − ω) ∣α f (ω)∣dω

∫∞

−∞

∣α f (ω)∣dt. (4.193)

Damit kann man die folgende „Unschärferelation der Nachrichtentechnik“ beweisen:

Δ f ⋅ Δα ≥. (4.194)

Page 130: Bildverarbeitung und Objekterkennung ||

116 4 Grundlegende Eigenschaften der Fouriertransformation

Die modulierten Gaußfunktionen:

Gω ,t(t) = e−(t−t)

σ ⋅ e iω t (4.195)

deren Spektrum sich leicht ausrechnen lässt:

αG(ω) =√πσ e−

(ω−ω) σ

⋅ e−i(ω−ω)t , (4.196)

heißen Gabor-Funktionen (Gabor 1946) und besitzen die minimale Unschärfe, d. h. sieerfüllen die Unschärfe (4.194) als Gleichung. Die Gaborfunktionen (4.195) besitzen dieAuflösungen:

Δ f =σ√, Δα =

√σ

. (4.197)

Die Gaborfunktionen besitzen im Ortsraum als auch im Frequenzraum die gleichen Auf-lösungen, wenn σ = gilt. Die Unschärfe (4.194) hat zur Folge, dass man nicht gleichzeitigeine hohe Auflösung im Ortsraum als auch im Frequenzraum erreichen kann. Die Funk-tionen, die aber dennoch einen besten Kompromiss bilden, sind die Gabor-Funktionen.

4.26 Affine Transformationen

Gegeben seien zwei Bilder f und f ′, wobei f ′ = T f durch eine geometrische Transforma-tion T aus f hervorgeht. Oft ist T eine affine Transformation:

x′ = A ⋅ x + b = (a aa a

) ⋅ x + (aa

) . (4.198)

Oft (insbesondere bei Fourierdeskriptoren von Konturen) ist es günstig, affine Transfor-mation in komplexer Schreibweise zu nutzen:

z′ = a ⋅ z + b ⋅ z + c (4.199)

mit

a =(a + a) +

i(a − a), b =

(a − a) +

i(a + a),

c = a + ia. (4.200)

Weiter soll f ′(x′) = f (x) gelten. Die Frage ist wie bereits beim Verschiebungstheorem,wie sich das Spektrum von f transformiert. Für die Untersuchungen müssen wir nun

Page 131: Bildverarbeitung und Objekterkennung ||

4.26 Affine Transformationen 117

tatsächlich 2D-Funktionen und die 2D-Fourier-Transformation benutzen, da es z. B. ein-dimensionale Rotationen nicht gibt. Weiterhin können wir zur Untersuchung auch dieDFT nicht nutzen, da es für den diskreten Fall keine Rotationen gibt. Es bleibt uns nichtsweiter übrig als die 2D-Fourier-Integraltransformation (IFT) anzuwenden. Wir schreibendiese gleich in vektorieller Notation auf:

α f ′(ω) = ∬ f ′(x′)e−iωT x′dx′ = ∬ f (x)e−ω

T(Ax+b) ⋅ ∣det(A)∣dx

= ∣det(A)∣ ⋅ e−iωTb ⋅ α f (ATω). (4.201)

Wenn wir genau die inverse Beziehung haben wollen, dann setzen wir einfach ATω = β,damit ist ω = AT−β. Wir lösen nach α f (β) auf und ersetzen β wieder formal durch ω underhalten somit:

α f (ω) =

∣det(A)∣α f ′(AT−ω) ⋅ e+iω

TA−b . (4.202)

Nun betrachten wir zunächst 4.202 für speziellen Transformationen, z. B. reine Rotationenx′ = Rxmit der Rotationsmatrix R und b = . Dann geht (4.202) über in:

α f (ω) = α f ′(RT−ω) = α f ′(R ⋅ ω). (4.203)

Wir sehen: falls das Bild rotiert, rotiert auch das Spektrum in gleichem Orientierungs-sinnmit. Betrachten wir nun eine reine isotrope Skalierung mit der DiagonalmatrixD undb = . Dann geht (4.202) über in:

α f (ω) = α f ′(DT−ω) ⋅

∣det(D)∣= α f ′(D− ⋅ ω) ⋅

∣det(D)∣

. (4.204)

Wir sehen: bis auf einen Faktor verhält sich das Spektrum gegenläufig, d. h. wird das Bildf vergrößert, verkleinert sich entsprechend das Spektrum und umgekehrt. In der Praxistreten aber alle diese Transformationen in der Regel zusammen mit einer Verschiebungauf, daher bilden wir das Amplitudenspektrum:

∣α f (ω)∣ =

∣det(A)∣∣α f ′(AT−ω)∣. (4.205)

Wir sehen in (4.205), dass das Amplitudenspektrum invariant gegenüber Verschiebungenist, aber noch abhängig von den übrigen Parametern der affinenTransformation ist.Wollenwir folglich die Verschiebungen gleichzeitig berücksichtigen, müssen wir in den Beziehun-gen (4.203) und (4.204) zu den Beträgen übergehen.

Page 132: Bildverarbeitung und Objekterkennung ||

118 4 Grundlegende Eigenschaften der Fouriertransformation

4.27 Lokales Energiemodell

4.27.1 Lokale Energie

Häufig werden in der Bildverarbeitung Begriffe aus der Physik entlehnt, obwohl der phy-sikalische Aspekt, der hinter dem Begriff steckt, im Bild überhaupt nicht gegeben ist. Sowerden z. B. ständig Energiebegriffe verwendet.

Im Folgenden betrachten wir nur reelle Funktionen und benutzen die AFTmit der Dar-stellung (3.41), wobei wir a = annehmen:

f (x) =

√X

∑k=

Ak cos(πkxX

+ φk) . (4.206)

Die Hilbertrtansformierte h(x) von f (x) ist (siehe Abschn. 3.7):

h(x) =

√X

∑k=

Ak sin(πkxX

+ φk) . (4.207)

Ein Energievektor e(x) ist dann durch:

e(x) =[ f (x), h(x)]T (4.208)

definiert. Eine lokale, skalare Energiefunktion E(x) ist dann der Betrag dieses Vektors:

E(x) = f (x) + h(x)

= [

√X

∑k=

Ak cos(πkxX

+ φk)]

+ [

√X

∑k=

Ak sin(πkxX

+ φk)]

. (4.209)

Es sei nun Θe der Richtungswinkel des Energievektors e(x). Wenn wir das Skalarproduktvon e(x) mit einem Einheitsvektor in diese Richtung bilden, erhalten wir den Betrag vone(x):

E(x) = [

√X

∑k=

Ak cos(πkxX

+ φk) ,

√X

∑k=

Ak sin(πkxX

+ φk)] ⋅ [cosΘe , sinΘe]T

=

√X

∑k=

Ak cos(πkxX

+ φk) ⋅ cosΘe +

√X

∑k=

Ak sin(πkxX

+ φk) ⋅ sinΘe

=

√X

∑k=

Ak cos(πkxX

+ φk −Θe) . (4.210)

Der Winkel ist somit gleich:

tanΘe =∑∞

k= Ak sin(πk xX + φk)

∑∞

k= Ak cos(πk xX + φk)

. (4.211)

Page 133: Bildverarbeitung und Objekterkennung ||

4.27 Lokales Energiemodell 119

Die Beziehung (4.210) kann man nun durch die Extremalaufgabe:

E(x) = maxΘ

(p(x , θ) =

√X

∑k=

Ak cos(πkxX

+ φk −Θ)) (4.212)

ausdrücken, wobei die Lösung für Θ die Größe Θe aus (4.210) ist. Wie in (3.94) und (3.96)betrachten wir streng analytische Funktionen z f (t) = f (t)+ iβf (t), zg(t) = g(t)+ iβg(t)mit E( f ) = E(z f ) = f + β

f und E(g) = E(zg) = g + βg . Wir identifizieren immer

den Realteil als das Bild, welches wir eigentlich betrachten. Nun gilt:

E (z f (t) ⋅ zg(t)) = E( f ) ⋅ E(g). (4.213)

Dies wollen wir zeigen:

E (z f (t) ⋅ zg(t)) = [ f g − β f βg]+ [ f βg + gβ f ]

= f g − f gβf βg + βf β

g + f β

g + f gβf βg + gβf

= ( f + βf )(g

+ βg) = E( f ) ⋅ E(g). (4.214)

Daher gilt für die komplexe Division analog:

E(z f /zg) =E( f ) ⋅ E(g)

E(g). (4.215)

4.27.2 Phasenkongruenz

Nun wollen wir die Phasenkongruenz (phase congruency) einführen. Dazu benötigen wirzunächst ein gewichtetes Maß für die Varianz der Phasen:

r(x , Θ) =∑∞

k= Ak(πk xX + φk −Θ)

π∑∞

k= Ak. (4.216)

Damit dieses fürWinkel überhaupt funktionieren kann,müssenwir die Phasen πk xX+φk−

Θ mod(π) berechnen und in das Intervall (−π,+π] verschieben. Die gewichtete Phasen-varianz r liegt nun im Intervall [, ]. Maximale Phasenkongruenz bedeutet nun minimalePhasenvarianz. Bei gegebenem, festen x ist nun Θ derart gesucht, dass die Phasenvarianz rminimal wird. Wir wissen aus der Stochastik, dass der Erwartungswert die Varianz mini-miert, folglich ist das gewichtete Mittel:

Θr =∑∞

k= Ak(πk xX + φk)

∑∞

k= Ak(4.217)

Page 134: Bildverarbeitung und Objekterkennung ||

120 4 Grundlegende Eigenschaften der Fouriertransformation

die Größe, die die Phasenvarianz minimiert und damit die Phasenkongruenz maximiert.Eine vorzeichenbehafteter mittlerer Wert ist natürlich bei Winkelberechnungen etwas pro-blematisch. Gibt es nun einen Zusammenhang zwischen Θr und Θe? Da Θe die Funktionp(x , Θ)maximiert (4.212), muss für kleine Phasen πk x

X + φk −Θe ≈ gelten:

E(x) =

√X

∑k=

Ak cos(πkxX

+ φk −Θe)

→∂E(x)∂θe

=

√X

∑k=

Ak sin(πkxX

+ φk −Θe)

√X

∑k=

Ak (πkxX

+ φk −Θe) = . (4.218)

Daraus folgt

Θe ≈∑∞

k= Ak(πk xX + φk)

∑∞

k= Ak= Θr . (4.219)

Damit können wir für kleine Phasen πk xX + φk −Θe ≈ einen direkten Zusammenhang

zwischen der lokalen Energie und der Phasenkongruenz (bzw. Phasenvarianz) herstellen:

π −

r(x , Θr) =

∑∞

k= Ak − ∑

k= Ak(πk xX + φk −Θr)

π∑∞

k= Ak

=∑∞

k= Ak( − (πk

xX + φk −Θr)

)

π∑∞

k= Ak

≈∑∞

k= Ak(cos(πk xX + φk −Θe))

π∑∞

k= Ak=

E(x)π∑

k= Ak. (4.220)

Damit ist:

E(x) =∞

∑k=

Ak ( −π

r(x , Θr)) . (4.221)

In der Literatur macht man manchmal einen „Trick“. Obige Beziehung für kleine Phasenwird benutzt um gleich statt der Phasenvarianzdie PhasenkongruenzPC(x) zu definieren:

PC(x) = maxΘ

(∑∞

k= Ak(cos(πk xX + φk −Θ))

∑∞

k= Ak) . (4.222)

Diese ist dann selbst normiertmit ≤ PC(x) ≤ und es gilt die Beziehung E(x) = c ⋅PC(x),d. h. E(x)undPC(x)unterscheiden sich generell nur durch einen Faktor.Wenndie Phasenaber nicht klein sind, dann stimmt diese Beziehung insofern nicht, dass die Phasenkongru-enz nicht das richtigeMaßmehr ist, da diese dann zu sehr von der Phasenvarianzabweicht.

Page 135: Bildverarbeitung und Objekterkennung ||

4.27 Lokales Energiemodell 121

4.27.3 Funktionenmit hoher Phasenkongruenz

Wir betrachten noch einmal die Fourierdarstellung der Rechteckfunktion (4.94):

f (x −X) =

π

∑k=

k −

sin [π(k − )x

X] . (4.223)

Man sieht, es ist r(, ) = und damit liegt bei x = maximale Phasenkongruenz vor. Beix = hat die Rechteckfunktion (4.94) eine ideale Stufenkante. Daher deuten Stellen mitgroßer Phasenkongruenz auf Kanten im Bild hin.

Nehmen wir weiterhin einmal die Darstellung des Dirichletschen Integralkernes (7.2):

Dn(x) =n∑k=−n

⋅ e+πikxX = + ⋅

n∑k=

cos(πkxX) . (4.224)

Bei x = liegtwiedermaximale Phasenkongruenz vor, beschriebenwerden durch die Sum-men allerdings Linien einer bestimmten Dicke. Daher besitzt die „Mitte“ einer Linie auchhohe Phasenkongruenz.

Page 136: Bildverarbeitung und Objekterkennung ||

5Abtasttheoreme

In den folgenden Abschnitten soll das Abtastheorem hergeleitet und interpretiert werden.Eine verbale Einführung dazu gab es im Abschn. 1.1. Je nach Bildmodell gibt es ein Abt-astheorem für Funktionen im endlichen Intervall oder im unendlichen Intervall. Die Her-leitung unterscheidet sich nur durch die Art der verwendeten Mathematik, üblicherweisewird dies fast ausschließlich im unendlichen Intervall getan, dabei braucht man aber unei-gentliche Integrale und Reihen. Viel einfacher ist die Mathematik im endlichen Intervall.Dasmathematische Ergebnis kann demnach nicht formal gleich sein, die Interpretation istaber dieselbe.

5.1 Abtasttheorem im endlichen Intervall

Nun soll das Abtasttheorem für eine analoge Funktion im Intervall [, X] hergeleitet wer-den. Dazu ist es erforderlich zu erklären, was ein trigonometrisches Interpolationspolynomist. Gegeben sei im Intervall [, X] eine analoge Funktion fa(x). Wir betrachten an n äqui-distanten Stützstellen

xn = nXN, n = , , . . . ,N − (5.1)

die Funktionswerte fa(xn), n = , , . . . ,N− und bezeichnen diesemit fn , n = , , . . . ,N−.Von dieser diskreten Funktion f berechnen wir die diskreten Fourierkoeffizienten:

αk =

√N

N−∑l=

fa(xl )e−πiklN =

√N

N−∑l=

fl e−πiklN . (5.2)

123H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_5, © Springer Fachmedien Wiesbaden 2014

Page 137: Bildverarbeitung und Objekterkennung ||

124 5 Abtasttheoreme

Dann ist die von einem ganzzahligen Index k und den diskreten Fourierkoeffizienten αk

abhängige Funktion:

fk(x) =

√N

N−+k∑k=k

αkeπikxX (5.3)

ein trigonometrisches Interpolationspolynom. Dies ist recht einfach zu zeigen. Wir bilden:

fk(xl) =

√N

N−+k∑k=k

αkeπikx lX =

√N

N−+k∑k=k

αkeπikl XNX

=

√N

N−+k∑k=k

αkeπiklN . (5.4)

Auf der rechten Seite steht gerade die inverse, diskrete Fouriertransformation. Da die dis-kreten Fourierkoeffizienten selbst mit N periodisch sind, gilt nun:

fk(xl) =

√N

N−+k∑k=k

αkeπiklN =

√N

N−∑k=

αkeπiklN = fl = fa(xl ). (5.5)

Damit haben wir die Interpolationseigenschaft für beliebige k gezeigt. Im Gegensatz zufk(xl) = fa(xl) hängt aber das Polynom fk(x) vom Index k ab, d. h. für verschiedenek erhalten wir auch verschiedene Interpolationspolynome.

Es sei nun eine analoge Funktion fa(x) im Intervall [, X] gegeben. Die AFT lautetdann

fa(x) =

√X

∑k=−∞

βke+πikxX ↔ βk =

√X

X

fa(x)e−πikxX dx . (5.6)

Wir tasten nun die analoge Funktion fa(x) an den äquidistanten Stützstellen xn = nN X ab

und erhalten damit die diskrete Funktion fd(xn)mit

fa(xn) = fd(xn), n = , , . . . ,N − . (5.7)

Satz 5.1 (Abtasttheorem) Ist die analoge Funktion bandbegrenzt im folgenden Sinne:

fa(x) =

√X

N−+k∑k=k

βke+πikxX , (5.8)

dann kann die analoge Funktion fa(x) vollständig aus der diskreten Funktion fd(xn) rekon-struiert werden und ist gleich dem trigonometrischen Interpolationspolynom fk(x).

Page 138: Bildverarbeitung und Objekterkennung ||

5.1 Abtasttheorem im endlichen Intervall 125

Beweis Den Beweis führen wir o. B. d. A. für k = . Zweifelsohne ist

z(x) = f(x) − fa(x) = , x = xl , l = , , . . . ,N − . (5.9)

Die Funktion z(x) besitzt also gerade an den Abtaststellen Nullstellen. Wir wollen aberzeigen, dass z(x) identisch Null ist. Wir setzen nun ein:

z(x) =

√N

N−∑k=

αke+πikxX −

√X

N−∑k=

βke+πikxX = , x = xl , l = , , . . . ,N − . (5.10)

Wichtig ist: Die αk sind die diskreten Fourierkoeffizienten aus der DFT und die βk sind diediskreten Fourierkoeffizienten der AFT im Intervall. Wir fassen sie Summen zusammen:

z(x) =N−∑k=

(αk√N

−βk√X) e+πik

xX = , x = xl , l = , , . . . ,N − . (5.11)

Kürzen wir die Koeffizienten mit γk ab, so ist

z(x) =N−∑k=

γke+πikxX = , x = xl , l = , , . . . ,N −

↔ z(xl) = zl =N−∑k=

γk e+πikk lN = (5.12)

ein lineares homogenesGleichungssystem in γk . Damit z(x) identisch Null ist, müssen wirzeigen, dass die triviale Lösung γk = die einzige Lösung ist. Zunächst vergessen wir dieFT und zeigen dies nur mit Mitteln der linearen Algebra. Dazu betrachten wir die Koeffi-zientenmatrix dieses linearen Gleichungssystems, die wir mit A bezeichnen wollen:

A =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

⋯ eπi

N eπi

N ⋯ eπi

N−N

eπiN eπi

N ⋯ eπi

⋅(N−)N

eπiN eπi

N ⋯ eπi

⋅(N−)N

⋮ ⋮ ⋮ ⋯ ⋮

eπiN−N eπi

⋅(N−)N ⋯ eπi

(N−)⋅(N−)N

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (5.13)

Diese Matrix hat die Form der Vandermonde-Matrix:

A =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

⋯ φ φ φ ⋯ φN−

φ φ

φ ⋯ φ

N−φ φ

φ ⋯ φ

N−⋮ ⋮ ⋮ ⋯ ⋮

φN− φN−

φN− ⋯ φN−

N−

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (5.14)

Page 139: Bildverarbeitung und Objekterkennung ||

126 5 Abtasttheoreme

Dabei ist φl = eπilN . Es gilt det(A) ≠ genau dann wenn φl ≠ φj für i ≠ j gilt. Dies ist

in der Tat erfüllt, sodass das Gleichungssystem nur die triviale Lösung haben kann. Damitfolgt aber mit z(x) ≡ die Identität f(x) ≡ fa(x), was zu zeigen war. ◻

Den Beweis mit der Vandermonde-Matrix haben wir deshalb hier gebracht, weil wirdieses Prinzip noch im Abschn. 5.4.4 benötigen.

Nun schauen wir uns die γk in (5.12) genauer an. Die γk sind bis auf einen Faktor iden-tisch mit den diskreten Fourierkoeffizienten, daher muss gelten:

γk = C ⋅N−∑l=

fl e−πik lN . (5.15)

Setzenwir nun fl = , l = , . . . ,N− ein, so folgt als einzige Lösung γk = , k = , . . . ,N−.Nun wollen wir noch eine Herleitung betrachten, bei der eine variable Anzahl von Abtast-punkten erlaubt ist. Bisher haben wir nicht beachtet, dass die Vandermondesche Matrixsogar eine Orthogonalmatrix ist. Dazu betrachten wir nun M Abtastpunkte mit M ≥ N .Diese setzen wir in die bandbegrenzte Fourierreihe ein:

fa(xl) =

√X

N−+k∑k=k

βkeπiklM

→N−+k∑k=k

βkeπiklM = fa(xl ) ⋅

√X , l = , , . . . ,M − . (5.16)

Nun versuchen wir dieses lineare Gleichungssystem in den Unbekannten βk direkt zu lö-sen. Dazu sehen wir uns wieder die Koeffizientenmatrix mit k = an:

A =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

⋯ eπi

M eπi

M ⋯ eπi

N−M

eπiM eπi

M ⋯ eπi

⋅(N−)M

eπiM eπi

M ⋯ eπi

⋅(N−)M

⋮ ⋮ ⋮ ⋯ ⋮

eπiM−M eπi

⋅(M−)M ⋯ eπi

(M−)⋅(N−)M

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (5.17)

Wenn wir uns an die Basisfunktionen der DFT mit M Stützstellen erinnern, dann hattenwir vereinbart: die k-te diskrete Basisfunktion an der Stelle n war φk

n = √

Meπik

nM . In der

Matrix (5.17) stehen genau als Spaltenvektoren die ersten N Basisfunktionen der insgesamtM Basisfunktionen.DieseMatrix ist also spaltenorthonormal, allerdings bis auf den Faktor√

M. Es sei nun β der Spaltenvektor aller βk und fa der Spaltenvektor aller fa(xl ). Dann

lässt sich das Gleichungssystem (5.16) mit k = auch so formulieren:

√M

A ⋅ β = fa ⋅√X ⋅

√M

. (5.18)

Page 140: Bildverarbeitung und Objekterkennung ||

5.1 Abtasttheorem im endlichen Intervall 127

Da A (mit dem Faktor) spaltenorthonormal ist, können wir auflösen:

β =

√M

ATfa ⋅

√X ⋅

√M

. (5.19)

Nun schreiben wir wieder die k-te Komponente von β auf:

βk =

√X

√M

√M

M−∑l=

fa(xl)e−πiklM , k = , , . . . ,N − . (5.20)

Auf der rechten Seite kommen als Faktoren die diskreten Fourierkoeffizienten vor. Folglichist:

βk =

√X

√M

⋅ αk . (5.21)

Wir sehen, das ist das gleiche Ergebnis γk = wie im Beweis mit den Beziehungen (5.16)und (5.12). Diese Beziehung gilt natürlich nicht nur für k = , sondern für beliebiges k.Man muss dabei nur an die Periodizität der αk denken:

βk =

√X

√M

⋅ αk+m⋅M , k = k , . . . , k + N − , m ∈ Z. (5.22)

Bei dieser Herleitung hatten wir M ≥ N vorausgesetzt.Was passiert eigentlich, wenn eine Unterabtastung mit M < N vorliegt? Dann ist trivia-

lerweise das Gleichungssystem nicht mehr eindeutig lösbar und damit die bandbegrenzteFunktion nicht mehr eindeutig rekonstruierbar. Aber vielleicht ist doch noch etwas an In-formation zu retten? Wenn M < N gilt, dann bilden die ersten M Spalten der Matrix Aaus (5.17) ein Orthonormalsystem (mit dem Faktor

M). Auf Grund der Periode M (da

M < N ist M Periode) wiederholt sich dann dieses Orthonormalsystem, allerdings davonnur die ersten N − M Spalten, da wir nur N Spalten der Matrix A haben. Wenn wir folg-lich wie bei der bisherigenHerleitung die linke und rechte Seite des Gleichungssystems mitder konjugiert komplexen, transponierten Matrix von A multiplizieren, entsteht folgendeGaußsche Normalenmatrix:

√M

AT⋅

√M

A =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

⋯ ⋯ ⋯ ⋯

⋮ ⋮

⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯

⋮ ⋮

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (5.23)

Page 141: Bildverarbeitung und Objekterkennung ||

128 5 Abtasttheoreme

Man sieht, in M − N Zeilen stehen genau jeweils eine , und in (N − M) Zeilen stehenjeweils genau zwei solche . Die Zeilen, in denen zwei Einsen stehen, lassen sich folglichnicht nach den entsprechenden zwei Unbekannten auflösen, dagegen lassen sich die Varia-blen, die den Zeilen mit genau einer Eins entsprechen, wie vorher exakt eliminieren. Beiobiger Matrix haben wir M < N angenommen, dies reicht aber noch nicht, genaugenom-men haben wir die Ungleichung N

< M < N angenommen. Ist nämlich M ≤ N , dann

entstehen in allen Zeilen weitere Einsen, da die Periode M ist, folglich können wir keineeinzige Unbekannte mehr eindeutig eliminieren. Ist dagegen N

< M < N , dann könnenwir trotz Unterabtastung noch M−N Unbekannte βk eliminieren. Alle Ausführungen be-zogen sich bisher auf N komplexe Fourierkoeffizienten und M Stützstellen, d. h. auch fürkomplexwertige Funktionen.Wie ist dies aber nun speziell bei reellen Funktionenmit einerBandbegrenzung bezüglich der tiefen Frequenzen? Dazu nehmenwir die Bandbegrenzungeiner reellen Funktion in der folgenden Form an:

f (x) =

√X

+K∑k=−K

βke+πikxX . (5.24)

Für reelle Funktionen gilt dann βk = β−k . Für die bandbegrenzte Funktion f (x) gilt dann

N = K+ und die Grenzfrequenz ist K. Wir benötigen also zur eindeutigen Rekonstrukti-on mindestens K + Abtastpunkte. Setzen wir N = K + in die Ungleichung N

< M < Nein, so folgt die Ungleichung K < M ≤ K. Grob gesprochen heißt dies: Wir müssen mehrAbtastpunkte als die Grenzgrequenz zur Verfügung haben, umwenigstens einige Frequen-zen im Signal wiederherstellen zu können. Ist die Grenzfrequenz höher als die Anzahl derAbtastpunkte, dann ist gar nichts mehr rekonstruierbar. Welche Frequenzen sind es nunkonkret, die dann noch rekonstruierbar sind? Dazu betrachten wir die Matrix (5.17), al-lerdings mit k = −K. Dann sehen wir, dass die Zeilen mit den beiden Einsen den hohenFrequenzen und die Zeilen mit nur einer Eins den tiefen Frequenzen entsprechen. Wennsich M und N um m = N − M unterscheiden, dann sind die oberen m Frequenzen nichtmehr rekonstruierbar, aber die tiefen K − m Frequenzen sind eindeutig rekonstruierbar.Dieses ist für Registierungsaufgaben sehr nützlich. Dazu ein

Beispiel Wir nehmen an, wir haben zwei unterabgetastete Bilder mit Aliasing-Effektenund die Unterabtastung bezüglich der Grenzfrequenz entspricht obigen Bedingungen K <

M ≤ K. Weiter nehmen wir an, die analogen, noch nicht abgetasteten Bilder sind mitK bandbegrenzt und unterscheiden sich durch eine Translation, die wir aber nicht ken-nen.Wir kennen nur die beiden unterabgetasteten, durch Aliasing verfälschten Bilder.Wirwollen nun ausschließlich aus den unterabgetasteten Bildern die Translation mit Subpixel-genauigkeit bestimmen, folglich eine Registrierung vornehmen, siehe auch Abschn. 19.8.4.Auf Grund der Aliasingeffekte scheint dies unmöglich zu sein. Vorausgesetzt, unsere An-nahmen stimmen tatsächlich, filtern wir beide Bilder mit idealen Tiefpässen derart, dassdie hohen Frequenzen, die durch das Aliasing verfälscht wurden, eliminiert werden. Durchunsere obigen Annahmen sind die tiefen Frequenzen noch richtig. Im Ortsraum wäre daseine Faltung. Wie wir wissen, ist die Faltung verschiebungsinvariant. Folglich können wirdie tiefpassgefilterten Bilder registrieren und erhalten die exakte Subpixel-Translation. Dies

Page 142: Bildverarbeitung und Objekterkennung ||

5.2 Abtasttheorem für das unendliche Bildmodell 129

geht natürlich nur, wenn das Aliasing nicht zu drastisch ist, d. h. nur wenn die UngleichungK < M ≤ K tatsächlich erfüllt ist. Da wir in der Praxis die Grenzfrequenz K selten ken-nen, wissen wir auch nicht, wie unser idealer Tiefpass zu wählen ist. Nun könnte man aufdie Idee kommen und schlussfolgern, dass man nur die erste Frequenz oder nur einige tie-fe Frequenzen übrig lässt. Das hat aber den Nachteil, dass dann kaum Information übrigist und man daraus nicht unbedingt die Translation bestimmen kann. Man wird folglichempirisch die Größe des Tiefpasses wählen müssen.

Zusammenfassung

• Wir nehmen an, dass das reelle analoge Signal im Sinne (5.24) bandbegrenzt ist. MitanderenWorten: wir kennen a priori das Frequenzband bestehend aus genau N = K+komplexen Fourierkoeffizenten. Nun tasten wir das Signal an M Stellen äquidistant ab.Für die Anzahl der AbtaststellenM gelte die BeziehungM ≥ N (M > K). Dann könnenwir allein aus der Kenntnis der Abtastwerte und den daraus mit der DFT berechnetendiskreten Fourierkoeffizienten die Fourierkoeffizienten des analogen Signals berechnenund damit das analoge Signal vollständig rekonstruieren. Das rekonstruierte Signal istdann identisch mit dem trigonometrischen Interpolationspolynom.

• Haben wir dagegen weniger Abtaststellen M als die Anzqahl N der Fourierkoeffizien-ten des analogen Signals, d. h. weniger als die doppelte Grenzfrequenz plus eins, dannliegt eine Unterabtastung vor. Es kann Aliasing auftreten und das Signal ist nicht mehreindeutig rekonstruierbar. Ist allerdings N

< M < N (K < M ≤ K), so ist der Übergang„fließend“, es tritt nicht gleich eine „Katastrophe“ auf, es sind in diesem Falle immernoch einzelne Frequenzen vollständig rekonstruierbar.

• IstM < N (M ≤ K), dann ist aus den Abtastwerten nichts mehr eindeutig vomOriginal

bestimmbar.• Treten bei Translations-Registrierungsaufgaben Probleme bezüglich einer Unterabtas-

tung auf, dann sollte man die Bilder mit einem idealen Tiefpassfilter transformieren.Die Größe des idealen Tiefpassfilters muss leider empirisch festgelegt werden. Die ge-filterten Bilder kann man nun einer Translations-Registrierung unterziehen.

• Ideale Tiefpassfilter werden in der Bildverarbeitung selten verwendet. Sie erzeugen z. B.die Ringing-Artefakte, die in der Datenkompression überhaupt nicht erwünscht sind.Jetzt haben wir mit der Translations-Registrierung ein schönes Beispiel, wo sie sogarerforderlich sein können.

5.2 Abtasttheorem für das unendliche Bildmodell

Nun betrachten wir analoge Funktionen fa(t) im Intervall −∞ < t < +∞ und verwendendie Fourierintegraltransformation:

αa(ω) =∞

∫−∞

fa(t)e−iωtdt , fa(t) =π

∫−∞

αa(ω)e+iωtdω. (5.25)

Page 143: Bildverarbeitung und Objekterkennung ||

130 5 Abtasttheoreme

Nun benötigen wir die dazu passende diskrete FT, nicht die DFT, sondern die UDFT:

αd(ω) =∞

∑n=−∞

fd(n)e−iωn , fd(n) =π

π

∫−π

αd(ω)e+iωndω. (5.26)

Man könnte auch das Integralspektrum verwenden, dann müssen wir aber die ideale Ab-tastfunktion auf die Funktion anwenden, siehe Abschn. 2.39 und 4.18. Wir wollen nun dieanaloge Funktion an äquidistanten Stützstellen mit der Schrittweite T abtasten und unter-suchen, ob wir aus dem Spektrum dieser diskreten Funktion das Spektrum der analogenFunktion berechnen können, damit könnten wir trivialerweise auch die analoge Funkti-on allein aus den Abtastwerten vollständig rekonstruieren. Dies ist die gleiche Idee wiebeim Abtastheorem im endlichen Intervall, wir benötigen eine enstprechende Beziehungwie (5.22). Wir bilden also die Abtastpunkte n ⋅ T , n ∈ Z mit fd(n) = fa(nT). Damit ist:

fd(n) = fa(nT) =π

∫−∞

αa(ω)e iωnTdω

=∞

∑l=−∞

π

( l+)πT

∫( l−)π

T

αa(ω)e iωnTdω. (5.27)

Wir summieren also über Integrale mit den Integrationslängen von πT . Wir substituieren

ω = ν + πlT und bilden:

( l+)πT

∫( l−)π

T

αa(ω)e iωnTdω =

+

πT

∫−πT

αa (ν +πlT

) e iνnT e iπlndν

=

+

πT

∫−πT

αa (ν +πlT

) e iνnTdν. (5.28)

Daraus folgt:

fd(n) = fa(nT) =π

+

πT

∫−

πT

∑l=−∞

αa (ν +πlT

) e iνnTdν. (5.29)

Wir substituieren nochmals ν = ωT und erhalten:

fd(n) = fa(nT) =π

∫−π

[T

∑l=−∞

αa (ωT

+πlT

)] e iωndω. (5.30)

Page 144: Bildverarbeitung und Objekterkennung ||

5.2 Abtasttheorem für das unendliche Bildmodell 131

Wenn wir dies mit obigem Spektrum für fd(n) vergleichen, können wir sofort ablesen:

αd(ω) =T

∑l=−∞

αa (ωT

+πlT

) , (5.31)

oder wir schreiben dies in der Form:

αd(ωT) =T

∑l=−∞

αa (ω +πlT

) . (5.32)

Wir haben also eine Beziehung der Form αd(ω) = function(αa(ω)) gefunden. Eigent-lich interessiert uns aber die inverse Beziehung entsprechend (5.22), da wir das analogeSpektrum aus dem diskreten rekonstruieren wollen. Das heißt aber, wir müssen untersu-chen, wann die Beziehung (5.32) invertierbar ist. Das diskrete Spektrum ist eine additiveÜberlagerung von Translationen des analogen Spektrums. Diese Beziehung ist so nicht oh-ne weiteres nach αa auflösbar. Wir müssen irgendwie garantieren, dass in der Summe derTranslationen des analogen Spektrums das eigentliche originale Spektrum noch erkennbarist. Dies würde gelingen, wenn die additiven Überlagerungen sich nicht gegeseitig „stö-ren“. Dazumachen wir eine erste Annahme. Das analoge Spektrum αa sei bandbegrenzt infolgendem Sinne:

αa(ω) = für ∣ω ≥ ∣ω∣. (5.33)

Nun müssen wir das Abtastintervall T so wählen, dass sich die verschobenen und additivüberlagerten Spektren nicht gegenseitig „stören“, d. h.:

∣π(l + )

T−πlT

∣ ≥ ∣ω∣ →πT

≥ ∣ω∣ → T ≤π

∣ω∣. (5.34)

Folglich könnenwir nun die Beziehung (5.32) für einen bestimmten Frequenzbereich auchso schreiben:

αd(ωT) =Tαa(ω) für ∣ω∣ ≤ ∣ω∣ ≤

πT. (5.35)

Jetzt können wir die Beziehung (5.35) nach αa auflösen:

αa(ω) =⎧⎪⎪⎨⎪⎪⎩

T ⋅ αd(ωT) für ∣ω∣ ≤ ∣ω∣ ≤πT

sonst.(5.36)

Page 145: Bildverarbeitung und Objekterkennung ||

132 5 Abtasttheoreme

Nun können wir den Ausdruck für αa aus (5.36) in die IFT einsetzen:

fa(x) =π

+∞

∫−∞

αa(ω)e+iωxdω =π

∫−ω

Tαd(ωT)e+iωxdω

∫−ω

T [+∞

∑n=−∞

fd(n)e−iωTn] e+iωx dω

=Tπ

+∞

∑n=−∞

fd(n)+ω

∫−ω

e iω(x−nT)dω

=Tπ

+∞

∑n=−∞

fd(n) [

i(x − nT)e+iω(x−nT)]

−ω

=Tπ

+∞

∑n=−∞

fd(n)ω

i(x − nT)ω[e+iω((x−nT) − e−iω(x−nT)]

=ωTπ

+∞

∑n=−∞

fd(n)sin(ω(x − nT))

ω(x − nT)

=ωTπ

+∞

∑n=−∞

fd(n) ⋅ sinc(ω(x − nT)). (5.37)

Die Originalfunktion fa(x) lässt sich somit mit der sinc-Funktion als Interpolationspo-lynom allein aus den diskreten Werten wieder rekonstruieren. Die Formel (5.37) erinnertwieder an die „gemischte“ Faltung und tritt hier im Zusammenhang mit der Interpolationauf. Mit der Abkürzung sincω(x) = sinc(ωx) gilt dann:

fa(x) =ωTπ

+∞

∑n=−∞

fa(nT) ⋅ sinc(ω(x − nT))

=ωTπ

+∞

∑n=−∞

fa(nT) ⋅ sincω(x − nT)

=ωTπ

∫−∞

sincω(x − ξ)+∞

∑n=−∞

fa(ξ)δ(ξ − nT)dξ. (5.38)

Es tritt wieder die Abtastung fδ(x) = ∑n fa(x)δ(x−nT)mit dem Dirac-Kamm auf. Folg-lich ist die Rekonstruktion darstellbar durch eine Faltung der sinc-Funktion mit dieserAbtastungsfunktion:

fa(x) =ωTπ

⋅ fδ(x) ∗ sincω(x). (5.39)

Bemerkung 1 Benutzen wir statt der Kreisfrequenz die „normalen“ Frequenzen, also∣ω∣ = π∣ν∣ ≤ π

T , so erhalten wir T ≤ ∣ν ∣

. Dies entspricht der „üblichen“ Formulierungdes Abtasttheorems, wenn wir eine zumKoordinatenursprung symmetrische Bandbegren-zung haben.

Page 146: Bildverarbeitung und Objekterkennung ||

5.3 Abtasttheorem für 2D-Signale 133

Bemerkung 2 Wir haben die Bandbegrenzung symmetrisch zum Koordinatursprung ge-wählt. Allgemein können wir die Bandbegrenzung auf ein beliebiges Intervall beziehen,z. B. π

T ≥ ω − ω. Daraus folgt T ≤ πω−ω

und mit ω = πν die Beziehung T ≤ ν−ν

.

Bemerkung 3 Das Frequenzband bezieht sich immer auf die komplexen Fourierkoeffizi-enten. Haben wir z. B. ein reelles Signal, dann gibt es gar keine einseitige Bandbegrenzung,da zu einem Fourierkoeffizienten α(ν) ≠ auch immer α(−ν) ≠ ist. Dann lautet mit ∈ [ν , ν] die Abtastbedingung T ≤

(ν−ν).

Bemerkung 4 Welche Funktionen können denn von vornherein keine Bandbegrenzunghaben? Dies sind z. B. Funktionen mit Sprüngen oder „Knickstellen“.

5.3 Abtasttheorem für 2D-Signale

Nun wollen wir das Abtasttheorem für 2D-Signale betrachten. Eine naheliegende Frageist nun: Was soll denn da der grundlegende Unterschied zur äquidistanten Abtastung von1D-Signalen sein? Die Antwort ist einfach: Außer der äuidistanten Abtastgeometrie imRechteckgitter gibt es noch andere reguläre Gittergeometrien, man könnte die Abtastpunk-te also auch noch anders verteilen als im Rechteckgitter. Es gibt in der Ebene aber nurdrei homogeneGitter: Das Rechteckgitter, das Dreiecksgitter und das Hexagonalgitter. Zu-nächst formulieren wir einmal die Bandbegrenzung völlig unabhängig vom Gitter:

αa(ω , ω) = für ∣ω∣ ≥ ∣ω∣, ∣ω∣ ≥ ∣ω∣, (5.40)

diese rechteckige Bandbegrenzung ist konsistentmit dem Rechteckgitter und führt zur Ab-tastbedingung:

T ≤πωx

, T ≤πωy

.

Die Bandbegrenzung (5.40) als Rechteck ist aus praktischen Gründen völlig unrealistisch,warum sollte diagonal eine andere Bandbegrenzung sein als horizontal oder vertikal? Daswürde bedeuten, die Bandbegrenzung hängt von der Rotation einer Kamera ab. Logischerist deshalb eine Bandbegrenzung in Form eines Kreises:

αa(ω , ω) = für ω + ω

≥ r, (5.41)

wobei der Radius r des Kreises die eigentliche Bandbegrenzung beschreibt. Wennman nunden Kreis in ein Quadrat einbettet (Quadrat mit den Seitenlängen r), dann gelten wiederdie Abtastbedingungen (5.40) für das Quadratgitter. Man kann nun zeigen (siehe [21]),dass zu der Bandbegrenzung mit einem Kreis das Hexagonalgitter am besten konsistent istund zwar in dem Sinne, dass man beim Hexagonalgitter 13,4 Prozent weniger Gitterpunk-te benötigt als beim Quadratgitter und zwar bei gleicher Auflösung. Dies hätte durchauspraktische Konsequenzen, da man auf einem Chip 13,4 Prozent weniger Sensorelementeanbringen müsste ohne dass sich die Auflösung ändern würde.

Page 147: Bildverarbeitung und Objekterkennung ||

134 5 Abtasttheoreme

5.4 Anwendungen des Abtasttheorems

5.4.1 Verkleinern von Bildern (Shrinking)

Eine unmittelbare Anwendung des Abtasttheorems finden wir beim Verkleinern von digi-talen Bildern. Wir nehmen einmal ein eindimensionales Bild der Größe N an, dann habenwir genau N DFT-Koeffizienten. Eine simple Methode das Bild zu verkleinern ist: Wir las-sen jedes zweite Pixel einfach weg, dann hat das Bild die Dimension N/. Sind nun diehohen Frequenzen, also die oberen N/ DFT-Koeffizienten zufällig Null, dann ist dieseArt der Verkleinerung in Ordnung, ansonsten liegt eindeutig eine Unterabtastung vor. So-mit könnten feinste Strukturen verschwinden oder Aliasing-Effekte auftreten. Um diese zuvermeiden müssten wir vorher das Bild mit einem Tiefpass filtern. Hier würde sich einidealer Tiefpaß anbieten, wir setzen also die oberen N/-DFT-Koeffizienten Null, trans-formieren zurück und nehmen nur jedes zweite Pixel. Ideale Tiefpässe können aber dieseRinging-Artefakte erzeugen, folglich nehmen wir igendeinen Tiefpass im Frequenzraumoder im Ortsraum. Dadurch wird das Bild etwas unschärfer, dies ist aber der Preis, denman zahlen muss, um die Unterabtastung zu vermeiden.

5.4.2 Vergrößern von Bildern (Zooming, Superresolution)

Das einfachste Verfahren ist sicher die Pixelreplikation, also das Verdoppeln der Pixel.Etwas eleganter sind sicher Interpolationsverfahren, das Bild wird dadurch größer, aberdie eigentliche Auflösung des Bildes wird sich dadurch nicht ändern. Es kommen keineneuen Informationen hinzu. Gibt es eine Möglichkeit, die Auflösung wirklich zu erhöhen?Das Schlagwort dazu heißt Superresolution, siehe z. B. [54].

Zur Vereinfachung der Schreibweise nehmen wir wieder eindimensionale Funktionenund demonstrieren das Grundprinzip. Von einem Bild machen wir mehrere Aufnahmenmit jeN Pixeln pro Bild. Aus diesen Bildern der AuflösungN wollen wir ein Bild der Auflö-sung N berechnen,welches tatsächlichmehr Information trägt. EineGrundvoraussetzungist natürlich, dass die Bilder mit N Pixeln Unterabtastungen sind, ansonsten kann mannicht die Auflösung echt erhöhen. Zur Bandbegrenzung nehmen wir das Modell A[X].Wir nehmen aus Symmetriegründen an, es seien bezüglich eines idealen Tiefpasses dieersten M = N − komplexen Fourierkoeffizienten ungleich Null:

f (x) =

√X

N−

∑k=−(N−)

βke+πikxX . (5.42)

Page 148: Bildverarbeitung und Objekterkennung ||

5.4 Anwendungen des Abtasttheorems 135

Bezüglich (5.24) ist K = N − . Nun verschieben wir die Funktion um u und erhalten

f (x − u) =

√X

N−∑

k=−(N−)βke+πik

xX ⋅ e−πik

uX . (5.43)

Nun wollen wir beide Funktionen mit N Stützstellen abtasten und versuchen, aus diesemlinearen Gleichungssystem die Fourierkoeffizienten βk auszurechnen. Anschließend brau-chen wir nur die Funktion f (x) in (5.42) mit N Stützstellen äquidistant abtasten und dieSuperresolution ist gelungen. Wir tasten also jetzt beide Funktionen mit N Stützstellen anden äquidistanten Punkten x = xl = l ⋅ X

N ab:

f (xl) =

√X

N−∑

k=−(N−)βkeπik

lN , l = , . . . ,N − . (5.44)

Die Verschiebung u drücken wir durch u = λ XN aus und erhalten:

f (xl − u) =

√X

N−∑

k=−(N−)βkeπik

lN ⋅ e−πik

λN =

√X

N−∑

k=−(N−)βkeπik

(l−λ)N . (5.45)

Das lineare Gleichungssystem (5.44) hat N − Unbekannte und N Gleichungen, ist dahernicht lösbar. Deshalb benötigen wir weitere Gleichungen, nämlich die der verschobenenFunktion (5.45). Mit beiden zusammen haben wir nun N − Unbekannte βk und NGleichungen, so dass formal eine eindeutige Lösungmöglich wäre. Die Gleichungen (5.45)dürfen aber nicht linear abhängig von den Gleichungen (5.44) sein. Man sieht leicht, linea-re Abhängigkeiten entstehen sofort, wenn die Verschiebung λ ein ganzahlig Vielfaches derAbtast-Intervallbreite X

N ist. Daher müssen wir fordern: λ darf nicht ganzzahlig sein, d. h.λ ∈ Z. Dies hat sofort praktische Konsequenzen. Die Verschiebung muß ja bekannt sein,d. h. sie muss mit Bild-Registriermethoden bestimmt werden und zwar mit Subpixelge-nauigkeit. Im Abschn. 4.23 hatten wir aus Verschiebungen der Funktion oder des Spek-trums modifizierte DFT angegeben. Wir sehen, die Funktionen eπik

(l−λ)N aus (5.45) sind

bis auf den Faktor √

Ngenau diese Basisfunktionen einermodifiziertenDFTund bilden ein

Orthonormalsystem.Genauso sind die Funktionen eπiklN aus (5.44) bis auf den Faktor

NBasisfunktionen der eigentlichen DFT und bilden auch ein Orthonormalsystem.Währenddie Basisfunktionen eπik

lN periodischmitN sind, sind die Basisfunktionen eπik

(l−λ)N nicht

mehr periodischmit N . Nun könnten wir diesen Abschnitt beenden mit dem Hinweis, daslineare Gleichungssystem muss mit numerischen Methoden gelöst werden und dann sindwir fertig. Wenn wir z. B. Bilder der Dimension ( × ) haben, also 1.000.000 Pi-xel, dann wäre ein lineraes Gleichungssystem der Dimension (.., ..) zulösen, was scheinbar unmöglich ist. Folglich untersuchen wir, ob das Gleichungssystem ei-ne spezielle Struktur besitzt und sich etwas leichter lösen lässt. Dazu schreiben wir jetzt das

Page 149: Bildverarbeitung und Objekterkennung ||

136 5 Abtasttheoreme

Gleichungssystem in Matrix-Schreibweise auf. Die k-te Basifunktion φk(l) = eπiklN den-

ken wir uns jetzt als Spaltenvektor φk mit N Komponenten, genauso φk ,(λ)(l) = eπik(l−λ)

N .Dann lautet das lineare Gleichungssystem in der FormAx = b:

√N

(φ−(N−) ⋯ φ ⋯ φN−

φ−(N−),(λ) ⋯ φ,(λ) ⋯ φN−,(λ)) ⋅

⎛⎜⎜⎜⎜⎜⎜⎝

β−(N−)⋮

β⋮

βN−

⎞⎟⎟⎟⎟⎟⎟⎠

=

√N

⋅√X ⋅ (

ffλ) (5.46)

mit f = ( f (xl)), fλ = ( f (xl − u)) als Spaltenvektoren. Wir multilpizieren die linke undrechte Seite mit der Matrix A

T(der Faktor

Ngehört mit zur Matrix A) und erhalten die

folgenden Gaußschen Normalengleichungen ATAx = A

Tb:

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

⋯ ( + e−πiλ) ⋯ ⋯ ( + e−πiλ) ⋯ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋱ ⋮

⋯ ⋯ ( + e−πiλ) ⋯ ⋯

( + e+πiλ) ⋯ ⋯ ( + e+πiλ) ⋯ ⋯ ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋮ ⋱ ⋮

⋯ ( + e+πiλ) ⋯

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎜⎝

β−(N−)⋮

β⋮

βN−

⎞⎟⎟⎟⎟⎟⎟⎠

=√X

N

⎛⎜⎜⎜⎜⎜⎜⎜⎝

∑N−l= f (xl)e+πi(N−)

lN +∑

N−l= f (xl − u)e+πi(N−)

(l−λ)N

∑N−l= f (xl) + ∑

N−l= f (xl − u)

∑N−l= f (xl)e−πi(N−)

lN +∑

N−l= f (xl − u)e−πi(N−)

(l−λ)N

⎞⎟⎟⎟⎟⎟⎟⎟⎠

. (5.47)

Wir sehen, die Unbekannten βk treten als Summen von Paaren auf. Wir schreiben dieseinmal auf. Mit den Abkürzungen

gk =√XN

(N−∑l=

f (xl)e−πiklN +

N−∑l=

f (xl − u)e−πik(l−λ)

N ) , (5.48)

gk+N =

√XN

(N−∑l=

f (xl)e−πiklN + e+πiλ

N−∑l=

f (xl − u)e−πik(l−λ)

N ) (5.49)

erhalten wir die Gleichungssysteme für k = −(N − ), . . . ,−:

βk + ( + e−πiλ)βk+N = gk( + eπiλ)βk + βk+N = gk+N .

(5.50)

Page 150: Bildverarbeitung und Objekterkennung ||

5.4 Anwendungen des Abtasttheorems 137

Diese lösen wir auf:

βk = gk+N( + e−πiλ) − gk

cos πλ − , βk+N =

gk( + e+πiλ) − gk+N

cos πλ − . (5.51)

Eigentlich benötigen wir nur die βk, da für reelle Funktionen β−k = βk gelten muss. Die

entscheidenden Größen sind also die gk und gk+N für die Berechnung der βk , deshalbdrücken wir diese jetzt direkt durch αk der DFT aus:

gk =

√XN

(αk( f ) + eπikλN ⋅ αk( fλ)) (5.52)

gk+N =

√XN

(αk( f ) + eπiλ ⋅ eπikλN ⋅ αk( fλ)) . (5.53)

Zu beachten ist, dass in obigen Formeln der Index k nur von −(N − ) bis − läuft. DieGröße β ist ein Sonderfall und lässt sich trivialerweise aufschreiben:

β =√X

N(N−∑l=

f (xl) +N−∑l=

f (xl − u)) =

√XN

(α( f ) + α( fλ)) . (5.54)

Die βk für k = , . . . ,N − ergeben sich aus βk = β−k . Da wir nun aus diesen diskreten

Werten die βk berechnet haben, kennen wir nun auch die analoge Funktion f (x) entspre-chend (5.42). Diese tasten wir nun an N Stellen xl = l X

N ab und erhalten somit ein Bildmit echt höherer Auflösung. In den obigen Formeln haben wir die Kenntnis der Verschie-bung λ vorausgesetzt, wobei λ nicht ganzzahlig sein darf. Es muss also eine Verschiebungim Subpixelbereich bestimmt werden. Dies ist eigentlich einWiderspruch: Wir haben zweiBilder, die unterabgetastet sind und sollen aus denen eine Subpixelverschiebung bestim-men, die sich aber auf eine höhere Bandbegrenzung bezieht. Es fehlt uns eigentlich dieentsprechende Information.

In der Abb. 5.1 ist eine bandbegrenzte Funktion mit 39 komplexen Fourierkoeffizien-ten zu sehen, d. h. die reelle Bandbegrenzung liegt bei 19. Wir tasten diese Funktion nunmit 20 Stützstellen ab (Unterabtastung), allerdings zweimal, wobei die zweite Abtastunggegenüber der ersten genau um 0,5 Pixel verschoben ist. Allein aus diesen zwei diskre-ten „Bildern“ ist nun exakt die Subpixel-Translation 0,5 zu ermitteln. In der Abb. 5.2 sinddie beiden diskreten „Bilder“ aus Abb. 5.1 nochmals dargestellt, wobei eine lineare In-terpolation verwendet wurde. Diese Kurven sollen also durch eine 0,5 Pixel-Translationzur „Deckung“ gebracht werden. Man sieht aus dieser Abbildung, dies scheint unmöglichzu sein. Und dennoch wäre bei diesem extremen Beispiel die Subpixelverschiebung be-stimmbar. Im Abschn. 5.1 hatten wir die Bedinguung M > K angegeben, um die analogeFunktion eindeutig zu rekonstruieren. Dann gab es aber noch eine zweite UngleichungK < M ≤ K, in diesem Falle sind noch die tiefen Frequenzen rekonstruierbar, und dieseenthalten die exakte Subpixelverschiebung. In der Abb. 5.1 ist M = und K = , daher

Page 151: Bildverarbeitung und Objekterkennung ||

138 5 Abtasttheoreme

-3

-2

-1

0

1

2

3

2pipi0

Abb. 5.1 Bandbegrenzte Funktion mit zwei zueinander verschobenen äquidistanten Abtastungen

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

2pipi0

Abb. 5.2 Beide Abtastungen aus Abb. 5.1 wurden linear interpoliert

Page 152: Bildverarbeitung und Objekterkennung ||

5.4 Anwendungen des Abtasttheorems 139

kann nur noch die 1. Frequenz allein aus den unterabgetasteten Werten berechnet werden.Aus den 1. Frequenzen für beide Bilder kann man nun die Subpixelverschiebung von ,exakt berechnen. Dieses Beispiel ist also so gewählt worden, dass die Verschiebung geradenoch bestimmbar ist, das ist sicher verblüffend. Wählt man weniger als Abtastpunk-te, dann kann man tatsächlich keine Subpixel-Registrierung mehr durchführen. ÄhnlicheAussagen findet man z. B. in [78]. Auf Grund unserer Annahme, bei N Pixeln liege ei-ne Bandbegrenzung mit N − komplexen Fourierkoeffizienten vor, benötigen wir alsomindestens zwei Bilder um die höhere Auflösung auszurechnen. Haben wir mehr als zweiBilder, z. B. p > , dann erweitern diese lediglich das lineare Gleichungssystem (5.46), wel-ches im Sinne der kleinsten Quadrate wieder gelöst wird. Es ändert sich im Wesentlichennichts an der Lösung, diese wird nur numerisch stabiler. Wir wollen diese kurz aufschrei-ben. Die gk und gk+N werden zu (formal sei λ = , u = ):

gk =√NN

p−

∑m=

N−∑l=

f (xl − um)e−πik(l−λm)

N⎞

⎠, (5.55)

gk+N =

√NN

p−

∑m=

eπiλmN−∑l=

f (xl − um)e−πik(l−λm)

N⎞

⎠. (5.56)

Als Lösungen für die βk+N ergibt sich dann:

βk+N =

p (∑

p−m= e

+πiλm) ⋅ gk − gk+Np (p + ∑p−

m= cos πλm + ∑p−k , l=,k≠l cos π(λk − λl))

. (5.57)

Man könnte allerdings bei pBildern dieGrenzfrequenz erhöhen zu p⋅N− und immer nocheine eindeutige Lösung ausrechnen. Daran sieht man, ohne wirkliches A-priori-Wissenüber die Bandbegrenzung kann man so ziemlich alles ausrechnen, man muss nur die ge-eigneten Annahmen treffen.

5.4.3 Superresolution und Bildrestauration

Im vorigen Abschnitt haben wir die „reine“mathematische Superesolution betrachtet. Beirealen Kameras haben wir eigentlich noch zusätzlich die Proleme der Bildrestauration zubeachten, also die Faltung und additives Rauschen. Die Bildrestauration für sich ist schonein schwieriges Problem, nun kommt noch zusätzlich die Superresolution hinzu. Dahervernachlässigen wir erst einmal das Rauschen und betrachten nur die Faltung. Dann be-steht das mathematische Modell in folgendem:

Das bandbegrenzte, analoge Signal f (x)wird mit einer PSF h(x) gefaltet und anschlie-ßend mit N Pixeln abgetastet. Dabei haben wir wieder p − Subpixel-Translationen desSignals f (x), die auch gefaltet werden und anschließend je mit N Pixeln abgetastet vor-liegen. Die PSF h(x) und damit die Fourierkoeffizienten γk der PSF h(x) seien bekannt.

Page 153: Bildverarbeitung und Objekterkennung ||

140 5 Abtasttheoreme

Abb. 5.3 Originalbild mit feinen Strukturen. Das Bild wurde freundlicherweise von Dr. WolfgangOrtmann zur Verfügung gestellt

Wenn wir wieder das Signal im Intervall [, X] bandbegrenzt ansetzen:

f (x) =

√X

N−∑

k=−(N−)βke+πik

xX , (5.58)

dann erhalten wir laut Faltungstheorem für f und die translatierten Funktionen f (x−um)

g(x − um) = (h ∗ f )(x − um) =N−∑

k=−(N−)γk ⋅ βke+ik(x−um) , m = , . . . , p − . (5.59)

Wenn wir einmal annehmen, es gelte γk ≠ , k = −(N − ), . . . , , . . . , (N − ), dannhaben wir nur eine simple Faltungsinversion zu beachten, d. h. der Faktor

√X ist in gk

und gk+N zu streichen und die Lösungen für βk bzw. βk+N sind durch γk bzw. γk+N zuteilen. Diese Formel besagt aber auch (was wir aber schon längst wissen), die Faltung isttranslationsinvariant, d. h. die gefalteten Funktionen g unterscheiden sich exakt durch diegleichen Verschiebungen wie die originalen Funktionen. Wir nehmen einmal an, die An-zahl N der Pixel sei ungerade, und weiter nehmen wir an, dass h(x) ein Tiefpass derartdarstellt, so dass die gefaltete Funktion g eine Grenzfrequenz von N/ (ganzzahlige Di-vision) besitzt. Dann können wir die analoge, gefaltete Funktion g vollständig aus den NAbtastwerten rekonstruieren (trigonometrisches Interpolationspolynom). Aus diesen re-konstruierten Interpolationspolynomen können wir exakt die Subpixelverschiebungen um

berechnen. Wir könnten folglich unter diesen gemachten Annahmen tatsächlich aus denBildernmitN Pixeln die exakte Subpixelverschiebung berechnen.Das Problembesteht nunaber darin, dass wir die βk , für die γk = gilt, nicht mehr rekonstruieren können. Es liegtder Fall der Bildrestauration vor, bei dem das Original nicht mehr eindeutig bestimmbarist.

Page 154: Bildverarbeitung und Objekterkennung ||

5.4 Anwendungen des Abtasttheorems 141

Abb. 5.4 a Das Bild in Abb.5.3 wurde unterabgetastetmit dem Faktor

in x- undy-Richtung, d. h. es wurdejedes vierte Pixel in x- undy-Richtung abgespeichert. b–d Das Bild in Abb. 5.3 wurdeunterabgetastet mit dem Faktor , wobei eine Subpixelver-schiebung

(b), (c) bzw.

(d) in x- und y-Richtung ge-genüber dem Bild in a vorliegt

In der Abb. 5.3 ist ein Bild einer Pyramide zu sehen. Auf Grund der „feinen Treppen-strukturen“ wirdman bei einer Unterabtastung sicher Aliasingeffekte erhalten. Dazuwurdeein Experiment gemacht. Das Bild in Abb. 5.3 wurde in 16 Bildern unterabgetastet, wo-bei die abgetasteten Bilder tatsächlich eine Subpixelverschiebung um ein Vielfaches von gegeneinander besitzen. In Abb. 5.4 sind 4 der 16 unterabgetasteten Bilder zu sehen. Inden unterabgetasteten Bildern kannman deutlich das Aliasing erkennen. Nun wurden mitRegistrieralgorithmen die Subpixelverschiebungen der unterabgetasteten Bilder berechnetund durch Superesolution ein höher aufgelöstes Bild berechnet. Dieses Bild stimmt bis auf„numerische Effekte“ mit dem Originalbild 5.3 überein.

Page 155: Bildverarbeitung und Objekterkennung ||

142 5 Abtasttheoreme

5.4.4 Bemerkungen zum Abtasttheorem

Liegt demAbtasttheorem ein allgemeines Prinzip zugrunde? Natürlich ist dies so und jederkönnte sein eigenes Abtasttheorem formulieren. Wir nehmen einmal an, eine gegebeneFunktion f über dem Intervall [, X] sei in eine gewöhnliche Potenzreihe entwickelbar:

f (x) =∞

∑k=

akxk , (5.60)

z. B. die Taylorreihe im Entwicklungspunkt x = . Dann nennen wir die Funktion poly-nombegrenzt (anstatt bandbegrenzt), wenn die Reihe zur endlichen Summe entartet:

f (x) =N−∑k=

akxk , (5.61)

d. h. die Funktion ist selbst ein Polynom N − -ten Grades. Wenn wir nun die Funktionan N Stellen abtasten xl , l = , . . . ,N − , dann können wir allein aus der Kenntnis derAbtastwerte die Funktion wieder eindeutig rekonstruieren, wir brauchen wieder nur dasentsprechende lineare Gleichungssystem aufzuschreiben:

a + ax + ax +⋯ + aN−xN− = f (x)

a + ax + ax +⋯ + aN−xN− = f (x)

a + axN− + axN− +⋯ + aN−xN−N− = f (xN−).

(5.62)

Die Koeffizientenmatrix A des linearen Gleichungssystems (5.62):

A =

⎛⎜⎜⎜⎜⎝

x x ⋯ xN−

x x ⋯ xN−

xN− xN− ⋯ xN−N−

⎞⎟⎟⎟⎟⎠

(5.63)

heißt Vandermonde-Matrix, deren Determinante ist gleich:

det(A) = ∏N−≥k> j≥

(xk − x j). (5.64)

Damit ist das Gleichungssystem (5.62) genau dann eindeutig lösbar, wenn die x j paarwei-se verschieden sind. Die x j müssen nicht äquidistant gewählt werden, Hauptsache sie sindpaarweise verschieden. Es fällt sofort auf und das kann kein Zufall sein: die Vandermonde-Matrix hatten wir schonbeim Beweis des Abtasttheorems im Intervall kennengelernt, siehe(5.13) und (5.14). Das Gleichungssystem (5.62) können wir nun nur numerisch nach den

Page 156: Bildverarbeitung und Objekterkennung ||

5.4 Anwendungen des Abtasttheorems 143

Koeffizienten ak auflösen. Die Lösungen ak hängen von den Funktioneswerten f (xk) undden Stützstellen xk ab. Diese Abhängigkeit bzw. Rechenvorschrift nennen wir einfach DPT(Diskrete Polynom Transformation). Da wir diese DPT nicht explizit aufschreiben kön-nen, sondernnur numerisch realisieren können, versucht man oft die Basispolynome so zumodifizieren, dass das Gleichungssystem explizit auflösbar wird, z. B. die Lagrange Interpo-lation. Mit der Lagrange-Interpolation macht man einen Darstellungstrick: man verlagertWissen in die Basisfunktionen, nämlich die Stützstellen xi selbst. Die i-te Basisfunktionli(x) wird zu:

li(x) =(x − x)(x − x)⋯(x − xi−)(x − xi+)⋯(x − xN−)

(xi − x)(xi − x)⋯(xi − xi−)(xi − xi+)⋯(xi − xN−). (5.65)

Damit wird das (bandbegrenzte) Polynom (5.61) zu:

f (x) =N−∑k=

bk lk(x). (5.66)

Da für die Basisfunktionendie Beziehung li(x j) = δi− j gilt, ist die KoeffizientenmatrixA in(5.62) nicht nur eine Orthogonalmatrix, sie ist sogar die Einheitsmatrix. Daher können wirsofort die Lösung bi = f (xi) aufschreiben. Diese Lösung würden wir jetzt DLT (Diskre-te Lagrange Transformation) nennen, allerdings ist diese trivial, daher unbrauchbar. Dasliegt daran, dass wir die Basisfunktionen nicht allgemein genug gewählt haben, sie hängendirekt von den Stützstellen ab. Allerdings könnten wir jetzt mit (5.66) die DPT berechnen,wir brauchen nur die li(x) auszumultiplizieren, alle Koeffizienten vor einer Potenz von xzusammenfassen und hätten die Darstellung für die ai gefunden und somit die DPT. DieseAusdrücke werden aber recht unübersichtlich sein.

Sinnvoller scheint es zu sein, solche Basissysteme zu wählen, bei denen dann die Ma-trix A eine Orthonormalmatrix ist, d. h. die diskretisierten Basisfunktionen sind orthogo-nale Vektoren (auf die Länge Eins kann anschließend noch normiert werden). Die Fou-riertransformation im endlichen Intervall besitzt nun eine sehr schöne Eigenschaft: Dieanalogen Basisfunktionen bilden ein Orthonormalsystem. Wenn wir nun die Stützstellenäuidistant wählen, dann sind (überraschenderweise) die diskretisierten Basisfunktionen,die jetzt Vektoren darstellen, auch orthogonal. Die Spaltenvektoren der Matrix A sind jetztorthogonal (siehe (5.17)). Wir können das Gleichungssystem ganz leicht lösen, die Lö-sung nennen wir DFT. Da wir die DFT im Komplexen formulieren, ist die Matrix A auchkomplex. Daher formulieren wir einmal die Bandbegrenzung im Reellen und im Intervall[, π] (d. h. X = π) mit der Grenzfrequenz N :

f (x) =

√π

(a

+N∑k=

ak cos kx +N∑k=

bk sin kx) . (5.67)

Laut Abtasttheorem benötigen wir nun im Intervall [, π]mindestensM = N + Abtast-punkte, um das trigonometrische Interpolationspolynom berechnen zu können. Bezeich-nen wir die Abtastpunkte mit x , x , . . . , xM− und setzen a = , so erhalten wir aus (5.67)

Page 157: Bildverarbeitung und Objekterkennung ||

144 5 Abtasttheoreme

-6

-4

-2

0

2

4

6

8

2pipi

Abb. 5.5 M ≥ N + äquidistante Stützstellen füllen nicht das ganze Intervall aus

das folgende lineare Gleichungssystem:

⎛⎜⎜⎜⎜⎝

cos x ⋯ cosNx sin x ⋯ sinNxcos x ⋯ cosNx sin x ⋯ sinNx

⋮ ⋮

cos xM− ⋯ cosNxM− sin xM− ⋯ sinNxM−

⎞⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

a⋮

aNb⋮

bN

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎝

f (x)f (x)⋮

f (xM−)

⎞⎟⎟⎟⎟⎠

(5.68)

Wennwir nun das Gleichungssystem (5.68) lösen, dann erhalten wir die allgemeinste Formder DFT einer reellen Funktion f (x). Insbesondere brauchen die Abtastpunkte nicht äqui-distant sein, sie können beliebig bewählt werden, es muss nur das Gleichungssystem lös-bar sein. Wählt man z. B. die Abtastpunkte so, dass größere Abtastlücken entstehen (sie-he Abb. 5.5, im rechten Teil des Intervalles liegen keine Abtastpunkte), dann kann dasGleichungssystem schlecht konditioniert werden und damit wird die Lösung instabil. Diesdrückt sich darin aus, dass dann das Interpolationspolynom in der Abtastlücke von derFunktion f (x) abweichen kann. In der Abb. 5.6 sind die Instabilitäten bei nichtäquidi-stanter Abtastung und größeren Lücken zu sehen. Stabil wird die Lösung, wenn die Ab-tastpunkte „gleichmäßig“ über das Intervall [, X] verteilt werden und keine größere Ab-

Page 158: Bildverarbeitung und Objekterkennung ||

5.4 Anwendungen des Abtasttheorems 145

-50

-40

-30

-20

-10

0

10

20

30

40

2pipi

Abb. 5.6 M ≥ N + nichtäquidistante Stützstellenmit größeren Lücken

tastlücke entsteht. Der stabilste Fall ist der, wenn man äquidistante Abtastpunkte über dasganze Intervall wählt. Die Lösung des linearenGleichungssystems entspricht dann der klas-sischen DFT.

5.4.5 Pyramiden

Burt und Adelson führten bereits 1981–1983 das Konzept der Gauß- und Laplacepyra-mide ein. Rosenfeld begründete 1984 das Gebiet der Multiresolutional Image Processing.Das Grundprinzip der Gaußpyramide ist sehr simpel. Jede Schicht der Gaußpyramide ent-steht durch Gaußfilterung der darunterliefgenden Schicht und „Weglassen“ jedes zweitenPixels. Die Laplacepyramide entsteht einfach durch Differenzbildung zweier Schichten derGaußpyramide. Manmuss aber darauf achten, dass beide Schichten der Gaußpyramide diegleiche Anzahl von Pixeln besitzen. Dies kann z. B. durch Interpolation der oberen Schichterfolgen. Damit sind mit der Gauß- und der Laplacepyramide alle Schichten wieder voll-ständig rekonstruierbar. Was haben nun diese Pyramiden mit dem Abtasttheorem zu tun?Das Gaußfilter ist ein LSI-Filter, und zwar ein Tiefpassfilter in Abhängigkeit vom gewähl-ten σ . Wir nehmen einmal an, man könnte σ so wählen, dass ein idealer Tiefpass derart

Page 159: Bildverarbeitung und Objekterkennung ||

146 5 Abtasttheoreme

Abb. 5.7 Lenna. a Gaußpyramide, b Laplacepyramide

entsteht, dass genau immer die „untere“ Hälfte aller Frequenzen passieren dürfen. Die ersteSchicht der Gaußpyramide enthält dann die ersten n/ Frequenzen. Nach demAbtasttheo-rem ist dann die erste Schicht bandbegrenzt mit der Grenzfrequenz n/, folglich brauchenwir nur die Hälfte aller Abtastwerte und können die Zwischenwerte durch trigonometri-sche Interpolation eindeutig rekonstruieren. Die Laplacepyramide speichert die Differenzzwischen vollständig interpolierter erster Schicht und der untersten Schicht, sie würde da-mit genau das obere Frequenzband repräsentieren. Natürlich kann man kein σ wählen, sodass dieser ideale Tiefpass entsteht, aber näherungsweise kann man dies realisieren. Das„Geniale“ an diesen Pyramiden ist aber, dass wir einen Gaußfilter beschränkter Ortsaus-dehnung nutzen und beliebig „schmale“ Tiefpässe erzeugen können, allerdings erst in denhöheren Schichten der Pyramiden. Für die Gaußfilter werden oft Binomialfilter implemen-tiert. Ein Nachteil gegenüber den Wavelets ist z. B., dass wir pro Schicht % aller Pixelzusätzlich abspeichern müssen. Die Gauß- und Laplacepyramiden werden oft in der Da-tenkompression und dem sogenannten Mosaicing eingesetzt, d. h. man setzt viele kleineBilder zu einem großen Bild zusammen, wobei die „Nahtstellen“ besondere Probleme be-reiten (siehe auch [51]).

Page 160: Bildverarbeitung und Objekterkennung ||

6Orts-Frequenz-Darstellungen

6.1 Der Leck-Effekt (Leakage effect)

In der Siganlanalyse und Nachrichtentechnik wird theoretisch immer eine Funktion f (t)bezüglich des Modells A1[−∞,+∞] betrachtet. Dies entspricht aber nie der Realität. Inder Realität haben wir nur ein endliches Intervall zur Verfügung, außerhalb dieses Inter-valles setzen wir die Funktion zu Null und erhalten damit eine Funktion f ′(t). Es soll abervom Spektrum der Funktion f ′(t) auf das Spektrum von f (t) geschlossen werden. Ist diesüberhaupt möglich? Die Funktion f ′(t) ergibt sich als Multiplikation von f (t) mit derRechteckfunktion rect(a ⋅ t). Nach dem Faltungstheorem gilt dann:

α f ′(t)(ν) = α f (t)⋅rect(a⋅t)(ν) = C ⋅ α f (t)(ν) ∗ αrect(a⋅t)(ν). (6.1)

Das Spektrum von f (t) wird also durch eine Faltung mit dem Spektrum der Fenster-Funktion „verschmiert“. Nun kann man statt der Rechteckfunktion eine andere Fenster-Funktion g(t) wählen, so dass diese „Verschmierung“ irgendeinem Zielkriterium unter-worfen wird. Dazu betrachtet man das Leistungsspektrum ∣αg(t)∣ der Fensterfunktiong(t). Diese Leistungsspektren besitzen einen zentralen Peak und viele Nebenmaxima, dieman als „Seitenkeulen“ (side lobes) bezeichnet. Die „Verschmierung“ ist sicher minimal,wenn man diese Seitenkeulen möglichst klein hält und gleichzeitig der zentrale Peak mög-lichst schnell abfällt. Dazu wird oft die Maßeinheit Dezibel benutzt:

dB = ⋅ log x . (6.2)

Es bedarf in der konkreten Anwendung immer einer Erklärung, was x für ein Verhältnisdarstellt. Nun chrakterisiertman z. B. die Fensterfunktionen durch dasVerhältnis derHöhedes ersten (größten) Nebenmaximums zur Höhe des zentralen Peaks und gibt diese Größefür die meisten Fensterfunktionen in (dB) an. Diese Größe sollte also möglichst groß sein.So ist sie z. B. für das Rechteckfenster gleich −, dB. Das Minus bedeutet nur, dass man

147H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_6, © Springer Fachmedien Wiesbaden 2014

Page 161: Bildverarbeitung und Objekterkennung ||

148 6 Orts-Frequenz-Darstellungen

eine Dämpfungmeint und keine Verstärkung. Als eine weitere Größe dient die Bandbreite.Man definiert aber in diesem Zusammenhang eine spezielle Bandbreite, z. B. die berühmte dB Bandbreite − ≈ ⋅ log(/), d. h. wann der zentrale Peak im Leistungsspektrumauf die Hälfte abgefallen ist. Diese Größe sollte möglichst klein sein. Auf diese Größen hinsind viele Fensterfunktionen untersucht worden, siehe z. B. [12]. Die bekanntesten Fens-terfunktionen g(t) sind :

• Rechteck-Fenster• Dreiecks-Fenster (Fejer-Fenster)• Kosinus-Fenster• Hanning-Fenster• Hamming-Fenster• Triplett-Fenster• Gauß-Fenster• Kaiser-Bessel-Fenster• Blackman-Harris-Fenster.

Bezüglich der beiden oben aufgeführten charakteristischen Größen des Leistungsspek-trums der Fenster-Funktionen ist das Rechteck-Fenster das „schlechteste“ Fenster, und dasKaiser-Bessel-Fenster ist das „beste“ Fenster.

Alles bisher ist aber nur eine theoretische Erklärung des Leck-Effektes für das ModellA1[−∞,+∞]. In einem endlichen Intervall kann man praktisch nur das Modell A1[X]

verwenden, „ganz praktisch“ sogar nur die DFT mit dem Modell D1[N] mit einer peri-odischen Wiederholung der Funktion. Mit der DFT kann man sogar in Spezialfällen dasSpektrum von f (t) richtig wiedergeben. Ist f (t) selbst periodisch undmanwählt als Inter-vall [, X] genau die Periodenlänge bzw. ein ganzzahlig Vielfaches davon und ist weiterhinf (t) bandbegrenzt, dann gibt die DFT (falls man das Abtasttheorem beachtet) das Spek-trum sogar richtig wieder, ansonsten wird es durch den Leck-Effekt verfälscht.

6.2 Das komplexe Spektrogramm

Wie durch den Leck-Effekt schon angedeutet, möchte man Frequenzen einem bestimmtenOrt zuordnen, dies geschieht in der klassischen Signaltheorie mit der Short Time FourierTransform oderWindowed Fourier Transform. In der Bildverarbeitung wird dies komplexesSpektrogramm (complex spectrogram) genannt:

α f ⋅Su g(u, ω) = ∫B

f (t)g(t − u)e−iωtdt . (6.3)

Die Funktion f wird folglich mit einer verschobenen Fensterfunktion g multipliziert unddavonwird das Spektrum berechnet. Nehmenwir einmal an, die Fensterfunktion g sei eine

Page 162: Bildverarbeitung und Objekterkennung ||

6.2 Das komplexe Spektrogramm 149

gerade Funktion, dann erhalten wir die Faltung:

α f ⋅Su g(u, ω) = ∫B

f (t)e−iωt g(u − t)dt = f (u)e−iωu ∗ g(u). (6.4)

Für das folgende normieren wir die Fensterfunktion zu:

∥g∥ = ∫B

g(t)g(t)dt = ∫B

∣g(t)∣dt = . (6.5)

Für das Spektrogramm erhalten wir nun die Parsevalsche Gleichung zu:

∫B

∣ f (t)∣dt =π ∫

B∫B

∣α f ⋅Su g(u, ω)∣dudω. (6.6)

Denn mit

∫B

∣ f (t)∣∣g(t − u)∣dt =π ∫

B

∣α f ⋅Su g(u, ω)∣dω, (6.7)

und der Normierung der Fensterfunktion gilt:

∫B∫B

∣ f (t)∣∣g(t − u)∣dtdu = ∫B

∣ f (t)∣∫B

∣g(t − u)∣dtdu = ∫B

∣ f (t)∣dt . (6.8)

Das inverse Spektrogramm wird zu:

f (t) =π ∫

B∫B

α f ⋅Su g(u, ω)g(t − u)e iωtdωdu, (6.9)

denn es ist:

f (t)g(t − u) =π ∫

B

α f ⋅Su g(u, ω)eiωtdω, (6.10)

somit also:

f (t)∣g(t − u)∣ =π ∫

B

α f ⋅Su g(u, ω)g(t − u)e iωtdω, (6.11)

und daher:

∫B

f (t)∣g(t − u)∣du = f (t) =π ∫

B∫B

α f ⋅Su g(u, ω)g(t − u)e iωtdωdu. (6.12)

Page 163: Bildverarbeitung und Objekterkennung ||

150 6 Orts-Frequenz-Darstellungen

Formal mathematisch haben wir folglich eine lokale Fouriertransformation eingeführt mitHin- und Rücktransformation. Der entscheidende Nachteil ist aber, dass sich die Anzahlder Variablen erhöht. Bei zweidimensionalen Bildern ist dies noch extremer: das komplexeSpektrogramm hängt dann statt von zwei sogar von vier Variablen ab.

Die lokale Fouriertransformation hatten wir bisher so formuliert: man verschiebe dieFensterfunktion g um u Einheiten nach „rechts“, multipliziere sie dann mit der Bildfunk-tion f und anschließend wird dieses Produkt Fourier-transformiert. Was ist wenn wir um-gedreht vorgehen: Man verschiebe die Bildfunktion f um −u Einheiten nach „links“, mul-tipliziere sie dannmit der Fensterfunktion und dieses Produkt wird Fourier-transformiert.Inhaltlich ändert sich nicht viel, die Funktionen im Ortsraum sind nur gegeneinander ver-schoben, das Spektrum ändert sich nur bezüglich des Verschiebungstheorems. Der Vorteilist eine normalisierte Lage der Fensterfunktion:

αg⋅S−u f (u, ω) = ∫B

g(t) f (t + u)e−iωtdt = ∫B

g(−τ) f (u − τ)e+iωτdτ. (6.13)

Wenn wir annehmen, dass die Fensterfunktion eine gerade Funktion ist (z. B. Gaußfunk-tion, Rechteckfunktion), dann gilt

αg⋅S−u f (u, ω) = ∫B

g(−τ) f (u − τ)e+iωτdτ = ∫B

g(τ)e+iωτ f (u − τ)dτ

= (g(u) ⋅ e+iωu) ∗ f (u). (6.14)

Damit lässt sich jeder Fourierkoeffizient als Faltung einer modulierten Fensterfunktionmit der Bildfunktion darstellen. Wenn g die Gaußfunktion darstellt, dann liegt für eineFrequenz ω die Faltung von f mit dem Gaborfilter Gabor (siehe Abschn. 6.4) vor. DasSpektrum von G ist dann wiederum:

αG(ω) = e−(ω−ω)

σ

, (6.15)

d. h. ein typischer Bandpassfilter mit dem Zentrum ω. Wir wollen nun einmal die lokaleFouriertransformation für den diskreten Fall aufschreiben. Die diskrete Fensterfunktion gsei gerade, wir verschieben f um −n Positionen nach „links“, multiplizieren mit der Fens-terfunktion und berechnen den k-ten diskreten Fourierkoeffizienten:

αk(g ⋅ S−n f ) =

√N

N−∑j=

g j f j+n e−πikjN =

√N

N−∑l=

gl fn−l e+πiklN

= ((g ⋅ φ(k)) ∗ f )n . (6.16)

Dabei ist φ(k) die k-te diskrete Basisfunktion.

Page 164: Bildverarbeitung und Objekterkennung ||

6.3 Wigner-Ville-Orts-Frequenz-Darstellung 151

6.3 Wigner-Ville-Orts-Frequenz-Darstellung

Wigner (1932) und später Ville (1948) haben diese Transformation im Zusammenhangmit der Quantenmechanik eingeführt. Für die Bildverarbeitung ist sie eine typische Orts-Frequenz-Darstellung, wobei die Funktion selbst als ihr eigenes Fenster fungiert. Sie istdefiniert zu:

Wf (u, ω) =∞

∫−∞

f (u +τ) f (u −

τ)e−iωτdτ. (6.17)

Sie ist damit die Fouriertransformation der Funktion f(u, x) = f (u + x ) f (u − x

). Daf(x) hermitesch ist, istWf (u, ω) rein reell. Was bedeutet diese Funktion f(u, x)? Dazubetrachten wir die Autokorrelation:

( f ○ f )(x) =∞

∫−∞

f (u) f (u − x)du =

∫−∞

f (u +x) f (u −

x)du

=

∫−∞

f(u, x)du. (6.18)

Die Autokorrelation kann somit als örtliche Mittelung dieser Kovarianzfunktion f(u, x)aufgefasst werden. DieWigner-Ville Transformation beschreibt damit das Spektrum diesernoch ortsabhängigen Kovarianzfunktion f(u, x). Die inverse Transformation ist:

f (x) =Cπ

∫−∞

Wf (x, ω) e iωxdω, C =

∣ f ()∣f ()

. (6.19)

Die inverse Transformation ist folglich nur bis auf einen Faktor bestimmt. Die Transfor-mation ergibt sich auch aus der Symmetrierelation:

Wf (u, ω) =π

∫−∞

α (ω +γ) α (ω −

γ)e−iγudγ. (6.20)

Da das SpektrumderAutokorrelation das Leistungsspektrum ist, ergeben sich zwangsläufigdie Beziehungen:

∫−∞

Wf (u, ω)du = ∣α(ω)∣,∞

∫−∞

Wf (u, ω)dω = π∣ f (u)∣. (6.21)

Die Transformation hat auch ungüstige Eigenschaften, z. B. ist die Transformation einerSumme von Funktionen nicht die Summe der Transformationen, da gemischte Terme in-folge der Nichtlinearität von f (t) auftreten.

Page 165: Bildverarbeitung und Objekterkennung ||

152 6 Orts-Frequenz-Darstellungen

6.4 Gabor-Filter

Gaborfunktionen hatten wir schon im Abschn. 4.25 im Zusammenhang mit der Un-schärferelation kennengelernt. Gaborfunkrionen sind Gaborfilter, die eine spezielle Orts-Frequenz-Darstellung realisieren. Die Fensterfunktion Gabor(x , y) ist eine modulierteGauß-Funktion, siehe Abschn. 6.2. Dies wollen wir nun für 2D-Bilder aufschreiben. Dieallgemeinste Form einer 2D Gauß-Funktion erzeugt Isolinien, die Ellipsen darstellen.Folglich stellen wir uns einen Kreis vor, dessen Mittelpunkt irgendwo liegt. Wir legen denKoordinatenursprung in den Kreismittelpunkt, führen eine anisotrope Skalierung durch(dadurch wird der Kreis zur Ellipse in achsenparalleler Lage) und zum Schluß rotierenwir noch diese Ellipse. Wir benötigen also fünf Parameter, einmal den Kreismittelpunkt(xc , yc), die anisotrope Skalierung mit a, b und die Rotation mit φ für die Ellipse undschließlich noch einen Faktor K für die Amplitudenskalierung:

g(x , y) = K ⋅ e(−π(a[(x−xc) cos φ+(y−yc) sin φ]+b[−(x−xc) sin φ+(y−yc) cos φ])) (6.22)

Der komplexe Modulationsterm (siehe auch Abschn. 4.25) ist (wir benutzen jetzt nicht dieKreisfrequenz):

h(x , y)c = e+πi(u(x−x)+v(y−y)) = e+πi(ux+v y−u x−v y) = e i(π(ux+v y)+P)

= cos [π(ux + v y) + P] + i sin [π(ux + v y) + P]. (6.23)

Wenn wir von reellen Funktionen ausgehen, dann treten die komplexen Fourierkoeffizien-ten konjugiert komplex auf, dann müssten wir die Modulation reell

h(x , y)r =(e+i(π(ux+v y)+P) + e−i(π(ux+v y)+P))

= cos [π(ux + v y) + P] (6.24)

ansetzen. Damit hat ein Gaborfilter neun freie Parameter, allerdings sind nur fünf bedeu-tend. Nun wollen wir die Fouriertransformierte der vollständigen Gaborfunktion (Gabor-filter) aufschreiben und benutzen (3.59):

Gabor(x , y) = g(x , y) ⋅ h(x , y)c . (6.25)

Zur Fouriertransformation der Gauß-Funktion benutzen wir das Transformationspaar(4.97). Wir brauchen nun die Transformierte nicht direkt ausrechnen, wir nutzen eini-ge Rechenregeln. Wenn wir rotieren, dann rotiert das Spektrum in gleicher Weise, wirnotieren folglich die Analogie:

x′ = (x − xc) cos φ + (y − yc) sin φy′ = −(x − xc) sin φ + (y − yc) cos φ

↔u′ = (u − u) cos φ + (v − v) sin φv′ = −(u − u) sin φ + (v − v) cos φ.

(6.26)

Page 166: Bildverarbeitung und Objekterkennung ||

6.5 Quadratur-Filter (Energie-Filter) 153

Eine Modulation im Ortsraum bedeutet eine Verschiebung im Frequenzraum und umge-kehrt, daher ist die Transformierte von (6.25):

Gabor(x , y) ↔ αGabor(u, v) =Kab

e−π( (u−u)

a+

(v−v)′

b)

⋅ e+i(−π(xc(u−u)+yc(v−v))+P) ,

(6.27)

welche wiederum einen typischen Bandpassfilter darstellt. Gaborfilter werden in vielenAnwendungsgebieten eingesetzt, z. B. bei biometrischen Anwendungen (fingerprint), beiTexturen, Defektstellen-Detektion in Mustern und vieles mehr. Die Einstellung der we-sentlichen Parameter hängt von der konkreten Aufgabe ab, oft wird eine Filterbank vonGaborfiltern benutzt, d. h. eine Menge von Gaborfiltern mit verschiedenen Parametern.

6.5 Quadratur-Filter (Energie-Filter)

Energiefilter wurden im Zusammenhnag mit der Hilbert-Transformation und der Pha-senkongruenz besprochen. Oft möchte man diese aber nicht global auf das ganze Bildanwenden, sondern auch frequenz- oder ortsabhängig benutzen.Als Alternative zumkom-plexen Spektrogramm bietet sich eine Bandpassfilterung an. Dazu stellen wir Forderungenan die Filterfunktion fe(x):

• Die Energiefilterung sollte invariant gegenüber Grauwertverschiebungen sein (Grau-wertadditionen, Helligkeitsveränderungen). Daher muss die DC-Komponente desBandpasses gleich Null sein.

• Die Phase der Funktion sollte durch den Bandpass nicht verändert werden, daher mussdas Spektrum rein reell sein oder die Funktion fe(x)muss eine gerade Funktion sein.

• Die Hilberttransformierte einer geraden Funktion ist trivialerweise eine ungeradeFunktion fo(x) = HIT( fe(x)).

• Zur Quadratur benötigen wir eigentlich die HilberttransformierteHIT( fe ∗ f ). Da abernach (3.83)HIT( fe ∗ f ) = HIT( fe) ∗ f = fo ∗ f gilt, können wir die Energie nach:

E( fe ∗ f ) = ( fe ∗ f ) + ( fo ∗ f ) (6.28)

berechnen.

Gabor Filter Oft werden Gabor-Filter als Quadraturfilter angegeben. Dazu wollen wir ei-ne Gaborfunktion in der Form:

Gω ,(t) =

√πσ

e−t

σ e iω t =

√πσ

e−t

σ cos(ω t) + i

√πσ

e−t

σ sin(ωt) (6.29)

annehmen. Der Realteil G+

(t) ist tatsächlich eine gerade Funktion und der ImaginärteilG−

(t) eine ungerade Funktion. Nun müssen wir noch untersuchen, obG selbst analytischist und die DC-Komponente des Spektrums Null ist. Wie wir schon wissen, ist das Spek-

Page 167: Bildverarbeitung und Objekterkennung ||

154 6 Orts-Frequenz-Darstellungen

trum dieser komplexen Gaborfunktion αG(ω) = e−(ω−ω)

σ

. Mit dieser Beziehung und derEulerschen Formel sind dann die Spektren von Realteil und Imaginärteil gleich:

αG+ =(e−

(ω−ω) σ

+ e−(ω+ω)

σ

) , (6.30)

αG− =i

(e−(ω−ω)

σ

− e−(ω+ω)

σ

) . (6.31)

Gilt nun die Beziehung αG− = (−i) ⋅ sign(ω) ⋅ αG+? Dies gilt mathematisch exakt auf kei-nen Fall, wenn aber die sich im positiven Teil befindlich Gauß-Funktion und die sich imnegativen Teil befindliche Gauß-Funktion nur wenig überlappen, dann gilt diese Bezie-hung näherungsweise schon. DieDC-Komponenten sind auch nichtNull, aber bei geringerÜberlappung sind diese auch näherungsweise Null. Daher gilt:

Wenn das Frequenzband schmalbandig ist und dessen Zentrum ω „genügend weit weg vomKoordinatenursprung“ ist, dann sind Gaborfilter tatsächlich näherungsweise Quadraturfilter.

Für zweidimensionale Bilder kann man sich die Quadratur-Gabor-Filter entsprechend ausAbschn. 6.4 selbst zusammenstellen und parametrisieren. In der Literatur werden Gabor-Filter oft als Quadratur Filter bezeichnet. Der Vorteil der Gaborfilter ist zweifelsohne dieoptimale Auflösung imOrtsraum als auch im Frequenzraum entsprechend der Unschärfe-relation.Weiterhin kannman für die Filter sowohl imOrtsraum als auch im Frequenzraumanalytische Ausdrücke angeben (nicht zu verwechseln mit analytischen Funktionen). DieGaborfilter haben allerdings drei Nachteile:

• Sie sind genaugenommen keine Quadraturfilter. Nur unter oben genannten Vorausset-zungen sind sie näherungsweise Quadraturfilter.

• Die Menge aller Gaborfilter bilden kein Orthonormalsystem, sie enthalten damit Red-undanzen.

• Die Gaborfilter haben keinen kompakten Support.

Aus diesem Grunde gibt es in der Literatur Versuche im Frequenzraum andere geeigneteBandpassfilter als Quadraturfilter zu entwickeln. Je nach Zielkriterium ergeben sich dannandere Vor- und Nachteile. So gibt es z. B.

• log-Gabor Filter• S-Gabor Filter (Stretched Gabor Filter)• Gaussche Ableitungsfilter• DoG Filter• Cauchy Filter• Deriche Filter• Sarkar and Boyer Filter.

Näheres dazu findet man in [6].

Page 168: Bildverarbeitung und Objekterkennung ||

7Filterentwurf im Frequenzraum

7.1 Tiefpassfilter

Vom Gibbsschen Phänomen kennen wir schon den Begriff „idealer Tiefpass“. Dort ha-ben wir bemerkt, dass beim idealen Tiefpass „Ringing-Artefakte“ in der Nähe von Kantenentstehen. Daher ist ein idealer Tiefpass im Sinne der Datenkompression überhaupt nichtideal. Idealer Tiefpass heißt nun, wir multiplizieren die Fourierkoeffizienten eines Bildesmit der Rechteckfunktion. Wir schreiben dies einmal für das Modell A[X] auf:

αk =

⎧⎪⎪⎨⎪⎪⎩

∣k∣ ≤ n sonst.

(7.1)

Durch dieMultiplikation imFrequenzraumhabenwir imOrtsraumeine Faltung des Bildesf (x)mit der Funktion h(x), deren Fouriertransformierte die Rechteckfunktion darstellt.Daher transformieren wir nun die Rechteckfunktion zurück:

√X ⋅ h(x) = Dn(x) =

n

∑k=−n

⋅ e+πikxX = + ⋅

n

∑k=

cos(πkxX)

=

⎧⎪⎪⎨⎪⎪⎩

sin((n+)π xX )

sin(π xX )

x ≠ l ⋅ X

n + x = l ⋅ X .(7.2)

Die Funktion Dn(x) wird als Dirichletscher Integralkern bezeichnet und ist das Ana-logon für die sinc-Funktion beim Modell A1[−∞,+∞]. Für diese Funktion giltlimn→∞ Dn(x) = δ(x), womit wir eine weitere Darstellung der δ-Funktion haben, aller-dings mit der Periode X, d. h. es entsteht ein Dirac-Kamm. Weiterhin ist dieser Grenzwertim Sinne von Distributionen aufzufassen, siehe auch (4.78). Die Filterung einer Funktion

155H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_7, © Springer Fachmedien Wiesbaden 2014

Page 169: Bildverarbeitung und Objekterkennung ||

156 7 Filterentwurf im Frequenzraum

f (x)mit einem idealen Tiefpass bedeutet mathematisch die Approximation der Funktionf (x) durch eine Partialsumme fn(x) der Fourierreihe von f (x)mit n Summanden. Folg-lich können wir diese Partialsummen durch eine Faltung von Dn(x)mit f (x) darstellen:

fn(x) =

√XDn(x) ∗ f (x) =

√X

X

Dn(x − τ) f (τ)dτ. (7.3)

Damit kann man das Konvergenzverhalten von Fourierreihen fn(x) mit dem Dirichlet-schen Integralkern untersuchen. Es gibt auchAnwendungen, bei denen ein idealer Tiefpasssogar erwünscht ist, siehe Abschn. 5.1.

Wählen wir die Manipulation im Frequenzraum etwas „weicher“, z. B. eine Dreiecks-funktion, dann erhalten wir einen „nichtidealen“ Tiefpass:

αk =

⎧⎪⎪⎨⎪⎪⎩

− ∣k∣n ∣k∣ ≤ n sonst,

(7.4)

dann ergibt sich für h(x):

√X ⋅ h(x) =

n∑k=−n

( −∣k∣n) ⋅ e+πik

xX = + ⋅

n∑k=

( −kn) cos(πk

xX)

=

⎧⎪⎪⎨⎪⎪⎩

n+

sin((n+)π x

X )

sin(π x

X )x ≠ l ⋅ X

n + x = l ⋅ X .(7.5)

Beispiele für weitere Tiefpassfilter sind das Mittelwertfilter(Rechteckfunktion) und dasGaußfilter.

7.2 Unscharfe Maskierung (UnsharpMasking)

Dieser Begriff schafft eigentlich mehr Verwirrung. Er hat sich aus der analogen Photogra-phie bis heute erhalten. Man wollte im Fotolabor ein aufgenommenes Bild „nachschärfen“:

• Der Negativ-Film wurde mit einer Milchglasscheibe bedeckt und damit der Film be-lichtet, so dass ein leicht unscharfes Positiv entstand.

• Dieses unscharfe Positiv legte man über das originale Negativ. Diese beiden zusammenbilden nun die Unschärfe-Maske.Mit dieser Unschärfe-Maskewurde nun ein Film kur-zeitig vorbelichtet.

• Die Vorbelichtung wurde abgebrochen und weiterhin mit dem original Negativ weiterbelichtet bis das Bild fertig ist.

Page 170: Bildverarbeitung und Objekterkennung ||

7.2 Unscharfe Maskierung (Unsharp Masking) 157

Wenn wir dies nun „übersetzen“, so finden wir:Durch dieMilchglasscheibe ezeugenwir vomOriginal fi , j ein „verschmiertes Bild“ h∗ f ,

dieses wird vomOriginal abgezogen, womit wir dieMaske fmaske = f −h∗ f erhalten. DieseMaske betont besonders die Kanten im Bild, daher wird diese Maske nun zum Originaladdiert, wobei man die Maske mit einemWichtungsfaktor c versehen muss, um die Stärkeder Kantenschärfung zu gewichten:

f ′ = f + c ⋅ ( f − h ∗ f ) = ( + c) f − c ⋅ h ∗ f = (( + c)δ − c ⋅ h) ∗ f . (7.6)

Für c > nennt man dies auch highboost filtering. Die Faltungsmaske im Ortsraum g =

(+ c)δ− c ⋅h kannman sich beliebig konstruieren durch einen Tiefpass-Filter h und einenFaktor c. Wählen wir z. B. für h einen × -Mittelwertfilter und c = , dann erhalten wirim Ortsraum die Faltungsmaske

g =⎛⎜⎝

− − −− −− − −

⎞⎟⎠. (7.7)

Spektral heißt unsharp masking, zum Spektrum des Bildes f addieren wir das Hochpass-gefilterte Spektrum des Bildes. Das Spektrum von g = (+ c)δ − c ⋅ h für eindimensionale,diskrete Funktionen lautet:

αk(g) = ( + c)αk(δ) − c ⋅ αk(h) =( + c)√N

− c ⋅ αk(h). (7.8)

Wir sehen, dies ist kein typischer „Pass“-Filter, sondern die hohen Frequenzen werden ver-stärkt, aber die tiefen Frequenzen je nachWahl von c nicht ausgeblendet. Man nennt dahersolche Filter oft high-frequency-emphasis filter. Man kann diese noch verallgemeinern, in-dem man zwei Gewichte einführt:

αk(g) =(c + c)√N

− c ⋅ αk(h). (7.9)

Bemerkung Moderne Bildbearbeitungsprogramme verfügen alle über eine Schärfungs-Funktion mit unsharp masking. Oft muss man noch eine Schwelle einstellen. Durch denadditiven Hochpass werden auch Rauschen und andere feine Störungen verstärkt. Durchdie Schwelle unterdrückt man dann lokal diese Verstärkungen. Dann ist dieses Filter abernicht mehr das klassische LSI-Filter, sondern ein nichtlineares Filter.

Page 171: Bildverarbeitung und Objekterkennung ||

158 7 Filterentwurf im Frequenzraum

7.3 Pruning-Filter

Das Pruning-Filter ist ein typischer Versuch, das Signal-Rausch-Verhältnis im Frequenz-raum zu verbessern. Es ist ein klassiches nichtlineares Filter. Bezüglich des Modells g =

h ∗ f + N bezeichne αk(g) das Spektrum von g und αk(N) das Spektrum des Rauschens,welches auch ein Zufallsfeld darstellt. Es sei nun (von irgendwoher) der ErwartungswertE{∣αk(N)∣} bekannt (das mittlere Leistungsspektrum). Nun manupulieren wir nur dasAnplitudenspektrum von g, die Phase belassen wir wie sie ist. Wir ziehen nun vom Leis-tungsspektrum von g das mittlere Leistungsspektrum des Rauschens ab:

∣αk(g)p ∣ =⎧⎪⎪⎨⎪⎪⎩

√∣αk(g)∣ − E{∣αk(N)∣}, ∣αk(g)∣ − E{∣αk(N)∣} >

, sonst.(7.10)

Für die Phase φ gilt φ(αk(g)p) = φ(αk(g). Anschließend wird das Spektrum αk(g)p zu-rücktransformiert.

7.4 Homorphe Filter

Wir betrachten ein klassisches Beleuchtungsmodell:

f (x , y) = i(x , y) ⋅ r(x , y), (7.11)

wobei i(x , y) die Beleuchtung und r(x , y) die Reflexion ist. Wennman annimmt, dass tie-fe Frequenzen für die Beleuchutng zuständig sind und hohe Frequenzen für die Reflexion,dannmöchte man entsprechend diesemModell die hohen Frequenzen verstärken, um z. B.den Kontrast anzuheben. Dies geht aber entsprechend diesem Modell nicht, da Beleuch-tung und Reflexion durch eine Multiplikation verbunden sind. Wenn dies eine Additionwäre, dann könnte man diese trennen. Folglich logarithmieren wir beide Seiten, erhal-ten somit die Summe der Logarithmen: log f = log i + log r. Das logarithmierte Bild log ftransformieren wir mit der DFT, wenden auf das Spektrum einen Hochpassfilter an, trans-formieren zurück und „entlogarithmieren“. Das gefilterte Bild wird dann im Allgemeinenkontrastreicher sein.

7.5 DoB-Filter

Im Folgenden sollen einige Beispiele für typische Bandpaßfilter angegegeben werden.Wenn einem Tiefpass ein Hochpass folgt, entsteht ein Bandpass-Filter. Typisch sind Glät-tungsfilter (z. B. Gauß-Filter) gefolgt von Ableitungsfilter (z. B. Laplace-Filter), so enstehtz. B. der bekannte Kantendetektions-Filter, der LoG-Filter oder auchMexican hat genannt,siehe auch [29]. Diesen kann man näherungsweise auch als Differenz von zwei Gauß-Filtern darstellen, wobei die Varianzen in einem bestimmten Verhältnis stehen müssen,

Page 172: Bildverarbeitung und Objekterkennung ||

7.5 DoB-Filter 159

-0.05 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

-4-2

0 2

4-4

-2

0

2

4

-0.05 0

0.05 0.1

0.15 0.2

0.25 0.3

0.35

Mexican Hat

-0.02

0

0.02

0.04

0.06

0.08

0.1

-4-2

0 2

4-4

-2

0

2

4

-0.02

0

0.02

0.04

0.06

0.08

0.1

Difference of Boxes

Abb. 7.1 VergleichMexican-hat- und DoB-Filter

siehe [29]. Rosenfeld, siehe [60], hat bereits 1971 vorgeschlagen, den DoG-Filter wiederumdurch einen DoB-Filter (Difference of Boxes) zu approximieren, weil dieser eine nahe-zu konstante Zeitkomplexität bezüglich der Filtergröße besitzt und somit sehr effektivzu implementieren ist, siehe [59]. Die Implementierung hängt eng mit der Nutzung vonintegral images zusammen, siehe Abschn. 19.9.6. Die DoB-Filter sind demnach typische

Page 173: Bildverarbeitung und Objekterkennung ||

160 7 Filterentwurf im Frequenzraum

Abb. 7.2 Beispiele für die Anwendung der DoB-Filter bei der Texterkennung (Ausweise und Kfz-Kennzeichen)

Bandpass-Filter und hängen von zwei Parametern m und M ab:

DoBm ,M(g) =m

m∑i=

gi −M

M∑l=

gl

=M

M − n(m

m∑i=

gi −

M −m

M∑

l=m+gl) . (7.12)

Für M = und m = ist in (8.19) eine 2D-Maske angegeben. Die DoB-Filter kann maneffektiv einsetzen zur Vorverarbeitung von OCR-Dokumenten, z. B. Nummernschild-Erkennung, siehe Abb. 7.2. Die Parameter m und M richten sich nach der Schriftgröße,der Breite der Linien und den Abständen zwischen den Symbolen. Deshalb ist es auchsinnvoll, mehrere DoB-Filter zu verwenden und das beste Ergebnis zu verwenden. Wiein Abb. 7.2 zu sehen ist, wurde der negative Output der Filter auf Null gesetzt, nur derpositive Output wurde verwendet. Selbst der 1D-DoB-Filter (7.12) kann sinnvoll ein-gesetzt werden. Wir nehmen einmal an, in einem Bild von Blutgefäßen soll die Breiteder Gefäße an verschiedenen Stellen gemessen werden. Dazu detektiert man das Gefäßund bestimmt an der interessierenden Stelle die Querrichtung des Gefäßes. Nun tastetman das Gefäß entlang dieser Querrichtung mittels bilinearer Interpolation ab und er-hält eine 1D-Querschnittsfunktion. An Hand dieser 1D-Querschnittsfunktion ist nundie Breite des Gefäßes zu bestimmen. In der Abb. 7.3 ist im oberen Teil eine solche 1D-Querschnittsfunktion zu sehen. Das lokale Maximum in der Mitte beschreibt das Gefäß.Nun ist die Ausdehnung dieses Extremums zu bestimmen. Die Kurve ist nicht nur ver-rauscht, sondern der stetige Abfall der Kurve deutet auch auf Shading hin, so dass dieBreitenmessung schwierig zu sein scheint. Nun wenden wir auf diese Funktion ein 1D-DoB-Filter an. Die Größe des Filters sollte minimal 2 bis 3-mal größer als die Gefäßbreite

Page 174: Bildverarbeitung und Objekterkennung ||

7.6 Scharfe Bilder (Fokussierung) 161

Abb. 7.3 Senkrecht zu einem Gefäß in einem medizinischen Bild ist der Grauwertverlauf alsQuerschnittsfunktion zu sehen. Diese Querschnittsfunktion wurde mit einem 1D-DoB-Filter trans-formiert und ergibt die zweite Funktion. Die Breite des Gefäßes kann nun leicht durch Vermessungdes zentralen Peaks ermittelt werden

sein, dies muss man durch A-priori-Wissen garantieren. In der Abb. 7.3 ist nun im unterenTeil das Ergebnis eines 1D-DoB-Filters zu sehen, wobei der Randbereich entsprechend derGröße des Filters einfach auf Null gesetzt wurde. Da wir nun einen Punkt auf dem Gefäßkennen, könnenwir diesen als Startpunkt eines 1D-RegionGrowing-Verfahrens nutzen undim Output des DoB-Filters rechts und links von diesem Startpunkt die Nulldurchgängesuchen.

7.6 Scharfe Bilder (Fokussierung)

Im Folgenden soll das klassische Problem des automatischen Scharfstellens einer Kamerabetrachtet werden. Als gegeben betrachten wir eine Serie von Bildern mit verschiedenemFokus und wir wollen das schärfste Bild ermitteln. Wir stellen uns eine solche Serie vonBildern vor, beginnend mit einer großen Unschärfe, dann werden die Bilder immer schär-fer bis sie wieder unscharf werden. In Abb. 7.4 sind drei Bilder aus einer Bildserie eineridealen Schwarz-Weiß-Kante zu sehen, wobei das mittlere Bild das schärfste Bild ist. ZurBerechnung des schärfsten Bildes benötigen wir ein Unglattheitsmaß. Dafür kommen Ab-

Page 175: Bildverarbeitung und Objekterkennung ||

162 7 Filterentwurf im Frequenzraum

Abb. 7.4 a Erstes Bild (unscharf), b „Mittleres“ Bild (scharf), c Letztes Bild (unscharf) einer Kanteaus einer Serie von verschieden fokussierten Bildern

0

0.2

0.4

0.6

0.8

1

1.2

0 5 10 15 20 25 30 35 40 45

mittlerer Gradienten-Betrag m1mittleres Gradienten-Quadrat m2

mittleres Laplace-Quadrat m3

Abb. 7.5 Vergleich der Maße m,m,m

leitungen in Frage. Da es bei unserem Beispiel genügt, nur horizontale Zeilen des Bildes zubetrachten, beschränken wir uns auf eindimensionale Funktionen f (x). Als Maß könnteman z. B. die L1-Norm m = ∫

ba ∣ f ′(x)∣dx verwenden und das Bild berechnen, bei dem

m maximal ist. Haben wir wie im Beispiel eine ideale Stufenkante aufgenommen, so isttheoretisch die erste Ableitung immer nichtnegativ und wir können den Betrag weglassen,d. h. es gilt m = ∫

ba ∣ f ′(x)∣dx = ∫

ba f ′(x)dx = f (b) − f (a). Damit hängt das Maß m

überhaupt nicht mehr von der Steilheit der Kante ab.Wir wollen aber doch gerade das Bildmit der steilsten Kante, da dies als schärftes Bild zu interpretieren wäre. Um dies zu vermei-den, entscheiden wir uns für die L2-Norm der ersten Ableitung m = ∫

ba ∣ f ′(x)∣dx oder

für die L2-Norm der 2. Ableitung m = ∫ba ∣ f ′′(x)∣dx. In der Abb. 7.5 sind für 45 Bil-

Page 176: Bildverarbeitung und Objekterkennung ||

7.6 Scharfe Bilder (Fokussierung) 163

0

10

20

30

40

50

60

-60 -40 -20 0 20 40 60

Power spectrum

0

10

20

30

40

50

60

-60 -40 -20 0 20 40 60

Power spectrum

0

10

20

30

40

50

60

-60 -40 -20 0 20 40 60

Power spectrum

Abb. 7.6 Leistungsspektren: unscharf, scharf, unscharf

der (in Abb. 7.4 sind drei davon zu sehen) die Maße m,m und m als Kurve für dieseBilder berechnet. Die deutlichste Ausprägung des uns interessierenden Maximums hat dieKurve mit dem Maß m. Die Kurve des Maßes m ist praktisch unbrauchbar. Bei anderenBildern, wenn viele kleine Strukturen enthalten sind und nicht nur eine Kante wie im Bei-spiel, dann ist auch das Maßm durchaus brauchbar, auch wenn das Maximum des Maßesm viel deutlicher ausgeprägt ist. Aus vielen praktischen Tests ist ersichtlich, daß das Maßm deutlich überlegen ist. Da gibt es sicher einen Zusammenhang zu den DOB-Filtern, dieja auch grob auf den 2. Ableitungen beruhen. Bei Bildern nehmen wir für die zweite Ablei-tung den Laplace-Filter. Was hat dies nun alles mit Spektren zu tun? Nun Ableitungsfiltersind Hochpaßfilter. Vom gefilterten Bild berechnen wir die L2-Norm, die nach der Parse-valschen Gleichung der Summe bzw. dem Integral des Leistungsspektrums entspricht. Wirsuchen also von den hochpaßgefilterten Bildern dasjenige, welches das „energiereichste“Leistungsspektrum besitzt. Die Leistungsspektren der drei Bilder bezüglich Abb. 7.4a–csind in der Abb. 7.6 zu sehen. Dabei wurden die Spektren eindimensional berechnet, d. h.die Bilder wurden nur zweilenweise bearbeit und von allen Zeilen das Mittel genommen.Man sieht wie sich das Leistungsspektrum des scharfen Bildes deutlich von den Leistungs-spektren der unscharfen Bilder abhebt. Nun folgen

Anwendungen

• Ein übliche Methode ist das automatische Scharfstellen bei einer handelsüblichen Ka-mera.

• Da die Schärfe von der Brennweite und der Blende abhängt, kann man die Schärfe bzw.Unschärfe lokal zur Tiefenberechnung nutzen, siehe Abschn. 16.6.8. Dazu muss lokalaus einer Serie von Aufnahmen das schärfste Bild berechnet werden.

Page 177: Bildverarbeitung und Objekterkennung ||

164 7 Filterentwurf im Frequenzraum

• Ein Bild mit einer großen Tiefenschärfe erreicht man durch eine sehr kleine Blende. DerNachteil ist, dass nicht genügend Licht eindringt. Daher benutzt man eine große Blendeund macht eine Serie von Aufnahmen mit verschiedenen Fokussierungen. Durch diegroße Blende können sehr kurze Belichtungszeiten benutzt werden, so dass ein „Wa-ckeln“ der Kamera hoffentlich keine Rolle spielt. Nun wird das eigentliche Bild aus allenBilder zusammengesetzt, indem man pro Pixel den Grauton des schärfsten Bildes be-nutzt. Durch die Fokussierung entstehen auch geometrische Veränderungen, so dassman noch das “richtige” Pixel finden muss. Durch die Übergänge von scharfen zu un-scharfen Bildsegmenten entstehen Kanten, die optisch stören.Diese mussman nochmitentsprechenden Filtertechniken glätten.Diese Technik des Zusammensetzens nennt man focus stacking.

• Das focus stacking ist z. B. quasi-Standard in der Konfokalen Laser Raster Mikrosko-pie. Die Bilder im z-Stack sind zum Teil scharf und zum Teil unscharf. Da aber keinegeometrischen Transformationen vorliegen, kann man relativ einfach das focus stackinganwenden.

Page 178: Bildverarbeitung und Objekterkennung ||

8Filter imOrtsraum

Im folgenden Kapitel werden wir uns mit dem Filtern direkt im Ortsraum beschäftigenund typische lineare aber auch nichtlineare Filter kennenlernen. Weiterhin werden wir dieVorteile von Richtungsfiltern aufzeigen.

8.1 Lineare und verschiebungsinvariante Filter

8.1.1 Berechnung der Filterkoeffizienten

LSI-Filter werden durch Filtermasken repräsentiert, die ortsunabhängig und bildunabhän-gig sein müssen, siehe Abschn. 2.3. In der einschlägigen Literatur werden oft die Maskenfür bestimmte Aufgaben angegeben, wie z. B. die Masken für Mittelwertfilter (Boxfilter),Gaußfilter, Laplacefilter, Prewittfilter, Sobelfilter, Kirschfilter, Mexican-Hat-Filter. Wir wol-len hier einen anderen Weg gehen und angeben, wie man diese Masken herleiten kann.Ableitungsfilter entsprechen formal den in der Numerischen Mathematik verwendetenDifferenzenoperatoren, sodass wir das Vorgehen aus der Numerischen Mathematik über-nehmen können. Dort ist es üblich, an die diskreten Funktionswerte ein Interpolationspo-lynom (oder alternativ ein Approximationspolynom) anzupassen, um dann die Koeffizien-ten des Polynomes zu benutzen. Da bei einem realen Bild die Grauwerte immer verrauschtsind, entscheiden wir uns für ein Approximationspolynom anstatt eines Interpolationspo-lynoms. Dazu bestimmen wir von einem Polynom L-ten Grades g(x , y), das wir an derPixelposition (x , y) entwickeln, die Koeffizienten in Abhängigkeit von den Grauwertenaus einer bestimmten Pixelumgebung U des Aufpunktes (x , y):

g(x , y) =L∑n=

n∑m=

an−m ,m(x − x)n−m(y − y)m . (8.1)

165H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_8, © Springer Fachmedien Wiesbaden 2014

Page 179: Bildverarbeitung und Objekterkennung ||

166 8 Filter im Ortsraum

Wenn die gewählte UmgebungU zumGrad L des Polynomes „passt“, dann könnenwirmiteinem Schätzer (LSE-Methode, LAD-Methode) die Koeffizienten ap,q aus den Grauwertengk , l der Pixelumgebung berechnen. Umgebung, Grad des Polynomes und Gewichte fürdie einzelnen Pixel hängen von der Aufgabe ab, die das Filter zu lösen hat. Ist das Zielein Glättungsfilter zu entwerfen, dann ist die Mittelwerterhaltung des Bildes eine sinnvolleRestriktion. Durch die Mittelwerterhaltung wird das Bild nach der Filterung nicht helleroder dunkler.

Da die Modellgleichung (8.1) linear in den Unbekannten ap,q ist, hängen die Unbe-kannten auch tatsächlich nur linear von den Grauwerten der Umgebung U ab (falls wir dieLSE-Methode benutzen, siehe Abschn. 21.2.1). Dazu sollen nun nachfolgend einige Bei-spiele angegeben werden. Zur einfachen Schreibweise legen wir den Koordinatenursprungin den Aufpunkt (x , y).

• Wir passen ein Polynom ersten Grades (L = ) – also eine Ebene an:

S = ∑(k , l)∈U

(a, + a,k + a, l − gk , l )→ Minimum. (8.2)

Zur Lösung der LSE-Aufgabe (siehe Abschn. 21.2.1) gehen wir formal vor: zunächstschreiben wir die Messgleichungen auf:

a, + a,k + a, l = gk , l , (k , l) ∈ U . (8.3)

Optional könnten die Messgleichungen für jedes Pixel individuell gewichtet werden.Wir nehmen aber der Einfachheit halber eine uniforme Gewichtung an. Nun multi-plizieren wir beide Seiten mit der transponierten Koeffizientenmatrix und erhalten dieGaußschen Normalengleichungen:

⎛⎜⎝

∑k , l∈U ∑k , l∈U k ∑k , l∈U l∑k , l∈U k ∑k , l∈U k ∑k , l∈U kl∑k , l∈U l ∑k , l∈U kl ∑k , l∈U l

⎞⎟⎠

⎛⎜⎝

a,a,a,

⎞⎟⎠=⎛⎜⎝

∑k , l∈U gk , l∑k , l∈U kgk , l∑k , l∈U l gk , l

⎞⎟⎠. (8.4)

Die Normalenmatrix ist wie immer die Kovarianzmatrix oder die Matrix der zweitenMomente. Wenn wir diese Normalengleichungen nach den Unbekannten auflösen wol-len,müssenwir mit der inversenMatrixmultiplizieren und erhalten die Lösung. Entwe-der wir rechnen die inverse Matrix direkt aus oder wir invertieren sie mit numerischenMethoden. Im vorliegenden Beispiel ist es einfacher, die Umgebung quadratisch undsymmetrisch zu wählen. Dadurch verschwinden alle zweiten Momente außerhalb derHauptdiagonalen und wir können trivialerweise nach den Unbekannten auflösen:

a, =

∑k , l∈U ∑k , l∈U

gk , l , a, =∑k , l∈U kgk , l∑k , l∈U k

, a, =∑k , l∈U l gk , l∑k , l∈U l

. (8.5)

Page 180: Bildverarbeitung und Objekterkennung ||

8.1 Lineare und verschiebungsinvarianteFilter 167

Die Größe a, dient zur Berechnung des Funktionswertes im Aufpunkt, a, zur Be-rechnung der partiellen Ableitung nach x und a, zur Berechnung der partiellen Ablei-tung nach y. Nun können wir obige Lösungen durch Filtermasken beschreiben. Damitergibt sich beispielsweise für eine ( × )-Umgebung:

a, ←

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

, a, ←

⎛⎜⎜⎜⎜⎜⎜⎝

− − − − − − − − − −

⎞⎟⎟⎟⎟⎟⎟⎠

(8.6)

a, ←

⎛⎜⎜⎜⎜⎜⎜⎝

− − − − −− − − − −

⎞⎟⎟⎟⎟⎟⎟⎠

. (8.7)

Umbeispielsweise die Sobel-Masken abzuleiten, brauchtmannur eine (×)-Umgebungzu wählen und die mittleren Pixel höher zu wichten. Um Masken für die Ableitungenzweiter Ordnung abzuleiten, benötigen wir ein Polynom mindestens zweiten Grades.

• Wir passen ein Polynom zweiten Grades (L = ) an:

S = ∑(k , l)∈U

(a, + a,k + a, l + a,k + a,k ⋅ l + a, l − gk , l )→ Minimum. (8.8)

Wennwir die Gaußschen Normalengleichungen aufstellen, sind nicht alle Elemente au-ßerhalb der Hauptdiagonalen Null. Unmittelbar können wir nach

a, =

∑k , l∈U k l ∑k , l∈U

kl gk , l ,

a, =∑k , l∈U kgk , l∑k , l∈U k

, a, =∑k , l∈U l gk , l∑k , l∈U l

(8.9)

auflösen. Nach den anderen Koeffizienten aufgelöst, ergibt:

⎛⎜⎝

a,a,a,

⎞⎟⎠=⎛⎜⎝

∑k , l∈U ∑k , l∈U k ∑k , l∈U l

∑k , l∈U k ∑k , l∈U k ∑k , l∈U k l

∑k , l∈U l ∑k , l∈U k l ∑k , l∈U l

⎞⎟⎠

⋅⎛⎜⎝

∑k , l∈U gk , l∑k , l∈U kgk , l∑k , l∈U l gk , l

⎞⎟⎠. (8.10)

Wählen wir für U eine ( × )-Umgebung, dann ist:

⎛⎜⎝

a,a,a,

⎞⎟⎠=

⎛⎜⎝

− −− −

⎞⎟⎠⋅⎛⎜⎝

∑k , l∈U gk , l∑k , l∈U kgk , l∑k , l∈U l gk , l

⎞⎟⎠. (8.11)

Page 181: Bildverarbeitung und Objekterkennung ||

168 8 Filter im Ortsraum

Daraus können wir wiederum die Filtermasken ablesen:

a, ←

⎛⎜⎝

− − − −

⎞⎟⎠, a, ←

⎛⎜⎝

− − −

⎞⎟⎠, a, ←

⎛⎜⎝

− − −

⎞⎟⎠.

(8.12)

Wir sehen, dass a, als Approximation für den Funktionswert am Aufpunkt nicht un-bedingt durch das Mittelwertfilter realisiert werden muss. Weiterhin können wir nun

Δxx + Δy y ← a, + a, ←

⎛⎜⎝

− − − − −

⎞⎟⎠

(8.13)

als Maske für den Laplace-Operator verwenden.• Den Entwurf der Masken nach dieser Approximationsmethode können wir leicht pro-

grammtechnisch automatisieren. Nach Vorgabe der Umgebung, des Grades des Poly-nomes und der Gewichte der einzelnen Pixel können wir die GaußschenNormalenglei-chungen aufstellen, die Matrix invertieren und anschließend die Filtermasken berech-nen.

Eine weitere Möglichkeit, um LSI-Filter zu entwerfen, ist die Diskretisierung (Abtastung)analoger Funktionen. Ein typisches Beispiel ist die Gaußfunktion, wobei wir noch den Pa-rameter σ (Standardabweichung) festlegen müssen.Weiterhin ist dabei das Abtasttheoremzu beachten, sodass die Filtermaske möglichst keine Unterabtastung realisiert. Man kannauch LSI-Filter mit den Methoden der Stochastik entwerfen. So kann die Binomialvertei-lung als Approximation der Normalverteilung dienen. Daher könnenwir Binomialfilter alsNäherung für Gaußfilter benutzen. Die Binomialverteilung

P(X = k) = (nk)pkqn−k (8.14)

benutzen wir mit p = . So ergibt sich das 1D-Filter mit n = zu binom =

(, , ). Die

2D-Binomialfilter erzeugen wir mit einer 2D-Faltung der 1D-Filter, siehe auch (2.8) und(2.9):

binom, =( ) ∗

⎛⎜⎝

⎞⎟⎠=

⎛⎜⎝

⎞⎟⎠, (8.15)

oder in Vektorschreibweise als dyadisches Produkt:

binom, =

⎛⎜⎝

⎞⎟⎠⋅( ) =

⎛⎜⎝

⎞⎟⎠. (8.16)

Page 182: Bildverarbeitung und Objekterkennung ||

8.1 Lineare und verschiebungsinvarianteFilter 169

Weiterhin können wir LSI-Filter durch Hintereinanderausführung zweier bekannter LSI-Filter entwerfen. Dazu diene folgendes

Beispiel Der Mexican-Hat basiert darauf, dass man zuerst das Rauschen eines Bildesdämpft und anschließend mit dem Laplacefilter Kantenpunkte extrahiert. Diese beidenFilter kann man natürlich durch die Faltung oder Korrelation der Masken zu einem ein-zigen Filter zusammenfassen, siehe auch Abschn. 2.1.2. Wir wählen zur Rauschdämpfungdas ( × )-Binomialfilter und anschließend ein ( × )-Laplacefilter und erhalten:

⎛⎜⎝

⎞⎟⎠∗⎛⎜⎝

⎞⎟⎠=

⎛⎜⎜⎜⎜⎜⎜⎝

− − − − −

⎞⎟⎟⎟⎟⎟⎟⎠

, (8.17)

wobei wir eine ( × )-Maske für den Mexican-Hat erhalten haben.

8.1.2 Implementierung von LSI-Filtern

Um 2D-LSI-Filter im Ortsraum effizient zu implementieren, bedarf es einiger Überlegun-gen. Die Grundidee ist oft, eine 2D-Filterung auf zwei 1D-Filterungen zurückzuführen.Dazu muss das Filter separierbar sein, d. h. ein Filter h muss hi , j = xi ⋅ y j ,∀i , j zerleg-bar sein, siehe auch (2.8) und (2.9). Dies kann man mit der Singulärwertzerlegung (SVD)feststellen, siehe Abschn. 22.3.2. Weiterhin kann man mit einem Approximationssatz den„Grad“ der mehrfachen Separierbarkeit bestimmen und ausnutzen, siehe ebenfalls Ab-schn. 22.3.2. Natürlich weißman von gewissen Standardfiltern, ob sie separierbar sind odernicht. So sind beispielsweise das klassische Mittelwertfilter, das klassische Gaußfilter unddas Binomialfilter separierbar und lassen sich damit effektiv implementieren. Das Mittel-wertfilter hat außer der Separierbarkeit noch eine günstige Zusatzeigenschaft:

• Implementiert wird infolge der Separierbarkeit nur ein 1D-Mittelwertfilter.• Bis auf einen Normierungsfaktor werden die Grauwerte aus einer 1D-Umgebung sum-

miert, wir speichern die Summe in einer Summationsvariablen. Wenn wir nun das 1D-Filter um eine Position verschieben, muss lediglich ein Grauwert aus der Summations-variablen „ausgetragen“ und ein neuer Grauwert „eingetragen“ werden. Diese Ein-undAustragung hängt nicht von der Größe des Filters ab. Daher kann man das Mittelwert-filter mit konstanter Komplexität in Abhängigkeit von der Filtergröße implementieren.

Die effektive Implementierung des Mittelwertfilters kann man bei anderen Aufgaben ge-schickt ausnutzen, was folgende Beispiele veranschaulichen.

Page 183: Bildverarbeitung und Objekterkennung ||

170 8 Filter im Ortsraum

Beispiel 1 Es soll effektiv der Strukturtensor für alle Pixel eines Bildes

(∑x ,y∈U f x ∑x ,y∈U fx ⋅ f y

∑x ,y∈U fx ⋅ f y ∑x ,y∈U f y) (8.18)

implementiert werden, siehe Abschn. 17.5.2. Dazu bilden wir von dem Bild f mittels LSI-Filter die Ableitungsbilder fx und f y und daraus die drei Bilder f x , fx ⋅ f y und f y . Auf diedrei Bilder wenden wir nun ein Mittelwertfilter entsprechend der Umgebungsgröße U anund erhalten je Pixel den Strukturtensor.

Beispiel 2 Zur Approximation des LoG-Filters nutzt man das DoB-Filter, siehe Ab-schn. 7.5. Die Filtermaske hängt von zwei Größen M und m ab, siehe (7.12). Für M = ,m = sieht die Maske folgendermaßen aus:

DoB→

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

− − − − − − −− − − − − − −− − + + + − −− − + + + − −− − + + + − −− − − − − − −− − − − − − −

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (8.19)

Dieser Maske sieht man nicht direkt an, dass man das Filter sehr effektiv implementierenkann. Entsprechend (7.12) ist diese Maske als Differenz zweier Mittelwertfilter darstellbarund daher mit konstanter Komplexität in Abhängigkeit von der Filtergröße implementier-bar.

Beispiel 3 Wir nehmen einmal an, ein Binärbild sei gegeben. Die Aufgabe bestehe darin,ein Quadrat pixelweise über das Bild „zu schieben“ und jeweils die Anzahl der schwarzenPunkte im Quadrat zu zählen. Dies realisiert (bis auf einen Skalierungsfaktor) genau dasMittelwertfilter. Solche „Filter“ werden z. B. in der fraktalen Bildanalyse benötigt, z. B. beider Berechnung der fraktalen Kästchendimension und der lacunarity, siehe z. B. (12.2).

8.2 Nichtlineare Filter

Für lineare Filter (lineare Operatoren L) muss

L(λ f + μg) = λL f + μLg ∀λ, μ und Bilder f , g (8.20)

gelten. Für LSI-Filter gilt zusätzlich zu (8.20) noch die Verschiebungsinvarianz. Es gibtkaumpraktisch relevante lineare Filter, die nicht verschiebungsinvariant sind. Dagegen gibtes viele praktisch relevante Filter, die nicht die Bedingung (8.20) erfüllen. Diese bezeichnenwir als nichtlineare Filter.

Page 184: Bildverarbeitung und Objekterkennung ||

8.2 Nichtlineare Filter 171

8.2.1 Funktionen von LSI-Filtern

ImFolgenden betrachten wir nichtlineare Funktionen von LSI-Filtern, insbesondere Funk-tionen von Ableitungen, als einfachste Form nichtlinearer Filter.

• GradientenanwendungenDie einfachste nichtlineare Funktion ist der Betrag des Gradienten, der als Maß für dieStärke eines Kantenpunktes dient. Für den Gradienten ∇ f gilt:

grad f = ∇ f = ( fx fy)T, ∣∇ f ∣ =

√f x + f y , ∣∇ f ∣ →

√a, + a, . (8.21)

Damit ist der Betrag des Gradienten durch ein nichtlineares Filter zu berechnen, wobeidieGrößen a, und a, durch LSI-Filter entsprechendAbschn. 8.1.2 zu realisieren sind.

• GradientenrichtungZusätzlich zur Gradientenstärke ist es natürlich auch möglich die Richtung des Gradi-enten zu erhalten:

d = arctan(f yfx) . (8.22)

Diese wird bei vielen Anwendungen quantisiert und in eine endliche Anzahl von mög-lichen Richtungen eingeteilt. Zu beachten ist hier, dass bei einer geringen Gradienten-stärke, die Berechnung der Richtung nicht stabil durchgeführt werden kann.

• RichtungsableitungenKann man die Berechnung der Gradientenstärke auf Farbbilder bzw. mehrkanalige Bil-der verallgemeinern? Für skalare Funktionen f (x , y) (Grauwertfunktionen) gibt es dieRichtungsableitung:

∂ f∂l

= (∇ f )T ⋅ (cos αcos β

) . (8.23)

Dabei ist l die Richtung, die durch den Vektor der Richtungscosinus bestimmt ist. EineKante verläuft senkrecht zu der Richtung, für welche die Richtungsableitung maximalist. Auf Grund dessen, dass die Richtungsableitung das Skalarprodukt vonGradient undRichtung ist, wird das Maximum für die Richtung angenommen, in die der Gradientzeigt. Daher können wir sofort den Betrag des Gradienten als Stärke eines Kanten-punktes interpretieren. Es sei nun g(x , y) eine Vektorfunktion. Wir benutzen hier eineVektorfunktion für Farbbilder, daher hat derVektor genaudreiKomponenten.DieRich-tungsableitung lautet dann:

∂g∂l

=∂g∂x

cos α +∂g∂y

cos β =

⎛⎜⎜⎜⎝

∂g∂x

∂g∂y

∂g∂x

∂g∂y

∂g∂x

∂g∂y

⎞⎟⎟⎟⎠

(cos αcos β

) = J ⋅ l. (8.24)

Page 185: Bildverarbeitung und Objekterkennung ||

172 8 Filter im Ortsraum

DieMatrix J heißt Jakobimatrix. DieRichtungsableitung ist jetzt selbst einVektor, dessenBetrag als Stärke der Änderung von g in der Richtung l zu werten ist. Wir suchen dieRichtung l, in der der Betrag von Jlmaximal ist (wir erhalten dasselbe Ergebnis, wennwir den Betrag quadrieren). Dies führt auf die Optimierungsaufgabe:

S(l) = (J l)TJ l = lTJTJ l = lTMl → Maximum mit lT l = . (8.25)

Wir bilden die Lagrange-Funktion L = lTMl − λ(lT l − ) und leiten diese ab ∇L =

Ml − λl = . Damit erhalten wir das Eigenwertproblem:

Ml = λl, (8.26)

wobei für den größten Eigenwert λmax und den zugehörigen, normierten Eigenvektorlmax gilt

S(lmax) = lTmaxMlmax = λmaxlTmaxlmax = λmax. (8.27)

Damit ist λmax der Wert der größten Richtungsableitung und lmax der Vektor, der indie Richtung der größten Richtungsableitung zeigt. Für jedes Pixel ist demzufolge dieMatrix M mittels der LSI-Ableitungsfilter zu berechnen und anschließend das Eigen-wertproblem (8.26) zu lösen.

• Mittelung von OrientierungenOrientierungen bzw. Richtungen spielen eine große Rolle. Eine lokale Orientierungkann z. B. durch den Gradienten beschrieben werden. Oft sind Orientierungen auchnur Winkel. Wenn zum Winkel noch eine Gewicht dazukommt, dann liegt ein Vektorvor. Beim Winkel müssen wir unterscheiden: Sollen Winkel bis 360 Grad oder nur bis180 Grad betrachtet werden. Da Winkel zyklisch sind, ist eine Mittelung von Winkelnproblematisch. Daher muss zunächst genau definiert werden, was eine Orientierungfür eine konkrete Aufgabe bedeutet. Dazu einige Beispiele:– Gegeben seien Winkel bis 360 Grad oder bis 180 Grad und diese Winkel sollen ge-

mittelt werden. Da die zyklische Natur der Winkel Probleme bereitet, rechnen wirdieWinkel in Einheitsvektoren um, mitteln die Einheitsvektoren und berechnen denWinkel des gemittelten Einheitsvektors.

– Oft sind als Orientierungen Winkel und Gewichte gegeben. Nun rechnen wir dieVektoren aus, die die Richtung desWinkels und die Länge des Gewichtes haben.Wirmitteln nun diese Vektoren und sind fertig.

– Wenn nun Winkel und Gewichte gegeben sind, aber die Winkel nur bis 180 Gradzu betrachten sind, können wir nicht einfach die Vektoren addieren. Ein typischesBeispiel sind Gradienten, deren Mittelung im Fenster kann sogar den Nullvektorergeben. Wir müssen nun durch einen Trick die Periode auf 180 Grad halbieren.Dies geschieht simpel, indem wir den Winkel eines jedes Vektors verdoppeln, dieseVektoren mitteln und zum Schluss den Winkel des gemittelten Vektors wieder hal-bieren. Dabei kann man sogar noch die Gewichte, folglich die Längen der Vektoren

Page 186: Bildverarbeitung und Objekterkennung ||

8.2 Nichtlineare Filter 173

ändern. Die Verdoppelung des Winkels kann man numerisch recht einfach durch-führen: Man fasst den Vektor als komplexe Zahl auf und quadriert sie. Dann mitteltman die komplexen Zahlen und „zieht“ die Wurzel daraus. Durch das Quadrierenhaben wir nicht nur den Winkel verdoppelt, sondern auch das Gewicht. Wenn mandies vermeidenmöchte, zieht man nach jeder Quadrierung aus dem Betrag der kom-plexen Zahl die Wurzel.

– Man kann auch mitteln, indem man ein Optimierungsproblem löst. Dies wird z. B.durch den Strukturtensor realisiert, siehe Abschn. 17.5.2. Dabei wird der Winkelauch nur bis 180 Grad betrachtet und ein Max- sowie ein Min-Problem gelöst. Da-durch erhalten wir zwei Hauptrichtungen mit zwei Bewertungen und haben somitmehr Information als bei einer „üblichen“ Mittelung.

• Krümmungsfilter– Es gibt auch nichtlineare Filter, die Ableitungen höherer als erster Ordnung ver-

wenden, z. B. Krümmungsfilter. Es sind nicht Krümmungsberechnungen von kon-kreten Linien oder Konturen gemeint, sondern es wird wie üblich ein vollständigesGrauwertbild „gefiltert“. Dazu schneidenwir dieGrauwertfunktion f (x , y)mit einerKonstanten c. Wir betrachten folglich die durch f (x , y) = c entstandenen Isoli-nien und untersuchen deren Krümmungen. Die Krümmung einer Kurve in einemKurvenpunkt ist die Ableitung des Tangentenwinkels nach der Bogenlänge, folglichK = dα

ds . Damit ist mit ds =√dx + dy:

dαds

=dαdy′

dy′

ds=

+ y′

y′′dx√dx + dy

=y′′

( + y′). (8.28)

Da wir aber y = y(x) (und damit y′, y′′) nicht explizit gegeben haben, müssen wirdiese aus der impliziten Gleichung f (x , y) = c ermitteln. Daher ist:

fx + f y y′ = → y′ = −fxfy

(8.29)

fxx + fx y y′ + f yx y′ + f y y y′y′ + f y y′′ = (8.30)

→ y′′ =− fxx + fx y

fxf y− f y y

f xf y

f y. (8.31)

Diese Ableitungen setzen wir in (8.28) ein und erhalten:

K =− fxx f y + fx y fx fy − f y y f x

( f x + f y )

. (8.32)

Alle diese eingehenden Ableitungen ersetzen wir wieder durch die LSI-Filter. Formalist somit fx = a,, f y = a,, fxx = a,, fx y = a, , f y y = a, zu setzen. Weiterhin

Page 187: Bildverarbeitung und Objekterkennung ||

174 8 Filter im Ortsraum

interessiert uns eigentlich nur die Krümmung von typischen Kanten im Bild. Dahermultiplizieren wir K noch mit dem Betrag des Gradienten

√f x + f y und erhalten:

Kcurvature = −a,a, + a,a,a, − a,a,

a, + a,. (8.33)

Für typische 2D-Extremalpunkte, wie lokale Minima, lokale Maxima und lokale Sat-telpunkte, existiert die Krümmung nicht.

– Wenn man besonders extreme Krümmungspunkte detektieren möchte, dann kannman diese auch Eckpunkte nennen. Diese kann man auch mit Ableitungen ersterOrdnung finden. Dazu benutzen wir wieder einmal den Strukturtensor, siehe Ab-schn. 17.5.2. Die beiden Eigenwerte sind die Bewertungen der beiden gefundenenHauptrichtungen. Wenn wir zwei wesentliche Hauptrichtungen gefunden haben,dann deutet das auf eine Ecke hin. Daher interpretieren wir Punkte als Eckpunkte,wenn der kleinere Eigenwert „genügend groß“ ist. Dieser Algorithmus wird auchShi-Tomasi-Detektor oder Kanade-Tomasi-Detektor genannt. Ecken werden häufigals Interest Points betrachtet und als Referenzpunkte in der Stereobildanalyse benutzt,siehe Abschn. 16.4.

8.2.2 Richtungsfilter

Als Richtungsfilter bezeichnen wir Filter, die pro Pixel in Abhängigkeit von einer „lokalenStrukturrichtung“ ausgewählt werden. Diese Richtung kann die Richtung einer Linie oderKante sein. Zur Berechnung der Linien- oder Kantenrichtung benutzen wir den Struktur-tensor, siehe Abschn. 17.5.2 und (8.18). Die Umgebung zur Berechnung des Strukturten-sors darf nicht zu klein, aber auch nicht zu groß gewählt werden. Ist sie zu klein (manbenutzt nur den Gradienten im Aufpunkt), dann streut die Richtung von Pixel zu Pixelsehr stark. Ist sie zu groß, spiegelt sie nicht die typische lokale Richtungsstruktur wieder.Als Linien- oder Kantenrichtung benutzen wir den Eigenvektor von (8.18) zum kleins-ten Eigenwert. Praktisch berechnen wir aber den Eigenvektor zum größten Eigenwert undverwenden den Vektor, der auf diesen senkrecht steht. Wenn man nun die Richtung be-stimmt hat, wählt man je nach Aufgabenstellung einen Filter aus. In Abb. 8.2 ist als zweitesBild die Filtermaske einer Richtungsglättung zu sehen. Das innere Rechteck, dessen Ori-entierung vorher mit dem Strukturtensor berechnet wurde, stellt ein Mittelwertfilter dar.Natürlich könnte man diesen Mittelwert-Richtungsfilter durch einen Gaußfilter ersetzen.Es ist offensichtlich, dass diese gerichteten Glättungsfilter in engem Zusammenhang zuden Diffusionsfiltern stehen, siehe Weickert [88]. In Abb. 8.2 ist als erstes Bild die Maskeeines Richtungs-DoB-Filters zu sehen, der zur Liniendetektion benutzt wird. Dieser stelltdie Verallgemeinerung der DoB-Filter bezüglich einer Richtung dar, siehe Abschn. 7.5 und(8.19). Weiterhin ist in Abb. 8.2 als drittes Bild die Maske eines Richtungs-Kantenfilters zusehen, wobei die Ähnlichkeit zum bekannten Hückel-Kantenfilter nicht zu übersehen ist.

Page 188: Bildverarbeitung und Objekterkennung ||

8.2 Nichtlineare Filter 175

Abb. 8.1 Eingabebild fürdie Vibrissenerkennung alsBeispielanwendung für Rich-tungsfilter

In Abb. 8.1 ist eine Ratte mit Vibrissen als Linienstrukturen zu sehen, wobei diese Liniensehr „zerklüftet“ sind.

In den Bildern der Abb. 8.3 sind die Wirkungen dieser nichtlinearen Richtungsfilterzu sehen. In der Abb. 5.3 ist eine Pyramidenbild zu sehen, welches in der Abb. 8.4 einerRichtungsglättung zur „künstlerischen Verbesserung“ unterzogen wurde.

n

width

dir

length

n

width

dir

length

n

dir

rad

Abb. 8.2 Darstellung der Filter: Richtungs-DoB, Richtungs-Smear, Richtungs-Edge

Abb. 8.3 Anwendung der Richtungsfilter auf das Eingabebild in Abb. 8.1: Richtungs-DoB,Richtungs-Smear, Richtungs-Edge

Page 189: Bildverarbeitung und Objekterkennung ||

176 8 Filter im Ortsraum

Abb. 8.4 Richtungs-Smear angewendet auf das Bild in Abb. 5.3

8.2.3 Relaxationsfilter

Ganz allgemein kann man jedes Filter als vektorielle Funktion F des Bildes f ansehen,so dass wieder ein neues Bild g entsteht, folglich: g = F( f ). Bei gegebenem F kann manauch einen Fixpunkt (Fixbild) h mit h = F(h) berechnen. Dies geschieht durch eine Folgevon Iterationen, wobei das Bild f als Startpunkt (Startbild) dient. Natürlich muss man dieExistenz von h voraussetzen und die Konvergenz der Iteration annehmen. Eine einfachevektorielle Funktion F ist die Folgende. Dazu wählen wir für jedes Pixel eine Umgebung U ,wobei fmin der minimale Grauwert und fmax der maximale Grauwert aus der Umgebungist (zur Umgebung eines Pixels gehört immer auch das Pixel selbst). Dann ist F:

gi , j =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

fmin, falls fi , j − fmin < fmax − fi , jf i , j , falls fi , j − fmin = fmax − fi , jfmax, falls fi , j − fmin > fmax − fi , j .

(8.34)

Nach einer bestimmtenAnzahl vonRelaxationsschritten brichtman die Iteration ab.DiesesRelaxationsfilter dient imWesentlichen zur Kontrastverbesserung von Bildern.

8.2.4 Morphologische Filter

Erosion und Dilation Die mathematische Morphologie ist eng mit derTheorie der Men-gen verbunden. Oft werden in diesem Zusammenhang Hadwiger (1957), Matheron (1975)und Serra (1982) genannt. Aus der Morphologie von Punktmengen sind zwei wesentlicheOperationen bekannt: die Erosion und Dilation. Dazu betrachten wir zwei Punktmengen

Page 190: Bildverarbeitung und Objekterkennung ||

8.2 Nichtlineare Filter 177

A und B in der Ebene. DieMinkowski-Addition ⊕ (Dilation) ist folgendermaßen definiert:

A⊕ B = {c ∣ c = a + b, a ∈ A, b ∈ B} ↔ A⊕ B = {p ∣Bp ∩ A ≠ ∅} (8.35)↔ A⊕ B = ⋃

p∈ABp . (8.36)

Dabei wird B Strukturelement genannt. Weiterhin bedeutet die Schreibweise Mp, dass dieMenge M um p translatiert wird. Wenn das Strukturelement B ein Kreis mit dem Mit-telpunkt im Ursprung ist, dann bedeutet dies, dass dieser Kreis „außen“ auf A abgerolltwird. Die Kurve des Mittelpunktes ist nun der neue Rand von A. Die Menge A wird soentsprechend dieser Mittelpunkts-Kurve vergrößert. Das Gegenstück zur Addition ist dieMinkowski-Subtraktion ⊖ (Erosion):

A⊖ B = {c ∣ c + b ∈ A, b ∈ B} ↔ A⊖ B = {p ∣Bp ⊆ A} (8.37)↔ A⊖ B = ⋂

p∈BAp . (8.38)

Man sagt: Awird durch B erodiert. Wählen wir wieder als Strukturelement einen Kreis mitdem Mittelpunkt im Ursprung, dann „rollen“ wir den Kreis von innen her auf dem Randab. Die Mittelpunktskurve ist der neue Rand von A, wodurch sich A verkleinert.

Wenn wir diese beiden Operationen auf digitale Bilder übertragen wollen, müssen wiruns zunächst auf Binärbilder beschränken, da die beiden Operationen nur für Punktmen-gen definiert sind. Alle schwarzen Punkte eines Binärbildes bilden dann die Menge A. DasStrukturelement B kann beliebig gewählt werden, wir beschränken uns hier auf die Vierer-oder Achternachbarschaft:

Zum Strukturelement B gehört das Pixel im Koordinatenursprung und seine Nachbarnentsprechend der Vierer-oder Achternachbarschaft, folglich ist B ein kleines Kreuz oderein kleines Quadrat.

Nun können wir die Dilation und Erosion verbal beschreiben:

• DilationAlle schwarzen Pixel bleiben schwarz. Von den weißen Pixeln werden nur diejenigenschwarz, in deren Nachbarschaft mindestens ein schwarzes Pixel auftritt.

• ErosionAlle weißen Pixel bleiben weiß. Von den schwarzen Pixeln werden nur diejenigen weiß,in deren Nachbarschaft mindestens ein weißes Pixel auftritt.

Wir erkennen eine Art Dualität von Erosion und Dilation. Wir bezeichnen das gesamteBinärbild mit BIN und führen die Operatoren I als Identitätsoperator, C als Komplement-operator (schwarz ↔ weiß), D als Dilationsoperator und E als Erosionsoperator ein. Einewichtige Aussage ist nun:

Page 191: Bildverarbeitung und Objekterkennung ||

178 8 Filter im Ortsraum

Die beiden morhologischen Operationen Dilation (D) und Erosion (E) sind im Allge-meinen nicht invers zueinander, d. h. es gilt im Allgemeinen nicht:

ED(BIN) = DE(BIN) = BIN. (8.39)

Es gilt aber eine Art Dualität bezüglich der Komplementbildung:

E = CDC, CE = DC, EC = CD, CEC = D. (8.40)

Öffnung und Schließung Nun führen wir zwei wichtige Operationen ein:

• Der Operator S = ED heißt Schließungsoperator (Fermeture, Closing).• Der OperatorO = DE heißt Öffnungsoperator (Ouverture, Opening).

Mit dem Schließungsoperator können kleine Bildlücken, Risse usw. geschlossen werden.Mit demÖffnungsoperator können kleine Zipfel vonObjekten, kleine Bildreste usw. besei-tigt werden. Beide Operatoren sind Projektionsoperatoren, d. h. es giltOO = O und SS = S.Damit ist es sinnlos, ein Opening oder Closing mehrmals auf ein Bild anzuwenden. Mankann die beiden Operatoren auch sinnvoll auf Konturen anwenden, damit „Konturrisse“schließen oder „Konturzipfel“ entfernen. Manmuss dazu erst von der Kontur ein Objekt ineinem Binärbild erzeugen. Auf das Binärbild werden die morphologischenOperatoren an-gewendet und anschließend wird mit dem Konturfolgeverfahren (siehe Abschn. 10.2) dieneue Kontur detektiert. Eine ähnliche Operation kann man direkt auf den Konturpunk-ten ausführen, die Berechnung der limitierten konvexe Hülle (LKH), siehe Abschn. 1.2.3und 10.4.

Thinning,Thickening, Skeleton Eine weitere, elementare Operation der Morphologie istdie Hit- or Miss- Transformation. Mit ihr können solche Pixel detektiert werden, die ge-wisse geometrische Eigenschaften besitzen, z. B. Eckpunkte, Randpunkte oder ähnliche.Daher können mit dieser Operation mächtigere, morphologische Operationen wie Verdi-ckungsoperationen (Thickening), Verdünnungsoperationen (Thinning) und Matchingope-rationen eingeführt werden. Zunächst definieren wir eine Maske (z. B. der Größe × )und translatieren diese über das Bild. Haben wir eine Pixelanordnung gefunden, die derMaske entspricht (Hit), so markieren wir das Pixel „schwarz“. War das Matching nicht er-folgreich (Miss), so markieren wir das Pixel „weiß“. Dieses Matching kann nun effizientauf morphologische Operationen zurückgeführt werden. Dazu muss die Matchingmaskein zwei disjunkte, zueinander komplementäre Strukturelemente J und K zerlegt werden.Dann wird die Hit-or-Miss-Transformation⊗ erklärt:

A⊗ (J ,K) ∶= (A⊖ J) ∩ (CA⊖ K). (8.41)

Page 192: Bildverarbeitung und Objekterkennung ||

8.2 Nichtlineare Filter 179

Wir erodieren dabei A mit J, das Komplement von A mit K und bilden von beiden denDurchschnitt. JenachWahlder StrukturelementekannmanverschiedeneStrukturendetek-tieren, z. B. Ecken oder isolierte Punkte. Für isolierte Punkte bezüglich der Vierernachbar-schaftwählenwirals Strukturelemente J = {(, )}undK = {(, ), (,−), (, ), (−, )}.Die Verdünnungsoperation steht in engem Zusammenhang mit der Skellettierung, d. h.der Berechnung des Skelettes (skeleton) eines Binärbildes. Das Skelett wird z. B. benötigt,wennman in medizinischen Bildern Gefäße segmentiert hat und diese vermessenmöchte.Das Skelett bildet dann die Mittelpunktlinien der Gefäße.

Grauwertbilder Nun wollen wir die beiden wichtigen Operatoren Dilation und Erosionauf Grauwertbilder übertragen. Der größte Grauwert sei Gmax. Wir können ein Grauwert-bild f als Summe von Binärbildern Bi der „Dicke“ Eins interpretieren:

f = B + B +⋯ + BGmax . (8.42)

Damit werden die Operationen Erosion und Dilation auf f definiert:

E f def= EB + EB +⋯ + EBGmax , D f def

= DB +DB +⋯+DBGmax . (8.43)

Nun kann man sich leicht überlegen, dass mit einer Umgebung U(i , j) folgendes gilt:

(E f )i , j = min(x ,y)∈U(i , j)

f (x , y), (D f )i , j = max(x ,y)∈U(i , j)

f (x , y). (8.44)

Damit haben wir die Erosion auf das Minimumfilter und die Dilation auf das Maximum-filter zurückgeführt. DasMinimum undMaximumfilter sind spezielle Rangordnungsfilterund lassen sich effektiv implementieren, siehe Abschn. 8.2.5.

Zylinderhut-Transformation EineweiteremorphologischeOperation ist die Zylinderhut-Transformation, auch top hat transform genannt. Dabei wird vom Bild das geöffnete oderdas geschlossene Bild subtrahiert:

WTHT( f ) = f −O f , BTHT( f ) = f − S f . (8.45)

Das Ergebnis ist gerade der „Verlust“, der bei Öffnung oder Schließung auftritt. In prak-tischen Anwendungen unterscheidet man zwischen der WTHT (write top hat transform)und der BTHT (black top hat transform), je nachdem die Objekte hell oder dunkel sind.Die Größe des Strukturelementes ist entscheidend und sollte a priori ermittelbar sein. AlleObjekte, die in das Strukturelement „passen“, werden hervorgehoben. Die Verallgemeine-rung auf Grauwertbilder ist noch interessanter, da dann auch Beleuchtungsschwankungendes Hintergrundes korrigiert werden können, siehe Abschn. 8.2.5.

Page 193: Bildverarbeitung und Objekterkennung ||

180 8 Filter im Ortsraum

Abb. 8.5 Die erste Spalte zeigt zwei Eingabebilder, welche durchAnwendung vonMedianfiltern derGröße × (Spalte 2), × (Spalte 3) und × (Spalte 4) gefiltert wurden

8.2.5 Rangordnungsfilter

Die Grauwerte in der Umgebung U eines Pixels denke man sich separat in einer geson-derten Liste aufsteigend sortiert. Die Position in dieser geordneten Liste nennen wir Rangbezüglich der Ordnung. Der an der ersten Stelle stehende Grauwert ist der kleinste Grau-wert und besitzt den Rang eins usw. Der in der sortierten Liste entsprechend dem Rang aneiner bestimmten Position stehende Grauwert ist nun der neue Filteroutput. Ist der Ranggleich eins, so erhalten wir einMinimumfilter. Ist der Rang der größte ausU , so haben wireinMaximumfilter. DasMinimum- und dasMaximumfilter haben denVorteil, dass sie sichseparieren lassen. Damit können sie sehr effizient implementiert werden. Das Minmum-undMaximumfilter haben bei morphologischenOperationen große Bedeutung, siehe Ab-schn. 8.2.4. Weiterhin gibt es eine Reihe weiterer wichtiger Anwendungen. Sollen z. B.bezüglich einer Umgebung U die lokalen Minima/Maxima eines Bildes bestimmt werden,so wendet man auf das Bild einMinimum/Maximum-Filter an.Man braucht nun nur nochpro Pixel im Bild nachschauen, ob derGrauwert gleich demWert in dem gefilterten Bild ist.Dies kann somit sehr effektiv implementiert werden, siehe als Anwendung Abschn. 10.6.Ist der Rang genau die mittlere Ordnungsposition, so sprechen wir vomMedianfilter, sie-he Abschn. 21.2.5. Das Medianfilter kann zur Beseitigung kleinster, singulärer Störungenbenutzt werden, z. B. bei „Pfeffer und Salz“-Rauschen. Kanten bleiben dabei erhalten, al-lerdings „frisst“ der Medianfilter Ecken an Objekten ab und beseitigt auch dünne Linien,siehe Abb. 8.5.

Gibt es nun außer dem Minimum-, Maximum- und Medianfilter auch Anwendungenfür die anderen Rangordnungsfilter? Dies ist in der Tat so. Dazu betrachten wir einmal

Page 194: Bildverarbeitung und Objekterkennung ||

8.2 Nichtlineare Filter 181

Bilder, die als Objekte blobs, spots enthalten, die sich auch berühren dürfen. Wir nehmeneinmal an, wir kennen die maximale blob-Größe, d. h. der größte blob ist ungefähr in ei-nem Fenster der Größe m × m enthalten. Die Größe m könnte man als Strukturgrößebezeichnen. Das Bild könnte nun von Beleuchtungsschwankungen gestört sein, wobei wirannehmen, dass diese nicht zu abrupt sind. Ein typisches Beispiel wäre z. B. shading in Mi-kroskopaufnahmen.Nun wollen wir das Bild so normieren, dass die Objekte sich auf eineneinheitlichen, homogenen Untergrund beziehen. Bei den Mirkroskopaufnahmen würdedas bedeuten, dass wir das shading beseitigen. Dazu bearbeiten wir das Bild in drei Schrit-ten und nennen das Filter top min Filter.

• Zunächst glätten wir das Bild etwas, z. B. mit einem k×k-Mittelwertfilter. Es darf k nichtzu groß gewählt werden, z. B. k = . Wir erhalten ein Bild B.

• Wir legen eine Fenstergröße n × n fest. Die Größe n muss so gewählt werden, dass sichunabhängig von der Fensterlage im Bild immer Untergrundpunkte im Fenster befinden.Eine Wahl n ≥ m ist dann laut Voraussetzungen geeignet, z. B. n = m. Nun filternwir das Bild mit einem Rangordnungsfilter des Ranges r und der Fenstergröße n underhalten ein Bild B.

• Wir berechnen die Differenz B = B − B. Dabei können wir die negativen FilterwerteNull setzen.

Dawir auf denUntergrundnormierenwollen, wäre folglich einMinimumfiltermit r = dieeigentliche Wahl. Da aber auch im Untergrund trotz des Mittelwertfilters noch Ausreißervorhanden sein können, ist ein Wert r > besser, wobei r entsprechend der Fenstergrößen zu wählen ist. Auch wenn keine Beleuchtungsschwankungen vorhanden sind, hat die-ser Filter einen Sinn. Wir normieren dann die Grauwerte der Objekte (blobs) absolut aufdenHintergrund undHintergrundwerte bleiben auchHintergrundwerte und erhalten sehrkleine Grauwerte. Ein Nachteil des top min Filters ist, dass bei großen Objekten, die alsUntergrund zu werten sind, störende Randstreifen entstehen. Wenn die Ausreißer nichtgenügend beseitigt wurden, entstehen um diese Ausreißer kleine sichtbare Artefakte. Diessollteman korrigieren, indemmandie „Versätze“ imHintergrund korrigiert. Dies geschiehtdurch ein Maximumfilter. Folglich ersetzen wir das top min Filter durch das FilterWTHT,angewendet auf ein gegebenes Bild f bezüglich einer Fenstergröße n:

WTHT( f ) ∶= f −maxn

(minn

( f )). (8.46)

Da das Minimum-, Maximumfilter die Verallgemeinerung des Erosions-, Dilationsfilter(siehe Abschn. 8.2.4) auf Grauwertbilder darstellt, ist das Filter (8.46) die Verallgemei-nerung des morphologischen top hat Filters (siehe (8.45)) auf Grauwertbilder. Folglichwerden bei der BTHT die Filter min und max vertauscht. In der Abb. 10.13 ist die Ge-fäßstruktur eines Herzens zu sehen. Dabei erzeugen andere innere Organe Schatten undKanten, die störend wirken. Auf dieses Bild wurde das top min Filter angewendet, siehedazu das erste Bild in Abb. 8.6. Das zweite Bild in Abb. 8.6 zeigt das Ergebnis des top-hat-Filters. Im Unterschied zum top hat Filter erzeugt das top min Filter störende Streifen. Das

Page 195: Bildverarbeitung und Objekterkennung ||

182 8 Filter im Ortsraum

Abb. 8.6 a Anwendung eines top-min-Filter; b Anwendung eines top-hat-Filter. Als Eingabebildwurde Abb. 10.13 aus Kap. 10 verwendet

top-hat-Filter ist folglich hervorragend geeignet, Beleuchtungsschwankungen zu korrigie-ren. Kritisch ist die Wahl der Fenstergröße n bzw. die Wahl des Strukturelementes. AlleObjekte, die größer als das Strukturelement sind, werden als Hintergrund aufgefasst undeliminiert. Wenn z. B. dunkle Objekte, die nicht größer als das Strukturelement sind, als dieeigentlichen zu betrachtendenObjekte aufgefasstwerden, dannwird „weißer“Hintergrundweiterhin als Hintergrund betrachtet und gleichzeitig werden größere dunkle Stellen elimi-niert und auch als Hintergrund dargestellt. Objekte, die „kleiner“ als das Strukturelementsind, bleiben erhalten, z. B. blobs, spots. Es bleiben aber auch Objekte erhalten, bei denenunabhängig von der Lage des Strukturelementes über dem Objekt, stets Untergrundpixelim Strukturelement vorhanden sind, z. B. Linien, Gefäße usw., die nicht so „breit“ wie dasStrukturelement sind. Ob man die WTHT oder die BTHT auf Grauwertbilder anwendet,hängt von der Interpretation der Objekte ab. Sind z. B. die gesuchten Objekte dunkel und„dunkel“ bedeutet hoheGrauwerte (bzw. die gesuchten Objekte sind hell und „hell“ bedeu-tet hohe Grauwerte), dann ist die WTHT anzuwenden, ansonsten die BTHT.

Page 196: Bildverarbeitung und Objekterkennung ||

9Stochastische Bildsignale

Da man Grauwerte xi , j als Realisierungen von Zufallsvariablen Xi , j auffassen kann, kannman sich auch der Methoden der Stochastik bedienen. In diesem Sinne wird ein zweidi-mensionales BildX als stochastisches Feld (randomfield) bezeichnet. In der Regel brauchenwir dann noch ein Wahrscheinlichkeitsmaß, entweder P(X = x) für diskrete Zufallsvaria-ble oder eine Dichtefunktion f (x) für stetige Zufallsvariable. Das Hauptproblem liegt inFolgendem: wenn nur ein konkretes Bild gegeben ist, dann haben wir für das stochasti-sche Feld nur eine Realisierung und mit einer Realisierung kann man in der Statistik ohneweitere Annahmen kaum etwas anfangen. Folglich reduziert man die Anzahl der Zufalls-variablen und gewinnt bei einem Bild immer mehr Realisierungen. Man nennt dies dannStatistik n-ter Ordnung, wobei n die Anzahl der Zufallsvariablen darstellt. Im Extremfallsind alle Grauwerte eines Bildes Realisierungen einer einzigen (n = ) Zufallsvariablen X.Das Grauwerthistogramm des Bildes beschreibt dann die Verteilung dieser einzigen Zu-fallsvariablen und wird Statistik erster Ordnung genannt.

9.1 Grundbegriffe der Informationstheorie

In der Bildverarbeitung werden häufig Grundbegriffe der Informationstheorie verwendet,die sich wiederum auf Verteilungen von Zufallsvariablen beziehen. Wir betrachten einmalbinäreZustände.Mit nBinärvariablen könnenwirm = n Zustände erfassen.Mit Bit kön-nenwir z. B. 256 Zustände darstellen. Umgekehrt könnenwirm Zuständen n = H = log m[bit] zuordnen.Wir bezeichnen dies auch als Unsicherheit pro Zustand, dabei sind alle Zu-stände gleichberechtigt. H nennt man auch die Entropie eines Zustandes. Wir schreiben

H = log m = − logm. (9.1)

183H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_9, © Springer Fachmedien Wiesbaden 2014

Page 197: Bildverarbeitung und Objekterkennung ||

184 9 Stochastische Bildsignale

Da alle Zustände gleichberechtigt sind, haben sie alle die gleicheWahrscheinlichkeit, näm-lich P(zi) =

m = pi , i = , . . . ,m. Wenn die Zustände aber alle nicht die gleiche Wahr-scheinlichkeit haben, dann können wir gleich verallgemeinern:

Hi = − log pi , ∑ipi = (9.2)

als Entropie des i-ten Zustandes. Da uns aber nicht die Entropie der einzelnen Zuständeinteressiert, sondern eine „mittlere“ Entropie aller Zustände, bilden wir ein gewichtetesMittel aller Einzelentropien:

H = −m∑i=

pi log pi . (9.3)

Diese mittlere Entropie aller Zustände wird schlechthin nach C.E. Shannon (1916–2001)als Entropie bezeichnet. Da wir m Zustände mit deren Wahrscheinlichkeiten gegeben ha-ben, also eine endliche diskrete Zufallsvariable (ZV), spricht man auch von der Entropieeiner diskreten ZV. Man kann nun leicht zeigen:

Die Entropie wird genau dann maximal, wenn die ZV gleichverteilt ist, d. h. wenn pi =m gilt. Dann ist:

H = −m∑i=

m

logm

= − logm

= log m. (9.4)

Damit sind wir wieder bei der Ausgangssituation angekommen.Die Entropie wird genau dannminimal, wenn die ZV eine Null-Eins-Verteilung besitzt,

d. h. wenn für ein j p j = , pi = ∀i ≠ j gilt (pi = δi− j). In diesem Falle besteht dieEntropie nur aus einem Term, die anderen Terme bestehen aus ⋅ log und sind eigentlichundefiniert. Da wir aber diese Terme als Grenzwerte für pi → auffassen können unddieser Grenzwert Null ist, definieren wir als Funktionswert für diesen Term generell:

⋅ log ∶= . (9.5)

Damit reduziert sich die Entropie bei einer Null-Eins-Verteilung der ZV zu

H = −p j log p j = − ⋅ log = . (9.6)

Damit gilt generell die Ungleichung:

≤ H ≤ log m. (9.7)

Beispiel 1 Wir haben ein Grauwertbild und pro Pixel Bit zur Speicherung der Grauwertezur Verfügung, also Grauwerte, damit besteht die ZV aus den Zuständen , , . . . , .

Page 198: Bildverarbeitung und Objekterkennung ||

9.1 Grundbegriffe der Informationstheorie 185

Dazu benötigen wir aber noch dieWahrscheinlichkeiten der Zustände, also der Grauwerte.Als Näherung entnehmen wir diese einemGrauwerthistogramm, das wir von dem Bild be-rechnenmüssen.Dann könnenwir die Entropie des Bildes berechnen.Wir nehmen einmalan, es sei H = bit. Die minimale Entropie ist dann bit und die maximale bit. Dannbedeuten informationstheoretisch die berechneten bit: Wenn wir ein ideales Kompressi-onsverfahren hätten, könnten wir das Bild verlustfrei so kodieren, dass wir im Mittel nur4 Bit pro Pixel brauchen würden. Mehr Information enthält eben das Bild bezüglich derStatistik der einzelnen Grauwerte nicht (Statistik . Ordnung).

Hätte das Bild die Entropie Null, dann läge eineNull-Eins-Verteilung vor, d. h. es kommtnur genau ein Grauwert im Bild vor. Welcher das ist wissen wir nicht, aber das Bild ist„eintönig“. Hätte das Bild die Entropie , dann läge eine Gleichverteilung aller Grauwertevor. Das Bild wäre dann sehr kontrastreich und ließe sich nicht mit der Statistik . Ordnungkomprimieren (z. B. ein sogenannter „Grauwertkeil“).

Wir sehen, die Entropie ist mehr ein Begriff der „Unsicherheit“ des anzutreffenden Zu-standes des Gesamtsystems, z. B. des Bildes. Bei maximaler Entropie ist die Unsicherheitam größten, bei minimaler Entropie am kleinsten. Haben wir z. B. viele Bilder mit sehrkleiner Entropie, dann können wir auch sagen, diese Bilder sind sehr kontrastarm, könnenkeine große Vielfalt ausdrücken.

Beispiel 2 Betrachten wir einmal sehr vereinfacht Sprachen des lateinischen Alphabets.Wir unterscheiden nicht zwischen Groß- und Kleinbuchstaben. Wenn wir das Leerzeichenals Trennzeichen noch berücksichtigen und die Ziffern weglassen, so besteht das Alpha-bet, also unsere ZV aus Zuständen ( Buchstaben und ein Leerzeichen). Wenn eineSprache „kontrastreich“ oder ausdrucksstark ist, sollte die Entropie sehr groß sein. Die ma-ximale Entropie wäre H = log = , bit. Jetzt würden wir für verschiedene Sprachen„alle Texte dieserWelt“ durchgehen und die Histogramme berechnen. Die ausdruckstärks-te Sprache wäre die mit der größten Entropie. Die Entropien der vier Sprachen Englisch,Deutsch, Französisch und Spanisch liegen dicht bei bit, unterscheiden sich also kaum.

Wir betrachten jetzt zwei diskrete ZV X mit xi , i = , . . . , n und Y mit y j, j = , . . . ,m.Dann können wir je einzeln die beiden Entropien H(X) und H(Y) berechnen. Wir be-trachten nun die sogenannte bedingte Entropie:

H(Y ∣ xi) = −∑jP(y j ∣ xi) log P(y j ∣ xi). (9.8)

Wir bilden daraus das gewichtete Mittel:

H(Y ∣ X) = −∑i∑jP(xi)P(y j ∣ xi) log P(y j ∣ xi)

= −∑i∑jP(xi , y j) log P(y j ∣ xi). (9.9)

Page 199: Bildverarbeitung und Objekterkennung ||

186 9 Stochastische Bildsignale

H(Y ∣ X) heißt bedingte Entropie von Y bezüglich X. Es gilt:

H(X ,Y) = H(X) + H(Y ∣ X) = H(Y) + H(X ∣Y). (9.10)

Einen Teil wollen wir zeigen:

H(X) + H(Y ∣ X) = −∑iP(xi) log P(xi) −∑

i∑jP(xi , y j) log P(y j ∣ xi)

= −∑i∑jP(xi , y j) log P(xi) −∑

i∑jP(xi , y j) log P(y j ∣ xi)

= −∑i∑jP(xi , y j) [log P(xi) + log P(y j ∣ xi)]

= −∑i∑jP(xi , y j) log [P(xi)P(y j ∣ xi)]

= −∑i∑jP(xi , y j) log P(xi , y j) = H(X ,Y). (9.11)

Definition 9.1 (Transinformation) Die Größe

I(X ,Y) = H(X) −H(X ∣Y) = H(Y) − H(Y ∣ X) (9.12)

heißt mutual information oder auch Transinformation.

Es gilt:

I(X ,Y) = H(X) −H(X ∣Y)

= −∑iP(xi) log P(xi) −

⎝−∑

i∑jP(xi , y j) log P(xi ∣ y j)

= −∑i∑jP(xi , y j) log P(xi) +∑

i∑jP(xi , y j) log P(xi ∣ y j)

= ∑i∑jP(xi , y j) log

P(xi ∣ y j)P(xi)

= ∑i∑jP(xi , y j) log

P(xi , y j)P(y j)P(xi)

. (9.13)

Wir sehen, die mutual information ist ein Maß für die Unabhängigkeit der beiden ZV Xund Y (ist mehr als die Dekorreliertheit). Ist I(X ,Y) = , so liegt totale Unabhängikeit vonX und Y vor. Ist I(X ,Y) = H(X), so herrscht maximale Abhängigkeit, d. h. es gibt eineFunktion f mit X = f (Y). Bei einem Übertragungskanal sollte immer maximale Transin-formation vorliegen, ansonsten gibt es Übertragungsfehler.

Page 200: Bildverarbeitung und Objekterkennung ||

9.1 Grundbegriffe der Informationstheorie 187

Im Folgenden wollen wir noch die sogenannte differentielle Entropie einführen, d. h. dieEntropie für stetig verteilte ZV. Gegeben sei also eine stetig verteilte ZV X:

F(x) =x

∫−∞

f (t)dt , f (x) ≥ ∀x ,+∞

∫−∞

f (t)dt = . (9.14)

Dabei ist f (x) die Dichte der ZV X.

Definition 9.2 (Differentielle Entropie) Die differentielle Entropie einer Zufallsvariable Xlautet:

h(X) = −∫S

f (x) log f (x)dx , S = {x ∣ f (x) > }. (9.15)

Beispiel 1 X sei gleichverteilt von bis a:

h(X) = −

a

alog

adx = log a. (9.16)

Man sieht, für < a < ist h(X) < , d. h. negativ, was für die diskrete Entropie unmöglichwar.

Beispiel 2 Wir betrachten die Normalverteilung mit dem Erwartungswert μ = :

f (x) =

√πσ

exp−x

σ , h(X) =log(πeσ

). (9.17)

Jetzt gilt etwas sehr Interessantes: Unter allen Verteilungen mit gleicher Varianz hat dieNormalverteilung die größte Entropie.

Wir betrachten jetzt einmal den Zusammenhang zwischen der differentiellen und dis-kreten Entropie. Gegeben sei eine beliebige Dichte f (x). Wir unterteilen die x-Achse inäquidistante Intervalle mit der Intervallbreite Δ. In jedem Intervall i gibt es dann nachdemMittelwertsatz irgendein xi , so dass pi = Δ f (xi) ist, d. h. es ergibt sich genau die Flä-che unter der Funktion f (x) im i-ten Intervall. Damit können wir X nun eine diskrete ZVXΔ zuordnen und damit deren Entropie berechnen:

H(XΔ) = −+∞

∑i=−∞

pi log pi = −+∞

∑i=−∞

Δ f (xi) log Δ f (xi)

= − log Δ −+∞

∑i=−∞

Δ ⋅ f (xi) log f (xi) = − log Δ + h(X). (9.18)

Page 201: Bildverarbeitung und Objekterkennung ||

188 9 Stochastische Bildsignale

Wir sehen der zweite Term, h(X) ist eine Näherung für h(X) und es gilt limΔ→ h(X) =

h(X). Der andere Term strebt gegen +∞. Stellen wir die Gleichung um, so können wirschreiben:

limΔ→

{H(XΔ) + log Δ} = h(X) (9.19)

Wählenwir für die Intervallänge Δ = −n , d. h. wir haben die stetigeZVmit nBit quantisiertoder wir haben n Intervalle, dann können wir schreiben:

H(XΔ) ≈ h(X) + n. (9.20)

Häufig wird in der Informationstheorie die sogenannte Jensen-Ungleichung benötigt:

Satz 9.3 (Jensen-Ungleichung) Es sei f eine konvexe Funktion und X sei eine ZV, dann gilt

E { f (X)} ≥ f (E {X}). (9.21)

Wenn f sogar streng konvex ist, dann gilt die Gleichheit nur wenn X eine Konstante ist.

Beweis Wir wollen dies kurz für diskrete ZV mit vollständiger Induktion beweisen. AlsInduktionsanfang nehmen wir eine Zwei-Punkte-Verteilung:

p f (x) + p f (x) ≥ f (px + px) (9.22)

Dies ist ja gerade die Definition einer konvexen Funktion. Wir nehmen nun an, die Unglei-chung sei richtig für eine (k − )-Punkte-Verteilung und wollen zeigen, dass sie dann auchfür eine k-Punkte-Verteilung richtig ist. Mit der Bezeichnung:

p′i =pi

− pk, i = , . . . , k − ,

k−∑i=

p′i = (9.23)

folgt:

k

∑i=

pi f (xi) = pk f (xk) + ( − pk)k−

∑i=

p′i f (xi)

≥ pk f (xk) + ( − pk) f (k−∑i=

p′i xi)

≥ f (pkxk + ( − pk)k−∑i=

p′i xi)) = f (k∑i=

pi xi) . (9.24)

Der Beweis für stetige ZV geht analog. ◻

Page 202: Bildverarbeitung und Objekterkennung ||

9.2 Statistiken n-ter Ordnung 189

Die sogenannte relative Entropie oder Kullback-Leibler-Distanz ist durch:

D(p∥q) = ∑xp(x) log

p(x)q(x)

= Ep (logp(x)q(x)

) (9.25)

definiert. Man kann sie sich als Abstandsmaß zweier Verteilungen p und q vorstellen, sieist aber kein echtes Abstandsmaß. Es ist D(p∥q) ≥ und Null genau dann, wenn p = q ist.Dies kann man mit der Jensen-Ungleichung relativ simpel zeigen. Wir sehen, die mutualinformation I(X ,Y) ist der Kullback-Leibler-Abstand der Verbund-Verteilung p(x , y) zurProduktverteilung p(x) ⋅ p(y).

Weiter können wir schlussfolgern: Aus

≤ I(X ,Y) = H(X) −H(X ∣Y) (9.26)

folgt die Ungleichung H(X ∣Y) ≤ H(X). Die mittlere bedingte Entropie verringert sichalso immer gegenüber der unbedingten Entropie. Dies gilt aber nur für das Mittel. Eineeinzelne bedingte Entropie H(X ∣ y j) kann dagegen größer oder kleiner werden. Dazu eineinfaches

Beispiel Gegeben sei (X ,Y)mit der Verteilung p = , p = , p =

, p =

. Es istH(X) = ,, H(X ∣Y = ) = , H(X ∣Y = ) = , aber H(X ∣Y) = ,.

Informationsmaße werden in der Bildverarbeitung in vielen Algorithmen verwendet,insbesondere in der Bilddatenkompression. So spielt z. B. bei Bildregistrierungen in derMedizinischen Bildverabeitung die mutual information eine große Rolle.

9.2 Statistiken n-ter Ordnung

Möchte man mit einem einzigen Bild Statistik betreiben, so gibt es sicher zwei Extrema:

• Alle Grauwerte xi sind Realisierungen einer einzigen Zufallsvariablen X. Das „übliche“Grauwerthistogramm stellt dann eine statistische Beschreibung dieser einzigen Zufalls-variablen dar.

• Der Grauwert xi ist eine Realisierung der Zufallsvariablen Xi , i = , . . . ,N − . Damitist das gesamte Bild nur eine Realisierung eines stochastischen Feldes.

Beide Extrema haben Vor- und Nachteile. Bei der Histogrammauswertung haben wir ge-nügend Stichprobenmaterial zur Verfügung, die Ortsabhängigkeit der Grauwerte geht abervöllig verloren und damit jede Information über den Inhalt des Bildes. Beim stochastischenFeld beschreiben wir das Bild vollständig, können aber aus einer Realisierung ohne wei-tere Annahmen keine statistischen Aussagen treffen. Folglich scheint es sinnvoll zu sein,ein Modell zwischen beiden Extrema zu wählen. Dazu approximieren wir das gesamte

Page 203: Bildverarbeitung und Objekterkennung ||

190 9 Stochastische Bildsignale

Abb. 9.1 Einige Teilfelder fürStatistiken höherer Ordnung

stochastische Feld durch ein Teilfeld. Das Teilfeld aus Zufallsvariablen stellen wir uns alseine Schablone, eine Anordnung von Zufallsvariablen vor. Damit ist das Teilfeld durchdie Anzahl der Zufallsvariablen und durch deren gegenseitige Anordnung bestimmt. Inder Abb. 9.1 sind einige Teilfelder zu sehen. Nun translatieren wir die Schablone über daskonkrete Bild und betrachten die Grauwerte unter der Schablone als Realisierungen derZufallsvariablen auf dem Teilfeld. Die Anzahl der Zufallsvariablen auf dem Teilfeld be-stimmt dann eine n-dimensionale Verteilung oder auch Statistik n-ter Ordnung. Es gibtdemnach mehrere Statistiken n-ter Ordnung in Abhängigkeit von der Topologie der Scha-blone. Bis zweiter Ordnung lassen sich dieHistogrammenoch sehr schön visualisieren. Diezweidimensionalen Histogramme werden oft Co-occurence-Matrizen genannt.

9.3 Rauschmodelle

Unter Rauschen (noise) verstehen wir die stochastische Störung der „wahren“ Grauwerte.Die Art und Weise der Störung impliziert verschiedene Rauschmodelle. Wenn Rauschenals stochastische Störungen modelliert werden, dann ist es unmöglich mit einer oder ei-ner endlichen Zahl von Aufnahmen das Rauschen zu beseitigen. Man kann eigentlich nurdas Signal-Rausch-Verhältnis verbessern oder garmit mehreren Aufnahmendas Rauschenabsolut vermindern. Rauschvariablen werden oft mit N bezeichnet im Kontrast zu un-serer bisherigen Bezeichnung als Anzahl von diskreten Funktionswerten. Weiterhin wirdoft mittelwertfreies Rauschen (E(N) = ) angenommen. Die Bezeichnung E bedeute denErwartungswert einer Zufallsvariablen. Die Rauschstärke wird durch die Standardabwei-chung σ(N) beschrieben. Im Zusammenhang mit Rauschen gibt es viele Begriffe. So wirdoft signalunabhängiges Rauschen vorausgesetzt, d. h. die Verteilung der Rauschvariablendarf nicht vom eigentlichen Signalwert abhängen. In einfachen Modellen wird vom „wei-ßen Rauschen“ gesprochen. Dies bedeutet E(Ni , j) = , σ(Ni , j) = und alle Ni , j sindpaarweise dekorreliert. Damit wird die Autokorrelationsfunktion E(N ∗NR) zu:

E(N ∗NR)m ,n =M−∑i=

N−∑j=

E(Ni , jNi+m , j+n) = M ⋅ Nδm ,n . (9.27)

Page 204: Bildverarbeitung und Objekterkennung ||

9.3 Rauschmodelle 191

Das Spektrum des Einheitsimpulses δ ist αk , l = const. Da aber das Spektrum der Autokor-relationsfunktion das Leistungsspektrum der Originalfunktion ist, besitzen alle Frequen-zen gleiche Intensitäten wie beim weißen Licht, daher auch der Name weißes Rauschen.Modelle zur Rauschminderung oder zum Verbessern des Signal-Rausch-Verhältnisses fal-lenmit in das Gebiet der Bildrestauration (sieheAbschn. 9.5), wobei in der Bildrestaurationnoch zusätzlich die Bildschärfe zu restaurieren ist. Das Signal-Rausch-Verhältnis (signalnoise ratio (SNR)) ist dabei zu:

SNR = log∑i ∑ j(gi , j − g)

∑i ∑ j(ni , j − n)(dB) (9.28)

definiert. Dabei sind gi , j die Grauwerte eines Bildes und ni , j die Realisierungen des Rau-schens. Insbesondere können die einfachen Verfahren, wie Glättungsfilter und Tiefpassfil-ter, nur das SNR beeinflussen. Das simpelste Rauschmodell ist:

X = μ +N (9.29)

mit den Forderungen E(X) = μ, d. h. mittelwertfreies Rauschen E(N) = . Oft möchteman aus den Annahmen eines Rauschmodelles die Verteilung des stochastischen Feldes Xermitteln.

Beispiel 1 Wir nehmendas einfacheModell (9.29) und beschränken uns auf Zufallsvekto-ren, d. h. auf eindimensionale Bilder. Die Rauschvariablen Ni seien paarweise dekorreliertund identisch Gauß-verteilt mit E(Ni) = und σ (Ni) = σ . Dann können wir die Ver-teilung von X trivialerweise sofort aufschreiben:

f (x) =

(πσ )N/e−

σ ∑

N−i= (xi−μi)

. (9.30)

In Abschn. 9.5.4 findetman ein Beispiel für die Verteilung, wennN eine Poisson-Verteilungbesitzt.

Beispiel 2 Jetzt betrachten wir einModell, welches als Kanalrauschen bezeichnet wird undwelches gleichzeitig ein Beispiel für multiplikatives Rauschen darstellt. Wir betrachten eineindimensionales Binärbild ymit yi ∈ {−,+}. Nun kann sich yi stochastisch ändern:Mitder Wahrscheinlichkeit p nimmt yi seinen Komplementärwert an, mit der Wahrschein-lichkeit − p bleibt er erhalten, daher ist

Xi = yi ⋅ Ni , (9.31)

wobei die Rauschvariable Ni eine Bernoullische Zufallsvariable mit

P(Ni = −) = p, P(Ni = +) = − p (9.32)

Page 205: Bildverarbeitung und Objekterkennung ||

192 9 Stochastische Bildsignale

ist. Daher hat das stochastische Feld X die diskrete Wahrscheinlichkeitsverteilung

P(X = x) = pcard{I ∣ i∈Iy i=−xi} ⋅ ( − p)card{J ∣ j∈Jy j=x j}. (9.33)

Beispiel 3 Es gibt natürlich aus Rauschformen, die sich nur sehr schwer mit stochasti-schen Modellen beschreiben lassen. Ein typisches Beispiel dafür ist das Salz- und Pfeffer-Rauschen (salt-and-pepper noise). Es ist tatsächlich ähnlich einem Gemisch aus einzelnenSalz(weiß)- und Pfeffer(schwarz)-Körnern, die man mit einem Streuer über das Bild aus-bringt. Da diese Körner im Bild singulär vorkommen (nicht in Clustern), ist das typischeWerkzeug zur Beseitung (bzw. Reduktion) des Rauschens ein geeignet zu wählender Rang-ordnungsfilter (z. B. Medianfilter), siehe Abschn. 8.2.5.

9.3.1 Rauschminderungmit mehreren Aufnahmen

Wir nehmen das einfache Modell (9.29) an, wobei uns die Kovarianzmatrix ΣN des Rau-schens nicht interessiert, wir betrachten nur die unbekannten Standardabweichungen σi , jder Rauschvariablen Ni , j als Maß für die Stärke des Rauschens. Aus der Stochastik ist be-kannt:

Sind X und Y zwei unabhängige Zufallsvariable, dann gelten die einfachen Rechenre-geln:

E(aX ± bY) = aE(X)± bE(Y), a, b ∈ R

σ (aX ± bY) = aσ (X) + bσ (Y), a, b ∈ R.(9.34)

Haben wir nun n unabhängige Realisierungen X j, j = , . . . , n des Feldes X zur Verfügung,dann berechnen wir pro Pixel den Mittelwert und erhalten mit den Rechenregeln (9.34):

E⎛

n

n∑j=

X ji⎞

⎠= μi , σ ⎛

n

n∑j=

X ji⎞

⎠=

nσ i . (9.35)

Demnach bleibt der „wahre“Wert μ erhalten und die Standardabweichung verhält sich zu:

σ(Xi) =

√nσ(Xi). (9.36)

Das Rauschen wird folglich mit dem Faktor √

n gedämpft. In der Praxis würde dies bedeu-ten: Wir müssen mit einer Kamera n-mal dieselbe Szene aufnehmen. Dabei darf mit derKamera nicht „gewackelt“ werden, in der Szene darf sich nichts bewegen und es darf kei-nerlei Beleuchtungsschwankungen geben. In der Astronomie sind Aufnahmenmit langenBelichtungszeiten üblich, was genau diesem Modell entspricht, so dass rauscharme Bilderentstehen.

Page 206: Bildverarbeitung und Objekterkennung ||

9.4 Energiefunktionen 193

9.3.2 Rauschen und Bilddatenkompression

Ein verrauschtes Bild bereitet der Datenkompression ohne Informationsverlust großeSchwierigkeiten, daher bestehen in der Datenkompression ohne Informationsverlust zwi-schen künstlichen Bildern (Computergrafik) und realen Bildern erhebliche Unterschiede.Man kann verbal sagen: Unabhängiges Rauschen lässt sich nicht verlustfrei komprimie-ren. Dazu ein einfaches Beispiel. Wenn wir ein 8-Bit-Bild mit einer Kamera aufnehmen,dann sind 2-Bit-Rauschen nicht außergewöhnlich. Folglich kann man das Bild nicht unter25 Prozent verlustfrei komprimieren. Nun kommt aber noch die eigentliche Bildinfor-mation dazu, so dass verlustfreie Kompressionsraten unter 50 Prozent nur in gutartigenFällen zu finden sind. Dagegen lassen sich rauschfreie Bilder der Computergrafik sehr gutverlustfrei komprimieren. Ein weiteres Beispiel sind Prädiktor-Korrektor-Verfahren derDatenkompression. Mit einem möglichst einfachen Modell werden Daten vorhergesagtund nur die Differenz zu den tatsächlichen Daten wird kodiert. Je besser die Vorhersage,desto besser die Kompression. Wenn wir z. B. eine Bildfolge vorliegen haben, dann wäredie Einzelbildkompression sicher das schlechteste Verfahren. Der simpelste Prädiktor istdann der identische Operator, d. h. man kodiert das erste Bild und dann nur noch dieDifferenzen zweier aufeinander folgender Bilder. Sind die Grauwerte als Zufallsvariablenpixelweise abhängig, dann wird die Entropie des Differenzbildes klein werden und mankann dieses gut komprimieren. Sind die Zufallsvariablen X und Y pro Pixel zweier Bilderaber unabhängig und haben z. B. die gleiche Varianz σ (X) = σ (Y), so können wir (9.34)vereinfachen zu:

σ (X − Y) = σ (X) + σ (Y) = σ (X) → σ(X − Y) =√ ⋅ σ(X). (9.37)

Wir sehen, die Standardabweichung der Differenz wird gegenüber den Einzelbildern umden Faktor

√ verstärkt. Damit wird die Entropie des Differenzbildes sogar größer und

die Kompression damit schlechter. Daman bei Rauschen oft von pixelweise unabhängigemRauschen ausgeht, tritt genau dieser Effekt ein und das Prädiktor-Korrektor-Modell kannim Extremfall sogar die Kompressionsraten verschlechtern. Genau dieser Effekt tritt auchbei der Kodierung eines Einzelbildes auf, wenn man z. B. die Differenz der Zeilen, bzw. derSpalten oder von Diagonalen kodieren möchte.

9.4 Energiefunktionen

Es sei x der Vektor der Grauwerte aller Pixel eines Bildes als Realisierung des Stochasti-schen Feldes X. In Anlehnung an die Physik führt man eine „Energiefunktion“ ein, die dieZustände des Bildes bewertet. Kleine Energien seien günstige Zustände und hohe Energiensollen ungünstige Zustände beschreiben, siehe auch [89]. Diese Energiefunktion E(x) istfolglich das Modell zur Beschreibung der Bildzustände. Diesen Energiefunktionen kannman leicht Wahrscheinlichkeiten zuordnen:

p(x) =Ze−E(x) , Z = ∑

xe−E(x). (9.38)

Page 207: Bildverarbeitung und Objekterkennung ||

194 9 Stochastische Bildsignale

Z ist eine Normierungskonstante, wobei bei stetigen Variablen die Summation durch eineIntegration zu ersetzen ist. In dieser Form nenntmanXGibbs-verteilt. Gibbs-Verteilungenwurden erstmals durch Hassner und Sklansky in der Bildverarbeitung eingeführt.

Beispiel 1 Das einfachste und bekannteste Energiemodell ist das Ising-Modell zur Deu-tung des Ferromagnetismus:

E(x) = −α∑i∈B

∑k∈Ni

xi xk . (9.39)

Dabei ist Ni eine Nachbarschaft von i, z. B. die Vierernachbarschaft. Weiter nehmen dieGrauwerte nur Binärzustände xi = + oder xi = − an.Mit diesemModell bewerten wir alleBinärbilder. Für α > gibt es nur zwei Minima der Energiefunktion, nämlich ein homogenweißes oder homogen schwarzes Bild. Obwohl man trivialerweise diese beiden globalenMinima sofort ablesen kann, ist es schwierig mit einer geeigneten Startlösung und einemgeeigneten Optimierungsalgorithmus auch zu einem dieser beiden globalen Minima zugelangen. Im Gegensatz zur Physik sieht man an diesem Beispiel, dass Energiefunktionenauch negativeWerte haben dürfen. Die Verallgemeinerung des Isingmodells auf Grauwert-bilder führt zum Potts-Modell:

E(x) = −α∑i∈B

∑k∈Ni

δxi−xk . (9.40)

Man kann beim Isingmodell auch jede Kombination einzeln bewerten:

E(x) = ∑i∈B

∑k∈Ni

ai ,k xi xk + bixi . (9.41)

Dies ist eine allgemeine quadratische Form, die nur unter bestimmten Konvexitätseigen-schaften global zu minimieren ist.

Nun wollen wir mit einem MAP-Schätzer (siehe Abschn. 18.3) aus einem gegebenen,verrauschten Bild y das wahrscheinlichste Bild x bezüglich der A-priori-Gibbsverteilungoder das mit der kleinsten Energie bestimmen. Dazu müssen wir mit dem Rauschmodelldie A-posteriori-Energiefunktion aus den A-priori-Wahrscheinlichkeiten und den Über-gangswahrscheinlichkeiten bestimmen.

Beispiel 1 Das Stochastische Feld X besitze eine Dichtefunktion f (x) in der GibbsschenForm mit der Energiefunktion E(x). Das Bildmodell sei Y = X +N. Dabei sind X und Nunabhängig. Das RauschenN sei weißes, mittelwertfreies Gaußsches Rauschen. Dann ist

f (x, y) = f (x) f (y ∣ x) = f (x)

(πσ )−Ne−

∑i(y i−x i)

σ . (9.42)

Page 208: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 195

Damit können wir die neue Energiefunktion ablesen zu

E(x, y) = E(x) +∥y − x∥

σ . (9.43)

Bei gegebenem Bild y lösen wir die Optimierungsaufgabe minx E(x, y). Dies ist identischmit einem MAP-Schätzer, siehe Abschn. 18.3, wobei wir E(x ∣ y) durch E(x, y) ersetzenkönnen. Ist die A-priori-Verteilung bzw Gibbsverteilung konstant, d. h. E(x) = constant,dann ist diese Aufgabe etwas unsinnig gestellt. Bei gegebenem y führt dann die Minimie-rung von (9.43) immer auf die Lösung x = y, d. h. wir nehmen als Lösung das verrauschteBild selbst. Wir benötigen folglich bei dieser simplen Form der Übergangswahrscheinlich-keiten f (y ∣ x) in (9.42) eine sinnvolle, nichtkonstante A-priori-Energiefunktion E(x). Dieeinfachste Idee ist: Wir suchen ein möglichst glattes restauriertes Bild. Daher wählen wirE(x) = β∑i ∑ j∈N(i)(xi − x j)

, β > . Folglich wird (9.43) zu

E(x, y) = β∑i

∑j∈N(i)

(xi − x j) +

∥y − x∥

σ . (9.44)

Mit dem Parameter β kann man nun die Stärke der Glattheit einstellen.

Beispiel 2 Wir nehmen einmal ein Binärbild und als A-priori-Energiefunktion das IsingModell, siehe (9.39). Das Rauschmodell sei das Kanalrauschen, siehe (9.34). Dann lautetdie A-posteriori-Energiefunktion

E(x, y) = −β∑i

∑j∈N(i)

xi x j −ln

− pp ∑

ixi yi . (9.45)

Mit β kann wieder der Einfluss der Glattheit gesteuert werden.Dieser Abschnitt sollte verdeutlichen, dass man einen Zusammenhang zwischen Ver-

teilungen und Energfiefunktionen herstellen kann. Der Sinn besteht eigentlich nur darin,die Zuständemaximaler Wahrscheinlichkeit mit den Zuständenminimaler Energie zu be-schreiben. Die Zustände minimaler Energie kann man aber nur mit Optimierungsverfah-ren finden, die das globale Optimum berechnen können. Dazu gibt es recht aufwendigeVerfahren, z. B. den Gibbs-Sampler oder die Methode des Simulated Annealing.

9.5 Bildrestauration

Die Bildrestaurationsmethoden werden nach den verschiedensten Zielkriterien eingeteilt.So unterscheidet man algebraische und stochastische Methoden, Methoden im Ortsraumoder Frequenzraum, direkte Methoden oder iterative Methoden, Regularisierungsmetho-den usw., siehe z. B. [39].

Page 209: Bildverarbeitung und Objekterkennung ||

196 9 Stochastische Bildsignale

Wir werden hier diese Einteilung nicht vornehmen, sondern nur die wichtigsten Me-thoden beschreiben. Wir bezeichnen wie in der Literatur üblich die Zufallsvariable desRauschens mit N (Noise) und folglich eine Realisierung mit n. Bisher hatten wir aber im-mer mit N und n Anzahlen von Funktionswerten bezeichnet. Was von beiden gemeint ist,soll stets aus dem Zusammenhang eindeutig hervorgehen.

9.5.1 Invers-Filter

Das bekannteste Modell ist:

G = h ∗ f + N . (9.46)

Wir nehmen einmal an, die PSF h sei invertierbar. Wenn die Faltung h ∗ f durch denRauschterm n „gestört“ wird, dann kann bei der Invertierung f = h− ∗ g = f + h− ∗ ndas Rauschen derart verstärkt werden, dass die Näherung f von f zu sehr abweicht undvöllig unbrauchbar wird. Im Abschn. 2.2.2 hatten wir die Stabilität eines linearen Systemsbeschrieben und den Begriff der Konditionszahl eingeführt. Im Abschn. 4.12 hatten wirden Zusammenhang der Konditionszahl zu einer Faltungsgleichung und zu den Fourier-koeffizienten hergestellt und schließlich in (4.48) die Konditionszahl K(h) = ∥h∥ ⋅ ∥h−∥bezüglich der Faltung:

K(h) =max j ∣α j(h)∣mink ∣αk(h)∣

(9.47)

ausgerechnet. Daraus können wir nun umgekehrt ablesen, wann das Invers-Filter stabil ist.Die „Schwankungsbreite“ des Amplitudenspektrums von h ist die entscheidende Größe,die Phase spielt keine Rolle. Die Schwankungsbreite ist minimal, wenn das Amplituden-spektrum von h konstant ist. Wenn folglich das Amplitudenspektrum der PSF h nahezukonstant ist, dann kann man auch das Invers-Filter zur Restauration benutzen.

9.5.2 Restauration unter Zwang

Wir nehmen wieder als Bildentstehungsmodell:

G = h ∗ f + N (9.48)

an,wobei die PSF hwieder gegeben sein soll. Beim Invers-Filter imAbschn. 9.5.1 hattenwirvorausgesetzt, dass die PSF invertierbar sein soll. Diese Voraussetzung ist bei praktischenProblemen selten erfüllt. Daher stellen wir jetzt keine Forderung mehr an die PSF h. Überdas Rauschen N wissen wir zunächst nichts. Wenn wir die konkrete Realisierung n desRauschens N kennen würden, so schreiben wir einfach:

g − n = h ∗ f (9.49)

Page 210: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 197

und berechnen f durch lösen der Gaußschenh Faltungs-Normalengleichungen, siehe(2.55). Dies wäre aber zu schön um war zu sein, wir wissen eigentlich immer nicht vielüber das Rauschen. Aber so könnten wir wenigstens eine obere Schranke E(∥N∥) für diemittlere Rauschstärke E(∥N∥) ≤ E(∥N∥) kennen, daher gehen wir zur Norm über undsuchen ein f , das die Ungleichung:

E(∥G − h ∗ f ∥) ≤ E(∥N∥) (9.50)

erfüllt. Nun haben wir aber das Problem, dass es dafür unendlich viele Lösungen f gebenkann, diese müssen wir irgendwie vernünftig bewerten. Wir suchen aus den vielen mög-lichen Lösungen eine aus, die einem Kriterium genügen soll. Dieses Kriterium versteckenwir abstakt in einem Operator T . Folglich haben wir ein Optimierungsproblem zu lösen:

∥T f ∥ → Minimum bei E(∥G − h ∗ f ∥) ≤ E(∥N∥). (9.51)

Wenn wir nun annehmen, dass der Operator T linear ist, also T = L, dann kann manbeweisen, dass das Minimum auf dem Rand angenommen wird. Wir müssen also lösen:

∥L f ∥ → Minimum bei E(∥G − h ∗ f ∥) = E(∥N∥). (9.52)

Da die Restriktion nun in Gleichungsform vorliegt, können wir die Langrangesche Funk-tion bilden:

z( f , α) = ∥L f ∥ − α(E(∥G − h ∗ f ∥) − E(∥N∥) → Minimum. (9.53)

Wirmüssen nun den Gradienten von z nach f bilden und gleich Null setzen. Dazu nehmenwir weiter an, dass L sogar ein LSI-Operator ist, daher können wir L mit einer Zirkular-matrix Cl identifizieren. Weiterhin sei Ch die Zirkularmatrix zu h und wir interpretierendie diskreten Funktionen wieder als Spaltenvektoren. Der Einfachheit halber ersetzen wirG durch eine Realisierung g. Nun können wir den Gradienten bilden:

∇ f z(f , α) = CTl Cl f − αCT

h (g −Chf) = . (9.54)

Wir lösen nach f auf:

f = (CThCh +

αCT

l Cl)−CT

h g. (9.55)

Für α → ∞ erhalten wir die Lösungmit der Pseudoinversen, siehe auch (22.17). Den Para-meter α nenntman auch Regularisierungsparameter und das Verfahren als Regularisierungnach Tichinov und Arsenin, siehe Abschn. 22.2. Da wir die Lösung über Zirkularmatrizenhergeleitet haben, können wir die Lösung auch wieder in die Faltung übersetzen:

f ∗ (hR ∗ h +αl R ∗ l) = hR ∗ g . (9.56)

Page 211: Bildverarbeitung und Objekterkennung ||

198 9 Stochastische Bildsignale

Nunwenden wir darauf das Faltungstheorem (4.23) an, wobei unbedingt und genau auf dieFaktoren zu achten ist (wir bezeichnen die Dimension jetzt ausnahmsweise mit Nd , um sievom Rauschen N zu unterscheiden:

√Nd ⋅ αk( f ) ⋅ (

√Nd ∣αk(h)∣ +

√Nd

α∣αk(l)∣) =

√Nd ⋅ αk(h)αk(g) (9.57)

Wir lösen auf:

αk( f ) =αk(h)αk(g)

√Nd ∣αk(h)∣ +

√Nd

α ∣αk(l)∣

. (9.58)

Was für ein l könnte man sinnvollerweise nehmen? Sinnvoll ist z. B.: unter allen zulässigenf möchten wir das Glatteste. Dies bedeutet, die Summe der Betragsquadrate der Ableitun-gen von f soll minimal sein. Wir können für l irgendein Ableitungsfilter benutzen, z. B.den einfachen Laplacefilter, da wir die Ableitungen richtungsunabhängig benötigen:

l =⎛⎜⎝

⎞⎟⎠. (9.59)

Die einzig übrigbleibende Frage ist dieWahl des Regularisierungsparameters α. Man könn-te probieren unddas Restaurationsergebnis bewerten oderman bestimmtdiesen Parameterexakt nach der Abschätzung der mittleren Rauschstärke. Wir bilden die Funktion:

r(α) = g − h ∗ f = g − h ∗ (hR ∗ h +αl R ∗ l)

−∗ hR ∗ g (9.60)

und damit die Fehlerfunktion

φ(α) = ∥r(α)∥ − E(∥N∥). (9.61)

Wir müssen nun die Nullstelle dieser Funktion φ(α) finden. Man kann sogar zeigen, dassdiese Funktion φ(α)monoton fallend in α ist. Damit können wir mittels Intervallschach-telung eine ausreichende Näherung der Nullstelle bestimmen.

Welche Forderung an f außer Glattheit könnte noch sinnvoll sein? Nehmen wir ein-mal den einfachsten Fall, der LSI-Operator ist der identische Operator L = I, d. h. l = δ.Damit suchen wir unter allen zulässigen f dasjenige mit ∥ f ∥ → Minimum. Wir suchenalso das Originalbild mit der kleinsten Norm. Ob diese Fragestellung gewünscht ist odernicht, ist eine andere Frage. Die Lösung im Orts- und Spektralbereich können wir sofortaufschreiben:

f = (CTh Ch +

αI)−CTh g , αk( f ) =

√Nd

⋅αk(h)αk(g)∣αk(h)∣ + β

, β =α⋅Nd

. (9.62)

Page 212: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 199

Diese Lösung ist weiter nichts als die Lösung der regularisierten Faltungs-Normalenglei-chungen (2.69). Die Formel (9.62) können wir auch anders schreiben:

αk( f ) =

√Nd

⋅αk(h)αk(g)∣αk(h)∣ + β

=

√Nd

⋅αk(g)αk(h)

⋅ (∣αk(h)∣

∣αk(h)∣ + β) . (9.63)

Den in Klammer stehenden Ausdruck können wir als Korrekturfaktor pro Frequenz ge-genüber der reinen Entfaltung interpretieren. Die Fehlerfunktion könnten wir jetzt gleichin Abhängigkeit von β betrachten. Man beachte: Der Term β ≥ ist eine nichtnegative,reelle Konstante und hängt demzufolge nicht von k ab, aber sie hängt von der DimensionN ab.

Dieses Restaurationsfilter liefert in der Praxis schon sehr gute Ergebnisse und wird alsPseudoinvers-Filter bezeichnet. Dieser Begriff könnte zu Verwechslungen mit der Pseu-doinversen einer Matrix führen, hat aber direkt mit ihr nichts zu tun.

9.5.3 Wiener-Hellstrom-Optimal-Filter

Wie nehmen als Bildentstehungsmodell wie üblich

G = h ∗ f + N (9.64)

an, wobei die PSF h gegeben sein soll. E(⋯) bedeute wieder den Erwartungswert einerZufallsvariablen oder Zufallsfeldes. Über das Rauschen N machen wir einige Annahmen,z. B. sei E(N) = und das Rauschen sei signalunabhängig. Wir wollen im Folgenden auchf als Zufallsfeld auffassen:

G = h ∗ F + N . (9.65)

Signalunabhängiges Rauschen bedeutet nun, dass E(Fi ⋅ Nj) = E(Fi) ⋅ E((Nj) gilt. BeimOriginal Wiener-Filter (1942) wurde zunächst nur das Rauschen betrachtet. Erst später(1968) bezog Hellstrom die PSF h mit in seine Überlegungen ein. Wir suchen nun einenOperator T , sodass

E(∥F − TG∥) → Minimum (9.66)

gilt. Auf Grund dieses Ansatzes ist das Wiener-Filter ein MMSE-Filter (Minimum MeanSquare Error), siehe auch Abschn. 18.3.3. Zwei Probleme fallen gleich auf: man müsste Fkennen, um überhaupt das Problem zu lösen zu können, F wird aber doch gerade gesucht.Wir werden noch sehen, dass man dies tatsächlich abschwächen kann. Aber einen allge-meinen nichtlinearen Operator können wir so ohne weiteres nicht finden, wir müssen dies

Page 213: Bildverarbeitung und Objekterkennung ||

200 9 Stochastische Bildsignale

drastisch einschränken, z. B. T sei ein linearer Operator. Wenn wir die diskreten Funk-tionen wieder als Spaltenvektoren interpretieren, dann können wir T als eine Matrix Aannehmen und wir müssen lösen:

E(∣F −A ⋅G∥) → Minimum. (9.67)

Als notwendiges Kriterium, siehe auch Abschn. 21.2.1, gilt

E{A ⋅G − F) ⋅GT} = . (9.68)

Wir setzen für G die Beziehung (9.65) ein und erhalten

E(A ⋅ (ChF + N) ⋅ (FTCTh + NT)) = E(F(FTCT

h + NT)). (9.69)

Nunmultiplizieren wir aus. Bei einigen Termen könnenwir auf Grund der gemachten Vor-aussetzungen an das Rauschen die Erwartungswerte „hineinziehen“. Da der Erwartungs-wert vonN mit Null angenommenwird, verschwinden einige Terme. Mit der BezeichnungCOVX ∶= E(XXT) für die Kovarianzmatrix eines Zufallsvektors X erhalten wir dann:

A = COVF ⋅CTh [Ch ⋅COVF ⋅CT

h +COVN]−. (9.70)

Wir sehen nun, wir müssen tatsächlich nicht dasOriginal F kennen, sondernnur die Kova-rianzmatrix COVF , was weitaus schwächer ist. Zusätzlich muss man noch die Kovarianz-matrixCOVN des Rauschens kennen. Selbst wenn wir diese Kovarianzmatrizen berechnenkönnten, wird deren Dimension für praktische Aufgabenstellungen gewaltig sein. Dahermachen wir an den Operator T außer der Linearität noch eine weitere Einschränkung: Tsoll zusätzlich noch verschiebungsinvariant sein. Daher können wir jetzt T als Faltung miteiner PSF w darstellen. Daher müssen wir nun lösen:

E(∥F −w ∗G∥) → Minimum. (9.71)

Dies ist aber nichts anderes als das lineare Gleichungssystem E(CG ⋅ww = F) im Sinne derkleinsten Quadrate zu lösen. In dieser Notation können wir also die üblichen GaußschenNormalengleichungen benutzen:

E(CTGCGw = CT

GF). (9.72)

Dies übersetzen wir wieder in die Faltung

E(GR ∗G ∗w = GR ∗ F) (9.73)

und setzen nun die Modellgleichung für G ein:

[hR ∗ h ∗ E(FR ∗ F)] + [hR ∗ E(FR ∗ N) + h ∗ E(NR ∗ F) + E(NR ∗ N)] ∗w= hR ∗ E(FR ∗ F) + E(NR ∗ F). (9.74)

Page 214: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 201

Auf Grund unserer Voraussetzungen an das Rauschen verschwinden folgende drei Terme:

hR ∗ E(FR ∗ N), h ∗ E(NR ∗ F), E(NR ∗ F). (9.75)

Daher ergibt sich die Bestimmungsgleichung für das Filter w:

[hR ∗ h ∗ E(FR ∗ F) + E(NR ∗ N)] ∗w = hR ∗ E(FR ∗ F). (9.76)

Wir sehen, nun geht nicht mehr das Original F direkt ein, sondern wir brauchen nur nochderen Autokorrelation E(FR ∗ F) zu kennen. Da uns eigentlich nicht das Wiener-Filter,sondern nur das geschätzte Bild f = w ∗ g aus einer Realisierung g von G interessiert,falten wir beiden Seiten mit g durch und erhalten:

[hR ∗ h ∗ E(FR ∗ F) + E(NR ∗ N)] ∗ f = hR ∗ E(FR ∗ F) ∗ g . (9.77)

Wenn wir nun das Faltungstheorem anwenden (siehe Abschn. 4.8), erhalten wir:

αk( f ) =

√Nd

⋅αk(h) ⋅ E (∣αk(F)∣) αk(g)

∣αk(h)∣E (∣αk(F)∣) +E(∣αk(N)∣)

Nd

. (9.78)

Wir benötigen also die mittleren Autokorrelationsfunktionen des Originals und des Rau-schens bzw. die mittleren Leistungsspektren des Originalsignals und des Rauschens. Fürdas Rauschen wird oft weißes Rauschen angenommen, in diesem Falle ist:

E(NR ∗ N) = δNdσ → ∣αk(N)∣ = σ . (9.79)

Wenn wir Zähler und Nenner durch E(∣αk(F)∣) teilen und annehmen, dass der Quoti-ent E(αk(N)∣)

E(∣αk(F)∣)= β konstant ist, dann erhalten wir genau (9.63) bezüglich der Restauration

unter Zwang. Wenn wir wieder weißes Rauschen annhemen, dann benötigen wir also imNormalfall außer der Rauschstärke σ in (9.64) die Autokorrelation des OriginalsignalsE((FR ∗ F)n) = E(∑l Fl Fl−n). Da wir aber im Normalfall diese aus dem unscharfen Bildg schätzen müssen und damit nur eine einzige Stichprobe vorliegt, führt dies zu Schwie-rigkeiten in der Zuverlässigkeit der Schätzung. Wenn wir aber z. B. annehmen, dass einSummand (KF)n = E(Fk ⋅ Fk−n) nur noch von n abhängt und nicht mehr von k, dannkönnten wir die Autokorrelation tatsächlich auch aus einem Bild schätzen, da wir für dieseProdukte genug Stichproben zur Verfügung hätten. In der Stochastik werden solche Zu-fallsfelder oder Prozesse als stationär im erweiterten Sinne bezeichnet. Nehmen wir dieseinfach an, dann bleibt aber immer noch das Problem, dies aus dem unscharfen Bild gzu schätzen. Dazu nimmt man oft die Autokorrelation von g, restauriert das Bild (in derHoffnung, dass es dem Originalbild besser entspricht) und wiederholt den Prozess bis zueiner Abbruchbedingung. Dazu gibt es in der Literatur zahlreiche Varianten dieser iterati-ven Wiener-Entfaltung.

Page 215: Bildverarbeitung und Objekterkennung ||

202 9 Stochastische Bildsignale

9.5.4 Richardson-Lucy-Algorithmus

Im Folgenden sollen einige statistische Betrachtungen angestellt werden.Wir gehen wiedervomModell (9.64) aus.Wennwir nun annehmen, alle Nk seien unabhängig, normalverteiltmit dem Erwartungswert Null und der gleichen Varianz σ , dann können wir z. B. folgendeLikelihoodfunktion (siehe Abschn. 18.3.1):

L( f ) =N−∏k=

e−(gk−(h∗ f)k )

σ (9.80)

zur Schätzung von f aufstellen. Statt L( f )) zu maximieren, minimieren wir − ln(L( f ))und sehen sofort, dass dann:

∥g − h ∗ f ∥ → Minimum (9.81)

zu minimieren ist. Dieses Ergebnis ist insofern schlecht, da es die übliche inverse Filterungbeschreibt. Über dieses Ergebnis brauchen wir uns nicht wundern: Für jedes Pixel k habenwir eineNormalverteilung mit einem anderen Erwartungswert (h∗ f )k angenommen.Da-mit wollen wir ausN Werten auch N Parameter schätzen, was natürlich sehr problematischist. Aber vielleicht bekommen wir ein „vernünftiges“ Ergebnis, wenn wir nicht die Normal-verteilung annehmen. Dazu nehmen wir wieder an, die Nk seien unabhängig und es liegePoisson-Rauschen vor. Das heißt, die Gk sind unabhängig und haben eine Poissonvertei-lung mit dem Erwartungswert (h ∗ f )k . Eine Zufallsvariable X ist poissonverteilt, wenn:

P(X = l) =λl e−λ

l !(9.82)

gilt. λ ist dabei der Erwartungswert von X. Da wir von N ganzzahligen Grauwerten gkausgehen, ist diese Annahme durchaus möglich. Daher bilden wir wieder die Likelihood-Funktion:

L( f ) =N−∏k=

(h ∗ f )kgk e−(h∗ f )k

gk !→ Maximum. (9.83)

Wir bilden wieder den Logarithmus

ln(L( f )) =N−∑k=

[gk ln(h ∗ f )k) − (h ∗ f )k − ln(gk!)]

=N−∑k=

⎡⎢⎢⎢⎢⎣

gk ln⎛

N−∑j=

hk− j f j⎞

⎠−

N−∑j=

hk− j f j − ln(gk!)⎤⎥⎥⎥⎥⎦

. (9.84)

Page 216: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 203

Wir bilden wie üblich die partiellen Ableitungen

∂ ln(L(F))∂ fl

=N−∑k=

gk∑

N−j= hk− j f j

hk−l −N−∑k=

hk−l = , l = , . . . ,N − . (9.85)

Diese Gleichung können wir kompakt als Faltung schreiben:

N−∑k=

gk(h ∗ f )k

hRl−k = ((

gh ∗ f

) ∗ hR)l=

N−∑k=

hk−l , l = , . . . ,N − . (9.86)

Die kompakte Schreibweise bedeutet immer eine pixelweise Operation. Diese nichtlineareGleichung ist nun für f zu lösen. Dazu wird in der Literatur ein einfaches iteratives Vorge-hen vorgeschlagen:

f (n+)l =

(∑N−k= hk−l)

f (n)l ((g

h ∗ f (n)) ∗ hR)

l, l = , . . . ,N − , n = , . . . (9.87)

Diese Iteration wird Richardson-Lucy-Algorithmus genannt, siehe [58] und [43]. Es ist auf-fällig, dass dieser Algorithmus oft in der Astronomie verwendet wird. In der Iteration kannman die Nichtnegativität der Grauwerte fl ≥ garantieren. Oft wird dieser Algorithmusauch als EM-Algorithmus mit Poisson-Statistik bezeichnet. In der Literatur gibt es eineMenge von Arbeiten, die sich mit Konvergenzuntersuchungen befassen und Vergleiche zuden anderen Restaurationsmethoden anstellen. Der Vorteil ist, man braucht das Rauschennicht extra modellieren und es zeigte sich, dass das Verfahren sehr robust gegenüber derRauschstärke ist. Weiter ist bekannt, dass die Iteration sehr langsam konvergiert, daher istder numerische Aufwand imOrtsraum beträchtlich. Als „Startbild“ f () kann g, aber auchein „konstantes“ Bild, z. B. f () ≡ , benutzt werden.

9.5.5 Bewegungsunschärfe (motion blur)

Wennwir Bilder aufnehmen, in denen sich etwas bewegt unddie Belichtungszeit nicht kurzgenug ist, dann erhalten wir die allgemein bekannte Bewegungsunschärfe in den Bildern.Kann man nun diese Bilder nachträglich wieder scharf machen? Dazu müssen wir uns einmathematischesModell dieser Bewegungsunschärfe überlegen.Wir gehen zunächst davonaus, dass sich das gesamteBild bewegt (undnicht nurTeile) unddass die Bewegung eine rei-ne Translation des Bildes ist. Haben wir keine stetige Bewegung, sondern ein kurze abrupteBewegung, so können wir diese als eine einzige Translation modellieren. Eindimensionalergibt sich dann das unscharfe Bild g:

g = f ′ + f = Sn f + f = f ∗ (δ + Snδ) = f ∗ h = h ∗ f . (9.88)

Page 217: Bildverarbeitung und Objekterkennung ||

204 9 Stochastische Bildsignale

Wir sehen, dies ist die gleiche Modellierung wie im Abschn. 4.22 zur Translationsberech-nung mit Hilfe des Cepstrums. Da wir das scharfe Bild f berechnen wollen, haben wireine inverse Faltung zu berechnen mit der PSF h. Da aber noch Rauschen und Störungenhinzukommen, müssen wir wie üblich das Modell (9.64) nutzen, wobei die ZufallsvariableN das Rauschen beschreibt. Bei dem obigen einfachen Modell einer einzigen Translationkönnen wir die PSF tatsächlich mit der Cepstrum-Methode allein aus g berechnen. UnterBerücksichtung einer Modellannahme für das Rauschen N , können wir dann die bisheri-gen Restaurationsmethoden (z. B. Wiener-Filter) anwenden.

Nun gehen wir einen Schritt weiter und nehmen an, die Bewegungsunschärfe ist nichtnur eine einzige Translation, sondern mehrere, wobei sich die Bilder additiv überlagern.Dazu nehmen wir der Einfachheit halber einmal an, die Translation erfolge nur horizon-tal oder nur vertikal, damit können wir wieder im Ortsraum direkt diskret rechnen undkönnen die eindimensionale Schreibweise wieder benutzen. Wir bilden demzufolge:

g = f + S f + S f +⋯ + Sp f = f ∗ (δ + Sδ + Sδ +⋯+ Spδ)

= f ∗ (p

∑k=

Skδ) = f ∗ h = h ∗ f . (9.89)

Darauf wenden wir das Faltungstheorem an:

αk(g) = (p

∑l=

e−πi lkN ) αk( f ). (9.90)

Damit können wir die Übertragungsfunktion zu αk(h) = ∑pl= e

−πi l kN ablesen.

Nun gehen wir zu Bewegungen in 2D-Bildern über, die nicht unbedingt nur horizontaloder vertikal erfolgen. Ziehen wir stetige Bewegungen in Betracht, dann müssen wir auchanaloge Funktionen annehmen und über die Zeit integrieren:

g(x , y) =T

f (x − u(t), y − v(t))dt = f (x , y) ∗T

(Su(t),v(t)δ)dt . (9.91)

Wir verwenden wieder das Faltungstheorem oder das Verschiebungstheorem mit der IFT:

αg(ν , ν) =∞

∫−∞

∫−∞

g(x , y)e−πi(νx+ν y)dxdy

= α f (ν , ν)T

e−πi(νu(t)+νv(t))dt . (9.92)

Die Übertragungsfunktion αh(ν , ν) von h lautet demnach:

αh(ν , ν) =T

e−πi(νu(t)+νv(t))dt (9.93)

Page 218: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 205

und ist durch die Bewegungstrajektorie x = u(t), y = v(t), ≤ t ≤ T vollständig bestimmt.Ein wichtiger Spezialfall ist sicher die geradlinig, gleichförmige Bewegung, wobei die Tra-jektorie ein Geradensegment darstellt, das im Koordinatenursprung beginnt. Wir wählenalso für u(t) und v(t) einmal u(t) = a⋅t

T und v(t) = b⋅tT . Jetzt lautet die Übertragungsfunk-

tion

αh(ν , ν) =T

e−πi(νatT +ν

btT )dt . (9.94)

Dieses Integral können wir elementar ausrechnen, benutzen anschließend die EulerscheFormel und erhalten:

αh(ν , ν) =T

π(aν + bν)sin [π(aν + bν)]e−πi(aν+bν)

= T sinc [π(νa + νb)]e−πi(aν+bν) . (9.95)

Wir sehen phasenverschoben die „berühmte“ sinc-Funktion. Dies ist kein Wunder, dadas Geradensegment als Rechteckfunktion deutbar ist. Die Phasenverschiebung benötigenwir eigentlich für die Restauration nicht. Wir verschieben das Trajektoriensegment um(−a/,−b/) und wenden das Verschiebungstheorem auf die verschobene Funktion anund erhalten:

αh(ν , ν) =T

π(aν + bν)sin [π(aν + bν)] = T sinc [π(νa + νb)]. (9.96)

Die Begründung ist recht einfach: Welches Bild wir aus der Serie der verschobenen Origi-nalbilder restaurieren wollen, ist doch völlig egal. Deshalb legen wir den Koordinatenur-sprung in die Mitte des Geradensegmentes. Diese sinc-Funktion ist die Fouriertransfor-mierte der Rechteckfunktion, die hier die Bewegungstrajektorie als Geradensegment be-schreibt. Die Übertragungsfunktion (9.95) ist durch a, b und T vollständig bestimmt. InAbb. 9.2a ist ein künstlich erzeugtes, bewegungsunscharfes Bild zu sehen, wobei die Un-schärfe horizontalmit 20 Pixeln erzeugt wurde. Das additiv überlagerte Bild wurde „exakt“in der Gleitkommaarithmetik berechnet. In der Abb. 9.2b ist das Ergebnis der exakteninversen Faltung zu sehen, die Restauration scheint gelungen zu sein. Nun wurde das un-scharfe Bild erzeugt, indemnachwie vor die verschobenen Bilder addiert werden, es wurdeaber anschliessend der Mittelwert pro Pixel gebildet und auf ganze Zahlen gerundet, d. h.optisch ist dieser Effekt im Bild nicht zu sehen, da es nur minimales Quantisierungsrau-schen darstellt. Nun ist in Abb. 9.3a wieder das Ergebnis der inversen Faltung zu sehen,dieses ist völlig unbrauchbar. Benutzt man dagegen eine Restaurationsmethode, die dasRauschen berücksichtigt, dann ist das Ergebnis wieder brauchbar, siehe Abb. 9.3b. Das in-verse Problem ist also numerisch instabil und bedarf auf jeden Fall der Regularisierung.In den Bildern der Abb. 9.4 sind die Restaurationsergebnisse mit dem Wiener-Filter und

Page 219: Bildverarbeitung und Objekterkennung ||

206 9 Stochastische Bildsignale

Abb. 9.2 a Simuliertes Bild mit Bewegungsunschärfe: Das Originalbild wurde mehrmals ver-schoben und die verschobenen Bilder wurden mittels Gleitkommaarithmetik addiert und ergebendas Gleitkommabild motion-floating-point-number. In der Abbildung ist die Visualisierung desBildes motion-floating-point-number zu sehen (motion-visual). b Restaurationsmethode: die in-verse Faltung, angewendet auf das Gleitkommabild motion-floating-point-number aus a, liefert einbrauchbares Ergebnis

Abb. 9.3 a Restaurationsmethode: die inverse Faltung, angewendet auf das visualisierte Bildmotion-visual aus Abb. 9.2, liefert nun ein völlig unbrauchbares Ergebnis. Das Bild motion-visualunterscheidet sich von motion-floating-point-number lediglich durch minimales Quantisierungs-rauschen. b Restaurationsmethode: dasWiener-Filter, angewendet auf das visualisierte Bild motion-visual aus Abb. 9.2, liefert dagegen ein brauchbares Ergebnis

Page 220: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 207

Abb. 9.4 a Restaurationsmethode: dasWiener-Filter wurde angewendet auf das Bild motion-visualaus Abb. 9.2, welches zusätzlich noch stark verrauscht wurde. Das Restaurationsergebnis ist immernoch brauchbar. b Restaurationsmethode: der Richardson Lucy Algorithmus wurde angewendet aufdas Bild motion-visual aus Abb. 9.2, welches zusätzlich noch stark verrauscht wurde. Das Restaura-tionsergebnis ist ähnlich demWiener Filter

dem Richardson-Lucy-Algorithmus zu sehen, wobei das unscharfe Bild mit einem unab-hängigen Gaußschen Rauschen (σ = ) gestört wurde. Die Restaurationsergebnisse sindähnlich, manmuss aber beimWiener-Filter genau die Rauschstärke kennen. Im Gegensatzdazu darf man beim Richardson-Lucy-Algorithmus nicht zu lange iterieren, man brauchtaber vorher die Rauschstärke nicht kennen.

Man sieht in derAbb. 9.5, dass dieÜbertragungsfunktionNullstellen an parallelenGera-den besitzt. Diese Geraden haben die orthogonaleOrientierung zur Bewegungstrajektorie.Da also die Übertragungsfunktion Nullstellen besitzt, ist es nicht möglich, das Original fexakt zu rekonstruieren, es werden Frequenzen ausgelöscht. Die Restauration muss sichalso „rein theoretisch“ schon darauf beschränken, das Original möglichst gut zu approxi-mieren.

Bevor die Bewegungsunschärfe durch eineRestaurationsmethode beseitigtwird (besser:reduziert wird),müssenwir „irgendwie“ a, b und T bestimmen.Wenn sich z. B. nur Teile indem Bild bewegen, dann können wir nur die Unschärfe dieser Bildteile beseitigen. Wichtigist, die Bewegung muss als Translation (zumindestens näherungsweise) modellierbar sein,und lokal ist das sehr häufig möglich.

Da wir die Übertragungsfunktion (9.95) von der Grundstruktur her kennen, d. h. diesist die periodische sinc-Funktion, so müssen diese periodischen Nullstellen auch deutlich

Page 221: Bildverarbeitung und Objekterkennung ||

208 9 Stochastische Bildsignale

-10

-5

0

5

10 -10

-5

0

5

10

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

sin(x+y)/(x+y)

Abb. 9.5 sinc-Funktion

im Spektrum des bewegungsunscharfen Bildes zu sehen sein. In den Bildern der Abb. 9.6sind die Amplitudenspektren der PSF und des bewegungsunscharfen Bildes zu sehen.Man„sieht“ die typische Streifenstruktur bedingt durch die sinc-Funktion. Die Breite der Strei-fen verhält sich dabei umgekehrt proportional zu der Länge der Bewegungstrajektorie,d. h. je länger die Bewegungstrajektorie ist, umso schmaler sind die Streifen. Die Orientie-rung der Streifen ist genau orthogonal zur Orientierung der Bewegungstrajektorie. Dem-zufolge könnte man die Bewegungstrajektorie und damit die PSF aus dem Spektrum desbewegungsunscharfen Bildes ermitteln. Man könnte auf das Amplituden-Spektrum dieRadon-Transformation anwenden und daraus die Orientierung und die Breite ermitteln.Bei sehr kurzen Trajektorien sind die Streifen zu breit, daher gibt es zu wenige parallele„Nullstellen“-Geraden im Radon-Bild und die Bestimmung wird weitaus schwieriger.

Page 222: Bildverarbeitung und Objekterkennung ||

9.5 Bildrestauration 209

Abb. 9.6 a Amplitudenspektrum der PSF des Bildes aus Abb. 9.2a, dies entspricht dem Amplitu-denspektrum der horizontal ausgerichteten sinc-Funktion. b Amplitudenspektrum des bewegungs-unscharfen Bildes aus Abb. 9.2a

9.5.6 Wellenfront Kodierung (wavefront coding)

Bei einem„normalen“ optischen System ist aufGrundder Blendenöffnung dieTiefenschär-fe begrenzt, was oft störend ist. Eine neue Idee ist in [13]wavefront coding genannt worden.Diese Idee besteht darin, das optische System so zu modifizieren, dass wir ein Bild einergewissen Schärfe erhalten, wobei diese Schärfe nahezu unabhängig von der Fokussierungsein soll. Der Ausdruck Schärfe ist dann aber nicht richtig, es muss dann eher Unschärfeheißen. Anders ausgedrückt heißt dies, die PSF ist unabhängig (nahezu) von der Tiefen-schärfe. Wenn diese PSF dann bezüglich der Faltung noch invertierbar ist, dann könnteman mit Restaurationsmethoden das echt scharfe Bild ausrechnen. Da man zeigen kann,dass die OTF (siehe Abschn. 4.1) tatsächlich keine Nullstellen hat, ist die PSF auch inver-tierbar. Natürlich ist die Unabhängigkeit von der Tiefenschärfe nicht unbegrenzt, aber einrelativ großer Bereich wird schon abgedeckt. Bei der praktischen Realisierung in einemoptischen System wird in die Apertur eine Art „kleine Linse“ eingesetzt, man sagt einerefraktiv wirkende kubische Phasenplatte, siehe auch [13]. Weiterhin benötigen wir einenSignalprozessor, auf dem eine Bildrestaurationsmethode implementiert ist. Daher ordnetsich wavefront coding in das Gebiet der computational photography ein.

9.5.7 Kodierte Apertur (coded aperture imaging)

Eine klassische pinhole camera besitzt kein optisches System. Sie hat eine „unendlich klei-ne“ Blende und dies bedingt eine „unendlich große“ Tiefenschärfe. Der Vorteil der großen

Page 223: Bildverarbeitung und Objekterkennung ||

210 9 Stochastische Bildsignale

Tiefenschärfe wird aber zunichte gemacht, weil durch diese kleine Blende kein Licht zuden Sensoren kommen kann. Dadurch ist diese klassische Kamera praktisch unbrauchbar,wir benötigen ein optisches System, welches größere Blenden erlaubt. Nun gibt es außerdem sichtbaren Licht noch energiereiche Strahlen, bei denen solch ein optisches Systemnicht funktioniert, z. B. Röntgenstrahlen, Gammastrahlen usw., sodassman wieder auf dieklassische pinhole camera zurückgreifen muss. Dadurch entwickelte sich seit ca. 1965 imZusammenhang mit der kosmischen Röntgenstrahlung eine modifizierte pinhole camera.Die Grundidee ist recht einfach:

• Wir installieren in eine Kamera mehrere pinhole cameras, d. h. unsere neue Kameraerhält eine Blende mit vielen „unendlich kleinen“ Löchern, den eigentlichen pinholecameras. Es müssen so viele Löcher sein, damit genügend Licht in die neue Kameraeindringen kann.

• Der Sensor erhält dann als Bild die additiveÜberlagung aller Bilder der eigentlichen pin-hole cameras, allerdings sind die Einzelbilder alle zueinander verschoben, da die kleinenLöcher versetzt in der Blende eingebracht wurden.

• Nun muss man dieses unscharfe Bild mit den Restaurationsmethoden wieder „scharf“machen, wir benötigen also einen Prozessor dazu. Daher kann man die coded apertureimaging als Vorläufer der computational photography ansehen.

• DieBlende derKamera könnenwir uns alsMatrix vorstellen, wobei jedesMatrixelemententweder Null oder Eins ist, d. h. Licht wird durchgelassen (Loch) oder gesperrt. Wiesolch eineMatrix (z. B. URA, MURA) aufzubauen ist, kannman z. B. in [24] nachlesen.Diese Matrix ist auch als diskrete Funktion mit Nullen und Einsen auffassbar. Diese istnun bezüglich der inversen Faltung die PSFundmuss numerisch stabil invertierbar sein.Siehe dazu auch in Abschn. 2.1.2 die Beispiele bezüglich der inversen Korrelation undFaltung.

Page 224: Bildverarbeitung und Objekterkennung ||

10Bildsegmentierung

Die Bildsegmentierung ist wohl eines der wichtigsten Gebiete der Bildverarbeitung. WennBilder analysiert bzw. Szenen klassifiziert werden, setzt das in der Regel eine korrekteSegmentierung voraus. Klassische Bildverarbeitungsalgorithmen laufen oft in folgendenSchritten ab:

a) Daten- oder Bildeingabe,b) Vorverarbeitung der Bilder mit Bildverbesserungsalgorithmen, z. B. diverse Filter zur

Rauschunterdrückung, Filter zur Beleuchtungskorrektur, Verstärkung gewisser Eigen-schaften, Detektion von „interessierenden“ Pixeln und vieles mehr,

c) Segmentierung der Bilder in Regionen, Objekte mit geschlossenen Konturen oder Li-niensegmente.

d) Klassifikation und/oder Analyse der segmentierten Regionen, Objekte oder Linienseg-mente.

e) „Ausgabe“ der Analyseergebnisse.

Die Trennung der Segmentierung (Punkt c) von der anschließenden Klassifikation(Punkt d) ist genaugenommen so streng gar nicht möglich. Bei der Segmentierung klassi-fiziert man gewöhnlich schon etwas, ohne sich dessen bewusst zu sein. Dazu ein

Beispiel Ein OCR-Algorithmus soll auf einem Personalausweis die beiden ICAO-Zeilenlesen. Diese Zeilen enthalten zum Beispiel den Namen des Inhabers. Dazu wird man denAusweis segmentieren und eine Liste von denjenigen segmentierten Objekten bestimmen,welche die Buchstaben/Sonderzeichen der ICAO-Zeilen sein könnten, um sie einer an-schließenden Klassifikation zu unterwerfen. Da man aber gewisse Informationen über dieZeichen der ICAO-Zeilen hat, wird man gleich bei der Segmentierung die Objekte eli-minieren, die keine Zeichen der ICAO-Zeilen sein können. Kriterien sind dazu z. B.: dieFläche ist zu groß, die Fläche ist zu klein, der Schwerpunkt liegt in einem völlig anderen Be-

211H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_10, © Springer Fachmedien Wiesbaden 2014

Page 225: Bildverarbeitung und Objekterkennung ||

212 10 Bildsegmentierung

reich des Ausweises usw. Die Verwendung dieser Kriterien kann als eine „festverdrahtete“Klassifikation interpretiert werden und ist sehr von der Anwendung abhängig.

In aktuellen Ansätzen versucht man daher die Kriterien automatisch aus gegebenenLerndaten zu ermitteln. Im Bereich der Segmentierung führt dies zumGebiet der semanti-schen Segmentierung, bei der Segmentierung und semantisches Wissen (anhand von Lern-daten) gleich in einem Schritt vereint werden. In diesem Zusammenhang sprichtman auchvon der klassischen Segmentierung ohne Lernschritt als unüberwachte Segmentierung.Entscheidend für den Erfolg der Verfahren der semantischen Segmentierung sind geeigne-te annotierte Lerndaten. Sind diese bei einer Aufgabenstellung nicht verfügbar, so müssenKritierien für die Segmentierung und dementsprechende Algorithmen manuell für eineAufgabenstellung angepasst werden. Oft finden sich in der Praxis Mischformen, bei denennur ein Teil der Parameter aus Lerndaten ermittelt werden.

In den folgenden Abschnitten sollen diejenigen Segmentierungsmethoden vorgestelltwerden mit denen die Autoren erfolgreich gearbeitet haben. Da gewisse klassische Seg-mentierungsmethoden in vielen Büchern der Bildverarbeitung behandelt werden, soll hierauf die Darstellung dieser Algorithmen verzichtet werden. Dies sind insbesondere die Splitand Merge-Strategien und die Wasserscheidentransformation.

10.1 Thresholding

Die einfachsten Segmentierungsmethoden beruhen auf globalen/lokalen Schwellwerten.Durch Berechnung oder Vorgabe einer Schwelle T wird ein Grauwertbild f (x , y) in einBinärbild b(x , y) überführt:

b(x , y) =⎧⎪⎪⎨⎪⎪⎩

, falls f (x , y) ≥ T, falls f (x , y) < T .

(10.1)

Legtman der Binarisierung das gesamte Bild zur Berechnung der Schwelle zugrunde, so re-det man von globalem thresholding, ansonsten von lokalem thresholding. So einfach (10.1)im mathematischen Sinne ist, so schwierig ist es, die Schwelle T optimal für die jeweili-ge Anwendung zu berechnen. Es gibt simple iterative Verfahren, die meisten Verfahrenberechnen die Schwelle nach einem Zielkriterium. Die Zielkriterien basieren oft auf demGrauwerthistogramm. Wenn das Grauwerthistogramm typisch bimodal ist, dann ist es„anschaulich“ klar, dass man die Schwelle T genau in das Histogrammtal zwischen denbeiden Gipfeln legt. In der Praxis sind die Histogramme aber nicht typisch bimodal, sodass man das Zielkriterium exakt mathematisch formulieren muss. Gibt man eine Schran-ke T vor, dann bezeichnen wir alle Pixel deren Grauwerte kleiner T sind als HintergrundB, alle anderen Pixel als Vordergrund O oder als Objektpixel. Damit haben wir alle Pixelin zwei Klassen eingeteilt, wobei die Einteilung von der gewählten Schranke T abhängt.Nun bedienen wir uns einiger Hilfsmittel aus der Mustererkennung und zwar sogenannterTrennmaße von Klassen. Diese drücken die Separierbarkeit von Klassen aus, d. h. je größer

Page 226: Bildverarbeitung und Objekterkennung ||

10.2 Konturfolgeverfahren bei binärer Quantisierung 213

diese sind, umso besser lassen sich die Klassen unterscheiden. Es seien P(B) und P(O) dieA-priori-Wahrscheinlichkeiten von Hintergrund und Vordergrund, E(G ∣B) der Erwar-tungswert der Grauwerte des Hintergrundes, entsprechend sei E(G ∣O) definiert. Weiterseien σ (G ∣B) und σ (G ∣O) die Varianzen der Grauwerte des Hintergrundes bzw. desVordergrundes. Dann kann man ein Trennmaß der beiden Klassen Hintergrund und Vor-dergrund angeben:

D(T) =P(B)P(O) [E(G ∣B) − E(G ∣O)]

P(B)σ (G ∣B) + P(O)σ (G ∣O). (10.2)

Die A-priori-Wahrscheinlichkeiten P(O) und P(B) berechnen sich zu:

P(B) =T−

∑g=

P(G = g), P(O) =gmax

∑g=T

P(G = g), P(B) + P(O) = . (10.3)

Alle eingehenden Wahrscheinlichkeiten lassen sich simpel aus dem Grauwerthistogrammberechnen, wobei P(G = g ∣B) =

P(G=g)P(B) zu beachten ist. Nun ist diejenige Schranke T zu

berechnen, für die das Trennmaß D(T) aus (10.2) maximal ist. Die Methode ist weit ver-breitet und wird alsOtsu thresholding method (Otsu 1979) bezeichnet. Man kann natürlichnoch andere Kostenfunktionen aufstellen, z. B. kann man Entropiemaße benutzen, sieheAbschn. 9.1.

10.2 Konturfolgeverfahren bei binärer Quantisierung

Das klassische Konturfolgeverfahren ist wohl das bekannteste und wichtigste elementareSegmentierungsverfahren. Ausgehend von einem Binärbild oder einem Grauwertbild mitberechneter Binarisierungsschwelle wird zunächst ein Randpunkt eines Objektes gesucht.Der Objektzusammenhang wird stets über die Vierernachbarschaft betrachtet. Ein Objekt-punkt ist ein Randpunkt, wenn er in seiner Vierernachbarschaft mindestens einen Unter-grundpunkt besitzt. Betrachtet man das Quadratgitter als orientierten Nachbarschaftsgra-phen, dann ist die Kontur dasselbe wie eine Randmasche des Graphen. In der praktischenBildverarbeitung macht man dies nicht, man definiert die Kontur als die geordnete Folgevon Randpunkten des Objektes. Eine Randmasche enthält im Gegensatz dazu auch Ob-jektpunkte, die keine Randpunkte sind. Um die Randpunkte in geordneter Reihenfolgezu finden, ist es wichtig, die sogenannten Randkanten zu betrachten. Eine Randkante istein Paar von Pixeln, die „viererbenachbart“ sind und das eine Pixel ein Randpixel unddas andere ein Untergrundpixel ist, siehe Abb. 10.1a. Ausgehend von einem Randpunktverfolgt man nun im mathematisch positivem Sinne die Randkanten und zählt dabei dieRandpunkte auf und nicht die Randkanten selbst. Wird ein Randpunkt mehrfach hinter-einander durch mehrere Randkanten erkannt, so wird er nur einmal aufgezählt. Wennman die Punkte außerhalb des Bildes als Untergrundpunkte auffasst, so sind die Kontu-ren stets geschlossen. Für Konturen werden oft spezielle Klassen oder Datenstrukturen

Page 227: Bildverarbeitung und Objekterkennung ||

214 10 Bildsegmentierung

a b

Abb. 10.1 a Objekt mit Randkanten bezüglich der Vierernachbarschaft. b Aus der Folge der Rand-kanten aus a wurde eine Innen- und eine Außenkontur berechnet

Abb. 10.2 a Originalbild: Anschliff einer Metalloberfläche. b Ergebnis: Globale Binarisierung nachOtsu, helle Stellen in a sind jetzt schwarz dargestellt. c Mit dem Konturfolgeverfahren wurden in bObjekte einer bestimmten Mindestgröße detektiert

gewählt. Es liegt z. B. nahe, nur den Startpunkt abzuspeichern und dann nur noch dieRichtungskodes (Freeman-Kodes) Null bis Sieben, d. h. die Randpunkte der Kontur hän-gen formal über die Achternachbarschaft zusammen. Damit kann man eine Kontur als einPolygon auffassen, wobei die Eckpunkte des Polygones die aufgezählten Randpunkte derKontur darstellen. Da man beim Konturfolgeverfahren parallel viele Merkmale des Objek-tes berechnen kann (sieheAbschn. 19.7.1), so kannman anHandder vorzeichenbehaftetenFläche des Objektes entscheiden, ob eine Außen- oder Innenkontur vorliegt, siehe Abb.10.1b. In Abb. 10.2a ist die Mikroskopaufnahme einer Metalloberfläche zu sehen. Aufga-be ist es, die Fläche aller „hellen“ Objekte zu bestimmen. Diese Aufgabe scheint zunächstschwierig, erweist sich aber mit der Otsu-Binarisierung und dem Konturfolgeverfahrenals recht simpel lösbar. Das Bild wird zunächst vorverarbeitet durch eine Histogramm-ausgleichung, dann wird eine Shadingkorrektur durchgeführt und schließlich nach Otsu

Page 228: Bildverarbeitung und Objekterkennung ||

10.3 Konturfolgeverfahren bei lokaler ternärer Quantisierung 215

Abb. 10.3 a Originalbild: Anschliff einer Metalloberfläche mit Shadingeffekt, b Ergebnis: Proble-matische globale Binarisierung des Bildes aus a nach Otsu, c Besseres Ergebnis: Globale ternäreQuantisierung des Bildes aus a nach Otsu

binarisiert, das Ergebnis ist in Abb. 10.2b zu sehen. Die größeren Objekte haben Löcherund sind etwas zerklüftet, und es gibt jede Menge von „Rauschobjekten“. Mit dem Kon-turfolgeverfahren werden nun alle äußeren Konturen und deren Fläche bestimmt. Objektemit einer „sehr kleinen“ Fläche werden eliminiert. In Abb. 10.2c sind alle schwarzen Pi-xel Objektpunkte und bestimmen somit die Gesamtfläche. In Abb. 10.3a ist noch ein etwasschwierigeres Segmentierungsproblemzu lösen. Zunächst ist das Shading auffällig, welcheszu korrigieren ist. Eine Binarisierung zur Bestimmung der schwarzen Objekte gelingt nunnicht mehr so schön nach Otsu, siehe Abb. 10.3b. In der Abb. 10.3a ist aber eine typischeQuantisierung des Bildes in grob drei Klassen zu erkennen. Wenn man dies als A-priori-Wissen kennt, dann kannman eine ternäre Einteilung mit zwei Schwellwerten ähnlich demOtsuverfahren anwenden. Das Egebnis ist in Abb. 10.3c zu sehen.

10.3 Konturfolgeverfahren bei lokaler ternärer Quantisierung

Das Konturfolgeverfahren mit lokaler ternärer Quantisierung basiert imWesentlichen aufIdeen von Dr. Ortmann. Das Konturfolgeverfahren aus Abschn. 10.2 basiert auf einer vor-herigen globalen Schwellwertberechnung. Alle Pixel des Bildes werden als Objekt- oderHintergrundpixel klassifiziert und zwar in Abhängigkeit von einer globalen Schwelle, diez. B. nach Otsu berechnet wurde. Diese Methode versagt aber dann, wenn die Beleuch-tung des Bildes stark ortsabhängig ist oder wenn ein Objekt selbst verschiedene Grauwertebesitzt. Diese Nachteile versucht man mit lokalen, adaptiven Methoden zu umgehen, wo-bei natürlich wieder andere Schwierigkeiten entstehen. Lokale Schwellen werden bestimmtdurch eine Untersuchung der Umgebung U(x) eines Pixels x. Wenn aber alle Pixel aus derUmgebung zu einer Klasse gehören, Objekt oder Untergrund, dann ist keine binäre Ent-scheidung zwischenObjektpixel oderUntergrundpixelmehrmöglich.Daher ist es sinnvoll,eine dritte Klasse von Pixeln einzuführen. Daher legen wir jetzt drei Label für ein Pixel fest:

Page 229: Bildverarbeitung und Objekterkennung ||

216 10 Bildsegmentierung

Abb. 10.4 Pseudocode für die lokale ternäre Quantisierung

object, background und unknown. Wir müssen dann aber insbesondere für das Konturfol-geverfahren festlegen, wie diese unknown Pixel zu behandeln sind. Zur Berechnung derlokalen Schwelle könnte man alle bereits bekannten Methoden zur globalen Schwellwert-berechnung anwenden, diese können aber für kleine Regionen ungeeignet sein. Weiterhinmuss eine Schwelle für jedes Pixel berechnet werden, was zu langen Rechenzeiten führenwürde. Daher muss man eine gesonderte und besonders effiziente Schwellwertberechnungbenutzen. Eine geeignete Möglichkeit ist Berechnung des Maximums und Minimums derGrauwerte aus der Umgebung:

gmin(x) = miny∈U(x)

g(y), gmax(x) = maxy∈U(x)

g(y). (10.4)

Die Berechnung dieser beiden Größen lässt sich auf Grund der Separierbarkeit der Mas-ken effektiv implementieren. Im Falle, dass die Differenz zwischen Maximum und Mini-mum klein ist, gehören alle Pixel aus U(x) zur gleichen Klasse und deshalb interpretierenwir kleine Diffenzen als die Folge von „Rauschen der Grauwerte“. Der Pseudokode diesesVorgehens ist in Abb. 10.4 zu sehen. Es wird folglich das Grauwertbild nicht binarisiert,sondern ternär quantisiert mit drei Labeln.

Die lokale Quantisierung zeigt einige Besonderheiten:

a) Kleine Objekte oder kleine Hintergrundbereiche werden ohne Probleme wie üblich de-tektiert. (Ein Objekt oder Hintergrundbereich nennen wir „klein“, wenn für jedes Pixeldes Objektes in der Nachbarschaft mindestens ein Untergrundpixel liegt oder umge-kehrt.)

b) DieDetektion von großenObjektenmit hohemKontrast ist nahezu perfekt, wobei inne-re Pixel des Objektes, die weit vom Rand entfernt liegen, als unknownmarkiert werden.

c) Möglicherweise können Objekte nur teilweise detektiert werden, wenn ein Teil einenguten Kontrast zum Hintergrund hat und der andere Teil einen schlechten Kontrast.

Page 230: Bildverarbeitung und Objekterkennung ||

10.3 Konturfolgeverfahren bei lokaler ternärer Quantisierung 217

Abb. 10.5 a Originalbild: Ungleichmäßige Ausleuchtung und Schrift mit verschiedenem Grau-wertlevel. b Lokale ternäre Quantisierung des Bildes aus a. Objekt: schwarz, Untergrund: weiß,undefiniert: grau. Mit diesem Bild kann das Konturfolgeverfahren erfolgreich durchgeführt werden

Bei der Kontursuche in Binärbildern finden wir immer geschlossene Konturen, zumin-dest wenn wir die Pixel außerhalb des Bildes als Untergrundpunkte auffassen. Im Falle derKontursuche auf ternären Bildern muss die Kontursuche stoppen, wenn sie auf Pixel mit„unknown“ trifft. Infolgedessen können die Konturen jetzt beliebig geschlossen oder offensein. Dies bedeutet nun:

• In den Fällen a) und b) ist die Kontur geschlossen. Es bedarf keiner weiteren Überle-gung.

• Im Fall c) können eine oder mehrere Konturen mit einem Objekt im Zusammenhangstehen. Diese Konturen müssen entweder aus der Sgmentierung ausgeschlossen wer-den oder sie müssen korrigiert werden. Wenn z. B. nur ein kleiner Abstand zwischenStartpixel und Endepixel besteht, könnten diese einfach verbunden werden.

• Pixel außerhalb des Bildes könnteman als „unknown“ initialisieren. Das bedeutet, wennObjekte den Bildrand berühren, werden deren Konturen nicht geschlossen. Anderer-seits kann dann aber der Nutzer entscheiden, ob diese geschlossen werden sollen odernicht.

In Abb. 10.5a ist ein ungleichmäßig ausgeleuchtetes Bild mit Schriftzeichen zu sehen. So-gar die Schrift besitzt unterschiedliche Grauwertlevel. In Abb. 10.5b ist die ternäre Bild-quantisierung zu sehen. Dabei bedeutet: schwarz = object, weiß = background und grau =unknown. Man sieht, dass das Konturfolgeverfahren basierend auf dieser ternären Quanti-sierung alle Zeichen korrekt segmentieren wird.

Page 231: Bildverarbeitung und Objekterkennung ||

218 10 Bildsegmentierung

10.4 Konturfolgeverfahren bei beliebigen Punktmengen

Wenn man nur typische, zunächst zusammenhangslose Punkte von Objekten detektierenkann, dann kann man das klassische Konturfolgeverfahren bezüglich der Vierernachbar-schaft nicht anwenden. In der Abb. 10.6b ist eine Punktmenge zu sehen. Unser Auge in-tegriert und glaubt Außen- und Innenkonturen der Punktmenge zu erkennen. Zunächstmüssen wir dafür eine wesentliche Strukturkonstante limit definieren, die den Objektzu-sammenhang beschreibt. Wenn die Distanz eines Punktes zu einem anderen Punkt kleinerals limit ist, dann sind die beiden Punkte benachbart. Um „vernünftige“ Silhouetten mittels

Abb. 10.6 a Zufällig erzeugtePunktmenge P, die unseremAuge eine Silhouette sugge-riert. b Auf die Punktmengeaus a wurde die parametrisierteDelaunay-Triangulation an-gewendet. Um die LKHD zuberechnen, müssen die Drei-ecke noch gefüllt werden

Page 232: Bildverarbeitung und Objekterkennung ||

10.4 Konturfolgeverfahren bei beliebigen Punktmengen 219

Abb. 10.7 a LKH: (grau)der Punktmenge (schwar-ze Punkte), b LKHD: (grau)Delaunay-Triangulation dergleichen Punktmenge aus a

des Konturfolgeverfahrens zu bestimmen, gibt es sicher viele Möglichkeiten. Eine davonist die morphologische Operation Dilation, siehe Abschn. 8.2.4. Dabei hat das Struktur-element die Größe eines quadratischen Fensters der Seitenlänge limit. Man trägt nun diePunktmenge als Menge von schwarzen Punkten in ein Binärbild ein und dilatiert dieses.Anschließend bestimmt manmit demKonturfolgeverfahren alle Außen- und Innenkontu-ren. Die Methode hat aber den entscheidenden Nachteil, dass bei großen Strukturelemen-ten die Konturen zu „eckig“ werden und deshalb nicht zu gebrauchen sind. Dieser Effektändert sich auch nicht, wenn man andere Strukturelemente wie z. B. Kreise wählt.

Deshalb bietet sich jetzt an, die in Abschn. 1.2.4 eingeführte limitierte, konvexe Hül-le (LKH) zu benutzen. In diesem Abschnitt wurde auch der Begriff der Silhouette einerPunktmenge bezüglich limit eingeführt. Wenn man die LKH direkt berechnet, müssen wiralle Tripel von Punkten auswählen, daher führt dies auf einen O(n)-Algorithmus. Dieserist folglich in der Praxis viel zu langsam. Eine Approximation der LKH ist die Anwendungeiner modifizierten Delaunay-Triangulation, siehe auch Abschn. 10.7.3. Diese bezeichnenwir jetzt mit LKHD(P). Zunächst führt man die Delaunay-Triangulation mit einem Stan-dardalgorithmus durch und streicht dann alle diejenigen Dreiecke, bei denen mindestenseine Seite größer als limit ist. In Abb. 10.6 ist dies deutlich zu erkennen. Dann füllt mandiese Dreiecke im Binärbild und bestimmt mittels des klassischen Konturfolgeverfahrensalle Außen- und Innenkonturen. DieMenge dieser Konturen nennenwir die Silhouette derPunktmenge. Der Parameter limit steuert diese modifizierte Delaunay-Triangulation. Klei-neWerte erzeugen viele Einzelobjekte. Je größer limit wird, desto mehr nähern wir uns derkonvexen Hülle der Punktmenge. Die LKHD(P) verhält sich folglich ähnlich der LKH(P).Die LKHD reicht als Näherungslösung in der Praxis völlig aus, ist aber verschieden vonder LKH. Die „Stetigkeit des Glättungseffektes“ ist bei der LKHD nicht so gut wie bei derLKH, insbesondere bei größerenWerten von limit. In Abb. 10.7 repräsentieren die schwar-zen Punkte dieMenge P, wobei extrem eine „Konkavität“ dargestellt ist. Man sieht deutlichden Unterschied zwischen der LKH und der LKHD. In Abb. 10.8a ist eine Nervenzelle mitZellkern zu sehen. Man möchte die Silhouette mit Zellkern bestimmen. Dazu bestimmtman zunächst typische Punkte der Zelle, selbst eine globale Binarisierung würde funktio-

Page 233: Bildverarbeitung und Objekterkennung ||

220 10 Bildsegmentierung

Abb. 10.8 a Eine Schicht aus einem Stack der Aufnahme einer Nervenzelle mit der konfokalenLaserscanning-Mikroskopie. Auch der Zellkern ist deutlich zu sehen. b Aus dem Bild in a wurdentypische Punkte detektiert und von dieser Punktmenge mittels der parametrisierten Delaunay-Triangulation die LKHD berechnet

nieren. Diese Punkte sind aber nicht zusammenhängend. Nun muss man interaktiv oderdurch A-priori-Wissen die Strukturkonstante limit ermitteln. Die modifizierte beschriebe-ne Delaunay-Triangulation ergibt das gewünschte Ergebnis, siehe Abb. 10.8b. Wenn wirvon einer Punktmenge als Silhouette nur die Außenkontur benötigen, dann können wirauch den in Abschn. 1.2.4 hergeleiteten, quadratischen Algorithmus benutzen.

10.5 Seeded region growing

Das „seeded region growing“-Prinzip besitzt eine gewisseÄhnlichkeit zur lokalen adaptivenKontursuche.Oft kenntman einen „Saatpunkt“ einesObjektes, d. h. von bestimmten Punk-ten weiß man, dass sie auf jeden Fall zumObjekt gehören. Oft setzt man dazu Schwellwertebesonders hoch oder ermittelt mit Korrelationen Objektpunkte. Von diesem Startpunktbreitet sich nun „nach allen Seiten hin“ das Objekt aus. Die Ähnlichkeit zum Dijkstra-Algorithmus (siehe Abschn. 10.7.2) ist auffallend: vom Startpunkt ausgehend breitet sichdas Objekt wie ein Feuerbrand aus, man muss „nur“ festlegen, wann der Feuerbrand ge-stoppt wird. Die verbrannte Fläche stellt das Objekt dar. Natürlich stellen die Kostenfunk-tion und das Abbruchkriterium wieder die kritischen Punkte für die Anwendbarkeit dar.Wie beiDijkstra nimmtman zudembisherigenObjekt denNachbarpunktmit den gerings-ten Kosten hinzu. Eine einfache Kostenfunktion ist z. B. die Unähnlichkeit/Ähnlichkeit derGrauwerte. Man nimmt dasjenige neue Pixel aus der Nachbarschaft auf, das zum Grau-wert des Startpunktes den ähnlichsten Grauwert besitzt. Abgebrochen wird dasWachstumwenn entweder eine bestimmte Fläche des Objektes erreicht wurde oder wenn bezüglich

Page 234: Bildverarbeitung und Objekterkennung ||

10.6 Anwendung in der Biofilmanalyse 221

einer Schwelle die Ähnlichkeit der Grauwerte nicht mehr gegeben ist. Es gibt auch para-meterlose Abbruchkriterien, wie:

• Jedem Pixel im Bild ist ein Wert bezüglich einer Kostenfunktion zugeordnet.• Man berechnet für alle Randpunkte des bisherigen Objektes das arithmetische Mittel

aller Kosten K.• Man berechnet für alle Nachbarpixel des bisherigen Objektes das arithmetische Mittel

aller Kosten K.• Für jedes neu aufgenommene Pixel wird die Kostendifferenz ∣K − K∣ als Funktion

der Anzahl der aufgenommenen Pixel betrachtet. Diese Funktion wird bis zu einer be-stimmten Maximalzahlmaxpixel von Pixeln berechnet.

• Nun wird als Abbruchkriterium die Stelle der Funktion berechnet, wo diese ihr globalesMaximum besitzt.

So ganz parameterlos scheint es dennoch nicht zu gehen. Der Parametermaxpixel ist zwarrelativ robust wählbar, die Objekte zwischen kleinem und sehr großem Parameter unter-scheiden sich schon wesentlich.

10.6 Anwendung in der Biofilmanalyse

Biofilme werden häufig mit der Konfokalen Laser Scanning Mikroskopie analysiert. Manerhält einen 3D Stack von 2D-Bildern, die man analysieren muss. In der Abb. 10.9 ist einBild aus einem Stack zu sehen, wobei Bakterien zu sehen sind. Eine Standardaufgabe istnun diese Bakterien zu zählen und das Biovolumen zu berechnen. Neben dem Zählenmuss man folglich auch alle Bakterien segmentieren, aber nur bezüglich ihrer Gesamtflä-che. Ein einzelnes Bakterium zu segmentieren ist äußerst schwierig. Diese Aufgabe scheintmit dem klassischen Konturfolgeverfahren und einfachen Thresholdtechniken nicht lös-bar zu sein. Eine einfache Idee ist das Zählen mit einer Startpunktsuche für das regiongrowing zu verbinden. Die Startpunktsuche realisieren wir mit der Detektion von loka-len Maxima (oder Minima). Um ein lokales Maximum zu detektieren, benötigen wir dieAusdehnung des lokalen Maximums (eine Fenstergröße window) und die Höhe des lo-kalen Maximums (high) gegenüber dem lokalen Untergrund. Diese zwei Parameter mussman durch A-priori-Wissenkennen oder vomNutzer interaktiv einstellen lassen. Zunächstmuss man das Bild vorverarbeiten um shading, Beleuchtungsänderungen und Rauschenzu berücksichtigen. Dazu wenden wir auf das Bild das top hat Filter an, siehe (8.45) und(8.46). Die Fenstergröße des top hat Filters sollte größer als window sein. Damit haben wirden entscheidendenVorteil, dass der lokale Hintergrund auf Null normiert wurde. Auf die-ses Ergebnisbild wird nun die eigentliche lokale Maximumdetektion angewendet. Um dieKomplexität der Maximumdetektion konstant zu implementieren, wenden wir zunächstein Maximumfilter an, was mit konstanter Komplexität bezüglich der Größe window ge-schieht. Dann prüfen wir für jedes Pixel, ob der Grauwert gleich dem im Maximum-Bildist und größer als high ist.

Page 235: Bildverarbeitung und Objekterkennung ||

222 10 Bildsegmentierung

Abb. 10.9 Eine Ebene ausdem Stack einer Biofilmauf-nahme

Die Liste der lokalenMaximamüssenwir nun noch auf Plateaupunkte untersuchen.Wirlöschen alle Punkte in der Liste, die zu einem Punkt einen kleineren Abstand als windowbesitzen und den gleichen Grauwert haben. Nun haben wir alle Bakterien gezählt und kön-nen diese Punkte für den region growing-Algorithmus als Startpunkte nutzen.

10.7 Liniendetektion

Eine weitere typische Aufgabe der Bildsegmentierung ist aus einerMenge von detektiertenEinzelpunkten Linien zu gewinnen. Die Einzelpunkte können das Ergebnis einer Filte-rung mit anschließender Schwellwertberechnung sein oder vor vornherein bekannt sein.Es können Kantenpunkte oder auch direkt je nach Aufgabenstellung Linienpunkte sein.Andererseits ist es auch möglich direkt auf dem Grauwertbild Linien zu extrahieren oderMethoden zu kombinieren. Bei der Liniendetektion oder auch allgemein bei Segmentie-rungsmethoden bedient man sich oft Methoden aus der Graphentheorie. Eine Übersichtdazu findet man in [40].

10.7.1 Dynamische Programmierung

Dies ist eine allgemeine Methode um in einem Graphen bezüglich einer Kostenfunktionoptimale Wege zu finden. Haben wir nur eine diskrete Punktmenge gegeben, dann kön-

Page 236: Bildverarbeitung und Objekterkennung ||

10.7 Liniendetektion 223

Abb. 10.10 N-stufiger Ent-scheidungsprozess

11−NN

uuu 11−NN

x x x xN N−1 N−2 1 x0

nen wir die Punkte als Knoten in einem Graphen auffassen, allerdings fehlen die Kanten,die Nachbarschaften in dieser Punktmenge. Diese müssten erst mit anderen Verfahren er-mittelt werden. Auf einem Grauwertbild könnten wir sofort einen Nachbarschaftsgraphenkonstruieren:

Jedes Pixel ist ein Knoten und die Kanten sind durch die Vierer- oder Achternachbar-schaft bestimmt. Aus den Grauwerten oder anderen Informationen könnten dann Kostenfür die Kanten bzw. Knoten berechnet werden. Ausgehend von einem Startpixel suchenwireinenWeg zu einem vorgegebenen Zielpixel mit minimalen Kosten. Das ist die Grundideezur Liniendetektion mittels der Dynamischen Programmierung. Der Name „DynamischeProgrammierung“ ist eigentlich etwas irreführend und sollte besser Rekursive Optimierungheißen und drückt das Bellmansche Optimalprinzip (Bellman 1957) aus. Allgemein sei einN-stufiger, deterministischer Entscheidungsprozess gegeben, siehe Abb. 10.10. Dabei wer-den

xi− = fi(xi , ui), xi ∈ Xi , ui ∈ Ui , i = , . . . ,N (10.5)

als Prozessgleichungen oder als Stufentransformationen bezeichnet. Dabei übernehmendie ui die Aufgabe von Steuervariablen, beeinflussen folglich den Entscheidungsprozess.Die Steuervariablen sollen nun so gewähltwerden, dass der Entscheidungsprozess imSinneeines Zielkriteriums optimal ist:

z = z(gN(xN , uN), gN−(xN− , uN−), . . . , g(x , u)) → Extremum. (10.6)

An die Zielfunktion z stellen wir die Forderung der „monotonen Separabilität“, die z. B.erfüllt ist, wenn z additiv ist z = ∑

Ni= gi(xi , ui). Damit setzt sich die Zielfunktion additiv

aus den einzelnen Bewertungen der Stufen zusammen, was wir im Folgenden immer an-nehmen werden. Da die Lösung des Problems rekursiv formuliert wird, sind die Indizesgegenläufig zur Flussrichtung des Prozesses gewählt. Die Wahl der optimalen Steuerva-riablen u , . . . , uN wird optimale Politik genannt. Die Optimierung des Gesamtproblemskann nun nach Bellman rekursiv mit den Bellmanschen Funktionen wi formuliert werden:

w(x) = extremumu{g(x , u)}, (10.7)

wn(xn) = extremumun{gn(xn , un) +wn−(xn−)}. (10.8)

Dann istwN(xN) optimale Lösung des Gesamtproblems.Dieses Grundprinzip soll nun an einem einfachen Beispiel der Bildsegmentierung ge-

zeigt werden.

Page 237: Bildverarbeitung und Objekterkennung ||

224 10 Bildsegmentierung

Abb. 10.11 Bildspalten alsStufen eines N-stufigen Ent-scheidungsprozesses. Die Pfeilegeben die möglichen Vorgän-ger und Nachfolger eines Pixelsan

11−NN 2

v

v

v

q

q

q

+1

0

−1

0

−1

+1

Beispiel Ein Bild soll horizontal in ein „Oberteil“ und in ein „Unterteil“ segmentiert wer-den. Dazu bilden wir das Gradientenbild. Nun suchen wir einenWeg von der ersten Spaltedes Bildes bis zur letzten Spalte des Bildes mit maximalen Gradientenkosten. Die An-zahl der Spalten des Bildes entspricht dann genau der Anzahl N der Stufen des Entschei-dungsprozesses. Pro Spalte i bilden die Pixel die Zustände xi . Die Steuerungen ui sinddie möglichen Fortsetzungen von einem Pixel ausgehend zur nächsten Stufe (Spalte). DieSteuerungen beschreiben somit die möglichen Vorgänger v und die möglichen Nachfolgerq pro Pixel, siehe Abb. 10.11. Durch die Vorgänger- und Nachfolgerrestriktion garantierenwir immer N Stufen, d. h. einen Weg genau der Länge N . Es bezeichne gi(p j) die Kosteneines Pixels p j in der Stufe i. Dann wollen wir einen Weg, beginnend in der ersten SpalteN und endend in der letzten Spalte der Länge N finden, sodass die Bewertung

z =N∑i=

gi(p ji) → Extremum (10.9)

minimal/maximal wird. Entsprechend Abb. 10.11 ergeben sich dann die BellmanschenFunktionen zu:

wi(p j) = extremum l∈{−,,+}{gi(p j) +wi−(ql)} (10.10)

= gi(p j) + extremum l∈{−,,+}{wi−(ql)}, i = N , . . . , . (10.11)

Außer dem optimalen Kostenwert interessiert natürlich der optimale Weg. Daher ist esgünstig, den optimalen Nachfolger pro Pixel abzuspeichern. Daher kannman auch die Re-kursion auflösen und iterativ in einer Vorwärtsrechnung die Werte w pro Pixel berechnenund den optimalen Nachfolger abspeichern. Dann braucht man nur noch in der Rück-wärtsverfolgung, beginnend beim optimalen Startpixel, die Kette der optimalen Nachfol-gepixel zu extrahieren und nichts mehr zu berechnen. Bei dem Beispiel der horizontalenBildsegmentierung könnte es z. B. passieren, dass einWeg von links oben nach rechts untengefunden wird. Man möchte aber eine näherungsweise horizontale Segmentierung, d. h.

Page 238: Bildverarbeitung und Objekterkennung ||

10.7 Liniendetektion 225

der Weg sollte nicht zu stark schwanken. Dann muss man sich Gedanken über die Kos-tenfunktion machen. Wir müssten simple lokale Krümmungsmaße kr(vm , p, pl), m, l ∈

{−, ,+} mit in die Kosten einfließen lassen, die wir mit einem Faktor belohnen oderbestrafen können, daher ist

z =N∑i=

gi(p ji ) + αN−∑i=

kr(vm , p ji , ql) → Extremum (10.12)

zu berechnen. Falls wir maximieren ist α < und falls wir minimieren ist α > zu setzen.EntsprechendAbb. 10.11würdenwir dieKrümmungswerte je nachVorgänger/Nachfolger-Konstellation im Wertebereich von {, , } annehmen oder völlig andere Bewertungenwählen. Dawir pro Pixel nun drei Nachfolger bzw. drei Vorgänger berücksichtigen müssen,benötigen wir auch drei Bellmansche Funktionen. Diesen Index hängen wir an w oben anund notieren diesen analog der Richtung {−, ,+} wie in Abb. 10.11. Die BellmanschenFunktionen (10.11) werden dann mit k ∈ {−, ,+} zu:

wki (p j) = extremum l∈{−,,+}{gi(p j) + α ⋅ kr(vk , p j , ql) +wl

i−(ql )}. (10.13)

Für die Vorwärtsrechnung benötigen wir für die Bellmanschen Funktionen drei Matrizen,wobei der optimale Nachfolger getrennt zu speichern ist.

Bemerkungen

• Es kann das Bild natürlich auch vertikal segmentiert werden.• Man kann in einer beliebigen Spalte oder Zeile starten und sich die Anzahl der Spal-

ten/Zeilen vorgeben.• Man kann in genau einem Pixel starten und sich die Anzahl der Spalten/Zeilen vorge-

ben.• Man muss ein Bild nicht unbedingt segmentieren. In einigen Anwendungen sind zwei

Aufnahmen eines Objektes vorhanden, wobei beide Bilder einen gewissen Überlap-pungsbereich besitzen. Durch die Aufnahmen sind aber im Überlappungsbereich ge-wisse nichtlineare Verzerrungen vorhanden. Die Bilder sind nun vertikal zusammen-zufügen. Manmöchte vertikal eine Schnittlinie berechnen, so dass der Zusammenfüge-fehler minimal wird. ImÜberlappungsbereich wird somit pro Pixel eine Fehlerfunktionzwischen beiden Bildern berechnet, die eine Kostenfunktion darstellt. Nun wird ein ver-tikaler Pfad mittels dynamischer Programmierung berechnet, so dass die Kosten derSchnittlinie minimal sind.

• Häufig werden genau nach diesem Prinzip Indizes aus einer Kostenmatrix ermittelt, diedurch den Pfadminmaler Kosten berechnet werden. Dazu ist ein ausführliches Beispielin Abschn. 19.8.4 angegeben. Ein weiteres Beispiel zur Berechnung einer Folge von In-dizes ist die Berechnung des Levenshtein-Abstandes zweier Strings. Dieser Abstand stelltdann die minimalen Überführungskosten zwischen den beiden Strings dar.

Page 239: Bildverarbeitung und Objekterkennung ||

226 10 Bildsegmentierung

Abb. 10.12 Dynamische Programmierung: Horizontale Segmentierung – weiße Linie. a Es wurdekein Strafterm bezüglich lokaler Krümmungen angewendet. b Es wurde ein hoher Strafterm bezüg-lich lokaler Krümmungen angewendet

• In manchen Anwendungen der Mustererkennung/Bildverarbeitung werden Algorith-men mit eigenständigen Namen versehen, obwohl sie auch nur das Grundprinzip derdynamischen Programmierung benutzen. Ein Beispiel dazu ist der Viterbi-Algorithmusin der Sprachverarbeitung.

Das Entscheidende für eine sinnvolle Anwendung ist natürlich die Wahl der Kostenfunk-tion. In der Abb. 10.12b soll horizontal der Horizont „glatt“ abgetrennt werden. In diesemeinfachen Fall reicht der Betrag des Gradienten als Kostenfunktion aus, da oberhalb undunterhalb der „Segmentübergangszone“ keine „wesentlichen“ Kanten vorhanden sind.

10.7.2 Dijkstras Algorithmus

Dijkstra stellte diesen Algorithmus erstmals 1959 zur Berechnung des kürzesten Pfades ineinem Graphen vor. Dieser Algorithmus wird häufig als Greedy-Algorithmus bezeichnet,seineÄhnlichkeiten zur Dynamischen Programmierung sind auffällig, siehe [68].Wir wol-len diesen hier ausschließlich zur Liniendetektion in Grauwertbildern beschreiben. Dazubenutzen wir das Quadratgitter mit der Achternachbarschaft, siehe Abschn. 1.2. Gegebensei ein Grauwertbild, d. h. eine Menge von Pixeln B ⊆ Z

mit einer Grauwertfunktionf (i , j). Aus diesem Grauwertbild wird eine Kostenfunktion g(i , j), (i , j) ∈ B ⊆ Z

be-rechnet. Bezüglich dieser Kostenfunktion suchen wir nun einen Weg im Quadratgitterbezüglich der Achternachbarschaft mit minimalen Kosten. Dabei starten wir von einemfesten Pixel p ausgehend und enden in einem fest vorgegebenen Endpixel q. Statt des End-pixels kann man auch ein „Endgebiet“, d. h. eine Menge von Pixeln Q vorgeben. Der Wegist beendet, sobald er das Endgebiet erreicht hat, egal bei welchem Pixel. Der wesentli-cheUnterschied zur dynamischen Programmierung besteht darin, dass dieWeglänge nicht

Page 240: Bildverarbeitung und Objekterkennung ||

10.7 Liniendetektion 227

vorgeschrieben ist und es auch keine Richtungsbeschränkungen für den Weg gibt. EinenWeg mit maximalen Kosten (positive Kosten) zu suchen ist unsinnig, da sofort der längs-te Weg die Lösung wäre. Wir setzen für die Kostenfunktion im Folgenden stets gi , j > voraus, ansonsten addieren wir einfach zu allen Kosten ein ε > . Wir bauen nun schritt-weise vomStartpixel p ausgehend ein zusammenhängendesObjektM auf. Alle Pixel ausMnennen wir Objektpixel, ansonsten Untergrundpixel. Randpunkte sind die Pixel aus M, inderen Achternachbarschaft sichmindestens ein Untergrundpixel befindet. Eine RandkantevonM ist ein Paar von Pixeln und zwar bestehend aus einem Randpunkt und einem seinerNachbaruntergrundpunkte.

Algorithmus

• Zu Beginn besteht das Objekt M nur aus dem Startpixel p.• Wir ordnen allen Pixeln des Bildes B eine summarische Kostenmatrix K zu, die die

gleiche Dimension wie das Grauwertbild besitzt. Die Kostenmatrix K wird zu Beginnauf Null initialisiert und bekommt an der Position des Startpixels p die Kosten g(p)zugewiesen.

• Wir nehmen alle Randkanten von M in eine Datenstruktur DAT auf. Jede Randkanteerhält als Bewertung die Summe der Kosten der beiden Pixel, die die Randkante verbin-det, wobei die Kosten für das Randpixel von M aus der summarischen Kostenmatrix Kzu entnehmen ist.

• Wir suchen in DAT die Randkante mit minimaler Bewertung. Die ausgewählte Rand-kante wird in DAT gelöscht. Der Untergrundpunkt der gelöschten Randkante wir zurMengeM hinzugefügt, gleichzeitig werden in der summarischen Kostenmatrix für die-sen Untergrundpunkt die Kosten der gelöschten Randkante eingetragen. Ist die Kantemit minimaler Bewertung aus DAT keine Randkante, obwohl sie in DAT eingetragenwar, wird sie entfernt und der Vorgang wiederholt, bis eine „echte“ Randkante mit mi-nimaler Bewertung gefunden wurde.

• Für das neu in M aufgenommene Pixel werden die Randkanten ermittelt und in DATmit den entsprechenden Kosten neu aufgenommen.

• Nun wird wieder in DAT die Randkante mit minimaler Bewertung gesucht usw. Ist derUntergrundpunkt der Randkante das Zielpixel q oder ein Pixel aus demZielgebiet, dannwird die „Vorwärtsrechnung“ beendet.

• Die Vorwärtsrechnung gleicht einem von dem Startpixel ausgehenden Flächenbrand,der dann abbricht, wenn dieser das Zielpixel oder das Zielgebiet erreicht hat.

• Ausgehend vom Zielpixel q beginnt nun die Rückwärtsrechnung zur Berechnung desoptimalen Weges. In der Nachbarschaft des Zielpixels wird das Pixel ermittelt, das dieminimalen summarischen Kosten in K hat. Von diesem wird wieder das nächste in derNachbarschaft ermittelt usw. bis man am Startpixel p angekommen ist.

• Man kann auch bei der Vorwärtsrechnung die optimalen Vorgänger abspeichern, dannentfällt die Suche in der Nachbarschaft mit den minimalen Kosten.

Page 241: Bildverarbeitung und Objekterkennung ||

228 10 Bildsegmentierung

Abb. 10.13 Liniendetektionmittels Dijkstra-Algorithmus:Der Verlauf eines Gefäßes desHerzens wurde durch Ankli-cken des Startpunktes und desEndpunktes gefunden

• Die Rückwärtsrechnung gleicht anschaulich dem Abrollen einer Kugel, die wir auf dasZielpixel legen. Die Höhe über den Pixeln beschreiben die summarischen Kosten. DieKugel rollt dann automatisch auf dem optimalen Weg zum Startpixel.

• Der optimale Weg ist genau dann nicht eindeutig, wenn es Kosten gi , j = gibt, dannentsteht in der summarischen Kostenfunktion ein Plateau. Daher addieren wir einfachzu allen Kosten ein ε > .

• Auf eine genaue Implementierung dieses Algorithmus gehen wir hier nicht ein, so wirdz. B. für die Datenstruktur DAT ein Fibonacci-Heap empfohlen.

Der erfolgreiche Einsatz des Dijkstra-Algorithmus hängt natürlich wieder von der Kos-tenfunktion ab, diese ist gemäß der Aufgabenstellung sehr sorgfältig zu wählen. Dazu einBeispiel eines Röntgenbildes des Herzens, siehe Abb. 10.13. Der Kardiologe begutachtetdie großen Gefäße, ob diese eventuell Stenosen aufweisen, also Gefäßverengungen. Dazukönnte er sich sich interaktiv ein großes Gefäß aussuchen.Dies kannman realisieren durchAnklicken eines Start- und Endpunktes eines Gefäßes und der Dijkstra Algorithmus de-tektiert den Verlauf des Gefäßes. Wenn viele Gefäße bzw. Gefäßverzweigungen vorliegen,kann man auch die Start/Endpunkte kaskadieren, also Zwischenpunkte anklicken, um sodie Detektion eines bestimmten Gefäßes zu erzwingen. In Abb. 10.13 ist der detektierteWeg zu sehen. Als Kostenfunktion wurde das Ergebnisbild des in Abschn. 8.2.2 eingeführ-ten Richtungs-DoB-Filter benutzt, wobei dieses Bild noch „geschickt“ zu normalisieren ist.Die „Kunst“ der erfolgreichen Anwendung des Dijkstra-Algorithmus besteht tatsächlich inder „richtigen“ Konstruktion der Kostenfunktion.

Page 242: Bildverarbeitung und Objekterkennung ||

10.7 Liniendetektion 229

Abb. 10.14 Aufnahme mittelsConfocal Laser Endomicrosco-py: Gefäßstruktur des Rektums(ca. 1mm)

10.7.3 GraphbasierteMethoden

Wir nehmen einmal an, aus einer Vorverarbeitung und Binarisierung resultieren eineMen-ge von Pixeln (Punktmenge PM), die zu irgendwelchen Linien gehören. Dies muss nichteine Linie sein, sondern kann sogar ein „Liniengeflecht“ sein.Wie kannman allein aus derKenntnis dieser Pixel (ohne weiteres Zusatzwissen) das Liniengeflecht berechnen. Dies istnur möglich über die geometrische Lage der Pixel zueinander. Allein aus der geometri-schen Lage muss dann eine Art Kostenfunktion ableitet werden. Die Pixel bilden nun dieKnoten eines Graphen, wobei die Kanten unbekannt sind. Diese Kanten sollen nun alleinüber die geometrische Lage der Pixel zueinander berechnetwerden. Anschließend stellt derGraph mit seinen Knoten und Kanten das Liniengeflecht dar. Zunächst baut man gedank-lich einen vollständigenGraphen auf, d. h. jedes Pixel istmit jedem anderen verbunden.DieKanten werden mit dem Euklidischen Abstand der Pixel zueinander bewertet. Aus diesemGraphen soll nun ein Untergraph ausgewählt werden. In der Abb. 10.14 ist eine Aufnahmemittels Confocal Laser Endomicroscopy eines mikroskopisch kleines Ausschnittes des Rek-tums zu sehen. Die weißen Strukturen sind das Liniengeflecht, welches zu detektieren istund von welchem Maßzahlen abzuleiten sind. Eine klassische Vorgehensweise ist nun dieFolgende:

• Das Bild muss zunächst vorverarbeit werden indem Linienpunkte besonders verstärktwerden. Dazu dienen in hervorragender Weise die in Abschn. 8.2.2 aufgeführtenRichtungs-DoB-Filter.

• Sequentiell werden nun die bestenOutput-Pixel des DoB-Filters bestimmt und als Start-punkte für eine region-growing-Segmentierung benutzt.

• Auf das Segmentierungsergebnis, welches ein Binärbild darstellt, wird nun ein Skelet-tierungsalgorithmus angewendet. Diese Punkte des Skelettes dienen nun als Ausgangs-punkt für die graphenorientierten Methoden zur Bestimmung des Liniengeflechtes.

Wald minimal aufspannender Bäume Wir betrachten einmal die Pixel des Skelettes alsKnoten eines Graphen. Jeder Knoten ist mit jedem anderen verbunden, es liegt also einvollständiger Graph vor. Jede Kante wird mit Kosten belegt, z. B. mit der Entfernung der

Page 243: Bildverarbeitung und Objekterkennung ||

230 10 Bildsegmentierung

Abb. 10.15 Liniengeflecht-detektion des Bildes aus Abb.10.14: Die schwarzen Punk-te stellen die Knoten einesWaldes von minimal aufspan-nenden Bäumen dar

beiden Pixel bezüglich irgendeiner Metrik. Der minimal aufspannende Baum (MinimalSpanning Tree, (MST)) ist ein Teilgraph, der folgendermaßen aufgebaut wird:

• Er enthält weiterhin alle Knoten, d. h. Pixel.• Es werden soviele Kanten gestrichen, dass der Teilgraph weiterhin zusammenhängend

ist und dass keine Zyklen mehr enthalten sind.• DerMST ist dann der Teilgraph, der bezüglich der Kosten aller übrigbleibenden Kanten

die minimalen Kosten liefert.

Zur algorithmischen Berechnung sei hier auf die einschlägige Literatur verwiesen [64], dadies ein Standardalgorithmus ist. DenMST kannmanweiter zerlegen in Komponenten, dietrivialerweise selbst wieder Bäume darstellen. Eine Zerlegungsstrategie ist z. B., dass mansukzessive die Kanten mit den größten Kosten streicht und aufhörtmit streichen, wenn ausder Anwendung heraus eine bestimmte Schwelle erreicht ist. Es entsteht dann einWald vonminmal aufspannendenBäumen. Diese Vorgehensweise ähnelt einem Clusteralgorithmus,die minimal aufspannendenBäume stellen die Cluster dar. Dieser Algorithmus wird daherin der Literatur als graphbasierter Clusteralgorithmus eingestuft. Auf das Bild in Abb. 10.14wurde bezüglich des ermittelten Skelettes einMST-Algorithmus angewendet. Dieser liefer-te einen Wald, d. h. mehrere MST. Von diesen Bäumen wurden die besonders kurzen Ästeentfernt. Auf die Liniensegmente zwischen zwei Knotenwurde nun noch ein Split andMer-ge Algorithmus angwendet, um diese in robuster Weise zu approximieren. Die Länge allerdieser Segmente bildet nun die eigentliche Länge des Liniengeflechtes. In Abb. 10.15 ist dasrecht gut gelungene Ergebnis zu sehen.

Relativer Nachbarschaftsgraph (RNG) Manchmal ist es störend, dass der minimal auf-spannendeBaum keine Zyklen enthalten darf, manmöchte aber ein ähnlich gutes Ergebnishaben. Dazu kann der relative Nachbarschaftgraph dienen. Es werden in dem vollstän-digen Graphen nur die Kanten erhalten, deren beide Pixel relative Nachbarn sind. ZweiPixel/Punkte p und q sind relative Nachbarn, wenn es innerhalb des durch p und q be-stimmten Kreiszweiecks keine weiteren Pixel/Punkte gibt, siehe Abb. 10.16.

Page 244: Bildverarbeitung und Objekterkennung ||

10.8 Akkumulations- oder Votingmethoden 231

Abb. 10.16 Definition des re-lativen Nachbarschaftsgraphen

p q

Delaunay-Graph (DG) Ein noch etwas umfassender Graph ist der Delaunay-Graph, derebenfalls das Liniengeflecht sinnvoll beschreiben kann. Dieser Graph basiert auf demVoronoi-Graphen. Zur Definition sei auf eine umfangreiche Standardliteratur verwiesen[64]. Wenn man die Punktmenge PM als Graphen ohne Kanten interpretiert, dann gilt dieBeziehung:

PM ⊂ MST ⊆ RNG ⊆ DG . (10.14)

Der Delaunay-Graph wird auch zur Delaunay-Triangularisierung genutzt, d. h. eine gege-bene Punktmenge PMwirdmit Dreiecken triangularisiert. Dies kannman z. B. nutzen, umdie limitierte, konvexe Hülle einer Punktmenge zu berechnen, siehe Abschn. 1.2.3.

10.8 Akkumulations- oder Votingmethoden

Wennwir im Bild an eineMenge von Punkten eine Gerade oder ein anderes geometrischesPrimitivum fitten, dannwissenwir a priori, dass die Punkte bis auf einige Ausreißer zu demgeometrischem Primitivum gehören. Dies ist aber oft nicht der Fall. Oft weiß man, dassmehrere Geraden im Bild vorhanden sind und muss diese detektieren. Erst wenn man dieZugehörigkeit von Punkten zu einer Geraden bestimmt hat, kann man nachträglich eineGerade fitten. Zunächst wollen wir anHand vonGeraden das Grundprinzip demonstrierenund anschließend verallgemeinern bzw. die allgemeinen Probleme beschreiben.

10.8.1 Primale Voting-Methode zur Detektion von Geraden

• In einem Bild seien n Punkte detektiert worden. Wir bilden nun alle Paare von Punk-ten, d. h. es gibt (n) = n(n−)

solcher Punktepaare. Durch zwei Punkte ist eindeutig eineGerade bestimmt, wir bestimmen diese in der Hesseschen Normalform mit den Para-metern p, φ, siehe Abb. 10.17. Nun wollen wir in einem Parameterraum, d. h. in einemKoordinatensystem, an der Stelle p, φ die Zahl Eins inkrementieren. Das setzt voraus,dass wir zu Beginn den Parameterraum mit Null initialisiert haben.

• Wenn wir nun den Parameterraum mit einer Datenstruktur verwalten wollen, dannmüssen wir vorher den Parameterraum p, φ diskretisieren. Die Wertebereiche können

Page 245: Bildverarbeitung und Objekterkennung ||

232 10 Bildsegmentierung

Abb. 10.17 Hessesche Nor-malform einer Geraden

p

φ

y

x

Gerade

wir leicht abschätzen. Den Winkel legen wir von Null bis 180 Grad fest, da eine Ge-rade keinen Orientierungssinn besitzt. Die Größe p ist beschränkt durch die Längeder Diagonale des Originalbildes, wobei p auch negativ sein kann. Die Diskretisierungwird durch praktische Belange festgelegt, so könnten wir den Winkel z. B. in Ein-Grad-Schritten festsetzen und pmit der Zahl Eins, d. h. eine Verschiebung der Geraden ist bisauf ein Pixel festgelegt.

• Wir inkrementieren nun entsprechend für alle (n) = n(n−) Punktepaare. Liegen nun

z. B. m Punkte auf einer Geraden im Bild, so muss sich im Parameterraum ein Peakder Höhem ausbilden. Wenn wir nur eine typische Gerade detektieren wollen, bestim-men wir einfach die Position des Maximums im Parameterraum. Wenn wir l Geradendetektieren wollen, dann bestimmen wir die l größten Peaks im Parameterraum.

• Praktische Probleme entstehen aber nun infolge der Diskretisierung. Wir müssen einenPunkt im Parameterraum mit einer Akkumulatorzelle identifizieren. Dies können wirtun, indem wir vor der Maximumbestimmung einen Glättungsfilter von der Größe derAkkumulatorzelle auf das Parameterbild anwenden. Wir können auch direkt beim ak-kumulieren nicht nur an der Stelle p, φ inkrementieren, sondern auch an den Nachbar-stellen entsprechend der Größe der Akkumulatorzelle. Man sollte aber keinen Mittel-wertfilter benutzen oder dieNachbarstellen gleichwertig inkrementieren, sondern einenGaußfilter. Dazu stellen wir uns ein Bild vor, in dem tatsächlich nurmGeraden vorkom-men und deshalb sich im Akkumulatorraum m Peaks ausprägen. Diese m Peaks seienideal, d. h. haben die Form des Einheitsimpulses. DerMittelwertfilter wird nunmit demEinheitsimpuls gefaltet, es ergibt sich als Resultat wieder der Mittelwertfilter, d. h. eine„Säule“, die oben ein „glattes“ Plateau hat. Wenn wir nun anschließend das Maximumsuchen, ist dies nicht mehr eindeutig, wir müssten aufwendig die „Mitte“ des Plateausbestimmen. Dies kann man vermeiden, wenn man den Gaußfilter benutzt, bzw. einegewichtete Akkumulation in der Akkumulatorzelle durchführt.

• Wenn Punkte im Originalbild bezüglich der Achternachbarschaft benachbart sind,dann liegen nur vier Geradenrichtungen vor, nämlich Grad, Grad, Grad und

Page 246: Bildverarbeitung und Objekterkennung ||

10.8 Akkumulations- oder Votingmethoden 233

Abb. 10.18 Punktmenge↔Hough-Transformation

Grad. Wenn folglich viele Punkte benachbart sind, dann werden infolge dieser Dis-kretisierung diese vier Richtungen im Parameterraum bevorzugt inkrementiert. Dahersollte man Punktepaare aus einer Achternachbarschaft nicht in die Akkumulation ein-beziehen.

• Wie man leicht sieht, hat diese primaleMethode zur Geradendetektion die KomplexitätO(n).

10.8.2 Duale Voting-Methode: Hough-Transformation

• Im Gegensatz zur primalen Methode kann man auch die Dualität von Punkt und Ge-rade nutzen, d. h. einem Punkt entspricht genau ein Geradenbüschel und umgekehrt.Diese Idee geht auf Hough (1962) zurück und wird deshalb Hough-Transformationgenannt. Die erste praktische Anwendung der Hough-Transformation wird Duda undHart (1973) zugeschrieben.

• Anstelle der Punktepaare werden die n Punkte einzeln betrachtet und für jeden Punkt(xi , yi) das Geradenbüschel berechnet:

p(φ) = xi cos φ + yi sin φ. (10.15)

Für einen festen Punkt (xi , yi) ist p(φ) eine Kurve im Parameterraum, den sogenann-ten Houghraum. Über dieser Kurve wird die Zahl Eins inkrementiert. Wenn infolge dernotwendigen Diskretisierung des Winkels φ dieser in q Stufen eingeteilt wird, so sindpro Punkt (xi , yi) des Originalraumes q Inkrementierungen im Houghraum durchzu-führen.

Page 247: Bildverarbeitung und Objekterkennung ||

234 10 Bildsegmentierung

• Die Probleme bezüglich der Akkumulatorzellen und der Diskretisierung sind die glei-chen wie bei der primalenMethode. Die Geradenwerden detektiert, indemmanwiederdie lokalen, wesentlichen Maxima im Houghraum bestimmt.

• Wie man leicht sieht, ist die Komplexität O(q ⋅ n), folglich linear in n.

10.8.3 Zeit- und Speicher-Effizienz

Wichtig für Anwendungen ist natürlich die Zeitkomplexität und der benötigte Speicher:

• DieZeitkomplexität ist natürlich einwesentlichesGütekriterium in derAnwendung. Beider Geradendetektion hat die primale Methode eine quadratische Komplexität O(n).Die duale Houghmethode ist dagegen linear O(n), allerdings mit einem großen Vor-faktor. Der Vorfaktor bei der Houghmethode wird eindeutig durch q bestimmt. Daherkann man sogar genau feststellen, wann man die primale und wann die duale Methodeanwenden sollte, allerdings nur auf die Zeitkomplexität bezogen. Daher folgt: haben wirweniger Punkte als Diskretisierungsstufen q, dann ist bezüglich der Zeitkomplexität dieprimale Methode der Houghmethode vorzuziehen.

• Einen wichtigen Einfluß auf die Zeit-und Speichereffizienz hat die Beschränkung desSuchraumes. Man hat fast bei jeder Anwendung A-priori-Wissen über die zu detektie-renden geometrischen Primitiva. Bei Geraden sucht man oft nur Geraden mit mini-malen oder maximalen Anstiegen. Mit diesem Wissen sollte man von vornherein denAkkumulatorraum beschränken.

• Weiterhin kann man die Zeiteffizienz durch zufällige Auswahlen verbessern. DieGrundidee geht auf Fischler und Bolles (1981) zurück und wird RANSAC-Methodegenannt (Random Sample Consensus). Bei der primalen Methode braucht man nichtunbedingt alle Punktepaare zu benutzen, sondern man wählt zufällig eine Untermengeaus. Theoretisch müsste man aber dann untersuchen, mit welcher Wahrscheinlichkeitman im Akkumulatorraum die richtigen Peaks bestimmen kann. Oder ein ähnlichesVerfahren ist das Folgende:Man wählt zufällig zwei Punkte aus und bestimmt die Gerade durch die beiden Punkte.Jetzt betrachtet man einen „Schlauch“ einer bestimmten Breite längs der Geraden undzählt die Punkte im Bild, die innerhalb des Schlauches liegen. Wenn die Anzahl einebestimmte Schranke übersteigt, dann hat man bereits eine Gerade gefunden. Natürlichhängt die Güte von der Breite des Schlauches und dieser Schranke wesentlich ab. DieEffizienz dieses Verfahrens hängt von der Verteilung der Geraden im Bild ab. Habenwir z. B. ein sehr langes und ein kurzes Geradensegment im Bild, dann ist dieses Vorge-hen bezüglich der Bestimmung des langen Geradensegmentes äußerst effektiv. Habenwir dagegen viele kurze Geradensegmente im Bild, dann verringert sich die Effizienzwesentlich.

• In manchen Fällen kann man den Akkumulatorraum in einen Unterraum projizieren,dann gewinnt man in erster Linie an Speichereffizienz. Allerdings muss man sich derKonsequenzen bewusst sein. Dazu ein einfaches

Page 248: Bildverarbeitung und Objekterkennung ||

10.8 Akkumulations- oder Votingmethoden 235

Beispiel: Ein Personalausweis, der auf einem Scanner aufgenommen wurde, soll ho-rizontal ausgerichtet werden, damit die OCR-Software roationsinvariant funktionierenkann. In der Vorverarbeitung wurden die Konturen derjenigen Zeichen ermittelt, die inden beiden ICAO-Zeilen stehen.Manweiß allerdings nicht, welches Zeichen in welcherZeile steht, aber man weiß, es gibt nur diese beiden (langen) Zeilen. Von jedem Zeichenwurde nun der Schwerpunkt ermittelt. Der Anstieg einer Geraden durch alle Schwer-punkte der Zeichen einer Zeile bestimmt damit denRotationswinkel desAusweises, alsodes gesamten Dokumentes. Wir benötigen also nur den Anstieg dieser beiden paralle-len Geraden. Daher wählen wir z. B. die primale Methode und akkumulieren nur dieAnstiege der Geraden durch jeweils zwei Punkte. Damit ist der Akkumulatorraum nureindimensional. Würden wir allerdings diese Methode auf ein Dokument übertragen,das mehr als zwei Zeilen hat, dann wird dies nur noch funktionieren, wenn die Anzahlaller Zeilen wesentlich kleiner ist als die Anzahl der Zeichen einer Zeile.

10.8.4 Hough-Transformation und Konvexgeometrie

Es gibt einen interessanten Zusammenhang zwischen der Hough-Transformation und derKonvexgeometrie:

Definition 10.1 (Stützgerade) Eine Gerade G heißt Stützgerade einer ebenen, konvexenFigur K, wenn G Berührende an K ist. Wenn der Rand von K differenzierbar ist, dann ist dieBerührende gerade die Tangente an K. Auch wenn der Rand nicht differenzierbar ist, gibt esStützgeraden. Dies sind dann diejenigenGeraden, diemindestens einen Randpunkt schneidenund alle anderen Punkte von K liegen nur auf einer Seite der Geraden.

Alle Stützgeraden von K bilden eine Kurvenschar, deren Enveloppe (Einhüllende) derRand ∂K der konvexen Figur K ist. Mit dem Ursprung O des Koordinatensystems (derhier der Einfachheit halber im Innern von K liegen möge) kann eine Gerade G im Rand-punkt (x , y) durch ihre Normalenrichtung φ und ihren Stützabstand p vom Ursprung Obeschrieben werden:

p(φ) = x cos φ + y sin φ. (10.16)

Da der Ursprung im Innern von K liegt, legen wir ≤ φ ≤ π fest, womit immer p ≥ gilt. Wir sehen, das ist die gleiche Funktion wie bei der Hough-Transformation.Wir wollennun eine Parameterdarstellung x(φ), y(φ) der Kontur der konvexen Figur mit Hilfe von(10.16) herleiten. Die Formel (10.16) stellt aber nur eine Gleichung für die beiden Unbe-kannten x(φ), y(φ) dar, daher benötigen wir noch eine zweite Gleichung. Wir benutzenden üblichen Trick in derMathematik, neben p(φ)muss auch die Ableitung p′(φ) gegebensein. Wir differenzieren daher (10.16) nach φ:

p′(φ) = x′ cos φ − x sin φ + y′ sin φ + y cos φ. (10.17)

Page 249: Bildverarbeitung und Objekterkennung ||

236 10 Bildsegmentierung

Abb. 10.19 Stützgeraden undEnveloppe einer konvexenFigur

φ

p (φ)

p (φ+π)

O

Da (x′ , y′)der Tangentenvektor und (cos φ, sinφ)der zugehörigeNormalenvektor ist, ver-schwindet das zugehörige Skalarprodukt aus beiden und (10.17) reduziert sich zu:

p′(φ) = −x sin φ + y cos φ. (10.18)

Beide Gleichungen (10.16), (10.18) lösen wir nach x(φ), y(φ) auf:

x(φ) = p(φ) cosφ − p′(φ) sin φy(φ) = p(φ) sin φ + p′(φ) cos φ.

(10.19)

Dies ist die gewünschte Parameterdarstellung für die Kontur der Konvexfigur. Da die Stütz-funktion mit π periodisch ist, sind auch alle Ableitungen von p(φ) periodisch in π. Ausder Stützfunktion lassen sich interessante geometrische Beziehungen für konvexe Figurenherleiten:

• Wir wollen den Umfang von K berechnen:

UK = ∫∂K

ds = ∫∂K

√dx + dy =

π

(p(φ) + p′′(φ))dφ

=

π

p(φ)dφ. (10.20)

Man beachte, dass infolge der Periodizität der Ableitungen gilt:

π

p′′(φ)dφ = p′(π) − p′() = . (10.21)

• Die Breite b(φ) einer konvexen Figur bezüglich einer Richtung φ ist der Abstand derbeiden parallelen Stützgeraden G und G′, die senkrecht zur Richtung φ verlaufen. Fürdie mittlere Breite BK ergibt sich dann die verblüffend einfache Beziehung:

BK =π

π

b(φ)dφ =π

π

(p(φ) + p(φ + π)) dφ =UK

π. (10.22)

Page 250: Bildverarbeitung und Objekterkennung ||

10.8 Akkumulations- oder Votingmethoden 237

Man kann diese Formel auch interpretieren: Die „Anzahl“ NK(φ) der Geraden, diesenkrecht zur Richtung φ verlaufen und die konvexe Figur K schneiden, ist proportio-nal zur Breite b(φ). Also ist BK bzw. UK bis auf einen Faktor ein Maß für die „Anzahl“aller die Figur K schneidenden Geraden. Für die Stereologie ist dies von besondererBedeutung, da diese Schnitte im 3D Raum den Schnitten von Ebenen mit Körpern ent-sprechen, d. h. sie haben etwas mit Anschliffen oder Anschnitten zu tun.

• Auch die Fläche einer konvexen Figur kann man durch die Stützfunktion ausdrücken:

FK = ∫∂K

p(φ)ds =

π

p(φ) [p(φ) + p′′(φ)]dφ

=

π

[p(φ) − p′(φ)]dφ. (10.23)

• Nun bleibt nur noch die Frage, wie berechnet man numerisch die Stützfunktion? Natür-lichmit derHough-Transformation.UmVerwechslungen zu vermeiden, bezeichnenwirjetzt die p-Koordinate im Hough-Raum mit P. Wir berechnen für jeden Konturpunktder konvexen Figur die Kurve P(φ) und akkumulieren längs dieser Kurve im Hough-Raum. Den Akkumulatorwert pro Koordinate (P , φ) bezeichnen wir mit A(P , φ). DieStützfunktion sfkt ergibt sich dann zu:

sfkt(φ) = max {P ∣A(P , φ) > } . (10.24)

Die Stützfunktion ist somit die obere Randfunktion aller positiven Akkumulatorwerteund hat nichts mit den lokalen Maxima im Houghraum zu tun.

10.8.5 Verallgemeinerungen

Andere geometrische Primitiva Nicht nur Geraden können mit der primalen oder dua-len Akkumulatormethode detektiert werden, sondern auch andere geometrische Primiti-va. Im Allgemeinen erhöht sich dann die Dimension des Akkumulatorraumes, sodass dieZeiteffizienz zumHauptproblem wird. Nehmen wir als Beispiel die Detektion von Kreisen:

1. Primale Methode: Ein Kreis mit den Parametern Mittelpunkt (x , y) und Radius rist eindeutig durch drei Punkte beschrieben. Daher wählen wir alle Tripel von Punktenoder via RANSAC eine zufällige Auswahl davon, bestimmen jeweils den Mittelpunktund den Radius des Kreises und akkumulieren an diesem Punkt (x , y, r) im dreidi-mensionalen Akkumulatorraum.

2. Duale Methode (Hough-Transformation):Wir wählen wieder die Punkte einzelnund akkumulieren im dreidimensionalen Houghraum längs der dualen Parameterglei-

Page 251: Bildverarbeitung und Objekterkennung ||

238 10 Bildsegmentierung

chung. Diese lautet bei einem fest vorgegebenem Punkt (x , y):

(x − x) + (y − y) = r. (10.25)

Man sieht, (10.25) beschreibt bei festen x , y in den Unbekannten x , y, r einen Dop-pelkegel. Daher ist imAkkumulatorraum (x , y, r) längs dieses Doppelkegels zu inkre-mentieren.

Haben wir A-priori-Wissen zur Verfügung, dann können wir den Akkumulatorraum ein-schränken. Wissen wir z. B., dass wir nur Kreise eines bestimmten festen Radius R suchen,dann besteht der Akkumulatorraum nur aus den Mittelpunkten x , y und ist demzufolgenur zweidimensional.

Beliebige Freiformobjekte Bei beliebigen Freiformobjekten wird die Akkumulation nochaufwendiger. Da wir das Referenzobjekt nicht in analytischer Form beschreiben können,müssen wir es in tabellarischer Form versuchen. Zunächst legen wir einen ReferenzpunktL im Inneren des Objektes fest. Dann werden in eine Tabelle, die „R-table“ genannt wird,die Stützgeraden „eingetragen“. Dies sind aber keine „echten Stützgeraden“, da das Objektnicht konvex seinmuss. Für eine Richtung φ kann esmehrere „Stützgeraden“ geben und füralle diese werden in die Tabelle nicht die Abstände p der Stützgeraden zumKoordinatenur-sprung O eingetragen, sondern der Abstand r(φ) des Konturpunktes zum ReferenzpunktL und derWinkel α(φ)der Verbindungsgeraden zwischen dem Referenzpunkt L und demKonturpunkt. Die Idee liegt darin, dass wir allein aus demWinkel φ der Stützgeraden unddem Konturpunkt den Referenzpunkt L wieder berechnen können, siehe Abb. 10.20. Nunwerden die Konturpunkte eines unbekannten Objektes bestimmt. Man kann davon aus-gehen, dass die Gradientenrichtung des Konturpunktes bekannt ist und damit auch derWinkel φ. Nun berechnen wir in dieser Richtung vom Konturpunkt ausgehend mit denInformationen der „R-table“ einen Referenzpunkt. Wenn in der R-Table für diese Richtungmehrere Einträge vorhanden sind, müssen wir eben mehrere Referenzpunkte berechnen.Der Akkumulationsraum hat die Dimension der Referenzpunkte, ist also zweidimensional.Nun inkrementieren wir imAkkumulationsraum an den Koordinaten der berechneten Re-ferenzpunkte eine Eins. Wenn wir für alle Konturpunkte eines unbekannten Objektes dieberechneten Referenzpunkte akkumuliert haben, dann muss sich, wenn das unbekannteObjekt das Referenzobjekt ist, ein typischer Peak für den Referenzpunkt L ausbilden. Die-se Akkumulationsmethode heißt Generalized Hough Transform.

Es kommt sicher jetzt die Frage auf, warum ist der Akkumulatorraum nur zweidimen-sional obwohl bei einfacheren Objekten wie Kreisen der Akkumulatorraum sogar dreidi-mensional ist? Man erkennt sofort aus der Abb. 10.20, dass die gesuchten Objekte gegen-über dem Referenzobjekt nicht einmal rotiert oder skaliert sein dürfen. Es gilt lediglich dieInvarianz gegenüber Verschiebungen. Kreise durften sogar skaliert sein, dies beschreibt dergesuchteRadius.Natürlich kannmandieGeneralizedHough Transform diesbezüglich nochverallgemeinern, der Aufwand steigt aber beträchtlich an.

Page 252: Bildverarbeitung und Objekterkennung ||

10.8 Akkumulations- oder Votingmethoden 239

Abb. 10.20 GeneralizedHough-Transform

y

x

L

φφ

r

r 1

2

αα 1

2

Radon-Transformation Eine völlig andere Verallgemeinerung der Akkumulation ist dieÜbertragung auf Grautonbilder. Bisher sind wir davon ausgegangen, dass wir die Koordi-naten einzelner Punkte zur Verfügung haben, insbesondere wenn das Bild binarisiert ist,oder wenn mit anderen Deskriptoren einzelne Punkte detektiert worden sind. Wenn wiraber direkt auf dem Grautonbild arbeiten wollen, dann bietet die Radon-Transformationeine Möglichkeit der Akkumulation. Statt einzelner Punkte betrachten wir alle diejenigenGeraden (p, φ), die das gegebene Bild „schneiden“. Längs dieser Geraden summieren (in-tegrieren) wir alle Grauwerte und bezeichnen die Summe (Integral) mit I(p, φ). Wennwieder eine Geradengleichung in der Hesseschen Normalform p = x cos φ + y sin φ gege-ben ist, dann ist

x(t) = p cosφ − t sin φ, y(t) = p sinφ − t cos φ (10.26)

eine Parameterdarstellung dieser Geraden. Die Summe entlang einer Geraden lässt sich alsKurvenintegral schreiben und wir benötigen dafür das differentiale Bogenelement:

ds =√dx + dy → ds = dt . (10.27)

Nun können wir das Kurvenintegral längs dieser Geraden berechnen:

I(p, φ) = ∫Gerade

f (x , y)ds

=

+∞

∫−∞

f (p ⋅ cos φ − t ⋅ sin φ, p ⋅ sin φ − t ⋅ cosφ)dt . (10.28)

In der Praxis wird man ≤ φ ≤ π festlegen und p so wählen, dass die Geraden auch dasBild „schneiden“. Für theoretische Betrachtungen kann man ≤ p ≤ ∞ setzen und erhältsomit eine Integraltransformation, genannt Radon-Transformation.Wennwir diese auf ein

Page 253: Bildverarbeitung und Objekterkennung ||

240 10 Bildsegmentierung

Abb. 10.21 a Originalbild, b Radon-Transformierte

Binärbild anwenden, dann ist diese identisch mit der Hough Transformation aller Objekt-punkte. In Abb. 10.21a ist ein Bild und in Abb. 10.21b dessen Radon-Transformierte zusehen. Die Radon-Transformation besitzt große Bedeutung in der Computertomographie.Es werden „Schnittebenen“ durch den Körper berechnet, wobei pro Ebene die Absorptio-nen von Röntgenstrahlen gemessen werden. Dies geschieht pro Ebene aus verschiedenenRichtungen, so dass pro Ebene die Funktion I(p, φ) vorliegt. Pro Ebene muss man nunaus der Funktion I(p, φ) die inverse Funktion f (x , y) berechnen. Viele Ebenen im Kör-permit denGrauwertbelegungen f (x , y) ergeben das 3D-Computertomographiebild. Wiekann man aber die inverse Funktion f (x , y) aus I(p, φ) berechnen? Dazu nutzt man dasFourier-Slice-Theorem, siehe Abschn. 16.1. Es gibt auch die Methode der gefilterten Rück-projektion, die auch als Akkumulation deutbar ist, siehe Abschn. 16.1.

Page 254: Bildverarbeitung und Objekterkennung ||

11Farbbildverarbeitung

Oft werden in der Bildverarbeitung nur Grauwertbilder betrachtet. Mit der Entwicklungbilliger Farbkameras ist es heute üblich auch Farbbilder zu betrachten, da die Farbe zu-sätzliche Informationen liefert. In diesem Zusammenhang hat sich der Begriff Color Vi-sion herausgebildet. Im Zusammenhang mit Farben treten eine Menge von elementarenGrundbegriffen auf. Oft spricht man von Rot, Grün- und Blauauszügen, damit meint maneigentlich schon das RGB-Farbmodell. Es werden folglich drei Kanäle für ein Farbbild be-nötigt, d. h. pro Pixel benötigt man drei „Grautöne“. Dies ergibt mathematisch pro Pixeleinen dreidimensionalen Vektor, folglich ist ein Farbbild ein Vektorfeld undman kann sichder Methoden aus der Vektoranalysis bedienen. Weiterhin kann man ein Farbbild als spe-zielles mehrkanaliges Bild auffassen, wobei für die Anzahl der Kanäle n = gilt. Es gibtauch tatsächlich Multispektralkameras, die Bilder mit n > liefern. Häufig wird auch derBegriff Echtfarbendarstellung benutzt. In der Computergrafik wird dieser Begriff benutzt,wenn pro Pixel 24 Bit zur Verfügung stehen, damit sind ca. 16 Millionen Farben darstell-bar, und zwar alle, die das menschliche Auge unterscheiden kann. Ein Falschfarbenbildentspricht imWesentlichen einem Echtfarbenbild, jedoch mit dem Unterschied, dass demRot-, Grün- und Blaukanal beliebige Wellenbereiche zugeordnet werden. Ein Pseudofarb-bild ist dagegen etwas völlig anderes. Hier haben wir ein Grautonbild zur Verfügung, beidem bestimmte Pixel oder Grauwerte künstlich eingefärbt werden, z. B. durch setzen vonFarbtabellen. Diese Pseudofarbbilder treten häufig im Zusammenhangmit overlay-Bildernoder Markierungsbildern auf. Diese Markierungsbilder haben zwei Funktionen:

• Eine „Verwaltungsfunktion“: Sie markieren bestimmte Pixel als „bereits abgearbeitet“.• Eine „Visualisierungsfunktion“: Die „abgearbeiteten“ Pixel sollen farblich so dargestellt

werden, dass sie sich deutlich vom Untergrund abheben. Die Grafik soll dann diesesPseudofarbbild darstellen.

241H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_11, © Springer Fachmedien Wiesbaden 2014

Page 255: Bildverarbeitung und Objekterkennung ||

242 11 Farbbildverarbeitung

11.1 Spektrale Farben

Wenn Licht als elektromagnetische Strahlung auf einen Körper trifft, werden bestimm-te Wellenbereiche absorbiert und bestimmte reflektiert. Das menschliche Sehsystem rea-giert darauf und ordnet diesem Farben zu. Diese Farben werden Körperfarben genannt.Im Gegensatz dazu unterscheidet man Farben von selbstleuchtenden Lichtquellen. Für dasmenschliche Auge kommt nur das sichtbare Licht mit einer Wellenlänge λ von 380 nm bis780 nm (Nanometer, nm = − m) in Frage. Dies entspricht einer Frequenz ν zwischen, ⋅ und , ⋅ Hz. Dieser Zusammenhang ist durch

λ ⋅ ν = c , c = , ⋅ m/s (11.1)

gegeben. In der Abb. 11.1 ist die spektrale Verteilung der elektromagnetischen Strahlenzu sehen. Die spektralen Farben des sichtbaren Lichtes erhält man durch Zerlegung desSonnenlichtes (weißes Licht) mit Hilfe eines Prismas.

Wellenlänge

Frequenz(Hertz)

Mikrowelle

Radio und TV

Infrarot

Sichtbares Licht

Ultraviolett

Röntgenstrahlen

3m

3cm

0.3mm

3000nm

30nm

0.003nm

Rot (700nm)

Grün(546nm)

Blau(435nm)

Abb. 11.1 Spektrale Verteilung

Page 256: Bildverarbeitung und Objekterkennung ||

11.2 Visuelle Farbwahrnehmung 243

11.2 Visuelle Farbwahrnehmung

Das optische System des Auges – der dioptische Apparat – ist ein zusammengestztes, nichtganz exakt zentriertes Linsensystem, das auf der Netzhaut ein umgekehrtes und stark ver-kleinertes Bild der Umwelt entwirft. Die Netzhaut besteht aus Photorezeptoren, den Glia-zellen, den Pigmentzellen und vier verschiedenen Klassen von Nervenzellen. Die Photo-rezeptoren lassen sich morphologisch in zwei Klassen einteilen: in die Stäbchen (ca. 120Millionen) und in die Zapfen (ca. 6 Millionen). Das Sehen am Tage nennt man photopi-sches Sehen, die Zapfen dienen als Rezeptoren. Das Sehen in der Dämmerung nennt manmesopisches Sehen, dabei dienen Stäbchen und Zapfen gleichberechtigt als Rezeptoren. DasSehen in einer sternklaren Nacht nennt man skotopisches Sehen, die Stäbchen dienen alsRezeptoren. Beim photopischen Sehen ist die Sehschärfe und das Farbensehen sehr gutausgeprägt, während beim skotopischen Sehen die Sehschärfe geringer ist und keine Far-ben wahrgenommen werden können, es herrscht funktionale Farbenblindheit.

Die Farben unserer Umwelt teilen wir ein in bunte und unbunte. Die Grautöne vonschwarz bis weiß werden als unbunte Farben bezeichnet. Ein normalsichtigerMensch kannbei Tageslicht etwa 30 bis 40 Graustufen unterscheiden. Die bunten Farben lassen sichdurch drei Komponenten charakterisieren:

• Der Farbton oder auch Buntton genannt (hue).• Die Buntheit oder auch Sättigung genannt (saturation).• Die Helligkeit oder Dunkelstufe genannt (brightness).

Der Farbton beschreibt die Art der Farbewie z. B. rot, grün, blau, violett usw. Farbtöne kön-nen in einem Farbenkreis in geschlossener Reihe von rot, orange, gelb, grün, blau, violett,purpur bis der Kreis sich wieder bei rot schließt, dargestellt werden.

Die Sättigung gibt an wie „rein“ oder „ausgewaschen“ dem Menschen die Farbe er-scheint. Je enger der Wellenzahlenbereich der Farbe ist, desto „reiner“ erscheint sie. Mo-nochromatisches Licht erzeugt die Empfindung von „total reinen“ Farben.

Die Helligkeit beschreibt die Stärke der Lichtempfindung. Die wahrgenommeneHellig-keit entspricht aber nicht direkt der Energie, da dasAuge auf verschiedeneWellenlängen dieHelligkeit anders empfindet. Im „grünen“ Wellenzahlenbereich ist das Auge am empfind-lichsten. Alle Farbtöne des Farbenkreises können durch Spektralfarben oder durch additiveMischung von zwei Spektralfarben repräsentiert werden. Außerdem lässt sich zu jeder Far-be des Farbenkreises eine Komplementärfarbe finden, sodass deren additive Mischung dieFarbe Weiß ergibt. So sind z. B. Rot und Cyan, Zitronengelb und Violett, Blau und Gelb,Grün und Magenta Komplementärfarben.

Auf der Retina im Auge findet eine additive Farbmischung statt. Mit drei geeignetenGrundfarben kann für den normal Farbtüchtigen jede Farbe, die durch selbstleuchten-de Lichtquellen herstellbar ist, erzeugt werden. Die Wellenlängen der Grundfarben sindgenormt, z. B. rot (700nm), grün (546 nm) und blau (435 nm). Die Farbwahrnehmung,basierend auf diesen drei Grundfarben, nennt man Trichromatie. Etwa % der Bevölke-

Page 257: Bildverarbeitung und Objekterkennung ||

244 11 Farbbildverarbeitung

rung sind Dichromaten. Die wahrgenommenen Farben sind bei Dichromaten wesentlichweniger differenziert als bei Trichromaten.

Die häufigste „Farbkrankheit“ ist die „Rot-Grün-Blindheit“, d. h. diese Personen kön-nen nicht mehr Rot von Grün unterscheiden. Monochromat, also farbenblind, sind weni-ger als ,% der Bevölkerung.

Wenn man mit Farben umgeht, dann muss man auch Farben genormt benennen undbezeichnen können.Da es hier international andereBezeichnungen gibt (z. B. herbstgoldenoder profi-schwarz), muss man für wissenschaftliche Zwecke die Benennungen standardi-sieren. Dazu gibt es in der Computer Grafik ein englischsprachiges FarbbenennungssystemCNC (Color Naming System).

11.3 Farbtafeln

Bei additiver Farbmischung der drei Grundfarben RGB kann man nicht alle Farben, ins-besondere reine Spektralfarben, durch Farbmischung erzeugen, weil man nichtnegativeFarbwerte der drei Komponenten voraussetzt. Um dennoch alle Farben normieren zu kön-nen, wurden Farbsysteme mit virtuellen Primärvalenzen X ,Y , Z entwickelt. Das im Jah-re 1931 festgelegte CIE-Farbmesssystem nutzt solche virtuellen Primärvalenzen (CIE –Commission Internationale de l’Eclairage). Man benutzt dazu drei Normspektralwertkur-ven, die durch Mittelungen von genormten Beobachtungen bestimmt wurden und wobeijeder Spektralfarbe, d. h. jeder Wellenlänge λ ein Zahlentripel u(λ), v(λ),w(λ) zuordnet.Dabei ist z. B. v(λ) proportional zur Helligkeitsempfindlichkeitskurve des menschlichenAuges. Ist nun eine Strahlung gegeben, die einen Farbreiz im Auge hervorruft, wird sie alsFarbreizfunktion φ(λ) bezeichnet. Diese setzt sich zusammen aus:

φ(λ) =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

S(λ) für SelbstleuchterS(λ) ⋅ R(λ) für KörperfarbenS(λ) ⋅ R(λ) + SF(λ) für Fluoreszenzfarben.

(11.2)

Als Fluoreszenz bezeichnet man das Leuchten von Stoffen, wenn sie mit bestimmten For-men von Licht angestrahlt werden. Das Leuchten hört sofort auf, wenn die Lichtquelleversiegt. Phosphoreszenz ist ein ähnlicher Effekt, wenn allerdings die Lichtquelle versiegt,liegt ein längeres Nachleuchten vor. Die Normfarbwerte berechnet man nun zu:

X = k ⋅

φ(λ) ⋅ u(λ)dλ,

Y = k ⋅

φ(λ) ⋅ v(λ)dλ,

Z = k ⋅

φ(λ) ⋅w(λ)dλ, (11.3)

Page 258: Bildverarbeitung und Objekterkennung ||

11.3 Farbtafeln 245

1.0

1.0

780 nm

600 nm

560 nm

540 nm520 nm

500 nm

380 nm

D 65

nm480B

R

G

Abb. 11.2 Normfarbwerttafel-CIE Farbsystem

wobei der Faktor k zu Normierungszwecken benutzt wird (vollkommen mattweißer Kör-per). Die Darstellung in einer Normfarbwerttafel geschieht allerdings nur zweidimensionalohne die Information über die Helligkeit durch die Normierung:

x =X

X + Y + Z, y =

YX + Y + Z

, z =Z

X + Y + Z. (11.4)

Damit gilt x + y + z = und es sind nur noch zwei Koordinaten notwendig. Geometrischbedeutet dies, wir projizieren die dreidimensionalen Punkte (X ,Y , Z) in die Ebene x+ y+z = . Für x ≥ , y ≥ , z ≥ bildet diese Ebene ein Dreieck, wobei jede Achse bei x = ,y = und z = geschnitten wird. Dies hat aber den Nachteil, dass wir aus den Punkten derEbene die originalen Punkte (X ,Y , Z) nicht eindeutig rekonstruieren können. Dazu mussman eine der Koordinaten, z. B. die Helligkeit Y , vorgeben. Dazu lösen wir das homogenelineare Gleichungssystem (11.4) nach X und Z in Abhängigkeit von Y auf:

X = x ⋅Yy, Y = y ⋅

Yy, Z = z ⋅

Yy. (11.5)

Zur grafischen Darstellung des Dreiecks x + y + z = , x ≥ , y ≥ , z ≥ projizierenwir das Dreieck in die x , y-Ebene und stellen das projizierte Dreieck dar. Dies ist die „üb-liche“ Darstellung der Normfarbtafel, siehe Abb. 11.2. Auf der Kontur der Region liegendie „reinen“ Spektralfarben, die untere Gerade wird als Purpurgerade bezeichnet. Alle an-deren Farbarten liegen im Inneren der Region. In der Mitte ist ein normierter Punkt, das

Page 259: Bildverarbeitung und Objekterkennung ||

246 11 Farbbildverarbeitung

Normweiß, eingetragen. Dieser wird auch als Unbuntpunkt bezeichnet. Betrachtet man ei-ne Gerade, die durch den Unbuntpunkt geht, dann schneidet diese die Kontur der Regionin zwei Punkten. Diese beiden Schnittpunkte bilden Komplementärfarben.Wählt man nundrei Grundfarben aus, z. B. Rot, Grün und Blau, dann kann man nach dem Prinzip deradditiven Farbmischung alle Farben innerhalb des Dreieckes erzeugen, welches die dreiFarbpunkte aufspannen, siehe Abb. 11.2. Man sieht, dass dadurch tatsächlich nicht alleFarben erzeugbar sind. Dieses Dreieck wird auch alsMaxwellsches Farbdreieck bezeichnet.

In der CIE-Farbtafel werden quasi die Bunttöne in linearer Abhängigkeit von derWellenlänge dargestellt. Diese „Linearität“ stimmt aber nicht mit der menschlichen Emp-findung von Buntton und Sättigung überein, z. B. kann der Mensch im Grünbereich vielkleinere Farbnuancen unterscheiden als im Blaubereich. Zur Verbesserung dieser „Nicht-linearitäten“ wurden andere Farbtafeln bzw. Farbräume entwickelt, sogenannte uniformeFarbenräume. Die CIE hat daher bereits 1976 den LUV und den LAB-Farbenraum emp-fohlen. Dafür haben sich die Bezeichnungen CIELAB und CIELUV eingebürgert. DerCIELAB-Raum wird zur Beschreibung von Körperfarben benutzt, der CIELUV-Raumdagegen zur Beschreibung von Lichtfarben.

11.4 Farbmodelle

11.4.1 Technikorientierte Farbmodelle

RGB-Modell Dies ist wohl das bekannteste Farbmodell. Man legt drei Grundfarben fürRot, Grün und Blau in der CIE-Normfarbtafel fest und kann dann alle Farben innerhalbdieses Dreieckes additiv aus den drei Grundfarben mischen. Bei diesem Modell werdenLichtintensitäten addiert, damit ergibt die additive Mischung aus gleichen Anteilen vonRot, Grün und Blau die Farbe Weiß. Die drei Primärfarben können wir als Basisvekto-ren eines dreidimensionalen Farb-Vektorraumes auffassen, siehe Abb. 11.3. Der Ursprungdes Würfels ist der Schwarzpunkt, auf der Hauptdiagonalen liegen alle unbunten Farben,die Grautöne. Auf RGB-Systemen basieren z. B. die Farbfernsehempfänger. Für das PAL-System und das NTSC-System werden verschiedene Primärvalenzen und verschiedeneReferenzweiße benutzt, welche in Tab. 11.1 dargestellt sind.

Es soll nun kurz die Beziehung zwischen CIE-System und RGB-System für das PAL-System nach obiger Tabelle demonstriert werden, siehe auch [51]. Die z-Werte für dieKoordinaten sind aus x+y+z = zu entnehmen. Folglichwird dasNormweiß durch x = ,y = , und z = , beschrieben. Bei einer vorzugebenden Luminanz Yw = , er-geben sich nach (11.5) die CIE-Koordinaten zu Xw = ,, Yw = ,, Zw = ,. DieKoordinaten der drei Grundfarben bezeichnen wir mit (Xi ,Yi , Zi), i = r, g , b. Die Vektor-addition dieser drei Grundfarben ergibt gerade das Normweiß, also:

Xw = Xr + Xg + Xb

Yw = Yr + Yg + Yb

Zw = Zr + Zg + Zb .(11.6)

Page 260: Bildverarbeitung und Objekterkennung ||

11.4 Farbmodelle 247

Rot

MagentaBlau

CyanWeiss

Schwarz

bleGneurG

Abb. 11.3 RGB-Einheitswürfel

Aus dieser Beziehung wollen wir die Luminanzen der drei Grundfarben ausrechnen. Mit(11.4) erhalten wir dann:

Xw = xrYr

yr+ xg

Yg

yg+ xb

Yb

yb

Yw = yrYr

yr+ yg

Yg

yg+ yb

Yb

yb

Zw = zrYr

yr+ zg

Yg

yg+ zb

Yb

yb

. (11.7)

Tab. 11.1 PAL- und NTSC-System

NTSC NTSC PAL PALPrimärfarben Primärfarben Primärfarben Primärfarben

CIE x y x yRot 0,67 0,33 0,64 0,33Grün 0,21 0,71 0,29 0,60Blau 0,14 0,08 0,15 0,06

NTSC NTSC PAL D65 PAL D65Normlichtart C Normlichtart C Normlichtart Normlichtart

Weiß 0,310 0,316 0,313 0,329

Page 261: Bildverarbeitung und Objekterkennung ||

248 11 Farbbildverarbeitung

Tab. 11.2 sRGB-Standard sRGB sRGBPrimärfarben Primärfarben

CIE x yRot 0,6400 0,3300Grün 0,3000 0,6000Blau 0,1500 0,0600

Normlichtart C Normlichtart CD65 D65

Weiß 0,3127 0,3290

Der gesuchte Lösungsvektor ergibt sich aus dem linearen Gleichungssystem:

, = ,Yr + ,Yg + ,Yb

, = ,Yr + ,Yg + ,Yb

, = ,Yr + ,Yg + ,Yb

(11.8)

zu Yr = ,, Yg = ,, Yb = ,. Ist nun eine Farbe im RGB-System gegeben, dannkann man durch Linearkombination der Basisvektoren die CIE-Koordinaten ausrechnen:

⎛⎜⎝

XYZ

⎞⎟⎠= R

⎛⎜⎝

Xr

Yr

Zr

⎞⎟⎠+G

⎛⎜⎝

Xg

Yg

Zg

⎞⎟⎠+ B

⎛⎜⎝

Xb

Yb

Zb

⎞⎟⎠. (11.9)

Mit dieser Beziehung kann man auch invers aus den CIE-Koordinaten die RGB-Koordi-naten ausrechnen.

Betrachten wir im RGB-Würfel den Schnitt dieses Würfels mit der Ebene R+G + B = ,so ergibt sich dasMaxwellsche Farbdreieck. Mit der Darstellung von RGB-Dateien an be-liebigen Monitoren ergeben sich gewisse Standardisierungsprobleme, deshalb hat sich dersRGB-Standard herausgebildet (Tab. 11.2).

CMY-Modell Dem RGB-Modell liegt die additive Farbmischung zugrunde, dies lässt sichbeiMonitoren, Projektoren usw. anwenden. BeimDrucken dagegen lässt sich diesesModellnicht anwenden. Die Idee ist nun ähnlich der Farbfilter, die Farbschichten werden nach-einander aufgetragen und wirken als Farbfilter bezüglich des einfallenden weißen Lichtes.Natürlich ist es noch ein technisches Problem welche Farben als Filter dienen und wiedick/dünn sie aufgetragen werden müssen. Als Filter bieten sich die Komplementärfarbenzu Rot, Grün und Blau an. Diese sind zu Rot Cyan, zu GrünMagenta und zu Blau Yellow,daher auch der Name CMY-Modell. Folglich gilt die simple Umrechnung

⎛⎜⎝

RGB

⎞⎟⎠=⎛⎜⎝

⎞⎟⎠−⎛⎜⎝

CMY

⎞⎟⎠

(11.10)

Page 262: Bildverarbeitung und Objekterkennung ||

11.4 Farbmodelle 249

zum additiven RGB-Modell. Entsprechend dieser Beziehung spricht man auch vom sub-traktiven Farbmodell im Gegensatz zum additiven RGB-Modell. Überlagert sich folglichrotes, grünes und blaues Licht, ergibt sich weißes Licht. Mischt man dagegen Rot, Grünund Blau als flüssige Farben, so ergibt sich Schwarz.

Beim Farbdruck wird oft noch eine weiter Grundfarbe verwendet, um die Farbenvielfaltzu erhöhen. Weiterhin wird Schwarz beigemischt, um den Kontrast etwas zu erhöhen.

Weitere technikorientierte Farbmodelle sind die der Fernsehübertragungstechniken.Die bekanntesten sind das YIQ- und das YUV-System.

11.4.2 Wahrnehmungsorientierte Farbmodelle

DieseModelle orientieren sich an der menschlichen Farbwahrnehmung. Die Farben lassensich wie die technikorientierten Modelle auch durch drei Größen charakterisieren:

• Den Farbton oder auch Buntton genannt (Hue).• Die Buntheit oder Sättigung (Saturation).• Die Helligkeit (Intensity).

Daher wird für dieses Farbmodell der Name HSI-Modell benutzt. Farbe, Sättigung undHelligkeit werden in Zylinderkoordinaten dargestellt. Dabei wird die z-Achse zur Intensi-tätsachse, der Abstand zu dieser Achse ist dann die Sättigung, der Winkel (Polarkoordina-ten in der Ebene) repräsentiert den Buntton.

Die Grundidee besteht nun darin, die Unbuntachse im RGB-Würfel in die Intensitäts-achse zu transformieren. Dazu rotieren wird das RGB-Koordinatensystem so, dass die neueBlauachse B′mit der Unbuntachse identisch is. Eine weitere Forderung ist, dass die AchsenR, R′ und B′ komplanar sind. Damit sind zwei Eulersche Winkel eindeutig bestimmt:

a) Eine Rotation des Würfels um ○ bezüglich der Rotachse R.b) Eine anschließende Rotation des Würfels um −,○ bezüglich der (alten) Grün-

achse G.

Bezüglich absoluter und relativer 3D-Rotationen siehe den Abschn. 13.2. Folglich ergibtsich für die Rotationsmatrix:

Rrot =

⎛⎜⎜⎜⎝

⎞⎟⎟⎟⎠

⎛⎜⎜⎝

− √

⎞⎟⎟⎠

=

⎛⎜⎜⎝

− √

− √

− √

⎞⎟⎟⎠

(11.11)

und damit:

⎛⎜⎝

R′

G′

B′

⎞⎟⎠= Rrot ⋅

⎛⎜⎝

RGB

⎞⎟⎠. (11.12)

Page 263: Bildverarbeitung und Objekterkennung ||

250 11 Farbbildverarbeitung

Einzeln aufgeschrieben, ergibt sich:

R′ =

√(R −G − B) , G′ =

√(G − B) , B′ =

√(R +G + B) . (11.13)

Die Zylinderkoordinaten bwezeichnen wir nun mit ρ, θ und h. Dann ist:

ρ =√R′ +G′, θ = arctan(

G′

R′), h = B′ . (11.14)

Nun setzen wir den Farbton H gleich H = θ , die Intensität I gleich I =√

h und für die

Sättigung könnten wir eigentlich ρ benutzen. Nun geht aber leider in diese Definition derSättigung die Intensität mit ein, denn: wir nehmen einmal an, wir hätten die reine Farbe(R,G , B) = (, , ), dann hat die reine Farbe (R,G , B) = (, , ) doch offensichtlichdie gleiche Sättigung, nur die Intensität hat sich geändert. Bei der obigen Definition derSättigung hätte sich aber der Abstand zur Unbuntachse vergrößert, womit die Sättigunggrößer wäre. Wir müssen folglich die Sättigung unabhängig von der Intensität definieren,z. B. zu S = ρ

ρmax. Dies entspricht dann der Beziehung

S = −min(R,G , B)R +G + B

. (11.15)

Das HSI-Modell ist typisch für die Bildverarbeitung, während in der Computergrafik häu-fig die HSV- und HLS-Modelle benutzt werden. Diese kann man als Approximation desHSI-Modelles auffassen, damit ergibt sich ein etwas geringererer Rechenaufwand für dienichtlinearen Transformationen.

11.5 Operationen auf Farbbildern

Wie bei der „gewöhnlichen“ Bildverarbeitung, sollen auch alle Operationen auf Farbbilderanwendbar sein. Da Farbbilder Zusatzinformationen tragen, gilt es geschickt diese auszu-nutzen. Die einfachsten Fälle sind die folgenden:

• Man verarbeitet z. B. beim HSI-Modell nur die Helligkeitskomponente I als gewöhnli-ches Grautonbild. Oder man sucht z. B. „reine“ Farbkanten in der Farbtonkomponen-te H.

• Man verarbeitet z. B. beim RGB-Modell irgendeinen Auszug, oder alle drei Auszüge ge-trennt, und vereinigt zum Schluss die Ergebnisse.

Eine etwas aufwendigereVersion ist die, Farbbilder als Vektorfunktionen zu verarbeiten. Sokannman z. B. Kanten durch Richtungsableitungen in Vektorfunktionen finden, siehe z. B.

Page 264: Bildverarbeitung und Objekterkennung ||

11.5 Operationen auf Farbbildern 251

Abschn. 8.2.1. Damit im Zusammenhang steht auch der Strukturtensor für Farbbilder, ge-nannt Farbtensor, siehe Abschn. 17.5.2. Das Histogramm eines „normalen“ Grautonbildesist eindimensional, das Histogramm eines Farbbildes folglich dreidimensional. Vergleichtman folglich Farbhistogramme, entsteht ein großer numerischer Aufwand. Daher werdenFarbhistogramme oft einer Clusterung unterworfen, das Clusterergebnis nennt man eineSignatur, siehe Abschn. 19.8.3. Diese Siganturen kann man nun mit geeigneten Abstands-maßen vergleichen, z. B. der Earth Mover’s Distance (EMD), siehe auch Abschn. 19.8.3.

Weitere praktische Anwendungen sind das Auffinden von Farbfehlern und die Farbka-librierung, siehe dazu [34].

Page 265: Bildverarbeitung und Objekterkennung ||

12Texturen

12.1 Einführung

Textur ist ein Begriff, denman den Eigenschaften der Oberfläche eines Objektes zuschreibt.Dieser Begriff ist nicht klar mathematisch definierbar, aber man hat intuitiv eine Vorstel-lung von einer Textur. Eine Textur kann aus Texturprimitiva oder Texturelementen zu-sammengesetzt sein, oft auch Texel genannt. Viele Beispiele für Texturen findet man imBrodatz-Album [11]. Eine Texturbeschreibung ist auf jeden Fall skalenabhängig. Vergrö-ßern wir z. B. eine Textur so, dass im Ausschnitt nur noch ein Texel zu sehen ist, dannwürden wir dies nicht mehr als Textur bezeichnen. Verkleinern wir dagegen die Texturextrem, dass die Texel kaum noch aufgelöst werden, haben wir den Eindruck eines ver-rauschten Bildes. Verrauschten Bildern ordnen wir aber intuitiv keine Textur mehr zu.Texturen aus Texeln sind strukturierte, geordnete Texturen. Außerdem gibt es noch sto-chastische Texturen. Diese sind irregulär, aber dennoch visuell homogen. Hauptziele inder Bildverabeitung von Texturen sind:

• Texturerkennung, Texturzuordnung bzw. Texturklassifikation. Häufig ist diese Aufga-benstellung bei Satelliten- und Luftaufnahmen zu finden. Dabei ist grundsätzlich zubeachten, ob die Erkennung in einem gewissen Bereich skalierungsinvariant oder ro-tationsinvariant ist.

• Textursegmentierung. Ein Bild enthält mehrere verschiedene Texturen und es sind dieTexturgrenzen zu ermitteln. Oft sind auch Störungen in Texturen bei industriellen Pro-dukten zu segmentieren, obwohl die Störungen selbst keine Texturen sein müssen. InAbb. 12.1 ist ein „A“ als Textur in einer anderen Textur enthalten. In der Abb. 12.2 sindvom Bild 12.1 verschiedene Texturmerkmale pro Pixel berechnet und visualisiert wor-den. Anhand dieser Bilder kann man nun die eigentliche Segmentierung durchführen.

• Shape from texture. Nichtstochastische Texturen werden auf die Oberfläche eines 3D-Objektes projiziert. Aus der Formänderung der Textur (Texturgradient) kann man Tie-feninformationen gewinnen.

253H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_12, © Springer Fachmedien Wiesbaden 2014

Page 266: Bildverarbeitung und Objekterkennung ||

254 12 Texturen

Abb. 12.1 Zwei verschiedeneTexturen: die Textur des „A“unterscheidet sich von derTextur des „Untergrundes“

Umgangssprachlich ordnetman Texturen Eigenschaften zu wie: körnig, glatt, länglich, feinusw.Mit diesen Eigenschaften könnenwir aber algorithmisch nichts anfangen. Zur Textur-beschreibung gibt es im Wesentlichen drei Zugänge:

• Statistische Texturbeschreibung.• Syntaktische oder Strukturelle Texturbeschreibung.• Hybride Methoden der Texturbeschreibung.

Abb. 12.2 Sechs verschiedene Texturmerkmale sind in sechs Bildern dargestellt

Page 267: Bildverarbeitung und Objekterkennung ||

12.2 Elementare statistischeMerkmale 255

Im Folgenden soll aber nur auf elementare statistische Merkmale eingegangen werden.Zusätzlich werdenwir autoregressive Prozesse vorstellen, weilman damit synthetische Tex-turen generieren kann.

12.2 Elementare statistischeMerkmale

Im Folgenden sollen Texturen durch elementare statistische Merkmale beschrieben wer-den.

• Einen ersten, elementaren Merkmalsvektor erhalten wir, indem wir die Autokorrela-tionsfunktion (siehe auch (2.30)) eines Texturbildes berechnen, das nur eine Texturenthält. Da die übliche periodische Fortsetzung dem Modell nicht entspricht, „kürzen“wir einfach die Berechnung und ersparen uns die periodische Fortsetzung. Dadurchwerden die Funktionswerte bei größeren Verschiebungen immer unsicherer. Wenn wirnoch geeignet normieren, dann erhalten wir eine „Pseudoautokorrelation“:

(pseudo-auto)p,q =MN

(M − p)(N − q)∑

M−pi= ∑

N−qj= fi+p, j+q fi , j

∑Mi= ∑

Nj= f i , j

. (12.1)

• Dieklassischen, statistischenTexturmerkmalewerdenbeiHaralick [30]beschriebenundbeziehen sich auf die Statistik zweiterOrdnung. Ein zweidimensionalesGrauwert-Histo-gramm ist die klassische co-occurence-matrix, siehe Abschn. 9.2. Dabei bezieht sich dieStatistik auf benachbarte Paare von Pixeln, wobei noch verschiedene Entfernungen undRichtungen zu berücksichtigen sind. Elementare Merkmale sind dann z. B. die Energie,die Entropie, der Kontrast, die Normierte Kovarianz (Korrelation) usw., siehe [30].

• Ein einfaches Maß für die „Löchrigkeit“ einer binären Textur, genannt lacunarity, wirdfolgendermaßen berechnet. Wir wählen ein Quadrat der Seitenlänge l und schiebendieses Quadrat über das Bild, so ähnlich wie bei den linearen Filtern. Wir zählen je-desmal, wieviele schwarze Punkte der binären Textur in dem Quadrat liegen. Nach ei-nem Bilddurchlauf berechnen wir von diesen Zählwerten den Mittelwert μl und dieStandardabweichung σl . Wir normieren ähnlich dem Variationskoeffizienten und be-rechnen lacunarity(l) = ( σl

μl). Nun wiederholen wir dies für ein Quadrat mit einer

anderen Seitenlänge l , wobei wir l systematisch in einem gewissen Bereich vergrößernbzw. verkleinern, wobei l insgesamt M verschiedene Werte annehme. Damit erhaltenwir eine lacunarity-Funktion. Da die Beurteilung einer Textur mit Funktionen etwasschwierig ist, nimmt man einfach den Mittelwert aller Funktionswerte. Folglich wirddie eigentliche lacunarity als Mittelwert

lacunarity =M ∑

llacunarity(l) (12.2)

berechnet. Je „gleichmäßiger“ eine Textur ist, umso kleiner ist das Maß. Große Wertedeuten auf große Lücken in der binären Textur hin. Dieses Maß wird oft in der Medizin

Page 268: Bildverarbeitung und Objekterkennung ||

256 12 Texturen

zur numerischenBeurteilung vonGefäßstrukturen herangezogen, ähnlich der fraktalenKästchendimension. Für eine schnelle Implementierung dieses Maßes können wir wie-der die Mittelwertfilter nutzen, da ein Mittelwertfilter bis auf die Skalierung in einemBinärbild die Anzahl der schwarzen Punkte zählt, siehe auch Abschn. 8.1.2.

12.3 Autoregressive Prozesse (AR)

Wir stellen uns ein eindimensionales Bild vor, d. h. eine Folge von Zufallsvariablen Xn ,n = , . . . ,N − , wobei wir uns die Entstehung des Bildes von „links“ nachts „rechts“vorstellen. Diese Entstehung beschreiben wir durch einen autoregressiven Prozess

Xi =M∑k=

akXi−k + Ni , i = M , . . . ,N − . (12.3)

Dabei sind geeigneteAnfangsbedingungen zuwählen unddieNi sind unabhängige,mittel-wertfreie Zufallsvariablen. Der Prozess ist damit kausal und hängt somit nur von der „zeit-lich“ vorangegangenen Umgebung ab. Dieses autoregressive Modell ist geeignet syntheti-sche Texturen zu erzeugen. Allerding mussman nun diese „zeitliche“ Entstehung auf zwei-dimensionale Bilder verallgemeinern. Als Beispiel betrachten wir das einfache Modell inAbb. 12.3. Der jeweils aktuelle Grauwert g lässt sich aus den vier Grauwerten glo , go , gro , gldurch zeilenweise Bearbeitung des Bildes bestimmen. Als Startwerte dieses zweidimensio-nalen Modells dienen die Grauwerte der ersten Bildzeile und der beiden Randspalten desBildes. Die Berechnung erfolgt dann durch

gi , j = alo gi−, j− + ao gi , j− + aro gi+, j− + al gi−, j + ni , j . (12.4)

Der Term ni , j ist eine Realisierung einer mittelwertfreien Zufallsvariablen Ni , j , die durchPseudozufallszahlen zu erzeugen sind. Ebenso sei gi , j eine Realisierung der Zufallsvaria-blen Gi , j . In der Abb. 12.4 sind einige Beispiele von Texturen zu sehen, die durch obigesBeispielmodell berechnet wurden.

Abb. 12.3 Einfaches AR-Modell: Festlegung derVorgänger

Page 269: Bildverarbeitung und Objekterkennung ||

12.3 Autoregressive Prozesse (AR) 257

Abb. 12.4 Durch AR-Prozesse erzeugte Texturen

Haben wir dagegen eine Textur gegeben, so können wir zumindestens versuchen, dieParameter des AR-Modells aus der Textur mit der MMSE-Methode (siehe Abschnitte 21.2,9.5.3) zu schätzen:

S = E⎛

⎝∑(i , j)∈B

[aloGi−, j− + aoGi , j− + aroGi+, j− + alGi−, j + Ni , j −Gi , j]⎞

⎠→ Minimum.

(12.5)

Dabei ist B ein geeignet zu wählender Bereich der Textur im Bild. Wenn wir berück-sichtigen, dass wir mittelwertfreie Zufallsvariablen Ni , j annehmen und diese Zufallsva-riablen unabhängig zwischen den Pixeln sind, dann verschwinden einige Erwartungs-werte und es bleiben als zu bestimmende Daten nur noch Erwartungswerte der Form∑(i , j)∈B E(Gi−x , j−y ⋅ Gi−u , j−v ) übrig, die aus einem einzigen Bild der Textur zu schätzen

sind. Diese Schätzungen sind aber nur realistisch, wenn die Erwartungswerte von denKoordinatendifferenzen abhängen. Dies ist z. B. bei stationären Feldern G der Fall, waswir im Folgenden annehmen. In diesem Falle brauchen wir nur noch die SchätzungenAk , l = ∑

(i , j)∈B gi , j gi−k , j−l aus dem Bild B zu berechnen. Dies ist gerade die zyklische Au-tokorrelationsfunktion des Bildes B. Die Gaußschen Normalengleichungen lauten dann:

⎛⎜⎜⎜⎜⎝

A, A, A, A−,

A, A, A, A−,

A, A, A, A−,

A−, A

−, A−, A,

⎞⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎝

aloaoaroal

⎞⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎝

A,

A,

A−,

A,

⎞⎟⎟⎟⎟⎠

. (12.6)

Page 270: Bildverarbeitung und Objekterkennung ||

Teil II3D-Bildverarbeitung

Page 271: Bildverarbeitung und Objekterkennung ||

133D-Geometrie

Im folgenden Kapitel werden wir einige Basiskonzepte der 3D-Geometrie vorstellen, wel-che für die nachfolgenden Verfahren der 3D-Rekonstruktion wesentlich sind. Vorgestelltwerden die notwendigen Werkzeuge zur Modellierung von projektiven Transformationenund Rotationen mittels homogener Koordinaten und Quaternionen.

13.1 Geometrische Transformationen und homogene Koordinaten

Bevor wir die wichtigsten Grundprinzipien der 3D-Bildverarbeitung erläutern, müssenwirgeometrische Transformationen und ihre algebraischen Beschreibungen näher betrachten.Wir werden dabei in diesem Abschnitt das Konzept von homogenenKoordinaten kennen-lernen, welches für die Beschreibung von projektiven Transformationen sinnvoll ist.

13.1.1 Geometrische Transformationen in der Ebene

Die wichtigsten algebraischen Hilfsmittel zur Beschreibung der Transformationen sindhomogene Koordinaten. Zuvor sei nochmals an die elementaren geometrischen Transfor-mationen erinnert, siehe auch Abschn. 1.4.3.

• Translationen:

x′ = x + a. (13.1)

Die zwei Parameter der Verschiebung können durch eine Punktreferenz, d. h. einenQuellpunkt und einen Zielpunkt bestimmt werden.

• Rotationen:

x′ = R ⋅ x. (13.2)

261H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_13, © Springer Fachmedien Wiesbaden 2014

Page 272: Bildverarbeitung und Objekterkennung ||

262 13 3D-Geometrie

Der eine Parameter der Rotation (Rotationswinkel) kann durch eine Punktreferenz, d. h.einen Quellpunkt und einen Zielpunkt bestimmt werden. Es wird stets um den Koordi-natenursprung rotiert.

• Euklidische Transformationen (Kongruenztransformationen):

x′ = R ⋅ x + a. (13.3)

Eigentlich gehören auch Spiegelungen dazu, diese lassen wir aber hier bewusst weg. Diedrei Parameter der Euklidischen Transformation (ohne Spiegelung) können durch zweiPunktreferenzen, d. h. zwei Quellpunkte und zwei Zielpunkte bestimmt werden.

• Ähnlichkeitstransformationen:

x′ = s ⋅R ⋅ x + a. (13.4)

Die vier Parameter der Ähnlichkeitstransformationen (auch ohne Spiegelungen) kön-nen durch zwei Punktreferenzen, d. h. zwei Quellpunkte und zwei Zielpunkte bestimmtwerden.

• Affine Transformationen:

x′ = A ⋅ x + a. (13.5)

Da der Verschiebungsvektor a eine besondere Bedeutung besitzt, bezeichnen wir seineKomponenten mit ai und nicht mit ai. Ansonsten müssten wir die Verschiebungenim 3D-Raum mit ai bezeichnen.Die sechs Parameter der affinen Transformationen können durch drei Punktreferenzen,d. h. drei Quellpunkte und drei Zielpunkte bestimmt werden. Komponentenweise auf-geschrieben ist dann:

x′ = ax + ay + ay′ = ax + ay + a .

(13.6)

Es ist zu bemerken, dass Geraden in Geraden übergehen und parallele Geraden auchweiterhin parallel bleiben. Ein Rechteck kann folglich in ein Parallelogramm überführtwerden. Weiterhin ist das sogenannte Teilverhältnis invariant, siehe Abschn. 14.3.1. Dieaffinen Transformationen sind die allgemeinsten linearen Koordinatentransformatio-nen im Sinne von „linearen Funktionen“ und nicht von linearen Operatoren. Weiterhinhängen sie eng mit dem Begriff des affinen Raumes und dessen Basis zusammen. Eineaffine Basis besteht aus drei Punkten, weil eine affine Transformation durch drei Punkt-referenzen bestimmt ist.

• Projektive Transformationen:

x′ =ax + ay + aax + ay + a

, y′ =ax + ay + aax + a y + a

. (13.7)

Page 273: Bildverarbeitung und Objekterkennung ||

13.1 Geometrische Transformationen und homogene Koordinaten 263

Projektive Transformationen der Ebene werden auch als Homographien bezeichnet. Ei-ne projektive Transformation der Ebene wird durch acht Parameter bestimmt, folglichbestimmen vier Quellpunkte und vier Zielpunkte eindeutig eine projektive Transfor-mation der Ebene. Formal zählt man neun Parameter, da wir aber Zähler und Nennermit einer Konstanten multiplizieren können ohne dass sich die Transformation ändert,sind es eben „echt“ nur acht Parameter. Diese Transformation ist offenbar nicht mehrlinear, aber Geraden gehen immer noch in Geraden über, deshalb werden sie auch oftKollineationen genannt. Die Parallelität von Geraden bleibt allerdings nicht mehr er-halten. Ein Rechteck kann demnach in ein beliebiges Viereck überführt werden. Dieprojektiven Transformationen (13.7) werden durch gebrochen rationale Funktionen be-schrieben, allerdings ist der Zähler und Nenner für sich wieder linear. Setzen wir denNenner gleich Null, so erhalten wir eine Gerade, dessen Punkte (sofern der Zähler un-gleichNull ist) insUnendliche abgebildetwerden.Wir nennen diese spezielleGerade die„projektive Gerade“. Da vier Punktreferenzen eine projektive Transformation eindeutigbestimmen, bestimmen vier Punkte auch die projektive Basis der projektiven Ebene. Fürdie analytische projektiveGeometrie ist es unerlässlich zu sogenanntenhomogenenKo-ordinaten überzugehen, da wir in der projektiven Geometrie unter anderem auch denSchnittpunkt zweier paralleler Geraden ausrechnen wollen.

13.1.2 Homogene Koordinaten

Eine „Tilde“ über einem Symbol soll im Folgenden ausdrücken, dass es homogene undkeine kartesischen Koordinaten sind. Wir führen jetzt formal folgende Substitution ein:

x =xz; y =

yz. (13.8)

Dann ergibt sich für die projektive Transformation:

x′ =a xz + a

yz + a

a xz + ayz + a

, y′ =a xz + a

yz + a

a xz + ayz + a

. (13.9)

Damit ist:

x′ =a x + a y + a za x + a y + a z

, y′ =a x + a y + a za x + a y + a z

. (13.10)

Nun substituieren wir ebenso:

x′ =x′

z′; y′ =

y′

z′, (13.11)

Page 274: Bildverarbeitung und Objekterkennung ||

264 13 3D-Geometrie

dann ist offensichtlich:

x′ = a x + a y + a zy′ = a x + a y + a z

z′ = a x + a y + a z.

(13.12)

In Matrixschreibweise ist nun:

x′ = A ⋅ x =⎛⎜⎝

a a aa a aa a a

⎞⎟⎠

⎛⎜⎝

xyz

⎞⎟⎠. (13.13)

Multiplizieren wir mit einer Konstanten c den Zähler und Nenner, so ist:

x′ =c ⋅ xc ⋅ z

=xz, y′ =

c ⋅ yc ⋅ z

=yz. (13.14)

Das heißt aber:

x′ = A ⋅ x (13.15)

ist äquivalent zu:

x′ = c ⋅ A ⋅ x, (13.16)

d. h. beschreibt die gleiche projektive Transformation. Die Form:

⎛⎜⎝

x′

y′

z′

⎞⎟⎠=⎛⎜⎝

a a aa a aa a

⎞⎟⎠

⎛⎜⎝

xyz

⎞⎟⎠

(13.17)

entspricht der (13.13) für ein spezielles c, nämlich: c = a

. Damit ist sie aber nicht völligäquivalent, da a ≠ nicht erfüllt seinmuss.Wir bezeichnen dabei dieMatrixkoeffizientenin (13.17) auch mit ai j , obwohl es nicht die gleichen ai j wie in (13.13) sind.

Die homogenenKoordinaten bieten einen weiteren Vorteil, man kann statt eines affinenRaumes jetzt einen projektiven Raum analytisch beschreiben. Einen Punkt in kartesischenKoordinaten erweitern wir einfach zu:

(xy) ⇔

⎛⎜⎝

xy

⎞⎟⎠⇔

⎛⎜⎝

xyz

⎞⎟⎠

(13.18)

Page 275: Bildverarbeitung und Objekterkennung ||

13.1 Geometrische Transformationen und homogene Koordinaten 265

und können damit jeden Punkt der projektiven Ebene beschreiben. Allerdings können wirwieder mit einer beliebigen Konstanten multiplizieren:

c ⋅⎛⎜⎝

xyz

⎞⎟⎠

(13.19)

unddieserVektor von homogenenKoordinaten beschreibt denselben Punkt improjektivenRaum.

Punkte mit z = sind sogenannte uneigentliche Punkte, die zur projektiven Ebene,aber nicht zur affinen Ebene gehören, da sie keine kartesischen Koordinaten besitzen. Wirbetrachten nun einmal eine beliebige Gerade in kartesischen Koordinaten:

ax + by + c = . (13.20)

Wir substituieren wieder durch die homogenen Koordinaten mit

x =xz; y =

yz. (13.21)

Damit erhalten wir für eine Gerade im projektiven Raum in homogenen Koordinaten:

ax + b y + cz = . (13.22)

Wir setzen nun a = , b = , c = und erhalten eine spezielle Gerade mit der Gleichungz = . Diese Gerade heißt uneigentliche projektive Gerade und besteht nur aus uneigent-lichen Punkten. Umgekehrt liegen auch alle uneigentlichen Punkte der projektiven Ebeneauf dieser uneigentlichen Geraden.

Nun wollen wir den Schnittpunkt einer beliebigen Geraden (13.22) mit der uneigentli-chen Geraden z = ausrechnen. Es ergibt sich trivialerweise ax+b y = . Daher ist x

y = − ba

und folglich:

Sg = λ ⋅⎛⎜⎝

−ba

⎞⎟⎠

(13.23)

der eindeutig bestimmte Schnittpunkt beider Geraden. Der Schnittpunkt scheint sinnvol-lerweise nur von der Richtung der Geraden abzuhängen, nicht aber von deren Verschie-bung. Zwei parallele Geraden:

ax + b y + cz = ax + b y + dz =

(13.24)

Page 276: Bildverarbeitung und Objekterkennung ||

266 13 3D-Geometrie

haben den gleichen Schnittpunkt wie mit der uneigentlichen Geraden, nämlich exakt Sgnach (13.23). Alles bisher Formulierte gilt natürlich auch für den projektiven 3D-Raumund dessen projektive Ebenen, d. h.:

ax + b y + cz + du = (13.25)

ist die Gleichung einer projektiven Ebene und u = beschreibt die uneigentliche Ebe-ne. Alle uneigentlichen Punkte des projektiven Raumes bilden die uneigentliche projektiveEbene. Eine Ebene schneidet die uneigentliche Ebene in einer uneigentlichen Geraden, dieauch Schnittgerade zweier paralleler Ebenen ist.

Sind in der projektiven Ebene zwei Punkte x und x gegeben, so geht eindeutig eineGerade durch die beiden Punkte mit:

x = λx + μx , λ, μ ∈ R. (13.26)

Dies bedeutet wiederum:

xT(x × x) = , (13.27)

d. h. x × x charakterisiert in homogenen Koordinaten eindeutig eine Gerade, die durchzwei Punkte geht. Mit der Schreibweise (13.22) nennen wir a = (a, b, c)T den charakteris-tischen Vektor einer Geraden. Nun betrachten wir zwei Geradenmit den beiden charakte-ristischen Vektoren a und a. Der Schnittpunkt x dieser beiden Geraden erfüllt xT ⋅a = ,xT ⋅ a = , d. h. x steht senkrecht auf den Vektoren a und a. Damit ist:

x = a × a (13.28)

der Schnittpunkt beider Geraden in homogenen Koordinaten. Dies zeigt beeindruckenddie Dualität von Punkt und Gerade. Nochmals zusammengefasst:

• x × x beschreibt eine Gerade durch zwei Punkte,• a × a ist der Schnittpunkt zweier Geraden.

Nun gehen wir noch weiter und betrachten eine beliebige Gerade a, die durch den Schnitt-punkt a ×a der beiden Geraden a und a geht. Für jeden Punkt x dieser Geraden amussnatürlich aT ⋅ x = gelten, also auch aT ⋅ (a × a) = , was als Beschreibung eines Gera-denbüschels dient. Daher ist:

a = λa + μa (13.29)

als homogene Koordinaten interpretiert die Beschreibung einer projektiven Geraden. Da-mit ist ein Geradenbüschel ebenfalls ein eindimensionaler projektiver Raum.

Page 277: Bildverarbeitung und Objekterkennung ||

13.1 Geometrische Transformationen und homogene Koordinaten 267

In einem n-dimensionalen, projektiven Raum besteht die projektive Basis aus n + Punkten,wobei beliebige n Punkte der Basis linear unabhängig seinmüssen. In homogenenKoordinaten ist es deshalb auch möglich, uneigentliche Punkte mit in die Basis aufzuneh-men. Die sogenannte projektive Standardbasis besteht aus den n + Punkten:

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

,

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

, . . . ,

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

,

⎛⎜⎜⎜⎜⎜⎜⎝

⎞⎟⎟⎟⎟⎟⎟⎠

. (13.30)

Betrachten wir diese nochmals für die projektive Ebene, so ist:

⎛⎜⎝

⎞⎟⎠,⎛⎜⎝

⎞⎟⎠,⎛⎜⎝

⎞⎟⎠,⎛⎜⎝

⎞⎟⎠. (13.31)

die projektive Standardbasis in homogenen Koordinaten. Der erste Punkt ist der Schnitt-punkt der x-Achsemit der uneigentlichen Geraden, der zweite Punkt der Schnittpunkt dery-Achse mit der uneigentlichen Geraden, der dritte Punkt ist der Koordinatenursprung(kartesische Koordinaten (, )T ) und der vierte hat die kartesischen Koordinaten (, )T .

Transformationen werden wir im Zusammenhang mit Kameramodellen immer in derMatrixschreibweise bezüglich homogenerKoordinaten angeben, so lautet nun z. B. eine 2D→ 2D Euklidische Bewegung (ohne Spiegelung):

x′ = A ⋅ x =⎛⎜⎝

cos φ − sin φ asin φ cos φ a

⎞⎟⎠

⎛⎜⎝

xyz

⎞⎟⎠. (13.32)

Eine interessante Frage ist oft: Eine Gerade oder Ellipse wird affin oder projektiv trans-formiert, wie transformieren sich dann die Koeffizienten der Geraden bzw. Ellipse? Dazubetrachten wir wieder die Gleichung einer Geraden gT x = und eine projektive Trans-formation mit x′ = Ax. In die Gleichung der transformierten Geraden g′T x′ = setzenwir die Transformation ein und erhalten g′T x′ = g′TAx = . Damit können wir ablesen:γ ⋅ g = ATg′. Ähnlich können wir mit Kurven zweiter Ordnung verfahren. Eine Kurvezweiter Ordnung beschreibt:

ax + bxy + c y + dx + e y + f = . (13.33)

Nun führen wir die Abkürzungen

E =⎛⎜⎝

a b/ d/b/ c e/d/ e/ f

⎞⎟⎠, x =

⎛⎜⎝

xy

⎞⎟⎠

(13.34)

Page 278: Bildverarbeitung und Objekterkennung ||

268 13 3D-Geometrie

ein und können in homogenen Koordinaten notieren S(x, x) = xTEx = . Für die trans-formierte Kurve gilt dann S′(x′ , x′) = x′TE′x′ = xTATE′Ax. Daher gilt: αE = ATE′A.Nun betrachten wir zwei beliebige Punkte y und z. Punkte auf der Geraden durch die bei-den Punkte werden durch x = y + λz beschrieben. Wir betrachten nun den Schnitt dieserGeraden mit einer Kurve zweiter Ordnung. Dazu setzen wir den Punkt x der Geraden inS(x, x) = ein:

S(x, x) = (y + λz)TE(y + λz) = S(y, y) + λS(y, z) + λS(z, z) = . (13.35)

Dies ist offensichtlich eine quadratische Gleichung in λ, welche im Allgemeinen zwei Lö-sungen besitzt. Wir schreiben die Lösung einmal auf und betrachten den Radikanten unterderWurzel. Es fallen beide Lösungen zu einer zusammen, wenn der Radikant Null ist. Diesist offenbar dann der Fall, wenn die Gerade eine Tangente an die Kurve ist. Die Bedingungdafür, dass der Radikant gleich Null ist, lautet:

S(y, z) − S(y, y) ⋅ S(z, z) = . (13.36)

Dies kann nun so interpretiert werden: Der Punkt y sei fest vorgegeben. Dann wird einPunkt z derart gesucht, dass (13.36) erfüllt ist. Da (13.36) quadratisch ist, gibt es zweigrundlegend verschiedene Lösungen, d. h. zwei Tangenten an die Kurve zweiter Ordnung.Wir nehmen nun an, y liege selbst schon auf der quadratischen Form, dann folgt trivia-lerweise S(y, y) = und damit als Bestimmungsgleichung S(y, z) = . Wenn z irgendwoliegt, haben wir zwei Schnittpunkte, wobei einer y selbst sein muss.Wenn es also nur einenSchnittpunkt geben soll, geht dies nur, wenn z selbst auf der Tangente an y liegt. Dies kön-nen wir auch interpretieren zu yTEz = yT l = für alle z auf der Tangente in y. Es gibtfolglich einen Geradenvektor l, der die Gleichung erfüllt. Es kann nur einen geben, d. h.l = Ez ist die Lösung und als einzige Gerade kann dies nur die Tangente im Punkte y derquadratischen Form sein. Da wir die Punkte z auf der Tangente nicht kennen, nehmen wireinen, den wir kennen, nämlich y. Wir lösen nun auf und erhalten y = E− l und setzen diesin die quadratische Form yTEy = ein und erhalten:

lTE− l = . (13.37)

Dies ist eine Bedingungsgleichung für alle Tangenten an eine quadratische Form. Diesnennt man die duale quadratische Form, d. h. die quadratische Form wird beschrieben alsEnveloppe (Einhüllende) aller Tangenten. Daher können wir nun ableiten:

Lemma 13.1 Eine Gerade durch zwei Punkte y, z ist genau dann tangent an eine Kurvezweiter Ordnung mit der Matrix E, wenn die Gleichung:

(y × z)TE−(y × z) = (13.38)

erfüllt ist.

Page 279: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 269

Die quadratische Form mit der inversen Matrix ist, wie oben dargelegt, die duale qua-dratische Form. Der Vektor l, der eine Gerade durch zwei Punkte beschreibt, errechnetsich, wie schon bekannt, zu l = y × z.

13.2 Beschreibung von 3D-Rotationen

In der 3D-Bildverarbeitung spielen 3D↔ 3D Ähnlichkeitstransformationen oder Euklidi-sche Transformationen eine große Rolle, z. B. bei der Beschreibung der äußeren Parametereiner Kamera.Wesentlicher Bestandteil dieser Transformationen sind 3D-Rotationen. Da-her soll in den folgenden Abschnitten genauer auf 3D-Rotationen eingegangen werden.

13.2.1 Beschreibung durch Rotationsmatrizen

Wir betrachten als Koordinatentransformation eine „reine“ Rotation:

y = Rx. (13.39)

Die Matrix R heißt Rotationsmatrix oder Drehmatrix, wenn

1. die Matrix R eine Orthogonalmatrix ist, d. h. wenn die Zeilenvektoren und die Spalten-vektoren je für sich ein Orthonormalsystem bilden, damit gilt R− = RT ,

2. die Beziehung det(R) = + gilt, d. h. es dürfen in der Abbildung außer Drehungen keineSpiegelungen enthalten sein.

In der Ebene wird eine Rotationsmatrix simpel durch:

R = (cos φ − sin φsin φ cosφ

) (13.40)

ausgedrückt, dazu reicht ein Rotationswinkel φ aus. Man vermutet nun sicher, dass im 3D-Raum zweiWinkel benötigt werden. Dies ist aber nicht der Fall, wir benötigen (schonEulerhat dies bewiesen) drei Größen, entweder

• Drei Eulersche Winkel (Rotationen um die Koordinatenachsen), oder• Eine Drehachse, die durch den Koordinatenursprung geht (zwei Parameter) und einen

Rotationswinkel bezüglich dieser Drehachse.

Diese drei Parameter sind immer in einer Rotationsmatrix R enthalten, d. h. aus den Para-metern kann stets eine Rotationsmatrix berechnet werden und umgekehrt, aus der Rotati-onsmatrix können die Parameter wieder berechnet werden. Beschreibt eine Rotationsma-trix nun eine Rotation des Koordinatensystems oder die eines Punktes in einem gegebenen

Page 280: Bildverarbeitung und Objekterkennung ||

270 13 3D-Geometrie

Koordinatensystem? Je nach Schreibweise und Interpretation der Formel (13.39) ergibt sichFolgendes. In erster Linie bedeutet die Schreibweise (13.39) eine Rotation des Punktes x imgleichen Koordinatensystem, d. h. y sind die Koordinaten des rotierten Punktes im glei-chen Koordinatensystem. Nun nehmen wir einmal an, das Koordinatensystem sei rotiert.Dann haben wir drei neue Basisvektoren r , r, r, die auch ein Orthonormalsystembildenmüssen. Diese drei Basisvektoren fassen wir als Spaltenvektoren auf und schreiben sie alsSpalten in eine Matrix R. Dann können wir den Punkt x nach dieser Basis entwickeln undnennen die Koeffizienten vor den Basisvektoren yT = (y , y, y):

x = yr + yr + yr = R ⋅ y. (13.41)

Damit gilt:

x = R ⋅ y → y = RT ⋅ x. (13.42)

Vergleichen wir (13.42) mit der Punktransformation (13.39), so müssen wir für die Inter-pretation bezüglich der Rotation des Koordinatensystems die inverse Rotation verwenden.Wir rotieren entweder den Punkt „vorwärts“, oder die Koordinatenachsen „rückwärts“.Wenn folglich ein Koordinatensystem und eine Rotationsmatrix gegeben sind, dann sinddie neuen Basisvektoren immer die Zeilenvektoren der Rotationsmatrix.

Nun denken wir uns ein x , y, z-Referenzkoordinatensystem und ein körpereigenesu, v ,w-Koordinatensystem, welche zu Beginn identisch sein sollen. Alle Koordinaten-systeme sollen Rechtssysteme bilden. Nun führen wir bezüglich des starren x , y, z-Referenzkoordinaten-systemes eine Drehung α um die z-Achse, anschließend eine Dre-hung β um die y-Achse und anschließend eine Drehung γ um die x-Achse aus. DieDrehwinkel α , β, γ heißen Eulersche Winkel. Die Rotationsmatrix R ergibt sich dann:

R =⎛⎜⎝

cos γ − sin γ sin γ cos γ

⎞⎟⎠⋅⎛⎜⎝

cos β sin β

− sin β cos β

⎞⎟⎠⋅⎛⎜⎝

cos α − sin α sin α cos α

⎞⎟⎠

= Rx ⋅ Ry ⋅ Rz . (13.43)

Die positive Orientierung impliziert, dass bei der Rotation um die y-Achse die Vorzeichenwechseln. Da die Matrixmultiplikation nicht kommutativ ist, dürfen wir nicht einfach dieReihenfolge vertauschen. Schauen wir von der „Spitze“ einer Drehachse auf die rotierendeEbene, dann wird immer „links herum“ um die Drehachse gedreht, d. h. in Pfeilrichtungwird immer „rechts herum“ gedreht. Diese Rotationen bezogen sich bisher auf ein starres,gegebenes Referenzkoordinatensystem, deshalb werden diese Art Rotationen oft als abso-lute Rotationen bezeichnet. Die Rotation (13.43) lässt sich, obwohl die Formel diesselbebleibt, noch anders deuten. Wir haben diese Formel bisher im Sinne einer Punkttransfor-mation von „rechts nach links“ interpretiert, d. h. zuerst Drehung um die z-Achse, dannum die (alte) y-Achse, dann um die (alte) x-Achse. Wir können (13.43) tatsächlich auchvon „links nach rechts“ interpretieren:

Page 281: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 271

a) Eine Drehung um γ bezüglich der x-Achse, oder was zu Beginn dasselbe ist, um dieu-Achse.

b) Eine Drehung um β bezüglich der v-Achse, oder was dasselbe ist, der neuen y′-Achse,wenn die beidenKoordiantensystemewieder zurDeckung gebrachtwerden.Daher gibtes auch eine neue z′-Achse.

c) Eine Drehung um α bezglich der w-Achse, oder was dasselbe ist, bezüglich der neuenz′′-Achse, die aus der z′-Achse hervorgegangen ist.

Da sich diese Rotationen von „links nach rechts“ immer auf die zuletzt erzeugte neue Achsebeziehen, nennt man diese auch relative Rotationen. Wie kann man nun beweisen, dassdiese Interpretation auch richtig ist? Wir zeigen die Idee:

Der Einfachheit halber betrachten wir nur zwei von den drei Rotationen, nämlich:

⎛⎜⎝

cos β sin β

− sin β cos β

⎞⎟⎠⋅⎛⎜⎝

cos α − sin α sin α cos α

⎞⎟⎠= D ⋅

⎛⎜⎝

cos β sin β

− sin β cos β

⎞⎟⎠. (13.44)

Auf der linken Seite von (13.44) steht die uns bekannte Interpretation von „rechts nachlinks“ und auf der rechten Seite natürlich auch. Aber auf der rechten Seite beginnen wirmitder Rotation umdie y-Achse,mit derwir auf der linken Seite enden.Da die Kommutativitätnicht gilt, ist die Matrix D auch nicht identisch mit der Rotationsmatrix bez. der z-Achse.DieMatrixD ist aber auf jeden Fall irgendeine Rotationsmatrix. Von jeder Rotationsmatrixkönnen wir eindeutig die

a) Rotations- oder Drehachse undb) den Rotations- oder Drehwinkel bestimmen.

Den Drehwinkel bestimmen wir in mathematisch positivem Sinne, d. h. die Drehachsebekommt eine Orientierung und wir drehen rechts herum, wenn wir in Richtung der Ori-entierung der Drehachse schauen. Berechnen wir nun die Drehachse und den Drehwinkelder Matrix D, so erhalten wir:

a) die Drehachse ist gerade die neue z′-Achse,b) der Drehwinkel ist identisch mit α.

Dies lässt sich recht einfach ausrechnen, dazu sollte der Leser erst den Abschn. 13.2.2 stu-dieren. Die Beziehung (13.44) lautet in Matrixform Ry ⋅Rz = D ⋅Ry , d. h.D = Ry ⋅Rz ⋅RT

y .Daraus folgt sofort Spur(D) = Spur(Rz), womit der Drehwinkel gleich α ist.

Die Punkte z der Drehachse von D erfüllen die Gleichung z = RyRzRTy z, d. h. es gilt

z′ = Rzz′ mit z′ = RTy z. Daher sind z′ die Punkte der Rotationsachse von Rz , also der z-

Achse. Aus z = Ryz′ folgt, dass z die Punkte der um die y-Achse gedrehten z-Achse sind.Daher ist die Rotationsachse diese gedrehte z-Achse, was wir zeigen wollten.

Page 282: Bildverarbeitung und Objekterkennung ||

272 13 3D-Geometrie

Da es bezüglich der Eulerwinkel viele Reihenfolgen undMöglichkeiten gibt, muss maneigentlich immer genau sagen, was man konkret unter den Eulerwinkeln versteht. Dazugibt es regelrecht Konventionen. Unsere obige Zerlegung entspricht z. B. der Luftfahrt-norm, der Yaw-Pitch-Roll-Norm. In der Reihenfolge als absolute Rotationen schreiben wirzyx (zuerst Rotation um die z-Achse, dann um die alte y-Achse, dann um die alte x-Achse,R = RxRyRz), oder als relative Rotationen xy′z′′ (zuerst um die alte x-Achse, dann umdie neue y-Achse y′, dann um die neueste z-Achse z′′ mit der gleichen RotationsmatrixR = RxRyRz ). Die Yaw-Pitch-Roll-Eulerwinkel heißen

• Gierwinkel,• Nickwinkel,• Rollwinkel.

Es gibt aber auch andere Konventionen, z. B. die x-Konvention. Diese wird beschriebendurch zxz oder zx′z′′ mit R = RzRxRz . Für die Rotationen um die z-Achsen brauchenwir natürlich zwei verschiedene Winkel. Die y-Konvention ist dann analog zyz bzw. zy′z′′.Bei Angaben von Eulerwinkeln muss man genau darauf achten, was für eine Konventionverwendet wird.

13.2.2 Bestimmung der Drehachse und des Drehwinkels

Bestimmung der Drehachse Die Drehachse muss durch den Koordinatenursprung ge-hen, da keine Translation vorliegt. Alle Punkte x auf derDrehachse sind invariant bezüglichder Drehung, müssen also die Fixpunktgleichung x = Rx erfüllen. Dies ist eine lineareshomogenes Gleichungssystem mit drei Gleichungen und drei Unbekannten. Daraus be-rechnen wir einen Einheitsvektor auf der Drehachse und legen noch dessen Orientierungfest. Numerisch bestimmen wir von der Matrix I − R den normierten Eigenvektor zumEigenwert Null.

Bestimmung des Drehwinkels Wir legen nun ein neues kartesisches Koordinatensys-tem mit drei orthonormalen Basisvektoren B = (b , b, b) fest, dabei ist dann B eineDrehmatrix. Der Basisvektor b sei dabei identisch mit dem berechneten Drehachsenein-heitsvektor, dieser bilde nun die z′-Achse. Die beiden anderen Basisvektoren b , b als x′-und y′-Achse werden so berechnet, dass sie zusammenmit b ein OrthonormalsystemmitRechtsorientierung bilden. Es sei nun ein Punkt x im ursprünglichen Koordinatensystemgegeben. Dieser besitze im neuen Koordinatensystem die Koordinaten x′ = (x′ , x′, x′)T ,d. h. es gilt x = x′b+x′b+x′b = Bx′. Für die rotierten Punkte y = Rx gelte analog y = By′,d. h. y′ = (y′ , y′, y′)T sind dieKoordinaten von y bezüglich der Basis b , b, b. Damit folgtaus y = Rx sofort By′ = RBx′ und damit y′ = BTRBx′, womit wir die gleiche Rotation im

Page 283: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 273

neuen Koordinatensystem beschrieben haben. Da wir aber in diesem Koordinatensystemals z′-Achse gerade die Drehachse gewählt haben, muss die Drehachse folgende Gestalthaben:

⎛⎜⎝

cos θ − sin θ sin θ cos θ

⎞⎟⎠= BTRB. (13.45)

Daraus können wir den Drehwinkel θ ausrechnen, wir nutzen dazu Rechenregeln bezüg-lich der Spur einer Matrix. Für ähnliche Matrizen A,C mit C = B−AB gilt Spur(C) =

Spur(A). Diese Beziehung wenden wir nun an und es folgt cos θ + cos θ + = Spur(R),damit ist schließlich:

cos θ =Spur(R) −

. (13.46)

13.2.3 Drehmatrix aus Drehachse und Drehwinkel

Diese Aufgabe ist sogar noch leichter. Aus der Drehachse, die jetzt gegeben ist, bestimmenwir wie im Abschn. 13.2.2 die Matrix B. Da der Drehwinkel jetzt gegeben ist, lösen wir dieBeziehung (13.45) nach der Rotationsmatrix R auf:

R = B ⋅⎛⎜⎝

cos θ − sin θ sin θ cos θ

⎞⎟⎠⋅ BT . (13.47)

13.2.4 Beschreibung von 3D-Rotationen durch Quaternionen

In diesem Abschnitt geht es nicht darum eine neueTheorie der Rotationen zu entwickeln,sondern nur darum, das Bekannte übersichtlicher und daher handlicher zu beschreiben.Das Analogon liegt im Zweidimensionalen. Statt der x , y-Ebene könnenwir auch die kom-plexe Ebene nutzen und versuchen eine Rotation in der komplexen Ebene zu beschreiben,und siehe, das funktioniert recht elegant:

In Polarkoordinaten lässt sich eine komplexe Zahl zu z = a + ib = re iφ schreiben.Betrachten wir nun die komplexen Zahlen auf dem Einheitskreis z = e iψ , wir wollen sieEinheits-C-Zahlen nennen, dann ergibt sich bei der komplexen Multiplikation:

z ⋅ z = re iφ ⋅ e iψ = re i(φ+ψ) . (13.48)

Damit haben wir die Rotation auf eine simple komplexe Multiplikation mit einer Einheits-C-Zahl zurückgeführt. Ist diese Idee nun auf den 3D-Raum übertragbar? Bevor wir das

Page 284: Bildverarbeitung und Objekterkennung ||

274 13 3D-Geometrie

klären, müssen noch ein paar Begriffe eingeführt werden. Bezüglich der Multiplikationkönnen wir jeder komplexen Zahl eine Matrix zuordnen und die Multiplikation von kom-plexen Zahlen durch diese Matrixmultiplikation ersetzen. Es ist also z = x + i y identifizier-bar mit der speziellen Matrix:

z = x + i y = (x y−y x

) . (13.49)

Mit z = x + i y , z = x + i y ist z ⋅ z = (xx − y y) + i(yx + x y). Andererseits gilt:

z ⋅ z = (x y−y x

) ⋅ (x y−y x

) = (xx − y y x y + yx−yx − x y −y y + xx

) . (13.50)

Die Matrixmultiplikation ist im Allgemeinen nicht kommutativ, speziell bei diesen Matri-zen ist aber die Kommutativität garantiert. Eine andere Darstellung ist die Matrix-Vektor-Darstellung im Sinne eines linearen Operators. Dazu fassen wir die komplexen Zahlenz = x + i y als Vektoren z = (x , y)T auf. Dann können wir die Multiplikation durch:

z = z ⋅ z ↔ z = Z ⋅ z = (x −yy x

) ⋅ (xy) (13.51)

beschreiben. Weiterhin sei an die Trivialität ∣z∣ = z ⋅ z erinnert, wobei z die zu z konjugiertkomplexe Zahl ist.

Bei der Verallgemeinerung auf den 3D-Raumbenötigen wir „komplexe Zahlen“ des 3D-Raumes. Aus der Algebra ist aber bekannt, dass es 3D-komplexe Zahlen „mit vernünftigenEigenschaften“ nicht geben kann, sondern die nächst höhere Dimension sind 4D-Zahlen,genannt Quaternionen. Diese hat schon Hamilton 1843 eingeführt. Quaternionen bildeneinen Schiefkörper, da die Multiplikation nicht kommutativ ist. Eine Quaternion schrei-ben wir zu z = a + ib + jc + kd und bezeichnen die Menge aller Quaternionen mit H.Daran sehen wir, dass wir dies als Erweiterung einer komplexen Zahl ansehen können.Andererseits erinnert diese Schreibweise auch an die 3D-Einheitsvektoren aus der linea-ren Algebra, daher können wir auch Quaternionen abstrakt auffassen als Summe einerskalaren Grösse und eines 3D-Vektors, was natürlich in der linearen Algebra als Unsinnanzusehen wäre. In der Menge der Quaternionen müssen wir nun eine Addition und eineMultiplikation einführen. Die Addition ist recht einfach zu definieren, diese definieren wirkomponentenweise. Die Multiplikation sollte eine „kompatible“ Erweiterung der komple-xen Multiplikation sein, daher scheint es nahe zu liegen, dass i ⋅ i = j ⋅ j = k ⋅ k = − seinsoll. Bei den gemischten Produkten kommt allerdings eine neueQualität hinzu, was soll i ⋅ jbedeuten? Da wir bei i , j, k an die Basisvektoren denken, benutzen wir für diese gemisch-ten Vektorprodukte das uns bekannte Vektorprodukt, wobei stets zu beachten ist, dass ein

Page 285: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 275

Rechtssystem entsteht. Folglich könnenwir jetzt die Verknüpfungstafel exakt aufschreiben:

i j k i j ki i − k − jj j −k − ik k j −i −

Die Multiplikation zweier Quaternionen wollen wir mit ⊗ bezeichnen. Die Addition istdamit kommutativ und assoziativ, die Multiplikation ist nur assoziativ, die Kommutativitätgilt infolge der enthaltenen Vektorprodukte nicht:

z ⊗ z ≠ z ⊗ z .

Multiplikation und Addition sind aber distributiv. Unter Beachtung der Vorzeichen kannaus der Verknüpfungstafel jeder Quaternion ähnlich der komplexen Zahlen (13.50) eineMatrix zugeordnet werden, so dass dieMatrizenmultiplikation zumQuaternionenproduktalgebraisch äquivalent ist:

z = a + ib + jc + kd ⇔ Z =

⎛⎜⎜⎜⎜⎝

a b c d−b a −d c−c d a −b−d −c b a

⎞⎟⎟⎟⎟⎠

. (13.52)

Mit z = a − ib − jc − kd ⇔ ZT bezeichnen wir die zu z konjugierte Quaternion. Wie manleicht überprüfen kann, gilt:

z ⊗ z = z ⊗ z , z ⊗ z = a + b + c + d = a + ∣a∣ = ∣z∣, aT = (b, c , d). (13.53)

Mit z− = z ⇔ Z− gilt:

(z ⊗ z)− = z− ⊗ z− , z− =z=⊗ zz ⊗ z

=z∣z∣

. (13.54)

Das Quaternionenprodukt können wir bezüglich der Definition noch übersichtlicherschreiben zu:

z ⊗ z = (a + a) ⊗ (a + a) = a ⋅ a + a ⋅ a + a ⋅ a + a ⊗ a. (13.55)

Durch diese kompakte Form reicht es also aus, das Quaternionenprodukt bezüglich zweierVektoren zu definieren, dies folgt aber sofort aus unser Definition zu:

a ⊗ a = −aT ⋅ a + a × a . (13.56)

Page 286: Bildverarbeitung und Objekterkennung ||

276 13 3D-Geometrie

Das erste Produkt ist das gewöhnliche Skalarprodukt und das zweite ist das Vektorprodukt,man beachte a × a = −a × a. Daher wird oft die Definition der Multiplikation zweierQuaternionen gleich in der Form:

z ⊗ z = (a + a) ⊗ (a + a) = [a ⋅ a − aT ⋅ a] + [a ⋅ a + a ⋅ a + a × a] (13.57)

angegeben. Eine andere Darstellung des Quaternionenproduktes ist die Matrix-Vektor-Darstellung im Sinne eines linearen Operators. Dazu fassen wir die Quaternionen z =

a + a = a + ia, + ja, + ka, als Vektoren z = (a , a, , a, , a,)T auf. Dann könnenwir die Multiplikation analog zu (13.51) durch

z = z ⊗ z ↔ z = Z ⋅ z =

⎛⎜⎜⎜⎜⎝

a a, a, a,−a, a −a, a,−a, a, a −a,−a, −a, a, a

⎞⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎝

aa,a,a,

⎞⎟⎟⎟⎟⎠

(13.58)

ausdrücken. Wenn wir eine analoge Darstellung für z ⊗ z haben wollen und als Vektorstatt z wieder z benutzenwollen, dannmüssenwir beachten, dass dieMultiplikation nichtkommutativ ist. Es ergibt sich dann

z = z ⊗ z ↔ z = Z∗ ⋅ z =

⎛⎜⎜⎜⎜⎝

a a, a, a,−a, a a, −a,−a, −a, a a,−a, a, −a, a

⎞⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎝

aa,a,a,

⎞⎟⎟⎟⎟⎠

. (13.59)

Man sieht, die rechte untere ×-Matrix ist jetzt transponiert.Mit einfachemNachrechnenkann man nun folgende Rechenregel für beliebige Quaternionen beweisen:

∣z ⊗ z∣ = ∣z∣ ⋅ ∣z∣. (13.60)

Nun wollen wir die Einheitsquaternionen beschreiben.Wie bei komplexen Zahlen nennenwir diejenigen Quaternionen Einheitsquaternionen, für die

∣z∣ = ∣a∣ + ∣a∣ = (13.61)

gilt. Daher können wir formal ∣a∣ = cos φ und ∣a∣ = sin φ setzen. Folglich bilden die folgen-den Quaternionen

zφ = cos φ + μ ⋅ sinφ (13.62)

Einheitsquaternionen. Dabei ist μ irgendein Einheitsvektor, d. h. es muss nur gelten ∣μ∣ = .Diese Darstellung erinnert schon einmal an die Eulersche Formel, die Verallgemeinerunglautet nun:

eμφ = cos φ + μ sin φ. (13.63)

Page 287: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 277

Multiplizieren wir nun eine Einheitsquaternion mit einem beliebigen Vektor (die Quater-nion besteht nur aus dem vektoriellen Anteil), so ergibt sich:

zφ ⊗ a = (cos φ + μ sin φ) ⊗ a = cosφ ⋅ a − sinφ ⋅ (μT ⋅ a) + sin φ ⋅ (μ × a) (13.64)

a⊗ zφ = a⊗ (cos φ + μ sin φ) = cosφ ⋅ a − sinφ ⋅ (μT ⋅ a) − sin φ ⋅ (μ × a) (13.65)

Steht der Einheitsvektor μ senkrecht auf a, d. h. μTa = , dann reduzieren sich die Formelnauf:

zφ ⊗ a = (cos φ + μ sin φ) ⊗ a = cos φ ⋅ a + sin φ ⋅ (μ × a) (13.66)a⊗ zφ = a⊗ (cos φ + μ sin φ) = cos φ ⋅ a − sin φ ⋅ (μ × a). (13.67)

In diesem Spezialfall gilt:

∣zφ ⊗ a∣ = ∣a⊗ zφ ∣ = cos φ∣a∣ + sin φ∣μ × a∣ = (cos φ + sin φ) ⋅ ∣a∣ = ∣a∣. (13.68)

Aus den letzten beiden Gleichungen folgt dann:

zφ ⊗ a = a⊗ zφ = a⊗ z−φ , μTa = . (13.69)

In diesem Falle ist das Produkt also zerlegt worden in eine Kosinuskomponente in a-Richtung und eine Sinuskomponente in μ × a-Richtung, d. h. aber, der Vektor a beschreibteine Drehung um α bezüglich der Drehachse μ! Dies ist ja eigentlich das, was wir analogder komplexen Zahlen herleiten wollten, nur mit dem Unterschied, dass wir noch dieentscheidende Restriktion haben, dass a senkrecht auf μ stehen muss.

Daher betrachten wir nun den allgemeinen Fall ohne Restriktion an a und versuchendiesen auf den bisherigen Fall zurückzuführen. Wir zerlegen a in eine parallele und eineorthogonale Komponente bezüglich der Drehachse μ:

a = a∥

+ a�

. (13.70)

Da das Distributivgesetz gilt, bilden wir folgenden Ausdruck:

zφ ⊗ (a∥

+ a�

) ⊗ z−φ = zφ ⊗ a∥

⊗ z−φ + zφ ⊗ a�

⊗ z−φ = a∥

+ zφ ⊗ a�

⊗ z−φ . (13.71)

Die Identität zφ ⊗ a∥

⊗ z−φ = a∥

ist nahezu trivial, zumindestens ist sie einfach und formalnachzurechnen. Der Ausdruck zφ ⊗ a

⊗ z−φ ist leicht interpretierbar. Dazu setzen wirKlammern (zφ ⊗ a

)⊗ z−φ . Die erste Klammer beschreibt eine Rotation der orthogonalenKomponente um φ bezglich der Drehachse μ. Anschließend wird dieses Ergebnis (welchesja wieder orthogonal zu μ ist) wieder um φ gedreht, so dass schließlich die orthogonaleKomponente insgesamt um ⋅φ gedreht wird. Die Addition dieser mit a

ergibt schließlichdie eigentliche Rotation. Also beschreibt der Ausdruck zφ ⊗ a ⊗ z−φ die Rotation von a

Page 288: Bildverarbeitung und Objekterkennung ||

278 13 3D-Geometrie

um den Winkel ⋅ φ bezüglich der Drehachse μ. Daher setzen wir als Einheitsquaternionz φ

= cos φ

+ sin φ μ = a + a an und dann beschreibt

x′ = z φ⊗ x ⊗ z−φ

(13.72)

die gewünschte Rotation um φ und ist äquivalent der Transformation x′ = R⋅x.Wir könnendiese Transformation auch mit der Eulerschen Formel aufschreiben:

x′ = eμφ ⊗ x ⊗ e−μ

φ . (13.73)

In vektorieller Form aufgelöst ergibt sich zunächst:

x′ = ax + axTa − ax × a − aaTx + (aTx)a + aa × x + (a × x)Ta − (a × x) × a. (13.74)

Ein Term ist Null und andere heben sich auf. Wenn wir für mehrfache Vektorprodukte dieRegel:

a × (b × c) = b(aTc) − c(aTb) (13.75)

beachten, dann ist:

(a × x) × a = −a(aTx) + x(aTa). (13.76)

Folglich ergibt sich insgesamt:

x′ = (a − aTa)x + a(a × x) + (aTx)a, a + a = . (13.77)

Wennwir nun konkret in diese Transformation die obigeWinkelschreibweise der Einheits-quaternion einsetzen und die Beziehungen sinφ = sin φ cosφ, cos φ = cos φ − sin φ, − cos φ = sin φ benutzen, so erhalten wir die Rotationsdarstellung nach Rodrigues:

x′ = cosφx + sin φ(μ × x) + ( − cosφ)(μTx)μ. (13.78)

Als nächstes ist die Beschreibung der Hintereinanderausführung zweier Drehungen inter-essant:

• 1. Drehung: zμ ,φ

• 2. Drehung: zμ ,φ.

Damit ist:

arot = zμ ,φ⊗ (zμ ,

φ⊗ a⊗ z−μ ,

φ) ⊗ z−μ ,

φ

= (zμ ,φ⊗ zμ ,

φ) ⊗ a⊗ (zμ ,

φ⊗ zμ ,

φ)−. (13.79)

Page 289: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 279

Aus dieser Formel ist ersichtlich: Die Einheitsquaternion

zμ ,ψ = zμ ,φ⊗ zμ ,

φ

(13.80)

beschreibt die neueDrehachse und den neuenDrehwinkel, d. h. dieHintereinanderausfüh-rung ist die Multiplikation der beiden Einheitsquaternionen in umgekehrter Reihenfolge.Durch einfaches Ausrechnen finden wir:

cosψ= cos

φ

cos

φ

− (μT

μ) sinφ

sin

φ

(13.81)

als skalare Komponente der Einheitsquaternion und

μ sinψ= sin

φ

cos

φ

μ + cos

φ

sin

φ

μ + (μ × μ) sin

φ

sin

φ

(13.82)

als vektorielle Komponente der neuen Einheitsquaternion.

13.2.5 Exponentielle Form einer Quaternion

Im Zusammenhang mit den Rotationen hatten wir die Eulersche Beziehung verwendet,insbesonders im Zusammenhang mit Einheitsquaternionen können wir schreiben:

z = a + a = ∣z∣ ⋅ eμφ , μ =a∣a∣

, cos φ =a∣z∣

, sin φ =∣a∣∣z∣

. (13.83)

Dabei wird oft μ als Eigenachse und φ als Eigenwinkel oder Phase bezeichnet. Was bedeutetaber allemein ez?Wir können dies leicht auf die obige Darstellung zurückführen, abermanvesteht grundsätzlich unter dieser Notation eine abkürzende Schreibweise für die Taylor-reihe bezüglich der Quaternionen-Operationen:

ez =∞

∑k=

zk

k!. (13.84)

Für z = a + ib + jc + kd schreiben wir nun:

ez = ea+ib+ jc+kd = ea ⋅ e ∣a∣(a∣a∣ ) = ea ⋅ e ∣a∣μ . (13.85)

Ist z ⊗ z = z ⊗ z erfüllt, dann gilt auch die folgende Rechenregel:

ez ⊗ ez = ez⊕z . (13.86)

Im Allgemeinen gilt dies aber auf keinen Fall. Auf jeden Fall gilt dann aber immer:

eμφ ⊗ eμφ = eμ(φ+φ) . (13.87)

Page 290: Bildverarbeitung und Objekterkennung ||

280 13 3D-Geometrie

Als Gegenbeispiel für den ganz allgemeinen Fall dient:

eπi ⊗ eπ j = . (13.88)

Andererseits ist aber

eπi⊕π j = cos π√ +

i + j√sin π

√. (13.89)

13.2.6 Quaternionen über komplexen Zahlen

Quaternionen bestehen aus vier Größen, komplexe Zahlen aus zwei Größen. Daher könnteman denken, zwei komplexe Zahlen könnten auch eineQuaternion bilden. Tatsächlich gibtes eine solche Herleitung, die wir kurz erläutern wollen.

Dazu fassen wir eine Quaternion als ein Paar von komplexen Zahlen auf:

z = (q , q), z = (q , q), qi ∈ C. (13.90)

Die Addition und Multiplikation sind dann:

z ⊕ z = (q + q, q + q) (13.91)z ⊗ z = (qq − qq, qq + qq). (13.92)

Das neutrale Element der Addition ist n = (, ) und der Multiplikation ist e = (, ). DieKommutativität derMultiplikation gilt natürlich nicht, wenn es die gleichen Quaternionensein sollen, die wir schon kennen. Eine beliebige Quaternion z = (a + bi , c + di) lässt sichals Linearkombination der Elemente (, ), (i , ), (, ), (, i) darstellen:

z = (a + bi , c + di)= [(a, ) ⊗ (, )] ⊕ [(b, ) ⊗ (i , )] ⊕ [(c , ) ⊗ (, )] ⊕ [(d , ) ⊗ (.i)]. (13.93)

Mit der symbolischen Abkürzung:

• (, ) → • (i , ) → i• (, ) → j• (, i) → k

können wir eine beliebige Quaternion durch z = a + ib + jc + kd bezeichnen und erhaltenunsere alte bekannte Darstellung.

Page 291: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 281

13.2.7 Dot-Produkte

DasWort Dot-Produkt ist ein Synonym für Skalarprodukt. Im Sinne einer Verallgemeine-rung für Quaternionen gibt es mehrere Möglichkeiten, die in bestimmten Anwendungenbenötigt werden. Mit z = a + a und z = a + a führen wir ein erstes Dot-Produkt ein:

z ⊙ z =((z ⊗ z) ⊕ (z ⊗ z)) = aa + aT a . (13.94)

Das Ergebnis ist also eine Quaternion mit ausschließlich dem Realteil oder eine skalareZahl. Ein zweites Dot-Produkt ist folgendes:

z ● z =((z ⊗ z) ⊕ (z ⊗ z)) = aa + aa + a × a. (13.95)

Betrachten wir zwei rein vektorielle Quaternionen, also z = a, z = a, dann ergeben diebeiden Dot-Produkte:

z ⊙ z = aT a, (13.96)z ● z = a × a , (13.97)

sie sind folglich identisch mit den beiden bekannten Produkten, dem Skalarprodukt unddem Kreuzprodukt.

13.2.8 Beispiele

Beispiel 1 Zunächst ein Trivialbeispiel. Folgende Rotation

1. Drehung: π um x-Achse

2. Drehung: π um y-Achse

soll durch die Drehachse und den Drehwinkel beschrieben werden. Natürlich können wirnun die Rotationsmatrix bestimmen und daraus die Drehachse und den Drehwinkel. MitHilfe der Quaternionen geht das aber viel schneller und eleganter. Es ist

x-Achse: μ = i , y-Achse: μ = j.

Daher können wir sofort die beiden Einheitsquaternionen aufschreiben:

zμ ,φ= cos

φ

+ i sin

φ

=√ + i

√, (13.98)

zμ ,φ= cos

φ

+ j sin

φ

=√ + j

√. (13.99)

Page 292: Bildverarbeitung und Objekterkennung ||

282 13 3D-Geometrie

Für die Hintereinanderausführung brauchen wir nun noch das Quaternionenprodukt inumgekehrter Reihenfolge berechnen:

zμ ,φ⊗ zμ ,

φ=⋅ +

⋅ ⋅ j +

⋅ ⋅ i −

⋅ ⋅ k =

( + i + j − k)

= cosπ+

√(i + j − k) ⋅ sin

π. (13.100)

Also erfolgte eine Drehung bezüglich der Drehachse: μ = √

(i + j − k)mit dem Dreh-

winkel π = .

Beispiel 2 Man berechne die Rotationsmatrix, die der Einheitsquaternion

zμ, φ =( + i − j + k) (13.101)

entspricht. Da wir mit der Einheitsquaternion sofort Drehachse und Drehwinkel ablesenkönnen, könnten wir sofort die Rotationsmatrix berechnen. Mit den Quaternionen gehtdas aber wieder viel eleganter. Dazu nutzen wir direkt unsere Quaternionen-Drehformel:

xrot = x′ = zμ, φ ⊗ x ⊗ z−μ, φ . (13.102)

Daher setzen wir direkt an:

( + ix′ + jy′ + kz′) =( + i − j + k) ⊗ ( + ix + jy + kz) ⊗

( − i + j − k). (13.103)

Wir rechnen die rechte Seite aus und erhalten:

ix′ + jy′ + kz′ = −i y − jz + kx . (13.104)

Daraus lesen wir die Rotationsmatrix ab:

R =⎛⎜⎝

− −

⎞⎟⎠. (13.105)

Beispiel 3 Umgekehrt sei nun die Rotationsmatrix:

R =⎛⎜⎝

+ +

+

+ −

+

+ −

⎞⎟⎠

(13.106)

Page 293: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 283

gegeben, gesucht sind Drehachse und Drehwinkel. Wenn wir nun die Einheitsquaternionausrechnen, sind diese sofort ablesbar. Da dies die inverse Aufgabe zu Beispiel 2 ist, müs-sen wir die Einheitsquaternion als Unbekannte ansetzen und ansonsten genauso wie inBeispiel 2 verfahren. Also ist aufzuschreiben:

+ ix′ + jy′ + kz′ = (a + ib + jc + kd) ⊗ ( + ix + jy + kz) ⊗ (a − ib − jc − kd)(13.107)

und unter Berücksichtung von a + b + c + d = sind a, b, c , d auszurechnen.

13.2.9 Kanonisch exponentielle Darstellung einer Drehmatrix

Eine große Rolle werden dabei sogenannte schiefsymmetrischeMatrizen U spielen, für dieUT = −U gilt. DieHauptdiagonale ist also immermitNullen belegt undnur drei unbekann-te Parameter bestimmen die (×)-MatrixU (ebenso wie eine Rotationsmatrix).Wennwireinen dreidimensionalen Vektor u = (u , u , u)

T ∈ R wählen, dann können wir diesemsofort eine schiefsymmetrische Matrix zuordnen:

u ↔ U =⎛⎜⎝

−u u

u −u

−u u

⎞⎟⎠. (13.108)

Wir haben die schiefsymmetrischeMatrix offenbar so gewählt, dass sie mit demKreuzpro-dukt konsistent ist, d. h. bilden wirw = u×v, so ist ebensow = U ⋅v. Wir stellen uns einmalvor, die Rotationsmatrix hänge von der Zeit t ab, d. h. es gelte für alle t:

R(t)RT(t) = I. (13.109)

Die Zeit könnenwir hier direkt mit demWinkel im Bogenmaß identifizieren, wenn wir umeine feste Drehachse rotieren. Zu Beginn ist t = , damit der Winkel Null und bei t = πhaben wir eine komplette Rotation um die Dreachse. Wir bilden die Ableitung nach derZeit t und erhalten:

R(t)RT(t) + R(t)RT(t) = → R(t)RT(t) = −(R(t)RT(t))T, (13.110)

d. h. die Matrix R(t)RT(t) ist eine schiefsymmetrische Matrix. Damit können wir in un-serer Notation auch schreiben

R(t)RT(t) = U(t) → R(t) = U(t) ⋅ R(t). (13.111)

Wir nehmen nun einmal an,U sei konstant, hänge also nicht von der Zeit t ab:

R(t) = U ⋅R(t). (13.112)

Page 294: Bildverarbeitung und Objekterkennung ||

284 13 3D-Geometrie

Bevor wir dieses Differentialgleichungssystem lösen, betrachten wir dieses zunächst eindi-mensional:

dxdt

= K ⋅ x , K = const→dxx

= K ⋅ dt . (13.113)

Die Lösung lautet:

ln ∣x∣ = K ⋅ t + C → x(t) = eKt ⋅ C′ = eKt ⋅ x(). (13.114)

Die nächste Verallgemeinerung ist die auf Vektoren. Daher schreiben wir das Differen-tialgleichungssystem für jeden Spaltenvektor der Rotationsmatrix getrennt auf, also fürirgendeinen Vektor x(t):

x(t) = U ⋅ x(t). (13.115)

Dieses lineare System mit konstanten Koeffizienten besitzt in Verallgemeinerung des ein-dimensionalen Systems die Lösung:

x(t) = eUtx(), (13.116)

wobei

eUt = I +Ut +(Ut)

!+⋯ +

(Ut)n

n!+⋯ (13.117)

ist. Die Lösung für die Rotationsmatrix wird von den drei Anfangsbedingungen für die dreiSpaltenvektoren bestimmt. Wir wählen deshalb die Einheitsmatrix I als die drei Startvek-toren und erhalten somit:

R(t) = eUt . (13.118)

An Hand der Reihendarstellung und der Eigenschaft, dass U schiefsymmetrisch ist, kannman leicht zeigen, dass

(eUt)− = e−Ut = eUT t = (eUt)T (13.119)

ist und wir damit tatsächlich eine Rotationsmatrix erhalten haben (det(eUt) = + gilt auchnoch). Dazu brauchen wir der Exaktheit halber noch zwei Eigenschaften, nämlich: WennAB = BA gilt, dann gilt auch eAeB = eBeA = eA+B. Außerdem gilt det(eA) = eSpur(A). DieInterpretation unserer Darstellung ist die folgende:

Ist ∥u∥ = , dann ist u die Drehachse und t der Drehwinkel im Bogenmaß ist alsoähnlich den Quaternionen eine kompakte Darstellung der Rotation mit Drehachse undDrehwinkel. Wir haben bisher gezeigt: Unter der Annahme, dass U konstant ist, könnenwir aus Drehachse und Drehwinkel eine Rotationsmatrix berechnen, d. h. aber nicht, dasswir aus einer gegebenen Rotationsmatrix Drehachse undDrehwinkel in der exponentiellenSchreibweise angeben können.

Page 295: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 285

Satz 13.2 Für jede beliebige Rotationsmatrix R existiert ein nicht notwendig eindeutiges U,sodass

R = eU (13.120)

gilt.

Beweis Der Beweis ist recht simpel zu führen. Wir berechnen wie im Abschn. 13.2.2 auseiner gegebenen Rotationsmatrix den Drehwinkel und Drehachse. Damit können wir dieexponentielle Darstellung aufschreiben. Wir sehen gleichzeitig, dass alle Vektoren πkudie gleiche Rotationsmatrix ergeben. ◻

Wenn nun u gegeben ist, wie berechnen wir die Rotationsmatrix ohne die Reihenent-wicklung nutzen zu müssen?Wir könnten die Methoden der letzten Abschnitte benutzen,aber es gibt noch die Formel von Rodrigues:

R = eU = I +U∣u∣

sin(∣u∣) +U

∣u∣( − cos(∣u∣)). (13.121)

Der Beweis ist auch recht einfach zu führen. Zunächst setzen wir t = ∣u∣ und anschlie-ßend benutzen wir v = u

∣u∣ als Einheitsvektor. Ganz leicht nachzurechnen sind die beidenBeziehungen:

V = vvT − I, V = −V. (13.122)

Daher kann man die Potenzreihe (13.117) mit dieser Eigenschaft vereinfachen zu:

eVt = I + (t −t

!+t

!− . . .)V + (

t

!−t

!+t

!− . . .)V . (13.123)

Wir sehen, die beiden (Teil-)Potenzreihen in (13.123) sind die Taylorreihen für sin(t) und − cos(t), daher erhalten wir:

eVt = I +V sin(t) +V( − cos(t)). (13.124)

An dieser Formel nach Rodrigues (13.121) erkennen wir sofort die Periodizität, d. h.eVkπ = I. Weiterhin ist wichtig zu bemerken, dass im Allgemeinen:

eU eU ≠ eU eU ≠ eU+U (13.125)

gilt. Aber: aus AB = BA, folgt eAeB = eBeA = eA+B . Außerdem gilt det(eA) = eSpur(A).Wir benutzen jetzt die Formel (13.121) nach Rodrigues. Dann können wir wie üblich dieRotation x′ = Rx nun in der Form:

x′ = x + sin(t)Ux + ( − cos(t))Ux (13.126)

Page 296: Bildverarbeitung und Objekterkennung ||

286 13 3D-Geometrie

beschreiben. Die schiefsymmetrische Matrix U korrespondiert mit dem Kreuzprodukt,folglich Ux = u × x, Ux = u × (u × x) = (uTx)u − xmit uTu = . Deshalb folgt:

x′ = cos(t)x + sin(t)(u × x) + ( − cos(t))(uTx)u. (13.127)

Vergleichen wir diese Formel mit der Formel (13.78) nach Rodrigues, so sehen wir, dassbeide mit t = φ, u = μ gleich sind. Daher noch nachträglich die Erkenntnis, dass u mit∣u∣ = die normierte Drehachse und t der Drehwinkel im Bogenmaß sind.

13.2.10 Vor- und Nachteile

Euler-Transformation Diese hat den Vorteil, dass man intuitiv eine Vorstellung hat unddie Eulerwinkel sich leicht interpretieren lassen. Außerdem kann man mit den Eulerwin-keln eine Interpolation durchführen.

Als Nachteile sind Mehrdeutigkeiten anzusehen, d. h. ist irgendeine 3D-Rotation ge-geben (Rotationsmatrix), so lassen sich die Eulerwinkel im Allgemeinen nicht eindeutigbestimmen. Es treten sogar Entartungen auf: Betrachten wir irgendeine Rotation um diez-Achse, dann eine 90 Grad-Rotation um die y-Achse, so ist die folgende Rotation um diex-Achse redundant, d. h. man hätte sie auch gleich mit der Rotation um die z-Achse be-schreiben können. In diesem Falle fallen also die Rotation um die z-Achse und um diex-Achse eigentlich zu einer Rotation zusammen, der Freiheitsgrad wird plötzlich um Einsreduziert. Diese Entartung nennt man in der Literatur Gimbal Lock. Dieser Begriff ist di-rekt vomVerschluss (Versagen, Blockade) einer Kardanischen Aufhängung abgeleitet. DerKörper in der Kardanischen Aufhängung ist oft ein Stabilisierungskreisel, Kreiselkompassoder Ähnliches.

Quaternionen Die Vorteile liegen auf der Hand: Es treten keine Mehrdeutigkeiten undEntartungen mehr auf. Als Nachteil wäre die sehr kompakte Form der Beschreibung und„man benötigt Wissen über die Quaternionen“ anzusehen.

13.2.11 Eine Anwendung zur Bestimmung einer Rotation

Wir wollen eine Rotation mittels der LSE-Methode (siehe Abschn. 21.2) bestimmen. Dazuhaben wir eine Liste von 3D-Referenzpunkten gegeben, folglich:

x′i = Rxi , i = , , . . . , n. (13.128)

Was ist die minimale Anzahl von 3D-Referenzpunkten zur Bestimmung einer „reinen“ 3DRotation aus (13.128)? Man könnte vermuten ein Referenzpaar, denn ein Referenzpaar lie-fert 3 Gleichungen und wir haben 3 Unbekannte, das müsste doch schon funktionieren.

Page 297: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 287

Dies ist aber nicht so. Folgende Überlegung: wir haben im 3D-Raum einen Punkt und denrotierten Punkt gegeben, also zwei Punkte. Wir legen eine Drehachse durch den Koordina-tenursprung und legen durch die zwei Punkte einen Kreis, der Kreis bestimmt eine Ebeneund die Drehachsemüsste senkrecht auf der Ebene stehen und durch den Kreismittelpunktgehen. Dann haben wir eine Rotation des Punktes bezüglich der Drehachse gefunden, die-se gedankliche Konstruktion muss richtig sein, denn es soll ja eine Rotation vorliegen, alsomuss es solch eine Drehachsemit demKreis auch geben. Nun drehen wir die Ebene bezüg-lich der Geraden, die durch die beiden Punkte geht und korrigieren die Drehachse so, dasssie weiterhin senkrecht auf der Ebene steht. Dadurch bleibt aber der Abstand des Durch-stoßpunktes der Drehachse durch die Ebene zu den beiden Punkten untereinander gleich,d. h. nur untereinander gleich, absolut werden sie größer oder kleiner. Das heißt aber, dieDrehachse durchstößt den Mittelpunkt eines anderen Kreises der durch die beiden Punktegeht. Folglich haben wir eine andere Drehachse mit einem anderen Drehwinkel konstru-iert. Damit ist die Rotation nicht eindeutig bestimmbar. Wir benötigen folglichmindestenszwei Punktreferenzen.

Gesucht ist nun die Rotationsmatrix R aus den n gegebenen Referenzpunkten. Da diePunkte fehlerbehaftet sind, haben wir das Ausgleichsproblem

S =n∑i=

∣x′i −Rxi ∣ → Minimum mit RTR = E, det(R) = + (13.129)

zu lösen. Durch die Restriktionen liegt ein kompliziertes nichtlineares Optimierungspro-blem vor. Wir versuchen nun, die Rotation durch eine Einheitsquaternion zu beschreibenund zwar in der Hoffnung, dass das Problem numerisch gutartiger wird. Wie wir nun vonden Einheitsquaternionen wissen, gilt:

S =n∑i=

∣x′i − z ⊗ xi ⊗ z∣, (13.130)

wobei z eine Einheitsquaternion beschreibe mit ∣z∣ = . Damit gilt weiter:

S =n∑i=

∣x′i − z ⊗ xi ⊗ z∣ =n∑i=

∣x′i − z ⊗ xi ⊗ z∣∣z∣ =n∑i=

∣x′i ⊗ z − z ⊗ xi ∣. (13.131)

Wir haben dabei die wichtige Rechenregel (13.60) benutzt. Die Quaternionenmultiplikati-on ist eine lineare Operation in z, so dass wir wie üblich eine Matrix Yi finden können, sodass die gleiche Darstellung erreicht wird, d. h. es gilt:

x′i ⊗ z − z ⊗ xi ≅ Yi ⋅ z, (13.132)

wobei die Einheitsquaternion z als vier-elementiger Spaltenvektor z geschrieben wird. DieForm von Yi ergibt sich aus den Darstellungen (13.58) und (13.59) zu:

Yi = X′i −X∗i . (13.133)

Page 298: Bildverarbeitung und Objekterkennung ||

288 13 3D-Geometrie

Daraus folgt nun:

∣x′i ⊗ z − z ⊗ xi ∣ ≅ zTYTi Yi ⋅ z. (13.134)

Damit haben wir folgendes Problem zu lösen:

S = zTYz→ Minimum mit ∣z∣ = (13.135)

mit

Y =n

∑i=

YTi Yi . (13.136)

Die Lösung ist recht einfach: Wir bestimmen den Eigenvektor von Y zum kleinsten Eigen-wert.

Genau dieses Ausgleichsproblem entsteht, wenn wir die sogenannte E-Matrix in die äu-ßeren Kameraparameter zerlegen wollen, folglich in die Translation und die Rotation, sieheProblem (14.182). Um diese elegante Lösung auch auf Euklidische Transformationen, alsoRotationen und Translationen zu übertragen, müssen wir einige Erweiterungen der Qua-ternionen durchführen. Dazu dienen die nächsten Abschnitte.

13.2.12 Duale Zahlen, Duplex-Zahlen

Diese wurden bereits im 19. Jahrhundert von Clifford eingeführt:

D = {d ∣ d = a + bε, a, b ∈ R, ε = }. (13.137)

Mannennt a denRealteil und b denDualteil. Addition undMultiplikation von d = a+bε,d = a + bε ergeben sich dann:

d + d = (a + a) + (b + b)ε (13.138)d ⋅ d = (a + bε) ⋅ (a + bε) = aa + (ab + ab)ε. (13.139)

(D,+, ⋅) ist ein kommutativer Ring, aber kein Körper, denn das inverse Element

d− =a − bεa

(13.140)

von d = a + bε ist für a = nicht existent.

Page 299: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 289

13.2.13 Duale Quaternionen

Diese werden analog den dualen Zahlen eingeführt:

H = {q ∣ q = q + q′ε, q, q′ ∈ H, ε = }. (13.141)

Die Addition ist dann

q + q = (q ⊕ q) + (q′ ⊕ q′)ε (13.142)

mit n = + ε. Ähnlich den dualen Zahlen ist dann die Multiplikation:

q ⋅ q = (q + q′ε) ⋅ (q + q′ε) = q ⊗ q + (q ⊗ q′ ⊕ q′ ⊗ q)ε. (13.143)

Die konjugierte duale Quaternion ist definiert zu:

q = q + q′ε. (13.144)

Daraus lassen sich die Eigenschaften

• (q + q) = q + q• q ⋅ q = q ⋅ q• q ⋅ q = (q ⊗ q) + (q ⊗ q′ ⊕ q′ ⊗ q)ε

ableiten. Insbesondere, da die letzte Eigenschaft etwas aus der Reihe fällt, erzeugen wirmit:

∥q∥ = q ⋅ q (13.145)

keinen Betrag oder eine „richtige Norm“ und bezeichnen dies deshalb als Quasinorm.Trotzdem bezeichnen wir eine duale Quaternion q = q + q′ε mit der Eigenschaft:

q ⋅ q = (13.146)

als duale Einheitsquaternion. Diese Eigenschaft gilt also genau dann, wenn:

q ⊗ q = , q ⊗ q′ ⊕ q′ ⊗ q = . (13.147)

Die inversen Elemente verhalten sich ebenso wie bei den dualen Zahlen. Die inverse dualeQuaternion zu q = q + q′ε ist:

q− = q− − (q− ⊗ q′ ⊗ q−)ε. (13.148)

Page 300: Bildverarbeitung und Objekterkennung ||

290 13 3D-Geometrie

Das heißt, für duale Quaternionen mit q = oder q = + q′ε, existiert keine inverse dualeQuaternion q−.

Falls zwei duale Quaternionen invertierbar sind, gilt:

(q ⋅ q)− = q− ⋅ q− . (13.149)

13.2.14 Euklidische Transformationen und duale Quaternionen

Für gewöhnliche Spaltenvektoren können wir eine Ähnlichkeitstransformation durch

p′ = Rp + t (13.150)

beschreiben. Fassen wir diese Spaltenvektoren als reine Quaternionen auf, dann ist:

p′ = (q⊗ p⊗ q) ⊕ t. (13.151)

Wir hatten die konjugierte duale Quaternion q eingeführt. Eine ähnliche konjugierte Ope-ration bezeichnen wir jetzt mit dem Tilde-Operator. Mit q = q + q′ε ist dann:

˜q = q − q′ε. (13.152)

Für diese konjugierte Operation gelten die Rechenregeln:

• ˜g = ˜q• (q + q) = ˜q + ˜q• (q ⋅ q) = ˜q ⋅ ˜q.

Nun könnenwir EuklidischeTransformationenmit dualen Einheitsquaternionen beschrei-ben:

p′ = + p′ε = q ⋅ p ⋅ ˜q. (13.153)

Dabei ist q eine duale Einheitsquaternion mit den Bedingungen (13.146) und (13.147). EinPunkt wird durch p = + pε dargestellt und der transformierte Punkt durch p′ = + p′ε,wobei p und p′ rein vektorielle Quaternionen sind, die die Punkte repräsentieren. In derdualen Einheitsquaternion muss nun die Rotation und die Translation kodiert sein. Dieseist:

q = q +(t ⊗ q)ε, (13.154)

Page 301: Bildverarbeitung und Objekterkennung ||

13.2 Beschreibung von 3D-Rotationen 291

wobei q eine Einheitsquaternion ist, die die Rotation beschreibt. Damit werden wir jetztdie Transformation (13.153) nachrechnen und zeigen, dass sie stimmt. Es ist:

p′ = + p′ε = q ⋅ p ⋅ ˜q = (q +(t ⊗ q)ε) ⋅ ( + pε) ⋅ (q −

(t ⊗ q)ε)

= [q ⊗ q + [q ⊗ p⊗ q ⊕(t ⊗ q) ⊗ q ⊖

q ⊗ q ⊗ t] ε]

= + [(q ⊗ p⊗ q) ⊕ t] ε= + p′ε. (13.155)

Nun müssen wir nur noch zeigen, dass q eine duale Einheitsquaternion ist:

q ⋅ q = (q +(t ⊗ q)ε) ⋅ (q +

(t ⊗ q)ε)

= q ⊗ q + [(q ⊗ q ⊗ t) ⊕

(t ⊗ q ⊗ q)] ε

= +(t ⊕ t)ε = + ε = . (13.156)

Damit haben wir (13.153) bewiesen, d. h. dass sich (genau wie Rotationen durch Einheits-quaternionen) Euklidische Transformationen durch duale Einheitsquaternionen beschrei-ben lassen.

Page 302: Bildverarbeitung und Objekterkennung ||

14Geometrie der Abbildungsprozesse

14.1 Kameramodelle

Alle Modellvorstellungen über eine sinnvolle 3D → 2D Abbildung werden als Kame-ramodelle bezeichnet. Es bezeichne xW = (xW , yW , zW)T einen Punkt in einem Welt-koordinatensystem. Weiterhin sei xK = (xK , yK , zK)T ein Punkt in einem 3D-Kamera-Koordinatensystem, wobei stets die zK-Achse senkrecht zur eigentlichen (u, v)-Bildebenesei. Die Transformation vom Weltkoordinatensystem in das Kamerakoordinatensystemgeschieht stets durch eine 3D → 3D Bewegung, also durch eine Rotation (Rotationsma-trix R) und eine Translation t. Der Sinn dieser Bewegung besteht darin: Die eigentlichenAbbildungsgleichungen sollen in einem festen Kamerakoordinatensystem beschriebenwerden. Dazu benötigen wir die Koordinaten eines realen, abzubildenden Punktes in die-sem Kamerakoordinatensystem. Dies ist aber in der Regel nicht möglich, sondern derabzubildende Punkt wird in einem völlig anderen Bezugssystem dargestellt, dem Weltko-ordinatensystem. Daher müssen wir jetzt die Koordinaten umrechnen und dies geschiehtdurch Bewegung des Koordinatensystems. Die Rotation verlangt drei Parameter und dieTranslation ebenfalls drei Parameter. Diese sechs Parameter werden als Parameter deräußeren Orientierung einer Kamera bezeichnet:

xK = R ⋅ xW + t. (14.1)

Wir schreiben diese Bewegung in homogenen Koordinaten auf:

⎛⎜⎜⎜⎜⎝

xKyKzK

⎞⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎝

r r r tr r r tr r r t

⎞⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

= RT ⋅ xW . (14.2)

Man beachte: Ist die letzte Koordinate gleich 1, dann stimmen kartesische mit den homo-genen Koordinaten überein. Ist dies nicht der Fall, so setzen wir eine „Schlange“ über dasSymbol.

293H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_14, © Springer Fachmedien Wiesbaden 2014

Page 303: Bildverarbeitung und Objekterkennung ||

294 14 Geometrie der Abbildungsprozesse

Abb. 14.1 Lage Welt-koordinatensystem↔Kamerakoordinatensystem:äußere Orientierung einer Ka-mera

14.1.1 Orthografische Projektion

Das einfachste Kameramodell ist die Beschreibung der Abbildung durch eine orthogonaleParallelprojektion, genannt orthografische Projektion (orthographic projection). Die Abbil-dungsgleichungen sind in diesem Falle simpel durch

u = xK , v = yK (14.3)

gegeben. Damit wird dieses einfachste Kameramodell durch fünf Parameter beschrieben:

⎛⎜⎝

uv

⎞⎟⎠=⎛⎜⎝

r r r tr r r t

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

. (14.4)

Obwohl acht Parameter in den Abbildungsgleichungen stehen, sind es nur fünf, denn wirmüssen daran denken, dass die ri j Elemente einer Rotationsmatrix sind, d. h. es gilt:

r + r + r = , r + r + r = , rr + rr + rr = . (14.5)

Acht Parameter und diese drei Restriktionen ergeben genau die fünf Parameter dieses Ka-meramodells. Bei diesem einfachsten Modell ist sogar ein Parameter der äußeren Orien-tierung überflüssig.

14.1.2 Skalierte orthografische Projektion

Das orthografische Abbildungs-Modell (14.4) berücksichtigt keinerlei Skalierungen undist deshalb völlig unrealistisch für praktische Anwendungen. Eine Skalierung bewirkt ei-gentlich der Sensor immer, aber auch die Abbildung durch telezentrische Objektive kanneine Skalierung bewirken. Deshalb ist die nächste Stufe das erste realistische Kameramo-dell, die Hintereinanderausfuehrung einer orthografischen Projektion und einer isotropenSkalierung:

u = s ⋅ xK , v = s ⋅ yK , (14.6)

Page 304: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 295

wobei s ein positiver Skalierungsfaktor sei. Dieses Kameramodell gilt näherungsweise fürObjekte, die „unendlich entfernt sind“ von der Kamera, oder wenn wir spezielle telezentri-scheObjektive verwenden. Oft wird dieses Kameramodell als Schwache Perspektive (weakperspective camera) bezeichnet. Damit wird dieses Kameramodell mit sechs Parameternbeschrieben. Im Sinne von Transformationen realisieren wir eine spezielle 3D → 2D affi-ne Abbildung des Weltkoordinatensystems in die (u, v)-Bildebene. Diese können wir nunauch einfach aufschreiben:

⎛⎜⎝

uv

⎞⎟⎠=⎛⎜⎝

s ⋅ r s ⋅ r s ⋅ r s ⋅ ts ⋅ r s ⋅ r s ⋅ r s ⋅ t

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

. (14.7)

Bisher konnten wir in der Darstellung noch kartesische Koordinaten verwenden, in homo-genen Koordinaten lässt sich die Abbildung auch schreiben zu:

⎛⎜⎝

uvw

⎞⎟⎠=⎛⎜⎝

r r r tr r r t

s

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

; u =uw, v =

vw. (14.8)

Aus dieser Darstellung können die sechs Parameter abgelesen werden.

14.1.3 Anisotrop skalierte orthografische Projektion

Das nächsthöhereModell hat sieben Parameter und ist deutbar als Hintereinanderausfüh-rung einer orthografischen Projektion mit anschliessender anisotroper Skalierung:

u = s ⋅ xK , v = s ⋅ yK , (14.9)

Die Abtastung eines Signals kann zu anisotropen Skalierungen führen, deshalb modelliertdiese Kamera den „Gesamtabbildungsprozess“ besser als die weak perspective. Die Abbil-dung lautet:

⎛⎜⎝

uv

⎞⎟⎠=⎛⎜⎝

s ⋅ r s ⋅ r s ⋅ r s ⋅ ts ⋅ r s ⋅ r s ⋅ r s ⋅ t

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

. (14.10)

Dieses Modell ist in der Praxis kaum anzutreffen.

Page 305: Bildverarbeitung und Objekterkennung ||

296 14 Geometrie der Abbildungsprozesse

14.1.4 Affine Kamera

Das nächsthöhereModell enthält dann acht Parameter. DiesesModell wird als affineKame-ra bezeichnet. Die affine Kamera enthält acht unabhängige Parameter. Es ist allerdings un-klar, welcher realistische optische Abbildungsprozess eigentlich zur affinen Kamera führt.Da wir acht unabhängige Parameter zur Verfügung haben, ist es günstiger, wir benennendie Parameter neu:

Eine allgemeine 3D→ 2D affine Abbildung wird in homogenen Koordinaten durch

⎛⎜⎝

uv

⎞⎟⎠=⎛⎜⎝

a a a aa a a a

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

= A ⋅ xW (14.11)

beschrieben. Weit entfernte Objekte können näherungsweise mit dem affinen Modell be-schrieben werden.

14.1.5 Spezielle affine Kameras

Die weak perspective war eine spezielle affine Kamera, nämlich eine orthografische Pro-jektion mit anschließender Skalierung. Wir können uns dies auch anschaulich mit derZentralprojektion (siehe Abb. 14.3) vorstellen. Dazu haben wir eine Bildebene, ein Pro-jektionszentrum, und betrachten eine Objektebene, die parallel zur Bildebene liegt. Nunbilden wir irgendeinen 3D-Punkt ab. Dazu projizieren wir ihn senkrecht auf die Objek-tebene, und nun bilden wir diesen Punkt in der Objektebene mit einem Sehstrahl in dieBildebene ab. Durch den Sehstrahl erreichen wir die gewünschte Skalierung.

Nun könnenwir aber auch die 3D-Punkte durch Parallelprojektion in die Objektebeneabbilden, und dann mit dem Sehstrahl in die Bildebene abbilden. Diese spezielle affineKamera nennt man Paraperspektive.

14.1.6 Pinhole camera

Die nächsthöhere Stufe eines Kameramodells beinhaltet die zentralprojektive Abbildung3D → 2D. Dazu müssen wir eine perspektivische Projektion des Kamerakoordinatensys-tems in die Bildebene beschreiben. Als Kameramodell dient dazu die ideale Lochkamera(pinhole camera). Das Wort Lochkamera ist dabei fast wörtlich zu nehmen, wir stellen unseinen dunklen Kasten mit einem sehr kleinen Loch vor, durch das das Licht einströmenkann. Im Kasten befindet sich eine Fotoplatte, die belichtet wird. Unsere Lochkamera hatalso keineOptik, nur ein Loch.Das Loch ist somit vergleichbar mit einer sehr kleinen Blen-denöffnung, damit habenwir einen sehr großen Tiefenschärfebereich. Der einzige Nachteil

Page 306: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 297

Objektebene Hauptebene Brennebene Bildebene

optische

Achse

Kamerabrennweite f

Linsenbrennweite fL

Objektweite d Objekt

HauptpunktProjektionszentrum

Bildhauptpunkt

Abb. 14.2 Modell der dünnen Linse mit Bezeichnungen

ist, dass genügend Licht eintreten muss, was in der Praxis nicht der Fall sein wird. Des-halb benötigen wir ein Objektiv, um die Blendenöffnung zu vergrößern, damit genug Lichteintreten kann. Im Folgenden demonstrieren wir dies an dem Modell der „dünnen Lin-se“ und zeigen, dass wir dennoch am Lochkameramodell festhalten können. Als erstesModell nehmen wir an, die optische Achse sei identisch mit der z-Achse des Kamera-Koordinatensystems und stehe senkrecht auf der Bildebene. Damit ist die Projektionsebeneparallel zur Bildebene. Der Abstand f des Projektionszentrums zur Bildebene wird alsKa-merabrennweite oder Kamerakonstante, manchmal auch als Kammerkonstante bezeichnet.Die Kamerabrennweite f ist i. Allg. nicht identisch mit der Linsenbrennweite. Für eine dün-ne Linse gilt vielmehr die Beziehung:

fL

=f+

dObjekt

. (14.12)

Dabei ist fL die Linsenbrennweite und dObjekt der Abstand der Linse zur Objektebene(Gegenstandsweite). Für weit entfernte Objekte können wir näherungsweise die Linsen-brennweite benutzen, siehe Abb. 14.2. In der Abbildung ist auch ersichtlich: Das Modellder Lochkamera abstrahiert eigentlich auf eine Blende als „Punkt“, besitzt also eine un-endliche Tiefenschärfe. Aus der Abbildung geht hervor, dass eine endliche Blende, alsomiteiner dünnen Linse, das Modell dennoch benutzbar ist, auch wenn keine unendliche Tie-fenschärfe mehr vorliegt. Unschärfen stören das Modell in unserem Sinne nicht. In derRegel werden sogenannte sphärische Linsen eingesetzt, die wie jede andere Linse auch,natürlich Linsenfehler besitzt. Die wichtigsten Linsenfehler sind sogenannte Verzeichnun-gen der Objektive, die wir erst später modellieren wollen. Legen wir nun entsprechendAbb. 14.2 für das Kamerakoordinatensystem folgendes fest:

Page 307: Bildverarbeitung und Objekterkennung ||

298 14 Geometrie der Abbildungsprozesse

Abb. 14.3 Lochkameramo-dell: Zentralprojektion mitWelt- und Kamerakoordina-tensystem

z -AchseK

(x ,y ,z )K K K

x

u

Hauptebene mit

Projektionszentrum

Bildebene u,v

x -AchseK

K

y -AchseK

u-Achse

v-Achse

αα

f

a) Der Ursprung ist das Projektionszentrum.b) Die (xK , yK)-Ebene ist parallel zur (u, v)-Bildebene.c) Die orthogonale Projektion der xK-Achse stimmt mit der u-Achse überein und die or-

thogonale Projektion der yK-Achse stimmt mit der v-Achse überein.d) Die zK-Achse ist die optische Achse.

Wie wir in Abb. 14.3 sehen, sind dann die xk , yk-Koordinaten und die u, v-Koordinatengerade spiegelbildlich (wie in unseremAuge auf der Retina) undwirmüsstenmit negativenVorzeichen rechnen. Wie haben nun zwei Möglichkeiten:

• Wir vertauschen die Orientierungen der u, v-Achsen gespiegelt gegenüber den xK , yK-Achsen.

• Wir verschieben die u, v-Ebene imAbstand f vor das Projektionszentrum, um die Spie-gelung zu vermeiden.

Abb. 14.4 Lochkameramo-dell: andere Darstellung vonAbb. 14.3

Page 308: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 299

Durch eine der beidenMöglichkeiten vermeiden wir nun die „Mitführung einesMinuszei-chens“. Folglich können wir leicht nach dem tan(α) die Verhältnisse (ohneMinuszeichen)

uf=xKzK

,vf=yKzK

(14.13)

ableiten. Daraus erhalten wir die Abbildungsgleichungen (ohne Minuszeichen):

u =f ⋅ xKzK

, v =f ⋅ yKzK

. (14.14)

Oft findet man auch in der Literatur, dass die (xK , yK)-Ebene im Abstand f „links“ oder„rechts“ vom Projektionszentrum festgelegt wird. Nach „links“ bedeutet, dass das Projek-tionszentrum die Koordinaten (, ,− f ) besitzt und die Abbildungsgleichungen werdenzu:

u =zK ⋅ xKf + f

, v =zK ⋅ yKf + f

. (14.15)

Nach „rechts“ bedeutet, dass das Projektionszentrum die Koordinaten (, ,+ f ) besitzt.Die Abbildungsgleichungen werden dann zu:

u =f ⋅ xKzK − f

, v =zK ⋅ yKf − f

. (14.16)

Wir legen uns im Folgenden auf die erste Form fest. Als äußere Kameraparameter (extrin-sic parameters) werden einheitlich die sechs Parameter der Translation und Rotation desWeltkoordinatensystems in das Kamerakoordinatensystem bezeichnet. Diese hängen vonder Lage der Kamera im Weltkoordinatensystem ab und verändern sich natürlich bei Be-wegung der Kamera. DieAbbildungsparameter der Abbildung des Kamerakoordinatensys-tems in die Bildebene ändern sich nicht bei Bewegung der Kamera undwerden demzufolgeals innereKameraparameter (intrinsic parameters) bezeichnet oder als Parameter der inne-ren Orientierung. Zweifelsohne ist dies die Kamerabrennweite f und der Bildhauptpunkt(u , v), der i. Allg. nicht mit der Bildmitte identisch ist. Dies sind die drei wesentlichenParameter der inneren Orientierung. Bis hierher ist die Abbildung ausschließlich optischerklärt und verständlich. Im Bild messen wir aber Pixelkoordinaten, die mit den Sensor-koordinaten im Kamerakoordinatensystem übereinstimmen müssten. Dies ist aber nichtder Fall. Nun gibt es zwei Möglichkeiten, erstens, der Hersteller von Sensoren gibt unsdie exakte Sensorgeometrie an und wir rechnen die Pixelkoordinaten auf Grund der Sen-sorgeometrie um, oder zweitens, was einfacher ist, diese Umrechnung nehmen wir mitin den Abbildungsprozess auf, obwohl es mit dem bisher beschriebenen, optischen Abbil-dungsprozess nichts zu tun hat. Mindestens haben wir eine isotrope Skalierung der u- undv-Achse durch den Sensor zu berücksichtigen. Dann ergibt sich:

u =s ⋅ f ⋅ xK

zK, v =

s ⋅ f ⋅ yKzK

. (14.17)

Page 309: Bildverarbeitung und Objekterkennung ||

300 14 Geometrie der Abbildungsprozesse

Bei diesem Modell ist der dritte Parameter das Produkt s ⋅ f , die Kamerakonstante f istdemnach in diesem Modell nicht mehr explizit bestimmbar, nur das Produkt aus diesermit dem positiven Skalierungsfaktor s. Das liegt nun daran, dass wir bei einer Skalierungnicht mehr wissen, welcher Anteil optisch und welcher durch den Sensor bedingt ist. Die-sen Nachteil hätten wir nicht, wenn wir fordern, dass der Hersteller die Sensorgeometrieangibt. Das Kameramodell kann nun noch dahin erweitert werden, dass man annimmt,die Bildachsen u und v werden vom Sensor unterschiedlich, also anisotrop skaliert:

u =sxK ⋅ f ⋅ xK

zK, v =

syK ⋅ f ⋅ yKzK

. (14.18)

Dann haben wir vier innere Parameter, nämlich den Bildhauptpunkt und die beiden Pro-dukte aus Skalierungsfaktor und Kamerakonstante. Wir sehen, es lassen sich nur dieseProdukte angeben und nicht mehr explizit die Kamerakonstante. Schliesslich kann mannoch annehmen, dass die Sensorgeometrie eine Scherung verursachen kann. Damit ste-hen die Basisvektoren nicht unbedingt mehr senkrecht aufeinander. Der Winkel zwischendiesen Basisvektoren in der Bildebene ist dann der fünfte innereKameraparameter. Für denFall der Zentralprojektion unterscheiden wir also im wesentlichen drei Kameramodelle:

• Sechs äußere Parameter, drei innere (Bildhauptpunkt und Produkt aus Kamerakonstan-te und isotropen Skalierungsfaktor), also insgesamt neun unabhängige Parameter,

• Sechs äußere Parameter, vier innere (Bildhauptpunkt, Produkte aus anisotropen Skalie-rungsfaktoren mit der Kamerakonstante), also insgesamt zehn unabhängige Parameter

• Sechs äußere Parameter, fünf innere (Bildhauptpunkt, Produkte aus anisotropen Skalie-rungsfaktoren mit der Kamerakonstante, Winkel zwischen den gescherten Basisvekto-ren der Bildebene, also insgesamt unabhängige Parameter.

Für das erste Modell wollen wir nun die Gesamtabbildung aufschreiben. Da wir den Bild-hauptpunkt (u , v) bezüglich eines von uns willkürlich gewählten Koordinatenursprungsin der Bildebene nicht kennen, müssen wir in den Abbildungen u und v durch die Relativ-koordinaten u − u und v − v ersetzen und erhalten:

u − u =α ⋅ xKzK

, v − v =α ⋅ yKzK

mit α = s ⋅ f . (14.19)

Mit einer formal eingeführten Grösse d kann man dies auch in der Form

d ⋅ u = α ⋅ xK + u ⋅ zKd ⋅ v = α ⋅ yK + v ⋅ zK

d = zK

(14.20)

Page 310: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 301

schreiben, was zu homogenen Koordinaten führt. Dies schreiben wir nun in Matrixformauf:

⎛⎜⎝

d ⋅ ud ⋅ vd

⎞⎟⎠=⎛⎜⎝

uvw

⎞⎟⎠=⎛⎜⎝

α u α v

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xKyKzK

⎞⎟⎟⎟⎟⎠

= K ⋅ xK = K ⋅ xK . (14.21)

Die Matrix K bzw. die (× )-MatrixK bezeichne stets die Projektion aus dem Kamerako-ordinatensytem in die Bildebene, sie beinhalte damit stets die inneren Kameraparameter.Daher wird oft auch die Matrix K als interne Projektionsmatrix bezeichnet. Die Bewegungdes Weltkoordinatensystems in das Kamerakoordinatensystem können wir simpel durch

xK =⎛⎜⎝

r r rr r rr r r

⎞⎟⎠⋅⎛⎜⎝

xWyWzW

⎞⎟⎠+⎛⎜⎝

ttt

⎞⎟⎠= R ⋅ xW + t (14.22)

beschreiben. Um wieder mit homogenen Koordinaten zu rechnen, schreiben wir statt des-sen:

⎛⎜⎜⎜⎜⎝

xKyKzK

⎞⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎝

r r r tr r r tr r r t

⎞⎟⎟⎟⎟⎠

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

= RT ⋅ xW . (14.23)

Diese Beziehung setzen wir nun in die Abbildungsvorschrift für die Kamerakoordinatenein und erhalten:

u = K ⋅ RT ⋅ xW = A ⋅ xW (14.24)u = K ⋅ (RxW + t) = K ⋅ R ⋅ xW +K ⋅ t. (14.25)

Ausführlich aufgeschrieben ergibt sich:

⎛⎜⎝

uvw

⎞⎟⎠=⎛⎜⎝

α ⋅ r + u ⋅ r α ⋅ r + u ⋅ r α ⋅ r + u ⋅ r α ⋅ t + u ⋅ tα ⋅ r + v ⋅ r α ⋅ r + v ⋅ r α ⋅ r + v ⋅ r α ⋅ t + v ⋅ t

r r r t

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

.

(14.26)

Betrachtenwir noch einmal das perspektivischeModell (14.14) inKamerakoordinaten undlassen den Index K weg, dafür betrachten wir aber n Punkte xi , i = , . . . , n:

ui =f ⋅ xizi

, vi =f ⋅ yizi

. (14.27)

Page 311: Bildverarbeitung und Objekterkennung ||

302 14 Geometrie der Abbildungsprozesse

Es sei z = n ∑i zi , dann schreiben wir:

ui =f ⋅ xi

z + Δzi, vi =

f ⋅ yiz + Δzi

. (14.28)

Beide Ausdrücke entwickeln wir bez. der Tiefe z in eine Taylorreihe:

ui =f ⋅ xi

z + Δzi=

fz( −

Δziz

+(Δzi)

z−⋯) ⋅ xi , (14.29)

vi =f ⋅ xi

z + Δzi=

fz( −

Δziz

+(Δzi)

z−⋯) ⋅ yi . (14.30)

Betrachten wir nur das Glied Nullter Ordnung, dann liegt das Modell 2 (Schwache Per-spektive) vor, wobei die Skalierung s =

fz ist. Wir können also z als mittlere Tiefe aller

Punkte auffassen.Wenn folglich alle Punkte in einer Ebene liegen und diese Ebene parallelzur Bildebene ist, dann liegt bei einer Kamera tatsächlich die Schwache Perspektive vor.

14.1.7 Pinhole camera – Erweiterung 1

Im Modell (14.26) hatten wir nur neun Parameter, damit bestehen also Abhängigkeitenzwischen den eigentlichen Matrixkoeffizienten. Das erweiterte Modell mit nun Para-metern lässt sich sofort auch aufschreiben, es folgt mit

K =⎛⎜⎝

αu u αv v

⎞⎟⎠

(14.31)

wieder u = K ⋅ RT ⋅ xW = A ⋅ xW , oder ausführlich:

⎛⎜⎝

uvw

⎞⎟⎠=⎛⎜⎝

αu ⋅ r + u ⋅ r αu ⋅ r + u ⋅ r αu ⋅ r + u ⋅ r αu ⋅ t + u ⋅ tαv ⋅ r + v ⋅ r αv ⋅ r + v ⋅ r αv ⋅ r + v ⋅ r αv ⋅ t + v ⋅ t

r r r t

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xWyWzW

⎞⎟⎟⎟⎟⎠

.

(14.32)

14.1.8 Pinhole camera – allgemeiner Fall

Das dritte Modell mit nun 11 Parametern entspricht formal der allgemein bekannten zen-tralprojektiven Abbildung in homogenen Koordinaten, also mit

K =⎛⎜⎝

αu αs = αv ⋅ cot φ u αv v

⎞⎟⎠

(14.33)

Page 312: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 303

und wieder u = K ⋅ RT ⋅ xW = A ⋅ xW folgt allgemein:

⎛⎜⎝

uvw

⎞⎟⎠=⎛⎜⎝

a a a aa a a aa a a a

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xyz

⎞⎟⎟⎟⎟⎠

= A ⋅ x. (14.34)

Daman einen der 12 Koeffizienten normieren kann, haben wir 11 unabhängige Parameter,dies entspricht dem dritten Modell mit sechs äußeren und fünf inneren Kameraparame-tern. Werden im Folgenden die Indizes weggelassen, dann handelt es sich immer umWelt-koordinaten. Wenn wir die Matrix der inneren Parameter (14.31) beachten sowie (14.34)und (14.32) vergleichen, sehen wir, dass die dritte Zeile in der allgemeinen Projektionsma-trix (14.34) spezifiziert werden kann zu:

aT = (a , a , a) = rT = (r , r , r), a = t. (14.35)

14.1.9 Normalisierte Koordinaten

Zerlegen wir nun z. B. die „interne Projektionsmatrix K“ in K = (K, ) und gehen zu neuenKoordinaten über

uN = K−u = K− ⋅ K ⋅ RT ⋅ xW , (14.36)

so nennt man diese Koordinaten uN normalisierte Koordinaten. Wir abstrahieren damitvon den inneren Parametern, wir tun so, als ob wir eine ideale Kamera zur Verfügung hät-ten. Alle inneren Parameter dieser idealen Kamera sind Null bzw. Eins. Demzufolge ist dieinterne Projektionsmatrix die Einheitsmatrix. Wir können also schreiben:

uN = E ⋅ xK = (E, ) ⋅ xK = E ⋅ xK = xK . (14.37)

Damit sind die homogenenKoordinaten der Bildpunkte identischmit den 3D-Koordinatendes Kamerakoordinatensystems. Die Identität gilt natürlich nur bis auf einen unbekann-ten Faktor, da wir somit nur den Sehstrahl zur Verfügung haben und nicht den absoluten3D-Punkt. Bei einer idealen Kamera ergänzen wir folglich die 2D-Punkte einfachmit einerEins und erhalten die Richtung des Sehstrahles.Mit normalisierten Koordinaten kannmanrecht erfolgreich rechnen, man setzt dann stillschweigend voraus, dass die inneren Kame-raparameter bestimmt wurden unddie homogenen Pixelkoordinaten durchMultiplikationmit der inversen internen Projektionsmatrix umgerechnet wurden.

Lage desWeltkoordinatensystems Manchmal (z. B. in der Robotik) ist die Lage desWelt-koordinatensystems äußerst wichtig. Oft soll aber nur die Oberfläche eine Objektes rekon-

Page 313: Bildverarbeitung und Objekterkennung ||

304 14 Geometrie der Abbildungsprozesse

struiert werden, d. h. deren Form ist wichtig und nicht die Lage in einemWelkoordinaten-system. In solch einem Falle könnenwir dasWeltkoordinatensystem „hinlegenwo wir wol-len“. Wir müssen nur darauf achten, dass dann die äußeren Kameraparameter durch Ka-librierung auch bestimmbar sind. Bezüglich photogrammetrischer Rekonstruktion brau-chenwir normalerweise zwei Kameras, dies nennenwir eine Stereo-Anordnung.Mit dieserkönnen wir durch Triangulation zweier Bildpunkte den 3D-Punkt berechnen. Eine be-sonders einfache Stereoanordnung zweier Kameras ist der sogenannte Stereo-Normalfall.Zwei identische Kameras (d. h. mit gleichen inneren Parametern) sind nur bezüglich derx-Achse verschoben, nicht verdreht gegeneinander. Die optischen Achsen beider Kamerassind dann parallel. Wenn wir mit dieser Stereo-Anordnung eine 3D-Oberfläche rekon-struieren wollen, dann legen wir einfach das Weltkoordinatensystem in das Kamerako-ordinatensystem der ersten Kamera. Damit lauten in diesem Weltkoordinatensystem dieAbbildungsgleichungen der ersten Kamera:

u = K ⋅ xW . (14.38)

Die Abbildung der zweiten Kamera müssen wir nun in dem gleichen Welkoordinatensys-tem beschreiben. Wir wissen, die zweite Kamera ist bezüglich der x-Achse um d verscho-ben, alles andere bleibt identisch. Daher ergibt sich für die zweite Kamera:

v = K ⋅ xW +K ⋅ (−d , , )T . (14.39)

Die unbekannten Parameter sind nun die inneren Parameter und die Verschiebung d. Dieinneren Parameter kann man durch Kalibrierung bestimmen und das d muss durch dieKonstrukteure des Stereopaares bekannt sein bzw. irgendwie vermessen worden ein. Solcheine Kamerapaar ist sicher teuer in der Herstellung, da die Parallelität exakt garantiert wer-den muss.

14.1.10 Homographien

Es liege von einer Kamera zwei Aufnahmen vor. In der 3D-Szene liegen Objekte in ei-ner Ebene, z. B. Fenster in einer Häuserwand. Dann existiert zwischen den Abbildungender Ebene in beiden Bildern eine Homographie, also eine 2D↔ 2D projektive Abbildung,siehe Abb. 14.5. Zur Berechnung der Homographie benötigen wir mindestens vier Punkt-referenzpaare.

14.1.11 Kamerainvarianten

Je nach Abbildungsmodell (dabei wird höchstens die perspektivische Abbildung zugelas-sen, keine Verzeichnungen usw.) gibt es sechs realistische, verschiedene Kameramodelle,

Page 314: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 305

Abb. 14.5 Homographie:2D↔ 2D-projektive Abbil-dung bezüglich der beidenBildebenen

sechs äußere Kameraparameter gilt es zu bestimmen. Es gibt maximal fünf innere Kame-raparameter, die invariant gegenüber Bewegungen der Kamera sind und bei einer neuenKameraposition eigentlich nicht wieder berechnet zu werden brauchen. Bei den zentral-perspektivischen Modellen ist es unrealistisch, eine Skalierung s durch den Sensor auszu-schließen. Damit kann aber nur das Produkt s ⋅ f bestimmt werden, aber nicht die Kammer-konstante f selbst. Gehenwir von fünf innerenKameraparametern aus, somüssenwir dieseals Invarianten der zentralperspektivischenAbbildung gegenüber Bewegungen aus denAb-bildungsparametern wieder berechnen können. Bei fünf inneren Parametern müssen wirModell (14.34) annehmen. Die Abbildungsgleichungen schreiben wir jetzt pro homogenerKoordinate

u = aT ⋅ x + av = aT ⋅ x + aw = aT ⋅ x + a ,

(14.40)

oder eleganter in Matrixschreibweise:

A = (A, a) , u = A ⋅ x = Ax + a. (14.41)

Eine Bewegung beschreiben wir durch x = R ⋅ x′ + t, diese setzen wir in die Transformati-onsformeln (14.40) ein und erhalten:

u = aT ⋅R ⋅ x′ + aT ⋅ t + av = aT ⋅R ⋅ x′ + aT ⋅ t + aw = aT ⋅R ⋅ x′ + aT ⋅ t + a

(14.42)

Die uns interessierenden Transformationen können wir nun ablesen:

a′T = ω ⋅ aT ⋅ R; a′T = ω ⋅ aT ⋅ R; a′T = ω ⋅ aT ⋅ R, (14.43)

Page 315: Bildverarbeitung und Objekterkennung ||

306 14 Geometrie der Abbildungsprozesse

wobei ω infolge der homogenen Koordinaten ein unbekannter Faktor ist. Damit könnenwir nun sechs Skalarprodukte bilden:

a′Ti a′j = ω ⋅ aTi a j , i , j = , , , i ≤ j. (14.44)

Um Invarianten zu erhalten, müssen wir die Faktoren ω eliminieren. Dies ist leicht durch15 Quotientenbildungen möglich. Allerdings können nur 5 von diesen 15 Quotienten un-abhängig voneinander sein, denn es gibt nur 5 innere Parameter. Wir entscheiden unswillkürlich für die folgenden fünf:

I =aT aaT a

, I =aT aaT a

, I =aT aaT a

, I =aT aaT a

, I =aT aaT a

. (14.45)

Diese fünf Invarianten müssen zumindestens Funktionen der fünf inneren Kamerapara-meter sein, wenn nicht sogar einige identisch mit inneren Kameraparametern sind.

Eine weitere Schlussfolgerung ausModell (14.34) ist folgende: Sind alle homogenenKo-ordinaten u = , v = , w = gleich Null, dann heisst dies, die kartesischen Koordinatensind „unbestimmte Ausdrücke“, der einzige Punkt, wo Bildkoordinaten unbestimmt seinmüssen, ist das Projektionszentrum xc = (xc , yc , zc)T selbst:

= aT ⋅ xc + a = aT ⋅ xc + a = aT ⋅ xc + a .

(14.46)

In Matrixschreibweise ergibt sich

Axc + a = → xc = −A−a. (14.47)

Auf Grund dieser Eigenschaft können wir die Abbildungsgleichungen auch in der Form

u = aT ⋅ (x − xc)v = aT ⋅ (x − xc)

w = aT ⋅ (x − xc)

(14.48)

schreiben. In Matrixschreibweise ist dann:

u = A(x − xc). (14.49)

Betrachten wir nochmals die dritte Ebene: = aT ⋅ (x − xc). Diese geht durch das Projek-tionszentrum und jeder weitere Punkt dieser Ebene wird auf den unendlich fernen Punkt

Page 316: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 307

abgebildet. Aus diesen beiden Eigenschaften folgt, dass diese Ebene parallel zur Bildebe-ne sein muss. Damit ist der Vektor a ein Normalenvektor aller Ebenen, die zur Bildebeneparallel sind. Den Bildhauptpunkt (u , v)T können wir relativ leicht ausrechnen. Dazubetrachten wir die optische Achse, die durch das Projektionszentrum geht und sekrechtauf der Bildebene steht, daher lautet deren Parameterdarstellung x−xc = λa. Diese setzenwir in die Abbildungsgleichungen (14.48) ein und erhalten:

u = aT ⋅ (λa)

v = aT ⋅ (λa)w = aT ⋅ (λa) .

(14.50)

Nun interessieren uns die kartesischen Koordinaten des Bildhauptpunktes, diese sind:

u = I =aT aaT a

, v = I =aT aaT a

, (14.51)

welche zwei der fünf Kamerainvarianten darstellen und gleichzeitig zwei der fünf innerenKameraparameter sind. Als nächsten inneren Parameter wollen wir den Winkel zwischenden gescherten Basisvektoren in der Bildebene berechnen.Wir berechnen somit im x , y, z-Koordinatensystem zunächst die Vektoren, die die Geraden v = bzw. u = bestimmen.Dies ist recht einfach, denn a steht senkrecht auf der Bildebene und aus obigen Abbil-dungsgleichungen ist ersichtlich, dass u = bzw. v = Ebenen beschreiben, deren Norma-lenvektoren senkrecht auf den Achsen stehen und sofort ablesbar sind. Damit kann manüber Vektorprodukte sofort die Richtungsvektoren der gesuchten Achsen ausrechnen. MitHilfe des Skalarproduktes berechnen wir deren Schnittwinkel, benutzen die sogenannteLagrangesche Identität für Mehrfachprodukte und erhalten:

cos φ =I − II

√(I − I)(I − I)

. (14.52)

Bei diesem Ausdruck zur Berechnung der Scherung ist es numerisch besser, das ProduktaT a in Zähler undNenner wieder auszuklammern und zu kürzen, da sonst erhebliche nu-merische Probleme auftreten. Damit haben wir einen weiteren inneren Kameraparamerterbestimmt. Durch ähnliche, einfache Überlegungen lassen sich auch die Skalierungsfakto-ren berechnen, es ergibt sich:

sxK ⋅ f =√

I − I , syK ⋅ f =√

I − I , (14.53)

womit wir die letzten beiden inneren Kameraparameter berechnet haben. In der prakti-schen 3D-Rekonstruktion benötigen wir natürlich die Parameter eines Kamera-Modelles.Die Bestimmung der Parameter eines Kamera-Modelles nennt man Kalibrierung.

Page 317: Bildverarbeitung und Objekterkennung ||

308 14 Geometrie der Abbildungsprozesse

14.1.12 Homogene Koordinaten via Kartesische Koordinaten

Je nachAnwendung ist die eine Form gegenüber der anderen effektiver bzw. führt zur kom-pakteren Schreibweise. Mit kartesischen Koordinaten können wir unsere Vorstellungenüber die analytische Geometrie des 3D-Raumes besser darstellen, während die homogenenKoordinaten zur einer besseren algebraischen Darstellung führen. Die bessere algebraischeDarstellung sei kurz an der Berechnung eines Sehstrahlvektors gezeigt. Der Sehstrahl gehtdurchs Projektionszentrum, daher lautet die Geradendarstellung des Sehstrahles:

x = xc + λt. (14.54)

Diesen setzen wir in die Abbildungsgleichung u = Ax + a ein und erhalten:

u = A (xc + λt) + a = [Axc + a] + λAt = λAt. (14.55)

Daraus folgt nun simpel der Richtungsvektor t bis auf einen Faktor zu:

t = A−u. (14.56)

In diesem Falle müssen wir uns mit kartesischen Koordinaten etwas mehr plagen:Dazu schreiben wir die Abbildungsgleichungen kartesisch auf:

u =⟨a , x − xc⟩⟨a , x − xc⟩

, v =⟨a , x − xc⟩⟨a , x − xc⟩

. (14.57)

Durch leichte Umformungen sehen wir:

⟨ua − a , t⟩ = , ⟨va − a, t⟩ = . (14.58)

Damit habenwir zwei Vektoren gefunden, die senkrecht auf dem Richtungsvektor t stehen,damit ist:

t = (ua − a) × (va − a) = a × a + ua × a + va × a . (14.59)

Mit der Abkürzung

C = (a × a, a × a , a × a) (14.60)

können wir auch schreiben:

t = C ⋅⎛⎜⎝

uv

⎞⎟⎠, (14.61)

Page 318: Bildverarbeitung und Objekterkennung ||

14.1 Kameramodelle 309

womit wir die Beziehung zu den homogenen Koordinaten wieder hergestellt haben, dennes gilt allgemein für ( × )Matrizen:

A− =

det(A)(a × a , a × a , a × a) . (14.62)

Im Zusammenhang mit dem Kreuzprodukt wollen wir noch an die Operatorschreibweiseerinnern, also mit aT = (a , a, a), bT = (b , b, b) ist:

a × b =⎛⎜⎝

−a aa −a−a a

⎞⎟⎠⋅⎛⎜⎝

bbb

⎞⎟⎠. (14.63)

Ein weiteres schönes Beispiel zur Nutzung von homogenen Koordinaten wäre es, die Bild-gerade einer im Raum verlaufenden Geraden x = xp + λt zu bestimmen. Dazu wählen wireinfach im Raum zwei Punkte auf der Geraden aus, z. B. für λ = , λ = und berechnen dieBildpunkte:

u = Axp + a, u = Axp +At + a. (14.64)

Die in der Bildebene durch zwei Punkte gehende Gerade wird in homogenen Koordinateneindeutig durch das Kreuzprodukt bestimmt u × u . Nun können wir auch noch leichtden Normalenvektor der durch die Bildgerade und das Projektionszentrum verlaufendeEbene bestimmen zu A−u × t. Dabei ist t der Richtungsvektor der gegebenen Raumgera-den. Diese Raumebene nennt man Blickebene. Den Zusammenhang zwischen Blickebeneund Bildgeraden können wir uns algebraisch mit homogenen Koordinaten noch einfacherund übersichtlicher herleiten. Es sei wie immer u = Ax + a die Abbildungsgleichung undx = xp + λt sei die Gleichung der Raumgeraden. Weiterhin sei n = t × (xp − xc) ein Nor-malenvektor der Blickebene. Dann können wir schreiben:

u = Axp + λAt+ a= Axp + a + λAt −Axc − a= A[(xp − xc) + λt]= Ad.

(14.65)

Da der Punkt d in der Blickebene liegt und d = A−u ist, folgt nT ⋅ A−u = . Wenn nunallgemein pT ⋅ u = die Gleichung einer Geraden in der Bildebene ist, so ergibt sich dereinfache Zusammenhang:

A−T⋅ n = p ⇔ n = AT ⋅ p. (14.66)

Page 319: Bildverarbeitung und Objekterkennung ||

310 14 Geometrie der Abbildungsprozesse

14.2 Bewegung der Kamera

Die Bewegung einer Kamera hatten wir schon im Zusammenhang mit den Kamerainvari-anten behandelt, siehe Abschn. 14.1.11. Wir nehmen an, alle Abbildungsparameter einerKamera seien bestimmt, also es liegt bereits eine kalibrierte Kamera vor. Wenn wir nundie Kamera bewegen, sind die Kameraparameter nicht mehr richtig, es müsste neu kali-briert werden. Oft kennt man aber die genaue Bewegung im Weltkoordinatensystem, z. B.wenn eine Kamera an einem Roboterarm befestigt ist, dann kann die Bewegung im kör-pereigenen Koordinatensystem beschrieben werden. Kennt man den Bezug von Roboter-koordinatensystem undWeltkoordinatensystem, dann ist natürlich die Bewegung auch imWeltkoordinatensystem beschreibbar. Eine Bewegung wird beschrieben durch x = Rx′ + t.Wir kennen also die Rotation R und die Translation t. Nun schreiben wir wieder die Ab-bildungsgleichung u = Ax + a auf und setzen die Bewegung ein:

u = ARx′ +At + a. (14.67)

Damit können wir die neuen Abbildungsparameter sofort ablesen:

A′ = A ⋅R, a′ = At + a. (14.68)

Dies nenntmanRekalibrierung einer Kamera. Gibt es nun Bewegungen einer Kamera ohnedass sich das Bild ändert, also invariant bleibt? Wir fragen konkret, gibt es 3D-Punkte oderObjekte, die gegen jegliche Bewegung der Kamera im Bild invariant sind, also stets dasgleiche Abbild ergeben? Dazu schreiben wir nochmals die Abbildungsgleichungen auf:

u = K ⋅ [R, t] ⋅ (x) = K ⋅ [R, t] ⋅ x. (14.69)

Wenn wir nun uneigentliche Punkte abbilden, ergibt sich:

u = K ⋅ [R, t] ⋅ (x∞

) = KRx

. (14.70)

Wir sehen, egal welche Translation t gewählt wird, der 3D-Punkt wird immer in den glei-chen Bildpunkt abgebildet, ist invariant gegenüber Translationen. Dies können wir in derPraxis beobachten für „weit entfernte“ Punkte. Fährt man auf der Autobahn immer geradeaus, dann scheint die Sonne regelrecht an einem Punkt „fest zu kleben“. Für die Rotationgelten diese Eigenschaften natürlich nicht, die Rotationsmatrix geht noch in die Abbildungein. Für diese uneigentliche Punkte hängt also die Abbildung nur noch ab von den innerenParametern und der Rotation. Gibt es nun in der Menge aller uneigentlichen Punkte einObjekt aus uneigentlichen Punkten, wo die Abbildung des Objektes auch nicht mehr vonder Rotation abhängt, sondern nur noch von den inneren Parametern, also invariant von

Page 320: Bildverarbeitung und Objekterkennung ||

14.2 Bewegung der Kamera 311

den äußeren Parametern ist. Ein reales Objekt kann das sicher nicht sein, aber vielleichtein mathematisch abstraktes Objekt. Wenn wir eine Bewegung haben, d. h. Rotation undTranslation, dann transformiert sich der x

-Anteil der uneigentlichen Punkte durch dieBewegung wie oben ersichtlich zu x′

= Rx∞

. Wir betrachten nun alle Punkte, die dieGleichung xT

x∞

= erfüllen, dann folgt:

x′T∞

x′∞

= xT∞

RTRx∞

= xT∞

x∞

= . (14.71)

Alle uneigentlichen Punkte, deren x∞

-Anteil die Gleichung xT∞

x∞

= erfüllen, bleiben beieiner Rotation auf dieser Kurve. Diese Kurve heißt absolute conic (AC) und besitzt keinereellen Lösungen, sondern nur komplexe. Wir lösen in der Abbildungsgleichung auf:

u = KRx∞

→ x∞

= (KR)−u (14.72)

und setzen in xT∞

x∞

= ein:

xT∞

x∞

= uT(KR)−T(KR)−u = uTK−

TK−u = . (14.73)

Wir sehen, auch das Abbild des AC, beschrieben durch uTK−TK−u = ist eine „kom-plexe“ quadratische Form, genannt image of the absolute conic (IAC), die nur noch von deninneren Parametern abhängt. Die Matrix ω− = KKT heißt dabei Kruppa-Matrix.

Wir betrachten jetzt weiterhin eine spezielle Rotation, wobei sich die Kamera aus-schließlich um das Projektionszentrum dreht. Diesen Fall gilt es jetzt zu untersuchen. Dadas Projektionszentrum fest bleibt, müssen die 2D-Bilder sich ausschließlich durch einespezielle 2D-projektive Transformation, eine Homographie, unterscheiden. Eine Rotationum das Projektionszentrum können wir nur beschreiben, wenn wir vorher den Koordi-natenursprung in das Projektionszentrum verschieben, also z = x − xc . Dann lautet dieRotation z′ = R ⋅ z. Nun schreiben wir die Abbildungsgleichungen gleich in den neuenKoordinaten auf:

u = Ax + a = Az⇔ z = A−u (14.74)

und damit ist:

u′ = Ax′ + a = Az′. (14.75)

Nun setzen wir ein und erhalten:

u′ = ARz = ARA−u = Du. (14.76)

Die Transformation u′ = Du beschreibt eine spezielle (2D ↔ 2D) Homographie. Dies istaber nicht mehr der Fall, wenn wir zusätzlich noch eine Translation zulassen würden. Bei

Page 321: Bildverarbeitung und Objekterkennung ||

312 14 Geometrie der Abbildungsprozesse

vorgegebener Kamera hängt folglich die Homographie nur noch von den drei Parameternder Rotationsmatrix R ab. Diese Erkenntnis hat große Bedeutung für die Berechnung vonPanoramabildern mit einer sich drehenden Kamera. Diese Einzelbilder sollen harmonischzu einemGesamtbild zusammengestztwerden. Zwischen den 2D-Bildern existiert aber nurdann eine 2D↔ 2D projektive Transformation (Homographie), wenn sich die Kamera umdas Projektionszentrum dreht. Das Projektionszentrum wird in diesem Zusammenhangoft alsNodalpunkt bezeichnet. Haben wir noch eine Translation enthalten, dann passen dieTiefen, d. h. Vorder-undHintergrund einfach nicht mehr zusammen. Das Projektionszen-trum einer üblichen Kamera liegt oft in der Blendenebene, muss aber empirisch bestimmtwerden oder bestimmte Zusatzeinrichtungen von Stativen gewähren dann die gewünschteRotation. Sind die aufzunehmenden Objekte weit entfernt von der Kamera, dann ist einekleine Verschiebung nicht so problematisch, die Zusammensetzungsfehler sind dann klein.

Für andere praktische Zwecke ist es durchaus auch sinnvoll ein Bild 2D-projektiv so zutransformieren, dass eine beliebiger Punkt u in denHauptpunkt u transformiert wird. Da-zu müssen wir die Rotationsmatrix bestimmen. Anschaulich heißt dies aber, wir rotierenden Sehstrahl bezüglich des Punktes u in die optischeAchse. Damit könnenwir aber Dreh-achse und Drehwinkel berechnen. Die Drehachse steht senkrecht auf der optischen AchseunddemSehstrahl, derDrehwinkel ist derWinkel zwischen Sehstrahl und optischerAchse,folglich:

s =ts × a∣ts × a ∣

, cos α =⟨ts , a⟩∣ts ∣ ⋅ ∣a∣

. (14.77)

Aus Drehachse und Drehwinkel können wir nun (direkt oder mit den Quaternionen) dieRotationsmatrixR ausrechnen und damit die Homographie. Diese Art der Transformationbezüglich des Hauptpunktes nennt man Hauptpunkttransformation nach Kanatani. Diesewird richtig interessant, wenn man „senkrecht“ auf eine Ebene schauen will, dann ist dieAbbildung bezüglich dieser Ebene nur eine Ähnlichkeitstransformation. Dazu muss manaber „irgendwie“ den Normalenvektor der uns interessierenden Ebene bestimmen. DerWinkel zwischen Normalenvektor und optischer Achse ist dann der Drehwinkel.

14.3 Invarianten

14.3.1 Punktinvarianten

Als erstes betrachten wir sogenannte Punktinvarianten, d. h. Invarianten die ausschließlichaus Punktanordnungen berechnet werden. Zunächst betrachten wir affine Invarianten inder Ebene. Dazu nehmen wir vier Punkte x , x , x , x, die durch eine affine Transformationin die Bildpunkte x′ , x′ , x′ , x′ überführt wurden. Die drei Punkte x , x , x spannen einKoordinatensystemauf,mit x alsUrsprung und x−x, x−x als die beidenBasisvektoren.

Page 322: Bildverarbeitung und Objekterkennung ||

14.3 Invarianten 313

Folglich können wir x in diesem Koordinatensystem darstellen:

x = x + λ(x − x) + λ(x − x). (14.78)

Nun transformieren wir den Vektor der linken Seite und den Vektor der rechten Seite affinund erhalten:

Ax + a = A[x + λ(x − x) + λ(x − x)] + a= Ax + a + λ(Ax + a −Ax − a) + λ(Ax + a −Ax − a). (14.79)

Daraus folgt sofort:

x′ = x′ + λ(x′ − x′) + λ(x′ − x′). (14.80)

Damit sind die beiden Koordinaten λ und λ invariant gegenüber affinen Transformatio-nen. Dies gilt ebenso für höherdimensionale Räume, also auch für den dreidimensionalenRaum. Man erkennt an diesem einfachen Beispiel eine allgemeine Merkregel zur Berech-nung von Invarianten, die nicht nur auf Punktinvarianten beschränkt ist:

• Vier Punkte in der Ebene werden durch acht Parameter beschrieben, während die af-fine Transformation sechs Parameter besitzt. Folglich verfügt man über − = freieParameter und kann demzufolge nur zwei Invarianten berechnen.

• Fünf Punkte im Raum werden durch Parameter beschrieben, während die affineTransformation im Raum Parameter besitzt. Folglich kann man − = dreiInvarianten berechnen.

• Allgemein: Anzahl der verwendeten Merkmale minus Anzahl der Parameter der ver-wendeten Transformation ist gleich Anzahl der zu berechnenden Invarianten.

• Ein weiteres Beispiel sei die Berechnung der Invarianten von Ellipsen bezüglich affi-ner Transformationen. Eine Ellipse besitzt Parameter und die affineTransformation ,folglich ist − = −. Folglich existieren für Ellipsen keine affinen Invarianten.

Kommen wir noch einmal auf die Basisdarstellung (14.78) zurück. Diese kann man auchin der Form

x = ( − λ − λ)x + λx + λx = μx + μx + μx , μ + μ + μ = (14.81)

schreiben. Dabei nennt man die Punkte x , x , x eine affine Basis der Ebene und μ , μ, μmit μ , μ , μ = die affinenKoordinaten des Punktes x. Diese affineDarstellung schreibenwir noch etwas anders:

μx + μx + μx − x = , μ + μ + μ − = . (14.82)

Page 323: Bildverarbeitung und Objekterkennung ||

314 14 Geometrie der Abbildungsprozesse

Beide Gleichungen können wir mit einer beliebigen Konstanten multiplizieren, daherschreiben wir:

ξx + ξx + ξx + ξx = , ξ + ξ + ξ + ξ = . (14.83)

In Matrixschreibweise wollen wir diese beiden Gleichungen zusammenfassen.Mit

X = ( x x x x

) , ξT = (ξ , ξ, ξ, ξ) (14.84)

ergibt sich in kompakter Schreibweise X ⋅ ξ = . Folglich spannen alle Lösungsvektorenξ den Nullraum N(X) auf. Statt der affinen Koordinaten kann man nun auch als dualeBetrachtungsweise den Nullraum benutzen. Transformieren wir nun die vier Punkte inder dualen Darstellung affin, d. h.

ξ(Ax) + ξ(Ax) + ξ(Ax) + ξ(Ax) = , (14.85)

dann ergibt sich:

ξx′ + ξx′ + ξx′ + ξx′ − a(ξ + ξ + ξ + ξ) = . (14.86)

Daraus kann man nun ablesen: der Nullraum N(X) ist selbst affin invariant.Dies kann man nun auch für m Punkte x , . . . , xm− im n-dimensionalen Raum verall-

gemeinern. Mit

X = ( ⋯ x x ⋯ xm−

) (14.87)

ist der Nullraum wieder affin invariant. Er wird in der Literatur als affine shape der mPunkte x , . . . , xm− bezeichnet. Wenn sich folglich zwei Punktmengen affin ineinanderüberführen lassen, dann müssen ihre affine shape identisch sein. Das Hauptproblem beider praktischen Nutzung von affinen Koordinaten ist die Wahl der Basis, bezüglich der dieanderen Punkte eine invariante Darstellung haben. Daher muss man verschiedene Basen„ausprobieren“. Die numerische Strategie zur effektiven Auswahl aller möglichen Basenwird als geometric hashing bezeichnet.

Die „nächsthöhere“ Stufe nach affinen Transformationen sind die projektiven Transfor-mationen. Die projektiven Transformationen werden auch als Kollineationen bezeichnet,da stets Geraden wieder in Geraden übergehen. Eine Gerade ist ein 1D-dimensionaler pro-jektiver Raum, ebenso wie einGeradenbüschel. ZweiGeraden können demnach durch eine1D↔ 1D projektive Transformation ineinander überführt werden:

x′ =ax + aax + a

. (14.88)

Page 324: Bildverarbeitung und Objekterkennung ||

14.3 Invarianten 315

Dasselbe in homogenen Koordinaten:

x′ = (a aa a

) x. (14.89)

Wir wählen zwei Punkte x und x aus, deren Transformierte x′ und x′ sind. Wir bildendie Differenz:

x′ − x′ =ax + aax + a

−ax + aax + a

=(ax + a)(ax + a) − (ax + a)(ax + a)

(ax + a)(ax + a)

=(aa + aa)(x − x)(ax + a)(ax + a)

. (14.90)

Ziel ist es, die Transformationsparameter zu eliminieren. Dazu wählen wir einen drittenPunkt x und bilden

x′ − x′ =(aa + aa)(x − x)(ax + a)(ax + a)

. (14.91)

Wir sehen, einen großen Teil der Parameter können wir eliminieren, wenn wir den Quoti-ent bilden:

x′ − x′x′ − x′

=x − xx − x

⋅ax + aax + a

. (14.92)

Bei einer affinen Transformation ist a = und a = , sodass der Quotient x−xx−x

nichtmehr von den Transformationsparametern abhängt. Er ist eine grundlegende affine Inva-riante, das sogenannte Teilverhältnis. Bei projektiven Transformationen müssen wir einenSchritt weitergehen. Dazu wählen wir einen 4. Punkt und ersetzen im Teilverhältnis xdurch x. Wenn wir den Quotient dieser beiden Teilverhältnisse bilden, fallen alle Trans-formationsparameter raus und wir erhalten die erste grundlegende projektive Invariante,das Doppelverhältnis. Bezeichnen wir nun die vier Punkte mit A, B,C ,D, die alle auf einerGeraden liegen müssen, so ist die Schreibweise üblich:

[A, B,C ,D] =

ABACDBDC

=ABAC

⋅DCDB

. (14.93)

Wir können auch an einem Büschel von Geraden das Doppelverhältnis deuten, sieheAbb. 14.6. Nun wenden wir den allgemein bekannten Sinussatz an:

sin(AOB)AB

=sin(α)OB

,sin(AOC)

AC=sin(α)OC

. (14.94)

Page 325: Bildverarbeitung und Objekterkennung ||

316 14 Geometrie der Abbildungsprozesse

Abb. 14.6 Geradenbüschelund Doppelverhältnis

Wir bilden wieder Quotienten:

ABAC

=OBOC

⋅sin(AOB)sin(AOC)

. (14.95)

Wir ersetzen A durch den vierten Punkt D und erhalten ebenso:

DBDC

=OBOC

⋅sin(DOB)sin(DOC)

. (14.96)

Jetzt bilden wir das Doppelverhältnis aus den vier Punkten A, B,C ,D und erhalten:

[A, B,C ,D] =

sin(AOB)sin(AOC)sin(DOB)sin(DOC)

. (14.97)

Diese Invariante (14.97) ist ein äquivalenter Ausdruck bezüglich der Winkel als Doppel-verhältnis und spielt bei der Epipolartransformation eine Rolle, siehe Abschn. 14.4.2. Wirwissen bereits: Ein Geradenbüschel ist auch ein 1-dimensionaler projektiver Raum. Ei-ne Gerade wird durch aT x = beschrieben. Vier Geraden, die durch einen gemeinsa-men Schnittpunkt gehen, werden durch vier Vektoren a , a, a, a beschrieben. Diese vierVektoren sind gleichzeitig interpretierbar als vier Punkte in homogenen Koordinaten aufeiner Geraden, also in einem 1-dimensaionalen projektiven Raum. Rechnen wir nun die-se homogenen Koordinaten der 4 Geraden (die Normalenvektoren) formal in kartesischeKoordinaten um, dann können wir von diesen das Doppelverhältnis bilden. Dieses Dop-pelverhältnis ist dann das Doppelverhältnis der vier Geraden des Geradenbüschels.

Page 326: Bildverarbeitung und Objekterkennung ||

14.3 Invarianten 317

14.3.2 Flächeninvarianten

Bei den bisherigen Punktinvarianten hatten wir vorausgesetzt, dass die vier Punkte auf ei-ner Geraden liegen müssen, egal ob die Gerade in der Ebene oder im Raum liegt. Wenndies nicht erfüllt ist, so nehmen wir im Folgenden an, dass alle Punkte wenigstens in ei-ner Ebene liegen, deshalb werden diese auch Flächeninvarianten genannt. Eine bekannteMethode zu deren Herleitung ist die sogenannte Determinantenmethode. Drei Punkte lie-gen immer in einer Ebene, wir bilden die Fläche des durch die drei Punkte aufgespanntenDreiecks:

F =

���������������

x y x y x y

���������������

. (14.98)

Da wir die projektive Ebene gewählt haben, betrachten wir jetzt wie üblich eine 2D↔ 2Dprojektive Transformation. Als Abkürzung sei benutzt:

aTi = (ai , ai, ai), xTk = (xk , yk , ). (14.99)

Dann können wir die Transformation auch in der Form

x′k =aT xkaT xk

, y′k =aT xkaT xk

(14.100)

schreiben. Nun transformieren wir die Fläche:

F′ =

���������������

x′ y′ x′ y′ x′ y′

���������������

=

���������������

aT x aT x aT xaT x aT x aT xaT x aT x aT x

���������������(aT x)(aT x)(aT x)

=

���������������

⎛⎜⎝

xTxTxT

⎞⎟⎠(a , a, a)

���������������(aT x)(aT x)(aT x)

. (14.101)

Mit den Abkürzungen βi = aT xi und δ = det(a , a, a) ist dann

F′ =δ

βββF (14.102)

die Transformation der Fläche der drei Punkte. Wir versuchen wieder die Faktoren zu eli-minieren, indem wir weitere Punkte hinzuziehen, also einen vierten Punkt und bilden:

F′ =δ

βββF . (14.103)

Wir bilden den Quotienten

F′F′

=ββ

FF

. (14.104)

Page 327: Bildverarbeitung und Objekterkennung ||

318 14 Geometrie der Abbildungsprozesse

Abb. 14.7 Fünf-Punkte-Invariante: Der Quotient derProdukte gegenüberliegenderFlächen ist projektiv invariant

Bei affinen Transformationen ist βi = ,∀i, sodass wir mit

I =F

, I =FF

(14.105)

zwei affine vier-Punkte Invarianten erhalten haben. Vier Punkte bestimmen acht Parame-ter, eine affineTransformation ist durch sechs Parameter bestimmt, also haben wir − = freie Merkmale und dies sind die beiden Invarianten. Bezüglich projektiver Abbildungenbenötigen wir einen weiteren Punkt

F′F′

=ββ

FF

. (14.106)

Durch Quotientenbildung können wir nun die restlichen Parameter eliminieren und er-halten zwei Flächeninvarianten:

I =FFFF

, I =FFFF

. (14.107)

Eine 2D↔ 2D projektive Transformation besitzt acht Parameter, fünf Punkte haben zehnMerkmale, deshalb gibt es − = freie Parameter, also zwei Invarianten. Zur besserengeometrischen Deutung schreiben wir die erste Invariante nochmals in der Form

I =FFFF

(14.108)

auf.Wir wählen für die fünf Punkte eine spezielle Anordnung entsprechend Abb. 14.7. Dererste Punkt soll innerhalb des Viereckes liegen. Wir lesen aus (14.108) und der Abb. 14.7dann ab, dass der Quotient des Produktes der Flächen gegenüberliegender Dreiecke pro-jektiv invariant ist.

Page 328: Bildverarbeitung und Objekterkennung ||

14.3 Invarianten 319

14.3.3 Invarianten von Punkten, Geraden, Kurven

Wir betrachten in homogenen Koordinaten eine projektive Transformation x′ = Ax sowieeine Gerade vor gT x = und die Gerade g′T x′ = nach der projektiven Transformation.Wir setzen ein g′T x′ = g′TAx = und erhalten damit γg = ATg′ und damit g′ = γAT−g =

γA−Tg. Nun betrachten wir normierte homogene Koordinaten, d. h. die dritte Koordinateist 1 bzw. die ersten beiden sind kartesische Koordinaten, also x′ = (x′ , y′, )T bzw. x =

(x , y, )T . Dann lautet die projektive Transformation x′ = AxaT x

(aT ist der dritte ZeilenvektorvonA).Wir betrachten nun einmal irgendeinen Punkt x und dessen transformierten Punktx′, die nicht auf der Geraden bzw. der transformierten Geraden liegen müssen. Wir bildendas Produkt:

g′Tx′ = (γA−Tg)

T AxaT x

= γgTxaT x

. (14.109)

Wir erkennen den Term gTx, welcher vor und nach der Transformation vorkommt, aberauf Grund von γ und aT nicht invariant sein kann. Daher wählen wir zwei Geraden undzwei Punkte und bilden gemischte Produkte der Form:

g′T x′ = γgT xaT x

, g′T x′ = γgT xaT x

,

g′T x′ = γgT xaT x

, g′T x′ = γgT xaT x

. (14.110)

Wir können alle Faktoren eliminieren, wenn wir den folgenden Quotienten bilden:

I =g′T x′ ⋅ g′T x′g′T x′ ⋅ g′T x′

=gT x ⋅ gT xgT x ⋅ gT x

. (14.111)

Folglich haben wir eine Invariante von zwei Geraden und zwei Punkten berechnet. ZweiGeraden und zwei Punkte besitzen acht Merkmale, die projektive Transformation besitztebenso acht Parameter, also kann es doch gar keine 2D-projektive Invarianten von zweiGeraden und zwei Punkten geben? Wir haben aber doch zweifelsfrei eine hergeleitet. Be-trachten wir einmal in Abb. 14.8 die Konstellation. Mit den beiden Schnittpunkten habenwir vier Punkte auf einer Geraden und wir haben folglich weiter nichts als das Doppelver-hältnis dieser vier Punkte berechnet, also eigentlich eine 1D-projektive Invariante.

Wir betrachten im Folgenden Kurven zweiter Ordnung in der Form:

ax + bxy + c y + dx + e y + f = . (14.112)

Wir führen die Matrix

E =

⎛⎜⎜⎝

a b

d

b c e

d

e f

⎞⎟⎟⎠

(14.113)

Page 329: Bildverarbeitung und Objekterkennung ||

320 14 Geometrie der Abbildungsprozesse

Abb. 14.8 Invariante: Zwei Geraden und zwei Punkte

ein und schreiben für (14.112) in Matrixnotation xTEx = mit x = (x , y, )T . Eine Ellipsebesitzt keine projektiven Invarianten, weil − = − < ist. Notiert man die projektiveTransformation in der Matrixform x′ = Ax

aT x, dann ist:

x′TE′x′ =xTATE′Ax(aT x)

= ∀x. (14.114)

Das Gleiche mit allgemeinen homogenen Koordinaten x′ = Ax ergibt:

x′TE′x′ = xTATE′TAx = . (14.115)

Folglich ist

αE = ATE′A → E′ = α(AT)−EA− (14.116)

die projektive Transformation von E. Wir multiplizieren nun E′ entsprechend (14.114) vonlinks und rechts mit zwei Punkten x′ , x′, die nicht auf der Ellipse liegen sollten und nutzengleichzeitig die Transformation von E entsprechend (14.116):

z, = x′T E′x′ =αxT AT(AT)−EA−Ax

(aT x)(aT x)=

αxT Ex(aT x)(aT x)

. (14.117)

z, ist bis auf einen Faktor α schon eine affine Invariante, aber keine projektive. Daherbilden wir zusätzlich die Ausdrücke z, = x′T E′x′ und z, = x′T E′x′. Wir kombinierendiese drei Ausdrücke durch:

I =z,

z,z,=

(xT Ex)

(xT Ex)(xT Ex). (14.118)

Page 330: Bildverarbeitung und Objekterkennung ||

14.3 Invarianten 321

Eine Ellipse und zwei Punkte werden durch neunMerkmale beschrieben, daher ist − = ,d. h. wir erhalten tatsächlich eine „echte“ 2D-Invariante.Wir betrachten nunnochmals eineEllipse und einen Punkt x′, der nicht auf der Ellipse liegen braucht, dann ist

x′TE′x′ = αxTEx(aT x)

= d (Defekt) (14.119)

der Defekt oder die algebraische Distanz. Für affine Transformationen erhalten wir:

x′TE′x′ = αxTEx = d . (14.120)

Damit ist diese algebraische Distanz d bis auf einen Faktor affin invariant. Von einer El-lipse allein können wir keine Invarianten bilden, wohl aber von einem Paar von Ellipsen,nämlich − = Invarianten. Die Ellipsenparameter transformieren sich entsprechend(14.116):

E′ = α(AT)−EA− , E′ = α(AT)−EA− . (14.121)

Wir bilden:

E′ ⋅ (E′

)− =

α

α(AT)−EE− AT . (14.122)

Bis auf einen Faktor liegen jetzt sogenannte ähnliche Matrizen vor. Zwei Matrizen A,Bheißen ähnlich, wenn es eine reguläre Matrix Q gibt, sodass gilt:

A = Q−BQ. (14.123)

Ähnliche Matrizen haben die gleichen charakteristischen Polynome, denn es gilt:

∣A − λI∣ = ∣Q−BQ − λI∣ = ∣Q∣∣Q−BQ − λI∣∣Q−∣ = ∣B − λI∣. (14.124)

Für die (3,3)-Matrix E der Ellipse ist z. B.:

∣E − λI∣ = c − cλ + cλ − λ (14.125)

mit

c = ∑i∣E

i ∣ = ∣E∣, (14.126)

c = ∑i∣E

i ∣ = det(a b

b c

) + det(c e

e f

) + det(a d

d f

) , (14.127)

c = ∑i∣E

i ∣ = a + c + f = Spur(E). (14.128)

Page 331: Bildverarbeitung und Objekterkennung ||

322 14 Geometrie der Abbildungsprozesse

Die Koeffizienten des charakteristischen Polynoms werden durch dieHauptminoren gebil-det. Dies nutzen wir nun für unsere Aufgabe zu:

c(E′E′− ) = ∣E′E

′− ∣ = (

α

α)∣EE− ∣, (14.129)

c(E′E′− ) = (

α

α)c(EE− ), (14.130)

c(E′E′− ) = (

α

α) ⋅ Spur(EE− ). (14.131)

Damit haben wir „fast schon“ Invarianten, die unbekannten Faktoren stören, diese müssenwir beseitigen und bilden die beiden Ausdrücke:

I =Spur(EE− )

√∣EE− ∣

, I =Spur(EE− )

√∣EE− ∣

. (14.132)

Natürlich hätten wir auch andere Kombinationen aufschreiben können, diese sind aberalle abhängig von den beiden Invarianten (14.132), denn es kann nur zwei unabhängigeInvarianten geben.

14.4 Epipolargeometrie

Wir betrachten mehrere Kameras, in der Regel zwei Kameras, die als Lochkameras model-lierbar seien. Verzeichnungen werden hier nicht berücksichtigt. Zwei Kameras nennen wirein Stereopaar. Dazu sind einige Grundbegriffe einzuführen und zu klären.

In der Abb. 14.9 ist eine typische Stereo-Anordnung zu sehen.Wenn wir die beiden Pro-jektionszentren durch eine Gerade verbinden, durchstößt diese Gerade die Bilder in zweiPunkten, den sogenannten Epipolen. Die Verbindungslinie der beiden Projektionszentrenwird Basislinie (baseline genannt. Wenn wir durch die drei Punkte (Raumpunkt, Projekti-onszentrum 1, Projektionszentrum 2) eine Ebene legen (die Blickebene), so schneidet diesedie Bildebenen in den sogenannten Epipolarlinien (Blickebene → siehe Abschn. 14.1.12).Man sieht, dass korrespondierende Punkte im Bild immer auf den zugehörigen Epipo-larlinien liegen müssen, siehe Abb. 14.10. Drehen wir die Blickebene um die Achse, diedurch beide Projektionszentren geht, dann entstehen wieder zwei zugeordnete Epipolarli-nien. So entstehen bei weiterem Drehen zwei Bündel von Epipolarlinen, die durch eine 1Dprojektive Transformation und die beiden Epipole ineinander überführbar sind, dies nen-nen wir Epipolar-Transformation. Im sogenannten Stereo-Normalfall, d. h. die optischenAchsen sind parallel (siehe Abschn. 14.1.9), sind die Epipolarlinien Parallelen zur u-Achsemit gleicher v-Koordinate. Daher sind in diesem Falle korrespondierende Punkte (Paralla-xe) recht einfach zu suchen. Den Abstand zweier korrespondierender Punkte (u-Parallaxe)nennt man in diesem Falle Disparität.

Page 332: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 323

Abb. 14.9 Aufbau eines Stereosystems mit Bezeichnungen der Epipolargeometrie

Abb. 14.10 Epipolarlinien

Abb. 14.11 Epipolaren-Büschel

Page 333: Bildverarbeitung und Objekterkennung ||

324 14 Geometrie der Abbildungsprozesse

Eine andere einfache geometrische Beziehung gibt es für den Bildhauptpunkt u , v. Ge-raden im 3D-Raum die zueinander parallel sind, sind dies nicht mehr im Bild, schneidensich aber alle in einem einzigen Punkt, dem Fluchtpunkt (vanishing point). Hat man jetztim 3D-Raum 3Mengen von je parallelen Geraden, so haben wir im Bild drei Fluchtpunkte.Sind diese dreiMengen von parallenGeraden im3D-Raumpaarweise zueinander orthogo-nal, dann können wir mit Hilfe der drei Fluchtpunkte den Bildhauptpunkt bestimmen. Diedrei Fluchtpunkte bilden ein Dreieck, dessen Orthozentrum (Schnittpunkt der drei Hö-hen) gerade den Bildhauptpunkt bildet. Diese Eigenschaft wird oft auch Ortho-Theoremgenannt. Diese Eigenschaft kannman sich geometrisch relativ leicht überlegen. Wennmaneinen orthogonalen 3D-Kalibrierkörper besitzt, so könnte man aus diesen Geraden denBildhauptpunkt berechnen.

14.4.1 Zusammenhang über die Projektionsmatrizen

Nun soll der Zusammenhang zwischen zwei Bildern über die beiden kalibrierten Kamerasuntersucht werden. Es seien zwei Lochkameras gegeben:

y = A ⋅ x, y′ = A′ ⋅ x. (14.133)

Die beiden Projektionszentren berechnen sich zu:

Axc = , A′x′c = . (14.134)

Mit den Abkürzungen

A = (Al , a), A′ = (A′l , a′) (14.135)

kann man die beiden Projektionszentren ausrechnen zu:

xc = (A−l a−

) , x′c = (A′−l a′

−) . (14.136)

Die Epipole können dann berechnet werden zu:

o′ = A′xc , o = Ax′c , (14.137)

o′ = A′ (A−l a−

) = A′lA−l a − a′ , o = A(

A′l−a′

−) = AlA′l

−a′ − a. (14.138)

Es sei nun x∞

der Schnittpunkt des Sehstrahles ⟨y, xc⟩mit der uneigentlichen Ebene, d. h.es gilt:

y = Ax∞

, y = Alx∞ , x∞

= (x∞

) , x

= A−l y. (14.139)

Page 334: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 325

Wir bilden nun diesen Schnittpunkt mit der zweiten Kamera ab:

y′∞

= A′x∞

= A′ (A−l y

) = A′lA−l y. (14.140)

Die dem Punkt y im zweiten Bild zugeordnete Epipolarlinie geht durch die Punkte o′ undy′∞

. Jede Gerade kann durch das Kreuzprodukt zweier Punkte eindeutig beschrieben wer-den (falls diese in homogenen Koordinaten vorliegen), daher auch diese Epipolarlinie:

epy′ = o′ × y′∞

. (14.141)

Der linearen Operation × können wir eine Matrix O′ zuordnen, für die gilt:

O′ ⋅ x = o′ × x ∀x. (14.142)

Es ist trivial, dass die antisymmetrische Matrix die Form

O′ =⎛⎜⎝

−o′ +o′+o′ −o′−o′ +o′

⎞⎟⎠

(14.143)

hat. Daher gilt:

epy′ = o′ × y′∞

= (AlA′l−a′ − a) × y′

= O′y′∞

= O′A′lA−l y = Fy. (14.144)

Die Matrix F heißt Fundamentalmatrix. Für jeden Punkt y′e p auf der Epipolarlinie epy′ giltdann (laut Definition einer Geraden mit dem Kreuzprodukt):

y′Te pFy = . (14.145)

Folglich gilt dies für den Referenzpunkt y′ von y erst recht. Da in die Fundamentalmatrix Fdie beiden Referenzpunkte gar nicht eingehen, gilt diese Beziehung für alle Referenzpunk-tepaare y ↔ y′ und wir können aufschreiben:

y′TFy = ∀Referenzpunktepaare y, y′. (14.146)

Dies ist die fundamentale Gleichung, da sie auch zur Berechnung der Fundamentalmatrixaus verfügbaren Referenzpunktepaaren benutzt wird. Zuvor sollen noch genauer Eigen-schaften dieser Matrix untersucht werden. Das Kreuzprodukt ep′y = Fy charakterisiertedie Epipolarlinie. Wenn dieser Vektor zumNullvektor entartet, dann ist diese Epipolarlinieunbestimmt, dies geht aber nur, wenn y zum Epipol o entartet, daher muss gelten:

Fo = . (14.147)

Page 335: Bildverarbeitung und Objekterkennung ||

326 14 Geometrie der Abbildungsprozesse

Dies kann als Bestimmungsgleichung zur Berechnung des Epipols o genutzt werden. An-dererseits gilt auch:

(y′TFy)T= yTFT y′ = . (14.148)

Daher gilt für den anderen Epipol:

FT o′ = . (14.149)

Da die Epipole verschieden sind, kann also F keine symmetrische Matrix sein. Da diebeiden Gleichungssysteme zur Bestimmung der Epipole lineare homogeneGleichungssys-teme sind und nichttriviale Lösungen besitzen müssen, muss für den Rang der Fundamen-talmatrix gelten:

Rang(F) ≤ . (14.150)

Es gilt sogar:

Rang(F) = , (14.151)

da Rang(F) = nur möglich ist, wenn die Epipole mehrdeutig sind. In unserer Herlei-tung haben wir als „Trick“ die uneigentliche Ebene benutzt. Damit können wir auch eineHomographie von einem Bild zum anderen beschreiben, wenn wir Punkte aus dieser un-eigentlichen Ebene abbilden. Die Abbildungsgleichungen lauteten:

u = K(Rx + t) = KRx +Kt = Ax + a. (14.152)

Nun legen wir einmal das Weltkoordinatensystem in das Kamerakoordinatensystem der1. Kamera, daher lauten die Abbildungsgleichungen u = Kx und die der 2. Kamera u′ =K′Rx + K′t, wobei R, t die Bewegung der 2. Kamera gegenüber der 1. Kamera beschreibt.Bilden wir nun Punkte der uneigentlichen Ebene ab, so lauten die Gleichungen u = Kx

,u′ = K′Rx

. Daraus ergibt sich u′ = K′RK−u. Daraus können wir die Homographie-Matrix ablesen:

H∞

= K′RK− . (14.153)

14.4.2 Zusammenhang über die Epipolartransformation

Wir können den Zusammenhang zweier Bilder auch über die Epipolartransformation er-klären. Wenn eine sogenannte Blickebene durch einen Raumpunkt und beide Projektions-zentren geht, so schneidet diese Ebene beide Bildebenen in je einer Geraden, der Epipo-larlinie. Wählen wir nun eine andere Blickebene, so entstehen wieder zwei Geraden usw.,

Page 336: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 327

d. h. in jedem Bild ensteht ein Geradenbüschel, das sogenannte Epipolarenbüschel. BeideEpipolarenbüschel werden also über die Blickebenen ineinander überführt, was i. Allg. Epi-polartransformation genannt wird. Nun soll der Zusammenhang der Fundamentalmatrixzur Epipolartransformation hergestellt werden. Für beide Epipolarenbüschel ist trivialer-weise das Doppelverhältnis bezüglich die Büschel schneidender Geraden invariant, da eine2D ↔ 2D projektive Transformation existiert, die beide Büschel ineinander überführt.Also können wir für das Doppelverhältnis die „Sinus“ der Winkel entsprechend (14.97)benutzen. Man kann nun leicht zeigen (mittels trigonometrischer Additionstheoreme an-schließend durch „cos“ teilen, damit der „tangens“ erzeugt wird), dass

[A, B,C ,D] = [τA , τB , τC , τD] (14.154)

gilt. Dabei sind die τ die Anstiege (tan α) der Epipolarlinien. Damit ist (14.154) eine weitereModifikation des Doppelverhältnisses als Invariante. Folglich muss eine 1D↔ 1D projek-tive Transformation bezüglich der Anstiege korrespondierender Epipolarlinien existieren:

τ′ =a ⋅ τ + bc ⋅ τ + d

. (14.155)

Wir können dies auch noch einfacher erklären. Zusätzlich zur Blickebene stellen wir uns ei-ne Ebene vor, die senkrecht auf der Verbindung der beiden Projektionszentren steht und inder Mitte zwischen diesen beiden Projektionszentren plaziert wird. Die Blickebene schnei-det diese Ebene ebenfalls in einer Geraden und es entsteht wieder ein Geradenbüschel.Das eine Epipolarenbüschel wird also mittels dieses „Hilfsbüschels“ in das zweite Epipo-larenbüschel abgebildet. Damit haben wir aber eine 2D ↔ 2D projektive Transformationkonstruiert, wobei jede Epipolarlinie in die entsprechende Epipolarlinie des anderen Bildesübergeht. Da ein Geradenbüschel einen 1D projektiven Raum bildet, muss zwischen denGeraden der Büschel eine 1D projektive Transformation existieren. Die Geraden der Bü-schel müssen durch 1D-Werte bez. der Epipole beschrieben werden. Man könnte einfachdieWinkel zur u-Achse nehmen, die bilden aber keinen 1D-projektiven Raum (bei π hörtder Raum auf). Nehmen wir z. B. die Anstiege, also tan α, dann haben wir eine projektivenRaum,wobei GradAnstieg ein uneigentlicher Punkt ist, der aber zum projektiven Raumdazugehört.

Daher kann die Epipolartransformation beschrieben werden durch die vier Koordina-ten der beiden Epipole o, o′ und die drei Parameter der 1D ↔ 1D projektiven Transfor-mation, also insgesamt durch sieben Parameter. Wir benutzen nun die beiden Epipole o, o′

undReferenzpunktepaare y, y′ und setzen diese in die 1D↔ 1D projektive Transformationein:

y′y′

−o′o′

y′y′

−o′o′

=

a ⋅yy−

oo

yy−

oo

+ b

c ⋅yy−

oo

yy−

oo

+ d. (14.156)

Page 337: Bildverarbeitung und Objekterkennung ||

328 14 Geometrie der Abbildungsprozesse

Durch Ausmultiplizieren und Koeffizientenvergleich mit der Beziehung y′TFy = ergebensich für die Elemente der Fundamentalmatrix die Ausdrücke:

f = −bo′of = −ao′of = ao′o + bo′of = do′of = co′of = −co′o − do′of = −doo′ + boo′f = −coo′ + aoo′f = do′o + coo′ − aoo′ − bo′o .

(14.157)

Daher hängt die Fundamentalmatrix direkt von den sieben Parametern der Epipolartrans-formation ab und ist nur eine andere Beschreibungsform der Epipolartransformation.Wirkönnen nun die Epipolattransformation ausschließlich aus Punktreferenzen berechnen.Dazu berechnen wir als erstes die Fundamentalmatrix aus den Punktrefernzen. Dann be-rechnen wir die beiden Epipole aus der Funfamentalmatrix durch:

Fo = , FT o′ = . (14.158)

Und schließlich, wie wir aus der Beziehung (14.157) sehen, können wir auch die 1D↔ 1Dprojektive Transformation aus der Fundamentalmatrix ablesen:

a = − f , b = − f , c = f , d = f . (14.159)

Dies ist möglich, da die Größen f , f, f , f in (14.157) einen gemeinsamen Faktor be-sitzen.

14.4.3 Zusammenhang über die EssentialMatrix

Ziel aller Ausführungen mit der Essential Matrix (E-Matrix) ist es, ausschließlich überPunktkorrespondenzen die Rotation und Translation zweier Kameras, bzw. bei einer Ka-mera die Rotation und Translation eines 3D-Objektes zu bestimmen. Wir betrachtendas 3D-Kamerakoordinatensystem der ersten Kamera, das dann rotiert und translatiertwird. Die Punkte seien zunächst ideal in diesem System gegeben (und nicht als 2D-Bildkoordinaten). Wir können uns auch vorstellen, das Weltkoordinatensystem ist mitdem Kamerakoordinatensystem der ersten Kamera identisch. Dann gilt wie üblich

xK = RxK + t (14.160)

Page 338: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 329

oder einfach als

x′ = Rx + t (14.161)

geschrieben.Dies beschreibt die Bewegung derKamera bzw.was dasselbe ist, die Bewegungdes Objektes, wenn nur eine Kamera gegeben ist. Wenn Punktekorrespondenzen gegebensind, dann können wir sofort daraus die Transformationsparameter bestimmen. Nun ist esaber fast ausgeschlossen, dass uns die 3D-Koordinaten bekannt sind, eine Rekonstruktionwollen wir ja gerade vermeiden. Daher leiten wir aus obiger Beziehung eine andere ab, dieuns nützlicher erscheinen wird. Es ist anschaulich trivial, dass x′ , t, x′ − t = Rx in einerEbene liegen müssen, daher muss das Spatprodukt verschwinden:

x′T[t ×Rx] = . (14.162)

Der binären Operation × (Kreuzprodukt) können wir wie üblich eine antisymmetrischeMatrix zuordnen, daher orden wir dem Vektor tT = (t , t, t) die Matrix

T =⎛⎜⎝

−t tt −t−t t

⎞⎟⎠

(14.163)

zu. Folglich können wir schreiben:

x′T[t × Rx] = x′TTRx = . (14.164)

Die Matrix E = T ⋅ R nennt man Essential Matrix oder kurz E-Matrix. Woher bekommenwir nun 3D Punktkorrespondenzen. Wir denken jetzt an die normalisierten Koordinateneiner idealen Kamera, siehe Abschn. 14.1.9. Dazu bestimmen wir die inneren Parameterder Kamera und rechnen die homogenen Pixelkoordinaten durch Multiplikation mit derinversen inneren Projektionsmatrix in die normalisierten Koordinaten um yN = K−y. Die-se normalisierten homogenen Pixelkoordinaten (homogene Pixelkoordinaten sind drei-dimensional) sind nun bis auf einen unbekannten Faktor tatsächlich identisch mit den3D-Kamerakoordinaten. Die unbekannten Faktoren stören aber (14.164) nicht, so dass wir(14.164) sofortmit normalisierten homogenen Pixelkoordinaten y′N , yN aufschreiben dür-fen:

y′TN TRyN = y′TN EyN = . (14.165)

Diese Gleichung nenntman Longuet-Higgins-Gleichung (1981). Für beide Kameras gilt fürdie Normalisierung yN = K−y, y′N = K′−y′, diese setzen wir in (14.165) ein und erhaltendie Beziehung für die Fundamentalmatrix

y′T(K′−)TEK−y = ⇒ F = (K′−)TEK− = (K′−)TTRK− . (14.166)

Page 339: Bildverarbeitung und Objekterkennung ||

330 14 Geometrie der Abbildungsprozesse

Wenn das zweite Bild so ensteht, indem die erste Kamera bewegt wird und die innerenParameter gleich bleiben, dann erhalten wir:

F = (K−)TEK− = (K−)TTRK− . (14.167)

In diesem Fall können wir die F-matrix noch etwas anders schreiben. Dazu betrachten wirden Term t′ = Kt, wobei t wieder die Translation zwischen den beiden Kameras bedeutet.Mit diesem Term formulieren wir folgendes

Lemma 14.1 Mit t′ = Kt, wobei K sogar eine beliebige reguläre Matrix sein darf und derBedingung det(K) = + genügt, gilt:

T = KTT′K bzw. T′ = KT−TK− . (14.168)

(T,T′ sind die zugeordneten, schiefsymmetrischen Matrizen der Translationsvektoren tund t′.)

Beweis Der Einfachheit halber führen wir den Beweis in umgekehrter Reihenfolge, manbraucht ihn nur umdrehen. Dazu bezeichnen wir

K =⎛⎜⎝

kT

kT

kT

⎞⎟⎠, t′ = Kt =

⎛⎜⎝

kT t

kT t

kT t

⎞⎟⎠. (14.169)

Aus T = KTT′K folgt Tx = KTT′Kx für alle x. Daher auch KT−Tx = T′Kx. Dies schreibenwir wieder mit dem Kreuzprodukt

KT−(t × x) = (Kt) × (Kx). (14.170)

Wir stellen auch die Inverse auf der linken Seite mit den Kreuzprodukten dar:

det(K)

⎛⎜⎝

(k × k)T

(k × k)T

(k × k)T

⎞⎟⎠(t × x) = (Kt) × (Kx). (14.171)

Da laut Voraussetzung die Determinante gleich eins ist, verschwindet dieser Faktor. Wirschreiben einmal die erste Zeile dieser drei Gleichungen auf:

(k × k)T(t × x) = (kT t)(k

T x) − (kT

t)(kT x). (14.172)

Auf der linken Seite haben wir das Skalarprodukt zweier Vektorprodukte, für solche Pro-dukte gibt es die Lagrangesche Identität. Vergleicht man mit dieser die rechte Seite, sofinden wir die vollständige Übereinstimmung. q.e.d.

Page 340: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 331

Mit Beziehung (14.168) finden wir nun eine andere Darstellung der Fundamentalma-trix:

F = (K−)TEK− = (K−)TTK−KRK− = T′KRK− . (14.173)

Die Beschränkung der Determinante mit det(K) = + ist keine echte Beschränkung, da dieFundamentalmatrix ohnehin nur bis auf einen Faktor angebbar ist. ◻

Eigenschaften der Essential Matrix E Bevor wir wieder zur Fundamentalmatrix zurück-kommen, einige interessante Eigenschaften der E-Matrix:

• Für die E-Matrix muss, da Rang(F) = ist, ebenfalls Rang(E) = gelten.• Entsprechend der Herleitung lässt sie sich zerlegen in ein Produkt einer antisymme-

trischen Matrix T und einer Rotationsmatrix R, folglich E = T ⋅ R. Trivialerweise istauch det(T) = ersichtlich. Da wir als Kamerakoordinaten nicht die absoluten Koor-dinaten, sondern nur die normalisierten Pixelkoordinaten zur Verfügung haben, alsonur die Sehstrahlen, so ist natürlich die absolute Verschiebung nicht bestimmbar, son-dern nur die Richtung der Verschiebung bis auf einen Faktor. Daher wird die E-Matrixnur durch fünf Parameter bestimmt, drei für die Rotationsmatrix R und zwei für dieTranslation (Richtungsvektor, aber unbekannte Länge). Da die Beziehung (14.165) eineGleichung für eine Punktreferenz liefert, benötigen wir minimal fünf Punktreferenzen,um die Matrix E bestimmen zu können.

• Es gilt:

ET t = . (14.174)

Damit ist t Eigenvektor von ET zum Eigenwert 0.Beweis:

ET t = (TR)T t = −RTTt = −RT[t × t] = . (14.175)

Damit ist die Translationsrichtung aus (14.174) bestimmbar.• Die E-Matrix ist nur bis auf einen Faktor bestimmbar, das ist darin begründet, dassman

nicht die absolute Translation bestimmen kann, d. h. der Translationsvektor t ist nur bisauf seine Länge bestimmbar. Deshalb setzt man auch oft der Einfachheit halber ∥t∥ = .Dann ist svd(E) = (, , )T , d. h. die Singulärwerte sind 1,1,0 oder was auch dasselbeist, die Eigenwerte von EET und ETE sind 1,1,0. Zum Beweis siehe Faugeras [22].

• Unter der Voraussetzung ∥t∥ = gilt ∥e∥ = Spur(ETE) = . Dazu fassen wir die Ele-mente der E-Matrix in einem Vektor zusammen:

e = (e , e , e , e , e , e , e , e , e). (14.176)

Page 341: Bildverarbeitung und Objekterkennung ||

332 14 Geometrie der Abbildungsprozesse

Nun sollen noch einige Bemerkungen zur Berechnung der E-Matrix gemacht werden, dadie Probleme ähnlich derer bei der Berechnung der Fundamentalmatrix sind. Zunächst be-trachet man immer lineare Ansätze. Dazu bestimmen wir mittels Ausgleichsrechnung undunserer Grundgleichung die neun Koeffizienten der E-Matrix. Eigentlich sind es nur acht,da wir ein homogenes System zur Verfügung haben. Daher benötigen wir mindestens achtPunktereferenzen. Wir schreiben dies noch einmal auf. Die normalisierten homogenenKoordinaten schreibenwir der Einfachheit halber zu y = (x , y, )T . Sind nun n Punkterefe-renzen gegeben, so könnenwir unsere Grundgleichung (14.165) auch alsBe = schreiben,wobei

B =⎛⎜⎝

xx′ x y′ x yx′ y y′ y x′ y′ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮

xnx′n xn y′n xn ynx′n yn y′n yn x′n y′n

⎞⎟⎠

(14.177)

ist. Nun lösen wir

mine

∥Be∥ bei ∥e∥ = . (14.178)

Die Lösung ist der Eigenvektor von BTB zum kleinsten Eigenwert. Wenn wir E berechnethaben, dann bestimmen wir t als Eigenvektor von ET zum Eigenwert 0, damit haben wir Tberechnet. Bezüglich R lösen wir anschließend:

minR

∥TR − E∥ bei R ist eine Rotationsmatrix. (14.179)

Wir formulieren das Problem etwas um:

E − TR = (ERT −T)R. (14.180)

Für die Frobenius-Matrixnorm gilt dann

∥E − TR∥F = ∥ERT − T∥F . (14.181)

Es bezeichnen e , e , e die Spaltenvektoren von ET , dann können wir das äquivalente Pro-blem

minR

∑i=

∥Rei − ti∥ → Minimum mit RTR = I, det(R) = + (14.182)

formulieren (ti sind die Spalten vonTT bzw. die Zeilen vonT). Dies ist formal dasselbe Pro-blem, wenn wir aus 3D-Referenzpunkten die Rotation mittels der kleinsten Quadrateme-thode bestimmenwürden. ImAbschn. 13.2.11 habenwir dieses ProblemmitQuaternionengelöst, so dass wir nur noch ein simples Eigenwertproblem zu lösen haben. Die Zerlegung

Page 342: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 333

in die Translation und die Rotation ist nicht eindeutig. Es gibt vier Lösungen. Wir kennendas Vorzeichen +,− der Translation nicht und auch nicht das Vorzeichen der E-Matrix.Diese beiden Kombinationen ergeben vier mögliche Lösungen. Eine von diesen vier Lö-sungen ist durch Plausibilitätsbetrachtungen auszuwählen. Bei diesem Algorithmus habenwir überhaupt nicht zwei wesentliche Eigenschaften der E-matrix berücksichtigt: Der Rangist zwei und zwei Singulärwerte sind gleich. Dies führt dazu, dass dieser Algorithmus sehrempfindlich gegenüber Rauschen der Punktkorrepondenzen ist und oft zu unbrauchbarenResultaten führt. Deshalb wird oft direkt unsere Grundgleichung (14.165) in die Lösungeinbezogen:

n∑i=

αi (y′Ti TRyi)→ Minimum bei R ist eine Rotationsmatrix. (14.183)

Dies ist aber eine mehrparametrige nichtlineare Optimierungsaufgabe, die es numerischzu lösen gilt. Noch bessere Ergebnisse werden erreicht, wenn die Summanden gewichtetwerden. Die Summanden selbst stellen Defekte dar, und zwar ob der korrespondierendePunkt auf der Epipolatrlinie liegt oder nicht. Also sind diese Defekte als Abstände zur Epi-polarlinie deutbar, diese „Abstände“müssenwir aber noch normieren, z.B.mit demBetragdes charakteristischen Vektors der Epipolarline. Daher wollen wir als Spezialfall (für dieFundamentalmatrix hatten wir dies schon getan) diese Vektoren nochmals darstellen. Wirbetrachten wieder unsere Rotation x′ = Rx + t, diese schreiben wir jetzt in homogenenKoordinaten zu:

x′ = (R t

) x. (14.184)

Wir betrachten wieder ideale Kameras, daher erhalten wir die beiden Abbildungsgleichun-gen:

y = (I, ) x; y′ = (I, ) x′ . (14.185)

Wir beziehen uns jetzt auf das Kamerakoordinatensystem der ersten Kamera, daher ergibtsich:

y′ = (I, )(R t

) x = (R, t) x. (14.186)

Nun berechnen wie wieder die Epipole:

o = AlA′−l a′ − a = Rt. (14.187)o′ = A′lA

−l a − a′ = −t. (14.188)

Page 343: Bildverarbeitung und Objekterkennung ||

334 14 Geometrie der Abbildungsprozesse

Mit Hilfe der Epipole können wir die Epipolarlinien ausdrücken:

ep′y = o′ × y′∞

= o′ × (A′lA−l y) = −t × (Ry). (14.189)

epy′ = o × y∞

= o × (AlA′−l y′) = RT t ×RT y′ = RT(t × y′). (14.190)

Daher wählen wir als Gewichte:

αi =

∥RT(t × y′i)∥ + ∥t × (Ryi)∥. (14.191)

Auf Grundder HesseschenNormalformder Geraden bezüglich des Abstandes eines Punk-tes von einer Geraden sind in der Norm nur die beiden ersten Komponenten der homoge-nen Koordinaten zu benutzen.

Es gibt auch direkte, nichtlineare Verfahren zur Berechnung der E-Matrix. Da dieE-Matrix fünf Parameter besitzt, gibt es einen Fünf-Punkte-Algorithmus, siehe Nister[17]. Dies kann man noch abschwächen zu einem Sechs-Punkte- oder Sieben-Punkte-Algorithmus. Bei einem Acht-Punkte-Algorithmus sind wir wieder bei den obigen Be-trachtungen angelangt.

14.4.4 Spezialfall: 3D-Punkte liegen in einer Ebene

Wir benutzen jetzt nur Referenzen von 3D-Punkten, die in einer Ebene liegen. Für diesePunkte wissen wir, dass eine 2D ↔ 2D projektive Transformation H zwischen den Refe-renzpunkten existiert, also

y′ = H ⋅ y. (14.192)

Daraus folgt für unsere Grundgleichung (14.146)

y′TFy = yTHTFy = yTFTHy = . (14.193)

Da diese Gleichung für beliebige y erfüllt ist, mussHTF antisymmetrisch sein, d. h. es gilt

HTF + FTH = . (14.194)

Lemma 14.2 Gleichung (14.194) ist genau dann erfüllt, wenn

F = O′ ⋅H (14.195)

gilt.

Page 344: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 335

Beweis Folgende Identität filt:

HT ⋅O′ ⋅H +HT ⋅O′T ⋅H = HT(O′H −O′H) = . (14.196)

Es ist

= yTFTHy = (Fy)THy = (ep′y)THy = (o′ × y′)THy

= y′TO′THy = −y′TO′Hy = y′TO′Hy = . (14.197)

Daraus folgt F = O′ ⋅H. ◻

Natürlich könnenwir dieses Lemma auchmit F = H−T ⋅O formulieren.Weiter betrach-ten wir

HT ep′y = HTFy = −FTHy = −FT y′ = −epy′ , (14.198)

d. h. die MatrixHT überführt direkt die Epipolarlinien ineinander.Wir nehmen einmal an,dieMatrixH sei durch genau vier Punktereferenzen bestimmt worden (die vier 3D-Punktemüssen natürlich in einer Ebene liegen) und dies sei nun bekannt. Nun nehmen wir einenweiteren Punkt aus dieser Ebene, also einen fünften Punkt, für den dann trivialerweisey′ = Hy gelten muss. Aus

yT (HTF + FTH)y = (14.199)

folgt dann

y′T Fy + yT FT y′ = y′T Fy = , (14.200)

d. h. wennH aus vier Punkten einer Ebene bekannt ist, dann impliziert

HTF + FTH = , (14.201)

dass für jeden weiteren Punkt dieser Ebene automatisch unsere Beziehung y′TFy = erfülltist. Nun andersherum, nutzen wir Punktreferenzen und die Beziehung y′TFy = (die 3D-Punkte liegen alle in einer Ebene) zur Bestimmung der Fundamentalmatrix, so sind nurvier Punktereferenzen wirksam und die anderen überflüssig. AusHTF+FTH = erhaltenwir sechs Gleichungen (bei bekanntem H) zur Bestimmung der Fundamentalmatrix, dadiese aber sieben Parameter enthält, erhalten wir eine einparametrige Schar von Lösungen.

14.4.5 Berechnung der Fundamentalmatrix

In den Bezeichnungen lehnen wir uns an den Abschn. 14.4.3 an. Daher führen wir ähn-lich einen Vektor f ein, der alle Koeffizienten von F enthält und wieder die Matrix B, die

Page 345: Bildverarbeitung und Objekterkennung ||

336 14 Geometrie der Abbildungsprozesse

die entsprechenden Ausdrücke der n Punktkorrespondenzen enthält. Daher können wirwieder ein „lineares“ Kriterium mit mindestens acht Punktkorrespondenzen formulieren:

minf

∥Bf∥ bei ∥f∥ = . (14.202)

Die Lösung ist wieder der Eigenvektor von BTB zum kleinsten Eigenwert. Das „lineare“Kriterium hat wieder den entscheidenden Nachteil, dass die Bedingung Rang(F) = un-berücksichtigt bleibt. Es sei nun y = (u, v , )T , o = (o , o, )T , dann können wir setzen:

u = o − x , v = o − y, (14.203)

wobei (x , y) der Abstandsvektor von y zu o sei. Folglich gilt:

ep′y = Fy = F⎛⎜⎝

o − xo − y

⎞⎟⎠= Fo − F

⎛⎜⎝

xy

⎞⎟⎠. (14.204)

Ist nun F numerisch mit dem „linearen“ Kriterium berechnet worden und ist Rang(F) = ,so gilt r = Fo ≠ . Weiter erinnern wir daran, dass ein Punkt p = (x , y , )T zur Geradenlmit lx + ly + l = den Abstand

d(p, l) =∣lx + ly + l∣

√l + l

(14.205)

hat. Folglich bilden wir jetzt den Abstand von ep′y zum Epipol o′ = (o′ , o′, ):

d(o′, ep′y) =∣ro′ + ro′ + r − ( fo′ + fo′ + f)x − ( fo′ + fo′ + f)y∣

√(r − fx − fy) + (r − fx − f y)

. (14.206)

Nähern wir uns nun im ersten Bild dem Epipol, d. h. (x , y) → (, ), so folgt

d(o′ , ep′y) =∣ro′ + ro′ + r∣

√r + r

. (14.207)

Obwohl die ri sehr klein sein können, kann dieser Abstand und damit der Fehler großwerden. Wählen wir also Originalpunkte „weit weg vom Epipol“, so werden die zugehö-rigen Epipolarlinien annähernd durch den Epipol im zweiten Bild gehen. Sind diese abernahe am Epipol gewählt, so werden die Epipolarlinien im zweiten Bild im Widerspruchzur Epipolargeometrie stehen. Deshalb liefert das „lineare“ Kriterium numerisch instabileLösungen und insbesondere Lösungen, die mit der Epipolargeometrie inkonsistent sind.Deshalb werden „nichtlineare“ Kriterien verwendet.

Page 346: Bildverarbeitung und Objekterkennung ||

14.4 Epipolargeometrie 337

Abb. 14.12 a Erstes Epipolarenbüschel bezüglich des Stereopaares: Campus der Friedrich-Schiller-Universität Jena, b zweites Epipolarenbüschel bezüglich des Stereopaares: Campus der Friedrich-Schiller-Universität Jena

Eineweitere „lineare“Methode besteht darin, ausN Ebenen imBild jeweils die 2D↔ 2Dprojektive Transformation Hi zu bestimmen und dann die Gleichungen

HT F + FTH =

HT F + FTH =

HTNF + FTHN =

(14.208)

im Sinne der kleinsten Quadrate nach F zu lösen. Hier benutzen wir eigentlich schon eineZusatzinformation, wir müssen natürlich wissen, welche Referenzpunkte zu einer Ebenegehören.

Als „nichtlineares“ Kriterium werden oft die Abstände der Referenzpunkte zur zugehö-rigen Epipolarlinie minimiert, dies muss aber symmetrisch für beide Bilder erfolgen, also:

∑id(y′i , Fyi) + d(yi , FT y′i) → Minimum. (14.209)

Dies können wir wieder ausführlich aufschreiben zu:

∑i(

(Fyi) + (Fyi)

+

(FT y′i) + (FT y′i)

)(y′Ti Fyi)

→ Minimum. (14.210)

Ähnlich dem Fünf-Punkte Algorithmus zur Bestimmung der E-matrix gibt es auch einenSieben-Punkte Algorithmus zur Bestimmung der F-matrix. In Abb. 14.12 sind korrespon-dierende Epipolarbüschel zu sehen, wobei die Fundamentalmatrix mit der „linearen“ Me-thode berechnet wurde. EinigeAusreißer wurden durchWahl von Bildpunkten in derNäheder Epipole erzeugt.

Page 347: Bildverarbeitung und Objekterkennung ||

15Kamerakalibrierung

Als Kamerakalibrierung bezeichnet man allgemein die Bestimmung der Abbildungspa-rameter einer Kamera, dabei ist das gewählte Modell völlig egal. Auch Verzeichnungs-parameter müssen kalibriert werden, falls sie im gewählten Modell enthalten sind. DieklassischeMethode ist die Kalibrierung einer Kameramit einem3D-Kalibrierkörper. Diesehat denNachteil, dassman die Kalibrierkörper hoch genau herstellenmuss und daher teuersind.Weiterhin sind die Kalibrierkörper nicht flexibel einsetzbar. DaherwurdenMethodenentwickelt, die auch ohne Kalibrierkörper funktionieren. Diese nutzen die Aufnahmen na-türlicher Szenen und benötigen in der Regel mehrere Aufnahmen oder ungedreht mehrereKameras. Ausmehreren Bildern werden dann Referenzpunkte bestimmt und zur Kalibrie-rung genutzt. Mit dieser Art Kalibrierung entstand der Begriff Selbstkalibrierung. Problemeder Kamerakalibrierung gibt es eigentlich nur noch bezüglich der Robustheit und Feh-lerabschätzung. Moderne Forschungen beschäftigen sich außerdem mit dem Gebiet der„automatischenKalibrierung inMulti-Kamerasystemen“. In den nächstenAbschnitten sollnur auf die elementaren Prinzipien der Kamerakalibrierung eingegangen werden.

15.1 Direkte Kalibrierung

Eine Kamera wird durch ihr Modell beschrieben. Wir nehmen einmal die Lochkamera,Modell (14.34) mit unabhängigen Parametern. Dies entspricht formal der allgemein be-kannten zentralprojektiven Abbildung in homogenen Koordinaten, also mit K = (K, )nach (14.33) und wieder u = K ⋅ RT ⋅ xW = A ⋅ xW , folgt allgemein:

⎛⎜⎝

uvw

⎞⎟⎠=⎛⎜⎝

a a a aa a a aa a a a

⎞⎟⎠⋅

⎛⎜⎜⎜⎜⎝

xyz

⎞⎟⎟⎟⎟⎠

= A ⋅ x. (15.1)

339H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_15, © Springer Fachmedien Wiesbaden 2014

Page 348: Bildverarbeitung und Objekterkennung ||

340 15 Kamerakalibrierung

Im Folgenden beziehen wir uns bei der Kalibrierung auf diesesModell, d. h. ein zentralpro-jektives Modell ohne Verzeichnungen. Eine Kalibrierung mit diesemModell nennt man inder Photogrammetrie direkte lineare Transformation (DLT). Daman einen der 12Koeffizi-enten normieren kann, habenwir 11 unabhängige Parameter, dies entspricht einemModellmit 6 äußeren und 5 inneren Kameraparametern. Kamerakalibrierung nennt man nunentsprechend dem verwendeten Modell die Bestimmung der Abbildungsparameter, hierfolglich die Projektionsmatrix A. Die 11 Parameter dieses Modells sind konkret für eineKamera zu bestimmen. Dies geschieht im einfachsten Fall so, indem man sich 3D-Punktemit bekannten Koordinaten in einemWeltkoordinatensystem vorgibt, die 2D-Koordinatendieser Punkte im Bild ermittelt und aus diesen Beziehungen die Parameter ausrechnet. Set-zen wir einen Punkt in die Abbildungsgleichung ein, so erhalten wir für die kartesischenKoordinaten zwei Gleichungen. Folglich brauchen wir mindestens 6 Punkte, um die 11Unbekannten ausrechnen zu können. Aus der Projektionsmatrix können dann getrenntdie inneren (intrinsic) und äußeren (extrinsic) Parameter berechnet werden. Dazu benutztman in der Regel sogenannte Kalibrierkörper, die maßgerecht und genau gebaut werdenmüssen. Diese verkörpern das Weltkoordinatensystem mit entsprechend vielen markier-ten 3D-Punkten, deren Koordinaten im Kalibrierkörper bekannt sein müssen. Außerdemmüssen die Punkte so markiert werden, dass diese im 2D-Bild leicht und genau gefun-den werden können. Dabei ist zu beachten, dass die 3D-Punkte auch tatsächlich auf diedetektierten 2D-Punkte abgebildet werden. Ein einfaches Gegenbeispiel sind Kreise, diein Ellipsen abgebildet werden. Die Kreismittelpunkte werden aber mit dem Modell (15.1)nicht in die Ellipsenmittelpunkte abgebildet. Die Abbildung dieser Mittelpunkte ist somitkeine kovariante Abbildung.

Schreiben wir einmal die Abbildungsgleichungen (15.1) einer Lochkamera in der Form:

u = AxW + a. (15.2)

Aus u = KxK , xK = RxW + t folgt A = KR, a = Kt. Damit folgt aber, dass aT = rT ist(dies ist schon aus (14.35) bekannt), was wir als eine Kalibrierbedingung nutzen können.Nun müssen wir aber zunächst ein Ausgleichsproblem für die Kalibrierung formulieren.Wir geben n 3D-Punkte vor, deren 2D-Bildkoordinaten zu ermitteln sind. Wir schreibenzunächst die Abbildungsgleichungen mit kartesischen Koordinaten auf:

ui =aT xi + aaT xi + a

, vi =aT xi + aaT xi + a

. (15.3)

Wir schreiben diese jetzt in einer linearen Form auf:

ui ⋅ (aT xi + a) − aT xi − a = , vi ⋅ (aT xi + a) − aT xi − a = . (15.4)

Diese nutzen wir nun zur linearen Ausgleichsrechnung:

n∑i=

(ui ∗ (aT xi + a) − aT xi − a) + (vi ∗ (aT xi + a) − aT xi − a) → Min. (15.5)

Page 349: Bildverarbeitung und Objekterkennung ||

15.1 Direkte Kalibrierung 341

Der Preis der Linearisierung ist das nicht mehr ganz korrekte Maß, welches wir minimie-ren. Der Vorteil ist, dass wir ein lineares Ausgleichsproblem erhalten, d. h. wir können dieGaußschen Normalengleichungen aufstellen, diese lösen ohne eine Startlösung kennen zumüssen. Weiterhin sehen wir aber, dass es ein homogenes Ausgleichsproblem ist, d. h. dietriviale Lösung können wir sofort als Lösung ablesen, ist aber praktisch sinnlos. Dahermüssen wir wie üblich sinnvolle Restriktionen stellen. Eine mögliche wäre z. B. a = .Da diese Bedingung selbst linear ist, bleibt auch unser Ausgleichsproblem nach Einsetzenderselbigen linear undwir können esmit den GaußschenNormalengleichungen lösen.DerSchwachpunkt bleibt aber: Ist es eine sinnvolle Restriktion, d. h. könnenwir aus praktischenGründen immer garantieren, dass a ≠ gilt, oder fast Null ist? In den meisten Fällenfunktioniert es, wir können es aber nicht garantieren, so dass durchaus numerische In-stabilitäten auftreten können. Dazu betrachten wir einmal unsere Abbildungsgleichungenu = Ax+a. Wirwissen, dass = Ax+adie Bestimmungsgleichung des Projektionszentrumsist. Ist der Koordinatenursprung des Weltkoordinatensystems selbst im Projektionszen-trum, dann ist = A + a und damit a = , womit a = ist. Weiterhin wissen wiraus (14.35), dass a = t ist, d. h. die Translation des Kamerakoordinatensystems gegen-über dem Weltkoordinatensystem in der z-Richtung. Die Kamera müsste also unbedingtanteilig in z-Richtung translatiert sein. Es gibt also Fälle, wo wir die Kalibrierbedingunga = nicht einhalten können.

Sehen wir uns nach anderen Restriktionen um.Wir hatten eben gezeigt bzw. wissen aus(14.35), dass aT = rT gilt und demnach ∥a∥ = als Kalibrierbedingung benutzt werdenkann. Hier gibt es keinerlei Schwierigkeiten in der Anordnung der Kamera. Es tritt abereine andere Schwierigkeit auf, nämlich dass wir die erste Nichtlinearität haben. Diese ArtBedingungen können wir aber mit Eigenwertproblemen lösen, und ist damit noch voll be-herrschbar.

Bisher sind wir von einem Modell mit Parametern ausgegangen. Was ist aber, wennwir z. B. genau wissen, dass der Scherungswinkel des Sensorfeldes 90 Grad ist, d. h. wireigentlich nur vier innere Parameter haben, wie kann dieses Wissen in die Kalibrierungeinfließen? Dazu erinnern wir: der Vektor a steht senkrecht auf der u, v-Ebene (also derBildebene). Die Abbildung aT (x−xc) = sagt aus, dass a senkrecht auf der v-Achse steht,entsprechend steht a auf der u-Achse, damit bildet a × a die u-Achse und a × a die v-Achse. Wenn folglich das Skalarprodukt aus beiden Null ist, dann ist der Scherungswinkelgleich 90 Grad. Daher verwenden wir für ein Modell mit 10 Parametern die zwei Restrik-tionen

∥a∥ = , (a × a)T ⋅ (a × a) = . (15.6)

Wennwir die zweite Bedingung entsprechend der Definition des Kreuzproduktes auflösen,sehen wir, dass eine nichtlineare, komplizierte Bedingung enstanden ist und wir damit einnichtlineares Ausgleichsproblem zu lösen haben, welches nicht mehr durch ein Eigenwert-problem beschreibbar ist. Eine Kalibrierung mit diesen beiden Bedingungen (15.6) nenntman Kalibrierung nach Faugeras.

Page 350: Bildverarbeitung und Objekterkennung ||

342 15 Kamerakalibrierung

Abb. 15.1 Kalibrierkörpermit detektierten Ecken desKalibriermusters

Wenn wir für ein Modell mit 11 Parametern ein nichtlineares Ausgleichsproblem miteiner Restriktion ansetzen, dann können wir auch unser Kalibrierproblem direkt nicht-linear formulieren und brauchen an das Modell mit 11 Parametern keine Restriktion zukonstruieren. Für das Modell mit 11 Parametern hätten wir folglich zu lösen:

n∑i=

(ui −aT xi + aaT xi + a

)

+ (vi −aT xi + aaT xi + a

)

→ Minimum. (15.7)

Mit einer geeigneten Startlösung (z. B. aus dem linearen Problem (15.5)) und dem Leven-berg-Marquardt-Verfahren (siehe Abschn. 21.2.2) ist die Lösung stabil zu berechnen. Wol-len wir z. B. bei der Kalibrierung direkt die inneren und äußeren Kameraparameter berech-nen, so nehmenwirModell (14.26)oderModell (14.32). Eine nichtlineare KalibrierungmitModell (14.26) ergibt:

n∑i=

(ui −(αr + ur)x + (αr + ur)y + (αr + ur)z + αt + u t

rx + ry + rz + t)

+ (vi −(αr + vr)x + (αr + vr)y + (αr + vr)z + αt + v t

rx + ry + rz + t)

→ Minimum. (15.8)

Bei dieser Formulierungmüssenwir aber nochRestriktionen an die ri j stellen, da diese Ele-mente einer Rotationsmatrix sind. Eine andere Möglichkeit ist auch, ausgehend von denRotationsmatrizen mit den Eulerschen Winkeln, sukzessive die Abbildung aufzuschrei-ben und die Eulerschen Winkel direkt zu bestimmen. Eine gute Anfangsnäherung mussaber zur Verfügung gestellt werden. In der Abb. 15.1 ist ein Kalibrierkörper zu sehen.Ein übliches Problem ist: welche Marker benutzt man, damit die Abbilder der Marker im

Page 351: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 343

Abb. 15.2 Darstellung derprojektiven Transformationeiner Ellipse

1

2

3

4

1

2

3

4

2D-Bild sicher und mit hoher Genauigkeit detektieren werden können. Oft werden Qua-drate verwendet und die vier Eckpunkte des Quadrates im Bild bestimmt. Man berechnetdann den Schnittpunkt der Diagonalen und dieser Schnittpunkt mit seinen Koordinatenist der eigentliche Punkt. Dabei haben wir folgende wichtige Beziehung benutzt: im Bildist das Quadrat kein Quadrat mehr, sondern irgendein Viereck und wir berechnen nunden Schnittpunkt dieserDiagonalen.Der Schnittpunkt derDiagonalen desQuadratesmussaber in den Schnittpunkt der Diagonalen des Viereckes übergehen, daGeraden nun einmalin Geraden übergehen und der Schnittpunkt auf beiden Geraden liegt. Manmuss sich alsobei der Konstruktion der Marker genau überlegen, ob das Referenzproblem auch stimmt.Dazu ein einfaches Gegenbeispiel:

Es ist naheliegend auf dem Kalibrierkörper Kreise aufzutragen und den Kreismittel-punkt alsMarker festzulegen. ImBild geht nun ein Kreis in eine Ellipse über,man detektiertdiese und bestimmt den Ellipsenmittelpunkt als Referenzpunkt im Bild. Dies wäre bildana-lytisch viel einfacher zu bewerkstelligen als die Quadrate. Man irrt sich hier aber gewaltig:

Der Kreismittelpunkt geht im Allgemeinen nicht in den Ellipsenmittelpunkt über!

In der Abb. 15.2 ist dies deutlich zu sehen. Auf der linken Seite ist eine Ellipse mit den vierScheitelpunkten zu sehen, wobei die Scheitelpunkte als Quellpunkte dienen sollen. VierQuellpunkte und vier Zielpunkte bestimmen eindeutig eine 2D↔ 2D projektive Transfor-mation. Nun geben wir uns auf der rechten Seite vier Zielpunkte vor, die auch auf einerEllipse liegen sollen und bestimmen die projektive Transformation. Eine Ellipse geht ineine Ellipse über, die vier Punkte bleiben also auf der Ellipse. Folglich geht der Mittel-punkt nicht mehr in den Mittelpunkt über. Der Mittelpunkt einer Ellipse ist gleichzeitigihr Schwerpunkt, daher geht bei einer projektiven Abbildung der Schwerpunkt nicht mehrin den Schwerpunkt über (bei affinen Transformationen ist das noch richtig). Wir könnenfolglich auch nicht von anderen Objekten die Schwerpunkte als Referenzpunkte nutzen.

15.2 Selbstkalibrierung

15.2.1 Allgemeines

Da die Kalibrierkörper umständlich zu handhaben sind, steht die Frage, ob es auch ohnesolche Körper möglich ist, Kameras zu kalibrieren. Dazu ein Gedankenexperiment: wenn

Page 352: Bildverarbeitung und Objekterkennung ||

344 15 Kamerakalibrierung

die Koordinaten der Raumpunkte nicht bekannt sind, dann nehmen wir sie einfach alszusätzliche Variable in die Rechnung mit auf. Für eine Kamera haben wir demnach 11 un-bekannte Kameraparameter und für einen 3D-Punkt drei Unbekannte. Für eine Kameraerhöht also jeder weitere Punkt die Anzahl der Unbekannten um drei. Mit einer Kamerascheint dies also nicht möglich zu sein. Nun nehmen wir k Kameras gleichzeitig, die alleaugenblicklich zusammen kalibriert werden sollen. Die Anzahl der gedachten 3D-Punktesei p. Also liefern die 3D-Punkte p Unbekannte. Jede Kamera liefert 11 Unbekannte, al-so haben wir k Kameraparameter zu bestimmen, damit insgesamt k + p Unbekannte.Die Abbildungsgleichungen liefern für jede Kamera und jeden Punkt Gleichungen, alsoinsgesamt pk Gleichungen. Damit das Problem überhaupt lösbar sein kann, brauchen wirmindestens soviel Gleichungen wie Unbekannte. Daher muss gelten:

⋅ k + ⋅ p ≤ ⋅ p ⋅ k . (15.9)

Dies gilt natürlich nur, wenn die Gleichungen keine Abhängigkeiten enthalten. Wir schau-en, ob es für zwei Kameras Lösungen gibt. Dies ist mit p ≥ formal der Fall, d. h. wennwir zwei Kameras haben und mindestens 22 Punkte in jedem Bild finden (Referenzpunk-te, also Abbilder der gleichen 3D-Punkte, deren 3D-Koordinaten wir aber nicht kennen).Dann können wir alle Parameter beider Kameras berechnen und erhalten gleichzeitig dieeigentlich nicht benötigten 3D-Koordinaten der Kalibrierpunkte mit. Wir müssen nunschauen, ob in diesem Falle Abhängigkeiten in den Gleichungen enthalten sein können.Da die Lage des Weltkoordinatensystems völlig egal ist, könnte man dies auch in die ersteKamera legen, d. h. die sechs äußeren Parameter dieser Kamera sind frei wählbar. Weiter-hin ist die Skalierung völlig offen, dies ist ein freier Parameter. Damit sind sieben Parameterwählbar, ohne dass inhaltlich sich etwas ändern würde. Folglich sind nicht 22 Kamerapa-rameter berechenbar, sondern eigentlich nur 15. Demzufolge brauchen wir auch nur 15Punktreferenzen, um die restlichen Parameter und die 3D-Punkte auszurechnen, denndie sieben frei wählbaren Parameter geben wir fest vor. Damit wären nur 15 Punktrefe-renzen als Minimalinformation nötig und nicht 22 Punktreferenzen, wie wir formal mit(15.9) bestimmt haben. Durch diese Überlegung haben wir gezeigt, dass die GleichungenAbhängigkeiten enthalten müssen. Ein Nachteil dieser Art Selbstkalibrierung ist offen-sichtlich der steigende numerische Rechenaufwand, wir haben unter Brücksichtigung derMinimalinformation mit nur 15 Punktrefenzen und 15 Kameraparametern ein Systemmit60 Gleichungen und 60 Unbekannten ( = − Kameraparameter, = ⋅ Unbe-kannte für die 3D-Punkte) zu lösen. Diese Art Kalibrierung nennt man Selbstkalibrierungoder auch Bündelausgleichung. Da wir nun die Kameras kalibriert haben und in einem3D-Koordinatensystem sogar die Kalibrierpunkte berechnet haben, können wir auch ausBildpunkten 3D-Rekonstruktionen berechnen, d. h. weitere 3D-Koordinaten. Da wir aberkeinen Kalibrierkörper hatten, wissen wir auch nicht, wenn wir nun einen benutzen wür-den, welche metrische Länge einer Einheit entspricht, d. h. ist das 1 cm oder 1m? Daher

Page 353: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 345

könnenwir nicht die absolute Skalierung des 3D-Körpers berechnen. Kalibrieren wir dage-genmit einemKalibrierkörper, dann ist dieser dasWeltkoordinatensystemunddie absoluteSkalierung ist festgelegt. Für die Bündelausgleichung gibt es professionelle Software zukaufen. Das Schwierige dabei ist die numerische Lösung von großen nichtlinearen Glei-chungssystemen.

Andere Methoden der Selbstkalibrierung beruhen oft darauf, ausschließlich die inne-ren Kameraparameter zu berechnen. Nehmen wir einmal unsere fundamentale Beziehung(14.173) zwischen E-Matrix und F-Matrix F = (K−)TEK− für eine rotierte und transla-tierte Kamera deren innere Parameter sich nicht geändert haben. Die F-Matrix bestimmenwir aus Punktkorrespondenzen und sei nun bekannt. Dann suchen wir eine obere Drei-ecksmatrix, so dass die F-matrix transformiert die E-Matrix ergibt. Die E-Matrix habenwir allerdings nicht, wir nutzen aber die Tatsache, dass die beiden ersten singulären Wertegleich Eins sein müssen.

Eine weitere Idee besteht in den sogenannten Kruppa-Gleichungen. Wir erinnern uns,dass die Punkte in homogenen Koordinaten xT

= (xT∞

, ) Punkte der uneigentlichen Ebe-ne im Raum sind. Damit gilt für die Abbildungsgleichung u = KRx

, siehe auch (14.70).Also ist A = KR eine 2D↔ 2D projektive Transformation (Homographie) der uneigentli-chen Ebene π

in die Bildebene. In der uneigentlichen Ebene befindet sich der sogenannteabsolute conic Ω

(AC) mit der Bedingung

xT = (x , y, z, t) mit x + y + z = , t = , also xT = (x∞

, )T ,∥x∞

∥ = , (15.10)

siehe auch Abschn. 14.2. Der AC enthält keine reellen Punkte, sondern nur komplexe undkann im Bild nicht direkt beobachtet werden. Seine theoretischen Gleichungen im Bildkönnen aber angegeben werden:

= xT∞

Ix∞

= uT(KR)−TI(KR)−u = uTK−TK−u. (15.11)

Also ist ω = K−TK− das Abbild des AC, genannt image of the absolute conic (IAC). DieserIAC ist also unabhängig von der äußeren Orientierung der Kamera und hängt nur nochvon den inneren Kameraparametern ab und natürlich von einem Faktor. Hat man auf ir-gendeineWeise diese quadratische Form berechnet, dannman durch Cholesky-Zerlegung(Ziehen der Wurzel aus einer Matrix) die innere Projektionsmatrix K berechnen. Wir be-trachten jetzt eine Ebene πmit z = , welche die uneigentliche Ebene schneidet und zwar ineiner uneigentlichen Geraden. Als muss für diese uneigentliche Gerade z = , t = gelten,während x , y beliebig sind. Diese uneigentliche Gerade schneidet den AC in genau zweiPunkten (,±i , , )T , wie man leicht überprüfen kann. Diese beiden Punkte werden cir-cular points der Ebene π genannt. Wenn wir nun einmal das Koordinatensystem rotieren

Page 354: Bildverarbeitung und Objekterkennung ||

346 15 Kamerakalibrierung

und translatieren sowie skalieren und damit die Punkte der uneigentlichen Ebene trans-formieren, so ergibt sich

x′∞

= sRTx∞

(15.12)

und damit:

x′∞

= sRx∞

. (15.13)

Nun bilden wir die Gleichung des AC:

∥x′∞

∥ = s∥Rx∞

∥ = s∥x∞

∥ = . (15.14)

Damit ist die Beschreibung des AC unabhängig von der Bewegung und Skalierung des Ko-ordinatensystems. Rotieren und translatieren wir ein Koordinatensystem und schneidenden AC mit der Ebene (wie oben beschrieben) z = , so müssen die beiden Schnittpunkteauf dem gleichen AC wie im vorherigen Koordinatensystem sein, allerdings sind es zweiandere Schnittpunkte. Also könntenwir in verschiedeneKalibrierebenen je ein neuesWelt-koordinatensystem legen und die Schnittpunkte mit dem AC berechnen, die alle auf demeinzigen AC liegen müssen. Daraus kann man nun eine einfache Kalibrierung aufbauen:

Wir bauen so etwas wie einen Kalibrierkörper. Er besteht aus drei Ebenen, die nichtnotwendig orthogonal zueinander sein müssen, aber drei paarweise verschiedene Ebenenmüssen es sein. In jede Ebene tragen wir einen Marker in Form eines Quadrates auf, diesist alles, es werden keine Koordinaten benötigt. Für jede Ebene, d. h. für jedes Quadrat be-stimmen wir nun eine 2D↔ 2D projektive Transformation H (Homographie), sodass diePunkte (, )T , (, )T , (, )T , (, )T in die vier Bildpunkte des Quadrates (die jetzt imBild irgendein Viereck bilden) überführt werden. Wir haben damit in jede Ebene nach-einander ein Weltkoordinatensystem mit z = gelegt. Da die Ebene mit z = , in derdas Quadrat liegt, als uneigentliche Punkte die circular points haben muss (sie schneidet jadie uneigentliche Ebene in einer Geraden, auf der diese Punkte liegen), bilden wir sie nunins Bild ab durch H ⋅ (,±i , )T . Diese berechneten Punkte sind natürlich auch komplex.Dies tun wir für alle drei Quadrate. Dadurch erhalten wir sechs verschiedene Punkte imBild, die (theoretisch) auf dem IAC liegen müssen. Daher fitten wir an diese sechs kom-plexen Punkte eine „Ellipse“ und erhalten die Matrix ω. Diese bzw. ω− zerlegen wir mitder Cholesky-Zerlegung in die interne Projektionsmatrix K und erhalten die inneren Ka-meraparameter. Natürlich baut man praktisch nicht solch einen Kalibrierkörper, sonderngeht anders vor. In einer Ebene bringt man ein Kalibriermuster an und bestimmt die Ho-mographie ins Bild. Nun bewegt man die Kamera und bestimmt eine zweite, bzw. dritteAufnahme. Um so mehr Aufnahmen, umso besser ist das Fitten der quadratischen Form.So kann man also aus einer Ebene mit mehreren Aufnahmen die inneren Kameraparame-ter bestimmen.

Diese Kalibriertechnik mittels Ebenen zur Bestimmung der inneren Parameter kannman aber noch einfacher herleiten.

Page 355: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 347

15.2.2 Planare Kalibrierung nach Zhang

Dazu legen wir das Weltkoordinatensystem in eine Ebene und bilden die x , y-Ebene mitz = ab und erhalten damit eine 2D↔ 2D projektive TransformationH:

u = K(Rx + t) = K ⋅⎛⎜⎝(r , r, r) ⋅

⎛⎜⎝

xyz

⎞⎟⎠+ t

⎞⎟⎠

= K ⋅⎛⎜⎝(r , r, r) ⋅

⎛⎜⎝

xy

⎞⎟⎠+ t

⎞⎟⎠

= K ⋅ (r , r, t) ⋅⎛⎜⎝

xy

⎞⎟⎠= H ⋅

⎛⎜⎝

xy

⎞⎟⎠. (15.15)

Wenn wir die Spaltenvektoren vonHmit (h , h, h) bezeichnen, dann ist folglich:

H = (h , h, h) = K ⋅ (r , r, t). (15.16)

Also ist:

h = Kr , h = Kr. (15.17)

Damit folgt:

r = K−h , r = K−h. (15.18)

Da die beidenVektoren r , r die ersten beiden Spaltenvektoren der RotationsmatrixR sind,haben sie die gleiche Länge und sind orthogonal zueinander (die Bedingung ∥ri∥ = kön-nen wir nicht nutzen, da H mit einer Konstanten multipliziert werden darf). Also folgendie beiden Gleichungen:

hT K−TK−h = (15.19)

hT K−TK−h − hT

K−TK−h = . (15.20)

Man sieht, die Unbekannte ist wieder die Matrix ω = K−TK− des IAC. Die Matrix ωhat mit einem Faktor sechs Unbekannte, ohne Faktor die fünf inneren Parameter. Für eineHomographie H erhalten wir zwei Gleichungen, so dass wir wenigstens drei Homogra-phien benötigen, d. h. drei Kalibrierpositionen der Kamera benötigen, die ein Muster ineiner 2D-Ebene aufnimmt um die Homographie zu bestimmen. Wollen wir z. B. das Pro-dukt von Skalierungsfaktor und Kammerkonstante nicht in Pixeln sondern z. B. in m oder

Page 356: Bildverarbeitung und Objekterkennung ||

348 15 Kamerakalibrierung

Abb. 15.3 Planares Kalibrier-muster ohne Landmarken

mm, so müssen wir das Kalibriermuster ausmessen und die Koordinaten entsprechenddieser Maßeinheiten angeben. Wenn wir ω = K−TK− bis auf einen Faktor berechnet ha-ben, berechnen wir K von ω− mittels der Cholesky-Zerlegung eine obere Dreiecksmatrix,die auch bis auf einen Faktor bestimmt ist. Da aber k = sein muss, können wir die-sen Faktor eliminieren. Gedanklich sitzt unser Weltkoordinatensystem auf dem planarenKalibrierkörper. Daher können wir auch die äußeren Kameraparameter ausrechnen mit:

r = K−h , r = K−h , t = K−h. (15.21)

Da der Kalibrierkörper planar ist, ergänzen wir einfach r orthogonal zu den beiden be-reits berechneten Vektoren r , r, wobei alle drei Rechtssysteme bilden sollen. Da wir zurBerechnung der inneren Kameraparameter mindestens drei Kamerapositionen benötigen,können wir auch für jede Kameraposition nach dieser Formel die äußeren Kamerapa-rameter berechnen. Folglich können wir auch daraus (über die Dreiecksbeziehung) dieBewegung der Kamera gegeneinander ausrechnen. In Abb. 15.3 ist ein Beispiel eines pla-naren Kalibrierkörpers zu sehen, welcher keine Landmarken besitzt. Weiterhin ist durchdie Anordnung der Quadrate die Symmetrie gebrochen, damit die Lösung des Korrespon-denzproblemes eindeutig ist. Um die Homographie zum aufgenommenen Muster zu be-stimmen, müssen die Punktkorrespondenzen ermittelt werden. Dazu kann man z. B. dieAbbilder der schwarzen Quadrate im Bild bestimmen, die theoretisch beliebige Viereckebilden. Von den Vierecken bestimmt man den Schnittpunkt der Diagonalen als den reprä-sentativen Punkt des Viereckes. Der Schwerpunkt ist problematisch, da er nicht projektivkovariant ist. Mit Hilfe eines geeigneten Verfahrens (z. B. der DAPPM-Algorithmus, sieheAbschn. 19.8.4) werden die Punktkorrespondenzen zwischen dem theoretischen Musteraus Abb. 15.3 und dem aufgenommenen Bild vom Muster bestimmt, woraus man dannmittels Ausgleichsrechnung die Homographie bestimmt.

Das Verfahren zur Bestimmung der Punktkorrespondenzen muss so robust sein, dassauch trotz Verdeckungen die richtige Homographie bestimmt wird, siehe Algorithmus

Page 357: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 349

Abb. 15.4 Kalibrierung nachZhang: a Extrem projektiv verzerrtes Bild vom planaren Kalibriermus-ter,bmittels Punktkorrespondenzen undDAPPM-Algorithmus (Abschn. 19.8.4) projektiv entzerrtesBild

Abb. 15.5 Kalibrierung nach Zhang: a Bild vom Kalibriermuster mit Verdeckung, b trotz Verde-ckung richtig bestimmte projektive Entzerrung

DAPPM (Abschn. 19.8.4) und Abb. 15.5. Bei den drei Aufnahmen des planaren Kalibrier-musters ist weiterhin darauf zu achten, dass die Kamera in den drei Positionen nicht diegleichen Blickwinkel zum Kalibriermuster hat, sondern drei „echt“ verschiedene Blick-winkelpositionen gewählt werden.

Nehmen wir einmal an, wir hätten „im Labor“ durch planare Kalibrierung die innerenKameraparameter ausgerechnet (wenn nötig auch die Verzeichnung), damit ist also K be-kannt. Wenn wir jetzt an einem anderen Ort mit der Kamera aus zwei Positionen herausein Objekt vermessen wollten (durch Triangulation), brauchen wir vor Ort nur die äu-ßeren Kameraparameter bestimmen. Dies können wir wieder durch planare Kalibrierunglösen, wir brauchen jetzt nur die Rollen zu vertauschen.Wenn wir pro Kameraposition dieHomographie H bestimmt haben, können wir wieder entsprechend (15.21) die äußerenKameraparameter bestimmen. Bei Kenntnis der inneren Parameter wissen wir, dass nicht

Page 358: Bildverarbeitung und Objekterkennung ||

350 15 Kamerakalibrierung

jede Homographie zugelassen ist, es gibt die zwei Restriktionen wie (15.20), nämlich:

hT K−TK−h = (15.22)

hT K−TK−h − hT

K−TK−h = , (15.23)

wobei K als bekannt vorausgesetzt wird. Damit ist die minimale Anzahl von Referenz-punkten zur Bestimmung der Homographie nicht vier, sondern nur drei (allerdings nichtganz eindeutig, sondern drei + plus eine gewisse Zusatzinformation, aber weniger Infor-mation als vier Punkte). Wenn wir jetzt mehr als 3 Referenzpunkte zur Verfügung haben,dann berechnen wir die Homographie als Ausgleichsproblem, allerdings mit den beidenRestriktionen (15.22), (15.23). Diese Idee können wir für ein einfaches, praktisches Ver-messungsproblemmit einer „handelsüblichen“ Kamera nutzen, siehe Abschn. 16.5.

Manchmal betrachtet man statt des IAC ω die inverse Matrix ω−, genannt dualer IAC(DIAC) oder auch Kruppa-Matrix. Es sei wieder o der Epipol und y ein gedachter Punktim Bild. Die Gerade durch beide Punkte ist eine Epipolarlinie. Diese Epipolarlinie ist genaudann tangent zum IAC, wenn der Normalenvektor der Epipolarlinie auf dem DIAC liegt,d. h. wenn

(o × y)Tω−(o × y) = (15.24)

gilt, siehe auch (13.38). Da dies eine quadratische Formdarstellt, habenwir nur fünf eigent-liche Parameter. Die Matrix ist symmetrisch, dadurch haben wir formal sechs Matrixpara-meter, in denen aber ein Skalierungsfaktor enthalten ist. Dies ist nun als Bestimmungsglei-chung für den Punkt y anzusehen. Wir notieren einmal die Elemente in einer Form nachKruppa (ist ungewöhnlich, aber eben nur eine Bezeichnung):

ω− =⎛⎜⎝

−δ δ δδ −δ δδ δ −δ

⎞⎟⎠. (15.25)

Da uns nur diejenige Epipolarlinie interessiert, die tangent zum IAC ist, nehmen wir alszweiten Punkt nicht irgendeinen Punkt auf der Epipolarlinie, sondern den Schnittpunktdieser Epipolarlinie mit der uneigentlichen Geraden y = , so dass nur y , y zu bestim-men sind. Wenn wir dies in (15.24) einsetzen zur Bestimmung dieses Punktes, so erhaltenwir die Gleichung:

A y + A y y + A y = (15.26)

mit den Koeffizienten:

A = −δ o − δo − δo oA = δo o − δo + δoo + δo oA = −δ o − δo − δo o. (15.27)

Page 359: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 351

Wenn wir dies nun für eine zweite Kamera aufschreiben würden, so brauchen wir überallnur einen „Strich“ an die Variablen zu machen. Ist die zweite Kamera aber nur eine Bewe-gung der ersten, d. h. die inneren Parameter bleiben konstant, so ändert sich der IAC (dieKoeffizienten von ω bzw. ω−) nicht, denn dieser hängt nicht von der Orientierung derKamera ab. Bei zwei Positionen einer Kamera können wir nun die Epipolartransformati-on aufschreiben als eindimensionale projektive Transformation, die von drei Parameternabhängt, siehe auch (14.155) und (14.156). Dazu nehmen wir an, diese sei bekannt:

τ′ =aτ + bcτ + d

. (15.28)

Dabei ist τ der Tangens, d.h der Anstieg der Epipolarlinien. Da der Punkt y aber auf deruneigentlichen Geraden liegt, können wir den Tangens einfach zu τ = y/ y berechnen(analog auch τ′). Dies sieht man leicht an folgender Beziehung:

τ = tan α = limβ→

oo

− yβ

o o

−yβ

= limβ→

β oo

−y

β o o

−y

=yy. (15.29)

Mit diesem Tangens setzen wir die Transformation in obige zwei Gleichungen ein und er-halten:

A + Aτ + Aτ = (15.30)A′(cτ + d) + A′(aτ + b)(cτ + d) + A′(aτ + b) = . (15.31)

Beide Gleichungen, die jeweils quadratisch sind, müssen die gleichen Lösungen in τ be-sitzen. Daher quadrieren wir aus und vergleichen die Koeffizienten, die bis auf einen ge-meinsamen Faktor gleich sein müssen. Daher haben wir drei Gleichungen mit einem un-bekannten Faktor. Wir dividieren, um den Faktor zu eliminieren und erhalten folglich nurnoch zwei Gleichungen:

A(A′c + A′ac + A′a

) − A(A′d + A′bd + A′b

) = (15.32)

A(A′cd + A′ad + A′bc + A′ab) − A(A′d + A′bd + A′b

) = . (15.33)

Das sind die sogenannten Gleichungen nach Kruppa. Gehen wir nochmals von der Bezie-hung

(o′ × y′)Tω−(o′ × y′) = (15.34)

in der zweiten Kamera aus, wobei die inneren Parameter wieder gleich sein sollen, d. h. wirhaben den gleichen DIAC oder die gleiche Kruppa-Matrix. Nun schreiben wir das Kreuz-produkt wieder mit den schiefsymmetrischen Matrizen auf, d. h.

(o′ × y′)Tω−(o′ × y′) = y′TO′ω−O′y′ = . (15.35)

Page 360: Bildverarbeitung und Objekterkennung ||

352 15 Kamerakalibrierung

Die dem Punkt y′ zugeordnete Epipolarlinie in der ersten Kamera lautet l = FT y′ und da-mit die Gleichung des DIAC: lTω−l = y′TFω−FT y′ = . Aus beiden Beziehungen folgtFω−FT = λO′ω−O′. Die gleiche Beziehung kann auch noch anders hergeleitet werden.Wenn wir die uneigentliche Ebene in beiden Kameras abbilden, dann gibt es zwischen bei-den Kamerabildern eine HomographieH

= K′RK−, wobei R die Rotation zwischen denbeiden Kamerakoordinatensystemen bedeutet. Da wir annehmen, dass die inneren Para-meter gleich bleiben, gilt H

= KRK−. Wir bilden einfach H∞

ω−HT∞

= H∞

KKTHT∞

=

KKT = ω−. Daher bilden wir das Produkt O′ω−O′ = O′H∞

ω−HT∞

O′. Mit (14.195)hatten wir die Beziehung F = O′H für eine 2D ↔ 2D projektive Transformation (Homo-graphie) der beiden Bildebenen bezüglich einer abgebildeten Ebene im Raum hergeleitet.Dies gilt genauso für die uneigentliche Ebene, also F = O′H

. Setzen wir diese Bezie-hung oben ein, so erhalten wir auch die Kruppa-Gleichungen inMatrixform. Da innerhalbdieser Matrixxgleichung Abhängigkeiten auftauchen, bleiben eigentlich nur die oben ab-geleiteten zwei Elementargleichungen übrig. Erinnern wir uns mit (14.173) an eine wei-tere Darstellung der Fundamentalmatrix F = T′KRK− mit t′ = Kt, wobei t wieder dieTranslation und R die Rotation zwischen den beiden Kamerakoordinatensystemen sindund T,T′ die bezüglich des Kreuzproduktes zugeordneten schiefsymmetrischen Matrizender Vektoren t, t′ = Kt sind. Damit haben wir zwei verschiedene Darstellungsformen derKruppa-Gleichungen in Matrixdarstellung:

Fω−FT = λO′ω−O′ und Fω−FT = μTω−T′T . (15.36)

Jede der beiden Matrix-Gleichungen repräsentiert aber nur zwei skalare, nichtlineare Glei-chungen.

15.2.3 Tomasi und Kanade: Schwache Perspektive

Bei der allgemeinen Selbstkalibrierung (Bündelausgleichung) zur simultanene Bestim-mung der Kameraparameter und der 3D-Punkte muss ein nichtlineares Gleichungssystemgelöst werden. Kann man dieses unter Einschränkungen auf eine Folge von (fast) linearenProblemen zurückführen? Dazu nehmen wir an, die inneren Parameter (Matrix K) seienbekannt. Die Bildkoordinaten rechnen wir somit um in normalisierte Koordinaten, wirtun so, als hätten wir eine ideale Lochkamera mit der Kamerabrennweite f = . Weiterhinnehmen wir jetzt die Schwache Perspektive an, d. h. die skalierte orthografische Projektionals Approximation der perspektivischen Projektion, siehe auch (14.7) und (14.8). Gegebenseien nun K Kameras k = , . . . ,K und P 3D-Punkte xp , p = , . . . , P. Es bezeichne x denSchwerpunkt der P Punkte. Pro Kamera denken wir uns eine Ebene Ek durch den Schwer-punkt der P Punkte, die parallel zu der jeweiligen Bildebene liegen möge. Die äußerenParameter der k-ten Kamera seien Rk und tk . Es bezeichne RT

k = (rk , , rk , , rk ,), d. h.rTk , , r

Tk , , r

Tk , sind die Zeilenvektoren von Rk . Bei der Schwachen Perspektive nimmt man

Page 361: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 353

an, alle 3D-Punkte liegen in der Ebene Ek und haben damit die gleiche Tiefe sk . Dann ist:

sk = rTk , ⋅ (x − tk). (15.37)

Die Abbildungsgleichungen sind dann:

uk ,p =skrTk ,(xp − tk) = mT

k xp + ak , (15.38)

vk ,p =skrTk ,(xp − tk) = nT

k xp + bk . (15.39)

Die Abbildungsgleichungen wollen wir inMatrixnotationW = MX+T aufschreiben, dannist:

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

u, ⋯ u,P

⋮ ⋮

uK , ⋯ uK ,P

v, ⋯ v,P⋮ ⋮

vK , ⋯ vK ,P

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

mT⋮

mTK

nT⋮

nTK

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

⋅ (x ⋯ xP) +

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

a ⋯ a⋮ ⋮

aK ⋯ aKb ⋯ b⋮ ⋮

bK ⋯ bK

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (15.40)

Auf der linken Seite steht die Meßmatrix, die für alle Kameras und alle Punkte bekannt ist.Auf der rechten Seite stehen nur Unbekannte, die MatrixM ist eine skalierte Rotationsma-trix, die Matrix X besteht aus den unbekannten Koordinaten der 3D-Punkte und in T gehtdie Translation ein. Legen wir nun den Koordinatenursprung des Weltkoordinatensystemsin den Schwerpunkt x, dann können wir tatsächlich die Matrix T allein aus der bekanntenMeßmatrixW berechnen, denn dann folgt aus∑k xk = sofort:

∑puk ,p = ∑

p(mT

k xp + ak) = ∑pak = P ⋅ ak → ak =

P ∑

puk ,p . (15.41)

Damit brauchen wir T nicht mehr als Unbekannte auffassen, wir setzenW∗ = W − T undbetrachten nur noch das Problem W∗ = M ⋅ X. Da die Matrix M drei Spalten und dieMatrix X drei Zeilen hat, kann der Rang von W∗ höchstens drei sein. Die Matrizen Mund X berechnen wir nun mit der Singulärwertzerlegung, wir erinnern an die SVD imAbschn. 22.3:

W∗ = UΛVT . (15.42)

Damit wäreM = U ⋅√Λ und X =

√Λ ⋅VT . Sollte in der Praxis auf Grund von Rauschen,

Fehlern usw. der Rang von W∗ größer als drei sein, so werden bei der SVD nur die ers-ten drei Singulärwerte berücksichtigt, dies ist dann die beste Approximation im Sinne der

Page 362: Bildverarbeitung und Objekterkennung ||

354 15 Kamerakalibrierung

Frobenius-Norm durch alle Matrizen vom Rang drei. Es wäre zu schön, wenn dies nunschon das Endergebnis wäre, man sieht sofort, es stimmt etwas nicht: Die Spalten von Uund V sind orthogonal, die Spalten von M bzw. die Zeilen von X sind in der Regel nichtorthogonal. Dazu betrachten wir eine beliebige reguläreMatrixAmit drei Spalten und dreiZeilen, dann sindM′ = M ⋅A und X′ = A− ⋅X auch gültige Faktorisierungen. Wir müssenfolglich die „richtige“ Matrix A finden. Wir nutzen dazu das Wissen, dass die Matrix M′

eine skalierte Rotationsmatrix ist, daher können wir als Bedingungen

∣m′k ∣ = (mT

kA)(mTkA)T = mT

kAATmk = nT

kAATnk = ∣n′k ∣

(15.43)(m′k)

Tn′k = mTkAA

Tnk = (15.44)

formulieren. Wir sehen, dassA = auch Lösung ist, daher müssen wir noch eine Normie-rung festlegen, z. B.:

(m′)Tm′ = mT

AATmk = . (15.45)

Mit dieser Normierung ergibt sich sofort die relative Tiefe der Punkte bezüglich der erstenKamera zu s = , alle anderen Tiefen bezüglich der anderen Kameras beziehen sich dannauf diese Normierung. Zur Bestimmung vonA berechnen wir zunächst die symmetrischeMatrix Q = AAT mit 6 Unbekannten. Da Q linear in die Restriktionen eingeht, habenwir ein einfaches lineares Ausgleichsproblem zu lösen, anschließend ziehen wir dieWurzelaus Q und haben das konkrete A berechnet. Allerdings bleibt selbst dann noch eine letzteMehrdeutigkeit fürA, wenn A Lösung ist, dann auch −A, eine von den beiden ist geeignetauszuwählen.

• Restriktionen haben wir nun P ⋅ K − K = (P − )K. Durch die Lage des Koordina-tenursprungs mussten wir K Restriktionen wieder abziehen.

• Unbekannte haben wir P − + K + K = P + K − .• Forderung: (P − )K ≥ P + K − → Pmin = ,Kmin = .

Folgerung: Es müssen alle 3D-Punkte von mindestens 5 Kameras aus vollständig sicht-bar sein und das Referenzproblem muss gelöst sein.

• Wenn Rang(W∗) < , dann ist die Faktorisierung in zwei Matrizen mit dem Rang nicht möglich. Spezialfälle sind dann:– Rang(M′) < , z. B. sind die Kameras nur translatiert und nicht zueinander rotiert.– Rang(X′) < , Punkte sind kollinear oder komplanar.– Wenn folglich zufällig alle Punkte in einer Ebene liegen unddie schwachePerspektive

fällt mit der Perspektive zusammen, dann versagt die Faktorisierung.

Es gibt auch eine Faktorisierung für die paraperspektivische Abbildung, formal anders sindlediglich die Restriktionen zur Bestimmung der Matrix A.

Page 363: Bildverarbeitung und Objekterkennung ||

15.2 Selbstkalibrierung 355

15.2.4 Tomasi und Kanade: Perspektive

Nun soll die Idee für die Schwache Perspektive iterativ genutzt werden, um den Fall derechten Perspektive zu behandeln.Wir nehmenwieder an, dass die inneren Parameter jederKamera bekannt sind und benutzen daher normalisierte Bildkoordinaten. Somit lauten dieAbbildungsgleichungen:

uk ,p =rTk ,xp + tk ,rTk ,xp + tk ,

, vk ,p =rTk ,xp + tk ,rTk ,xp + tk ,

. (15.46)

Wenn wir tk , ≠ annehmen, dann können wir auch schreiben:

uk ,p =

rTk ,xptk ,

+tk ,tk ,

+ εk ,p, vk ,p =

rTk ,xptk ,

+tk ,tk ,

+ εk ,pmit εk ,p =

rTk ,xptk ,

. (15.47)

Durch diese Schreibweise sieht man deutlich, dass die Zähler genau der Schwachen Per-spektive entsprechen. Ist das Objekt „weit genug entfernt“, dann gilt εk ,p ≈ und dieSchwache Perspektive ist eine gute Näherung. Wir setzen nun λk ,p = + εk ,p , multipli-zieren damit die linke und rechte Seite und erhalten folglich eine skalierte MessmatrixWs :

Ws =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

λ,u, ⋯ λ,Pu,P

⋮ ⋮

λK ,uK , ⋯ λK ,PuK ,P

λ,v, ⋯ λ,Pv,P⋮ ⋮

λK ,vK , ⋯ λK ,PvK ,P

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (15.48)

Die eigentliche MessmatrixW nennen wir jetzt projektive Messmatrix, diese liegt vor undwurde aus den K Bildern der K Kameras durch Lösen des Referenzproblems der P Punkteermittelt. Nun setzt man zu Beginn einfach εk ,p = und führt mit der Schwachen Perspek-tive die Faktorisierung durch. Dabei werden die äußeren Parameter und die Koordinatenaller 3D-Punkte berechnet. Diese sind zunächst nicht richtig, da die Schwache Perspektivenur eine Approximation der Perspektive dastellt. Bei der Faktorisierung berechnen wir di-rekt nur rk , und rk , der Rotationsmatrix. Wir wissen aber, dass rk , senkrecht auf diesenbeiden steht und ergänzen diesen Vektor. Wir erhalten aber generell bei der Faktorisie-rung zwei gespiegelte Lösungen. Da wir nun alle 3D-Punkte und die Kameraparameterhaben, bilden wir nun mit den perspektivischen Abbildungsgleichungen alle 3D-Punktemit allen K Kameras ab und erhalten eine „noch etwas falsche“ projektive MessmatrixW′. Dies ist das allgemeine Prinzip der Rückprojektion. Nun können wir den Grad der„Falschheit“ bestimmen, wir bilden mit der Frobeniusnorm den Fehler ∥W−W′∥. Ist die-ser klein genug, sindwir fertig, wobei wir jetzt entscheiden können, welche von den beiden

Page 364: Bildverarbeitung und Objekterkennung ||

356 15 Kamerakalibrierung

spiegelsymmetrischen Lösungen wir nehmen. Ansonsten verfahren wir wie folgt: Mit denperspektivischen Abbildungsgleichungen haben wir jetzt konkrete εk ,p berechnet. Mit die-sen können wir jetzt ausW′ die skalierte, projektive MessmatrixW′s berechnen. Mit dieserführen wir wieder die Faktorisierung durch und wiederholen den gesamten Prozess.

15.3 Kalibrierung mit der E-Matrix

Wir wollen nun die Eigenschaften der E-Matrix, siehe Abschn. 14.4.3, zur Kalibrierung deräußeren Kameraparameter nutzen.

Annahme Wir haben zwei Kameras mit bereits bestimmten, inneren Kameraparametern.Wir wollen durch Triangulation die Oberfläche eines Objektes bestimmen, wobei die Grö-ße und Lage des 3D-Objektes in einem Weltkoordinatensystem völlig egal ist. Dann istdie Bestimmung der äußeren Parameter recht einfach: Wir legen in die erste Kamera dasWeltkoordinatensystem, damit sind die 6 äußeren Parameter dieser Kamera bekannt. Wirbestimmen aus den zwei 2D-Bildern mindestens 5 Punktereferenzen, bestimmen darausdie E-Matrix und durch Zerlegung der E-Matrix die Rotationsmatrix und den Transla-tionsvektor. Diese beschreiben die Bewegung der zweiten Kamera gegenüber der erstenKamera, in der das Welkoordinatensystem liegt. Durch Normierung des Translationsvek-tors auf die Länge Eins (die Länge können wir nicht bestimmen) haben wir die Skalierungfestgelegt, die ja absolut nicht bestimmbar ist. Damit sind wir mit der Kalibrierung schonfertig.

15.4 Kameraparameter aus der Projektionsmatrix

Manchmal besteht der Wunsch, aus den Kalibrierdaten explizit die inneren und/oder äu-ßeren Kameraparameter zu berechnen. Denken wir bloß einmal an die E-Matrix, wennwir mit einer Kamera die Bewegung eines Objektes bestimmen wollen. Dann brauchenwir die Referenzpunkte mit normalisierten Koordinaten, d. h. wir brauchen die innnerenKameraparameter, also die Matrix K. Wir erinnern, die Abbildungsgleichungen sind:

u = Ax + a, A = KR, a = Kt→ R = K−A, t = K−a. (15.49)

Wenn wir also A bestimmt haben, wird A mittels der sogenannten RQ-Dekompositionzerlegt. Oft steht in Softwaresystemen aber nur die QR-Zerlegung zur Verfügung. Ein klei-ner Trick hilft. Wir invertieren die Matrix A, zerlegen sie mittels der QR-Dekomposition,und invertieren dann wieder K, bzw. transponieren die Orthogonalmatrix R. Eine obereDreiecksmatrix invertiert ergibt wieder eine obere Dreiecksmatrix. (K ist eine obere Drei-ecksmatrix und R eine Rotationsmatrix). Mit bekanntem a wird dann die Translation zut = K−a bestimmt.

Page 365: Bildverarbeitung und Objekterkennung ||

15.5 Verzeichnungen 357

Wir können auch völlig anders vorgehen. Wir bestimmen die inneren Parameter direktaus der Projektionsmatrix Amit Hilfe der Kamerainvarianten, siehe Abschn. 14.1.11. Nach(14.51) bestimmen wir den Hauptpunkt (u , v). Nach (14.53) die beiden Skalierungsfak-toren αu , αv und schließlich mit Hilfe von (14.52) den Parameter αs = αv ⋅ cotφ. Wenn wirnun noch zusätzlich die äußeren Kameraparameter berechnen wollen, dann benutzen wiraus (15.49) nicht die Beziehung R = K−A, da wir auf Grund von Fehlern nicht garantie-ren können, dass R auch wirklich eine Rotationsmatrix ist. Wir benutzen stattdessen dieBeziehungA = KR und rechnen analog der Idee bei der E-Matrix nach (14.182) die Rotati-onsmatrix Rmit einer LSE-Schätzung aus. Zur Lösung dieses Ausgleichsproblems nutzenwir wieder Quaternionen entsprechend Abschn. 13.2.11.

15.5 Verzeichnungen

Oft gibt es Weitwinkelobjektive, die nicht ideal dem zentralperspektivischen Modell einerLochkamera genügen. Man sieht am Rande des Bildes „krumme“ Geraden, d. h. Gera-den gehen eigentlich zentralprojektiv in Geraden über, sind aber im Bild keine Geraden,sondern gekrümmte Linien. Auffällig ist weiterhin, dass im Bildinnern die Verzeichnun-gen nicht so stark wie am Bildrand sind. In der Nähe, wo die optische Achse das Bildschneidet, dürften so gutwie keineVerzeichnungen zu sehen sein.Man unterscheidet „ton-nenförmige“ oder „kissenförmige“ Verzeichnungen der Objektive, siehe Abb. 15.7. In derAbb. 15.6a ist eine tonnenförmige Verzeichnung zu sehen, in der Abb. 15.6b ist diese kor-rigiert worden. Es gibt auch Bilder von einem extremen Objektiv, dem sogenannten Fisch-Auge-Objektiv. Diese erlauben Sichtwinkel bis 190 Grad und erzeugen extreme Verzeich-nungen, die aber von vornherein gewollt sind. NormaleWeitwinkelobjektive haben natür-lich nicht solch extreme Verzeichnungen. Insbesonderewennman Bilder zuMessaufgabenbenutzenwill,mussman diese entzerren, d. h. dieVerzeichnungenwieder korrigieren.Mankann dazu das ganze Bild transformieren (damit es auch „schön“ aussieht), oder nur diePunkte in einem Rechenprozess entzerren, die man benötigt. Dazu dient in der Regel ein

Abb. 15.6 a Verzeichnungen, b Verzeichnungen korrigiert

Page 366: Bildverarbeitung und Objekterkennung ||

358 15 Kamerakalibrierung

Abb. 15.7 Verzeichnungsarten

Modell für radialsymmetrische Verzeichnungen, das oft ausreicht für eine korrekte Entzer-rung. Erweiterungen dieses Modelles sind dann die tangentialsymmetrischen Verzeich-nungen. Wir gehen also von einem Symmetriezentrum (X ,Y) aus, das in der Nähe desBildhauptpunktes liegen wird, aber nicht notwendig mit diesem übereinstimmen braucht.Bei „unbearbeiteten“ Bildern ist der Bildmittelpunkt eine brauchbare erste Näherung. Indieses Symmetriezentrum setzen wir nun den Koordinatenursprung und gehen zu Polar-koordinaten über. Dann soll unabhängig vom Winkel φ die Verzeichnung modellierbarsein, also radialsymmetrisch sein. Wir bezeichnen nun mit r′ den verzeichneten Punktund mit r den unverzeichneten Punkt. Dann ist folglich unabhängig vom Winkel φ dieVerzeichnungsfunktion r′ = f (r) zu finden. Diese können wir parametrisch vorgeben undmit einem LSE-Schätzer die Parameter bestimmen.Wieman sich leicht überlegen kann, istdas aber nicht so einfach, wir benötigen dazu eine Liste von Referenzpunkten (r′, r). Wo-her sollen wir aber wissen, welcher unverzeichnete Punkt r zum gewählten verzeichnetenPunkt r′ gehört? Zunächst müssen wir klären, welche Modellfunktionen r′ = f (r) könnenwir verwenden? Üblich sind die vier Modelle:

r′ = r ⋅ ( + ar + ar)r′ = r/( + ar + ar)r = r′ ⋅ ( + ar′ + ar′)r = r′/( + ar′ + ar′).

(15.50)

Natürlich könnten noch weitere Reihenkoeffizienten aufgenommen werden. Die Funktionf (r) bzw. f −(r′) sollte monoton steigend sein und im Symmetriezentrum die Ableitunglimr→

d f (r)dr = haben. Betrachten wir der Einfachheit halber ein Modell mit nur einem

Parameter, da wir in diesem Falle (Lösen einer quadratischen Gleichung) auch die inverseAbbildung in analytischer Form angeben können:

r =r′

+ kr′↔ r′ =

kr

( −√ − kr) . (15.51)

Da in diesemModell für eine typische, tonnenförmige radiale Verzeichnung k < ist (k > für radiale, kissenförmige Verzeichnungen), verwenden wir formal:

r =r′

− kr′↔ r′ =

kr

(√ + kr − ) , k > . (15.52)

Page 367: Bildverarbeitung und Objekterkennung ||

15.5 Verzeichnungen 359

Abb. 15.8 Verzeichnungs-funktion r′ = f (r) nach(15.52)

0

100

200

300

400

500

0 100 200 300 400 500

Ver

zeic

hnet

er P

unkt

r’

Unverzeichneter Punkt r

k=1e-7k=1e-6k=1e-5k=1e-4

In derAbb. 15.8 ist derGraph dieser Funktion (in der Form r′ = f (r)) zu sehen. Punkteweitaußen werden also stärker ans Symmetriezentrum „herangerückt“ als Punkte im Innerern.Damit werden Geraden in Richtung Symmetriezentrum gekrümmt. Lassen wir einmal indiesem Modell r → ∞ gehen, so sehen wir, dass dann r′ =

kist. Alle unendlich fernen

Punkte liegen auf einemendlichenKreismit demangegebenenRadius undderMittelpunktist das Symmetriezentrum. Da r und r′ beginnend bei Null stetig größer werden, ist derBegriff der Umkehrfunktion nur in den Intervallen

≤ r ≤ ∞, ≤ r′ <

√k

(15.53)

überhaupt sinnvoll. Wir lassen also die entsprechende Variable vonNull beginnend so lan-ge monoton wachsen, bis eine Polstelle auftritt.

Unabhängig von unserem Modell transformieren sich generell die Koordinaten nachdem Strahlensatz, d. h.

x − Xr

=x′ − Xr′

,y − Yr

=y′ − Yr′

. (15.54)

In dieser Gleichung kannman nach den gewünschten Variablen umstellen.Wir setzen jetzteinmal gedanklich den Koordinatenursprung in das Symmetriezentrum X ,Y und stellennach x , y um:

x =x′

r′r, y =

y′

r′r. (15.55)

Wir betrachten nun im Bild eine beliebige Gerade der Form ax + by + c = . Wir substi-tuieren für x und y in der Geradengleichung die Beziehungen (15.55) und benutzen für rdie Transformation (15.52). Wir erhalten

c(− kr′) + ax′ + by′ = (15.56)

Page 368: Bildverarbeitung und Objekterkennung ||

360 15 Kamerakalibrierung

und sehen sofort, dass dies die Gleichung eines Kreises in den verzeichneten Koordinatenist, wobei der Mittelpunkt im allgemeinen nicht mehr das Symmetriezentrum ist. Obi-ges spezielles Modell bewirkt also, dass Geraden im Bild in Kreise übergehen. Man siehtnun leicht, dass beim zweiparametrigen Modell vierte Potenzen eingehen und damit kei-ne Kreise entstehen können. DasModell, dass also Geraden in Kreise übergehen, ist somitdas simpelste Verzeichnungsmodell. Was würde sich generell ändern, wenn wir in Modell(15.52) r und r′ vertauschen? Dann ist:

r′ =r

+ kr↔ r =

kr′

( −√ − kr′) , k > . (15.57)

Gehen wir also von diesem „Bruch“ aus, können wir die inverse Funktion auch analytischaufschreiben. Aber: Geraden gehen nicht mehr in Kreise über. Nehmen wir nun aber einanderes einparametriges Modell, z. B.

r′ = r( − kr), k > (15.58)

oder

r = r′( + kr′), k > , (15.59)

so hat die Verzeichnungsfunktion einen ähnlichenGraphwie die obigen, aber die Umkehr-funktion können wir nicht mehr so leicht aufschreiben, da dies ein Polynom 3. Gradesdarstellt. Numerisch stellt dies aber kein Problem dar. Die Umkehrfunktion bezieht sichwieder auf das „erste Monotoniesegment“. Der wesentliche Unterschied zu den anderenModellen ist auch der Definitionsbereich, d. h. beide Variablen laufen von Null bis Un-endlich. Wie man leicht sieht, gehen Geraden auch nicht in Kreise über, sondern in einPolynom 3. Grades.

Wie kann man nun die beiden Parameter bestimmen? Natürlich durch Kalibrierung.Wenn wir eine Kamera kalibrieren, nehmen wir diese Verzeichnungen mit ins Modell aufund bestimmen diese. Oft braucht man aber nicht die Kameraparameter, sondern will nurdas Bild entzerren, dann ist der 3D → 2D Kalibrierungsprozess zu aufwendig. Wir kali-brieren dann in der Ebene. Wir konstruieren uns einen „ebenen Kalibrierkörper“, d. h. einBlatt Papier, auf dem ein Gitter oder ähnliches aufgedruckt ist. Wir kennen die Abständeder Gitterpunkte und legen damit die Koordinaten fest. Dieses Papier nehmen wir mit ei-nerKamera auf und erhalten das verzeichneteGitter.Nun bestimmenwir die verzeichnetenGitterpunkte im Bild und ordnen diese den „eigentlichen“ Gitterpunkten zu, wir müssenalso das Referenzproblem geschickt lösen (bei der 3D-Kalibrierungmüssenwir dies ja auchtun). In der Abb. 15.9 ist die Verzeichnung eines 2D-Kalibriermusters deutlich zu sehen.Die „körpereigenen“ Punkte der Objekte können automatisch zugeordnet werden. Wennman das Referenzproblem gelöst hat, haben wir eine Liste von Punktreferenzen

xi ↔ xi , i = , . . . , n (15.60)

Page 369: Bildverarbeitung und Objekterkennung ||

15.5 Verzeichnungen 361

Abb. 15.9 Aufgenommenes2D-Kalibriermuster

mit Punkten xi im planaren Kalibriermuster und den zugeordneten Punkten xi im ver-zeichneten Bild. Nun formulieren wir die planaren Abbildungsgleichungen. Zunächst wer-den die Punkte xi durch eine Homographie in Punkte x′i abgebildet. Anschließend werdendie Punkte x′i durch einVerzeichnungsmodell in die Punkte x′′i abgebildet. Nun bestimmenwir aus

∑i∣x′′i − xi ∣ → Minimum (15.61)

die Abbildungsparameter, d. h. die Homographie und die Verzeichnungsparameter. ZurEntzeichnung irgendeines aufgenommenen Bildes benötigen wir aber nur noch die Ver-zeichnungsparameter.

Wenn wir für alle Brennweiten einer Kamera jeweils die Verzeichnungsparameter kali-briert haben und uns in einer Datei merken, können wir später jedes aufgenommene Bildauch entzeichnen, vorausgesetzt, wir wissen mit welcher Brennweite das Bild aufgenom-men wurde.

Wennmannachträglich Bilder entzeichnenmöchte ohne die Kamera oder die Verzeich-nungsparameter zu kennen, könnte man Methoden der blind dedistortion einsetzen. Dazubenötigen wir aber einiges A-priori-Wissen über die Szene im Bild. Wenn z. B. Geradenaufgenommen wurde, sind diese durch die Verzeichnungen als „krumme“ Linien im Bildzu sehen. Man muss nun alle „krummen“ Linien im Bild detektieren, die eigentlich Gera-den sein müssten. Nun fitten wir zunächst an die „krummen“ Linien Kreise. Im nächstenSchritt setzen wir ein Verzeichnungsmodell so an, dass die Kreise zu Geraden entzeichnetwerden und bestimmen mit einem LSE-Schätzer die Verzeichnungsparameter.

Page 370: Bildverarbeitung und Objekterkennung ||

163D-Rekonstruktion

Oft liegen von 3D-Objekten nur die Projektionen vor, d. h. bez. eines bestimmten Ab-bildungsmodelles (z. B. orthografische Projektion, Zentralprojektion usw.) haben wir ein2D-Bild zur Verfügung. Das kann ein Bild von einer Kamera sein, dann sprechen wir vonmonokularer Rekonstruktion. Das können Bilder von zwei Kameras undmehreren Kame-ras sein, dann haben wir ein Stereo-Rekonstruktionsproblem zu lösen. Weiterhin gibt esviele Rekonstruktionsziele: Man kann die absolute Lage des 3D-Objektes in einem Welt-koordinatensystem berechnen oder man berechnet nur die Oberfläche des 3D-Objektes,unabhängig von der Raumlage. Manchmal werden sogar nur einige Maße des 3D-Objektesbenötigt und nicht seine ganzeOberfläche. In derMedizin werden häufig Tomographiebil-der benutzt, dies sind in der Regel vollständige 3D-Grauwert-oder sogar Farbbilder. Diesewerden wiederum aus 2D-Grauwertbildern berechnet, wobei die 2D-Grauwertbilder alsProjektionen der 3D-Bilder aufzufassen sind.

Unabhängig von der konkreten Aufgabe ist auf jeden Fall ein inverses Problem zu lösenund damit i. Allg. ein schwieriges Problem.

16.1 Rekonstruktion aus Projektionen

Eine bekannte Projektionseigenschaft der Fouriertransformation (FT) kann in der medi-zinischen Bildverarbeitung, insbesondere bei der CT (Computer Tomography) ausgenutztwerden. Bei der CT werden senkrecht zu einer Bildebene parallele Röntgenstrahlen durchdas Gewebe geschickt und deren Absorption gemessen. Das theoretische Modell dazunennt man Radontransformation, siehe Abschn. 10.8.5. Aus vielen solchen zueinanderrotierten Bildebenen soll das eigentliche 3D-Bild des Organs erstellt werden. Leider be-steht ein solches 2D-Bild aber nur aus Projektionen der Grauwerte des 3D-Bildes undzwar senkrecht zur Bildebene. Unter Projektion verstehen wir hier die Aufsummierung

363H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_16, © Springer Fachmedien Wiesbaden 2014

Page 371: Bildverarbeitung und Objekterkennung ||

364 16 3D-Rekonstruktion

Abb. 16.1 Rekonstruktion eines 2D-Bildes (oben links) aus einzelnen 1D-Projektionen. Die Ergeb-nisbilder wurden anhand von 1, 4, 16, 32, 64, 128, 256, 512 und 1024 Projektionen erstellt. DasEingabebild ist das head phantom von [66]

der Grauwerte längs eines Röntgenstrahles. Nun soll aber aus diesen Projektionen auf dieeigentliche 3D-Information zurückgerechnet werden und zwar auf die Grauwerte eines3D-Bildes, wie ist das möglich? Exakt mathematisch ist das natürlich nicht möglich, abernäherungsweise und für praktische Anwendungen ausreichend ist es doch möglich.

Der Einfachheit halber reduzieren wir zunächst die Dimension, d. h. der zu rekonstru-ierende 3D-Raumwird zum 2D-Raum, die Projektionsebenen werden zu Projektionsgera-den.

Rekonstruktion nach dem Fourier-Sclice-Theorem Dazu nehmen wir einmal als sim-pelste Projektionsgerade die x-Achse selbst, dann lautet die Projektionsfunktion bezüglichder zu rekonstruierenden 2D-Funktion f (x , y):

g(x) =+∞

∫−∞

f (x , y)dy. (16.1)

Falls f (x , y)wie in der Stochastik eine Dichtefunktion wäre, dann ist g(x) die sogenannteRanddichte. Diese Funktion g(x) kann also durch die Röntgenstrahlen gemessen werden.Die Funktion f (x , y) soll aber aus vielen solchen Funktionen g(x) bezüglich der rotiertenx-Achse berechnet werden. Dazu betrachten wir einmal theoretisch das 2D-Spektrum derFunktion f (x , y) nach (3.59):

α f (ν , ν) =+∞

∫−∞

+∞

∫−∞

f (x , y)e−πi(xν+yν)dxdy. (16.2)

Page 372: Bildverarbeitung und Objekterkennung ||

16.1 Rekonstruktion aus Projektionen 365

Nun betrachtenwir auch die ν-Achse, aber nicht die Projektionen auf dieseAchse, sondernwir „schneiden“ aus dem 2D-Spektrum diese ν-Achsemit den darüberliegenden Spektral-werten als „gedachte Scheibe (slice)“ aus und erhalten damit das eigentliche Fourier-Slice-Theorem:

slice(ν) = α f (ν , ) =+∞

∫−∞

+∞

∫−∞

f (x , y)e−πixνdxdy

=

+∞

∫−∞

⎡⎢⎢⎢⎢⎣

+∞

∫−∞

f (x , y)dy⎤⎥⎥⎥⎥⎦

e−πixνdx =

+∞

∫−∞

g(x)e−πixνdx = αg(ν). (16.3)

Wir können also tatsächlich aus dem 1D-Spektrum αg(ν) der Projektionsfunktion g(x)eine „echte“ Scheibe des tatsächlichen 2D-Spektrums von f (x , y) berechnen. Um das voll-ständige 2D-Spektrum zu berechnen brauchen wir aber viele solcher Scheiben. Dazu ro-tieren wir einmal die Funktion f (x , y), dann wissen wir von (4.203), dass sich das 2D-Spektrum genauso rotiert. Statt die Funktion f (x , y) zu rotieren, ist es aber gedanklichdasselbe, wir rotieren die x-Achse und betrachten die Projektionen senkrecht zu dieserGeraden. Da sich das Spektrum mitrotiert hatte, können wir genauso die Scheibe der ent-sprechend rotierten ν-Achse ausrechnen. Diesen Sachverhalt drückt man am besten inPolarkoordinaten aus. Im Abschn. 10.8.5 wurde die Projektionsfunktion mit I(p, θ) be-zeichnet. Wenn wir betonen wollen, dass wir diese für einen festen Winkel betrachten,schreiben wir Iθ(p). Daher bezeichnen wir das Spektrum mit αθ(r). Wenn wir auch das2D-Spektrum von f in Polarkoordinaten r, θ ausdrücken, dann gilt nach dem Fourier-Slice-Theorem αpol ar(r, θ) = αθ(r).

Zusammenfassung

• Man bilde die Projektionsfunktion I(p, θ) senkrecht zu einer beliebig orientierten Pro-jektionsgeraden, d. h. senkrecht zur Projektionsgeraden werden alle Grauwerte längsder senkrechten Projektionsstrahlen addiert und der Projektionsgeraden an diesemPunkte zugeordnet, siehe Abschn. 10.8.5.

• Man bildet das 1D-Spektrum dieser Projektionsfunktion. Dieses 1D-Spektrum istgleichzeitig der Ausschnitt (slice) aus dem 2D-Spektrum längs einer Geraden, die diegleiche Orientierung hat wie die Projektionsgerade, allerdings muss diese durch denKoordinatenursprung gehen.

• Man erzeuge nun „viele“ slicesdes 2D-Spektrums, interpoliere und transformiere zurückmit der inversen 2D-FT. Damit ist die Funktion f (x , y) näherungsweise berechnet.

Man versucht folglich, das 2D-Spektrum durch eine Vielzahl von 1D-Spektren zu approxi-mieren um es dann zurückzutransformieren. Eine andere Idee hängt auch direkt mit demFourier-Sclice-Theorem zusammen und nennt sich gefilterte Rückprojektion.

Page 373: Bildverarbeitung und Objekterkennung ||

366 16 3D-Rekonstruktion

Rekonstruktion mit der gefilterten Rückprojektion Wir gehen einmal vom 2D Spek-trum α(ν , ν) der Funktion f (x , y) aus (obwohl es nicht gegeben ist):

f (x , y) =∞

∫−∞

∫−∞

α(ν, ν)e+πi(νx+ν y)dνdν . (16.4)

Wir gehen zu Polarkoordinaten mit ν = r cos θ , ν = r sin θ , dνdν = rdrdθ über, folglichwird (16.4) zu:

f (x , y) =π

αpolar(r, θ)e+πir(x cos θ+y sin θ)rdrdθ

=

π

∫−∞

αpolar(r, θ)e+πir(x cos θ+y sin θ)∣r∣drdθ . (16.5)

Wir setzen p = x cos θ + y sin θ und mit

gθ(p) =∞

∫−∞

αpolar(r, θ) ⋅ ∣r∣e+πir pdr =∞

∫−∞

αθ(r) ⋅ ∣r∣e+πir pdr (16.6)

ist:

f (x , y) =π

gθ(p)dθ =

π

gθ(x cos θ + y sin θ)dθ . (16.7)

In (16.6) wird das Spektrum αθ(r) der 1D-Projektionsfunktion mit ∣r∣ multipliziert. Diesbedeutet nach dem Faltungstheorem eine LSI-Filterung der Projektionsfunktion Iθ(p)mitder Funktion α−

∣r∣ (ν). Mit dieser Funktion werden tiefe Frequenzen abgeschwächt und ho-he verstärkt. Falls die Projektionen verrauscht sind, wird damit das Rauschen verstärkt.Folglich haben einige Autoren vorgeschlagen, Filter zu benutzen, bei denen die hohen Fre-quenzen etwas abgeschwächt werden. Diese werden benannt nach Shepp und Logan bzw.Ramachandran und Lakshminarayanan. Formel (16.7) bedeutet praktisch für die Rekon-struktion:

Man wählt ein Pixel (x , y), dann wird der Grauwert f (x , y) durch Summation allergefilterten Projektionen gθ(p) über alle Richtungen θ berechnet.

Die Methode der gefilterten Rückprojektionen lässt auch eine anschauliche Interpreta-tion zu. Wir gehen einmal von den ungefilterten Projektionen I(p, θ) aus. In der Ebene,die mit dem Grauwert Null initialisiert wurde, wird der Wert I für alle (x , y) längs derGeraden p = x cos θ + y sin θ akkumuliert, siehe auch Abschn. 10.8. Wenn wir dies füralle p und θ getan haben, schauen wir uns die Ebene als „Bild“ an und erkennen die Ori-ginalfunktion f (x , y), allerdings sehr „verschmiert“. Diese Verschmierung bewirkt eine

Page 374: Bildverarbeitung und Objekterkennung ||

16.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten 367

Abb. 16.2 a Ungefilterte, b Gefilterte Rückprojektion

Faltung von f (x , y)mit einer Funktion g(x , y). Wir müssen folglich anschließend mit ei-ner inversen Faltung die „Verschmierung“ aufheben. Dies können wir aber bereits schonmit den Projektionen tun, und nicht erst zum Schluss. Die Filterung mit den Projektionenstellt gewissermaßen ein inverse Faltung dar. DieAbb. 16.2 bezieht sich auf dasOriginalbild10.21a und dessen Radontransformierte in Abb. 10.21b. In Abb. 16.2a ist die ungefilterteRückprojektion zu sehen, d. h. aus den Projektionen wird dasOriginal ausschließlich durchAkkumulation erzeugt. In Abb. 16.2b ist die gefilterte Rückprojektion zu sehen, die eine na-hezu perfekte Restauration des Originalbildes 10.21a darstellt.

16.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten

Ohne Kalibrierung von einer oder mehreren Kameras ist natürlich ein Objekt in einemWeltkoordinatensystem nicht zu rekonstruieren.Man kann aber die 3D-Struktur eines Ob-jektes ermitteln, d. h. wir bestimmen 3D-Koordinaten des Objektes, diese sind aber nureindeutig bis auf eine 3D↔ 3D Abbildung. Diese Abbildung ergibt sich aus dem Kamera-modell. Alle Kameramodelle setzen sich aus 3D↔ 3DModellen mit einer anschließendenorthografischen Projektion zusammen.

16.2.1 Weak perspective camera

Die 3D ↔ 3D Transformation besteht jetzt aus einer Ähnlichkeitstransformation. Wirnehmen einmal an, das 3D-Objekt bestehe nur aus vier nichtkomplanaren Punkten

Page 375: Bildverarbeitung und Objekterkennung ||

368 16 3D-Rekonstruktion

x , x , x, x. Wir eliminieren die Translation, indem wir den Koordinatenursprung inden Punkt x legen. Es bezeichne B die Gramsche Matrix:

B =⎛⎜⎝

xT x xT x xT xxT x xT x xT xxT x xT x xT x

⎞⎟⎠. (16.8)

DieseMatrix ist trivialerweise invariant gegenüber Euklidischen Bewegungen, da sich Län-gen undWinkel nicht ändern. Es seien y , y , y, y die Abbilder der vier 3D-Punkte in der2D-Bildebene. Wir setzen ebenso den Koordinatenursprung in den Punkt y und betrach-ten nur noch die restlichen drei Punkte. Es sei nun uT = (y , y , y) der Vektor derx-Koordinaten der drei 2D-Punkte und vT = (y , y , y) der Vektor der y-Koordinatender drei 2D-Punkte. Nunmüssenwir die Abbildung beschreiben, dazu bezeichneR = (ri j)die 3D-Rotationsmatrix und s den Skalierungsfaktor. Weiterhin bezeichne:

X = (x , x , x) → B = XTX, rTi = (ri , ri, ri), i = , , . (16.9)

Dann können wir die beiden Abbildungsgleichungen auch in der Form:

uT = s ⋅ rT X, vT = s ⋅ rTX (16.10)

schreiben. Daher gilt:

rT =suTX− , rT =

svTX− . (16.11)

Jetzt nutzen wir die beiden Orthonormalitätsrelationen rT r = , rT r = rT r aus und er-halten mit der trivialen Hilfsbeziehung X− (X−)

T= (XTX)

−die beiden Gleichungen:

uT(XTX)−v = uT(XTX)−u − vT(XTX)−v = .

(16.12)

Man sieht, in beide Gleichungen geht die inverse GramscheMatrix ein. Die zwei Gleichun-gen aus (16.12) bestimmen die sechs Unbekannten der Gramschen Matrix (eigentlich nurfünf, da wir ein homogenes System vorliegen haben). Daher benötigen wir drei Bilder,dann hätten wir sechs Gleichungen mit den sechs Unbekannten und können die Gram-sche Matrix B bis auf einen Skalierungsfaktor eindeutig berechnen. Dies bedeutet natür-lich, dass wir bei mehreren Bildern genau die Referenzbeziehungen zwischen den Punktenkennen müssen. Ist es nun möglich aus der berechneten GramschenMatrix B die drei 3D-Originalpunkte x , x, x zu berechnen? Da die Gramsche Matrix B invariant gegenüberEuklidischen Bewegungen ist, kann die Lösung nicht eindeutig sein, sondern wir berech-nen irgendeine, die aber zu jeder anderen, die aus dieser mittels Euklidischer Bewegungen

Page 376: Bildverarbeitung und Objekterkennung ||

16.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten 369

hervorgeht, äquivalent ist. Als „irgendeine“ Lösung (wir müssen sozusagen die „Wurzel“aus einer Matrix B = XTX ziehen, gegeben ist B, gesucht ist X) wählen wir diejenige aus,die wir mit dem Cholesky-Verfahren zur Lösung linearer Gleichungssysteme erhalten. Die-se Lösung ist eindeutig und besitzt die Gestalt einer oberen Dreiecksmatrix. Damit ist nunjede Lösung gleichberechtigt, die aus einer Ähnlichkeitstransformation des rekonstruier-ten Dreibeins hervorgeht, denn die GramscheMatrix selbst war nur eindeutig bis auf einenSkalierungsfaktor berechenbar. Mit drei Aufnahmen haben wir folglich (bis auf Skalierun-gen) die Euklidische Struktur des 3D-Objektes berechnet, daher auch der Name structureof motion. Mit der Berechnung der Matrix X haben folglich ein Dreibein (eine Basis) be-rechnet. Jeden weiteren Punkt xi des 3D-Objektes können wir nun leicht berechen. Wirstellen diese Punkte bezüglich der errechneten Basis X dar, also:

xi = (bi)x + (bi)x + (bi)x = Xbi . (16.13)

Bilden wir nun den Punkt xi ab, so erhalten wir die gleichen Beziehungen für die 2D-Punkte:

yi = (bi)y + (bi)y + (bi)y . (16.14)

Allerdings benötigen wir jetzt zwei Bilder für den Punkt xi , da obige Beziehung nur zweiGleichungen für drei Unbekannte darstellt. Damit können die Koordinaten eines jedenPunktes des 3D-Objektes bezüglich der Basis errechnet werden. Wir erinnern aber noch-mals daran, zur Basisbestimmung waren drei Bilder notwendig. Damit ist die 3D-Strukturdes Objektes bestimmt und diese ist bis auf 3D ↔ 3D Ähnlichkeitstransformationen ein-deutig bestimmt.

16.2.2 Affine Kamera

Die 3D ↔ 3D Abbildung besteht jetzt aus einer affinen Transformation. Die Grundideegeht auf J.J. Koenderink und A.J. van Doorn zurück. Wir nutzen dazu die Kenntnis, dassdie Koordinaten bezüglich einer Basis affin invariant sind, siehe Abschn. 14.3.1. Im 3D-Raum sei ein Dreibein, also vier Punkte als Basis gegeben. Damit lässt sich jeder weiterePunkt mit dieser Basis darstellen:

x = x + λ(x − x) + λ(x − x) + λ(x − x). (16.15)

Unterwerfen wir diese Punkte einer 3D↔ 3D affinen Transformation, so gilt:

x′ = x′ + λ(x′ − x)′ + λ(x′ − x′) + λ(x′ − x′). (16.16)

Daher gilt diese Beziehung trivialerweise auch für die Bildpunkte in der Bildebene:

y = y + λ(y − y) + λ(y − y) + λ(y − y). (16.17)

Page 377: Bildverarbeitung und Objekterkennung ||

370 16 3D-Rekonstruktion

Die Beziehung (16.17) stellt zwei Gleichungen mit drei Unbekannten dar, daher brauchenwir zwei Bilder mit den zuhörigen fünf Referenzpunkten und können die Koordinateneines jeden Punktes bezüglich der Basis ausrechnen. Der wesentliche Unterschied zum vo-rigen Modell besteht aber darin, dass wir die 3D-Basis überhaupt nicht mehr bestimmenkönnen, denn vier Punkte im Raum und deren Referenzpunkte bestimmen eindeutig eineaffine Transformation. Daher geben wir uns ein beliebiges Dreibein des uns unbekannten3D-Objektes vor (vier Punkte) und können dann die nach (16.17) berechneten Koordi-naten bezüglich dieses Dreibeins nutzen. Damit haben wir ein spezielles Objekt aus eineraffinen Äquivalenzklasse gewählt, folglich die affine Struktur rekonstruiert.

16.2.3 Pinhole camera

Die 3D ↔ 3D Abbildung besteht jetzt aus einer projektiven Transformation. Da eine pro-jektive Transformation im Raum durch fünf Quell-und Zielpunkte eindeutig bestimmt ist,müssen wir uns fünf Punkte vorgeben um dann einen Repräsentanten aus der projektivenÄquivalenzklasse zu rekonstruieren, um damit die projektive Struktur zu beschreiben. DieIdee dazu geht auf Faugeras (1992) zurück. Dazu gehen wir im Folgenden zu homogenenKoordinaten über und beschreiben das Modell 7 durch die Abbildung:

u = A ⋅ x. (16.18)

Die u sind die Bildpunkte, besitzen also drei Koordianten, die Projektionsmatrix A ist eine( × )-Matrix und die 3D-Punkte x besitzen vier Koordinaten. Im 3D-Raum ist eine 3D↔ 3D projektive Transformation eindeutig durch fünf Quell-und Zielpunkte (wovon kei-ne vier komplanar sein dürfen) beschrieben. Daher seien im 3D-Raum jetzt fünf (Quell-)Punkte xi , i = , , , , gegeben. Die Zielpunkte sind leider nur in der Bildebene gege-ben, dafür nehmen wir aber an, dass zwei Bilder vorliegen und die Referenzen zwischenden Bildpunkten bekannt sind, diese Bildpunkte bezeichnen wir mit ui , ui

′, i = , , , , .Die Idee besteht nun darin, die Projektionsmatrizen beider Kameras durch Kalibrierung zubestimmen, um dann jeden Punkt durch Triangulation rekonstruieren zu können. Da dieKalibrierung nur die projektive 3D-Struktur festlegt, könnenwir beliebige fünf Punkte fest-legen.Wir wählen dazu die sogenannte projektive Standardbasis, also x = (, , , )T , x =(, , , )T , x = (, , , )T , x = (, , , )T , x = (, , , )T . In den beiden Bildebenenbenutzen wir ebenfalls die projektiven Standardbasen,diese bestehen aber jetzt nur aus denjeweils ersten vier Punkten, da wir eine Dimension weniger haben. Aus den fünf Punktengilt es nun die beiden Projektionmatrizen zu berechnen, was wir formal nur für eine tun.

Kalibrierung durch fünf Punkte und die Epipole In homogenen Koordinaten gilt nunfür die ersten vier Punkte:

ρi ui = A ⋅ xi , i = , , , . (16.19)

Page 378: Bildverarbeitung und Objekterkennung ||

16.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten 371

Durch dieWahl der projektiven Standardbasis für dieQuell-und Zielpunkte läßt sich sofortdie Struktur von A durch die ersten vier Punkte ablesen:

A =⎛⎜⎝

ρ ρ ρ ρ ρ ρ

⎞⎟⎠. (16.20)

Nun müssen wir die Abbildung des fünften Punktes mit einbeziehen. Die Koordinaten desfünften Punktes in der Bildebene sind nicht frei wählbar, sie sind durch die Basis eindeutigbestimmt, wir bezeichnen sie mit u = (α , β, γ)T. Die Abbildung:

ρu = A ⋅ x (16.21)

ergibt die Beziehungen

ρα = ρ + ρ, ρβ = ρ + ρ, ργ = ρ + ρ. (16.22)

Wir ersetzen formal μ = ρ, ν = ρ und erhalten die triviale Beziehung:

A = μB + νC (16.23)

mit

B =⎛⎜⎝

α β γ

⎞⎟⎠, C =

⎛⎜⎝

− − −

⎞⎟⎠. (16.24)

Da wir homogene Koordinaten haben, ist die Projektionsmatrix bis auf einen Parameter(und nicht zwei) bekannt. Dies folgt auch daraus, da wir 5 Punkte zur Kalibrierung benut-zen, zur vollständigen Kalibrierung aber 6 Punkte benötigt werden. Analog gilt das gleichefür die zweite Kamera, also:

A′ = μ′B′ + ν′C. (16.25)

Das gegebene Stereopaar ist somit bis auf zwei unbekannte Parameter kalibriert, den Para-meter pro Kamera drücken wir durch die Verhältnisse

λ =μν, λ′ =

μ′

ν′(16.26)

aus. Als nächstes berechnen wir die beiden Projektionszentren der beiden Kameras. VomKameramodell 7 wissen wir, dass sich die Zentren durch

A ⋅ xc = (16.27)

Page 379: Bildverarbeitung und Objekterkennung ||

372 16 3D-Rekonstruktion

berechnen lassen. Durch einsetzen der oben hergeleiteten Form für A ergibt sich:

xc = (

ν − αμ,

ν − βμ

,

ν − γμ,ν)

T

≡ (

− αλ,

− βλ

,

− γλ, )

T

. (16.28)

Identische Ausdrücke erhalten wir für die zweite Kamera:

x′c = (

ν′ − α′μ′,

ν′ − β′μ′

,

ν′ − γ′μ′,ν′)

T

≡ (

− α′λ′,

− β′λ′

,

− γ′λ′, )

T

, (16.29)

die nur noch von den Verhälntnissen abhängen. Verbinden wir die beiden Projektionszen-tren durch eine Gerade, dann heißen die Durchstoßpunkte dieser Geraden durch beidenBildebenen Epipole o und o′, deren Koordinaten wir angeben wollen. Wir benutzen da-zu die bisherige Struktur der Projektionematrizen und berechnen die Koordinaten von o′

durch o′ = A′xc zu:

o′ = (μ′α′ − ν′

ν − μα+ν′

ν,μ′β′ − ν′

ν − μβ+ν′

ν,μ′γ′ − ν′

ν − μγ+ν′

ν)

T

≡ (λ′α′ − λα − λα

,λ′β′ − λβ − λβ

,λ′γ′ − λγ − λγ

)

T

. (16.30)

Analog ergibt sich mit o = Ax′c :

o = (μα − νν′ − μ′α′

+νν′,

μβ − νν′ − μ′β′

+νν′,

μγ − νν′ − μ′γ′

+νν′)

T

≡ (λα − λ′α′

− λ′α′,λβ − λ′β′

− λ′β′,λγ − λ′γ′

− λ′γ′)

T

. (16.31)

Die Koordinaten der Epipole unterliegen gewissen Restriktionen aus der Epipolargeome-trie. So gehen alle Epipolarlinien durch den Epipol, folglich haben wir zwei Büschel vonEpipolarlinien. Es gibt eine 2D → 2D projektive Transformation, so dass beide Büschelineinander überführbar sind. Daher können wir das Doppelverhältnis auf die Geradenbü-schel anwenden, so muss gelten:

[⟨o, u⟩, ⟨o, u⟩, ⟨o, u⟩, ⟨o, u⟩] = [⟨o′ , u′⟩, ⟨o′ , u′⟩, ⟨o

′ , u′⟩, ⟨o′ , u′⟩] (16.32)

[⟨o, u⟩, ⟨o, u⟩, ⟨o, u⟩, ⟨o, u⟩] = [⟨o′ , u′⟩, ⟨o′ , u′⟩, ⟨o

′ , u′⟩, ⟨o′ , u′⟩] . (16.33)

(Die spitzen Klammern sollen nur die Gerade durch zwei Punkte bezeichnen, kein Skalar-produkt.)Wir nehmen jetzt einmal an, dieKoordinaten der beiden Epipole o = [o , o, o]T

Page 380: Bildverarbeitung und Objekterkennung ||

16.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten 373

und o′ = [o′ , o′, o′]T seien bekannt, dann können wir die beiden restlichen Parameter λund λ′ zur eindeutigen Bestimmung der beiden Projektionsmatrizen daraus ausrechnen.Auf Grund der Doppelverhältnisse erhalten wir nur zwei unabhängige Gleichungen anstatteigentlich vier, aus den Koordinaten für o′ erhalten wir z. B.:

o′o′

=λα − λ′α′

λγ − λ′γ′⋅λγ − λα −

,o′o′

=λβ − λ′β′

λγ − λ′γ′⋅λγ − λβ −

. (16.34)

Diese beiden Gleichungen stellen je für sich Kurven zweiter Ordnung dar und die gesuchteLösung sind die Schnittpunkte dieser beider Kurven. Es gibt aber nur eine Lösung, die mitder Epipolargeometrie verträglich ist:

λ =o′T ⋅ (u × u′)

[αo′ , βo′, γo′] ⋅ (u × u′),

λ′ = λ ⋅γo′o′(β − α) + αo′o′(γ − β) + βo′o′(α − γ)γ′o′ o′(β − α) + α′o′o′(γ − β) + β′o′o′(α − γ)

. (16.35)

Wir konnten jetzt die beiden Projektionsmatrizen vollständig berechnen, so dass wir ei-gentlich aus jedem weiteren Referenzpaar den 3D-Punkt rekonstruieren können. Dazuwaren bisher 5 Referenzen notwendig und wir nahmen an, die Koordinaten der Epipoleseien bekannt, worauf wir noch zu sprechen kommen. Zunächst klären wir, wie wir auszwei Referenzen (y, y′) den 3D-Punkt in unserem projektiven Koordinatensystem rekon-struieren können. Dazu bezeichne x

den Schnittpunkt des Sehstrahles ⟨y, xc⟩ mit deruneigentlichen Ebene, daher muss gelten:

y = Ax∞

bzw. y = Ax∞

, x∞

= (x∞

, )T . (16.36)

(A ist die ( × ) linke Untermatrix von A.) Der zu rekonstruierende 3D-Punkt x erfülltdann

x = ξ ⋅ xc + η ⋅ x∞

, (16.37)

woraus η und ξ zu bestimmen sind. Es gilt y′ = A′ ⋅ x und daher:

y′ = ξ ⋅ o′ + ηA′A−y. (16.38)

Aus der Struktur der Projektionsmatrizen sieht man sofort, dass

A′A− =⎛⎜⎜⎜⎝

α′λ′−αλ− β′λ′−

βλ−

γ′λ′−γλ−

⎞⎟⎟⎟⎠

. (16.39)

Page 381: Bildverarbeitung und Objekterkennung ||

374 16 3D-Rekonstruktion

Damit haben wir zur Bestimmung von η und ξ 3 Gleichungen mit 2 Unbekannten gegebenund können diese ausrechnen. Nun können wir den rekonstruierten Punkt darstellen zu:

x = ξ (

λα − ,

λβ −

,

λγ − ,−)

T

+ η(y

λα − ,

yλβ −

,y

λγ − , )

T

. (16.40)

Bestimmung der Epipole Im Folgenden soll erläutert werden, wie man die Koordinatender Epipole bestimmen kann. Mit den Bezeichnungen für die Projektionsmatrizen:

A = (A, a), A′ = (A′ , a′) (16.41)

ergeben sich die Projektionszentren zu:

xc = (A−a−

) , x′c = (A′−a′

−) . (16.42)

Damit ergibt sich der Epipol o′ zu:

o′ = A′xc = A′ ⋅ (A−a−

) = A′A−a − a′. (16.43)

Mit y = Ax∞

bzw. y = Ax∞

ist y′∞

= A′x∞

= A′A−y. Die Epipolarlinie bez. y geht alsodurch die zwei Punkte o′ und y′

. In homogenen Koordinaten ist eine Gerade durch zweiPunkte charakterisiert durch das Kreuzprodukt, also ep′y = o′ × y′

. Der linearen Opera-tion × können wir einen linearen Operator, also eine Matrix O′, zuordnen, für die gilt:

O′ ⋅ x = o′ × x ∀x. (16.44)

Es ist trivial, dass die antisymmetrische Matrix die Form:

O′ =⎛⎜⎝

−o′ +o′+o′ −o′−o′ +o′

⎞⎟⎠

(16.45)

hat. Folglich gilt:

ep′y = o′ × y′∞

= O′ ⋅ y′∞

= O′A′A−y = Fy. (16.46)

Die Matrix F heißt Fundamentalmatrix. Für jeden Punkt y′e p auf der Epipolarlinie ep′y giltdann:

y′Te pFy = , (16.47)

Page 382: Bildverarbeitung und Objekterkennung ||

16.2 Rekonstruktion der 3D-Struktur von polyedrischen Objekten 375

also auch für den Referenzpunkt y′ selbst. Diese Gleichung entspricht der sogenanntenLonguet-HigginsGleichung aus der „motion analysis“. Da die Matrix nur von den Projekti-onsmatrizen und den Epipolen abhängt, gilt diese Beziehung für alle Referenzpunktepaareund ist unabhängig von derWahl der Referenzen. Die Matrix besteht aus neun Unbekann-ten, also eigentlich nur aus acht, daher benötigen wir wenigstens acht Referenzen, um ausdiesen die Matrix F auszurechnen. Die Epipolarlinie ep′y entartet genau dann, wenn ep′yder Nullvektor ist, dies ist aber nur möglich, wenn für den Originalpunkt y = o gilt. Daherkönnen wir nun den Epipol o aus der Beziehung F ⋅ o = o (Nullvektor) berechnen. Ähnlichberechen wir nun die Koordinaten des Epipols o′.

Zusammenfassung Mit wenigstens 8 Punktereferenzen können wir alle Informationenberechnen, die wir für die projektive Rekonstruktion benötigen. Fünf von den acht wählenwir als projektive Basis aus (es muss aber garantiert werden, dass keine 4 von diesen 5 imRaum komplanar sind), dann können die restlichen drei Punkte und jeder weitere Punkt,für den eine Korrespondenzvorliegt, bezüglich der projektiven Basis rekonstruiert werden.

Bemerkung Die acht Referenzen sind aus praktischen Gründen nötig, eigentlich benöti-gen wir nur sieben Referenzen, denn:

Aus den fünf gegebenen Punkten konnten wir die beiden Projektionsmatrizen berech-nen bis auf die beiden Parameter λ und λ′. Da wir auch die Epipole in Abhängigkeit vondiesen beiden Parametern ausgedrückt haben, könnenwir nun letztendlich die Fundamen-tal Matrix F von diesen beiden Parametern ausdrücken, es gilt dann:

F = O′A′A− =⎛⎜⎜⎜⎝

−β′λ′−βλ− ⋅

γ′λ′−γλγλ−

γ′λ′−γλ− ⋅

β′λ′−βλβλ−

α′ λ′−αλ− ⋅

γ′λ′−γλγλ− −

γ′λ′−γλ− ⋅ α′λ′−αλ

αλ−

− α′λ′−αλ− ⋅ β′λ′−βλ

βλ−β′λ′−βλ− ⋅ α′λ′−αλ

αλ−

⎞⎟⎟⎟⎠

. (16.48)

Benutzen wir nun direkt diese Struktur der Matrix, so haben wir nur zwei Unbekannteund benötigen daher nur zwei Referenzen zur Bestimmung dieser beiden Prameter, diesist wie bei der Bestimmung aus den Epipolen ein nichtlineares Gleichungsystem mit zweiUnbekannten. Allerdings dürfenwir nicht zwei von den fünf gegebenen Punkten benutzen,da wir diese ja schon zur Bestimmung der Struktur dieser Matrix benutzt haben, dahermüssen wir uns zusätzlich zwei Referenzen vorgeben, also insgesamt sieben Referenzen,dies ist die eigentliche minimale Information.

Was ist nun eigentlich zu tun?

a) Berechnung bzw. Festlegung aller n Punktereferenzen in beidenBildern,markieren von4 bzw. 5 ausgezeichneten Punktereferenzen. Diese 5 ausgezeichneten Punkte könnennicht trianguliert werden.

Page 383: Bildverarbeitung und Objekterkennung ||

376 16 3D-Rekonstruktion

b) Die ausgezeichneten 4 Punkte in jedem Bild werden auf die projektive Standardbasisabgebildet und daraus eine 2D → 2D projektive Transformation berechnet. Mit dieserwerden alle Punkte transformiert unddie neuenKoordinaten berechnet.Dies geschiehtfür jedes Bild getrennt.

c) Berechnung der Fundamentalmatrix F mit wenigstens 8 Punktereferenzen, wobei dieausgezeichneten 5 Punkte verwendet werden dürfen!

d) Berechnung wenigstens eines Epipoles durch Fo = .e) Berechnung der beiden Unbekannten λ und λ′. Damit sind die beiden Projektionsma-

trizen bestimmt.f) Triangulation aller Punktepaare (bis auf die 5. . . ) bezüglich der 3D-projektiven Stan-

dardbasis.g) Durch A-priori-Wissen über das 3D-Objekt: Bestimmung einer 3D → 3D projektiven

Transformation zur maßstabsgerechten Darstellung des 3D-Objektes.

16.3 Triangulation von Raumpunkten

Gegeben seien k = , , . . . ,K Kameras. Die Abbildungsgleichungen waren:

uk = Akx + a (16.49)

und damit sind die Sehstrahlen durch tk = A−k uk bestimmt. Aus den K Bildpunkten uk

der K Kameras ist durch Triangulation der Raumpunkt p zu bestimmen, dessen Abbilderuk in den K Kameras zu sehen sind. Die Sehstrahlen werden sich im Allgemeinen nicht ineinem Punkt schneiden, da stets Fehler in einer realen Kamera auftreten. Wir betrachtendazu das entsprechende Problem in der Ebene, wo sich im Gegensatz dazu Sehstrahlenimmer schneiden, siehe Abb. 16.3.

Daher muss ein „ausgeglichener“ Raumpunkt ermittelt werden. Dazu sind zwei Strate-gien üblich. Zunächst bestimmen wir den Abstandsvektor dk eines Punktes p von einemSehstrahl xc + λksk mit einem normierten Richtungsvektor sk = tk

∣tk ∣zu:

dk = (p − xc k) × sk . (16.50)

Dieser Vektor hat die Komponenten

dkx = pyskz − pzsk y − (xc)k y skz + (xc)k z sk ydk y = pzsk x − px skz − (xc)k z sk x + (xc)k x sk zdk z = px sk y − pysk x − (xc)k x sk y + (xc)k y sk x .

(16.51)

Nun bestimmen wir den Raumpunkt p derart, dass

K∑k=

(dk)x + (dk)

y + (dk)

z → Minimum (16.52)

Page 384: Bildverarbeitung und Objekterkennung ||

16.3 Triangulation von Raumpunkten 377

Abb. 16.3 a Normale Trian-gulation, b Triangulation mitFehlern

Rauschen

erfüllt ist. Dies ist ein lineares Ausgleichsproblem, wir können daher einfach die Gauß-schen Normalengleichungen aufstellen und den Lösungsvektor ausrechnen. Diese Metho-de nennt man in der Photogrammetrie Vorwärtsschnitt.

Relativ einfach wird der Vorwärtsschnitt, wenn wir nur zwei Kameras zur Verfügunghaben, dann berechnen wir den Raumpunkt

p =(xc) + λt + (xc) + λt

, (16.53)

wobei die beiden Parameter λ und λ aus der Beziehung

d = (r − r) = ((xc) + λt − (xc) − λt) → Minimum (16.54)

bestimmt werden. Die Gaußschen Normalengleichungen sind recht simpel:

(tT t −tT t−tT t tT t

)(λλ) = (

−((xc) − (xc))T t((xc) − (xc))T t

) . (16.55)

Ein völlig anderes Fehlermaß zur Bestimmung eines „ausgeglichenen“ Raumpunktes istder sogenannteRückwärtsschnitt.Dabei suchenwir denjenigen Raumpunkt p, dessen Bild-punkte

u(p)k = Akp + ak (16.56)

Page 385: Bildverarbeitung und Objekterkennung ||

378 16 3D-Rekonstruktion

mit den Beobachtungen uk „möglichst gut“ übereinstimmen, d.h in homogenen Koordi-naten

S(p) =K∑k=

(u(p)k − uk) → Minimum. (16.57)

Nun, dies ist ein schönes Beispiel dafür, wann homogene Koordinaten nicht verwendetwerden dürfen. Beide Vektoren sind nur eindeutig bis auf Faktoren, daher können wir be-liebige Differenzenvektoren erzeugen und die Aufgabe ist nicht korrekt gestellt. Daher sind

wir hier gezwungen zu kartesischenKoordinaten überzugehen. Es bezeichne ξ(p)k =(uk)

(p)

(uk)(p)

,

ξk =(uk)(uk)

, η(p)k =(uk)

(p)

(uk)(p)

, ηk =(uk)(uk)

, dann lösen wir das Ausgleichsproblem

S(p) =K∑k=

(ξ(p)k − ξk) + (η(p)k − ηk) → Minimum. (16.58)

Da die Abhängigkeit von p in Form vonQuotienten gegeben sind, haben wir für den Rück-wärtsschnitt ein nichtlineares Ausgleichsproblem zu lösen. Wir können das System aberwie bei der Kamerakalibrierung linearisieren:

S(p) =K∑k=

(ξk(aT p + a) − (aT p + a))

+K∑k=

(ηk(aT p + a) − (aT p + a)→ Minimum. (16.59)

Dies ist nun wieder ein lineares Ausgleichsproblem, welches mit den Gaußschen Norma-lengleichungen gelöst werden kann.

16.4 Bestimmung der Punktkorrespondenzen

Bisher sind wir immer von der Voraussetzung ausgegangen, dass die Punktkorresponden-zen vorliegen. Diese müssen aber erst bestimmt werden und zwar stabil, mit geringenFehlern und möglichst kleinen Fehlzuordnungen. Dies kann mit oder ohne Hilfsmittelnerfolgen. Hilfsmittel können z. B. Marker oder Projektoren sein, die statistische Muster,Texturen oder ähnliches auf die Oberfläche projizieren. Mit diesen projizierten Mustern istes dann einfacher, die Referenzpunkte zu finden. Nicht immer sind Hilfsmittel einsetzbar,dann müssen die korrespondierenden Punkte, Linien oder Objekte direkt in den beidenBildern gefunden werden. Es ist offensichtlich, dass die Punkte in der Umgebung eine „ge-wisse“ Struktur haben müssen, ansonsten können wir keine Merkmale berechnen, die derkorrespondierende Punkt auch besitzt. Die nächste Frage schließt sich gleich an: welcheUmgebung des Punktes wählt man zur Berechnung der Merkmale? In Abb. 16.4 sind die

Page 386: Bildverarbeitung und Objekterkennung ||

16.4 Bestimmung der Punktkorrespondenzen 379

Detektion interessanterPunkte

Matching von Deskriptorenan den interessanten Punkte

Berechnung der

Deskriptoren

Abb. 16.4 Punktkorrespondenzen – Prinzipskizze

interessanten Punkte die Eckpunkte von Polygonen. Von diesen Eckpunkten müssen nunin beiden Bildern geeignete Merkmale, Deskriptoren genannt, bestimmt werden. Wie be-stimmt man nun die interessanten Punkte (Detektor) und welche Merkmale (Deskriptor)berechnet man? Einige Möglichkeiten werden imAbschn. 19.9 ausführlich besprochen, alstypische Vertreter seien z. B. die SIFT-Merkmale genannt. Bei denMerkmalen ist natürlichzu beachten, dass sie und die Umgebung kovariant bezüglich einer geeigneten geometri-schen Transformation sein sollten. Näherungsweise reichen dazu Ähnlichkeitstransforma-tionen aus. Diese Kovarianz bezüglich Ähnlichkeitstransformationen und der Umgebunggarantieren z. B. die SIFT-Merkmale. Liegen z. B. Punkte auf einer Geraden imRaum, dannkann man auf den Geraden im Bild die Invariante Doppelverhältnis für auf der Geradendetektierte Punkte nutzen. Liegen dagegen Punkte in einer 3D-Ebene, dann existiert eineHomographie zwischen beiden Bildern im Bereich der abgebildeten Ebene. Diese Eigen-schaft kann man natürlich geschickt ausnutzen und zur Korrespondenzfindung projektiveFlächeninvarianten nutzen. Bezüglich der nutzbaren Invarianten siehe die Ausführungenim Abschn. 14.3.1.

Wenn für die Korrespondenzfindung die Kameras kalibriert sind, dann haben wir im-mer eine Grundinformation zur Verfügung: ein Punkt bestimmt in dem anderen Bild eineEpipolarlinie. Der korrespondierende Punkt muss immer auf der Epipolarlinie liegen, sie-he dazu die Epipolargeometrie im Abschn. 14.4. Damit können wir aber den Suchraumdrastisch beschränken.

Nach der Anwendung von Detektoren und Deskriptoren erhalten wir in der Regel fürjedes Bild eine Liste mit detektierten Punkten und deren Deskriptoren. Nun gilt es, Punkt-korrespondenzen aus beiden Listen zu bestimmen, d. h. die eigentliche Zuordnung derPunkte vorzunehmen.Dazuwerden von den beiden ListenMatchingmaße berechnet, sieheAbschn. 19.8.1. Damit beschreibt irgendein Matchingmaß di , j die Ähnlichkeit des Punk-tes i der ersten Liste mit dem Punkt j der zweiten Liste. Mit diesen Matchingmaßen wirdnun durch einen Algorithmus die Zuordnung durchgeführt. Das kann ein einfacher nächs-

Page 387: Bildverarbeitung und Objekterkennung ||

380 16 3D-Rekonstruktion

Abb. 16.5 Punktkorrespondenzen-Ausreißer: small baseline→ wide baseline

ter Nachbaralgorithmus sein (z. B. ICP-Algorithmus) oder ein aufwendigerer Algorithmus,der die Zuordnungskosten minimiert (z. B. Ungarische Methode). Die folgenden prakti-schen Schwierigkeiten treten dabei auf:

• Punkte aus der Liste 1 treten in der Liste 2 womöglich überhaupt nicht auf, siehe dazuAbb. 16.4.

• Punkte aus der Liste 2 treten womöglich auch nicht in der Liste 1 auf.• Die Deskriptoren sind auf Grund von Rauschen, Störungen oder Aufnahmen aus geo-

metrisch „sensitiven Positionen“ falsch berechnet worden. Dies führt auf das Problemder Ausreißer, siehe dazu Abb. 16.5. Insbesondere wenn der Abstand der beiden Projek-tionszentren sehr groß ist, erhöht sich die Wahrscheinlichkeit von Fehlzuordnungen.

Oft besteht auch einwechselseitiger Zusammenhang zwischen Punktkorrespondenzen undKalibrierung der Kameras. Zu Beginn ermittelt man Punktkorrespondenzenund kalibriertdamit die Kameras. Auf Grund der Epipolargeometrie kann man dann „besser“ neue Kor-respondenzen bestimmen. Mit diesen kann man wiederum die Kalibrierung verbessernusw.

16.5 Eine einfache, praktische 3D-Vermessungsaufgabe

Im Zusammenhangmit Punktkorrespondenzen und der Triangulation kannman eine ein-fache, praktische Aufgabe sehr elegant lösen.

Planare Vermessung Zunächst ist naheliegend, ein planares Muster im Bild zu haben,deren metrische Größen man kennt. Die Mindespunktzahl des Muster beträgt vier. Da

Page 388: Bildverarbeitung und Objekterkennung ||

16.5 Eine einfache, praktische 3D-Vermessungsaufgabe 381

Abb. 16.6 PlanaresKalibriermuster:metrisch vermesseneKreidekreuze. aErsteAufnahme,b zweiteAufnahme

man dieses Kalibriermuster einschließlich seiner metrischen Größen kennt, kann man dieMesspunkte desKalibriermusters in einKoordinatensystemeintragen. Bezüglich derMess-punkte im Koordinatensystem und den Bildkoordinaten der Messpunkte berechnet maneineHomographie.Mit dieser Homographie kannman das Bild entzerren. Dies ist aber garnicht nötig, es werden nur die interessierendenMeßpunkte mit der Homographie transfor-miert. Nun kann man alle weiteren Punkte, die in der Ebene des Kalibriermusters liegen,vermessen. Man braucht sie nur mit der Homographie transformieren und die Euklidi-schen Abstände der transformierten Punkte ausrechnen. Dazu wird nur ein einziges Bildvon der Szene benötigt. In Abb. 16.6 sind in zwei verschiedenen Aufnahmen ein Punkt-muster in einer Ebene zu sehen. Die „Ebene“ stellt der asphaltierte Platz dar. Wenn manfolglich die metrischen Abstände der „Kreidekreuze“ kennt, kannman alle weiteren Punk-te in der Ebene vermessen. Die Ebene bedeutet: Man kann nur innerhalb des asphaltiertenPlatzes vermessen und nichts weiter. Allerdings kann man die planaren Muster kaskadie-ren und somit durch meherere Aufnahmen „lange planare Szenen“ vermessen. Es mussnur von Aufnahme zu Aufnahme ein genügend großer Überlappungsbereich garantiertwerden. Mit dieser Methode wurden z. B. Autounfälle durch die Polizei vermessen und re-gistriert. Die Ebene übernimmt dabei die Straße. Abstände können dann allerdings nur inder Ebene der Straße vermessen werden.

Einfache 3D-Vermessung Deshalb ensteht nun die Frage, kannmanmit diesem planarenKalibriermuster auch eine Vermessung von 3D-Punkten durchführen, die nicht in einerEbene liegen?

Die Aufgabe ist tatsächlich lösbar. Wir formulieren sie allgemein:

Mit einer einzigen einfachen, handelsüblichen Kamera sollen simple 3D-Vermessungsaufgabendurchgeführt werden, z. B. die Bestimmung vonAbständen imGelände, die Bestimmung der Grö-ße von Personen, die Bestimmung der Höhe von Bäumen oder Gebäuden, die Vermessung vonachäologischen Fundstellen, die Vermessung von Straßenszenen und vielesmehr. Dabei brauchendie zu vermessenden Punkte (Messpunkte) nicht in einer Ebene liegen.

Page 389: Bildverarbeitung und Objekterkennung ||

382 16 3D-Rekonstruktion

Die Aufgabe wird in folgenden Schritten gelöst:

• Die handelsübliche Kamera sollte keine oder kaum Verzeichnungen erzeugen. Solltedies dennoch der Fall sein, so wird im „Labor“ mit einem Kalibriergitter (siehe Ab-schn. 15.5) das Bild entzeichnet. Hat die Kamera mehrere Brennweiten, so wird eineTabelle erstellt, so dass pro Brennweite die Verzeichnungsparameter eingetragen sind.Bei einer praktischen Bildaufnahne sollte aus demBildfile die Brennweite auslesbar sein,so dass das Bild genau genug laut Tabelle entzeichnet werden kann. Für dieses Problemwird im Internet bereits Software angeboten.

• Im „Labor“ wird nun die Kamera mit der Methode nach Zhang (siehe Abschn. 15.2.2)kalibriert. Es werden aber nur die inneren Parameter bestimmt, d. h. die Kalibrierma-trix K. Hat die Kamera mehrere Brennweiten, so wird wie bei der Verzeichnung verfah-ren, d. h. es wird pro Brennweite kalibriert und in eine Tabelle eingetragen.

• Mit der so kalibriertenKamera gehenwir an denOrt derVermessung.Wir brauchen vonder zu vermessenden Szene zwei Aufnahmen, um mittels korrespondierender Punkteund Triangulation die räumliche Entfernung zweier 3D-Messpunkte auszurechnen.

• Dazu müssen wir aber vor Ort die äußeren Kameraparameter kalibrieren. Dazu sindlaut Abschn. 15.2.2 nur vier Punkte eines planaren Kalibriermusters nötig. Wir könnendazu natürliche Objekte nutzen, z. B. ein Rechteck eines Gebäudeteiles, von dem wirallerdings genau die Seitenlängen kennen müssen oder eine Bodenplatte, deren Maßewir vor Ort bestimmen müssen, ähnlich zu Abb. 16.6. Ist nichts dergleichen vorhanden,bauenwir uns voher einQuadrat oder Rechteck aus einfachenMaterialenmit bekanntenMaßen und legen dieses in die Szene.

• Von der zu vermessenden Szenemit diesem planaren Kalibriermuster machen wir zweiAufnahmenmit einer geeignet zu wählenden baseline.

• Nun können wir wieder ins Büro gehen und in Ruhe am Computer die Vermessungdurchführen.

• Zunächst kalibrieren wir die äußeren Kameraparameter indem wir in beiden Bilderndie (mindestens) vier korrespondierenden Referenzpunkte des planaren Kalibriermus-ters bestimmen. Dies kann interaktiv geschehen mit einer gewissen Nachbehandlungim Sinne einer Genauigkeitsverbesserung.

• Jetzt kann die Kamera aus beiden Aufnahmepositionen heraus vollständig kalibriertwerden. Da wir die metrischen Größen des planaren Kalibriermusters kennen, so istdie Maßeinheit imWeltkoordinatensystem eindeutig festgelegt.

• Der letzte Schritt ist nun die eigentliche Vermessung. Wir bestimmen von zwei zu ver-messenden 3D-Punkten interaktiv (vielleicht mit einer automtischen Nachbesserung)die korrespondierenden Punkte in beiden Bildern und können durch Triangulation dieEntfernung berechnen.

• Wenn man einige Punkte vermessen hat, dann kann man das Wissen über diese kor-respondierenden Punkte nutzen, um die äußere Kalibrierung weiter zu verbessern imSinne einer höheren Genauigkeit.

Page 390: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 383

• Der entscheidende Vorteil dieses simplen 3D-Vermessungsverfahrens ist, dass man vorOrt nur zwei Aufnahmen mit einem einfachen, in die Szene zu integrierenden, plana-ren Kalibriermuster braucht. Der „Rest“ kann alles im Büro oder nachträglich erfolgen.Manmuss allerdings beachten, dassmannur diejenigen 3D-Punkte vermessen kann, dieauch als korrespondierendePunkte in beidenBildern zu sehen sind, siehe z. B. Abb. 16.6.

16.6 Aktives Sehen

Aktives Sehen bedeutet, dass man nicht nur mit zwei oder mehreren Kameras durch Tri-angulation die 3D-Oberfläche berechnet, sondern man hat zusätzlich noch Hilfsmittelzur Verfügung. Diese Hilfsmittel können Projektoren oder andere Beleuchtungshilfsmittelsein.

16.6.1 Projektion von Lichtstrahlen

Die einfachste Art der Triangulation mit einem Hilfsmittel geschieht dadurch, dass einLichtprojektor einen Lichtstrahl in die Szene projiziert. Der daraus resultierende Licht-fleck auf der Oberfläche wird von einer Kamera aufgenommen und als Bildpunkt im Bildidentifiziert. Bei kalibrierter Kamera kann der Sehstrahl berechnet werden. Ist die Lagedes Projektors (die Koordinaten der punktförmigen Lichtquelle) bekannt und der Rich-tungsvektor des Lichtstrahls auch bekannt, so kann durch Triangulation der 3D-Punkt imWeltkoordinatensystem berechnet werden. Als Lichtquelle wird häufig eine LaserdiodemitKollimatoroptik verwendet. Pro Lichtpunkt muss ein Bild aufgenommen werden und derLichtstrahl muss zweidimensional ablenkbar sein, was einen enormen Aufwand bedeutet.

16.6.2 Projektionmit Lichtebenen

Grundidee ist es zunächst eine „ideale“ Lichtebene zu projizieren. ImBild „sieht“man danneine Linie der Lichtebene. VomProjektor hermuss nun imWeltkoordinatensystem wiederdie Lage des Projektors und der Normalenvektor der Lichtebene bekannt sein. Dann kannfolgendermaßen trianguliert werden:

Man sucht einen Bildpunkt auf der beleuchteten Linie im Bild und berechnet denSchnittpunkt des von diesem Punkte ausgehenden Sehstrahles und der Lichtebene. DerSchnittpunkt muss „zumindestens theoretisch“ ein Oberflächenpunkt des zu vermessen-den 3D-Objektes sein. Nun verfolgen wir die beleuchtete Linie im Bild und suchen aufder Linie den nächsten Punkt, triangulieren wieder usw. bis alle Bildpunkte dieser Linieverarbeitet wurden. Somit haben wir mit einem Bild alle 3D-Punkte rekonstruiert, diemit dieser Lichtebene beleuchtet wurden. Dies tun wir nun für alle weiteren Lichtebenen

Page 391: Bildverarbeitung und Objekterkennung ||

384 16 3D-Rekonstruktion

des Projektors. Wir brauchen also genauso viele Bilder wie Lichtebenen. Dieses Verfahrenwird oft als Profil oder Linienmessung bezeichnet, oft auch als Lichtschnittverfahren.

16.6.3 Codierter Lichtansatz (Coded Light Approach)

Die Grundidee zur Beschleunigung des Lichtebenen-Ansatzes geht auf Altschuler (1979)zurück und wurde vonWahl (1984) [87] wesentlich erweitert und verbessert.

Wir wollen alle Lichtebenen gleichzeitig in das Bild projizieren und pro Bildpunkt dierichtige Ebene identifizieren. Bei einer sehr geringen Anzahl von Lichtebenen gelingt dasauch, dann ist aber die Auflösung zu gering. Vielleicht gelingt uns ein Kompromiss zwi-schen „alle Ebenen einzeln nacheinander projizieren“ und „alle Ebenen gleichzeitig proji-zieren“.

Da es aber technisch schwierig ist, viele Lichtebenen gleichzeitig zu projizieren und imBild zu detektieren, gehen wir „dual“ vor:Wir projizieren helle und dunkle Streifen und dieidealen Lichtebenen sind die Hell/Dunkel-Übergänge. Wir stellen uns einmal vor, ein Pro-jektor hat ein Streifengitter, und jeder Streifen ist elektronisch ansteuerbar, kann folglichgeöffnet oder geschlossen werden. Durch die Beleuchtung des Projektors (Zentralprojekti-on) entstehen helle oder dunkle Streifen auf der Oberfläche des 3D-Objektes, je nachdemob ein Streifen geöffnet oder geschlossen ist, siehe Abb. 16.7. Dort sieht man im schraffier-ten Bereich, wie dadurch die Oberfläche hell angestrahlt wird oder dunkel eingestellt wird.Jeder Beleuchtungssektor hat damit einen binärenZustand, er ist hell oder dunkel.Wir kön-nen mit log(n) Mustern, d. h. mit log(n) Bildern für jedes einzelne Pixel entscheiden,welches von den n verschiedenen Beleuchtungssektoren (entsprechen den Gitterstreifendes Projektors) das Pixel „getroffen“ hat. Zur Einfachheit demonstrieren wir dies am Bei-spiel eines Projektors mit nur acht Gitterstreifen. Dazu schreiben wir die acht Binärzahlenals Spalten in eine Matrix:

. (16.60)

Da die Spalten die Zustände der Gitterstreifen des Projektors darstellen, sehen wir, dass dieDualzahlen der Spalten genau die Gitterstreifen durchnummerieren. Wir beleuchten alsodas Objekt dreimal, wobei jeder Gitterstreifen entsprechend der Zeile unserer Matrix mit1 oder 0 belegt ist, ob er geöffnet oder geschlossen ist. Wir brauchen also nur drei Bilderund können eindeutig jedem Pixel einen der acht Kodes (Spalten der Matrix) zuordnen.Da der Kode der direkten Dualzahl entspricht, können wir die Nummer des Gitterstrei-fens ablesen. Bei 256 Gitterstreifen des Projektors brauchen wir also nur acht Muster zuprojizieren.

Probleme gibt es nun zu entscheiden, ob ein Pixel beleuchtet gewesen ist. Hier müssensinnvolle lokale Binarisierungsstrategien eingesetzt werden. Außerdem können Pixel im

Page 392: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 385

Projektionszentrum

Oberfläche

steuerbares

Gitter

x

Abb. 16.7 Projektionsanordnung beim codierten Lichtansatz

„Schatten“ liegen, diese Pixel müssen a priori durch Beleuchtungsversuche „markiert“ bzw.ausgeschlossen werden.

Wird nun einmal bei einem Pixel eine Hell/dunkel-Entscheidung falsch getroffen, sowird bei der Zuordnung zur Lichtebene ein grober Fehler begangen. Befindet sich das Pixelin einem homogen beleuchteten Gebiet des Bildes, z. B. in der Umgebung des Pixels ist allesdunkel oder alles hell, so ist es zumindestens sehr unwahrscheinlich, dass wir eine falscheEntscheidung treffen. Befindet sich das Pixel aber in einem Übergangsbereich zwischenhell und dunkel, d. h. ein Beleuchtungssektor geht in einen anderen über, dann werdenwir oft die falsche Entscheidung treffen. Genau diese Übergänge bestimmen aber geradedie Lichtebenen, die wir zur Rekonstruktion benötigen. Daher ist es günstiger, die SpaltenunsererMatrix mit demGray-Kode zu kodieren. Der Gray-Kode benachbarter Kodewörterunterscheidet sich stets genau um ein Bit. Ein 3-Bit Gray-Kode sieht z. B. so aus

. (16.61)

Ein Kode-Wort der Länge n des Binärkodes bestehe aus den Bits bb . . . bn und das zuge-hörige Kodewort des Gray-Kodes aus den Bits gg . . . gn . Dann gilt die Bijektion:

bi = g + g + ⋅ ⋅ ⋅ + gi (mod ) (16.62)

gi = bi− + bi (mod ). (16.63)

Page 393: Bildverarbeitung und Objekterkennung ||

386 16 3D-Rekonstruktion

Abb. 16.8 Projektion nachdem Gray-Kode

Wir sehen, die Gitterstreifen werden anders belegt als die binär-kodierten Gitterstreifen.Wird bei einem Bit im Übergangsbereich ein Detektions-Fehler begangen, ändert sichdie Nummer des Gitterstreifens nur um eine Einheit, der Rekonstruktions-Fehler wirddadurch minimiert. Wird dagegen ein Detektions-Fehler begangen, der nicht im Über-gangsbereich liegt, dann erhalten wir eine völlig falsche Streifennummer. Aber diese ArtDetektions-Fehler sind sehr unwahrscheinlich und für die folgende Bildverarbeitung auchunwesentlich. Wie wird nun die 3D-Oberfläche rekonstruiert? Wir nehmen nun an, füralle Pixel im 2D-Bild haben wir die Entscheidung getroffen, zu welcher Lichtebene es ge-hört. Für Punkte innerhalb eines solchen Sektors (siehe Abb. 16.7, die gestrichelte Linie)kennen wir den Punkt x nicht und können demnach nicht die mathematische Ebene be-stimmen, um den Schnittpunkt des Sehstrahles bezüglich einer Kamera mit dieser Ebenezu berechnen. Wir können aber im 2D-Bild die Übergänge zum nächsten Sektor berech-nen, wenn Pixel von unbeleuchtet zu beleuchtet oder umgekehrt wechseln. Wenn wir z. B.einen Projektor mit acht Gitterstreifen haben, dann würde jedes Pixel eine Nummer voneins bis acht erhalten. Dieses nummerierte Bild segmentieren wir nun, wir müssen folglichdie Segmentgrenzen finden. Diese Segmentgrenzen müssen wir sogar durch Interpolationim Subpixelbereich bestimmen. Einem berechneten Segment-(Sub)Pixel können wir aberauf der Gittergeraden denjenigen Punkt zuordnen, der das Ende eines Gitterelementesmarkiert bzw. den Anfang des nächsten Elementes markiert (durch die nichtgestrichel-ten Linien dargestellt). Die Genauigkeit (besser die Auflösung) der 3D-Rekonstruktionhängt damit von der Anzahl der Gitterstreifen des Projektors ab, die „Dicke“ des Beleuch-tungssektors bestimmt die Auflösung, siehe Abb. 16.7. Da der Projektor aus technischenGründen nicht zu viele Streifen projizieren kann, benötigt man eine weitere Idee, um in-nerhalb der „Dicke“ eines Beleuchtungssektors weitere 3D-Punkte berechnen zu können.Wie in Abb. 16.7 zu sehen ist, benötigt man den Schnittpunkt x der gestrichelten Linie

Page 394: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 387

mit der Projektor-Gitterlinie. Dazu dient das sogenannte Phasenshift-Verfahren, welches inAbschn. 16.6.5 näher vorgestellt wird.

16.6.4 Moire-Technik

Die Moire-Technik ist eine Rekonstruktionsmethode, die der Optik und Messtechnik ent-nommen wurde. Mittels strukturiertem Licht werden Tiefeninformationen gewonnen. Inder Abb. 16.9 ist eine Prinzipskizze zu sehen. EineObjektoberflächewird durch eine punkt-förmige Lichtquelle beleuchtet und durch eine Kamera auf eine Bildebene abgebildet. Da-bei ist das Koordinatensystem so orientiert, dass die optische Achse der Kamera mit derz-Achse übereinstimmt und Kamera bzw. Lichtquelle die gleiche (negative) z-KoordinatezK = zL = l besitzen. Es ist K = (, , l) der Ort des Brennpunktes der Kamera undL = (d , , l) der Ort der Lichtquelle. Ein Oberflächenpunkt S = (x , y, z)wird in den PunktB = (xB , yB) der Bildebene abgebildet, wobei folgende Beziehungen gelten:

xBx

=f

z − l,

yBy

=f

z − l. (16.64)

Hier ist f die Brennweite der Kamera. Die entscheidende Idee ist nun, in die x-y-Ebene einperiodisches Streifengitter zu legen, dessen Streifen parallel zur y-Achse verlaufen sollen.Wieviel Licht der jeweilige Oberflächenpunkt S von der Lichtquelle erhält, hängt ab vonder Lage des Punktes P = (xP , yP , ) in der Gitterebene. Es gilt:

d − xP−l

=d − xz − l

,yP−l

=y

z − l. (16.65)

Für die Koordinaten des anderen Punktes gilt Analoges:

xQ−l

=x

z − l,

yQ−l

=y

z − l. (16.66)

Es sei nun h(x) die „Durchlässigkeit“ des Gitters an der Stelle x. Dann wird die Helligkeitg(xB , yB) des Bildpunktes durch das Produkt:

h(xQ) ⋅ h(xP) = h (−l xz − l

) ⋅ h (d +l(d − x)z − l

)

= h⎛⎜⎝

−l xB(z−l)f

z − l

⎞⎟⎠⋅ h

⎛⎜⎝d +

l(d − xB(z−l)f )

z − l

⎞⎟⎠

(16.67)

charakterisiert. Diese Formel lässt sich weiter zu:

h (−l ⋅ xB

f) ⋅ h (

d ⋅ zz − l

−l ⋅ xBf

) (16.68)

vereinfachen. Daraus folgt, dass g(xB , yB) bei fester Abbildungsgeometrie lediglich eineFunktion der „Tiefe“ z des in B abgebildeten Oberflächenpunktes S ist.

Page 395: Bildverarbeitung und Objekterkennung ||

388 16 3D-Rekonstruktion

L Lichtquelle

Bildebene

Kameraf

l

K

S

Q Px

z

d

Gitterebene

Objektoberfläche

Abb. 16.9 Moire – Prinzipskizze

Nun wollen wir die Gitterfunktion weiter untersuchen. Das Gitter ist eine periodischeFunktion mit der gegebenen Periode X. Dabei spielt es aber für den Abbildungsprozesseine wichtige Rolle, welche Verschiebung eine periodische Funktion bezüglich des Koor-dinatenursprungs aufweist. Der Lichtdurchgang wird sicher ein anderer sein, wenn mandasselbe Gitter verschiebt. Daher modellieren wir unsere Funktion h(x) als Verschiebungder eigentlich periodischen Funktion f (x):

h(x) = f (x + v), Verschiebung v , Periode X . (16.69)

Wir bezeichnen im Folgenden:

xP − xQ = Δx , xP = xQ + Δx . (16.70)

Es ist (bis auf einen konstanten Faktor):

g(xb , yB) ∝ h(xQ) ⋅ h(xP) = h(xQ) ⋅ h(xQ + Δx)= f (xQ + v) ⋅ f (xQ + v + Δx) (16.71)

Nun integrieren wir diesen Ausdruck bezüglich der Verschiebungen v über eine Periodeund erhalten:

I =X

f (xQ + v) ⋅ f (xQ + v + Δx)dv =

X

f (Δx + v) f (v)dv

= ( f ○ f )(Δx) = I(Δx). (16.72)

Page 396: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 389

Das Symbol ○ ist eine Notation für die Kreuzkorrelation zweier Funktionen f , g:

( f ○ g)(t) =X

f (ξ + t)g(ξ)dξ, (16.73)

siehe auch Abschn. 2.1.2. Damit ist obiger Ausdruck ( f ○ f )(Δx) die Autokorrelations-funktion von f bzw. h an der Stelle Δx. Die Autokorrelationsfunktion ist selbst wiederperiodisch mit der Periode X und hat ihr Maximum bei t = . Suchen wir, z. B. Stellenmaximaler Helligkeit im Bild, dann können wir setzen:

Δx = + j ⋅ X , j ∈ Z. (16.74)

Da aber

xP − xQ = Δx =d ⋅ zz − l

(16.75)

ist, ergibt sich:

d ⋅ zz − l

= j ⋅ X . (16.76)

Praktisch heißt dies: Wir haben bei der Bildermittlung eine Integration (Summation) überVerschiebungen des Gitters vorzunehmen. ImMoire-Bild suchen wir dann „Streifen“. AllePunkte mit höchster Intensität auf einem „Streifen“ besitzen dann die gleiche Tiefe, sindfolglich Isolinien. Die „Nachbarstreifen“ sind dann der nächst „höheren“ oder „niederen“Periode j zuzuordnen. Diese Zuordnung funktioniert aber nur auf der mathematischenAnnahme einer stetigen Abbildung und dass „benachbarte Streifen“ eine benachbarteNummer aufweisen. Das wird sicher bei schönen glatten „Freiformobjekten“ funktionie-ren, aber bei Körpern mit abrupten Übergängen führt das zu Problemen. Dies nennt manallgemein phase-unwrapping. Außerdem kann man nur eine relative Tiefenkarte erstellen,für absolute Werte müssten wir wenigstens die absolute Tiefe eines Streifens kennen. Einweiterer Nachteil ist der Abstand der Isolinien, so dass wir nur eine geringe Auflösung der3D-Rekonstruktion erhalten. Dies führt wieder zu aufwendigen Interpolationsmethodenzwischen den Isolinien.

Es gibt eine Reihe von modifizierten Moire-Verfahren in der Literatur. Zum Beispiel istes einfach möglich, für die Gitter von Kamera und Beleuchtung zwei verschiedene Gittermit der gleichen Periode zu benutzen. Dann geht unsere Autokorrelationsfunktion ein-fach in die Kreuzkorrelation über und alle wesentlichen Eigenschaften bleiben erhalten.Um die Struktur der Streifen besser zu verstehen, benutzen wir die Fouriertransformationvon h(x):

h(x) =∞

∑n=−∞

αneπinx−vX . (16.77)

Page 397: Bildverarbeitung und Objekterkennung ||

390 16 3D-Rekonstruktion

Dann ist:

h(xP) ⋅ h(xQ) = ∑n∑mαnαmeπin

xP−vX ⋅ e−πim

xQ−vX .

= ∑n∑mαnαmeπi(n

xPX −m

xQX ) ⋅ eπi(m

vX −n

vX ) . (16.78)

Der zweite e-Term ist eins für m = n. Integrieren wir diesen Ausdruck bezüglich v übereine Periode X, dann ist dieser Ausdruck identisch Null für m ≠ n. Für m = n ist dies eineKonstante, sodass wir für I(Δx) den Ausdruck:

I(Δx) =∞

∑n=−∞

αne

πinX Δx (16.79)

als Fourierdarstellung erhalten. Das Ergebnis ist eigentlich trivial: Wir wissen doch ohne-hin, dass das Leistungsspektrum von f identisch mit dem Spektrum der Autokorrelations-funktion ist.

16.6.5 Phasenshift-Verfahren

Die Idee des Phasenshift-Verfahrens ist lange bekannt. Forschungs- und Entwicklungsar-beiten sowie die praxisreife Einführung in der industriellen Inspektion gehen vor allem aufeine Gruppe am Fraunhofer-Institut in Jena zurück, stellvertretend sei [44] genannt.

Wir stellen uns ein ideales Liniengitter vor (alle Linien haben eine gleiche „Breite“)und schicken Licht mit einem Projektor (Zentralprojektion) durch dieses Gitter. Wenn wirdas Intensitätsprofil bezogen auf diese Gitterlinien ansehen, dann sehen wir im Idealfalleine Rechteckfunktion: dort wo das Gitter undurchlässig ist, ist es dunkel und dort, woes durchlässig ist, ist es hell. Wir legen also eine x-Achse senkrecht zu den Gitterlinienauf das Liniengitter und betrachten die Intensitätsfunktion (Helligkeitsfunktion) über die-ser x-Achse. Bezüglich der Intensität bedeute Imin die minimale (z. B. dunkel) und Imax

die maximale (z. B. hell) Intensität bezogen auf die ideale Rechteckfunktion. Diese Recht-eckfunktion hat nun die Periode X, dies ist die „Breite“ von zwei Linien. Nun wird dasGitter mittels eines (Zentralprojektion) Projektors auf die Oberfläche eines Objektes proji-ziert und mit einer (pinhole) Kamera aufgenommen. Von der Kamera aus beobachten wirein Pixel, dessen Sehstrahl wir infolge der Kamerakalibrierung imWeltkoordinatensystemberechnen können. Nun müssen wir nur noch für das Pixel berechnen, von welcher idea-len Lichtebene dieser beleuchtete Punkt stammt. Unter einer idealen Lichtebene verstehenwir eine Ebene, die die x-Achse des Liniengitters schneidet und senkrecht auf dieser x-Achse steht. Wenn der Projektor einschließlich dieser x-Achse im Weltkoordinatensystembezüglich der Kamera kalibriert ist, dann kann man durch Triangulation den 3D-Punktberechnen (Schnittpunkt einer Geraden mit einer Ebene).

Betrachtenwirwieder die ideale Rechteckfunktion.Diese könnenwir in eine Fourierrei-he entwickeln, siehe (4.92). Durch Beugung und andere optische Effekte ist diese Funktion

Page 398: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 391

bandbegrenzt, d. h. die Fourierreihe enthält nur die ersten nGlieder. Durch bewusstes „Un-scharfmachen“ mit dem Projektor (z. B. Defokussieren, Schlitzblende usw.) kann man dieBandbegrenzung soweit treiben, dass die Reihe nur noch die beiden ersten Summandenenthält. Moderne Projektoren können elektronisch angesteuert werden, sodass man belie-bige Gitter direkt erzeugen kann. Dadurch erzeugen wir bewusst einen idealen Tiefpassoder erzeugen direkt eine „( + cos x)“-Funktion:

f (x) =(Imax + Imin) +

π(Imax − Imin) cos (π

xX). (16.80)

Mit den Abkürzungen

φ = πxX, M =

Imax − Imin

Imax + Imin, H =

Imax + Imin

(16.81)

ergibt sich (16.80) zu:

g(φ) = f (φXπ

) = H ⋅ ( +πM cosφ) . (16.82)

Wir nehmen einmal an, in einem Pixel könnten wir die tatsächliche Lichtintensität g einesLichtstrahles messen, der vom Projektor durch dieses Liniengitter geht, siehe Abb. 16.7 diegestrichelte Linie. Dann wollen wir in einem Pixel von der Intensität g(x) auf die soge-nannte Phase x schließen, d. h. den Ort der Lichtebene auf der x-Achse im Liniengitter.Dies ist so aber nicht möglich, da wir eine Gleichung und die drei Unbekannten φ,M ,Hhaben. Wir haben allgemein ein mathematisches Problem der Form

g(x) = a + b ⋅ f (x) (16.83)

gegeben, wobei die Funktion f und der Funktionswert g(x) gegeben sind. VomFunktions-wert g(x) ausgehend suchen wir folglich das Argument x und müssen daher ein inversesProblem lösen. Zusätzlich wird das inverse Problem noch etwas schwieriger, weil die Grö-ßen a und b unbekannt sind. Aus einer Gleichung können wir aber nicht drei Unbekannteausrechnen, wir benötigen noch mindestens zwei Gleichungen. Daher messen wir g nochzusätzlich, wenn wir f verschieben, dabei sind die Verschiebungen x und x bekannt:

g(x) = a + b ⋅ f (x)g(x + x) = a + b ⋅ f (x + x)g(x + x) = a + b ⋅ f (x + x). (16.84)

Damit haben wir ein nichtlineares Gleichungssystem mit drei Gleichungen und drei Un-bekannten x , a, b. Wir nehmen an, dieses sei eindeutig lösbar. Die eindeutige Lösbarkeithängt sicher vom Funktionstyp f ab. Wählen wir z. B. eine lineare Funktion f (x) = x,

Page 399: Bildverarbeitung und Objekterkennung ||

392 16 3D-Rekonstruktion

dann ist die eindeutige Lösbarkeit nicht gegeben. Wählen wir z. B. f (x) = cos x oderf (x) = sin x, dann lässt sich dieses Gleichungssystem eindeutig lösen. Nun kehren wirwieder zur Notation (16.82) zurück. Wir benötigen folglich mindestens drei verschiedeneAufnahmen mit einem verschobenen Liniengitter, folglich wird (16.82) zu:

gα = g(φ + α) = H ( +πM cos(φ + α)) . (16.85)

Aus Stabilitätsgründen wählen wir für α eine äquidistante Unterteilung der Periode π, diedrei Werte bezeichnen wir mit α, α , α. Aus (16.85) erhalten wir dann drei Gleichungen,die wir nach den Unbekannten auflösen:

H =(gα + gα + gα),

M =√gα

+ gα+ gα

− gα(gα + gα) − gα gα

gα − gα + gα

φ = arctan(√

gα − gα

gα − gα − gα

).

(16.86)

Die nächste und wichtigste Frage ist nun, woher bekommen wir die Helligkeitswerte gα?Der GrauwertGα in einem Pixel unterscheidet sich doch von diesemHelligkeitswert durchReflexionen, Absorptionen und anderen Beleuchtungseinflüssen.Wir können aber als ein-faches Modell Gα = c ⋅ gα mit einem unbekannten Faktor c annehmen. Da uns in (16.86)nur die Phase φ interessiert, sehen wir, dass sich dieser unbekannte Faktor c kürzt. Damitist die Phase φ invariant gegenüber c und damit können wir auch tatsächlich den GrauwertGα anstatt dem unbekannten Helligkeitswert gα benutzen.

Da wir ein inverses Problem bezüglich einer periodischen Funktion cos x gelöst haben,kann die Lösung natürlich nur eindeutig innerhalb der Periode X sein. Da die Amplitudeund der Gleichanteil (beide Größen M und H) unabhängig von der Wahl der Periode Xsind, wird gα immer „flacher“, je größer X wird, d. h. die Kosinusfunktion bekommt im-mer kleiner werdende Anstiege. Da wir aber ein inverses Problem zu lösen haben, wird beiVariation des Funktionswertes die Variation des Argumentes immer größer, damit steigtder Fehler der Phase drastisch an, wenn die Grauwerte mit leichten Fehlern bestimmt wer-den. Folglich müssen wir die Periode möglichst klein halten, andererseits ist die Lösungaber nur eindeutig in dieser Periode und wir können nicht die Phase absolut auf der x-Achse des Projektors bestimmen. Daher kombiniert man das Phasenshift-Verfahren mitdem kodierten Lichtansatz. In Abb. 16.7 erkennt man, wie die Periode zu wählen ist. Derkonkrete periodische Abschnitt (Anfang und Ende dieses Abschnittes) kann mit dem ko-dierten Lichtansatz absolut auf der x-Achse bestimmt werden. In der Praxis werden häufigstatt drei Projektionen vier Projektionen benutzt. In Abb. 16.10 sind die ersten beiden Auf-nahmen mit einem phasenverschobenem sinusförmigen Gitter zu sehen.

Page 400: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 393

Abb. 16.10 Phasenshiftverfahren: a Projektion sinusförmiges Muster, b sinusförmiges Muster istgegenüber demMuster in a phasenverschoben

16.6.6 Profilometrie

Das Vermessen von 3D-Oberflächen mit gewissen Glattheitsforderungen wird oft ganzallgemein als Profilometrie bezeichnet. Je nach Art der verwendeten Technik gibt esverschiedene Bezeichnungen, z. B. Moire-Profilometrie, optische Profilometrie, Phasen-Profilometrie und Profilometrie basierend auf der Fouriertransformation. Im Folgendensoll kurz die Idee der Profilometrie basierend auf der Fouriertransformation (FTP–Fouriertransform profilometry) erläutert werden. Beim Phasenshift-Verfahren wird ein sinusför-miges Gitter auf die Oberfläche projiziert. Man benötigt aber mindestens drei Aufnahmen,kann dann aber sehr genau rekonstruieren. Für bewegte Objekte ist dies aber ungeeignet.Es ensteht dann automatisch die Fragestellung, ob man nicht mit einem Bild eine 3D-Rekonstruktion durchführen kann. Dies ist tatsächlich möglich, d. h. allein aus dem Bildin Abb. 16.10a kann eine 3D-Rekonstruktion erfolgen. Natürlich wird es einige drastischeEinschränkungen und Bedingungen geben.

Wir nehmen folglich an, ein Objekt werde wie in Abb. 16.10a durch ein sinusförmi-ges Gitter beleuchtet. Die „( + cos x)“-Funktion aus (16.80) wird dann als Grauwertbildf (x , y) ortsabhängig beschrieben:

f (x , y) = a(x , y) + b(x , y) cos (Δφ(x , y)) = a(x , y) + c(x , y) + c(x , y)

c(x , y) =b(x , y)e iΔφ(x ,y) . (16.87)

In a(x , y) und b(x , y) sind Beleuchtungsänderungen und Reflexionsverhalten enthal-ten während Δφ(x , y) als Phase die Deformation des sinusförmigen Gitters beschreibt.

Page 401: Bildverarbeitung und Objekterkennung ||

394 16 3D-Rekonstruktion

Ausschließlich in dieser Deformation und damit in dieser Phase Δφ(x , y) ist die 3D-Tiefeninformation enthalten. Man muss demzufolge aus der Grauwertfunktion f (x , y)die Phase Δφ(x , y) berechnen können. Dazu bilden wir das Fourier-Integralspektrum derGrauwertfunktion f (x , y):

α f (u, v) = αa(u, v) + αc(u, v) + αc(u, v). (16.88)

Wenn wir aus dem Spektrum α f (u, v) das Spektrum αc(u, v) selektieren könnten, dannwürden wir dieses mit der inversen Fouriertransformation zurücktransformieren undkönnten aus dem komplexen Signal c(x , y) die Phase ermitteln. Da das Spektrum α f (u, v)in (16.88) additiv aus den drei Komponenten zusammengesetzt ist, könnten wir αc(u, v)bzw. αc(u, v) selektieren, wenn sich die Spektren αc(u, v) und αa(u, v) nicht zu sehrbzw. noch besser, „überhaupt nicht“, überlappen. Wenn dies gegeben ist, dann wird dasSpektrum αa(u, v) einen Peak einer gewissen Ausdehnung um den Koordinatenursprungbilden, während die Spektren αc(u, v) und αc(u, v) zwei bezüglich des Koordinatenur-sprungs symmetrische Peaks einer gewissen Ausdehnung bilden. Wir müssen nun denPeak in der „Nähe“ zum Koordinatenursprung einer gewissen Ausdehnung für αc(u, v)finden, d. h. diesen Peak belassen und alle anderen Frequenzen auf Null setzen. Dies ist einspezieller Bandpass, der aber nur einseitig und nicht symmetrisch durchgeführt werdendarf. Nur dann wird das zurücktransformierte Signal komplex und wir können die Phasebestimmen. In der berechneten Phase ist die 3D-Information enthalten. Um die Tiefenda-ten zu berechnen, bedarf es einer bestimmten Versuchsanordnung von Projektor, Kameraund einer gedachten Referenzebene. Da die Phase periodisch ist, muss man die Tiefe ent-sprechend fortsetzen, dies macht aber Probleme bei Unstetigkeiten der Oberfläche, diesnennt man wie wir schon wissen phase-unwrapping. Zusätzlich führt die Umrechnung derPhasenwerte in Tiefenwerte zu Beschränkungen in der maximal möglichen Tiefenberech-nung. Die wesentliche Beschränkung des Verfahrens besteht aber in der Voraussetzung,dass sich das Spektrum separieren lassen muss. Dies heißt aber, die Oberfläche muss glattsein und darf keine großen Sprünge enthalten. Außerdemmuss die Beleuchung auch eini-germaßen homogen sein. Alle diese Voraussetzungen schränken den Anwendungsbereichauf glatte Oberflächen (keine abrupten Änderungen) mit nur geringer Tiefenänderungein. Zum Versuchsaufbau und zur konkreten Berechnung der Tiefe aus den Phasenwertensiehe die Originalarbeit von Takeda et al. [75].

16.6.7 StatistischeMuster

Eine völlig andere und sehr simple Idee basiert auf der statistischen Projektion bestimmterMuster. Wir stellen uns vor, dass wir zwei kalibrierte Kameras und einen Projektor zurVerfügung haben, wobei der Projektor nicht kalibriert sein muss. Der Projektor projiziertauch keine sinusförmigen Muster, sondern statistische Punktmuster. In einfachsten Falleeines Binärmusters wird ein Pixel „angeleuchtet“ oder nicht. Dies geschieht zufällig mit

Page 402: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 395

einer bestimmten Wahrscheinlichkeit. Ein von der Kamera aufgenommenes Bild liefertfolglich im Idealfall ein Binärbild. Nun erzeugen wir mit dem Projektor eine Folge von nstatistischen Punktmustern. Die Kameras müssen synchronisiert sein und „sehr schnell“diese Folge aufnehmen können. Wir erhalten dann eine Serie von n Binärbildern für dieerste Kamera und eine weitere Serie für die zweite Kamera. Pro Pixel haben wir nun inbeiden Binärbildern je einen n-dimensionalen Vektor, im einfachsten Falle bestehend nurausNullen undEinsen.Dawir für jedes Pixel im ersten Bild den korrespondierenden Punktim zweiten Bild suchen, müssen wir im zweiten Bild den „passenden“ Vektor finden. Dazubenötigen wir ein geeignetes Matchingmaß, siehe Abschn. 19.8.1. Eine Möglichkeit bietetder normierte Korrelationskoeffizient. Für einen industriellen Einsatz sind dabei noch vielepraktische Probleme zu lösen, z. B.: wieviele Bilder benötigt manmindestens, ummit einergewissen Wahrscheinlichkeit zu garantieren, dass man den richtigen korrepondierendenPunkt gefunden hat. Wie sicher ist überhaupt die Entscheidung, ob ein Pixel „beleuchtet“ist oder nicht. Wie geht man praktisch mit Verdeckungen um und viele andere Details. DieGruppe um R. Kowarschik aus Jena hat diese praktischen Probleme eingehend untersucht,siehe z. B. [44].

16.6.8 Shape from focus/defocus

Shape from focus Die Idee aus scharfen Bildern die Tiefe zu berechnen ist sehr einfach,siehe auch [49]. Dazu benutzen wir das Modell einer dünnen Linse, siehe Abb. 14.2 und(14.12). Es sei fL die Linsenbrennweite, f die Kamerabrennweite, d. h. der Abstand des Pro-jektionszentrum oder der Linse zur Bildebene, und dObjekt der Abstand der Objektebenezur Linse, dann gilt:

fL

=f+

dObjekt

. (16.89)

Wird wie in der Abb. 14.2 ein 3D-Punkt scharf abgebildet, dann kann man mit bekanntenf und fL die Tiefe dObjekt ausrechnen. Wir müssen folglich für jedes Pixel feststellen, obes scharf abgebildet ist oder nicht. Dazu benötigen wir Maße, diese sind im Abschn. 7.6untersucht worden. Es ergeben sich nun eine Reihe praktischer Probleme:

• Esmuss systematisch entweder dasObjekt verschoben, die Kamerabrennweite geändertwerden, oder die Linse verschoben werden. Eigentlich muss diese Veränderung konti-nuierlich erfolgen. Dies ist aber praktisch nicht möglich, so dass in diskreten Schrittendie Veränderungen erfolgen müssen. Es sind so ca. 10 bis 15 Aufnahmen zu erstellen.

• Für jedes Pixel ist diejenige Aufnahme zu ermitteln, bei der das Pixel am schärfstenabgebildet wird. Dazu sind die Maße aus Abschn. 7.6 zu benutzen, wobei für jedes Pixelnur eine Fensterumgebung zu verwenden ist.

• Dabei ist zusätzlich zu beachten, dass durch Größenänderungen sich ein 3D-Punkt alsabgebildetes Pixel im Bild verschieben kann.

Page 403: Bildverarbeitung und Objekterkennung ||

396 16 3D-Rekonstruktion

• Durch die endliche Anzahl von Bildern leidet die Genauigkeit, deshalb muss zwischenden Aufnahmen interpoliert werden.

• Das Schärfemass wird auf homogene Flächen nicht reagieren, deshalb muss die Ober-fläche gut texturiert sein.

• Das Verfahren bedingt folglich einen hohen technischen und zeitlichen Aufwand.• Ein großer Vorteil ist: Es gewinnt die 3D-Information ausschließlich mit einer Kamera,

es sind keinerlei Punktreferenzen notwendig unddieTiefewird sogar absolut berechnet.• Das Anwendungsspektrum ist folglich beschränkt, oft findet man im Mikroskopiebe-

reich Anwendungen.

Shape from defocus Natürlich sind die Begriffe focus und defocus „dual“ zueinander. Imfolgenden soll wieder die Grundidee gezeigt werden, ausführliche Darlegungen sind z. B.in [14] zu finden. Wenn wir in Abb. 14.2 die Bildebene verschieben, aber die Objektebenebelassen, dannwird derObjektpunkt „verschmiert“ abgebildet. DieGröße des „verschmier-ten“ Bereiches kann eindeutig der Entfernung des Objektpunktes zugeordnet werden. Dualzur Idee „shape from focus“, wo wir die schärfste Abbildung suchen, wollen wir die gege-bene Unschärfe nutzen, um daraus direkt die Tiefe des Objektpunktes zu berechnen. Wirbenötigen dazu eine der Formel (16.89) entsprechende Beziehung. Diese Beziehung mussden Zusammenhang zwischen Kameraparametern, Objektpunktentfernung, Blendengrö-ße undGröße des Verschmierungsbereiches (PSF) herstellen. Dazu nehmenwir einmal an,die Blende sei kreisförmig. Dann kann man mit der geometrischen Optik zeigen, dass derVerschmierungsbereich (PSF) auch eine Kreisfläche mit einem Helligkeitswert darstellt,oft als „pillbox“ (Pillendose) bezeichnet. In der Praxis ist dies aber viel komplizierter. Ei-ne bessere Näherung ist eine rotationssymmetrische Gaussfunktion, siehe (2.83), wobei σdie Rolle des Kreisradius der pillbox übernimmt. Es sei r der Radius der kreisförmigenApertur, f wieder der Abstand der diesmal nicht notwendig fokussierten Bildebene zumProjektionszentrum, und rPSF der Radius des „Verschmierungskreises“. dann gilt:

rPSF = r ⋅ f (fL

−f−

dObjekt

) . (16.90)

Benutzen wir die Gaußfunktion (2.83), dann ist σ = ρ ⋅rPSF, wobei ρ ein kameraabhängigerFaktor ist, der von der Optik und der Auflösung der Sensoren abhängt. Dieser Faktor ρ seia priori durch eine geeignete Kalibrierung bekannt. Dann ist

σ = ρ ⋅ r ⋅ f (fL

−f−

dObjekt

) . (16.91)

Wennman außer den Kameraparametern auch σ für jeden einzelnen Objektpunkt bestim-men kann, dann kann man aus (16.91) für jeden Objektpunkt die Tiefe dObjekt berechnen.Wie kann man nun für jeden Objektpunkt σ berechnen?

Dazu benötigenwirmindestens zwei Bildermit unterschiedlichen Schärfeeinstellungen,damit auch unterschiedlichen Kameraparametern, daher schreiben wir (16.91) für zwei

Page 404: Bildverarbeitung und Objekterkennung ||

16.6 Aktives Sehen 397

Bilder auf:

σi = ρ ⋅ ri ⋅ fi (fLi

−fi

dObjekt) , i = , . (16.92)

Wir müssen zunächst auf jeden Fall die Unbekannte dObjekt eliminieren, dies gelingt durchsimple Differenzbildung, wobei wir eine Gleichung erhalten:

σ = a ⋅ σ + b (16.93)

mit den Größen:

a =r fr f

, b = ρ ⋅ r ⋅ f (fL

−f−

fL

+f) . (16.94)

Eine Gleichung drückt nun das Verhältnis der beiden „Verschmierungskreise“ aus. Wirbenötigen folglich noch eine zweite Beziehung, um die Größen σ und σ berechnen zukönnen. Da wir einem Objektpunkt eine PSF zuordnen, ist die PSF nicht verschiebungsin-variant, wir haben einen klassichen Fall von linearen Systemen, die nicht verschiebungsin-variant sind. Deshalb weichen wir unsere Annhamen etwas auf und nehmen an, in einergewissen Fensterumgebung des Objektpunktes sei die Tiefe des Objekts näherungsweisekonstant.Daher könnenwir in dieser Fensterumgebung des Punktes (x , y)Verschiebungs-invarianz annehmen und die Bildaufnahme als Faltung formulieren:

gi(x , y) = hi(x , y) ∗ f (x , y), i = , . (16.95)

Die beiden PSF hi(x , y), i = , sind die beidenmodellierten Gaußfunktionen nach (2.83).Da in beide Gleichungen die gleiche Originalfunktion f (x , y) eingeht, müssen wir diesewieder eliminieren, allerdings geht dies nicht durch simple Differenzbildung. Daher wen-den wir auf (16.95) das Faltungstheorem (4.23) an und bilden die Quotienten aus denjeweils linken bzw. rechten Seiten der Fouriertransformierten (siehe auch (4.95)):

αg(ω , ω)

αg(ω , ω)=αh(ω , ω)

αh(ω , ω)= e−

)(σ

−σ

) . (16.96)

Wir lösen nach σ − σ

auf:

σ − σ

=−

ω + ω

log

αg(ω , ω)

αg(ω , ω). (16.97)

Da die rechte Seite für jedes (ω , ω) konstant sein muss, dies aber in der Praxis nicht derFall sein wird, mitteln wir die rechte Seite durch:

C =A∬

R

−ω + ω

log

αg(ω , ω)

αg(ω , ω), (16.98)

Page 405: Bildverarbeitung und Objekterkennung ||

398 16 3D-Rekonstruktion

wobei R ein geeigneter Mittelungsbereich ist und A die Fläche dieses Bereiches R ist. Folg-lich erhalten wir zu (16.93) eine zweite Gleichung:

σ − σ

= C . (16.99)

Beide Gleichungen lösen wir und erhalten eine quadratische Gleichung

(a − )σ + abσ + b = C , (16.100)

welche wir leicht nach σ auflösen können. Nun können wir die Beziehung (16.91) nachder Objektentfernung dObjekt auflösen.

Diese Berechnung müssen wir nun für jedes Pixel (x , y) durchführen und erhalten auslediglich zwei Bildern, die mit verschiedenen Kameraparametern aufgenommen wurden,eine vollständigeTiefenkarte. Die Probleme, die bei der praktischen Realisierung auftreten,sind die folgenden:

• Ein Vorteil ist, dass die Methode sehr simpel ist, nur zwei Aufnahmen verlangt und kei-nerlei Punktereferenzen benötigt. Der Preis dafür ist, dass sie in der Genauigkeit etwasschlechter als die leistungsfähigen Stereo-Methoden ist. Der durchschnittliche Tiefen-fehler liegt bei ca. 5–8 Prozent.

• Da wir die PSF durch eine Gauß-Funktion modelliert haben, entstehen Modellierungs-fehler. Andere Modelle könnten besser sein.

• Die Kameraparameter müssen für die beiden Aufnahmen sehr genau bestimmt werden.• Die größte Fehlerquelle ist das Problem der lokalen Fensterwahl. Die Annahme, in einer

lokalen Fensterumgebung sei die Tiefe des Objektes annähernd konstant, d. h. wir kön-nen lokal die Faltung mit der PSF nutzen, ist sehr schwer zu überprüfen. Was passiert,wenn sich die Tiefe z. B. abrupt ändert.

• Wenn die Grauwertfunktion f (x , y) über einem lokalen Bereich konstant ist, dann be-deutet eine Faltung lediglich eine Multiplikation mit einem Faktor, man kann folglichnicht die relative Änderung der „Verschmierung“ zwischen zwei Aufnahmen bestim-men und das Verfahren funktioniert nicht. Die Oberfläche muss folglich wie bei shapefrom focus gut texturiert sein.

16.7 Photometrische Methoden der Rekonstruktion

Wenn eine Lichtquelle eine Oberfläche beleuchtet, dann gibt es Schatten in Abhängigkeitvon der Tiefe. Diese Art Schattenwurf soll für eine Tiefenrekonstruktion genutzt werden.

16.7.1 Beleuchtung und Reflexion

Die Beleuchtungsstärke ist die Lichtmenge, die auf eine Oberfläche fällt, gemessen inW/m. Diese wird irradiance genannt. Die Lichtmenge, die wieder abgestahlt wird, nennt

Page 406: Bildverarbeitung und Objekterkennung ||

16.7 PhotometrischeMethoden der Rekonstruktion 399

man radiance. Wir stellen uns eine Oberfläche vor mit einer Normalen in einem Ober-flächenpunkt. Weiterhin sei die Richtung einer punktförmigen Lichtquelle gegeben unddie Richtung des Betrachters. Den Winkel zwischen Lichtquelle und Normale bezeichnenwir mit α (incident), den Winkel zwischen Normale und Betrachter mit β (emergent) undden Winkel zwischen Lichtquelle und Betrachter mit γ (phase). Alle drei Richtungsvek-toren müssen nicht in einer Ebene liegen. Dadurch kann man eine Reflexionsfunktionr(α , β, γ) definieren. Eine ideale Reflexionsfunktion (Indikatorfunktion) liegt vor, wennnur refektiert wird, wenn alle drei Vektoren in einer Ebene liegen und Einfallswinkel gleichAusfallswinkel ist:

r(α , β, γ) =⎧⎪⎪⎨⎪⎪⎩

, wenn α = β und α + β = γ, sonst.

(16.101)

Dies ist die Reflektionsfunktion einer ideal spiegelnden Oberfläche, d. h. man sieht vie-le Oberflächenpunkte gar nicht (schwarz), bzw. einige (die eben spiegeln) ganz hell. Mitsolch einer Funktion können wir sicher nicht die 3D-Form rekonstruieren. Dazu benöto-gen wir eine diffus strahlende Oberfläche, genannt Lambert-Oberfläche. Dann lautet dieReflexionsfunktion:

rL(α , β, γ) = Iρ cos(α) = Iρ cos⟨l,n⟩. (16.102)

Diese Funktion ist völlig unabhängig vom Standpunkt des Betrachters. Egal ob wir einenPunkt von der Seite, von vorn usw. anschauen, er ist immer gleich dunkel/hell. Das bedeutetdoch, das Licht muss „gleichmäßig“ nach allen Richtungen refektiert werden. Dies nenntman diffus refektierend.Von solcheOberflächenwerdenwir imFolgenden ausgehen.Dabeiist

• I – die Lichtintensität der Lichtquelle,• ρ – die Albedo, oder auch Relexionsfaktor genannt, der in erster Linie vom Material

abhängt, aber auch vom Ort abhängen könnte.

Zum Schluss dieses Abschnittes soll noch imZusammenhangmit der Reflexion eine häufiggestellte, „amüsante“ Frage beantwortet werden:

• Frage:Wennman in einen Spiegel schaut, warumwird dann links und rechts vertauscht,aber nicht oben und unten?

• Antwort: Die Frage ist total unsinnig gestellt. Ein Spiegel vertauscht niemals links undrechts. Wenn man in den Spiegel schaut, ist der rechte Arm nach wie vor rechts vonder Nase, natürlich vom Betrachter aus gesehen. Links, rechts, oben und unten sindimmer normierte Begriffe und müssen sich auf einen Betrachter beziehen. Ein Spiegelvertauscht aber vom Betrachter aus gesehen immer vorn und hinten. Ist der Spiegel ander Decke oder auf dem Boden, dann bedeutet der Tausch von vorn und hinten tatsäch-lich den Tausch von oben und unten. Wenn man in einen See schaut, stehen die Bäume

Page 407: Bildverarbeitung und Objekterkennung ||

400 16 3D-Rekonstruktion

im Spiegel der Wasseroberfläche auf dem Kopf. Damit ist die Aussage, dass ein Spiegelnicht oben und unten vertauscht, auch nicht richtig.

16.7.2 Shape from Shading

Für das weitere nehmen wir an:

• Die Oberfläche ist diffus, also eine Lambert-Oberfläche.• Wir haben paralleles Licht, d. h. für alle Oberflächenpunkte haben wir den gleichen

Richtungsvektor der Lichtquelle. Bei einer weit entfernten Punktlichtquelle kann mandies näherungsweise annehmen.

• Das Reflexionsbild I(ξ, η) ist durch Rauschen wenig gestört. Es ist folglich I(ξ, η) =

r(α , β, γ) = R(n), d.h alle Intensitäten im Bild hängen nur von der Richtung (nichtLänge) der Oberflächennormalen ab.

Wir wollen nun für jedes Pixel im Bild die Oberflächennormale bestimmen. Durch „üb-liche“ Integration über die Oberflächennormale können wir dann die Oberfläche selbstberechnen. Mit den Bezeichnungen

z = f (x , y), n = ( fx , f y ,−)T , l = (lx , l y , lz)T (16.103)

ist dann:

I(ξ, η) = Iρfx lx + f y l y − lz

∣n∣ ⋅ ∣l∣. (16.104)

Wir betrachten nun nur Einheitsvektoren, d. h. ∣n∣ = ∣l∣ = . Dann ist:

I(ξ, η) = Iρ⟨n, l⟩ → Ir =I(ξ, η)Iρ

= ⟨n, l⟩. (16.105)

Daher ist:

Ir ⋅ ⟨l, l⟩ = ⟨n, l⟩ → ⟨n − Ir ⋅ l, l⟩ = . (16.106)

Weiter ist:

∣n − Ir l∣ = ∣n∣ + Ir ⋅ ∣l∣ − Ir⟨n, l⟩ = − Ir . (16.107)

Bezeichnen wir den Vektor

r(x , y, z)T = n − Irl, (16.108)

Page 408: Bildverarbeitung und Objekterkennung ||

16.7 PhotometrischeMethoden der Rekonstruktion 401

dann haben wir folglich zwei Bestimmungsgleichungen für r:

⟨r, l⟩ = , ∣r∣ = − Ir . (16.109)

Diese zwei Gleichungen mit den drei Unbekannten x , y, z schreiben wir nochmals auf:

lxx + l y y + lzz = , x + y + z = − Ir . (16.110)

Diese beschreiben eine Kurve zweiter Ordnung, das System ist also unterbestimmt. Wirkönnen dies auch anders notieren:

I = IρnT l, ∥n∥ = (16.111)

Es sind zwei Gleichungen, die aber drei Unbekannte enthalten. Dabei wurde l a priori aufEins normiert. Alle Normalenvektoren, die bezüglich l einen Kegel aufspannen, folglichmit l den gleichen Winkel haben, sind mögliche Lösungen. Dabei seien die Längen aufeins normiert. Ir hängt dabei von I und der Albedo ρ ab. Dieses Produkt muss bekanntsein, und ist nicht etwa ein Faktor auf den es uns nicht ankommt. Angenommen, wir ken-nen dieses Produkt nicht, sei also eine Konstante, dann ist auch Ir eine unbekannte Größe,allerdings für jedes Pixel bis auf diesen gemeinsamen Faktor bekannt. Dadurch ist der ab-solute Grauwert im Bild unbekannt. Lösen wir obige zwei Gleichungen für eine Konstante,die nicht dem tatsächlichen Produkt entspricht, so ist das Skalarprodukt ein anderes. DieLänge des Normalenvektors bleibt aber gleich eins, daher muss sich der Winkel zwischenNormalenvektor und l ändern. Damit bestimmen wir einen völlig falschen Normalenvek-tor. Wir müssen also die beiden Parameter kennen.

Für jedes Pixel im Bild könnten wir nun als Lösung einen Punkt dieser Kurve zweiterOrdnung auswählen, wir wollen aber eindeutig jedem Pixel einen Normalenvektor zuord-nen.Wir führen deshalb eine sinnvolle Zusatzbedingung ein: Die Öberfläche soll glatt sein,d. h. die Änderung der Oberflächennormale soll nicht abrupt erfolgen. Deshalb minimie-ren wir folgendes Funktional:

Z = ∬ {(Ir(x , y) − nT l) + λ(∥nx∥ + ∥ny∥

) + μ(∥n∥ − )} dxdy

→ Minimum. (16.112)

Der erste Term ist der eigentliche Term bezüglich des Bildes, der zweite soll die Ände-rungen der Normalen minimieren (Glattheitsforderung) und der dritte ist lediglich dieNormierung auf Eins. Um dieses Variationsproblem zu lösen, müssen wir die EulerschenGleichungen aufschreiben:

(Ir − nT l) ⋅ l + λ∇n − μn = . (16.113)

Diese müssen wir nun diskretisieren und in einer iterativen Prozedur lösen. Was uns andem Verfahren stört sind sicher die unbekannte Beleuchtungsstärke, die Albedo sowie die

Page 409: Bildverarbeitung und Objekterkennung ||

402 16 3D-Rekonstruktion

komplizierte Glattheitsbedingung. Daher betrachten wir die Möglichkeit, ob es uns mitmehreren Beleuchtungsquellen besser gelingt. Die Rekonstruktion einer Oberfläche mitmehreren Beleuchtungsquellen nennt man photometrisches Stereo. Nehmen wir einmalzwei Beleuchtungsquellen mit gleichen Beleuchtungsstärken an.Wir justieren eine Kameraund die zwei Leuchten fest und nehmen wieder eine Lambert-Oberfläche an. Wir knipsendie erste Lampe an und nehmen ein Bild auf, I(x , y). Nun schalten wir Lampe eins ausund schalten Lampe zwei an und erhalten das zweite Bild I(x , y). Da wir Kamera undObjekt nicht bewegt haben, sind alle Pixel in beiden Bildern synchron. Nun bilden wir denAusdruck:

Quot(x , y) =IρnT lIρnT l

=I(x , y)I(x , y)

= I(x , y), (16.114)

der nicht mehr von der Beleuchtungsstärke und der Albedo abhängt. Nun berechnen wirwieder unser Integral zu:

Z = ∬ {(I(x , y) −Quot(x , y)) + λ(∥nx∥ + ∥ny∥

) + μ(∥n∥ − )} dxdy

→ Minimum (16.115)

Die Invarianz gegenüber Beleuchtungsstärke und Albedo haben wir mit einem noch kom-plizierterem Zielfunktional und zwei Beleuchtungsquellen erkauft.

Nun nehmen wir noch eine dritte Lichtquelle hinzu und erhalten drei Bilder:

I(x , y) = Iρ ⋅ nT lI(x , y) = Iρ ⋅ nT lI(x , y) = Iρ ⋅ nT l .

(16.116)

Wenn wir die Konstanten I und ρ kennen, haben wir ein lineares Gleichungssystem mitdrei Gleichungen und drei Unbekannten. Die Längen der li , i = , , sind auf eins nor-miert gegeben. Für den unbekannten Vektor n haben wir auch noch die Restriktion ∥n∥ = gegeben, folglich eine vierte Gleichung. Wenn unser Modell stimmt und die beiden Kon-stanten bekannt sind, dann muss diese vierte Bedingung überflüssig sein. Ist das Produktder beiden Konstanten nun nicht bekannt, so legen wir dieses auf Eins fest und lösen daslineare Gleichungssystem. Den errechneten Normalenvektor normieren wir nun auf Eins,der Faktor für die Normierung muss dann theoretisch das Produkt aus I und ρ sein. DasKuriose ist nun, mit drei Lichtquellen brauchen wir die Konstanten nicht mehr zu kennen,die Lösung des linearen Gleichungssystems, also der Normalenvektor, hängt multiplikativ(nur die Länge des Vektors wird beeinflusst, nicht der Winkel) von diesem Konstanten-produkt ab. Mit drei Lichtquellen scheint also ein Idealfall gegeben zu sein: Ein linearesGleichungssystem pro Pixel und die Konstanten braucht man nicht kennen.

Page 410: Bildverarbeitung und Objekterkennung ||

16.8 Monokulare Rekonstruktion 403

16.8 Monokulare Rekonstruktion

Ohne A-priori-Wissen kann man in der Regel mit nur einer Kamera und keinen weiterentechnischen Hilfsmitteln kein Objekt rekonstruieren. Es ist Wissen über das zu rekonstru-ierende Objekt nötig. Das können mathematische Beschreibungen sein, Kenntnisse derForm oder Größe usw. So ist bei dem A-priori-Wissen: „das zu rekonstruierende Objekt isteine Kugel“ nur noch die Kenntnis des Radius der Kugel nötig. Die Grundidee der Rekon-struktion ist immer dieselbe:

Die Grundvoraussetzung ist natürlich, dass die Kamera kalibriert ist. Von den beobach-teten Punkten, Kanten usw. im Bild berechnet man den Sichtkegel, die Sichtpyramide usw.Nun „legen“ wir das zu rekonstruierende Objekt so in den Kegel, dass sich gerade das be-obachtete Bild ergibt. Dies muss nicht immer eindeutig sein. Bei der Rekonstruktion einerKugel ist dies sehr anschaulich: Die abgebildete Kugel ergibt im Bild eine Ellipse. Von dieserEllipse berechnen wir den elliptischen Sichtkegel, der auf beiden Seiten des Projektionszen-trums aussieht wie eine „Kaffeefiltertüte“, die auf der Bildseite abgeschnitten wurde. DieBildseite liege „unten“. Im 3D-Raum ist sie eigentlich unendlich ausgedehnt, wir „schnei-den“ sie aber mal in großer Höhe „oben“ ab. Nun nehmen wir die Kugel und werfen sie indie Filtertüte „oben“ hinein. Dort wo sie zum liegen kommt, ist die rekonstruierte Positionder Kugel im Raum.

Gibt es tatsächlich keinerlei monokulare Rekonstruktion ohne A-priori-Wissen?Wennman nur bestimmte Maße des 3D-Objektes wissen möchte und diese auch nur in einemstatistischen Sinne, dann ist dies überraschenderweise bei bestimmten Objekten möglich.Dazu werden wir im ersten Abschnitt etwas zur Siebanalyse ausführen. In den folgen-den Abschnitten werden dann bestimmte Objekte monokular rekonstruiert, natürlich mitA-priori-Wissen.

16.8.1 Siebanalyse

Bei der Siebanalyse möchte man die sogenannte Korngrößenverteilung bestimmter Stoffe(z. B. Sand, Kies, Granulate usw.) ermitteln. Dies geschah in der Vergangenheit rein me-chanisch. Durch eine Folge von Sieben mit verschiedenen Maschenweiten wurde der Stoffgesiebt und der „Siebrest“ in jedem Sieb durch Wägen bestimmt. Dies ist natürlich sehraufwendig, so dass in der Neuzeit Geräte (sogenannte CAMSIZER) entwickelt wurden, diedieses Problem mit einer Kamera und Methoden der Bildverarbeitung lösen. Eine gene-relle Lösung für alle Kornformen und nur eine Kamera gibt es aber immer noch nicht,allerdings für bestimmte Kornformen schon.Wir stellen uns solch ein Gerät folgenderma-ßen vor: Auf einem kleinen Förderband wird das Stoffgemisch transportiert und fällt amEndewie einWasserfall in einen Behälter. Gegenüber dem „Wasserfall“ ist orthogonal dazueine Kamera angebracht, die in einer Folge von Bildern die Körner aufnimmt. Es entstehtsomit eine Folge von 2D-Bildern dieser 3D-Objekte. Als Abbildungsmodell kann man dieorthografische Projektion näherungsweise annehmen. Aus den orthografischen Projektio-nen dieser Körner soll nun deren „echte“ 3D-Korngrößenverteilung berechnet werden. Für

Page 411: Bildverarbeitung und Objekterkennung ||

404 16 3D-Rekonstruktion

beliebige Objekte ist dies sehr schwierig, der triviale Fall ist sicher der, dass alle Körner fastKugeln sind. Dann brauchen wir im Bild nur den Kreisdurchmesser bestimmen und sindfertig. Infolgedessen wird häufig versucht, von den 2D-Objekten auf eine Kugel zu schlie-ßen und deren Durchmesser zu nutzen. Je weiter sich aber ein 3D-Objekt von einer Kugelunterscheidet, umso größer werden natürlich die Fehler sein. Dazu werden von den 2D-Objekten Maße bestimmt, z. B.:

• Pro 3D-Objekt erhalten wir im Bild ein 2D-Objekt mit einer geschlossenen Kontur.• Man legt im 2D-Bild eine Messrichtung fest.• MARTIN-Durchmesser: In Messrichtung wird die Länge eines Geradensegmentes be-

stimmt, das das Objekt in zwei Teilobjekte zerlegt, die beide flächengleich sind.• FERET-Durchmesser: In Messrichtung legen wir zwei Tangenten an das Objekt. Der

Abstand dieser Tangenten ist der FERET-Durchmesser.• Maximale Sehne: Ist ähnlich dem FERET-Durchmesser, nur senkrecht zur Messrich-

tung.• Durchmesser: Ist der Durchmesser eines flächengleichen Kreises.

Gibt es denn nun außer dem Trivialfall der Kugeln noch andere nichttriviale Fälle, bei de-nen man die Verteilungen bestimmter Maße der 3D-Objekte exakt berechnen kann? Diegibt es tatsächlich, dazu ein Beispiel.

Segmentlängenverteilungen Wir stellen uns vor, die Körner haben alle eine Nadelform,dann ist ausschließlich die Nadellängenverteilung von Interesse. Das gleiche gilt auch fürandere dünne, rotationssymmetrische 3D-Objekte. Dann fassen wir die 3D-Objekte ma-thematisch als Geradensegmente auf, deren Längen zu bestimmen sind. Im 2D-Bild habenwir dann auch nur Geradensegmente, es ist aber unmöglich, von der Länge eines 2D-Geradensegmentes auf die Länge des 3D-Geradensegmentes zu schließen. Im Extremfallentartet das 2D-Geradensegment sogar zu einem Punkt. Wir nehmen an, beim Fallen derNadeln vom Förderband sind alle Raumlagen der Nadeln gleichberechtigt. Da wir im 2D-Bild nur die Segmentlängemessen, ist diese unabhängig von einer Translation undRotationbezüglich der Bildebene. Einzig derWinkel β zur z-Achse (Sichtachse) beeinflusst die Län-ge im 2D-Bild. Die „echte“ Länge eines Segmentes sei l und die Länge der Projektion sei s.Eine „zufällige räumliche Orientierung“ der Segmente bedeutet aber noch lange nicht, dassdie Winkel β gleichverteilt sind. Dazu betrachten wir die Einheitskugel und Breitenkreiseauf der Kugel. Wieviele Lagen von Segmenten mit einemWinkel β gibt es nun? Die Anzahlwird durch die Anzahl der Punkte (Bogenlänge) auf einem Breitenkreis bestimmt, der denWinkelabstand β zumNordpol besitzt. Dieser Breitenkreis hat den Radius sin β und daherdie Bogenlänge (Umfang) π sin β. Die „Summe“ aller Bogenlängen aller Breitenkreise derNordhalbkugel ist

Zges =

π

π sin βdβ = π, (16.117)

Page 412: Bildverarbeitung und Objekterkennung ||

16.8 Monokulare Rekonstruktion 405

was weiter nichts als die Oberfläche der Nordhalbkugel ist. Alle Segmente von bis β (d. h.diese Teiloberfläche der Kugel) müssen wir relativ auf die gesamte Oberfläche der Nord-halbkugel beziehen, dann ist:

Z(β) =

Zges

β

π sin β′dβ′ = − cos β. (16.118)

Für ein Segment der Länge l und gegebenen Winkel β ist die Projektionslänge s = l ⋅ sin β,damit ist β = arcsin s

l . Daher erhalten wir alsWahrscheinlichkeit, dass die Projektionslänge(bei festem l) unterhalb von s liegt:

P(l , S < s) = Z(β) = − cos arcsinsl= −

− (sl). (16.119)

Für s > l gilt natürlich P(l , S < s) = . Damit haben wir die Verteilungsfunktion F(l , s) =P(l , S < s) für ein Segment einer bestimmten, aber festen Länge l hergeleitet. Wir wollenaber eigentlich die Verteilung der Längen l ausrechnen, wenn viele Segmente mit unter-schiedlichen Längen l gegeben sind. Nehmen wir einmal an, wir hätten 2 Segmente mitden Längen l und l, die mit den Wahrscheinlichkeiten h und h (h + h = ) vorkom-men, dann ist die Verteilungsfunktion einfach das gewichtete Mittel:

F(s) = h ⋅ F(l , s) + h ⋅ F(l, s). (16.120)

Dies kann man nun auf eine beliebige diskrete Anzahl ausdehnen. Da wir aber die diskreteAnzahl nicht kennen, gehen wir nicht vonWahrscheinlichkeiten hi aus, sondern von einerDichtefunktion h(l) und verallgemeinern die obige Beziehung zu:

F(s) =∞

F(l , s) ⋅ h(l)dl =s

h(l)dl +∞

∫s

⎝ −

− (sl)⎞

⎠⋅ h(l)dl . (16.121)

Da das erste Integral die VerteilungsfunktionH(s) bezüglich der Dichte h(l) ist, kannmandie Gleichung auch in der Form

F(s) = H(s) +∞

∫s

⎝ −

− (sl)⎞

⎠⋅ h(l)dl (16.122)

schreiben. In dieser Gleichung ist die Vertelung F(s) der projizierten Segmentlängen gege-ben, diese wird statistisch aus dem 2D-Bild ermittelt. Gesucht ist dann die Dichtefunktionh(l) bzw. die Verteilungsfunktion H(l). Mathematisch stellt (16.122) eine Integralglei-chung dar, die mit numerischen Methoden zu lösen ist.

Page 413: Bildverarbeitung und Objekterkennung ||

406 16 3D-Rekonstruktion

Rotationsellipsoide Können wir dieses schöne Ergebnis noch verallgemeinern? Unserepraktischen Objekte müssen sehr dünn sein, damit man sie noch mit Geradensegmentenmodellieren kann. Wie ist es aber z. B. mit Bleistiften, Zigarren usw. Dazu modellieren wirtheoretisch diese Objekte als Rotationsellipsoide mit der kleinen Achse B und der großenAchse A (A ≥ B). Bei Parallelprojektion gehen Ellipsoide immer in Ellipsen über, daher istdie große Achse der Ellipse bei Parallelprojektion:

s =√

B cos β + A sin β. (16.123)

Nun müssen wir analog zu den Geradensegmenten (16.123) nach β auflösen

cos β =

√B − s

A − B (16.124)

und verfahren analog zu denGeradensegmenten. In der analogen Integralgleichung ist nunβ zu ersetzen.Weiterhin ersetzen wir jetzt l durchAund beachten in der Integralgleichung,dass immer A ≥ B sein muss. Wir erhalten dann:

F(s) =∞

∫B

F(A, s) ⋅ h(A)dA

=

s

∫B

h(A)dA+

∫s

⎝ −

√A − s

A − B

⎠⋅ h(A)dA

s ≥ B. (16.125)

Für ein festes, gegebenes B müssen wir die Integralgleichung nach h(A) auflösen. Wirkönnten jetzt auch noch andere längliche Objekte betrachten, wenn es uns gelingt, die Pro-jektionsfunktion s aufzustellen. Dem ganzen sind natürlich Grenzen gesetzt, wenn wir z. B.längliche (Prolaten) und breite Ellipsoide (Oblaten) vermischen, dann können wir die Pro-jektionsfunktion nicht mehr berechnen.

16.8.2 Planare Vierecke

Wirwollen als erstes Beispiel planareVierecke rekonstruieren.Monokular ist dies nurmög-lich, wenn wir genau die Form und Größe des Viereckes kennen. Dieses A-priori-Wissenlegen wir durch ein CAD-Koordinatensystem fest, in dem alle vier Punkte bekannt sindΞk = (ξk , ηk , )T , k = , , , . Nehmen wir nun das reale Viereck mit einer kalibriertenKamera auf, so werden den vier Eckpunkten im Raum die entsprechenden vier Bildpunktezugeordnet:

uk = A(xk − xc), k = , , , . (16.126)

Page 414: Bildverarbeitung und Objekterkennung ||

16.8 Monokulare Rekonstruktion 407

Abb. 16.11 Rekonstruktionvon planaren Vierpunkte-Konfigurationen

Nun ordnen wir die vier Punkte im CAD-System den vier Bildpunkten zu, dies bestimmteindeutig eine projektive Transformation, beschrieben durch:

uk = BΞk , k = , , , . (16.127)

Man beachte, nicht die Vierecke werden zugrordnet, sondern die vier Punkte, d. h. manmuss genau wissen, welcher Bildpunkt welchem CAD-Punkt entspricht. Die Sehstrahlender vier Bildpunkte bestimmen eine vierseitige (unendliche) Sichtpyramide. Diese Sichtpy-ramide schneiden wir nun mit einer Ebene, die das CAD-Viereck enthält. Wir müssen alsoso schneiden, dass sich gerade die vier Bildpunkte ergeben. Dazumüssen wir natürlich dasCAD-Koordinatensystem in die Raumebene legen, siehe Abb. 16.11. Die Eckpunkte desViereckes beschreiben sich dann zu:

xk = xc + d + ξke + ηke (16.128)

mit der Bedingung ∣e∣ = ∣e ∣ = , eT e = . Diese setzen wir nun in die Abbildungsglei-chungen ein und erhalten:

uk = A(d + ξke + ηke), k = , , , uk = Ad + ξkAe + ηkAe , k = , , , (16.129)

Mit uk = BΞk , B = (b , b, b)) ist dann auch:

uk = ξkb + ηkb + b. (16.130)

Folglich können wir ablesen:

Ad = b,Ae = b ,Ae = b. (16.131)

Die Gleichheit gilt aber nur bis auf einen gemeinsamen Faktor. Wir haben also simpel dreilineare Gleichungssysteme zu lösen. Nun müssen wir noch den Faktor eliminieren, dazukönnen die Zusatzbedingungen genutzt werden, z. B. ∣e∣ = .

Page 415: Bildverarbeitung und Objekterkennung ||

408 16 3D-Rekonstruktion

Bemerkung Stelltman sich einViereck als Schnittfigurmit der Sichtpyramide vor, so kannman sich leicht vorstellen, dass durch „verkippen“ und „verdrehen“ des Vierecks sich dasgleiche Bild ergibt, d. h. man erhält eine weitere Rekonstruktionslösung. Dies ist aber nichtmöglich, da wir vom CAD-System zum Bild Referenzpaare festgelegt haben, wir rekon-struieren also eine spezielle Vierpunkte-Konfiguration und nicht allgemein ein Viereck,dies gilt es zu beachten. Durch andere Refenrenzbeziehungen erhalten wir auch andereLösungen oder es existiert keine.

16.8.3 Rechtecke

Das Rekonstruktionsproblem ist in Abb. 16.12 deutlich dargestellt. Ein Rechteck ist einespezielles Viereck, deshalb könnten wir dieMethode des vorigen Abschnittes nehmen.Da-bei bekommen wir aber immer mehr Schwierigkeiten, die richtigen Referenzen zwischenBild und CAD-System auszuwählen. Daher nutzen wir die zusätzlichen Eigenschaften ei-nes Rechteckes, z. B. halbieren sich die Diagonalen bei deren Schnitt. Es seien x , x, x , xdie vier Punkte des Rechteckes im Raum.Daher gilt für den Schnittpunkt:

xD =x + x

=x + x

. (16.132)

Betrachten wir die Abbildungsgleichung und einen Sehstrahlvektor

uk = A(xk − xc), xk = xc + λtk , (16.133)

so wissen wir bereits, dass wir für den Sehstrahlvektor tk = A−uk erhalten. Da die vierPunkte auf den Sehstrahlen liegen müssen, können wir auch schreiben:

xk = xc + λkA−uk . (16.134)

Wir müssen nun die vier λk bestimmen, d. h. wir müssen ausrechnen, für welche λk sichdie Diagonalen der vier xk halbieren:

xD =xc + λA−u + xc + λA−u

=xc + λA−u + xc + λA−u

. (16.135)

Es muss also gelten:

λA−u + λA−u − λA−u − λA−u = . (16.136)

Page 416: Bildverarbeitung und Objekterkennung ||

16.8 Monokulare Rekonstruktion 409

Abb. 16.12 Rekonstruktionvon Rechtecken

Wir haben jetzt ein unterbestimmtes lineares Gleichungssystem, d. h. 3 Gleichungen und4 Unbekannte λk , k = , , , . Da es ein homogenes Gleichungssystem ist, sind alle Lö-sungen über einen gemeinsamen Faktor verbunden. Wir können z. B. λ = setzen undλ , λ, λ ausrechnen. Wir nehmen an, wir hätten jetzt eine Lösung gefunden. Der ge-meinsame Faktor bedeutet aber, wir können das Rechteck nun in der Sehpyramide parallelverschieben, d. h. die Tiefe ändern ohne dass sich die Bildpunkte ändern. Daher müssenwir noch die Fläche des Rechteckes als A-priori-Information nutzen. Wir können folglichdie vier Punkte ansetzen zu:

xk = xc + μλktk . (16.137)

Der gemeinsame Faktor ist μ. Dieser ist nun aus der Fläche des Rechteckes zu bestimmen.Bei der Rekonstruktion haben wir diesmal keine Referenzbeziehungen benötigt. Die Ei-

genschaft, dass sich die Diagonalen halbieren gilt auch für Parallelogramme. Wieso habenwir dann kein Parallelogramm rekonstruiert, bzw. gibt es zusätzliche Lösungen, die Paralle-logramme sein könnten?Wir hatten angenommen, dass unsere Bildpunkte auch tatsächlichvon einem beobachteten Rechteck stammen. Mit der Eigenschaft der Halbierung der Dia-gonalen haben wir eindeutig eine Lösung errechnen können, der Faktor bedeutet nur dieTiefenverschiebung des Objektes. Daher kann das Objekt nur ein Rechteck sein und keinParallelogramm.Wenn zusätzlich zum rekonstruierten Rechteck noch ein Parallelogrammexistieren würde, bedeutet dies, wir haben durch eine 2D projektive Transformation einRechteck in ein Parallelogramm überführt. Nun, vier Punkte bestimmen tatsächlich ei-ne 2D projektive Transformation, aber speziell ein Rechteck kann nur durch eine affineTransformation in ein Parallelogramm überführt werden. Das ist kein Widerspruch, da ei-ne affine Transformation eine Untergruppe der projektiven ist. Da wir aber eine Kameramit endlichem Projektionszentrum angenommen haben, ist diese Entartung nicht mög-lich, eine affine Transformation würde dann bedeuten, dass das Projektionszentrum imUnendlichen liegt.

Page 417: Bildverarbeitung und Objekterkennung ||

410 16 3D-Rekonstruktion

Natürlich können wir das gleiche Rekonstruktionsverfahren auch auf die Rekonstruk-tion von Parallelogrammen anwenden, dann wissen wir aber, dass die Bildpunkte von derBeobachtung eines Parallelogrammes stammen.

16.8.4 Kugeln

Eine Kugel mit bekanntem Radius r soll rekonstruiert werden, d. h. deren Lage imWeltko-ordinatensystemberechnet werden. Für die Lage brauchenwir „nur“ die x , y, z-Koordinatedes Mittelpunktes der Kugel zu berechnen. Eine Kugel wird durch das zentralprojektiveModell im Bild als eine Ellipse abgebildet. Nun können wir nicht einfach den Mittelpunktder Ellipse nehmen, den Sehstrahl dieses Punktes berechnen und schlussfolgern, dass derMittelpunkt der Kugel auf diesem Sehstrahl liegen muss. Dies ist falsch. Der Mittelpunktder Kugel wird i. Allg. nicht in den Mittelpunkt der Ellipse abgebildet, siehe Abb. 16.13.Wir müssen uns anders helfen. Dazu stellen wir uns vor, wir hätten die Ellipse detektiertund die große Achse der Ellipse bestimmt. Damit haben wir die beiden Scheitel-Punkteder Ellipse auf der großen Achse A und B bestimmt. Wir bestimmen nun die Sehstrahlendieser beiden Scheitelpunkte, die Richtungsvektoren seien tA und tB . Auf Grund der „tota-len“ Symmetrie einer Kugel sind die beiden Sehstrahlen nicht nur Tangenten an die Kugel,sondern der „winkelhalbierende“ Sehstrahl

tM = tA + tB (16.138)

muss durch den Mittelpunkt der Kugel gehen. Also müssen wir „nur noch“ die Lage desMittelpunktes auf diesem Sehstrahl bestimmen. Der Winkel zwischen tM und tA bzw. tBwerde mit α bezeichnet. DenWinkel zwischen tA und tB berechnen wir zu:

cos α =tTAtB

∣tA∣ ⋅ ∣tB ∣. (16.139)

Wenn wir den zu berechnenden Mittelpunkt xM berechnen wollen

xM = xc + λtM , ∣tM ∣ = , (16.140)

müssen wir nur noch λ bestimmen. Der Sehstrahlen tA und tB sind tangent an die Kugel.Betrachten wir die tangentialen Punkte und verbinden diese mit demMittelpunkt, entste-hen zwei rechtwinklige Dreiecke, die in einer gemeinsamen Ebene liegen. Wir beziehenuns nun auf eines dieser beiden rechtwinkligen Dreiecke und erhalten simpel:

sin α =r

λ ⋅ ∣tM ∣=rλ. (16.141)

Diese Beziehung benutzen wir nun in:

xM = xc + λtM = xM = xc +r

sin αtM = xc +

r√ − cos α

tM (16.142)

Page 418: Bildverarbeitung und Objekterkennung ||

16.8 Monokulare Rekonstruktion 411

A

B H

C

A B H

C

Abb. 16.13 Abbildung einer Kugel

Mit cos α = cos α+ erhalten wir schließlich:

xM = xc +tA + tB∣tA + tB ∣

√r

− tTAtB∣tA ∣⋅∣tB ∣

. (16.143)

Was ist also abschließend zu tun:

• Bestimme die Kontur des Objektes im Bild, das das Abbild der Kugel darstellt.• Fitte an die Konturpunkte eine Ellipse und bestimme deren Scheitelpunkte auf der

großen Achse.• Berechne die Sehstrahlen dieser beiden Punkte mit den Kalibrierdaten der Kamera.• Berechne nach obiger Formel die Lage des Mittelpunktes der Kugel.

Die Kugelrekonstruktion können wir uns auch bildlich vorstellen: Man bilde von der Kon-tur der Ellipse im Bild ausgehend den Sichtkegel, der einen Kreiskegel (in Normallage)darstellt. Man nehme nun die Kugel und „schmeiße“ sie von oben in den Kreiskegel. Dortwo die Kugel zur Ruhe kommt, ist die zu rekonstruierende Position der Kugel.

16.8.5 Kreisscheiben

Wesentlich schwieriger als Kugeln sind Kreisscheiben zu rekonstruieren. A-priori mussauch nur deren Radius r bekannt sein. Zur Rekonstruktion müssen wir aber außer demKreismittelpunkt xM noch deren Orientierung im Raum, z. B. den Normalenvektor n be-rechnen. Eine Kreisscheibe im Raum ergibt natürlich im Bild eine Ellipse. Wir haben be-züglich des Mittelpunktes den gleichen Effekt wie bei Kugeln, der Mittelpunkt der Kreis-scheibe wird i. Allg. nicht in den Mittelpunkt der Ellipse im Bild abgebildet. Wir können

Page 419: Bildverarbeitung und Objekterkennung ||

412 16 3D-Rekonstruktion

uns aber bildlich wieder vorstellen: Man bilde von der Ellipse im Bild ausgehend den jetztelliptischen Sichtkegel (muss kein Kreiskegel in Normallage sein) und schneide diesen Ke-gel so mit einer Ebene, dass eine Kreisscheibe vom Radius r entsteht.

Zunächst bestimmen wir als erstes wieder die Ellipse im Bild, beschrieben durch dieGleichung in homogenen Koordinaten:

uTEu = , E =⎛⎜⎝

a b/ d/b/ c e/d/ e/ f

⎞⎟⎠. (16.144)

Die Abbildungsgleichungen lauten wie üblich:

u = Ax + a = A(x − xc). (16.145)

Diese setzen wir in die Ellipsengleichung ein und erhalten damit die Beschreibung deselliptischen Sichtkegels in x. Zur Einfachheit legen wir nun den Koordinatenursprung indas Projektionszentrum, damit reduzieren sich die Abbildungsgleichungen zu:

u = Ax. (16.146)

Damit ergibt sich

xTATEAx = xTSx = (16.147)

als Beschreibung des elliptischen Sichtkegels. Wir schreiben nun die Normalform (inHauptachsenlage) eines elliptischen Kegels auf:

x

a+y

b−z

c= . (16.148)

Um unseren Elliptischen Sichtkegel in diese Normalform zu transformieren, brauchen wirnur rotieren (nicht translatieren, da Koordinatenursprung im Projektionszentrum), alsosetzen wir an

x = Rx′ (16.149)

mit einer Rotationsmatrix R. Diese Transformation setzen wir in die Gleichung des ellip-tischen Sichtkegels ein und erhalten:

x′TRTSRx′ = x′TS′x′ = . (16.150)

Die Matrix S′ = RTSR muss, wenn es die obige Normalform werden soll, eine Diagonal-matrix werden:

S′ =⎛⎜⎝

λ λ λ

⎞⎟⎠, λ , λ > , λ < . (16.151)

Page 420: Bildverarbeitung und Objekterkennung ||

16.8 Monokulare Rekonstruktion 413

Die Berechnung von R und S′ geschieht wie üblich als Eigenwertproblem. Wenn wir nundiesen Kegel mit der Ebene z′ = const schneiden, ergibt sich immer noch kein Kreis, son-dern eine Ellipse. Wir setzen im folgenden einmal λ ≥ λ voraus, dies bedeutet, dass diegroße Achse der Schnittellipse die y′-Achse ist. Da der Schnitt mit der z′-Achse eine Kreis-scheibe ergeben soll, müssen wir den Kegel jetzt einer speziellen Rotation unterziehen undwürden die Normalform wieder verlassen. Wir brauchen doch nur den Kegel um einenWinkel φ bezüglich der y′-Achse drehen und zwar so, dass Schnitte mit der z-Achse Krei-se ergeben und keine Ellipsen. Also rotieren wir x′ = R′x′′ mit der speziellen Rotations-matrix:

R′ =⎛⎜⎝

cos φ sin φ

− sin φ cosφ

⎞⎟⎠. (16.152)

Wir setzen wieder ein und erhalten:

x′′TR′TS′R′x′′ = x′′TS′′x′′ = . (16.153)

Dabei errechnet sich S′′ zu:

⎛⎜⎝

λ cos φ + λ sin φ (λ − λ)/ sin φ λ

(λ − λ)/ sin φ λ sin φ + λ cos φ

⎞⎟⎠. (16.154)

Wir schreiben die Gleichung nochmals elementar ohne Matrixnotation auf:

(λ cos φ + λ sin φ)x′′ + λy′′

+ (λ sin φ + λ cos φ)z′′ + (λ − λ)(sin φ)x′′z′′ = . (16.155)

Nun schneiden wir diesen Kegel mit z′′ = z′′m = const so, dass sich ein Kreis ergeben soll.Die Bedingung dafür ist recht leicht abzulesen:

λ = λ cos φ + λ sin φ. (16.156)

Diese trigonometrische Gleichung in φ besitzt vier Lösungen:

φ, = ±arccos

λ − λ − λλ − λ

, φ = φ + π, φ = φ + π. (16.157)

Die Unbekannte z′′m = const können wir berechnen, da der Kreis ja einen vorgegebe-nen Radius r haben muss. Da die Bestimmungsgleichung in z′′m quadratisch ist, erhaltenwir 2 Lösungen, also insgesamt ⋅ = Lösungen. Für diese 8 Lösungen bestimmenwir die lage des Mittelpunktes und der Normalenvektor in z′′-Richtung simpel angeb-bar. Die 8 Lösungen fallen allerdings zu vier zusammen, 2 Lösungen vor und 2 Lösungen

Page 421: Bildverarbeitung und Objekterkennung ||

414 16 3D-Rekonstruktion

Abb. 16.14 Rekonstruktionvon Kreisscheiben

nach dem Projektionszentrum. Die 2 Lösungen vor demProjektionszentrum schließen wiraus, so dass endgültig nur 2 Lösungen übrigbleiben, siehe Abb. 16.14. Die Lösungen imx′′ , y′′, z′′-Koordinatensystem transformieren wir nun zurück durch Invertierung unsererTransformationen.

Page 422: Bildverarbeitung und Objekterkennung ||

17Tensoren in der Bildverarbeitung

Der Begriff des Tensors wird in der Bildverarbeitung häufig verwendet. Das folgende Ka-pitel hat zum Ziel die mathematischen Grundlagen der Tensoralgebra vorzustellen, damitdiese mathematisch exakt in der Bildverarbeitung eingesetzt werden können. Als Beispielewerden wir den trifokalen Tensor und den Strukturtensor betrachten.

17.1 Grundbegriffe der Tensoralgebra

Tensoren sind indizierte Größen, die eine physikalische oder geometrische Bedeutung be-sitzen. Diese Größen sind eigentlich unabhängig vom konkreten Koordinatensystem, än-dern aber ihre Koordinatendarstellung bei Wechsel des Koordinatensystems. In der Bild-verarbeitung kommt man im Prinzip mit dem Matrix- und Vektor-Kalkül aus. Nur beiGrößen mit mehr als zwei Indizes bereitet die Lineare Algebra gewisse Schwierigkeiten,hier zeigt die Tensoralgebra erst ihre Vorteile. Auch die Schreibweise der Indizes der Ten-soren unterscheidet sich etwas von der Schreibweise von Matrizen. Indizes von Tensorenkönnen unten oder oben an Symbole geschrieben werden, dies hat eine tiefere Bedeutungund kann nicht wahllos erfolgen. Häufig wird die verbale Aussage gemacht: Tensoren sindim Prinzip mehrdimensionale Matrizen und umgekehrt. Dies ist natürlich nicht richtig,aber ganz falsch ist es auch nicht.

17.1.1 VektorraumV

Den Begriff des Vektorraumes und die damit verbundenen Rechenregeln setzen wir alsbekannt voraus. Zunächst betrachten wir endlichdimensionale Vektorräume V, d. h. dieseVektorräume besitzen eine endliche Basis. In unserer Vorstellung haben wir dabei den ge-wöhnlichen Vektorraumvon n-Tupeln reeller Zahlen, wobei wir uns die Elemente aus V alsSpaltenvektoren vorstellen. Vektoren, also Elemente eines Vektorraumes V, werden wir fett

415H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_17, © Springer Fachmedien Wiesbaden 2014

Page 423: Bildverarbeitung und Objekterkennung ||

416 17 Tensoren in der Bildverarbeitung

darstellen, die Koordinaten eines Vektors dagegen nicht. Es sei also x ∈ V , dann entwickelnwir x nach einer Basis:

x =n∑i=

xiei . (17.1)

Die Schreibweise ist nicht zufällig gewählt. Bei den Koordinaten xi des Vektors x schreibenwir stets die Indizes oben, bei den Basisvektoren ei dagegen unten.

17.1.2 Einsteinsche Summenschreibweise

Wirwerden imFolgenden die Schreibweise aus der theoretischen Physik benutzen. Kommtalso in einem Ausdruck ein Index in mehreren Faktoren gleichzeitig vor, bedeutet dies,dass über ihn summiert wird. So erhalten wir die Einsteinsche Schreibweise bezüglich derBasiszerlegung:

x = xieidef=

n∑i=

xiei . (17.2)

Dies kann aber zu Verwechslungen führen, insbesondere wenn in einem Term mehrereIndizes gleich sind.Was bedeutet also gkk , entweder∑k gkk oder einfach nur die Terme, beidenen der erste Index gleich demzweiten ist?Diesmuss aus demZusammenhang eindeutighervorgehen.

17.1.3 Dualer Vektorraum V*

Dieser Begriff wird nicht ganz so bekannt sein, daher erfolgt eine kurze Erläuterung. Wirbetrachten die Menge aller linearen Vektorfunktionen φ(x) über V, d. h.:

φ ∈ V∗ ∶ V → R (17.3)

mit der Linearität

φ(λx+ μy) = λφ(x) + μφ(y); λ, μ ∈ R. (17.4)

Die Menge aller dieser linearen Vektorfunktionen bildet selbst einen Vektorraum, den so-genannten dualen VektorraumV* zuV.Dazumüssen die Regeln eines Vektorraumes selbstfür die Funktionen gelten. Was ist also eine Addition zweier linearer Vektorfunktionen?Dies definiert man einfach zu:

(αφ + βψ)(x) = αφ(x) + βψ(x). (17.5)

Page 424: Bildverarbeitung und Objekterkennung ||

17.1 Grundbegriffe der Tensoralgebra 417

Was steckt wieder anschaulich hinter den linearen Vektorfunktionen? Dies stellen wir unsvor als Skalarprodukt eines festen Zeilen-Vektors zmit dem Spalten-Vektor x. Jede lineareVektorfunktion ist also eindeutig durch solch einen Zeilen-Vektor z bestimmt.

Da nun V* auch ein Vektorraum ist, hat er eine Basis, die von gleicher Dimension wiedie von V ist. Wir wählen wie üblich eine kanonische Basis. Die Basiselemente sind alsoVektorfunktionen. Diese Basiselemente (die abstrakt ja auch Vektoren sind) indizieren wirim Gegensatz zu V mit oberen Indizes, und die Koordinaten dagegen mit unteren Indizes(alles gegenläufig zu V). Wir wählen n Basis-Vektorfunktionen mit der folgenden Eigen-schaft (notiert in der Einsteinschen Schreibweise):

φ = φiei . (17.6)

Dabei sind φi die Koordinaten (folglich Zahlen) und die Basiselemente ei sind lineare Vek-torfunktionen aus V* und nicht aus V für die gelten soll: ei(e j) = δij . Unsere Schreibweisemit fett war nicht ganz konsequent, als Vektoren hätten wir auch φ fett schreiben müssen.

Wir wenden nun φ auf einen Vektor x ∈ V an:

φ(x) = φiei(x) = φiei(x je j) = φixi . (17.7)

Gleichzeitig gilt

φ(x) = φ(xiei) = xiφ(ei) = xiφi . (17.8)

Damit ist φi = φ(ei), d. h. die Koordinaten φi sind gerade die Abbildungen, also Zahlen,der Basisvektoren ei . Da der duale Vektorraum V* in unserer Vorstellung indentisch mitdem V ist, heißt dies für uns nur, daß wir in V eigentlich zwei Basissysteme gewählt haben,zur Unterscheidung schreiben wir die Basisvektoren einmal mit ei und einmal ebenmit ei ,genausomüssenwir dann die Koordinaten eines Vektors x unterscheiden mit xi und xi . Dadie Basissysteme für sich allein keineOrthonormalsysteme seinmüssen, fordernwir (damitwir überhaupt eine günstige Eigenschaft zumRechnen haben), dass die Systeme zueinanderorthonormal sein sollen, dazu sagt man auch, sie seien biorthogonale Basissysteme. DieseEigenschaft hatten wir oben als: „Wir wählen in V* eine kanonische Basis mit“

e j(ei) = δ ji (17.9)

bezeichnet.

17.1.4 Multilineare Vektorfunktionen

Eine bilineare Vektorfunktion φ(x, y) ist linear in x, wenn man y festhält und in y, wennman x festhält. Linearität ist wieder im Sinne eines linearen Operators zu verstehen. Daher

Page 425: Bildverarbeitung und Objekterkennung ||

418 17 Tensoren in der Bildverarbeitung

können wir schreiben:

φ(x, y) = φ(xiei , y je j) = φ(ei , e j)xi y j = φi jx i y j . (17.10)

Ein typischer Vertreter einer bilinearen Vektorfunktion ist das Skalarprodukt zweier Vek-toren φ(x, y) = ⟨x, y⟩. Multilineare Vektorfunktionen sind dann Vektorfunktionen in nArgumenten, die linear in jedem Argument sind, wenn man die n − anderen Argumentefesthält, z. B. mit drei Argumenten gilt:

φ(x, y, z) = φ(xiei , y je j , zkek) = φ(ei , e j , ek)xi y jzk = φi jk x i y jzk . (17.11)

17.1.5 Multilineare Vektorabbildungen

Im Gegensatz zu den Vektorfunktionen betrachten wir jetzt lineare Vektorabbildungen,d. h. die Abbilder sind keine Zahlen mehr, sondern selbst Vektoren aus V:

φ ∶ V → V. (17.12)

Da φ(x) selbst ein Vektor ist, bezeichnen wir seine j-te Koordinatemit y j = φj(x) (alsomitIndex oben). Damit können wir gleich für die j-te Koordinate die obige Formel benutzen:

y j = φj(x) = φj(xiei) = xiφ j(ei) = φji x

i . (17.13)

Für eine lineare Abbildung rechnen sich also die Koordinaten nach der Formel

y j = φji x

i (17.14)

um. Dies kennen wir schon von affinen Abbildungen ohne Verschiebung, wobei dann inMatrixschreibweise gilt: y = A ⋅ x. Die Matrixelemente ai j entsprechen dann gerade denWerten φi

j, also gerade der transponierten Matrix, wenn wir den unteren Index als Zeilen-index auffassen. Nun können wir beliebige multilineare Vektorabbildungen benutzen, z. B.bilineare Vektorabbildungen und können für die Koordinaten schreiben:

zk = φk(x, y) = φk(xiei , y je j) = φki jx

i y j . (17.15)

Ein Beispiel für eine bilineare Vektorabbildung ist das gewöhnliche Vektorprodukt im drei-dimensionalen Raum. Wir sehen, es besteht ein klares Konzept in der Schreibweise derIndizes.

Page 426: Bildverarbeitung und Objekterkennung ||

17.1 Grundbegriffe der Tensoralgebra 419

17.1.6 Wechsel des Koordinatensystems

Viele physikalische als auch geometrische Größen sind eigentlich unabhängig vom konkretgewähltenKoordinatensystem. BeiÄnderung desKoordinatensystems ändern sich aber dieKoordinaten der uns interessierenden Größen. Deshalb ist es interessant zu untersuchen,wie sich die Koordinaten beiWechsel des Koordinatensystems ändern. Dazu schreiben wirauf, wie sich die n Basisvektoren ändern, d. h. wie aus ihnen ein anderes n-Bein gemachtwird. Damit ändern wir das Koordinatensystem durch eine affineAbbildung und nicht nurdurch eine Rotation. Schreiben wir dies einmal in üblicher mathematischer Schreibweiseauf:

e′i =n∑j=

Ai je j . (17.16)

Jetzt ändern wir die Schreibweise, nutzen die Einsteinsche Abkürzung, und hängen den„Strich“ (dies ist für uns ungewöhnlich) an die Idizes:

ei′ = Aji′e j . (17.17)

Wir haben bei denMatrixelementen das j nach oben gezogen, dadurch ist die EinsteinscheSchreibweise wieder möglich. Wenn wir die Matrix A invertieren, so bezeichnen wir dieElemente der inversen Matrix mit Aj′

i , d. h. wir erkennen dies daran, wenn beim Indexoben ein Strich steht. Mit dieser Konvention können wir die alten Basisvektoren durch dieneuen ausdrücken durch:

ei = Aj′

i e j′ . (17.18)

Für uns ist nun interessant, wie sich die Koordinaten eines Vektors x bei Änderung derBasis ändern, daher schreiben wir:

x = xiei = xi′ei′ = xi′Aii′ei = xiAi′

i ei′ . (17.19)

Daraus können wir für die Koordinaten ablesen:

xi′ = Ai′i x

i , xi = Aii′x

i′ . (17.20)

Wenn wir nun die Basisvektoren transformieren, wie müssen sich dann die kontravarian-ten Basisvektoren transformieren, so dass nach der Transformation beide Systeme wiederbiorthogonal sind?Wir nehmen einmal an, die biorthogonalen Basisvektoren würden sichnach der Vorschrift transformieren

ei′

= Ai′j e

j , (17.21)

Page 427: Bildverarbeitung und Objekterkennung ||

420 17 Tensoren in der Bildverarbeitung

also genauso wie die Koordinaten xi′ . Da das biorthogonale System eindeutig bestimmt ist,brauchen wir die Richtigkeit nur überprüfen, indem wir die Biorthogonalität zeigen. Alsofragen wir jetzt, ob die Biorthogonalität im transformierten System noch richtig ist:

⟨e j′

, ei′⟩ = ⟨Aj′

j ej ,Ai

i′ei⟩ = Aj′

j Aii′⟨e

j , ei⟩ = Aj′

j Aii′δ

ji = δ j′

i′ . (17.22)

Fassen wir zusammen: beim Übergang zu einer neuen Basis transformieren sich die Basis-vektoren und die Koordinaten folgendermaßen:

ei′ = Aii′ei , ei = Ai′

i ei′ , xi′ = Ai′i x

i , xi = Aii′x

i′ . (17.23)

ei′

= Ai′i e

i , ei = Aii′e

i′ , xi′ = Aii′ xi , xi = Ai′

i xi′ . (17.24)

Formeln (17.23) und (17.24) drücken die wesentlichen Beziehungen aus, die für Tensorenwichtig sind und auf denen vieles beruht. Alles scheint sich gegenläufig zu transformieren.Im kovarianten Basissystem transformieren sich die Basisvektorenwie die kovarianten Ko-ordinaten einesVektors bezüglich des kontravarianten Basissystems undumgedreht.Daherauch der Sprachgebrauch „kovariant“, es transformiert sich wie Basisvektoren des Aus-gangssystems, und „kontravariant“ wie die Basisvektoren des Biorthogonalsystems oderdes kontravarianten Systems. Man sieht z. B. dass sich die transformierten Koordinatenaus der transponierten Matrix der inversen Matrix von A berechnen. Damit ergibt sichz. B. ein schöner Spezialfall für die Drehung des Koordinatensystems mittels einer Rota-tionsmatrix R. Die Transponierte der Inversen Rotationsmatrix ist wieder R selbst, dahertransformierten sich die Basisvektoren und die Koordinaten in gleicher Art und Weise.Wenn wir nun noch den Spezialfall betrachten, dass unser Ausgangsbasissystem ei einOrthonormalsystem ist und wir nur reine Rotationen betrachten, dann fällt alles in sichzusammen zu einer einzigen Transformation, d. h. das kontravariante Basissystem ist iden-tisch mit dem kovarianten System und die Koordinaten transformieren sich genauso wiedie Basisvektoren.

17.1.7 Tensoren

Indizierte Größen, also in unserer Bezeichnung kleine Buchstaben mit Indizes obenund/oder unten, nennen wir Tensoren, wenn sie sich in bestimmter Weise transformieren,sobald sich das Koordinatensystem ändert. Dies wird in der Literatur oft als Invarianzfor-derung bezeichnet. Es hat aber eigentlich mit Invarianten in dem Sinne, dass bestimmteZahlen invariant sind, überhaupt nichts zu tun. Wie bei Vektoren und Matrizen müsstenwir eigentlich streng unterscheiden zwischen der Bezeichnung eines Tensors a und sei-nen Koordinaten ai . Da man aber oft noch unterscheiden muss, ist der Tensor kovariant,kontravariant, oder gemischt, ist es einfacher seine Koordinaten aufzuführen.

Page 428: Bildverarbeitung und Objekterkennung ||

17.1 Grundbegriffe der Tensoralgebra 421

Beispiel 1

• Wir betrachten Vektoren und deren Koordinaten xi , also einen Tensor, der einen Indexoben trägt. Wie transformieren sich nun die Koordinaten xi wenn sich das Koordina-tensystem ändert? Dies hatten wir schon aufgeschrieben zu:

xi′ = Ai′i x

i . (17.25)

• Wenn sich also ein einstufiger Tensor mit einem Index oben so transformiert, dannnennen wir ihn einen kontravarianten Tensor. Man beachte, die Ai′

i sind die Elementeder inversen Matrix und der untere Index „läuft“.

Beispiel 2

• Wir betrachten nun nicht die Koordinaten eines Vektors aus V, sondern eines Vektorsaus V*, dessen Koordinaten hatten wir mit φi bezeichnet. Wir wollen untersuchen, wiesich diese Koordinaten transformieren:

φi′ = φ(ei′) = φ(Aii′ei) = Ai

i′φi . (17.26)

• Damit erhalten wir die Koordinatentransformation:

φi′ = Aii′φi (17.27)

und bezeichnen den Tensor erster Stufe φi als einen kovarianten Tensor.

Es gibt also für einstufige Tensoren nur diese beiden Typen von Tensoren. Für mehrstufigeTensoren benötigen wir mehr Indizes und fordern für jeden Index eine weitere Trans-formation entsprechend der bisher aufgestellten Regeln. Nehmen wir einen zweistufigen,kovarianten Tensor. Dieser hat zwei untere Indizes und muss sich zweimal so transformie-ren wie der einstufige Tensor.

Beispiel 3

• Wir wählen einmal eine bilineare Vektorfunktion, die durch die Größen φi j = φ(ei , e j)gekennzeichnet war. Wie transformieren sich diese nun?

• Wir können obige Regel für lineare Vektorfunktionen fast identisch übernehmen underhalten

φi′ j′ = φ(ei′ , e j′) = Aii′A

jj′φi j , (17.28)

folglich einen zweistufigen, kovarianten Tensor φi j .

Page 429: Bildverarbeitung und Objekterkennung ||

422 17 Tensoren in der Bildverarbeitung

Beispiel 4

• Wir wählen nun lineare Vektorabbildungen, für diese hatten wir eine Umrechnung derKoordinaten in der Form y j = φj

i xi hergeleitet. Ist nun φj

i ein Tensor? Dazumüssen wiruntersuchen, wie sich diese Größe bei Wechsel des Koordinatensystems transformiert.

• Wir betrachten die Bilder der Einheitsvektoren im transformierten System

φ(ei′) = φ j′

i′e j′ . (17.29)

• Nun versuchen wir diese durch die „alten“ Basisvektoren auszudrücken:

φ(ei′) = φ(Aii′ei) = Ai

i′φ(ei) = Aii′φ

jie j = Ai

i′φjiA

j′

j e j′

= Aii′A

j′

j φjie j′ (17.30)

• Vergleichen wir beide Ausdrücke, so können wir ablesen:

φj′

i′ = Aii′A

j′

j φji . (17.31)

• Wir sehen: Der Tensor transformiert sich genauso wie wir es fordern, mit dem oberenIndex kontravariant, undmit demunteren Index kovariant.Demnach ist φj

i ein einstufigkontravarianter und einstufig kovarianter Tensor, damit aber trotzdem ein zweistufigerTensor oder Tensor zweiter Stufe.

• Wenn wir a ji durch das Kroneckersymbol ersetzen, aber die Indizes genauso setzen, er-

halten wir den Tensor δ ji .Wennwir diesen für a j

i in die Transformation einsetzen, sehenwir, dass δ j

i sich direkt transformiert zu δ j′

i′ . Damit ist dieser Tensor invariant gegenüberdemWechsel des Koordinatensystems, folglich wird δ j

i auch als Einheitstensor bezeich-net.

Beispiel 5

• Uns fehlt eigentlich nur noch ein Bespiel für einen zweistufigen, kontravarianten Tensor.• Dazu bilden wir einfach das Tensorprodukt der Koordinaten zweier Vektoren, die ja für

sich je einstufige kontravariante Tensoren sind. Das allgemeine Tensorprodukt werdenwir noch einführen. Das Tensorprodukt ergibt sich einfach zu:

ai j = xi ⋅ y j . (17.32)

• Wir sehen, es ist das Produkt aus allen möglichen Kombinationen. Dieses Tensorpro-dukt wird oft auch dyadisches Produkt genannt, wir kennen es als das Produkt einesSpaltenvektors mit einem Zeilenvektor. Dieses ist nicht kommutativ, d. h. bei Vertau-schung entsteht ein neuer Tensor.

Page 430: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 423

17.2 Allgemeine Tensoren

Wenn sich eine indizierte Größe a j ... j li ... ik nach der Regel

a j′ ... j′

li′ ... i

k= Aj′

j . . .Aj′lj l A

ii′. . .Aik

i′ka j ... j li ... ik (17.33)

transformiert, nennt man sie einen Tensor, der k-fach kovariant und l-fach kontravariantist.

17.2.1 Tensoralgebra

Da wir bisher wissen, was Tensoren sind, wird es Zeit eine Algebra einzuführen, d. h. Ope-rationen auf Tensoren, die wieder neue Tensoren ergeben. Es gibt nur vier Operationen:

• Addition (Subtraktion)• Multiplikation• Verjüngung• Permutation• eventuell: Überschiebung (ist aber nur die Hintereinanderausführung von Multiplika-

tion und anschließender Verjüngung).

Addition Die Addition ist nur für gleichartige Tensoren erlaubt, man kann also nichteinen einstufigen und einen zweistufigen Tensor addieren. Man muss nur beweisen, dassnach der Addition wieder ein gleichartiger Tensor entsteht, d. h. dass dieser sich genau sotransformiert wie wir das erwarten. Dazu ein

Beispiel

c pqi jk = apqi jk + bpq

i jk . (17.34)

Der Beweis, dass sich c pqi jk genau so wie apqi jk und bpq

i jk bei Wechsel des Koordinatensystemstransformiert ist nahezu trivial und klar. Die Subtraktion erklären wir als Addition, wobeider zweite Summand mit -1 multipliziert wird.

Multiplikation Die Multiplikation ist schon interessanter. Wir multiplizieren alle Kom-binationen miteinander, so dass sich die Stufen des Tensors erhöhen. Die Reihenfolge derMultiplikation istwichtig, es können verschiedeneTensoren entstehen.Also ein einstufiger,kontravarianter und zweistufiger, kovarianter Tensor multipliziert mit einem zweistufigen,

Page 431: Bildverarbeitung und Objekterkennung ||

424 17 Tensoren in der Bildverarbeitung

kontravarianten und dreistufigen, kovarianten Tensor ergibt einen dreistufigen, kontra-varianten und einen fünfstufigen kovarianten Tensor. Dazu ein anderes Beispiel und diezugehörige Schreibweise:

ci jpqr = aipq ⋅ b

jr . (17.35)

Für die linke Seite von (17.35)müssten wir eigentlich zeigen, dass dies auch ein fünfstufigerTensor ist. Da dies sehr einfach ist, wollen wir es der Exaktheit halber einmal tun. Diebeiden gegebenen Tensoren transformieren sich durch:

ai′p′q′ = Ai′

i App′A

qq′ a

ipq , b

j′

r′ = Arr′A

j′

j bjr . (17.36)

Damit ist

ci′ j′

p′q′r′ = ai′p′q′b

j′

r′ = Ai′i A

j′

j App′A

qq′A

rr′ a

ipqb

ir = Ai′

i Aj′

j App′A

qq′A

rr′ c

i jpqr . (17.37)

Wir sehen, der Beweis war wirklich simpel.Damit können wir beliebig neue Tensoren erzeugen. Ein Beispiel war das sogenannte

dyadische Produkt zweier einstufiger, kontravarianter Tensoren. Dazu ein weiteres

Beispiel

• Wenn sich ein Tensor als Produkt darstellt, dann können wir auch umgekehrt formulie-ren, dass er zerfällt. Es zerfalle z. B. ein einfach kontravarianter und einfach kovarianterTensor in

dij = bi ⋅ c j . (17.38)

• Wir erinnern uns, dass für die Koordinaten einer linearen Vektorabbildung gilt:

yi = dij x

j = bi c jx j . (17.39)

Die c j sind ein kovarianter, einstufiger Tensor, folglich deutbar als die Koordinaten einesVektors aus dem dualen Vektorraum V*. Wir können somit formal c j = φj = φ(e j)setzen und damit ist φ(x) = φjx j = c jx j .

• Folglich erhalten wir:

yi = dij x

j = bi c jx j = biφ(x) (17.40)

und damit

y = b ⋅ φ(x). (17.41)

Diese Darstellung eines Vektors nennt man Dyade.

Page 432: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 425

Verjüngung Die Verjüngung erzeugt das Gegenteil einer Multiplikation, der Tensor ver-liert an Stufen. Man kann oft mehrfach hintereinander verjüngen, deshalb interessiert unsjetzt nur eine Stufe der Verjüngung. Verjüngung heißt:man nehmegenau einen Index obenund einen Index unten, setze sie gleich und summiere darüber. Der Tensor verliert nunzwei Stufen, eine kontravariante und eine kovariante Stufe. Man kann mehrmals verjün-gen, aber immer nur nach diesem Schema. Also einen zweistufigen kovarianten Tensorkann man überhaupt nicht verjüngen, weil er oben gar keinen Index hat. Im Gegensatzzur einfachen Addition und Multiplikation von Tensoren muss man nun aber echt bewei-sen, dass auch nach der Verjüngung wieder ein Tensor ensteht, ansonsten wäre dies allesUnsinn.Wir führen den Beweis für ein Beispiel, die Verallgemeinerung ist selbsterklärend.

Beispiel Wir betrachten den dreistufig kontravarianten und zweistufig kovariantenTensorai jkpq und wollen ihn für bestimmte Indizes verjüngen, z. B.

aikq = airk

rqdef= ∑

rairkrq . (17.42)

Wir verjüngenmit dem ersten Index unten und dem zweiten oben, jede andereWahl ergibtwieder andere Tensoren. Wir zeigen nun, dass der verjüngte Tensor aik

q auch wirklich einTensor ist. Dazu betrachten wir die Transformation des nicht verjüngten Tensors:

ai′ j′k′

p′q′ = Ai′i A

j′

j Ak′k A

pp′A

qq′ a

i jkpq . (17.43)

Diesen verjüngen wir nun zu

ai′r′k′r′q′ = Ai′

i Ar′j A

k′k A

pr′A

qq′a

i jkpq . (17.44)

Nun ist aber gerade

Ar′j ⋅ Ap

r′ = δpj . (17.45)

Daraus folgt nun für j = p = r

ai′r′k′r′q′ = Ai′

i Ak′k A

qq′a

irkrq . (17.46)

Daher ist

ai′k′q′ = Ai′

i Ak′k A

qq′ a

ikq , (17.47)

was zu zeigen war.Es folgen nun weitere Beispiele.

Page 433: Bildverarbeitung und Objekterkennung ||

426 17 Tensoren in der Bildverarbeitung

Beispiel 1 Den Tensor φji können wir mit einer linearen Vektorabbildung y = φ(x) iden-

tifizieren und damit als Elemente einer Matrix, die die Koordinaten eines Vektors in dieeines anderen Vektors umrechnet. Um Verwechslungen vorzubeugen, bezeichnen wir denTensor φj

i jetzt mit a ji . Damit erhalten wir als Verjüngung

a = aii (17.48)

ein Skalar, also einen Null-stufigen Tensor. Ein Skalar ist immer invariant gegenüber demWechsel des Koordinatensystems, folglich haben wir eine affine Invariante gefunden, näm-lich die Spur der affinenMatrix. Um die Begriffe deutlich auseinanderzuhalten: der Begriffaffine Invariante bezieht sich darauf, dass wir das Koordinatensystem affin transformieren(aus einem n-Bein wird ein anderes n-Bein). Die Spur der affinen Matrix dagegen beziehtsich auf die lineareVektorabbildung, also auf eine affineAbbildung ohneVerschiebung, dieden Tensor repräsentiert.

Beispiel 2 Statt einen Tensor zu verjüngen, kann man auch bestimmte, gegebene Aus-drücke auffassen als Verjüngung von Tensoren. Wir erinnern uns, die skalare Vektorfunk-tion φ(x) lässt sich darstellen zu:

φ(x) = φixi . (17.49)

Wir sehen, dies kann man als Verjüngung des Tensors φpi = φixp auffassen. Damit ist

φ(x) eine skalare Invariante. Da die linearen Vektorfunktionen als Skalarprodukte gedeu-tet werden können, könnte man nun glauben, das Skalarprodukt sei affin invariant. Dielinearen Vektorfunktionen aus dem dualen Raum sind zwar formal dem Skalarproduktähnlich, verhalten sich aber nicht so bei einer Transformationen. Wir transformieren jagerade die Basisvektoren des Dualraumes gegenläufig zum Vektorraum, beim eigentlichenSkalarprodukt zweier Vektoren ist dies natürlich nicht so. Wir müssen also immer genauüberlegen, was eine Verjüngung inhaltlich zu bedeuten hat. Können wir aber nun die In-variante φ(x) = φixi deuten? Dies ist recht einfach, dazu betrachten wir geometrisch eineHyperebene, die nicht durch den Koordinatenursprung geht:

aix i = . (17.50)

Wenn wir die Koordinaten xi affin transformieren, also xi = Aii′x

i′ einsetzen, so erhaltenwir ai′ = Ai

i′ai , d. h. die Koeffizienten ai verhalten sich tatsächlich wie ein kovarianter Ten-sor. Damit beschreibt unsere lineare Vektorfunktion die linke Seite einer Ebenengleichungund die skalare Invariante φ(x) = aix i ist die rechte Seite der Ebenengleichung, die sichtatsächlich nicht ändert. Es ist

ai′xi′ = (17.51)

die Ebenengleichung nach Wechsel des Koordinatensystems.

Page 434: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 427

Beispiel 3 All dies gilt auch analog für multilineare Vektorfunktionen, z. B. ist φ(x, y) =

φi jx i y j die zweifache Verjüngung von φpqi j = φi jx p yq . Man verwendet dafür eine ab-

kürzende Sprechweise: Der Tensor φi j wird mit den Tensoren xi und y j überschoben,dies ist also dasselbe wie: „Der Tensor φi j wird mit den Tensoren xp und yq multipliziertund anschließend doppelt verjüngt“. Was bedeutet nun wieder geometrisch die Invari-ante φ(x, y) = φi jx i y j? Wir ahnen es schon in Verallgemeinerung, es sind quadratischeFormen, die Kurven zweiter Ordnung beziehungsweise Hyperflächen zweiter Ordnungbeschreiben:

ai jx i y j = . (17.52)

Wenn wir wieder xi = Aii′x

i′ , y j = Ajj′ y

j′ einsetzen, so sehen wir sofort, dass sich die Ko-effizienten ai′ j′ zweifach kovariant transformieren, die Invariante ist wieder weiter nichtsals die rechte Seite. Wir sehen, dies gilt nun sofort für alle Hyperflächen n-ter Ordnungbezüglich multilinearer Vektorfunktionen.

Permutationen Jede Permutation der Indizes eines Tensors ergibt einen neuen Tensor.Dies gilt aber nur, wenn die Indizes unten und/oder oben für sich permutiert werden, esdürfen also nicht Indizes von unten mit denen von oben gemeinsam in einer Permutationverändert werden, weil dies anschließend kein Tensor mehr ist. Das liegt daran, dass sichuntere und obere Indizes anders transformieren. Dazu ein einfaches Beispiel:

• Wenn ai j ein Tensor ist, dann auch a ji .• Wenn ai j ein Tensor ist, dann auch a ji .• Wenn a j

i ein Tensor ist, dann ist aij kein Tensor mehr.

Wenn wir folglich zweistufige Tensoren als Matrizen auffassen, dann existiert nicht in je-dem Falle die transponierte Matrix in dem Sinne, dass sie auch einen Tensor repräsentiert.In der Anwendung haben aber nur zwei Typen von Permutationen Bedeutung, nämlichdie, die etwas mit symmetrischen und schiefsymmetrischen Tensoren zu tun haben.

• Die Symmetrisierung von TensorenMan wählt dazu entweder von den oberen oder den unteren Indizes N Stück aus, bildetalle Permutationen dieser N Indizes, und berechnet das arithmetischeMittel aller dieserTensoren mit den permutierten Indizes. Beim Ergebnistensor setzen wir die permutier-ten Indizes in runde Klammern.Beispiel N = :

a(i j) =

(ai j + a ji). (17.53)

Beispiel N = :

a(i jk) =

(ai jk + a jki + aki j + a jik + aik j + ak ji). (17.54)

Page 435: Bildverarbeitung und Objekterkennung ||

428 17 Tensoren in der Bildverarbeitung

Einen Tensor nennt man symmetrisch (bezüglich der N Indizes), wenn er für alle Per-mutationen der N Indizes gleich ist.Im Falle N = muss dann ai j = a ji gelten, falls der Tensor symmetrisch ist.

• Die Alternierung von Tensoren (Antisymmetrisierung)Es gilt die gleiche Regel wie bei der Symmetrisierung, nur dass gerade Permutationenpositiv und ungerade Permutationen negativ in die Summierung eingehen, die Indizesschreiben wir jetzt in eckige Klammern (bei einer geraden Permutation ist die Anzahlder Inversionen gerade)Beispiel N = :

a[i j] =

(ai j − a ji). (17.55)

Beispiel N = :

a[i jk] =

(ai jk + a jki + aki j − a jik − ak ji − aik j). (17.56)

Einen Tensor nennt man schiefsymmetrisch, wenn man eine ungerade Permutation der In-dizes bildet, dann wechselt er sein Vorzeichen, bei einer geraden Permutation bleibt seinVorzeichen erhalten. Oder was dasselbe ist, bildet man eine Transposition zweier Indizes,wechselt er sein Vorzeichen. Eine Transposition ist das Vertauschen zweier Indizes, dabeiändert sich die Anzahl der Inversionen immer um eine ungerade Anzahl, wie man sichleicht überlegen kann. Damit wird bei einer Transposition aus einer geraden Permutationeine ungerade und umgekehrt.

Beispiel N = :

ai j = −a ji . (17.57)

Beispiel N = :

ai jk = a jki = aki j = −a jik = −ak ji = −aik j . (17.58)

Selbstverständlich sind die alternierten Tensoren a[... ] schiefsymmetrisch. Wir nehmen

einmal an, ein Tensor sei schiefsymmetrisch. Wenn wir eine Transposition durchführen,also zwei Indizes vertauschen, wechselt der Tensor sein Vorzeichen. Da z. B.

aiik = −aiik → aiik = . (17.59)

ist, folgt

aiik = ai j j = ak jk = . (17.60)

Page 436: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 429

Dies können wir verallgemeinern zu n-Indizes eines schiefsymmetrischen Tensors:Alle Koordinaten eines Tensors, bei denen mindestens zwei Indizes gleich sind, müs-

sen verschwinden. Im Folgenden betrachten wir ein für die Praxis wichtiges Beispiel einesschiefsymmetrischen Tensors.

Beispiel Ein spezieller schiefsymmetrischer Tensor dritter Stufe ist der Levi-Civita-Tensor.Er wird häufig benutzt, um das Vektorprodukt (Kreuzprodukt) zweier Vektoren im V

elegant und kompakt aufzuschreiben, er wird mit εi jk bezeichnet. Da im 3D-Vektorraumund in der 3D-Bildverarbeitung das Vektorprodukt eine große Bedeutung hat (z. B. bei dersogenannten E-Matrix), sollen noch einige Ausführungen folgen. Dazu betrachten wir einebeliebige Basis ei und bilden das Vektorprodukt:

a × b = (aiei) × (b je j) = aib j(ei × e j). (17.61)

Damit bestimmen die Produkte ei × e j das Vektorprodukt. Nehmen wir als Beispiel e ×e, dieser Vektor steht auf beiden senkrecht, und dies macht ja gerade der Vektor e desbiorthogonalen Systems. Jetzt normieren wir nur noch die Länge so, dass sich ⟨e , e⟩ = ergibt. Damit können wir nun allgemein aufschreiben (dabei ist Spat eine Abkürzung fürdas bekannte Spatprodukt):

ei × e j =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Spat(e , e, e)ek , i , j, k gerade Permutation−Spat(e , e, e)ek , i , j, k ungerade Permutation, sonst.

(17.62)

Damit können wir das Vektorprodukt aufschreiben:

a × b = Spat(e , e , e)[aib j − a jbi]ek , i , j, k gerade Permutation. (17.63)

Weiterhin ist

a × b = Ce + Ce + Ce (17.64)

mit

Ck = Spat(e , e , e)[aib j − a jbi], i , j, k gerade Permutation. (17.65)

Damit sind die Ck die Koordinaten des Ergebnisvektors, aber bezüglich der anderen bior-thogonalen Basis, deshalb stehen die Indizes auch unten. Nun können wir die Koordinatenvertauschen und erhalten analog:

a × b = Spat(e , e , e)[aib j − a jbi]ek , i , j, k gerade Permutation. (17.66)

Page 437: Bildverarbeitung und Objekterkennung ||

430 17 Tensoren in der Bildverarbeitung

Oder weiterhin

a × b = C e + Ce + Ce (17.67)

mit

Ck = Spat(e , e , e)[aib j − a jbi], i , j, k gerade Permutation. (17.68)

Wir sehen, die Regel sieht fast so aus wie in kartesischen Koordinaten, es kommt nur nochdas Spatprodukt als Faktor dazu und zu beachten sind die verschiedenen Basen. Daherkönnenwir diese Regeln auch leicht wie üblich inDeterminantenschreibweise formulieren:

a × b = Spat(e , e, e)

���������������

e e e

a a a

b b b

���������������

. (17.69)

Daraus lässt sich sogar gleich die Regel für das Spatprodukt selbst ableiten:

Spat(a, b, c) = Spat(e , e , e)

���������������

a a a

b b b

c c c

���������������

. (17.70)

Durch Vertauschen der Indizes folgen die anderen Regeln. Nun wollen wir das Vektor-produkt in Tensorschreibweise darstellen. Dazu betrachten wir den schiefsymmetrischen,dreistufigen Tensor εklm . Man beachte, da wir im -dimensionalen Raum sind, kann jederIndex nur die Werte , , annehmen und nicht mehr. Daher kann der Tensor nur = Werte annehmen. Nach unseren allgemeinen Regeln für schiefsymmetrische Tensoren giltnun:

ε = ε = ε = −ε = −ε = −ε . (17.71)

Alle anderenWerte sindNull, weil dannmindestens zwei Indizes gleich seinmüssen.Dem-zufolge hat dieser Tensor nur einen freien Parameter. Wennwir z. B. ε irgendwie wählen,dann sind alle anderen fest bestimmt. Wenn wir den Tensor εklm nach unseren üblichenTensorregeln transformieren, also dasKoordinatensystemwechseln, wie transformiert sicheigentlich dann dieser eine freie Parameter? Dies kannman leicht aufschreiben und erhält:

ε′′′ = det(A)ε , (17.72)

beziehungsweise

ε′′′ = det(A′)ε (17.73)

Page 438: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 431

(A′ war die inverse Transformationsmatrix). Wir wollen nun das Vektorprodukt mit die-sem Tensor ausdrücken. Wir nehmen einaml an, es sei ε = und wir hätten nur Or-thogonalsysteme und nur Rotationen, so dass die Determinate immer +1 ist. Dann giltoffensichtlich:

[a × b]k = εi jk aib j . (17.74)

Umgekehrt natürlich auch:

[a × b]k = εi jk aib j . (17.75)

Dabei könnten wir jetzt die Indizes auch nur oben oder nur unten schreiben, da es in die-sem Falle keinen Unterschied mehr zwischen kovarianten und kontravarianten Tensorengibt.

Können wir diese Formeln auch für den affinen Fall benutzen? So einfach natürlichnicht, wir sehen, dass sich das Vektorprodukt mit dem Vorfaktor „Spatprodukt“ berechnetund damit ist obige Formel natürlich nicht richtig. Wir müssen also ε so wählen, dassdas Spatprodukt berücksichtigt wird.Wie könnenwir das geschickt tun?Wie transformiertsich eigentlich das Spatprodukt der drei Basisvektoren? Dies kann man leicht ausrechnenund erhält:

Spat(e′ , e′ , e′) = det(A)Spat(e , e , e), (17.76)

bzw.

Spat(e′

, e′

, e′

) = det(A′)Spat(e , e , e). (17.77)

Wir sehen, das Spatprodukt transformiert sich genauso wie ε, daher können wir für εauch das Spatprodukt nutzen. Das Spatprodukt wollen wir nun nur noch der besseren Aus-druckweise wegen durch eine andere Größe ersetzen. Wir erinnern uns an den metrischenTensor gi j , der weiter nichts als die Skalarprodukte der Basisvektoren darstellt, analog g i j ,welche auch die Elemente der inversen Matrix zu gi j sind. Der metrische Tensor gi j istnichts anderes als die Gramsche Matrix, siehe Abschnitt „Euklidischer Vektorraum“. Mankann nun zeigen:

g def= [Spat(e , e , e)] = det(gi j) (17.78)

und

g= [Spat(e , e , e)] = det(g i j). (17.79)

Page 439: Bildverarbeitung und Objekterkennung ||

432 17 Tensoren in der Bildverarbeitung

Folglich können wir das Spatprodukt durch die Wurzel aus der Determinante der Gram-schen Matrix (Gramsche Determinante g) ersetzen, damit ergibt sich:

ε =√g , ε =

√g

. (17.80)

Mit diesen Werten können wir also auch im affinen Fall die Tensornotationen (17.74),(17.75) für das Vektorprodukt benutzen.

Wenn wir uns g noch einmal anschauen und aufschreiben wie sich g transformiert, sosehen wir:

g′ = [det(A)] ⋅ g . (17.81)

Damit ist g keine skalare Invariante und damit auch kein Tensor Nullter Stufe. Alle indi-zierten Größen, die sich mit einer Potenz der Determinante von A bzw. A′ transformieren,heißen relative Tensoren vom Gewicht der entsprechenden Potenz. Unser g ist also einrelativer, nullstufiger Tensor vom Gewicht 2.

17.2.2 m-Vektoren

Definition 17.1 (Bivektor) Einen zweifach kontravarianten, schiefsymmetrischen Tensor

ai j = −a ji (17.82)

nennen wir Bivektor. Ein Bivektor heißt zerlegbar oder zerfallend, wenn er aus zwei beliebigenVektoren a , a mit den Koordinaten ai

, aj nach der Formel

ai j =(ai

aj − a j

ai) =

∣ai a j

ai a j

∣ (17.83)

entsteht. Der zerlegbare Bivektor ai j entsteht also aus dem Tensorprodukt ai ⋅ a

j, wobei die

Reihenfolge der Multiplikation wesentlich ist und anschließender Alternierung.

Definition 17.2 (Äußeres Produkt) Ein zerlegbarer Bivektor, der gemäß der Reihenfolgea , a gebildet wurde, heisst äußeres Produkt der Vektoren a , a. Es wird oft mit [a , a] odermit a ∧ a bezeichnet.

Wir betrachten nun Eigenschaften des äußeren Produktes. Wir sehen sofort

[a , a] = −[a , a] → [a, a] = . (17.84)

Page 440: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 433

Weiterhin sieht man leicht, dass das äußere Produkt linear in beiden Vektoren für sich ist,d. h. es ist bilinear, daher gilt z. B.

[αa , a] = α[a , a], α ∈ R (17.85)

und

[a + a , a] = [a , a] + [a , a], α ∈ R. (17.86)

Mit obiger Determinante als Minor sieht man leicht:Zwei Vektoren a , a sind genau dann linear abhängig, wenn das äußere Produkt ver-

schwindet, d. h. [a , a] = . Das äußere Produkt können wir auch als Verallgemeinerungdes gewöhnlichen Vektorproduktes a × a im R auffassen.Wählen wir also als Spezialfalleinmal n = , so besteht der Bivektor ai j zwar aus Werten, auf Grund der Schiefsymme-trie aber nur aus Werten. Wir können daher ablesen: a ist die x-Koordinate, a ist diey-Koordinate und a ist die z-Koordinate (wir sehen vomFaktor

einmal ab).Wir wollennun einmal zwei Vektoren a , a linear transformieren, d. h.

a′ = A′a + A

′aa′ = A

′a + A′a.

(17.87)

Wie transformiert sich nun das äußere Produkt:

[a′ , a′] = A′A

′[a , a] + A

′A′[a, a] = ∣

A′ A

A′ A

′∣ [a , a]. (17.88)

Wir sehen, es transformiert sich mit der Determinante der Transformation. Damit kannman allgemein feststellen:

Eine zweidimensionale Ebene im n-dimensionalen Raum ist durch das äußere Produktzweier Vektoren in der Ebene bis auf einen Faktor eindeutig bestimmt. Alle parallelen Ebe-nen besitzen bis auf einen Faktor das gleiche äußere Produkt bzw. bis auf einen Faktor dengleichen, zerlegbaren Bivektor.

Alles über Bivektoren notierte kann sofort auf mehrere Vektoren übertragen werden.Es entstehen dann die m-Vektoren, z. B. Trivektoren usw.. Ein Trivektor ist demnach eindreistufiger, schiefsymmetrischer, kontravarianter Tensor.

17.2.3 Rang von Tensoren

Eng mit der Zerlegbarkeit von Tensoren ist auch der Begriff des Ranges verwandt, der beiMatrizen aus der linearen Algebra allgemein bekannt ist. Dazu sei ein n-stufiger Tensorgegeben, ob er kovariant oder kontravariant ist, ist im Folgenden egal. Daher nehmen wir

Page 441: Bildverarbeitung und Objekterkennung ||

434 17 Tensoren in der Bildverarbeitung

als Beispiel einenN-stufigen kovarianten Tensor aii ... iN . Ohne Indizes bezeichnenwir denTensor mit a. Der Tensor a hat den Rang 1, wenn gilt:

a = u ⊗ u ⊗ ⋅ ⋅ ⋅ ⊗ uN ↔ ai i ... iN = u i ⋅ ⋅ ⋅ ⋅ ⋅ uN iN , (17.89)

d. h. wenn er sich als Tensorprodukt (dyadisches Produkt) von N einstufigen Tensoren(Vektoren) darstellen lässt. Den Rang R des Tensors a definieren wir dann als minimaleSumme von Tensoren mit Rang 1:

a =R∑r=

σru(r) ⊗ u(r) ⊗ ⋅ ⋅ ⋅ ⊗ u(r)N . (17.90)

Wir suchen folglich unter allen Zerlegungen das kleinste R. Wir sehen sofort, dass bei Ma-trizen rein äußerlich dies die SVD darstellt. Dort müssen allerdings die Vektoren u(r)i einOrthonormalsystem bilden (i fest, r läuft). Dies muss bei der Rangzerlegung nicht gelten.Folglich ist eine SVD eine Rangzerlegung, aber eine beliebige Rangzerlegung ist noch keineSVD. Bei einer Matrix kennen wir noch die Begriffe Zeilenrang und Spaltenrang, das Mi-nimum aus beiden ist der Rang der Matrix, wobei beide bei quadratischen Matrizen gleichsind. Den Begriff des Zeilen- beziehungsweise Spaltenranges kannman nun auch verallge-meinern. Dazu vereinbaren wir, dass derWertebereich des Indexes in von bis In läuft, d. h.es gibt für in genau In verschiedeneWerte. Nun führenwir den Begriff mode-n-Vektor. Dermode-n-Vektor ergibt sich aus dem Tensor N-ter Stufe, indem wir den Index in variieren,aber gleichzeitig alle anderen Indizes festhalten. Je nachdem, welcheWerte die anderen In-dizes gerade haben, ergibt sich immer ein anderer Vektor oder Tensor . Stufe, nämlich dermode-n-Vektor.Wir können aber sovielmode-n-Vektoren bilden, wie wir eben Kombina-tionen unter den anderen Indizes bilden können. Nun können wir doch gedanklich allediesemode-n-Vektoren anordnen als Spalten einer entstehenden Matrix A

(n), dies nenntman flattening des Tensors. Wir müssen nur noch festlegen, in welcher Reihenfolge wirdiese mode-n-Vektoren anordnen wollen. Wir legen die lexikografische Reihenfolge festund setzen zyklisch fort. Nehmen wir als Beispiel einen -stufigen Tensor. Die Matrix A

()entsteht, indem wir den . Index variieren und den . und . festhalten, aber systematischverändern, so dass immer ein anderer Vektor entsteht. Also, der . und . Index variierendann folgendermaßen:

(., , ), (., , ), . . . , (., I, ), (., , ), (., , ), . . . , (., I, ) . . . . (17.91)

Bei A() variieren die Indizes entsprechend:

(, ., ), (, ., ), . . . , (, ., I), (, ., ), (, ., ), . . . , (, ., I) . . . . (17.92)

Damit können wir den n-Rang von a definieren:

Rn = Rangn(a) = Rang(A(n)). (17.93)

Page 442: Bildverarbeitung und Objekterkennung ||

17.2 Allgemeine Tensoren 435

Nun führen wir das Produkt zwischen einem Tensor und einer Matrix ein, das laut Li-teratur einen Tensor ergeben soll. Wenn wir dies im Folgenden anschauen, dann ist dasweiter nichts als das überschieben des Tensors mit einem Tensor . Stufe, also Tensormul-tiplikation und eine anschließende Verjüngung. Da alle Indizes unten stehen, ist aber eineVerjüngung nur möglich, wenn wir nur orthogonale Basisysteme betrachten und nur Ro-tationen als Basiswechsel zulassen, sonst ist die Verjüngung in diesem Fall nicht richtig,beziehungsweise ergibt keinen Tensor. Unter diesen Annahmen notieren wir in der Ein-steinschen Schreibweise:

(a⊗n M)i ,... ,in− , jn ,in+ ,... ,iN = ai ,... ,in− ,in ,in+ ,... ,iN ⋅mjn in . (17.94)

In allemeiner nicht-indizierter Schreibweise

b = a⊗n M , (17.95)

oder direkt mit der Matrixalgebra

B(n) = M ⋅ A

(n) . (17.96)

Natürlich setzen wir voraus, dass die Indizes, über die summiert wird, den gleichen Wer-tevorrat haben, dass alles „passt“. Nun kann man zwei sehr einfache Rechenregeln auf-schreiben, dazu seien zwei Matrizen U und V gegeben (die passend sind bezüglich ihrerDimensionen), so gilt:

• a⊗m U ⊗n V = a⊗n V ⊗m U• (a⊗n U) ⊗n V = a⊗n (VU).

17.2.4 Zerlegung von Tensoren

Wir erinnern zunächst an die bekannte SVD einer geg. MatrixD:

D = UΣUT , (17.97)

wobeiU spaltenorthogonal,Σ eineDiagonalmatrix undUT zeilenorthogonal ist. (Bei qua-

dratischen Matrizen gilt: Ist die Matrix zeilenorthogonal, dann ist sie auch spaltenortho-gonal und umgekehrt). Mit demmode-n-Produkt kann man dies nun schreiben als:

D = Σ ⊗ U ⊗ U. (17.98)

Dies lässt sich sehr einfach verifizieren. Nun kann man versuchen, diese Zerlegung auf N-stufige Tensoren zu erweitern und zwar in der Form:

d = z⊗ U ⊗ U ⋅ ⋅ ⋅ ⊗N UN . (17.99)

Page 443: Bildverarbeitung und Objekterkennung ||

436 17 Tensoren in der Bildverarbeitung

Die Spalten allerUj bilden je ein Orthonormalsystem, diese Verallgemeinerung nenntmanN-mode-SVD. Das Analogon zur Diagonalmatrix Σ, der sogenannte core tensor z, mussnicht diagonal sein, er ist ein beliebiger Tensor. Die Matrizen Un bestehen aus orthonor-malen Spaltenvektoren, diese Spaltenvektoren spannen den gleichen Raum auf, wie dieSpaltenvektoren von D

(n), wobei diese aus dem flattening von d entstehen. Der Tensorz stellt dabei den Zusammenhang zwischen diesen orthonormalen Räumen her.

Algorithmus zur N-mode-SVD

• Berechne dieMatrizenUi , i = , . . . ,N , indemwir für dieMatrizenD(i), i = , . . . ,N die

gewöhnliche SVD durchführen. Wir nehmen fürUi , i = , . . . ,N die „linken“ Matrizen(oft mit U bezeichnet, die „rechten“ oft mit V bezeichnet).

• Anschließend bestimmen wir den core tensor z durch

z = d⊗ UT ⊗ UT

. . .UTn ⊗n ⋅ ⋅ ⋅ ⊗N UT

N . (17.100)

17.3 Der Euklidische Raum

Bisher haben wir alle Überlegungen im affinen Raum durchgeführt, d. h. die Basis bildetein n-Bein, das wieder in ein n-Bein übergeht und nichts mehr. Führen wir metrische Ei-genschaften ein, z. B. Streckenmessungen, so sprechen wir vom Euklidischen Raum (hatzunächst nichts mit einer orthogonalenBasis zu tun). Zur Streckenmessung führenwir dasSkalarprodukt ein. Wir bezeichnen das Skalarprodukt wie üblich mit ⟨x, y⟩. Wir erinnernuns, eine bilineare Vektorfunktion war durch φi j = φ(ei , e j) eindeutig bestimmt. Speziellfür das Skalarprodukt bezeichnen wir diese jetzt mit gi j , wobei durch die Symmetriefor-derung gi j = g ji gelten muss. Die Größen gi j werden auch metrischer Tensor genannt, inder Algebra und Analysis dagegen oft Gramsche Matrix. Im eigentlich Euklidischen Raumist die Matrix, gebildet aus den Koordinaten gi j , positiv definit, damit invertierbar. Wir be-zeichnen die Elemente der inversen Matrix mit g i j , sie transformieren sich (wie man leichtüberprüfen kann) nach der Regel

g i′ j′ = Ai′

i Aj′

j gi j (17.101)

und bilden demnach einen zweistufigen kontravarianten Tensor. Wir haben also jetzt imEuklidischen Raum im Gegensatz zum affinen Raum die beiden Tensoren gi j und g i j ge-geben. Dies gestattet uns nun Indizes an Tensoren zu „senken“ oder zu „heben“.Wir zeigendies an den Koordinaten von Vektoren:

xi = gi jx j = ⟨ei , e j⟩x j = ⟨ei , x je j⟩ → xi = ⟨x, ei⟩. (17.102)

Das Skalarprodukt von x mit den Basisvektoren führt zu den kovarianten Koordinateneines Vektors. Umgekehrt, können wir diese wieder in die kontravarianten Koordinatenüberführen:

xi = g i jx j . (17.103)

Page 444: Bildverarbeitung und Objekterkennung ||

17.3 Der Euklidische Raum 437

Wir wollen das Senken noch einmal plausibel mit den dualen Räumen V* erklären. UnserSkalarprodukt in V, das wir eben eingeführt haben, können wir auch nochmals aufschrei-ben:

φ(x, x) = ⟨x, x⟩ = gi j x jx i = ∣x∣. (17.104)

Nun erinnern wir uns an den dualen Raum V* und an die biorthogonalen Basissysteme.Eine lineareVektorfunktion φ(x) ist weiter nichts als: wir wählen aus V einen festen Vektorz und bilden φ(x) = ⟨z, x⟩. Für festes z ist die lineare Vektorfunktion eindeutig bestimmt,für andere lineareVektorfunktionenmüssenwir eben ein anderes znehmen. Für die lineareVektorfunktion hatten wir auf Grund der biorthogonalen System die Beziehung φ(x) =

⟨z, x⟩ = φixi = zi x i ausgerechnet. Da wir für x auch selbst z einsetzen können, enststehtdie Beziehung:

φ(z) = ⟨z, z⟩ = ⟨x, x⟩ = xi x i = ∣x∣. (17.105)

Wir vergleichen denAusdruckmit der bilinearen Formdes Skalarproduktes oben und kön-nen sofort ablesen:

xi = gi j x j . (17.106)

Daraus können wir nun formal die Regel für das „Senken“ oder „Heben“ eines Index beieinem beliebigen Tensor ableiten. Dazumüssen wir gedanklich alle Indizes durchnumerie-ren, d. h. wenn z. B. der dritte Index oben steht, dann muss der dritte unten „leer“ bleiben,dazu ein Beispiel:

a ..k .i j. l . (17.107)

Wir wollen den ersten Index einmal „heben“, so gilt

ai .k .. j. l = g ipa ..k .p j. l (17.108)

oder wir „senken“ den dritten Index

a ... .i jk l = gkpa..p.i j. l . (17.109)

Ein wichtiges Beispiel ist dermetrische Tensor selbst gi j . Hebenwir z. B. den zweiten Index,so ist

g . ji . = g jp gi p = δ ji . (17.110)

Heben wir jetzt auch noch den ersten Index, so ist

g i j.. = g ipδ jp = g i j . (17.111)

Page 445: Bildverarbeitung und Objekterkennung ||

438 17 Tensoren in der Bildverarbeitung

Betrachten wir noch als Beispiel eine lineare Vektorabbildung, die durch den Tensor aij

beschrieben wurde. Mit der Nummerierung ai .. j lautete die lineare Vektorabbildung in Ko-

ordinatenschreibweise

yi = ai .. j x

j . (17.112)

„Senken“ wir den ersten Index i, so ist

yi = ai jx j mit ai j = gipap.. j . (17.113)

Gehen wir nun davon aus, dass als Basis ein orthonormiertes n-Bein vorliegt, so soll diesnatürlich auch vorliegen, wenn wir das Koordinatensystem wechseln. Daher vereinfachensich nun alle Formeln wesentlich

xi = gi j x j = δi j x j = xi (17.114)

und damit gilt auch

Aii′ = Ai′

i . (17.115)

Damit ist die affineMatrix eine Orthogonalmatrix, sowohl Vektoren als auch Koordinatentransformieren sich also mit genau der gleichen Matrix. Für diesen Fall verschwindet nunauch der Unterschied zwischen kovarianten und kontravarianten Indizes vollständig.

17.4 Tensorfelder

Ein Tensorfeld liegt vor, wenn der Tensor ortsabhängig ist, d. h. er ist eine Funktion derPunkte P eines Gebietes D eines vorgegebenen Raumes. Allgemein könnten wir also no-tieren:

a j ... j li ... ik = a j ... j l

i ... ik (P), (17.116)

oder wenn ein Koordinatensystem gegeben ist, dann:

a j ... j li ... ik = a j ... j l

i ... ik (x , x , . . . , xn) (17.117)

mit Koordinaten x , . . . , xn bezüglich der kovarianten Basis ei . Elementare Operationen inTensorfeldern sind natürlich Ableitungsoperationen. Als erstes bilden wir das totale Diffe-rential, wobei für den Index i die Einsteinsche Schreibweise verwendet wird:

da j ... j li ... ik =

∂a j ... j li ... ik (x

, x, . . . , xn)∂xi dxi . (17.118)

Page 446: Bildverarbeitung und Objekterkennung ||

17.4 Tensorfelder 439

Wir behaupten, das totale Differential ist ein Tensor des gleichen Typs wie a j ... j li ... ik . Dies lässt

sich leicht mit Hilfe der Transformationsregel zeigen:

a j′ ... j′

li′ ... i

k(P) = Aj′

j . . .Aj′lj l . . . a

j ... j li ... ik (P). (17.119)

Wir bilden davon einfach das Differential und beachten, dass die Transformationskoeffizi-enten Aj

i Konstanten sind und erhalten demzufolge

da j′ ... j′

li′ ... i

k(P) = Aj′

j . . .Aj′lj l . . . da

j ... j li ... ik (P), (17.120)

was zu zeigen war.Wir betrachten nun in jedem Punkt P alle partiellen Ableitungen des Tensors und be-

zeichnen diese mit:

∇i aj ... j li ... ik =

∂a j ... j li ... ik (x

, x , . . . , xn)∂xi . (17.121)

Nun gilt die interessante Schlussfolgerung: Die ∇i aj ... j li ... ik bilden selbst einen Tensor mit

der gleichen Anzahl oberer Indizes, während sich die Anzahl der unteren Indizes um Einsvergrößert. Die Vergrößerung der unteren Indizes wird durch den Differentiationsindex ihervorgerufen.

Auch dieses Ergebnis ist einfach zu zeigen. Es ist

∂a j′ ... j′

li′ ... i

k(P)

∂xi′ = Aj′j . . .A

j′lj l . . .

∂a j ... j li ... ik (P)∂xi′ = Aj′

j . . .Aj′lj l . . .

∂a j ... j li ... ik (P)∂xi ⋅

∂xi

∂xi′ . (17.122)

(Beachtung: Kettenregel, über i ist zu summieren)Da aber xi = Ai

i′xi′ und somit ∂x i

∂x i′ = Aii′ ist, setzen wir dies ein und erhalten:

∇i′aj′ ... j

li′ ... i

k(P) = Aj′

j . . .Aj′lj l . . .A

ii′∇i a

j ... j li ... ik (P), (17.123)

sodass sich der Differentiationsindex i tatsächlich kovariant transformiert.Bilden wir als Spezialfall einmal den Gradienten eines Skalarfeldes a(P), so erhalten wir

∇i a als einen kovarianten Tensor . Stufe. Die Koordinaten ∇i a dieses Vektors beziehensich folglich auf das kontravariante Basissystem, wir müssten also schreiben

∇a = ∇i aei . (17.124)

Da wir Vektoren aus V immer mit Spaltenvektoren identifiziert haben und Vektoren ausV* mit Zeilenvektoren, müssten wir im Matrixkalkül den Gradienten eigentlich immer alsZeilenvektor betrachten.Wennwir folglich weiter eine Vektorfunktion betrachten a = aiei ,dann können wir auch den Gradienten einer Vektorfunktion aufschreiben und erhaltenden zweistufigen Tensor ∇i a j, im Matrixkalkül Jakobimatrix genannt. Wir sehen, dies istein einstufig kovarianter und einstufig kontravarianter Tensor zweiter Stufe.

Page 447: Bildverarbeitung und Objekterkennung ||

440 17 Tensoren in der Bildverarbeitung

17.5 Anwendungen in der Bildverarbeitung

17.5.1 Der trifokale Tensor

Der trifokale Tensor beschreibt das Problem der Fundamentalmatrix für drei Kameras,folglich die Epipolargeometrie bezüglich drei Kameras. Dabei bietet sich die Tensornotati-on an.

Zunächst soll der trifokale Tensor in üblicher Notation hergeleitet werden. Als elemen-tare Feststellung gilt folgendes:

Schneidet eine 3D-Ebene die Bildebene und wir haben die Bildgerade l bestimmt, solässt sich auch die 3D-Ebene eindeutig beschreiben. Mit

l T u = , u = Px + p = Px (17.125)

ist

l T Px = , xT PT l = , (17.126)

so dass die 3D-Ebene durch

m = PT l = (PT lpT l

) (17.127)

beschrieben ist.Nun seien Kameras gegeben. Wenn wir Eigenschaften untersuchen, die 3D-projektiv

invariant sind, dann können wir die Projektionsmatrizen folgendermaßen aufschreiben:

P = [I , ], P′ = [A, a], P′′ = [B, b]. (17.128)

Nun betrachten wir eine Gerade im Raum und deren Abbilder l , l ′, l ′′ in den Kameras.Dann können wir zu jeder Geraden die Ebenen aufschreiben

m = (l) , m = (

AT l ′

aT l ′) , m = (

BT l ′′

bT l ′′) . (17.129)

Diese Ebenenmüssen sich in der einzigen 3D-Geraden schneiden, deshalb muss die (×)-Matrix (m ,m,m) den Rang haben, da sich Ebenen normalerweise nicht in einerGeraden schneiden. Daher können wir für diese Rangbedingung sofort die . Zeile dieserMatrix nutzen und schreiben:

αaT l′ + βbT l

′′ = . (17.130)

Page 448: Bildverarbeitung und Objekterkennung ||

17.5 Anwendungen in der Bildverarbeitung 441

Daher können wir setzen

α = C(bT l′′), β = −C(aT l

′) (17.131)

mit einem Faktor C. Wenn wir dies nun in m = αm + βm einsetzen, erhalten wir dieBedingung für die ersten Zeilen:

l = CbT l′′AT l ′ − CaT l

′BT l ′′ = ( l ′′Tb)AT l ′ − ( l ′Ta)BT l ′′. (17.132)

Da die linke Seite bis auf einen Faktor bestimmt ist, lassenwirC einfachweg.Nun schreibenwir einfach die Komponenten von l auf:

l i = l ′′T(baTi ) l′ − l ′T(abTi ) l

′′ = l ′T(aibT ) l′′ − l ′T(abTi ) l

′′. (17.133)

Mit der Abkürzung

Ti = aibT − abTi , i = , , (17.134)

können wir schreiben:

l i = l ′TTi l ′′, i = , , . (17.135)

Wir haben also eine Beziehung zwischen allen drei Bildgeraden gefunden. Diese Mengevon Matrizen {T , T, T} nennt man den trifokalenTensor in Matrixnotation. Da wir Matrizen haben, habenwir Schwierigkeiten den trifokalenTensor als ganzes zu bezeichnen,so wird oft versucht:

l T = l ′T[T , T, T] l ′′. (17.136)

Besser ist es die Tensorschreibweise zu benutzen, was wir im Folgenden machen wollen.Wenn wir im 2D-projektiven Raum arbeiten, dann gehen wir einfach zu homogenen

Koordinaten über und befinden uns im 3D-Vektorraum. Analog zum 3D-projektivenRaum nehmen wir homogene Koordinaten und sind im 4D-Vektorraum. Wechsel derBasis bedeutet dann einfach eine Homographie, Verschiebungen gibt es ja nicht extra zumodellieren. Wir können also vollständig unsere Notation mit den Aj

i bei Wechsel derBasis benutzen. Weiterhin wissen wir, dass eine lineare Abbildung ein einfach kovarian-ter und einfach kontravarianter Tensor ist, dies gilt nun für eine Homographie. UnsereMatrixnotation

x′ = Hx (17.137)

für eine Homographie geht dann über in die Tensornotation

x i′ = hij x

j , (17.138)

Page 449: Bildverarbeitung und Objekterkennung ||

442 17 Tensoren in der Bildverarbeitung

wobei in dieser Notation i eine Zeile und j eine Spalte von H kennzeichnet. Vektoren x j

sind wie immer kontravariant, die Koeffizienten von Geraden und Ebenen lk sind wie im-mer dagegen kovariante Tensoren. Damit werden Geraden durch eine Homographie mit

l i = h ji l′

j (17.139)

transformiert. Nun wollen wir den trifokalen Tensor Ti

Ti = aibT − abTi , i = , , (17.140)

umschreiben zu

t jki = a ji b

k − a j

bki (17.141)

und

l i = l ′TTi l ′′, i = , , (17.142)

wird zu

l i = l ′j l′′

k tjki . (17.143)

Daher können wir schreiben

l i = l ′j l′′

k tjki = l ′′k ( l

j tjki ) = l ′′k h

ki (hk

i = l ′j tjki ). (17.144)

Daher ist dies eine Homographie zwischen dem . und dem . Bild:

x k′′ = hki x

i . (17.145)

Wir können aber auch schreiben:

l i = l ′j( l′′

k tjki ) = l ′jh

ji (h j

i = l ′′k tjki ). (17.146)

Damit beschreiben wir eine Homographie vom 1. zum 2. Bild:

x j′ = h ji x

i . (17.147)

Im Folgenden sind einige Beziehungen aufgeführt in Tensornotation:

• Gerade-Gerade-Gerade-Korrespondenzen

( lr εris) l ′j l′′

k tjki = os , (17.148)

Page 450: Bildverarbeitung und Objekterkennung ||

17.5 Anwendungen in der Bildverarbeitung 443

• Punkt-Gerade-Gerade-Korrespondenzen

x i l ′j l′′

k tjki = o, (17.149)

• Punkt-Gerade-Punkt-Korrespondenzen

x i l ′j(xk′′ εkqs)t

jqi = os , (17.150)

• Punkt-Punkt-Gerade-Korrespondenzen

x i(x j′ ε jpr) l ′′k tpki = or , (17.151)

• Punkt-Punkt-Punkt-Korrespondenzen

x i(x j′ ε jpr)(x k′′ εkqs)tpqi = ors . (17.152)

17.5.2 Der Strukturtensor

Häufigwird in Anwendungen dasMatrix-Vektor-Kalkül benutzt und nicht die Tensornota-tion, aber trotzdem wird die Anwendung in Verbindung mit dem Begriff Tensor gebracht.Dies ist sicher nicht falsch, aber ohne Tensornotation auch nicht ganz einsichtig. Eine sol-che typische Anwendung ist z. B. der sogenannte Strukturtensor. Die Mathematik dazuist recht einfach und soll kurz dargestellt werden. Wir betrachten im Bild ein Fenster derGröße n×n undwollen für dieses Fenster die „typischeGradientenrichtung“ undden „typi-schen Gradientenbetrag“ feststellen. Dazu betrachten wir den Gradienten pro Pixel (x , y)der Grauwertfunktion f (x , y) und bezeichnen ihnmit∇ f (x , y). Um zur Tensorrechnungkonsistent zu sein, ist dies nun ein Zeilenvektor der Länge zwei (kovarianter Tensor). Es sei-en u und v zwei Vektoren (Spaltenvektoren) der Länge eins, wobei v auf u senkrecht stehenmöge, also uTv = . Wir betrachten nun im Fenster folgendes Optimierungsproblem:

z(u) = ∑x ,y

(∇ f (x , y) ⋅ u) → Maximum bei ∣u∣ = . (17.153)

Wir suchen also den Einheitsvektor u, für den die Summe der Quadrate aller Skalarpro-dukte mit den Gradienten maximal ist, der also am wenigsten in diesem Sinne von allenGradienten abweicht. Dieses Optimierungsproblem zu lösen ist eine Standardaufgabe, d. h.wir bilden die Lagrange-Funktion, bilden den Gradienten der Lagrange-Funktion und set-zen ihn zu Null, erhalten ein Gleichungssystem, welches ein Eigenwertproblem darstellt.Dieses Eigenwertproblem schreiben wir nun einmal auf. Dazu bilden wir die n×Matrix,die aus allen Grauwertgradienten des Fensters besteht und bezeichnen sie mit

F =

⎛⎜⎜⎜⎜⎝

∇ f (, )∇ f (, )

∇ f (n, n)

⎞⎟⎟⎟⎟⎠

. (17.154)

Page 451: Bildverarbeitung und Objekterkennung ||

444 17 Tensoren in der Bildverarbeitung

Mit dieser Matrix bilden wir nun die × Matrix S = FT ⋅ F und nennen diese GrößeStrukturtensor in Matrixnotation:

S = FT ⋅ F = (∑x ,y∈U f x ∑x ,y∈U fx ⋅ f y

∑x ,y∈U fx ⋅ f y ∑x ,y∈U f y) . (17.155)

Wenn wir den Gradienten als Zufallsvektor auffassen und die Realisierungen des Zufalls-vektors pro Pixel betrachten, dann ist der Strukturtensorweiter nichts (bis auf einen Faktor)als eine Schätzung der Kovarianzmatrix dieses Zufallsvektors, damit symmetrisch und po-sitiv semidefinit. Wir können also von S die beiden Eigenwerte λ und λ sowie die beidenorthogonalen Eigenvektoren u und v ausrechnen, die die Lösung unseres Optimierungs-problems bilden. Eigentlich haben wir mit dem Eigenwertproblem zwei Optimierungspro-bleme gelöst

z(u) → Maximum und z(u) → Minimum. (17.156)

Der Eigenvektor mit dem „großen“ Eigenwert löst das Maximumproblem, der andere dasMinimumproblem. Anhand des Verhältnisses der beiden Eigenwerte kann man nun Aus-sagen treffen über die ein-oder zweidimensionale Struktur im Bildfenster. Um dies zu ver-deutlichen, nutzen wir einmal die Taylorentwicklung:

f (x + Δx , y + Δy) ≈ f (x , y) +∇ f (x , y) ⋅ Δx. (17.157)

Wenn wir ∥Δx∣ = wählen, dann beschreibt

D(Δx) = ∑x ,y

( f (x + Δx , y + Δy) − f (x , y)) = ΔxTSΔx (17.158)

das mittlere Differenzenquadrat aller Grauwerte in einem Fenster bezüglich einer gewähl-ten Richtung Δx. Folglich gilt:

D(u) = uTSu = λD(v) = vTSv = λ (17.159)

und damit sind die beiden Eigenwerte gerade die Summe der Differenzenquadrate derGrauwerte bez. der berechneten Hauptrichtungen. Somit kann man schlussfolgern:

• Wenn λ ≈ , λ ≈ gilt, dann sind die Differenzen in beiden Hauptrichtungen klein,folglich liegt keinerlei Struktur vor.

• Wenn λ ≫ , λ ≈ gilt, dann haben wir eine stabile Gradientenrichtung, was auf eineeindimensionale Struktur schließen lässt, z. B. eine Kante.

• Wenn λ ≫ , d. h. λ groß genug ist, dann sind beide Eigenwerte groß und damit sinddie Differenzen in beiden Hauptrichtungen groß. Folglich liegt eine zweidimensionaleStruktur vor, d. h. eine Ecke oder ein Peak.

Page 452: Bildverarbeitung und Objekterkennung ||

17.5 Anwendungen in der Bildverarbeitung 445

Den Strukturtensor kann man folglich für zwei wesentliche Aufgaben benutzen:

• Pro Pixel kann man eine stabile Gradientenrichtung oder Kantenrichtung berechnenund die „Stabilität“ auch numerisch bewerten, siehe dazu auch „Mittelung von Orien-tierungen“ in Abschn. 8.2.

• Mittels der berechneten Eigenwerte kann man die lokale Struktur bewerten, z. B. kannman dies zur Eckendetektion nutzen, siehe Kanade-Tomasi-Detektor in Abschn. 8.2.

Wir sehen, wir haben das Problem formuliert ohne je die Tensorrechnung zu benutzen.Wir wollen aber noch zum Schluss klären, was für ein Tensor der Strukturtensor S nuneigentlich ist, oder ob er überhaupt ein Tensor ist. Wir wissen, nicht jede Matrix ist einTensor, nur dann, wenn sich die Matrixkoeffizienten entsprechend transformieren. Da Seine symmetrische Matrix ist, muss S ein symmetrischer Tensor zweiter Stufe sein, alsozwei Indizes besitzen. Wo schreiben wir diese Indizes aber hin? Da S aus dem dyadischenProdukt des Gradienten mit sich selbst entsteht, der Gradient aber ein kovarianter Tensorist, muss S also ein zweistufig kovarianter Tensor sein. Er ist also mit si j zu bezeichnen,wobei i , j nur die Werte eins und zwei annehmen können (wenn f nur von zwei Variablenabhängt). Da der Strukturtensor sich also tatsächlich aus dem Tensorprodukt des kovari-anten Gradienten-Tensors mit sich selbst berechnet, ist er auch tatsächlich ein Tensor.

Dies könnenwir nunweiter verallgemeinern. Statt einemGrauwertbild f (x , y) betrach-ten wir ein vektorwertiges Bild f(x , y), z. B. ein Farbbild. Wir können den Strukturtensornun tatsächlich auch auf Vektorfunktionen verallgemeinern, bei Farbbildern wird er Farb-tensor oder color tensor genannt.Dazu bildenwir statt demGradienten der Skalarfunktionf den Gradienten der Vektorfunktion f , was einen einstufig kontravarianten und einstufigkovarianten Tensor zweiter Stufe ergibt oder in Matrixnotation die Jakobimatrix ∇f = J.Analog zu f bilden wir die Matrix F

F =

⎛⎜⎜⎜⎜⎝

∇f(, )∇f(, )

∇f(N ,N)

⎞⎟⎟⎟⎟⎠

(17.160)

und nennen das Produkt S = FTF bei Farbbildern Farbtensor. Für ein Pixel ist S = ∇fT ⋅∇f .Dies schreiben wir nun tensoriell:

si j = ∇i f k ⋅ ∇ j f k . (17.161)

Wir sehen, der Verjüngungsindex k steht nur „oben“, damit ist dies keine zulässige Verjün-gung. Damit ist der Farbtensor im allgemeinen Fall gar kein Tensor. Nur wenn wir speziellorthogonale Basen und nur Rotationen zulassen, dann ist er ein zweistufig (kovarianter)Tensor.

Page 453: Bildverarbeitung und Objekterkennung ||

446 17 Tensoren in der Bildverarbeitung

Bemerkung Wenn wir eine gewöhnliche Matrix A betrachten, so können wir uneinge-schränkt Produkte mit anderen geeigneten Matrizen bilden, es ergeben sich immer wiederMatrizen. So können wir auch z. B. die Produkte ATA undAAT immer bilden und es ent-steht eine quadratische Matrix. Wir nehmen nun einmal an, A repräsentiere einen Tensor. Stufe, dann bedeutet das Tensorprodukt immer, dass der Ergebnistensor die Stufe hat.Wenn wir dann verjüngen, erhalten wir wieder einen Tensor . Stufe, also womöglich diegewünschte Ergebnismatrix. Wenn aber A z. B. einen Tensor ai j repräsentiert, dann gibtes keine Verjüngung des Produktes ai j ⋅ akl , dann ist obiges Matrixprodukt kein Tensor.Dies gilt ebenso für Tensoren ai j! Nur bei Tensoren ai

j könnte man das Produkt verjüngenund das Matrixprodukt ergibt tatsächlich auch wieder einen Tensor. Dem MatrixproduktC = A ⋅B entspricht dann tatsächlich ein Tensor, wennA und B solche Tensoren a j

i und blk

darstellen. Multiplizieren wir auch in diesem Falle etwa C = AT ⋅ A, dann ist dies auch indiesem Falle kein Tensor. Man könnte dies auch tatsächlich auf die Fälle ausdehnen, wenndie Indizes nur unten stehen oder nur oben stehen, dannmüssen wir aber orthogonale Ba-sen voraussetzen und der Wechsel der Basis darf nur über Rotationen erfolgen. In diesemFalle ist es egal wo die Indizes stehen, dann ergeben obige Matrixprodukte auch tatsächlichimmer wieder Tensoren.

Page 454: Bildverarbeitung und Objekterkennung ||

Teil IIIObjekterkennung

Page 455: Bildverarbeitung und Objekterkennung ||

18Maschinelles Lernen

Im folgenden Kapitel werden wir einen Überblick über Verfahren des maschinellen Ler-nens bieten.Dabeiwerdenwir uns auf etablierteMethoden konzentrieren, welche vor allemim Bereich der Bildverarbeitung Anwendung finden. Die Fähigkeit eine Art der automati-schen Bildanalyse und -erkennung vonObjekten durchzuführen, ist sowohl in der Robotikals auch bei zahlreichen Anwendungen zwingend notwendig. In den letzten Jahren lässtsich ein drastischer Anstieg an komplexen industriellen Problemstellungen verzeichnen,welche ohne Verfahren des maschinellen Lernens nicht realisierbar sind. Als prägnantesBeispiel sei hier die Fußgängerdetektion [20] und zahlreiche andere Fahrerassistenzsys-teme aufgeführt. Weiterhin stößt die manuelle Optimierung von Parametern eines Al-gorithmus für eine gegebene Aufgabenstellung schnell an ihre Grenzen und die meistenAlgorithmen der Bildverarbeitung besitzen Kontrollparameter welchen einen entscheiden-den Einfluss auf die Ergebnisse haben. Methoden des maschinellen Lernens ermöglichenes einen Teil dieser Parameter automatisch aus gegebenen Daten zu lernen.

Das folgende Kapitel führt zunächst die unterschiedlichen Problemfelder des maschi-nellen Lernens ein, um dann aktuelle Klassifikationstechniken zu diskutieren. Insgesamtwerden wir in diesem Buch nur die Grundzüge des maschinellen Lernens bei einfachenKlassifikationsaufgaben kennenlernen. Dem interessierten Leser sei zur weiteren Lektüredas englischsprachige Buch von Chris Bishop [3] empfohlen.

18.1 Grundprinzipien desmaschinellen Lernens

Ziel des maschinellen Lernens ist es, den funktionalen Zusammenhang zwischen Einga-bedaten x ∈ X und Ausgabedaten y ∈ Y zu schätzen. Dabei werden wir uns in diesemBuch hauptsächlich mit überwachten Verfahren beschäftigen, welche versuchen, aus Lern-daten diesen Zusammenhang zu schließen. An dieser Stelle wollen wir gleich einmal dieErwartung anVerfahren desmaschinellen Lernens ein bisschen zügeln: Für praktische An-wendungen gibt es kein perfektes Verfahren, viel mehr noch es ist nicht möglich anhand

449H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_18, © Springer Fachmedien Wiesbaden 2014

Page 456: Bildverarbeitung und Objekterkennung ||

450 18 Maschinelles Lernen

Klasse 1

Klasse 2

Klasse 3

aKlasse 1

Klasse 2

b c

Abb. 18.1 Beispiele für Anwendungsszenarien des maschinellen Lernens mit unterschiedlichenAusgabedaten y ∈ Y . aMehrklassen-Klassifikation, b binäre Klassifikation und c Regression

von theoretischen Betrachtungen ein für eine gegebene Aufgabenstellung am Besten ge-eignetes Verfahren auszuwählen. Diese Tatsache, welche auch oft als no free lunch theorembekannt ist und aus den mathematisch wesentlich präziseren Resultaten von David Wol-pert [90] entspringt, führt dazu, dass die Wahl des Verfahrens immer anhand empirischerUntersuchungen und den technischen Anforderungen (verfügbarer Speicher, Rechenzeit,etc.) der Aufgabenstellung getroffen werden muss.

Bei visuellen Erkennungsaufgaben, welche in Kap. 19 näher betrachtet werden, dienenBilder als Eingabedaten. Die Art der Ausgaben führt zu ganz unterschiedlichen Aufgaben-stellungen und Bereichen des maschinellen Lernens. In Abb. 18.1 wird dies anhand voneinfachen Beispielen deutlich. Bei reellen Ausgabedaten y ∈ R handelt es sich um klassi-sche Regressionsprobleme, d. h. der Zusammenhang zwischen Ein- und Ausgaben lässt sichdurch eine reelle Funktion beschreiben. Im Folgenden werden wir uns hauptsächlich mitKlassifikationsproblemen beschäftigen, d. h. Aufgaben welche durch einen diskreten Aus-gaberaum charakterisiert sind. Ziel der Klassifikation ist es, Eingabedaten automatisch invordefinierte Klassen einzuteilen. Dabei sprechen wir von binärer Klassifikation, wenn ei-ne Unterscheidung in zwei Klassen y = − und y = erfolgt. Die Wahl der Werte − und ist eine reine Festlegung und wir werden im weiteren Verlauf sehen, dass dadurch die ma-thematische Beschreibung oft in einfacherer Form gelingt. Wenn eine Unterscheidung inmehr als zwei Klassen erforderlich ist, wird von einemMehrklassen-Klassifikationsproblemgesprochen.

Die Unterscheidung in die einzelnen Problemklassen ist wichtig für die Auswahl derVerfahren und kann an einem einfachen Beispiel verdeutlicht werden: Eine sehr häufigeAnwendung desmaschinellen Lernens ist die Biometrie. So kannman zumBeispiel anhandeines digitalen Bildes eine Identifikation von Personen vornehmen und es handelt sich beimehr als zwei Personen um ein Mehrklassen-Klassifikationsproblemmit einer Klasse proPerson. Soll hingegen das Geschlecht einer Person anhand eines Bildes erkannt werden,so ist die Unterscheidung in weiblich und männlich eine klassische binäre Aufgabenstel-lung. Im Gegensatz zu dieser Aufgabenstellung mit diskreten Ausgaben kann aber aucheine Schätzung des Alters der Person durchgeführt werden, welches auf ein Regressions-problem führt.

Page 457: Bildverarbeitung und Objekterkennung ||

18.1 Grundprinzipien des maschinellen Lernens 451

Im Folgenden werden wir die Menge der Lerndaten mit D ⊆ (X × Y)n als geordne-

te Menge von n Eingabe-Ausgabepaaren (xi , yi) bezeichnen. Der zu schätzende Zusam-menhang zwischen Ein- und Ausgabedaten kann auf zwei Arten beschrieben werden: alsfunktionaler Zusammenhang oder auf stochastischeWeise durchAngabe der A-Posteriori-Verteilung.

18.1.1 Funktionale Modellierung

Bei der ersten Variante wird angenommen, dass sich jeder Eingabe x genau eine entspre-chende Ausgabe h(x) zuweisen lässt. Ziel ist es daher die Funktion h ∶ X → Y durchInformationen aus dem LerndatensatzDmöglichst gut zu approximieren. Da Regressions-probleme mathematisch einfacher zu handhaben sind als Klassifikationsprobleme, führtman bei Klassifikationsproblemen die Approximation von h mit diskreter AusgabemengeY oft auf eine Schätzung dieser zurück. Bei der binären Klassifikation (y ∈ {−, }) wirdzum Beispiel bei vielen Verfahren zunächst eine Schätzung einer reellwertigen Funktionf ∶ X → R durchgeführt, um dann die Entscheidungsfunktion durch h(x) = sign ( f (x))zu approximieren. Die Funktion sign (z) sei dabei für alle positiven z und − in allenanderen Fällen. Die Ausgabe f (x) kann aber auch direkt als kontinuierliche Bewertunggenutzt werden. Dadurch ist die Erstellung eines Rankings von Beispielen möglich, wie eszum Beispiel bei der Anwendung der inhaltsbasierten Bildsuche (engl.: Image Retrieval)notwendig ist. Bei dieser Aufgabe ist gefordert anhand gegebener Bilder, ähnliche Bilderin einer Datenbank zu finden und zurückzuliefern. Dabei soll natürlich eine Ordnung derErgebnisse aufgrund einer Bewertungsfunktion f erfolgen, welche die Ähnlichkeit zu dengegebenen Bildern angibt.

Eine ähnliche Idee der Zurückführung auf Regressionsprobleme kann bei derMehrklas-sen-Klassifikation mit M Klassen angewendet werden, Ziel ist es dabei, für jede Klasse κeine Bewertungsfunktion f (κ)(x) zu schätzen, welche besonders große Werte für die kor-rekte Klasse liefert. Eine Klassifikationsentscheidung kann dann durch Auswahl der Klasseerfolgen, welche die maximale Bewertung („score“) erhält:

h(x) = argmax≤κ≤M

f (κ)(x). (18.1)

Ein Vorteil dieser Modellierung ist dieMöglichkeit auch zweit- oder drittplatzierte Klassenfür die Weiterverarbeitung miteinzubeziehen.

18.1.2 StochastischeModellierung

Im letzten Abschnitt haben wir bereits die Vorteile von „weichen“ Entscheidungen auf-gezählt, welche aber bei der funktionalen Modellierung nur durch Umwege über die Re-

Page 458: Bildverarbeitung und Objekterkennung ||

452 18 Maschinelles Lernen

gression zu erhalten sind. Im Gegensatz dazu sind bei der stochastischen Modellierungweiche Entscheidungen direkt durchWahrscheinlichkeiten für die Ausgabewerte gegeben.Grundidee ist es, Ein- und Ausgaben als Zufallsvariablen zu betrachten. Eine Klassifika-tionsaufgabe ist dann durch die gemeinsame Verteilung p(y, x) definiert und es wird an-genommen, dass die Elemente (yi , xi) der Lerndaten D von dieser Verteilung gezogenwurden. Es ist leicht zu sehen, dass diese Art der Modellierung die funktionale Modellie-rung verallgemeinert. Sei zum Beispiel ein funktionaler Zusammenhang durch h gegeben,so kann die gemeinsame Verteilung mit p(y, x) = δ [h(x) − y] p(x) angegeben werden.Die Funktion δ [⋅] repräsentiert dabei die Diracfunktion oder den Einheitsimpuls, der be-reits in Abschn. 4.18 eingeführt wurde.

Das Ziel des maschinellen Lernverfahrens ist es nun die A-Posteriori-Verteilungp(y

∣ x∗

,D)1 für die Ausgabe y∗

eines neuen Beispiels x∗

∈ X zu ermitteln. Eine Entschei-dung kann dann durch dieMaximierung der A-Posteriori-Verteilung realisiert werden. Beider Klassifikation ist dies äquivalent zur Minimierung der Wahrscheinlichkeit einer Fehl-klassifikation:

h(x∗

) = argminκ∈Y

p(y ≠ κ ∣ x = x∗

,D) (18.2)

= argminκ∈Y

( − p(y = κ ∣ x = x∗

,D)) (18.3)

= argmaxκ∈Y

p(y = κ ∣ x = x∗

,D). (18.4)

Im weiteren Verlauf des Buches werden wir Zufallsvariablen nur bei Uneindeutigkeitenexplizit angeben. Das bedeutet, dass zum Beispiel anstatt der langen Form p(x = x

) dieKurzform p(x

) verwendet wird.

18.1.3 Diskriminative und generative Klassifikatoren

Optimale Entscheidungen lassen sich im stochastischen Sinne nur treffen, wenn wir diegenaue A-Posteriori-Verteilung kennen. Leider ist dies nicht der Fall und die einzige In-formation die wir zur Verfügung haben sind die gegebenen Lerndaten, aus denen wir einentsprechendes Modell ableiten müssen.

DiskriminativeKlassifikatorenmodellieren dieA-Posteriori-Verteilung direkt. Einige be-kannte Vertreter sind hier die Support-Vektor-Klassifikation (Abschn. 18.4.6) und das ma-schinelle Lernen mit Gaußprozessen (Abschn. 18.5.5). Generative Klassifikatoren geheneinen anderen Weg und schätzen die A-Posteriori-Verteilung indirekt über die bedingteVerteilung p(x ∣ y) der Eingaben x. Grundidee ist hierbei die Anwendung des Gesetzes

1 Wir verwenden an dieser Stelle bewusst den uneindeutigenBegriff „Verteilung“. Für diskreteAusga-ben y handelt es sich bei p(y∗ ∣x∗ ,D) umdie bedingteWahrscheinlichkeitsverteilung. ImGegensatzdazu ist bei kontinuierlichenWerten y eine bedingte Wahrscheinlichkeitsdichte gegeben.

Page 459: Bildverarbeitung und Objekterkennung ||

18.1 Grundprinzipien des maschinellen Lernens 453

Abb. 18.2 Ein Beispiel für die Modellverifikation mit generativen Modellen: die abgebildetenGesichter wurden synthetisch aufgrund eines gelernten Modells der Datenverteilung von Gesichts-bildern erzeugt. Zum Schätzen des Modells wurden Bilder aus der freien Datenbank von [70]verwendet

von Bayes um im zweiten Schritt die A-Posteriori-Verteilung der Ausgaben zu berechnen:

p(y∗

∣ x∗

,D) =p(x

∣ y∗

,D)p(y∗

∣ D)

p(x∗

∣ D)(18.5)

=p(x

∣ y∗

,D)p(y∗

∣ D)

∑y∈Y p(x∗

∣ y,D)p(y ∣ D). (18.6)

DerNenner in (18.5) kann für dieMaximierung bezüglich derAusgabe y∗

ignoriertwerdenund es ergibt sich folgende Klassifikationsentscheidung:

h(x∗

) = argmaxκ∈Y

p(x∗

∣ y∗

= κ ,D) ⋅ p(y∗

= κ ∣ D). (18.7)

Die direkte Verwendung der Dichtewerte hat oft numerische Nachteile und um diese zuverhindern, kann die logarithmierte A-Posteriori-Verteilung zur Entscheidung herangezo-gen werden:

h(x∗

) = argmaxκ∈Y

log p(x∗

∣ y∗

= κ ,D)+ log p(y∗

= κ ∣ D). (18.8)

Im Gegensatz zu diskriminativen Ansätzen haben generative Ansätze den großen Vorteil,dass ein Modell der Verteilung der Eingabedaten zur Verfügung steht. Dadurch ist es zumBeispiel möglich, eine Ausreißerdetektion durchzuführen oder neue Datenpunkte von derVerteilung zu ziehen. Die zweite Eigenschaft ist besonders sinnvoll für die Verifikation desModells. Nehmen wir einfach einmal an, dass wir aufgrund von gegebenen Lernbilderndie Verteilung von Gesichtern modelliert und geschätzt haben. Durch das Ziehen einerEingabe von der erlernten Verteilung und deren Inspektion lässt sich leicht erkennen, obdassModell denAnforderungen der Aufgabenstellung genügt. Ein entsprechendes Beispieldieses Szenarios lässt sich in Abb. 18.2 finden.

Der klare Vorteil von diskriminativen Ansätzen ist die direkte Modellierung der ge-wünschten A-Posteriori-Verteilung ohne den Umweg über die Likelihood der Eingabe-daten. Dieser Vorteil ist in folgender Aussage von Vladimir Vapnik, dem Begründer derLerntheorie und der Support-Vektor-Klassifikation, schön zusammengefasst:

When solving a given problem, try to avoid solving a more general problem. [79], Abschn. 1.9,S. 28.

Page 460: Bildverarbeitung und Objekterkennung ||

454 18 Maschinelles Lernen

18.2 Herausforderungen des Maschinellen Lernens

Beimmaschinellen Lernenmit gegebenen beschrifteten Lernbeispielen gibt es viele Aspek-te zu beachten, welche die Auswahl des Klassifikators, der Merkmale oder des Lerndaten-satzes beeinflussen. Bei der Entwicklung eines Erkennungssystems ist es daher zwingendnotwendig, sich mit bestimmten Grundkonzepten vertraut zu machen, da dadurch vielePhänomene erklärt werden können.

18.2.1 Modellkomplexität, Überanpassung und Generalisierung

Im Folgenden wollen wir uns die BegriffeModellkomplexität,Überanpassung und Genera-lisierung näher ansehen.Wir betrachten dazu ein einfaches binäres Klassifikationsproblemso wie es in Abb. 18.3 dargestellt ist. Es lässt sich sehr schnell erkennen, dass eine lineareTrennebene nicht ausreicht, um die Lerndaten vollständig voneinander zu trennen. Diesliegt an ihrer Modellkomplexität. Das Modell ist durch die Annahme der Linearität nichtflexibel genug. Eine nichtlineare Trennung ermöglicht hingegen die Separierung der zweiKlassen.

Aufgrund dieses Beispiels könnte man natürlich schlussfolgern, dass immer ein mög-lichst komplexes Modell verwendet werden sollte. Dies ist aber nicht der Fall, da komplexeModelle schnell zu einerÜberanpassung führen können. Dieser Überanpassungseffekt lässtsich gut am sogenannten bias-variance tradeoff erläutern, welcher den Fehler bei einerSchätzung in einen Fehlerterm der Lerndaten (bias) und die Varianz der Schätzung (va-riance) zerlegt.

Für die Herleitung untersuchen wir den zu erwartenden quadratischen Fehler eines ge-lernten Modells in einem einzelnen Punkt x, d. h. die quadratische Differenz der Ausgabenh(x) und h(x;D):

MSE(x) = ED

((h(x) − h(x;D))) . (18.9)

Der obige Erwartungswert wird bezüglich des Lerndatensatzes D berechnet und wird da-her mit E

D

(⋅) notiert. Eine Betrachtung des mittleren Fehlers ist natürlich auch möglich,aber wir wollen an dieser Stelle aus Gründen der Übersichtlichkeit darauf verzichten. Seinun havg(x) = E

D

(h(x;D)) die durchschnittliche Schätzung des Modells für eine Eingabex bezogen auf zufällige LerndatenD. Dieser Term wird nun genutzt um eine neutrale Nullzu erzeugen und den Fehler zu zerlegen:

MSE(x) = ED

((h(x) − havg(x) + havg(x) − h(x;D))) (18.10)

= (h(x) − havg(x))

+ ⋅ (ED

(havg(x) − h(x;D))) (h(x) − havg(x))

+ ED

(havg(x) − h(x;D)) . (18.11)

Page 461: Bildverarbeitung und Objekterkennung ||

18.2 Herausforderungen des Maschinellen Lernens 455

Abb. 18.3 Komplexität undGeneralisierungseigenschaftenbei der Klassifikation

nichtlineare Trennung( Komplexität, Generalisierung)

lineare Trennebene( Komplexität, Generalisierung)

Klasse 1

Klasse 2

Aufgrund der Definition von havg entfällt nun der mittlere Summand und wir erhalten:

MSE(x) = (h(x) − havg(x))+ E

D

(havg(x) − h(x;D)) (18.12)

= (h(x) − havg(x))

rsssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssubias

+ σ D

(h(x;D))rssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssu

variance

. (18.13)

Der vordere Term, welcher als bias bezeichnet wird, misst die Abweichung der durch-schnittlichen Schätzung zur echten Funktion h. Der zweite Term hingegen ist die Varianzder Schätzungen bei unterschiedlichen Lerndatensätzen und lässt sich als Maß der Kom-plexität des Modells begreifen.

Die Minimierung des Schätzfehlers führt also immer auf einen Kompromiss zwischenunterschiedlichen Modellkomplexitäten. Ein komplexes Modell wird immer einen nied-rigen bias-Term haben, da es sich flexibel an gegebene Lerndaten anpassen kann, dieserTatsache steht aber immer eine Erhöhung des variance-Term entgegen.

18.2.2 Lernenmit wenigen Beispielen

Das Problem bei wenigen Lerndatenmanifestiert sich als schlecht gestelltes Optimierungs-problem, welches im Folgenden näher erläutert werden soll: Das Lernen von visuellenAufgaben kann mathematisch als das Schätzen einer Abbildung h ∶ X → Y von der Men-ge X aller Bilder in die Menge Y aller möglichen Beschriftungen angesehen werden. DieSchätzung basiert dabei auf einem gegebenen Lerndatensatz D, welcher n Bilder xi ∈ X

und deren Beschriftungen yi ∈ Y enthält. Wird die Aufgabe als reines Schätzproblem be-trachtet, führt dies unmittelbar zum entscheidenden Dilemma der Objekterkennung: aufder einen Seite ist die Menge aller möglichen Funktionen h und der EingaberaumX selbsthochdimensional, auf der anderen Seite existieren nur wenige gegebene Datenpunkte. Oh-ne weitere Zusatzinformationen ist diese Situation vergleichbar mit der Regression einer

Page 462: Bildverarbeitung und Objekterkennung ||

456 18 Maschinelles Lernen

komplexen Funktion (z. B. Polynom hohenGrades) mit einer geringen Anzahl vonAbtast-werten. Die Schätzung eines komplexen Modells erfordert daher auch immer eine großeAnzahl von Lernbeispielen.

18.3 Statistische Schätzer

Wie wir bereits in Abschn. 18.1.2 gesehen haben, lassen sich die Problemstellungen desmaschinellen Lernens auch stochastischmodellieren. Daher werden wir uns im Folgendenden Grundprinzipien von statistischen Schätzern zu wenden, da diese zumLernen von sto-chastischen Modellen eingesetzt werden können. Weiterhin sind diese Schätzer nicht nurim Bereich des maschinellen Lernens wichtig. In vielen Anwendungen der Bildverarbei-tung werden Schätzer benötigt, so ist zum Beispiel das Wiener-Filter ein MMSE-Schätzer(Abschn. 9.5.3), Geometrische Objekte werden mit LSE oder LSA-Schätzern aus detektier-ten Pixeln im Bild geschätzt (Abschn. 21.2) und MAP-Schätzer werden oft in der Bildre-stauration benutzt (Abschn. 9.4).

Für das weitere Vorgehen wählen wir einen sehr allgemeinen Ansatz und betrachten ei-ne Menge von Modellen, welche durch eine Variable θ ∈ Θ parametrisiert sind. MöglicheParameter sind zum Beispiel der Mittelwert und die Standardabweichung θ = (μ, σ ) ei-nes Normalverteilungsmodelles oder der Normalenvektor einer Hyperebene. Das Modelleiner Likelihood oder A-Posteriori-Verteilung ist also immer von einemParametervektor θabhängig und wir verwenden im Folgenden die Schreibweise p(y ∣ x, θ) für diskriminativeModelle und p(x ∣ y, θ) für generative Modelle.

18.3.1 Maximum-Likelihood undMaximum-A-Posteriori-Schätzung

Viele Verfahren des maschinellen Lernens sind zweistufig aufgebaut. Zunächst werdendie Modellparameter durch die Optimierung eines passenden Zielkriteriums bestimmt,welches von den Lerndaten abhängt. Anschließend werden die Modellparameter und dasdaraus resultierende Modell verwendet, um die Ausgaben zukünftiger neuer Eingabedatenzu schätzen.

Ein Standardkriterium für die Optimierung während des Lernschrittes ist dabei dieLikelihood der Lerndaten bei gegebenen Modellparametern:

θML

= argmaxθ∈Θ

p(D ∣ θ). (18.14)

Diese Schätzungwird alsMaximum-Likelihood-Schätzung (ML-Schätzung) bezeichnet.DieOptimierung führt dabei auf eine sogenannte Punktschätzung, indem sie den Modalwertder Likelihood-Verteilung bestimmt. Eine entscheidende Eigenschaft der ML-Schätzungist es, dass keine A-Priori-Wahrscheinlichkeiten des Modelles eingehen. Egal wie unwahr-

Page 463: Bildverarbeitung und Objekterkennung ||

18.3 Statistische Schätzer 457

a b c

Abb. 18.4 Ein einfaches Beispiel für eine ML- und MAP-Schätzung. a Likelihood mit einem Mo-dalwert und einer geringen Varianz, b Normalverteilung als A-Priori-Verteilung, c resultierendeA-Posteriori-Verteilung mit einem anderen Modalwert

scheinlich dieModellparameter unabhängig von den Lerndaten seinmögen, das Kriteriumorientiert sich allein an den gegebenen Beispielen inD. Dadurch wird die Modellkomple-xität nicht eingeschränkt und es kann im Allgemeinen schnell zu einer Überanpassungkommen (Abschn. 18.2.1).

Eine Möglichkeit diese Effekte zu reduzieren ist es, die A-Priori-Verteilung p(θ) direktmiteinzubeziehen und ein Maximum der A-Posteriori-Verteilung des Modellparameterszu finden:

θMAP

= argmaxθ∈Θ

p(θ ∣ D) = argmaxθ∈Θ

p(D ∣ θ)p(θ). (18.15)

Diese Schätzung wird auch als Maximum-A-Posteriori-Schätzung (MAP-Schätzung) be-zeichnet. In Abb. 18.4 werden beide Arten der Schätzung an einem kleinen Beispiel ver-deutlicht. Die Likelihood in Abb. 18.4 besitzt ein Maximum bei θ = mit einer kleinenBreite, welches höchstwahrscheinlich aus einer Überanpassung entstanden ist. Wenn wirnun die A-Priori-Verteilung des Parameters θ verwenden, erhalten wir eine A-Posteriori-Verteilungmit einemModalwert in derNähe von θ = . DerMAP-Schätzwert unterscheidetsich also vomML-Schätzwert.

Beide Schätzverfahren sind äquivalent, wenn eine Gleichverteilung für p(θ) ange-nommen wird. Dies ist nur möglich, wenn der Parameterraum ein beschränktes Vo-lumen besitzt, da ansonsten keine Gleichverteilung auf Θ existieren kann. Um eineMAP-Schätzung durchzuführen, ist es natürlich zunächst notwendig eine entsprechen-de A-Priori-Verteilung zu modellieren und zu bestimmen. Die Wahl ist dabei abhängigvon der Aufgabenstellung.

Das direkte Verwenden einer Punktschätzung des Lernschrittes bei der Schätzung derAusgabe eines neuen Beispiels wird auch als Plugin-Prinzipbezeichnet. Ein großer Nachteildieses Ansatzes ist es, dass die Varianz der Schätzwertes dabei ignoriert wird.

Page 464: Bildverarbeitung und Objekterkennung ||

458 18 Maschinelles Lernen

18.3.2 Bayes-Ansätze undMarginalisierung

Im Gegensatz zu Punktschätzungen mit ML oder MAP verwenden Bayes-Ansätze (eng-lisch: Bayesian inference methods) keine direkten Parameterschätzungen sondern margi-nalisieren den Parameter θ, d. h. wir integrieren über diesen Parameter:

p(y∗

∣ x∗

,D) = ∫Θ

p(y∗

, θ ∣ x∗

,D)dθ (18.16)

= ∫Θ

p(y∗

∣ x∗

, θ)p(θ ∣ D)dθ (18.17)

= ∫Θ

p(y∗

∣ x∗

, θ)(p(D ∣ θ)p(θ)

p(D)) dθ. (18.18)

Die zweite Umformung verwendet die Annahme, dass die Likelihood eines neuen Beispielsvon den Lerndaten unabhängig ist, wenn die Modellparameter θ gegeben sind. Diese An-nahme wurde auch bereits indirekt bei der ML und MAP-Schätzung verwendet und istintuitiv, schließlich sollte ein Modell möglichst so entworfen werden, dass alle wichtigenInformationen der Lerndaten für die Schätzung enthalten sind. Eine analoge Formulierungzu (18.17) lässt sich auch für die Likelihood p(x

∣ y∗

,D) durchführen.Verglichen mit dem Plugin-Prinzip ist der Bayes-Ansatz wesentlich allgemeiner, so las-

sen sich ML und MAP-Schätzung als Spezialfall darstellen. Wir betrachten dazu die A-Posteriori-Verteilung p(θ ∣ D) desModellsmit einem einzelnen Peak (Maximum) in θ

MAP.

Das Integral in (18.17) lässt sich nun folgendermaßen berechnen (siehe Abschn. 2.1.2):

p(y∗

∣ x∗

,D) = ∫Θ

p(y∗

∣ x∗

, θ)(δ [θ − θMAP

]) dθ (18.19)

= p(y∗

∣ x∗

, θMAP

). (18.20)

Der Diracimpuls δ [⋅] als Dichte interpretiert hat eine Varianz vonNull. Daher wird bei derPunktschätzung die Varianzder Schätzung nicht beachtet. In Abb. 18.4a ist dies anhandder„schmalen Spitze“ verdeutlicht. Die Wahrscheinlichkeit (Fläche unterhalb der Likelihood-Funktion), dass der ML-Schätzwert die Lerndaten richtig repräsentiert ist trotz des hohenWertes der Dichte sehr klein. Zwar wird durch die MAP-Schätzung eine Reduzierung die-ses Phänomens erzielt, dennoch besteht das Problem der Punktschätzung weiterhin.

Im Gegensatz dazu kann der Bayes-Ansatz in (18.17) als unendliche Summe von ver-schiedenenmodellspezifischenLikelihoods interpretiert werden, welche allemit demWertder A-Posteriori-Verteilung des Modells gewichtet werden. Daher ist der Bayes-Ansatz ro-bust bezüglich der in Abb. 18.4 beobachteten Problematik.

Genausowie bei derMAP-Schätzung ist dieWahl der A-Priori-Verteilung entscheidendund dies nicht nur für die Genauigkeit der Schätzung, sondern auch für die Laufzeit undeffiziente Realisierbarkeit. Der Parametervektor des Modells ist in vielen Fällen hochdi-mensional. Eine Auswertung des Integrals in (18.17) ist daher mit Standardmitteln der

Page 465: Bildverarbeitung und Objekterkennung ||

18.3 Statistische Schätzer 459

numerischen Mathematik oft nicht möglich und es müssen Techniken wie Markov chainMonte Carlo (MCMC) [3], Laplace-Approximation (Abschn. 18.5.8) oder expectation pro-pagation [57] genutzt werden.

Eine analytische Lösung ist nur in Spezialfällen möglich. So besitzen zum Beispiel be-stimmte parametrische Familien von Likelihood-Verteilungen eine korrespondierende pa-rametrische Familie von A-Priori-Verteilungen, welche auf eine geschlossene Lösung derMarginalisierung in (18.17) führen. Diese A-Priori-Verteilungen werden auch als conjugateprior bezeichnet.

18.3.3 MMSE-Schätzer

Wir haben gesehen, dass bei Bayes-Ansätzen keine einzelne Schätzung des Modellpara-meters durchgeführt wird. Dennoch ist es manchmal vorteilhaft eine Einzelschätzungvorzunehmen, um zum Beispiel die Plausibilität des Modells zu überprüfen. Der Bayes-Schätzwert des Parameters ist definiert als der Wert, welcher den Erwartungswert einesFehlerterms L ∶ Θ → R bezüglich der A-Posteriori-Verteilung des Modells minimiert:

θBayes

= argminθ∈Θ

Eθ (L(θ, θ) ∣D) (18.21)

= argminθ∈Θ

∫Θ

L(θ, θ) ⋅ p(θ ∣ D)dθ. (18.22)

Wird ein quadratischer Fehlerterm gewählt, so ist der Bayes-Schätzwert äquivalent zumsogenannten MMSE-Schätzwert (englisch: Minimum Mean Square Error) und der Mini-mierung der Varianz [19]:

θMMSE

= argminθ∈Θ

Eθ (∥θ − θ∥∣ D) . (18.23)

Um dieses Kriterium zu minimieren, leiten wir es nun bezüglich θ ab:

∂∂θ

Eθ (∥θ − θ∥∣ D) = (Eθ(θ) − θ) (18.24)

und erhalten durch Nullsetzen folgenden Schätzwert:

θMMSE

= E(θ ∣ D) = ∫Θ

θ ⋅ p(θ ∣ D)dθ. (18.25)

Dabei handelt es sich um den Mittelwert der A-Posteriori-Verteilung des Modells. Bei ei-nem normalverteilten Modell lässt sich schnell die Äquivalenz zur MAP-Schätzung er-kennen, da in diesem Fall der Mittelwert und der Modalwert identisch sind. Zu MMSE-Schätzern siehe auch die Abschn. 9.5.3 und 21.2.

Page 466: Bildverarbeitung und Objekterkennung ||

460 18 Maschinelles Lernen

18.3.4 Kombination vonModellen mit Bagging

Bei der Schätzung von Ausgaben oder Parametern können auch Techniken der Modell-kombination angewendet werden, wie etwa das von Leo Breiman [8] vorgestellte Bagging,welches eine Abkürzung für bootstrap aggregation darstellt. Dieser Ansatz, welcher fürdie Regression und die Klassifikation eingesetzt werden kann, gehört zu der Klasse derEnsemble-Klassifikatoren. Wir werden in der Boosting-Methode noch einen weiteren Ver-treter dieser Klasse in Abschn. 18.4.5 kennenlernen.

Ziel von Ensemble-Klassifikatoren ist es, eineMenge vonmehreren Basisklassifikatoren,welche als Ensemble bezeichnet werden, zu kombinieren. In der englischen Literatur wirdauch meist von weak classifier gesprochen, um zu verdeutlichen, dass selbst sehr einfacheKlassifikatoren zu einem komplexen Modell kombiniert werden können. Die Idee beimBagging-Ansatz ist es, mehrere Modelle (θt)

Tt= mit einer zufälligen Auswahl von Lernda-

ten zu bestimmen, d. h. es werden nur rB ⋅ n Lernbeispiele verwendet mit < rB < .Nach dem unabhängigen Lernen der einzelnen Modelle kann die Schätzung einfach

durch eine Mittelung erfolgen:

hBagging(x∗

) =T

T∑t=

h(x∗

; θt). (18.26)

Die Motivation bei dieser Technik ist es, eine Überanpassung zu vermeiden, indemviele sehr unterschiedliche Modelle verwendet werden. Diese Eigenschaft von Bagging-Methoden wollen wir uns im Folgenden einmal näher ansehen. Wir untersuchen dazuden Fehler bei der Schätzung ähnlich zu [3, Abschn. 14.2] und bezeichnen den wahrenZusammenhang zwischen Ein- und Ausgabedaten mit h. Die Ausgabe des Modells lässtsich dann mit entsprechenden Fehlertermen εt schreiben als:

h(x; θt) = h(x) + εt(x). (18.27)

Der Fehler eines einzelnen Modells wird durch die quadratische Differenz zur wahrenFunktion h bestimmt analog zur Betrachtung in Abschn. 18.2.1:

Et = Ex ((h(x; θt) − h(x))) = Ex (εt(x)) . (18.28)

Dies führt direkt auf den durchschnittlichen Fehler des Ensembles, wenn jedes Modell un-abhängig voneinander betrachtet wird:

Eaverage =T

T∑t=

Et =T

T∑t=

Ex (εt(x)) . (18.29)

Page 467: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 461

Der Fehler des Bagging-Ansatzes ergibt sich nun unter der Annahme unkorrelierter Feh-lerterme mit Mittelwert Null:

Ebagging = Ex ((hBaggingD

(x∗

) − h(x)))

= Ex⎛

⎝(T

T∑t=

εt(x))⎞

=T (Ex (ε(x) + . . . + εT(x)) + Ex (∑

t≠t′εt(x)εt′(x)))

=T (Ex (ε(x) + . . . + εT(x)))

=T

⋅ Eaverage . (18.30)

Die theoretische Untersuchung zeigt, dass Bagging bei der Reduzierung des zu erwarten-den Fehlers hilft besonders wenn ein großes Ensemble gewählt wird. Die wichtigste An-nahme, die wir getroffen haben, war die fehlende Korrelation zwischen den Fehlertermen.Im allgemeinen Fall ist diese Annahme nicht gültig. Das Bagging-Verfahren versucht aberdurch die randomisierte Auswahl von Lerndaten möglichst unterschiedliche und dadurchauch unkorrelierte Modelle zu gewinnen.

Bei stochastischen Modellen, wie wir sie vorwiegend in den letzten Abschnitten be-trachtet hatten, kann die Bagging-Idee ebenfalls angewendet werden. Die geschätzte A-Posteriori-Verteilung einer Ausgabe y

eines neuen Beispiels x∗

ist dann gegeben durch:

p(y∗

∣ x∗

,D) =T

T∑t=

p(y∗

∣ x∗

, θt). (18.31)

Diese Schätzgleichung lässt sich aber nicht als stochastische Version von (18.26) interpre-tieren.

18.4 Klassifikatoren

Im folgenden Abschnitt wollen wir uns näher mit Klassifikationsverfahren beschäftigen.Die Verfahren unterscheiden sich auf unterschiedlichen Ebenen:

1. Art des Modells (diskriminativ oder generativ),2. Grundlegende Modellannahmen,3. Nebenbedingungen und Regularisierung,4. Verfahren zur Schätzung der Parameter.

Die in diesem Buch besprochenen Verfahren sind nur eine kleine Teilmenge der verfüg-baren und im Laufe der letzten Jahrzehnte entwickelten Klassifikatoren, welche besonders

Page 468: Bildverarbeitung und Objekterkennung ||

462 18 Maschinelles Lernen

für Aufgabenstellungen in der Bildverarbeitung wesentlich sind. Für weitere Beispiele, wieetwa neuronaleNetze, sei an dieser Stelle auf das Buch vonChris Bishop [3] verwiesen, wel-ches einen exzellenten unddetaillierten Einblick in dieVerfahren desmaschinellen Lernensund deren Zusammenhänge bietet.

18.4.1 Nächster-Nachbar-Klassifikator

Der Nächste-Nachbar-Klassifikator (NN-Klassifikator) ist der einfachste aber auch be-kanntesteKlassifikator. Gegeben sei ein LerndatensatzD einesMehrklassen-Klassifikations-problems mit y ∈ {, . . . ,M}. Weiterhin nehmen wir an, dass wir D-dimensionalereellwertige Eingabedaten x ∈ RD klassifizieren möchten.

Wir gehen im Folgenden von der Existenz eines passenden Abstandsmaßes d ∶ X ×

X → R zwischen Eingabedaten aus, welches kleine Distanzwerte zurück liefert, wenn zweiBeispiele im Sinne der Aufgabenstellung ähnlich sind. Der Nächste-Nachbar-Klassifikatorverwendet direkt dieses Abstandsmaß um das Beispiel π(x

) der Lernmenge zu bestim-men, welches maximal zum neuen Beispiel x

ähnlich ist:

π(x∗

) = argmin≤i≤n

d(x∗

, xi). (18.32)

Das neue Beispiel kann dann direkt mit der Klasse yπ(x∗) des nächsten Nachbarn π(x∗

)

klassifiziert werden und es ergibt sich folgende Klassifikationsregel:

h(x∗

) = yπ(x∗) . (18.33)

Die Entscheidungsfunktion des Nächster-Nachbar-Klassifikators bei der Anwendung aufeine zweidimensionale Lernstichprobe ergibt eine Voronoi-Zerlegung. Eine weitere Eigen-schaft des Klassifikators ist die hoheKomplexität (Abschn. 18.2.1) dermöglichen TrennungderKlassengebiete.Dadurch ist dieserKlassifikator auch besonders anfällig gegenüber Feh-lern in der Lernstichprobe.

k-NN oder demokratische Lokalpolitik Eine robustere Variante des NN-Klassifikatorsermöglicht die Betrachtung mehrerer Nachbarn. Seien π(), . . . , π(k) die k nächsten Nach-barn von x

, welche analog zu (18.32) bestimmt wurden. Wir nehmen im Folgendenan, dass diese Menge eindeutig ist oder allgemeiner dass die Abstände zu den Lerndatenpaarweise verschieden sind. Aus der Statistik der zu den Nachbarn zugehörigen Ausgabens(x∗

) = (yπ() , . . . , yπ(k)) lassen sich nun mehrere unterschiedliche Entscheidungsregelnableiten. Die einfachste Regel ist der Mehrheitsentscheid, d. h. wir nehmen die Klasse, dieunter den k nächsten Nachbarn am häufigsten auftritt:

h(x∗

) = argmaxκ∈Y

∣{i ∣ si(x∗) = κ}∣ . (18.34)

Page 469: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 463

a b c

Abb. 18.5 Klassifikation mit einem k-Nächster-Nachbar Klassifikator und unterschiedlichenWer-ten von k (a k = ,b k = , c k = ). Farblich dargestellt sind die durch dieKlassifikationsentscheidungentstehenden Klassengebiete

Abbildung 18.5 zeigt anhand eines zweidimensionalen Beispiels die Ergebnisse beim k-Nächster-Nachbar-Klassifikator. Eine optimale Bestimmung des Parameters k kann durchKreuzvalidierung (Abschn. 18.6.1) durchgeführt werden. Weiterhin ermöglicht die Be-stimmung der k nächsten Nachbarn auch eine stochastische Modellierung durch die em-pirische Bestimmung der Wahrscheinlichkeiten aufgrund des Histogramms von s:

p(y∗

= κ ∣ x∗

,D) =∣{i ∣ si(x∗) = κ}∣

k. (18.35)

Ein Nachteil dieses Modelles ist, dass die genauen Abstände der nächsten Nachbarn nichtmiteinbezogen werden. Jeder Nachbar wird gleichwertig behandelt und geht mit dem glei-chen Gewicht in die Berechnung derWahrscheinlichkeit ein. Ein Ausweg aus dieser Situa-tion bietet die Verwendung der sogenannten softmax Funktion:

p(y∗

= κ ∣ x∗

,D) =∑s i=κ exp (−α ⋅ d (x

, xπ(i)))

∑kj= exp (−α ⋅ d (x

, xπ( j))). (18.36)

Der Parameter α ≥ bewirkt eine Art Glättung der sich ergebenen Wahrscheinlichkeits-verteilung. Für α = ergibt sich das Modell aus (18.35) und für α → ∞ erhalten wir eine/-Verteilung.

Abstandsmaße Die Wahl eines Abstandsmaßes ist oft abhängig von der Anwendung. Ei-ne Übersicht dazu ist in Abschn. 19.8.1 zu finden. Eine Standardwahl ist der quadrierteEuklidische Abstand zwischen den Merkmalsvektoren:

d(x, x′) = ∥x − x′∥. (18.37)

Dies erfordert zwingend, dass alle Merkmale gleich skaliert sind, zum Beispiel durch ≤

x j ≤ , da ansonsten die Änderungen in den einzelnen Komponenten der Eingaben eineunterschiedliche Auswirkung auf die Distanz haben. Ein allgemeineres Abstandsmaß istdie Mahalanobisdistanz:

d(x, x′) = (x − x′)T A (x − x′) , (18.38)

Page 470: Bildverarbeitung und Objekterkennung ||

464 18 Maschinelles Lernen

dabei kann dieMatrixA eine unterschiedliche Gewichtung der einzelnenMerkmale bewir-ken.Ein typischesBeispiel istdieVerwendungeinerDiagonalmatrixA = diag(σ− , . . . , σ−D )

mit den inversen Varianzen der einzelnen Merkmale. Allgemeiner kann auch die inverseKovarianzmatrix der Lerndaten als Matrix A verwendet werden. Die Verwendung der in-versen Kovarianzmatrix und des Mahalanobisabstandes erinnert sehr an die Dichte einermehrdimensionalen Normalverteilung und ist daher verwandt zum Normalverteilungs-klassifikator, welcher im nächsten Abschnitt genauer vorgestellt wird.

18.4.2 Normalverteilungsklassifikator

Der Normalverteilungsklassifikator ist ein typischer Vertreter der generativen Klassifika-toren (Abschn. 18.1.3). Oft wird in diesem Zusammenhang auch vom Bayes-Klassifikatorgesprochen, obwohl dieser Begriff mehrdeutig ist und daher vermieden werden sollte.

Wir gehen im Folgenden von der Annahme aus, dass die Beispiele einer Klasse nor-malverteilt sind. Daraus ergibt sich direkt die folgende Angabe der Verteilungsdichte derEingabedaten x:

p(x ∣ y = κ) = N(x ∣ μκ , Sκ)

=

√(π)D det (Sκ)

exp (−(x − μκ)

TS−κ (x − μκ)) . (18.39)

Dabei ist μκ ∈ RD der Mittelwertvektor der Verteilung und Sκ ∈ R

D×D die Kovarianz-matrix. Aufgabe des Lernschrittes ist es, diese Parameter aus den gegebenen Lerndaten zuschätzen. Um die Maximum-Likelihood-Schätzwerte (μκ , Sκ) der Parameter einer multi-variaten Normalverteilung zu erhalten, bestimmen wir zunächst die negative logarithmier-te Likelihood-Funktion:

L(μκ , Sκ) = − ∑x∈Xκ

logN(x ∣ μκ , Sκ)

∝ ∑x∈Xκ

(log (det (Sκ)) + (x − μκ)TS−κ (x − μκ)) . (18.40)

Wir werden auf die genaue Herleitung verzichten, aber es lässt sich zeigen, dass die folgen-den Schätzwerte die obige Funktion minimieren:

μκ =nκ

∑x∈Xκ

x, (18.41)

Sκ =nκ

∑x∈Xκ

(x − μκ) (x − μκ)T. (18.42)

Das Lernen beschränkt sich demnach auf einfache algebraische Operationen.

Page 471: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 465

Wiewir bereits inAbschn. 18.1.3 kennengelernt haben, ist dieKlassifikation eines neuenBeispiels x

mit generativen Methoden äußerst intuitiv und es wird die Klasse y∗

ausge-wählt, welche die A-Posteriori-Verteilung maximiert. Wir folgen also unseren früherenÜberlegungen und verwenden die Entscheidungsfunktion aus (18.8) zusammen mit un-serer Normalverteilungsannahme in (18.39):

h(x∗

) = argmaxκ∈Y

(log p(x∗

∣ y∗

= κ ,D)+ log p(y∗

= κ ∣ D)) (18.43)

= argminκ∈Y

(log (det (Sκ)) + (x − μκ)TS−κ (x − μκ) − log p(y

= κ ∣ D)) .

Zur Bestimmung der einzelnen Terme in der obigen Optimierung ist zum einen die Er-mittlung der logarithmierten Determinante der Kovarianzmatrix nötig sowie deren Inver-tierung und Multiplikation mit (x − μκ).

Implementierung Eine Kovarianzmatrix ist immer positiv semidefinit, daher bietet sichdas Cholesky-Verfahren für beide Probleme an. Eine Beschreibung des Verfahrens ist invielen Standardwerken der numerischen Mathematik zu finden [56] und eine der Basis-methoden in Programmierbibliotheken.

Nicht zu vernachlässigen sind bei diesem Verfahren dennoch die numerischen Schwie-rigkeiten. Stellen wir uns einmal vor, wir hätten viele Merkmale berechnet und erhaltenjeweils Eingabevektoren der Dimension . Dann sind auch mindestens Lernbei-spiele proKlasse erforderlich, umdieRegularität derKovarianzmatrizen Sκ sicherzustellen,ansonsten lässt sich die Invertierung oder das Lösen des zugehörigen Gleichungssystems(Kap. 22) nicht bewerkstelligen. Die Anforderung mindestens D Lernbeispiele pro Klassezu verwenden, ist bei vielen Anwendungen nicht realisierbar.

Eine einfache Lösung ist die Regularisierung der Matrizen, d. h. anstatt Sκ verwendenwir die Matrix Sκ + λImit geeignet gewähltem λ > . Diese Art der Regularisierung wirdin Abschn. 22.2 näher erläutert undmotiviert. Eine weitere Möglichkeit ist die Berechnungder Pseudoinversen (Abschn. 22.1) oder die Verwendung einer Mischung aus Klassenko-varianzmatrix und der Kovarianzmatrix aller Daten.

Erweiterungen Ein großer Nachteil des Normalverteilungsklassifikators ist die Annah-me der Unimodalität der Klassenverteilung. Es gibt immer ein eindeutiges Maximum je-der Klassenverteilung repräsentiert durch den Mittelwertvektor. In vielen Anwendungenist diese Annahme nicht korrekt, so gibt es zum Beispiel bei der Bildklassifikation (Ab-schn. 20.2) oft unterschiedliche Arten vonObjektdarstellungen, wie etwa Fotos oder Zeich-nungen. Die Flexibilität des Klassifikators kann durch die Schätzung einerMischverteilungerhöht werden (Abschn. 18.7.2). Eine weitere Möglichkeit ist die Anwendung des Kernel-Tricks, welcher in Abschn. 18.5 näher diskutiert wird.

Ein Normalverteilungsklassifikator kann auch bezüglich seiner Laufzeit verbessert wer-den. So kann zum Beispiel die Annahmegetroffen werden, dass alle Merkmale unabhängigvoneinander sind. Daraus ergibt sich eine diagonale Kovarianzmatrix und die Laufzeitwährend der Klassifikation verringert sich vonO(D) aufO(D).

Page 472: Bildverarbeitung und Objekterkennung ||

466 18 Maschinelles Lernen

18.4.3 Entscheidungsbäume

Entscheidungsbäume gehören zu den ersten Methoden des maschinellen Lernens und wirwerden imweiteren Verlauf des Abschnittes noch sehen, dass die angewandten Grundprin-zipien auf viele andereKonzepte übertragbar sind. So ermöglicht das randomisierte Lernenvon Entscheidungsbäumen, welches in Abschn. 18.4.4 näher erläutert wird, eine effizienteKlassifikation mit einfachsten algorithmischen Mitteln.

Zunächst werden wir uns aber kurz den ursprünglichen Ideen von Entscheidungsbäu-men zuwenden. Wie der Name schon suggeriert, versuchen Entscheidungsbaumklassi-fikatoren den Entscheidungsprozess der Klassifikation als Baum abzubilden. Es werdendazu (binäre) Fragen gestellt die nacheinander angewendet zu einer Entscheidung füh-ren. Aus Sicht des maschinellen Lernens zerlegen Entscheidungsbäume den Merkmals-raum rekursiv mit binären Klassifikatoren, welche wir als Basisklassifikatoren bezeichnen,bis eine (eindeutige) Klassifikationsentscheidung getroffen werden kann. Diese binärenKlassifikatoren sind mit den inneren Knoten des Baumes (Trennknoten) assoziiert undbestimmen so den Pfad eines Beispiels x

im Baum. Es bestimmen daher immer mehre-re Basisklassifikatoren die Gesamtklassifikation. Dieses Konzept wird Modellkombinationgenannt und erlaubt es, auch einfache Klassifikatoren zu verwenden. Die einfachsten Ver-treter sind Schwellwertentscheidungen bei einem einzelnen Merkmal r ∈ {, . . . ,D}:

h(x; r, ζ) = sign (xr − ζ) =⎧⎪⎪⎨⎪⎪⎩

wenn xr > ζ− wenn xr ≤ ζ

. (18.44)

Die Trennknoten zerlegen den Eingaberaum X in einzelne Bereiche, welche gedanklichden mℓ Blattknoten zugeordnet werden können. In den Blattknoten eines Entscheidungs-baumes sind nun Informationen über die A-Posteriori-Verteilung der einzelnen Klassenfür diese Region enthalten. Wir werden diese Verteilung im Folgenden mit p(y = κ ∣ ϑ(x))bezeichnen, wobei ϑ(x) das resultierende Blatt des Beispiels x bezeichnet. Die eingeführtenBezeichnungen sind in Abb. 18.6 noch einmal dargestellt.

Durch die rekursive Zerlegung des Eingaberaumes ist theoretisch die Approximationbeliebiger Klassenregionen möglich. Ein Entscheidungsbaum kann daher eine hohe Mo-dellkomplexität aufweisen. Ein weiterer Vorteil ist die schnelle Laufzeit bei der Klassi-fikation eines Beispiels. Für diese müssen nur höchstens O(logmℓ) Basisklassifikatorenausgewertet werden.

Lernen von Entscheidungsbäumen Das Lernen eines Entscheidungsbaumes umfasstzum einen die Struktur sowie die A-Posteriori-Wahrscheinlichkeiten in den Blattknoten.Die Suche nach einem optimalen Baum für einen gegebenen Lerndatensatz ist ein schwie-riges kombinatorisches Problem, welches im allgemeinen Fall schwierig handhabbar ist.

Daher kommt folgende „gierige“ Strategie zum Einsatz: Ausgehend vomWurzelknotenwerden Basisklassifikatoren ausgewählt, welche die Lerndaten optimal nach einem gewis-

Page 473: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 467

Abb. 18.6 Allgemeines Prinzip und verwendete Notationen bei Entscheidungsbäumen. Das Dia-gramm auf der rechten Seite veranschaulicht die A-Posteriori-Verteilung des Blattknotens. Der Pfadeines Testbeispiels im Baum (gestrichelte Linie) wird durch die Basisklassifikatoren in den Trennkno-ten bestimmt

sen Trennkriterium Γ auftrennen. In jedem Kindknoten wird dann dieser Schritt mit demreduzierten Lerndaten rekursiv wiederholt. Dies erfolgt solange bis ein Abbruchkriteriumerfüllt ist.

Trennkriterien basieren oft auf einem Maß für die Heterogenität einer Lernprobe. Die-ses liefert hoheWerte für den Fall, dass Beispiele vieler verschiedener Klassen einenKnotenerreicht haben. Das bekannteste Beispiel für solch ein Maß ist die Entropie der Klassenbe-schriftungen:

J Entropie(v) = −M∑κ=

pκ log pκ . (18.45)

Dabei verwenden wir pκ als Notation für den Anteil von Beispielen der Klasse κ im ak-tuellen Knoten v. Ein mögliches Trennkriterium ergibt sich nun aus dem Vergleich derHeterogenität des aktuellen Knotens und der resultierenden Kindknoten:

Γ(v; r, ζ) = J (v) − ∑v′ ist Kind von v

p(v′ ∣ v)J (v′). (18.46)

Die Summe erfolgt dabei über jeden Kindknoten, welcher durch einen Basisklassifikatorh(⋅; r, ζ) erzeugt wird. Die Übergangswahrscheinlichkeit p(v′ ∣ v) ist die Wahrscheinlich-keit, dass ein Beispiel des Knotens v dem Kindknoten v′ zugeordnet wird. Diese Wahr-scheinlichkeit kann durch einfaches Auszählen ermittelt werden.

Die Verwendung der Entropie liefert auch noch eine zusätzliche Interpretation des re-sultierenden Trennkriteriums. In diesemFall ist Γ gleich bedeutendmit der wechselseitigen

Page 474: Bildverarbeitung und Objekterkennung ||

468 18 Maschinelles Lernen

Information der Klassenbeschriftung und der Ausgabe des Klassifikators. DieOptimierungder Zielfunktion in (18.46) bezüglich der Parameter der einfachen Schwellwertklassifika-toren wird meist durch eine vollständige Suche realisiert:

(rv , ζv) = argmax≤r≤D ,ζ∈R

Γ(v; r, ζ). (18.47)

Zu beachten ist, dass auch derWertebereich des Schwellwertes ζ beschränkt ist, da nur eineTrennung zwischen Merkmalswerten unterschiedlicher Klassen sinnvoll ist.

Eine wesentliche Bedeutung kommt beim Lernen von Entscheidungsbäumen den Ab-bruchkriterien zu. Der einfachste Fall tritt auf, wenn nach der rekursiven Unterteilung derLerndaten nur Beispiele einer Klasse in einem Knoten vorhanden sind. Zusätzlich ist ei-ne weitere Auftrennung einer Lernmenge mit einer großen Anzahl von Beispielen einerKlasse und einer sehr geringen Anzahl von Beispielen einer anderen Klasse ebenfalls nichtsinnvoll. Als Abbruchkriterium kann auch das Unterschreiten des Heterogenitätsmaßesverwendet werden, d. h. es gilt J (v) < ξ

J

für den aktuellen Knoten v.Ein weiteres Abbruchkriterium ist eineMindestanzahl an Lernbeispielen. Dies ist erfor-

derlich, da eine Ermittlung eines geeigneten Basisklassifikators mit nur wenigen Lernbei-spielen nicht mehr robust ist. Wir hatten dieses Grundproblem der Mustererkennung inAbschn. 18.2.2 bereits kennengelernt. Bei Anwendungen mit einer hohen Anforderung andie Laufzeit während der Klassifikation ist eine zusätzliche Beschränkung der Baumtiefesinnvoll.

Einer der Hauptkritikpunkte an Entscheidungsbäumen ist die Neigung zur starkenÜberanpassung. Diese entsteht ganz automatisch durch die hohe Modellkomplexität unddie geringe Regularisierung durch einfache Abbruchkriterien. Der bekannteste Ansatz zurUmgehung dieser Schwäche sind sogenannte „Pruning“-Verfahren [10]. Diese verwendeneinen zusätzlichenValidierungsdatensatz umdenBaum„zurückzuschneiden“. Eswird alsonachträglich die Komplexität des Klassifikators reduziert ohne seine Erkennungsleistungmassiv zu beeinträchtigen.

18.4.4 Randomisierte Entscheidungsbäume

Randomisiertes Lernen ermöglicht es, Überanpassungseffekte zu verringern und die Lauf-zeit des Lernschrittes oft drastisch zu reduzieren. Bei randomisierten Entscheidungsbäu-men kann eine Randomisierung auf mehreren Ebenen erfolgen.

EineMöglichkeit habenwir bereits inAbschn. 18.3.4 beim sogenannten Bagging-Ansatzkennengelernt. Die Anwendung dieses Konzeptes bei Entscheidungsbäumen geht auf Brei-man [9] zurück. Anstatt nur einen Entscheidungsbaum zu lernen, wird eine Menge vonBäumen gelernt, welche auch als Ensemble oder zufälliger Wald (engl. random forest) be-zeichnet werden. Um die Diversität der Bäume sicherzustellen, wird zum Lernen einesBaumes immer eine zufällige Auswahl der Lerndaten verwendet.

Page 475: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 469

Die Entscheidungen der einzelnen Entscheidungsbäume müssen bei der Klassifikati-on zusammengeführt werden. Beim Bagging Ansatz erfolgt dies durch eine Mittelung derjeweiligen A-Posteriori-Verteilungen. Wir werden im Folgenden das Blatt des Baumes t,welches von Beispiel x erreicht wird, mit ϑ(t)(x) bezeichnen. Die Klassifikationsentschei-dung kann dann wie folgt dargestellt werden:

p(y∗

∣ x∗

,D) =T

T∑t=

p(y∗

∣ x∗

, ϑ(t)(x∗

)). (18.48)

Dieser Ansatz ist vor allem bei unsicheren Beschriftungen sinnvoll.Der Parameter rB des Bagging-Ansatzes, welcher den Anteil der zufällig gezogenen

Lernbeispiele angibt, muss vorsichtig gewählt werden. Wählen wir einen kleinen Wertfür rB stehen relativ wenige Lernbeispiele zur Verfügung. Zusätzlich erlaubt es aber einegeringe Laufzeit des Lernschrittes.

Out-of-Bag-Schätzungen Ein weiterer Vorteil des Bagging Konzeptes ist die Verfügbar-keit von Out-of-Bag-Schätzungen. Da nur ein gewisser Anteil von Lerndaten verwendetwird, kann der restlicheTeil dazu verwendetwerden, eineVorhersage der voraussichtlichenErkennungsrate zu treffen. Jedes Beispiel xi der Lerndaten wird einfach mit der Menge anEntscheidungsbäumen klassifiziert, die xi nicht zum Lernen verwendet haben. Durch diegeschätzten Erkennungsraten kann eine Modellauswahl erfolgen und die Parameter desKlassifikators können ohne die Verwendung einer expliziter Validierungsmenge optimiertwerden.

ZufälligeUnterräume Eine ähnliche randomisierteMethode ist der random subspaceAn-satz von [31]. Jeder Baum wird zwar mit allen Beispielen gelernt, aber nur mit einer be-schränkten Menge von Merkmalen. Eine Verallgemeinerung ist die Verwendung von zu-fällig linear transformierten Merkmalen [38]. Diese Methode ist auch als rotation forestbekannt und suggeriert bereits dieMotivation, die diesemVerfahren zugrunde liegt. Wennwir zum Beispiel eine Klassenverteilung haben, die nicht in achsenparalleler Lage ist, dannbenötigt ein Entscheidungsbaum eine Vielzahl von Schwellwertklassifikatoren (18.44) umdie Klassifikationsgrenze zu approximieren. Werden hingegen die Eingabedaten vorherrotiert, so ist eine Abtrennung des Klassengebietes mit nur wenigen Basisklassifikatorenmöglich. Genau diese Grundidee versucht ein rotation forest auszunutzen um kompaktereEntscheidungsbäume zu erhalten, die eine bessere Generalisierung ermöglichen.

Randomisiertes Lernen der Basisklassifikatoren Anstatt eine zufällige Auswahl vonMerkmalen für einen kompletten Baum vorzunehmen, kann auch eine randomisierte Op-timierung der Basisklassifikatoren erfolgen [28]. Wir haben in Abschn. 18.4.3 gesehen,dass bei den traditionellen Lernverfahren für Entscheidungsbäume eine vollständige Para-metersuche erfolgt. Der Ansatz vonGeurts et al. [28] wählt daher zufällig eineUntermenge

Page 476: Bildverarbeitung und Objekterkennung ||

470 18 Maschinelles Lernen

Rv aller Merkmale sowie eine AuswahlQv vonmöglichen Schwellwerten in jedem Knotenv aus. Nach der Auswahl wird die Optimierung auf diese beiden Mengen eingeschränkt:

(rv , ζv) = argmaxr∈Rv ,ζ∈Qv

Γ(v; r, ζ). (18.49)

Diese Strategie ist besonders bei großen Lernmengen sinnvoll, wie sie zum Beispiel bei dersemantischen Segmentierung auftreten (Abschn. 20.4.2) und wird in der Literatur auchunter demNamen extra trees geführt. Die Randomisierung dient wie beim Bagging-Ansatzwieder dazu die Diversität der Klassifikatoren in einem Ensemble zu erhöhen und dadurchdie Korrelation zu verringern (siehe Analyse in Abschn. 18.3.4).

18.4.5 Boosting

Ähnlich wie bei Entscheidungsbäumen werden auch beim Boosting-Verfahren mehrereBasisklassifikatoren ht miteinander kombiniert. Die einzelnen Ausgaben der Basisklassifi-katorenwerden gewichtet addiert umzunächst eine kontinuierlicheBewertung zu erhalten:

f (x∗

; α, (θt)Tt=) =

T∑t=

αt ⋅ ht(x∗; θt). (18.50)

Eine üblicheWahl für die Basisklassifikatoren istwieder eine einfache Schwellwertentschei-dung (18.44) mit den Parametern θ = (r, ζ). Die Grundidee von Boosting-Verfahren istes nun die Gewichte αt und die Basisklassifikatoren ht (bestimmt durch Parameter θt)sequentiell auszuwählen, so dass ein gewichtetes Fehlermaß für die Lerndaten minimiertwird. Jedem Lernbeispiel xi wird ein Gewicht wi zugeordnet. Nehmen wir einfach einmalan, dass wir bei gegebenen Gewichten diese Minimierung durchführen können und im-mer genau einen Basisklassifikator ht und einen dazu passendenKoeffizienten αt erhalten.Wie wir bereits beim Bagging-Verfahren in Abschn. 18.3.4 gesehen haben, ist es zwingendnotwendig, möglichst unterschiedliche Basisklassifikatoren miteinander zu kombinieren.Die Erzwingung dieser Variabilität wird beim Boosting-Verfahrendurch eine Adaption derGewichte erreicht. Nach jedem Schritt werden die Gewichte der Lernbeispiele so geändert,dass bisher falsch klassifizierte Beispiele ein hohes Gewicht bekommen und bereits korrektklassifizierte Beispiele ein niedriges Gewicht. Diese allgemeine Verfahrensweise ist bei al-len Boosting-Verfahren gleich. Im Folgenden wollen wir die genaue Funktionsweise vonAdaBoost herleiten, in dem wir den Zusammenhang zur Optimierung herstellen.

Wenn wir den Fehler des aktuellen Klassifikators auf den Lerndaten bestimmen wollen,dann bietet es sich an einzelne Fehlerterme für jedes einzelne Lernbeispiel zu summieren:

E(α, (θt)Tt=) =

n∑i=

L (yi ⋅ f (xi)) , (18.51)

wobei die Funktionen f analog zu (18.50) definiert sind, wir aber auf die explizite Angabeder Parameter aus Gründen der Übersichtlichkeit verzichtet haben. Die Funktion L ist ei-ne Fehlerfunktion für ein einzelnes Beispiel. Wir erinnern uns an dieser Stelle noch an die

Page 477: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 471

Definitionen bei der aktuell betrachteten binären Aufgabenstellung. Die Beschriftungenyi sind − für negative und + für positive Beispiele. Während des Lernens versuchen wireine Funktion zu finden, welche ähnliche Werte für neue Testbeispiele ohne Beschriftungermittelt. Das Vorzeichen der Ausgabe f (xi) des Klassifikators sollte demnach den Be-schriftungen yi entsprechen um einenmöglichst geringen Fehler auf der Lernstichprobe zuergeben. Aus diesem Grund wird auch nur das Produkt dieser beiden Werte als Argumentder Fehlerfunktion L in (18.51) übergeben. Eine Funktion L sollte demnach so konstruiertwerden, so dass L(z) für positive Werte z klein ist und für negative Werte z einen großenWert und Fehler zurück gibt. Wir werden in den weiteren Abschnitten noch sehen, dasses mehrere Möglichkeiten gibt, L festzulegen. Bei der direkten Optimierung des gesamtenFehlers in (18.51) ist es hilfreich eine stetige und differenzierbare Funktion L zu wählenum eine gradientenbasierte Optimierung durchführen zu können.

Wenden wir uns nun wieder dem konkreten Fall des Boosting-Verfahrens zu. Wir ver-wenden in diesem Fall eine Exponentialfunktion um den Fehler L auszudrücken:

E(α, (θt)Tt=) =

n∑i=

exp (−yi ⋅ f (xi)) . (18.52)

Ein üblicher Ansatz in der Optimierung ist es, sequentiell nur eine bestimmte Teilmengeder Parameter zu optimieren. Um die Basisklassifikatorender Reihe nach anzulernen, neh-men wir an, dass die ersten T − Basisklassifikatoren und Koeffizienten konstant sind undwir nur bezüglich θT und αT optimieren. Der gesamte Fehlerterm (18.52) lässt sich dannschreiben als:

E(α, (θt)Tt=) =

n∑i=

exp(−yiαTh(xi ; θT) − yiT−∑t=

αt ⋅ h(xi ; θt)) (18.53)

=n∑i=

wi ⋅ exp (−yiαTh(xi ; θT)) . (18.54)

Dabei haben wir den konstanten Teil der Ausgabe des Klassifikators als Gewichte wi de-finiert. Wir gehen im Folgenden davon aus, dass die Basisklassifikatoren diskrete Ausga-ben zurück liefern, d. h. h(x; θT) ∈ {−, }. Dies ermöglicht die Aufteilung der Summe in(18.54) in einen Teil P der Lerndaten welcher durch den Basisklassifikator korrekt klassi-fiziert wurde (h(x; θT) ⋅ yi = ) und einen anderen Teil N der Lerndaten welcher falschklassifiziert wurde:

E(α, (θt)Tt=) = exp(αT) ⋅ (∑

i∈Nwi) + exp(−αT) ⋅ (∑

i∈Pwi) (18.55)

= (exp(αT) − exp(−αT))n∑i=

wi ⋅ δ (h(xi ; θT) ≠ yi)

+ exp(−αT)n∑i=

wi . (18.56)

Page 478: Bildverarbeitung und Objekterkennung ||

472 18 Maschinelles Lernen

Betrachten wir zunächst die Minimierung dieser Fehlerfunktion bezüglich des Basisklas-sifikators h(⋅; θT). Für die Optimierung ist der multiplikative Term am Anfang sowie deradditive Term am Ende von (18.56) irrelevant. Daher genügt es die Parameter des Klassifi-kators durch folgendes Optimierungsproblem zu finden:

θT = argminθT

n

∑i=

wi ⋅ δ (h(xi ; θT) ≠ yi) . (18.57)

Im Falle von einfachen Schwellwertentscheidungen als Basisklassifikatoren lässt sich die-se Optimierung ähnlich wie bei Entscheidungsbäumen mit einer einfachen vollständigenSuche in der sortierten Liste von Merkmalswerte durchführen. Werden als Basisklassi-fikatoren SVM Klassifikatoren verwendet (Abschn. 18.4.6), so erfolgt ein Lernen dieserKlassifikatoren mit Gewichten für jedes Beispiel, aber dazu später mehr.

Um den aktuellen Schritt im Boostingverfahren zu vervollständigen fehlt noch die Be-stimmung des Koeffizienten αT . Dazu leiten wir die Fehlerfunktion nach αT ab und setzendie Ableitung auf Null:

= exp(αT) ⋅ (∑i∈N

wi) − exp(−αT) ⋅ (∑i∈P

wi) (18.58)

Eine kurze Rechnung ergibt:

exp(−αT) ⋅ (∑i∈P

wi) = exp(αT) ⋅ (∑i∈N

wi) (18.59)

−αT + log(∑i∈P

wi) = αT + log(∑i∈N

wi) . (18.60)

Diese Gleichung führt dann zu einer geschlossenen Formel für den Koeffizienten αT :

αT =(log(∑

i∈Pwi) − log(∑

i∈Nwi)) . (18.61)

Anhand dieser Formel lässt sich die Bedeutung der Koeffizienten gut ablesen: Ist das Ge-samtgewicht der korrekt klassifizierten Beispiele durch den aktuellen Basisklassifikatorhoch, so erhält dieser ein hohes Gewicht. Ist das Gesamtgewicht der falsch klassifiziertenBeispiele höher als das der korrekt klassifizierten Beispiele, so erhält dieser sogar ein nega-tives Vorzeichen im Gesamtklassifikator f um seine Entscheidungen umzukehren. Es lässtsich leicht nachprüfen, dass obige Formel für αT äquivalent zu folgender Berechnungsvor-schrift ist, welche man üblicherweise in der Literatur findet:

εT = (∑i∈N

wi)/(n∑i=

wi) , (18.62)

αT = log( − εTεT

) . (18.63)

Page 479: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 473

Abb. 18.7 Einzelne Schritte des AdaBoost-Verfahrens mit binären SVMs als Basisklassifikatoren:Einzelne Punkte entsprechen Lernbeispielen und die Größe dieser ist proportional zum aktuellenGewicht des Beispiels gewählt. Dargestellt sind in den ersten drei Abbildungen die gelernten Basis-klassifikatoren sowie die dafür verwendeten gewichteten Beispiele. Die vierte Abbildung zeigt diekontinuierliche Ausgabe des kombinierten Klassifikators anhand von Graustufen

Boostingverfahren im Überblick Wir haben nun alle notwendigen Teile um das Boos-tingverfahren zu realisieren und wollen dies nun als Algorithmus kurz schematisch zu-sammenfassen:

1. Setzen der Gewichte auf eine Gleichverteilung: ∀ ≤ i ≤ n ∶ wi =n

2. Sequentielle Bestimmung aller Basisklassifikatoren durch:(a) Bestimmung des Basisklassifikators durch Lösen des Optimierungsproblems

(18.57)(b) Ermitteln des Koeffizienten durch (18.62) und (18.63)(c) Neuberechnung der Gewichte durch:

wi ∶= wi ⋅ exp(−αTδ (h(xi ; θT) ≠ yi)) (18.64)

Die Gleichung für die Aktualisierung der Gewichte ergibt sich durch die indirekte Defini-tion von wi in (18.54). Abbildung 18.7 zeigt die sequentielle Bestimmung der Basisklassi-fikatoren anhand eines zweidimensionalen Beispiels.

Die Klassifikation beschränkt sich auf die Auswertung der Basisklassifikatoren und derlinearen Kombination der Ergebnisse. Da wir Basisklassifikatoren verwenden, bei denendas Vorzeichen die Klassifikationsentscheidung bestimmt, gilt das Gleiche für den resultie-renden Boosting-Klassifikator. An dieser Stelle ist zu beachten, dass manche Präsentationdes Boosting-Verfahrens abweichen und Basisklassikatoren mit Ausgaben im Bereich von bis annehmen.

18.4.6 Support-Vektor-Klassifikator

Der Support-Vektor-Klassifikator (engl.: support vector machines, SVM oder SVM-Klassi-fikator) hat sich im Laufe der Jahre zu einem der meist verwendeten Klassifikatoren ent-wickelt, welcher sich besonders bei visuellen Erkennungsaufgaben durch ihre Generalisie-rungsfähigkeit und der geringen Rechenzeit des Lern- und Testschrittes auszeichnen. In

Page 480: Bildverarbeitung und Objekterkennung ||

474 18 Maschinelles Lernen

Abb. 18.8 Darstellung derMaximierung des Gebieteszwischen den Klassen (engl.margin) durch einen linearenSVM-Klassifikator: Punkterepräsentieren die zwei-dimensionalen Lerndaten undsind zusätzlich markiert, fallssie Support Vektoren darstellen

seiner ursprünglichen Version ist ein SVM-Klassifikator ein binärer linearer Klassifikator,d. h. zwei Klassen werden durch eine Hyperebene voneinander getrennt. Im Laufe diesesKapitels werden wir noch Möglichkeiten kennenlernen, wie zum einen die Erweiterungauf nicht-lineare Trennfunktionen und wie zum anderen eine Mehrklassen-Klassifikationermöglicht wird.

Wenden wir uns zunächst der ursprünglichen Formulierung des SVM-Ansatzes zu. DieBeschriftungen y sind zunächst binär und wir wählen y = − für die Kennzeichnung dernegativen Beispiele und y = für die der positiven Klasse. Wie wir bereits schon im vorhe-rigen Abschnitt erwähnt haben, versucht ein SVM-Klassifikator eine lineare Trennebenefür die Trennung zu verwenden:

f (x) = ⟨w, x⟩ + b. (18.65)

Die Trennebene wird dabei durch die Normale w ∈ RD und den Offset b ∈ R repräsentiertundwir verwenden die Schreibweise ⟨⋅, ⋅⟩ alsNotation eines Skalarproduktes. Die Funktionf (x) beschreibt unsere kontinuierliche Bewertungsfunktion, von der das Vorzeichen dieKlassenentscheidung treffen soll. Für den Lernschritt ist D = ((xi , yi))

ni= ⊂ X × {−, }

gegeben.Wirwerden zunächst annehmen, dass diese Lerndaten theoretisch linear trennbarsind. Dies bedeutet, dass es eine Hyperebene (w, b) gibt, so dass für jedes Lernbeispiel xidas Vorzeichen von f (xi)mit dem von yi übereinstimmt.

Eine Festlegung einer trennenden Hyperebene ist auf viele Arten möglich. Daher be-nötigen wir noch eine zusätzliche Anforderung an die Hyperebene. Die charakteristischezusätzliche Bedingung bei SVM-Klassifikatoren ist die Maximierung des kleinsten Ab-standes der Hyperebene zu einem Lernbeispiel. Dieser Abstand wird auch als margin be-zeichnet und ist für SVM-Klassifikatoren von entscheidender Bedeutung, daher werdendiese auch oft alsmaximummarginKlassifikatoren bezeichnet. Der Name Support-Vektor-Klassifikator leitet sich hingegen von sogenannten Support Vektoren ab, welche ebenfallseine besondere Rolle besitzen. Ein Lernbeispiel wird als Support Vektor bezeichnet, wennes den kleinsten Abstand zur Hyperebene hat. Diese Beispiele definieren die Hyperebene.Dieses Grundprinzip ist in Abb. 18.8 noch einmal dargestellt.

Page 481: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 475

Die offene Frage ist nun, wie sich diese beschriebenen Aspekte mathematisch beschrei-ben lassen, um einen Algorithmus zur Bestimmung der Parameter (w, b) der Hyperebeneaus den Lerndaten abzuleiten. Die zwei Forderungen nach linearer Separierung und derMaximierung desmargin führen direkt zu folgendem Optimierungsproblem:

maxw∈RD ,b∈R

mgD

(w, b)

Nb. ∀i = . . . n ∶ yi ⋅ f (xi) > .(18.66)

Die Ungleichungen in den Nebenbedingungen stellen die lineare Separierung sicher, d. h.jedes Lernbeispiel sollte sich auf der richtigen Seite der Hyperebene befinden. Dermarginlässt sich wie folgt definieren:

mgD

(w, b) = min{∥x − xi∥ ∶ ≤ i ≤ n; ⟨w, x⟩ + b = ;x ∈ X} (18.67)

= mini=...n

∣⟨w, xi⟩ + b∣∥w∥

. (18.68)

Zu beachten ist nun, dass eine Skalierung der Normalew und des Offsets bmit einem ska-laren Wert λ > zu keiner Verletzung der Nebenbedingungen oder zu einer Änderungdes margin führt. Aus diesem Grund kann die Skalierung theoretisch beliebig festgelegtwerden. Wenn wir aber die Skalierung genau so festlegen, dass ∣⟨w, xi⟩ + b∣ = für jedesLernbeispiel xi mitminimaler Distanz zur Hyperebene gilt, dann erhalten wir so eine deut-liche Vereinfachung des margin zu mg

D

(w, b) = / ∥w∥.Das SVM Optimierungsproblem lässt sich nun folgendermaßen formulieren:

minw∈RD ,b∈R

∥w∥

Nb. ∀i = . . . n ∶ yi ⋅ (⟨w, xi⟩ + b) ≥ .(18.69)

Der zusätzliche Vorfaktor wird sich im weiteren Verlauf als vorteilhaft für eine kompak-

tere Herleitung herausstellen. Eine wichtige Änderung ist derWechsel der rechten Seite derNebenbedingung von > zu ≥ . Wenn wir die alte Nebenbedingung yi ⋅ (⟨w, xi ⟩ + b) > betrachten und zusätzlich die Definition der Skalierung vonw und b einfließen lassen, lässtsich dieser Schritt schnell begründen:

yi ⋅ (⟨w, xi⟩ + b) = ∣yi ⋅ (⟨w, xi⟩ + b) ∣ = ∣yi ∣ ⋅ ∣ (⟨w, xi ⟩ + b) ∣ (18.70)= ∣ (⟨w, xi⟩ + b) ∣ ≥ . (18.71)

Das Optimierungsproblem des SVM-Klassifikators ist ein quadratisches Optimierungs-problem, oft auch als quadratisches Programm bezeichnet. Für diese Art von Optimie-rungsproblemen gibt es zahlreiche effiziente Lösungsverfahren [63]. Es sei aber an dieserStelle darauf hingewiesen, dass für eine wirklich effiziente Implementierung allgemeineVerfahren für quadratische Optimierungsprobleme oft nicht geeignet sind. Besonders fürgroße Datenmengen wird oft auf schnelle einfache Abstiegsverfahren zurückgegriffen.

Page 482: Bildverarbeitung und Objekterkennung ||

476 18 Maschinelles Lernen

Abb. 18.9 Darstellung derSVM-Klassifikation bei nicht-linear-separierbaren Lerndatenund Einführung von Schlupf-variablen

Nicht-linear-separierbareLerndaten Wir hatten am Anfang des vorherigen Abschnittesdie Annahme getroffen, dass unsere Lernmenge linear separierbar ist. Dies trifft natürlichnicht immer zu, gerade bei einer hohen Intraklassenvarianz und geringen Interklassen-distanz oder bei niedrig dimensionalen Daten. Als Standardbeispiel für ein nicht-linear-separierbares Problem wird immer das Lernen der XOR-Funktion angeführt.

Um die Forderung der linearen Separierbarkeit abzuschwächen, ist eine Änderung derNebenbedingung in (18.69) notwendig. Wir führen Schlupfvariablen ξi ≥ in das Opti-mierungsproblem (18.69) ein, welche es ermöglichen, dass ein Lernbeispiel xi die Unglei-chung in den Nebenbedingungen nicht zwangsweise erfüllen muss:

yi ⋅ (⟨w, xi⟩ + b) ≥ − ξi . (18.72)

Natürlich soll eine Verletzung der Nebenbedingung bei ξi > bestraft werden. Dies gelingtdurch die Inklusion eines zusätzlichen Straftermes in die Zielfunktion und wir erhaltenfolgendes Optimierungsproblem:

minw∈RD ,b∈R,ξ∈Rn

∥w∥ + C

n∑i=

ξi

Nb. ∀i = . . . n ∶ yi ⋅ (⟨w, xi⟩ + b) ≥ − ξi und ξi ≥ .(18.73)

Der resultierende Klassifikator wird oft als soft margin classifier [63, S. 16] bezeichnet undist in Abb. 18.9 für ein zweidimensionales Beispiel dargestellt. Der Parameter C > kannverwendetwerden, umeinenAusgleich zwischen einemgroßenmarginundderAnzahl derFehlklassifikationen des Lerndatensatzes zu schaffen. Dabei ist der optimaleWert sehr spe-zifisch für eine Klassifikationsaufgabe und den gegebenen Lerndaten.Wir werden die Aus-wirkungen dieses Parameters in späteren Abschnitten noch untersuchen (Abschn. 18.5.9).

Das obige Optimerungsproblem kann auch ohne Nebenbedingungen formuliert wer-den. Dies ist für den späteren Vergleichmit anderenVerfahren vorteilhaft (Abschn. 18.5.9).

Page 483: Bildverarbeitung und Objekterkennung ||

18.4 Klassifikatoren 477

Zunächst definieren wir die sogenannte hinge loss H:

H(z) = max ( − z, ) . (18.74)

Diese Funktion erlaubt die Darstellung von (18.73) als einzelne Zielfunktion:

minw∈RD ,b∈R

n∑i=

H (yi ⋅ f (xi)) + λ ∥w∥ . (18.75)

Dabei haben wir aus Gründen der Übersichtlichkeit die Abkürzung λ = (C)− verwen-det. Wie wir in Abschn. 18.5.9 noch genauer sehen werden, approximiert die hinge lossdie binäre Fehlerfunktion δ (z < ). Daher minimiert der SVM Ansatz einen Fehlertermmit einer zusätzlichen Regularisierung, welche die Komplexität der Entscheidungsfunkti-on beeinflusst. Dieses Prinzip werden wir noch häufiger sehen und es ist auch verwandtzu der Maximum-A-Posteriori Schätzung in Abschn. 18.3.1. Der Fehlerterm korrespon-diert zu einer negativen logarithmierten Likelihood und ∥w∥ entspricht der negativenlogarithmierten Normalverteilung als A-Priori-Annahme für w. Zu beachten ist, dass die-se Analogie keine mathematische Äquivalenz darstellt, da es zur hinge loss als Fehlertermkeine korrespondierendeWahrscheinlichkeitsverteilung gibt.

Mehrklassen-Klassifikation Bisher haben wir nur die binäre Klassifikation mit Be-schriftungen yi ∈ {−, } betrachtet. Eine Erweiterung für den Mehrklassenfall mityi ∈ {, . . . ,M} ist auf unterschiedliche Art und Weise möglich. So gibt es zum BeispielAnsätze, welche das SVMOptimierungsproblem für den Mehrklassenfall adaptieren. EineBeschreibung dieser Ansätze ist in [63, Abschn. 7.6.4] zu finden. Im Folgenden werdenwir Methoden betrachten die im Gegensatz dazu mehrere binäre Klassifikatoren kombi-nieren. Die Methoden lassen sich dadurch für die Erweiterung aller möglichen binärenKlassifikatoren auf den Mehrklassenfall einsetzen.

Sei ein LerndatensatzD = {(x , y), . . . , (xn , yn)}mit yi ∈ {, . . . ,M} undM > gege-ben. Der sogenannte one-vs-all or one-vs-rest Ansatz lernt insgesamt M binäre SVM Klas-sifikatoren f κ , welche jeweils versuchen die Klasse κ von allen anderen Klassen zu trennen.Die Klassifikatoren werden mit den binären DatensätzenDκ = {(x , y), . . . , (xn , yn)} an-gelernt, wobei die binäre Beschriftung y i genau dann ist, wenn xi ein Beispiel für Klasseκ ist, d. h. yi = κ. In allen anderen Fällen wird yi auf − gesetzt. Für die Klassifikation ei-nes neuen Beispiels x

wird nach der Lernphase jeder binäre Klassifikator f (κ) ausgewertetund es wird die Klasse κ gewählt, welche die höchste Bewertung f (κ)(x

) erhält:

h(x∗

) = argmaxκ=...M

f (κ)(x∗

). (18.76)

Entscheidend ist an dieser Stelle also die Verwendung kontinuierlicher Bewerungsfunktio-nen f (κ). Die Verwendung von diskreten Entscheidungen der M binären Klassifikatorenkönnte zuMehrdeutigkeiten führen, wenn zum Beispiel mehrere dieser Klassifikatoren dieEntscheidung treffen, dass x

ein positives Beispiel ist. Eine zusätzliche Möglichkeit ist die

Page 484: Bildverarbeitung und Objekterkennung ||

478 18 Maschinelles Lernen

Anwendung des Algorithmus von Platt [55], um die Bewertungen f (κ) in approximierteWahrscheinlichkeiten umzuwandeln.

Eine weitere Methode ist das sogenannte one-vs-one Prinzip. Dabei werden insgesamt(M )Klassifikatoren f (κ ,κ

) angelernt, welche jeweils versuchen Klasse κ und κ′ zu trennen.Für die Klassifikation eines neuen Beispiels x

werden wieder alle Klassifikatoren ausge-wertet und die Anzahl der Klassifikationsentscheidungen für Klasse κ gezählt. Eine Klasse,welche die meisten Stimmen bekommt, kann als Ergebnis des Mehrklassenklassifikatorsverwendet werden. Bei dieser Technik ist die Berechnung von Wahrscheinlichkeiten fürjede Klasse direkt durch eine Normierung der Auszählung möglich.

18.5 Kernelbasierte Klassifikation

Im Folgenden werden wir uns mit nicht-linearen Klassifikatoren beschäftigen, welche aufsogenannten Kernelfunktionen basieren. Wie wir bereits in Abschn. 18.2 sehen werden,erfordert die visuelle Objekterkennung eine hohe Komplexität der Klassifikationsmodelle.Mittels randomisierter Entscheidungsbäume (Abschn. 18.4.4) ist es zwar möglich nicht-lineare Entscheidungsfunktionen zu realisieren, dies erfolgt aber durch eine stückweiselineare Approximation und nicht durch eine direkte nicht-lineare Beschreibung. Kernel-klassifikatoren, wie etwa Gauß-Prozess-Klassifikatoren und SVM mit Kernelfunktionen,ermöglichen hingegen die Verwendung nicht-lineare Entscheidungsfunktionen ohne eineexplizite Parametrisierung.

18.5.1 Kernelfunktionen und nichtlineare Klassifikation

Viele Klassifikatoren nehmen an, dass die Lerndaten linear trennbar sind und eine lineareEntscheidungsfunktion daher ausreichend ist. In Abschn. 18.4.6 habenwir dies amBeispieleines SVM-Klassifikators kennengelernt. Wir wollen im Folgenden diese Klassifikatorenals lineare Klassifikatoren bezeichnen, obwohl sie oft zusätzlich noch einen affinen Anteilbeinhalten.

Abbildung 18.10 zeigt ein binäres Klassifikationsbeispiel, bei welchem die Eigenschaftder linearen Separierbarkeit nicht gegeben ist. Ein linearer Klassifikator kann in diesemBeispiel daher keine vernünftige Trennung der Daten durchführen. Im Folgenden werdenwir bei solchen Problemstellungen von nicht-linearen Klassifikationsproblemen sprechen.Ein explizites nicht-lineares Klassifikationsmodell kann die Lernbeispiele natürlich sehrwohl voneinander trennen. ZumBeispiel ist esmöglich, einenKreis zu bestimmen, welchernur die Beispiele der einen Klasse beinhaltet:

h(x) = sign (wx +wxx +wx + b) (18.77)

=

⎧⎪⎪⎨⎪⎪⎩

wenn wx +wxx +wx > −b− sonst.

(18.78)

Page 485: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 479

01

23 0

12

-2

-1

0

1

2

φ3

φ1φ2

φ3

-2

-1

0

1

2

x 2

x1

-2 -1 0 1 2

0

1

2

φ 2

φ10 1 2 3

a b

c

Abb. 18.10 Veranschaulichungdes Prinzips vonKernelfunktionen für nicht-lineare Entscheidungs-funktionen. a Eingaberaum X , b zugehöriger MerkmalsraumH der polynomiellen Kernelfunktionund c die erste und dritte Komponente desMerkmalsraumes. Die Verbindung der Punkte durch eineLinie dient zur besseren Visualisierung der Struktur der Daten

Einerseits ist diese Entscheidungsfunktion nicht-linear, andererseits ist auch eine Interpre-tation als lineare Funktion mit transformierten Eingabevektoren φ(x)möglich:

φ(x) = (x , x ⋅ x , x)

T, (18.79)

h(x) = sign (⟨w, φ(x)⟩ + b) . (18.80)

Dabei haben wir ⟨⋅, ⋅⟩ als Notation für das Standardskalarprodukt verwendet. Die Trans-formation φ ist in Abb. 18.10b dargestellt und Abb. 18.10c zeigt eine zweidimensionaleProjektion der transformierten Daten. Anhand der Projektion ist die lineare Trennbarkeitder Daten in diesem neuen Eingaberaum gut zu erkennen.

Page 486: Bildverarbeitung und Objekterkennung ||

480 18 Maschinelles Lernen

Wenn wir nun von D-dimensionalen Eingabevektoren x ∈ RD ausgehen, so würde dieTransformation die Berechnung vonO(D) Termen erforderlich machen. Dies ist einfachunpraktisch in vielen Anwendungsfällen mit hochdimensionalen Merkmalsvektoren undbeinhaltet auch nur Terme mit jeweils zwei Variablen. Eine Möglichkeit, die explizite Be-rechnung zu umgehen, ist die Verwendung von Kernelfunktionen. Dadurch ist auch eineexplizite Angabe von φ nicht notwendig.

Wir werden an dieser Stelle ein bisschen vorausgreifen und das verallgemeinerte re-presenter Theorem [63] verwenden. Die Grundaussage dieses Theorems ist es, dass vieleLernmethoden, wie zum Beispiel SVM (Abschn. 18.4.6) und die lineare Regression undAusgleichsrechnung (Abschn. 21.2.1), eineHyperebenew liefern, welche sich wie folgt dar-stellen lässt:

w =n∑i=

αi ⋅ φ(xi), (18.81)

mit Koeffizienten αi ∈ R und den Lernbeispielen xi . Wie wir bereits in (18.80) gesehenhaben, spielt die Auswertung des Skalarproduktes ⟨w, φ(x)⟩ eine entscheidende Rolle undkann wie folgt ausgewertet werden:

⟨w, φ(x)⟩ =n∑i=

αi⟨φ(xi), φ(x)⟩. (18.82)

In diesem Fall haben wir die Bilinearität des Skalarproduktes ausgenutzt, um das Skalar-produkt in die Summe zu bringen. Die Auswertung der Entscheidungsfunktion basiert nurauf der Berechnung von Skalarprodukten im RaumH, welcher durch die Transformationφ ∶ X → H induziert wird. Diesen Raum werden wir im Folgenden als Merkmalsraum H

bezeichnen. Ist ein gegebener Vektorraum mit einem Skalarprodukt ausgestattet, so wirdvon einem Hilbertraum gesprochen.Wir verwenden im Folgenden die Notation ⟨⋅, ⋅⟩

H

fürein Skalarprodukt inH.

Wenn wir eine Abbildung (Kernelfunktion) K ∶ X × X → R finden, welche das Skalar-produkt inH direkt berechnet:

∀x, x′ ∈ X ∶ K(x, x′) = ⟨φ(x), φ(x′)⟩H

, (18.83)

vermeiden wir die explizite und aufwendige Transformation der Lernbeispiele mit φ. Wiewir bereits in (18.82) gesehen haben, ist für die Auswertung der Entscheidungsfunktionoft nur die Berechnung der Skalarprodukte notwendig. Die Idee ist es nun bei einem geeig-neten Lernverfahren, die Auswertung von Skalarprodukten durch die Kernelfunktion zuersetzen. Diese Methodik wird als Kernel-Trick bezeichnet und hat viele Vorteile:

1. Eine konkrete Angabe der Transformation φ ist nicht notwendig.2. Eine aufwendige explizite Transformation der Lernbeispiele ist nicht notwendig.3. Es lässt sich auch mit komplexen strukturierten Daten lernen, da nur die Ähnlichkeit

zwischen zwei gegebenen Beispielen berechnet werden muss.

Page 487: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 481

Die letzte Eigenschaft werden wir bei der Bildklassifikation in Abschn. 20.2 ausnutzen.Eine offene Fragestellung ist es, wie Kernelfunktionen K charakterisiert werden kön-

nen, d. h. wie kann man bei einem gegebenen K die Eigenschaft in (18.83) nachweisen.Eine Möglichkeit ist es natürlich eine entsprechende Transformation φ direkt anzugeben.Dies ist aber oft schwierig mathematisch durchführbar. Einen Ausweg bietet die sogenann-te Mercer-Bedingung, welche wir im nächsten Abschnitt näher betrachten wollen.

18.5.2 Mercer-Bedingung und Konstruktion von Kernelfunktionen

Die Mercer-Bedingung ist eine der wichtigsten Resultate für das Lernen mit Kernelfunk-tionen. Sie ermöglicht es für eine gegebene Abbildung nachzuweisen, dass es sich um eineKernelfunktion im Sinne von (18.83) handelt, ohne direkt auf die Transformation φ Be-zug zu nehmen. Oft wird eine Kernelfunktion verwendet, von der man überhaupt nichtdie Transformation φ kennt. So ist es möglich die Modellierung allein anhand der Kernel-funktion vorzunehmen. Zunächst wollen wir aber eine sehr wichtige Klasse von Kernel-funktionen definieren:

Definition 18.1 (Positiv definite Kernelfunktion) Eine Abbildung K ∶ X × X → R heißtpositiv definiteKernelfunktion, wenn für alle n ∈ Nund alle endlichenTeilmengenX = (xi)ni=von X die quadratische Matrix K ∈ R

n×n mit Ki j = K(xi , x j) positiv semi-definit ist. Einesolche Matrix K werden wir als Kernmatrix bezeichnen.

Weiterhin, verwenden wir die Notation K(X,X′) mit X′ = (x′j)mj= für die Matrix A ∈

Rn×m, welche die paarweisen Werte der Kernelfunktion Ai j = K(xi , x′j) enthält. Wenn X′

nur ein Element x beinhaltet, schreiben wir auch K(X, x).

Ausgehend von dieser Definition lässt sich sofort folgender Satz beweisen:

Satz 18.2 (Lineare Kombination von Kernelfunktionen) Seien K , . . . ,KR positiv definiteKernelfunktionen und β , . . . , βR ∈ R nicht-negative Koeffizienten, dann ist die lineare Kom-bination K = βK + . . . + βRKR ebenfalls eine positiv definite Kernelfunktion.

Der Satz zeigt, dass wir eine positiv definite Kernelfunktion K mit einem Faktor v > skalieren können, ohne die Eigenschaft der positiven Definitheit von K zu verletzen:

K(⋅, ⋅) = v ⋅ K(⋅, ⋅) + v . (18.84)

Wenn wir eine lineare Kernelfunktion K(x, x′) = ⟨x, x′⟩ einsetzen, so können wir leichtsehen, dass jede Kernmatrix, welche durch K induziert wird, positiv definit ist. Diese Be-obachtung lässt einen starken Zusammenhang zwischen der Bedingung in (18.83) undder Definition 18.1 vermuten. Dieser Zusammenhang manifestiert sich in der Mercer-Bedingung.

Page 488: Bildverarbeitung und Objekterkennung ||

482 18 Maschinelles Lernen

Satz 18.3 (Mercer-Bedingung [46, 79]) Eine Abbildung K ∶ X × X → R ist eine positivdefinite Kernelfunktion, genau dann wenn ein HilbertraumH und eine Transformation φ ∶

X → H existieren, so dass folgende Eigenschaft gilt:

∀x, x′ ∈ X ∶ K(x, x′) = ⟨φ(x), φ(x′)⟩H

. (18.85)

Beweis (a) Richtung 1: „→“:Wir werden im Folgenden annehmen, dass der Eingaberaum X endlich ist und insge-

samt ∣X ∣ = n Elemente besitzt. Diese Annahme ermöglicht es, den Beweis auf der Grundla-ge von einfachen Sachverhalten der linearen Algebra zu führen. Für einen exakten Beweisfür den allgemeinen Fall sei auf [63] verwiesen. Für jede positiv definite Kernelfunktionist die Kernmatrix K aller Elemente des Eingaberaums positiv semi-definit. Wir könnendaher Kmittels der Cholesky-Faktorisierung wie folgt zerlegen: K = GGT . Wir definierenweiterhin die Transformation φ(xi) als Spaltenvektor, welcher die Elemente der i-ten Zeilevon G enthält:

(φ(xi))k = Gik . (18.86)

Diese Definition führt bereits zu einer passenden Transformation für K:

K(xi , x j) = Ki j =n∑k=

GikG jk =n∑k=

(φ(xi))k (φ(x j))k = ⟨φ(xi), φ(x j)⟩

Die Kernelfunktion K und die Transformation φ erfüllen also die Eigenschaft in (18.85).(b) Richtung 2: „←“:Sei K eine beliebige Kernmatrix, welche durch die Kernelfunktion K berechnet wurde.

Die Kernelfunktion erfüllt die Bedingung in (18.85). Für jeden Vektor α ∈ Rn gilt nun

Folgendes:

αTKα =n∑i , j=

αiα j⟨φ(xi), φ(x j)⟩H = ⟨n∑i=

αiφ(xi),n∑j=

α jφ(x j)⟩

H

= ∥n∑i=

αiφ(xi)∥

H

≥ . (18.87)

Dabei ist ∥⋅∥H

die induzierte Norm inH. Die Kernmatrix ist demnach positiv semi-definitund dadurch, dass wir keine weiteren Anforderungen an die Matrix gestellt haben, folgtunmittelbar, dass die Kernelfunktion K positiv definit ist. ◻

In den folgenden Abschnitten werden wir den Begriff Kernelfunktion anstatt positivdefinite Kernelfunktion verwenden. Wir gehen also immer davon aus, dass die Mercer-Bedingung gültig ist. Eine Kernelfunktion kann als eine Art Ähnlichkeitsmaß zwischenzwei Eingaben x und x′ interpretiert werden. Bei der Anwendung des Kernel Tricks ist also

Page 489: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 483

nur die Ähnlichkeit zwischen den Lernbeispielen von Bedeutung und nicht deren explizi-te Repräsentation.Wir werden nun ein paar Klassen von Kernelfunktionen kennenlernen,welche im Bereich des maschinellen Lernens eine besondere Bedeutung haben.

Definition 18.4 (Eigenschaften vonKernelfunktionen) EineKernelfunktion K ∶ X×X →R

ist

1. stationär oder verschiebungsinvariant wenn ihre Werte nur von der Differenz der beidenEingabevektoren abhängt:

K(x, x′) = K stat(x − x′), (18.88)

2. homogen oder ist eine verallgemeinerte RBF-Kernelfunktion, wenn ihreWerte nur von derEntfernung der beiden Eingabevektoren abhängt:

K(x, x′) = Khom(d(x, x′)). (18.89)

Die Entfernung wird dabei mit einer allgemeinen Metrik d ∶ X × X → R berechnet. Inder englischen Fachliteratur wird an dieser Stelle von „generalized radial basis functionkernels“ gesprochen, daher leitet sich die Abkürzung RBF ab.

3. eine RBF-Kernelfunktion, wenn sie homogen ist und ihreWerte nur von der EuklidischenDistanz der beiden Eingabevektoren abhängen.2

Die Kernelfunktion die am häufigsten eingesetzt wird, ist der sogenannte Gaußkern,welcher zur Familie der RBF-Kernelfunktionen gehört:

Kgauss(x, x′) = exp (−γ ∥x − x′∥) . (18.90)

Die Kernelfunktion ist abhängig vom Parameter γ > , welcher oft einen entscheidendenEinfluss auf einen Klassifikator haben kann. Dies kann man anhand des Verhaltens an denGrenzen gut nachvollziehen: Für γ = ist der Wert der Kernelfunktion immer unabhän-gig von denEingabedaten. Betrachtetman hingegen dasVerhalten für γ → ∞, so siehtman,dass die Kernelfunktion zur Diracfunktion konvergiert (Abschn. 4.18). Parameter der Ker-nelfunktionen werden allgemein als Hyperparameter bezeichnet und deren Bestimmungist ein wichtiger Bestandteil des Lernschrittes.

Zwei weitere Kernelfunktionen, welche vor allem bei der Bildklassifikation in Ab-schn. 20.2 mit Histogrammen eine wichtige Rolle spielen werden, sind der Chi-Quadrat-Kern:

Kχ(x, x′) = exp(−γD∑i=

(xi − x′i)

xi + x′i) (18.91)

2 Das Buch von Bishop [3] verwendet den Begriff der RBF-Kernelfunktion als Synonym für homo-gene Kernelfunktionen.

Page 490: Bildverarbeitung und Objekterkennung ||

484 18 Maschinelles Lernen

und derMinimumkern oderHistogrammschnittkern:

Kmin(x, x′) =D∑i=

min(xi , x′i). (18.92)

LetztereKernelfunktion ist auch direktmit demHistogramm-Schnitt als Abstandsmaß ver-knüpft (Abschn. 19.8.2).

18.5.3 Kerneldichteschätzung und Parzen-Klassifikator

Im Folgenden sei ein sehr einfacher Klassifikator betrachtet, welcher zunächst linear for-muliert wird, um dann den Kerneltrick anzuwenden. Die Klassifikationsentscheidung fürein neues Beispiel x

wird aufgrund von folgenden Ähnlichkeiten f (κ)(x∗

) zu den Klassenκ getroffen:

f (κ)(x∗

) = xT∗

∑yi=κ

xi⎞

⎠. (18.93)

Die Ähnlichkeit zu einer gegebenen Klasse wird alsomittels der Korrelation zwischen demneuen Beispiel und dem Schwerpunkt der Klasse bestimmt. Wir wenden nun eine Merk-malstransformation φ an, um die Merkmale in einen hochdimensionalen Raum zu trans-formieren und gleichzeitig den Kerneltrick anzuwenden:

f (κ)(x∗

) = φ(x∗

)T⎛

∑yi=κ

φ(xi)⎞

=nκ

∑yi=κ

φ(x∗

)Tφ(xi) =nκ

∑yi=κ

K(x∗

, xi). (18.94)

Die letzte Schätzgleichung (18.94) wird als Kerneldichteschätzung bezeichnet und lässt sichmit beliebigen Kernelfunktionen durchführen. Üblicherweise wird der Gaußkern (18.90)verwendet und die Kerneldichteschätzung ist in diesem Fall gegeben durch:

f (κ)(x∗

) =nκ

∑yi=κ

exp (−γ ∥x∗

− xi∥) . (18.95)

Der Parameter γ hat eine entscheidende Bedeutung für den Einflussbereich jedes Lern-beispiels. Bei γ → ∞ erhalten wir eine Summe von Diracfunktionen, welche auch oft alsempirische Dichte bezeichnet wird, und bei γ → ergibt sich eine konstante Bewertungs-funktion f (κ)(x

) = . Der Hyperparameter γ des Gaußkerns steuert daher die „Glatt-heit“ der Bewertungsfunktion. Ein Beispiel für zweidimensionale Eingabevektoren ist inAbb. 18.11 dargestellt. In der Abbildung ist sehr gut der Einfluss der Hyperparameter der

Page 491: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 485

a b

Abb. 18.11 Darstellung der Höhenlinien einer Kerneldichteschätzung für ein Beispiel mit zweidi-mensionalen Eingabevektoren.Die beidenGrafiken zeigen die Schätzungen für eine unterschiedlicheWahl der Hyperparameter der Kernelfunktion (a niedriger Wert von γ, b hoher Wert von γ; oft alsBandbreite in diesem Fall bekannt)

Kernelfunktion zu erkennen. Ein Hyperparameter der Kernelfunktion wird in diesem Falloft als Bandbreite bezeichnet, wenn der den Einfluss der Nachbarn reguliert. Eine Klassifi-kation kann mittels einer Bestimmung der Klasse mit dem höchstenWert der Kerneldich-teschätzung erfolgen.

Wenn als Kernelfunktion der Gaußkern verwendet wird, so kann mit einer geeigne-ten Normierung der Wert f (κ)(x

) als bedingte Verteilung der Eingabedaten interpretiertwerden:

p(x∗

∣ y∗

= κ ,D) =

C ⋅ nκ∑yi=κ

K(x∗

, xi). (18.96)

Diese Modellierung kann direkt für einen generativen Klassifikator eingesetzt werden. DieNormierungskonstante C führt zu einer korrekt normierten Verteilung und ist folgender-maßen bestimmt:

C = ∫x∈X

exp (−γ∥x∥) =

√πγ

D

. (18.97)

Gleichung (18.94) kann auch als Mischverteilung interpretiert werden und ermöglicht imGegensatz zum Normalverteilungsklassifikator (Abschn. 18.4.2) eine Modellierung vonVerteilungen mit mehreren Maxima. Eine Normalverteilung hat immer eine sehr einfa-che Formmit genau einem klar definierten Maximum (Mode), daher ist es nicht möglich,Klassen zu modellieren, welche mehrere unterschiedliche Ausprägungen besitzen. Dies istzum Beispiel der Fall wenn die Klasse Auto mit Front- und Seitenaufnahmen angelerntwird. Wir haben also gesehen, dass der Kerneltrick, angewendet auf einen sehr einfachenKlassifikator, zu einem flexiblen Ansatz führt.

Page 492: Bildverarbeitung und Objekterkennung ||

486 18 Maschinelles Lernen

18.5.4 Support-Vektor-Klassifikatormit Kernelfunktionen

In Abschn. 18.4.6 hatten wir gesehen, dass Support-Vektor-Klassifikatoren (engl.: supportvector machines, SVM) eine lineare Trennebene bestimmen, welche den minimalen Ab-stand zu den Lernbeispielen maximiert. Bei nicht-linear-separierbaren Lerndaten hattenwir auch die Verwendung von Schlupfvariablen kennengelernt, umAusreißer in den Lern-daten zu behandeln. Wir werden uns jetzt der Anwendung des Kerneltricks bei Support-Vektor-Klassifikatoren zuwenden, welche es ermöglichen, direkt eine nicht-lineare Tren-nebene zu schätzen.

Wir betrachten im Folgenden die Anwendung der Transformation φ ∶ X → H und dieSchätzung linearer Trennebenen im resultierenden hochdimensionalen RaumH:

f (x) = ⟨w, φ(x)⟩H

+ b. (18.98)

Im Abschn. 18.5.1 wurde schon das representer Theorem von [63] angesprochen. DiesesTheorem zeigt, dass es möglich ist, für viele unterschiedliche Lernverfahren die Hyperebe-ne w als Linearkombination der transformierten Lernbeispiele auszudrücken (18.81). Wirwollen jedoch an dieser Stelle diesen wichtigen Sachverhalt direkt für den SVM-Ansatzherleiten. Dafür bestimmen wir zunächst das duale Gegenstück des Optimierungspro-blems (18.69). Für eine gute Einführung in die mathematische Optimierung sei an dieserStelle auf [7] verwiesen.

Das duale Problem lässt sich durch das Aufstellen der Lagrange-Funktion herleiten:

L(w, b, λ) =∥w∥ +

n∑i=

λi ( − yi ⋅ (⟨w, φ(xi)⟩H + b)) . (18.99)

Um nun die duale Lagrange-Funktion zu bestimmen, berechnen wir erst die Gradientenum L bezüglich w und b zu minimieren [7, Kapitel 5]:

{∇wL}(w, b, λ) = w −n∑i=

λi yi (φ(xi)) , (18.100)

{∇bL}(w, b, λ) = −n∑i=

λi yi = −λTy. (18.101)

Werden nun beide Gradienten auf Null gesetzt, so erhält man:

w =n∑i=

λi yiφ(xi) =n∑i=

αiφ(xi), (18.102)

mit den Koeffizienten αi = λi yi und der Eigenschaft ∑ni= αi = . Das ermittelte Ergeb-

nis in (18.102) ist eine Instanz des representer Theorems für SVM-basiertes Lernen. DieKoeffizienten αi spielen eine ganz zentrale Rolle, da sie genau dann Null sind, wenn das

Page 493: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 487

korrespondierendeLernbeispiel kein Supportvektor ist und demnach die Nebenbedingungin (18.69) nicht aktiv ist. Die Normder Hyperebene w lässt sich nunmit Auswertungen derKernelfunktion bestimmen:

∥w∥=

n∑i , j=

αiα j⟨φ(xi), φ(x j)⟩H = αTKα. (18.103)

Diesen Sachverhalt werden wir später noch benötigen. Zunächst kombinieren wir ersteinmal alle Resultate und erhalten die modifizierte duale Lagrange-Funktion g(α) =

L (w, b, [αi/yi]ni=) in Abhängigkeit von den Koeffizienten αi :

g(α) =αTKα +

n∑i=

(αi

yi)⎛

⎝ − yi ⋅

n∑j=

α j⟨φ(x j), φ(xi)⟩H + b⎞

=αTKα + (

n∑i=

αi

yi) −

n∑i , j=

αiα j⟨φ(x j), φ(xi)⟩H⎞

⎠− b (

n∑i=

αi) (18.104)

= −αTKα +

n∑i=

(αi

yi)

�=αi yi

− b (n∑i=

αi)

rsssssssssstssssssssssu=

(18.105)

= −αTKα + αTy. (18.106)

Dabei haben wir die Kernelmatrix K der Lerndaten verwendet, welche die paarweisenSkalarprodukte der transformierten Lernbeispiele beinhaltet, d. h. Ki j = ⟨φ(xi), φ(x j)⟩H.Das (modifizierte) duale Problem maximiert g(α) unter der Nebenbedingung, dass dieLagrange-Faktoren λi nicht negativ sind und dass sich die Koeffizienten αi zu Null sum-mieren:

maxα∈Rn

g(α) = −αTKα + αTy

Nb. ∀i = . . . n ∶ α j ⋅ y j ≥ undn∑i=

αi = .(18.107)

Die zweite Nebenbedingung folgte aus demNullsetzen des Gradienten für b (18.101). EineHerleitung der dualen Kernelvariante des Optimierungsproblems (18.73)mit den Schlupf-variablen ξi erfolgt vollkommen analog und führt nur zu zusätzlichen oberen Schrankenvon αi : ≤ αi ⋅ yi ≤ C [3, S. 333].

Einfluss des Parameters C Im Folgenden wollen wir kurz den Einfluss des Regularisie-rungsparameters C auf die Entscheidungsfunktion untersuchen. Wie wir bereits in Ab-schn. 18.4.6 gesehen haben, ermöglicht es dieser Parameter, den Einfluss von Ausreißernzu kontrollieren. Für die Analyse verwenden wir das folgendeTheorem:

Page 494: Bildverarbeitung und Objekterkennung ||

488 18 Maschinelles Lernen

Satz 18.5 (Obere Schranke der Standardabweichung) Sei φ ∶ X → H eine Abbildung in denhochdimensionalen RaumHmit der Kernelfunktion K.Weiterhin, sei eineMengeX ⊆ X vonBeispielen gegeben. Die Funktion f ∶ X → R sei nun folgendermaßen definiert:

f (x) = ⟨w, φ(x)⟩H

+ b (18.108)

w =n∑i=

αiφ(xi), (18.109)

Diese Darstellung ermöglicht eine Beschränkung der Standardabweichung dieser Funktion:

σx ( f ) ≤ ∥α∥ ⋅√λmax(K) ⋅ ζK , (18.110)

dabei ist ζK ein Term, welcher nur von der Kernelfunktion und der Verteilung der Eingabe-daten x ∈ X abhängt.

Beweis Um die obere Schranke für die Standardabweichung zu beweisen, versuchen wirzunächst diese anhand der Norm der Hyperebene w im RaumH auszudrücken:

σ x ( f (x)) = ∫

X

( f (x′) − Ex( f (x))) p(x′)dx′ (18.111)

= ∫X

(⟨w, φ(x′) − Ex(φ(x))⟩H) p(x′)dx′ (18.112)

≤ ∫X

∥w∥H

⋅ ∥φ(x′) − Ex(φ(x))∥ p(x′)dx′ (18.113)

≤ ∥w∥H

⋅ (∫X

K(x′ , x′)p(x′)dx′ − ∫X×X

K(x′, x)p(x)p(x′)dx′dx). (18.114)

Zur Herleitung haben wir die Ungleichung von Cauchy verwendet um das Skalarproduktmit Hilfe der Norm abzuschätzen. Der letzte Faktor der oberen Schranke hängt nur vonder Verteilung p(x) und der Kernelfunktion ab. Wir werden diesen Term daher mit ζKbezeichnen. Wie wir bereits bei dem Resultat des representer theorems gesehen haben, lässtsich die Hyperebene w mittels der Lerndaten X ausdrücken. Die Norm von w lässt sichdann auch durch den größten Eigenwert derKernmatrixK undderNormderKoeffizientenα nach oben beschränken:

∥w∥H

= ∥n∑i=

αiφ(xi)∥

H

=n∑i , j=

αiα j⟨φ(xi), φ(x j)⟩H (18.115)

= αTKα ≤ ∥α∥ ⋅ λmax(K). (18.116)◻

Page 495: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 489

DasTheorem gibt eine obere Schranke für die Standardabweichung der Entscheidungs-funktion f in Abhängigkeit von den Koeffizienten α an. Wenn wir jetzt zusätzlich dieBedingung ≤ αi ⋅ yi ≤ C einfließen lassen, so können wir diese obere Schranke in derVariable C ausdrücken:

σx ( f (x)) ≤ ∥α∥ ⋅√λmax(K) ⋅ ζK ≤

√n ⋅ C ⋅

√λmax(K) ⋅ ζK , (18.117)

dabei ist ζK ein Term, welcher nur von der verwendeten Kernelfunktion abhängt undλmax(K) steht für den größten Eigenwert der Kernelmatrix. Die obere Schranke verdeut-licht den Einfluss von C auf die Entscheidungsfunktion. Kleine Werte des Parametersbewirken eine geringere obere Schranke für die Standardabweichung von f und daherauch ein Klassifikationsmodell mit einer geringeren Modellkomplexität, wie etwa Hyper-ebenen im Eingaberaum. Ein großer Wert von C bewirkt hingegen eine große Variabilitätder Entscheidungsfunktion.

Komplexität derBerechnung Vergleichtman das primale Problem (18.69)mit der dualenVersion (18.107), so ist vor allem die Änderung der Größe des zu optimierenden Vektorsauffällig. Bei der primalen Version erfolgte die Optimierung bezüglich w und b, also voninsgesamt D + veränderlichen Größen. Demgegenüber müssen bei der dualen Version nParameterwerte optimiert werden. Dabei ist zu beachten, dass die effektive Größe des dua-len Problems die Anzahl der Supportvektoren ist [63]. Daher wird der SVM-Ansatz mitKernelfunktionen auch oft als semi-parametrisch bezeichnet. Das Lösen des dualen Pro-blems ist dem primalen Problem überlegen, wenn eine kleine Anzahl von Lernbeispielenaber eine große Anzahl von Merkmalen zur Verfügung steht. Bei aktuellen Erkennungs-systemen mit Lerndatensätzen von mehreren Tausend Beispielen ist die direkte Anwen-dung des Kernelprinzips natürlich unpraktisch. Aus diesem Grund wird aktuell oft derAnsatz verfolgt, dass man ausgehend von einer gegebenen Kernelfunktion eine approxi-mierte Merkmalstransformation berechnet [80]. Diese kann dann auf die Lernbeispieleangewendet werden, um ausgehend davon einen linearen SVM-Klassifikator zu schätzen.

Klassifikation von neuen Beispielen Nach der Bestimmung der Koeffizienten αi durchdas Lösen des dualen Problems (18.107) können neue Beispiele x

klassifiziert werden, indem zunächst die Entscheidungsfunktion f (x

) ausgewertet wird:

f (x∗

) = ⟨w, φ(x∗

)⟩H

+ b =n∑i=

αiK(xi , x∗) + b, (18.118)

um dann anschließend eine diskrete Klassifikationsentscheidung durch Überprüfung desVorzeichens zu erhalten:

h(x∗

) = sign ( f (x∗

)) = sign(n∑i=

αiK(xi , x∗) + b) . (18.119)

Page 496: Bildverarbeitung und Objekterkennung ||

490 18 Maschinelles Lernen

Der Wert der Verschiebung b der Hyperebene kann ebenfalls in Abhängigkeit der Kernel-funktion angegeben werden. Eine entsprechende Herleitung ist in [63] und [3] zu finden.In manchen Anwendungen ist eine weiche Entscheidungsfunktion vorteilhaft. Bei SVM-Ansätzen kann dafür direkt der Wert von f (x

) verwendet werden.

Optimierung vonHyperparametern In Abschn. 18.5.2 hatten wir bereits schon das Pro-blem angesprochen, optimale Kernel-Hyperparameter zu finden. Bei den SVM-basiertenAnsätzen aus den vorherigen Abschnitten haben wir zusätzlich noch den freien ParameterC > , welcher den Bestrafungsterm∑i ξi der Schlupfvariablen ξ gewichtet.

Eine übliche Methode den Parameter C und die Hyperparameter η einer Kernelfunkti-on, wie etwa der Parameter γ des Gaußkerns (18.90), zu optimieren, ist die k-fache Kreuz-validierung. Um dieseMethode anzuwenden, wird der LerndatensatzD in kUntermengenD j eingeteilt und Lernen und Testen des Klassifikators genau k-mal durchgeführt. In jederIteration j wird der Datensatz D j zum Testen des Klassifikators verwendet, welcher mitverbliebenen Beispielen aus D ∖ D j angelernt wurde. Anschließend stehen k Werte einesGütemaßes (Abschn. 18.6) zur Verfügung, welche gemittelt werden können, um ein Maßfür die Güte der Klassifikation für einen gegebenen Satz von Hyperparametern zu erhal-ten. Zur Bestimmung der optimalen Hyperparameter wird meist eine vollständige Suchemit vorher festgelegten einzelnen Parameterwerten durchgeführt. Dies ist natürlich äußerstaufwendig, und bei mehr als zwei Parametern oft praktisch nicht anwendbar. AlternativkönnenAnsätze aus demmultiple kernel learning [69] undderGauß-Prozess-Klassifikation(Abschn. 18.5.11) verwendet werden.

18.5.5 Modellierungmit Gauß-Prozessen

Im folgenden Abschnitt werden wir uns mit der Anwendung von Gauß-Prozessen (GP)beim maschinellen Lernen beschäftigen. Das Buch von Rasmussen und Williams [57] isthierbei die Standardliteratur für den Bereich Modellierung mit GP. Grundsätzlich wirdoft bei den Herleitungen zwischen zwei unterschiedlichen Herangehensweisen unterschie-den: der Zugang über dieModellierung derWahrscheinlichkeitsverteilung derHyperebene(weight space view) und dieModellierung der latenten Funktion als Zufallsvariable (processview oder function space view). In der folgenden Darstellung wählen wir die letztere Vari-ante und stellen den Zusammenhang zu der Schätzung von Hyperbenen später her.

Gauß-Prozesse gehören zur Klasse der stochastischen Prozesse, welche als eine Familievon Zufallsvariablen definiert sind. Einen Gauß-Prozess kann man als Verallgemeinerungeiner multivariaten Normalverteilung auf unendlich viele Eingabedimensionen ansehen.Diese Vorstellung spiegelt sich auch in der folgenden formalen Definition wieder, welcheähnlich wie die Definition von positiv definiten Kernelfunktionen auf endliche Untermen-gen zurückgreift:

Page 497: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 491

Definition 18.6 (Gauß-Prozess) Eine Familie von Zufallsvariablen f = ( f (x))x∈X ist einGauß-Prozess mit Mittelwertfunktion μ ∶ X → R und Kovarianzfunktion K ∶ X × X → R,genau dann wenn für jede endliche Untermenge X = {xi}ni= ⊆ X die korrespondierendenZufallsvariablen gemeinsam normal verteilt sind, d. h. es gilt

f = ( f (xi))ni= ∼ N(μ, S)

mit μ = (μ(x), . . . , μ(xn))T und Kovarianzen Si j = E ( f (xi) f (x j)) = K(xi , x j). Wirverwenden in diesem Fall die Notation f ∼ GP(μ,K).

Im Folgenden beschränken wir uns auf mittelwertfreie Gauß-Prozesse, d. h. μ ≡ . Oftkönnen die Ausgabedaten ohneWeiteres vorher normiert werden, um mittelwertfreie Da-ten zu erhalten.

Die Art der Definition von Gauß-Prozessen und positiv definiten Kernelfunktionensuggeriert sofort einen starken Zusammenhang. So muss eine valide Kovarianzfunktionpositiv definite Kovarianzmatrizen induzieren und sollte daher selbst positiv definit sein.Aus diesem Grund ist jede positiv definite Kernelfunktion nach Definition 18.1 eine valideKovarianzfunktion und jede valide Kovarianzfunktion auch eine positiv definite Kernel-funktion. Im restlichen Teil des Buches verwenden wir daher den Begriff Kernelfunktionund Kovarianzfunktion als Synonyme.

Einewichtige Eigenschaft vonGauß-Prozessen imGegensatz zu vielen anderen bekann-ten stochastischen Prozessen, wie etwa Poisson- oder Gamma-Prozesse, ist die Definitionanhand vonmehrdimensionalen IndexmengenX . Oftwerden stochastischen Prozesse nurauf eindimensionalen Zeitachsen definiert. Dadurch eignen sich diese nicht für dieModel-lierung der Klassifikation mehrdimensionaler Daten. Ein Gauß-Prozess kann hingegen soalsWahrscheinlichkeitsverteilung von Funktionen angesehen werden. Die KernelfunktionK eines Gauß-Prozesses bestimmt die Kovarianz zweier Funktionswerte f (x) und f (x′)und hat somit einen entscheidenden Einfluss auf die Modellierung.

Einfluss vonHyperparametern Abbildung 18.12 zeigt ein paar Beispiele von Funktionen,welche von einem mittelwertfreien Gauß-Prozess zufällig gezogen wurden. Dabei wurdenmehrere Kernelfunktionen und Hyperparameter verwendet, um die Flexibilität der ent-stehenden Funktionen aufzuzeigen. Fokussieren wir uns zunächst auf die erste Zeile inder Abbildung, welche mit einem Gaußkern (18.90) erzeugt wurde. Durch die Stationari-tät der Kernelfunktion ist das Verhalten der gezogenen Funktionen unabhängig von derabsoluten Position. Weiterhin können wir beobachten, dass die Variabilität der Funktionmit zunehmendenWerten des Hyperparameters γ steigt. Dieses Verhalten wollen wir jetztgenauer analytisch untersuchen, indem wir eine Approximation des zu erwartenden qua-dratischen Gradienten von f betrachten. Seien zunächst Punkte x < . . . < xn ∈ R und ihrkorrespondierender normalverteilter Zufallsvektor f = ( f (x), . . . , f (xn))T ∈ R

n gege-

Page 498: Bildverarbeitung und Objekterkennung ||

492 18 Maschinelles Lernen

0 0.5 1

−3

−2

−1

0

1

2

3

Gausskernγ=5

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

Gausskernγ=50

xf(

x)0 0.5 1

−3

−2

−1

0

1

2

3

Gausskernγ=500

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

χ2 Kernfunktionγ=5

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

χ2 Kernfunktionγ=50

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

χ2 Kernfunktionγ=500

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

Minimumkern

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

Minimumkern0.25 ⋅ min

x

f(x)

0 0.5 1

−3

−2

−1

0

1

2

3

Minimumkernmin + 0.25

x

f(x)

Abb. 18.12 Drei Funktionen werden von einem mittelwertfreien Gauß-Prozess mit unterschiedli-chen Kernelfunktionen gezogen (Zeilen: Gaußkern, χ-Kernelfunktion, Minimum-Kernelfunktion)und variierenden Hyperparametern (Spalten). Die markierte Fläche zeigt das Konfidenzintervall an,welches mittels der σ-Regel abgeleitet wurde

Page 499: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 493

ben. Durch die Betrachtung einer endlichen Anzahl von Eingabedaten ist es uns möglich,den Erwartungswert bezüglich aller möglichen Funktionen f auf einen wohldefiniertenErwartungswert einfacher Zufallsvariablen zu reduzieren. Der Erwartungswert des qua-dratischen Differenzenquotienten lässt sich schreiben als:

gK(x , . . . , xn) = ∫Rn

n −

n−∑i=

(f (xi+) − f (xi)

xi+ − xi)

⎠⋅ p(f)df (18.120)

=

n −

n−∑i=

⎛⎜⎝

(xi+ − xi)

∫Rn

( f (xi+) − f (xi)) p(f)df

⎞⎟⎠

(18.121)

=

n −

n−∑i=

K(xi+ , xi+) − K(xi+ , xi) + K(xi , xi)(xi+ − xi)

. (18.122)

Wir verwenden nun den Gaußkern und nehmen äquidistante Werte xi mit Abstand h an:

ggauss(h) = gK(x , x + h, x + h, . . .) =h ( − exp (−γh)) . (18.123)

Durch die Anwendung der Regel von l’Hospital erhalten wir als Grenzwert:

ggauss = limh→

ggauss(h) = limh→

γh exp(−γh)

h= γ. (18.124)

Dies entspricht genau unserer Beobachtung in der ersten Zeile von Abb. 18.12. Lokale Va-riationen der Funktionen sind um so stärker, je größer derHyperparameter γ gewählt wird.

Die zweite Zeile inAbb. 18.12 zeigt zufällig gezogene Funktionen unterVerwendung derχ-Kernelfunktion (18.91). Dieses Verhalten ist sehr ähnlich wie bei der Gaußkernfunkti-on, außer dass hier die Nichtstationarität beobachtet werden kann. Lokale Variationen derFunktionen sind wesentlich häufiger in den Bereichen um den Punkt x = .

Charakteristische Funktionen eines Gauß-Prozesses mit derMinimum-Kernelfunktion(18.92) sind in der letzten Zeile in Abb. 18.12 dargestellt. Für eindimensionale Eingaberäu-meX = R, ist ein GPmit Minimum-Kernelfunktion äquivalent zu einemWiener-Prozess.Die interessante Eigenschaft dieses Prozesses ist, dass alle gezogenen Funktionen stetigaber nicht differenzierbar sind [65, Abschn. 2.1.1.3]. Dies lässt sich auch an unseremMaßgK(x , . . . , xn) erkennen:

gmin(x , . . . , xn) =

n −

n−∑i=

xi+ − xi + xi(xi+ − xi)

(18.125)

=

n −

n−∑i=

xi+ − xi

. (18.126)

DerWert gmin konvergiert demnach nicht, wenn die Abtastung der Positionen xi feiner ge-wählt wird. Dies wird deutlich, wennmanwieder äquidistante Positionenmit demAbstand

Page 500: Bildverarbeitung und Objekterkennung ||

494 18 Maschinelles Lernen

h betrachtet: gmin(x , . . . , xn) = h . Die Standardabweichung der Funktionswerte f (x) ist

√x und führt unmittelbar dazu, dass die Funktion fast sicher durch den Ursprung geht,

d. h. f () = . Im Gegensatz zur Gauß- oder χ-Kernelfunktion, ist der Minimumkernnicht parametrisiert undnicht abhängig von einemParameter γ. Daher ist in derAbb. 18.12der Einfluss eines Skalierungs- und eines Offsetparameters (18.84) dargestellt.

Grundprinzip der Schätzung In Abschn. 18.1 haben wir gesehen, dass das Grundpro-blemdesmaschinellen Lernens die Bestimmung der Abhängigkeit von Eingabedaten x undAusgabedaten y ist. Dieser Zusammenhang wird oft mit einer kontinuierlichen Funktionf modelliert:

y = f (x) + ε. (18.127)

Der Term ε ist dabei eine Zufallsvariable, welche die Störung der Ausgabedaten modelliertund daher oft als Rauschmodell bezeichnet wird. Viele Verfahren der Mustererkennung,wie etwa Support-Vektor-Klassifikatoren (Abschn. 18.4.6) aber auch Entscheidungsbäume(Abschn. 18.4.3), parametrisieren die latente Funktion f durch f (⋅; θ) und schätzen danndie Parameter θ mit Maximum-Likelihood-Verfahren.

ImGegensatz zu diesemVorgehen verwenden GP-Ansätze in derMustererkennung dasKonzept der Marginalisierung, welches wir in Abschn. 18.3.2 kennengelernt haben. Einwichtiger Bestandteil ist dabei ein Modell für die A-Priori-Verteilung. Weiterhin werdenwir die latente Funktion f nicht parametrisieren, sondern direkt als Zufallsvariable inter-pretieren unddiesemarginalisieren. Es ist also kein parametrischesModell notwendig.Wiewir bereits in Abschn. 18.5.5 gesehen haben, eignen sich Gauß-Prozesse hervorragend umdie Verteilung von ganzen Funktionen zu beschreiben. Vor allem die Eigenschaft der Ste-tigkeit ist in diesem Fall entscheidend. So ist es möglich, eine der Hauptannahmen desmaschinellen Lernens direkt zu modellieren: Ähnliche Eingabedaten sollten zu ähnlichenAusgabedaten führen.

Modellannahmen bei der Schätzung Zunächst werfen wir einen Blick auf die zwei wich-tigsten Annahmen, welche beim Lernen mit Gauß-Prozessen sowohl bei Regressions- alsauch bei Klassifikationsaufgaben getroffen werden:

1. Bedingte Unabhängigkeit: Es existiert eine latente Funktion f ∶ X → R, so dassAusgaben y unabhängig von ihren Eingaben x sind, wenn der Wert f (x) der latentenFunktion gegeben ist. Diese bedingte Verteilung der Ausgaben ist durch das Rauschmo-dell p(y ∣ f (x)) festgelegt.

2. A-Priori-Modell: Die Verteilung der Funktion f wird durch einen mittelwertfreienGauß-Prozess mit der Kernelfunktion K ∶ X ×X → R beschrieben, d. h. f ∼ GP(,K).

Seien nun n Lernbeispiele xi ∈ X ⊂ X mit entsprechenden Ausgaben yi ∈ Y gegeben. DieAusgaben werden wir im Folgenden in einem Vektor y ∈ {−, }n zusammenfassen. Ziel ist

Page 501: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 495

es, die A-Posteriori-Verteilung der Ausgabe y∗

eines neuen Beispiels x∗

∈ X zu bestimmen.Dazu marginalisieren wir zunächst den latenten Funktionswert f

= f (x∗

):

p(y∗

∣ x∗

, y,X) = ∫R

p(y∗

∣ f∗

)p( f∗

∣ x∗

, y,X)d f∗

. (18.128)

Zu beachten ist, dass wir dabei schon explizit die Annahme der bedingten Unabhängigkeitvon y

und x∗

verwendet haben. Zur Bestimmung der bedingten Verteilung von f∗

müssenwir nun eine zweite Marginalisierung durchführen, da die latenten Funktionswerte f =

( f (xi))ni= des Lerndatensatzes ebenfalls nicht bekannt sind:

p( f∗

∣ x∗

, y,X) = ∫Rn

p( f∗

∣ x∗

, f)p(f ∣ y,X)df . (18.129)

An dieser Stelle können wir jetzt das Rauschmodell verwenden und die bedingte Unab-hängigkeit der Lernbeispiele verwenden:

p(f ∣ y,X) =p(f ∣X)

p(y ∣X)(

n∏i=

p(yi ∣ fi)) . (18.130)

Die Verteilung p(f ∣X) ist eine n-dimensionale Normalverteilung mit Mittelwert Null undder Kovarianzmatrix K = (K(xi , x j))i , j . Das Rauschmodell p(yi ∣ fi) kann unterschiedli-che Formen annehmen und hängt von der Art der Ausgaben yi ab. Bei kontinuierlichenWerten y ∈ R handelt es sich um ein Regressionsproblem.

18.5.6 Gauß-Prozess-Regression

Im folgenden Abschnitt zeigen wir die Anwendung der vorgestellten Grundideen auf dasProblem der Regression mit kontinuierlichen Ausgaben y ∈ R. Ein übliches Rauschmodellist dabei die Annahme eines additiven normalverteilten Rauschens mit Mittelwert Null,d. h. ε ∼ N(, σ

ε ). Weiterhin nehmen wir an, dass die Fehlerterme ε für jede Eingabe xunabhängig und identisch verteilt sind:

p(y ∣ f (x)) = N(y ∣ f (x), σ ε ). (18.131)

Die Annahme von normalverteiltem Rauschen ermöglicht es, die Marginalisierungen ingeschlossener Form durchzuführen. Diese wichtige Eigenschaft resultiert aus der Beob-achtung, dass eine Ausgabe y eine Summe der normalverteilten Zufallsvariablen f (x) undε ist, und daher auch selbst einer Normalverteilung unterliegt. Die gemeinsame Verteilungder Ausgabe y

und der Ausgaben y der Lerndaten kann also wie folgt angegeben werden:

p (y∗

, y ∣X) = N ([y∗

y] ∣ ,K ((x

,X) , (x∗

,X)) + σ ε ⋅ I)

= N ([y∗

y] ∣ , [

K(x∗

, x∗

) + σ ε kT

k∗

K + σ ε ⋅ I

]) .

Page 502: Bildverarbeitung und Objekterkennung ||

496 18 Maschinelles Lernen

Um die bedingte Verteilung zu ermitteln, verwenden wir die Resultate aus Abschn. 22.5,welche zeigen, dass die A-Posteriori-Verteilung von y

gegeben y ebenfalls normalverteiltist, d. h. y

∼ N(μ∗

, σ ∗

). DerMittelwert lässt sich anhand folgender Vorschrift berechnen:

μ∗

= kT∗

(K + σ ε ⋅ I)

−y = kT

α. (18.132)

Die zentrale Bedeutung der Koeffizienten α = (K + σ ε ⋅ I)

−y haben wir schon in Ab-

schn. 18.5.1 diskutiert. Der Mittelwert μ∗

ist zugleich das Maximum der A-Posteriori-Verteilung und daher der Schätzwert für eine Eingabe x

. Wir werden diesen Schätzwertim Folgenden als prädiktiver Mittelwert oder als Regressionsfunktion bezeichnen.

Ein wichtiger Vorteil des GP-Ansatzes ist die Möglichkeit, auch die Varianz des Schätz-wertes zu ermitteln. Dies ist ein großer Vorteil der durchgeführten Marginalisierung.

σ ∗

= K(x∗

, x∗

) − kT∗

(K + σ ε ⋅ I)

−k∗

+ σ ε . (18.133)

Oft spricht man in diesem Zusammenhang auch von der Unsicherheit der Schätzung. DerBegriff der Unsicherheit wird meistens mit dem Begriff der Entropie assoziiert. Normal-verteilungen mit Varianz σ

haben eine differentielle Entropie von log(π ⋅e ⋅σ

), welchesden Zusammenhang der Begriffe verdeutlicht.

Die Berechnung des prädiktiven Mittelwertes erfordert die vorherige Bestimmung derKoeffizienten α. Dies kannmit Hilfe der Cholesky Faktorisierung der regularisierten Kern-matrix erfolgen. Insgesamt ergibt sich so eine kubische Laufzeitkomplexität von O(n).Für jedes Testbeispiel sind danach O(n) Operationen notwendig, um das SkalarproduktkT∗

α auszurechnen. Zur Bestimmung der prädiktiven Varianz sindO(n)Operationen fürjedes Testbeispiel notwendig, wenn die Cholesky-Faktorisierung verfügbar ist.

Abbildung 18.13 zeigt ein paar Beispiele für die GP-Regression bei einem kleinen ein-dimensionalen Beispiel mit dem Gaußkern und unterschiedlichen Werten des Hyperpa-rameters γ. Fokussieren wir uns zunächst auf die Regressionsfunktion (roter Graph in derAbbildung), welche durch den prädiktiven Mittelwert gegeben ist. In der oberen Grafik istgut die Auswirkung des Rauschmodelles erkennbar. Die Regressionsfunktion muss nichtzwangsläufig durch die Lernbeispiele gehen, da die Annahme getroffen wurde, dass die-se einem additiven Rauschen unterliegen. Weiterhin ist erkennbar, dass die Funktion sehrstark vom gewählten Hyperparameter γ abhängt und das gleiche Verhalten zeigt, welcheswir schon in Abschn. 18.5.5 gesehen haben. Mit einem steigenden Wert von γ ermöglichtdie GP-Verteilung eine höhere Flexibilität der entstehenden Regressionsfunktion.

Der markierte Bereich in den Grafiken entspricht dem Konfidenzintervall, welchesdurch die prädiktive Varianz ermittelt wurde. Eine hohe Varianz der A-Posteriori-Ver-teilung ist vor allem an Punkten x

zu beobachten, welche sehr weit von den Lerndatenentfernt liegen, d. h. am Rand der jeweiligen Grafiken in unserem Fall. Durch die Tatsa-che, dass die Matrix (K + σ

ε ⋅ I) positiv definit ist und für den Gaußkern K(x, x) = gilt,lässt sich + σ

ε als obere Schranke für die prädiktive Varianz angeben. Die Schranke istaußerdem der Grenzwert für einen Punkt x

, wenn sich dieser von den Lerndaten entfernt.

Page 503: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 497

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0

0.5

1

1.5

Gausskernγ=5

x

y(x)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0

0.5

1

1.5

Gausskernγ = 25

x

y(x)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0

0.5

1

1.5

Gausskernγ = 50

x

y(x)

Abb. 18.13 Gauß-Prozess-Regression mit einem Gaußkern (18.90) und unterschiedlichen Wertendes Hyperparameters γ. Die rote Kurve zeigt den prädiktiven Mittelwert (18.132) für jedes Testbei-spiel x∗ und die markierte Fläche charakterisiert das Konfidenzintervall [μ∗ − σ∗, μ∗ + σ∗] DieStandardabweichung des Rauschens wurde auf , festgelegt

Page 504: Bildverarbeitung und Objekterkennung ||

498 18 Maschinelles Lernen

18.5.7 Klassifikation mit Gauß-Prozessen

Wie wir gesehen haben, führt die Annahme des normalverteilten Rauschens zu einergeschlossenen Lösung der Integrale in (18.128) und (18.129) und damit zu direktenSchätzgleichungen. Bei binären Klassifikationsproblemen mit y ∈ {−, }, kann natür-lich auch die Gauß-Prozess-Regression direkt angewendet werden. Die Ausgaben werdendann einfach als kontinuierliche Werte angenommen. Als Wert der weichen Klassifika-tionsentscheidung ist es zum Beispiel möglich, den prädiktiven Mittelwert μ

oder denWert p(y

= ∣ x∗

, y,X) der Dichtefunktion zu verwenden. Dieser Ansatz wird als labelregression [50] bezeichnet und erfordert nur ein paar einfache algebraische Operationen.

Aus theoretischer Sichtweise erscheint dieseMethode jedoch nicht angebracht. Schließ-lich ist das normalverteilte Rauschen nicht mit dem diskreten Wertebereich der Ausgabeny vereinbar. Ein Rauschmodell für die binäre Klassifikation sollte eher folgende Bedingungerfüllen:

∀ f ∈ R∶ p(y = ∣ f ) + p(y = − ∣ f ) = . (18.134)

Nur in diesem Fall ist eine korrekte diskrete Wahrscheinlichkeitsverteilung gegeben. Dasprobit-Modell ist solch ein mögliches Modell und kann wie folgt motiviert und hergeleitetwerden. Um aus einem kontinuierlichen Wert f eine Klassifikationsentscheidung abzulei-ten, wird oft einfach eine Schwellwertoperation durchgeführt, z. B. durch y = sign ( f + ε).Dabei ist ε ∼ N(, σ

c ) ein entsprechender Rauschterm. Auf der Grundlage dieser Überle-gung können wir die diskrete Wahrscheinlichkeitsverteilung von y bestimmen undmittelsder kumulativen Gaußfunktion Φ und der Fehlerfunktion erf(z) ausdrücken:

p(y ∣ f ) =⎧⎪⎪⎨⎪⎪⎩

p( f + ε ≥ ) wenn y = p( f + ε < ) wenn y = −

(18.135)

=

y⋅ f

∫−∞

N(z ∣ , σ c )dz (18.136)

=(erf (

y ⋅ f√ ⋅ σc

) + ) = Φ (y ⋅ fσc

) . (18.137)

In den meisten Fällen wird der Skalierungsfaktor σc des Rauschmodelles einfach auf einsgesetzt, da er auch durch einen multiplikativen Faktor bei der Kernelfunktion ausgedrücktwerden kann. Alternativ lässt sich eine Sigmoidfunktion verwenden und führt auf das so-genannte logistische Rauschmodell [57]:

p(y ∣ f ) =(sig (y ⋅ f ) + ) . (18.138)

Das logistische Modell findet zum Beispiel auch bei neuronalen Netzwerken Verwen-dung [3, Abschn. 5].

Page 505: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 499

Der große Nachteil beider Klassifikationsmodelle ist, dass die bedingte Verteilungp(f ∣ y,X) (18.130) der Werte f der latenten Funktion nicht mehr einer Normalvertei-lung entspricht. Dadurch wird die Auflösung der Marginalisierung in (18.129) nicht mehrmöglich. Dieses Problem ist äußerst typisch für Bayes-Ansätze (Abschn. 18.3.2). In denfolgenden Abschnitten werden wir als Lösung dieses Problems die Laplace-Approximationals Verfahren für die approximative Inferenz kennenlernen. Eine weitere wichtige Metho-de in diesem Bereich ist expectation propagation [47], welches in [57, Abschn. 3.6] gutbeschrieben ist.

18.5.8 Laplace-Approximation

Im Folgenden konzentrieren wir uns auf die Marginalisierung der Zufallsvariable f . ZurLösung der ein-dimensionalen Integration in (18.128) (Marginalisierung von f

) könneneinfache numerische Verfahren, wie die Monte-Carlo Simulation verwendet werden. Fürdas probit-Modell existiert sogar eine Lösung in geschlossener Form [57, Abschn. 3,4.2].

Wie wir gesehen haben, ist die Marginalisierung in (18.129) effizient möglich, wenndie bedingte Verteilung p(f ∣ y,X) eine Normalverteilung ist. Die Grundidee der Laplace-Approximation ist es daher allgemeine Verteilungen mit einer Normalverteilung q(f ∣ y,X)

zu approximieren. Aus diesem Grund ist es die Hauptaufgabe der Laplace-Approximation,eine geeignete Verteilung q(f ∣ ⋅) zu finden, welche zur Ausgangsverteilung p(f ∣ ⋅) am Bes-ten passt.

Wenn q eineNormalverteilung ist, dann ist log q eine quadratische Funktion. Diese Tat-sache verwenden wir um q zu finden, indem wir die Taylor-Approximation von L(f) =

log p(f ∣ y,X) durchführen. Sei f das Maximum der exakten bedingten Verteilung, d. h.das Ergebnis des MAP-Schätzers, welches sich in wenigen Iterationen mit einem einfachenNewton-Verfahren finden lässt [57]. Die Taylor-Approximation von L um die Position flässt sich wie folgt angeben:

L(f) = L(f) + [{∇L}(f)]T(f − f)

+(f − f)

T[{∇L}(f)] (f − f) + . . . (18.139)

= L(f) +(f − f)

T[{∇L}(f)] (f − f) + . . . (18.140)

In obigerGleichung habenwir denGradienten der Funktion Lmit∇L unddieHessematrixmit ∇L bezeichnet. Ausserdem haben wir explizit ausgenutzt, dass der Gradient an derStelle f des Maximums Null sein muss. Durch die Taylor-Approximation kann folgendeApproximation der bedingten Verteilung angegeben werden:

q(f ∣ y,X) = N (f ∣ f ,−[{∇L}(f)]−) . (18.141)

Page 506: Bildverarbeitung und Objekterkennung ||

500 18 Maschinelles Lernen

Die Kovarianzmatrix ist positiv definit, daher wissenwir auch, dass f ein lokales Maximumist. Die exakte Formel für die Hessematrix können wir durch die Definition von L und derAnwendung des Gesetzes von Bayes finden:

L(f) = log p(y ∣ f) + log p(f ∣X) − log p(y ∣X) (18.142)

{∇L}(f) = {∇f log p(y ∣ f)}(f) −K− (18.143)

= −W −K− . (18.144)

Die MatrixW ist eine n×n große Diagonalmatrix, welche die Werte der zweiten Ableitun-gen des negativen Logarithmus des Rauschmodelles enthält:

∀ ≤ i ≤ n ∶ Wii = −{d

d flog p(yi ∣ f )}( f i). (18.145)

Die Diagonalität derMatrix entsteht durch die Annahme der bedingte Unabhängigkeit derAusgaben, welche wir ganz am Anfang des Abschnittes getroffen hatten.

Für die Klassifikation müssen wir die bedingte Verteilung des latenten Funktionswertesf∗

bestimmen. Zunächst fassen wir aber noch einmal alle Informationen über den Inte-granten in (18.129) zusammen:

p( f∗

∣ x∗

, f) = N ( f∗

∣kT∗

K−f ,K(x∗

, x∗

) − kT∗

K−k∗

) , (18.146)

p(f ∣ y,X) ≈ q(f ∣ y,X) = N (f ∣ f , (W +K−)−) . (18.147)

Wenn wir jetzt das Lemma 22.6 anwenden, gelangen wir direkt zu der Bestimmung desprädiktiven Mittelwertes von f

:

E ( f∗

∣ x∗

, y,X) = kT∗

K− f , (18.148)

und der korrespondieren Varianzschätzung:

σ ( f∗

∣ ⋅) = K(x∗

, x∗

) − kT∗

K−k∗

+ kT∗

K− (W +K−)−K−k

= K(x∗

, x∗

) − kT∗

(K− −K− (W +K−)−K−)k

(Lemma 22.3) = K(x∗

, x∗

) − kT∗

(K +W−)−k∗

. (18.149)

Bei der Implementierung sind viele numerische Details zu beachten, welche in [57, Ab-schn. 3.4.3] erläutert werden.

18.5.9 Zusammenhang zum SVM Ansatz

Wie bei vielen Ansätzen in der Mustererkennung besteht trotz der unterschiedlichen For-mulierung vonGP- und SVM-Klassifikatoren ein starker Zusammenhang zwischen beiden

Page 507: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 501

Abb. 18.14 Darstellung verschiedener Fehlerterme: hinge loss des SVM-Ansatzes, quadratischerFehler bei der GP-Regression, sowie LΦ und Lsig bei der GP-Klassifikation. In der Abbildung werdendiese Funktionen mit der Funktion zur Bestimmung von Fehlklassifikationen verglichen

Methoden. Wir betrachten im Folgenden die Kernelversion des SVM-Klassifikator, wie erin Abschn. 18.4.6 vorgestellt wurde. Durch eine geschickte Umformulierung, welche in [57,S. 144] detailliert dargestellt ist, kann das Lernen des SVM-Klassifikators auf folgendesOp-timierungsproblem zurückgeführt werden:

minf∈Rn

Cn∑i=

H (yi ⋅ fi)) +fTK−f . (18.150)

Zusätzlich haben wir die Konstante λ = (C)− definiert. Ein ähnliches Problem erhaltenwir bei der Maximierung der Verteilung p(f ∣ y,X) (oder der äquivalenten Minimierungvon − log p(f ∣ y,X)) bezüglich des Vektors f :

minf∈Rn

−n∑i=

log p(yi ∣ fi) +fTK−f . (18.151)

Vergleicht man beide Optimierungsprobleme so fällt sofort auf, dass diese sich nur in derWahl des Fehlerterms unterscheiden, welcher von den Produkten z = yi fi abhängig ist. DerSVM-Klassifikator verwendet zum Lernen die hinge loss H(z) und der GP-Ansatz unterAnnahme eines normalverteiltenRauschens die quadratische FunktionQ(z) = (−z). Beider GP-Klassifikationwerden hingegen die Funktionen Lsig(z) = − log sig(z) und LΦ(z) =− logΦ(z) zur Approximation des Fehlers eingesetzt. In Abb. 18.14 sind die einzelnen Feh-lerfunktionen dargestellt und mit der Stufenfunktion M(z) = δ (z ≥ ) zur Bestimmungvon Fehlklassifikationen verglichen. Es lässt sich gut erkennen, dass alle Funktionen dieFunktionM von oben beschränken und glatt und stetig sind. Eine direkteMinimierung vonM ist oft nichtmöglich, da diese nicht stetig und schwierig zu optimieren ist. Daher ist es ein

Page 508: Bildverarbeitung und Objekterkennung ||

502 18 Maschinelles Lernen

üblicher Trick in der Mustererkennung stattdessen eine stetige und differenzierbare obereSchranke zu minimieren. Die Wahl dieser Schranke führt automatisch zu unterschiedli-chen Ansätzen der Klassifikation, mit eigener Herleitung und Motivation. Welche dieserFunktionen sich besser eignet, ist vom Klassifikationsproblem abhängig und es lässt sichkeine allgemeine Aussage treffen.

Kehren wir aber noch einmal zum Vergleich der Optimierungsprobleme zurück undschauen uns dieGP-Regressionmit p(yi ∣ fi) = N(yi ∣ fi , σ

ε )näher an.DasOptimierungs-problem (18.151) lässt sich dann wie folgt spezifizieren:

minf∈Rn

σ

ε∥y − f∥ +

fTK−f . (18.152)

Bei einemVergleich von (18.152) und (18.150) fällt sofort auf, dassC− und σ ε anscheinend

den gleichen Einfluss auf das Zielkriterium ausüben. Eine Erhöhung der Standardabwei-chung σ

ε im Rauschmodell bewirkt ein stärkeres Gewicht auf den Regularisierungstermund damit eine Bevorzugung von latenten Funktionen mit geringer Modellkomplexität.

18.5.10 Mehrklassen-Klassifikation

Ähnlich zur Darstellung des SVM-Ansatzes haben wir auch bei der GP-Klassifikation zu-nächst nur den Fall der binären Klassifikation betrachtet. Für die Mehrklassen-Klassifi-kation gibt es Ansätze, die auf der GP-Modellierung basieren und mit Ausgaben y ∈ Y =

{, . . . ,M} direkt umgehen können. Diese Methoden sind aber oft sehr aufwendig undwirverweisen an dieser Stelle wieder auf das Buch von Rasmussen undWilliams [57].

Im Gegensatz zur direkten Modellierung ist es natürlich auch wieder möglich, den one-vs-all Ansatz zu verwenden (Abschn. 18.4.6). Für jede Klasse κ ∈ Y wird also ein GP-Klassifikator gelernt, welcher alle Beispiele der Klasse κ als positive und alle übrigen Bei-spiele als negative Lernbeispiele verwendet. Sei y(κ) ∈ {−, }n der Vektor der binärenBeschriftungen für die Klasse κ ∈ {, . . . ,M}, welcher aus den Beschriftungen y generiertwird, indem y(κ)i auf gesetzt wird, wenn das Beispiel i zur Klasse κ gehört, und ansonstenmit − festgelegt ist. Für die Klassifikation mit GP-Regression (label regression) ergibt sichdann die Wahl der Klasse anhand des größten geschätzten Mittelwertes der Beschriftungy∗

eines neuen Beispiels x∗

:

ymulti∗

= argmaxκ=...M

μκ∗

= argmaxκ=...M

kT∗

(K + σ ε ⋅ I)

−yκ . (18.153)

Ein wichtiger Vorteil dieses Ansatzes ist es, dass die Kernmatrix unverändert bleibt und sozum Beispiel nur einmal die Cholesky-Faktorisierung durchgeführt werden muss. Daherist es für die Laufzeit des Klassifikators beim Lernen nicht entscheidend wie viele Klassenzur Klassifikation verwendet werden.

Page 509: Bildverarbeitung und Objekterkennung ||

18.5 Kernelbasierte Klassifikation 503

18.5.11 Hyperparameter-Schätzung

Wie wir bereits in Abschn. 18.5.5 und besonders in Abb. 18.12 und 18.13 gesehen ha-ben, spielen die Hyperparameter η der Kernelfunktion eine ganz entscheidende Rolle undhaben einen starken Einfluss auf das Ergebnis. Für SVM Ansätze hatten wir bereits dieKreuzvalidierung zur Bestimmung von Hyperparametern vorgestellt. Ein großer Nachteildieser Methode ist die vollständige Suche im Parameterraum. Bei vielen Parametern ist dieSuche durch die hohe Laufzeit nicht anwendbar.

Durch die wahrscheinlichkeitstheoretische Modellierung ist es im Gegensatz zu SVM-Ansätzen bei der GP-Modellierung möglich, ein geschlossenes Zielkriterium zur Opti-mierung von Hyperparametern zu definieren. Die Anwendung der Maximum-LikelihoodSchätzung für die Hyperparameter bei der GP-Regression ergibt sofort:

ηML = argmaxη

p(y ∣X, η) (18.154)

= argminη

− log p(y ∣X, η) (18.155)

= argminη

logdet (Kη) +

yTK−η y, (18.156)

Bei der Herleitung haben wir additive Konstanten vernachlässigt, welche nicht für die Op-timierung notwendig sind und die Verteilung des Beschriftungsvektors y ∼ N (, Kη)

ausgenutzt. Die Matrix Kη ist dabei die regularisierte Kernmatrix, Kη = Kη + σ ε ⋅ I, welche

von den Hyperparametern abhängt. Das obige Kriterium kann mit einem nichtlinearenOptimierungsverfahren, wie etwa dem Newton-Verfahren optimiert werden. Die dafürnotwendige Ableitung lässt sich sogar analytisch bestimmen.

Bei der Hyperparameter-Optimierung im Mehrklassen-Fall ist es möglich, die Summeder Terme für jeden einzelnen binären Klassifikator zu minimieren:

ηML = argmaxη

p(y , . . . , yM ∣X, η) (18.157)

= argminη

−M∑κ=

log p(yκ ∣X, η) (18.158)

= argminη

Mlogdet (Kη) +

M∑κ=

(yκ)T K−η yκ (18.159)

= argminη

Mlogdet (Kη) +

Spur(K−η

M∑κ=

yκ (yκ)T) . (18.160)

Grundsätzlich ist zu sagen, dass die Hyperparameter-Optimierung in dieser Form nichtdie einzig wahre Lösung ist, sondern eher eine mögliche Alternative zur Kreuzvalidierungdarstellt. Eine andere Möglichkeit ist es auch, sogenannte leave-one-out Schätzungen zuverwenden [57].

Page 510: Bildverarbeitung und Objekterkennung ||

504 18 Maschinelles Lernen

18.6 Bewertung von Klassifikatoren

Im folgenden Abschnitt wollen wir uns näher mit der Bewertung von Klassifikatoren undKlassifikationssysteme beschäftigen. Wie schon am Anfang des Kapitels erwähnt, ist diequantitative empirische Auswertung für dieWahl des Klassifikators sowie etwaiger Hyper-parameter wesentlich.

18.6.1 Wahl der Testbeispiele

Wir gehen im Folgenden von einer maschinellen Lernaufgabe mit einem vollständig be-schrifteten (Lern-)Datensatz D aus. Wird ein Klassifikator auf dem gleichen Datensatzangewendet mit dem dieser auch gelernt wurde, so spricht man von Reklassifikation.Der ermittelte Fehler der resultierenden Schätzungen der Ausgaben auf diesem Datensatzwird Reklassifikationsfehler genannt. Eines der fundamentalen Irrtümer bei der Evalua-tion von maschinellen Lernverfahren ist es, den Reklassifikationsfehler zur Evaluationder Leistungsfähigkeit eines Klassifikators zu verwenden. Warum dies ein Irrtum ist, lässtsich schnell anhand des NN-Klassifikators (Abschn. 18.4.1) erläutern. Für jedes Lern-beispiel liefert dieser Klassifikator eine perfekte Schätzung, da der nächste Nachbar imLerndatensatz immer das Beispiel selbst ist. Der Reklassifikationsfehler lässt demnachkeine Rückschlüsse über die Leistungsfähigkeit in der Praxis, d. h. auf neuen unbekann-ten Daten, zu. Vielmehr erhält man durch diesen ein Maß für die Modellkomplexität desKlassifikators.

Die Auswertung eines Klassifikationssystems aber auch eines Regressionsverfahrensmuss daher immer auf einem Testdatensatz erfolgen, welcher disjunkt zur eigentlichenLernstichprobe ist. Bei der Aufteilung eines gegebenen Datensatzes in Lern- und Testda-tensatz sind mehrere Aspekte zu beachten:

1. Testdatensatz und Lerndatensatz sollten repräsentativ für die in der Praxis zu erwarten-den Testbeispiele sein (gleiche Verteilung der Ein- und Ausgaben).

2. Im Lerndatensatz müssen ausreichend Beispiele vorhanden sein, damit die Leistungs-fähigkeit des erlernten Klassifikators mit der eines auf der kompletten Stichprobe er-lernten Klassifikators annähernd vergleichbar ist.

3. Der Testdatensatz sollte genügend Beispiele enthalten um eine statistisch robuste Schät-zung des Fehlers durchführen zu können.

Beieinemrelativ zurSchwierigkeitderAufgabenstellungkleinenDatensatz (Abschn.18.2.2)hat dieWahl der Lernstichprobe einen großen Einfluss auf die Leistungsfähigkeit des Klas-sifikators. Aus diesem Grund werden oftmehrere Einteilungen (data splits) vorgenommenum dadurch einen mittleren Fehler oder den Mittelwert eines Gütekriteriums zu bestim-men. Ähnlich zum Bagging-Ansatz, welchen wir in Abschn. 18.3.4 kennengelernt habenum die Varianz der Schätzungen eines Klassifikators zu verringern, lässt sich auch bei derAuswertung von Klassifikatoren durch eine zufällige Auswahl von Lern- und Teststich-probe die Robustheit der Fehlerschätzung erhöhen. In diesem Fall wählen wir einfach aus

Page 511: Bildverarbeitung und Objekterkennung ||

18.6 Bewertung von Klassifikatoren 505

a b

Abb. 18.15 Techniken zur Auswahl von Lern- und Testbeispielen. a Zufällige Auswahl, b Kreuzva-lidierung. Der Kreis repräsentiert den gesamten Datensatz und die Auswahl der Lernbeispiele ist mitblauen Kreissektoren gekennzeichnet

dem gesamten Datensatz gleichverteilt zufällig Lernbeispiele aus und die Bestimmung desFehlers des auf diesen Daten gelernten Klassifikators erfolgt dann auf den restlichen Bei-spielen. Ein anderer Ansatz ist die k-fache Kreuzvalidierung, bei welcher der Datensatz ink gleichgroße Teilmengen aufgeteilt wird. Es erfolgt dann das Lernen auf jeweils k− dieserMengen und ein Testen auf der verbleibenden Menge. Beide Konzepte für die Auswahlvon Lern- und Testbeispielen sind in Abb. 18.15 dargestellt.

Ein Extremfall der k-fachen Kreuzvalidierung ist die Bestimmung von leave-one-outFehlern.Wenn insgesamt n Beispiele im DatensatzD zur Verfügung stehen, wird ein Klas-sifikator mit n − Beispielen gelernt und auf dem verbleibenden Beispiel getestet. Dieskann insgesamt genau n-Mal erfolgen und die Schätzungen für jedes der n Beispiele kön-nen dannmit einemGütekriterium bewertet werden. Ein Nachteil dieses Verfahrens ist derRechenaufwand beim Lernen von insgesamt n Klassifikatoren. Im Falle des k-NN Klassi-fikators oder der Gauß-Prozess-Regression ist aber eine effiziente Bestimmung von leave-one-out Fehlern möglich [57].

Die Evaluation von Klassifikationssystemen ist nicht nur für die Gesamtbewertung desentwickelten Verfahrens wichtig, sondern auch für den Lernschritt und die Wahl von Pa-rametern selbst. Oft ist es notwendig einen zusätzlichen Validierungsdatensatz oder eineKreuzvalidierung auf der Lernstichprobe zu verwenden, damit keine Überanpassung desKlassifikationssystems an den eigentlichen Testdatensatz erfolgt. Ein typisches Beispiel füreinen Parameter, welcher oft mittels Kreuzvalidierung bestimmt wird, ist die Anzahl k derNachbarn beim k-NN Verfahren oder der Regularisierungsparameter C beim SVM Klas-sifikator (Abschn. 18.4.6).

18.6.2 Erkennungsraten bei mehreren Klassen

Während bei Regressionsaufgaben oft einfach der quadratische Fehler zwischen geschätz-ten Ausgaben und exakten Ausgaben berechnet wird, erfordert die Auswertung bei Klassi-

Page 512: Bildverarbeitung und Objekterkennung ||

506 18 Maschinelles Lernen

fikationsaufgaben andere Auswertungsmaße. Der quadratische Fehler ist bei den diskretenAusgaben einesKlassifikators nicht sinnvoll, da ansonsten dieReihenfolge derKlassenAus-wirkung auf das Auswertungsmaß hat.

Gehenwir zunächst von der Klassifikation vonmehr als zwei Klassen aus. Ein wichtigesWerkzeug der Auswertung ist die Vertauschungsmatrix (confusion matrix)C ∈ NM×M , wo-bei M die Anzahl der Klassen in der Aufgabenstellung ist. Die Vertauschungsmatrix zähltwie oft ein Klassifikator ein Beispiel der Klasse i der Klasse j zugewiesen hat:

Ci j = ∣{x ∈ Dtest ∣ x gehört zur Klasse j wurde aber als i klassifiziert}∣ . (18.161)

Bei einem perfekten Klassifikator ist die Vertauschungsmatrix eine reine Diagonalmatrix.Hohe positive Werte Ci j > welche nicht auf der Diagonale (i ≠ j) stehen, signalisiereneine schwierige Unterscheidung der Klassen i und j aufgrund der gegebenen Merkma-le und des Klassifikationsmodelles. Ausgehend von der Vertauschungsmatrix können wirjetzt auch Gütemaße für die Bewertung des Klassifikators definieren. Ein typischer und in-tuitiver Wert ist die Erkennungsrate, d. h. der relative Anteil der Falschklassifikationen anden Testbeispielen:

err-ov =

n(test)M∑j=

Cj j . (18.162)

Die Angabe dieses Wertes für die Bewertung besitzt aber einen entscheidenden Nachteil.Gehören zum Beispiel im Testdatensatz % der Beispiele zur Klasse , so wird ein trivia-ler Klassifikator, welcher immer nur als Klassifikationsentscheidung die Klasse zurückgibt, mit der Erkennungsrate err-ov = , bewertet. Dieser Wert ist jedoch irreführendbei der Bewertung. Eine Alternative ist die Bestimmung der mittleren Erkennungsrate dereinzelnen Klassen:

err-avg =M

⋅M

∑j=

Cj j

n(test)j

. (18.163)

Bei diesem Gütemaß wird die Erkennungsrate zunächst für jede einzelne Klasse betrach-tet und dann gemittelt. Im beschriebenen Extremfall eines trivialen „konstanten“ Klassi-fikators erhalten wir err-avg =

M . Im Falle von gleichverteilten Klassen im Testdatensatzergeben beide Gütemaße den gleichen Wert.

18.6.3 Bewertung von binären Klassifikatoren

Bei der Unterscheidung von nur zwei Klassen, d. h. bei der binären Klassifikation, könnenwir natürlich auch die zwei Varianten der Erkennungsrate zur Bewertung verwenden. Die

Page 513: Bildverarbeitung und Objekterkennung ||

18.6 Bewertung von Klassifikatoren 507

Vertauschungsmatrix C hat in diesem Fall nur vier Einträge:

C = [TN(true negatives) FN(false negatives)FP(false positives) TP(true positives)

] . (18.164)

Zur Bezeichnung der vierWerte habenwir die üblichenBegriffe aus der englischsprachigenLiteratur angegeben. Wie wir in den vorherigen Abschnitten kennengelernt haben, liefernviele binäre Klassifikatoren einen kontinuierlichen Ausgabewert f (x

) zurück, welcherdann per Schwellwertoperation zur Klassifikationsentscheidung führt. Bei linearen Klassi-fikatoren ist dies der algebraische vorzeichenbehaftete Abstand f (x

) = wTx∗

+ b, welcherzu folgender diskreten Klassifikationsentscheidung führt:

h(x∗

) =

⎧⎪⎪⎨⎪⎪⎩

− wTx∗

+ b < t wTx

+ b ≥ t. (18.165)

Erhöht man den Schwellwert t so werden automatisch mehr Beispiele in der Testphase als− klassifiziert. Eine Veränderung des Schwellwertes zieht demnach meist eine Verände-rung derVertauschungsmatrix nach sich. In vielenAnwendungsfällen ist eine sehr niedrigeFalschpositivrate (false positive rate) FPR = FP

nnegerforderlich. Ein typisches Beispiel ist hier

die Fußgängerdetektion, bei der Fußgänger in Kamerabildern lokalisiert werden müssen.Diese Aufgabenstellung ist ein binäres Klassifikationsproblem und als positive Beispielezählen hier Kamerabilder in denen sich ein Fußgänger direkt vor dem Fahrzeug befindet.Ein Algorithmus mit einer hohen Falschpositivrate wird viele Kamerabilder, in denen sichkeine Personen befinden, als positiv klassifizieren. Eine Fahrzeugelektronik die aufgrundder Aussagen solch eines Klassifikators zu ständigen Notbremsungen führt, erzeugt ver-mutlich mehr Unfälle als es welche vermeiden kann.

Ziel ist es daher eine Auswertungsstrategie zu verfolgen, welche zunächst unabhängigvon konkreten Angaben des Schwellwertes ist. Sogenannte ROC-Kurven (receiver operatorcharacteristic) betrachten alle möglichen Falschpositivraten und Richtigpositivraten (truepositive rate) welche durch Wahl eines Schwellwertes t entstehen können:

FPR(t) =FP(t)nneg

, TPR(t) =TP(t)npos

. (18.166)

Ein Beispiel für solch eine Kurve ist in Abb. 18.16a zu sehen. Für eine gegebeneMindestan-forderung an die Falschpositivrate lässt sich in der Kurve die zugehörige Richtigpositivrateablesen. Die Bestimmung solcher Kurven kann sehr effizient erfolgen. Ähnlich wie bei derBestimmung von einfachen Basisklassifikatoren in Abschn. 18.4.3 gibt es nur eine endlicheAnzahl von Schwellwerten die entweder die Falschpositivrate oder die Richtigpositivrateändern, diese sind durch die Anzahl der Testbeispiele beschränkt. Eine ROC-Kurve kanndirekt aus der Sortierung der kontinuierlichen Klassifikatorausgaben und den zugehörigenkorrekten Klassenangaben ermittelt werden.

Page 514: Bildverarbeitung und Objekterkennung ||

508 18 Maschinelles Lernen

a b

Abb. 18.16 Beispiele für die Auswertung von binären Klassifikationsproblemen mit a ROC- undb Recall-Precision-Kurven, sowie den Flächeninhalten unter diesen Kurven

Ein ähnliches Werkzeug zur Beurteilung von Klassifikatoren sind Recall-Precision-Kurven:

recall(t) = TPR(t) =TP(t)npos

, precision(t) =TP(t)

TP(t) + FP(t). (18.167)

Ein Vorteil dieser Kurve ist es, dass die Anzahl der negativen Beispiele in der Stichprobenicht bekannt sein muss. Dies ist besonders bei der Auswertung von Objektlokalisations-verfahren notwendig (Abschn. 20.3). Ein Beispiel für das charakteristische Muster solcheiner Kurve ist in Abb. 18.16b zu sehen. Um ein einzelnes Gütemaß zu berechnen, un-abhängig von der Wahl des Schwellwertes, kann die Fläche unter einer ROC Kurve (areaunder ROC curve, AUC) oder unter der Recall-Precision Kurve (average precision) verwen-det werden.

18.7 Unüberwachte Verfahren und Gruppierung

Im Folgenden wollen wir einen kurzen Abstecher in den Bereich des unüberwachten Ler-nens machen. Wir werden uns dabei nur auf zwei Grundkonzepte fokussieren, welche imKap. 19 als Basisalgorithmen notwendig sind.

Im Gegensatz zu den bisher betrachteten überwachten Verfahren, sind beim unüber-wachten Lernen meist nur die Eingabedaten X = (xi)ni= gegeben. Die meisten Zielsetzun-gen beim unüberwachten Lernen reduzieren sich auf eine Gruppierung der Daten, d. h. wirversuchen die gegebenen Daten sinnvoll inM Teilmengen zu zerlegen. Wir werden uns imFolgenden auch genau auf diese Aufgabenstellung beschränken. Die Gruppierung kann alsVerallgemeinerung der Bildsegmentierung (Einteilung der Pixel in Regionen) auf beliebigemehrdimensionaleDatenpunkte angesehenwerden und oftwird auch dafür der Begriff derQuantisierung synonym verwendet.

Page 515: Bildverarbeitung und Objekterkennung ||

18.7 Unüberwachte Verfahren und Gruppierung 509

18.7.1 Gruppierungmit k-Means

Gegegeben sei eine Menge von Eingabevektoren X = (xi)ni= ⊂ U aus der Basismenge U ,welche im Normalfall der D-dimensionale reelle Raum ist. Ziel soll es nun sein, eine Funk-tion q ∶ U → {, . . . ,M} zu finden, welche jedem möglichen Eingabevektor einen von MGruppen zuweist. Wir werden im Folgenden, für den Begriff Cluster auch synonym fürGruppe verwenden.

Ein Standardverfahren der Gruppierung ist das k-Means-Verfahren.Ausgangspunkt ist,dass jedem der M Cluster ein Vektor μκ ∈ U als Repräsentant zugewiesen ist. In diesemSinne, spricht man auch von einem Prototypen. Wir gehen zunächst einmal davon aus,dass diese Prototypen bereits gegeben sind. Die Zuweisung eines Vektors zu einem Clusterkann dann relativ einfach erfolgen, indem wir den Cluster wählen bei dem der Abstandzum Prototypen am kleinsten ist:

q(x) = argmin≤κ≤M

∥x − μκ∥ . (18.168)

Zur Bestimmung der Prototypen gehen wir von einer bereits erfolgten Einteilung der ge-gebenen Eingabevektoren in Cluster Cκ aus. Eine sinnvolle Wahl eines Prototyps μκ wäredann der Mittelwertvektor eines jeden Clusters Cκ :

μκ =

∣Cκ ∣∑i∈Cκ

xi . (18.169)

Wie man sieht liegt ein typisches „Henne-Ei-Problem“ vor: Die Bestimmung der Clus-terzugehörigkeit ist bei gegebenen Prototypen einfach zu realisieren und die Bestimmungder Prototypen ist bei gegebenen Clusterzugehörigkeit nur eine Bestimmung von Mit-telwertvektoren. Ein klassisches Konzept bei dieser Art von Problemen ist die iterativeBestimmung der unbekannten Größen. Ausgehend von einer initialen Wahl von Proto-typen bestimmen wir die Clusterzugehörigkeit der gegebenen Vektoren, danach erfolgt dieNeubestimmung der Prototypen auf Grundlage der vorherigen Einteilung der Daten. Die-sen Prozess wiederholen wir solange bis sich die Prototypen nach der Neubestimmungnicht mehr signifikant ändern.

Insgesamt lässt sich dieses Verfahren als stückweise Optimierung der folgenden Fehler-funktion verstehen:

E(D,V) =n∑i=

∥Dvi − xi∥. (18.170)

Die Matrix D = [μ , . . . , μM] enthält dabei die Prototypen und die Vektoren vi ∈ {, }M

sind binäre Vektoren, welche die Zugehörigkeit zu den einzelnen Clustern festlegen. Die-se Vektoren sind in der Matrix V zusammengefasst und wir müssen als Nebenbedingungfordern, dass die Vektoren vi genau an einer Stelle eine besitzen umdie Clusterzugehörig-keit eindeutig festzulegen. Der Ausdruck Dvi entspricht demnach genau dem Prototypen

Page 516: Bildverarbeitung und Objekterkennung ||

510 18 Maschinelles Lernen

des aktuellen Clusters von xi . Die Fehlerfunktion E(D,V) misst daher den Quantisie-rungsfehler der aktuellen Gruppierung gegeben durch (D,V). Da die Optimierung vonE gleichzeitig nach D und V schwierig ist, erfolgt beim k-Means-Verfahren eine zyklischeOptimierung zunächst nach den Clusterzugehörigkeiten V und dann nach den Prototy-penD.

Hinweise zur Implementierung Die Wahl der initialen Prototypen ist beim k-Means-Verfahren entscheidend. Oft werden zufällig aus der gegebenen Datenmenge M Beispieleals Prototypen ausgewählt. Das k-Means-Verfahren liefert dann einen Quantisierungsfeh-ler der ermittelten Gruppierung und praktisch wählt man oft aus mehreren Durchläufenmit unterschiedlicher Initialisierung die Gruppierung mit dem kleinsten Quantisierungs-fehler. Bei der Implementierung muss auch darauf geachtet werden, dass bei der Bestim-mung der Clusterzugehörigkeit durchaus leere Cluster entstehen können, welche keineBeispiele aus der gegebenen Datenmenge erhalten. In diesem Fall erfolgt oft ein Neustartdes Verfahrens mit einer neuen zufälligen Initialisierung.

18.7.2 Schätzung vonMischverteilungen

Eine weitere Möglichkeit eine Gruppierung vorzunehmen, ist es eine Mischverteilung derDaten zu schätzen. EineMischverteilung ist nichts anderes als eine gewichteteKombinationvon M Basisverteilungen. Ziel ist es dadurch eine multimodale Verteilung modellieren zukönnen, bei denen die einzelnen lokalen Modi den Clustern entsprechen. Eine GaußscheMischverteilung ist gegeben, wenn wir als Basisverteilung eine multivariate Normalvertei-lung wählen mit verschiedenen Mittelwertvektoren μκ und Kovarianzmatrizen Sκ :

p(x ∣ (πκ , μκ , Sκ)Mκ ) =

M∑κ=

πκ ⋅ N(x ∣ μκ , Sκ). (18.171)

Damit diese Verteilung valide ist, müssen die Koeffizienten πκ die Bedingungen einerMul-tinomialverteilung erfüllen: ∀κ ≤ πκ ≤ und ∑

Mκ πκ = . In Abschn. 18.3 hatten wir die

Maximum-Likelihood-Schätzung zur Bestimmung von Parametern einesModells kennen-gelernt. Dieses Konzept können wir jetzt auch anwenden um ausgehend von einer Mengevon Vektoren X = (xi)ni= die Parameter (πκ , μκ , Sκ)

Mκ= der Mischverteilung zu schätzen:

argmin(πκ ,μκ ,Sκ )

Mκ=

n∑i=

log p(x ∣ (πκ , μκ , Sκ)Mκ ) (18.172)

Im Gegensatz zu den Schätzwerten bei einer einzelnen Normalverteilung (Abschn. 18.4.2)gibt es für GaußscheMischverteilungen mitM > nur iterative Formeln für die Schätzwer-

Page 517: Bildverarbeitung und Objekterkennung ||

18.7 Unüberwachte Verfahren und Gruppierung 511

te der Parameter. Es ergeben sich Schätzgleichungen, welche von den normierten Dichte-werten γi ,κ der κ-Komponente für das Beispiel xi abhängen:

γκ(xi) =πκ ⋅ N(xi ∣ μκ , Sκ)

∑Mκ′= πκ′ ⋅ N(xi ∣ μκ′ , Sκ′)

. (18.173)

Die Gewichte γκ(xi) lassen sich als Wahrscheinlichkeiten für die Zugehörigkeit eines Bei-spiels xi zur Komponente κ der Mischverteilung interpretieren. Mit der Definition derγκ(xi) lassen sich die Schätzwerte für die Parameter der Mischverteilung wie folgt berech-nen:

πκ =n

n∑i=

γκ(xi), (18.174)

μκ =

n ⋅ πκ

n∑i=

γκ(xi) ⋅ xi , (18.175)

Sκ =

n ⋅ πκ

n∑i=

γκ(xi) ⋅ (xi − μκ)(xi − μκ)T . (18.176)

In den Schätzgleichungen wird jedes Beispiel mit γκ(xi) gewichtet, d. h. ein Beispiel miteiner hohen Wahrscheinlichkeit der Zugehörigkeit zur Komponente κ erhält auch einenstarken Einfluss auf die gewichtete Schätzung des Mittelwertvektors. Bei näher Betrach-tung erkennen wir wieder ein Henne-Ei-Problem, die Bestimmung der Gewichte γκ(xi)in (18.173) erfordert bereits die Parameter der Mischverteilung und die Berechnung derSchätzwerte dieser Parameter in (18.174) bis (18.176) erfordert Gewichte γκ(xi). DiesesProblem ist uns schon vom k-Means-Algorithmus bekannt und wir können es daher ähn-lich angehen. Zunächst wählen wir initiale Werte für die Parameter der Mischverteilung.Dies lässt sich zum Beispiel realisieren, in dem wir die Kovarianzmatrizen Sκ auf Einheits-matrizen setzen, die Mischungskoeffizienten auf eine Gleichverteilung πκ =

M festlegenunddieMittelwertvektoren μκ zufällig aus den gegebenenEingabevektorenwählen.Ausge-hend von diesen Festlegungen lassen sich dann dieGewichte γκ(xi) in (18.173)bestimmen,ein algorithmischer Schritt welcher oft als Expectation bezeichnet wird. Danach erfolgt dieBestimmung der Schätzwerte durch (18.174) bis (18.176) (Maximization Schritt) und dieanschließende Iteration von Expectation undMaximization Schritt bis zur Konvergenz desVerfahrens.

Das obige Verfahren ist eine Instanz des Expectation-Maximization-Ansatzes (EM) undwir verweisen den interessierten Leser an dieser Stelle auf das Buch von Chris Bishop [3]für eine allgemeine Herleitung des Verfahrens. Abbildung 18.17 zeigt ein paar Beispiel-ergebnisse der Schätzung einer Gaußschen Mischverteilung in einem zweidimensionalenEingaberaum und mit unterschiedlich vielen Komponenten der Mischverteilung. An dendargestellten Höhenlinien der Verteilung lassen sich auch ganz gut die Mittelwertvektorender einzelnen Komponenten erkennen. Bei der Anwendung eines GMMs bei der Gruppie-rung können wir einfach jedem Beispiel x

die Komponente (Gruppe, Cluster) κ mit dem

Page 518: Bildverarbeitung und Objekterkennung ||

512 18 Maschinelles Lernen

a b

c d

Abb. 18.17 Schätzung einer Gaußschen Mischverteilung mit einer unterschiedlichen Anzahl anKomponenten (a M = , b M = , c M = , d M = ) und zweidimensionalen Eingabevektoren

höchsten Wert des Gewichtes γκ(x∗) zuordnen:

q(x∗

) = argmax≤κ≤M

log γκ(x∗) (18.177)

= argmax≤κ≤M

log(πκ ⋅ N(x∗

∣ μκ , Sκ))

= argmin≤κ≤M

(log (det (Sκ)) + (x∗

− μκ)TS−κ (x

− μκ) − log πκ)) .

Diese Form der Entscheidung mittels der Auswertung der Dichtefunktion einer Normal-verteilung haben wir schon in Abschn. 18.4.2 bei Normalverteilungsklassifikatoren ken-nengelernt. Der zweite Term in obiger Gleichung entspricht demMahalanobisabstandzwi-schen x

und μκ . Wenn wir annehmen, dass alle Kovarianzmatrizen der Einheitsmatrixentsprechen, d. h. S = . . . = SM = I, dann erhalten wir:

q(x∗

) = argmin≤κ≤M

(∥x∗

− μκ∥ − log πκ)) . (18.178)

Page 519: Bildverarbeitung und Objekterkennung ||

18.7 Unüberwachte Verfahren und Gruppierung 513

Dies entspricht bis auf den zusätzlichen Gewichten πκ , der Wahl des Clusters beim k-Means-Verfahren (siehe (18.168)). Auch das EM-Verfahren zur Parameterbestimmung vonGaußschen Mischverteilungen kann als Verallgemeinerung des k-Means-Verfahrens umfolgende Aspekte angesehen werden:

1. Modellierung der Größe, Lage und Ausdehnung eines Clusters in den einzelnen Di-mensionen mittels Kovarianzmatrizen,

2. Verwendung „weicher“ Clusterzugehörigkeiten γκ(xi) bei der Bestimmung der Para-meter anstatt von „harten“ Zuweisungen,

3. Modellierung unterschiedlicher A-Priori-Wahrscheinlichkeiten für die einzelnen Clus-ter durch die Mischungskoeffizienten πκ .

Das Verfahren eignet sich daher besonders gut bei unterschiedlich großenClustern und beiEingabevektoren mit unterschiedlichen Wertebereichen für jede Dimension. In der Praxiswerden oft zusätzliche Annahmen verwendet um die Parameterbestimmung zu vereinfa-chen, wie etwa die Verwendung von Kovarianzmatrizen mit Diagonalgestalt.

Page 520: Bildverarbeitung und Objekterkennung ||

19Momente, Matching undMerkmale

Im folgenden Kapitel werden wir uns mit der Berechnung von Merkmalen und Statisti-ken sowie demLösen von Zuordnungsproblemen (Matching) beschäftigen. Ein besondererSchwerpunkt liegt auf der Untersuchung von Invarianzeigenschaften von Momenten unddavon abgeleiteten Größen. Wir werden auch lokale Merkmale kennenlernen, welche be-sonders für die Anwendung in der Objekterkennung im nächsten Kapitel wichtig sind.

19.1 Momente

Momente sind inzwischen Standardmerkmale in der Bildverarbeitung geworden. Sie wer-den auch in der Physik und der Stochastik verwendet. In der Bildverabeitung sind dieHauptanwendungsgebiete:

• Nutzung zu Lage- und Orientierungsbeschreibung von „Freiformobjekten“.• Sie dienen als Merkmale zur Klassifikation von Objekten. Insbesondere lassen sich dar-

aus Invarianten ableiten.• Sie dienen zum momentenbasierten Fitting von Freiformobjekten durch elementare

geometrische Grundformen, wie z. B. Kreise, Ellipsen, Dreiecke, Parallelogramme, Su-perellipsen, Kreissegmente, Quadrate und Rechtecke.

Man unterscheidet Momente an Hand der geometrischen Einteilung der Objekte in:

• Flächenmomente von Objekten mit geschlossenen Konturen.• Linienmomente von Kurvensegmenten.• Punktmomente von endlichen, diskreten, ungeordneten Punktmengen.

515H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_19, © Springer Fachmedien Wiesbaden 2014

Page 521: Bildverarbeitung und Objekterkennung ||

516 19 Momente, Matching und Merkmale

Eine völlig andere Einteilung, die unabhängig von der Geometrie erfolgt, ist folgende:

• orthogonale oder nichtorthogonale Momente.• komplexe oder reelle Momente.• Momente von Binärobjekten oder Grauwertobjekten oder gar Grauwertbildern.

Betrachten wir schon einmal die Definition der Flächenmomente (19.2), so erkennen wir,dass die Summe p + q die Ordnung der Momente bestimmt. Man sieht sofort in der Über-sicht (19.1) wieviele Momente es für jede Ordnung gibt:

Momente . Ordnung m,

Momente . Ordnung m, m,

Momente . Ordnung m, m, m,

Momente . Ordnung m, m, m, m,

Momente . Ordnung m, m, m, m, m,

Momente . Ordnung m, m, m, m, m, m,

. (19.1)

In der Praxis benutzt man die Momente höchstens bis zur vierten Ordnung.

Flächenmomente Die Flächenmomente der Ordnung p + q für die Grauwertfunktionf (x , y) eines Bildes B oder eines Objektes Bmit einer geschlossenen Kontur sind definiertzu:

mp,q = ∬B

xp yq f (x , y)dxdy. (19.2)

Der Integrationsbereich B ist entweder das gesamte Bild oder eine Untermenge, welchesein Objekt sein kann. Ist B sogar ein Binärobjekt, dann setzen wir f (x , y) = ∀x , y ∈ B.Bestimmte Momente haben konkrete Bedeutungen:

• A = m, ist die Fläche von B, falls f (x , y) = ∀x , y ∈ B.• xc = m,

m,ist die x-Koordinate des Schwerpunktes von B.

• yc = m,m,

ist die y-Koordinate des Schwerpunktes von B.• m, ,m, sind die Trägheitsmomente bezüglich der Koordinatenachsen.• m, +m, ist das polare Trägheitsmoment bezüglich des Koordinatenursprungs.

Wennman die Grauwertfunktion normiert, d. h. f ′(x , y) = f (x ,y)m,

, dann sind dieMomente(19.2) mit den Momenten einer Verteilungsfunktion identisch, dann gilt:

• m, = .• Der Schwerpunkt ist der Erwartungswert.

Page 522: Bildverarbeitung und Objekterkennung ||

19.1 Momente 517

• σ X = m, und σ

Y = m, sind die Varianzen.• σX ,Y = m, ist die Kovarianz. Die Kovarianzmatrix ist die Matrix der Momente zweiter

Ordnung.• Normiert man diese Kovarianz bezüglich der beiden Varianzen, dann nennt man diese

Kovarianz normierter Korrelationskoeffizient.

Speziell für die Flächenmomente bedeutet m, die Fläche von Binärobjekten. Die Mo-mente erster Ordnung bestimmen den Schwerpunkt eines Bildes oder Objektes und dieMomente zweiter Ordnung beschreiben die sogenannte Trägheitsellipse oder Streuungsel-lipse:

m,x − m,x ⋅ y +m, y = . (19.3)

Es ist für die Trägheitsellipse unbedingt angeraten, den Koordinatenursprung in denSchwerpunkt zu legen, weil sonst die Orientierung der Trägheitsellipse von Translationenabhängig ist. Nun kann man die Orientierung dieser Ellipse, d. h. den Winkel zwischender Hauptachse der Ellipse und der x-Achse, als Orientierung des Objektes B verwenden.Dieser Winkel ergibt sich zu:

φ =arctan

m,

m, −m,. (19.4)

Wenn nun die Trägheitsellipse zum Trägheitskreis zumindestens näherungsweise entartet,dann kann man die Orientierung nicht mehr mit den Momenten zweiter Ordnung be-schreiben. Es werden in diesem Falle der Zähler und der Nenner in (19.4) gleichzeitig Nullbzw. näherungsweiseNull. Als weitere Möglichkeit bietet sich dann an dieMomente dritterbis vierter Ordnung zur Orientierung des Objektes heranzuziehen, siehe [71]. Oft herrschtder Irrglaube, dass diese Entartung nur bei symmetrischen Objekten auftreten kann. InAbschn. 19.3 wird gezeigt: jedes Objekt kann durch eine Scherung und eine anisotropeSkalierung derart transformiert werden, dass die Trägheitsellipse zum Trägheitskreis ent-artet.

Linienmomente Die Liniensegmente sind analog zu den Flächenmomenten definiert, siebeziehen sich aber auf ein Liniensegment L:

mp,q = ∫L

x p yq f (x , y)ds. (19.5)

ImGegensatz zum Flächenintegral (19.2) wird in (19.5) ein Kurvenintegral erster Ordnungbezüglich der Bogenlänge s verwendet.

Page 523: Bildverarbeitung und Objekterkennung ||

518 19 Momente, Matching und Merkmale

Punktmomente Die Punktmomente beziehen sich auf eine endliche, diskrete und unge-ordnete Punktmenge P:

mp,q = ∑(xi ,yi)∈P

xpi y

qi f (xi , yi). (19.6)

Komplexe, axiale und orthogonale Momente Die Einteilung der Momente in Flächen-,Linien- und Punktmomente erfolgte auf Grundlage der Geometrie der Objekte als Be-zugssystem. Man kann auch eine völlig andere Einteilung vornehmen: man bezieht sichauf gedrehte Achsen oder man verwendet komplexe Grauwertfunktionen. Diese Momentemüsste man dann wieder unterteilen nach der Art der verwendeten geometrischen Ob-jekte. Wir wollen zunächst als Flächenmomente die sogenannten komplexen Momente derOrdnung p + q einführen:

Cp,q = ∬B

(x + i y)p(x − i y)q f (x , y)dxdy. (19.7)

Man sieht in (19.7), dass man die komplexen Momente durch „auspotenzieren“ auf diegewöhnlichen Flächenmomente zurückführen kann. Warum benutzt man dann eigentlichkomplexe Momente? Weil man dann in sehr übersichtlicher und kompakter Schreibweiseformulieren kann, wie sich diese komplexen Momente bei einer Rotation transformieren,siehe Abschn. 19.2.

Als eine weitere Möglichkeit betrachten wir die axialen Momente. Die Momente mp,

integrieren die p-te Potenz des Abstandes eines beliebigen Punktes zur y-Achse. Nun kannman analog die p-ten Potenzen des Abstandes eine beliebigen Punktes zu einer beliebigenGeraden durch den Koordinatenursprung integrieren. Die Gerade x cos φ − y sin φ = ist die Hessesche Normalform einer Geraden durch den Koordinatenursprung. Setzt maneinen Punkt (x , y) ein, so erhält man immer den vorzeichenbehafteteten Abstand desPunktes zu dieser Geraden. Deshalb betrachten wir die Abstandsmomente von dieserGeraden:

Ap(φ) = ∬B

(x cos φ − y sinφ)pdxdy

=p

∑k=

(−)p−k(pk) cosk φ ⋅ sinp−k φ ⋅mk ,p−k . (19.8)

Substituieren wir in dieser Beziehung cos φ und sin φ mit Hilfe der Eulerschen Beziehung(4.2), so erhalten wir nach Umordnung der Summen

Ap(φ) = −pp

∑k=

e iφ(k−p)(pk)

k∑l=

p−k

∑j=

(−)p−k− j(kl)(

p − kj

)i p− j−l ml+ j,p−l− j . (19.9)

Page 524: Bildverarbeitung und Objekterkennung ||

19.1 Momente 519

Damit können wir die axialen Momente p-ter Ordnung durch die bandbegrenze Fourier-reihe

Ap(φ) =p

∑k=

β[p]k e iφ(k−p) (19.10)

mit den Fourierkoeffizienten

β[p]k =k∑l=

p−k

∑j=

−p(−)p−k− j(kl)(

p − kj

)i p− j−l ml+ j,p−l− j (19.11)

ausdrücken. Damit haben wir erstmals einen Zusammenhag zwischenMomenten und derFouriertransformation hergestellt.

Eine völlig andere Einteilung basiert auf der Verwendung der Polynome, die bei derMomentdefinition benutzt werden. Die „gewöhnlichen“ Polynome Pp,q = xp yq sind nichtorthogonal, daher gibt es auch Momente, die auf orthogonalen Polynomen beruhen. Diessind hauptsächlich die Legendre Momente und die Zernike Momente, siehe [48].

Momente und Fouriertransformation Die Momente sind eine bestimmte Repräsentati-onsform von Information. Das Spektrum ist eine andere Repräsentationsformder gleichenInformation. Um dies zu zeigen, benutzen wir die Fourier-Integraltransformation (3.59)für zwei unabhängige Variable und entwickeln den e-Term in eine Potenzreihe:

α(ν , ν) = ∬B

f (x , y)e−πi(νx+ν y)dxdy

= ∬B

f (x , y)∞

∑j=

(−πiνx) j

j!

∑k=

(−πiνy)k

k!dxdy. (19.12)

Wir nehmen einmal an, wir dürfen Integration und Summation vertauschen, dann ist:

α(ν , ν) =∞

∑j=

∑k=

((−πi) j+k

j!k!mj,k) ⋅ ν j νk . (19.13)

Folglich haben wir das Spektrum α(ν, ν) in eine Potenzreihe entwickelt, wobei die Koef-fizienten bis auf einen Faktor genau die Momente der Funktion f (x , y) sind. Damit habenwir das Spektrum vollständig durch die Momente beschrieben. Da das Spektrum abervollständig das Original f (x , y) beschreibt, haben wir gezeigt, dass dies nur andere Dar-stellungen der gleichen Information sind. Da das Integralspektrum im Wesentlichen diecharakteristische Funktion einer Zufallsvariablen darstellt, kann man diesen Sachverhaltauch in der Stochastik finden.

Page 525: Bildverarbeitung und Objekterkennung ||

520 19 Momente, Matching und Merkmale

19.2 Transformation der Momente

Wenn wir ein Bild/Objekt B transformieren, dann ändern sich natürlich auch die Momen-te. Diese könnte man einfach vom transformierten Bild B′ berechnen. Wenn man aber dieTransformation kennt, dann brauchtman nur ausrechnen, wie sich dieMomentemit dieserTransformation ändern und braucht sie nicht von B′ zu berechnen. Die einfachste Trans-formation ist die Translation, sieheAbschn. 1.4. Nun kommt es darauf an, welcheMomentewir transformieren wollen. Nehmen wir die Flächenmomente, so müssen wir wissen, wiesich Flächenintegrale bei Koordinatentransformtionen transformieren. Wir substituiereneinfach und müssen noch die Differentiale umrechnen. Bei Flächenintegralen ändern sichdiese mit dem Betrag der Funktionaldeterminante. Diese Determinante ist bei Translatio-nen Eins. Folglich gilt:

m′p,q = ∬B′

x′p y′q f ′(x′ , y′)dx′dy′ = ∬B

(x + a)p(y + a)q f (x , y)dxdy. (19.14)

Für konkrete Momente ergibt sich daher

m′ = m,m′ = m + am,m′ = m + am. (19.15)

Nun kannman beliebige Transformationen nehmen, z. B. affine Transformationen und dieMomente umrechnen. Bei affinen Transformationen ist die Funktionaldeterminante gleichdet(A) = aa − aa, deshalb transformiert sich m, bei Flächenmomenten nach

m′, = det(A)m, . (19.16)

Linienmomente sind schwieriger umzurechnen als die Flächenmomente, da man die Bo-gendifferentiale umrechnen muss. Dazu müssen wir die fundamentale Beziehung bezüg-lich der Bogenlänge

ds = dx + dy (19.17)

benutzen. Für die Translation (1.21) ergibt sich dann:

m′p,q = ∫L′

x′p y′q f ′(x′ , y′)ds′ = ∫L

(x + a)p(y + a)q f (x , y)√dx + dy

= ∫L

(x + a)p(y + a)q f (x , y)ds. (19.18)

Für Rotationen (1.23) kann man leicht ds′ = ds zeigen, sodass bis einschließlich Eukli-dischen Transformationen Flächenmomente und Linienmomente sich in gleicher Weisetransformieren. Aber schon bei Ähnlichkeitstransformationen (1.29) treten Unterschie-de auf und zwar bezüglich des Skalierungsfaktors s. Während die Funktionaldeterminante

Page 526: Bildverarbeitung und Objekterkennung ||

19.2 Transformation der Momente 521

gleich s ist, transformieren sich die Bogendifferentiale zu ds′ = s ⋅ ds. Folglich transfor-mieren sich die Flächenmomente anders als die Linienmomente im Falle von Ähnlichkeit-stransformationen. Benutzen wir sogar affine Transformationen (1.30), dann können wiranalytisch die Bogendifferentiale nicht mehr umrechnen, es gibt dafür keine geschlosseneFormel mehr.

Am einfachsten ist der Sachverhalt bei den Punktmomenten. Da hier überhaupt keinDifferential auftritt, brauchen wir auch kein Differential umrechnen, wir setzen nur dieKoordinaten ein und drücken die transformierten Momente durch die originalen Mo-mente aus. Die Punktmomente transformieren sich daher wie die Flächenmomente ohneFunktionaldeterminante. Nehmen wir z. B. Ähnlichkeitstransformationen, so sind folgen-de Faktoren zu berücksichtigen:

• Bei der Transformation von Flächenmomenten: Faktor s.• Bei der Transformation von Linienmomenten: Faktor s.• Bei der Transformation von Punktmomenten: kein Faktor, bzw. s.

Nun betrachten wir noch eine wichtige Transformationsgruppe, die „reinen“ Rotationen,siehe (1.24). Jetzt könnten wir aufschreiben, wie sich die Momente mit reinen Rotationentransformieren. Dies geht aber eleganter, wenn wir die komplexen Flächenmomente (19.7)und die komplexe Form der Rotation (1.25) benutzen. Die Funktionaldeterminante derRotation ist gleich Eins, so dass sich die komplexen Flächenmomente (19.7) durch

C′q,p = Cp,q ⋅ e i(p−q)φ (19.19)

transformieren. Nun schreiben wir die Transformation (19.19) einmal konkret bis zu denMomenten fünfter Ordnung auf und führen sie gleichzeitig auf die „gewöhnlichen“ Flä-chenmomente zurück:

C′, = m, , (19.20)

C′, = (m, + im,) ⋅ e iφ ,

C′, = (m, − im,) ⋅ e−iφ ,(19.21)

C′, = (m, + im, −m,) ⋅ eiφ ,

C′, = (m, +m,),C′, = (m, − im, −m,) ⋅ e−iφ ,

(19.22)

C′, = (m, + im, − m, − im,) ⋅ eiφ ,C′, = (m, + im, +m, + im,) ⋅ e iφ ,C′, = (m, − im, +m, − im,) ⋅ e−iφ ,C′, = (m, − im, − m, + im,) ⋅ e−iφ ,

(19.23)

Page 527: Bildverarbeitung und Objekterkennung ||

522 19 Momente, Matching und Merkmale

C′, = (m, + im, − m, − im, +m,) ⋅ eiφ ,C′, = (m, + im, + im, −m,) ⋅ eiφ ,C′, = (m, + m, +m,),C′, = (m, − im, − im, −m,) ⋅ e−iφ ,

C′, = (m, − im, − m, + im, +m,) ⋅ e−iφ ,

(19.24)

C′, = (m, + im, − m, − im, + m, + im,) ⋅ eiφ ,C′, = (m, + im, − m, + im, − m, − im,) ⋅ eiφ ,C′, = (m, + im, + m, + im, +m, + im,) ⋅ e iφ ,C′, = (m, − im, + m, − im, +m, − im,) ⋅ e−iφ ,

C′, = (m, − im, − m, − im, − m, + im,) ⋅ e−iφ ,C′, = (m, − im, − m, + im, + m, − im,) ⋅ e−iφ .

(19.25)

Für „reine“ Rotationen gelten diese Transformationsformeln auch für die komplexenLinien- und Punktmomente.

19.3 Normalisierung derMomente

Beispiel Schwerpunkt Wenn man Merkmale bezüglich einer Transformation normiert,dann sind die transformierten Merkmale Invarianten bezüglich der Transformation. Eineinfaches Beispiel soll das Grundprinzip demonstrieren. Wir wählen die Flächenmomente(19.2) und die Translation (1.21). Die Momente erster Ordnung transformieren sich dannzu:

m′, = m, + am, , m′, = m, + am, . (19.26)

Nun legen wir als Normierung m′, = m′, = fest. Dadurch erhalten wir ein Gleichungs-system mit zwei Gleichungen und zwei Unbekannten

= m, + am, , = m, + am, . (19.27)

Aufgelöst ergibt sich:

a =m,

m,, a =

m,

m,. (19.28)

Wenn wir mit (19.28) translatieren, verschieben wir den Koordinatenursprung in denSchwerpunkt. Beziehen wir im Folgenden alle Momente auf diesen Koordinatenursprung,dann sind alle Momente translationsinvariant. Die bezüglich des Schwerpunktes berech-neten Momente heißen zentrale Momente und werden oft mit μp,q bezeichnet.

Page 528: Bildverarbeitung und Objekterkennung ||

19.3 Normalisierung der Momente 523

Beispiel Trägheitsellipse Ein weiteres einfaches Normierungsbeispiel bieten dieMomen-te zweiter Ordnung. Wir transformieren ein Bild/Objekt B derart, dass die Trägheitsellipse(19.3) zumTrägheitskreis entartet. In der analytischen Geometrie ist das folgende Normie-rungsprinzip als Hauptachsentransformation von Kurven zweiter Ordnung wohlbekannt.Wir müssen zuerst durch eine Transformation die Normierung

m′, = (19.29)

erreichen. Dazu eignet sich eine Rotation, aber auch eine x-Scherung, siehe (1.26). Dahermüssen wir nun wissen, wie sich die Momente bei x-Scherungen transformieren, insbe-sondere das gemischte Moment zweiter Ordnung m,:

m′, = m, + sxm, = → sx = −m,

m,. (19.30)

Dies gilt nur für Flächen- und Punktmomente, nicht für Linienmomente.Mit diesem Sche-rungsparameter sx transformieren wir nun alle Flächen- und/oder Punktmomente (in derPraxis aber nur bis zur vierten oder maximal fünften Ordnung) und erhalten die Momentem′p,q mit der Normierung m′, = . Jetzt ist die Trägheitsellipse in achsenparalleler Lage.Nunmüssenwir eine anisotrope Skalierung (1.28) so durchführen, dass beideHauptachsender Ellipse gleich werden. Dies erreichen wir, wenn

m′′, = , m′′, = (19.31)

gilt. Durch die anisotrope Skalierung (1.28) transformieren sich die Momente folgender-maßen, wobei wir gleich die Normierung (19.31) nutzen:

• Flächenmomente

m′′, = cd ⋅m′, = m′′, = cd ⋅m′, = .

(19.32)

Dieses Gleichungssystem lösen wir und erhalten:

c =

����m′,

m′,, d =

����m′,

m′,. (19.33)

• Punktmomente

m′′, = c ⋅m′, = m′′, = d ⋅m′, = .

(19.34)

Dieses Gleichungssystem lösen wir und erhalten

c =

√m′,

, d =

√m′,

. (19.35)

Page 529: Bildverarbeitung und Objekterkennung ||

524 19 Momente, Matching und Merkmale

Die Transformation von Linienmomenten führen wir nicht auf, weil sie uns analytischnicht gelingt. Mit diesen Parametern c und d transformieren wir nun alle Momente m′i , jund erhalten die Momentem′′i , j . Wenn wir für die Momente mi , j bereits die zentralen Mo-mente nutzen, dann sind alle transformierten Momentem′′i , j invariant gegenüber Transla-tionen, x-Scherungen und anisotropen Skalierungen. Wenn wir mit allen normierten Teil-Transformationen nicht nur die Momente transformieren, sondern auch das Bild/ObjektB, so befindet sich anschließend B in einer Standardlage B′′, auch canonical frame genannt.Die Trägheitsellipse in dieser Standardlage ist ein Trägheitskreis mit dem Radius eins.

Fitting mit der Trägheitsellipse Es sei ein „flächiges“ Binärobjekt B mit einer geschlos-senen Kontur gegeben. Es liegt die Idee nahe, die Trägheitsellipse (19.3) zum Fitten einerEllipse an B zu nutzen. Direkt und sofort geht das nicht, wir müssen zwei Bedingungeneinhalten:

• Die eingehenden Momente in (19.3) sollten die zentralen Momente sein.• Die Orientierung der Ellipse ist bei Verwendung der zentralen Momente korrekt, die

Größe aber nicht. Dahermüssen wir die Momente zweiter Ordnung auf die Flächem,

normieren. Das heißt, anstelle m, ,m, ,m, gehen die Momente m′i , j = mi , j/m, in(19.3) ein.

Dieses Trägheitsellipsen-Fitting ist sehr robust gegenüber Störungen, kann aber nur aufgeschlossene Konturen angewendet werden.

19.4 Kovariante Merkmale, Verfahren und Umgebungen

Wenn man Bilder/Objekte B geometrisch mit T transformiert, erhält man Bilder/ObjekteB′. Nunwäre es ideal, wenn sich bestimmteMerkmaleM vonPunkten, Linien, Kanten odersonstigen Objekten in B bei der geometrischen Transformation B′ = TB ebenso verhalten,dass folglichM′ = TM gilt. Falls dies der Fall ist sagtman, dass sich dieMerkmale bezüglichT kovariant transformieren. Dazu ein einfaches

Beispiel 1 Ein ideales und typisch affin kovariantes Merkmal ist der Schwerpunkt xc einesBildes oder Objektes B. Wir betrachten dazu eine affine Transformation x′ = Ax + a, dieB in B′ überführt. Infolge der affinen Kovarianz des Schwerpunktes können wir folgendestun: wir bestimmen in B den Schwerpunkt xc und völlig unabhängig davon in B′ auch denSchwerpunkt x′c . Dann muss

x′c = Axc + a (19.36)

gelten. Für praktische Anwendungen ist es wichtig zu wissen, dass der Schwerpunkt nuraffin kovariant ist, leider nicht mehr projektiv kovariant. Ein Beispiel dazu sind Kalibrier-muster mit Kreisen. Nimmt man diese mit einer Lochkamera auf, gehen die Kreise im Bild

Page 530: Bildverarbeitung und Objekterkennung ||

19.4 Kovariante Merkmale, Verfahren und Umgebungen 525

in Ellipsen über. Die Kreismittelpunkte gehen aber nicht mehr in die Ellipsenmittelpunk-te über. Eigentlich sind nur Merkmale kovariant bezüglich einer Transformation. Da aberMerkmale mit irgendwelchen Methoden bestimmt werden müssen und es oft sehr vieleMethoden zur Bestimmungder gleichenMerkmale gibt, entsteht folgendes Problem:Wenndas Merkmal eindeutig ist, dann gibt es keinerlei Probleme, weil das Merkmal unabhängigvon den Methoden ist. Wenn es nicht eindeutig ist, dann können verschiedene Methodenverschiedene Lösungen für dasMerkmal berechnen. Ist dasMerkmal aber für eine gewählteMethode eindeutig, dann kann man wieder untersuchen, ob diese auf die Methode bezo-gene eindeutige Lösung kovariant ist oder nicht. Im Falle der Kovarianz der berechnetenLösung für dasMerkmal sprichtman von einer kovariantenMethode. In diesemFalle beitztdie Methode die Eigenschaft der Kovarianz. Der Schwerpunkt ist ein schönes Beispiel da-für, dass er immer affin kovariant ist. Da er eindeutig ist, ist es auch uninteressant, welcheMethode zu seiner Berechnung verwendet wurde. Für nicht eindeutigeMerkmale folgt nunein

Beispiel 2 Gegeben sei ein Binärobjekt oder eine endliche Punktmenge als Objekt. DiesesObjekt soll durch eine Ellipse beschrieben werden. DasMerkmal für das Objekt ist folglicheine Ellipse. Nun gibt es aber viele Möglichkeiten, Objekte durch Ellipsen zu beschreiben,dies hängt von der gewählten Fittingmethode ab. Dazu seien z. B. im Ausgangsbild n Punk-te gegeben und an diese Punktewollenwirmit einerMethode eineEllipse E fitten.Als ersterSchritt wird das Ausgangsbild mit einer affinen Transformation T transformiert und wirerhalten ein zweites Bild B′. Nun suchen wir im zweiten Bild die affinen Abbilder genaudieser n Punkte. Wir nehmen an, wir hätten sie exakt gefunden. Nun fitten wir mit dergleichen Methode an diese Punkte im Bild B′ auch eine Ellipse E′. Wenn nun E′ = TEgilt, dann nennen wir die Fitting-Methode affin kovariant. Es gibt einige Fittingmethodenfür Ellipsen, die nicht einmal kovariant bezüglich Translationen sind. Die Fitting-Methode,die die „Trägheitsellipse“ nutzt, ist affin kovariant. Die Kovarianz der Fittingmethoden vonEllipsen wird ausführlich im Abschn. 21.2.3 untersucht.

Kovariante Umgebungen eines Punktes Wenn wir einem Punkt in einem Grauwertbildsignalbasierte Merkmale zuordnen, dann berechnen wir diese bezüglich einer gewähltenUmgebung U . Wenn wir die Merkmale dieses Punktes z. B. für die Berechnung von Re-ferenzpunkten nutzen, dann sollte diese Umgebung kovariant bezüglich der gewähltenTransformation T sein, d. h. U ′ = TU . Dabei können wir drei grundsätzlich verschiedeneUmgebungen U unterscheiden:

• Globale Umgebungen Ug , d. h. als Umgebung wählen wir das gesamte Bild oder ObjektB. Wir legen somit den Koordinatenursprung in den gewählten Punkt und berechnenvomgesamten Bild/Objekt dieMerkmale. Dies ist sicher der stabilste und klarste Fall. Ergeht aber dann nicht, falls Verdeckungen oderÜberschneidungen des Bildes B auftreten.Das gesamte Bild/Objekt muss wieder sichtbar sein.

Page 531: Bildverarbeitung und Objekterkennung ||

526 19 Momente, Matching und Merkmale

• Differentielle Umgebungen Ud , d. h. die Umgebung ist unendlich klein. Dies ist das ex-treme Gegenbeispiel zu den globalen Umgebungen. Wir berechnenMerkmale aus einerdifferentiell kleinen Umgebung, z. B. ordnen wir einem Punkt einer Kurve seine Krüm-mung zu. Dies scheint theoretisch immermöglich zu sein, dieMerkmale sind aber nichtstabil berechenbar.

• Lokale Umgebungen endlicher Größe Ul , d. h. sie sind nicht global oder differenti-ell. Manchmal können aber auch globale Umgebungen lokal sein. Haben wir mehrereObjekte im Bild und betrachten einen Punkt eines Objektes, dann ist die globale Um-gebung bezüglich dieses Objektes lokal bezüglich des gesamten Bildes. Die Kovarianzder lokalen Umgebungen bereitet erhebliche Probleme. So ist es z. B. einfach bezüglichEuklidischer Transformationen eine kovariante Umgebung zu wählen. Dies ist einfacheinKreismit einem fest vorgegebenen Radius. Schon bei Ähnlichkeitstransformationenoder gar affinen Transformationen geht dies nicht mehr. Die Umgebungsbestimmungmuss sich dann irgendwie am Bildinhalt orientieren, was nicht immer möglich seinwird.

Im Folgenden soll kurz eine Methode angegeben werden, wie man lokale Objekte affin ko-variant bestimmen kann. Die Methode heißt MSER (Maximally Stable Extremal Region,siehe [45]). Eigentlich wollten für für einen vorgegebenen Punkt die affin kovariante Um-gebung angeben. Nun gehen wir dual dazu vor:Wir bestimmen zuerst eine affin kovarianteUmgebung, d. h. ein am Bildinhalt orientiertes Objekt und erst dann berechnen wir einenPunkt, z. B. den Schwerpunkt des Objektes. Dann ist dem Schwerpunkt als lokale Umge-bung das Objekt zugeordnet. Wenn wir Objekte mit einem Konturfolgeverfahren bestim-men, nutzen wir eine globale Schwelle oder lokal adaptiv verschiedene Schwellen. Selbstbei einfachen Beleuchtungsänderungen des Bildes sind diese Methoden nicht mehr affinkovariant gegenüber diesen Beleuchtungsänderungen. Die MSER-Methode garantiert diesaber.

MSER-Methode

• Die Menge aller Pixel eines Bildes B bezeichen wir mit P und die Grauwertfunktion mitf (x). Die Menge S(x) von Pixeln bezeichnen wir als „level set“ und ist

S(x) = {y ∈ P ∶ f (y) ≤ f (x)} . (19.37)

• Bezüglich der Vierer- oder Achternachbarschaft zerfällt die Menge S(x) in verbundeneKomponenten bzw. in maximal verbundene Komponenten. Oft heißen maximal ver-bundene Komponenten einfach nur Komponenten.

• Eine Extremalregion R ist eine maximal verbundene Komponente von S(x).• Mit R( f ) bezeichnen wir die Menge aller Extremalregionen undmit f (R) den größten

Grauwert der Extremalregion R

f (R) = supx∈R

f (x).

Page 532: Bildverarbeitung und Objekterkennung ||

19.5 Invarianten und Momente 527

• Es sei Δ > ein Parameter des Verfahrens, dann bezeichne

R+Δ = argmin {∣Q∣ ∶ Q ∈ R( f ),Q ⊃ R, f (Q) ≥ f (R) + Δ} ,

R−Δ = argmax {∣Q∣ ∶ Q ∈ R( f ),Q ⊂ R, f (Q) ≤ f (R) − Δ} .

• Nun betrachten wir die relative Flächenänderung

ρ(R; Δ) =∣R+Δ∣ − ∣R

−Δ∣

∣R∣.

• Die Extremalregion R ist maximal stabil (maximally stable), wenn die relative Flächen-änderung ρ(R; Δ)minimal ist. DasMinimum ist folgendermaßen zu verstehen. Esmussρ(R; Δ) kleiner sein als ρ(Q; Δ) für jede Extremalregion Q, die unmittelbar in R ent-halten ist. „Unmittelbar enthalten“ heißt: Für Q ≠ R,Q′ ≠ R und Q ⊂ Q′ ⊂ R mussQ = Q′ folgen. Wir suchen folglich alle lokalen Minima in einer Folge sich unmittelbarenthaltender Extremalregionen.

Auf die Implementierung gehen wir hier nicht ein.

19.5 Invarianten undMomente

19.5.1 Erweiterte Hu-Invarianten (Rotationen)

Zunächst wollen wir Invarianten bezüglich „reiner“ Rotationen herleiten. In der Literaturwird sich dabei stets auf die sieben Hu-Invarianten bezogen, siehe [32]. Bei „reinen“ Rota-tionen ist es egal ob wir Flächen-, Linien- oder Punktmomente verwenden, da sie sich allegleichartig transformieren. Dazu betrachten wir (19.20) bis (19.25). Bei drei Ausdrückentritt der Rotationswinkel nicht auf, somit sind diese Ausdrücke von vornherein Rotations-invarianten. Ansonsten müssen wir „geschickt“ den Rotationswinkel eliminieren. Diese„geschickten“ Ausdrücke schreiben wir bis zur vierten Ordnung auf. Die Ausdrücke abfünfterOrdnung kann sich der Leser selbst herleiten, diese werden aber recht umfangreich.Wir wählen die Bezeichnungen Hi derart, dass die Invarianten H bis H mit den bekann-ten sieben Hu-Invarianten aus der Literatur übereinstimmen, siehe ([32]). Die InvariantenH−, H, H, H, H, H und H nennen wir jetzt erweiterte Hu-Invarianten:

H− = C′, = m, , (19.38)

H = C′, ⋅ C′

, = m, +m

, , (19.39)H = C′, = m, +m, , (19.40)H = C′, ⋅ C

, = (m, −m,) + m

, , (19.41)H = C′, ⋅ C

, = (m, − m,) + (m, −m,)

, (19.42)

H = C′, ⋅ C′

, = (m, +m,) + (m, +m,)

, (19.43)

Page 533: Bildverarbeitung und Objekterkennung ||

528 19 Momente, Matching und Merkmale

H =[C′, ⋅ (C

,) + C′, ⋅ (C

,)]

= (m, − m,) [(m, +m,) − (m, +m,)

(m, +m,)]

+ (m, − m,) [(m, +m,) − (m, +m,)

(m, +m,)] , (19.44)

H =[C′, ⋅ (C

,) + C′, ⋅ (C

,)]

= (m, −m,) [(m, +m,) − (m, +m,)

]

+ m, [(m, +m,)(m, +m,)] , (19.45)

H =i[C′, ⋅ (C

,) − C′, ⋅ (C

,)]

= (m, − m,) [(m, +m,) − (m, +m,)

(m, +m,)]

− (m, − m,) [(m, +m,) − (m, +m,)

(m, +m,)] , (19.46)H = C′, ⋅ C

, = (m, −m,) + (m, +m,)

, (19.47)H = C′, ⋅ C

,

= (m, +m,) + (m, −m,)

− m,(m, − m, +m,), (19.48)

H =[C′, ⋅ (C

,) + C′, ⋅ (C′

,)]

= (m, −m,)(m, −m,) + m,(m, +m,), (19.49)H = C′, = m, + m, +m, , (19.50)

H =[C′, ⋅ (C

,) + C′, ⋅ (C

,)]

= (m, − m, +m,) [(m, −m,) − m

,]

− [m,(m, −m,)(m, −m,)] . (19.51)

Es sei nochmals ausdrücklich betont, dass die Ausdrücke H−, H, H , . . . ,H, . . . ,H

nur Invarianten bezüglich „reiner“ Rotationen sind. Da sich Flächen-, Linien- und Punkt-momente bei „reinen“ Rotationen gleichermaßen transformieren, sind diese Ausdrückeimmer Invarianten, egal ob Flächen-, Linien- oder Punktmomente in die Invarianten ein-gehen. Die Invariante H bezüglich der Momente erster Ordnung findet man kaum in derLiteratur. Die Begründung liegt darin, dass eigentlich immer Translationen auftreten unddiese mit dem Schwerpunkt eliminiert werden. Daher ist diese Invariante, wenn wir diezentralen Momente benutzen, immer Null und daher unbrauchbar. Dies ist aber nicht im-mer so, es gibt tatsächlich Anwendungen, wo wir die Translation nicht benötigen. Dannwird H eine sehr wichtige Invariante, da sie aus den Momenten erster Ordnung bestehtund daher numerisch sehr stabil ist, siehe Abschn. 19.8.4.

19.5.2 Invarianten für Euklidische Transformationen

„Reine“ Rotationen treten in der praktischen Bildverarbeitung kaum auf. Betrachten wirEuklidische Transformationen (1.22), dann kommen zu den Rotationen noch die Trans-

Page 534: Bildverarbeitung und Objekterkennung ||

19.5 Invarianten und Momente 529

lationen hinzu. Jetzt kommt der Abschn. 19.3 ins Spiel. Wir normalisieren zunächst dieMomente bezüglich Translationen, indem wir uns auf den Schwerpunkt beziehen. Folg-lich benutzen wir für die Rotationsinvarianten H

− ,H,H , . . . ,H, . . . ,H nur zentraleMomente und schon sind alle Ausdrücke invariant gegenüber Euklidischen Transforma-tionen. Sobald in die Invarianten die zentralen Momente eingehen, ist die Invariante H

nicht mehr benutzbar, da sie stets Null ist.

19.5.3 Invarianten für Ähnlichkeitstransformationen

Zu den Euklidischen Transformationen kommen nun noch isotrope Skalierungen x′ =

s ⋅x , y′ = s ⋅ y hinzu, siehe auch (1.29). Folglich müssenwir die zentralen Momente noch ge-genüber isotropen Skalierungen normalisieren. Welches Moment soll man normalisieren?Wir nehmen die Forderung m′, = und bestimmen daraus den Faktor s:

• m′, = = s ⋅m, → s = √m,

(Flächenmomente)• m′, = = s ⋅m, → s =

m,(Linienmomente)

• m′, = = m, → s = Widerspruch! (Punktmomente) →• m′, = = s ⋅m, → s =

√m,(Punktnmomente).

Nun transformieren wir alle Momente (bis vierter oder fünfter Ordnung) mit dem berech-neten s:

• m′p,q = sp+q+mp,q (Flächenmomente)• m′p,q = sp+q+mp,q (Linienmomente)• m′p,q = sp+qmp,q (Punktmomente)

Mit diesen normalisierten Momenten berechnen wir nun die Rotationsinvarianten. Manmuss beachten, dass Größen aus H

− ,H,H , . . . ,H, . . . ,H, die nur aus normalisiertenMomenten bestehen, als Invarianten nicht mehr tauglich sind, da sie konstant über allenObjekten sind.

19.5.4 Invarianten für affine Transformationen

Nun ist es recht leicht affine Invarianten herzuleiten. Dazu nutzen wir die Eigenschaft, dasssich der lineare Anteil (Matrix A, siehe (1.31)) zerlegen lässt in die Hintereinanderausfüh-rung einer:

• x-Scherung, siehe (1.26),• anisotropen Skalierung, siehe (1.28),• „reinen“ Rotation, siehe (1.24).

Page 535: Bildverarbeitung und Objekterkennung ||

530 19 Momente, Matching und Merkmale

Daher müssen wir die zentralen Momente bezüglich einer x-Scherung und einer anisotro-pen Skalierung normalisieren und zwar so, dass bei einer folgenden Rotation diese Norma-lisierung sich nicht ändern darf. Dies gelingt indem wir wie im Abschn. 19.3 die Trägheits-ellipse so transformieren, dass sie zum Trägheitskreis mit dem Radius eins wird. Wird nunanschließend das Bild/Objekt B rotiert, so ändert sich am Trägheitskreis nichts, der bleibtauch nach der Rotation noch ein Kreis mit dem Radius eins. Die auf den Trägheitskreisnormierten zentralenMomente benutzen wir für die Berechnung der RotationsinvariantenH− ,H,H , . . . ,H, . . . ,H, die nun tatsächlich affin invariant sind. Allerdings können

wir auf Grund der Normierungen die Invarianten H− ,H,H ,H nicht verwenden, da sie

für alle Objekte konstant sind. Folglich haben wir neun „echte“, affin invariante Größen,wennwir dieMomente bis vierten Ordnung benutzen.Wie imAbschn. 19.3 ausgeführt, ge-lingt uns für Linienmomente nicht dieNormierung bezüglich einer anisotropen Skalierungauf den Trägheitskreis, dies gelang uns nur für Flächen- und Punktmomente. Daher erhal-ten wir affine Invarianten nur für „flächige“ Objekte und diskrete Punktmengen, nicht fürLiniensegmente. Für Liniensegmente haben wir nur Invarianten bezüglich Ähnlichkeits-transformationen hergeleitet.

19.6 Gestaltsanalysemit momentenbasiertem Fitting

Gegeben sei die geschlossene Kontur eines planaren Objektes als das Resultat einer Bild-segmentierung. Es sind nun die beiden Aufgaben zu lösen:

a) Es sind vomObjekt grundlegendeGestaltsmerkmale zu bestimmen,wie z. B. Elliptizität,Rundheit, Dreieckigkeit, Rechteckigkeit, Konvexität, Kompaktheit⋯ usw. Dabei sollennur wesentliche Grundformen des Objektes ermittelt werden. In der Bildverarbeitunghat sich dafür der Begriff ShapeAnalysis etabliert, siehe [16].Die BegriffeRechteckigkeit,Dreieckigkeit usw. wurden von Rosin eingeführt, siehe z. B. [61].

b) Es ist eine robuste, flächenbasierende (d. h. nicht auf der Kontur basierende) Fittingme-thode zum anpassen von z. B. Ellipsen, Kreisen, Vierecken, Parallelogrammen, Rechte-cken und Superquadriken zu entwickeln.

Dabei soll die Fittingmethode ein normiertes Maß liefern, mit dem die Grundform nachAufgabe a) eingeschätzt werden kann. Die Fittingmethode soll robust sein undmuss daherauf flächenbasierendenMerkmalen beruhen, wie den Flächenmomenten. Konturbasieren-de Merkmale sind zu störanfällig. Ein einfaches Beispiel dafür ist der Formfaktor, siehe(19.64).

Bereits existierende momentenbasierte Fittingmethoden Momentenbasierte Fitting-methoden für Objekte mit geschlossenen Konturen existieren bereits in der Literatur(siehe [72, 73, 83, 84]) für folgende geometrische Primitiva:

Page 536: Bildverarbeitung und Objekterkennung ||

19.6 Gestaltsanalysemit momentenbasiertemFitting 531

• Kreise und Kreissegmente• Ellipsen und elliptische Segmente• Superquadriken bzw. Superellipsen• Gleichseitige Dreiecke• Gleichschenklige Dreiecke• Beliebige Dreiecke• Quadrate• Rechtecke• Parallelogramme• Beliebige Vierecke und Fünfecke.

Übliche Fittingmethoden, die auf ungeordneten Punktmengen beruhen, gibt es natürlichfür Kreise, Ellipsen und Superquadriken. Auch beliebige Dreiecke und Vierecke könnenkonturbasiert angepasst werden. Eine diskrete Kontur ist weiter nichts als ein Polygon mitvielen Ecken. Es existieren Eckenreduktionsalgorithmen, die auf Split- and Merge Stra-tegien beruhen. Wenn man die Anzahl der Ecken auf drei oder vier reduziert, hat manDreicke oder Vierecke angepasst. Flächenbasierte Methoden sind dagegen nicht nur ro-buster, sie können auch auf einfache Weise Restriktionen an die Dreiecke oder Viereckerealisieren. So können mit den flächenbasierten Momenten relativ einfach Fittingmetho-den für Parallelogramme, Quadrate, Rechtecke, gleichseitige Dreiecke, gleichschenkligeDreiecke entwickelt werden, was mit den Eckenereduktionsalgorithmen nicht ohne weite-res möglich ist. Natürlich haben auch die flächenbasiertenMethodenNachteile, sie könnennur auf Objekte mit geschlossenen Konturen angewendet werden.

In Abb. 19.1a ist die Kontur eines Verkehrszeichens zu sehen, die starke Störungen in derSegmentierung aufweist. In Abb. 19.1c ist eine konturbasierte Anpassung eines Viereckesund in Abb. 19.1b die momentenbasierte Anpassung zu sehen.

Eine momentenbasierte Fittingmethode ist schon im Abschn. 19.3 erläutert worden,nämlich das Fitten von Ellipsen basierend auf der Trägheitsellipse.

ImFolgenden soll die generelle Fittingidee basierend auf derNormierungsmethode undden Flächenmomenten erläutert werden. Zunächst muss zum geometrischen Primitivumsolch eine geometrische Transformation gewählt werden, die zum Primitivum auch passt.Wollen wir z. B. Rechtecke fitten, dann sind sicher affine Transformationen ungeeignet,da ein Rechteck affin in ein beliebiges Parallelogramm überführt werden kann. GeeigneteKombinationen von geometrischem Primitivum und geometrischer Transformation (sieheauch Abschn. 1.4.3) sind die folgenden Beispiele:

Wahl: Geometrisches Primitivum↔Geometrische Transformation

• Dreieck (6 Parameter) – Affine Transformation (6 Parameter)• Parallelogramm (6 Parameter) – Affine Transformationen (6 Parameter)• Viereck (8 Parameter) – Projektive Transformation (8 Parameter)

Page 537: Bildverarbeitung und Objekterkennung ||

532 19 Momente, Matching und Merkmale

Abb. 19.1 a Kontur eines Verkehrszeichens mit Störungen, b Momentenbasiertes Fitting-Resultat,c Konturbasiertes Fitting-Resultat

• Rechteck (5 Parameter) – Ähnlichkeitstransformationen (4 Parameter)• Superellipsen (7 Parameter) – Affine Transformationen (6 Parameter)• Gleichseitiges Dreieck (4 Parameter) – Ähnlichkeitstransformationen (4 Parameter).

Wahl der Normierungsmethode

• Wähle eine geeignete Normierungsmethode bezüglich der Momente aus. Diese sollteauf einer Separation der Transformationsgruppe in Untergruppen beruhen. Für Ähn-lichkeitstransformationen (1.29) ist die Separation in eine Translation, Rotation undisotrope Skalierung naheliegend. Für affine Transformationen kann man mehrere Se-parationen verwenden, siehe (1.32), (1.33) und (1.34).

• Für affine Transformationen wurden zu den Separationen (1.33) und (1.34) spezielleNormierungsstrategien entwickelt, siehe dazu [62], [83] und [84]. Sowurden z. B. für dieSeparation (1.33) die Translation auf den Schwerpunkt normiertm, = m, = , die an-schließende x-Scherungmitm, = normiert, die anschließende anisotrope Skalierungmit m, = m, = normiert und die sich anschließende Rotation mit m, + m, = normiert.

• Wichtig bezüglich der Separation ist: eine Untergruppe darf die Normierung der vor-hergehenden Untergruppe nicht „zerstören“. Damit ist bei Separation (1.33) und Nor-mierung die Gesamtnormierung

m, = , m, = , m, = , m, = , m, = , m, +m, = (19.52)

für die affine Transformation auch tatsächlich garantiert.

Page 538: Bildverarbeitung und Objekterkennung ||

19.6 Gestaltsanalysemit momentenbasiertemFitting 533

Nach derWahl der Normierungsmethode

• Berechne möglichst „mit Bleistift und Papier“ und einmalig die Standardlage canonicalframe primitivum des geometrischen Primitivums und dessenMomente. Für Rechteckeist dies z. B. das Einheitsquadrat im Zentrum des Koordinatensystems.

• Das gegebene planare Objekt ist nun numerisch ebenfalls zu normalisieren und lieferteine Transformation T und die normalisierte Lage canonical frame object. Das canoni-cal frame primitivum ist nun gegebenfalls an das canonical frame object anzupassen undliefert das benötigte Gütemaß. Das Anpassen ist nur nötig, wenn die Transformations-gruppemehr Parameter als das geometrische Primitivumbesitzt. Dies ist z. B. bei affinenTransformationen und Superquadriken der Fall. Dann ist ein freier Parameter durch eineindimensionales Optimierungsproblem zu bestimmen, wobei die Momente im Sinneder kleinsten Quadrate bezüglich beider canonical frames zu optimieren sind.

• Nun wird mit der inversen Transformation T− das canonical frame primitivum trans-formiert und liefert das Fittingergebnis.

Die einzelnenNormierungsmethoden für die verschiedenen geometrischen Primitiva kön-nen in [62], [83] und [84] nachgelesen werden. Stellvertretend für alle soll im Folgendendas Fitting von Rechtecken beschrieben werden.

Fitting von Rechtecken Rechtecke besitzen fünf Parameter. Wählen wir Ähnlichkeits-transformationen (vier Parameter), müssen wir noch ein eindimensionales Optimierungs-problem lösen. Wir gehen aber geschickter vor: wenn wir eine Translation (2 Parameter),eine anisotrope Skalierung (2 Parameter) und eine Rotation (1 Parameter) ausführen, sohaben wir auch fünf Parameter und brauchen nichts zu optimieren. Die Hintereinander-ausführung dieser Transformationen bildet aber insgesamt keine Gruppe und ein Rechteckkann in bestimmten Lagen durch eine anisotrope Skalierung in ein Parallelogramm trans-formiert werden. Wenn wir aber garantieren können, dass die anisotrope Skalierung nurachsenparallel erfolgt, dann bleibt es auch ein Rechteck. Dahermüssen wir die Reihenfolgeder Transformationen sehr sorgfältig wählen. Wir wählen folgende Reihenfolge:

• Zuerst wird wie fast immer so translatiert, dass der Koordinatenursprung im Schwer-punkt liegt. Die nun zentralen Momente bezeichnen wir mit m′i , j , wobei nun m′, =

m′, = gilt.• Nun ist durch eine Rotationsnormierung das Objekt achsenparallel auszurichten.

Dazu normieren wir m′′, = und erhalten den Winkel zwischen einer Achse derTrägheitsellipse und der x-Achse nach (19.4) mit den Momenten m′i , j , folglich φ =

arctan

m′,m′,−m

,. Es gibt vier Lösungen modulo π/, dabei ist es egal, welche Lösung

wir nehmen. Mit diesemWinkel transformieren wir nun alle Momente m′i , j und erhal-ten dieMomentem′′i , j , wobeim

′′

, = m′′, = ,m′′, = infolge der beidenNormierungengilt.

Page 539: Bildverarbeitung und Objekterkennung ||

534 19 Momente, Matching und Merkmale

• Nun normieren wir bezüglich einer anisotropen Skalierung. Durch die achsenparalleleLage kann nun ein Rechteck nicht mehr in ein Parallelogramm übergehen. Die Normie-rungsbedingung istm′′′ = m′′′ =

. Die beiden anisotropen Saklierungsparameter α , β

ergeben sich dann zu α = √

√⋅ √

mm

, β =

√⋅ √

mm

. Wir müssen nun alle Mo-

mente m′′i , j mit den beiden Parametern α , β transformieren und erhalten die Momentem′′′i , j mit den Normierungbedingungen

m′′′, = m′′′, = , m′′′, = , m′′′, = m′′′, =. (19.53)

Damit haben wir in einer bestimmten Reihenfolge die Trägheitsellipse auf den Träg-heitskreis normiert.

• Wie sieht nun das canonical frame primitivum für Rechtecke mit den Normierungsbe-dingungen (19.53) aus? Es ist simpel das Einheitsquadrat:

P = (−,+

) , P = (+

,+

) , P = (+

,−

) , P = (−

,−

) . (19.54)

• Damit wird die Normierung sehr simpel und es reichen die Momente bis zweiter Ord-nung völlig aus, die Momente ab dritter Ordnung benötigen wir nicht.

• Für ein gegebenes planares Objekt führen wir nun genau diese Normierung mit dendrei Schritten Translation, Rotation und anisotrope Skalierung aus. Nun invertieren wirdiese Transformationen, d. h. zuerst die inverse anisotrope Skalierung, dann die inverseRotation und dann die inverse Translation und transformieren in dieser Reihefolge dascanonical frame primitivum (19.54) und erhalten das an dasObjekt angepasste Rechteck.

• Ein Problem entsteht nur dann, wenn von vornherein das Objekt nahezu ein Quadratist oder überhaupt, wenn die Trägheitsellipse von vornherein näherungsweise ein Träg-heitskreis ist. Dann ist die Rotation mit den Momenten zweiter Ordnung nicht mehrstabil normierbar.Wie können wir das feststellen? EineMöglichkeit ist bei der Normie-rung die Anwendung des Verhältnisses der beiden anisotropen Skalierungsparameter

ratio = αβ =

√m′′,m′′,

. Praktische Experimente haben ergeben, dass bei einem Verhältnis, ≤ ratio ≤ , eine stabilde Normierung der Roatation nicht mehr möglich ist. Es istzu beachten, dass ratio erst nach der Rotationsnormalisierung zu berechnen ist. Möch-te man von vornherein mit den Momenten des Objektes eine Entscheidung treffen, somuss dieses Maß rotationsinvariant sein. Dazu bietet sich das relative Maß

≤ mrechteck =

√(m, −m,) + m

,

(m, +m,)≤ (19.55)

an, welches eine Funktion der beiden Hu-InvariantenH (19.40) undH (19.41) ist. FürObjekte, deren Trägheitsellipse ein Trägheitskreis ist, gilt mrechteck = . Für Linienseg-mente gilt dagegen mrechteck = . Aus praktischen Bewertungen folgt mrechteck ≤ , als

Page 540: Bildverarbeitung und Objekterkennung ||

19.7 Effiziente Berechnung von Konturmerkmalen 535

Abb. 19.2 Robustes Rechteck-fitting

Abbruchkriterium. Damit kannman auch dasMaß (19.55) anstelle des Formfaktors fürdas Kriterium „Rundheit“ eines Objektes benutzen. Damit sind allerdings alle Objekte,die einen Trägheitskreis besitzen, von der Grundform her als gleich „rund“ anzusehen.

• Ist das Fitting mit den zweitenMomenten nichtmöglich, kannman ein Fittingverfahrenmit den Momenten vierter Ordnung anwenden, siehe [72].

In Abb. 19.2 sind von einem Dokument durch den Bildrand Ecken verdeckt, trotzdem lie-fert das Fitting ein brauchbares Resultat.

Bei der Auswahl eines geometrischen Primitivums, welches man an ein gegebenes Ob-jekt fitten möchte, sollte man auf „Grundformen“ achten. Diese „Grundformen“ von pla-naren Objekten kann man grob in Dreier-Symmetrien und Vierer-Symmetrien einteilen,höhere Symmetriearten sind nicht mehr wesentlich. Dreier-Symmetrien sind durch allge-meine Dreiecke oder noch spezieller durch gleichseitige oder gleichschenklige Dreiecke zubeschreiben. Vierer-Symmetrien werden allgemein hervorragend durch Superellipsen be-schrieben, spezielle Vierersymmetrien sind dann Rechtecke, Parallelogramme usw. Etwasaus dem Rahmen dieser Symmetrieeinteilung fallen dann allerdings Kreissegmente undEllipsensegmente.

19.7 Effiziente Berechnung von Konturmerkmalen

19.7.1 Elementare Konturmerkmale

Fläche und Umfang eines Objektes Im Folgenden nehmen wir an, es sind diskrete, ge-schlossene Konturen von Binärobjekten B gegeben, die wir mit dem Konturfolgeverfahrenbestimmt haben, sieheAbschn. 10.2. In der Regel ist dann eine Kontur durch eine zyklische

Page 541: Bildverarbeitung und Objekterkennung ||

536 19 Momente, Matching und Merkmale

Abb. 19.3 Sektor S mit Rand-kurve (C ,C,C)

Punktfolge (xi , yi), ≤ i ≤ N − eindeutig beschrieben, wobei die Punkte bezüglich derAchternachbarschaft zusammenhängen. Die Zuwächse von benachbarten Punkten seienΔxi bzw. Δyi . Der Umfang U ist im einfachsten Fall die Anzahl der Randpunkte UB desObjektes, welche nicht gleich sein muss mit der Anzahl der Konturpunkte. Ein leicht an-deres Maß UN ist die Anzahl aller Punkte der Kontur. Ist die Kontur nicht entartet, dannist aber tatsächlich UN = UB . Beide Größen UB und UN stellen einen topologischen Um-fang dar. Wollen wir einen geometrischen Umfang, müssen wir diese Größen korrigieren.Da die Kontur über die Achternachbarschaft zusammenhängt, sollten wir Diagonalen mitdem Faktor

√ korrigieren, sodass für U ein geometrisch brauchbares Maß UD vorliegt.

Alle Maße des Umfangs können simultan beim Konturfolgeverfahren berechnet werden.Wenn wir die Fläche des Objektes auch simultan beim Konturfolgeverfahren berechnenwollen, dann wird es etwas schwieriger. Dazu nehmen wir erst einmal theoretisch an, dieKontur C sei eine analoge, geschlossene Randkurve des Objektes B und durch eine Para-meterdarstellung x(t), y(t), ≤ t ≤ T beschrieben. Weiterhin enthalte das Objekt B keineLöcher. Man kann nun die Fläche FB des Objektes B durch ein Kurvenintegral bezüglichder Kontur C ausdrücken:

FB = ∫

C

xdy − ydx . (19.56)

Diese Formel für die Fläche nennt man Leibnizsche Sektorformel. In der sehr einfachenHerleitung dieser Formel sieht man, dass auch FB = ∫C xdy und FB = −∫C ydx Kurvenin-tegrale zur Berechnung der Fläche sind. Die Leibnizsche Sektorformel hat aber entschei-dende Vorteile gegenüber den beiden anderen Integralen. Dazu legen wir den Koordina-tenursprung in das Objekt B und betrachten als Objekt einmal nur den Sektor S mit derRandkurceC = (C ,C,C). Die KurvensegmenteC undC stellenGeradensegmente dar,während C ein Segment der Randkurve von B ist, siehe Abb. 19.3. Um die Fläche von Sauszurechnen, wenden wir die Sektorformel für die Randkurve (C ,C,C) an. Dazu un-tersuchenwir, welchenWert die Sektorformel für einGeradensegmentGS ergibt, das durchden Koordinatenursprung geht. Ein GeradensegmentGS durch den Koordinatenursprungsei durch x(t) = K t , y(t) = K t , ≤ t ≤ T beschrieben. Damit ergibt sich

∫GS

xdy − ydx =

T

(K tKdt − K tKdt) ≡ . (19.57)

Page 542: Bildverarbeitung und Objekterkennung ||

19.7 Effiziente Berechnung von Konturmerkmalen 537

Damit bleibt für die Fläche eines Sektors S nur noch zu berechnen

FS = ∫C

xdy − ydx . (19.58)

Diese schöneEigenschaft hat nur diese symmetrische Sektorformel, daher auch die gewähl-te Bezeichnung. Als nächstes berechnen wir die Sektorformel für ein beliebiges Geraden-segment GS, welches vom Punkt (x , y) bis zum Punkt (x , y) geht. Die Zuwächse seienΔx = x − x, Δy = y − y. Eine einfache Rechnung ergibt:

∫GS

ydx = yΔx +ΔxΔy, ∫

GS

xdy = xΔy +ΔyΔx . (19.59)

Damit ist

∫GS

xdy − ydx =(xΔy − yΔx) =

(x y − yx) . (19.60)

Durch die Symmetrisierung der Sektorformel fallen die quadratischen Terme weg. Fassenwir daher eine diskrete Kontur als Polygon auf, wobei die Konturpunkte die Eckpunkte desPolygons sind, dann können wir exakt die Fläche dieses Polygons angeben:

FB = ∫

C

xdy − ydx =

N−∑i=

(xiΔyi − yiΔxi)

=

N−∑i=

(xi yi+ − yi xi+) . (19.61)

Dies ist der entscheidende Vorteil der symmetrischen Sektorformel gegenüber den nichtsymmetrischen Kurvenintegralen bezüglich der Fläche. Wenn wir normalerweise ein In-tegral durch eine Summe ersetzen und die Differentiale durch Differenzen, dann sind dasim allgemeinen nur Näherungen. Für Polygone erhalten wir aber mit der diskreten Sek-torformel nicht nur Näherungen, sondern die exakte Fläche des Polygons. Ein weitererVorteil der Formel (19.61) ist, dass die Fläche simultan imKonturfolgealgorithmus berech-net werden kann. Als es noch keine digitale Bildverarbeitung gab, existierte eine „analogeBildverarbeitung“. Eine Aufgabe war es z. B. auf Karten die Fläche von Freiformobjektenmit größtmöglicher Genauigkeit zu bestimmen. Dazu hat man ein mechanisches Gerätentwickelt, genannt Planimeter. Man umfährt mit einem Stift die Kontur des Objektesund in einem „Rechenwerk“ des Planimeters kann man die Fläche ablesen. Bezogen aufirgendeinen Koordinatenursprung misst das Planimeter ständig die x , y-Koordinaten in-krementell, d. h. die Zuwächse Δxi und Δyi werden mechanisch ermittelt. Sie Summationzur Berechnung der Fläche erfolgt mit der Sektorformel (19.61).

Page 543: Bildverarbeitung und Objekterkennung ||

538 19 Momente, Matching und Merkmale

Picksche Formel Wenn wir mit dem Konturfolgeverfahren in Z eine geschlossene Kon-tur berechnet haben, dann haben wir automatisch die Fläche F und verschiedene Maße fürden Umfang zur Verfügung. So ist ein Maß für den topologischen Umfang einfach die An-zahlUB der Randpunkte des Objektes B, die natürlich alle in Z liegen und ganzzahlig sind.Kann man allein aus diesen Maßen die Anzahl der inneren Punkte I berechnen? Dies gehttatsächlichmit der sogenannten Pickschen Formel (Pick – österreichischerMathematiker).Dazu müssen wir aber annehmen, dass die Kontur als Polygon aufgefasst kein entartetesPolygon darstellt. Eine geschlossene Kontur, die z. B. nur eine Linie als das eigentliche Ob-jekt beschreibt, ist dann entartet. Die Picksche Formel lautet:

F = I +UB

− → I = F −

UB

+ . (19.62)

Ein kleines Problem haben wir nun, da man erst feststellen müsste, ob die Kontur entartetist. Daher müssen wir die Formel speziell für Konturen etwas modifizieren. Es gilt dann

F = I +UB −UN

− → I = F −UB +

UN

+ . (19.63)

Die Anzahl der Randpunkte UB reicht nun nicht mehr, wir benötigen zusätzlich UN , die-ses Umfangmaß ist die Länge der Kontur als Anzahl von Kanten, wobei die Kontur überdie Achternachbarschaft zusammenhängt. Damit istUN auch gleichzeitig die Anzahl allerKonturpunkte N . Ist die Kontur nicht entartet, dann giltUN = UB und die Formeln (19.62)und (19.63) sind identisch. Wir können folglich mit sehr einfachen Mitteln stets mit derPickschen Formel (19.63) die Anzahl der inneren Punkte berechnen. Dies gilt für beliebigegeschlossene Konturen, diese können auch entartet sein.

Formfaktor Aus den einfachen Maßen Fläche und Umfang kann der Formfaktor f be-rechnet werden:

f = K ⋅U

FB. (19.64)

Dabei istK ein zu wählenderNormierungsfaktor. Der Formfaktor hat seinMinimum unterallen Objekten mit konstanter Fläche beimKreis, im Raum ist dies die Kugel. Kleine Form-faktoren bedeuten demnach kreisförmige Objekte und große Formfaktoren längliche oderzerklüftete Objekte. Allerdings muss man die Konturen vorher glätten, da der Formfak-tor sehr rauschanfällig ist. Dazu nehme man einen idealen Kreis, der Formfaktor hat hiersein Minimum. Nun verrausche man leicht die Kontur, wir würden das Objekt aber im-mer noch als kreisähnliches Objekt einstufen. Da die Fläche näherungsweise gleich bleibt,aber der Umfang steigt und dieser sogar quadratisch in den Formfaktor eingeht, steigt derFormfaktor drastisch an.

Page 544: Bildverarbeitung und Objekterkennung ||

19.7 Effiziente Berechnung von Konturmerkmalen 539

Bounding box Ein weitere elementare Beschreibung eines Objektes ist das umschreiben-de Rechteck, auch bounding box genannt. Diese bounding box kann simpel während desKonturfolgeverfahrens durch max und min Operationen bezüglich der Konturpunkte be-rechnet werden. Diese bounding box ist folglich achsenparallel und nicht zu verwechselnmit derminimum bounding box. Dieminimum bounding box ist das flächenkleinste Recht-eck, das das Objekt enthält und zwar unabhängig von der Rotation, es muss folglich nichtachsenparallel sein. Es ist schon relativ schwierig dieseminimum bounding box zu berech-nen. In der computational geometry gibt es dazu die entsprechenden Algorithmen. Da diekonvexe Hülle des Objektes die gleiche minimum bounding box wie das Objekt selbst be-sitzt, beziehen sich Algorithmen oft auf die konvexe Hülle. Die bounding box wird oft zurBerechnung von Merkmalen des Objektes benutzt, wenn man sich nicht auf die Konturbeziehen kann. Dies kann darin begründet sein, dass ein Objekt aus mehreren Konturenbesteht oder Konturen häufig nicht geschlossen sind, siehe auch Abschn. 1.4.5.

19.7.2 Berechnung der Momente

Die Flächenmomente sind Merkmale, die durch Flächenintegrale berechnet werden. DieFlächenintegrale kann man ähnlich der Sektorformel über die Kontur effektiv berechnen.Man bedient sich dabei aus der Analysis bestimmter Integralsätze, z. B. des GreenschenIntegralsatzes, auch Gaußscher Integralsatz der Ebene genannt:

∬B

P(x , y)dxdy = ∬B

(∂N(x , y)

∂x−∂M(x , y)

∂y) dxdy

= ∫C

M(x , y)dx + N(x , y)dy. (19.65)

Die Funktionen M(x , y) und N(x , y) sind geeignet zu wählen. Die Sektorformel ist folg-lich auch nur ein Spezialfall dieser Greenschen Formel, denn: es sei die Fläche m, =

∬B dxdy zu berechnen, damit ist P(x , y) ≡ , folglich wählen wir N(x , y) = x und

M(x , y) = −y und es ergibt sich exakt die Leibnizsche Sektorformel (19.3).

Wollen wir nun die Flächenmomente mp,q = ∬B xp yqdxdy berechnen, dann setzen

wir mit P(x , y) = xp yq die Funktionen M und N zu M ≡ und N(x , y) = x p+

p+ yq . Damit

erhalten wir:

∬B

xp yqdxdy =

p + ∫C

xp+ yqdy. (19.66)

Da eine Kontur ein Polygon darstellt, brauchen wir dieses Kurvenintegral nur für Polygonezu berechnen. VonKonturpunkt zu Konturpunkt brauchen wir also nur über ein Geraden-

Page 545: Bildverarbeitung und Objekterkennung ||

540 19 Momente, Matching und Merkmale

segment zu integrieren, daher ergibt sich für ein Polygon:

p + ∫

C

xp+ yqdy =

p +

N−∑i=

(xi + tΔxi)p+(yi + tΔyi)qΔyidt . (19.67)

Für Momente bis zur fünften Ordnung rechnen wir nun diese gewöhnlichen Integrale ausund erhalten explizite Formeln zur Berechnung der Momente. Wenn man diese Integralegeschickt auswertet, dann kannman sogar die Momente höherer Ordnung rekursiv auf dieBerechnung der Momente niedrigerer Ordnung zurückführen.

Man kann auch noch anders und ganz elementar diese expliziten Formeln in Abhängig-keit von den Konturpunkten herleiten, und zwar durch Triangulation und Berechnung derMomenten-Flächenintegrale über diesen Dreiecken. Dazu betrachten wir ein Koordina-tensystem, es ist völlig egal wo der KoordinatenursprungO liegt. Wir legen zunächst einenUmlaufsinn der Kontur fest, der eigentlich schon durch die Aufzählung der Konturpunktegegeben ist. Nun betrachten wir das Dreieck, welches vom Koordinatenursprung ausge-hend, durch die drei Punkte {O , (xi , yi), (xi+ , yi+)} festgelegt ist. Über diesem Dreieckrechnenwir nun (mit Bleistift undPapier) die Flächenintegrale (19.2) bis zu denMomentenvierter Ordnung aus. Dann summieren wir über alle Dreiecke des Polygons und erhalten:

Nulltes Moment

m, =

N−∑i=

(xi yi+ − xi+ yi) (identisch mit der Sektorformel), (19.68)

Erste Momente

m, =m,

N−∑i=

(xi + xi+),

m, =m,

N−∑i=

(yi + yi+), (19.69)

Zweite Momente

m, =m,

N−∑i=

(xi + xi xi+ + xi+),

m, =m,

N−∑i=

(xi yi + xi+ yi + xi yi+ + xi+ yi+),

m, =m,

N−∑i=

(yi + yi yi+ + yi+), (19.70)

Page 546: Bildverarbeitung und Objekterkennung ||

19.8 Matching 541

Dritte Momente

m, =m,

N−∑i=

(xi + xi xi+ + xi xi+ + xi+),

m, =m,

N−∑i=

(xi + xi xi+ + xi+)yi + (xi + xi xi+ + xi+)yi+ ,

m, =m,

N−∑i=

(yi + yi yi+ + yi+)xi + (yi + yi yi+ + yi+)xi+ ,

m, =m,

N−∑i=

(yi + yi yi+ + yi yi+ + yi+), (19.71)

Vierte Momente

m, =m,

N−∑i=

(xi + xi xi+ + xi xi+ + xi xi+ + xi+), (19.72)

m, =m,

N−∑i=

(yi + yi+)xi+ + (yi + yi+)xi xi++

+m,

N−∑i=

(yi + yi+)xi xi+ + (yi + yi+)xi , (19.73)

m, =m,

N−∑i=

(yi + yi yi+ + yi+)xi+

+m,

N−∑i=

(yi + yi yi+ + yi+)xi xi+

+m,

N−∑i=

((yi + yi yi+ + yi+)xi ) , (19.74)

m, =m,

N−∑i=

(xi + xi+)yi+ + (xi + xi+)yi yi+

+m,

N−∑i=

(xi + xi+)yi yi+ + (xi + xi+)yi , (19.75)

m, =m,

N−∑i=

(yi + yi yi+ + yi yi+ + yi yi+ + yi+). (19.76)

19.8 Matching

Matching kann man auch als Mustervergleich bezeichnen, d. h. es findet ein direkter Ver-gleich des Musters mit einem Referenzmuster statt. Für den Vergleich spielen somit dasMatchingmaß und die geometrische Transformation die entscheidende Rolle. Weiterhin

Page 547: Bildverarbeitung und Objekterkennung ||

542 19 Momente, Matching und Merkmale

kann dies lokal oder global im Bild erfolgen. Matching hängt auch direkt zusammen mitder sogenanntenBildregistrierung, die insbesondere in dermedizinischen Bildverarbeitunggroße Bedeutung besitzt.

19.8.1 Matchingmaße

Da Matching immer auf einem Vergleich von Muster und Referenzmuster basiert, benö-tigt man Maße, die die Ähnlichkeit beider Muster numerisch quantifizieren. Diese Maßesind manchmal „echte“ Metriken, häufig aber nur Abstandsmaße oder völlig andere Maßewie Korrelationsmaße. Es bezeichne x und y Merkmalsvektoren von Referenzmuster undMuster. Die drei wichtigsten „echten“ Metriken sind dann:

ρ(x, y) = ∑i∣xi − yi ∣ (city block metric), (19.77)

ρ(x, y) =√

∑i(xi − yi) (Euklidische Metrik), (19.78)

ρ∞

(x, y) = maxi

∣xi − yi ∣ (chessboard metric). (19.79)

Haben wir z. B. binäre Merkmalsvektoren (z. B. Objekte in Binärbildern), dann wird diecity block metric (19.77)Hammingdistanz genannt. Die Hammingdistanz zählt die Anzahlder „Positionen“ (z. B. Pixel) an denen sich dieMuster unterscheiden. DieMetriken könnenwir auch durch die Normen ausdrücken ρi(x, y) = ∥x−y∥i . Insbesondere zur EuklidischenMetrik gibt es eine Reihe von gewichteten Modifikationen. Wenn z. B. die Merkmalsvek-toren aus Merkmalen bestehen, die völlig verschiedenen Ursprungs sind, dann versagt dieEuklidische Metrik als geeignetes Matchingmaß. Dann sollte man dieMahalanobis-Metrik

ρM(x, y) = (x − y)TΣ−x,y(x − y) (19.80)

verwenden. Dabei ist Σx,y die auf den Erwartungswert zentrierte Kovarianzmatrix ausder Grundgesamtheit aller y und x. Sind die Merkmale dekorreliert, d. h. die Kovarianzengleich Null, dann degeneriert die Kovarianzmatrix zur reinen Diagonalmatrix und es wird(19.80) zu:

ρM(x, y) = ∑i

(xi − yi)

σ y

. (19.81)

Man sieht daran, Merkmale die mehr steuen, werden in der Metrik weniger gewichtet. Inder Bildverarbeitung haben wir oft endliche Punktmengen zu vergleichen, man sprichtdann vom Point Pattern Matching (PPM). Welche Maße sind dazu geeignet? Zu diesemZwecke betrachten wir zwei endliche Punktmengen A und B, die unterschiedliche Anzah-len von Punkten haben können, card(A) = NA und card(B) = NB. Wir verwenden eine

Page 548: Bildverarbeitung und Objekterkennung ||

19.8 Matching 543

Norm und führen den gerichteten Abstand eines Punktes a ∈ A von der Punktmenge Bein:

d(a, B) = minb∈B

∥a − b∥i , (19.82)

wobei wir in der Regel die Euklidische Norm mit i = benutzen. Als gerichteter Abstandder Menge A von der Menge B sind geeignet:

d(A, B) = mina∈A

d(a, B)

d(A, B) = Rangordnungp%d(a, B)

d(A, B) = maxa∈A

d(a, B)

d(A, B) =NA

∑a∈A

d(a, B).

(19.83)

Diese gerichteten Maße werden typischerweise verwendet, wenn die Punktmenge A in derPunktmenge B enthalten ist. Beschreiben beide Punktmengen bis auf eine Transformati-on inhaltlich das gleiche Objekt, dann müssen aus den gerichteten Abstandsmaßen nochungerichtete abgeleitet werden:

u(A, B) = min(di(A, B), di(B,A))u(A, B) = max(di(A, B), di(B,A))

u(A, B) =di(A, B) + di(B,A)

u(A, B) =NAdi(A, B) + NBdi(B,A)

NA + NB.

(19.84)

Die uj können nun mit den di kombiniert werden. So ist die Kombination von u mitd die bekannte Hausdorff-Metrik, die auch tatsächlich eine „echte“ Metrik darstellt, al-le anderen Kombinationen ergeben Ähnlichkeitsmaße, aber keine „echten“ Metriken. DieHausdorff-Metrik ist für praktische Anwendungen jedoch nicht geeignet, da sie auf Grundder max-Operationen zu sensitiv auf Ausreißer reagiert. In praktischen Experimenten hatsich gezeigt, dass die Kombination von u mit d die beste Wahl ist:

d(A, B) = max(NA

∑a∈A

d(a, B),NB

∑b∈B

d(b,A)). (19.85)

Desweiteren basieren Matchingmaße oft auf Korrelationsmaßen, wobei diese nur auf be-stimmte Merkmalsvektoren anwendbar sind (z. B. zwei Grauwertblöcke gleicher Größeim Bild). Stochastisch betrachtet sind die Komponenten der Merkmalsvektoren Realisie-rungen einer einzigen Zufallsvariablen. Allgemeine Grundlage ist die Cauchy-Schwarzsche

Page 549: Bildverarbeitung und Objekterkennung ||

544 19 Momente, Matching und Merkmale

Ungleichung. Es sei ⟨⋯,⋯⟩ ein Skalarprodukt und ∥.∥ die durch das Skalarprodukt indu-zierte Norm, dann gilt für reelle und komplexe Vektorräume:

∣⟨x, y⟩∣ ≤ ∥x∥∥y∥ ∀x, y. (19.86)

Damit folgt für reellwertige Vektorräume:

− ≤ ρx,y =⟨x, y⟩∥x∥∥y∥

≤ + ∀x, y. (19.87)

Bei komplexenVektorräumenmüssenwir etwas aufpassen, dann könnenwir nur schreiben

≤ ρx,y =∣⟨x, y⟩∣∥x∥∥y∥

≤ + ∀x, y. (19.88)

Die Korrelation komplexer Signale wird relativ selten benutzt, ein Beispiel ist die Korrela-tion zweier komplexer Spektren, siehe z. B. Abschn. 4.10. Im Folgenden beschränken wiruns auf den reellen Fall. Manchmal tritt auch noch eine „additive“ Normierung auf. Dazubezeichne x das arithmetischeMittel der Komponenten von x und e einen Vektor aus lauterEinsen, dann gilt auch:

− ≤ ρx,y =⟨x − xe, y − ye⟩

∥x − xe∥ ⋅ ∥y − ye∥≤ + ∀x, y. (19.89)

Dieses Maß heißt nun der normierte Korrelationskoeffizient und besitzt einen entscheiden-denVorteil: Er ist invariant gegenüber linearen Transformationen der Komponenten von x:

x′i = c ⋅ xi + d . (19.90)

Man sieht, beim Einsetzen in (19.89) kürzen sich die Konstanten c und d. Diese Konstantenc und d haben je nach Anwendung unterschiedliche Bedeutung. Nehmen wir einmal alsKomponenten der Vektoren die Grautöne xi , j eines Bildes x, dann lautet der normierteKorrelationskoeffizient:

ρx,y =∑i , j(xi , j − x)(yi , j − y)

√∑i , j(xi , j − x) ⋅

√∑i , j(yi , j − y)

. (19.91)

Jetzt bedeutet die Invarianz gegenüber c und d die Invarianz gegenüber linearen Kontrast-und Helligkeitsänderungen der Grauwerte.

19.8.2 HistogrammbasierteMatchingmaße

In der Bildverarbeitung werden oft Histogramme zur Bewertung von Objekten herange-zogen. Daher müssen diese Histogramme verglichen werden. Dazu setzen wir zunächst

Page 550: Bildverarbeitung und Objekterkennung ||

19.8 Matching 545

voraus, dass dieHistogrammedie gleicheKlasseneinteilung besitzen.DiejenigenAbstands-maße werden als bin-by-bin Maße bezeichnet, in deren Berechnung das Merkmal i desersten Histogrammes nur in Relation zumMerkmal i des zweiten Histogrammes betrach-tet wird. Es seien H und K zwei Histogramme mit den relativen Häufigkeiten hi und ki ,dann sind

• Minkowski-Abstand:

dr(H ,K) = (∑i∣hi − ki ∣r)

r

, (19.92)

• Histogramm-Schnitt:

d∩

(H ,K) = − ∑i min(hi , ki)∑i ki

, (19.93)

• Kullback-Leibler-Divergenz:

dKL(H ,K) = ∑ihi log

hi

ki, (19.94)

• χ-Statistik:

dχ(H ,K) = ∑ihi log

(hi −mi)

mi,mi =

(hi + ki)

(19.95)

bin-by-binMaße. Im Gegensatz zu den bin-by-binMaßen werden auch sogenannte cross-binMaße benutzt. Diese nutzen auch die Informationen benachbarter Werte.

• Quadratische-Form-Abstand:

dA(H ,K) =√(h − k)TA(h − k). (19.96)

Die cross-bin Information ist in der Matrix A enthalten, wobei ai , j die Ähnlichkeit zwi-schen den Merkmalen i und j ausdrückt. Ein einfaches Beispiel dafür ist ai , j = − di , j

dmax.

Dabei ist di , j der Abstand der Merkmale i und j, und dmax = max(di , j).• Match-Abstand:

dM(H ,K) = ∑i∣hi − ki ∣, (19.97)

wobei hi = ∑k≤i hk die Summenfunktion, bzw. was dasselbe ist, die Verteilungsfunktionvon H ist. Der Match-Abstand ist folglich der Minkowski-Abstand mit (r = ), ange-wendet auf die Verteilungsfunktion. Weiterhin ist dieses Maß ein Spezialfall der EarthMover’s Distance (EMD) für eindimensionale Histogramme, siehe auch Abschn. 19.8.3.

Page 551: Bildverarbeitung und Objekterkennung ||

546 19 Momente, Matching und Merkmale

• Kolmogorov-Smirnov-Abstand:

dM(H ,K) = maxi

∣hi − ki ∣. (19.98)

Dieser bezieht sich ebenfalls auf dieVerteilungsfunktion, allerdingsmit demMinkowski-Abstand für (r = ∞).

19.8.3 Signaturen

Das Hauptproblem bei Histogrammen ist eine günstige Klasseneinteilung, dies ist eineBalance zwischen Informationsgehalt und Effektivität. Daher verallgemeinert man Histo-gramme zu Signaturen und betrachtet gleichzeitig den mehrdimensionalen Fall. Eine Si-gnatur P = [(m j ,wj)] j repräsentiert eine Menge von Clustern mit Gewichten. Dabei istder d-dimensionale Vektor m j ein Repräsentant des Clusters j und wj beschreibt als ein-dimensionales Maß die Ausdehnung des Clusters. Histogramme sind ein Spezialfall vonSignaturen, weil dannm j derMittelpunkt der Klasse j (bin j) ist undwj die relative Häufig-keit in der Klasse j (bin j) darstellt. Wenn wir einen sinnvollen Abstand zwischen Signatu-ren angeben können, dann haben wir auch gleichzeitig einen sinnvollen Abstand zwischenmehrdimensionalen Histogrammen. Als brauchbarer Abstand gilt die Earth Mover’s Di-stance (EMD). Dabei stelle man sich zwei Signaturen P undQ vor. Die Cluster von P stellenwir uns als „Erdhaufen“ vor und die Cluster von Q sollen Löcher sein. Die Erdhaufen vonP sollen nun in die Löcher von Q transportiert werden. Es darf nicht mehr transportiertwerden als Erdhaufen da sind oder die Löcher vonQ aufnehmen können. Dabei entstehenTransportkosten. Die minimalen Transportkosten stellen den Abstand zwischen P und Qdar. Folglich sind P = [(p ,wp), . . . , (pm ,wpm)] und Q = [(q ,wq), . . . , (qn ,wqn)] dieCluster. Weiterhin seiD = (di , j) die Entfernungsmatrix der Cluster pi und q j . Analog be-schreibe die Matrix F = ( fi , j) die transportierte Menge zwischen den Clustern pi und q j.Dann lösen wir das Optimierungsproblem

z(P ,Q , F) = min z(P ,Q , F) = minm∑i=

n∑j=

di , j f i , j , (19.99)

mit den Restriktionen

fi , j ≥ , ≤ i ≤ m, ≤ j ≤ n, (19.100)n∑j=

fi , j ≤ wp i , ≤ i ≤ m, (19.101)

m∑i=

fi , j ≤ wq j , ≤ j ≤ n, (19.102)

m∑i=

n∑J=

fi , j = min⎛

m∑i=

wp i ,n∑j=

wq j

⎠. (19.103)

Page 552: Bildverarbeitung und Objekterkennung ||

19.8 Matching 547

Die Bedingung (19.103) berücksichtigt, dass die beiden Signaturen nicht normalisiert seinbrauchen. Bei Histogrammen wäre das Minimum überflüssig. Als Abstand EMD(P ,Q)

benutzen wir dann:

EMD(P ,Q) =∑

mi= ∑

nJ= di , j f i , j

∑mi= ∑

nJ= fi , j

. (19.104)

Die Normalisierung ist nur dann nötig, wenn die Signaturen selbst nicht normalisiert sind.Numerisch lösen wir dieses Transportproblem mit einer speziellen Version der Simplex-methode, die speziell diese Datenstruktur berücksichtigt, siehe auch Abschn. 21.2.5. DieEMD bietet eine Reihe von Vorteilen, insbesondere den Vorteil eines partiellen Matchingsbei sich überlapppendenDaten.Wenn die Abstände di , j selbstMetriken sind und die Sum-men der Gewichte ausgeglichen sind, dann ist die EMD selbst eine „echte“ Metrik. Typi-sche Anwendungen der EMDfindetman in image retrieval-Systemen, in der Texturanalyseund beim Vergleich von Farbhistogrammen. Ein typisches Problem ist dabei die hohe Di-mensionalität. Nehmen wir als Beispiel den Vergleich zweier Farbbilder. Die RGB-Farbenwerden dazu zunächst in den CIELAB-Farbraum umgerechnet, siehe auch Abschn. 11.3.Wenn wir z. B. jede Achse des dreidimensionalen CIELAB-Würfels in je 10 bins einteilen,so haben wir pro Würfel schon bins. Die Kostenmatrix D = (di , j) ist dann immer-hin eine (, )-dimensionale Matrix. Folglich müssen wir die Farbhistogramme zuSignaturen reduzieren. Dazu werden effiziente, bekannte Clusteralgorithmen benutzt. Fürdie Nutzung der EMD ist auch eine sorgfältige Wahl des Entfernungsabstandes di , j not-wendig. So wird bei den Farbhistogrammen oder Farbsignaturen häufig das Maß

di , j = − e−α∥p i−q j∥ (19.105)

benutzt. Der Faktor α = ∥(σ , . . . , σd)T∥ ist eine Norm des Vektors der Standardabwei-chungen über alle Farben und alle Klassen.

19.8.4 Matching und Registrierung

Mit den eingeführten Matchingmaßen kann nicht direkt entschieden werden, ob zwei Ob-jekte/Bilder/Punktmengen usw. ähnlich sind oder nicht. Die Objekte sind in der Regelaus verschiedenen Positionen aufgenommenworden oder anderweitig deformiert worden.Daher müssen diese Objekte vorher mit Transformationen aneinander angepasst werden.Dies bezeichnet man als Bildregistrierung oder schlechthin als Registrierung. Dazu benötigtman aber A-priori-Informationen über die Deformation/Transformation. Dazu ein ein-faches Beispiel, das sogenannte Template-Matching in Grautonbildern. Es soll überprüftwerden, ob ein gegebener Bildblock B in einem „großen“ Bild I enthalten ist oder nicht.Weiterhin wissen wir a priori, der Bildblock B kann nur in verschobenen Positionen imBild I vorhandensein. Er kommt nicht rotiert, skaliert und auch nicht geschert vor. Wirverwenden folglich als geometrische Transformation nur die Translation.

Page 553: Bildverarbeitung und Objekterkennung ||

548 19 Momente, Matching und Merkmale

• Wir legen zuerst das Ähnlichkeitsmaß fest. Wir verwenden z. B. die normierte Korrela-tion (19.91), um Invarianz gegenüber linearen Beleuchtungsänderungen zu garantieren.

• Wir müssen nun über dem Parameterraum der Translationen diejenige Translation fin-den, die das beste Ähnlichkeitsmaß erzeugt. Wir haben folglich eine Optimierungsauf-gabe über demRaumder gewähltenTransformationen zu lösen.NachMöglichkeit solltedas globale Optimum gefunden werden.

• In der Praxis wird man aus Effizienzgründen den Suchraum einschränken, eventuellhierarchisch vorgehen und die Matchingmaß-Berechnung optimieren.

• Man könnte z. B. mit groben Translationsschritten den Suchraum abrastern und bei derPosition des kleinsten Matchingmaßes eine lokale Suche starten, z. B. den koordinaten-weisen Abstieg.

• Da die Normdes Templates B unabhängig von der Suche ist, braucht diese imMaßnichtberechnet zu werden. Dies steigert die Effizienz.

• Hat man den Ort des Templates B im Bild I lokalisiert, muss man zusätzlich prüfen, obdas Template auch tatsächlich an dieser Stelle ist. Dazu muss man eine Schwellwertent-scheidung mit dem Matchingmaß durchführen oder zusätzliche Entscheidungen her-anziehen.

Da die elementaren Transformationen, insbesondere die Translationen eine große Rollespielen, soll kurz auf die signalbasierte Bestimmung dieser elementaren Transformationeneingegangen werden.

Elementare Transformationen In den folgenden Abschnitten soll auf rein signalbasierteMethoden eingegangen werden. Ein wichtiges Problem ist dabei folgendes: Die Bilder sinddiskrete Funktionen, es gibt nur Funktionswerte an den Pixelpositionen. Bei Translationendürfte man also nur ganzzahlige Verschiebungen zulassen und Rotationen wären über-haupt nicht definiert. Aber dennoch registrieren wir diese, auch im Subpixelbereich. Dazuwird oft die Interpolationsidee angewendet. Wenn ein Bild nicht unterabgetastet ist, dannkann die analoge Funktion durch Interpolation vollständig rekonstruiert werden und dieRegistrierung mittels Interpolation ist theoretisch in Ordnung. Liegt aber eine Unterabtas-tung vor, dann wird es problematisch. Im Abschn. 5.1 haben wir Bedingungen angegeben,wann dann noch etwas zu „retten“ ist. Wenn die Unterabtastung nicht zu „extrem“ ist,dannmüssenwir die Bilder mit einem Tiefpass filtern und können trotzdem noch exakt imSubpixelbereich registrieren. Überschreitet die Unterabtastung aber eine gewisse Schranke,dann ist nichts mehr zu machen, dann kann man nicht mehr registrieren. Die wichtigsteTransformation ist wohl die Translation zweier Bilder, Blöcke, Signale usw. Viele andereTransformationsbestimmungen werden sogar auf die Bestimmung von Translationen zu-rückgeführt, z. B. ist die Rotation eine Translation in Polarkoordinaten. Einige Methodenin diesem Abschnitt bestimmen theoretisch den verschobenen Einheitsimpuls. Da aberbei gestörten Bildern kein idealer verschobener Einheitsimpuls berechnet wird, sonderneine Funktion, die „hoffentlich“ ein ausgeprägtes deutliches Maximum besitzt, benötigenwir ein Maß, das die Abweichung vom idealen verschobenen Einheitsimpuls beschreibt.

Page 554: Bildverarbeitung und Objekterkennung ||

19.8 Matching 549

Solch ein „Gütemaß“ des Maximums bestimmt folglich die „Sicherheit“ der Bestimmungder Verschiebung. Dieses Maximum wollen wir Peak nennen. Daher sollte man sich einenempirischen Algorithmus überlegen, der die Güte eines solchen Peaks berechnet. DiesesGütemaß kann dann bei komplexeren Algorithmen als Gewicht für die berechnete Ver-schiebung benutzt werden. Ein einfaches Beispiel dazu ist das sogenannteBlockmatching.In jeder Blockposition wird eine Verschiebung und das zugehörige Gütemaß berechnet.Durch die Blöcke erhalten wir nun eine Liste von lokalen Verschiebungen mit den entspre-chenden Gewichten. Aus dieser Liste können mit einer gewichteten Ausgleichsrechnungkomplexere Transformationen für das gesamte Bild berechnet werden. Nun folgen einigesignalbasierte Methoden zur Transformationsbestimmung:

Anwendung des Verschiebungstheorems Eine naheliegende Methode zur signalbasier-ten Translationsbestimmung ist die Anwendung des Verschiebungstheorems, siehe Ab-schn. 4.17. Wir schreiben dies für diskrete, zweidimensionale Bilder der Dimension M ,Nauf:

αk , l (Sm ,n f ) = αk , l ( f ) ⋅ e−πi(mkM +l

nN ) . (19.106)

Da das Amplitudenspektrum translationsinvariant ist, können wir die Translation aus obi-ger Beziehung nur über die Phase ausrechnen. Dazu benötigen wir nur zwei Koeffizienten,umm und n auszurechnen.Wir müssen dazu zwei Gleichungen mit zwei Unbekannten lö-sen.Wählen wir speziell k = , l = und k = , l = , so erhalten wir sogar zwei entkoppelteGleichungen und können sofort nach den Verschiebungen m und n auflösen. Wir schrei-ben also das Verschiebungstheorem für diese beiden Koeffizienten bezüglich der Phase aufund beachten die Periodizität des komplexen e-Terms.Wennwirmit φk , l ( f )die Phase vonαk , l ( f ) bezeichnen, so erhalten wir für die Verschiebungen:

m =(φ,( f ) − φ,(Sm ,n f ) ⋅M

π+M ⋅ gm ,

n =(φ,( f ) − φ,(Sm ,n f ) ⋅ N

π+ N ⋅ gn . (19.107)

Die Notation der Periode ist sehr wichtig. Wählen wir z. B. k = , l = , dann ist m nurmit der Periode M

bestimmbar. Bei höheren Frequenzen könnten wir folglich nur kleineVerschiebungen berechnen. Daher ist die Nutzung der niederen Fequenzen doppelt vor-teilhaft: die niederen Frequenzen beschreiben das globale Signal besser und robuster undgleichzeitig schränkt die Periode die Größe der Verschiebung nicht ein. Da wir nur zweiFourierkoeffizienten benötigen, brauchen wir auch nicht die beiden Bilder vollständig zutransformieren.

Page 555: Bildverarbeitung und Objekterkennung ||

550 19 Momente, Matching und Merkmale

Inverse Faltung Statt dem Verschiebungstheorem wenden wir die Faltung bezüglich derVerschiebung an:

f ′ = Sn f = Sn( f ∗ δ) = f ∗ Snδ → αk(Snδ) = C ⋅αk( f ′)αk( f )

. (19.108)

Wir bestimmen also den verschobenen Einheitsimpuls mit dieser einfachen Faltungsinver-tierung. Wir tun so, als ob es keine Fehler gäbe und es eine reine zyklische Verschiebungwäre. Bei praktischenAufgaben (außer in Spezialfällen) ist dieVerschiebungnicht zyklisch,im Gegenteil: Bildteile verschwinden aus dem Bild und neue Bildteile erscheinen. Dahermuss es bei der inversen Faltung Fehler geben.Wirmüssen deshalb die Berechnung des ver-schobenen Einheitsimpulses als Restaurationsproblem auffassen. In (19.108) haben wir alseine Restaurationsmethode das Invers Filter (siehe Abschn. 9.5.1) benutzt. Dabei werdenRauschen und andere Fehler bei der Restauration verstärkt unddieMethodewird praktischunbrauchbar. Nur wenn das Amplitudenspektrum von f nahezu konstant ist, können wirmit dem Invers-Filter stabil die Verschiebung bestimmen.

Kreuzkorrelation Die Kreuzkorrelation ist nur ein Synonym für das Wort Korrelation,das wir im Abschn. 2.1.2 eingeführt haben:

( f ○ g)n = ∑ifn+i gi , ( f ○ g)m ,n = ∑

i∑jfm+i ,n+ j gi , j (19.109)

( f ○ g)(t) = ∫B

f (t + ξ)g(ξ)dξ, ( f ○ g)(t , t) = ∬B

f (t + ξ, t + η)g(ξ, η)dξdη.

(19.110)

Diese berechnen wir für zwei Bilder oder Bild-Blöcke, die sich nur durch eine Translati-on unterscheiden dürfen. Von der Kreuzkorrelation berechnen wir dann die Koordinatendes Maximums, die die Verschiebung repräsentieren. Dadurch erhalten wir die Verschie-bung nur mit Pixelgenauigkeit, für subpixelgenaue Berechnungen wird auf Abschn. 19.8.4verwiesen. Numerisch berechnen wir die Kreuzkorrelation mittels der FFT, da sich dasSpektrum analog Abschn. 4.9 und (4.33) berechnet. Da wir gleichzeitig die Spektren zwei-er Bilder benötigen, können wir zusätzlich noch den Trick aus Abschn. 4.21.1 verwendenund somit die Kreuzkorrelation effektiv implementieren.

Phasenkorrelation Die Phasenkorrelation ist auch eine sehr robuste Methode zur Trans-lationsbestimmung. Sie wurde bereits 1975 von Kuglin und Hines [37] eingeführt. Wirnehmen wieder an, dass f ′ = Sn f die Verschiebung von f ist. Vom Verschiebungstheo-rem αk( f ′) = αk( f )e−πin

kN wissen wir, dass das Ampltudenspektrum invariant ist, d. h.

∣αk( f ′)∣ = ∣αk( f )∣. Weiterhin nutzen wir wieder die Faltungsbeziehung bezüglich derTranslation:

f ′ = Sn f = Sn( f ∗ δ) = f ∗ Snδ → αk(Snδ) = C ⋅αk( f ′)αk( f )

. (19.111)

Page 556: Bildverarbeitung und Objekterkennung ||

19.8 Matching 551

Nun erweitern wir Zähler und Nenner und nutzen die Invarianz des Amplitudenspek-trums:

αk(Snδ) = C ⋅αk( f ′)αk( f )

= C ⋅αk( f ′)αk( f )αk( f )αk( f )

= C ⋅αk( f ′)αk( f )

∣αk( f )∣

= C ⋅αk( f ′)αk( f )

∣αk( f ′)∣∣αk( f )∣. (19.112)

Damit erhalten wir für die Phasenkorrelation:

αk(Snδ) = C ⋅αk( f ′)αk( f )

∣αk( f ′)∣∣αk( f )∣. (19.113)

Auf der linken Seite steht das Spektrum des verschobenen Einheitsimpulses. Der Zählerauf der rechten Seite ist das Spektrum der Kreuzkorrelation von f ′ mit f . Der Nenner istder Betrag des Zählers, damit abstrahieren wir von der Amplitude der Kreuzkorrelationund nutzen nur noch die Phase, daher der Name Phasenkorrelation. Das Abstrahieren vonder Amplitude in dieser Form hatten wir in Abschn. 4.20 als „whitening“, also als „weiß“-machen eines Bildes bezeichnet. Die Phasenkorrelation ist demzufolge nichts anderes alswhitening der Kreuzkorrelation.Wennwir noch zusätzlich photometrische Schwankungenals lineares Modell annehmen, d. h. f ′′ = a ⋅ f ′ + bmit αk( f ′′) = a ⋅ αk( f ′), k ≠ , a > , sofolgt:

αk(Snδ) = C ⋅αk( f ′)αk( f )

∣αk( f ′)∣∣αk( f )∣= C ⋅

αk( f ′′)αk( f )∣αk( f ′′)∣∣αk( f )∣

, k ≠ . (19.114)

Da der nullte Fourierkoeffizient nur für die Helligkeit des verschobenen Einheitsimpulseszuständig ist, ist die Phasenkorrelation invariant gegenüber linearen Kontrast- und Hellig-keitsänderungen. In Abb. 19.4 ist links das Originalbild, in der Mitte das verschobene Bildund rechts das Ergebnis der Phasenkorrelation zu sehen. Der deutlich zu sehende Peak,der die Verschiebung bestimmt, wurde durch einen Kreis markiert. Trotz deutlicher Stö-rungen bezüglich der Verschiebung kann der Peak sicher gefunden werden, man brauchtdazu nicht einmal eine Fensterfunktion um die Randeffekte zu lindern.

SDR-Methode Die Methode Shift Detection by Restoration fasst die Inverse Faltung(19.108) als Restaurationsproblem auf:

f ′ = f ∗ Snδ + N , (19.115)

wobei N Rauschen und alle anderen Störungen und Fehler beschreiben soll. In der klassi-schen Restauration beschreibt N im Allgemeinen nur das klassische Rauschen. Als Restau-rationsmethode nehmen wir die Methode Restauration unter Zwang, siehe Abschn. 9.5.2.

Page 557: Bildverarbeitung und Objekterkennung ||

552 19 Momente, Matching und Merkmale

Abb. 19.4 a Originalbild, b Nach rechts verschobenes Bild, c Ergebnis der Phasenkorrelation

Daher können wir sofort für den restaurierten, verschobenen Einheitsimpuls (9.63) benut-zen. Wir schreiben diese noch einmal für (19.115) auf:

αk(Snδ) ≈ C ⋅αk( f ′) ⋅ αk( f )∣αk( f )∣ + β

. (19.116)

Die Größe β beschreibt die „Stärke“ der Fehler und muss empirisch festgelegt werden,sie ist aber sehr robust und eine Größe von , hat sich in vielen Anwendungen als ro-bust und stabil erwiesen. Allerdings hängt dieser Term β auch von der Bilddimension abund sollte deshalb immer empirisch überprüft werden. Wir können β als eine Art „Stell-schraube“ oder Regularisierungsparameter interpretieren. Für β → geht (19.116) in dieinverse Faltung (19.108) über. Für β → ∞ geht (19.116) in die Kreuzkorrelation über, sieheAbschn. 4.9. Daher ist die SDR-Methode auffassbar als regularisierte inverse Faltung undregularisierte Kreuzkorrelation. Man kann den verschobenen Einheitsimpuls aus (19.115)auch mit den anderen Restaurationsmethoden berechnen, siehe Abschn. 9.5.

Cepstrum-Methode Im Abschn. 4.22 wurde das komplexe Cepstrum c( f ) und das powercepstrum pc( f ) eingeführt. Wir gehen jetzt davon aus, dass nicht ein Bild f und dessenVerschiebung f ′ gegeben sind, sondern nur deren Überlagerung g = f + f ′ = f ′ + f .Und nur aus der Überlagerung g und sonst nichts wollen wir die Verschiebung bestimmen.Dazu bilden wir

g = f + f ′ = f + Sn f = f ∗ δ + Sn f ∗ δ = f ∗ (δ + Snδ). (19.117)

Wir können nun keine inverse Faltung anwenden, da wir f nicht kennen. Wenn wir aberauf der rechten Seite eine additive Überlagerung von f und δ+Snδ erreichen würden, dannwürde der verschobene Einheitsimpuls bestimmbar sein, egal wie f aussieht, da dieser sichin jedem Bild abhebenmüsste. Alsomüssen wir „irgendwie“ aus der Faltung eine Additionmachen. Mit dem Faltungstheorem wird die Faltung eine Multiplikation, logarithmieren

Page 558: Bildverarbeitung und Objekterkennung ||

19.8 Matching 553

wir diese nun, dann wird aus der Multiplikation tatsächlich eine Addition. Wir beschrän-ken uns in der Herleitung wieder auf das Bildmodell D1[N]. Folglich gilt nach Anwendungdes Faltungstheorems auf (19.117):

αk(g) =√Nαk( f ) ⋅ (

√N

+

√Ne−πin

kN ) . (19.118)

Jetzt müssen wir die Multiplikation beseitigen indem wir logarithmieren:

log αk(g) = log αk( f ) + log ( + e−πinkN ). (19.119)

Man beachte: die Logarithmen beziehen sich auf komplexe Größen. Das logarithmierteSpektrum in (19.119) lässt sich nicht so einfach zurücktransformieren. Es fällt aber auf, dassder zweite Logarithmus die Form log ( + z) hat. Dafür benutzen wir nun die klassischeEntwicklung in eine komplexe Potenzreihe:

log ( + z) =∞

∑m=

(−)m+zm

m, (19.120)

die für ∣z∣ ≤ konvergiert. Damit ist:

α−l (log ( + e−πinkN )) =

∑m=

(−)m+

m

√N

N−∑j=

e−πinmjN ⋅ e+πi l

jN

=∞

∑m=

(−)m+

m

√N

N−∑j=

e+πi(l−n⋅m)jN . (19.121)

Bevor wir diese Reihe genauer betrachten erinnern wir uns an:

αl(δ) =

√N, δl =

N

N−∑j=

e+πi ljN

→ (Snδ)l = δl−n =N

N−∑j=

e+πi(l−n)jN . (19.122)

Daraus folgt nun:

c(g) = α−l (log α(g)) = α−l (log α( f )) +∞

∑m=

(−)m+

m

√Nδl−n⋅m . (19.123)

Nun gilt aber ebenso:

g = S−n f ′ + f ′ = f ′ ∗ (δ + S

−nδ) (19.124)

Page 559: Bildverarbeitung und Objekterkennung ||

554 19 Momente, Matching und Merkmale

und damit:

c(g) = α−l (log α(g)) = α−l (log α( f ′)) +∞

∑m=

(−)m+

m

√Nδl+n⋅m . (19.125)

Wenn wir also das komplexe Cepstrum c(g) der überlagerten Bilder berechnen, erhaltenwir „irgendein“ Bild, das mit einer abfallenden Folge von verschobenen Einheitsimpulsenüberlagert ist. Diese liegen symmetrisch zum Koordinatenursprung. Wir bestimmen alsoden „ersten“ Peak nahe des Koordinatenursprungs, dessen Koordinaten beschreiben dieabsolute Verschiebung. Da wir komplexe Logarithmen berechnen müssen, interessiert dieFrage, ob dies auch mit dem power cepstrum pc(g) funktioniert? Dazu quadrieren wir dieGleichung:

αk(g) = αk( f ) ⋅ ( + e−πinkN ) (19.126)

und erhalten:

log ∣αk(g)∣ = log ∣αk( f )∣ + log ∣( + e−πinkN )∣. (19.127)

Jetzt benutzen wir die einfache Beziehung:

log ∣ + z∣ = log ( + z)( + z) = log ( + z) + log ( + z), (19.128)

womitwir diese Formauf die obige des komplexenCepstrums zurückgeführt haben.Damiterhalten wir für die Rücktransformation die Summe zweier Reihen

α−l (log ∣α(g)∣) = α−l (log ∣α( f )∣) +∞

∑m=

(−)m+

m

√Nδl−n⋅m

+∞

∑m=

(−)m+

m√Nδl+n⋅m . (19.129)

Damit könnten wir eigentlich schon aufhören, da wir tatsächlich ein ähnliches Ergebniserhalten haben. Wir können aber auch formal noch das endgültige power cepstrum bildenund die linke und rechte Seite quadrieren und erhalten formal

pc(g) = ∣α−l (log ∣α(g)∣)∣= ∣α−l (log ∣α( f )∣)∣

+∞

∑m=

amδl−n⋅m +∞

∑m=

bmδl+n⋅m , am , bm ∈ R. (19.130)

Wir können also auch das „vollständige“ power cepstrum benutzen.

Page 560: Bildverarbeitung und Objekterkennung ||

19.8 Matching 555

Translationen und Subpixel-Genauigkeit Bei vielen Methoden zur Translationsbestim-mung haben wir zum Schluss das Spektrum zurücktransformiert und das Maximum be-stimmt. Die Koordinaten des Maximums nehmen wir als Koordinaten der Verschiebung.Da wir dies aber im Quadratgitter der Pixel tun, kann dasMaximum nur imQuadratgitterbestimmt werden und ist damit immer ganzzahlig. Häufig wird dann in der Praxis, z. B.bei der Kreuzkorrelation, an die Punkte in der Nähe des Maximums eine Funktion gefittet(z. B. eine Parabel). Anschließend wird dasMaximum dieser Funktion bestimmt und dieseKoordinaten sind nicht mehr ganzzahlig. Dies liefert oft gute Ergebnisse, ist aber nur einheuristisch begründetes Herangehen. Wir können nun signaltheoretisch ein anderes, abertheoretisch begründetes Vorgehen angeben.

Wenn zwei Bilder mit je N Pixeln je so bandbegrenzt sind, sodass wir je aus den NPixeln das Original rekonstruieren können, also das trigonometrische Interpolationspo-lynom, dann ist das Ergebnisbild, z. B. die Kreuzkorrelation, auch bandbegrenzt und kannauch vollständig rekonstruiertwerden.Wirmüssten dann dasMaximumdieses trigonome-trischen Interpolationspolynoms bestimmen und erhalten die Koordinaten mit Subpixel-Genauigkeit. Dies ist relativ aufwendig. Eine gröbere, aber schnellere Methode ist das Zeropadding. Bevor wir das Ergebnisspektrum zurücktransformieren, füllen wir Nullen auf.Füllen wir Nullen auf die doppelte Größe auf, erhalten wir die Genauigkeit mit / Pixel,füllen wir z. B. auf die zehnfache Größe auf, erhalten wir die Genauigkeit mit / Pixelusw. Es enstehen sehr große Bilder mit viel Speicherplatz, was man aber durch geschickteVerwaltung umgehen kann.

In [25] wurden verschiedene Interpolations-Methoden zur subpixelgenauen Registrie-rung verglichen. Die Fourierbasierte trigonometrische Interpolation lieferte die besten Er-gebnisse, allerdings steht dieser der hohe Rechenaufwand entgegen. Möchte man unterab-getastete Bilder mit Subpixelgenauigkeit registrieren, dann muss man vorher ideale Tief-pässe anwenden, siehe dazu Abschn. 5.1.

Reine Rotationen Liegen nur Rotationen vor, dann gibt es ein besonders einfaches si-gnalorientiertes Verfahren. Wann eine reine Rotation vorliegen könnte, werden wir späterklären. Die Idee ist jedenfalls sehr simpel, wir führen durch Polarkoordinaten die Rotati-on auf eine Verschiebung zurück und bestimmen die Verschiebung. Wir transformierenfolglich jedes Bild in Polarkoordinaten r, φ. Damit wird die analoge Grauwertfunktionf (x , y) in die analoge Funktion f Pol(r, φ) = f (r cosφ, r sinφ) transformiert. Bezüglichdes Polarwinkels φ unterscheiden sich die Bilder nur durch eine 1D-Translation, obwohldie Polarbilder 2D-Bilder sind. Umdie Rotation und damit diese 1D-Translation effizienterzu bestimmen, bilden wir aus jedem Polarbild (praktisch aber direkt aus den Ausgangsbil-dern) die 1D-Funktion:

h(α) =α+ δα

∫α− δα

f Pol(r, φ)drdφ. (19.131)

Page 561: Bildverarbeitung und Objekterkennung ||

556 19 Momente, Matching und Merkmale

60

80

100

120

140

160

180

200

0 50 100 150 200 250 300 350

1D-polar curve

Abb. 19.5 Verschobene 1D-Polarfunktionen

Jetzt brauchen wir nur noch die Verschiebung dieser 1D-Bilder zu berechnen. Da die Bil-der aber alle diskret sind und durch den Rand „hart“ beschnitten sind, müssen wir ein paarÜberlegungen zur praktischen Realisierung anstellen.Wirmüssen also in einemSektor alleGrauwerte addieren, bzw. besser den Mittelwert berechnen, um unterschiedliche Anzah-len von Grauwerten im Sektor zu normieren. Da nach einer Rotation der Rand Strukturen„wegschneidet“ oder es kommen neue hinzu, müssen wir diese Strukturen eliminieren.Wir legen vom Bildmittelpunkt aus gedanklich einen Kreis mit einem geeigneten Durch-messer ρ für alle Bilder und beziehen uns nur noch auf diese Kreise. Nun müssen wir αdiskretisieren, z. B. auf eine Genauigkeit von , Grad. Da aber in der Nähe des Koordina-tenursprungs die Diskretisierung zu grob ist, legen wir noch einen kleinen Kreis fest, beidem wir die Grauwerte ausschließen. Der Durchmesser des kleinen Kreises könnte z. B.bei ρ

liegen. So wurde z. B. das Lenna-Bild aus Abb. 1.8a und das um ca. 11 Grad rotierteLenna-Bild in diese 1D-Polarform überführt. In der Abb. 19.5 sieht man deutlich die Ver-schiebung der beidenKurven zueinander. In denmeisten praktischenAnwendungen reichtdiese 1D-Methode aus. Man muss sich aber im Klaren sein, dass wir das 2D-Polarbild inein 1D-Polarbild projizieren, also in einen Unterraum und dies führt zu einem Informati-onsverlust. Man kann also Bilder finden, wo wir die Translation auf den 2D-Polarbildernbestimmen müssen, weil dies auf den 1D-Polarbildern nicht mehr funktioniert.

Page 562: Bildverarbeitung und Objekterkennung ||

19.8 Matching 557

Euklidische Transformationen Eine sehr häufig vorkommende Transformation ist dieRotation verbundenmit Translationen (Spiegelungen schließen wir hier einmal aus). Dannwenden wir folgendes Standardverfahren an:

• Wir versuchen zunächst, die beiden Bilder so zu transformieren, dass die Translationzwischen den beiden verschwindet, die Rotation aber erhalten bleibt. Im Abschn. 4.26hatten wir hergeleitet: Wenn zwei Bilder f(x , y) und f(x , y) sich nur durch eine Ro-tation und eine Translation unterscheiden, dann unterscheiden sich die Amplituden-spektren ∣α(u, v)∣ und ∣α(u, v)∣ der beiden Bilder nur noch durch die Rotation, dieTranslation ist eliminiert. Damit liegt tatsächlich ein praktisch relevanter Fall vor, wannsich zwei Bilder (wenn es auch nur die Amplitudenspektren sind) durch eine „reine“Rotation unterscheiden.

• Wir bestimmen die „reine“ Rotation der beiden Amplitudenspektren mit der Methodeaus dem Teil „Reine Rotationen“ des Abschn. 19.8.4. Eine Kleinigkeit ist noch zu beden-ken. Da bei reellen Funktionen die Fourierkoeffizienten konjugiert komplex bezüglichdes Koordinatenursprungs auftreten, ist das Amplitudenspektrum am Koordinatenur-sprung gespiegelt, also spiegelsymmetrisch. Daher könnenwir Rotationen nur noch von−90 Grad bis +90 Grad bestimmen, dies reicht aber in den meisten Fällen völlig aus.

• Wir rotieren nun mit dem ermittelten Rotationswinkel eines der beiden Bilder, so dasssich das eine Bild und das transformierte Bild nur noch durch die Translation unter-scheiden.

• Jetzt können wir die Translation bestimmen.

Die nächsthöhere Stufe sind Ähnlichkeitstransformationen.

Ähnlichkeitstransformationen Kommen zu den Euklidischen Transformationen nochisotrope Skalierungen hinzu, sprechen wir von Ähnlichkeitstransformationen, die in derEbene aus vier zu bestimmenden Parametern bestehen: der Translation ( Parameter), derRotation ( Parameter) und der isotropen Skalierung ( Parameter). Nun nutzen wir diegleiche Idee wie im Teil „Euklidische Transformationen“ des Abschn. 19.8.4 zur Eliminie-rung der Translation. Wir bilden von beiden Bildern die Amplitudenspektren ∣α(u, v)∣und ∣α(u, v)∣, welche translations-invariant sind. Nun wollen wir wieder die Bestimmungder „restlichen“ Parameter (Rotation und Skalierung) auf die Bestimmung einer 2D-Translation zurückführen. Dazu nutzen wir die Idee der Fourier-Mellin-Transformation(siehe Abschn. 3.6) oder auch nur der log-polar Transformation. Wir überführen folglichdie beiden Amplitudenspektren in ihre log-polar-Darstellung, die sich nur noch durch eine2D-Translation unterscheiden. Diese berechnen wir nun, damit haben wir die Rotationund die Skalierung bestimmt. Anschließend transformieren wir die beiden Originalbil-der mit diesen beiden Parametern und bestimmen aus diesem Bildpaar die eigentlicheTranslation.

Page 563: Bildverarbeitung und Objekterkennung ||

558 19 Momente, Matching und Merkmale

Abb. 19.6 Fundus oculi: Aufnahme des Augenhintergrundes. a Referenzbild 1, b Referenzbild 2

Abb. 19.7 a Referenzbild 2 aus Abb. 19.6b grob affin transformiert und zur Deckung mit Referenz-bild 1 aus Abb. 19.6a gebracht, b Bild aus a durch Blockmatching genauer zur Deckung mit Bild ausAbb. 19.6a gebracht: Im Differenzbild sind gut die krankhaften Veränderungen zu erkennen

Affine Transformationen Die signalbasierte affine Registrierung zweier Bilder ist schonein recht schwieriges Problem. Eine möglich Idee ist das Blockmatching, siehe auch Ab-schn. 4.21.1. Wir verteilen gleichmäßig über beide Bilder eine Anzahl von Blöcken einerbestimmten Größe. Nun bestimmen wir für alle Blockpaare des Quell- und Zielbildes dieVerschiebung und zwar mit einer der bisher behandelten Methoden. Als Resultat erhaltenwir eine Liste von Quellpunkten und den verschobenen Zielpunkten. An diese Liste pas-sen wir mit der LSE-Methode eine affine Transformation an. Diese Methode funktioniertnur dann, wenn wir lokal und näherungsweise die affine Transformation als Verschiebungmodellieren können. Eine typische Anwendung dazu ist in den Abb. 19.6 und 19.7 zu se-hen. In Abb. 19.6a ist ein Fundus-Bild zu sehen. In Abb. 19.6b ist eine spätere Aufnahmemit krankhaften Veränderungen zu sehen. Aufgabe ist nun, diese zu registrieren, um diekrankhaften Veränderungen besser zu beurteilen. Die Blockmatching-Methode lässt sichnicht sofort anwenden, da die Veränderungen von Abb. 19.6a zu 19.6b zu groß sind. Daher

Page 564: Bildverarbeitung und Objekterkennung ||

19.8 Matching 559

wird zunächst durch interaktive Auswahl von Referenzpunkten eine grobe affine Trans-formation bestimmt, das Ergebnis der Transformation von Abb. 19.6a ist in Abb. 19.7a zusehen. Nun wird die Blockmatching-Methode auf die Abb. 19.7a und 19.6a angewendet,eine affine Transformation bestimmt und das Abb. 19.6a affin transformiert. Die Differenzdes Ergebnisbildes zum Referenzbild 1 (Abb. 19.6a) ist in Abb. 19.7b zu sehen. Die Regis-trierung ist perfekt gelungen.

Geordnete Punktmengen Nun betrachten wir die affine Registrierung von Objekten mitgeschlossenen Konturen. Die geschlossenen Konturen zweier (flächiger) Objekte sollenverglichen werden bzw. registriert werden. Diese sollen durch eine affineTransformationTineinander überführbar sein. Da die Konturpunkte einer Ordnung unterliegen und durchDiskretisierungseffekte Stauchungen und Streckungen auftreten, bietet sich als Matching-methode das time warping an, allerdings über der Gruppe der affinen Transformationen.Da eine Optimierung über dem Raum der affinen Transformationen schon sehr aufwen-dig ist, verwenden wir eine andere Idee. Wir ordnen jedem Konturpunkt Merkmale zu, dieaffin invariant sein müssen, dann können wir wir das time warping direkt benutzen. Fürjeden Konturpunkt ist nun zu berechnen:

• Wir legen gedanklich in den ausgewählten Konturpunkt den Koordinatenursprung,d. h. der Koordinatenursprung wechselt immer, wenn wir einen neuen Konturpunktauswählen. Nun legen wir eine affin kovariante Umgebung U des Konturpunktes fest.Für affine Transformationen ist dies schwierig, deshalb wählen wir als Umgebung dasgesamte Objekt. Für Euklidische Transformationen wählen wir einen Kreis mit einemfesten Radius.

• Bezüglich des gewählten Koordinatenursprungs und der Umgebung U berechnen wirjetzt die affinen Momentinvarianten H

− ,H,H , . . . ,H, siehe Abschn. 19.5. Der we-sentliche Unterschied ist aber nun, es dürfen nicht die zentralen Momente eingehen,sondern die Momente sind bezüglich des festgelegten Koordinatenursprungs und derUmgebung U zu berechnen. Die Momente werden also nur bezüglich der Trägheits-ellipse nomalisiert und dann die Rotationsinvarianten berechnet. Die Invarianten sindnun invariant gegen den linearen Anteil A einer affinen Transformation. Daher könnenwir auch die InvarianteH benutzen, da dieMomente ersterOrdnungnicht normalisiertwerden. Folglich benutzen wir dieMomente bis vierter Ordnung und demzufolge die 11Invarianten H ,H,H, . . . ,H. Die Invarianten H und H sind nicht verwendbar, dasie durch die Normalisierung der Trägheitsellipse stets konstant sind. Bei EuklidischenTransformationen normalisieren wir nichts, es werden die „reinen“ Rotationsinvarian-ten verwendet.

• Nun haben wir jedem Punkt aus der geordneten Konturpunktfolge einen 11-dimensio-nalenMerkmalsvektor aus den Invarianten zugeordnet. Dies tunwir für das ersteObjektBmit (xi , yi), i = , . . . ,m und für das zweite Objekt B′mit (x′j , y

j), j = , . . . , n. In derRegel ist m ≠ n. Die Nummerierung der Punkte beginnt jeweils mit einem willkürlichgewählten Punkt, d. h. es liegt eine zyklische Ordnung vor.

Page 565: Bildverarbeitung und Objekterkennung ||

560 19 Momente, Matching und Merkmale

Abb. 19.8 Distanz-Funktion und detektierter, optimaler Pfad

• Jetzt ist das Referenzproblem zu lösen. Es sind die Punkte aus B den Punkten aus B′

zuzuordnen, die die gleichen Invarianten besitzen, und dies möglichst eindeutig. Dazubenutzen wir ein Matchingmaß, z. B. die Euklidische Metrik und ordnen mit dem timewarping die Punkte einander zu, da Stauchungen und Streckungen auftreten müssenund wir die gegebene Ordnung der Konturpunkte ausnutzen müssen.

Zuordnung mittels Dynamischer Programmierung Zunächst berechnen wir eine Kos-tenfunktion dist(i , j) zwischen dem Merkmalsvektor des i-ten Punktes aus B und demMerkmalsvektor des j-ten Punktes aus B′. Wenn dieMerkmalsvektoren ähnlich sind, dannsollte es geringe Kosten geben und wenn sie unähnlich sind, dann sollte es große Kostengeben.Die einfachsteKostenfunktion ist der EuklidischeAbstand zwischen denMerkmals-vektoren, den wir auch im Folgenden benutzen werden. In der Abb. 19.8 ist eine typischeDistanzmatrix oder Distanzfunktion im linken Teil zu sehen. Wir suchen nun einen Pfadmit minimalen Kosten, d. h. eine Folge von Referenzpunktepaaren (i , j) von der erstenSpalte bis zur letzten Spalte, wobei wieder gilt:

∑(i , j)∈Pfad

d(i , j) → Minimum. (19.132)

Wir wollen dabei das Grundprinzip der Dynamischen Programmierung nutzen, siehe Ab-schn. 10.7.1. Da wir von geordneten, aber zyklischen Punktfolgen ausgehen, müssen wirdie Periodizität unbedingt beachten. Endet also ein Pfad an der unteren oder oberen Ma-trixgrenze, dann ist der Pfad periodisch fortzusetzen. In Abb.19.8 ist beim optimalen Pfaddie periodische Fortsetzung deutlich zu sehen.Nun wollen wir den optimalen Pfad berech-nen. Dazu nehmen wir an, dass es in horizontaler Richtung (Index i) mehr Punkte als invertikaler Richtung (Index j) gibt, notfalls vertauschen wir einfach die Punktmengen. Da-mit haben wir eine ähnliche Situation wie beim Bresenham-Algorithmus zum Bestimmeneines dgitalen Geradensegmentes: in i-Richtung wird immer um eins inkrementiert, wäh-rend in j-Richtung entweder um eins inkrementiert wird oder nicht inkrementiert wird.

Page 566: Bildverarbeitung und Objekterkennung ||

19.8 Matching 561

Der Unterschied zum Bresenham-Algorithmus besteht nur in der Entscheidung, wann beij inkrementiert wird, somit entsteht natürlich keine digitale Gerade. Damit können einemj-ten Punkt mehrere i-te Punkte zugeordnet werden, aber nicht umgekehrt. Der Pfad istalso monoton nicht fallend. In Abb. 19.8 ist der Koordinatenursprung „links oben“.

Vorwärtssrechnung Nun legen wir eine (Summen)-Matrix/Funktion c(i , j) der gleichenDimension wie d(i , j) an und übertragen die erste Spalte von d(i , j) nach c(i , j). Jetztwird die (Summen)-Funktion/Matrix c(i , j) ab der zweiten Spalte durch eine sogenannteVorwärtsrechnung gefüllt:

c(i , j) = min(c(i − , j), c(i − , j − )) + d(i , j). (19.133)

Falls die affine Transformation eine Spiegelung enthält, dann können sich die Ordnungenin den Punktmengen „umdrehen“. In diesem Falle müssen wir eine zweite (Summen)-Funktion/Matrix c(i , j) anlegen und füllen:

c(i , j) = min(c(i − , j), c(i − , j + )) + d(i , j). (19.134)

Im Falle von Spiegelungen führen wir also zwei (Summen)-Funktionen/Matrizen, ansons-ten nur eine. Nun entnehmen wir aus der letzten Spalte der (Summen)-Funktion/Matrixdie beiden Größen

minimale_kosten = minj=,... ,n

(c(m, j)), j∗ = argminj=,... ,n

(c(m, j)), (19.135)

und legen nun diejenige von den beiden (Summen)-Funktionen/Matrizen fest, die die klei-nere Größe von minimale_kosten besitzt. Nun haben wir die minimale Kostensumme desoptimalen Pfades berechnet, aber den optimalen Pfad selbst noch nicht. Dazu führen wirjetzt eine Rückwärtsrechnung durch.

Rückwärtsrechnung

• Entsprechend der Wahl der (Summen)-Funktion/Matrix wissen wir, ob die Vorgängereines Punktes (i , j) in der Funktion/Matrix nach (19.133) oder (19.134) zu wählen sind.

• Wir beginnen beim Punkt (m, j∗) in der letzten Spalte.• Da wir nun die zulässigen Vorgänger dieses Punktes kennen, wählen wir denjenigen

aus, der in der (Summen)-Funktion/Matrix den kleineren Wert c besitzt.• Dies wiederholen wir nun solange, bis wir in der ersten Spalte angekommen sind. Da-

bei müssen wir bezüglich der Vorgänger in der obersten und untersten Matrixzeile diePeriodizität unbedingt beachten.

• In der Abb. 19.8 ist so der optimale Pfad ermittelt worden.• Die Komplexität des gesamten Algorithmus beträgt O(m ⋅ n).

Page 567: Bildverarbeitung und Objekterkennung ||

562 19 Momente, Matching und Merkmale

Abb. 19.9 Referenzpunkte und affin transformiertes Objekt

• Eigentlich müssten wir berücksichtigen, dass der Nachfolger des Punktes (m, j∗) zy-klisch der Startpunkt in der ersten Spalte sein muss. Tun wir dies, erhöht sich sofort dieKomplexität des Algorithmus. Praktische Erfahrungen haben gezeigt, dass dies nichtnötig ist.

Bestimmung der affinen Transformation

• Durch den optimalen Pfad haben wir eine Liste von Punktreferenzen bestimmt, wobeies für einen Punkt durchausmehrere Referenzpunkte geben kann. Da die mehrdeutigenReferenzpunkte Nachbarpunkte sein müssen, stören sie nicht und können in der Listeverbleiben.

• Für jedes Referenzpaar können wir noch ein Gewicht eintragen, z. B. die Kosten d(i , j).• Nun bestimmen wir mit der LSE-Methode oder noch besser mit der LAD-Methode

die affine Transformation T und transformieren z. B. das Objekt B mit A = TB. Mitder LSE-Methode führt dies auf die Gaußschen Normalengleichungen mit den 6 Un-bekannten der affinen Transformation. Benutzen wir dagegen die LAD-Methode, dannist dies numerisch aufwendiger und wir benutzen wieder die Lineare Programmierung.Zum Schluß vergleichen wir die Ähnlichkeit von A und B′ mit einem ungerichtetenMatchingmaß d(A, B′).

• Das Verfahren kann auch zur affinen Registrierung benutzt werden. DieMomente einesBinärobjektes können auch durch Grauwertmomente ersetzt werden, wenn im Innernder Objekte die Grauwerte zur Verfügung stehen. Allerdings sollte man dann auf Be-leuchtungsschwankungen achten oder die Invarianten sollten zusätzlich noch invariantgegenüber Beleuchtungsänderungen sein.

In der Abb. 19.9 wird die innere Kontur affin transformiert und mit Rauschen überlagert.Man sieht dieReferenzen unddas Ergebnis desMatchings. In derAbb. 19.10wird die innereKontur transformiert und mit einer starken Störung versehen. Das Matchingresultat isttrotzdem korrekt, was die große Robustheit dieses Verfahrens zeigt.

Page 568: Bildverarbeitung und Objekterkennung ||

19.8 Matching 563

Abb. 19.10 Referenzpunkte und affin transformiertes Objekt

Ungeordnete Mengen von Referenzpunkten Sind die Punkte nicht geordnet, dann än-dert sich nur das Zuordnungsverfahren, z. B. ist dann die dynamische Programmierungnicht anwendbar, sondern wir nutzen z. B. den ICP-Algorithmus oder die Ungarische Me-thode usw. Haben wir die Umgebung eines Punktes festgelegt, dann berechnen wir von derUmgebung des Punktes die signalbasierten Momentinvarianten. Betrachten wir z. B. nurEuklidische Transformationen, dann können wir als Umgebung der ausgewählten Punk-te einen Kreis mit festem Radius wählen und dann berechnen wir als Merkmale natürlichnur nochMomentinvarianten bezüglich Euklidischer Transformationen. Diese Idee wurdesogar zur Registrierung von 3D-Punktwolken benutzt, siehe [76]. Dabei ist die Umgebungeine Kugel mit festem Radius, dieMomente sindOberflächenmomente bezüglich der Drei-ecke der Oberfläche und die Momentinvarianten sind 3D-Rotations-Momentinvarianten.

Eine völlig andere Frage ist, wo bekommt man eigentlich die Referenzpunkte her, diesemüssen ja selbst kovariant sein?

• Wir rastern das Bild/Objekt/Kontur mit Punkten „dicht genug“ ab, dann ist der Feh-ler bezüglich der Kovarianz nur noch durch die „Dichte“ der Rasterung bestimmt. EinNachteil ist, wir erzeugen somit sehr viele Referenzpunkte. Im Abschn. 19.8.4 hattenwir dies für die Punkte der Kontur getan, daher sind die Konturpunkte näherungsweisekovariant.

• Wir berechnen aus dem Bild/Objekt nur Punkte als Referenzpunkte, die kovariant sind.Dazu müssen wir natürlich Eigenschaften nutzen, die uns dies garantieren. Berech-nen wir z. B. aus dem Bild/Objekt die MSER-Bereiche und anschließend von diesen dieSchwerpunkte, so haben wir tatsächlich affin-kovariante Referenzpunkte ermittelt.

• Besonders einfach wird die Wahl der Referenzpunkte, wenn wir eine endliche, diskre-te Punktmenge P und deren Transformierte Q von vornherein zur Verfügung haben.Dann spricht man auch von Point pattern matching. Wir nehmen einmal die Gleich-mächtigkeit der Mengen an, d. h. ∣P∣ = ∣Q∣ = n. Dann können wir einfach jeden Punktp ∈ P und q ∈ Q als Referenzpunkt wählen. Jetzt legen wir wieder für jeden Referenz-

Page 569: Bildverarbeitung und Objekterkennung ||

564 19 Momente, Matching und Merkmale

punkt eine kovariante Umgebung fest, z. B. einen Kreis bei Euklidischen Transformatio-nen oder die gesamte diskrete Punktmenge P bzw. Q als globale Umgebung. Bezüglichder gewählten Umgebung, die jetzt aus einer endlichen, diskreten Punktmenge besteht,berechnen wir die Momentinvarianten. In die Momentinvarianten gehen aber nun diePunktmomente (19.6) ein. Bei der Normalisierung der Punktmomente bezüglich derTrägheitsellipse ist der Unterschied zur Normalisierung der Linien-und Flächenmo-mente zu beachten, siehe Abschn. 19.3. Die Normalisierung bez. der Translation darfnicht erfolgen, der Koordinatenursprung ist wieder der jeweilige Referenzpunkt. DieRotationsinvariantenH,H,H, . . . ,H können nach der Normalisierung wieder un-eingeschränkt verwendet werden, so dass jedem Referenzpunkt in P als auch in Q ein11-dimensionaler Merkmalsvektor zugeordnet ist, der invariant gegenhüber dem linea-ren Anteil A einer affinen Transformation ist. Nun stellen wir wieder die Kostenmatrixauf (Euklidischer Abstand zwischen den Merkmalsvektoren der Mengen P und Q) undberechnen (z. B. mit der Ungarischen Methode) die eineindeutigen Zuordnungen derPunkte aus P zu den Punkten ausQ. Wir erhalten demzufolge als Endergebnis eine Per-mutationsmatrix, siehe [85].

Kannman eigentlich eine Kostenfunktion aufstellen ohne die Wahl von Umgebungen unddie Berechnung von Merkmalen aus den Umgebungen? Dies geht tatsächlich. Wir gehendirekt vomZuordnungsproblemund einerKostenfunktion c(p, q) aus undwollen die opti-male Permutation der Zuordnungsindizes berechnen.Man formuliert dies oft alsMatchingin bipartiten Graphen. Wir bezeichnen mit (k , k, . . . , ki , . . . , kn) eine Permutation derIndizes der Punkte p , . . . , pn bzw. der Punkte q , . . . , qn und nehmen die Gleichmäch-tigkeit der Punktmengen P und Q an. Wir müssen nun eine Permutation finden, die dieAufgabe

S =n∑i=

c(pi , qki) → Minimum (19.136)

löst. Das wesentliche Problem ist nun: wie kann man die Kostenfunktion c(p, q) wählen,so dass wir die richtige Zuordnung der Punkte bezüglich einer affinen Transformation er-halten? Dazu wählen wir als Transformation zunächst eine einfache Translation

qi = pi + a, i = , . . . , n, (19.137)

wobei aT = (a, a) der Translationsvektor ist.Wennwir nun als Kosten die EuklidischenAbstände d(pi , qki) = ∣pi − qki ∣ wählen, dann kann man mit einem einfachen Beispielzeigen, dass das Optimum nicht die richtige Permutation liefert. Daher versuchen wir esmit den Quadraten der Euklidischen Abstände:

S =n∑i=

c(pi , qki ) =n∑i=

∣pi − qki ∣ → Minimum. (19.138)

Page 570: Bildverarbeitung und Objekterkennung ||

19.8 Matching 565

Wir setzen die Translation ein und erhalten

S =n∑i=

(pi − (pki + a))

=n

∑i=

pTi pi −

n

∑i=

pTi pki −

n

∑i=

pTi a +

n

∑i=

(pki + a) → Minimum. (19.139)

Gesucht ist die richtige Permutation bezüglich der Translation der Punktmenge. Die Trans-lation a ist zwar unbekannt, aber für das konkrete Problem als Konstante aufzufassen.Wirsehen, dass die Terme∑n

i= pTi pi ,∑n

i= pTi a nicht von der gesuchten Permutation abhängen.

Da

n∑i=

(pki + a) =n∑i=

pki +

n∑i=

pTkia +

n∑i=

a =n∑i=

pi +

n∑i=

pTi a +

n∑i=

a (19.140)

gilt, hängt der Term∑ni=(pki + a) auch nicht von der gesuchten Permutation ab. Deshalb

können wir das Optimierungsproblem reduzieren auf:

n∑i=

pTi pki → Maximum. (19.141)

Wir schätzen nun diese Summe∑ni= pT

i pki ab. Mit

pTi = (xi , yi) und xT = (x , x, . . . , xn), xTperm = (xk , xk , . . . , xkn)

(analog für y, yperm) erhalten wir

n∑i=

pTi pki =

n∑i=

xi xki +n∑i=

yi yki = xTxperm + yTyperm. (19.142)

Wir benutzen die Cauchy-Schwarzsche Ungleichung und erhalten

(xTxperm) ≤ ∥x∥∥xperm∥ = ∥x∥∥x∥ = ∥x∥ . (19.143)

Dies bedeutet xTxperm ≤ ∥x∥. Daraus folgt

xTxperm + yTyperm ≤ ∥x∥ + ∥y∥ =n∑i=

∥pi∥. (19.144)

Nochmals zusammengefasst ist dann:

n∑i=

pTi pki ≤

n∑i=

∥pi∥. (19.145)

Page 571: Bildverarbeitung und Objekterkennung ||

566 19 Momente, Matching und Merkmale

DasMaximumder linken Seite und damit die Gleichheit in der SchwarzschenUngleichungwird genau dann angenommen, wenn beide Vektoren Linearkombinationen voneinandersind. Dies bedeutet, dass xki = xi , yki = yi gilt und deshalb folgt pki = pi , i = , , . . . , n.Dies bedeutet, wir erhalten für Translationen als optimale Lösung von (19.138) tatsächlichdie korrekte Permutation und damit die korrekten Korrespondenzen. Wie ist es aber nunmit allgemeinen affinen Transformationen:

qi = Api + a = (a aa a

)(xiyi) + (

aa

) ? (19.146)

Dazu setzen wir die affine Transformation in (19.138) ein:

S =n∑i=

(pi − (Apki + a)) (19.147)

=n∑i=

pTi pi −

n∑i=

pTi Apki −

n∑i=

pTi a +

n∑i=

(Apki + a) → Minimum. (19.148)

Es ist leicht zu sehen, dass die Terme ∑ni= pT

i pi , ∑ni= pT

i a und∑ni=(Apki + a) nicht von

der Permutation abhängen. Daher bleibt nur noch:

n∑i=

pTi Apki → Maximum. (19.149)

Die Idee ist nun das Problem (19.149) auf die Aufgabe (19.141) zurückzuführen. Deshalbführen wir eine Matrix C ein mit p′i = Cpi und

n∑i=

pi′Tp′ki =

n∑i=

(Cpi)T(Cpki ) =

n∑i=

pTi C

TCpki → Maximum. (19.150)

Wenn wir nun eine Matrix C mit der Beziehung A = CTC finden können, dann ist dieoptimale Permutation die korrekte Lösung von (19.149) bzw. (19.147). So eine Matrix Cexistiert, wenn die affineMatrix A symmetrisch und positiv definit ist. Die geforderte Fak-torisierung bedeutet: „wir können die Wurzel aus A ziehen“. Wenn dies möglich ist, dannfolgt p′ki = p′i , d. h. Cpki = Cpi und somit pki = pi . Damit haben wir bisher gezeigt: wenndie Punktmengen durch die spezielle affine Transformation

qi = Spi + a, S ist symmetrisch und positiv definit (19.151)

ineinander überführbar sind, dann können wir die korrekte Permutation durch Minimie-rung der Quadrate der Euklidischen Punktabstände berechnen. Anders ausgedrückt:

Die optimale Permutation ist invariant gegenüber diesen speziellen affinen Transforma-tionen. Überraschend ist jedoch, dass dies

S =n∑i=

∣pi − qki ∣n → Minimum (19.152)

Page 572: Bildverarbeitung und Objekterkennung ||

19.8 Matching 567

mit n ≠ nicht gilt. Was fehlt nun noch zur allgemeinen affinen Transformation? Dazuformulieren wir eine leicht beweisbares

Theorem Eine beliebigeMatrixAmit det(A) > kann zerlegt werden in eine symmetrische,positiv definite Matrix S und in eine Rotationsmatrix R (R− = RT , det(R) = +), d. h. A =

S ⋅R. Die Einschränkung det(A) > bedeutet lediglich, dass die affine Transformation keineSpiegelungen enthält.

Das heißt, uns fehlt nur noch die Rotation, d. h. nur ein einziger Transformationspa-rameter. Daher gehen wir praktisch folgendermaßen vor und nennen den AlgorithmusDAPPM-Algorithmus.

Distance based affine point pattern matching algorithm (DAPPM)

• Wir rotieren die Punktmenge P (oder alternativ die Punktmenge Q, aber stets nur einePunktmenge) von 0 bis 360 Grad in Schritten von 5 bis 10 Grad. In denmeisten Anwen-dungen reichen schon 10 Grad-Schritte. Dabei kann ein beliebiges Rotationszentrumgewählt werden, z. B. der Schwerpunkt der Punktmenge.

• Für jede Rotation lösen wir das Optimierungsproblem (19.138) mit Hilfe der Ungari-schen Methode (Hungarian Method) und erhalten für jeden Rotationschritt eine opti-male Permutation.

• Mit den berechneten Referenzen pi → qki berechnen wir die affine Transformationmittels der LSE-Methode oder der LAD-Methode, siehe Abschn. 21.2. Ausgleichsrech-nung. Mit dieser affinen Abbildung transformieren wir die Punktmenge P und erhaltendie Punktmenge P′. Die Bewertung der Referenzen p′i → qki ist sicher ein Kriterium fürdie Korrektheit der berechneten affinen Transformation.

• Deshalb leiten wir aus den Referenzen p′i → qki das Maß d(P′ ,Q) ab:

d(P′,Q) =n∑i=

∣p′i − qki ∣. (19.153)

• Wir wählen denjenigen Rotationswinkel für den das Maß d(P′,Q) minimal ist. DiePermutation für diesen Winkel ist die korrekte Permutation.

• Bei Rotationsschritten von z. B. 5 Grad müssen wir 72 eindimensionale Optimierungs-probleme mit der Ungarischen Methode lösen. Die Ungarische Methode hat die Kom-plexität O(n).

• Es wurde die Gleichmächtigkeit der beiden Punktmengen angenommen. Ist dies nichtder Fall, wird die Kostenmatrix einfach mit Nullen aufgefüllt, so dass eine quadratischeKostenmatrix entsteht. Die Unterschiede dürfen allerdings nicht zu groß sein, und esdürfen nicht zu viele Ausreißer vorhanden sein, dann versagt die Methode.

• Besonders robust ist die Methode gegenüber Rauschen und der affinen Transformati-on selbst. Wenn z. B. Bilder nicht mehr näherungsweise mit affinen Transformationen

Page 573: Bildverarbeitung und Objekterkennung ||

568 19 Momente, Matching und Merkmale

beschreibbar sind, sondern nur mit projektiven Transformationen, dann liefert die Me-thode immer noch die richtigen Referenzen.

• In denAbb. 15.4 und 15.5 wurde die Entzerrung des Kalibriermusters mit dieserMetho-de durchgeführt, obwohl die Aufnahmennicht mehr näherungsweise affin beschreibbarsind.

Nichtelementare Transformationen Matchingalgorithmen laufen immer nach diesemGrundprinzip ab. Die Transformationen können globale oder lokale geometrische Trans-formationen sein, sie können nichtlinear sein oder sogar Signaltransformationen sein. DasMatchingmaß muss der Anwendung genau angepasst werden und das Optimierungsver-fahren muss effizient entworfen sein. Die gewählten Transformationen müssen geeignetund passend zur Aufgabe sein, sie dürfen nicht zu starr, aber auch nicht zu elastisch unduniversell sein. Gibt man eine gewisse „Steifigkeit“ auf, dann kann man schließlich jedesObjekt in jedes andere überführen, wie z. B. beimMorphing, was aber nicht mehr Sinn desMatchings ist.

Beispiel – ICP-Algorithmus Als typisches Beispiel zumMatchen von zwei PunktmengenA und B (2D als auch 3D) soll der populär gewordene ICP-Algorithmus (Iterative ClosestPoint) (Besl und McKay, 1992) angegeben werden:

• Grundvoraussetzung a): Man wähle eine geeignete geometrische Transformation T, dieals Matchinggrundlage dient. Dies hängt natürlich von der konkreten Aufgabe ab, vonTranslationen bis zu projektiven Transformationen ist alles möglich.

• Grundvoraussetzung b): Als Startlösung muss man die beiden Mengen wenigstens„grob“ bezüglich der gewählten geometrischen Transformation zu Deckung bringen.Ist A nur ein Teilobjekt von B, dann muss es grob in diese Lage gebracht werden. Dieskann mit den verschiedensten Methoden und Merkmalen erfolgen. Liegen z. B. nurTranslationen vor, dann kann man die Schwerpunkte der Punktmengen benutzen undverschiebt eine Punktmenge (dies geht aber nicht, wenn A Teilobjekt von B ist).

• Für jeden Punkt a ∈ A wird der Punkt b ∈ B mit dem gerichteten Abstand d(a, B)bestimmt, d. h. für jedes a ∈ A wird der nächste Nachbar b ∈ B bestimmt. Alle diesePseudo-Referenzpaare werden in eine Liste L aufgenommen.

• Falls die Punktmengen Aund B als gleicheObjekte angesehenwerden, tun wir dies auchmit allen Punkten aus B, d. h. für jedes b ∈ B wird der nächste Nachbar a ∈ A bestimmt.Diese Pseudo-Referenzpaare werden auch in die Liste L übernommen.Wird das ObjektA nur als Teilobjekt von B angesehen, dann entfällt dieser Schritt.

• Mit dieser Liste L der Pseudo-Referenzpaare wird mittels eines Schätzers die geometri-sche Transformation T berechnet. Als Schätzer kann man die LSE-Methode oder dieweniger gegen Ausreißer sensitive LAD-Methode benutzen, siehe Abschn. 21.2.5. Dasgerichtete bzw. das ungerichtete Abstandsmaß d(A, B) beurteilt die Güte der Überein-stimmung von Amit B bzw. mit einer Teilmenge von B.

• Man wiederholt die Schritte solange bis sich d(A, B) nicht mehr wesentlich ändert.

Page 574: Bildverarbeitung und Objekterkennung ||

19.8 Matching 569

f(x) g(x)

X X1 2

Abb. 19.11 Gedehnte Muster

Die Qualität des Matchingergebnisses hängt entscheidend von der Anfangslösung ab. Istdiese Anfangslösung nicht „gut genug“, dann erhält man womöglich ein nicht brauchbares„Nebenminimum“. Der ICP-Algorithmus wird erfolgreich bei vielen Registrierungsaufga-ben eingesetzt.

Beispiel – time warping Eine typische nichtlineare Transformation liegt beim time war-ping vor, welches aus der Sprachverarbeitung stammt. Da der Zeit eine Ordnung zugrundeliegt, können wir diese Idee in der Bildverarbeitung nur nutzen, wenn dem Muster eineOrdnung zu Grunde liegt. Dies ist z. B. bei Handschriften, Unterschriften der Fall, aberauch Konturen, Polygone usw. unterliegen einer Ordnung. Bei Unterschriften, Handschrif-ten usw. schreiben wir immmer von links kontinuierlich nach rechts. Für jede horizontalePosition der Schrift berechnen wir pro Spalte einen Merkmalsvektor. Folglich erhalten wirfür zwei zu vergleichende Unterschriften zwei Vektorfunktionen:

Muster = f(x) für ≤ x ≤ X , Muster = g(x) für ≤ x ≤ X. (19.154)

Die beiden Muster können bezüglich x stellenweise gedehnt oder gestaucht sein, z. B. er-höht oder erniedrigt man beim Unterschreiben die Geschwindigkeit. Je nach Aufgaben-stellung kannman die beider Muster in Abb. 19.11 als gleich oder unterschiedlich ansehen.Bei Gleichheit würde ein direktes Matching zu völlig falschen Ergebnissen führen, auch li-neare geometrische Transformationen können diese Dehnungen und Stauchungen nichtkompensieren. Wir müssen also eine spezielle nichtlineare Transformation finden, die dieskann. Gesucht ist folglich eine nichtlineare Funktion h(x), so dass

ρ (f(x), g(h(x))) → Minimum (19.155)

gilt. Ohne weitere Einschränkungen an h ist die Aufgabe vollkommen unsinnig gestellt,deshalbmüssenwir jetzt nur Stauchungen undDehnungen beschreiben. Dazu fordernwir:

h() = , h(X) = X , ≤ x ≤ X , h(x)monoton und stetig. (19.156)

Page 575: Bildverarbeitung und Objekterkennung ||

570 19 Momente, Matching und Merkmale

Abb. 19.12 Dynamische Pro-grammierung

I

J

1

2

3

1

Start

End

2 3

Die Funktion h(x) zu finden, ist ein Problem der Variationsrechnung. Da wir in der Pra-xis sowieso nur diskrete Stützstellen vorfinden, formulieren wir jetzt diese Aufgabe sofortdiskret. Dazu seien die Funktionen als Folgen von Merkmalsvektoren gegeben:

f , f, . . . , fI ; g , g, . . . , gJ . (19.157)

Statt einer Funktion h(x) suchen wir jetzt eine Folge von Indexpaaren w = (i , j), . . . ,wK = (iK , jK), sodass

K

∑k=

ρ(fi k , g j k) → Minimum (19.158)

gilt. Sowohl die Größe von K als auch die Folge der Indexpaare müssen Bedingungenbezüglich der Forderung nach Monotonie erfüllen, dies ist in Abb. 19.12 deutlich zu er-kennen. Übersetzt heißt dies, wir suchen in einem Graphen einen minimalen Weg vomStartknoten zum Endknoten. Jeder Knoten bedeutet ein Indexpaar (i , j) und jedem Kno-ten wird ein Matchingmaß d(i , j) zugeordnet, nämlich das Abstandsmaß zwischen demi-tenMerkmalsvektor fi und dem j-ten Merkmalsvektor g j . Die Anzahl K entspricht dem-nach der Länge des Weges. Die Monotoniebedingung schränkt die zulässigen Wege ein.Den optimale Weg finden wir mit der allgemeinen Methode der Dynamischen Program-mierung (Bellman 1957). Dazu betrachten wir die simple Rekursionsgleichung

D(i , j) = d(i , j) +min [D(i − , j),D(i − , j − ),D(i , j− )] . (19.159)

Die Rekursion beginnt mit D(, ) = d(, ). Die Rekursion (19.159) berücksichtigt, dassein Knoten nur genau drei bestimmte Vorgänger haben darf. Beim Startknoten beginnendberechnet man nun in einer Vorwärtsrechnung für jeden Knoten den Wert D(i , j). Dannist das Abstandsmaß beider Muster der letzte Wert, nämlich D(I , J). Möchte man zusätz-lich noch die Folge der Indexpaare haben, also die Koordinaten der Knoten bezüglich desoptimalen Weges, dann muss man eine sogenannte Rückwärtsrechnung durchführen. Man

Page 576: Bildverarbeitung und Objekterkennung ||

19.9 Lokale Merkmale und Häufigkeitshistogramme 571

beginnt beim „letzten“ Knoten (I , J) und sucht den Vorgängerknoten, der von den dreizulässigen Vorgängerknoten den kleinsten Wert D(i , j) hat. Dies wird solange fortgesetztbis man beim Startknoten (, ) angelangt ist. Mit dieser Folge von Indexpaaren kann nuneines der beiden Muster „entzerrt“ werden. Sind z. B. die beiden Unterschriften von vorn-herein nicht inGröße undLage aneinander angepasst, somussman dies natürlich entwedervorher tun oder in die dynamische Programmierung einbinden, d. h.manmuss einMustertransformieren und anschließend dynamisch entzerren. Wir suchen dann das beste MaßD(I , J) über dem Raum der Transformationen. Eine mögliche Idee dazu wurde beim Bei-spiel „Konturmatching“ gezeigt.

19.9 Lokale Merkmale und Häufigkeitshistogramme

Wennwir aus einer lokalen UmgebungUi , j eines Pixels (i , j) rotationsinvarianteMerkma-le berechnen wollen, dann ist dies recht einfach: wir legen eine rotationsinvariante Umge-bung eines Pixels fest und berechnen von den Grauwerten aus dieser Umgebung rotations-invariante Merkmale. Diese Umgebung ist im einfachsten Fall ein Kreis, wobei der Radiusr des Kreises a priori fest vorgegeben werden muss und sich nach einem A-priori-Wissenrichten sollte. Die Umgebung als Kreis mit einem Radius kann auch durch einen unschar-fen Kreis, z. B. die symmetrische 2D-Gauß-Funktion, ersetzt werden. Die Rolle des Ra-dius übernimmt dann die Standardabweichung σ der symmetrischen 2D-Gauß-Funktion.Wollen wir aber zusätzlich noch skalierungsinvariante, lokaleMerkmale berechnen, so fan-gen die Schwierigkeiten an. Dann kann die Standardabweichung der Gauß-Funktion nichtmehr vorgeben werden, sie muss sich aus der konkreten Skalierung ergeben, die wir abernicht kennen. Folglich muss sich die Wahl der Standardabweichung σ oder des Radius ram Bildinhalt orientieren, denn wir benötigen eine Bezugsgröße. Wenn sich diese aber amBildinhalt orientieren sollen, dann muss in der Umgebung Ui , j auch eine Bildinformationtatsächlich vorhanden sein. Eine Umgebung mit einem nahezu konstanten Grauwertver-lauf ist dazu sicher ungeeignet. Daher reduziert sich das Problem fast immer auf:

• Selektiere die Pixel in deren Umgebung auch tatsächlich geeignete Bildinformationenvorhanden sind. Die Umgebung muss dabei selbst mit berechnet werden. Die Selektionder Pixel nennt man auch denDetektor. Dabei spielt die geometrische Transformationund die photometrische Änderung der Grauwerte eine wichtige Rolle für die Wahl derUmgebung. So wählt man für Ähnlichkeitstransformationen Kreise oder symmetrischeGauß-Funktionen, während man für affine Transformationen Ellipsen oder beliebigeGauß-Funktionen benutzt. Die Berechnung der Umgebung sollte kovariant bezüglichder gewählten geometrischen und photometrischen Transformation sein.

• Berechne aus der bestimmten Umgebung Merkmale, die gegenüber der gewählten geo-metrischen und photometrischen Transformation invariant sind.Weiterhin sollten die-se Invarianten robust gegenüber Störungen und gleichzeitig aber diskriminativ sein. DieBerechnung der Merkmale aus der Umgebung nennt man den Deskriptor.

Page 577: Bildverarbeitung und Objekterkennung ||

572 19 Momente, Matching und Merkmale

19.9.1 Detektor nach Kadir und Brady

Ein einfaches Beispiel ist der Detektor nach Kadir und Brady [33]. Man betrachte Ähn-lichkeitstransformationen und wähle als Umgebung einen Kreis mit dem Radius r. DieAufgabe ist nun die kovariante Berechnung des Radius r für diejenigen Pixel, in deren Um-gebung relevante Informationen vorhanden sind. Als Maß für die Information in der Um-gebung benutzen wir die Entropie. Je größer die Entropie, umsomehr Information trägt dieUmgebung. Die benötigten Wahrscheinlichkeiten pi(x , y, r) zur Berechnung der Entropiebeziehenwir im einfachsten Fall auf dieGrauwerte gi ,man kann aber auch dieWahrschein-lichkeiten von den Grauwerten abgeleiteter Größen benutzen. Die Wahrscheinlichkeitenpi(x , y, r) hängen vom gewählten Pixel (x , y) und dem Radius r des Kreises als gewählteUmgebung ab. Daher ergibt sich die Entropie zu

H(x , y, r) = −∑ipi(x , y, r) log pi(x , y, r). (19.160)

Pro Pixel ist nun H eine Funktion von r. Man sucht nun ein typisches lokales Maximumdieser Funktion bezüglich r, wir nennen das Argument an dieser Stelle rmax. Zu besserenBewertung und zum Vergleich der Maxima zwischen den Pixeln berechnen wir an dieserStelle die Größe

W(x , y, rmax) = ∑i∣∂∂r

pi(x , y, rmax)∣ . (19.161)

Als finales Bewertungsmaß berechnen wir Y(x , y, rmax) = W(x , y, rmax) ⋅ H(x , y, rmax).Für alle Pixel führt der Detektor nun mit diesem Maß ein Ranking aus und wählt die ty-pischsten Pixel aus. Eine Erweiterung des Detektors auf affin kovariante Umgebungen istleicht möglich. Dazu wählen wir pro Pixel eine beliebige Ellipse als Umgebung und berech-nen wie oben die gleichen Maße. Pro Pixel hängt dann die Ellipse von drei Parametern ab,was den Suchraum und damit den Aufwand erheblich steigert.

Generell wird der saliency-detector erfolgreich in der Objekterkennung eingesetzt, we-niger erfolgreich wird er zur Korrespondenzfindung in der 3D-Rekonstruktion benutzt.

19.9.2 SIFT-Merkmale

Die SIFT-Merkmale (Scale InvariantFeatureTransform) gehen auf D.G. Lowe [42] zurück.Im Folgenden soll nicht die genaue effiziente Implementierung beschrieben werden (siehedazu D.G. Lowe [42]), sondern es ist unser Ziel die Grundidee zu erläutern. Generell lässtsich der SIFT-Algorithmus in zwei Teile aufteilen: einenDetektor, welcher für ein gegebenesBild eine Anzahl von Schlüsselpunkten (keypoints) auswählt und ein Verfahrenwelches dieUmgebung um jeden dieser Punkte mit einemmehrdimensionalen Deskriptor beschreibt.

SIFT-Detektor Wir wenden uns zunächst der Bestimmung der Schlüsselpunkte zu. Ge-geben sei ein Grauwertbild fi , j , wobei Änlichkeitstransformationen die eigentlichen geo-metrischen Transformationen darstellen. Als Umgebung wählen wir die symmetrische 2D

Page 578: Bildverarbeitung und Objekterkennung ||

19.9 Lokale Merkmale und Häufigkeitshistogramme 573

Gauß-Funktion mit dem Parameter σ . Folglich muss sich die Wahl der Standardabwei-chung σ am Bildinhalt orientieren, denn wir benötigen eine Bezugsgröße. Für die Bezugs-größe bieten sich oft Extremwerte von Funktionen an, die sich auf den lokalen Bildinhaltbeziehen und skalierungs kovariant sind. Da aber die Umgebung eines beliebigen Pixelsnicht unbedingt „Informationen“ beinhaltet (z. B. konstante Grauwertbereiche in denenkeine „Struktur“ vorhanden ist), kann man nicht alle Pixel benutzen, sondern nur dieje-nigen, in deren Umgebung diese Information vorhanden ist. Genau hier setzt die Idee derSIFT-Merkmale an. Es werden also nur diejenigen Pixel (i , j) ermittelt, die bezüglich einerFunktion Si , j(σ) ein Extremwertverhalten bezüglich σ zeigen. Dies hängt folglich ganzstark von der gewählten Funktion Si , j(σ) ab. Die Funktion Si , j(σ) muss Informationenbezüglich der Skalierungen σ widerspiegeln. D.G. Lowe [42] schlägt dazu die Funktion

Sx ,y(σ) = σ (ΔG(x , y, ; , σ) ∗ f (x , y)) (19.162)

vor. Wir falten die Originalfunktion (Bild) f (x , y)mit dem normierten LoG-Filter σ ΔG.Die Wahl des LoG-Filters σ ΔG geht auf experimentelle Erfahrungen zurück. Anderer-seits muss der Filteroutput (zu mindestens theoretisch) translations- und rotationsinvari-ant sein, was beimLoG-Filter erfüllt ist. DieNormierung von ΔGmit demFaktor σ beruhtauf der Scale-Space-Theorie von Lindeberg [41] und bedeutet simpel Skalen-Kovarianz.Skalen-Kovarianz bedeutet konkret: Man filtere ein Bild mit einem Filter einer bestimmtenSkala σ an einer Stelle (x , y). Nun skaliereman das Bild isotropmit einem Faktor s. Jetzt fil-tern wir das skalierte Bild mit dem Filter der Skala σ ′ = sσ an der skalierten Stelle (sx , sy).Wenn die beiden Filterergebnisse übereinstimmen, dann liegt Skalierungs-Kovarianz vor.Für den normierten Filter σ ΔG wollen wir die Skalierungs-Kovarianz zeigen. Dazu be-zeichne f (x , y) die Grauwertfunktion des Ausgangsbildes und f ′(x′ , y′) = f ′(sx , sy) =

f (x , y) mit x′ = sx , y′ = sy bezeichne die Skalierung. Die Flächendifferentiale verhaltensich dann zu dx′dy′ = sdxdy. Entsprechend (2.43) lautet der normalisierte Filter (NLoG)

σ ΔG = NLoG(x , y; ; σ) = σ LoG = −

πσ ( −x + y

σ ) e−x+y

σ . (19.163)

Nun gilt mit σ ′ = s ⋅ σ :

S′sx ,s y(σ′) = (NLoG(⋅; , σ ′) ∗ f ′) (sx , sy)

= ∬B

NLoG(sx − ηx , sy − ηy ; , σ ′) ⋅ f ′(ηx , ηy)dηxdηy

= −s

πσ ′∬B

( −(sx − sξx) + (sy − sξy)

σ ′) ⋅ e−

(sx−s ξx)+(s y−s ξ y)

σ′ f (ξx , ξy)dξxdξy

= −

πσ ∬B

( −(x − ξx) + (y − ξy)

σ ) ⋅ e−(x−ξx)+(y−ξ y)

σ f (ξx , ξy)dξxdξy

= (NLoG(⋅; , σ) ∗ f )(x , y) = Sx ,y(σ). (19.164)

Page 579: Bildverarbeitung und Objekterkennung ||

574 19 Momente, Matching und Merkmale

Skalen-Kovarianz bedeutet folglich

S′sx ,s y(σ′) = Sx ,y(σ). (19.165)

Bezüglich der Referenzpunkte (x , y) ↔ (sx , sy)unterscheiden sich die beiden Funktionenin Abhängigkeit von σ nur durch die Skalierung s, d. h. die eine Funktion ist die skalier-te Version der anderen Funktion, die Amplituden bleiben gleich. Man sieht nun leicht,

dass auch direkt für die symmetrische 2DGauß-Funktion G(x , y; , σ) = πσ e−

x+y

σ die

Skalierungs-Kovarianz bezüglich

Lx ,y(σ) = G(x , y; , σ) ∗ f (x , y) (19.166)

gilt. Hat in einem Pixel (x , y) die Funktion Sx ,y(σ) einen typischen lokalen Extremwert(Minimum oder Maximum), so muss die skalierte Funktion in dem Referenzpixel (sx , sy)auch solch einen typischen lokalen Extremwert besitzen und beide Extremwerte lassen sichdurch die Skalierung s ineinander überführen, sie sind selbst skalierungs kovariant. Da-her ermittelt man zunächst alle diejenigen Pixel (x , y), deren Funktionen Sx ,y(σ) einentypischen Extremwert besitzen. Das ist wieder der Detektor. Natürlich muss bei der prak-tischen Implementierung noch geklärt werden, was ein typischer lokaler Extremwert ist.Alle Pixel mit diesem typischen Extremwertverhalten werden in beiden Bildern bestimmt,markiert und wir nennen sie Schlüsselpunkte (keypoints). Die Liste aller keypoints bestehtaus Tripeln (x∗, y∗, σ∗), wobei (x∗ , y∗) die Pixelkoordinaten der keypoints sind und σ∗ dieStandardabweichung ist, bei der die Funktion Sx∗ ,y∗(σ) das typische Extremum aufweist.Auf die praktische und insbesondere diskrete Implementierung der Filter zur Bestimmungder Funktionen Sx ,y(σ) und auf die Beurteilung der typischen lokalen Extrema gehen wirhier nicht ein, siehe dazu [42]. Wichtig ist nur (2.45) aus Abschn. 2.1.3:

G(x , y, , kσ)−G(x , y, , σ) ≈ (k − )σ ΔG = (k − )NLoG. (19.167)

Diese besagt, dass sich der NLoG-Filter näherungsweise auf die Differenz zweier Gauß-Filter zurückführen lässt, womit eine effiziente Implementierung mit Gauß-Pyramidenmöglich ist. Dabei hängt der Faktor k nicht von σ ab und braucht deshalb bei der Ex-tremwertbestimmung nicht berücksichtigt zu werden. Man berechnet somit praktisch dieFunktion Lx ,y(σ) und nicht direkt die Funktion Sx ,y(σ). Keypoints, die typisch für ver-rauschteUmgebungen, homogeneBereiche oder auchKanten sind,müssen noch eliminiertwerden.

SIFT-Deskriptor Nunmüssen für die ermittelten keypointsMerkmale (Deskriptoren) be-rechnet werden, die translations-, skalierungs- und rotationsinvariant sind. Dazu benut-zen wir im Folgenden die skalierungs kovariante Funktion Lx ,y(σ), da diese sowieso beider praktischen Implementierung berechnet werden muss. Diese wird berechnet für alleTripel von keypoints (x∗ , y∗, σ∗), d. h. für jeden keypoint kann es eine andere Standard-abweichung σ∗ geben. Damit ist die Skalierungsinvarianz tatsächlich gesichert. Natürlich

Page 580: Bildverarbeitung und Objekterkennung ||

19.9 Lokale Merkmale und Häufigkeitshistogramme 575

müssen auch im Diskreten für die Nachbarpunkte (x , y) eines keypoints (x∗ , y∗) mit derStandardabweichung σ∗ die Funktionswerte Lx ,y(σ∗) berechnet werden, da wir diese zurBerechnung des Gradienten im keypoint und dessen Nachbarpunkten benötigen.

Nun müssen aus einer Umgebung Ux∗ ,y∗ der keypoints mit den FunktionswertenLx ,y(σ∗) rotationsinvariante Merkmale berechnet werden. Dies geschieht durch Rich-tungshistogramme, die natürlich auf einer passenden Quantisierung der Winkel von bis Grad beruhen. Da diese nicht rotationsinvariant sind, bestimmt man eine„Hauptrichtung“ und bezieht alle anderen Richtungen relativ (Differenzbildung) auf dieseHauptrichtung. Diese Hauptrichtung könnte man mit dem Strukturtensor bestimmen.In der Originalarbeit Lowe [42] wird diese aus einem gewichteten Richtungshistogrammbestimmt, indem man die häufigste Richtung wählt, d. h. dort wo der maximale Peak imHistogramm vorliegt. Dies hat aber den Nachteil, dass ein Peak im Richtungshistogrammnicht eindeutig im Sinne von kleinen Schwankungen sein muss. Daher kann es sein, dassman mehrere Hauptrichtungen pro keypoint berechnen muss.

Nun teilt man die Umgebung des keypoints in mehrere Regionen ein, berechnet pro Re-gion das Richtungshistogramm, bezieht dieses auf die berechnete Hauptrichtung, und fügtalle Richtungshistogramme der Regionen zu einem einzigen Merkmalsvektor pro keypo-int zusammen. Dieser Merkmalsvektor wird noch auf die Länge Eins normiert und wirdSIFT-Deskriptor genannt.

Bemerkung Wie zu Beginn dieses Abschnittes festgestellt wurde, spielt bei lokalen Merk-malen die Wahl der Umgebung die entscheidende Rolle. Durch die Berechnung der key-points und deren Umgebung σ∗ ist dies bezüglich Ähnlichkeitstransformationen bei denSIFT-Merkmalen recht gut gelungen. Die Wahl der invarianten Merkmale durch Rich-tungshistogramme erscheint bei den SIFT-Merkmalen doch recht willkürlich und heu-ristisch zu sein. Im Prinzip kann man nun bezüglich Ähnlichkeitstransformationen al-le invarianten Merkmale benutzen, man muss sie nur bezüglich der ermittelten Gauß-Umgebung (σ) berechnen, siemüssen robust sein und gleichzeitig diskriminativ. Die SIFT-Deskriptoren werden besonders erfolgreich in der Korrespondenzfindung bezüglich der3D-Rekonstruktion aus mehreren Ansichten eingesetzt.

19.9.3 HOG-Merkmale

Die sogenannten HOG-Merkmale (Histogram of Oriented Gradients) sind weiter nichts alsRichtungshistogramme. Sie wurden z. B. von Dalal und Triggs [18] erfolgreich zur Detek-tion von Personen in Videos oder Bildern benutzt. Sie besitzen eine gewisse Ähnlichkeitmit den SIFT-Richtungshistogrammen, unterscheiden sich aber im Wesentlichen durchden Detektor. Die HOG-Merkmale werden nicht nur einzelnen keypoints zugeordnet, son-dern das gesamte Bild (oder eine Bildregion) wird gleichmäßig gerastert in kleine Zellen,diese können kleine Quadrate oder Kreise sein. Für jede Zelle wird ein Richtungshisto-gramm berechnet und alle Richtungshistogramme ergeben zusammen gehängt den HOG-

Page 581: Bildverarbeitung und Objekterkennung ||

576 19 Momente, Matching und Merkmale

Block mit 4 Zellen als Bestandteileines HOG-Merkmals

Gradientenrichtungen Quantisierung der Richtungenund Histogrammbildung

Teil eines HOG-Merkmals

Abb. 19.13 Berechnung der Richtungshistogramme für ein Block des HOG-Merkmals

Merkmalsvektor. Um noch eine gewisse Invarianz gegenüber photometrischen Einflüs-sen zu erzielen, werden einige Zellen zu Blöcken zusammengefasst, wobei sich die Blöckeüberlappen können. Pro Block werden dann die Richtungshistogramme aller Zellen diesesBlockes auf die Länge Eins normiert. In Abb. 19.13 ist die Berechnung des Histogrammseines einzelnen Blockes dargestellt.

Die drei Basisparameter des Verfahrens sind die Größe einer Zelle, die Größe einesBlockes und die Quantisierung der Richtungen in den Richtungshistogrammen. Für be-stimmte Klassifikationsaufgaben muss dann in Experimenten die optimale Parameteraus-wahl erfolgen. Je nachdem die Blöcke/Zellen Quadrate oder Kreise sind, spricht man vonR-HOG-Features oder C-HOG-Features. In [18] werden noch viele kleinere Implemen-tierungsdetails besprochen, wie etwa der Durchführung einer linearen Interpolation zwi-schen den Zellen.

19.9.4 Local Binary Patterns (LBP)

Die Anwendung der LBP ist ähnlich der Anwendung der HOG-Merkmale. Die LBP gehenauf Ojala et. al.(1994) zurück [52] und werden erfolgreich bei der Texturklassifikation undPersonenerkennung eingesetzt. Zunächst berechnen wir pro Pixel einen neuen Merkmals-wert mit Hilfe der Pixel-Umgebung. Im einfachsten Fall wählen wir für ein Pixel (i , j) dieAchternachbarschaft (1.5) und legen eine Orientierung im Uhrzeigersinn fest. Beginnendbei irgendeinem der acht Nachbarn zählen wir die acht Grauwerte in dieser Reihenfolgeauf und schreiben sie in einen Vektor. Dieser Vektor wird nun folgendermaßen binarisiert:wenn der Grauwert fi , j im zentralen Pixel größer als ein Grauwert in diesem Vektor ist,dann ersetzen wir den Grauwert durch eine Eins, ansonsten durch eine Null. Damit erhal-ten wir in diesem einfachen Falle eine Folge von acht Bits und interpretieren diese als eineAchtbitzahl von bis . Das Ergebnisbild f ′ können wir als Ergebnis einer nichtlinea-ren Filterung f ′ = T f von f betrachten. Das Ergebnisbild f ′ wird nun genau wie bei denHOG-Merkmalen in Zellen eingeteilt und proZelle direkt dieHistogrammeder Funktions-werte f ′ berechnet (nicht das Histogramm der Gradientenrichtungen). Probleme bereitetnatürlich die Rotationsinvarianz von f ′ bezüglich Rotationen von f , diese ist so nicht gege-ben. Dazu müssen wir die gewöhnliche Achternachbarschaft eines Pixels (i , j) durch eine

Page 582: Bildverarbeitung und Objekterkennung ||

19.9 Lokale Merkmale und Häufigkeitshistogramme 577

kreisförmige Umgebung ersetzen. Wir betrachten dazu im Bild f in der Umgebung desPixels (i , j) einen Kreis eines bestimmten Radius und berechnen in diskreten Abständenauf dem Kreis durch Interpolation die gewünschten Funktionswerte. Nun werden dieseFunktionswerte wie oben beschrieben in eine Binärzahl transformiert, wobei wir die zir-kulare Aufzählung bei einer normierten Hauptrichtung, ähnlich den HOG-Merkmalen,beginnen. Damit haben wir eine Rotationsinvarianz erreicht. Weiterhin können wir dieAufzählung der interpolierten Werte auf dem Kreis als eine zyklische, diskrete Funkti-on interpretieren und mittels Verschiebungsinvarianten neue Merkmale berechnen, diegegenüber Rotationen von f invariant sind, siehe dazu z.B. die Fouriertransformation (ein-dimensionale DFT).

Was sind nun Vorteile gegenüber den HOG-Merkmalen? Die Transformation T von fin f ′ ist trivialerweise invariant gegenüber monotonen, photometrischen Änderungen desBildes f . Diese Änderungen dürfen auch nichtlinear sein, Hauptsache sie sind monoton.Damit sind die LBP-Merkmale robuster gegenüber photometrischen Schwankungen. Wei-terhin ist durch die einfache Berechnung der LBP eine effiziente Implementierungmöglich.Durch die Binarisierung haben wir allerdings einen gewissen Informationsverlust hinzu-nehmen.

Eine völlig andere Nutzung der einem Pixel zugeordneten Folge von Bits besteht inder Ermittlung der Anzahl der Übergänge von zu und umgekehrt, wobei dies zyklischzu interpretieren ist. So hat () zwei Übergänge, () keinen Übergang,() zehn Übergänge usw. LBP werden als uniforme LBP bezeichnet, wenn dasLBP höchstens zwei Übergänge besitzt. Bei einem 8-Bit-Muster gibt es genau 58 verschie-dene uniforme LBP, alle anderen sind nicht uniform. In der Texturklassifikation vergibtman daher bei 8-Bit-Mustern 59 Label, 58 für die uniformen LBP und 1 gemeinsamesLabel für alle nicht uniformen LBP. Die uniformen LBP kann man als Mikro-Texton einerTextur auffassen und folglich zur Texturklassifikation nutzen.

19.9.5 Statistiken von lokalen Merkmalen

Lokale Merkmale, wie etwa die in den vorherigen Abschnitten vorgestellten VerfahrenLBP und SIFT, eignen sich besonders gut für die Berechnung von exakten Korresponden-zen zwischen zwei Bildern. Dabei versucht man die gegebenen Punktmengen mit ihrenDeskriptoren mit einem geeigneten Matchingverfahren zu registrieren. Bei Erkennungs-aufgaben, wie wir sie im Abschn. 20.2 noch näher kennenlernen werden, ist aber oft ei-ne exakte Korrespondenzfindung zwischen zwei Bildern weder notwendig noch möglich.Dies liegt oft daran, dass man es hier mit Transformationen zu tun hat, die sich nichtgenau geometrischmodellieren lassen, wie etwa die Transformation zwischen unterschied-lichen Tassen oder anderen Gegenständen. Ziel ist es daher nicht einen lokalen Bereich umeinen einzelnen Schlüsselpunkt mit einem Merkmal zu beschreiben sondern einen globa-len Merkmalsvektor für das ganze Bild oder eine Bildregion zu bestimmen. Wie bereitserläutert lässt sich dies mit HOG oder LBP Merkmalen realisieren. Durch deren feste git-

Page 583: Bildverarbeitung und Objekterkennung ||

578 19 Momente, Matching und Merkmale

terförmige Einteilung sind diese jedoch oft zu starr um eine gewisse Invarianz auch beistarkenDeformationen zu gewährleisten. EinenAusweg bietet hier eine Repräsentation desBildes, welche die Positionen lokaler Merkmale komplett ignoriert und nur eine reine Sta-tistik aufgrund der auftretenden Deskriptoren erstellt. Diese Idee wird als Bag-of-Features-oder Bag-of-Words-Ansatz bezeichnet.

Der Bag-of-Words (BoW) Ansatz kommt ursprünglich aus dem Bereich der Textkate-gorisierung. Gegeben ist dort ein Text, welcher einer Rubrik (Klasse) zugeordnet werdensoll, zum Beispiel um Werbetexte von persönlichen Briefen zu trennen, eine Anwendungwelche in Zeiten der Überflutung mit Spamnachrichten eine hohe Aufmerksamkeit ge-schenkt wird. Ein BoW-Merkmal ist dabei ein einfaches Histogrammder Häufigkeiten vonbestimmten Schlüsselworten, wie etwa „Angebot“, „günstig“ oder „bestellen“. Im Bereichder visuellen Erkennung möchte man die Häufigkeit von visuellen Worten bestimmen.Wenn wir uns nun eine Menge von Bildern der Kategorie „Auto“ vorstellen, so lassen sichhypothetisch einzelne Objektteile als Cluster von lokalen Merkmalen identifizieren. Theo-retisches Ziel der BoW-Merkmale in der Bildverarbeitung ist es daher ein Bild als Mengevon interessanter Teile zu beschreiben.

Wir bezeichnen im Folgenden die Menge der Deskriptoren (Merkmalsvektoren derSchlüsselpunkte) eines Bildes mit L = {l(k)}Wk= , wobei jeder einzelne Deskriptor Elementder Menge U ist. Bei SIFT-Deskriptoren ist dies zum Beispiel der R. Die Berechnungvon BoW-Merkmalen erfolgt nun in zwei Schritten: (1) Quantisierung von lokalen Merk-malen und (2) Berechnung eines Histogramms. Im ersten Schritt muss die Menge U inRegionen eingeteilt werden, zumBeispielmit dem k-Means-Algorithmus (Abschn. 18.7.1).Diese Einteilung kann dann für eine Quantisierung (Abschn. 1.1) verwendet werden, d. h.man erhält eine Funktion q ∶ U → {, . . . , nq}, welche jeden möglichen Deskriptor einenCluster zuweist. Im Zusammenhang mit dem BoW-Ansatz spricht man hier auch oft voneinem Kodebuch.

Die Berechnung des Histogramms h = (h , . . . , hnq)T eines Bildes ist bei gegebener

Quantisierung ein einfacher Schritt, welcher aber vieleMöglichkeiten aufgrund von unter-schiedlichen Normierungen bietet. Ein einfacher Ansatz ist es die, absoluten Häufigkeitenc j direkt zu verwenden:

h j = c j = ∣{k ∣ q(l(k)) = j}∣. (19.168)

Diese sind natürlich anfällig bei unterschiedlichen Bildgrößen und einer unterschiedlichenAnzahlW von lokalen Merkmalen. Daher werden oft relative Häufigkeiten verwendet:

h j =W

⋅ c j . (19.169)

Durch die einfache Umsetzung dieses Ansatzes und der großen Flexibilität und Robust-heit bezüglich starker Objektvariationen, hat sich die BoW-Methode als eines der Haupt-werkzeuge in der Merkmalsberechnung etabliert. Mit der steigenden Popularität sind na-türlich auch eine Vielzahl von Erweiterungen und Modifikationen entstanden. So gibt esnoch zahlreiche andereNormierungsmöglichkeiten der Histogramme (z. B. Binarisierung)

Page 584: Bildverarbeitung und Objekterkennung ||

19.9 Lokale Merkmale und Häufigkeitshistogramme 579

a b c

...

0 200 400 600 800 1000 1200 1400 1600 1800 20000

20

40

60

80

100

120

140

Index des Clusters

Häu

figke

it

Abb. 19.14 Darstellung der Berechnung eines BoW-Merkmals für ein gegebenes Eingabebild. Alslokale Merkmale dienen in diesem Beispiel einfache Richtungshistogramme und Prototypen werdenanhand der Visualisierungsidee von [82] als Grauwertbild dargestellt. a Eingabebild, b Prototypeneines Kodebuches, c BoW-Histogramm nach Quantisierung

sowie Clusterverfahren, welche gezielt versuchen diskriminative visuelle Worte zu finden.Eine Verwendung dieser Merkmale in der Objekterkennung werden wir in Kap. 20 sehen.Abbildung 19.14 zeigt anhand eines Beispiels die Berechnung von BoW-Merkmalen.

Viele Studien mit Erkennnungssystemen welche auf diesenMerkmalen basieren zeigen,dass die Wahl des Quantisierungsverfahrens selbst eine eher geringe Auswirkung auf dieErkennungsleistung hat. Besondere Bedeutung hat hingegen die Art der Histogrammbe-rechnung, welcher oft als Kodierungsschritt bezeichnet wird. So kann zum Beispiel einlokaler Deskriptor seinen k nächsten Clustern zugewiesen werden und dies auch gewich-tet relativ zur Distanz zu den jeweiligen Prototypen. Dem interessierten Leser sei die Ar-beit von Coates und Ng empfohlen [15], welche eine experimentelle Untersuchung dieserAspekte bietet.

19.9.6 Schnelle Berechnungenmit Integralbildern

Zur Berechnung vonMerkmalen aus Bildern werden häufig Summen vonGrauwerten bzw.Summen anderer Merkmale über einen Ausschnitt des Bildes, im einfachsten Fall übereinen rechteckigen Block, benötigt. Dies kann man effizient mit konstanter Komplexitätmit Hilfe der Integralbilder (engl.: integral images) realisieren. Die Idee ist recht simpel undist ähnlich der Idee aus derWahrscheinlichkeitsrechnung zur Berechnung derWahrschein-lichkeit über ein Rechteck. Diese wird einfach auf simple Additionen und Differenzen anden Eckpunkten des Rechteckes bezüglich der Verteilungsfunktion (Integralbild) zurück-geführt. Es sei fi , j die Grauwertfunktion eines diskreten Bildes. Das integral image Ii , j istdann:

Ii , j = ∑k≤i

∑l≤ j

fk , l . (19.170)

Dieses kann in einem einzigen Bilddurchlauf rekursiv berechnet werden:

Ii , j = Ii−, j + Si , j , Si , j = Si , j− + fi , j , I−, j = , Si ,− = . (19.171)

Page 585: Bildverarbeitung und Objekterkennung ||

580 19 Momente, Matching und Merkmale

Es seien nun die vier Punkte (m , n), (m, n), (m, n), (m , n) die Eckpunkte einesRechteckes. Dann kann die Summe aller Werte fi , j über dem Rechteck simpel durch

PRechteck = ∑m≤k≤m

∑n≤l≤n

fk , l = Im ,n + Im ,n − Im ,n − Im ,n (19.172)

berechnet werden. Wie man leicht sieht, ist die Komplexität konstant bezüglich der Größedes Rechteckes. In der Arbeit von Viola und Jones [81] werden Merkmale von fünf Recht-ecken berechnet, die sich mit einem integral imagemit konstanter Komplexität berechnenlassen. Auch die Implementierung von DoB-Filtern lässt sich mit konstanter Komplexitätdurch die integral images realisieren, siehe (7.12) in Abschn. 7.5. Die integral images lassensich leicht erweitern auf um 45 Grad gedrehte Rechtecke, die durch den Rand des Bildesbeschnitten sein können, sowie auf 3D-integral images.

Eine wichtige Anwendung finden Integralbilder auch bei der schnellen Berechnung vonHistogrammen von bestimmten Regionen des Bildes. Dies ist besonders wichtig bei derBerechnung der HOG oder auch BoW-Merkmale, welche wir in den letzten Abschnittenkennengelernt haben. Bei HOG-Merkmalen müssen Gradientenrichtungshistogrammefür verschiedene, oft auch überlappende, Regionen im Bild berechnet werden. Die Bestim-mung der Gradientenrichtung dk , l an einem einzelnen Pixel (k , l) wurde in Abschn. 8.2besprochen. Diese kann auch in quantisierter Form vorliegen und in K Richtungen ein-geteilt sein gk , l ∈ {, . . . ,K}. Ausgangspunkt für die Berechnung von Histogrammen vond ist dann ein Bild f , welches für jedes Pixel einen K-dimensionalen Vektor enthält, wel-cher nur eine an der Position von dk , l enthält und ansonsten null ist. Das Integralbilddieses mehrdimensionalen Bildes (K Grauwertbilder) kann direkt für die effiziente Be-rechnung von Teilhistogrammen genutzt werden. Dabei sind die Berechnungen analogzur Beschreibung für Grauwertbilder.

19.10 Transformation vonMerkmalen

Oft sind Merkmale in ihrer ursprünglichen Form nicht anwendbar. Der Merkmalsraumist oft zu hochdimensional oder die Merkmale sind nicht konsistent zueinander.Weiterhinmöchte man redundante Merkmale ermitteln oder in derMustererkennungMerkmale, dienicht diskriminativ sind.Dazuwerden dieMerkmale oft einer Transformation unterworfenund dann analysiert.

19.10.1 Principal Component Analysis (PCA)

Die bekannteste, einfachste und zugleich lineare Transformation ist die Principal Compo-nent Aalysis (Hauptkomponentenanalyse). Sie wird auch als Karhunen-Loeve-Transfor-mation bezeichnet.

Page 586: Bildverarbeitung und Objekterkennung ||

19.10 Transformation von Merkmalen 581

Der Merkmalsraum werde durch n-dimensionale Merkmalsvektoren xT = (x , . . . , xn)beschrieben. Die Zugehörigkeit von x zu einer Klasse soll keine Rolle spielen.Wir betrach-ten nun eine lineare, orthogonale Koordinatentransformation. Wenn die Matrix quadra-tisch ist, dann ist dies speziell eine Rotation:

x = Ay, AAT = ATA = I. (19.173)

Es sei dabei I die Einheitsmatrix, folglich bilden die Spaltenvektoren (aber auch die Zei-lenvektoren) ai , i = , . . . , n ein Orthonormalsystem, sind also Basisvektoren, die eineOrthonormalsbasis bilden. Equivalent zur Schreibweise (19.173) ist die Entwicklung von xnach der Basis:

x = ya + ya +⋯+ ynan . (19.174)

Wir wollen im Sinne einer Orthogonalprojektion auf einen m-dimensionalen Unterraumden Merkmalsvektor x durch eine Linearkombination der „ersten“ m Basisvektoren ai ,i = , . . . ,m ersetzen. Wir wissen sofort: sind diese „ersten“ Basisvektoren gegeben, dannkönnen wir die Koeffizienten yi vor den Basisvektoren über das Skalarprodukt yi = ⟨x, ai⟩ausrechnen. Diese sogenannten verallgemeinerten Fourierkoeffizienten hängen aber vomkonkreten Merkmalsvektor x ab, wir wollen dagegen eine beste Approximation für alleMerkmalsvektoren haben. Daher gehen wir zu Zufallsvariablen über. Der Merkmalsvek-tor x wird zum Zufallsvektor X, analog geht y in Y über. Da wir das Koordinatensystemrotieren, müssen wir vorher die Translation eliminieren. Dies tun wir wie üblich mit derAnnahme E(X) = . Ist dies nicht der Fall, dann normieren wir Z = X − E(X), damitE(Z) = gilt. Im Folgenden gehen wir immer von E(X) = aus. Bei fest vorgegebenem mmüssen wir denjenigen Unterraum bestimmen, der im Mittel alle Merkmalsvektoren ambesten approximiert:

Rm(A) = E⎛

⎝[X −

m∑i=

aiYi]

⎠= E

⎝[

n∑

i=m+aiYi]

⎠→ Minimum. (19.175)

mit

g(ai) = aTi ai − = . (19.176)

Die Basisvektoren ai sind jetzt selbst die gesuchten Größen.Wir wollen nun die Zielfunkti-on Rm(A) etwas anders schreiben. Auf Grund der Orthonormalität gilt Yi = aTi X = XTai .Weiterhin ist

(aiXTai) = (aiXTai)T(aiXTai) = aTi XaTi aiX

Tai = aTi XXTai . (19.177)

Page 587: Bildverarbeitung und Objekterkennung ||

582 19 Momente, Matching und Merkmale

Damit wird (19.175) zu:

Rm(A) = E⎛

⎝[

n∑

i=m+aiYi]

⎠=

n∑

i=m+aTi E(XX

T)ai

=n∑

i=m+aTi ΣXai → Minimum. (19.178)

mit

g(ai) = aTi ai − = . (19.179)

Dabei istΣX die Kovarianzmatrix bezüglichX. Alle Summanden in (19.178) sind bezüglichder unbekannten und gesuchten Basisvektoren ai entkoppelt. Damit wird die Zielfunktiongenau dann minimal, wenn jeder einzelne Summand minimal wird:

z = aTi ΣXai → Minimum bei aTi ai − = , i = , . . . , n. (19.180)

Wir bilden die Lagrange-Funktionen:

Li = aTi ΣXai − λi(aTi ai − ), i = , . . . , n. (19.181)

Von diesen bestimmen wir die Extremwerte:

∇a i Li = ΣXai − λiai = , i = , . . . , n. (19.182)

Daraus ergeben sich offensichtlich die Eigenwertprobleme:

ΣXai = λiai , i = , . . . , n. (19.183)

Da die KovarianzmatrixΣX symmetrisch und positiv semidefinit ist, gilt λi ≥ , i = , . . . , nfür die Eigenwerte. Setzt man die rechte Seite von (19.183) in das Zielfunktional ein, soergibt sich

Rm(A) =n∑

i=m+aTi ΣXai =

n∑

i=m+aTi λiai =

n∑

i=m+λi . (19.184)

Ordnet man nun diese nichtnegativen Eigenwerte der Größe nach und wir bezeichnen siemit

λ ≥ λ ≥ ⋯ ≥ λn , (19.185)

dann ist die Lösung des Extremalproblems (19.175) offensichtlich:

Page 588: Bildverarbeitung und Objekterkennung ||

19.10 Transformation von Merkmalen 583

• Die Spaltenvektoren der TransformationsmatrixA sind die orthonormierten Eigenvek-toren der Kovarianzmatrix ΣX des Zufallsvektors aller Merkmale.

• Der Unterraum der vorgegebenen Dimensionmmit der imMittel besten Approximati-on aller Merkmale wird durch die m Eigenvektoren aufgespannt, die zu den m größtenEigenwerten der Kovarianzmatrix gehören.

• Nun soll die Kovarianzmatrix der transformierten Merkmale Yi berechnet werden.Es sei Am = (a , . . . , am) und X = AmY bzw. Y = AT

mX. Damit ist E(YYT) =

ATmE(XX

T)Am und folglich

E(YYT) =

⎛⎜⎜⎜⎜⎝

λ ⋯ λ ⋯ ⋮ ⋮ ⋮ ⋮

⋯ λm

⎞⎟⎟⎟⎟⎠

. (19.186)

• Die Komponenten von Y sind somit dekorreliert, die Varianzen der Komponenten sindgerade die berechneten Eigenwerte.

Ist m = oder m = n, dann hat die Optimierung eigentlich keinen Sinn mehr. Den-noch ist der Fall m = n interessant, wenn man lediglich fordert, dass die Merkmale imtransformierten Raum dekorreliert sein sollen. Die PCA könnte man auch als „statisti-sche Hauptachsentransformation“ bezeichnen. Wir rotieren so, dass die Kovarianzmatrixzur Diagonalmatrix wird. Anschaulich betrachten wir Realisierungen xi des Zufallsvek-tors X. Diese Realisierungen bilden im Merkmalsraum eine Punktwolke. Von dieser dis-kreten Punktmenge berechnen wir die diskreten Momente bis zweiter Ordnung, dies istdie Kovarianzmatrix. Mit diesen Momenten können wir nun die Trägheitsellipse diesesPunkteobjektes berechnen, siehe auch Abschn. 19.3. Mit der PCA rotieren wir nun diePunktmenge so, dass die zugehörige Trägheitsellipse in Hauptachsenlage gerät. Für diePCA benötigen wir also immer eine Punktwolke, ein einzelner Punkt genügt nicht, denndann ist E(XXT) = xxT . Folglich wird das Eigenwertproblem trivial zu:

(xxT)x = x(xTx) = λx→ λ = ∣x∣. (19.187)

Der Vektor x ist damit selbst Basisvektor und das Problem ist unsinnig gestellt. Im Folgen-den sollen noch einige typische Anwendungsbeispiele der PCA angegeben werden.

• Beispiel 1 (Datenkompression):Da wir bei der Herleitung der PCA den Unterraum mit der besten Approximation ge-wählt haben, eignet sich die PCA auch zurDatenkompression vonBildern. Die optimaleBasis für ein einziges Bild zu berechnen, ist nach (19.187) Unsinn. Wir müssen dies füreine Punktwolke tun, dies ist folglich bei Bildern ein Menge von Bildern oder eine be-stimmte Grundgesamtheit vonBildern. EinMerkmalsvektor x ist dann ein vollständigesBild, der ZufallsvektorXwird dann auch als stochastisches Feld bezeichnet. Die Kovari-anzmatrix besteht dann aus den Kovarianzen E(XiX j) und wird als Kovarianzfunktion

Page 589: Bildverarbeitung und Objekterkennung ||

584 19 Momente, Matching und Merkmale

oder Autokorrelationsfunktion bezeichnet. Diese Autokovarianzfunktion muss nun füreine Grundgesamtheit von Bildern ermittelt werden. Bei zweidimensionalen Bildernhängt dieseAutokovarianzfunktion von vierVariablen ab. Bei kleinen (256,256)-Bildernhätte die Kovarianzmatrix die Dimension (, )). Dasher müsste man wie bei derDCTdas Bild in kleine Blöcke einteilen und nur diese Blöcke betrachten. Habenwir nuneinen Koder undDekoder, somüssen neben den berechneten yi auch die Basisvektorenai übermittelt werden. Der Aufwandwird also immer günstiger, wenn die Basisvektorenbezüglich einer sehr großen Klasse ermittelt werden, anderseits sinkt dann der Kom-pressionsgrad.

• Beispiel 2 (Merkmalsbewertung):Für diskriminatorische Aussagen bezüglich der Merkmale in der Mustererkennung istdie PCA nicht geeignet. Dennoch wird sie häufig zur Merkmalsbewertung herange-zogen. Dann sollte man aber wenigstens beachten, dass Merkmalsbewertungen völligunabhängig von Translationen und anisotropen Skalierungen sind. Deshalb normierenwir die Merkmale wie üblich durch:

Zi =Xi − E(Xi)

σ(Xi). (19.188)

Die Kovarianzmatrix von Z entspricht dann der Korrelationsmatrix von X. Benutztman z. B. auf den Originalmerkmalsvektoren xi zur Klassifikation (z. B. als Matching-maß) die Euklidische Metrik, obwohl die Merkmale zueinader nicht „passen“, dannkann es sehr schlechte Klassifikationsergebnisse geben. In diesem Falle sollte man bes-ser dieMahalanobismetrik (19.80) benutzen.WenndieMerkmale unabhängig sind odernicht sehr redundant, kannman auch statt dessen die Originalmerkmale durch (19.188)transformieren und anschließend benutzt man zur Klassifikation die Euklidische Me-trik bezüglich der transformierten Merkmale.

• Beispiel 3 (Whitening Transformation):Unter einem Zufallsvektor einer bestimmten Verteilung kann man sich immer als Rea-lisierungen eine Punktwolke einer bestimmten Struktur vorstellen. Für Testzwecke gibtman sich die theoretische Verteilung vor und möchte die Punktewolke erzeugen, folg-lich Pseudozufallszahlen erzeugen. Oft sind in Softwaresystemen eindimensionale Zu-fallszahlengeneratoren eingebaut und diese beschränken sichmeist auf Gleichverteilun-gen und Normalverteilungen. Für Zufallsvektoren sind Zufallszahlengeneratoren vielschwieriger zu implementieren.Wollenwir nunmehrdimensionale, normalverteilte Zu-fallszahlen erzeugen, so können wir die PCA benutzen. Eine mehrdimensionale Nor-malverteilung ist eindeutig durch den Erwartungswertvektor E(X) und die Kovarianz-matrix ΣX bestimmt. Den Erwartungswertvektor E(X) eliminieren wir leicht durch dieübliche NormierungX′ = X−E(X), damit ist E(X′) = . Die TransformationY = ATX′

(PCA) führt auf dekorrelierte Zufallsvariablen Y. Wenn X′ normalverteilt ist, dann istauch Y normalverteilt. Bei normalverteilten Zufallsvariablen ist Dekorrelation und Un-abhängigkeit dasselbe. Die Kovarianzmatrix von Y ist eine Diagonalmatrix Λ, wobei inder Hauptdiagonalen die Eigenwerte (Varianzen) der Größe nach geordnet stehen. Die-

Page 590: Bildverarbeitung und Objekterkennung ||

19.10 Transformation von Merkmalen 585

se Diagonalmatrix transformieren wir noch zur Einheitsmatrix durch eine anisotropeSkalierung, damit erhalten wir als Gesamttransformation:

Y = Λ−AT (X − E(X)) . (19.189)

Diese Transformation (19.189) wird alswhitening transformation bezeichnet. Die Kom-ponenten von Y bestehen folglich alle aus unabhängigen, N(, )-verteilten Zufallsva-riablen. Damit lassen sich unabhängig für alle Komponenten sehr leicht eine Probeziehen, das Ergebnis sei der Probenvektor y. Nun transformieren wir diesen durch

x = AΛ+ y + E(X) (19.190)

zurück und erhalten die gewünschte Probe x.• Beispiel 4 (Matching):

Diese Anwendung hat eigentlich wieder etwas mit der Datenkompression zu tun. Wirwollen in einer Szene ein 3D-Objekt erkennen, wir wissen aber nicht, welche Ansichtdes Objektes vorliegt. Wir nehmen deshalb ein Objekt aus vielen, verschiedenen Po-sitionen auf und speichern diese pro Objekt in einer Datenbank. Bei vielen Objektenmit vielen Ansichten ist eine Fülle von Daten zu verwalten. Das Bild eines unbekanntenObjektes wird dann mit allen Ansichten in der Datenbank verglichen (matching). AufGrund der ungeheueren Fülle von Daten ist dies fast unmöglich zu realisieren. Deshalbbenutztman oftdie sogenannte Eigenspace-Methode oder Eigenraummethode, die 1991Turk und Pentland [77] einführten. Ein Bild – eine Ansicht – wird zeilenweise als einGesamtvektor aufgefasst. Nun bilden wir den Mittelwert x über alle Ansichten und Ob-jekte aus der Datenbank und betrachten die Matrix:

X = ((x − x), (x − x), . . . , (xn − x)) . (19.191)

Die Matrix Q = XXT ist dann die Gesamtkovarianzmatrix. Diese unterziehen wir ei-ner PCA und wählen eine geeignete Anzahl von Basisvektoren aus. In der Datenbankwerden nun diese Basis und für jedes Bild die Koeffizienten yi bezüglich dieser Basisabgespeichert. Ein unbekanntes Bild wird nun auch bezüglich dieser Basis dargestelltund es erfolgt einMatching bezüglich der Basiskoeffizienten. Das erfolgreicheMatchingsetzt aber einiges voraus, z. B. keine starken projektiven Verzerrungen, nur ein Objektim Bild, Normierungen bezüglich Helligkeit und Größe des Objektes. Bei der Gesichts-erkennung kannman sich dazu leicht vorstellen, dass jedes Gesicht ungefähr die gleicheGröße hat, dass nur ein Gesicht im Bild ist, dass das Gesicht zentriert in der Bildmitteist usw. Bei der Gesichtserkennung werden die Eigenvektoren auch eigenfaces genannt.

19.10.2 Faktorenanalyse

Da die Faktorenanalyse der PCA sehr ähnlich ist und häufig mit dieser verwechselt wird,bzw. die Begriffe durcheinandergehen, soll hier kurz das Grundprinzip erläutert werden.

Page 591: Bildverarbeitung und Objekterkennung ||

586 19 Momente, Matching und Merkmale

Die Faktorenanalyse wird häufig in den Sozialwissenschaften und der Psychologie ange-wendet. Gegeben sei wie bei der PCA ein n-dimensionaler Zufallsvektor X, der irgend-welche Merkmale beschreibt. Als Realisierungen x können wir uns auch eine Punktwolkeim n-dimensionalen Merkmalsraum vorstellen. Bei der PCA haben wir diese Punktwolkedurch Rotation des Koordinatensystems durch eine Folge von Unterräumen approximiert,wobei die Dimension m des Unterraumes vom Anwender geeignet zu wählen ist. In derNotation der PCA hatten wir geschrieben:

X =m∑k=

akYk +n∑

k=m+akYk =

m∑k=

akYk + E. (19.192)

Folglich erhalten wir die Basisvektoren durch Varianzminimierung des Zufallsvektors Eaus der Gleichung:

X =m∑k=

akYk + E = AmY + E (19.193)

Wir haben also bei gegebenem X oder der Punktwolke ein Approximationsproblem gelöst.Dadurch ist die Approximation eines Punktes x im Merkmalsraum immer seine orthogo-nale Projektion auf den berechneten Unterraum. Daher sind die Fehler e „total“ korreliertbzw. die Kovarianzmatrix des Fehler-Zufallsvektors E ist keine Diagonalmatrix. Für Ap-proximationsaufgaben (Datenkompression) ist dies auch uninteressant und die Aufgabeist bestens von der PCA gelöst. Nun drehen wir aber den Spieß um und stellen uns vor, beigegebenem Unterraum, also den Basisvektoren ai , i = , . . . ,m, würfeln wir einen Punkt yaus dem Unterraum, würfeln einen Fehlervektor e und erzeugen mit (19.193) den Punktx im Merkmalsraum. Wir erzeugen somit mit dem Modell (19.193) eine Punktwolke imMerkmalsraum. Die Fehlervektoren e würfeln wir natürlich unabhängig voneinander, da-mit sind sie dekorreliert und die Kovarianzmatrix von E muss eine Diagonalmatrix sein.Das ist der wesentliche Unterschied der PCA zur Faktorenanalyse. Wir geben folglich beider Faktorenanalyse a priori vor, dass durch ein Erzeugungsmodell bezüglich eines Unter-raumes im statistischen Sinne derMerkmalsraum generiert wurde. Die wichtigste Aufgabeder Faktorenanalyse wird es nun sein, aus (19.193) die Basisvektoren zu berechnen, wobeidiese im Gegensatz zur PCA nicht orthogonal sein müssen. Dies geht aber nicht so trivi-al, dazu müssen wir erst einmal alle statistischen Voraussetzungen aufzählen, die sinnvollsind:

a) E(X) = ,b) E(Yk) = , σ (Yk) = , cov(Yk ,Yl) = ∀k ≠ l ,c) E(E j) = , σ (E j) = σ

j , cov(Ei , E j) = ∀i ≠ j,d) cov(E j ,Yk) = ∀ j ≠ k.

Mit der gegebenen Kovarianzmatrix ΣX und obigen statistischen Annahmen, z. B. ist aufGrund von c) die Kovarianzmatrix ΣE des Fehlervektors E eine Diagonalmatrix, kannman

Page 592: Bildverarbeitung und Objekterkennung ||

19.10 Transformation von Merkmalen 587

leicht folgende Varianzzerlegung herleiten. Diese wird oft als Hauptsatz der Faktorenana-lyse bezeichnet:

ΣX = AmATm + ΣE . (19.194)

Wenn R eine Rotationsmatrix bezüglich des m-dimensionalen Unterraumes ist, dann giltfür das Modell (19.193) auch

X = AmY + E = AmRRTY + E = AmY + E. (19.195)

Für Y gelten die gleichen statistischen Aussagen wie für Y. Daher ist das Faktorenmo-dell (19.193) nur bis auf eine Rotation des Unterraumes eindeutig. Daher wählt man zurSchätzung derMatrixAm der Basisvektoren desUnterraumes irgendeineRotationslage aus.Noch ein paar Bemerkungen zur Faktorenanalyse:

• In der Fakorenanalyse haben sich eigenständige Begriffe und Bezeichnungen entwickelt.Die Matrix der Basisvektoren Am heißt z. B. Matrix der Faktorladungen oder Ladungs-matrix, die Komponenten Yi des VektorsY bezüglich des Unterraumes heißen Faktoren.Weiterhin gibt es den Begriff Kommunalität für Varianzdifferenzen.

• Zur Schätzung der Parameter des Faktorenmodells, insbesondere die Faktormatrix, wirddie Varianzzerlegung (19.194) benutzt.

• Das Faktorenmodell kann unabhängig von der Rotation des Unterraumes, keine Lö-sung, eine eindeutige Lösung oder unendlich viele Lösungen besitzen.

• Zur Vereinfachung von Interpretationen wird oftmit normierten Zufallsvariablen gear-beitet, siehe (19.188), dann wird die Kovarianzmatrix zur Korrelationsmatrix.

• Da man die Faktoren interpretieren möchte und die Ladungsmatrix nur bis auf eineRotation des Unterraumes eindeutig ist, rotiert man nach der Schätzung der Parameterden Unterraum nach bestimmten Kriterien. So nennt sich ein Verfahren die Varimax-Rotation.

• Die offensichtliche Wahl eines Unterraumes ist mit der PCA nicht so einfach möglich.Sind bei der PCA z. B. die ersten m Eigenwerte der Kovarianzmatrix groß und alleannnähernd gleich, die restlichen n − m Eigenwerte aber Null, dann ist die Wahl desUnterraumes tatsächlich naheliegend.

• Unter der Annahme σ j ≈ ähnelt (19.194) der unvollständigen Cholesky-Faktorisie-

rung (incomplete Cholesky decomposition).

Page 593: Bildverarbeitung und Objekterkennung ||

20Visuelle Erkennungsaufgaben

Im nachfolgendenKapitel werden wir beispielhaft ein paar Verfahren der visuellen Objekt-erkennung kennenlernen. Dabei handelt es sich oft um eine Kombination einerMerkmals-berechnung und eines Klassifikationsverfahrens. Das Gebiet der Objekterkennung zähltzu den aktivsten Forschungsbereichen in der Bildverarbeitung. Daher werden im Rahmendieses Buches auch nur wichtige Grundprinzipien erläutert, welche in aktuellen MethodenVerwendung finden.

20.1 Herausforderungen der visuellen Objekterkennung

Es ist wichtig, die einzelnen Aufgabenstellungen der Objekterkennung korrekt zu definie-ren. Der Begriff der „Objekterkennung“ ist ein sehr weit gefasster Begriff, welcher eherfür ein komplettes Gebiet als für eine konkrete Problemstellung steht. Wir hatten in Ab-schn. 18.1 eine Unterscheidung beim maschinellen Lernen aufgrund der Art der Ausgabevorgenommen (Regression, binäreKlassifikation,Mehrklassenklassifikation).DieseUnter-scheidung lässt sich nun für die visuelle Objekterkennung erweitern. Als Eingabe erhaltendie Verfahren immer ein Testbild, welches beschriftet werden soll. Anstatt allgemein vonder Ausgabe des Verfahrens zu sprechen, werden wir in diesem Kapitel oft den BegriffBeschriftung wählen. In Abb. 20.1 sind zunächst die drei Hauptabstraktionsebenen dervisuellen Objekterkennung dargestellt. Diese richten sich nach der Art der gewünschtenAusgabe des Systems und des Detaillierungsgrades:

1. Bildklassifikation (Beschriftung des gesamten Bildes): Für ein gegebenes Bild muss ent-schieden werden, ob es ein Beispiel einer gelernten Klasse enthält.

2. Objektlokalisation (Beschriftungmit umschreibenden Rechtecken): Ziel ist es, Objektein einem Bild zu finden und deren Position mit umschreibenden Rechtecken anzuge-ben.

3. Semantische Segmentierung (Beschriftung jedes Pixels): Jeder Pixel eines gegebenenBildes soll mit einer der gelernten Klassen beschriftet werden.

589H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_20, © Springer Fachmedien Wiesbaden 2014

Page 594: Bildverarbeitung und Objekterkennung ||

590 20 Visuelle Erkennungsaufgaben

Eing

abe

Ausg

abe

Bildkategorisierung

Ausgabe: "Kuh, Gras"

Ausgabe: "Auto, Straße"

Objektlokalisation

FahrradAusgabe: beschriftete

umschreibende Rechtecke

SemantischeSegmentierung

Abb. 20.1 Unterschiedliche Aufgabenstellungen der visuellen Objekterkennung: Bildklassifikati-on/kategorisierung (Beschriftung des gesamten Bildes), Objektlokalisation (Beschriftete umschrei-bende Rechtecke) und Semantische Segmentierung (Beschriftung jedes einzelnen Bildpixels)

Jede dieser Aufgabenstellungen hat ihre eigenen Besonderheiten, welche wir in diesemKa-pitel behandeln werden. Weiterhin lässt sich ganz klar eine Steigerung der Komplexitätund der Anforderungen an die Ausgaben des Erkennungssystems beobachten. Die Listeist natürlich nicht als vollständig zu betrachten, so gibt es viele weitere Aufgabenstellun-gen, welche aber im weiteren Verlauf des Kapitels nicht besprochen werden und über dieEinteilung in semantische Klassen hinausgehen. Beispielhaft sei hier die Posenschätzunggenannt, welche zum Beispiel bei der Microsoft Kinect notwendig ist, um die aktuelle Kör-perposition des Benutzers zu ermitteln.

Der Begriff der „Klasse“ ist bisher auch nur ein abstraktes Konzept, welches wir wei-ter konkretisieren müssen. Bei der visuellen Objekterkennung gibt es nicht nur mehrereEbenen der Beschriftung sondern auch der Klassenspezifikation. So unterscheidet man imAllgemeinen zwischen der Erkennung auf Instanzebene und auf Kategorieebene. Auf derInstanzebene unterscheidet man zwischen spezifischen Objekten, ein klassisches Beispielist hier die Gesichtserkennung für die Authentifizierung, wo zwischen Gesichtsaufnah-men verschiedener Personen unterschieden wird. Eine Erkennung auf Kategorieebene hatdas Ziel allgemeine semantische Konzepte zu erkennen und zum Beispiel zwischen unter-schiedlichen Tierarten zu unterscheiden.

In Abschn. 18.2 hatten wir uns bereits mit den Herausforderungen beim maschinel-len Lernen beschäftigt und etliche Aspekte herausgearbeitet. Bei den Beispielbildern inAbb. 20.1 lassen sich auch die Schwierigkeiten des automatischen Lernens von visuellenKlassen gut erkennen und folgendermaßen zusammenfassen:

1. Verdeckungen: Objekte können sich gegenseitig verdecken (zu sehen in der Straßen-szene unten links) und 3D-Informationen sind bei Einzelaufnahmen nicht direkt ver-fügbar.

Page 595: Bildverarbeitung und Objekterkennung ||

20.2 Bildklassifikation 591

2. Hintergrund: Die Darstellung von Objekten und Bildelementen, welche nicht erkanntwerden sollen, erschwert die Erkennung zusätzlich (z. B. die Fahrradfahrer im Bild inder Mitte).

3. Intraklassenabstand: Die Erscheinungen der Objekte variieren sehr stark durch un-terschiedliche Rotationen, Skalierungen, andere Perspektiven, nicht-starre Deforma-tionen, farbliche Gestaltung, Unterkategorien anderer Ausprägung (z. B. verschiedeneArten von Vegetation in den Bildern auf der rechten Seite).

4. Interklassendistanz: Bestimmte Objekte sind ähnlich zueinander und lassen sichschwierig voneinander trennen (z. B. Kategorie Fenster und Tür auf der rechten Seite).

Es ist dabei zu beachten, dass das Problem einer geringen Interklassendistanz besondersbei der Erkennung auf Instanzebene auftritt. Ein hoher Intraklassenabstand und eine hoheVariabilität in der Klasse ist vor allem ein typisches Problem der Erkennung auf Katego-rieebene. Die große Variabilität der Objekte einer Kategorie lässt sich meist nur durch dieAngabe vieler beschrifteter und repräsentativer Beispiele erlernen. So werden zum Beispielzum Anlernen von Fußgängerdetektoren oft mehrere tausende Beispiele benötigt [20].

20.2 Bildklassifikation

Im Folgenden werden wir uns mit der Aufgabenstellung der Bildklassifikation beschäfti-gen, d. h. der Zuweisung von Bildern zuObjektkategorien. Dabei werden wir nur die Spitzedes Eisberges in diesem Bereich diskutieren können, da hier im Laufe des letzten Jahrzehn-tes hunderte vonAlgorithmenundErweiterungen entstanden sind. Sowerdenwir uns zumBeispiel auf komplett überwachte Verfahren beschränken, welche davon ausgehen, dasswirbereits eine Anzahl von beschrifteten Bildern für jede Kategorie zur Verfügung haben.

20.2.1 Kategorisierungmit globalenMerkmalen

In den Abschnitten zur Merkmalsberechnung (Abschn. 19.9) und zum maschinellen Ler-nen (Kap. 18) haben wir schon die notwendigen Werkzeuge für die Bildklassifikation ken-nengelernt. Wir extrahieren mittels eines gewählten Merkmalsextraktionsverfahrens ein-fach einen Merkmalsvektor fester Größe für ein gegebenes Bild und erhalten so ein klassi-sches Klassifikationsproblem, welchesmit Standardalgorithmen desmaschinellen Lernens,wie etwa SVM- oder NN-Klassifikatoren (Abschn. 18.4.6 und 18.4.1) angegangen werdenkann.

Der Fokus bei der Entwicklung eines Verfahrens zur Bildklassifikation liegt daher oftauf der Merkmalsberechnung, welche mit den Herausforderungen die wir im vorherigenAbschnitt diskutiert haben zurechtkommenmuss. ImAbschn. 19.9.5 hatten wir bereits densogenannten Bag-of-Words Ansatz (BoW) kennengelernt, welcher Statistiken von lokalen

Page 596: Bildverarbeitung und Objekterkennung ||

592 20 Visuelle Erkennungsaufgaben

Merkmalen berechnet. Bei der folgenden Beschreibung gehen wir von den üblicherweiseverwendeten SIFT-Merkmalen (Abschn. 19.9.2) aus, das Verfahren der globalen Merk-malsbestimmung ist aber prinzipiell unabhängig von der Art der lokalen Merkmale.

Ausgehend von einer Quantisierung von SIFT-Merkmalen (Abschn. 19.9.2) mittelsGruppierungsverfahren wie etwa k-Means (Abschn. 18.7.1), wird die Verteilung der lo-kalen Merkmale in einem Bild mit einem Histogramm beschrieben. Das Histogrammbeschreibt dadurch die Häufigkeit von typischen Bildstrukturen. Ein wichtiger Aspekt isthierbei, dass bei der Histogrammbestimmung, so wie wir sie im Abschn. 19.9.5 kennen-gelernt haben, keine Positionsinformationen der SIFT-Merkmale verwendet werden. EinBoW-Histogramm enthält nur die Häufigkeit einzelner Bildstrukturen, nicht aber derenPosition oder Anordnung im Bild. Wie bereits in Abschn. 19.9.5 angesprochen, ist eingroßer Vorteil dieser Darstellung, die Robustheit bezüglich starker Objektveränderungen.Der Nachteil ist hingegen, dass durch die Missachtung der Position der lokalen MerkmaleInformation verloren gehen kann, welche für die Unterscheidung von Objektkategoriennotwendig wäre. Dies ist besonders bei Aufgabenstellungen der Fall, welche sich durcheine niedrige Interklassendistanz auszeichnen.

Einbeziehung von Positionsinformationen Eine Möglichkeit die Positionen von loka-len Merkmalen wenigstens teilweise in die Merkmalsberechnung zu integrieren, ist dassogenannte spatial pooling. Hinter diesem Schlagwort, verbirgt sich nichts anderes als dieBerechnung von BoW-Histogrammen in mehreren Bereichen des Bildes und die anschlie-ßendeKonkatenation dieserMerkmalsvektoren.Dieses Prinzip ist sehr ähnlich zur Bestim-mung von Histogrammen in einzelnen Blöcken beim HOG-Merkmal (Abschn. 19.9.3).Die Bereiche, in denen die Histogramme extrahiert werden, müssen entweder vorher festdefiniert oder als Parameter während des Lernens optimiert werden. Typischerweise wirdeinfach das Bildmit einem regelmäßigen Gitter unterschiedlicher Größe in einzelne Blöckeeingeteilt. In Abb. 20.2 ist dies einmal für ein Beispiel dargestellt, als lokales Merkmal wirdeinfach die Gradientenrichtung gewählt, welche in 8 unterschiedliche Richtungen quanti-siert ist ähnlich zu HOGMerkmalen ohne Normierung.

Wie in der Abbildung zu erkennen ist, erhält man für jede Wahl des Gitters ein Merk-malsvektor h(γ) ∈ R

dγ , welcher wiederum durch Zusammenfügen der Histogramme inden einzelnen Blöcken entstanden ist. Bei der Kombination der Merkmalsvektoren aus je-der Stufe γ ∈ {, . . . ,m} (γ = korrespondiert zu einem grobenGitter mit wenigen Blöckenund γ = m ist das Gitter mit der kleinsten Blockgröße) gibt es nun mehrere Strategien. Ei-ne einfache Strategie ist es, diese Merkmalsvektoren wieder ebenfalls zu konkatenieren umeinen globalen Merkmalsvektor h = (h , . . . , hm) ∈ RD des Bildes zu erhalten. Diese Me-thode hat aber einen entscheidenden Nachteil, welchen wir im Folgenden erläutern wollen.In Abschn. 18.5 hatten wir uns bereits mit Kernelfunktionen beschäftigt und gesehen, dasskernelbasierte Klassifikatoren nur auf paarweise Ähnlichkeiten der Lernbeispiele für dasLernen zurückgreifen. Diese Ähnlichkeiten werden mittels einer Kernelfunktion berech-net. Wenn wir den Histogrammschnitt (Abschn. 18.5.2, (18.92)) als Kernelfunktion zum

Page 597: Bildverarbeitung und Objekterkennung ||

20.2 Bildklassifikation 593

Eingabebild

Gitter 0 Gitter 1 Gitter 2

Gitt

erei

ntei

lung

His

togr

amm

e in

den

Blöc

ken

His

togr

amm

e fü

rje

des

Gitt

er

Grauwertbild Binarisierte Gradientenstärke

Abb. 20.2 Bestimmung von BoW-Histogrammen in unterschiedlichen Bereichen des Bildes: ImBeispiel wurden die Gradientenrichtungen im Bild in 8 Richtungen quantisiert

Vergleich von zwei Merkmalsvektoren h und h′ heranziehen, so erhalten wir:

K(h, h′) =D∑i=

min(hi , h′i) =m∑γ=

∑j=

min(h(γ)j , (h′)(γ)j ) (20.1)

Es lässt sich erkennen, dass die Unterschiede in den Histogrammeinträgen bei gröberenGittern den gleichen Einfluss auf die Ähnlichkeitsbestimmung haben wie Unterschiedein den Histogrammeinträgen bei feineren Gittern, obwohl Bildbereiche unterschiedlicherGröße zur Bestimmung der Einträge verwendet wurden. Um dies zu vermeiden, führtman

Page 598: Bildverarbeitung und Objekterkennung ||

594 20 Visuelle Erkennungsaufgaben

üblicherweise Gewichte βγ ein, welche entweder als Parameter während des Lernens be-stimmt oder anhand der Dimensionen dγ als Normierungsfaktoren gewählt werden:

K(h, h′) =m∑γ=

βγ⎛

∑j=

min(h(γ)j , (h′)(γ)j )⎞

⎠. (20.2)

Als alternative Kernelfunktion kann auch der Chi-Quadrat-Kern verwendet (Abschn.18.5.2).

Einfache randomisierte Bestimmung der Quantisierung Die Bestimmung der Quanti-sierung oder der Kodebücher von lokalen Merkmalen mit dem k-Means Algorithmus istdurch die quadratische Komplexität des Algorithmus sehr aufwendig, daher wird oft nureine kleine zufällige Auswahl von lokalen Deskriptoren verwendet. In vielen Untersuchun-gen hat sich gezeigt, dass sogar eine zufällige Wahl der Prototypen für die Quantisierungdurchgeführt werden kann ohne deutliche Unterschiede in den Erkennungsraten zu be-obachten. In dem Fall wählt man einfach zufällig Merkmalsvektoren aus den lokalen De-skriptoren aller Lernbeispiele aus und verwendet diese als Prototypen.

Bestimmung überwachterQuantisierungen Bei der Bestimmung der Quantisierung derlokalenMerkmalewird oft der k-MeansAlgorithmus oder eine randomisierteAuswahl vonPrototypen verwendet. Ein Nachteil dieser Gruppierungsverfahren ist es, dass die Klassen-zugehörigkeiten, der den lokalen Merkmalen zugehörigen Bilder, nicht beachtet werden.Ein Verfahren welches dies berücksichtigt, könnte Cluster von lokalen Merkmalen bestim-men, welche charakteristisch für spezifische Klassen sind. Es gibt in der Literatur vieleVerfahren,welche den k-MeansAlgorithmus entsprechend erweitern umdie Homogenitätbezüglich der Klassenzugehörigkeit in den Gruppen zu fördern. Diese Verfahren werdenoft dem Schlagwort discriminative codebook learning zugeordnet. Im Gegensatz dazu ist esaber auch möglich ein bewährtes Konzept bei der Klassifikation, auch für die überwachteGruppierung zu verwenden: randomisierte Entscheidungsbäume (Abschn. 18.4.4).

Wir gehen einmal davon aus, dass wir in allen für das Lernen zur Verfügung gestelltenBildern, lokaleMerkmalsdeskriptoren extrahiert haben. Jedemdieser lokalenDeskriptorenist die Klassenbeschriftung des jeweiligen Bildes zugeordnet. Wir lernen nun einen rando-misierten Entscheidungsbaummit diesen Daten an, d. h. wir versuchen einen Klassifikatorzu bestimmen, welcher ausgehend von einem lokalen Merkmal die Klassenbeschriftungschätzt. Dies ist natürlich eine schwierigeAufgabenstellung, da der Bildbereich, welcher fürdie Berechnung der lokalen Deskriptoren verwendet wird, oft sehr klein ist und nur wenigInformationen enthält um Objekte einzelner Kategorien zu erkennen. Wir werden diesesProblem in Abschn. 20.4 im Rahmen der semantischen Segmentierung noch näher disku-tieren. EineKlassifikation ist aber im aktuellen Schritt derMerkmalsberechnung auch nochgar nicht gefordert. Viel mehr erhalten wir durch den gelernten Entscheidungsbaum (oderEntscheidungswald) eine indirekte Einteilung des Merkmalsraumes. Die einzelnen Blätterdes Baumes lassen sich dabei jeweils als Teil desMerkmalsraumes interpretieren und durch

Page 599: Bildverarbeitung und Objekterkennung ||

20.2 Bildklassifikation 595

den gesamten Baum ergibt sich eine Zerlegung, sowie sie auch durch den k-Means Algo-rithmus mit der Voronoi-Zerlegung prinzipiell erzielt wird. Vorteil bei der Verwendungeines Entscheidungsbaumes ist es aber, dass beim Lernen versucht wird Blätter zu erhal-ten, welche Lernbeispiele nur einer Klasse enthalten. Dies ist genau das, was wir bei derursprünglichen Motivation der überwachten Gruppierung gefordert hatten.

Um ein BoW-Histogramm für ein Bild mit diesem Verfahren zu bestimmen, berechnenwir zunächst alle lokalen Deskriptoren {l(k)}Wk= in diesem Bild. Dabei ist es vorteilhaftkeinen Detektor zu verwenden, sondern in einem festen Gitter Deskriptoren zu berechnen.Danach wenden wir den gelernten Entscheidungsbaum auf jeden dieser Deskriptoren anund zählen die Häufigkeit der Deskriptoren in den Blättern {ϑ j}

Dj= :

h j = ∣{l(k) ∣ ϑ(l(k)) = ϑ j}∣ ⋅W− . (20.3)

Die Größe der BoW-Histogrammehwird dabei durch die Anzahl der Blätter des Entschei-dungsbaumes angegeben. Die beimLernen ermittelten empirischeKlassenwahrscheinlich-keiten in den Blättern sind für die Merkmalsberechnung nicht relevant.

Earth Mover’s Distance als Abstandsmaß Wir hatten in Abschn. 19.8.3 bereits die EarthMover’s Distance (EMD) als Abstandsmaß für zwei Signaturen kennengelernt. Als Signa-tur hatten wir Mengen P = [(m j ,wj)] j mit Prototypen m j ∈ R

d und Gewichten wj ∈

R definiert. Unsere verwendeten BoW-Histogramme in diesem Abschnitt lassen sich alsSignaturen P = [(z j , h j)] j mit fest definierten Clustern z j (Elemente des Kodebuches)auffassen. Die EMD-Distanz lässt sich aber nun auch dafür einsetzen, Signaturen mit un-terschiedlichen Clustern zu vergleichen. Daher können wir die lokalen Merkmale jedesBildes individuell mit dem k-Means Algorithmus gruppieren („clustern“) und die dadurchentstandenen Signaturen miteinander mit der EMD-Distanz vergleichen (siehe (19.104)).Ausgehend von dieser paarweisen Distanz der Bilder, lässt sich dann eine Kernelfunktionkonstruieren:

KEMD(P ,Q) = exp(−γ ⋅ EMD(P ,Q)), (20.4)

wobei P und Q die Signaturen der Bilder sind. Die Variable γ > ist ein Hyperparameterder Kernelfunktion. Ein Vorteil dieser Methode ist die Unabhängigkeit von einem festenKodebuch. Diesem Vorteil steht der Nachteil des hohen Rechenaufwandes bei der Berech-nung der paarweisen Distanzen gegenüber.

20.2.2 Kernelbasierte Kombination vonmehreren Merkmalen

Für viele Aufgabenstellungen ist es notwendig, mehrere Merkmalsrepräsentationen zu be-rechnen und für die Erkennung zu nutzen. Zum Beispiel beinhalten BoW-Histogrammeauf der Basis von lokalen SIFT Deskriptoren nur Informationen über lokale Grauwert-strukturen ohne Farbinformationen zu berücksichtigen. Daher werden oft mehrere BoW-

Page 600: Bildverarbeitung und Objekterkennung ||

596 20 Visuelle Erkennungsaufgaben

Histogrammemit unterschiedlichen lokalen Deskriptoren berechnet, welche dann kombi-niert werden. Eine einfacheMöglichkeit der Kombination ist die Konkatenation derMerk-male. Ein Nachteil dieser Methode ist es, dass alle Merkmale gleichberechtigt beim Klas-sifikator vorliegen. Dies ist besonders bei kernelbasierte Methoden nachteilig, da dannUnterschiede in den Merkmalen den gleichen Einfluss auf die Distanzberechnung haben.

Dieser Nachteil kann mit multiple kernel Methoden überwunden werden. Wir geheneinmal davon aus, dass wir für ein gegebenes Bild M BoW-Histogramme (h(k))

Mk= mit

unterschiedlichen Verfahren der lokalen Merkmalsextraktion bestimmt haben. Weiterhinsei für jede dieserMMerkmalstypen eine Kernelfunktion K(k) definiert, welche die Histo-gramme zweier unterschiedlicher Beispiele des gleichen Merkmalstyps vergleichen kann.Für die kernelbasierte Klassifikation benötigen wir eine gesamte Kernelfunktion K, welchezwei Histogrammrepräsentationen H = (h(k) )

Mk= und H = (h(k) )

Mk= vergleicht. Eine

Möglichkeit Kernelfunktionen zu kombinieren ist eine einfache gewichtete Linearkombi-nation:

K(H ,H) =M∑k=

αk ⋅ K(k)(h(k) , h(k) ). (20.5)

Die Gewichte αk ∈ R sollten natürlich aus den gegebenen Lerndaten ermittelt werden. EineMöglichkeit hatten wir bereits bei der Klassifikation mit Gaußprozessen kennengelernt.Dort ist es möglich (Hyper-)Parameter der Kernelfunktion aufgrund einer Optimierungzu ermitteln (Abschn. 18.5.11). Da sich die Gewichte αk als Parameter der KernelfunktionK auffassen lassen, kann man die dort beschriebenen Techniken direkt anwenden.

20.2.3 Kombinierte Merkmalsberechnung und Klassifikation

Wir haben schon zahlreicheMerkmalstypen kennengelernt, wie zumBeispiel Richtungshi-stogramme und ausgehend von diesen sogenannte globale BoW-Merkmale. Im Folgendenwerden wir uns den Gesamtablauf der Merkmalsberechnung noch einmal detailiert anse-hen und davon allgemeine Prinzipien ableiten.

Für die Berechnung von Richtungshistogrammen, sei es nun konkret für SIFT oderHOG Merkmale, ist die Bestimmung der einzelnen Gradienten im Bild notwendig. Wiein Abschn. 2.3 erläutert, geschieht dies meist durch die Anwendung von linearen Filte-roperationen, wie etwa dem Sobel-Filter. Eine einfache aber ineffiziente Möglichkeit fürdie Berechnung einer in K Bereiche quantisierten Gradientenrichtung, ist zum Beispieldie Verwendung von K rotierten Gradientenfiltern (siehe analog hierzu die Richtungskan-tenfilter in Abschn. 8.2.2). Die (normierten) Ausgaben der einzelnen Filter in jedem Pixelkönnen dann als eine Art Histogramm über die Gradientenrichtungen interpretiert wer-den. Bei der Berechnung von SIFToderHOGMerkmalenwerden dieseHistogramme lokalzusammengefasst, zum Beispiel innerhalb von × Nachbarschaften. Ausgehend von denlokalen Merkmalen erfolgt wieder eine Quantisierung, diesmal mittels eines unüberwacht

Page 601: Bildverarbeitung und Objekterkennung ||

20.2 Bildklassifikation 597

erlernten BoW Kodebuches (siehe Abschn. 19.9.5). Die quantisierten lokalen Merkmalenwerden danach wieder in bestimmten Bildregionen zu einem Histogramm zusammenge-fasst wie im vorherigen Abschnitt gezeigt.

Betrachtet man diesen Ablauf, so lassen sich zwei fundamentale Grundkonzepte er-kennen: Anwendung von Filteroperationen und Zusammenfassen von Merkmalen. Diealternierende Anwendung dieser zwei Konzepte ist daher typisch für Erkennungsverfah-ren in der Bildverarbeitung und es ergeben sich mehrere miteinander verbundene Ebenender Merkmalsberechnung, welche oft als Netzwerk dargestellt werden. Grundidee ist es,in dieses Modell direkt auch das Modell eines Klassifikators zu integrieren, zum Beispieldurch mehrere lineare Operationen, welche für jede einzelne Klasse eine kontinuierlicheAusgabe liefern.

Die Idee neuer Verfahren, welche oft mit dem Schlagwort deep learning assoziert wer-den, ist es nicht wie ursprünglich jede einzelne Ebene getrennt voneinander zu betrach-ten und zu optimieren, sondern möglichst viele Parameter anhand von Lerndaten zu be-stimmen. Die Beschränkung auf SIFT Merkmale ganz am Anfang der üblichen Ansätzeist zum Beispiel in vielen Fällen viel zu restriktiv und anwendungsspezifisch. Die Fragestellt sich nun aber, wie es möglich ist, die schier immense Anzahl von Parametern (Filter-masken, Regionen für die Zusammenfassung, etc.) effizient und robust zu erlernen, undvor allem welches Optimierungskriterium anwendbar ist. Als grundlegendes Kritierumbeim maschinellen Lernen haben wir bereits die Minimierung einer Fehlerfunktion aufden Lerndaten kennengelernt (siehe zum Beispiel Abschn. 18.4.5). Diese Kriterien sindintuitiv verständlich und kommen dem finalen Kriterium, die Fehlerrate bei der Klassi-fikation zu verringern, am nächsten. Um eine Optimierung der Parameter der Schichtender Merkmalsextraktion mittels einer Fehlerfunktion auf den Lerndaten zu optimieren,werden häufig Gradientenabstiegsverfahren verwendet, ähnlich zum back propagation beineuronalen Netzwerken. Ein großes Problem bei diesem Ansatz ist die große Anzahl zubestimmender Parameter, daher ist es oft notwendig immense Mengen von Lernbeispie-len dem Verfahren zur Verfügung zu stellen, um eine Überanpassung zu vermeiden. BeimVerfahren von Krizhevsky et al. [36] wird zum Beispiel ein Teil des ImageNet-Datensatzesverwendet mit über 1 Million Bildern eingeteilt in 1000 Objektkategorien1 .

Eine genaue und ausführlicheBeschreibung dieser Verfahren ist nicht Bestandteil diesesBuches undwir verweisen den interessierten Leser auf die Arbeit vonKrizhevsky et al. [36]und den dortigen Literaturzitaten.

20.2.4 Erkennung auf Instanzebene

Bisher hatten wir kurz und knapp ein paar Aspekte der Bildklassifikation auf Kategorieebe-ne betrachtet. Wie schon in Abschn. 20.1 besprochen, muss bei der Erkennung auf Instan-zebene hingegen ein spezifisches Objekt aus zum Beispiel unterschiedlichen Blickwinkeln

1 http://www.image-net.org/

Page 602: Bildverarbeitung und Objekterkennung ||

598 20 Visuelle Erkennungsaufgaben

und in unterschiedlichen Beleuchtungen erkannt werden. Im Vergleich zur Kategorisie-rung haben wir es also in dem Fall mit ganz anderen Anforderungen an die Invarianzei-genschaften der Merkmale zu tun, da die zu betrachtende Klasse eine wesentlich kleinereIntraklassenvarianz besitzt.

Bei der Instanzerkennung liegt einer Klasse immer das gleiche 3D-Objekt zu Grundeund für die Erkennungmüssenwir daher hauptsächlichmit den Auswirkungen der Projek-tion auf ein 2D-Bild zurechtkommen. In Abschn. 16.4 hatten wir uns mit der Bestimmungvon Punktkorrespondenzen für die 3D Rekonstruktion beschäftigt, mit einer fast identi-schen Ausgangslage. Aus diesem Grund lassen sich auch bei der Instanzerkennung nahezudie gleichen Algorithmen verwenden.

Üblicherweise werden also auch SIFT-Deskriptoren an interessanten Punkten bestimmt(vollständige SIFTMerkmalemitDetektor) umdann diesemitMatchingverfahren, wie derungarischenMethode, zu vergleichen (Abschn. 19.8). Dabei ist es sinnvoll iterativ dasMat-chingverfahrenmit einer Bestimmung einerMenge vonPunktkorrespondenzen zu verbin-den, welche einem gemeinsamen geometrischen Modell unterliegen. DasMatching erfolgtimmer zwischen einem Testbild und einem der Lernbeispiele. Die Kosten beimMatching-verfahren können dann als Distanzmaß beim Nächster-Nachbar-Klassifikator eingesetztwerden. Bei vielen Lernbildern ist dieses Verfahren sehr aufwendig. Eine Möglichkeit derReduktion der notwendigen Rechenzeit ist die Verwendung von globalen Merkmalen, wieetwa BoW-Merkmale mit spatial pooling (Abschn. 20.2.1), um zunächst eine kleine Mengevon k Kandidaten mittels des k-Nächster-Nachbar-Klassifikators zu erhalten. Dieser zwei-stufige Prozess ist auch als query expansion bekannt.

Ein anderer Ansatz basiert auf der verallgemeinerten Hough-Transformation (Ab-schn. 10.8.5). Für jeden Deskriptor merken wir uns zusätzlich im Lernschritt die relativePosition zum Mittelpunkt des Objektes, die Orientierung und die Skalierung. Bei der Er-kennung versuchen wir dann mit einem Voting den Mittelpunkt eines Objektes odermehrerer Objekte zu bestimmen. Zusätzlich kann dann anschliessend ein geometri-scher Validierungsschritt erfolgen, indem wir versuchen eine affine Transformation andie gegebenen Punktmengen der lokalen Merkmale anzupassen. Die vorherige Hough-Transformation kann auch zusätzlich zur Auswahl einer kleinen Menge von möglichenObjektpunkten verwendet werden. Weitere Details zu dieser Anwendung von SIFT-De-skriptoren befinden sich in der Originalarbeit von David Lowe [42].

20.3 Objektlokalisation

Im Folgenden werden wir uns mit der Objektlokalisation, so wie sie im einführenden Ab-schn. 20.1 dargestellt wurde, beschäftigen. Diese Aufgabenstellung wird auch oft als Ob-jektdetektion bezeichnet, da sich besonders in der englischen Literatur der Begriff objectdetection eingebürgert hat. Ziel ist es nicht nur eine globale Beschriftung für ein Testbildzu erhalten, sondern auch ein umschreibendes Rechteck, welches die Position des Objektesangibt.

Page 603: Bildverarbeitung und Objekterkennung ||

20.3 Objektlokalisation 599

20.3.1 Sliding-WindowKlassifikation

Die meisten Verfahren der Objektlokalisation basieren auf dem allgemeinen Konzept derSliding-Window Klassifikation. Wie der Name schon vermuten lässt, findet bei diesem An-satz eine Klassifikation von einzelnen Bildausschnitten statt, welche wir im Folgenden auchals Fenster bezeichnen wollen. Genauer gesagt wählen wir uns ein Fenster fester Größeund schieben dieses Rechteck Pixel für Pixel über das Eingabebild. An jeder Position desFensters wenden wir nun einen Klassifikator an, welcher zurMerkmalsberechnung nur dieBildinformation innerhalb des Fensters verwendet. Der Klassifikator trifft für die aktuellePosition eine binäre Klassifikationsentscheidung, ob das Fenster gerade eine Instanz derObjektkategorie zeigt.

Wir werden dieses Konzept nun ein wenig exakter formulieren und dabei auch ma-thematische Notationen einführen, welche wir später noch benötigen werden. Wir be-zeichnen zunächst ein Fenster mit R = (px , py ,mR, nR), definiert durch die linke obereEcke p = (px , py) und den Seitenlängen m

R

und nR

. Weiterhin nehmen wir an, dassein Verfahren zur Merkmalsextraktion gegeben ist, welches für eine gegebene Fenstergrö-ße R und ein Bild g einen Merkmalsvektor x(R; g) ∈ RD bestimmt. Bei einer gegebenenBewertungsfunktion f ∶ RD → R eines Klassifikators bestimmen wir eine Menge von Ob-jekthypothesen, d. h. Fenster die höchstwahrscheinlich ein Objekt einer vorher festgelegtenKategorie enthalten, indem wir die Fenster betrachten, bei denen derWert von f einen be-stimmten Schwellwert ζdet überschreitet:

D(g) = {R ∣ f (x(R; g)) > ζdet}. (20.6)

Da der Klassifikator mit Beschriftungen y = für positive Beispiele und y = − für negativeBeispiele angelernt wurde, sind Beispiele (Fenster) mit hohenWerten der Entscheidungs-funktion mögliche Objekte der gelernten Kategorie.

Die Anzahl aller möglichen Fenster in einem Bild ist natürlich riesig und bei M × Mgroßen Bildern imBereich vonO(M). Aus diesemGrundwerden in der Praxis oft Fenstermit festem Seitenverhältnis β ∈ R gewählt und auch nur mit einer geringen Anzahl vonSkalierungsstufen. Ein Fenster ist in diesem Fall definiert durch seinen Mittelpunkt sowieeinem Skalierungsfaktor σ ∈ {σ , . . . , σS}. Um die Menge der Hypothesen zu bestimmen,können wir daher S Bilder für jede Skalierung betrachten, welche die Ausgabewerte derEntscheidungsfunktion in jedem Pixel speichern:

s(p, σ ; g) = f (x(px , py , σ ⋅mR

, σ ⋅ nR

; g)) (20.7)= f (x(px , py ,mR, nR; gσ)). (20.8)

Dabei könnenwir anstelle der Skalierung der Fenster auch ein entsprechend skaliertes Bildgσ verwenden. Für die Betrachtung mehrerer Skalierungen können auch Gaußsche Bild-pyramiden (Abschn. 5.4.5) genutzt werden, d. h. die betrachtenden Fenster haben immereine feste absolute Größe und durch die Skalierung des Bildes selbst, ist es möglich Objekteunterschiedlicher Größen in einem Bild zu detektieren.

Page 604: Bildverarbeitung und Objekterkennung ||

600 20 Visuelle Erkennungsaufgaben

Das Lernen des Klassifikator f erfolgt sowohlmit positiven Beispielen, d. h. Fenster wel-che ein Beispiel der Objektkategorie zeigen, als auch mit negativen Bildausschnitten, d. h.Fenster welche kein komplettes Beispiel der Objektkategorie darstellen. Wichtig ist nocheinmal die Abgrenzung zur Bildklassifikation, ein Beispiel ist in unserem aktuellen Fallimmer ein Bildausschnitt nicht ein komplettes Bild. Daher ergeben sich im Falle der Ob-jektlokalisation eine große Anzahl möglicher negativer Beispiele. In der Praxis wird daheroft ein Bootstrapping-Ansatz gewählt, welcher zunächst zufällige negative Bildausschnitteverwendet um einen initialen Klassifikator zu erstellen und dann in folgenden Schrittenimmer neue zufällige negative Bildausschnitte hinzufügt, welche einen hohen Wert derBewertungsfunktion f des bisherigen Klassifikators erhalten haben. Ein hoher Wert derBewertung für ein negatives Beispiel signalisiert eine Falschklassifikation, daher wird beidiesem Verfahren versucht den Klassifikator schrittweise zu verbessern indem besondersschwierige Beispiele beim Lernen zur Verfügung gestellt werden.

Im vorherigen Abschnitt hatten wir uns möglicheMerkmale angesehen, welche sich fürdie Bildklassifikation eignen. Ein Beispiel waren Bag-of-Words-Merkmale, welche Statis-tiken von lokalen Merkmalen berechnen, ohne deren Positionen zu berücksichtigen. Beider Objektlokalisation sind diese nur bedingt geeignet, da in diesem Fall die berechnetenMerkmale nicht translationsinvariant sein sollten. Ein Klassifikator welcher translationsin-variante Merkmale verwendet, würde schon höchstwahrscheinlich einen hohen Wert derEntscheidungsfunktion zurück liefern, obwohl das Objekt im aktuell betrachteten Fensternur teilweise zu sehen ist. Jedoch gibt es einen gewissen Kompromiss an dieser Stelle, zumBeispiel ist eine Invarianz bezüglich kleinerer Verschiebungen von wenigen Pixeln sinn-voll, besonders wenn der Klassifikator nicht an allen Stellen des Bildes ausgewertet wirdsondern nur alle paar Pixel.

Auf Basis der in diesem Abschnitt erfolgten Überlegungen, fassen wir noch einmal dieAnforderungen an die Bestandteile eines Verfahrens der Objektlokalisation zusammen:

1. Schnelle Merkmalsberechnung für ein gegebenes Fenster2. Schnelle Auswertung des Klassifikators3. Effizientes Lernen eines Klassifikators mit vielen Lernbeispielen4. Die berechnetenMerkmale dürfen nicht invariant bezüglich signifikanter Translationen

sein um eine ausreichende Lokalisationsgenauigkeit zu gewährleisten.

20.3.2 Viola-und-Jones-Verfahren

Das erste Verfahren, welches wir uns näher ansehen wollen, ist das Verfahren nach Vio-la und Jones [81]. Das Verfahren wurde ursprünglich für die Gesichtsdetektion entwickeltund hat sich auch schon bereits in vielen Anwendungen bewährt. Es ist davon auszuge-hen, dass viele Algorithmen zur Gesichtsdetektion, welche sich in nahezu allen heutigenDigitalkameras befinden, auf diesem Verfahren basieren.

Das Viola-und-Jones-Verfahren (VJ-Verfahren) ist ein typischer Vertreter der Sliding-Window-Klassifikation wie wir sie im vorherigen Abschnitt kennengelernt haben.

Page 605: Bildverarbeitung und Objekterkennung ||

20.3 Objektlokalisation 601

Abb. 20.3 Einfache Rechteckmerkmale beimViola-und-Jones-Verfahren: In derGrafik sind die ver-wendeten Rechtecke für die Berechnung der Grauwertsummen markiert, diese können sowohl vonder Position als auch von der Größe innerhalb des Fensters variieren

Einfache Rechteckmerkmale Wir hatten bereits erwähnt, dass bei der Objektlokalisationein schnelles Verfahren zur Berechnung von Merkmalen für einen gegebenen Bildaus-schnitt notwendig ist. Als Merkmale verwendet das VJ-Verfahren daher einfache Diffe-renzen von Grauwertsummen in Rechtecken innerhalb des aktuell betrachteten Bildaus-schnitts. Allgemein lassen sich diese Merkmale wie folgt berechnen:

xRechteck(p, g; (Ri)ri= , (γi)

ri=) =

r∑i=

γi⎛

⎝∑p′∈Ri

g(p + p′)⎞

⎠(20.9)

Die Regionen Ri sind dabei Mengen von relativen Positionsangaben. In der Praxis ist esoft ausreichend, höchstens r = Rechtecke zu verwenden und diese auch in speziellen An-ordnungen, welche in Abb. 20.3 dargestellt sind. Die einzelnenWerte der Merkmale lassensich wieder sehr leicht mittels Integralbildern (Abschn. 19.9.6) berechnen. Für den erstenMerkmalstyp in Abb. 20.3 sind zum Beispiel nur 6 Zugriffe auf ein Integralbilder notwen-dig. Dieser Merkmalstyp ist eine Art breiter Gradientenfilter in x-Richtung, welcher alleindurch die linke obere Ecke und die Größe der Rechtecke bestimmt wird. Aufgrund ihrerÄhnlichkeit zu Haar-Waveletfunktionen werden diese Merkmale oft als haar-like featuresbezeichnet.

Die direkte Verwendung der Grauwerte des Eingabebildes führt dazu, dass die berech-neten Merkmale bezüglich einfacher Grauwerttransformationen nicht invariant sind. Umdies zu beheben, können wir die Grauwerte innerhalb eines Fensters normieren:

g′(p) =g(p) − μ

R

σR

, (20.10)

dabei sind μR

der Mittelwert und σR

die Standardabweichung der Grauwerte innerhalbeines Fensters. Verwendet man diese normierten Grauwerte anstelle der ursprünglichenGrauwerte bei der Berechnung derMerkmale in (20.9) erhalten wir die Invarianz bezüglichlinearer Grauwerttransformationen. Die effiziente Bestimmung des Mittelwertes μ

R

undder Standardabweichung σ

R

kann wieder mittels Integralbildern von g und dem Bild g

der quadrierten Grauwerte erfolgen.

Page 606: Bildverarbeitung und Objekterkennung ||

602 20 Visuelle Erkennungsaufgaben

Klassifikator Betrachten wir die Merkmalstypen in Abb. 20.3, so ergeben sich selbst beikleineren Fenstern wie zumBeispiel mit einer Größe von × Pixeln, tausendemöglicheMerkmale welche für die Klassifikation verwendet werden können. Es ist daher notwendigeinen Klassifikator einzusetzen welcher effizient wichtige Merkmale für die Klassifikationauswählen kann.

Als Klassifikator kommt bei diesem Verfahren ein Boosting-Klassifikator zum Einsatz.Diese Art des Klassifikators hatten wir in Abschn. 18.4.5 kennengelernt und die Bewer-tungsfunktion f entsteht durch Linearkombination von T Basisklassifikatoren:

f (x; α, (θt)Tt=) =

T∑t=

αt ⋅ ht(x; θt). (20.11)

Als Basisklassifikatoren wählen wir nun sehr einfache Schwellwertoperationen mit demIndex r des Merkmals, dem Schwellwert ζ und einer Parität bt ∈ {−, } als Parameter, d. h.θt = (r(t), ζt , bt):

ht(x; θt) =

⎧⎪⎪⎨⎪⎪⎩

wenn bt ⋅ xr(t) < bt ⋅ ζt− sonst.

(20.12)

Das Lernen des Klassifikators kann dann wie in Abschn. 18.4.5 realisiert werden. DemVerfahren müssen nur entsprechende positive und negative Lernbeispiele zur Verfügunggestellt werden.

Verwendung einer Kaskade Bei der Standardanwendung des VJ-Verfahrens, der Ge-sichtsdetektion, wird eine geringe Laufzeit des Verfahrens benötigt, dies gilt natürlichinsbesondere bei der Verwendung des Verfahrens in Geräten mit geringerer Rechen-leistung (z. B. Digitalkameras oder Smartphones). Das bisher beschriebene Verfahrenverwendet bereits schon Merkmale welche mit wenigen Rechenoperationen berechnetwerden können sowie eine Kombination einfacher Schwellwertklassifikatoren durch Boos-ting.

Potential für eine Verbesserung bietet die Tatsache, dass für die Auswertung eines Fens-ters bisher alle Basisklassifikatoren ausgewertet werden müssen um zu einem finalen Klas-sifikationsergebnis zu gelangen. Es lassen aber sich bestimmte Fenster schnell, d. h. unterVerwendung weniger Merkmale, als negative Beispiele zurückweisen. Im Falle der Ge-sichtsdetektion wären dies zum Beispiel homogene Gebiete. Aus dieser Grundidee lässtsich das Konzept einer Kaskade von (Boosting-)Klassifikatoren entwickeln. Eine Kaskadeist eine Menge C = ( fi , ti)Ci= von C Klassifikatoren fi mit zugehörigen Schwellwerten ti .Bei der Auswertung der Kaskade werden die Klassifikatoren der Reihe nach durchlaufenund ist der Wert fi(x∗) des aktuellen Klassifikators in Stufe i kleiner als der Schwellwertti , so erfolgt der Abbruch der Auswertung und das Beispiel x

wird der negativen Klasse

Page 607: Bildverarbeitung und Objekterkennung ||

20.3 Objektlokalisation 603

Abb. 20.4 Ergebnisse desViola-und-Jones-Verfahrensfür die Gesichtsdetektionmiteiner unterschiedlichenAnzahlvon Boosting-Klassifikatorenin der Kaskade. a Kaskade mit8 Boosting-Klassifikatoren,b Kaskade mit 10 Boosting-Klassifikatoren, c VollständigeKaskade

a

b

c

zugewiesen. Eine Kaskade ist im Vergleich zu Klassifikatoren welche auf Entscheidungs-bäumen basieren, ein entarteter Baum mit Trennknoten, welche jeweils mindestens einBlatt als Kindknoten besitzen.

Bei der Objektlokalisation lässt sich eine Kaskade lernen, welche mit schnell auszuwer-tenden Boosting-Klassifikatoren bereits einen großen Teil aller negativen Bildausschnitte„zurückweist“, d. h. als negativ deklariert. Dadurch kann die benötigte Rechenzeit beider Auswertung drastisch reduziert werden. Das Lernen einer Kaskade erfolgt oft unter

Page 608: Bildverarbeitung und Objekterkennung ||

604 20 Visuelle Erkennungsaufgaben

a b

Abb. 20.5 Beispielergebnisse der Gesichtsdetektiona ohne und bmit Fusion der Objekthypothesen

Verwendung eines zusätzlichen Validierungsdatensatzes, welcher genutzt wird um dieFalschpositivrate und die Richtigpositivrate der aktuellen Kaskade zu bestimmen und dieSchwellwerte ti anzupassen. Dabei wird von jeder Stufe der Kaskade eine minimale Rich-tigpositivrate gefordert. Der Schwellwert ti kann dann so eingestellt werden, dass dieseRate auf jeden Fall erreicht wird. Für einen konkreten Algorithmus zur Bestimmung einerKaskade verweisen wir an dieser Stelle auf [81].

In Abb. 20.4 sind Beispiele der Lokalisation mit Teilberechnungen einer Kaskade dar-gestellt, dabei ist sehr schön die schrittweise Zurückweisung von negativen Beispielen zuerkennen. Jedoch wird zum Beispiel auch die korrekte Detektion des Gesichtes in der lin-ken oberen Ecke von Klassifikatoren am Ende der Kaskade falsch zurückgewiesen.

Das Prinzip der kaskadierten Klassifikation lässt sich bei beliebigen binären Klassifika-toren anwenden und ist besonders sinnvoll zur Beschleunigung derAuswertung einsetzbar,wenn (1) im Testschritt a priori viele negative Beispiele auftreten und (2) wenn sich durcheinen Parameter desKlassifikators einKompromiss zwischenAuswertungszeit undGenau-igkeit einstellen lässt.

20.3.3 Fusion vonObjekthypothesen

Ein Beispiel für ein Detektionsergebnis ist in Abb. 20.5 zu sehen. Wie zu erkennen ist,entsprechen oft mehrere Objekthypothesen einer korrekten Detektion. Dies ist ein typi-sches Problem bei der Objektlokalisation und abhängig von der Robustheit der Merkmalebezüglich kleinerer Translationen. Für praktische Anwendungen ist eine Fusion der Ob-jekthypothesen notwendig. SeiD(g) die Menge der ermittelten Objekthypothesen für einBild g. Ein einfachesVerfahren zur Fusion dieserHypothesen ist es, Gruppen vonHypothe-sen zu betrachten, bei denen die Fenster R signifikant überlappen. Die Überlappung oder

Page 609: Bildverarbeitung und Objekterkennung ||

20.3 Objektlokalisation 605

Ähnlichkeit von zwei Fenstern wird dabei oft durch die relative Schnittfläche bestimmt:

A(R,R′) =∣R ∩R′∣

∣R ∪R′∣. (20.13)

Als Repräsentant der Gruppe wird oft die Hypothese mit dem größten Ausgabewertf (x(R; g)) des Klassifikators gewählt, da sich der Klassifikator für diese Hypothese am„sichersten“ ist. Dieses Konzeptwird auch oft alsnon-maximum suppressionbezeichnet undkann bei vielen Methoden angewendet werden, bei denen ungewünschte Nebenmaximaauftreten, wie zum Beispiel bei der Hough-Transformation (Abschn. 10.8). Das Verfahrendurchläuft alle Hypothesen absteigend nach den Ausgabewerten des Klassifikators. Ist dieÜberlappung der aktuellen Hypothese zu einem Repräsentanten der bisherigen Gruppengrößer als ein gewisser Schwellwert so wird diese der Gruppe hinzugefügt, ansonsten wirddie aktuelle Hypothese zu einem Repräsentanten einer neuen Gruppe.

Alternativ kann natürlich auch eine Fusion der Objekthypothesen einer Gruppe erfol-gen, zumBeispielmittels der Bestimmung eines gewichtetenMittelwertes derKoordinaten.Als Gewichte dienen dann normierte Ausgabewerte des Klassifikators.

20.3.4 HOGDetektor

Wie wir gesehen haben, eignet sich das Verfahren von Viola und Jones sehr gut für dieGesichtsdetektion. Dennoch hat sich gezeigt, dass die verwendeten Merkmale sich nurbedingt für die Lokalisation von Objekten anderer Kategorien mit höherer Intraklassen-varianz eignen. In Abschn. 19.9.3 hatten wir Gradientenrichtungshistogramme und soge-nannte HOG-Merkmale kennengelernt, welche invariant nicht nur bezüglich monotonerGrauwerttransformationen sind. Diese wurden ursprünglich für die Fußgängerdetektionentwickelt und sind aktuell die erste Wahl für die Merkmalsberechnung bei der Lokali-sation. Als Klassifikator wird oft in diesem Fall ein linearer SVM-Klassifikator verwendetsowie wir ihn in Abschn. 18.4.6 kennengelernt haben. Das Lernen dieses Klassifikators er-folgt oft mit dem Bootstrapping-Ansatz zur iterativen Bestimmung und Verwendung vonschwierigen negativen Beispielen.

ImGegensatz zumVJ-Verfahrenwerdenmeistens kompletteHOG-Merkmale bestimmtund für die Klassifikation verwendet. Für die Anwendung bei der Sliding-Window-Klassifikation ist die effiziente Bestimmung dieser Merkmale für jeden Bildausschnittentscheidend. HOG-Merkmale setzen sich aus normierten Richtungshistogrammeneinzelner Zellen des aktuellen Fensters zusammen. Für die effiziente Berechnung derMerkmale, können wir daher zunächst die Histogramme für jede (nicht-überlappenden)Zelle des Eingabebildes bestimmen. Bei einem M × N großen Bild und einer Zellen-größe von c × c Pixeln (üblicherweise ist c = ) ergibt sich dadurch ein Merkmalsbildx ∶ {, . . . , M} × {, . . . , N} → R

d , wobei d die Anzahl der Quantisierungsstufen derGradientenrichtungen ist und wir davon ausgehen, dassM und N Vielfache von c sindmit

Page 610: Bildverarbeitung und Objekterkennung ||

606 20 Visuelle Erkennungsaufgaben

M = Mc und N = N

c . Wenn wir uns nun auf Fenster beschränken, welche nur kompletteZellen enthalten, so reduziert sich die Bestimmung eines HOG-Merkmales für einen ge-gebenen Bildausschnitt auf eine reine Konkatenation der Histogramme der enthaltendenZellen.

Wir gehen im Folgenden von einer festen Größe mR

× nR

der Fenster aus, wobei mR

und nR

wieder Vielfache der Zellengröße c sein sollen. Bei der Anwendung eines linearenKlassifikator f (x(R; g)) = wT (x(R; g)) ergibt sich für das Bild der Ausgabewerte desKlassifikators bei Betrachtung einer festen Skalierung:

s(p; g) = f (x(px , py ,mR, nR; g)) (20.14)= wT (x(px , py ,mR, nR; g)) (20.15)

=d

∑z=

M

∑j=

N

∑k=

w( j, k , z) ⋅ x(px + j, p y + k , z) (20.16)

=d∑z=

(wRz ∗ xz)(px , p y). (20.17)

Im Falle eines linearen Klassifikators lassen sich also die kompletten Ausgabewerte desKlassifikators mittels d Faltungen berechnen, in dem wir die Hyperebene des Klassifika-tors in mehrere (gespiegelte) Filtermasken wR

z zerlegen. Dies beschleunigt die Auswertungdes Klassifikators für jedes Fenster erheblich, da wir nicht explizit HOG-Merkmale fürjeden Ausschnitt bestimmen müssen sondern lediglich einzelne normierte Richtungshi-stogramme für jede Zelle im gesamten Bild. Eine weitere Beschleunigung ist durch dieDurchführung der Faltungen im Frequenzraum möglich.

20.3.5 Teilebasierte Verfahren

Die beiden vorgestellten Verfahren zur Objektlokalisation, die Methode nach Viola undJones und der HOG-Detektor, sind Basismethoden aktueller Ansätze. Im Laufe der Jah-re wurden viele Erweiterungen entwickelt, welche den Rahmen dieses Buches bei weitemsprengen würden. Ein Bereich dieser Erweiterungen beschäftigt sich zum Beispiel mit derEntwicklung teilebasierter Verfahren. Der HOG-Detektor lernt zum Beispiel immer nureine feste starre Filtermaske für HOG-Merkmale und kann daher zum Beispiel weder mitsignifikant verschiedenen Perspektiven oder starkenDeformationen derObjekte umgehen.Ein möglicher Ausweg ist daher die Repräsentation von Objekten als Kollektion einzelnerObjektteile. Die Lokalisationwird dann durch eineMaximierung einer Zielfunktion durch-geführt, welche die Ausgabe einzelner Detektoren für die Objektteile enthält sowie einenTerm für die Bewertung der Konstellation der Positionen dieser Objektteile. Dem interes-sierten Leser sei an dieser Stelle die Lektüre der Originalarbeit von [23] zu sogenanntendeformable part models empfohlen.

Page 611: Bildverarbeitung und Objekterkennung ||

20.4 Semantische Segmentierung 607

20.4 Semantische Segmentierung

Im Folgenden wollen wir uns mit der semantischen Segmentierung beschäftigen und wirbeschränken uns dabei auf zwei klassische und sehr einfache Verfahren.

20.4.1 Klassifikation lokaler Deskriptoren

Bei der semantischen Segmentierung soll jedem Pixel eine Klasse zugewiesen werden. Sowollen wir zum Beispiel in einem Bild automatisch pixelgenau erkennen, wo sich die Stra-ße befindet oder ein anderes Auto. Bei industriellen Bildverarbeitungsaufgaben handeltes sich oft um binäre Aufgabenstellungen, bei denen man sich für jeden Pixel zwischenVordergrund und Hintergrund entscheiden muss. In Abschn. 10.1 haben wir uns bereitsmit Binarisierungsverfahren beschäftigt, welche das Histogramm der Grauwerte in einemBild analysieren um daraus einen geeigneten Schwellwert zu ermitteln. Die Analyse desHistogramms lässt sich als Lernschritt interpretieren und im Testschritt wird aufgrund desGrauwertes des aktuellen Pixels eine Klassifikationsentscheidung getroffen.

Die Betrachtung nur des Grauwertes des aktuellen Pixels für die Entscheidung ist abernur in sehr einfachen Sonderfällen sinnvoll. Stellen Sie sich einfach an der Stelle einmalvor, Sie müssten aufgrund eines einzelnen Grauwertes die Entscheidung treffen, ob dieserPixel zu einem Auto gehört oder nicht. Im Abschn. 20.2 hatten wir globale Merkmale be-trachtet, welche aufgrund des gesamten Bildes Merkmale berechnen und zur Klassifikationverwenden. Bei der semantischen Segmentierung ist einMittelweg wichtig, schließlich sollsich die Klassifikationsentscheidung auf den lokalen Bereich eines Pixels beziehen, dieserBereich soll aber auch groß genug sein um eine vernünftige Entscheidung zu treffen. EinSchritt in diese Richtung ist die Berechnung von lokalen Deskriptoren, so wie wir sie inAbschn. 19.9.2 kennengelernt haben. Da wir für jeden einzelnen Pixel einen Merkmals-vektor benötigen, ist die Verwendung von Detektoren um interessante Punkte in Bildernauszuwählen nicht sinnvoll.

Ein einfaches Verfahren auf Basis der Klassifikation von lokalen Deskriptoren lässt sichdemnach folgendermaßen skizzieren:

1. Berechnung von lokalen Deskriptoren für jeden Pixel,2. Klassifikation der lokalen Deskriptoren in jedem Pixel und Einteilung in die jeweiligen

Klassen,3. Nachbearbeitung mit einer klassischen unüberwachten Segmentierung.

ImFolgendenwollen wir auf diese Schritte näher eingehen.WeitereDetails lassen sich auchin der Publikation von Fröhlich et al. [26] finden.

Page 612: Bildverarbeitung und Objekterkennung ||

608 20 Visuelle Erkennungsaufgaben

Berechnung lokaler Deskriptoren Als lokaler Deskriptor wird oft ein SIFT-Deskriptoreingesetzt. Wie in Abschn. 19.9.2 dargestellt handelt es sich bei diesem um einHistogrammvon Gradientenrichtungen ähnlich zu HOG-Merkmalen, sowie sie in Abschn. 19.9.3 vor-gestellt wurden. Unterschiede bestehen in der Art der Normierung und der Wahl einesräumlichen Glättung der Histogramme. Bei der semantischen Segmentierung eignen sichSIFT-Deskriptoren zur robusten Beschreibung von Kanten, Ecken und Konturelementen.Oft wird in diesem Zusammenhang auch auf die Rotationsinvarianz des Deskriptors ver-zichtet. Dawir nun diese Deskriptoren an jeder Stelle des Bildes berechnenmüssen, ist eineeffiziente Bestimmung der Gradientenrichtungshistogramme notwendig, sowie sie in Ab-schn. 19.9.6 anhand der Integralbilder vorgestellt wurde. Eine weitere Möglichkeit ist dieBerechnung der Deskriptoren nicht in jedem Pixel aber in einem festen Abstand zueinan-der auf einem festen Gitter.

Um auch Objekte in unterschiedlichen Größen und Skalen zu erkennen, werden oftmehrere lokale Deskriptoren auf unterschiedlichen Ebenen einer Bildpyramide bestimmt,d. h. mit unterschiedlichen Größen der lokalen Nachbarschaft.

Lernen einesKlassifikators fürDeskriptoren Nach der Berechnung der lokalenDeskrip-toren kann im Lernschritt ein Klassifikator zur Unterscheidung von K Klassen gelerntwerden. Anders als bei der Bildklassifikation erhält man nun nicht nur ein einziges Lern-beispiel für jedes Bild, sondern theoretisch ein Lernbeispiel für jeden Pixel in den gege-benen Bildern des Lerndatensatzes. Dadurch entsteht schon bereits bei wenigen Bildernim Lernschritt ein gewaltiger Satz vonMerkmalsvektoren. Daher ist zu beachten, dass sichfür die Aufgabenstellung der semantischen Segmentierung nicht jeder Klassifikator eig-net, sondern besonders darauf geachtet werden muss, dass dieser mit vielen Lerndateneffizient arbeiten kann.Wir hatten in Abschn. 18.4.4 bereits randomisierte Entscheidungs-bäume kennengelernt. Dieses Klassifikationsverfahren wurde in vielen Arbeiten der se-mantischen Segmentierung eingesetzt und besitzt weitere interessante Erweiterungsmög-lichkeiten, welche wir im nächsten Abschnitt noch näher betrachten werden.

Erfolgt die Berechnung der lokalen Deskriptoren nicht in jedem Pixel, so kann auchnicht in jedemPixel ein Klassifikationsergebnis ermittelt werden. Eine einfache Idee umdieKlassifikationsentscheidungen zu extrapolieren ist es, Wahrscheinlichkeitskarten für jedeKlasse mit einem randomisierten Entscheidungsbaum zu berechnen. Diese Wahrschein-lichkeitskarten, an denen nur an Pixeln eine Schätzung eingetragen wird, an denen aucheine Berechnung eines lokalen Deskriptors erfolgt ist, werden anschließend mit Gauß-filtern geglättet um eine Schätzung der Klassenwahrscheinlichkeiten für jeden Pixel zuerhalten.

Fusion lokaler Entscheidungen Am Anfang des Abschnittes hatten wir uns bereits denUnterschied der semantischen Segmentierung zur unüberwachten Segmentierung näherangesehen. Oft ist es vorteilhaft, Techniken der unüberwachten Regionensegmentierungauch bei der semantischen Segmentierung einzusetzen. Eine Regionensegmentierungliefert eine Einteilung des Bildes in sogenannte Superpixel, Bildregionen die einem Ho-

Page 613: Bildverarbeitung und Objekterkennung ||

20.4 Semantische Segmentierung 609

mogenitätskriterium genügen (siehe zum Beispiel Abschn. 10.5). Grundannahme ist nun,dass diese Pixel innerhalb dieser Superpixel auch oft ein und derselben Objektklassezuzuordnen sind. Eine Klassifikationsentscheidung aufgrund der berechneten Wahr-scheinlichkeitskarten aus dem vorherigen Schritt kann demnach einheitlich für einenSuperpixel mittels Mehrheitsentscheidung getroffen werden. Dem Superpixel wird dieKlasse zugeordnet, welche insgesamt die größte Wahrscheinlichkeitsmasse für diese Bild-region besitzt.

Viele andere Verfahren versuchen direkt Superpixel aufgrund von berechneten Merk-malen zu klassifizieren ohne den Umweg über lokale Deskriptoren innerhalb des Superpi-xels. Die lokalen Entscheidungen werden dann mit Markovfeldern zu einem konsistentenGesamtergebnis kombiniert. Die dazu notwendigen Techniken sprengen aber bei weitemden Rahmen diesen Buches und wir verweisen den interessierten Leser auf das Buch vonBlake, Kohli und Rother [4]. Die Grundzüge der Modellierung mit paarweisen Abhängig-keiten von Pixeln hatten wir in Abschn. 9.4 vorgestellt.

20.4.2 Klassifikation mit effizienten Pixelmerkmalen

Das im vorherigen Abschnitt beschriebene Verfahren besitzt zwei wesentliche Nachtei-le: (1) Die Klassifikation basiert zunächst nur auf lokalen Merkmalen, welche oft wenigInformation zur Unterscheidung von Objektkategorien enthalten und (2) vor der Klassifi-kation müssen zunächst alle lokalen Merkmale berechnet werden. Der zweite Nachteil istvor allem entscheidend für Anwendungen, bei denen nur wenige Hardwareressourcen zurVerfügung stehen, sowie zum Beispiel bei Fahrerassistenzsystemen. Wir werden daher imFolgenden ein Verfahren vorstellen welches sehr wenige einfache lokale Merkmale wäh-rend der Klassifikation bestimmen muss. In Abschn. 20.4.3 werden wir dieses Verfahrendann erweitern um den Nachteil von reinen lokalen Merkmalen bei der Klassifikation zuvermeiden.

Das Verfahren basiert auf randomisierten Entscheidungsbäumen, welche wir bereits inAbschn. 18.4.4 kennengelernt haben, und wurde ursprünglich von [67] entwickelt unddann von [27] erweitert. Die Idee ist es zunächst wieder diesen Klassifikatortyp einzu-setzen, um lokale Merkmale zu klassifizieren. Im Gegensatz zum vorherigen Verfahrenverwenden wir aber jetzt Merkmale, welche sich mit wenigen Operationen direkt anhandder gegebenen Werte des Eingabebildes berechnen lassen. Wir betrachten im Folgendendie Merkmalsberechnung für einen einzelnen Pixel p ∈ Z mit einer vordefinierten Nach-barschaft. Ein Beispiel für einfache Pixelmerkmale sind Differenzen der Grauwerte zweierNachbarpixeln:

xDifferenz(p, g; v , v) = g(p + v) − g(p + v), (20.18)

dabei ist g das aktuelle Eingabebild und die Positionen v und v der Nachbarpixel sindParameter derMerkmalsfunktion xdiff. HoheDifferenzen in den Grauwerten benachbarter

Page 614: Bildverarbeitung und Objekterkennung ||

610 20 Visuelle Erkennungsaufgaben

HaarmerkmaleOperation zwischen zwei

benachbarten Pixeln Rechteckmerkmal

ZentriertesRechteckmerkmal

Differenz von zweizentrierten Rechtecken

Abb. 20.6 Einfache Pixelmerkmale bei der semantischen Segmentierung mit randomisierten Ent-scheidungsbäumen

Pixel können zum Beispiel auf eine Kante hinweisen. Generell können in (20.18) beliebigeOperationen von zwei Grauwerten verwendet werden.

Zusätzlich zu Operationen mit jeweils zwei Nachbarn des aktuellen Pixels können wirauch Regionen in der Nachbarschaft betrachten und Merkmale aufgrund der Summe derGrauwerte in diesen Regionen entwerfen. Diese Art der Merkmale hatten wir schon inAbschn. 20.3.2 kennengelernt. In Abb. 20.6 sind typische Pixelmerkmale dargestellt, welchesich natürlich auch bei RGB Bildern für jeden Kanal berechnen lassen.

Einzelne dieser Pixelmerkmale können effizient berechnet werden, jedoch ist zu be-denken, dass jeder Merkmalstyp eine riesige Anzahl von möglichen Merkmalen erzeugt.Betrachtet man zum Beispiel allein das Differenzmerkmal aus (20.18), so gibt es bei derNachbarschaft der Größe n × n insgesamt (n − n) Möglichkeiten für die sinnvolle Be-legung der Parameter v und v (der Fall v = v wird nicht betrachtet). Dies sind beider üblichen Nachbarschaftsgröße von n = bereits schon 194.040 mögliche Merkma-le. Alle Merkmale für jeden Pixel zu berechnen und dann damit zu lernen, wäre viel zuaufwendig und würde selbst bei kleinen Datensätzen an die Grenze des verfügbaren Spei-cherplatzes stoßen. An dieser Stelle kommen randomisierte Entscheidungsbäume ins Spiel.Bei der Bestimmung von Basisklassifikatoren in den einzelnen Trennknoten untersuchenrandomisierte Entscheidungsbäume nicht jedes einzelne Merkmal sondern nur eine zu-

Page 615: Bildverarbeitung und Objekterkennung ||

20.4 Semantische Segmentierung 611

Gebäude Fahrzeug Tür Bürgersteig StraßeHimmel Vegetation Fenster Unbeschriftet

Abb. 20.7 Ergebnisse der semantischen Segmentierung bei der visuellen Szenenanalyse: a Ein-gabebild, b manuelle Beschriftung, c Klassifikation nur mittels lokaler Merkmale, d Verwendungzusätzlicher automatisch ausgewählter Kontextmerkmale. Die Farben in den Ergebnisbildern stel-len die einzelnen Objektkategorien dar und sind oben aufgelistet. Das Eingabebild entstammt dereTRIMS-Datenbank (http://www.ipb.uni-bonn.de/projects/etrims_db/)

fällige Auswahl fester Größe. Bei der semantischen Segmentierung mit effizienten Pixel-merkmalen werden daher einfach Merkmalstyp und Parameter der Merkmalsfunktionenausgewürfelt um nur einen sehr geringen Anteil aller möglichenMerkmale zu erhalten. DieAnzahl der zufällig gezogenenMerkmale sowie dieAnzahl der zufällig gezogenenBeispielesind dabei die entscheidenden Faktoren für die Zeit, welche zum Lernen benötigt wird.

20.4.3 Iterative Verwendung von Kontextmerkmalen

Bisher sind wir bei Verfahren der semantischen Segmentierung immer von einer Klassi-fikation rein lokaler Merkmale ausgegangen, Klassifikationsentscheidungen für einzelnePixel basieren daher immer nur auf Informationen aus einer eingeschränkten festgelegtenNachbarschaft um den Pixel. Dies ist aber oft nicht ausreichend, wie in Abb. 20.7c beispiel-haft dargestellt. Dort werden zum Beispiel Pixel im oberen Bereich des Bildes als Fahrzeugklassifiziert.

Dieses Problem lässt sich natürlich mit einer größeren Nachbarschaft beheben, den-noch fehlen bei der Klassifikationsentscheidung für einen Pixel wichtige Kontextinforma-tionen anderer Objekte. Eine Frage stellt sich in diesem Zusammenhang sofort: Was sindüberhaupt Kontextinformationen bei der semantischen Segmentierung? Mit Kontextin-formationen wollen wir im Folgenden Informationen über das Auftreten und die Lage vonanderen Objekten bezeichnen. Abstrakt gesehen sind dies Antworten auf Fragen wie etwa„Befindet sich über dem aktuellen Pixel ein Bereich der Kategorie Himmel?“ oder „Sind indiesem Bild Fahrzeuge zu erkennen“. Diese Informationen sind besonders dann entschei-

Page 616: Bildverarbeitung und Objekterkennung ||

612 20 Visuelle Erkennungsaufgaben

Eingabebild Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6

Iteration 7 Iteration 8 Iteration 9 Iteration 10 Iteration 11 Iteration 12Manuelle

Beschriftung

Abb. 20.8 Iterative semantische Segmentierung mit randomisierten Entscheidungsbäumen: Dar-gestellt ist das Klassifikationsergebnis für eine unterschiedliche Anzahl von verwendeten Tiefen derBäume, d. h. Iterationen des Verfahrens aus Abschn. 20.4.3. Das verwendete Eingabebild ist ebenfallsaus der eTRIMS-Datenbank und die Bedeutung der Farben lässt sich Abb. 20.7 entnehmen

dend, wenn ansonsten nur lokale Merkmale vorliegen. In Abb. 20.7c ist ein Beispiel einesErgebnisses einer semantischen Segmentierung zu sehen, welche nur einfache Pixelmerk-male verwendet, sowie sie im vorherigen Abschnitt vorgestellt wurden. Es lassen sich imBeispiel viele Inkonsistenzen bezüglich der Anordnung vonObjekten erkennen, so ist etwadie Positionierung eines Fahrzeuges auf demDach eines Hauses eher als unwahrscheinlichanzusehen. Ziel von Kontextmerkmalen ist es vor allem diese relative Anordnung von Ob-jekten aus den Daten zu lernen.

BeimEntwurf vonKontextmerkmalen, stehtman zunächst vor einem typischenHenne-Ei-Problem: umMerkmale zu berechnen,welcheHinweise auf die Positionen vonObjektenbeinhalten, ist es zunächst erst einmal notwendig diese Objekte auch in den Bildern zulokalisieren. Dies ist aber wiederum die Hauptaufgabe des Verfahrens der semantischenSegmentierung. EinenAusweg bietet hier wieder einmal der randomisierte Entscheidungs-baumund eine zyklische Schätzung. Betrachten wir zunächst die Klassifikation: Grundideeist es, dass wir bei der Entscheidung für jeden Pixel nicht den Baum vollständig bis zuden Blättern durchlaufen sondern nur bis zu einer festen Tiefe. Während des Lernens derEntscheidungsbäume merken wir uns, wie bei den Blattknoten, eine Schätzung der empi-rischenWahrscheinlichkeitsverteilung p der Kategorien, d. h. wie viele Lernbeispiele einerKategorie durchlaufen diesen Trennknoten beim Lernen. Dadurch erhalten wir zunächsteinmal für jeden Pixel eine grobe Schätzung der Zugehörigkeiten zu den einzelnen Katego-rien, d. h. eine vorläufige Wahrscheinlichkeitskarte für jede Kategorie. Dies ist beispielhaftin Abb. 20.8 dargestellt.

Page 617: Bildverarbeitung und Objekterkennung ||

20.4 Semantische Segmentierung 613

Auf Grundlage dieser Wahrscheinlichkeitskarte ist es nun möglich Kontextmerkmalezu bestimmen. Dabei verwenden wir wieder einmal einfache Rechteckmerkmale, diesmalaber um geschätzte Klassenwahrscheinlichkeiten p in einem bestimmten Bereich R desBildes zu summieren:

xKontext(p, g;R, κ) = ∑v∈R

p( y(p + v) = κ ) (20.19)

Bei obiger Formel habenwir die Zufallsvariable der Beschriftung im Pixel p+vmit y(p+v)bezeichnet. Auch die Summation von Klassenwahrscheinlichkeiten kann mittels Integral-bildern schnell berechnet werden. In diesem Fall wird einfach für jede Klasse κ ein Inte-gralbild bestimmt. Im Lernschritt werden sowohl die Region als auch die Klasse mehrfachzufällig gezogen um eine Teilmenge vonMerkmalen zu erhalten. Dies kann aber natürlicherst ab Tiefe zwei der Bäume durchgeführt werden, da auch im Lernschritt Wahrschein-lichkeitskarten für jedes Lernbeispiel bestimmt werden müssen.

Abbildung 20.8 zeigt das Ergebnis der semantischen Segmentierung mit diesen iterativbestimmten Kontextmerkmalen. Ein Vorteil dieses Verfahrens ist es, dass selbst zu einemfrühen Zeitpunkt ein grobes Klassifikationsergebnis zur Verfügung steht. Dies ist beson-ders in zeitkritischen Anwendungen, so wie sie in der Automobilindustrie häufig anzu-finden sind, wichtig. Für weitere Details verweisen wir den interessierten Leser auf dieVeröffentlichung von [27].

Page 618: Bildverarbeitung und Objekterkennung ||

Teil IVMathematische Hilfsmittel

Page 619: Bildverarbeitung und Objekterkennung ||

21Ausgleichsrechnung

Auf Grund der diskreten Natur digitaler Bilder extrahiert man stets diskrete Strukturenaus den Bildern. Diese diskreten Strukturen müssen aber oft durch analoge Modelle be-schrieben werden, d. h. aus den diskretenWerten muss man Parameter, Transformationen,geometrische Objekte usw. schätzen bzw. berechnen. Dies geschieht mit der Ausgleichs-rechnung, zu der die verschiedentsten sogenannten Schätzer gehören. Wir hatten im Ab-schn. 18.3 schon Schätzer aus der Perspektive der Stochastik und Statistik betrachtet. ImFolgenden werden wir uns mit weiteren Aspekten der Ausgleichsrechnung beschäftigen,da sie ein fundamentales Basiswerkzeug der 2D- und 3D-Bildverarbeitung ist.

21.1 Quadratische Formen und Eigenwertprobleme

Ausgleichsprobleme führen oft auf Eigenwertprobleme und diese stehen in direktem Zu-sammenhang zu quadratischen Formen. Es seien x, y Vektoren und A eine dazu passendeMatrix. Wir betrachten zunächst eine lineare Form in x

z = xTAy (21.1)

und wollen den Gradienten von z bilden. Durch leichtes Nachrechnen finden wir:

∇xz = Ay. (21.2)

Nun bilden wir eine zweite lineare Form, indem wir x und y vertauschen:

w = yTAx (21.3)

Wir können nun obige Ableitungsregel verwenden, indem wir die Form transponieren (wist nur eine Zahl):

w = xTATy (21.4)

617H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_21, © Springer Fachmedien Wiesbaden 2014

Page 620: Bildverarbeitung und Objekterkennung ||

618 21 Ausgleichsrechnung

Nach obiger Ableitungsregel ergibt sich dann:

∇xw = ATy. (21.5)

Betrachten wir nun eine quadratische Form

u = xTAx, (21.6)

so können wir diese nach der Produktregel ableiten. Dabei nutzen wir obige beide Ablei-tungsregeln, also ergibt sich:

∇xu = (A +AT)x. (21.7)

Nur wenn A symmetrisch ist, gilt:

∇xu = Ax. (21.8)

Jetzt betrachten wir eine andere quadratische Form:

z = (Ax)T(Ax) = xTATAx. (21.9)

Wir bilden jetzt nicht die Ableitung nach x, sondern nach der Matrix A, es ergibt sich:

∇Az = A(xxT). (21.10)

Ist x ein Zufallsvektor und wir bilden den Erwartungswert, so ist:

E(∇Az) = AΣx . (21.11)

Dabei ist wie üblich Σx die Kovarianzmatrix. Man kann das alles noch um eine weitereMatrix ergänzen, dazu betrachten wir die quadratische Form:

z = (ABx)T(ABx) = xTBTATABx. (21.12)

Die Ableitung ist nun:

∇Az = AB(xxT)BT . (21.13)

Im stochastischen Fall ist:

E(∇Az) = ABΣxBT . (21.14)

Page 621: Bildverarbeitung und Objekterkennung ||

21.1 Quadratische Formen und Eigenwertprobleme 619

Jetzt betrachten wir wie zu Beginn wieder die einfache quadratische Form:

z = xTAy. (21.15)

Wir bilden nicht die Ableitung nach x, sondern nach der Matrix A, dann ergibt sich:

∇Az = xyT . (21.16)

Wenn wir nun ein lineares Ausgleichsproblem der Form

z = ∥Ax − b∥ → Minimum (21.17)

betrachten, dann können wir z auch so darstellen:

z = (Ax − b)T(Ax − b) = xTATAx + bTb − bTAx. (21.18)

Mit unseren Ableitungsregeln ergibt sich dann:

∇Az = (Ax − b)xT = . (21.19)

Im Zusammenhang mit Ableitungen von quadratischen Formen erhält man oft Eigen-wertprobleme. Gegeben sei eine reelle, quadratische Matrix B der Dimension (n, n). DieLösung des Eigenwertproblems

Bx = λx (21.20)

liefert Eigenwerte λ zu den zugehörigen Eigenvektoren x. Ist die Matrix B symmetrisch,dann existieren n reelle Eigenwerte λ, λ, . . . , λn und es existiert ein zugehöriges Ortho-normalsystem von Eigenvektoren u , u , . . . , un . Ist die Matrix B noch zusätzlich positivsemidefinit, d. h. es gilt xTBx ≥ ∀x, so sind auch alle Eigenwerte nicht negativ. Fassen wirfür symmetrischeMatrizen B die Eigenwerte zur Diagonalmatrix Λ und die Eigenvektorenui (als Spaltenvektoren) zur OrthonormalmatrixU zusammen, so können wir schreiben:

BU = UΛ. (21.21)

Damit ist:

B = UΛUT . (21.22)

Das „gewöhnliche“ Eigenwertproblem (21.20) kann noch erweitert werden. Dazu sei zu-sätzlich zur Matrix B noch eine positiv definite Matrix C gegeben. Das verallgemeinerteEigenwertproblem lautet dann:

Bx = λCx. (21.23)

Page 622: Bildverarbeitung und Objekterkennung ||

620 21 Ausgleichsrechnung

Ist B symmetrisch, dann sind wieder alle Eigenwerte reell und es existiert ein Orthonor-malsystem von Eigenvektoren. Diese sind aber nun orthonormal bezüglich des verallge-meinerten Skalarproduktes:

uTi Cu j = δi− j . (21.24)

Ist B zusätzlich positiv semidefinit, so sind auch alle Eigenwerte wieder nicht negativ.

21.2 Ausgleichsrechnung

Die grundlegende Methode der Ausgleichsrechnung ist sicher die Methode der kleinstenQuadrate, die breits von C.F. Gauß und Legendre entwickelt wurde. Sie ist ein wichtigesHilfsmittel in der Bildverarbeitung, um Parameterschätzungen durchzuführen. Warumheißt die Überschrift dieses Abschnittes nicht Methode der kleinsten Quadrate, sondernAusgleichsrechnung? DieMethode der kleinsten Quadrate ist sehr wichtig, aber eben dochnicht die einzige Methode um eine Ausgleichsrechnung durchzuführen. Häufig wird dieseMethode mit LSE-Methode (Least Squares Estimation) bezeichnet. Formuliert man dieseMethodemit denMitteln der Stochastik, dann nennt man sie MMSE-Methode (MinimumMean Squares Estimation). Ein konkretes Ausgleichsproblem kann entweder determinis-tisch (LSE-Methode) oder stochastisch (MMSE-Methode) formuliert werden. Fundamen-tal ist auf jeden Fall immer die sogenannteModellgleichung. Das ist dasjenige Modell fürdas wir die unbekannten Parameter suchen.

21.2.1 Lineare Ausgleichsrechnung

In diesem Falle muss die Modellgleichung linear in den gesuchten Parametern sein. In derdeterministischen Schreibweise lautet die allgemeine Modellgleichung:

n∑k=

ai fi = f. (21.25)

Die ak , k = , . . . , n sind die gesuchten Parameter und die Funktionen fi , i = , , . . . , nsind die sogenannten Messfunktionen. In der Bildverarbeitung sind die Messfunktionenhäufig Funktionen der zwei- oder dreidimensionalen Pixel. Schreibt man z. B. die Modell-gleichung einer Ellipse in der Form

ax + axy + ay + ax + ay = , (21.26)

so kann man die Messfunktionen deutlich ablesen, wobei f(x , y) ≡ ist. Es müssen nunPunkte xi , i = , . . . ,K gegeben sein, für die die Funktionswerte derMessfunktionen f (k)i ∶=

Page 623: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 621

fi(xk) berechnet werden. Wir suchen nun diejenigen Parameter ai , i = , . . . , n, für die

S(a, . . . , an) =K∑k=

(n∑i=

ai f(k)i − f (k) )

→ Minimum (21.27)

gilt. Nun müssen wir die partiellen Ableitungen nach den ak bilden, diese Null setzen undnach den ak auflösen. Offensichtlich entsteht ein lineares Gleichungssystem, das wir lö-sen müssen. Da dies aber relativ unübersichtlich ist, gehen wir zur Matrix-Vektor Notationüber und fassen zu Vektoren zusammen: aT = (a , . . . , an), fT = ( f , . . . , fn). Die Modell-gleichung lautet nun:

aT f = fTa = f. (21.28)

Bevor wir das Optimierungsproblem vektoriell aufschreiben, müssen wir erst die Mess-gleichungen in Matrixform aufschreiben. Dazu setzen wir einfach die Punkte xk in dieModellgleichung ein und schreiben diese so oft auf, wie wir Punkte haben:

f () a + ⋯ + f ()n an = f ()⋮ + ⋮ + ⋮ = ⋮

f (K) a + ⋯ + f (K)n an = f (K)

↔ M ⋅ a = f. (21.29)

Zunächst betrachten wir den Defektvektor d = M ⋅ a − f. Nun können wir das Optimie-rungsproblem in Matrix-Vektorschreibweise formulieren:

S(a) = dTd = aTMTMa − aTMT f − fT Ma + fT f → Minimum. (21.30)

Nun bilden wir den Gradienten nach a (siehe Abschnitt 21.1):

∇aS(a) = MTMa − MTf = (21.31)

und erhalten damit die Gaußschen Normalengleichungen:

MTMa = MT f . (21.32)

Einfache Merkregel

• Lineare Ausgleichsrechnung bedeutet: Es liegt eine lineare Modellgleichung vor.• Wir schreiben die Messgleichungen Ma = f auf. Diese werden häufig mit Ax = b be-

zeichnet. Die Koeffizientenmatrix M besitzt in der Regel mehr Zeilen als Spalten unddamit hat dieses lineare Gleichungssystem in der Regel keine Lösung im Sinne der ex-akten Gleichheit. Deshalb suchen wir eine Lösung im Sinne der kleinsten Quadrate.

• Nachdem wir die Messgleichungen aufgestellt haben, multiplizieren wir einfach dieMessgleichungen (linke und rechte Seite) mit der transponierten Messmatrix M underhalten die Gaußschen Normalengleichungen. Dieses Gleichungssystem besitzt nunimmer und zwar mindestens eine Lösung im Sinne der echten Gleichheit.

Page 624: Bildverarbeitung und Objekterkennung ||

622 21 Ausgleichsrechnung

• Wie wir in Abschn. 22.3.2 zeigen werden, kann die Lösung der Gaußschen Normalen-gleichungen numerisch instabil werden. Daher wird oft die SVD benutzt, siehe auchAbschn. 22.3.2. Eine andere, aber recht einfach zu verstehende Methode ist die Nut-zung eines Standardalgorithmus der numerischenMathematik, genannt QR-Zerlegungeiner beliebigen Matrix A. Dabei gehen wir in der Bezeichnung einmal davon aus, dassAx = b die Messgleichungen sind und im Sinne der kleinsten Quadrate zu lösen sind.Die QR-Zerlegung lautet A = QR. Dabei ist Q eine quadratische (K ,K), orthogonaleMatrix. Die rechteckige (K , n) Matrix R ist eine obere Dreiecksmatrix, d. h. genauge-nommen ist der obere quadratische (n, n) Teil R eine obere Dreiecksmatrix und deruntere Teil ist eine Nullmatrix. Weiter sei b = QTb, wobei die ersten n-Komponentenmit b und die restlichen mit b bezeichnet werden. Dann gilt

∥Ax − b∥ = ∥QT(QRx − b)∥ = ∥Rx − b∥ = ∥Rx − b∥ + ∥b∥. (21.33)

Das Funktional in (21.33) wird folglich genau dann minimal, wenn

Rx = b (21.34)

ist. Folglich brauchen wir nur das lineare Gleichungssystem (21.34) lösen, was infolgeder Dreiecksstruktur durch Rückwärtseinsetzen trivial zu erledigen ist.Wennwir davonausgehen, dass die QR-Zerlegung einer Matrix numerisch stabil erfolgt, dann könnenwir auch das lineare Ausgleichsproblem numerisch stabil lösen.

Wollen wir eine gewichtete Ausgleichsrechnung durchführen, d. h. jede Messgleichungkann ein anderes Gewicht erhalten, dann schreiben wir diese Gewichte in die quadratischeDiagonalmatrix G. Die Messgleichungen lauten dann:

G ⋅Ma = G ⋅ f . (21.35)

Wir multiplizieren nun mit der transponierten erweiterten Messmatrix G ⋅M durch underhalten die folgenden Gaußschen Normalengleichungen:

MTGMa = MTGf . (21.36)

Die Gaußsche Normalenmatrix N = MTM hat generell sehr schöne Eigenschaften:

• Sie ist symmetrisch.• Sie ist mindestens positiv semidefinit, d. h. für beliebige a gilt:

aTNa = aTMTMa = (Ma)T ⋅Ma ≥ . (21.37)

• Aus der positiven Semidefinitheit folgt sofort, dass alle Eigenwerte von N nichtnegativsind, denn:

≤ aTNa = λaTa → λ ≥ . (21.38)

Page 625: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 623

Eine ähnliche Interpretation erhaltenwir, wennwir dasAusgleichsproblemmit denMittelnder Stochastik beschreiben. Dazu fassen wir einfach die Funktionswerte der Messfunktio-nen f (k)i als Realisierungen von Zufallsgrößen Fi auf. Dann lautet die Optimierungsaufga-be (E bedeutet der Erwartungswert):

S(a) = E ((FTa − F)) → Minimum. (21.39)

Die Hyperebene F = aF + aF + ⋯, anFn mit obiger Forderung nennt man in derStochastikRegressionshyperebene zweiter Art der Zufallsvarianlen F bezüglich der Zufalls-variablen F , . . . , Fn . Wir bilden wieder den Gradienten

∇aS = E (F(FTa − F)) = . (21.40)

Mit der Abkürzung ΣF = E(FFT) erhalten wir als Analogon zu den Gaußschen Normalen-gleichungen

ΣF ⋅ a = E (F ⋅ F) . (21.41)

Die GaußscheNormalenmatrixN ist folglich als Realisierung der Kovarianzmatrix ΣF auf-zufassen.

Fitting von Geraden Nun wollen wir an eine gegebene Menge von Punkten xk , k =

, . . . ,K im Bild eine Gerade anpassen. Dazu müssen wir zuerst die Modellgleichung einerGeraden aufschreiben:

ax + by + c = . (21.42)

Dabei ist nun aT = (a, b, c), f(x , y) = x, f(x , y) = y, f(x , y) = , f(x , y) = . DieModellgleichung ist tatsächlich linear in a, die Funktion f(x , y) = sorgt allerdings fürProbleme. Die Gaußschen Normalengleichungen sind dann ein homogenes lineares Glei-chungssystemmit unendlich vielen Lösungen, bzw. dasOptimierungsproblemwirdmit dertrivialen Lösung a = minimiert. Wir benötigen also in der Modellgleichung ein f(x , y)ungleich Null. Welche einfachen Modellgleichungen, die auch weiterhin linear sein sollen,kommen in Frage:

• Modell G1: ax + b = y → f(x , y) = y– Diese Form entspricht der in der Stochastik verwendeten Regression von y bezüg-

lich x.– Wenn die Punkte auf einer vertikalen Geraden liegen, dann versagt dieseModellglei-

chung.• Modell G2: ay + b = x → f(x , y) = x

– Diese Form entspricht der in der Stochastik verwendeten Regression von x bezüg-lich y.

– Wenn die Punkte auf einer horizontalen Geraden liegen, dann versagt diese Modell-gleichung.

Page 626: Bildverarbeitung und Objekterkennung ||

624 21 Ausgleichsrechnung

• Modell G3: ax + by = → f(x , y) = – Wenndie Punkte auf einerGeraden liegen, die durch denKoordinatenursprung geht,

dann versagt diese Modellgleichung.• Modell G4: ax + by + c = und lineare Kombinationen zwischen den a, b, c als Bedin-

gung, z. B. a + b = → ( − b)x + by + c = → f(x , y) = −x– Wenn die Punkte z. B. auf der Geraden y = x liegen, dann versagt diese Modellglei-

chung.• Man kann sich beliebige lineare Kombinationen der Parameter mit Beschränkungen

ausdenken, es gibt immer wieder Fälle für die die Modellfunktion falsch ist.

Wir sehen den wichtigen unterschied zur linearen Regression in der Stochastik: dort gehtman immer von funktionalen Zusammenhängen aus. In einem Bild wollen wir dagegengenerell eine Gerade anpassen, die muss nicht unbedingt eine Funktion darstellen. Ent-weder wir haben A-priori-Wissen, dass solche Fälle nicht vorkommen oder wir müssennichtlineare Restriktionen an die Modellparameter stellen, dann haben wir aber keine li-neare Ausgleichsrechnung mehr, siehe Abschn. 21.2.2. Es gibt aber noch eine „unschöne“Lösung: wir fitten zwei Geraden, z. B. nach Modell G1 und Modell G2 und nehmen dieLösung, für die der Fittingfehler S(a) kleiner ist.

Generell minimieren wir die Summe der quadratischen Abweichungen von der Mo-dellgleichung, genannt Defekte: dk = ∑i ai ⋅ f

(k)i − f (k) . Sind die Defekte dk irgendwie

geometrisch deutbar? Im allgemeinen nicht und deshalb nennt man sie auch algebraischeDistanz des Punktes xk zur Kurve. Auch bei den obigenModellgleichungen für eine Gera-de haben sie bei jedem Modell G1, G2, G3 oder G4 eine andere geometrische Bedeutung.Die Größe dieser Defekte hängt sogar von der Rotationslage der Geraden ab, was natürlichschlecht ist. Deshalbwäre es günstig, wenn diesesMaß denAbstand eines Punktes zur Kur-ve beschreiben würde, da Abstände rotationsinvariant sind. Dies lässt sich aber nur durchnichtlineare Restriktionen an die Geradenparameter erfüllen. Dies Anpassung heißt dannin der Stochastik Orthogonale Regression.

Fitting von Kreisen Die bekannte Kreisgleichung (x − xm) +(y − ym) = r überführenwir in eine lineare Modellgleichung:

a(x + y) + bx + c y = . (21.43)

Dabei haben wir d = − gesetzt. Daher ist nun f = x + y, f = x, f = y und f = . Dawir wieder eine linare Normierung benutzt haben, darf der Kreis nicht durch den Koordi-natenursprung gehen.

Fitting von Ellipsen Benutzen wir die gleiche lineare Normierung wei bei den Kreisen,dann haben wir die Modellgleichung

ax + bxy + c y + dx + e y = . (21.44)

Page 627: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 625

Nun ist wieder f = x, f = xy, f = y, f = x, f = y und f = . Man beachte: dies ist dieModellgleichung einer Kurve zweiter Ordnung.Wir können so nicht garantieren, dass eineEllipse angepasstwird, es könnte auch eineHyperbel oder Parabel berechnetwerden.Wenndie Punkte jedoch typisch eine Ellipse beschreiben, dann werden wir auch vermutlich eineEllipse erhalten. Die geometrischen Parameter der Ellipse lassen sich aus den algebraischendann wie folgt berechnen:

• Mittelpunkt:

xm =be − cd

ac − b

, xm =bd − ae

ac − b

. (21.45)

• Längen der beiden Halbachsen A und B:

h = − axm − bxm ym − c ym − dxm − e ym , (21.46)

λ =(a + c +

√(a − c) + b) (21.47)

λ =(a + c −

√(a − c) + b) (21.48)

A =

√hλ, B =

√hλ

, (21.49)

• Winkel der großen Achse gegen die x-Achse:

α = arctan⎛

c − a +√(a − c) + b

b⎞

⎠. (21.50)

21.2.2 Nichtlineare Ausgleichsrechnung

Modellgleichung ist linear, aber die Restriktion ist nichtlinear Wir wollen die nichtli-neare Ausgleichsrechnung in die beiden Fälle

a) Die Modellgleichung ist linear, aber die Restriktion ist eine quadratische Form.b) Die Modellgleichung und die Restriktion sind nichtlinear.

einteilen. Bevor wir auf den allgemeinen Fall b) eingehen, behandeln wir den Fall a). DieNichtlinearität der Restriktion wird insbesondere dann interessant, wenn sie eine quadra-tische Form darstellt. In diesem Falle beherrschen wir noch die Nichtlinearität, die Lösungführt dann auf ein Eigenwertproblem.

Page 628: Bildverarbeitung und Objekterkennung ||

626 21 Ausgleichsrechnung

Wir nehmen nun an, es liege eine lineare Modellgleichung der Form (21.28) vor und essei f = . Da wir die triviale Lösung a = ausschließen müssen, bietet sich eine nichtli-neare Restriktion der Form

n∑i=

ai = aTa = (21.51)

an. In der Literatur wird dies als Principal Axis Curve Fit bezeichnet. Wir müssen folglichS(a)mit dieser Restriktion minimieren:

S(a) = E [(aTF)] = aTΣFa → Minimum bei aTa = . (21.52)

Dazu bietet sich die Methode der LagrangeschenMultiplikatoren an. Unter Benutzung derstochastischen Formulierung des Ausgleichsproblems lautet das Ausgleichsproblem mitder Lagrange-Funktion:

L(a, λ) = E [(aTF)] − λ(aTa − ) → Minimum. (21.53)

Wir bilden von L den Gradienten nach a und setzen gleich Null, dann erhalten wir dasGleichungssystem:

ΣFa = λa mit aTa = . (21.54)

Die Kovarianzmatrix ΣF ist wieder die Gaußsche Normalenmatrix N. Wir sehen, diesesGleichungssystem ist ein typisches Eigenwertproblem. Wir bestimmen folglich von N alleEigenwerte und alle zugehörigen Eigenvektoren. Da N positiv semidefinit und symme-trisch ist, sind alle Eigenwerte nichtnegativ und die Eigenvektoren bilden ein Orthonor-malsystem. Welchen Eigenvektor nehmen wir nun als Lösung für a? Es gilt offensichtlichmit f = :

S(a) = E [(aTF)] = aTΣFa = λaTa = λ. (21.55)

S(a) wird dann minimiert, wenn wir den Eigenvektor zum kleinsten Eigenwert nehmen.Mit der nichtlinearen Restriktion (21.51) können wir nun ohne Schwierigkeiten Gera-

den, Ebenen, Kreise, Ellipsen usw. fitten. Zu beachten ist nur, dass bei derModellgleichungf = gelten muss. Also lautet z. B. die algebraische Modellgleichung einer Ellipse

ax + axy + ay + ax + ay + a = . (21.56)

Wir können aber immer noch nicht garantieren, dass tatsächlich eine Ellipse gefittet wird,es könnte auch eine Hyperbel werden. An dieser Ellipsen-Modellgleichung mit f = siehtman, dass es einen Term (hier Koeffizient vor a) gibt mit fi = . Wir spalten diesen ge-sonderten Term einmal ab und nennen die Unbekannte an+ . Bei der Ellipsengleichung ist

Page 629: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 627

dann n = . In den Vektor a gehen bei der Ellipsengleichung somit nur die Unbekann-ten a , a, a, a, a ein, a zählen wir gesondert auf. Da wir a auf der rechten Seite habenmöchten, bezeichnen wir a mit −a. Dannwird unser Ausgleichsproblem im allgemeinenFall zu:

S(a, an+) = E [(aTF − an+)] → Minimum bei aTa = . (21.57)

Die Lagrange-Funktion

L(a, an+ , λ) = S(a, an+) − λ(aTa − ) (21.58)

leiten wir einmal nur nach an+ ab und setzen Null:

∂L∂an+

= −aTE[F] + an+ = . (21.59)

Wir erhalten folglich:

an+ = aTE[F]. (21.60)

Wir sehen, wenn das optimale a bereits berechnet wurde, können wir daraus simpel an+ausrechnen. Weiterhin: wenn E[F] = wäre, dann ist an+ = und wir hätten das gleicheProblem wie in (21.52) zu lösen. Dies können wir aber mit einem „Trick“ erreichen: wirtransformieren F so, dass für die transformierten Werte der Erwartungwert Null ist. Die-se Normierung auf den Erwartungswert (Schwerpunkt) ist in der Stochastik üblich underfolgt durch:

Z = F − E[F] → E[Z] = . (21.61)

Damit haben wir das gleiche Optimierungsproblem wie in (21.52), allerdings müssen wiranstatt F die normierte Größe Z verwenden:

S(a) = E [(aTZ)] = aTΣZa → Minimum bei aTa = . (21.62)

Praktisches Vorgehen

• Wenn wir Punkte im Bild gegeben haben, dann muss von jedem Punkt der Vektor fberechnet werden.

• Von allen Vektoren f berechnen wir den Schwerpunkt und transformieren alle Vektorenso, dass sie auf den Schwerpunkt normiert sind. Die neuen Vektoren heißen nun z.

• Von diesen Vektoren z berechnen wir die Gaußsche Normalenmatrix und berechnenvon dieser den Eigenvektor zum kleinsten Eigenwert. Damit ist a berechnet. Nun be-rechnen wir noch an+ mittels (21.60).

Page 630: Bildverarbeitung und Objekterkennung ||

628 21 Ausgleichsrechnung

Fitting von Geraden und Ebenen Mit diesem Vorgehen haben wir die Dimension desLösungsvektors um Eins erniedrigt, aber zum Preis, dass die Menge von Vektoren f auf de-ren Schwerpunkt transformiert werden müssen. Was ist nun der eigentliche Vorteil? Dazubetrachten wir das Fitten von Geraden, Ebenen, Hyperebenen usw.. Wir wählen z. B. dasFitten einer Ebene an eine gegebene 3D-Punktwolke. Die allgemeine Gleichung einer Ebe-ne lautet dann

ax + ay + az − a = . (21.63)

Damit ist die Dimension von a beziehungsweise f gleich drei und es ist f = x, f = y,f = z. Folglich ist nicht nur die Dimension gleich drei, sondern die Vektoren sind im Fallevon Geraden, Ebenen und Hyperebenen identisch mit den gegebenen Punkten, was sonst(z. B. bei Ellipsen, Kreisen usw.) nicht der Fall ist. Damit ist der Schwerpunkt geometrischdeutbar: Es ist jetzt tatsächlich der Schwerpunkt der Punktmenge. In nichtstochastischerSchreibweise müssen wir jetzt lösen:

S(a) =K∑k=

(axk + ayk + azk − a)→ Minimum bei a + a + a = . (21.64)

Jetzt sehen wir den entscheidenden Vorteil: die Normierung a + a + a = bedeutet,dass die Ebenengleichung in der Hesseschen Normalform formuliert wurde. Wenn wira mit in die Normierung aufgenommen hätten, dann ist dies nicht mehr die HessescheNormalform. Setzt man irgendeinen Punkt in die Hessesche Normalform ein, dann istdk = axk + ayk + azk − a der Abstand des Punktes zur Ebene (Gerade). Damit mi-nimieren wir in (21.64) die Summe der quadratischen Abstände der Punkte zur Ebene. Dadie Abstände rotationsinvariant sind, haben wir keinerlei Probleme mehr, ob das Fitten inspeziellen Lagen versagt oder nicht. Damit ist die Aufgabe (21.64) die Standardmethodezum Fitten von Geraden und Ebenen.

NichtlineareModellgleichungen Wir betrachtenwieder dieModellgleichung (kann aucheine Vektorgleichung sein)

F(a, x) = . (21.65)

Diese darf nun in den Unbekannten des Prametervektors a nichtlinear sein. Es seien nunwieder K Messtupel xi , = , . . . ,K gegeben und wir schreiben die Messgleichungen auf:

F(a, x) = d(a)

F(a, x) = d(a)⋮

F(a, xK) = dK(a).

(21.66)

Page 631: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 629

Mit der Abkürzung d(a)T = (d(a), . . . , dK(a)) haben wir dann wie üblich zu lösen:

∥d(a)∥ = dTd = Minimum. (21.67)

Dazu betrachten wir irgendeine, allerdings geeignete Startlösung a und linearisieren indiesem Punkt die Defektfunktion d(a) zu

d∗(a) = d(a) + J ⋅ (a − a). (21.68)

Dabei ist wie üblich bei der Taylorentwicklung von Vektorfunktionen J die Matrix der ers-ten partiellen Ableitungen, folglich die Jakobimatrix. Da nun d∗(a) linear in a ist, lösenwirdieses inhomogene, lineareAusgleichsproblemmit denGaußschenNormalengleichungen:

JTJ(a − a) = −JTd(a). (21.69)

Wir rechnen nun a aus und nennen die Lösung a. Damit ist:

a − a = Δa , a = a + Δa . (21.70)

Daraus leiten wir nun formal eine Iteration ab und hoffen, dass diese gegen die Lösungkonvergiert. Also ist

Δai = −(JTJ)−JTd(ai). (21.71)

Führen wir noch eine Schrittweitensteuerung ein, dann erhalten wir die Iteration:

ai+ = ai − αi(JTJ)−JTd(ai), i = , , . . . (21.72)

Dies ist die sogenannte Gauß-Newton-Methode. Wir bilden nun eine leichte Modifikationder Gauß-Newton-Methode:

• αi = ∀i.• Iteriere mit

ai+ = ai − (λI + JTJ)−JTd(ai), i = , , . . . (21.73)

(I ist die Einheitsmatrix)• Wähle zu Beginn λ klein, so ca. λ = −. Fällt nach einer Iteration der Fehler, d. h.

∥d(ai+)∥ < ∥d(ai)∥, setze λi+ = λi/. Steigt der Fehler, d. h. ∥d(ai+)∥ > ∥d(ai)∥, soverwerfen wir ai+ , setzen λi ∶= λi ∗ und zwar solange, bis der Fehler wieder fällt.

Diese modifizierte Gauß-Newton-Methode nennt man Levenberg-Marquardt-Methode.Die Modifikation beinhaltet eine sogenannte Tichonov-Arsenin-Regularisierung, siehe Ab-schn. 22.2 bzw. (22.39).

Page 632: Bildverarbeitung und Objekterkennung ||

630 21 Ausgleichsrechnung

21.2.3 Kovariantes Fitting

Fitting ist ein sogenannter Schätzer, der verschiedene Eigenschaften haben kann. So sollteein Schätzer erwartungstreu (unbiased) und konsistent sein. Wir wollen hier eine weiterewichtige Eigenschaft untersuchen, die Invarainz oder besser die Kovarianz des Schätzers.Wir stellen uns eine Punktmenge in einem Bild vor und fitten an diese nach irgendei-ner Fittingmethode eine Gerade. Nun nehmen wir genau die gleiche Punktmenge, ver-schieben diese Punktmenge und fitten mit der gleichen Fittingmethode wieder eine Gera-de. Dann sollte doch die zweite Gerade eigentlich eine Verschiebung der ersten Geradensein. Dies ist aber oft nicht der Fall. Diese Eigenschaft sollte außerdem nicht nur für Ver-schiebungen gelten, sondern fürmöglichst viele geometrische Transformationen.Auf dieseEigenschaft wird im Abschn. 19.4 ausführlich eingegangen. Die Standardmethode zumFitten vonGeraden undEbenen (orthogonaleRegression, (21.64)) beruht auf derMinimie-rung der quadratischen Abstände der Punkte von den Geraden bzw. Ebenen. Da Abständetranslations- und rotationsinvariant sind, ist die Standardmethode kovariant gegenüberEuklidischen Transformationen, ja sogar kovariant gegenüber Ähnlichkeitstransformatio-nen. Nun wollen wir das Fitten von Kurven zweiter Ordnung untersuchen. Dazu benutzenwir die Darstellung einer Kurve zweiter Ordnung nach (21.56). Diese Form wollen wir inMatrix-Vektor-Notation aufschreiben. Dazu führen wir die Matrix E und den Vektor x ein:

E =⎛⎜⎝

a a

a

a a a

a

a a

⎞⎟⎠, x =

⎛⎜⎝

xy

⎞⎟⎠. (21.74)

Dann lässt sich (21.56) durch

xTEx = (21.75)

angeben. Für einen beliebigen Punkt xk ergibt sich dann als Defekt oder algebraische Di-stanz dk = xTk Exk . Nun betrachten wir als geometrische Transformation eine affine Trans-formation und schreiben diese auch in dieser Notation

x′ = Ax,A =⎛⎜⎝

a a aa a a

⎞⎟⎠. (21.76)

Es beschreibe nun xTEx = eine Kurve zweiter Ordnung vor und x′TE′x′ = die Kurvezweiter Ordnung nach einer affinen Transformation. Wir setzen nun die affine Transfor-mation ein und erhalten:

xTATE′Ax = → αE = ATE′A, α ∈ R. (21.77)

Damit wissen wir nun, wie sich die Ellipsenparameter transformieren, diese sind bis aufeinen Faktor α eindeutig bestimmt. Damit ergibt sich aber für einen beliegigen Punkt xk ,

Page 633: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 631

eagl ob er auf der Kurve liegt oder nicht, die Beziehung:

d′k = x′Tk E′x′k = αxTk Exk = αdk ∀k . (21.78)

Wir sehen, die Defekte oder algebraischen Distanzen sind alle affin invariant bis auf einengemeinsamen Faktor α. Nun bilden wir die Determinanten:

det(ATE′A) = det(A) det(E′) = α det(E) → α =det(A) det(E′)

det(E). (21.79)

Daraus folgt:

α = det(A), falls det(E′) = det(E) = . (21.80)

Wenn wir folglich die Normierung det(E′) = det(E) = einhalten, dann hängt α nur nochvon der affinen Transformation A ab. Dann gilt

S′(a′) =K∑k=

d′k = αK∑k=

dk = αS(a) → Minimum. (21.81)

Wenn a die Zielfunktion S(a)minimiert, dannminimiert folglich auch a′ die ZielfunktionS′(a′), weil der positive Faktor α das Minimum nicht beeinträchtigt (da dieser Faktordurch die Normierungsbedingungen nicht mehr von den gesuchten Ellipsenparameternabhängt). Wenn folglich die beiden Ausgleichsprobleme (vor der affinen Transformationund nach der affinen Transformation) eindeutig lösbar sind, dann sind die Lösungen dieaffinen Abbilder voneinander. Lösen wir folglich das Ausgleichsproblem

S(a) =K∑k=

(xTk Exk)→ Minimum bei det(E) = , (21.82)

dann ist dieses Ellipsen-Fitting affinkovariant.Wir haben nachwie vor eine lineareModell-gleichung, aber die Restriktion det(E) = ist nichtlinear und kompliziert. Daher zerlegenwir jetzt die Beziehung (21.77). Zu diesem Zwecke unterteilen wir jetzt dieMatrizen E bzw.E′ und A:

E = (D eeT f

) , A = (B a

) , (21.83)

dann zerfällt (21.77) in die drei Beziehungen:

BTD′B = αD, (21.84)BTD′a + BTe′ = αe, (21.85)

aTD′a + aT e

′ + f ′ = α f . (21.86)

Page 634: Bildverarbeitung und Objekterkennung ||

632 21 Ausgleichsrechnung

Jetzt können wir α von einer dieser drei Gleichungen eliminieren. Die erste Beziehung(21.84) ist der Bedingung (21.77) sehr ähnlich, deshalb wenden wir jetzt die gleiche Deter-minantenregel an:

det(BTD′B) = det(B) det(D′) = α det(D). (21.87)

Folglich ist

det(D) = ac −b

= (21.88)

eine weitere Bedingung für ein affin kovariantes Fitting von Kurven zweiter Ordnung.Überraschend ist zusätzlich, dass wir damit das Fitten einer Ellipse erzwingen, Hyperbelnund Parabeln werden damit ausgeschlossen. Setzen wir nun eine spezielle affine Transfor-mation an, nämlich eine Ähnlichkeitstransformation mit B = s ⋅ R, wobei R eine Rotati-onsmatrix und s ein positiver Skalierungsfaktor ist, dann können wir α aus der gleichenBeziehung (21.77) auch anders eliminieren: wir wenden auf beide Seiten die Frobenius-Norm an:

∥sRTD′R∥F = s∥D′∥F = α∥D∥F , ∥D∥F = a +b

+ c. (21.89)

Damit ist

a +b

+ c = (21.90)

eine Fittingbedingung, die Kovarianz vonKurven zweiter Ordnung bezüglich Ähnlichkeit-stransformationen erzwingt.Dies ist in der Literatur alsBookstein-Fit bekannt. Wir könnenfür Ähnlichkeitstransformationen sogar auf (21.77) noch eine weitere Rechenregel anwen-den:

s ⋅ Spur(D′) = Spur(αD) = α ⋅ Spur(D), Spur(D) = a + c . (21.91)

Damit ist

a + c = (21.92)

noch eine Bedingung für kovariantes Ellipsenfitting bezüglich Ähnlichkeitstransformatio-nen. Diese hat den Vorteil, dass sie tatsächlich linear ist. Damit haben wir zusammen mitder linearen Modellgleichung ein lineares Ausgleichsproblem, was sehr einfach zu lösenist. Der Nachteil ist wieder: Wir erzwingen damit nicht ein Ellipsenfitting. Sehen wir unseinmal die Beziehung (21.84) an, so folgt, dass die Bedingung f = nicht einmal die Kova-rianz bezüglich Translationen garantiert. Wir können aber wieder einenNormierungstrickanwenden:

Page 635: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 633

Wir legen denKoordinatenursprung der Punkte in ihren Schwerpunkt, damit habenwirdie Translation durch a = eliminiert. Dann folgt aber aus (21.84), dass die Bedingung

f = , Punkte vorher auf den Schwerpunkt transformieren (21.93)

sogar die affineKovarianz bedingt. Diese Bedingung ist wieder linear, allerdings kann wie-derum kein Ellipsenfitting erzwungen werden und die Ellipse darf nicht durch den Schwer-punkt der Punktmenge gehen. In der Regel ist diese Bedingung eigentlich immer erfüllt,dass die Ellipse nicht durch den Schwerpunkt der Punktmenge geht. Da die Bedingung(21.93) formal auch auf Geradenfitting angewendet werden kann, erhalten wir einen Wi-derspruch: liegen z. B. alle Punkte auf einer Geraden, dann geht die Gerade immer durchden Schwerpunkt, was aber ein Widerspruch zu f = ist. Betrachten wir noch einmal dasGeradenfitting, dann ist D = D′ = , damit fällt die Beziehung (21.77) weg und die ande-ren beiden reduzieren sich. Für Ähnlichkeitstransformationen können wir aus (21.78) αmit der Bedingung e = e′ = eliminieren. Dies ist aber genau die orthogonale Regression,die kovariant bezüglich Ähnlichkeitstransformationen ist.

Zusammenfassung

• Für Kurven zweiter Ordnung gibt es Bedinungen, die sogar die affine Kovarianz impli-zieren.

• Für Geraden und Ebenen gibt es nur Bedingungen, die die Kovarianz bezüglich Ähn-lichkeitstransformationen garantieren.

• Für die Beweise sind zwei Voraussetzungen entscheidend:– Die Punkte x′k müssen auch tatsächlich die Abbilder von xk bezüglich der geome-

trischen Transformation sein. Dies wird in der Praxis nur näherungsweise der Fallsein.

– Die Anzahl K der Punkte muss vor und nach der geometrischen Transformation diegleiche sein. Dies wird wohl in der Praxis nicht sehr oft der Fall sein.

21.2.4 Ausreißer-Probleme (Outlier)

Wennman Punkte im Bild detektiert, dann detektiert man häufig auch völlig falsche Punk-te,Ausreißer genannt.Wir wollen nun untersuchen, wie die Fittingergebnisse auf Ausreißerreagieren und wie man die Ergebnisse verbessern kann. In der Regel gehen wir von einerlinearen Modellgleichung aus und minimieren die Quadrate der algebraischen Distanzen,d. h. für das Zielfunktional S(a) benutzen wir die L-Norm (zumQuadrat). Warum benut-zen wir eigentlich die L-Norm? Dazu nehmen wir die Modellgleichung einmal linear an.Durch die Ableitung einer quadratischen Zielfunktion ergibt sich sich dann ein linearesGleichungssystem, weil die Modellgleichungen linear sind. Wenn wir eine Norm Lp mitp > benutzen würden, dann ergeben die Ableitungen ein nichtlineares Gleichungssys-tem, obwohl die Modellgleichungen linear sind, daher ergibt die L-Norm die einfachsten

Page 636: Bildverarbeitung und Objekterkennung ||

634 21 Ausgleichsrechnung

numerischen Gleichungen. Die L-Norm bietet somit eine Reihe entscheidender Vortei-le, ist aber gegenüber Ausreißern sehr sensitiv. Wie können wir nun trotz L-Norm einegegenüber Ausreißern robuste Lösung finden. Dazu betrachten wir wieder die Modellglei-chungen in der Form F(a, x) = , lösen dieses Ausgleichsproblem, erhalten eine Lösunga() und betrachten die Defekte (auch Residuen oder algebraische Distanzen genannt):

δk = F(a() , xk), k = , . . . ,K . (21.94)

Nun können wir ein einfaches iteratives Verfahren durchführen:

• Für die gegebenen Bildpunkte xk , k = , . . . ,K löse man das Ausgleichsproblem undbestimme die Defekte δk , k = , . . . ,K. Die Menge der Indizes {, . . . ,K} bezeichnenwir mit I().

• Nun bestimmen wir

k∗ = argmaxk

(δk) (21.95)

und interpretieren den Bildpunkt xk∗ als Ausreißer.• Wir entfernen den Bildpunkt xk∗ und entfernen aus der Indexmenge I() den Index k∗,

diese sei nun I().• Nun wiederholen wir die gesamte Ausgleichsrechnung bezüglich der Indexmenge I().• Der Abbruch der Iteration ist aus der konkreten Anwendung heraus zu wählen, z. B.

wenn ca. 10 Prozent der Punkte gestrichen wurden.

Dieses einfache iterative Verfahren kann auf alle Ausgleichsprobleme angewendet werden.Wenn allerdings die Anfangslösung „zu schlecht“ ist, ist es möglich, dass wir anstatt Aus-reißer „korrekte“ Punkte eliminieren. Damit diese aber wieder eine Chance haben in dieAusgleichsrechnung einzugehen, kannman auch eine andere Strategie wählen. Diese Stra-tegie nennt man adaptives Fitting mit Reparametrisierung der Gewichte:

• Für die gegebenen Bildpunkte xk , k = , . . . ,K löse man eine gewichtetes Ausgleichs-problem und bestimme die Defekte δk , k = , . . . ,K. Die Gewichte werden zu Beginnauf gk = , k = , . . . ,K gesetzt.

• Nun berechnen wir aus den Defekten δk , k = , . . . ,K die neuen Gewichte gk , k =

, . . . ,K. Dazu gibt es viele Möglichkeiten. Man kann z. B. an die Defekte die Dichteeiner Normalverteilung anpassen und die Gewichte sind dann die Funktionswerte derDichtefunktion.

• Mit den neuen Gewichten wiederholen wir wieder die gewichtete Ausgleichsrechnung.• Die Anzahl der Iterationen ist wieder heuristisch zu wählen und richtet sich nach der

konkreten Anwendung.

In den Abb. 21.1 und 21.2 ist das adaptive Fitting mit Reparametrisierung der Gewichte füreine Geraden- und Kreisanpassung demonstriert.

Page 637: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 635

Abb. 21.1 Adaptives Geradenfitting: Schätzungen einer Geraden in mehreren Iterationen des Ver-fahrens. In der Abbildung ist die Größe der Punkte proportional zu den adaptiven Gewichten,welcheaus den Defekten ermittelt werden

Abb. 21.2 Adaptives Kreisfitting

Page 638: Bildverarbeitung und Objekterkennung ||

636 21 Ausgleichsrechnung

21.2.5 Andere Schätzer (LAD)

Bisher hatten wir uns sowohl adaptiv als auch nicht, mit oder ohne Gewichten, immerauf die L-Norm bezogen. Natürlich gibt es noch eine Reihe anderer Schätzer, insbeson-dere Median-Schätzer. Diese sind in der Regel robuster gegenüber Ausreißern, bedingenaber einen höheren numerischen Aufwand. Diese Eigenschaft wurde z. B. beim Median-filter ausgenutzt, siehe Abschn. 8.2.5. Die Robustheit wird oft mit dem break-down-Indexcharakterisiert. Dieser besagt: wieviel Prozent Ausreißer reichen aus, damit das Fittinger-gebnis völlig verfälscht wird. Mehr als 50 Prozent ist theoretisch gar nicht möglich. Wirwollen hier stellvetretend einmal die L-Norm untersuchen, die auch tatsächlich etwas mitdem Median zu tun hat. Nutzen wir diese Norm, dann nennt man den Schätzer einenLAD-Schätzer (LeastAbsoluteDifferences). Dazu betrachten wir einmal eindimensionaleMesswerte xk , k = , . . . ,K und betrachten das L-Ausgleichsproblem:

S(a) =K∑k=

(xk − a) → Minimum → a =K

K∑k=

xk . (21.96)

Die Summe der Abweichungsquadrate minimiert also gerade der Mittelwert. Bei einemgroßen Ausreißer wird daher sofort auch der Mittelwert verfälscht. Nehmen wir dagegendie L-Norm

S(a) =K∑k=

∣xk − a∣ → Minimum → a = median(x , . . . , xK), (21.97)

so minimiert gerade der Median die Summe der Betragsabweichungen. Die Robustheit istsofort zu erkennen, habenwir einen extremen Ausreißer, so hat das keinen Einfluss auf denMedian. Da es z. B. für Vektoren keinen Median gibt, bezeichnet man oft als „Pseudome-dian“ den Vektor, der die L-Normminimiert und nutzt diesen auch.

Um die L-Norm für die Ausgleichsrechnung zu untersuchen, setzen wir lineare Mo-dellgleichungen voraus. Wir nehmen an, dass

F(a, x) =n∑i=

ai fi(x) − f(x) = (21.98)

die Modellgleichung ist. Dann ist das Extremalproblem

S(a) =K∑k=

∣F(a, xk)∣ → Minimum (21.99)

zu lösen. Wir führen nun die Lösung von (21.99) auf die Lösung einer linearen Opti-mierungsaufgabe zurück. Diese Idee geht bereits auf W.M. Wagner (1959) zurück. Dazuschreiben wir erst einmal die Standardform eines LO-Problems auf (die Bezeichnungen

Page 639: Bildverarbeitung und Objekterkennung ||

21.2 Ausgleichsrechnung 637

haben nichts mit den bisherigen Bezeichnungen zu tun):

z = cTx → Minimum bei Ax = b, x ≥ . (21.100)

Ist dim(x) = n, so ist die Restriktionsmatrix A vom Typ (m, n), wobei in der Regel m < nist. Gegeben sind also A, b, c und gesucht ist das optimale x. Der zulässige Bereich istdie Menge Z = {x∣Ax = b, x ≥ }. Wir nehmen an, dieser ist nichtleer und beschränkt.Aus der Optimierung ist bekannt, dass dieser zulässige Bereich ein konvexes Polyeder be-schreibt und dass das Minimum in einem Eckpunkt dieses Polyeders angenommen wird.Als Lösungsmethode wurde bereits von Dantzig (1947) die Simplexmethode entwickelt,die es heute in vielen Varianten gibt, z. B. primale Simplexmethode, duale Simplexme-thode, revidierte Simplexmethode. Es gibt auch noch andere Lösungsmethoden als dieSimplexmethode. Wichtig ist, eine Lösungsmethode steht in vielen Softwaresystemen alsStandardwerkzeug zur Verfügung. Das LAD-Problem (21.99) ist nun der LO-Aufgabe

z =K∑k=

(z+k + z−k ) → Minimum (21.101)

bei F(a, xk) + z+k − z−k = , z+k , z−

k ≥ , k = , . . . ,K (21.102)

äquivalent. Man sieht, die Defekte δk = z−k − z+k wurden als Diffenz von nichtnegativenVariablen modelliert.

Wichtig Man kann sich leicht überlegen, bei der optimalen Lösung muss immer mindes-tens eine der beiden Variablen z−k , z

+

k Null sein. Dadurch werden tatsächlich die Beträgeder Defekte minimiert.

Da die Variablen ai , i = , . . . , n auch negativ werden können, modellieren wir sie auchals Differenz von nichtnegativen Variablen, folglich ai = a+i − a−i , a

+

i , a−

i ≥ , i = , . . . , n.Diese gehen allerdings nicht in die Zielfunktion z ein. Folglich haben wir insgesamt KRestriktionen und (n + K)Variable. Ist allerdings f(x) = , so kommt noch eine lineareRestriktion für die Parameter ai hinzu. Da wir Differenzen von nichtnegativen Variableneingeführt haben, ist der zulässige Bereich Z unbeschränkt. Kommt eine Softwareroutinedamit nicht zurecht, führen wir eine künstliche Beschränkung

n∑i=

(a+i + a−i ) +K∑k=

(z+k + z−k ) + s = M (21.103)

ein, wobei s ≥ gilt und M „hinreichend groß“ zu wählen ist. Dazu ein

Beispiel Wir wollen an eine Punktmenge eine Ellipse mit der L-Norm fitten. Die lineareModellgleichung lautet

F(a, xk) = axk + axk yk + ayk + axk + ayk + a = . (21.104)

Page 640: Bildverarbeitung und Objekterkennung ||

638 21 Ausgleichsrechnung

Da f(x) = ist, müssen wir eine lineare Restriktion einführen, z. B. a + a = . DerEinfachheit halber seien nur 6 Bildpunkte (xi , yi), i = , . . . , gegeben. Wir führen nocheine Restriktion zur Beschränkung des zulässigen Bereiches ein, so dass wir 8 Restriktionenund 25 Variable haben. In der folgenden Matrixdarstellung ist der erste Zeile der Vektor c,dann die Restriktionsmatrix A, und dann der Vektor der rechten Seite b:

− − x −x

x y −x y y −y

x −x y −y − −

x −x x y −x y y −y

x −x y −y − −

x −x x y −x y y −y

x −x y −y − −

x −x x y −x y y −y

x −x y −y − −

x −x x y −x y y −y

x −x y −y − −

x −x x y −x y y −y

x −x y −y − −

(21.105)

Die Schranke M wurde willkürlich auf gesetzt. Wählt man diese zu klein, wird wo-möglich das Optimum verfälscht. Man sollte deshalb die Punkte auf ihren Schwerpunkttransformieren und womöglich noch skalieren, damit die Zahlen in der Matrix nicht sogroß werden.

Natürlich können wir mit der L-Norm auch adaptiv Fitten und eine gewichtete Aus-gleichsrechnung durchführen, die Gewichte gehen dann in die Zielfunktion ein:

z =K∑k=

gk (z+k + z−k ) → Minimum (21.106)

bei F(a, xk) + z+k − z−k = , z+k , z−

k ≥ , k = , . . . ,K . (21.107)

Page 641: Bildverarbeitung und Objekterkennung ||

22Lineare Algebra und Stochastik

In direktem Zusammenhang zur Ausgleichsrechnung stehen die Begriffe der Singulärwert-zerlegung und der Pseudoinversen, deshalb gehen wir auf diese Begriffe im Folgendennäher ein. Weiterhin sind gewisse Begriffe der Stochastik, wie z. B. die Normalverteilung,von besonderem Interesse für die angegegebenen Schätzer sowie für Verfahren desmaschi-nellen Lernens.

22.1 Pseudoinverse

Da pseudoinverse Matrizen eine große Rolle für die Ausgleichsrechnung spielen, wollenwir diesen Begriff genau klären. Gegeben sei eine Matrix A mit m Zeilen und n Spalten.Nun betrachten wir die Abbildung:

y = Ax ∶ Rn → Rm , x ∈ Rn , y ∈ Rm . (22.1)

Wir betrachten den Bildraum:

R(A) = {y ∣ y = Ax, x ∈ Rn}. (22.2)

Dieser wird offensichtlich von den Spaltenvektoren von A aufgespannt. Es sei weiterhinN(A) der Nullraum vonA und S(A) das orthogonale Komplement zumNullraum vonA.Dies sind lineare Räume und beide spannen zusammen den R

n auf. Genauso können wirdie Räume der transponierten Matrix AT betrachten. Wir betrachten demnach den Null-raum N(AT) und sein orthogonales Komplement S(AT), beide spannen analog den R

m

auf. Betrachten wir nun den Nullraum der transponierten Matrix etwas genauer:

N(AT) = {y ∣ATy = , y ∈ Rm}. (22.3)

639H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0_22, © Springer Fachmedien Wiesbaden 2014

Page 642: Bildverarbeitung und Objekterkennung ||

640 22 Lineare Algebra und Stochastik

Offensichtlich sind die Zeilenvektoren vonAT orthogonal zumNullraum N(AT) oder wasdasselbe ist, die Spaltenvektoren vonA sind orthogonal zu N(AT). Damit spannen aber dieSpaltenvektoren von A das orthogonale Komplement S(AT) auf. Demzufolge können wirschlussfolgern:

R(A) = S(AT), R(AT) = S(A). (22.4)

Wir behaupten nun: die Abbildung

x ↔ y ∶ y = Ax, x ∈ S(A), y ∈ R(A) = S(AT) (22.5)

ist eine bijektive Abbildung, d. h. sie ist eindeutig umkehrbar. Dies ist sehr einfach zu zei-gen. Dazu betrachten wir die Gleichungen Ax = z, Ay = z, mit x ≠ y und x, y ∈ S(A).Daraus folgt A(x − y) = und damit x − y ∈ N(A). Da aber x ∈ S(A) und y ∈ S(A) folgtauch x − y ∈ S(A), dies ist aber nur für das Nullelement möglich x − y = , damit mussx = y sein, was im Widerspruch zur Annahme steht. Wenn wir im Folgenden die kleinenIndizes o und n verwenden, meinen wir ein Element des orthogonalen Komplements bzw.des Nullraumes. Also wir betrachten jetzt die bijektive Abbildung

yo = Axo , xo ∈ S(A), yo ∈ R(A) = S(AT) (22.6)

die wir in der inversen Form schreiben können

xo = A+yo (22.7)

und nennen die Matrix A+ die Pseudoinverse von A. Da yo ∈ S(AT), können wir setzenS(AT) = S(A+) und damit auch N(A+) = N(AT), womit wir jetzt den ganzen R

m alsDefinitionsbereich für A+ eingeführt haben. Nun wollen wir ein klassisches lineares Aus-gleichsproblem betrachten Ax = b, wobei „in der Regel“ m > n, R(A) = S(AT) ⊂ R

m undb ∈ R(A), b ∈ N(AT) gilt. Da wir b = bo + bn als Summe dieser Projektionen schreibenkönnen, folgt xo = A+b = A+(bo + bn) = A+bo mit Axo = bo , und somit ist xo = A+bLösung von

∥Ax − b∥ → Minimum, (22.8)

weil bo die orthogonale Projektion von b in R(A) = S(AT) darstellt. Damit ist xo eineLösung des Ausgleichsproblems. Falls nun das Ausgleichsproblem nicht eindeutig lösbarist, welche von denmöglichen Lösungen stellt dann aber xo dar?Wenn xo Lösung ist, dannist auch xb = xo + xn Lösung. Wir schätzen nun die Länge von xb ab:

∥xb∥ = (xo + xn)T(xo + xn) = ∥xo∥ + ∥xn∥ + xoTxn ≥ ∥xo∥ . (22.9)

Page 643: Bildverarbeitung und Objekterkennung ||

22.1 Pseudoinverse 641

Folglich ist xo = A+b die normkleinste Lösung, also Lösung von

min(∥x∥) bei ∥Ax − b∥ → Minimum (22.10)

und wird oft als Pseudonormallösung von Ax = b bezeichnet.Als einfaches Beispiel der Pseudoinversen betrachten wir eine m × n DiagonalmatrixD

der Form:

D =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

a a . . . . . . .. . . . . . . . . arr . . . . . . . . . . . .

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

, (22.11)

wobeim > r sein soll. Durch folgende Schreibweise erkennenwir sofort die entsprechendenRäume:

Dx = D ⋅

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

x⋮

xr⋮

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

+

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

xr+⋮

xn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

=

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

b⋮

br⋮

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

+

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

br+⋮

bn

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (22.12)

Durch alle Vektoren (x , . . . , xr , , . . . , )T wird das orthogonale Komplement S(D) auf-gespannt und durch die Vektoren (, . . . , , xr+ , . . . , xn)T der Nullraum N(D). Wir sehenleicht leicht, dass diese Räume orthogonal zueinander sind. Demzufolge wird der BildraumR(D) = S(DT) durch die Vektoren (b , . . . , br , , . . . , )T und der Raum N(DT) durchdie Vektoren (, . . . , , br+ , . . . , bn)T aufgespannt. Folglich können wir nun ganz leichtdie Pseudoinverse angeben:

D+ =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

a

a

. . . . . . .

. . . . . . . . .

arr.

. . . . . . . . . . .

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

. (22.13)

Als eine erste Anwendung betrachten wir ein allgemeines lineares Ausgleichsproblem derForm:

Ax = b ↔ ∥Ax − b∥ = Minimum ↔ Ax = bo . (22.14)

Page 644: Bildverarbeitung und Objekterkennung ||

642 22 Lineare Algebra und Stochastik

Wir könnten also einfach die letzte GleichungAx = bo lösen, das Problem ist aber, dass wirbo nicht kennen. Da bo ∈ S(AT) = S(A+), multiplizieren wir jetzt linke und rechte Seitemit AT und ergänzen:

Ax = bo ↔ ATAx = ATbo = AT(bo + bn) = ATb. (22.15)

Folglich erhalten wir als lineares GleichungssystemdieGaußschenNormalengleichungen

ATAx = ATb, (22.16)

welche uns schon aus (21.32) bekannt sind. Jede Lösung dieser Gleichung ist eine Lösungvon Ax = b im Sinne der kleinsten Quadrate, die Lösung muss aber nicht eindeutig sein.Ist die Lösung eindeutig, also existiert die Inverse (ATA)−, dann können wir die Lösungformal aufschreiben und sie muss identisch mit der Lösung über die Pseudoinverse sein:

ATAx = ATb ↔ x = (ATA)−ATb → A+ = (ATA)−AT . (22.17)

Wir haben also eine erste explizite Darstellung der Pseudoinversen gefunden und zwar nurfür den Fall, wenn das Ausgleichsproblem eindeutig lösbar ist. Wie kann man nun eineallgemeine Darstellung finden?Dies geht recht einfach mittels der Singulärwertzerlegungder Matrix A, siehe (22.44).

Satz 22.1 (Pseudoinverse) Es sei A = UΣVT die Singulärwertzerlegung der Matrix A mitden Singulärwerten σ , σ, . . . , σr. Dann berechnet sich die Pseudoinverse A+ von A zu

A+ = VΣ+UT . (22.18)

Dabei ist Σ+ die Pseudoinverse der Diagonalmatrix Σ, deren Diagonalelemente einfach zuσ, . . . ,

σrberechnet werden.

Wir wollen nun noch folgende naheliegende Frage klären: Wenn von einer quadra-tischen Matrix A die Inverse A− exitistiert, dann gilt AA− = A−A = E, wobei E dieEinheitsmatrix ist. Die Frage ist nun, was sind das für Matrizen AA+ und A+A, wenn dieInverse A− nicht existiert bzw. wenn A keine quadratische Matrix ist? Auf jeden Fall sinderst einmal beide MatrizenAA+ undA+A quadratische Matrizen, wobei die Dimensionenverschieden sein können.

Wir betrachten demzufolge nun quadratische Matrizen Pmit ihren Räumen N(P) undS(P), dann gilt

Px = P(xo + xn) = Pxo . (22.19)

Page 645: Bildverarbeitung und Objekterkennung ||

22.1 Pseudoinverse 643

Nun fordern wir eine zusätzliche, sogenannte Projektionseigenschaft

Pxo = xo . (22.20)

Damit können wir rechnen:

P(Px) = P(xo) = P(xo + xn) = Px. (22.21)

Daraus folgt Pk = P∀k. Weiterhin gilt:

xTPTy = (Px)Ty = xo T(yo + yn) = xo Tyo = (xo + xn)Tyo = xTPy. (22.22)

Daraus folgt die Symmetrie PT = P.Wir schlussfolgern: eine quadratische Matrix P heißt Projektionsmatrix, wenn gilt:

• Pk = P ∀k,• PT = P.

Wir bilden nun

A+yo = A+Axo = xo . (22.23)

Damit ist P = A+A eine Projektionsmatrix im Rn . Weiterhin ist auch

Axo = AA+yo = yo . (22.24)

Damit ist Q = AA+ Projektionsmatrix im Rm . Wir wissen also jetzt, was diese quadra-

tischen Matrizen für Eigenschaften besitzen, sie sind Projektionsmatrizen. Daher könnenwir nun auch schreiben:

R(A) = S(A+) = S(AT) ⊂ Rm → (AA+)A = A, (22.25)

R(A+) = R(AT) = S(A) ⊂ Rn → (A+A)A+ = A+. (22.26)

Wenn wir in den beiden Bedingungen einfach G = A+ setzen und diese beiden Glei-chungen nochmals aufschreiben und berücksichtigen, dass die Projektionsmatrizen GAund AG symmetrisch sein müssen, dann erhalten wir die sogenannten Moore-Penrose-Bedingungen zur Definition der Pseudoinversen. Wenn also eine MatrixG die vier Bedin-gungen

. (GA)T = GA . (AG)T = AG . AGA = A . GAG = G (22.27)

erfüllt, dann nennen wir G die Pseudioinverse von A.

Page 646: Bildverarbeitung und Objekterkennung ||

644 22 Lineare Algebra und Stochastik

22.2 Regularisierung nach Tichonov und Arsenin

Die Instabilität eines Systems kann beträchtliche Folgen haben, wie wir dies beim Invers-Filter gezeigt haben. Daher bildet man oft ein Ersatzproblem, welches stabil ist, aber leidernicht die gewünschte Lösung hat.Man geht dabei oft einenKompromiss zwischen Stabilitätund dem „Abtriften“ der Lösung ein, dies nennt man Regularisierung des Problems. DiePseudonormallösung eines linearen Gleichungssystems bezüglich der Pseudoinversen löstdas Optimierungsproblem:

min (∥x∥) bei ∥Ax − b∥ → Minimum. (22.28)

Die Lösung war x = A+b. Nun schwächen wir einmal die Forderung nach dem Minimumab:

min (∥x∥) bei ∥Ax − b∥ ≤ δ. (22.29)

Dabei fordern wir lediglich, dass der Fehler eine Schranke nicht überschreiten soll, dies istalso ein schwächeres Ersatzproblem. Dies können wir auch äquivalent in der Form

min (∥x∥) bei ∥Ax − b∥ ≤ δ (22.30)

schreiben. Das Minimum wird auf dem Rand angenommen. Dazu sei

< ∥xmin∥ , δmin = ∥Axmin − b∥ < δ . (22.31)

Wir setzen

κ = min(,δ − δmin

∥A∥ ⋅ ∥xmin∥) , x = ( − κ)xmin (22.32)

und es gilt

∥Ax − b∥ ≤ ∥Axmin − b∥ + κ∥A∥ ⋅ ∥xmin∥ ≤ δ , (22.33)

womit x keine optimale, aber eine zulässige Lösung ist. Aber es ist auch

∥x∥ = ( − κ)∥xmin∥ < ∥xmin∥

, (22.34)

d. h. x ist eine bessere Lösung als xmin. Daher kann das Minimum nur auf dem Rand an-genommen werden. Demzufolge brauchen wir nur noch die Minimum-Aufgabe

min (∣x∥) bei ∥Ax − b∥ = δ (22.35)

Page 647: Bildverarbeitung und Objekterkennung ||

22.3 Singulärwertzerlegung (SVD) 645

zu betrachten. Nun formulieren wir das Minimumproblem mit der Lagrange-Funktion:

L = ∥x∥ + α(∥Ax − b∥ − δ) → Minimum. (22.36)

Wir bilden die Ableitung und setzen gleich Null:

∇xL = x + α(ATAx −ATb) = . (22.37)

Wir teilen durch α und setzen λ = α :

λIx + (ATAx −ATb) = . (22.38)

Nun fassen wir zusammen:

(ATA + λI)x = ATb. (22.39)

Auf der linken Seite steht die regularisierte Matrix durch Störung der Hauptdiagonalen.Der Regularisierungsparameter λ beschreibt die „Stärke“ des Ersatzproblems. Dieses wirdstabiler, je größer λ wird.

22.3 Singulärwertzerlegung (SVD)

22.3.1 Grundlagen

Die Singulärwertzerlegung (SVD – Singular Value Decomposition) wird in der Bildverar-beitung an sehr vielen Stellen benötigt, deshalb seien hierzu die Grundlagen kurz aufge-schrieben. Gegeben sei eine reelle, rechteckige m×nMatrix B, die wir in zwei orthogonaleMatrizen U und V sowie in eine beliebige Diagonalmatrix A nach der Vorschrift

B = UAVT (22.40)

zerlegen wollen. Dazu bilden wir die Produkte:

BBT = UAVTVATUT = UAATUT ↔ BBTU = UAAT

BTB = VATUTUAVT = VATAVT ↔ BTBV = VATA.(22.41)

An diesen beiden Darstellungen können wir sofort etwas ablesen. Dazu betrachten wirals Wiederholung ein klassisches Eigenwertproblem, siehe auch (21.20): Cx = λx. Da-bei sei C eine qaudratische, reelle und symmetrische Matrix, damit sind die Eigenwerte

Page 648: Bildverarbeitung und Objekterkennung ||

646 22 Lineare Algebra und Stochastik

λ stets reell. Wenn C zusätzlich noch positiv semidefinit ist, dann sind alle Eigenwertenichtnegativ. Lässt sich C darstellen als Matrixprodukt C = BTB oder C = BBT , dannist C trivialerweise symmetrisch und positiv semidefinit. Zu den reellen Eigenwerten ge-hört dann ein orthonormiertes System von Eigenvektoren. Diese Eigenvektoren schreibenwir als Spaltenvektoren in eineMatrixX, die dann orthogonal ist. Schreiben wir dann nochalle Eigenwerte in eineDiagonalmatrixΛ, dann lässt sich das Eigenwertproblem inMatrix-schreibweise formulieren:

CX = XΛ ↔ C = XΛXT . (22.42)

Wenn wir dies mit obigen Gleichungen bez. U und V vergleichen, lesen wir sofort ab:In U stehen die orthonormierten Eigenvektoren von BBT mit den Eigenwerten in

Λ = AAT , in V stehen die orthonormierten Eigenvektoren von BTBmit den EigenwertenΛ = ATA. Damit sind nun auch Λ und Λ Diagonalmatrizen. Man kann nun nochzeigen, dass Λ = Λ = Λ für quadratische Matrizen B ist. Für nichtquadratische Matrizensind alle Eigenwerte ungleich Null auch gleich, der Rest ist eben eine unterschiedliche An-zahl von Eigenwerten, die aber alle Null sind. Damit ergibt sich als Singulärwertzerlegungfür allgemeine, reelle und rechteckige Matrizen B:

B = UΛVT . (22.43)

Wir fassen nochmals zusammen: inU stehen die orthonormierten Eigenvektoren vonBBT ,inV die orthonormierten Eigenvektoren vonBTB, in Λ stehen die sogenannten singulärenWerte, die nichts anderes als die Wurzeln aus den nichtnegativen Eigenwerten von BBT

bzw. BTB sind. (Die positiven Eigenwerte von BBT und BTB sind die gleichen, der Rest istsowieso gleich Null)

Im Folgenden seien die Spaltenvektoren von U mit uk und die Spaltenvektoren von Vmit vl bezeichnet. Weiterhin bezeichnen wir die Diagonalmatrix der Singulärwerte nichtmehrmit Λ, sondernhmit Σ, die Singulärwerte folglichmit σ , . . . , σr . Wir schreiben aiuchim Folgenden immer die Singulärwerte der Größe nach absteigend geordnet in die Diago-nale von Σ, d. h. σ ≥ σ ≥ σ . . . . Dies können wir tun, wenn wir auch entsprechend dieSpaltenvektoren vonU und V umordnen. Wir können die Singulärwertzerlegung auch alsSumme schreiben:

B = UΣVT ↔ B =n∑k=

σkukvTk , σ ≥ σ ≥ ⋅ ⋅ ⋅ ≥ σn . (22.44)

Die Matrix B lässt sich also als gewichtete Summe (Gewichte sind die Singulärwerte) vonMatrizen schreiben, deren Rang jeweils eins ist. Diese Matrizen ukvTk vom Range einsergeben sich als dyadisches Produkt der beiden Spaltenvektoren uk und vk oder als Ten-sorprodukt der beiden Vektoren.Wichtig für Anwendungen in der Bildverarbeitung ist derfolgende

Page 649: Bildverarbeitung und Objekterkennung ||

22.3 Singulärwertzerlegung (SVD) 647

Approximationssatz Es sei B ∈ Mm ,n(R) mit rang(B) = r und B = UΣVT . Mit k ∈

{, , . . . , r − } bezeichne Mkm ,n die Menge aller Matrizen vom Range ≤ k. Dann gilt:

minX∈Mk

m ,n(R)∥B −X∥S = ∥B − X∥S = σk+ , (22.45)

wobei

X = UΣVT , Σ = (Σk

) (22.46)

ist und ∥.∥S die Spektralnorm bedeutet.

Dieser Satz wird auch als Eckart-Young-Theorem bezeichnet und die Approximation istauch richtig im Sinne der kleinsten Quadrate, d. h. wenn wir die Frobenius-Norm verwen-den, allerdings ist dann der Fehler gleich:

minX∈Mk

m ,n(R)∥B −X∥F = ∥B − X∥F =

√∑

l≥k+σ l . (22.47)

Die beste Approximation ist dann:

X =k∑i=

σiuivTi . (22.48)

Der kleinste singuläre Wert ist demnach ein Maß für die Nähe der regulären Matrix B zueiner singulären Matrix X. Es sei erinnert: Wenn ∥.∥ die Euklidische Norm eines Vektorsist, dann ist die zugehörige Matrixnorm die Spektralnorm:

∥B∥S = ρ(B) = max{∣λ∣, λ Eigenwert von B}. (22.49)

Weiterhin gilt die interessante Beziehung ∥B∥S =√ρ(BTB) = σ .

22.3.2 Anwendungen

Später werden wir sehen, wie die SVD zur Faltungsberechnung eingesetzt werden kann.Aber zunächst einige grundsätzlich andere Anwendungen der SVD.

• Die Zerlegung B = UΣVT lässt sich auch geometrisch interpretieren. Die quadrati-sche, reguläre Matrix B beschreibe eine affine Transformation (ohne Translation undSpiegelungen). Dann lässt sich diese affine Transformation stets als die Hintereinder-ausführung einer Rotation (V), einer anisotropen Skalierung (Σ) und einer zweitenRotation (U) interpretieren.

Page 650: Bildverarbeitung und Objekterkennung ||

648 22 Lineare Algebra und Stochastik

• Das Ausgleichsproblem ∥Bx − b∥ → Minimum, welches die Lösung x+ = B+b besitzt(siehe Abschn. 22.1), wird durch die Gaußschen Normalengleichungen BTBx = BTbgelöst. Wir geben einmal ein Beispiel für B und BTB an:

B =

⎛⎜⎜⎜⎜⎝

ε ε ε

⎞⎟⎟⎟⎟⎠

→ BTB =⎛⎜⎝

+ ε + ε + ε

⎞⎟⎠. (22.50)

Es sei ε eine „kleine“ Gleitkommazahl, also darstellbar auf einem Computer, dann kannes aber passieren, dass + ε nicht mehr darstellbar ist und demzufolge + ε = ist.Damit wird aber die Matrix BTB singulär, obwohl wir eine darstellbare Messmatrix Bzur Verfügung hatten. Numerische Probleme mit den Gaußschen Normalengleichun-gen gibt es folglich auch, wenn die Messgleichungen stark korreliert sind. Daher ist esnumerisch günstiger, direkte Lösungsmethoden zu verwenden anstatt die GaußschenNormalengleichungen zu lösen. Eine Möglichkeit war die Nutzung der QR-Zerlegung,siehe (21.34). Eine weitere Möglichkeit bietet nun die SVD. Da die Lösung der Gauß-schenNormalengleichungen durch x+ = B+b darstellbar ist, brauchen wir nur die Pseu-doinverse B+ mit der SVD zu berechnen. Nach (22.18) ist x+ = B+b = VΣ+UTb. DieLösungmit der SVD gilt als die numerisch stabilste Lösung, ist allerdings auch das auf-wendigste Lösungsverfahren.

• Die Grauwerte eines Bildes oder eines Bildblockes lassen sich als Matrix auffassen. Da-mit kann man Bildblöcke oder ganze Bilder einer SVD unterziehen, aber wozu? Wirnutzen den Approximationssatz. Approximationssätze aus der Mathematik können im-mer für Datenkompressionen herangezogen werden. Dazu nehmen wir an B sei einBild oder Bildblock, dann können wir die Zerlegung (22.48) B = ∑

ri= σiuivTi benutzen.

Die Tensorprodukte (oder dyadische Produkte) uivTi sind wieder Matrizen, allerdingsmit dem Rang eins. Diese können als Basismatrizen oder Basisbilder interpretiert wer-den. Wir entwickeln also B in eine Summe nach diesen Basismatrizen. Wenn wir dieSummation eher abbrechen, dann erhalten wir eine Approximation von B und der Ap-proximationssatz gibt uns über die singulären Werte auch noch Auskunft über die Güteder Approximation. Wenn die Matrix B die Dimension (n, n) hat, also n Elemen-te enthält, dann sollte unsere Approximation weniger als n Elemente enthalten. EinSummand in der Approximation wird dann aus n Elementen und einem Singulärwertgebildet, also n+ Werten. Für den Abbruchindex k in der Approximation sollte dannk(n + ) < n gelten, als grobe Regel kann man k < n/ ansetzen. In Abb. 22.1 ist dieApproximationsgüte der SVD demonstriert.

• Schnelle Implementierung von LSI-Filtern, siehe auch Abschn. 8.1.2Grundlage dafür ist wieder der Approximationssatz und (22.44), wobei B die Rolle derFiltermaske übernimmt. Wenn die Summe nur einen Summanden hat, dann ist dieMaske separierbar. Liegt mehrfache Separierbarkeit vor (Summe hat mehr als einenSummanden), dann erhöht sich entsprechend der Aufwand oder man approximiert die

Page 651: Bildverarbeitung und Objekterkennung ||

22.4 Blockmatrizen 649

Abb. 22.1 SVD, 256 × 256 Bild Lenna, a 10 Basisbilder, komprimiert auf 8%, b 30 Basisbilder, kom-primiert auf 22%, c 70 Basisbilder, komprimiert auf 55%

Summe, indem man Summanden mit „kleinen“ Singulärwerten entsprechend (22.48)weglässt. Nachfolgend sollen die Singulärwerte von Filtermasken angegeben werden,die nicht separierbar sind:– × -Laplacefilter

B =⎛⎜⎝

⎞⎟⎠, Σ =

⎛⎜⎝

, ,

⎞⎟⎠. (22.51)

– × -Mexican-Hat

B =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

− − − − − − − − − − − −− − − −− − − − − − − − − − − −

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

, Σ =

⎛⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝

, , , ,

⎞⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠

.

(22.52)

22.4 Blockmatrizen

InmanchenAnwendungsfällen (z. B. Abschn. 18.5.5) lässt sich eine spezielle Blockstruktureiner Matrix für die Invertierung ausnutzen.

Lemma 22.2 (Invertierung einer Blockmatrix) Sei eineMatrixMmit folgender Blockstruk-tur gegeben:

M = [A BC D

] . (22.53)

Page 652: Bildverarbeitung und Objekterkennung ||

650 22 Lineare Algebra und Stochastik

Die Inverse der MatrixM kann dann auf die Inverse der Teilmatrix A und des sogennantenSchur-Komplements S = −CA−B +D zurückgeführt werden:

M− = [A− +A−BS−CA− −A−BS−

−S−CA− S−] . (22.54)

Beweis Wir betrachten zunächst die folgenden algebraischen Manipulationen:

[I

−CA− I] ⋅M = [

A B D −CA−B

] = [A B S

] (22.55)

[A B S

] [I −A−B I

] = [A S

] . (22.56)

Die Matrizen, welche für für diese einzelnen Manipulationen verwendet haben, entspre-chen genau den Operationen beim Gauß’schen Eliminationsverfahren und führen zu fol-gender Gleichung:

[I

−CA− I] ⋅M ⋅ [

I −A−B I

] = [A S

] . (22.57)

Die Inversen der Transformation und die diagonale Blockmatrix auf der rechten Seite las-sen sich durch ihre speziellen Struktur einfach berechnen undwir erhalten das Resultat desLemmas:

M = [I

−CA− I]

⋅ [A S

] ⋅ [I −A−B I

]

(22.58)

M− = [I −A−B I

] ⋅ [A− S−

] ⋅ [I

−CA− I] (22.59)

= [A− −A−BS−

S−] [

I −CA− I

] (22.60)

= [A− +A−BS−CA− −A−BS−

−S−CA− S−] . (22.61)

Für eine symmetrische MatrixMmit C = BT , können wir das obige Resultat noch verein-fachen und wir erhalten:

M− = [A− +A−BS−BTA− −A−BS−

(−A−BS−)T

S−] . (22.62)

Page 653: Bildverarbeitung und Objekterkennung ||

22.5 Normalverteilungen 651

Lemma 22.3 (Satz von Woodbury) Für reguläre Matrizen A und beliebige Matrizen B,Cund D passender Größe gilt:

(A −BD−C)−

= A− +A−B (D −CA−B)−CA− . (22.63)

Beweis Um die Aussage des Lemmas zu beweisen, verwenden wir die Grundidee des vor-herigen Beweises mit einer anderen Gauß’schen Elimination:

[I −BD−

I] ⋅M ⋅ [

I −D−C

] I = [S D

] . (22.64)

Mit der gleichen Schlußfolgerung wie schon bei der Invertierung von Blockmatrizen er-halten wir eine andere Variante des Lemmas mit einem modifizierten SchurkomplementS = −BD−C + A in der oberen linken Ecke der Matrix M−. Ein Vergleich mit der obi-gen Variante der Invertierung von Blockmatrizen liefert direkt die Aussage des Satzes vonWoodbury. ◻

22.5 Normalverteilungen

Wir werden uns im Folgenden einige Eigenschaften multivariater Normalverteilungen an-sehen und bedingte Verteilungen sowie Randverteilungen herleiten. Zunächst betrachtenwir aber den einfachen Fall der Summe von zwei normalverteilten Größen:

Lemma 22.4 (Summe von zwei normalverteilten unabhängigen Größen) Seien zwei unab-hängige multivariate normalverteilte Zufallsvariablen x ∼ N(μ ,A) und x ∼ N(μ,A)

gegeben. Die Summe dieser zwei Variablen ist dann ebenfalls normalverteilt:

x + x ∼ N(μ + μ,A +A). (22.65)

Beweis Die Verteilung der Summe von zwei unabhängigen Zufallsvariablen lässt sich mit-tels der Faltung bestimmen. In Abschn. 2.1.1 und dort besonders im Beispiel 1 haben wirdiesen Zusammenhang bereits schon gesehen und auch die entsprechende Herleitung fürdie Normalverteilung vorgenommen (siehe (2.12)). ◻

Die bedingte Verteilung spielt bei der Herleitung der Gaußprozess-Regression eine ganzentscheidende Rolle (Abschn. 18.5.5):

Lemma 22.5 (Bedingte Normalverteilungen) Sei x = (xa , xd)T eine multivariate Normal-verteilung, d. h. x ∼ N(μ,M), mit dem folgenden Mittelwertvektor und Kovarianzmatrix:

μ = [μaμd

]M = [A BT

B D] . (22.66)

Page 654: Bildverarbeitung und Objekterkennung ||

652 22 Lineare Algebra und Stochastik

Die bedingte Verteilung p(xa ∣ xd) ist ebenfalls eine Normalverteilung mit Mittelwertvektorμ′ und KovarianzmatrixM′:

μ′ = μa + BTD−(xd − μd)M′ = A − BTD−B. (22.67)

Beweis Ein Beweis findet sich in [3, Abschn. 2,3.2, S. 89]. ◻

Lemma 22.6 (Randverteilung einer Normalverteilung) Seien zwei normalverteilte Zufalls-variablen xa and xd gegeben und folgendermaßen verteilt:

xa ∼ N(μa ,A) (22.68)xd ∣xa ∼ N(Fxa + b,G). (22.69)

Die Randverteilung xd kann dann wie folgt angegeben werden:

xd ∼ N(Fμa + b,G + FAFT). (22.70)

Beweis Ein Beweis findet sich in [3, Abschn. 2.3.3, S. 90–93]. ◻

Page 655: Bildverarbeitung und Objekterkennung ||

Literatur

1. Ahmed, N., Natarajan, T., Rao, K.R.: Discrete cosine transform. IEEE Trans. Comput. 23(1), 90–93 (1974)

2. Beyerer, J., Leon, F.P., Frese, C.: Automatische Sichtprüfung. Springer (2012)

3. Bishop, C.M.: Pattern Recognition and Machine Learning (Information Science and Statistics),1. Aufl. Springer (2006)

4. Blake, A., Kohli, P., Rother, C.: Markov Random Fields for Vision and Image Processing. MITPress (2011)

5. Bogert, B.P., Healy, M.J.R., Tukey, J.W.: The frequency analysis of time series for echoes: Cep-strum, pseudo-austovariance, cross-cepstrum and saphe cracking. In: Proc. Sym. of Time SeriesAnalysis, S. 209–243 (1963)

6. Boukerroui, D., Noble, J.A., Brady, M.: On the choice of band-pass quadrature filters. Journal ofMathematical Imaging and Vision 21(1), 53–80 (2004)

7. Boyd, S., Vandenberghe, L.: Convex Optimization. Cambridge University Press, New York, NY,USA (2004)

8. Breiman, L.: Bagging predictors. Machine Learning 24(2), 123–140 (1996)

9. Breiman, L.: Random forests. Machine Learning 45(1), 5–32 (2001)

10. Breiman, L., Friedman, J., Stone, C.J., Olshen, R.A.: Classification and Regression Trees, 1. Aufl.Chapman and Hall/CRC (1984)

11. Brodatz, P.: A Photographic Album for Artists and Designers. Dover Publishing (1966)

12. Butz, T.: Fouriertransformation für Fußgänger. Teubner (2003)

13. Cathey, W.T., Dowski, E.R.: New paradigm for imaging systems. Appl. Optics 41, 6080–6092(2002)

14. Chaudhuri, S., Rajagopalan, A.N.: Depth fromdefocus – a real aperture imaging approach. Sprin-ger (1999)

15. Coates, A., Ng, A.Y.: The importance of encoding versus training with sparse coding and vectorquantization. In: Proceedings of the 28th InternationalConference onMachine Learning (ICML-11), S. 921–928 (2011)

16. Costa, L., Cesar, J.: Shape Analysis and Classification. CRC Press (2001)

17. Nister, D: An efficient solution to the five-point relative pose problem. PAMI 26(6), 756–770(2004)

653H. Süße, E. Rodner, Bildverarbeitung und Objekterkennung,DOI 10.1007/978-3-8348-2606-0, © Springer Fachmedien Wiesbaden 2014

Page 656: Bildverarbeitung und Objekterkennung ||

654 Literatur

18. Dalal, N., Triggs, B.: Histograms of oriented gradients for human detection. In: Proceedings ofthe 2005 IEEE Conference on Computer Vision and Pattern Recognition (CVPR’05), S. 886–893(2005)

19. Denzler, J.: Probabilistische Zustandsschätzung und Aktionsauswahl im Rechnersehen. LogosVerlag Berlin (2003)

20. Dollar, P., Wojek, C., Schiele, B., Perona, P.: Pedestrian detection: An evaluation of the state of theart. Pattern Analysis and Machine Intelligence, IEEE Transactions on 6(99), 1030–1037 (2011)

21. Dudgeon, D.E., Mersereau, R.M.: Multidimensional Digital Signal Processing. Prentice-Hall(1984)

22. Faugeras, O.: Three-Dimensional Computer Vision, 1. Aufl. MIT Press (1993)

23. Felzenszwalb, P.F., Girshick, R.B., McAllester, D., Ramanan, D.: Object detection with discri-minatively trained part-based models. IEEE Transactions on Pattern Analysis and MachineIntelligence 32(9), 1627–1645 (2010)

24. E Fenimore, E., Cannon, T.M.: Coded aperture imaging with uniformly redundant rays. Appl.Optics 17, 337 (1978)

25. Frischholz, R.W., Spinnler, K.P.: Class of algorithms for realtime subpixel registration. In: Procee-dings of the Europto-Conference, S. 1–10 (1993)

26. Fröhlich, B., Rodner, E., Denzler, J.: A fast approach for pixelwise labeling of facade images. In:Proceedings of the International Conference on Pattern Recognition (ICPR 2010), S. 3029–3032(2010)

27. Fröhlich, B., Rodner, E., Denzler, J.: Semantic segmentation with millions of features: Integratingmultiple cues in a combined random forest approach. In: Asian Conference on Computer Vision(ACCV), S. 218–231 (2012)

28. Geurts, P., Ernst, D., Wehenkel, L.: Extremely randomized trees. Maching Learning 63(1), 3–42(2006)

29. Gonzales, R.C., Woods, R.E.: Digital Image Processing. Pearson (2008)

30. Haralick, R.M., Shapiro, L.G.: Computer and robot vision, volume 1. Addison-Wesley (1992)

31. Ho, T.K.: The random subspace method for constructing decision forests. IEEE Transactions onPattern Analysis and Machine Intelligence 20(8), 832–844 (1998)

32. -K. Hu, M.: Visual pattern recognition by moment invariants. Information Theory, IRE Transac-tions on 8, 179–187 (1962)

33. Kadir, T., Brady, M.: Scale, saliency and image description. Int. Journal of Computer Vision 45,83–105 (2001)

34. Kang, H.R.: COLOR Technology for Electronic Imaging Devices. SPIE-Press (1997)35. Klette, R., Rosenfeld, A.: Digital Geometry. Elsevier (2004)

36. Krizhevsky,A., Sutskever, I., Hinton, G.E.: Imagenet classificationwith deep convolutional neuralnetworks. In: Advances of Neural Information Processing Systems S. 1097–1105 (2012)

37. Kuglin, C.D.,Hines, D.C.:Thephase correlation image aligmentmethod. Proceedings of the IEEEon Cybernetics and Society, S. 163–165 (1975)

38. Kuncheva, L.I., Rodríguez, J.J.: An experimental study on rotation forest ensembles. In: MultipleClassifier Systems, S. 459–468 (2007)

39. Lagendijk, R.L., Biemond, J.: Iterative Indentification and Restoration of Images. Kluwer Acade-mic Publishers (1991)

Page 657: Bildverarbeitung und Objekterkennung ||

Literatur 655

40. Lezoray, O., Grady, L.: Image Processing and Analysis with Graphs, 1. Aufl. CRC Press (2012)

41. Lindeberg, T.: Scale-Space Theory in Computer Vision. Kluwer Academic Publishers (1994)

42. Lowe, D.G.: Distinctive image features from scale-invariant keypoints. International Journal ofComputer Vision 60(2), 91–110 (2004)

43. Lucy, L.B.: An iterative technique for the rectification of observed distributions.TheAstronomicalJournal 74, 745–754 (1974)

44. Lutzke, P., Schaffer, M., Kühmstedt, P., Kowarschik, R., Notni, G.: Experimental comparison ofphase-shifting fringe projection and statistical pattern projection for active triangulation systems.In: Proceedings of the Conference: Optical Measurement Systems for Industrial Inspection, SPIE8788 (2013)

45. Matas, J., Chum, O., Urban, M., Pajdla, T.: Robust wide baseline stereo from maximally sta-ble extremal regions. In: Proceedings of the British Machine Vision Conference (BMVC 2002),S. 384–393 (2002)

46. Mercer, J.: Functions of positive and negative type, and their connection with the theory of inte-gral equations. Philosophical Transactions of the Royal Society, London 209, 415–446 (1909)

47. Minka, T.P.: A family of algorithms for approximate bayesian inference. PhD thesis, Massachu-setts Institute of Technology (2001). AAI0803033

48. Mukundan, R., Ramakrishnan, K.R.: Fast computation of Legendre and Zernike moments. Pat-tern Recognition (1995)

49. Nayar, S.K., Nakagawa, Y.: Shape from focus. IEEETransactions on PatternAnalysis andMachineIntelligence 16, 824–831 (1994)

50. Nickisch, H., E. Rasmussen, C.: Approximations for binary gaussian process classification. Jour-nal of Machine Learning Research 9, 2035–2078 (2008)

51. Nischwitz, A., Haberäcker, P.: Masterkurs Computergrafik und Bildverarbeitung. Vieweg (2004)

52. Ojala, T., Pietikainen, M., Harw, D.: Performance evaluation of texture measures with classifi-cation based on kullback discrimination of distributions. In: Proceedings of the InternationalConference on Pattern Recognition, S. 582–585 (1994)

53. Oppenheim, A.V., Schafer, R.W., Buck, J.W.: Zeitdiskrete Signalverarbeitung, 2. Aufl. Pearson(2004)

54. Park, S.C., Park, M.K., Kang, M.G.: Super-resolution image reconstruction: A technical overview.IEEE Signal Processing Magazine 20, 21–36 (2003)

55. Platt, J.C.: Probabilistic outputs for support vector machines and comparisons to regularized li-kelihood methods. In: Advances in Large Margin Classifiers, S. 61–74. MIT Press (1999)

56. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, P.B.: Numerical Recipes 3rd Edition:TheArt of Scientific Computing, 3. Aufl. Cambridge University Press, New York, NY, USA (2007)

57. Rasmussen, C.E., Williams, C.K.I.: Gaussian Processes for Machine Learning (Adaptive Compu-tation and Machine Learning). The MIT Press (2005)

58. Richardson, W.H.: Bayesian-based iterative method of image restoration. Journal of the OpticalSociety of America . 62, 55–59 (1972)

59. Rodner, E., Süße, H., Ortmann, W., Denzler, J.: Difference of boxes filters revisited: Shadow sup-pression and efficient character segmentation. In: Proceedings of the Eighth IAPRWorkshop onDocument Analysis Systems, S. 263–269 (2008)

Page 658: Bildverarbeitung und Objekterkennung ||

656 Literatur

60. Rosenfeld, A., Thurston, M.: Edge and curve detection for visual scene analysis. IEEE Transacti-ons on Computers 20, 562–569 (1971)

61. Rosin, P.L.: Measuring shape: ellipticity, rectangularity, and triangularity. Machine Vision andApplications 14, 172–184 (2003)

62. Rothe, I., Suesse, H., Voss, K.: The method of normalization to determine invariants, Bd. 18,S. 2067–2068 (1996)

63. Schölkopf, B., Smola, A.J.: Learning with Kernels: Support VectorMachines, Regularization, Op-timization, and Beyond. MIT Press, Cambridge, MA, USA (2001)

64. Sedgewick, R.: Algorithmen, 2. Aufl. Pearson (2002)

65. Seeger, M.: Bayesian Gaussian Process Models: PAC-Bayesian Generalisation Error Bounds andSparse Approximations. PhD thesis, University of Edinburgh (2003)

66. Shepp, L.A., Logan, B.F.: The fourier reconstruction of a head section. IEEE Transactions onNuclear Science 21(3), 21–43 (1974)

67. Shotton, J., Johnson, M., Cipolla, R.: Semantic texton forests for image categorization and seg-mentation. In: Computer vision and pattern recognition (CVPR), S. 1–8 (2008)

68. Sniedovich, M.: Dijkstra’s algorithm revisited: The dynamic programming connexion. Controland Cybernetics 35(3), 599–620 (2006)

69. Sonnenburg, S., Rätsch, G., Schäfer, C., Schölkopf, B.: Large scale multiple kernel learning. Jour-nal of Machine Learning Research 7, 1531–1565 (2006)

70. Stegmann, M.B., Ersbøll, B.K., Larsen, R.: FAME - a flexible appearance modelling environment.IEEE Transactions on Medical Imaging 22(10), 1319–1331 (2003)

71. Suesse,H., Ditrich, F.: Robust determination of rotation-angles for closed regions usingmoments.In: Proceedings of the International Conference on Image Processing (ICIP 2005), S. 337–340(2005)

72. Suesse, H., Ortmann, W.: A new efficient algorithm for fitting of rectangles and squares. In: Pro-ceedings of the Interational Conference on Image Processing (ICIP 2001), S. 809–812 (2001)

73. Suesse,H., Ortmann,W.: Robustmatching of affinely transformed objects. In: Proceedings of theInternational Conference on Image Processing (ICIP 2003), S. 383–386 (2003)

74. Suesse, H., Ortmann, W., Lautenschläger, J., Lautenschläger, C., Körner, M., Grosskreutz, J.,Denzler, J.: Quantitative analysis of pathological mitochondrial morphology in neuronal cellsin confocal laser scanning microscopy images. Proceedings IWBBIO (2014)

75. Takeda, M., Mutch, K.: Fourier transform profilometry for the automatic measurement of 3-dobject shape. Appl. optics 22(24), 3977–3982 (1983)

76. Trummer, M., Suesse, H., Denzler, J.: Coarse registration of 3d surface triangulations based onmoment invariants with applications to object alignment and identification. In: Proceedings ofIEEE 12th International Conference on Computer Vision (ICCV 2009), S. 1273–1279 (2009)

77. Turk, M.A., Pentland, A.P.: Face recognition using eigenfaces. In: Computer Vision and PatternRecognition (CVPR), S. 586–591 (1991)

78. Vanderwalle, P., Süsstrunk, S., Vetterli, M.: A frequency domain approach to registration ofaliased images with application to super-resolution. In: EURASIP Journal on Applied Signal Pro-cessing, S. 1–14 (2006)

79. Vapnik, V.N.: The nature of statistical learning theory. Springer (2000)

Page 659: Bildverarbeitung und Objekterkennung ||

Literatur 657

80. Vedaldi, A., Zisserman, A.: Efficient additive kernels via explicit feature maps. Pattern Analysisand Machine Intelligence, IEEE Transactions on 34(3), 480–492 (2012)

81. Viola, P., Jones, M.: Robust real-time object detection. International Journal of Computer Vision57(2), 137–154 (2004)

82. Vondrick, C., Khosla, A., Malisiewicz, T., Torralba, A.: HOGgles: Visualizing Object DetectionFeatures. Proceedings of IEEE 16th International Conference on Computer Vision (ICCV 2013)

83. Voss, K., Suesse, H.: Invariant fitting of planar objects by primitives, Bd. 19, S. 80–84 (1997)

84. Voss, K., Suesse,H.: A newone-parametric fittingmethod for planar objects, Bd. 21, S. 2067–2068(1999)

85. Voss, K., Suesse, H.: Affine point pattern matching. In: Proceedings of the 23rd DAGM-Symposium on Pattern Recognition, S. 155–162. Springer, London, UK (2001)

86. Voss, K., Süße, H.: Adaptive Modelle und Invarianten für zweidimensionale Bilder, 1. Aufl. Sha-ker (1995)

87. Wahl, F.M.: Coded light approach for 3-dimensional (3d) vision. Technical Report RZ 1452, IBM(1984)

88. Weickert, J.: Anisotropic Diffusion in Image Processing. B.G. Teubner (1998)

89. Winkler, G.: Image Analysis, Random Fields and Dynamic Monte Carlo Methods. Springer(1991)

90. Wolpert, D.H.: The supervised learning no-free-lunch theorems. In: Soft Computing and Indus-try, S. 25–42. Springer (2002)

Page 660: Bildverarbeitung und Objekterkennung ||

Sachverzeichnis

3D-BildverarbeitungE-Matrix, 328Epipolargeometrie, 322Fundamentalmatrix, 331Kalibrierung, 339Kruppa Matrix, 350Projektionsmatrix, 324, 356

AAbsolute Conic, 311Abstände, 542Abtastfunktion, 36, 90Abtasttheorem, 3, 90

Aliasing, 5Affine Kamera, 296Affine Transformation, 547Albedo, 401algebraische Distanz, 624Approximation

Kontur, 99trigonometrische, 98

Autofaltung, 33Autokorrelation, 33, 47, 48, 80Autoregressiver Prozess, 256average recognition rate, 506

Bback propagation, 596Bagging, 460, 468Bag-of-Features, 577, 591Bag-of-Words, 577, 591baseline, 322Basis

affine, 102, 262, 313

projektive, 263, 266Standardbasis, 267

Basis eines Raumes, 54Basisklassifikatoren, 466Bayes-Ansätze, 458Bayes-Schätzwert, 459Beleuchtung, 158, 398Bewegung einer Kamera, 310bias-variance, 454Bildhauptpunkt, 307Bildklassifikation, 589, 591Bildmodell, 17Bildregistrierung, 542, 547Bildrestauration

Bewegungsunschärfe, 203Inversfilter, 196Pseudoinversfilter, 199Richardson-Lucy, 202unter Zwang, 196Wienerfilter, 199

BildverarbeitungPunktinvarianten, 312

Biofilme, 181, 221bipartiter Graph, 564Blickebene, 309Blockmatching, 96, 549, 558Blockzirkularmatrix, 40Bogenlänge, 109Bündelausgleichung, 344Boosting, 470, 602Bootstrapping, 600bounding box, 538

CCAMSIZER, 403

659

Page 661: Bildverarbeitung und Objekterkennung ||

660 Sachverzeichnis

canonical frame, 522Cauchy-SchwarzscheUngleichung, 544CCD-Sensor, 5CCIR-Norm, 5Chi-Quadrat-Kern, 483Cholesky-Verfahren, 465Clique, 9Closing, 178CLSM, 8CMOS-Sensor, 5coded aperture, 35, 209Codierter Lichtansatz, 384complex spectrogram, 148computational photography, 209Computertomographie, 240conjugate prior, 459Cooccurence-Matrix, 190cross validation, 504

DDatenkompression, 583DC-Komponente, 72decision tree, 466deep learning, 596Deinterlacing, 5Delaunay-Graph, 218, 231Delaunay-Triangulation, 14, 218, 231Deskriptor, 571Detektor, 572Diffusionsprozess, 30Digitalisierung, 3Dijkstra-Algorithmus, 226Dilation, 176Dirac-Funktion, 34, 88Dirac-Kamm, 89Dirichletscher Integralkern, 92, 155Diskriminative Klassifikatoren, 452Disparität, 322Doppelkegel, 238Duale quadratische Form, 269Duale Quaternionen, 289Duale zahlen, 288Duales Optimierungsproblem, 486Dynamische Programmierung, 223, 570

EEarth Mover’s Distance (EMD), 251, 545, 546,

595Eckendetektion, 173, 174eigenfaces, 585Eigenspace-Methode, 585Eigenwertproblem, 171, 619Einheitsimpuls, 34, 79, 88Ellipse, 630

Elliptizität, 100Fitting, 100, 524Streuungsellipse, 517Trägheitsellipse, 517

EM-Algorithmus, 511Energiefilter, 153Energiemodell, 118Ensemble, 460Ensemble-Klassifikatoren, 460Entfaltung, 49Entropie

differentielle, 186diskrete, 183, 466

Entscheidungsbäume, 466Epipolarlinien, 322Erkennungsrate, 505Erosion, 176Essential Matrix, 331, 356Euler Formel, 53expectation propagation, 459, 499

FFaktorenanalyse, 585Falschpositivrate, 507Faltung, 44, 48, 366

analoge, 27, 36Diffusionsgleichung, 30diskrete, 27, 606effektive Implementierung, 29, 51Einheitsimpuls, 35gemischte, 27, 36inverse, 35Iterationen, 83Konditionszahl, 42Normalengleichungen, 43Polynome, 30Stabilität, 42Summe von ZV, 29

Farbe

Page 662: Bildverarbeitung und Objekterkennung ||

Sachverzeichnis 661

Auge, 243CIELAB-Raum, 246CIELUV-Raum, 246CMY-Modell, 248Color Naming System, 244Farbmodelle, 246Farbtafel, 244Farbtensor, 445HSI-Modell, 249Kanten, 250RGB-Modell, 246Spektrum, 242YIQ-System, 249YUV-System, 249

FilterAbleitungen, 165Bandpass, 159, 161Diffusion, 174DoB, 158, 174DoG, 37Gauss, 158Gradient, 171homomorphe, 158Hückel-Operator, 174Koeffizienten, 165Krümmung, 171, 173linear, 45LoG, 37, 158, 165, 573LSI, 45, 165Maximum, 179, 180, 221Median, 180Mexican hat, 37Minimum, 179, 180, 221Mittelwertfilter, 169morphologische, 176nichtlinear, 46, 174Pruning, 158Rangordnungsfilter, 180Relaxationsfilter, 176scharfstellen, 161Tiefpass, 74, 123, 155top hat, 179, 181Unscharfe Maskierung, 156

Filtermaske, 51FIR-Filter, 49Fitting

adaptiv, 634, 635Bookstein-Fit, 632Dreiecke, 530

Ebenen, 628Ellipsen, 99, 624, 632Geraden, 623, 628invariant,kovariant, 525, 630Kovarianz, 632Kreis, 624momentenbasiert, 530Rechtecke, 530, 533Superellipsen, 530Trägheitsellipse, 524

Flächenberechnung, 535Fluchtpunkt, 324focus stacking, 164Fokussierung, 161Formfaktor, 535, 538Fourier transform profilometry, 393Fourier-Mellin-Transformation, 66Fourier-Projection-Slice-Theorem, 363Fourierreihe, 390Fourier-Slice-Theorem, 240Fouriertransformation, 53

Affine Transformatione, 116DFT, 60Diskrete Kosinus Transformation (DCT),

112Faltungstheorem, 78Fourier transform profilometry, 393Fourierdeskiptoren, 104Fourierreihe, 57gefilterte Rückprojektion, 365Gibbs, 72Hartley, 84Integraltransformation, 62Kohärenz, 80Leistungsspektrum, 80Modifizierte DFT, 110Parsevalsche Gleichung, 77reelle, 59, 84Ringing, 73Slice-Theorem, 365unendliche DFT, 65Unschärferelation, 115

Freeman-Kode, 214Frobenius-Norm, 332, 647Fundamentalmatrix, 325, 334, 335

GGaborfilter, 150, 152, 153

Page 663: Bildverarbeitung und Objekterkennung ||

662 Sachverzeichnis

Gauß-Funktion, 30, 31, 92Gauß-Prozess, 490

Definition, 491Klassifikation, 498Regression, 495

Gaußsche Normalengleichungen, 40, 621, 641,642, 648

Generalisierung, 454Generative Klassifikatoren, 452Geometrische Transformation, 21

Affine Transformation, 22, 262Euklidische Transformation, 21, 262Homogene Koordinaten, 261Ähnlichkeitstransformation, 22, 262Projektive Transformation, 23, 262Rotation, 21, 261Scherung, 21Skalierung, 22Translation, 21, 261

Geradendetektion, 231Gesichtsdetektion, 600Gibbs-Verteilung, 194Gimbal Lock, 286Gleichanteil, 72GMM, 510GP, 490Gradient, 171Grauwerttransformation, 24Gray-Kode, 385Greenscher Integralsatz, 539Gruppierung, 509

überwacht, 594zufällig, 594

HHaarmerkmale, 600, 610Hauptpunkttransformation, 312Hilbert-Transformation, 67Histogrammausgleichung, 19Histogrammschnittkern, 484HOG, 605Homogene Koordinaten, 263Homographie, 263, 304, 311Hough Transformation

generalized, 238Hough-Transformation

klassisch, 233Hyperparameter, 483, 490, 491, 503, 595

IICF, 611ICP-Algorithmus, 568IIR-Filter, 49image retrieval, 547ImageNet, 596Impulsantwort, 45Instanzerkennung, 597Integralbilder, 579Interlace-Modus, 5Interpolation, 36

bilineare, 23Kontur, 97trigonometrische, 97

Invariantenaffine, 313affine shape, 314Algebarische Distanz, 321Determinantenmethode, 317Doppelverhältnis, 315, 327Ellipsenpaare, 322Flächeninvarianten, 318Fourierdeskriptoren, 106geometric hashing, 314Hu-Invarianten, 527Kamerainvarianten, 307, 310komplexe, 101Momentinvarianten, 527Normalisierung, 101Nullraum, 314Paar von Ellipsen, 322Punktmengen, 101Teilverhältnis, 315

Inverse Faltung, 48Ising Modell, 194Isolinien, 173Iteration, 48

JJakobimatrix, 171

KKalibrierung, 339, 352Kamerakalibrierung, 339Kameramodelle, 293Kameraparameter, 299, 307, 324Kanade-Tomasi-Detektor, 174, 445

Page 664: Bildverarbeitung und Objekterkennung ||

Sachverzeichnis 663

Kanatani-Transformtion, 312Karhunen-Loeve-Transformation, 580Kerneldichte, 484Kernelfunktion, 478, 482

χ, 484, 493Gaußkern, 483, 493homogen, 483Minimumkern, 484, 493positiv definit, 481RBF, 483stationär, 483

Kernel-Trick, 480Kernmatrix, 481Klassifikation, 449Klassifikationsproblemen, 450Klassifikator

diskriminativ, 452Entscheidungsbaum, 468generativ, 452GP, 490Kaskade, 602k-NN, 462nichtlinear, 478Nächster Nachbar, 462Normalverteilung, 464Parzen, 484SVM, 473

Kleinste Quadrate Methode, 286, 642k-Means, 509, 594Konditionszahl, 43, 83Kontextmerkmale, 611Konturfolgeverfahren, 214Konturglättung, 14, 98, 178Konvexe Hülle, 12

limitierte, 12, 218Konvexität, 11, 219Korrelation, 31, 80Korrelationskoeffizient, 517, 544Kovarianz, 524Kovarianzmatrix, 39Kreuzkorrelation, 31Kreuzleistungsspektrum, 80Kreuzvalidierung, 504Kruppa-Gleichungen, 345, 351Kruppa-Matrix, 311

Llabel regression, 498

Lacunarity, 255lacunarity, 255Lagrange-Funktion, 171Lambert-Oberfläche, 399Laplace-Approximation, 459, 499Leck-Effekt, 147Leibnizsche Sektorformel, 535Lernen

überwacht, 461unüberwacht, 508

Levenberg-Marquardt-Methode, 629Lichtschnittverfahren, 383lineare Klassifikatoren, 478Lineare Optimierung, 547, 636Lineares Filter, 32Local binary pattern (LBP), 576Log-Polar-Darstellung, 24, 67LSI-Operator, 43, 50LTI-System, 43

MMAP-Schätzung, siehe

Maximum-A-Posteriori-SchätzungMarginalisierung, 458Markov chain Monte Carlo, 459Matching

Abstände, 542Kontur, 557PCA, 585Transformationen, 547

Maximum-A-Posteriori-Schätzung, 457Maximum-Likelihood-Schätzung, 456MCMC, siehe Markov chain Monte CarloMedian, 180, 636Mehrklassen-Klassifikationsproblem, 450Mercer-Bedingung, 478Metrik, 542Minimal aufspannender Baum (MST), 229Minimumkern, 484Mischverteilung, 510ML-Schätzung, siehe

Maximum-Likelihood-SchätzungModellkombination, 460Modellkomplexität, 454Moire-Technik, 387Momente

Affine Invarianten, 529Axiale Momente, 518

Page 665: Bildverarbeitung und Objekterkennung ||

664 Sachverzeichnis

effektive Berechnung, 539Flächenmomente, 516Hu-Invarianten, 527Komplexe Momente, 518Linienmomente, 517Momentinvarianten, 527, 564Punktmomente, 518Schwerpunkt, 516, 522Transformation, 520Trägheitsellipse, 524Zentrale Momente, 522

Moore-Penrose Bedingungen, 643Motion deblurring, 203MRT, 8MSER-Methode, 526multiple kernel learning, 595mutual information, 186, 466

NNachbarschaftsrelation

Achter, 9Sechser, 9Sechsundzwanziger, 9Vierer, 9

Nodalpunkt, 311non-maximum suppression, 605Norm, 41Normalisierte Koordinaten, 303Normalisierung, 522Normalverteilung, 464, 490, 651Nyquist-Frequenz, 4

OObjekte

blobs, 181Orientierung, 517spots, 181Trägheitsellipse, 517

Objektlokalisation, 589, 598OCR, 24, 159Überanpassung, 454one-vs-all, 477, 502one-vs-X, 477, 478Opening, 178Orientierungen, 172Orthogonale Momente, 518Orthografische Projektion, 294

Ortho-Theorem, 324overall recognition rate, 506

PPanoramabilder, 311Parallaxe, 322Paraperspektive, 296Parsevalsche Gleichung, 54Parzen, 484PCA, 580Perkolation, 16Phasenkongruenz, 119Phasenkorrelation, 550Phasenshift-Verfahren, 390phase-only transformation, 95phase-unwrapping, 389, 394Photometrisches Stereo, 402Picksche Formel, 538pill box, 47pillbox, 396Plugin-Prinzip, 457Point pattern matching, 563, 567Point Spread Function (PSF), 46Poissonsche Formel, 89Poissonverteilung, 202Polarkoordinaten, 20Pooling, 592positiv definit, 481Potts Modell, 194precision, 508probit, 498Progressive Scan, 5Projektionsmatrix, 302, 356, 642Prototypen, 509Pseudoinverse, 639Punktschätzung, 456Pyramide

Gauß, 145, 599Laplace, 145

QQR-Zerlegung, 356, 622Quadratische Form, 269Quadratur-Filter, 153Quantisierung, 509, 591Quaternionen, 273, 280query expansion, 598

Page 666: Bildverarbeitung und Objekterkennung ||

Sachverzeichnis 665

RRadon Transformation, 363Radon-Transformation, 239Random Forest, 468RANSAC-Methode, 234Rauschen

Datenkompression, 193Dämpfung, 192Energiefunktionen, 195Kanalrauschen, 191Modelle, 190Salz und Pfeffer, 192signal to noise ratio(SNR), 191weißes, 190

Rauschmodell, 494RDF, 468, 594, 609recall, 508receiver operator characteristics, 507Rechteckfunktion, 155Reflexion, 158, 398Registrierung, 547, 558Regression, 449Regressionsprobleme, 450Regularisierung, 644Regularisierungsparameter, 487Reklassifikation, 504Reklassifikationsfehler, 504Rekonstruktion

Affine, 369Aktives Sehen, 383Polyedrische Objekte, 367Projektive, 370Punkte, 376Triangulation, 376

Relativer Nachbarschaftsgraph, 230Richtigpositivrate, 507Richtungen, 172Richtungsableitung, 171ROC-Kurve, 507Rückprojektion

gefilterte, 240, 365Rotationen

3D, 269Drehachse, 271Drehmatrix, 269EulerscheWinkel, 269Exponentielle Form, 279Kanonische Form, 283Quaternionen, 273

Registrierung, 555Rodrigues, 278

Rundheit, 535

SSchätzer

Bayes, 494Bayes-Ansatz, 458LAD, 617LAD-Methode, 636LSE-Methode, 620MAP-Methode, 456ML-Methode, 456MMSE-Methode, 459MSE, 617stochastische, 456

Schur-Komplements, 650Schwache Perspektive, 295, 352Schwerpunkt, 516Segmentierung

Otsu-thresholding, 213Regionen, 608seeded region growing, 220semantisch, 607

Sehstrahl, 309Semantische Segmentierung, 589shading, 181shape from focus/defocus, 395Shi-Tomasi-Detektor, 174Siebanalyse, 403SIFT, 591, 597, 607SIFT-Deskriptor, 572Signaturen, 546Silhouette einer Punktmenge, 12, 16, 218Simplexmethode, 547, 637Sinusoid, 60Skalarprodukte, 53Skalierungs-Kovarianz, 573Skelett, 179sliding window, 599Sliding-Window Klassifikation, 599Sobelfilter, 45space variant filtering, 46spatial pooling, 592Spektralnorm, 647Spiegel, 399Spiegelung, 79Spiegelungsoperator, 32

Page 667: Bildverarbeitung und Objekterkennung ||

666 Sachverzeichnis

square wave, 92stationäres Feld, 39, 201Stereo-Anordnung, 304Stereologie, 236Stützgerade, 235Strukturtensor, 173, 174, 443, 445Subpixelgenauigkeit, 555Superellipsen, 532Superresolution, 134support vector machines, 473SVD, 52, 642, 645SVM, 473, 486, 500, 605

TTensoren, 415

Dualer Vektorraum, 416Farbtensor, 445m-Vektoren, 432Rang, 433Strukturtensor, 443Tensoralgebra, 423Tensorfelder, 438Trifokaler Tensor, 440Verjüngung, 425

Textur, 255LBP, 577

Thickening, 178Thinning, 178Tichonov-Arsenin Regularisierung, 644Tiefpass

idealer, 98, 129, 391Kontur, 98

time warping, 569Toeplitz-Matrix, 39Transferfunktion, 72Transinformation, 186

Triangulation, 376, 390

UUmfang, 535Ungarische Methode, 567Unsharp Masking, 156unsupervised, 508

VVandermonde-Matrix, 125, 142Vermessungsaufgaben, 380Verschiebungsinvarianz, 44, 47Verschiebungsoperator, 33, 47Verschiebungstheorem, 87Vertauschungsmatrix, 506Verzeichnungen, 357Viola und Jones, 600voting, 231

Wwavefront coding, 209whitening, 35, 94Whitening Transformation, 584Wiener-Chintchin-Theorem, 80Wiener-Lee-Beziehung, 48Wigner Ville Transformation, 151Wrap-around effect, 37

ZZero padding, 37, 555Zirkularmatrix, 38Zylinderhut-Transformation, 179