Image Retrieval

Image Retrieval Verfahren beschäftigen sich mit dem Wiederfinden von Bildern innerhalb einer Datenbank anhand eines Beispielbildes. Hierbei werden Bilder aufgrund bestimmter Charakteristika untersucht und miteinander verglichen.


Abbildung 2 - Luminanz Histogramm

Abbildung 3 - Rot Histogramm

Abbildung 1 - Foto der Fachhochschule

Farb – Histogramme

Farbhistogramme stellen die Farbverteilung innerhalb eines Bildes quantitativ dar. Sie dienen zur Evaluation der Farbverteilung und Helligkeit eines Bildes. So ist es bspw. möglich anhand der Histogramme eine dominante Farbe zu identifizieren.

Farb – Momente

Ein Problem der normalen Farbhistogramme ist die Tatsache, dass die Farbähnlichkeiten zwischen den Farben keine Berücksichtigung finden. So unterscheiden sich ein Bild mit hohem Rot- und ein Bild mit hohem Orangeanteil hinsichtlich der Histogramme, jedoch können solche Bilder dennoch sehr ähnlich sein. Aufgrund dieses Umstands werden in Farbmomenten nur die Farbkanäle auf Ähnlichkeiten untersucht. Bspw. finden sich in Abbildung 4 zwei Histogramme die unterschiedlich sind. Bei betrachtung der Farben (Abbildung 5) ist jedoch zu erkennen, dass die Farbähnlichkeit hoch ist und die Bilder somit eine Ähnlichkeit aufweisen können.


Abbildung 4 - Histogramme zweier Bilder (farblos)

Abbildung 5 - Histogramme zweier Bilder (farbig)

Farbkohärenzvektor

Ebenfalls Problematisch innerhalb der Farbhistogramme ist die fehlende Berücksichtigung der Verteilung der Farben. So können zwei Bilder gleiche Histogramme haben, die Verteilung der Farben innerhalb der Bilder kann jedoch stark variieren, bspw. bei einem Bild mit einem Blumenbeet und einem Bild mit einer Person mit einem roten T-Shirt (siehe Abb. 6 und 7). Der Farbkohärenzvektor löst dieses Problem. Der Vektor gibt Auskunft darüber wie viele Pixel einer Farbe sich innerhalb von Flächen befinden und wie viele einzeln innerhalb des Bildes vorkommen. Hierzu werden alle Pixel darauf hingehend untersucht, ob sie innerhalb einer Fläche gleicher Farbe vorkommen oder nicht.


Abbildung 6 - Straßenpromenade mit Blumenladen

Abbildung 7 - Golfer mit rotem Oberteil

Texturen

Innerhalb von Bildern lassen sich mithilfe von Fourier-Transformationen Texturen erkennen. Die in einen Frequenzraum überführten Bilder lassen sich somit auf die Grundeigenschaften von Texturen untersuchen: Grobheit, Kontrast, Gerichtetheit, Linienartigkeit, Regelmäßigkeit. Die ersten drei seien hier besonders erwähnt, da vor allem sie vom Menschen wahrgenommen werden können.


Abbildung 8 - Fourier-Transformation

Shape

Ebenfalls ist es möglich grobe Formen und Flächen innerhalb eines Bildes zu erkennen. Diese Methodik wird vor allem in Sketch-basierten Suchverfahren benutzt. So lassen sich bspw. mit einer Hough-Transformation diese Formen finden. Verwendet wird hierzu eine Kantendetektion, welche Anhand von Änderungen im Bild die Kanten berechnet. Änderungen innerhalb des Bildes können anhand der Farbe, des Grauwerts, der Luminanz oder auch der Textur erkannt werden.

Räumliche Positionsinformationen

Bei der Erkennung von Objekten oder Inhalten ist es oftmals hilfreich die (relative) Position eines Objekts zu kennen. So ist es bspw. nicht immer leicht, das Meer vom Himmel zu unterscheiden, da sich beide in Form, Farbe und Textur ähneln. Ihre Position innerhalb des Bildes kann jedoch oft Aufschluss darüber geben, um welches Objekt es sich handelt. So ist der Himmel oftmals im oberen Bereich des Bildes zu finden, wohingegen das Meer eher am unteren Bildrand auftaucht.

Search by Sketch

Neue Ansätze im Image Retrieval Bereich versuchen statt einem Vergleichsbild ein Sketch, eine kurze vom Anwender gemachte Skizze bzw. Zeichnung, als Grundlage zu benutzen. Der Vorteil liegt hierbei darin, dass der Anwender kein Bild des gesuchten Objekts im Vorfeld haben muss. Nachteilig ist es, da er gewisse grundlegende Fähigkeiten im Zeichnen von Skizzen haben muss. Jedoch können diese Skizzen durchaus grobkörnig sein, sodass auch Laien zu Sucherfolgen kommen können.


Abbildung 9 - Sketchbasierte Suche

Oracle Visual Information Retrieval (VIR)

Oracle Visual Information Retrieval ist eine Erweiterung der Oracle Database ab der Version 8i. Es versetzt die Oracle Datenbank in die Lage Bilder in geeigneter Weise zu speichern, zu verwalten und wiederzufinden. So unterstütz Oracle VIR auch Content Based Image Retrieval verfahren. Hierzu extrahiert und speichert die Datenbank für jedes eingepflegte Bild einer Signatur oder auch Feature Vector genannt. Innerhalb dieser Signatur werden folgende Bildinformationen gespeichert:

  • Global Color
Informationen über die quantitative Verteilung der Farben innerhalb eines Bildes. Hier werden jedoch keine Ortsinformationen gespeichert. (siehe Color-Histogramm)
  • Local Color
Speichert Farbinformationen in Bezug auf die Lokalität innerhalb eines Bildes.
  • Texture
Speichert Informationen zu vorkommenden Texturen. Bspw. werden die Grobkörnigkeit und die Glattheit festgehalten.
  • Structure
Bspw. durch Kantendetektion erkannte Formen innerhalb des Bildes werden in dieser Rubrik gespeichert.

Die Größe dieser Signatur beläuft sich auf ein bis zwei Kilobytes. Eine Bildsuche anhand eines Beispielbildes kann bspw. in dieser Weise erfolgen ([Oracle2000]):

CONNECT vir1/vir1;
SET SERVEROUTPUT ON
SET ECHO ON
DECLARE
threshold NUMBER;
compare_sig RAW(2000);
compare_img ORDSYS.ORDVir;
photo_id NUMBER;
photographer VARCHAR2(64);
annotation VARCHAR2(255);
photo ORDSYS.ORDVIR;
-- Define cursor for matching. Set weights for the visual attributes.
CURSOR getphotos IS
SELECT photo_id, photographer, annotation, photo FROM stockphotos T
WHERE ORDSYS.VIRSimilar(T.photo.Signature, compare_sig, ’globalcolor="0.2" localcolor="0.3" texture="0.1" structure="0.4"’, threshold)=1 AND photo_id <> 1;
BEGIN
-- Create BLOB object
SELECT s.photo INTO compare_img FROM stockphotos s
WHERE photo_id = 1;
-- Generate signature of comparison image, which resides in compare_img.
compare_img.Analyze;
compare_sig:= compare_img.signature;
-- Set the threshold value.
threshold := 25;
-- Retrieve rows for matching images.
OPEN getphotos;
LOOP
FETCH getphotos INTO photo_id, photographer, annotation, photo;
EXIT WHEN getphotos%NOTFOUND;
-- Display or store the results.
END LOOP;
CLOSE getphotos;
END;
/

siehe auch: Multimediadatenbanken, Multimedia-Retrieval, Multi-Media-Datentyp, Audio-Retrieval, Information-Retrieval, Features

Quellen:

  • Deselaers, Thomas: "Features for Image Retrieval" 2007
  • Deselaers, Keysers, Ney: "Features for Image Retrieval: An Experimental Comparison" 2007
  • Detyniecki, Leiner, Nürnberger: "Adaptive Multimedia Retrieval - Identifying, Summarizing, and Recommending Image and Music" 6th InternationalWorkshop, AMR 2008 Berlin, Germany, June 26-27, 2008 Revised Selected Papers
  • Jau-Ling Shih, Ling-Hwei Chen: "Color Image Retrieval Based on Primitives of Color Moments"
  • Pass, Zabih, Miller: "Comparing Images Using Color Coherence Vectors"
  • Salomon, Christoph: "Suche in Multimediadatenbeständen - Image Retrieval Suchstrategien, Ähnlichkeitsmaße und Indexstrukturen für die Suche in Bilddatenbeständen" Januar 2004
  • [Oracle2000] Oracle - "Oracle® Visual Information Retrieval - User’s Guide and Reference" Release 8.1.7 im September 2000
  • Vikram Narayan: "Content based Image Retrieval Systems - An Overview"

Kategorie: Datenbanken, Objektrelationale DB, Multimediadatenbanken, M