Textur Informationsgewinnung ● Was ist Textur? ● Lexikon: Gewebe, Anordnung ● Bildauswertung: Strukturelle Anordnung von Grauwerten fein grob Steine homogen rauh Wald/Wiese periodisch periodisch Textilien ● Für die Bildauswertung wird eine quantitative Beschreibung von Textur benötigt: Maße für Glattheit, Rauigkeit, Regelmäßigkeit = Merkmal Computer Vision 1_Seite 1 Textur Informationsgewinnung Textur wird oft lokal ermittelt Maß für Textur Keine Einträge := 0 Maß für Textur Merkmalbild Bild Beispiel: Bild Kontrast Computer Vision 1_Seite 2 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 Textur Informationsgewinnung Warum interessiert man sich in der Bildauswertung für Textur? ● Zur Weiterverarbeitung (z.B. Kantenbild) Bild MerkmalOperator 1 MerkmalOperator N Merkmal Bild 1 ... Merkmal Bild N Computer Vision KantenOperator Kantenbild 1 ... KantenOperator Kantenbild N 1_Seite 4 Textur: Histogrammbasierte Ansätze Informationsgewinnung h(q) 1 homogen q 0 0 255 h(q) rauh 1 q 0 0 255 Charakterisierung der Textur durch Auswertung des lokalen Histogramms! Computer Vision 1_Seite 5 Textur: Histogrammbasierte Ansätze Informationsgewinnung h(q) 1 q 0 0 255 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 h(q) Ist Q die Anzahl der Grauwerte (z.B. 256), so ist der Mittelwert durch Q 1 q h( q ) q 0 1 0 q 0 gegeben und das n-te zentrale Moment durch Q 1 n q n h(q) 255 q 0 ● 1 : Null ● 2 : Die Varianz ² = 2 ist eine Kenngröße für den Grauwertkontrast Beispiel R 1 1 2 1 0 1 für konstanten Grauwert (² = 0) für ² ● 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. 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: Q 1 n q n h(q) q 0 Bild g‘ = g + 50 Bild g h(q) h(q) 1 1 0 q 0 Mittelwert: Varianz: Standardabweichung (): Schiefe: 255 123.66 606.94 24.64 -14834.70 Computer Vision 0 q 0 Mittelwert: Varianz: Standardabweichung (): Schiefe: 255 173.65 606.94 24.63 -14834.90 1_Seite 9 Textur: Zentrale Momente Informationsgewinnung h(q) 1 Mittelwert: Varianz: Schiefe: 0 123.66 606.94 -14834.70 << 0 q 0 255 h(q) Mittelwert: Varianz: Schiefe: 1 0 111.28 1394.38 8561.81 >> 0 q 0 255 h(q) Mittelwert: Varianz: Schiefe: 1 0 g(x,y) = 128 + 10 s(x,y) s(x,y) ~ N(1,0) 127.48 100.37 -12.08 0 q 0 255 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: 1 BH 1 n BH H 1 B 1 j 0 i 0 g (i, j) H 1 B 1 j 0 i 0 n g ( i , j ) 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) Beispiel: P2 1 ● Ist Q die Anzahl der unterschiedlichen Grauwerte (z.B. Q = 256), so die Coocurrence-Matrix C = (c ij) eine QQ-Matrix mit c ij = Anzahl, wie oft g(u,v) = i und g(Pkl(u,v)) = j 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 0 0 0 1 2 1 1 0 1 1 2 2 1 0 0 1 1 0 2 0 0 0 1 0 1 Bild 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 initialisierte Matrix P11 (0,0) = (1,1) P11 (1,0) = (2,1) P11 (2,0) = (3,1) 4 2 0 2 3 2 1 2 0 normieren P11 (4,4) = (5,5) Computer Vision 4 2 0 1 C 2 3 2 16 1 2 0 Coocurrence-Matrix 1_Seite 13 Textur: Coocurrence-Matrix Informationsgewinnung Beispiel 1: ● Anzahl Grauwerte Q = 3, g e {0,1,2} ● Positionsoperator P11 0 0 0 1 2 1 1 0 1 1 2 2 1 0 0 1 1 0 2 0 MerkmalOperator 4 2 0 A 2 3 2 1 2 0 normieren 4 2 0 1 C 2 3 2 16 1 2 0 0 0 1 0 1 CoocurrenceMatrix Bild Computer Vision 1_Seite 14 Textur: Coocurrence-Matrix Informationsgewinnung Beispiel 2: ● Anzahl Grauwerte Q = 2, g e {0,1} ● Positionsoperator P11 1 0 1 0 0 0 1 0 1 1 0 1 Bild 0 0 1 1 MerkmalOperator 1 3 A 3 2 normieren Faustregel: Pfeilanfang = Zeilenindex Pfeilspitze = Spaltenindex C 1 1 3 9 3 2 CoocurrenceMatrix 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 max (cij ) i, j ● 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. cij i 2 j ● 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. cij log (cij ) i j 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. i j c ij i j ● Differenzmoment der Ordnung k k i j cij i j Beispiel k = 2: Ähnlich zum Kontrast wird die mittlere quadratische Grauwertdifferenz gemessen. Dabei werden große Differenzen überproportional gewichtet. ● Inverses Differenzmoment der Ordnung k (gegenteilig zum Differenzmoment) cij (i j ) i k j Computer Vision 1_Seite 18 Textur: Vgl. der Kontrast-Maße Informationsgewinnung Vergleich Kontrast Original Q 1 2 q 2 h(q) q 0 Varianz i j c ij i j Kontrast Cooc.Matrix P11 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? 10 8 1 0 0 8 10 8 1 0 1 1 8 10 8 1 120 0 1 8 10 8 0 0 1 8 10 i j c ij i j 0 1 1 2 66 8 10 1 0 1 2 8 2 1 0 1 2 8 2 1 0 1 10 8 2 1 0 ● Beispiel Differenzenmomente: Welche Coocurrence-Matrix weist auf einen hohen, welche auf einen niedrigen Kontrast hin? k i j cij i j 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. Bild g(u,v) du dv X 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‘ Normiertes Histogramm: Differenzbild: d(u,v) = g(u, v) - g(u + du, v + dv) d = g – g‘ Normiertes Histogramm: hs(q) = Hs(q) / Hs(q) hd(q) = Hd(q) / Hd(q) Hs(q) = Anzahl von Bildpunkten mit GW q Computer Vision Hd(q) = Anzahl von Bildpunkten mit GW q 1_Seite 22 Textur: Unser‘s Histogramme Informationsgewinnung X gm,n gm+du,n+dv X sm,n = gm,n + gm+du,n+dv dm,n = gm,n - gm+du,n+dv hd(q) hs(q) 1 1 X X q 0 0 511 Computer Vision q -255 255 1_Seite 23 Textur: Maße aus Unser‘s Histogrammen Informationsgewinnung Summen Differenzen ● Mittelwert 2Q sUnser q hs (q) Q Unser d q 0 q h (q) d q Q ● Kontrast 2Q (q q 0 ● Energie (Homogenität) ) hs (q) Unser 2 s Q Unser 2 ( q ) hd (q) d i Q Q hs (q) 2Q 2 h ( q ) d 2 q 0 i Q ● Entropie (Unstrukturiertheit) 2Q h (q) ln h (q) q 0 s Computer Vision s Q h (q) ln h (q) i Q d d 1_Seite 24 Textur: Vgl. der KontrastMaße Informationsgewinnung Vergleich der Summen-Maße Original Kontrast Entropie (Unstrukturiertheit) Computer Vision Energie (Homogenität) 1_Seite 25 Textur: Vgl. der KontrastMaße Informationsgewinnung Vergleich Kontrast Original Q 1 2 q h(q) i j c Varianz Kontrast Cooc.Matrix P11 2 q 0 ij i j Computer Vision 2Q (q q 0 ) hs (q) Unser 2 s Kontrast Unser‘s Summe Q (q i Q ) hd (q) Unser 2 d Kontrast Unser‘s Differenz 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 natürliche Texturen Zellbilder Stoffe Drucke künstlicher Texturen Diverse Texturen natürliche Texturen Quelle: Computer Vision and Applications Computer Vision Hon Metalloberflächen 1_Seite 28 Textur: Anwendung Informationsgewinnung Beispiel: Markierung von bewaldeten Flächen im Stadtgebiet Computer Vision 1_Seite 29 Textur: Anwendung Informationsgewinnung Beispiel: Markierung von bewaldeten Flächen im Stadtgebiet Erinnerung: Merkmal Operator N Merkmal 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 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 Textur: Anwendung Informationsgewinnung Beispiel: Prozentuale Belegung von Parkplätzen Parkplatzszene gestört durch Kompressionsartefakte Parkplatzszene Computer Vision 1_Seite 32 Textur: Charakterisierung von Maßen Informationsgewinnung Ein Texturmaß m, das für diese Bilder dieselben Werte liefert, heißt ● translationsinvariant m( g ( x, y )) m( g ( x d x , y d y )) dx, dy verschoben gedreht ● rotationsinvariant m( g ( x, y )) m( g ( x cos y sin , x sin y cos )) 0,2 Objekt skaliert ● skalierungs- bzw. skaleninvariant m( g ( x, y )) m( g (x, y )) Computer Vision 0 1_Seite 33 Textur: Invariante Maße Informationsgewinnung ● Zentrale Momente aus Histogrammen translationsinvariant rotationsinvariant ● Maße aus der Coocurrence-Matrix translationsinvariant ● Maße nach Unser translationsinvariant 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 m pq p q x y g ( x, y) dx dy 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: m00 g ( x, y) dx dy Gesamtmasse von g m10 x g ( x, y) dx dy Computer Vision 1_Seite 35 Textur/Form: Zweidimensionale Momente Informationsgewinnung ● Die um den Massenschwerpunkt x , y von g verschobenen Momente pq p q ( x ) ( y ) g ( x, y ) dx dy mit x y x m10 m00 und y m01 m00 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) H 1 B 1 pq ( x x ) p ( y y ) q g ( x, y) y 0 x 0 x x g ( x, y ) g ( x, y ) x, y x, y und y y g ( x, y ) g ( x, y ) x, y x, y ● 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: Q 1 n q n h(q) q h( q ) q q 0 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) 2 11 arctan 20 02 1 2 x y x‘ ● Exzentrität: Verhältnis von Länge zu Breite (bezogen auf die Hauptachsen) und Maß für die Rundheit (rotationsinvariant) y‘ 20 02 2 4112 20 02 2 Computer Vision x, y x‘, y‘ Achsen des Bildkoordinatensystems Hauptachsen Schwerpunkt 1_Seite 38 Textur/Form: Zweidimensionale Momente Informationsgewinnung Zentrale Momente bis zur Ordnung 3 im Zusammenhang mit regulären Momenten: 10 ( x x )1 ( y y ) 0 f ( x, y ) m10 x y 11 ( x x )1 ( y y )1 g ( x, y ) m11 x y m10 m00 0; 01 0; m00 m10m01 ; m00 2 2 2m m 20 ( x x ) ( y y ) g ( x, y ) m20 10 10 m00 m00 x y 2 0 2 m m20 10 ; m00 2 m 02 ( x x ) ( y y ) g ( x, y ) m02 01 ; m00 x y 0 2 30 ( x x ) 3 ( y y ) 0 g ( x, y ) m30 3 x m20 2 x 2 m10 ; x y 12 ( x x )1 ( y y ) 2 g ( x, y ) m12 2 y m11 x m02 2 y 2 m10 ; x y 21 ( x x ) 2 ( y y )1 g ( x, y ) m21 2 x m11 y m20 2 x 2 m01; x y 03 ( x x ) 0 ( y y )3 g ( x, y ) m03 3 ym02 2 y 2 m01; x y Computer Vision 1_Seite 39 Textur/Form: Zweidimensionale Momente Informationsgewinnung ● Die zentralen Momente pq können außerdem normiert werden: pq pq 00 mit pq 1 2 für p q 2,3,... ● 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 pq 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): 1 20 02 2 (20 02 ) 2 4112 3 (30 312 ) 2 C 4 (30 312 ) 2 (21 03 ) 2 5 (30 312 )(30 12 ) [(30 12 ) 2 3(30 312 )] (321 03 )(21 03 )[3(30 12 ) 2 (21 03 ) 2 ] 6 (20 02 )[(03 12 ) 2 (21 03 ) 2 ] 4 11 (30 12 )(21 03 ) 7 (321 03 )(30 12 )[(30 12 ) 2 3(21 03 ) 2 ] (312 30 )(12 03 )[3(30 12 ) 2 (21 03 ) 2 ] Computer Vision 1_Seite 41