Segmentierung Segmentation M. Thaler, TG08 tham@zhaw.ch Juni 7
Um was geht es? Bis jetzt vor allem Transformation Bild Bild Neu Transformation Bild? Feature, Aussage, etc. Bild Aussage "it's a circle" erster Schritt: Bildsegmentierung - Aufteilung des Bildes in Bereiche resp. Regionen nächste Schritte - Objektbeschreibung und Objekterkennung Juni 7
... um was geht es? z.b. suchen der Umrandung von Objekten Juni 7 3 3
... um was geht es? Aufteilung in Objekte Distanzbild Binärbild Diplomarbeit HS07 TOF Kamera Kantenbild Label-Bild Juni 7 4 4
Lehrziele Sie können den Begriff Segmentierung erklären und diskutieren Algorithmen zum Finden von Punkten und Linien in Bildern erklären und diskutieren den Begriff Kante erklären und auch den mathematischen Hintergrund der Kanten-detektion verschiedene Kantendetektionsverfahren und ihre Eigenschaften aufzählen, erklären und diskutieren Probleme der Kantendetektion aufzählen und mögliche Lösungen diskutieren Juni 7 5 5
Inhalt Einführung Kantenbasierte Segmentierung Punkte und Linien einfache Kantendetektoren verbesserte Kantendetektoren edge linking Zusammenfassung Intensitätsbasierte Segmentierung (global) Regionenbasierte Segmentierung (lokal) Bewegungsbasierte Segmentierung Juni 7 6 6
Segmentierung: Definitionen Aufteilung eines Bildes in seine Regionen Objekte Teile von Objekten Algorithmen basieren auf Bildübergängen, Intensitätsänderungen - z.b. Umrandung Ähnlichkeiten: Nachbarpixel mit mit ähnlichen Attributen (Prädikaten) Probleme ungleichmässige Beleuchtung Rauschen Juni 7 7 Regionen sind - Hintergrund - Objekte (Regionen mit einer gemeinsamen Eigenschaft (Prädikat) - Teile von Objekten: Kreis oder Halbkreise Umrandung (Kanten des Objekts) - manchmal ist es ausreichend die Umrandung der Objekte zu kennen (siehe Kap. ) - manchmal können Umrandungen verwendet werden um die Objekte zu separieren 7
... Segmentierung Vier grundlegende Lösungsansätze kanten- und linienbasierte Verfahren lokal - basieren auf Ableitungen intensitätsbasierte Verfahren global - basiert auf Thresholding regionenbasierte Verfahren - basieren auf Prädikaten und Nachbarschaften bewegungsbasierte Verfahren - basieren auf Bildsequenzen und ihren Änderungen Juni 7 8 8
Segmentierung Beispiel: grosse und kleine Holzzapfen Unterscheidung: Hintergrund und Zapfen Threshold Kanten Juni 7 9 Eigenschaften - hell <-> dunkel Übergang - Hintergrund Holzzapfen 9
... Segementierung Etwas Mathematik das Bild besteht aus allen Regionen F = n U R i i= 0 jede Region ist eine verbundene Menge Regionen überlappen nicht auf alle Pixel einer Region trifft das Prädikat zu benachbarte Regionen besitzen unterschiedliche Prädikate R i, i R R = φ, i j P( R i ) = TRUE, i i, j and i P ( Ri R j ) = FALSE, Ri, R j adj. j Juni 7 0 0
Punkte, Linien und Kanten Segmentierung mit Punkten, Linien und Kanten suchen von starken, lokalen Intensitätsänderungen Kantendetektion lokales Verfahren zum Suchen von Kantenpixeln basiert mathematisch auf der. oder. Ableitung von Intensitätsbildern Typische Kantenformen in Bildern f (x 0,y) Schritt y f (x 0,y) Dach y f (x 0,y) Linie y f (x 0,y) verrauschter Schritt y Juni 7
Ableitungen digitale Änderungen. Ableitung f( x ) f x = f ( x + ) f ( x) x. Ableitung ) f x = f ( x + ) = f ( x + ) + f ( x) ( f ( x) f ( x ) ) f ( x ) f ( x) ) Änderung der. Ableitung im Punkt x f( x ) f( x- ) f( x ) f( x ) f( x+ ) f( x+ ) x Juni 7 Hinweis - dx =
Ableitungen Beispiel isolated point Bildlinie ramp line step. Ableitung. Ableitung Juni 7 3 3
Laplace:. Ableitung Laplace Operator Kantenstärke (keine Richtungsinformation) f ( x, y) f ( x, y) f ( x, y) = + x y Operatoren h 0 = 0 0 4 0 anisotrop h = 8 isotrop Juni 7 4 Wichtiger Hinweis zu Laplace - keine Richtungsinformation aber Richtungsabhängigkeit Begriffe - anistrop - istrop richtungsabhängig horizontale und vertikale Änderungen werden stärker gewichtet richtungsunabhängig (nahezu) alle 45 Grad Richtungen werden gleich gewichtet 4
5 Juni 7 5 Punkte Punkt-Detektion sollte. Ableitung verwenden z.b. isotroper Laplace Operator - Threshold ergibt Punkte - Problem: Rauschen ), ( ), ( ), ( y y x f x y x f y x f + = = 8 h = otherwise 0 ), ( ), ( T y x f y x g f(x,y) g(x,y) f(x,y)
Linien Masken: erkennen Linien in best. Richtungen speziell geeignet für Binärbilder - - - - - - - - - - - - - - - - - - - - - - - - - - - horizontal - - - vertikal - - - +45º - - - -45º Originalbild +45º nach Threshold Juni 7 6 6
... Linien Laplace Operator detektiert Linien istrop "double line effect" h = 8 Original Laplace (double line effect) abs(laplace) laplace 0 Juni 7 7 7
Kantendetektion Kante: Übergang zwischen zwei Intensitäten Schritt Rampe Dach x x Nulldurchgang Kantenposition Juni 7 8 8
... Kantendetektion Problem: Rauschen speziell bei. Ableitung σ = 0 σ = 0. σ =.0 σ = 0.0 Juni 7 9 9
... Kantendetektion 3 Schritte. Vorverarbeitung - Rauschreduktion - Entfernung kleiner Objekte - Intensitätstransformationen. Erkennung von Kantenpunkten - Auswahl möglicher Kantenpunkte - Ableitungen in x- und y- Richtung,. und. Ordnung 3. Nachverarbeitung: lokalisieren der Kanten - auswählen der echten Kantenpixel - Thresholding - Ausdünnen (Thinning) - Nulldurchgänge der. Ableitung Juni 7 0 0
Derivative based edge detection: original anisotrope Maske h h T h @ 8% isotrope Maske Juni 7 Laplace Operator (. Ableitung) - Thresholding notwendig keine Richtungsinformation - Thresholding weil Laplace-Operator kontinuierliche Graustufenwerte liefert
Juni 7 Gradientenbasierte Kantendetektion Gradient Stärke und Richtung der Intensitätsänderung Gradient Kantenrichtung = = dy f dx f G G y x f y x ), ( y x y x y x G G G G G G y x f + + + = ), ( = x y G G G arctan ϕ ϕ G Kante steht senkrecht auf Gradient
Gradienten-Operatoren Operatoren(Maken) für Grandienten- Approximation digitale Differenzen Roberts-Operator Prewitt-Operator Sobel-Operator f ( x +, y) f ( x, y) f ( x, y) = f ( x, y + ) f ( x, y) - - - 0 0-0 0 - - - - 0 0 0 0-0 - 0 - - - - 0 0 0 0-0 - 0 Juni 7 3 Prewitt (Ableitung) f( x ) m m m m m a = f ( x) = f ( x + ) = = m + m f ( x + ) f ( x ) = f ( x) ( f ( x + ) f ( x ) ) f( x- ) f( x ) ( f ( x + ) f ( x) + f ( x) f ( x ) ) f ( x ) f( x+ ) x Sobel - beinhaltet zusätzlich Tiefpassfilterung Rauschreduktion - ohne Beweis 3
... Gradienten-Operatoren Prewitt und Sobel: anisotrop Operatoren, die Diagonalen bevorzugen (+/- 45 o ) Prewitt 0 - - 0 Sobel - - 0 - - 0-0 - 0 0-0 - - 0 0-0 0 Juni 7 4 4
Sobel Original Gy Gx Gx + Gy Juni 7 5 5
... Sobel Gx + Gy T h @ 0% Gx + Gy 5x5 Mittelwert- Filter des Originals T h @ 0% Juni 7 6 Vorgängige Filterung reduziert Einfluss kleiner Objekte - dazu gehört auch Rauschen 6
... Sobel: Linien und Objekte Original G x G x + G y G y Juni 7 7 Sobel erzeugt - positive und negative Werte - doppelte Linien 7
Diskussion Gradientenkämme oft "zerfurcht" Thresholding ergibt nur unvollständige Kanten Juni 7 8 8
Verbesserte Kantendetektion Berücksichtigt Rauschen Art der Kanten LoG: "laplacian of gaussian" oder "mexican hat" berücksichtigt: Bildskalierung und. Ableitung kann "verschmierte" und scharfe Kanten detektieren Marr-Hildreth: Nulldurchgänge des LoG-gefilterten Bildes Canny Kantendetektor Ziele - kleine Fehlerrate - gut lokalisierte Kanten - nur ein Punkt auf Kante Algorithmus: mehrschrittiges Verfahren Juni 7 9 9
Nulldurchgänge Kantendetektion basierend auf Nulldurchgängen f (x) f '(x) f ''(x) x x x. Ableitung Maximum an Kantposition. Ableitung Nulldurchgang an Kantenposition - Nulldurchgänge einfacher zu lokalisieren als Maxima kann -Pixel breite Kanten erzeugen - Probleme Rauschen: erfordert vorgängige Tiefpassfilterung Juni 7 30 30
LoG Grundlegende Idee Tiefpassfilter (Gaussfilter). Ableitung (Laplace) zum Suchen der Kanten (Nulldurchgänge) LoG (laplacian of gaussian) oder "mexican hat" (Form) Operator: verbindet Tiefpassfilterung und Ableitung h x + y x + y x + y σ σ σ ( x, y) LoG = hgauss = e = K e 4 ist (Approximation für 5x5, σ = 0.5): isotrop 0 0-0 - - - - 6 0 - - 0 0-0 0-0 - - - 0 0 0 Juni 7 3 σ Idee σ wird aufgrund der Bildgrösse (Bildskalierung) ausgewählt Daumenregel aus Gonzalez, basiert auf einem Beispiel Wahl von σ - n 6 σ - σ 0.5 % der kleineren Seite des Bildes +-3 σ deckt 99.7 % des Volumens unter der -d Gaussoberfläche ab Wahl von n und σ - n ~ 3 % der kleineren Seite des Bildes - σ ~ n/6 3
... LoG and Marr-Hildreth Original LoG x σ = Th von LoG @ 45% Marr- Hildreth 5x5 σ = 4 Th @ 0.0007 Juni 7 3 Passt σ an Bildgrösse an - 0.3 % - 0.5 % der kleineren Bildseite LoG - berechnet LoG - wählt Threshold des Betrags von LoG Marr-Hildreth - berechnet LoG - wählt Nulldurchgänge, die den Threshold th übersteigen 3
Juni 7 33 33
... Marr-Hildreth: Nulldurchgänge Juni 7 34 34
LoG: Diskussion Eigenschaften starke Tiefpassfilterung scharfe Kanten können verlorengehen erzeugt meist geschlossene Kanten Nachbearbeitung notwendig - Nulldurchgänge suchen rauschempfindlich Was ist hier das Problem? σ = Juni 7 35 35
Canny Kantendetektor Idee. Ableitung des Gauss gefilterten Bildes Gradient Kanten Bergkämme im Gradientenbild - Gradientenstärke und -richtung um Kämmen zu folgen Juni 7 36 36
... Canny Kantendetektor Berechnung. Gaussfilter zu Rauschreduktion. Gradientenberechnung (Sobel, Prewitt, etc.) 3. Kammpixel suchen: "non-maxima supression" 4. zwei Thresholds zum Suchen der Kanten - Pixel mit f(x,y) > T gehören zur Kanten (starke Kantenpixel) - Pixel mit T < f(x,y) < T (schwache Kantenpixel) gehören zu Kante, falls in der 8-er Nachbarschaft ein starkes Kantenpixel vorhanden ist 5. falls notwendig: Nachbearbeitung mit "Thinning" Verbesserte Resultate aber wahrnehmbar langsamer Juni 7 37 37
... canny Juni 7 38 38
Edge linking und Randdetektion Kantendetektion Satz von Pixeln, die auf der Kante liegen unvollständig wegen - Rauschen - nicht gleichmässiger Beleuchtung, etc. - etc. Edge linking berücksichtigt Eigenschaften der Kantenpixel (z.b. Gradient) vereinigt Pixel zu - sinnvollen Kanten - Regionengrenzen lokale und globale Verfahren Juni 7 39 39
... Edge Linking: lokale Verfahren Lokale Verfahren Gradient Stärke der Kante: M(x,y) = g x (x,y) + g y (x,y) Thresholding: oft zu wenige oder zu viele Pixel Rauschpixel: zusätzliche oder unterdrückte Kantenpixel Edge linking verbindet Nachbarpixel, die mit hoher Wahrscheinlichkeit Kantenpixel sind Idee. Gradient Betrag M(x, y) und Winkel ϕ(x, y). Wahl eines Nachbarpixels ) P(s,t) von P(x,y) als Kantenpixel, wenn M ( s, t) M ( x, y) m ϕ( s, t) ϕ( x, y ϕ 3. wiederholen für alle Pixel 0 ) 4. falls notwendig: einzelne Pixel entfernen, Thinning 0 ) 8-connected neighbors Juni 7 40 betrachten Nachbarschaft eines Pixels, z.b. 9x9 Umgebung Gonzales schlägt vor - nur horizontale Linien zu betrachten - auf diesen Linien Edge Linking zu machen - dann das Bild um einen bestimmten Winkel zu rotieren -... und das für alle Winke zwischen 0 und 80 Grad (Inkrement?) 40
... Edge Linking: lokale Verarbeitung Beispiel Original Gradient Threshold @ 40% linked 5x5 environ T m < 0.08, Tϕ < 5 o Juni 7 4 Nachbarschaft sollte genügend gross sein - je grösser die Nachbarschaft, desto kleiner die Toleranz - desto feiner die Strukturen 4
... Edge Linking: globale Verarbeitung Globale Verarbeitung Kanten sind oft Linien Objektränder bestehen aus einer Menge von Linien suchen der Linien notwendig Hough Transform findet Pixel, die zu einer Linie gehören - funktioniert auch mit Rauschen bestimmt: Steigung a und Offset b y = a x + b Edge Linking Linien mit Bild vergleichen um Start- und Endpunkte zu finden Juni 7 4 4
Zusammenfassung Kanten trennen Objekte und Regionen Kantendetektion: verschiedene Methoden verfügbar - unterschiedliche Genauigkeit - meist rauschsensitiv Grundlage für konturbasierte Objektdeskriptoren Probleme Rauschen oft Tiefpassfiltering notwendig (...jpeg Bilder) im Normalfall "dicke Kanten" Thinning oder. Ableitung doppelte Kanten und Linien Kanten mit Löcher Edge Linking Kantenbilder enthalten negative Pixelwerte Daten Typen - Sättigung kann zu Verlust von Kantensegmenten führen Juni 7 43 43