Informationsgewinnung Textur Informationsgewinnung Was ist Textur? Lexikon: Gewebe, Anordnung Bildauswertung: Strukturelle Anordnung von Grauwerten Für die Bildauswertung wird eine quantitative Beschreibung von Textur benötigt: Maße für Glattheit, Rauigkeit, Regelmäßigkeit = Merkmal periodisch fein homogen grob rauh periodisch Steine Wald/Wiese Textilien Computer Vision 1_Seite 1
Informationsgewinnung Textur Informationsgewinnung Textur wird oft lokal ermittelt Beispiel: Keine Einträge := 0 Maß für Textur Maß für Textur Merkmalbild Bild Bild Kontrast Computer Vision 1_Seite 2
N-dimensionaler Merkmalsvektor Textur Informationsgewinnung Warum interessiert man sich in der Bildauswertung für Textur? Texturbasierte Segmentierung (Schwellwert im Histogramm des Merkmalbildes) Merkmale für die Detektion oder Klassifikation Merkmal Operator N Merkmal Operator 1 Bild Pro Bildausschnitt: N-dimensionaler Merkmalsvektor Computer Vision 1_Seite 3
Informationsgewinnung Textur Informationsgewinnung Warum interessiert man sich in der Bildauswertung für Textur? Zur Weiterverarbeitung (z.B. Kantenbild) Bild Merkmal Bild Kanten- bild Merkmal- Operator Kanten- Operator 1 Merkmal Bild Kanten- bild N Operator Merkmal- . Computer Vision 1_Seite 4
Textur: Histogrammbasierte Ansätze Informationsgewinnung 0 255 h(q) 1 q homogen 0 255 h(q) 1 q rauh Charakterisierung der Textur durch Auswertung des lokalen Histogramms! Computer Vision 1_Seite 5
Textur: Histogrammbasierte Ansätze Informationsgewinnung 0 255 h(q) 1 q Normiertes Histogramm: h(q) = H(q) / H(q) H(q) = Anzahl von Bildpunkten mit Grauwert q H(q) = Anzahl Pixelpositionen h ist eine Wahrscheinlichkeitsdichte (genauer Zähldichte), da: 0 h(q) 1 für alle q = 0,..,255 q=0..255 h(q) = 1 Computer Vision 1_Seite 6
Textur: Zentrale Momente Informationsgewinnung 0 255 h(q) 1 q Ist Q die Anzahl der Grauwerte (z.B. 256), so ist der Mittelwert durch gegeben und das n-te zentrale Moment durch 1 : Null 2 : Die Varianz ² = 2 ist eine Kenngröße für den Grauwertkontrast 3 : Die Schiefe (skewness) gibt den Grad der Asymmetrie des Histogramms an 4 : Der Exzess (kurtosis) gibt den Grad der Abweichung von der Normalverteilung an. 0 für konstanten Grauwert (² = 0) 1 für ² Beispiel Computer Vision 1_Seite 7
Textur: Zentrale Momente Informationsgewinnung Beispiel: Varianz und Schiefe in 11x11 großen Bildausschnitten Varianz (Kontrast) Original Schiefe Computer Vision 1_Seite 8
Textur: Zentrale Momente Informationsgewinnung Diese zentralen Momente sind „invariant“ bezüglich homogener Grauwertverschiebung: Bild g‘ = g + 50 Bild g 0 255 h(q) 1 q 0 255 h(q) 1 q Mittelwert: 123.66 Varianz: 606.94 Standardabweichung (): 24.64 Schiefe: -14834.70 Mittelwert: 173.65 Varianz: 606.94 Standardabweichung (): 24.63 Schiefe: -14834.90 Computer Vision 1_Seite 9
Textur: Zentrale Momente Informationsgewinnung 0 255 h(q) 1 q Mittelwert: 123.66 Varianz: 606.94 Schiefe: -14834.70 << 0 0 255 h(q) 1 q Mittelwert: 111.28 Varianz: 1394.38 Schiefe: 8561.81 >> 0 0 255 h(q) 1 q Mittelwert: 127.48 Varianz: 100.37 Schiefe: -12.08 0 g(x,y) = 128 + 10 s(x,y) s(x,y) ~ N(1,0) Computer Vision 1_Seite 10
Textur: Zentrale Momente Informationsgewinnung Die Momente lassen sich auch direkt aus den Grauwerten des Bildausschnitts (B: Breite, H: Höhe) berechnen: Nachteil der Texturanalyse durch eindimensionale Momente: Struktur (relative Position der Grauwerte zueinander) geht verloren – unterschiedliche Bildausschnitte können identische Histogramme besitzen Berechnung von Texturmaßen aus der Coocurrence-Matrix Computer Vision 1_Seite 11
Textur: Coocurrence-Matrix Informationsgewinnung Die Coocurrence-Matrix (Grauwertübergangsmatrix) liefert Informationen über die Position von Bildpunkten mit gleichem oder ähnlichem Grauwert über eine vorgegebene Distanz. Die Distanz wird durch einen Positionsoperator Pkl festgelegt, die Anwendung von Pkl auf eine Bildposition (u,v) erfolgt via: Pkl (u,v) = (u+k, v+l) Ist Q die Anzahl der unterschiedlichen Grauwerte (z.B. Q = 256), so die Coocurrence-Matrix C = (c ij) eine QQ-Matrix mit Beispiel: P2 1 Anzahl, wie oft g(u,v) = i und g(Pkl(u,v)) = j c ij = Anzahl Punktepaare, für die Pkl anwendbar ist Computer Vision 1_Seite 12
Textur: Coocurrence-Matrix Informationsgewinnung Beispiel 1: Anzahl Grauwerte Q = 3, g e {0,1,2} Positionsoperator P11 Zähler in Zeile i = 0 und Spalte j = 1 um eins erhöhen P11 (1,0) = (2,1) P11 (2,0) = (3,1) P11 (0,0) = (1,1) P11 (4,4) = (5,5) initialisierte Matrix Bild normieren Coocurrence-Matrix Computer Vision 1_Seite 13
Textur: Coocurrence-Matrix Informationsgewinnung Beispiel 1: Anzahl Grauwerte Q = 3, g e {0,1,2} Positionsoperator P11 Merkmal- Operator normieren Coocurrence-Matrix Bild Computer Vision 1_Seite 14
Textur: Coocurrence-Matrix Informationsgewinnung Beispiel 2: Anzahl Grauwerte Q = 2, g e {0,1} Positionsoperator P11 Coocurrence-Matrix Merkmal- Operator normieren Faustregel: Pfeilanfang = Zeilenindex Pfeilspitze = Spaltenindex Bild ci,j ist ein Schätzwert für die bedingte Wahrscheinlichkeit, dass ein Paar von Punkten, das P erfüllt die Werte i,j hat. Hier: Die Wahrscheinlichkeit, dass die Kombination i = 0, j = 0 vorkommt beträgt 1/9. Computer Vision 1_Seite 15
Textur: Berechnung der Coocurrence-Matrix Informationsgewinnung void CoocurrenceMatrix(Matrix& co, const CImageMemory< unsigned char >& subImage, int dx, int dy) { int x, y, i, j; int height = subImage.GetHeight(); int width = subImage.GetWidth(); int x0 = 0, y0 = 0, x1 = w, y1 = h; if (dx < 0) x0 = dx; else x1 = width - dx; if (dy < 0) y0 = dy; else y1 = height - dy; co.resize(256, 256); co.zero(); for (y = y0; y < y1; y++) for (x = x0; x < x1; x++) i = subImage.GetPixelValue(x, y); j = subImage.GetPixelValue(x + dx, y + dy); co(i, j) += 1; } Oft: Reduktion der Anzahl Grauwerte Q (z.B. von 256 auf 64 oder 8). Computer Vision 1_Seite 16
Textur: Maße aus der Coocurrence-Matrix Informationsgewinnung Maximale Wahrscheinlichkeit Energie – Maß für die Gleichförmigkeit bzw. Homogenität. Ein Bild ist ideal homogen, wenn es aus ungestörten, in alle Richtungen sich gleichmäßig wiederholenden Strukturen besteht. Entropie - Maß für die Unstrukturiertheit (gegenteilig zur Energie). Maximal bei einer Gleichverteilung der bedingten Wahrscheinlichkeiten cij, d.h. wenn es keine bevorzugten Grauwertkombinationen gibt. Computer Vision 1_Seite 17
Textur: Maße aus der Coocurrence-Matrix Informationsgewinnung Kontrast – Erwartungswert der Grauwertdifferenzen. Sehr groß, wenn große Grauwertdifferenzen im Bild auftreten. Differenzmoment der Ordnung k Inverses Differenzmoment der Ordnung k (gegenteilig zum Differenzmoment) Beispiel k = 2: Ähnlich zum Kontrast wird die mittlere quadratische Grauwertdifferenz gemessen. Dabei werden große Differenzen überproportional gewichtet. Computer Vision 1_Seite 18
Textur: Vgl. der Kontrast-Maße Informationsgewinnung Vergleich Kontrast Original Kontrast Cooc.-Matrix P11 Varianz Computer Vision 1_Seite 19
Textur: Maße aus der Coocurrence-Matrix Informationsgewinnung Beispiel Kontrast: Welche Coocurrence-Matrix weist auf einen hohen, welche auf einen niedrigen Kontrast hin? Beispiel Differenzenmomente: Welche Coocurrence-Matrix weist auf einen hohen, welche auf einen niedrigen Kontrast hin? Kontrast und auch die Differenzenmomente haben einen relativ kleinen Wert, wenn es hohe Werte nahe der Hauptdiagonalen gibt. Computer Vision 1_Seite 20
Textur: Maße aus der Coocurrence-Matrix Informationsgewinnung Die Texturmaße lassen sich auch für Bildausschnitte berechnen (siehe Momente aus Histogrammen), d.h. mit den Maßen können auch Merkmalsbilder berechnet werden. Die Texturmaße hängen von der Richtung des Abstandsvektors (k,l) des Positionsoperators Pkl ab. Drehung des Bildes z. B. um 90 Grad verändert die extrahierten Texturmaße. Abhilfe: Mittelung der Texturmaße aus vier Richtungen: horizontal (1, 0) vertikal (0, 1) diagonal (1,1) und (1, -1) Die Berechnung ist selbst bei reduzierter Grauwertanzahl sehr rechenintensiv Vereinfachtes Verfahren: Unser‘s Summen- und Differenzhistogramme Computer Vision 1_Seite 21
Textur: Unser‘s Histogramme Informationsgewinnung Bildausschnitte gleicher Größe werden um den Vektor (du, dv) verschoben. du Bild g(u,v) X dv X Bild g‘(u,v) = g(u + du, v + dv) Summenbild: s(u,v) = g(u, v) + g(u + du, v + dv) s = g + g‘ Differenzbild: d(u,v) = g(u, v) - g(u + du, v + dv) d = g – g‘ Normiertes Histogramm: hs(q) = Hs(q) / Hs(q) Hs(q) = Anzahl von Bildpunkten mit GW q Normiertes Histogramm: hd(q) = Hd(q) / Hd(q) Hd(q) = Anzahl von Bildpunkten mit GW q Computer Vision 1_Seite 22
Textur: Unser‘s Histogramme Informationsgewinnung gm+du,n+dv gm,n X X sm,n = gm,n + gm+du,n+dv dm,n = gm,n - gm+du,n+dv -255 255 hd(q) 1 q 0 511 hs(q) 1 q X X Computer Vision 1_Seite 23
Textur: Maße aus Unser‘s Histogrammen Informationsgewinnung Summen Differenzen Mittelwert Kontrast Energie (Homogenität) Entropie (Unstrukturiertheit) Computer Vision 1_Seite 24
Textur: Vgl. der KontrastMaße Informationsgewinnung Vergleich der Summen-Maße Original Kontrast Entropie (Unstrukturiertheit) Energie (Homogenität) Computer Vision 1_Seite 25
Textur: Vgl. der KontrastMaße Informationsgewinnung Vergleich Kontrast Original Kontrast Cooc.-Matrix P11 Kontrast Unser‘s Summe Kontrast Unser‘s Differenz Varianz Computer Vision 1_Seite 26
Textur: Trennungswirksamkeit Informationsgewinnung Vergleich der Trennungswirksamkeit von Texturmerkmalen Coocurrence-Matrix Unser Quelle: Computer Vision and Applications Computer Vision 1_Seite 27
Textur: Trennungswirksamkeit Informationsgewinnung Brodatz Tumor Tilda Print Slabs Vistex Hon natürliche Texturen Zellbilder Stoffe Drucke künstlicher Texturen Diverse Texturen natürliche Texturen Metall-oberflächen Quelle: Computer Vision and Applications Computer Vision 1_Seite 28
Informationsgewinnung Textur: Anwendung Informationsgewinnung Beispiel: Markierung von bewaldeten Flächen im Stadtgebiet Computer Vision 1_Seite 29
Informationsgewinnung Textur: Anwendung Informationsgewinnung Beispiel: Markierung von bewaldeten Flächen im Stadtgebiet Erinnerung: Merkmal Operator N Operator 1 Bild Für diese Anwendung wurden die Merkmale nicht nur aus dem Bild extrahiert, sondern auch aus dessen Gradientenbetrags- und Richtungsbild! Computer Vision 1_Seite 30
Parkplatzszene bei Regen Textur: Anwendung Informationsgewinnung Beispiel: Prozentuale Belegung von Parkplätzen Parkplatzszene Parkplatzszene bei Regen prozentuale Belegung Die Maskierung schränkt den relevanten Bereich ein und verbessert dadurch sowohl die Robustheit als auch die Rechenzeit. Computer Vision 1_Seite 31
Parkplatzszene gestört durch Kompressionsartefakte Textur: Anwendung Informationsgewinnung Beispiel: Prozentuale Belegung von Parkplätzen Parkplatzszene Parkplatzszene gestört durch Kompressionsartefakte Computer Vision 1_Seite 32
Textur: Charakterisierung von Maßen Informationsgewinnung Ein Texturmaß , das für diese Bilder dieselben Werte liefert, heißt translationsinvariant rotationsinvariant skalierungs- bzw. skaleninvariant verschoben gedreht Objekt skaliert Computer Vision 1_Seite 33
Textur: Invariante Maße Informationsgewinnung Zentrale Momente aus Histogrammen translationsinvariant rotationsinvariant Maße aus der Coocurrence-Matrix Maße nach Unser Kein Maß ist translations-, rotations- und skalierungsinvariant! Zweidimensionale zentrale normierte Momente Computer Vision 1_Seite 34
Textur/Form: Zweidimensionale Momente Informationsgewinnung Für eine zweidimensionale, kontinuierliche Funktionen g(x,y) ist das (reguläre) Moment der Ordnung (p+q) p,q = 0,1,2,.. Ist g(x,y) nur auf einem Teil der xy-Ebene ungleich null (beschränkter Träger), so existieren die Momente jeder Ordnung und sind eindeutig durch g(x,y) bestimmt. Umgekehrt bestimmt die Menge aller Momente die Funktion g(x, y) Beispiele: Gesamtmasse von g Computer Vision 1_Seite 35
Textur/Form: Zweidimensionale Momente Informationsgewinnung Die um den Massenschwerpunkt von g verschobenen Momente heißen zentrale Momente. Die zentralen Momente sind um den Schwerpunkt der Funktion g verschoben und damit translationsinvariant, d.h. für die Funktionen g(x,y) und g‘(x, y) = g(x + dx, y + dx) sind die Momente dieselben!. Computer Vision 1_Seite 36
Textur/Form: Vgl. mit eindim. Momenten Informationsgewinnung Für ein digitales Bild lauten die zentralen Momente (die Summation läuft über die Bildpunktpositionen) Die Momente sind für Binärbilder (dann wird i.A. g {0,1} gesetzt) aber auch allgemein auf Grauwertbilder anwendbar. Bei Binärbildern fällt der Masseschwerpunkt mit dem geometrischen Schwerpunkt zusammen. Erinnerung: Vergleich mit eindimensionalen zentralen Momenten: Die Funktion g wird als nicht normierte Zähldichte aufgefasst! Computer Vision 1_Seite 37
Textur/Form: Beispiele Informationsgewinnung Orientierung: Winkel zwischen x-Achse und Hauptachse y‘ (minimale Ausdehnung) Exzentrität: Verhältnis von Länge zu Breite (bezogen auf die Hauptachsen) und Maß für die Rundheit (rotationsinvariant) x y x‘ y‘ x, y Achsen des Bildkoordinatensystems x‘, y‘ Hauptachsen Schwerpunkt Computer Vision 1_Seite 38
Textur/Form: Zweidimensionale Momente Informationsgewinnung Zentrale Momente bis zur Ordnung 3 im Zusammenhang mit regulären Momenten: Computer Vision 1_Seite 39
Textur/Form: Zweidimensionale Momente Informationsgewinnung Die zentralen Momente können außerdem normiert werden: Die Normierung bedeutet: Für Binärobjekte werden die Momente 0. Ordnung mit der Fläche und die Momente 2. Ordnung mit dem Quadrat der Fläche normiert. Diese normierten zentralen Momente sind skalierungsinvariant, d.h. für die Funktionen g(x,y) und g‘(x, y) = g( x, y), sind die Momente dieselben! Computer Vision 1_Seite 40
Textur/Form: Hu-Momente Informationsgewinnung Aus den normierten zentralen Momenten zweiter und dritter Ordnung lassen sich translations-, rotations- und skalierungsinvariante Momente ableiten (Hu-Momente): Computer Vision 1_Seite 41