Computergrafik 2: Segmentierung

Ähnliche Dokumente
Graphische Datenverarbeitung und Bildverarbeitung

Grundlagen der Bildverarbeitung

Grundlagen der Bildverarbeitung Klaus D. Tönnies

Computergrafik 2: Morphologische Operationen

Computergrafik 2: Klassifikation

Segmentierung. Vorlesung FH-Hagenberg SEM

Technische Universität München Fakultät für Informatik

Wasserscheiden-Ansätze zur Bildsegmentierung I

Übersicht der Vorlesung

Einführung in die medizinische Bildverarbeitung SS 2013

B3. Bilderkennung mit Java

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

Technische Universität

Graphische Datenverarbeitung und Bildverarbeitung

INTELLIGENTE DATENANALYSE IN MATLAB

Computergrafik 2: Filtern im Frequenzraum

Parallele Algorithmen in der Bildverarbeitung

Computergrafik 2: Kanten, Linien, Ecken

Bild-Erkennung & -Interpretation

Segmentierung von Faserstrukturen in tomographischen Aufnahmen. Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern

2D Graphik: Bildverbesserung. Vorlesung 2D Graphik Andreas Butz, Otmar Hilliges Freitag, 2. Dezember 2005

Distributed Algorithms. Image and Video Processing

Verarbeitung von Volumenbildern wichtige Werkzeuge

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

Einführung in die medizinische Bildverarbeitung WS 12/13

Segmentierung. Seminar: Medizinische Visualisierung. Daniel Lange

Bildverarbeitung Herbstsemester. Mustererkennung

Graphische Datenverarbeitung und Bildverarbeitung

Projekt Lesebrille : Mobiles Vorlesegerät für Blinde

Digitale Bildverarbeitung (DBV)

Erinnerung an die "Bildanalyse- (Bildverarbeitungs-) Pipeline":

Computergrafik 2: Filtern im Ortsraum

Computergraphik 1 2. Teil: Bildverarbeitung. Fouriertransformation Ende FFT, Bildrestauration mit PSF Transformation, Interpolation

Einführung in die medizinische Bildverarbeitung WS 12/13

Computergrafik 2: Übung 6. Korrelation im Orts- und Frequenzraum, Filtern im Frequenzraum, Wiener Filter

Berechnung von Abständen

Übersicht der Vorlesung

Struktur des menschlichen Auges. Bildgebende Verfahren in der Medizin und medizinische Bildverarbeitung Bildverbesserung 2 / 99

Digitale Bildverarbeitung

Lösungsvorschlag zur 5. Übung zu Multimediale Systeme

Computergrafik 2: Filtern im Ortsraum

Kapitel 8: Operationen auf Rasterdaten

Computergrafik 2: Übung 2. Subsampling und Moiré-Effekte, Color Maps und Histogrammlinearisierung

Grundlagen: Bildbearbeitung / Objekterkennung. Julia Peterwitz zum Seminar: Videobasierte Erkennung und Analyse menschlicher Aktionen

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

Graphische Datenverarbeitung und Bildverarbeitung

Routing A lgorithmen Algorithmen Begriffe, Definitionen Wegewahl Verkehrslenkung

Quadtrees und Meshing

EVC Repetitorium Blender

Computergrafik 2: Fourier-Transformation

Elementare Bildverarbeitungsoperationen

Segmentierung mit einem KurvenAdjazenzgraphen, basierend auf. der Wasserscheidentransformation

Morphologische Filter

Binärbildverarbeitung

Bildsegmentierung: Übersicht

Bildverarbeitung. Fachschaftsrat Informatik. Professor Fuchs. Fragen TECHNISCHE UNIVERSITÄT DRESDEN. Unterteilung der Filter in Klassen

Bildverbesserung. Frequenz-, Punkt- und Maskenoperationen. Backfrieder-Hagenberg

Algorithmen und Datenstrukturen 1

Wasserfall-Ansätze zur Bildsegmentierung

Routing Algorithmen. Begriffe, Definitionen

Statistik IV für Studenten mit dem Nebenfach Statistik Lösungen zu Blatt 9 Gerhard Tutz, Jan Ulbricht SS 07

Bildverarbeitung Herbstsemester Kanten und Ecken

Grundlagen von Rasterdaten

Wie findet man interessante Punkte? Martin Herrmann, Philipp Gaschler

Filter. Industrielle Bildverarbeitung, Vorlesung No M. O. Franz

Prof. J. Zhang Universität Hamburg. AB Technische Aspekte Multimodaler Systeme. 20. Januar 2004

Graphische Datenverarbeitung und Bildverarbeitung

Bildverarbeitung Herbstsemester. Binärbildanalyse

1 Einleitung Definitionen, Begriffe Grundsätzliche Vorgehensweise... 3

Klausuraufgaben zur Vorlesung Computer Vision. Prüfung I W772, I 2M54. Termin: 17. Juli bzw. 90 Minuten Maximal mögliche Punktzahl: 48

Näherungsverfahren zur Bestimmung der Nullstelle α sind iterativ, d.h. sie liefern eine Folge {x (k) } k=0 mit α = lim x (k). (3.0.

Graphische Datenverarbeitung und Bildverarbeitung

Softwareprojektpraktikum Maschinelle Übersetzung

Grundlagen Algorithmen und Datenstrukturen Kapitel 13

Darstellungsarten für 3D-Körper. Boundary Representation (BRep):

Teil III. Komplexitätstheorie

Computergraphik 1 2. Teil: Bildverarbeitung

Nützliche Bildverarbeitungs- Verfahren

Einführung in die medizinische Bildverarbeitung WS 12/13

Bildverarbeitung: Filterung. D. Schlesinger () Bildverarbeitung: Filterung 1 / 17

Modellbasierte Segmentierung

Grundbegriffe der Informatik

Digitale Bildverarbeitung (DBV)

Einführung in die medizinische Bildverarbeitung SS 2013

Kapitel 9 Kombination von Vektor- und Rasterdaten

Bildsegmentierung: Übersicht

Digitale Bildverarbeitung Einheit 8 Lineare Filterung

Elementare Bildverarbeitungsoperationen

{0,1} rekursive Aufteilung des Datenraums in die Quadranten NW, NE, SW und SE feste Auflösung des Datenraums in 2 p 2 p Gitterzellen

6. Übung zur Linearen Optimierung SS08

9 Minimum Spanning Trees

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Kalibrierungsfreie Bildverarbeitungsalgorithmen. echtzeitfähigen Objekterkennung im Roboterfuÿball. Thomas Reinhardt Nao-Team HTWK. 26.

Computergrafik 2: Filtern im Frequenzraum

Effiziente Algorithmen I

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

k-nächste-nachbarn-schätzung

Proseminar Grundlagen der Bildverarbeitung Thema: Bildverbesserung Konstantin Rastegaev

Transkript:

Computergrafik 2: Segmentierung Prof. Dr. Michael Rohs, Dipl.-Inform. Sven Kratz michael.rohs@ifi.lmu.de MHCI Lab, LMU München Folien teilweise von Andreas Butz, sowie von Klaus D. Tönnies (Grundlagen der Bildverarbeitung. Pearson Studium, 2005.)

Vorlesungen Datum Thema 24.4. Einführung, Organisatorisches (Übungen, Klausur) 1.5./8.5. keine Vorlesungen (wegen 1. Mai und CHI-Konferenz) 15.5. Abtastung von Bildern, Punktbasierte Verfahren der Bildverbesserung 22.5. Licht, Farbe, Farbmanagement Konvolution, Filterung im Ortsraum 30.5. (Verschiebung wegen Pfingstdienstag) 5.6. Fouriertransformation: Grundlagen 12.6. Filterung im Frequenzraum 19.6. Kanten, Linien, Ecken 27.6. Segmentierung 3.7. Segmentierung, Morphologische Operationen 10.7. Klassifikation 17.7. Image Matching 24.7. Klausur (Hörsaal M 018 im Hauptgebäude, 14-16 Uhr) Computergrafik 2 SS2012 2

Themen heute Histogrammbasierte Segmentierung optimaler Schwellenwert: Algorithmus von Otsu Variable Schwellenwerte Region labeling, flood fill Regionenbasierte Segmentierung Region Merging, Split & Merge Textursegmentierung Kantenbasierte Segmentierung Wasserscheidentransformation Verbesserung der Wasserscheidentransformation durch Marker Modellbasierte Segmentierung Region Growing Kantenverfolgung Computergrafik 2 SS2012 3

SEGMENTIERUNG Computergrafik 2 SS2012 4

Segmentierung Zerlegung eines Bildes in semantische Einheiten Segmente: Träger von Bedeutung der Strukturen eines Bildes Eigenschaften vollständig: jedes Pixel ist einem Segment zugeordnet überdeckungsfrei: ein Pixel ist höchstens einem Segment zugeordnet zusammenhängend: jedes Segment bildet ein zusammenhängendes Gebiet Computergrafik 2 SS2012 5

Segmentierungsmethoden Histogramm-basierte oder Bild-basierte Segmentierung: Segmentzugehörigkeit wird anhand des Histogramms oder des Bildes entschieden Histogramm-basiert Bild-basiert Regionen-orientiert Kanten-orientiert Regionen- oder Kantenorientierung: Segmente werden durch ihr Inneres oder ihre Grenzen definiert Computergrafik 2 SS2012 6

Histogrammbasierte Segmentierung Schwellenwert Annahme: Bild besteht aus zwei Anteilen (Vordergrund, Hintergrund) die sich durch Grauwert unterscheiden Aufgabe: Schwellenwert zwischen Vorder- und Hintergrund finden Histogramm!# b(x, y) = " $# 0 falls f (x, y) > T 1 sonst Computergrafik 2 SS2012 7

Optimaler globaler Schwellenwert: Das Verfahren von Otsu Bilde Klassen C 1 (dunkle Pixel) und C 2 (helle Pixel) Optimaler Schwellenwert k* maximiert der Varianz zwischen den Klassen Annahmen über Bild: MxN Pixel Grauwertstufen {0, 1, 2,..., L-1} n i Pixel mit Grauwert i (also MN = n 0 + n 1 +... + n L-1 ) Normalisiertes Histogramm: p i = n i MN, L 1 p i =1, p i 0 i=0 Computergrafik 2 SS2012 8

Optimaler globaler Schwellenwert: Das Verfahren von Otsu Schwellenwert k zur Segmentierung in Klassen C 1 und C 2 so dass Pixel mit Grauwerten [0,k] in C 1 und [k+1,l-1] in C 2 P 1 (k): Wahrscheinlichkeit, dass Pixel in C 1 : k i=0 L 1 i=k+1 P 1 (k) = p i P 2 (k) = p i =1 P 1 (k) Durchschnittlicher Grauwert in C 1 : Durchschnittlicher Grauwert in C 2 : m 1 (k) = 1 P 1 (k) m 2 (k) = 1 P 2 (k) k i=0 L 1 i=k+1 i p i i p i Durchschnittlicher Grauwert des Bildes: m G = L 1 i=0 i p i Computergrafik 2 SS2012 9

Optimaler globaler Schwellenwert: Das Verfahren von Otsu Güte des Schwellenwerts k: η(k) = σ 2 B(k) σ 2 B ist Varianz zwischen C 1 und C 2 : σ 2 B (k) = P 1 (k) (m 1 (k) m G ) 2 + P 2 (k) (m 2 (k) m G ) 2 σ 2 G ist globale Varianz der Pixelgrauwerte: L 1 σ 2 G (k) = p i (i m G ) 2 i=0 optimaler Schwellenwert: Segmentierung:! k* = argmax 0 k L 1 σ 2 # 1 falls f (x, y) > k * B (k) g(x, y) = " $# 0 sonst σ G 2 Computergrafik 2 SS2012 10

Verbesserung der histogrammbasierten Segmentierung durch Kanten Idee: Nur Pixel in Histogramm eintragen, die auf (oder nahe an) Kanten liegen gleiche Wahrscheinlichkeit, dass solche Pixel auf Vorder- oder Hintergrund liegen Gradienten- oder Laplace-Operatoren zum Finden der Kanten (aber: nicht alle Kanten separieren Vorder- und Hintergrund) Algorithmus Kantenbild g von f berechnen (Gradienten-/Laplace-Operatoren) Pixel (x,y) auf Kantenbild g auswählen mit g(x,y) > T Histogramm h von f mit ausgewählten Pixeln berechnen Methode von Otsu auf h zur globalen Segmentierung anwenden Computergrafik 2 SS2012 11

Histogramm aller Pixel Computergrafik 2 SS2012 12

Histogramm der Pixel an den Stellen der 1000 längsten Gradienten Computergrafik 2 SS2012 13

Region Labeling per Flood Fill Schwellenwert zerlegt das Bild in Vordergrund- und Hintergrundsegmente Region Labeling bestimmt Ort und Anzahl aller zusammenhängenden Gebiete im Binärbild b: initialise() // Region der Größe M,N erzeugen und label=0 // mit 0 initialisieren, Startlabel=1 for (i,j) = (0,0) to (M-1,N-1) do // Doppelschleife über i und j if labels(i,j) == 0 then // dieser Ort ist noch nicht // Teil einer Region label = label + 1 // neues Label vergeben flood_fill(i,j,label) // zusammenhängendes // Gebiet um (i,j) mit // Label füllen Computergrafik 2 SS2012 14

Region Labeling per Flood Fill flood_fill(i,j,label) // Variablen zur Auswertung der Zusammenhangsbedingung sind global verfügbar if f(i,j) erfüllt Zusammenhangsbedingung then region(i,j) = label // Region an (i,j) mit Label // versehen flood_fill(i-1,j,label) // Nachbarpixel untersuchen flood_fill(i,j-1,label) flood_fill(i+1,j,label) flood_fill(i,j+1,label) Region labeling: - vollständige Segmentierung? - überdeckungsfrei? - zusammenhängend? Bsp. für Zusammenhangsbedingung: hat den gleichen Grauwert wie Saatpunkt Computergrafik 2 SS2012 15

Resultat Computergrafik 2 SS2012 16

(einfache) Merkmale der Regionen Größe, Bounding Box Schwerpunkt Länge und Orientierung der Haupt- und Nebenachsen Eigenwerte und Eigenvektoren der Kovarianzmatrix M mit Computergrafik 2 SS2012 17

Shading Helligkeitsvariationen zerstören die bimodale Verteilung der Häufigkeiten ungleichmäßige Beleuchtung Schatten unterschiedliche Reflexionseigenschaften der Oberfläche Schwellenwert ist nicht mehr global (für das gesamte Bild) definierbar Computergrafik 2 SS2012 18

Berücksichtung von Shading Homogenes Bild unter gleichen Bedingungen aufnehmen Shading-Bild aus dem Bild selbst bestimmen Lokale Schwellenwerte Shading invertieren/subtrahieren Computergrafik 2 SS2012 19

Lokale Schwellenwerte Schwellenwert Histogramm 180 170 172 169 170 179 173 170 172 181 180 173 170 174 179 175 173 Lokale Schwellenwerte aus Histogrammen in Teilregionen (Lineare) Interpolation von Schwellenwerten T(i,j) an allen anderen Punkten Segmentierung durch f(i,j) > T(i,j) Computergrafik 2 SS2012 20

Bestimmung des Shading-Bilds Falls überwiegender Anteil des Bildes Vorder- oder Hintergrundpixel: Shading-Bild durch Rangordnungsfilter (Minimum- bzw. Maximumfilter) erzeugbar Rangordnungsfilter mindestens so groß, dass immer mindestens ein Vordergrund- und ein Hintergrundpixel unter Filtermaske Computergrafik 2 SS2012 21

Shading-Korrektur Berechne aus dem Hintergrundbild Shading- Funktion s(i,j) Korrektur: g(i,j) = f(i,j) - s(i,j) bzw. g(i,j) = f(i,j) / s(i,j) ohne Korrektur mit Korrektur Segmentierung auf dem korrigierten Bild Computergrafik 2 SS2012 22

Adaptive Schwellenwerte Globale Schwellenwerte problematisch bei Shading nicht oft mehr global (für das gesamte Bild) definierbar Aufteilung des Bildes auch problematisch Aufteilung klein genug, dass Beleuchtung (nahezu uniform), aber nicht so klein, dass nur Hintergrund- oder nur Vordergrundpixel Adaptive Schwellenwerte Schwellenwert wird an jedem Punkt im Bild neu berechnet typische Strategie: zeilenweises Durchlaufen im zick-zack, gleitender Durchschnitt der letzten n Grauwerte Computergrafik 2 SS2012 23

Wellner s Adaptive Thresholding Zeilenweises Durchlaufen im Zick-zack (s-facher) Durchschnittsgrauwert der letzten s Pixel: # g s (n) = g s (n 1) 1 1 & % (+ p n, s = w s $ s ' 8 g s (0) = s c 2 Initialisierung: Schwellenwert: # % 0 falls p T(n) = n < g s(n) $ s % & 1 sonst 100 t 100, t =15 Pierre D. Wellner. Adaptive thresholding for the DigitalDesk. Technical Report EPC-93-110, Rank Xerox Research Centre, Cambridge, UK, 1993. Computergrafik 2 SS2012 24

Wellner s Adaptive Thresholding Verbesserung: Berücksichtigung des durchschnittlichen (s-fachen) Grauwerts über dem aktuellen Pixel h s (n) = 1 ( 2 g (n)+ g s s (n w) ) T(n) = # % $ % & 0 falls p n < h (n) s s 1 sonst 100 t 100, t =15 Pierre D. Wellner. Adaptive thresholding for the DigitalDesk. Technical Report EPC-93-110, Rank Xerox Research Centre, Cambridge, UK, 1993. Computergrafik 2 SS2012 25

Region Labeling 1. Phase: Vorläufige Label Basiert auf 4-Nachbarschaft Falls auf Vordergrund-Pixel p gestoßen, betrachte bearbeitete Nachbarpixel darüber und links davon (falls aktuelle Bildzeile v.l.n.r. durchlaufen) bzw. rechts davon (sonst) Falls beide Nachbarn (darüber, links/rechts) Vordergrund, dann setze Label(p) = Label(darüber) falls Label(darüber) Label(links/rechts), dann markiere beide Label als äquivalent (Äquivalenzketten) sonst, falls einer der Nachbarn (darüber, links/rechts) Vordergrund, dann setze Label(p) auf dessen Label sonst vergebe neues Label für p füge in eigene Äquivalenzkette ein Computergrafik 2 SS2012 26

Region Labeling 2. Phase: Auflösen der Äquivalenzen Label-Äquivalenzen werden möglicherweise erst später erkannt (à Durchlauf zeilenweise) Labeling 2. Phase: Auflösen der Äquivalenzen Druch Äquivalenzkette laufen und jedem Pixel in der gleichen Äquivalenzkette das gleiche finale Label geben Computergrafik 2 SS2012 27

Nachverarbeitung Trennung nach Grauwerten nicht perfekt Schwellenwertbild enthält falsche Regionen kleine fälschlicherweise als Segmente identifizierte Regionen Störungen am Rand von Regionen Nachverarbeitung Medianfilterung auf den Labeln Entfernung von zu kleinen Regionen Computergrafik 2 SS2012 28

Medianfilterung auf Labeln Wieso geht das überhaupt? à siehe Def. Medianfilter Computergrafik 2 SS2012 29

Entfernung kleiner Gebiete Morphologische Operationen à nächste Vorlesung Computergrafik 2 SS2012 30

Regionenbasierte Segmentierung Region Merging Multiskalenstrategie Split-and-Merge Textursegmentierung Computergrafik 2 SS2012 31

Regionenbasierte Segmentierung Homogenität im Inneren des Segments Homogenitätsbedingung wird bei der Segmentierung ausgewertet Homogenität der Pixel untereinander entscheidet Globale Zusammenhänge über Multiskalenstrategie Computergrafik 2 SS2012 32

Region Merging Initial wird jedes Pixel zu einem Segment erklärt Zwei benachbarte Regionen werden zusammengefasst, wenn sie auch gemeinsam das Homogenitätskriterium erfüllen Segmentierung ist beendet, wenn keine zwei Regionen mehr zusammengefasst werden können Zwischenergebnisse werden in einem Region Adjacency Graph (RAG) gespeichert Originalbild Region-Adjacency-Graph... Computergrafik 2 SS2012 33

Region Merging von Pixeln zu Regionen : stopmerge = false while not stopmerge do (r1,r2) = MaxSimilarity(region) if sim(r1,r2) > T then region.merge(r1,r2) else stopmerge=true Bsp. f. Ähnlichkeitskriterium: maximaler Grauwertunterschied zwischen Pixeln von r1 und r2 Ähnlichkeit zwischen Regionen Region Labeling kann in den Prozess integriert werden Computergrafik 2 SS2012 34

Region Merging und Multiskalenstrategie Modellannahme: Die gröbste Skalierungsstufe, auf der sich segmentierungsrelevante Eigenschaften zeigen, ist bekannt Prozess: Region Merging auf grober Skalierung Übertragung des Resultats auf die nächstfeinere Stufe Alle Pixel, die zu Pixeln eines anderen Segments benachbart sind, werden nochmals geprüft Verfahren endet, wenn die feinste Skalierungsstufe erreicht ist Computergrafik 2 SS2012 35

Multiskalenstrategie Relative Kriterien für Homogenität können über unterschiedliche Entfernungen verschieden wirken Segmentierung nach Multiskalenstrategie wertet Kriterien auf unterschiedlichen Skalierungen aus scale Nulldurchgänge X Computergrafik 2 SS2012 36

Gaußpyramide Das Originalbild wird fortlaufend durch eine reduce- Operation skaliert Jedes Pixel der nächsthöheren Skalierungsstufe repräsentiert 5 Pixel der aktuellen Stufe Vor der Reduktion wird der Frequenzumfang durch Filterung vermindert: Gaußfilter 1 16 ( 0.87 3.91 6.44 3.91 0.87) Binomialfilter 1 16 ( 1 4 6 4 1) Computergrafik 2 SS2012 37

Gaußpyramide 1 4 6 4 1 Gewichtungen *1/16 Reduce-Operation für eine Bildzeile... Bildzeile Computergrafik 2 SS2012 38

Expand-Operation Um die vorherige Skalierungsstufe zu erzeugen, wird eine expand-operation definiert Pixel der neuen Skalierungsstufe werden durch Interpolation erzeugt Pixelorte, die auf beiden Skalierungsstufen existieren: 1 8.18 ( 0.87 6.44 0.87) bzw. ( 1 6 1) 1 8 Pixelorte, die nur auf der vorherigen Skalierungsstufe existieren: 1 7.82 1 8 ( 3.91 3.91) bzw. ( 4 4) Computergrafik 2 SS2012 39

Expand-Operation 1 6 1 *1/8 4 4 *1/8 Gewichtungen Expand-Operation für eine Bildzeile... Bildzeile Die Expand-Operation ist nicht verlustfrei Computergrafik 2 SS2012 40

Laplace-Pyramide Jede Skalierungsstufe s enthält nur den Unterschied f s - expand(reduce(f s )) redundanzfreie Repräsentation expand(reduce(image))-image Computergrafik 2 SS2012 41

Split & Merge-Algorithmus Regionenbasiertes Verfahren Startbedingung: Das gesamte Bild ist ein Segment Jedes Segment wird solange in 4 Untersegmente zerlegt, wie es ein gegebenes Homogenitätskriterium nicht erfüllt Benachbarte Segmente werden zusammenfasst, wenn sie auch zusammengenommen homogen sind Resultat ist eine vollständige, überdeckungsfreie Zerlegung des Bildes (Segmentierung gemäß Definition) Computergrafik 2 SS2012 42

Zerlegungsschritt Zerlegung terminiert spätestens auf Pixelebene Problem: Datenstruktur zur Dokumentation der aktuellen Zerlegung à Quad-Tree Computergrafik 2 SS2012 43

Zerlegungsschritt (Quad-Tree Repräsentation) 1.Schritt 2.Schritt 3.Schritt Wert des Homogenitätsmerkmals einer Region wird im entsprechenden Blatt des Quad-Tree abgelegt 4.Schritt Computergrafik 2 SS2012 44

Merging Quadtree wird traversiert und in einen RAG überführt Auf dem RAG wird ein Region Merging durchgeführt Traversierung Computergrafik 2 SS2012 45

Split & Merge Resultat: Zerlegung des gesamten Bilds in Regionen Multiskalenstrategie ist integriert Homogenitätsmerkmale wie bei Region Merging Probleme (Region Merging und Split & Merge): Merge-Schritt ist bei relativem Homogenitätsmerkmal nicht immer eindeutig Minimale Segmentzahl wird nicht immer gefunden Computergrafik 2 SS2012 46

Textur als Homogenitätsmerkmal Textur Musterung der Oberfläche es existiert keine Definition von Textur es gibt eine große Anzahl von Texturmaßen Textur ist inhärent skalenabhängig Textur ist eine Eigenschaft einer Gruppe von Pixeln Texturmaße strukturell (Zusammensetzung aus Texturelementen texeln) stochastisch (eine charakterisierbare Grauwertverteilung) spektral (charakteristische Frequenzattribute) Computergrafik 2 SS2012 47

Haralick'sche Texturmaße Robert Haralick Co-Occurrence-Matrix = 2D-Histogramm für Pixelpaare Pixel p1 und p2 sind ein Paar, wenn Abstand d haben und auf Linie mit Winkel α zur x-achse liegen Repräsentiert Korrelation zwischen Pixeln Wahrscheinlichkeit, dass p1 und p2 Grauwerte g1 und g2 haben Meist sind Pixel nicht über große Entfernungen korreliert, daher d=1 oder d=2 üblich Für Korrelation über größere Entfernung à Multiskalenstrategie g1 p1 α d p2 Computergrafik 2 SS2012 48 g2

Haralick'sche Texturmaße Robert Haralick Co-Occurrence-Matrix für Region R, R = K P α,δ (g 1, g 2 ) = 1 R & d = Δ ( ' cos(α) sin(α) δ D ( f ( x) g 1 ) δ D f ( x + d) g 2 x R ) + * ( ) g1 d p2 p1 α g2 Computergrafik 2 SS2012 49

Co-Occurrence-Matrix g1 d p2 p1 α g2 d=1, α=90, α=0 Computergrafik 2 SS2012 50

Haralick'sche Texturmaße zunächst P Δ,α normieren: P Δ,α := 1 s P Δ,α mit K 1 K 1 g 1 =0 g 2 =0 ( ) s = P Δ,α g 1, g 2 Energie / Uniformität Kontrast Entropie Homogenität / inverse Differenz K 1 g 1 =0 K 1 g 1 =0 K 1 g 2 =0 K 1 g 2 =0 2 P Δ,α ( g 1, g 2 ) ( g 1 g 2 ) 2 P Δ,α g 1, g 2 ( ) K 1 K 1 P Δ,α ( g 1, g 2 ) log 2 $% P Δ,α ( g 1, g 2 )& ' g 1 =0 g 2 =0 K 1 g 1 =0 K 1 g 2 =0 P Δ,α ( g 1, g 2 ) 1+ g 1 g 2 liefern aussagekräftige Kennwerte für Texturen zur Segmentierung Berechnung für Δ = 1 und α = 0, 45, 90, 135 Merkmalsvektor aus Texturmaßen empfohlene Merkmale zur Texturklassifikation: Entropie, Kontrast, Korrelation Computergrafik 2 SS2012 51

Haralick'sche Texturmaße (weitere) zunächst P Δ,α normieren: Korrelation mit K 1 g 1 =0 K 1 g 2 =0 µ 1 = g 1 P Δ,α g 1, g 2 K 1 g 1 =0 K 1 K 1 g 2 =0 K 1 P Δ,α := 1 s P Δ,α mit (g 1 µ 1 ) (g 2 µ 2 ) P Δ,α ( g 1, g 2 ) σ 1 σ 2 ( ) ( ) µ 2 = g 2 P Δ,α g 1, g 2 g 2 =0 g 1 =0 K 1 K 1 g 1 =0 g 2 =0 ( ) s = P Δ,α g 1, g 2 K 1 K 1 ( ) σ 1 = (g 1 µ 1 ) 2 P Δ,α g 1, g 2 g 1 =0 K 1 g 2 =0 K 1 ( ) σ 2 = (g 2 µ 2 ) 2 P Δ,α g 1, g 2 g 2 =0 g 1 =0 inverse difference moment K 1 g 1 =0 K 1 g 2 =0 ( ) ( ) 2 P Δ,α g 1, g 2 1+ g 1 g 2 K 1 Unähnlichkeit P Δ,α ( g 1, g 2 ) g 1 g 2 K 1 g 1 =0 g 2 =0 Computergrafik 2 SS2012 52

Besonderheiten Texturmerkmal Berechnung der Texturmerkmale auf der Basis willkürlicher Regionen Segmentierung Berechnung der Zuverlässigkeit Erneute Segmentierung Computergrafik 2 SS2012 53

Zuverlässigkeit Texturmerkmal Persistenz: Falls eine Region in Teile zerlegt wird und das Merkmal in den Teilregionen berechnet werden kann, dann sollte das Texturmerkmal in der Teilregion dieselben Werte annehmen, wie in der Ursprungsregion Achtung: In der Regel ist das berechnete Maß eine Schätzung, deren Güte von der Größe der Region abhängt Computergrafik 2 SS2012 54

Strategie: Erneute Segmentierung Texturmerkmale der Gesamtsegmente erneut berechnen Segmente mit hoher Unzuverlässigkeit allen benachbarten zuverlässigen Segmenten zuordnen Die beiden Extremfälle Computergrafik 2 SS2012 55

Naive Textursegmentierung Modell: Skalierungsstufe der Textur, Blockgröße, sowie geeignetes Texturmaß seien bekannt Algorithmenskizze: Berechne für überlappende Blöcke das Texturmaß Führe eine homogenitätsbasierte Segmentierung auf den Texturmaßen durch (z.b. durch Split-and-Merge) Ein Pixel erhält von jedem Block, der es überdeckt eine Stimme für ein Label inhomogene Blöcke an Texturgrenzen Nachverarbeitung wie bei Histogrammsegmentierung Computergrafik 2 SS2012 56

Textursegmentierung (naiv) 2.37 1.22 2.82 2.14 2.09 0.87 Beispiel: Jedes Pixel wird von mehreren Blöcken überdeckt Sind die Texturen unterschiedlich, dann erhalten diese Blöcke unterschiedliche Label Summe der Amplituden mit niedriger und mit hoher Frequenz Computergrafik 2 SS2012 57

Kantenbasierte Segmentierung Edge Linking und Canny Edge Operator Nulldurchgänge Wasserscheidentransformation Computergrafik 2 SS2012 58

Segmentierung durch Kantenerkennung Vorteil: Kantenmerkmale sind robuster gegenüber Shading Länge des Gradienten Einfache Methode: Gradientenberechnung Kantenpunktdetektion (z.b. Schwelle auf Gradientenlänge) Region Labeling basierend auf Kantenpunkten Computergrafik 2 SS2012 59

Segmentierung durch Kantenerkennung Schwellenwert auf Gradientenlänge Problem: Kantenpunkte sind nicht Ränder zusammenhängender Gebiete Computergrafik 2 SS2012 60

WASSERSCHEIDEN- TRANSFORMATION Computergrafik 2 SS2012 61

Wasserscheidentransformation Wasserscheide: Grenzen der Entwässerung in unterschiedliche Senken Beispiel: Wasserscheide zwischen Nordsee und Mittelmeer entlang des Kamms der Berner Alpen Wasserscheide in der Segmentierung: Generiere ein Höhenprofil so, dass die Wasserscheiden die gesuchten Segmentgrenzen sind Computergrafik 2 SS2012 62

Wasserscheiden Wasserscheiden sollen an Kanten verlaufen Wasserscheiden sind Gebirgskämme Wasserscheiden sind die Längen der Grauwertgradienten Computergrafik 2 SS2012 63

Wasserscheidentransformation Beregnung: Es fällt Regen auf jedes Pixel. Gradienten entschieden, wohin der Regen entwässert wird Flutung: Die Welt wird von den Senken her geflutet. Wenn Wasser aus zwei Senken zusammen fließt, wird ein Damm gebaut bzw. entsteht eine Wasserscheide f(x) 1 1 2 1 3 2 Quelle Wasserscheide 1 3 2 Damm 1 3 2 Quelle x Computergrafik 2 SS2012 64

Animation von Serge Beucher Partitionierung des Bildes durch Flutung von den Minima aus bei Vermeidung des Zusammenfließens verschiedener Quellen zwei Mengen: Niederschlagsgebiete und Wasserscheidenlinien Transformation auf Gradientenbild: Niederschlagsgebiete entsprechen homogenen Regionen Copyright 2010, Serge Beucher http://cmm.ensmp.fr/~beucher/wtshed.html Computergrafik 2 SS2012 65

Flutungsalgorithmus (Skizze) Jedes bei Höhe h aktuell neu überflutete Pixel (m f,n f ) ist in Isolation: Es nicht zu anderen überfluteten Pixeln der Höhen h<h aktuell benachbart. Isolierte Pixel sind Kerne von neuen Segmenten. Erweiterung: Es ist zu anderen überfluteten Pixeln der Höhen h<h aktuell mit gleichem Label benachbart. Das Pixel wird dem Segment mit diesem Label zugeordnet. Wasserscheide: Es ist zu überfluteten Pixeln von mindestens zwei Regionen benachbart. Dem Pixel wird das Label Wasserscheide zugeordnet. Computergrafik 2 SS2012 66

Resultat der WST Computergrafik 2 SS2012 67

Problem Übersegmentierung Für die WST ist jedes lokale Minimum eine Senke Die meisten Senken werden durch Rauschen verursacht Senken durch Rauschen sind weniger tief als die von Kanten Computergrafik 2 SS2012 68

Hierarchische WST Multiskalenstrategie: Wasserscheidentransformation auf dem WST-Resultat Jede Region erhält ihren durchschnittlichen Grauwert als Funktionswert Die erste WST wird hauptsächlich durch Rauschen verursachte Senken finden Wahre Senken sollten über mehrere Stufen der Hierarchie erhalten bleiben Computergrafik 2 SS2012 69

Gradienten für die hierarchische WST 20 70 80 140 30 90 220 30 70-70 -110 220 20-120 140 80 80-60 -50 90-70 -110-120 -330 80-60 -50 190 190 Differenz zu jeder benachbarten Regionen berechnen Gradientenlänge berechnen als durchschnittliche Differenz zu allen Regionen (evtl. mit Fläche gewichten) Problem: Kanten werden breiter Computergrafik 2 SS2012 70

Verwendung von Markern bei der WST Marker = Region im Bild interne Marker markieren Vordergrundobjekte externe Marker markieren den Hintergrund Strategien zur Erzeugung von Markern interaktives Setzen der Marker Bild zur Vorverarbeitung glätten Marker auf geglättetem Bild Textur angepasster Algorithmus isoliertes Pixel: Label unbekannt Pixel erweitert Region: Label zuordnen Pixel verbindet zwei Regionen: falls eine unbekannt und andere endgültiges Label, dann Label auch für die andere Region Computergrafik 2 SS2012 71

MODELLBASIERTE SEGMENTIERUNG Computergrafik 2 SS2012 72

Modellbasierte Segmentierung Vollständige Suche Template Matching Hough Transformation Interaktive Suche Region Growing Kantenverfolgung Markerbasierte WST Computergrafik 2 SS2012 73

Modellbasierte Segmentierung Segmentierung: Generierung von Symbolen (Bedeutungsträgern) aus Pixeln Modell: Erwartete Bedeutung Henne-Ei-Problem?? Modellbasierte Segmentierung: Mix aus Segmentierung und Analyse Mit Vorwissen über Objekt wird nach Instanzen gesucht - Interaktive Suche: Benutzer gibt Vorwissen interaktiv ein - Vollständige Suche: Instanzen eines Modells mit wenigen Parametern werden gesucht - Iterative Suche: Instanzen eines Modells mit vielen Parametern werden gesucht Computergrafik 2 SS2012 74

Region Growing = Flood Fill auf Grauwertbild für (vorgegebenen) Saatpunkt Homogenitätsbedingungen Grauwertbereich Grauwertschwankung Saatpunkt gefundene Region Annahmen und Ziel Gebiet ist intern von größerer Homogenität als an den Grenzen Selektion eines einzigen Gebiets Homogenitätsbedingung: GW(region) = GW(seed) ± 20 Computergrafik 2 SS2012 75

Region Growing Grenze der Region Startpixel Saatpunkt gefundene Region Probleme: Auslaufen der Regionen zu kleine Regionen Rauschanfälligkeit Shading im Bild Homogenitätsbedingung: GW(region) = GW(seed) ±20 Computergrafik 2 SS2012 76

Auslaufen von Regionen Saatpunkt gw(seed)±10 gw(seed)±30 gw(seed)±40 Computergrafik 2 SS2012 77

Region Growing und Rauschunterdrückung GW(seed)±70 Rauschen führt zu Anfälligkeit der Methode è vorherige Rauschunterdrückung oder Nachverarbeitung GW(seed)±70 nach Medianfilterung Computergrafik 2 SS2012 78

Mehrfaches Region Growing original Zusammensetzung aus allen drei Segmenten Computergrafik 2 SS2012 79

Gezielte Kantensuche Nur diese Kante ist gesucht Resultat der Kantenfilter: Liste von Kantenpunktkandidaten nicht alle Kandidaten gehören zur gesuchten Regionengrenze die Regionengrenze kann Lücken aufweisen Strategien mit Nutzerinteraktion Kantenverfolgung Optimale Kantenzüge Hough Transformation Computergrafik 2 SS2012 80

Kantenverfolgung Gradient Suchrichtung aktueller Kantenpunkt Anfangspunkt bestimmen suche senkrecht zur aktuellen Gradientenrichtung Kantenpunkt ist gefunden, wenn in hinreichend kurzer Entfernung, mit hinreichend geringer Richtungsabweichung ein hinreichend großer Gradient existiert Richtungskriterium Abstandskriterium Computergrafik 2 SS2012 81

Optimale Kantenzüge (Graphensuche) Das Resultat des Gradientenoperators wird als Graph aufgefasst, auf dem zwischen zwei Punkten ein optimaler Pfad gesucht wird (z.b. mittels Dijkstra- Algorithmus). Vorteil: Globale Aspekte des Kantenzugs können eingebracht werden. (z.b. Glattheitsbedingungen) Nachteil: Aufwand ist größer als bei Kantenverfolgung. G? Computergrafik 2 SS2012 82

Optimale Kantenzüge (Graphensuche) Optimalitätskriterien: Maximierung der (durchschnittlichen) Gradientenlänge Minimierung der Pfadlänge Minimierung der Richtungsänderungen Minimierung der Grauwertänderungen Computergrafik 2 SS2012 83

Resultate Startpunkt Computergrafik 2 SS2012 84