CV5_Texturextraktion..

Werbung
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
 
BH
1
n 
BH
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 QQ-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  4112

 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  
pq
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  4112
3  (30  312 ) 2  C
 4  (30  312 ) 2  (21  03 ) 2
5  (30  312 )(30  12 )  [(30  12 ) 2  3(30  312 )] 
 (321  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  (321  03 )(30  12 )[(30  12 ) 2  3(21  03 ) 2 ] 
 (312  30 )(12  03 )[3(30  12 ) 2  (21  03 ) 2 ]
Computer Vision
1_Seite 41
Herunterladen