Dr. Wolf-Tilo Balke, Universität Hannover Information Retrieval und Multimedia Datenbanken 1 Vorlesung 09.06.06
Stochastische Modelle - Random Field Modelle
Random Field Modelle Beobachtung: Texturen sind von lokaler Natur und wiederholen sich periodisch Generierung von Texturen (Synthese) benötigt stochastische Modelle Möglichkeit den Helligkeitswert eines Pixels in einem Bildausschnitt vorherzusagen Wahrscheinlichkeit, daß ein Pixel einen bestimmten Helligkeitswert hat Ein festes Modell erzeugt verschiedene, aber immer recht ähnliche Texturen
Random Field Modelle Denselben Trick kann man auch für die Textur-Beschreibung und das Matching benutzen Welches Modell (Parameter) erzeugt die vorliegenden Texturen am besten? Unter Annahme eines Modells, das alle Texturen in der Kollektion erzeugt hat, dienen die Parameter des Modells für jedes Bild als vergleichbare Features
Beispiel Modell X generiert Texturen Gegeben ein Pixel und seine Umgebung: Was ist der erwartete Intensitätswert? Offensichtlich unterschiedlich, d.h. Modell X hat verschiedene Parameter für die Bilder gestreift unregelmäßig
Ansatz Ein Bild mit Textur ist ein zweidimensionales Feld mit Zufallszahlen an jedem Punkt Nimmt man die Intensität an jedem Punkt als Zufallsvariable kann man das Bild als Funktion modellieren F(r,w) mit r als (2-dim) Vektor des Pixels und w als Zufallsvariable Für jeden Wert von r ist auch F(r,w) eine Zufallsvariable, weil w Zufallsvariable ist F(r,w) nennt man ein Random Field
Ansatz Jede Textur-Intensitätsverteilung eines bestimmten Bildes in der Datenbank ist Beobachtung eines Random Fields Random Field Modelle machen Annahmen über diese Intensitätsverteilungen und benötigen Beobachtungen über die Intensitäten der Umgebung (meist eine symmetrische Umgebung um das Pixel) einige Modell-Koeffizienten und eine Noise- Sequenz
Lokale Eigenschaft von Textur Wovon ist die erwartete Intensität eines Pixels abhängig? Bei ausreichend regelmäßigen Texturen gilt die Lokalitätsaussage Rechter und linker Nachbar weiß und oberer und unterer Nachbar schwarz ergibt eine hohe Wahrscheinlichkeit für das rote Beispielpixel auch weiß zu sein
Markov-Eigenschaft Hat man eine Menge von Beobachtungen {y(s)} der Nachbarschaft N eines Pixels liegt es nahe, zu erwarten, daß Pixelintensitäten lokal korreliert sind und man ein Markov Modell annehmen kann: P[y(s) alle y(r), r s] = P[y(s) alle y(s+r), r N] Also sind die Wahrscheinlichkeiten aller Zustände nur von den Zuständen der Umgebung abhängig
Textur-Modell Jetzt muß ein Modell definiert werden, das die wirklich auftretende (beobachtete) Verteilung am besten wiedergibt Es gibt viele Klassen von Texturmodellen Für jede Kollektion muß man sich auf ein gemeinsames Modell festlegen und dann die besten Parameter für jedes Bild der Kollektion berechnen
Textur-Modell Beliebte Klasse von Modellen für Texturbeschreibungen ist das Simultane Autoregressive Modell (SAR) y(s) = Σ θ(r) y(s+r) + β w(s) r N y(s) sind sind die Beobachtungen an Punkt s w(s) ist weißes Rauschen mit Erwartung 0 und Varianz 1 θ(r), β sind charakteristische Parameter und werden als Features zum Matching genutzt
Textur-Modell Problem: Beste Größe der Nachbarschaft eines Pixels ist für verschiedene Periodizitäten von Texturen verschieden Leider nicht trivial Multiresolution Simultaneous Autoregressive Model [J. Mao and A. Jain, 92]
Zusammenfassung Random Field Modelle bieten eine gute niederdimensionale Beschreibung von Texturen Annahmen: Die Markov Bedingung gilt, i.e. der Zustand eines Pixels wird hinreichend genau von seiner Nachbarschaft beschrieben Die Größe der Nachbarschaft wurde für die Kollektion gut gewählt
Transform Domain Features
Transform Domain Features Bei Low-Level Features wählt man Descriptoren für bestimmte Aspekte wie die Grobkörnigkeit oder den Kontrast aus und bettet sie in einen Vektorraum ein High Level Features beschreiben das komplette Bild in einer anderen Domäne Dabei wird das Bild als Signal aufgefaßt und mathematisch transformiert
Bild als Signal Ein Bild ist eine diskrete Funktion bei der jedem Ort eines Pixels (x,y) die Intensität I(x,y) zugeordnet wird F(x,y): R 2 I : (x,y) I(x,y) Die entstehende Funktion ist im Ortsraum (auch Impulsraum) definiert
Beispiel: Ortsraumdarstellung Grauwert-Bild und die Darstellung im Ortsraum (I = [0,255])
Untersuchung der Periodizität Bilder haben eine begrenzte Größe und diskrete Unterschiede in den Pixeln Jedes Bild wird um den Nullpunkt eines zweidimensionalen Koordinatensystems zentriert Periodische Muster erzeugen auch periodische Funktionen, die durch Überlagerungen von Sinus- und Cosinus-Schwingungen beschrieben werden können
Beispiel (eindimensional) z.b. Cosinusfunktionen
Grundlagen Gegeben eine stetige, zeitabhängige und periodische Funktion f(t) Periodisch mit Periode T: f(t) = f(t+t) Jean Fourier: f läßt sich aus periodischen, harmonischen Schwingungen zusammensetzen Sinus-/Cosinusterme mit verschiedener Phase und Amplitude und genau definierter Frequenz Sinus ist Phasen-verschobener Cosinus, also reicht eine der beiden Funktionen
Grundlagen Z.B. N+1 Summanden also für N+1 verschiedene Frequenzen Die Einzelschwingungen haben Kreisfrequenz nω, also Frequenz nω/2π, d.h. Grundschwingung hat Frequenz 1/T, nächste Schwingung 2/T,
Grundlagen Umschreibung der Reihe in komplexe Darstellung Euler-Theorem: Also: Kurz:
Grundlagen Mit komplexen Koeffizienten:, c 0 : = a 0, Kann die Summe geschrieben werden als: Wichtig ist die Größe der Koeffizienten
Grundlagen Multipliziere Gleichung mit e imωt und integriere über dem Intervall [0,T]:
Grundlagen, n=0, n 0 wegen ωt = 2π gilt e inωt = (e 2πi ) n = 1 : = 0
Grundlagen Koeffizienten: Für alle differenzierbaren Funktionen konvergiert die Summe gegen die Ausgangsfunktion:
Untersuchung der Periodizität Verallgemeinerte Fouriertransformation Zerlegung einer Funktion in ein System von Basisfunktionen Voraussetzungen: Integrierbare Funktion, Abfallend im Unendlichen Für Bilder: zweidimensionale Basisfunktionen (z.b. Cosinus)
Frequenzraumdarstellung Transformation vom Ortsraum in den Frequenzraum Der Betrag der Fourier-Transformierten kann als Frequenzbild dargestellt werden
Frequenzraumdarstellung Horizontale Frequenzen werden horizontal im Frequenzbild aufgetragen Vertikale Frequenzen werden vertikal aufgetragen
Frequenzraumdarstellung Eigenschaften: Symmetrisch zum Ursprung Oberschwingung Hauptschwingung Amplitude (Stärke) Größe der Periode {
Transform Domain Features Typische Features, die in der Texturanalyse Verwendung finden sind Diskrete Fourier Transformation (DFT) Diskrete Cosinus Transformation (DCT) Wavelet Transformation Gabor Filter
Diskrete Fourier-Transformation Annäherung der Intensitätsfunktion durch Sinus-Funktionen Bildinformation ist diskret und an äquidistanten Orten beobachtet Das Signal hat eine endliche Länge (N) Der Betrag der Koeffizienten wird nur an einer endlichen Anzahl von Frequenzen berechnet Die Integrale zur Berechnung der Fourier- Koeffizienten werden bei der Diskretisierung zu Summen
Diskrete Fourier-Transformation Eingabe: Ein Bild als Matrix G(r,c), dann ist die Fourier-Transformation gegeben durch N-1 u v 0 N-1
Diskrete Fourier-Transformation Der Betrag der komplexen Transformierten ist gegeben durch die Wurzel über die Summe der Quadrate von Realund Imaginärteil Die Beträge geben das Fourierspektrum, also wie viel von welcher Frequenz im Signal enthalten ist Berechnung zur Featureextraktion meist durch FFT (Fast Fourier Transform)
Diskrete Cosinus-Transformation Analog zur Diskreten Fourier Transformation, nur auf Cosinus-Funktionen Wird z.b. in der Codierung von JPEG- Bildern zur Kompression benutzt Bei DFT und DCT wird das Leistungsspektrum (power spectrum), also die Koeffizienten, zum Vergleich genutzt
Wavelet Transformation Annäherung der Intensitätsfunktion durch eine andere Klasse von Funktionen Fourier-Transformation und das erzeugte Spektrum zeigt die enthaltenen Frequenzen, aber nicht zu welcher Zeit genau sie enthalten sind Wavelet Transformationen versuchen die Funktion aus einer lokalen Basisfunktion (Mother Wavelet) in verschiedenen Auflösungen und Verschiebungen aufzubauen Wavelets sind damit lokal in der Frequenz (durch Skalierung) und in der Zeit (durch Verschiebung)
Wavelet Transformation Funktionsklasse sind lokale integrierbare Funktionen mit Integral = 0
Wavelet Transformation Hat man sich für ein Wavelet Ψ(x) entschieden, kann man durch geeignete Verschiebungen und Skalierungen eine Basis erzeugen {Ψ( (x-b)/a ) (a, b) R + x R } Normalerweise nimmt man spezielle Werte für die Wavelet-Basis a = 2 -j und b= k*2 -j für ganzzahlige k und j Diese Werte heißen critical sampling
Wavelet Transformation Baby-Wavelets Ψ 1,0 (x) Gestaucht um Faktor 2 Ψ 1,1 (x) Verschoben um 0.5 Ψ 2,0 (x) Ψ 2,1 (x) Ψ 2,2 (x) Ψ 2,3 (x) Je kleiner die Skalierung desto mehr Verschiebungen (exponentiell)
Wavelet Transformation Die Basis kann auch mit Hilfe einer Skalierungsfunktion φ 0,0 dargestellt werden Für Haar-Wavelets ist die Skalierungsfunktion die Einheitsfunktion auf [0,1[ (1(0 x <1)) Jeder 2 n -dim. Datenvektor y = {y 0,,y n 2-1 } kann dann auf [0,1[ durch eine stückweise stetige Funktion dargestellt werden
Wavelet Transformation Da Treppenfunktionen finit sind, kann das auch durch die Skalierungsfunktion und Haar-Wavelets ausgedrückt werden
Wavelet Transformation Einfachstes Beispiel: Haar-Wavelet 1 auf [0,0.5[, -1 auf [0.5,1[ Die zugehörigen Funktionen ergeben eine orthogonale Basis in L 2 (R) (quadratisch integrierbare Funktionen) Orthonormal durch Faktor 2 0.5*j Ψ 0,0 (x) (mother wavelet)
Wavelet Transformation Beispiel: Beschreibe Treppenfunktion gegeben durch y = (1,0,-3,2,1,0,1,2) Auflösung z.b. j=0,1,2 Basis mit Orthonormierungsfaktor 2 0.5*j = {1, 2, 2} zu {d 0k, d 1k, d 2k }
Wavelet Transformation Lösung des Gleichungssystems bringt die Koeffizienten für jedes Wavelet
Wavelet Transformation Lösung Ergibt die Funktion Probe: :
Multi-Resolution Analysis (MRA)
Multi-Resolution Analysis Wavelet Transformation liefert hoch-dim. Basissysteme für höhere Auflösungen Lange Vektoren durch Matrixmultiplikation berechnen? Viel zu aufwendig! Lösung: Multi-Resolution Analysis Idee: Betrachte ein Bild in verschiedenen Auflösungen
Bildauflösungen Averaging in verschiedenen Auflösungen Bilde Durchschnitte über die Intensitäten von jeweils 2x2 Pixel Averaging & Downsampling
Multi-Resolution Analysis V j ist das normale Bild, V j-1 etwas schwächer aufgelöst,, bis V 0 ein Pixel mit der durchschnittlichen Intensität ist Die V i heißen Skalierungsunterräume Alle V i sind ineinander enthalten Vj Vj+1 Sie müssen das ganze Bild voll überdecken Für jedes V i gibt es ein orthogonales Komplement W i und die Basisfunktion in W i ist das Wavelet
Multi-Resolution Analysis Fischgrätenzerlegung:
Beispiel Benutze verschiedene Filter zur Kompression [9 7 3 5] (9+7)/2 = 8 (9-7)/2 = 1 Averaging & (3+5)/2 = 4 Differencing (3-5)/2 = -1 [8 4 1 1] (8+4)/2 = 6 (8-4)/2 = 2 [6 2 1 1] Die hohen Zahlen [9,7,3,5,8,4,6] (Details) sollen ersetzt werden durch kleine Differenzen [2,1,-1] In Bildern sind benachbarte Pixel ähnlich, also die Differenz meistens 0, nur starke Intensitätsunterschiede bleiben im komprimierten Bild erhalten
Beispiel Orthogonale Trennung der hohen Zahlen (Details) von den niedrigen über Filter Überdeckt das ganze Signal Hochpass- und Tiefpassfilter X(ω) X LP (ω) X HP (ω) π π π
Multi-Resolution Analysis Benutze Bildfilter über den Wavelets für das Averaging and Differencing Hochpassfilter (Details) und Tiefpassfilter (Durchschnitte) Vier mögliche Anwendungen beider Filter HH, HT, TH, TT ( subbands ) Speichere die Ergebnisse des Hochpassfilters für die spätere Rekonstruktion des Bildes
Multi-Resolution Analysis Filtering and Downsampling
Multi-Resolution Analysis Verschiedene Bildauflösungen HH HT TH TT
Multi-Resolution Analysis Featurevektor Speichere den Erwartungswert und die Standardabweichung des Leistungsspektrums in jeder Auflösung Z.B. 3-stufige Auflösung gibt einen 20-dim Featurevektor
Gabor-Filter Anderes Maß zur Texturanalyse Eng verwandt mit Wavelet und Fourier Transformation Die Lokalität wird durch eine Fourier- Transformation einzelner, aber zusammen das ganze Bild überdeckender Bildteile erzeugt ( gefensterte FT )
Gabor-Filter Bringt Lokalitätsaussagen über die Frequenzen der Fouriertransformation durch Fenster um Punkte des Originalbilds Das Fenster wird durch eine beidseitig schnell abfallende Funktion definiert Bei Gaborfiltern sind das Gaußfunktionen
Gabor-Filter Gabor-Filter minimieren die gemeinsame Unsicherheit (Unschärfe) von Zeit und Frequenz Ein zweidimensionaler Gaborfilter ist definiert als g(x,y) := (1 / 2πσ x σ y ) exp[-0.5 (x 2 /σ x2 + y 2 /σ y2 )] exp[2πiwx]
Gabor-Filter Für Extraktion von Texturfeatures wird ein Bild mit Gaborfiltern in verschiedenen Skalierungen und Orientierungen gefiltert Dann nimmt man wieder Erwartungswert und Standardabweichung der verschiedenen Leistungsspektren der Transformationskoeffizienten
Vergleich von Textur-Features Featurevektoren der Koeffizienten ganz normal über L 1 -Norm, euklidischen Abstand, Mahalanobis-Distanz Die Leistungsspektren der DFT, DCT, Gaborfilter sind Histogramme die normalisiert werden können und dann mit der Kullback-Leibler Divergenz verglichen werden können
Vergleich von Textur-Features Kullback-Leibler (K-L) Divergenz ( relative Entropie ) Gegeben ein f als Wahrscheinlichkeitsverteilung (normalisiertes Histogramm) dann ist die Distanz zwischen Bildern I,J: D(I,J) := Σ f k,i * log(f k,i / f k,j ) k Symmetrisch, wenn man (D(I,J)+D(J,I))/2 nimmt
Anwendungsstudie zur Textur Wofür braucht man Texturfeatures eigentlich? Beschreibung von Bildeindrücken Codierung von Semantik
Heron Bildinhaltliche Suche auf Digitalen Bibliotheken DFG-Schwerpunkt (1998-2002) Untersuchung auf heraldischen Datenbanken (begrenzte Farben, stilisierte Elemente) Middleware-Entwicklung
Besonderheiten von Wappenbildern Features: Farbe: schwarz / weiß Textur: Schraffuren Form: stilisierte Symbole Segmentierung
Codierung von Farbinformation
Idee: Schraffureinfärbung
Schraffurerkennung mit Operatorfenster Gradientenmethode (z.b. Sobel-Filter)
Texturbilder Abtastung und Einfärbung der Fenster
Trick Kommerizielle MM-Datenbanken legen die Metadaten in Katalog-Files ab Erfasse die Schwarz-weißen Wappenbilder mit Farbinformation Erfasse dann die eingefärbten Texturbilder und vertausche die beiden Farb-Katalogfiles in der Datenbank Erntferne die Texturbild-Datenbank
Farbverteilungen Extraktion von Farbhistogrammen für Textur-codierte Schwarzweißbilder
Schraffurentfernung Ermöglicht das Freistellen von Formen
Fünf Fälle Silber Schwarz Kreuzschraffur Gold Farbschraffur
Silber Einfache morphologische Segmentierung
Schwarz Invertierung, danach morphologische Segmentierung
Kreuzschraffur Rundheit Gitterpunkte Fläche Kompaktheit
Gold Simpler Filter Goldpunkte
Farbschraffur - Gradienten-Filterung Ableitung in x-richtung: x Zerlegt leider auch das Motiv
EXtended Line Descriptors Transformation in vektorielles Bild Entfernung paralleler Vektoren Zerlegt wieder das Motiv
Filterung im Frequenzraum
Filterung im Frequenzraum
Farbschraffur - Vergleich der Verfahren Gradient XLD Fourier
Zusammenfassung Texturerkennung zum Bildvergleich, aber auch Extraktion von Semantischer Information Segmentierung von Bildmaterial Einfache Low Level Features sind manchmal anwendbar (Kreuzschaffur) Fourierfilterung bringt durchaus gute Ergebnisse bei gleichmäßigen, gerichteten Texturen (Farbschraffur)