Dr. Wolf-Tilo Balke, Universität Hannover Information Retrieval und Multimedia Datenbanken 1 Vorlesung 26.05.06
Retrieval von Bild-Daten
Bildmaterial Bilder sind zweidimensionale Arrays Jedes Tupel ist ein Pixel gekennzeichnet durch Koordinaten Farbwert j-te Zeile i-te Spalte
Beschreibung von Bildern Low Level Features: Zerlegung in Farbe Textur Formen High Level Features: Das ganze Bild als Eingabesignal Fourier-Transformation Wavelets Etc.
Beispiel: Low Level Farbfeatures Annahme: Ähnliche Farben können ähnliche Dinge darstellen Informationsverlust durch Low Level Features Beispiel: Sonnenuntergang (rot, orange, gelb)
Aussagekraft Trennt oft recht gut Ein Frosch ist kein Sonnenuntergang Muß aber nicht immer Orange Frösche sind auch kein Sonnenuntergang
Abgrenzung Kombination mehrerer Low-Level Features bringt in der Regel bessere Abgrenzung Semantik ist nicht immer ersichtlich Sonnenuntergang vs. Sonnenaufgang Roter Ball am Strand
Beispiel: High-level Feature Fouriertransformation Bild als Signal Ortsraum (normales sichtbares Bild) und Frequenzraum (Frequenz und Position der Pixel) Kein Informationsverlust (innerhalb der Rechengenauigkeit) Schwer interpretierbar
Orts- und Frequenzraum
Farbfeatures
Farbfeatures Wichtiger Bestandteil der menschlichen Wahrnehmung Wichtig für Erkennung und Abgrenzung visueller Information Relativ einfach zu extrahieren und zu vergleichen Festlegung eines Farbraums
Farbräume Multidimensionale Räume, in denen verschiedene Dimensionen die verschiedenen Farbkomponenten beschreiben Entsprechen der Wahrnehmung von farbigem Licht durch 3 unabhängige Rezeptoren, die bei verschiedenen Wellenlängen stimuliert werden Rot=700 nm, grün=546.1 nm, blau=435.8 nm Sichtbares Licht = [380, 780] nm
RGB Farbraum 3-dim euklidischer Vektorraum Jede Komponente entspricht Grad der Stimulierung (0-255) Additive Farbmischung mit den Grundfarben rot, grün und blau (Primärfarben) Vorstellung: Jede Farbe wird durch eine Taschenlampe auf die Oberfläche gestrahlt, je mehr Licht von jeder Lampe desto heller wird die Mischung (deshalb additiv)
RGB-Farbraum (0, 0, 0) schwarz (255, 255, 255) weiß (255, 0, 0) rot (0, 255, 0) grün (0, 0, 255) blau (255, 255, 0) gelb (0, 255, 255) cyan (255, 0, 255) magenta
RGB Farbe Gute Repräsentation des sichtbaren Lichts Aber schlechte Benutzbarkeit für die Ähnlichkeitssuche Keine gleichmäßige Veränderung der Wahrnehmung von Farb(un-)ähnlichkeit Gleiche Distanzen in verschiedenen Gebieten oder verschiedenen Dimensionen führen nicht zu gleicher Farbähnlichkeit
Beispiel Magenta: mehr Rot oder Blau? Im RGB-Raum gleich viel!
Optimaler Farbraum Idee: Transformiere RGB Farbinformation, um den Raum besser bezüglich der menschlichen Wahrnehmung zu partitionieren Problem: Es ist kein einziger Farbraum mit gleichförmiger Wahrnehmung bekannt Für Farbfeatures sucht man einen möglichst guten Raum Hoffnung: Abstand im Raum gibt auch den Abstand in der Wahrnehmung wieder
YUV Lineare Transformation aus RGB Grundlage für PAL, SECAM Standards Schlechte Perzeption
CMYK Subtraktive Farbmischung Druckfarben cyan magenta gelb schwarz (key)
Perzeptionelle Farbräume Versuch die Farben bezüglich der menschlichen Wahrnehmung zu sortieren und anzuordnen Streckung der Abstände zwischen perzeptionell unähnlichen Farben Stauchung der Abstände zwischen perzeptionell ähnlichen Farben Erhaltung der Distanzen im Raum als Distanzen in der Wahrnehmung
Munsell Amerikanischer Maler Book of Colors, 1905 Diskreter Raum basierend auf empfundener Farbähnlichkeit
Munsell Benachbarte Farben haben gleichen perzeptionellen Abstand Belegt durch pschologische Tests Nachteile Abstände von nicht benachbarten Farben sind nicht Wahrnehmungs-erhaltend Keine bekannte Transformation von RGB
Weitere Farbräume Commission International de l Eclairage (Int. Standardisierungskommission für Beleuchtung) schlägt bessere perzeptionelle Räume mit nicht-linearen Transformation der RGB- Werte vor CIE 1976(L*a*b*) CIE 1976(L*u*v*) Leider sehr komplex zu berechnen
HSV Farbraum Hue, Saturation, Value (Farbtyp, Sättigung, Helligkeit) Nicht-lineare Transformation aus RGB, aber leicht invertierbar
HSV Farbraum HSV Farbraum ist intuitiv und einfach verständlich Annähernd Wahrnehmungs-erhaltend Diskretisierung ergibt gutes Farbspektrum für Ähnlichkeitssuchen Im MPEG-7 Standard als einer der Farbräume für Bild-Descriptoren eingesetzt
Vergleich von Bildmaterial Jedes Pixel eines Bildes trägt Farbinformation Bilder bestehen aus vielen Pixeln Aggregation für Vergleiche? Durchschnittsfarbe Farbhistogramme Farb-Layout
Durchschnittsfarbe Berechne Durchschnitte über die RGB- Werte aller Pixel und normalisiere mit Anzahl der Pixel
Durchschnittsfarbe Vergleich von Bildern durch den euklidischen Abstand der Durchschnittsfarbe Sehr schlechtes Ähnlichkeitsmaß Durchschnittsfarben müssen im Bild nicht notwendigerweise vorkommen Bild in rot und blau gibt Durchschnittsfarbe magenta
Durchschnittsfarbe Perzeptionell eher fragwürdig Aber: Schnell und leicht zu berechnen/vergleichen Kann zum Ausschluß von Bildern benutzt werden (vorherrschende Farbe bedingt Durchschnittsfarbe, Umkehrung gilt nicht) Z.B. Suche nach weitestgehend blauen Bildern: schließe alle Bilder mit roten, gelben oder grünen Durchschnittsfarben aus
Durchschnittsfarbe Spezifikation entweder direkt durch Farbwerte oder Color Wheel, Sliders, etc.
Durschnittsfarbe Beispielanfrage (QBIC Tool von IBM) Heron Project, Universität Augsburg
Farbhistogramme
Farbhistogramme Wesentliches Maß für in Bildmaterial auftretende Farben sind Farbhistogramme Partitionierung des Farbraums z.b. oft 256 unterscheidbare Farben oder 24-Bit Farbbilder ergeben 2 24 Farben (RGB) Eine Histogrammsäule für jede Farbe Höhe der Säule entspricht der normalisierten Anzahl der Pixel mit der Farbe im Bild
Farbhistogramme Besser als Durchschnittsfarbe Alle Farben in Histogrammsäulen treten echt im Bild auf (127,0,127) (0,0,254) (254,0,0) Durchschnittsfarbe (127,0,127) (127,0,127) Histogramm 1 1
Farbhistogramme Beispiel mit IBM s QBIC Tool (64 Farben) Heron Project, Universität Augsburg
Farbquantifikation Disjunkte Partitionierung des Farbraums durch Vektorquantifikation Q C mit Dimension k und Größe M ist die Abbildung von k-dim Vektoren in eine finite Menge C mit M Objekten Q C : R k C, C := {y 0,,y M-1 } Die Menge C heißt Codierung (Codebook) und jedes y i ist ein Codewort Für Farben k = 3 und y i sind Farbpunkte
Farbquantifikation Anforderungen an die Partitionierung Möglichst nur perzeptionell ähnliche Farben in jeder Partition Jedes Codewort soll die Farben der Partition möglichst gut repräsentieren (sehr häufig Centroide der Partionsräume als Codeworte) Möglichst geringe Anzahl von Partitionen (Effizienz der Suche)
Farbquantifikation im HSV Q C 166 [J.R. Smith, 97] HSV ist zylindrisch Farbtyp (Hue) ist am wichtigsten (geteilt in 18 20 -Segmente) Für Sättigung (Saturation) und Helligkeit (Value) reichen jeweils 3 Stufen 4 zusätzliche Grauwerte
Farbquantifikation im HSV Q C 166 ergibt damit 18 * 3 * 3 + 4 = 166 verschiedene Farben
Farbhistogramme Beispiel: Bild und seine Histogramme [J.R. Smith, 95] Originalbild RGB-Raum HSV-Raum
Farbhistogramme Farbhistogramme messen Anzahl von Bildpunkten in jeder Farbpartition Normalisierung (z. B. durch die Gesamtanzahl der Bildpixel) liefert Vergleichbarkeit zu anderen Bildern Vergleich mit anderen Histogrammen mit verschiedenen Metriken
Region Color Globale Beschreibung oder auch von einzelnen Bildsegmenten (Color Layout) Vergleich dann als gewichtete Summe der (Un-)Ähnlichkeit der einzelnen Regionen Erste Ansätze mit einfacher Gitteraufteilung [Hsu et al., 95] Später Ansätze für gängige Bildkompositionen (z.b. Vordergrundmotiv)
Region Color Z.B. [M. Stricker, A. Dimai, 96/ 97] Fuzzy Regions Weighted Regions
Vergleich von Histogrammen Minkowski Metrik für Histogramme h q,ha t M-1 d r q,t = Σ h q [m] h t [m] r m=0 r = 1: Histogramm L 1 -Norm (city block distance) r = 2 : Histogramm L 2 -Norm (euklidisch ) Funktioniert schlecht bei Farbverschiebungen, weil alle Säulen einzeln verglichen werden
Minkowski-Metrik h q [m] m h t [m] m
Minkowski-Metrik Oft wird statt der Minkowski-L 1 -Norm der sogenannte Histogrammschnitt benutzt M-1 S(h 1,h 2 ) = Σ min (h 1 [m], h 2 [m]) m=0 Im Fall norm. Histogramme direkt aus L 1 -Norm ableitbar d S (h 1,h 2 )= d L1 (h 1,h 2 )/2
Minkowski-Metrik Effizient zu berechnen, aber zieht die Ähnlichkeit von Farben nicht in Betracht Der Abstand zwischen einem roten und einem hellroten Bild ist genauso groß wie der zwischen einem roten und einem blauen
Vergleich von Histogrammen Quadratische Normen Werten die Beziehungen zwischen verschiedenen Farben im Histogramm Cross-talk Matrix A drückt paarweise Ähnlichkeiten a ij zwischen Farbe i und Farbe j aus (a ii = 1 und a ij = a ji ) d q,t = (h q h t ) t A (h q h t ) (z.b. in QBIC)
Quadratische Normen h q [m] m h t [m] m
Quadratische Normen Speziell: Histogram Mahalanobis Distanz Cross-talk Matrix ist Kovarianzmatrix einer (repräsentativen) Menge von Histogrammen In einer Bildsammlung häufig zusammen vorkommende Farben (die eher nicht zur Diskriminierung beitragen) werden dadurch beim Matching ignoriert Sind keinerlei Farben korreliert, ist die Kovarianzmatrix diagonal und die Metrik eine gewichtete L 2 -Minkowski Metrik
Vergleich von Histogrammen Farbkanalmetriken aggregieren die Werte für den R, B und G Kanal Recht ungenau, aber effizient zu berechnen Mean-Color-Distanz (Durchschnittsfarbe) Auch für höhere Momente möglich Variance-Color-Distanz (σ R2, σ G2, σ B2 ) Skewness-Color-Distanz Vergleich mit euklidischem Abstand
Vergleich der Metriken Trade-off: Komplexität der Berechnung vs. Genauigkeit der Beschreibung Z.B. einfache euklidische Distanz von dreidimensionalen Vektoren der Farbkanal- Momente gegenüber der 166x166 Matrixmultiplikation bei quadratischen Normen Aber die Crosstalk-Matrizen enthalten natürlich auch mehr Semantik als die Farbkanal-Momente
Experimenteller Vergleich Aus Experimenten in [J.R. Smith, 95] Quadratischer Abstand Farbkanalmetriken Minkowski Abstand
Experimentelle Ergebnisse Neuere Experimente für Farbanfragen [J.R. Smith, 02] ergaben Farbkanal-Metriken liefern i.a. ziemlich schlechte Retrieval-Genauigkeit Überraschenderweise war die Genauigkeit der Minkowski Normen und der quadratischen Normen für viele Bildsammlungen recht ähnlich Minkowski Metriken reichen im Normalfall für Multimediadatenbanken aus
Zusammenfassung Farbhistogramme sind wesentliche Low- Level Features Leider häufig extrem hochdimensional Arbeitsschritte: Selektion eines Farbraums Quantifikation des Farbraums Berechnung der Histogramme Festlegung der Distanzfunktion (Auswahl einer geeigneten Indexierung)
Oberflächenstrukturen und Texturmaße
Texturanalyse Texturen beschreiben die Beschaffenheit von Oberflächen Typische, periodisch wiederkehrende Muster auf Bildern Wichtig für die Beschreibung von Bildern Art der Darstellung (gerastertes Bild, etc.) Bildgegenstände (Natürliche Dinge, Gras, Kieselsteine, etc.) Künstliche Dinge (Ziegelsteinmauern, Tapete, etc.)
Beispiel Verschiedene geordnete und zufällige Texturen
Texturforschung Textursegmentierung Finde Bildbereiche (eine Bildzerlegung) mit homogenen Texturen Texturklassifikation Beschreibe und bezeichne homogene Texturen in Bildregionen (Textursynthese) Erzeuge Texturen für erhöhten Realismus in Bildmaterial (texture mapping, etc.)
Textursegmentierung Finde Bildregionen mit einer gewissen Textur Z.B. Wein Scene Decomposition
Textursegmentierung Farben und Texturen hängen oft zusammen Texturzerlegung liefert oft keine sinnvollen (semantisch zusammenhängende) Gebiete
Texturklassifikation Bezeichne die (segmentierten) Gebiete mit einer vorherrschenden Textur Medizinische Bilder (Tomographien, etc.) Satellitenbilder (Eis, Wasser, etc.) Beschreibe die jeweilige Textur mit geeigneten Features für Vergleiche in Ähnlichkeitsanfragen
Texturklassifikation Klassifikation kann semantisch erfolgen Texturen repräsentieren Objekte in der realen Welt Stark von der Anwendung abhängig Oder basiert auf rein beschreibenden Merkmalen Hat für den Menschen oft keine direkte Bedeutung Stellt Vergleichbarkeit zwischen verschiedenen Bildkollektionen sicher Query by Example
Texturklassifikation Beispiel: Satellitenbild (semantisch) Wasser Sand
Textur-Features Wie beschreibt man Texturen für Ähnlichkeitsmaße? Low-Level Features Grundbausteine (z.b. Julesz Textons) Tamura Maß, etc. High-Level Features Gabor-Filter, Fourier Transformation, etc.
Textur-Features Wie unterscheiden Menschen Texturen?
Textur-Features [A. Rao und G. Lohse, 93] geben drei wesentliche Kriterien: Wiederholung Orientierung Komplexität Kann man das messen?
Low Level Textur-Features 60-70iger Jahre: Grauwert-Analyse Grauwerthistogramme geben Aufschluß über Pixelintensität Können mittels Erwartungswert, Standardabweichung, etc. miteinander verglichen werden Ähnliche Muster erzeugen ähnliche Verteilungen der Grauwerte
Low Level Textur-Features Momente erster Ordnung beziehen aber die Position der Pixel nicht mit ein Periodizität schlecht feststellbar
Low Level Textur-Features Lösung: Momente höherer Ordnung Pixel an Position s habe Intensität q, I(s)=q Berechne die empirische Wahrscheinlichkeitsverteilung für die Intensitätsänderung auf m bei Verschiebung des Pixels um r P(q,m,r) :=Prob( I(s) = q und I(s+r) = m) Berechne die Grauwert-Co-Occurrence- Matrix als Moment höherer Ordnung [B. Julesz, 61]
Low Level Textur-Features Grauwert-Co-Occurrence-Matrix Betrachte alle Pixelpaare (x 1,y 1 ), (x 2,y 2 ) mit eukl. Abstand d := ((x 1 -x 2 ) 2 +(y 1 -y 2 ) 2 ) Punkt (x 1,y 1 ) habe Grauwert i, (x 2,y 2 ) habe Grauwert j und i, j {1,,N} Dann definiert man die Matrix C d := [c(i, j)] mit c(i, j) als Anzahl der Pixelpaare die Abstand d und Intensität i, bzw. j haben
Low Level Textur-Features Kompliziert zu berechnende NxN Matrix für verschiedene Abstände d Viele Maße wurden aus diesen Grauwert- Co-Occurrence-Matrizen abgeleitet These von Julesz: Menschen können Texturen nicht unterscheiden, falls diese in Momenten höherer Ordnung übereinstimmen Perzeptionspsychologie: Leider falsch!
Das Tamura-Texturmaß
Tamura-Maß Das Tamura-Maß [Tamura et al., 78] Bild-Texturen werden entlang sechs verschiedener Dimensionen bewertet Granularität (Kiesel vs. Sand) Kontrast (klar abgegrenzte Formen, Schatten) Direktionalität (vorherrschende Richtungen) Geradlinigkeit Regularität Rauhheit Die letzten 3 werden selten betrachtet und scheinen zu den ersten 3 korreliert zu sein
Granularität Granularität (Grobkörnigkeit) Bildauflösung z.b. Luftaufnahmen aus verschiedener Höhe
Extraktion der Granularität Extraktion durch Abtastung des Bildes mit beweglichem Operatorfenster Wähle Fenstergrößen 2 k x2 k (z.b. 1x1 bis 32x32 in IBM s QBIC) Bewege das Fenster über das Bild Für jeden Bildausschnitt berechne das gleitende Mittel über die Helligkeitsverteilung
Extraktion der Granularität Für jedes Pixel berechne mit wobei die Differenz der Mittel zwischen dem linken und rechten horizontal angrenzenden Fenstern der Größe ixi ist (analog zwischen den vertikal angrenzenden Fenstern) Bestimme für jedes Pixel die maximale Ausschnittgröße jxj, deren die maximale Differenz aufweist (oder noch innerhalb einer gewissen Toleranz vom größten der liegt)
Extraktion der Granularität Die Granularität G des Gesamtbildes ist der Durchschnitt über die maximalen Ausschnittsgrößen aller Pixel Statt dem Durchschnitt kann auch ein Histogramm genommen werden, das die Anzahl der Pixel der jeweiligen maximalen Größe zuordnet Damit lassen sich Bilder mit verschiedenen Granularitäten besser vergleichen
Extraktion der Granularität Problem: Bildausschnitte, deren Granularität bestimmt werden soll, könnten zu klein sein, um sinnvolle Durchschnitte in großen Operatorfenstern zu berechnen. Kleine Ausschnitte hätten also immer kleine Granularität Schätzung der höheren aus den Werten der kleineren [W. Equitz and W. Niblack, 94]
Kontrast Kontrast bewertet die Klarheit eines Bildes Schärfe der Farbübergänge Belichtung, Schattenwurf Niedriger Kontrast Hoher Kontrast
Extraktion des Kontrast Extraktion der Kontrastwerte Betrachte höhere Momente in der Helligkeitsverteilung im Graustufen Histogramm Der Kontrast ist Mit σ als Standardabweichung über die Bildkollektion und α 4 als Wölbung, also mit μ 4 als vierten zentralen Moment Wölbungen können sogar uni-/bi-modale Verteilungen unterscheiden
Direktionalität Direktionalität Spürt vorherrschende Richtungen von Gegenständen im Bild auf stark direktional schwach direktional
Extraktion der Direktionalität Direktionalität Bestimme in jedem Pixel die Stärke (Betrag) und Richtung (Winkel) der Gradienten, z.b. Sobel edge detector (IBM s QBIC unterscheidet 16 Richtungen)
Extraktion der Direktionalität Erstelle Histogramme die jedem Winkel die Anzahl der Pixel mit Gradienten über einem gewissen Betrag in diesen Winkel zuordnen Wird eine Richtung im Bild bevorzugt, ist in derselben Richtung ein Peak im Histogramm Will man das Maß rotationsinvariant, nutzt man nicht den Ort (Winkel), sondern nur die Anzahl und Höhe solcher Peaks für die Berechnung der durchschnittlichen Direktionalität D
Matching mit dem Tamura-Maß Zwischen den ersten drei Tamura- Features wurden keine Korrelationen festgestellt, also kann man Ähnlichkeit als Abstandsmessung in einem 3-dim Raum realisieren G G G
Beispiel Muster (Pelzwerk) auf Wappenbildern Heron Project, Universität Augsburg
Nächste Vorlesung Retrieval mit Texturmaßen Random Field Modelle Stochastische Modelle Retrieval von Formen Segmentierung und Beschreibung