Segmentierung
Segmentierung
Segmentierung
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Segmentierung</strong><br />
Vorlesung FH-Hagenberg<br />
SEM<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
<strong>Segmentierung</strong>: Definition<br />
• Die Pixel eines Bildes A={ai }, i=1:N, mit N der Anzahl<br />
der Pixel, werden in Teilmengen Si unterteilt.<br />
• Die Teilmengen sind disjunkt<br />
Si ∩ S j<br />
{} i ≠ j<br />
• Ein Bild ist vollständig segmentiert, wenn jedes Pixel<br />
einer Teilmenge zugeordnet ist.<br />
A =<br />
U i<br />
=<br />
Si<br />
• Die Zuordnung zu einem Segment erfolgt aufgrund der<br />
Intensität, Nachbarschaftsrelationen ...<br />
• Die <strong>Segmentierung</strong> führt eine Semantik in das Bild ein<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Schwellenwerte<br />
Die Schwellenwertbildung ist eine <strong>Segmentierung</strong><br />
basierend aud den Grauwerten der Pixel<br />
• Globaler Schwellenwert<br />
• Lokale Schwellenwerte<br />
• Mehrfache Schwellenwerte<br />
• Semi-Schwellenwerte<br />
• Optimale Schwellenwerte<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Globaler Schwellenwert<br />
• Für den gesamten Bildbereich existiert ein<br />
konstanter Schwellenwert. Dieser Schwellenwert<br />
erzeugt ein binäres Bild.<br />
a<br />
i<br />
⎧0<br />
= ⎨<br />
⎩1<br />
a<br />
a<br />
i<br />
i<br />
< T<br />
≥ T<br />
• Ein lokaler Schwellenwert berücksichtigt örtlich<br />
veränderliche Eigenschaften des Bildes. Er ist<br />
nicht konstant, er ist abhängig von der Position im<br />
Bild.<br />
T<br />
( x,<br />
y)<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Mehrfach Schwellenwerte<br />
• Einem Grauwertintervall wird ein konstanter Wert<br />
zugeordnet.<br />
a<br />
T<br />
i<br />
1<br />
< T<br />
{ g , g ,... g }<br />
1<br />
=<br />
g<br />
2<br />
2<br />
j<br />
T<br />
j−1<br />
< ... < T<br />
N −1<br />
<<br />
N<br />
a<br />
i<br />
≤ T<br />
Semi-Schwellenwerte<br />
j<br />
• Oberhalb eines Schwellenwertes werden die Pixel auf<br />
einen konstanten Wert gesetzt, unterhalb bleiben sie<br />
unverändert.<br />
a<br />
i<br />
⎧ai<br />
= ⎨<br />
⎩ 1<br />
ai<br />
< T<br />
a ≥ T<br />
i<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Optimal Threshold<br />
optimal<br />
zu tiefer<br />
Schwellwert<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Datenmodell<br />
• Gewebstypen werden im Histogramm durch Normalverteilungen<br />
modelliert<br />
• Jeder Schwellenwert beinhaltet Fehler<br />
• Optimal thresholding minimiert Fehler des Typs α und β<br />
tissue1<br />
threshold<br />
tissue2<br />
Fehler α<br />
Fehler β<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Algorithmus<br />
A priori threshold T 0<br />
M low=mean(x i=T n)<br />
T n+1=(M low+M high)/2<br />
|T n+1-T n|
Region Growing: Lokaler Threshold<br />
1. Seedpoint+Intensitätsintervall festlegen<br />
2. Überprügung ob Nachbarpixel im Intervall<br />
• Ja: Pixel selektieren und Algorithmus fortsetzen<br />
• Nein: Abbruch<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Region Growing<br />
N 4<br />
Seedpoint<br />
N 8<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Rekursive Implementierung<br />
grow(g,m,x,D)<br />
begin<br />
g(x)=labeled<br />
if g(x1) in D then grow(g,m,x1,D);<br />
if g(x2) in D then grow(g,m,x2,D);<br />
if g(x3) in D then grow(g,m,x3,D);<br />
if g(x4) in D then grow(g,m,x4,D);<br />
m(x)=1;<br />
end<br />
g=Bild, m=Maske, x=SP, xi=Nachbarn, D=Intervall<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Region Growing: Grauwerte<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Region Growing: Limits<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Region Growing: semi-threshold<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
<strong>Segmentierung</strong> von einfachen Strukturen<br />
• Einfache Strukturen werden anhand ihrer<br />
Nachbarschaft und der Intensität identifiziert. Die<br />
Erkennung erfolgt durch Maskenoperationen.<br />
• Einfache Strukturen sind :<br />
– Punkte<br />
–Linien<br />
–Kanten<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Punktdetektion<br />
-1 -1 -1<br />
-1 8 -1<br />
-1 -1 -1<br />
• Summe der Maskenelemente = 0<br />
• Bild mit Maske Filtern<br />
• Maskenoperation ergibt in homogener Fläche den Wert 0<br />
• Schwellenwertoperation dient zur Erkennung der Punkte<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Liniendetektion<br />
-1 -1 -1<br />
2 2 2<br />
-1 -1 -1<br />
-1 2 -1<br />
-1 2 -1<br />
-1 2 -1<br />
2 -1 -1<br />
-1 2 -1<br />
-1 -1 2<br />
-1 -1 2<br />
-1 2 -1<br />
2 -1 -1<br />
• 4 verschiedene Masken<br />
• Masken für horizontale, vertikale, schräge Linien<br />
• Optimal für Linien der Breite 1 Pixel<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Kantendetektion<br />
• Gradienten in x- und y-Richtung<br />
• Problem: Rauschen wird verstärkt<br />
• Sobbel-Operatoren implementieren vorherige Glättung<br />
• Richtung der Kante: a=arctan(g y /g x )<br />
g x =<br />
-1 0 1<br />
-2 0 2<br />
-1 0 1<br />
g y =<br />
-1 -2 -1<br />
0 0 0<br />
1 2 1<br />
• Laplace-Operator implementiert die zweite Ableitung<br />
der Intensitätsverteilung<br />
• Nullstellen markieren Wendepunkte =<br />
Kantendefinition<br />
• Problem: Rauschen wird massiv verstärkt<br />
0 1 0<br />
1 -4 1<br />
0 1 0<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
y<br />
x<br />
Gradienten<br />
Operatoren<br />
(a) Original<br />
(b) Gradient in Y<br />
(c) Gradient in X<br />
(d) Kombinierte<br />
Gradienten<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
y<br />
x<br />
Kanten-<br />
Detektion<br />
(a) Original<br />
(b) Faltung mit<br />
Sombrero<br />
(c) Thresholding<br />
(d) Nulldurchgänge<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
y<br />
x<br />
Kanten<br />
Verbinden<br />
(a) Original<br />
(b) Gradient in Y<br />
(c) Gradient in X<br />
(d) verbundene<br />
Kanten<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Laplacian of Gaussian (LoG)<br />
• Gradientenoperatoren verstärken Rauschen<br />
• Glättung vor der dem Kantenoperator<br />
• Zusammenfassung von Glättung und Laplace<br />
– Geschwindigkeitsvorteil<br />
( img * g)<br />
* laplace = img * ( g * laplace)<br />
LoG<br />
x + y<br />
1 −<br />
2<br />
2σ<br />
( x,<br />
y)<br />
= e 4<br />
2<br />
πσ<br />
2<br />
2<br />
2 ⎛ x + y<br />
⎜<br />
⎝ 2σ<br />
⎞<br />
−1<br />
⎟<br />
⎠<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder<br />
2<br />
Mexican hat
Skalierung<br />
• Die Strukturen in Bildern sind üblicherweise<br />
in verschiedenen Größen.<br />
• Features (Kanten, Objekte ..) werden auf<br />
unterschiedlichen Skalen gesucht.<br />
• Durch Faltung (Filterung) mit Gaußfunktionen<br />
variabler Standardabweichung s werden die<br />
Bilder in verschiedenen Skalen erstellt. {A,s}<br />
• Die Maskengröße ist üblicherweise 6*s.<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Skalierung<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
1.und 2. Ableitung im skalierten Raum<br />
• Die Masken bauen auf einer 2D Glockenkurve auf.<br />
2 2<br />
1 x + y<br />
g(<br />
x,<br />
y)<br />
= exp( − ) 2<br />
2πs<br />
2s<br />
• Gradient<br />
• Hessesche Matrix<br />
(2Masken)<br />
(4 Masken)<br />
⎛∂<br />
xg<br />
⎞<br />
⎜ ⎟<br />
⎜ ⎟<br />
⎝∂<br />
yg<br />
⎠<br />
⎛∂<br />
xxg<br />
⎜<br />
⎝∂<br />
yxg<br />
∂ xyg<br />
⎞<br />
⎟<br />
∂ g ⎟<br />
yy ⎠<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Gradienten auf verschiedenen Skalen<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder
Eigenwerte der Hesse-Matrix<br />
Digitale Signal & Bildverarbeitung Werner Backfrieder