Morphologische Bildoperationen

Ähnliche Dokumente
Computergrafik 2: Morphologische Operationen

Signalverarbeitung g für audiovisuelle Kommunikation

Graphische Datenverarbeitung und Bildverarbeitung

Morphologische Filter

Morphologische Bildoperationen

Computergrafik 2: Übung 9. Morphologische Operationen

9. Kombination von Vektor- und Rasterdaten

Kapitel 9 Kombination von Vektor- und Rasterdaten

Morphologische BV. Morphological Image Processing. M. Thaler, TG208 Bildverarbeitung ZHAW, BV HS17, M. Thaler.

Distributed Algorithms. Image and Video Processing

6. Texterkennung in Videos Videoanalyse

4. Segmentierung von Objekten Video - Inhaltsanalyse

Übersicht der Vorlesung

Digitale Bildverarbeitung (DBV)

Prüfung Grundlagen der digitalen Bildbearbeitung

Morphologische Bildverarbeitung II

Übersicht der Vorlesung

Parallele Algorithmen in der Bildverarbeitung

Digitale Bildverarbeitung Einheit 9 Morphologische Operationen

Digitale Bildverarbeitung Einheit 9 Morphologische Operationen

Verarbeitung von Volumenbildern wichtige Werkzeuge

Digitale Bildverarbeitung Einheit 9 Morphologische Operationen

Wasserscheiden-Ansätze zur Bildsegmentierung I

LU Grundlagen der digitalen Bildverarbeitung Abgabe 2. Gruppe 25 peter holzkorn andreas bretschneider martin tintel

Morphologie auf Binärbildern

Modul Digitale Bildverarbeitung SS16 Bestandteile der Lehrveranstaltung und Prüfung: Vorlesungen Übungsserien Praktika (ImageJ) bis Mai 2016 Projekt

Kapitel 9. Kombination von Vektor- und Rasterdaten. Rasterdaten. 3. Transformationen des Formats. 4. Kombinierte Auswertungen

Numerisches Programmieren, Übungen

Morphologische Filter. Vorlesung FH-Hagenberg DSB

Klausuraufgaben zur Vorlesung Computer Vision. Prüfung I W772. Termin: 5. Februar Maximal mögliche Punktzahl: = 50.

2. Schnitterkennung Video - Inhaltsanalyse

Hackenbusch und Spieltheorie

Eine Menge ist die Zusammenfassung von bestimmten unterschiedenen Objekten zu einem Ganzen.

( ) ( ) < b k, 1 k n} (2) < x k

Ganzrationale Funktionen

Morphologische Bildverarbeitung I

KAPITEL 5. Damit wird F n (B) selbst zu einer Booleschen Algebra und es gilt f(x) := f(x) 0(x) := 0 B 1(x) := 1 B

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 13 EBENE KOORDINATENGEOMETRIE DER ORTSVEKTOR

Digitale Bildverarbeitung Einheit 7 Bildarithmetik

Übersicht der Vorlesung

Übungsblatt

Mathematische Grundlagen der Ökonomie Übungsblatt 8

Funktionen und andere Zuordnungen

Digitale Bildverarbeitung Einheit 7 Bildarithmetik

Featurebasierte 3D Modellierung

Musterlösung zu Blatt 11, Aufgabe 3

Einführung in die medizinische Bildverarbeitung WS 12/13

Programmierpraktikum WS 16/17

Übung: Computergrafik 1

Grundlagen der Bildverarbeitung Klaus D. Tönnies

3. Analyse der Kamerabewegung Video - Inhaltsanalyse

Vervollständigung Lateinischer Quadrate

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

6 Extremwerte mit Nebenbedingungen: Die Lagrange-Multiplikatoren-Methode

2D Graphik: Modellbasierte und interaktive Segmentierung

1. Filterung im Ortsbereich 1.1 Grundbegriffe 1.2 Lineare Filter 1.3 Nicht-Lineare Filter 1.4 Separabele Filter 1.

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Übung zur Vorlesung Diskrete Strukturen I

Lösungsvorschlag zu den Präsenzaufgaben der 1. Übung

Station Figurierte Zahlen Teil 3. Arbeitsheft. Teilnehmercode

Terme und Gleichungen

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Mathematik für Anwender II

Was ändert sich, wenn zu Beginn eine andere Anzahl n an Streichhölzern auf dem Haufen liegt?

Mathematik II Lösung 6. Lösung zu Serie 6

37 Gauß-Algorithmus und lineare Gleichungssysteme

Lineares Gleichungssystem - Vertiefung

$Id: folgen.tex,v /05/31 12:40:06 hk Exp $ an 1 2 n 1 ist gerade, 3a n 1 + 1, a n 1 ist ungerade.

SciCa - Scientific Calculator

Technische Universität München Zentrum Mathematik

2. Schnitterkennung Videoanalyse

Achsgenerator. Anwendungen. Beschreibung des Verfahrens. Fachbereich Architektur und Bauingenieurwesen Studiengang Bauingenieurwesen

5. Bäume und Minimalgerüste

Lineare Algebra 1. Roger Burkhardt

Bild-Erkennung & -Interpretation

Algorithmen und Datenstrukturen in der Bioinformatik Zweites Übungsblatt WS 05/06 Musterlösung

Dieser Graph hat 3 Zusammenhangskomponenten

1 Axiomatische Charakterisierung der reellen. 3 Die natürlichen, die ganzen und die rationalen. 4 Das Vollständigkeitsaxiom und irrationale

Moderne Methoden der KI: Maschinelles Lernen

Grundlagen der Theoretischen Informatik: Übung 10

Klausuraufgaben zur Vorlesung Computer Vision. Prüfung I W772. Termin: 5. Februar Maximal mögliche Punktzahl: = 50.

Im allerersten Unterabschnitt wollen wir uns mit einer elementaren Struktur innerhalb der Mathematik beschäftigen: Mengen.

ARBEITSBLATT 14 ANALYTISCHE BERECHNUNGEN AM KREIS

5. Objekterkennung in Bildern und Videos Videoanalyse

2 Darstellung von Zahlen und Zeichen

Rang einer Matrix. 1-E1 Ma 1 Lubov Vassilevskaya

= n (n 1) 2 dies beruht auf der Auswahl einer zweielementigen Teilmenge aus V = n. Als Folge ergibt sich, dass ein einfacher Graph maximal ( n E = 2

2. Hausübung Diskrete Mathematik SS 2003

Transkript:

Morphologische Bildoperationen Frank Stanek Technische Universität München 09.12.2005 Contents I. Einleitung - Morphologische Operationen 2 II. Grundlagen 2 a. Grundoperationen und deren Funktion.................... 3 1. Dilatation................................ 3 2. Erosion................................. 4 b. Erweiterung von Binär- zu Grauwertbildern................. 5 c. Kombinationen und deren Nutzen...................... 6 1. Opening................................. 6 2. Closing................................. 7 3. Kombination von Opening und Closing............... 8 III. Anwendung in der Bestimmung von Formmerkmalen 8 a. Berechnung des Randes............................ 8 1. Zweck/Nutzen............................. 8 2. Vorgehensweise............................. 9 b. Distanztransformation............................. 9 1. Zweck/Nutzen............................. 9 2. Vorgehensweise............................. 10 c. Hit-or-Miss................................... 11 1. Zweck/Nutzen............................. 11 2. Vorgehensweise............................. 11 3. Erweiterung............................... 12 d. Skelettierung / Medial Axis Transform.................... 12 1. Zweck/Nutzen............................. 12 2. Vorgehensweise............................. 13 3. Probleme/Nachteile.......................... 14 IV. Morphologie - was ist sie, was ist sie nicht? 15 1

I. Einleitung - Morphologische Operationen Morphologische Operationen bieten den Vorteil, auf relativ wenigen und simplen Basisoperationen aufzubauen, gleichzeitig aber durch Kombination dieser Grundoperatoren eine Fülle von teils sehr mächtigen Werkzeugen zu bieten. Sie dienen der Verbesserung von Binär- und Grauwertbildern, beispielsweise zur späteren Bildanalyse aufgrund von Segmentklassifizierung. Dies kann etwa durch Entfernen von Bildrauschen oder störenden Artefakten geschehen. Aber auch komplexere Operationen wie etwa die Distanztransformation oder die Skelettierung existieren, was auch die eigentliche Klassifikation möglich macht. Im Folgenden soll zunächst kurz auf die notwendigen Grundlagen eingegangen werden. Danach werden der Reihe nach die Basisoperatoren sowie einfache Kombinationen aus diesen eingeführt. Ferner werden komplexere, fortgeschrittenere Operatoren sowie deren Nutzen und Einsatzmöglichkeiten behandelt. II. Grundlagen Morphologische Operationen arbeiten grundsätzlich auf bereits segmentierten Bildern. Dies bedeutet, dass das Quellmaterial als Binärbild vorliegt, das in Hintergrund und Vordergrund aufgeteilt ist. Den Bildpunkten des Vordergrundes wird dabei der Wert 1 oder weiß zugeordnet, denen des Hintergrundes entsprechend 0 bzw. schwarz. Die Einschränkung, nur auf Binärbildern operieren zu können wird im späteren Verlauf teilweise aufgehoben und das Einsatzgebiet auf Grauwertbilder erweitert. Segmente sind definiert als Regionen von Bildpunkten des Vordergrunds, die zueinander in Nachbarschaft stehen. Nachbarschaft wird dabei wahlweise als 4-Nachbarschaft, bei der jeweils die Pixel über, unter, rechts und links vom Bezugspixel als dessen Nachbarn definiert sind, oder als 8-Nachbarschaft, bei der zusätzlich die vier diagonalen Nachbarpixel hinzukommen, festgesetzt. Unter der Morphologie (griech., die Gestalt betreffend ) eines Segments versteht man dessen Formmerkmale wie etwa Ausgedehntheit, Konkavitäten oder Anzahl der Löcher. Diese Merkmale der Segmente eines Bildes werden auf verschiedene Weisen durch morphologische Operationen verarbeitet bzw. interpretiert. Beispiele dafür sind die Veränderung der Form, Berechnung oder Herausarbeitung von Formmerkmalen, Suche nach bestimmten Formen und Mustern oder die Unterscheidung bzw. Klassifizierung von Segmenten aufgrund ihrer Formmerkmale. Eine morphologische Operation lässt sich allgemein als g = f s s darstellen. f s steht dabei für die Menge der Segmentpixel, also Bildpunkte, die Teile eines Segments sind. g ist die Ergebnismenge nach erfolgter Operation. steht für einen der Mengenoperatoren Schnitt, Vereinigung oder Differenz. Bei s handelt es sich um ein abhängig vom beabsichtigten Zweck der Operation gewähltes Strukturelement. Dieses kann man sich als Matrix von gesetzten und nicht gesetzten Bildpunkten veranschaulichen. Strukturelemente sind im Allgemeinen, jedoch nicht immer quadratisch. Sie können je nach Zweck 2

unterschiedliche Dimensionen annehmen, wie etwa 3 3 oder 5 5. Jedes Strukturelement besitzt einen Ankerpunkt, der in der Praxis meistens, aber nicht zwingend, in der Mitte des Elements liegt. Die Form eines Strukturelements ist durch die Koordinaten seiner Einselemente gegeben, die normalerweise symmetrisch um den Ankerpunkt angeordnet werden. Beispiele für Strukturelemente sind s 1 = 1 0 0 1 0 0 1 1 1, s 2 = 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1. Für die Koordinaten von s 1 würde man in diesem Beispiel angeben als s 1 = {( 1, 1), ( 1, 0), ( 1, 1), (0, 1), (1, 1)} Die eigentliche Ausführung einer allgemeinen morphologischen Operation erfolgt folgendermaßen. Das Strukturelement wird am Ankerpunkt über den aktuell zu bearbeitenden Pixel gelegt. Das restliche Strukturelement liegt somit über den Nachbarn des aktuellen Pixel. Nun wird jeder Bildpunkt gemäß mit dem über ihm liegenden Element des Strukturelements verknüpft. Die Vereinigung dieser Resultate bildet das Ergebnis, das an die Stelle des aktuellen Bildpunktes geschrieben wird. Nun wird der Ankerpunkt des Strukturelements über den nächsten Pixel des Segments gelegt und das Verfahren wiederholt, solange bis das das Strukturelement auf alle Bildpunkte des Quellbildes angewandt wurde. Da als Eingabewerte nur 0 und 1 in Frage kommen und die Operatoren nur boolescher Art sein können, kann man als Ergebnisse dieses Verfahrens ebenfalls nur 0 oder 1 bekommen. Wären die Eingabewerte beispielsweise Grauwerte, so müsste man geeignete Verfahren einführen, um nach der Operation wieder sinnvolle Werte zu erhalten. Somit ist nun auch die Einschränkung auf Binärbilder verständlich. Eine Möglichkeit zur Erweiterung auf Grauwertbilder wird später vorgestellt. a. Grundoperationen und deren Funktion Die beiden einfachsten morphologischen Operationen sind Dilatation und Erosion. Sie sind gleichzeitig die wichtigsten, denn auf ihnen basieren alle anderen Operationen. 1. Dilatation Die Dilatation eines Bildes f(m, n) mit Ergebnisbild g(m, n) ist formal definiert als g(m, n) = (mk,n k ) sb(m + m k, n + n k ). b ist hierbei das Binärbild, auf das die Operation angewandt wird. Den Dilatationsoperator schreibt man, also wird die Operation als g = f s geschrieben. Die Koordinaten m k und n k des Strukturelements werden meist symmetrisch um dessen Ankerpunkt festgelegt, bei einer 3 3-Matrix also von ( 1, 1) bis (1, 1). 3

Figure 1: Prinzip der Dilatation Anschaulich geschieht nun folgendes. Existiert mindestens ein Bildpunkt, der in einem Segment liegt also den Wert 1 hat, und von einem gesetzten Element des Strukturelements überdeckt wird, so wird das Ergebnis auf 1 gesetzt, andernfalls auf 0. Aufgrund des logischen ODER-Charakters dieser Operation werden hierbei vorhandene Segmente meist vergrößert, zusätzlich werden kleinere Löcher in Segmenten geschlossen. Es ist zu beachten, dass falls die Koordinaten des Strukturelements symmetrisch um den Ankerpunkt ausgelegt sind, zwar die Form, nicht aber die Lage der Segmente innerhalb des Bildes verändert wird. Figure 2: Vor und nach der Dilatation 2. Erosion Bei der Erosion geschieht das Gegenteil der Dilatation. Sie ist formal definiert als g(m, n) = (mk,n k ) sb(m + m k, n + n k ). Den Dilatationsoperator schreibt man als, die Operation also als g = f s. Da bei der Erosion ein logisches UND ausgeführt wird, wird man als Ergebnis sehr viel seltener eine 1 erhalten als bei der Dilatation. Dies ist nur der Fall, falls alle unter gesetzten Elementen des Strukturelements befindlichen Bildpunkte den Wert 1 haben, also Teil eines Segments sind. Hat mindestens einer dieser Pixel den Wert 0, so ist das 4

Figure 3: Prinzip der Erosion Ergebnis ebenfalls 0. Der Effekt ist, dass ein Teil der Segmente am Rand abgetragen, erodiert wird. Zusätzlich vergrößern sich Löcher innerhalb von Segmenten. Bemerkenswert ist zuletzt noch, dass Segmente, die kleiner als das Strukturelement sind, vollständig verschwinden. Das gilt insbesondere für den Fall, dass man den Erosionsoperator wiederholt anwenden sollte: die Segmente werden mit jeder Iteration kleiner und verschwinden schließlich komplett. Auch können Segmente, die relativ dünne Stellen aufweisen, durchtrennt werden. Dies sind Effekte die man vermeiden sollte, da die Formeigenschaften darunter leiden und das Bild im schlimmsten Fall unbrauchbar wird. Figure 4: Vor und nach der Erosion b. Erweiterung von Binär- zu Grauwertbildern Um nun diese beiden Operationen auch auf Grauwertbilder anwenden zu können, muss man die Verfahren so abändern, dass die Ergebnisse der Operationen auf Grauwertbilder Ergebnisse liefern, die in sinnvoller Weise denen bei ihrer Anwendung auf Binärbilder entsprechen. Das Ziel muss also sein, sinnvollen Ersatz für die booleschen Operatoren und zu finden. Wenn man davon ausgeht, dass hellere Bereiche als Vordergrund, also als Segmente und dunklere Bereiche als Hintergrund betrachtet werden, dann bietet sich die folgende Vorgehensweise an. Man ersetzt durch max und durch min. Dadurch 5

wird bei der Dilatation als Ergebniswert der höchste, also hellste Wert aller Pixel unter einem gesetzten Strukturelement zurückeliefert. Der aktuell bearbeitete Bildpunkt wird also höchstwahrscheinlich einen höheren Wert annehmen, es sei denn er hatte selbst den höchsten Wert. In diesem Fall fände keine Änderung statt. Analog funktioniert dann auch die Erosion, hier nimmt das Pixel unter dem Ankerpunkt den niedrigsten aller ermittelten Werte an. Die so abgeänderte Dilatation ist definiert durch ( ) g(m, n) = max b(m + m k, n + n k ). (m k,n k ) s Der Effekt ist, dass hellere Bereiche breiter werden, Segmente sich also vergrößern. Dies entspricht dem Verhalten bei Binärbildern. Entsprechend wird die angepasste Erosion definiert als ( ) g(m, n) = min f(m + m k, n + n k ). (m k,n k ) s Hier werden hellere Bereiche und somit Segmente verkleinert. Wiederum ist der Effekt äquivalent zur Operation auf Binärbildern. c. Kombinationen und deren Nutzen Die beiden Basisoperationen besitzen für sich genommen Vorteile, die bei der Segmentanalyse nützlich erscheinen. Störende Artefakte wie Rauschen, das sich als sehr kleine, unerwünschte Segmente oder als Löcher in Segmenten bemerkbar machen kann, können durch Erosion bzw. Dilatation im besten Fall vollständig beseitigt werden. Es ist aber offensichtlich, dass diese Grundoperatoren selbst nur von beschränktem Nutzen in der Segmentanalyse sind, da sie zwangsläufig die Formmerkmale oder die Größe der Segmente mehr oder weniger stark verändern. Dies kann aber beispielsweise bei der Klassifizierung von Segmenttypen fatal sein, da diese Veränderungen im schlimmsten Fall zur Unkenntlichmachung der Segmente führen. Eine Lösung dieses Problems existiert in der Form, dass man die beiden Operationen kombinieren kann, so dass sich ihre negativen Effekte möglichst ausgleichen, gleichzeitig aber trotzdem eine Verbesserung des Bildes eintreten kann. Je nach Reihenfolge, in der man beide nacheinander ausführt, erhält man somit zwei neue Operationen: Opening und Closing. 1. Opening Bei einer Opening-Operation (auch: morphologisches Öffnen ) wird zunächst eine Erosion auf dem Quellbild gefolgt von einer Dilatation ausgeführt. Dabei ist wichtig, dass das Strukturelement der Erosion für die Dilatation am Ankerpunkt punktgespiegelt wird. Der Operator wird als geschrieben. Die Schreibweise für die Operation ist g = b s. 6

Figure 5: Morphologisches Öffnen Im Detail geschieht folgendes. Durch die Erosion werden sehr kleine Segmente vollständig entfernt. Ausserdem werden Löcher in Segmenten vergrößert, die Segmente selbst verkleinert, möglicherweise werden einzelne auch in mehrere aufgespalten, falls extrem dünne Segmentteile existieren. Führt man jetzt die Dilatation durch, so werden die Segmente beinahe im selben Maß vergrößert, wie sie zuvor erodiert wurden. Auch Löcher in ihnen werden etwa auf ihr ursprüngliches Maß verkleinert und aufgespaltene Teile wiederhergestellt. Allerdings können die vollständig gelöschten Segmente nicht wieder hergestellt werden. Der letztendliche Effekt ist also, dass sehr kleine Segmente vollständig entfernt werden können, die restlichen jedoch weitgehend unverändert bleiben. Folglich eignet sich der Opening-Operator dafür, störende Artefakte im Hintergrund zu beseitigen, vorausgesetzt man wählt ein Strukturelement von geeigneter Größe. 2. Closing Figure 6: Morphologisches Schließen Genau umgekehrt funktioniert der Closing-Operator (auch: morphologisches Schließen ). Man führt zuerst eine Dilatation und dann eine Erosion, abermals mit am Ursprung punktgespiegelten Strukturelement, durch. Der Operator wird mit dargestellt, wodurch 7

sich folgende Schreibweise ergibt: g = b s. Genau wie zuvor heben sich die unerwünschten Effekte weitgehend auf. Zunächst werden Segmente vergrößert und Löcher in ihnen werden geschlossen. Im darauf folgenden Schritt werden die Segmente wieder verkleinert, die geschlossenen Löcher bleiben jedoch verschwunden. Man kann diesen Operator also dazu verwenden, Löcher im Vordergrund, die durch Störungen bei der Aufnahme oder durch zu hohen Threshold bei der Segmentierung entstanden sind, zu beseitigen. Auch hier gilt es, die Größe der Strukturelemente derart zu wählen, dass sie der Größe der Störungen entsprechen. 3. Kombination von Opening und Closing Man kann nun sogar so weit gehen, diese beiden neuen Operationen wiederum miteinander zu kombinieren. So kann man beide Effekte nutzen, das Entfernen von Störungen sowohl im Hinter- als auch im Vordergrund. Man hat also bereits einen sehr brauchbaren Operator gewonnen um Bilder nachträglich zu verbessern. Um so wichtiger wird es bei diesem Verfahren, dass die Größe der Strukturelemente geeignet festgelegt wird. Die unerwünschten Seiteneffekte der einzelnen Teiloperationen heben sich zwar zum größten Teil auf, jedoch nicht ganz. Ein Beispiel dafür ist die Dilatation, bei der Konkavitäten an Segmenträndern die kleiner als das Strukturelement sind, verloren gehen und auch durch nachfolgende Erosion nicht mehr gerettet werden können. Es gilt also abzuwägen, wieviel Informationsverlust tolerabel ist und dementsprechend die Strukturelemente zu wählen. III. Anwendung in der Bestimmung von Formmerkmalen Mit den bisherigen Operationen haben wir hauptsächlich die Form von Segmenten oder Bildteilen verändert um das Bild in irgendeiner Art und Weise von Störungen zu befreien. Zusätzlich haben insbesondere die Basisoperatoren Dilatation und Erosion den Nachteil, dass, wenn man sie wiederholt anwendet, möglicherweise alle Informationen des Bildes verliert es bleibt nur eine weiße bzw. schwarze Fläche zurück. Mit den folgenden komplexeren Operationen wollen wir nun diesen Nachteil entweder ausmerzen oder ihn für unsere Zwecke nutzen und so die uns zur Verfügung stehenden Möglichkeiten um neue Funktionen erweitern. Dazu gehört unter anderem das Herausarbeiten von charakteristischen Merkmalen einzelner Segmente wie etwa deren Ränder, Skelette oder auch Berechnen von Distanzinformationen. a. Berechnung des Randes 1. Zweck/Nutzen Eines der naheliegendsten Merkmale von Segmenten ist ihr Rand oder Umriss. Anhand dessen Form kann man mit geeigneten Verfahren sehr viele Informationen über ihre Natur gewinnen. Es existieren beispielsweise Algorithmen, mit denen man etwa zwischen 8

runden oder kantigen Rändern unterscheiden kann. Diese kann man durch genauere Analyse weiter eingrenzen; so kann ein gerundetes Objekt entweder ein Kreis, ein Oval oder eine komplexere Form haben. Es ist also möglich, bereits anhand des Randes die Natur eines Segments sehr genau zu bestimmen. Zusätzlich ist die Randbestimmung für einige der fortgeschritteneren Verfahren zentraler Bestandteil und bildet so die Basis für komplexere morphologische Operationen. 2. Vorgehensweise Um den Randbereich der Vordergrundsegmente herauszuarbeiten ist es notwendig, nur diejenigen Bildpunkte des Quellbilds zu erhalten, die zwar Teil eines Segments, gleichzeitig aber Nachbar von mindestens einem Hintergrundpixel sind. Erneut kann man hier Nachbarschaft entweder als 4- oder als 8-Nachbarschaft festlegen, was unterschliedliche Ergebnisse produziert. Für das Verfahren selbst bedeutet das aber nur einen minimalen Unterschied. Zunächst wählt man das entsprechende Strukturelement. Ist eine 4-Nachbarschaft gewünscht, so hat dieses die Form s 4 = 0 1 0 1 1 1 0 1 0 Wählt man jedoch eine 8-Nachbarschaft, so erweitert man das Strukturelement entsprechend: 1 1 1 s 8 = 1 1 1. 1 1 1 Erodiert man nun das Quellbild mittels eines dieser Strukturelemente, so erhält man ein Bild in dem die Segmente um die gesuchten Randpixel verkleinert wurden. Man erhält sehr leicht das gewünschte Ergebnis, indem man jetzt das neu entstandene Bild vom Original subtrahiert. Dadurch werden alle Vordergrundpixel auf 0 gesetzt, ausgenommen der Randpixel. b. Distanztransformation 1. Zweck/Nutzen Bei einer Distanztransformation wird jedem Pixel eines Segments sein kleinster Abstand zum Segmentrand zugewiesen. Baut man dies weiter aus, so kann man jedem Hintergrundpixel auch einen minimalen Abstand zum Rand eines Segments zuordnen. Mit Hilfe dieser Informationen lässt sich dann beispielsweise ein Morphing, also ein bewegter Übergang zwischen Segmenten ausführen. Auch die Ergebnisse, die dieses Verfahren liefert, sind Voraussetzung für weitere Operationen.. 9

Figure 7: Quelle und deren Distanztransformation 2. Vorgehensweise Der Operator zur Randberechnung lässt sich so ausbauen, dass er das Gewünschte leistet. Zuerst wird ein Grauwertbild erstellt, das später die Distanzinformation enthalten soll. Dieses hat die selben Dimensionen wie das Quellbild b. In diesem Distanzbild initialisiert man zunächst alle Pixel mit 0, beginnt also mit einem schwarzen Bild. Später werden die Pixelwerte in diesem Bild der Distanz der Pixel im Urbild b zu deren Segmentrand entsprechen. Als Ausgangspunkt für das Verfahren benutzt man das Ausgangsbild b 0 = b. Man führt nun iterativ den Operator zur Randberechnung aus wobei man die Anzahl der Schritte in einem Index k zählt, der zu Beginn 0 ist. Für jede neue Iteration erhält man zunächst ein neues, weiter erodiertes Bild b k = b k 1 s N. s N ist dabei das zur gewünschten Nachbarschaftsdefinition passende Strukturelement. Einen entsprechenden Rand R k berechnet man, indem man das neue Bild vom jeweils vorherigen subtrahiert: R k = b k 1 b k. Nun gilt es, bei jeder Iteration den aktuellen Index k an den Koordinaten, bei denen sich im aktuellen Randbild R k die Randpixel befinden, in das zuvor erstellte Distanzbild zu schreiben. Beim ersten Schritt ist dieser Wert 0. Dies ist korrekt, da wir es in dieser Stufe mit dem wirklichen Rand der Segmente zu tun haben; der Abstand muss also 0 sein. Je mehr von den Segmenten abgetragen wird, desto weiter wandert der Rand in den Randbildern R k zum Inneren der Segmente. Gleichzeitig wächst k, die Abstände werden also nach innen immer größer. Das Verfahren terminiert schließlich, sobald das Ergebnisbild der letzten Erosion b k keine Segmente mehr enthält, also keine Bildpunkte, die nicht Null sind. An dieser Stelle hat k seinen maximalen Wert k max erreicht, welcher dem größten im Bild gefundenen Abstand zum Rand entspricht. Man kann nun am sich ergebenden Distanzbild die Abstände der Segmentpixel zum Rand ablesen: je heller, desto größer der Abstand. 10

Figure 8: Oben Hit Unten Miss c. Hit-or-Miss 1. Zweck/Nutzen Es ist denkbar, dass man auf der Suche nach Segmenten ist, über deren Form man eine sehr genaue Vorstellung hat. Einfache Beispiele dafür sind Linien bestimmter Längen, Rechtecke einer bestimmten Größe oder Kreise mit einem gewissen Mindestund Höchstradius. Dies leistet der Hit-or-Miss-Operator indem er alle Segmente eliminiert, die nicht exakt (oder wahlweise auch zu einem gewissen Grad) dem gewünschten Muster entsprechen. Übrig bleiben nur die gesuchten Segmente. Man kann also sehr gezielt und mit sehr hoher Genauigkeit arbeiten, hat aber gleichzeitig die Möglichkeit, eine gewisse Varianz zu erlauben. Dazu muss man lediglich geeignete Strukturelemente festlegen. 2. Vorgehensweise Dieses Verfahren arbeitet in zwei Schritten. Wir machen uns die Eigenschaften des Erosions-Operators zu Nutze, indem wir zunächst Segmente im Bild löschen, die kleiner als das gesuchte Muster sind und somit nicht in Frage kommen. Dazu erodieren wir das Bild mittels eines Strukturelements, das genau unserer gesuchten Form entspricht. Übrig bleiben Orte, an denen sich das Muster potentiell befinden könnte. Die Segmente an diesen Orten sind aber möglicherweise zu groß. Deshalb führen wir den nächsten Schritt durch: wir verwerfen diejenigen Segmente, die größer als das gesuchte Muster, also auch keine Kandidaten sind. Um das zu erreichen, erodieren wir das Quellbild diesmal mit dem Komplement des vorigen Strukturelements. Das bedeutet, alle Elemente, die zuvor gesetzt waren, sind jetzt nicht gesetzt und umgekehrt. Diesmal erhalten wir diejenigen Segmente, die klein genug sind um zu unserer gesuchten Form zu passen. Die Schnittmenge aus den Ergebnissen der beiden Schritte weist schließlich nur noch die Stellen auf, an denen sich die gesuchten Muster befinden. 11

3. Erweiterung Da man auf diese Weise nur exakt spezifizierte Segmente extrahieren kann, möglicherweise aber nur Grenzwerte bekannt sind, führt man eine Erweiterung ein um etwas Varianz zu erlauben. Einzelne Elemente des Strukturelements dürfen nun auch undefiniert sein; dies wird durch ein x symbolisiert. Bei der Erosions-Operation ist es egal, ob der Bildpunkt unter so einem Element gesetzt ist oder nicht, bzw. welchen Wert er im Falle eines Grauwertbildes besitzt. Er wird schlicht ignoriert. Auf diese Weise kann man nach Varianten oder Abstufungen von bestimmten Mustern suchen. Ein Beispiel ist das Strukturelement s = 0 0 0 0 0 0 0 0 x 1 1 1 x 0 0 0 0 0 0 0 0 Das zugehörige Komplement ist in diesem Fall s = 1 1 1 1 1 1 1 1 x 0 0 0 x 1 1 1 1 1 1 1 1 Würde man in s statt der beiden x jeweils eine 0 setzen, so fände man nur Linien mit der Länge 3 (Pixel). Hingegen würde man für die beiden x je 1 setzen, so erhielte man nur Linien mit der Länge 5. Mit dem hier gegebenen Strukturelement jedoch findet man Linien mit den Längen [3; 5]. d. Skelettierung / Medial Axis Transform 1. Zweck/Nutzen.. Figure 9: Prinzip der Skelettierung Skelettierung ist ein Verfahren, bei dem alle Information eines Segments in ein anderes Datenformat umgewandelt wird. Statt durch die Koordinaten seiner enthaltenen Vordergrundpixel wird das Segment nach dieser Transformation durch die Menge der 12

Mittelpunkte maximal großer Inkreise und den dazugehörigen Radien repräsentiert. Das bedeutet es wird für jeden Randpunkt des Segments von allen ihn berührenden Kreisen derjenige gesucht, der den größtmöglichen Radius besitzt, gleichzeitig aber gerade noch im Segment liegt. Die Menge der Mittelpunkte dieser Kreise bildet bei Segmenten, die auf einem reellen Wertebereich definiert sind, immer ein zusammenhängendes Gebilde. Dieses nennt man Skelett (engl., medial axis ). Aus der Menge dieser Paare lässt sich das Segment (theoretisch) vollständig wiederherstellen. Es besteht aus der Vereinigung all dieser maximal eingeschriebenen Kreise. Das Skelett kann ein wichtiges Instrument für die Segmentklassifizierung sein. Als Beispiel sei die Erkennung von Text in einem Bild (OCR Optical Character Recognition) erwähnt. Es ist sehr schwer bis unmöglich, allein mit den bisher genannten Operatoren eine verlässliche Texterkennung zu implementieren, denn es gibt eine Vielzahl verschiedener Schriftarten, die sich zum Teil sehr stark unterscheiden. Die Skelettierung bietet uns hier eine große Hilfestellung. Mit ihrer Hilfe ist es zumindest rudimentär möglich, einzelne Segmente auf ihr Wesentliches zu reduzieren. Anhand dessen kann es bedeutend leichter fallen, die markanten Merkmale einzelner Buchstaben oder Zahlen zu erkennen. 2. Vorgehensweise Es müssen zunächst zwei Bedingungen gestellt werden um das Skelett konstruieren zu können: 1. Der Kreis um den Skelettpunkt muss vollständig im Segment liegen. 2. Wird ein Randpixel des Segments von einem Kreis berührt, so ist dessen Mittelpunkt genau dann ein Skelettpunkt, wenn es keinen Kreis mit größerem Radius gibt, der die erste Bedingung erfüllt. Für die erste Bedingung ist uns die Arbeitsweise der Distanztransformation sehr nützlich. Führt man sie auf einen beliebigen Bildpunkt innerhalb des Segments aus, so wird diesem Punkt seine minimale Entfernung zum Rand zugewiesen. Man kann also um jedes Segmentpixel zumindest einen Kreis mit dieser ihm eigenen Distanz als Radius definieren er wird immer innerhalb des Segments liegen und dabei gleichzeitig zumindest einen Randpunkt berühren. Allerdings gibt es möglicherweise Kreise, die den selben Randpunkt berühren und einen größeren Radius besitzen. Um also auch die zweite Bedingung zu erfüllen, gilt es von allen Mittelpunkten, deren Kreise diesen Randpunkt berühren, denjenigen zu finden, dessen von der Distanztransformation zugewiesene Wert der höchste, also ein lokales Maximum ist. Die gesuchten Kreismittelpunkte liegen also auf den Graten des Distanzbildes, auf den Linien, an denen die Maxima entlang laufen. Diese Linien dürfen per Definition nicht gebrochen werden. Deshalb definiert man Strukturelemente, die mittels Hit-or-Miss-Operation für alle acht Richtungen (vertikal, horizontal und diagonal) alle Pixel finden, die gelöscht werden dürfen, ohne dass dabei eine Linie unterbrochen wird. Diese Strukturelemente sind für links (l), rechts (r), oben 13

(o) und unten (u) definiert als 0 x 1 s l = 0 1 1, s r = 0 x 1 1 x 0 1 1 0 1 x 0, s o = 0 0 0 x 1 x 1 1 1, s u = 1 1 1 x 1 x 0 0 0 Entsprechend sind die Elemente für die diagonalen Richtungen definiert als 0 0 x x 1 1 x 0 0 s l,u = 0 1 1, s l,o = 0 1 1, s r,u = 1 1 0, s r,o = x 1 1 0 0 x 1 1 x. 1 1 x 1 1 0 x 0 0 Nun kann das Skelett iterativ berechnet werden, indem man in jedem Schritt zunächst die Distanztransformation des aktuellen Bildes durchführt. Als nächstes wird für jedes der acht Strukturelemente der Hit-or-Miss-Operator auf das Bild angewandt und so alle Bildpunkte entfernt, die nicht zum Skelett gehören. Sobald nach einem kompletten Iterationsschritt keine Pixel mehr entfernt werden können ist die Prozedur beendet und das Skelett ist berechnet. Durch die in jedem Durchgang durchgeführte Distanztransformation erhalten die berechneten Kreismittelpunkte ihre jeweilige Distanz vom Rand des Segments und somit den Radius ihres Kreises.. Figure 10: Vor und nach der Skelettierung 3. Probleme/Nachteile Trotz dieser Vorteile ist die Skelettierung nur eingeschränkt nützlich. Sie weist systembedingt einige Schwachpunkte auf, die je nach Anwendungszweck die Nützlichkeit wenig bis sehr stark einschränken können. Ein Problem ist sicherlich, dass in der Bildverarbeitung nicht mit reellen Zahlen sondern mit diskreten Werten gearbeitet wird. So existiert beispielsweise in einer diskreten Pixelmatrix kein exakter Kreis. Auch müssen Eigenschaften wie die Distanz zwischen zwei Pixeln oder Nachbarschaft im diskreten Bildraum approximiert werden. Es ergeben sich also unterschiedliche Möglichkeiten zur Definition und Interpretation dieser Dinge. Das führt dazu, dass es unterschiedliche Verfahrensweisen und Algorithmen gibt, die eine Skelettierung implementieren. Diese können dann bei gleichen Eingabewerten zu unterschiedlichen Ergebnissen führen. 14

Figure 11: Kleine Ursache große Wirkung! Noch stärkere Auswirkungen hat allerdings die relativ starke Empfindlichkeit dieses Operators gegenüber kleinen Abweichungen an Segmenten. Ein rechteckiges Segment mit einer winzigen Ausbeulung kann beispielsweise ein sich von einem normalen Rechteck stark unterscheidendes Ergebnis liefern. Dadurch kann unter Umständen eine Klassifizierung schon durch eine kleine Störung unmöglich gemacht werden. IV. Morphologie - was ist sie, was ist sie nicht? Wir haben nun die Grundlagen der morphologischen Bildoperationen und einige darauf aufbauende Verfahren kennengelernt. Unstrittig ist, dass diese Verfahren zum Teil sehr mächtig und gerissen sind. Sie bieten Möglichkeiten um schnelle und effiziente Algorithmen zu entwickeln, um Bilder nachzubessern, zu analysieren oder für andere Zwecke weiter aufzubereiten. Das Konzept, mit relativ wenigen und simplen Kernoperationen allein durch geeignete Wahl eines Strukturelements sehr viele unterschiedliche Zwecke verfolgen zu können, lassen sie auf den ersten Blick unglaublich vielfältig erscheinen. Bei genauer Betrachtung muss man jedoch feststellen, dass die Morphologie nicht ganz unproblematisch ist. Dies beginnt damit, dass man auf Binär- oder Grauwertbilder eingeschränkt ist. Gräbt man etwas tiefer, so merkt man auch sehr schnell, dass man für viele Zwecke bereits von Vornherein über die Merkmale der zu verarbeitenden Bildsegmente bescheid wissen muss um brauchbare Ergebnisse zu erhalten. Die Qualität des Ergebnisses hängt oft entscheidend von der richtigen Wahl des Strukturelements ab. Literatur 1. Klaus D. Tönnies: Grundlagen der Bildverarbeitung, Pearson Studium, 2005 2. Bernd Jähne: Digitale Bildverarbeitung, 4.Auflage, Springer-Verlag 3. http://en.wikipedia.org/wiki/morphological_image_processing 4. http://www.ph.tn.tudelft.nl/courses/fip/noframes/fip-morpholo.html 15