Current Page: Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: m06 » Learning Units » Unit ID: 1_4_14
Last Modified:Tuesday, 2015-05-05 - 08:09:01
 
Tools: ValidatePreview XML Preview HTML Preview PDF
Alternative: Printable HTML

 

Learning Unit ID: 1_4_14
Title: Oracle interMedia praktisch
Abstract: Diese Lerneinheit beschreibt die Eigenschaften des ORDImage Datentyps. Dieser Datentyp wurde als Beispiel ausgewählt, da er die meiste Funktionalität von allen Mediendatentypen, welche in Oracle realisiert sind, zur Verfügung stellt.
 
Status: Review II: done Version: 8.0
History:

Codeformatierungen siehe erstelus.ppt - Done, please check and remove xIgnore. Done(bt).

Der Punkt "Visuelle Informationen - Methoden Operationen" ist unübersichltich gestaltet done.

Acronyme, Absätze und Wordformatierungen done.

Review von Prof. Kosch eingearbeitet.

die Methoden im Text sollten eigentlich noch als Code ausgezeichnet werden oder? done.

unbekannte Character entfernt

Sourcecode inline gestellt.


Author
Author 1: Harald Kosch E-Mail: harald.kosch@itec.uni-klu.ac.at
Author 2: (empty) E-Mail: (empty)
Author 3: (empty) E-Mail: (empty)
Author 4: (empty) E-Mail: (empty)
Author 5: (empty) E-Mail: (empty)
Organization: (empty)

Content

Oracle InterMedia Image

1

Auto

  • Oracle InterMedia Image bietet die Grundfunktionalität zur Manipulation, Speicherung und zum Laden digitaler Bilder

    und
  • Ähnlichkeitssuche in Bilddaten, welche sich auf Farbe, Kontur und Textur beziehen.

Zentraler Datentyp: ORDImage

Der ORDImage OR-DB Type stellt zur Verfügung:

  • Höhe / Breite / Größe des Bildes
  • Dateityp / Format
  • Kompression Format
  • MIME54-Typ
OrdImage - Definition
Definition von ORDImage
CREATE OR REPLACE TYPE ORDImage AS OBJECT
(
-- TYPE ATTRIBUTES
	source ORDSource,
	height INTEGER,
	width INTEGER,
	contentLength INTEGER,
	fileFormat VARCHAR2(4000),
	contentFormat VARCHAR2(4000),
	compressionFormat VARCHAR2(4000),
	mimeType VARCHAR2(4000),
-- METHOD DECLARATION
	...
ORDImage - Create Table
Beispiel der Benutzung von ORDImage
CREATE TABLE fotos(
	foto_id INTEGER, 
	fotograph VARCHAR2(64), 
	annotierung VARCHAR2(255), 
	foto ORDSYS.ORDImage); 
ORDImage - Insert
Insert Statement
INSERT INTO fotos (foto_id, fotograph, annotierung, foto) 
VALUES(1, 'John MacIvor', 'red plaid', ORDSYS.ORDImage.init('file','ORDIMGDIR','redplaid.gif')); 
Auto

Das sourceLocation Argument 'ORDIMGDIR' von ORDSYS.ORDImage.init() muss ein lokales Verzeichnis sein.

Insert Statement Fortsetzung
CREATE DIRECTORY ORDIMGDIR AS '<MYIMAGEDIRECTORY>'; GRANT READ ON DIRECTORY ORDIMGDIR TO <user-or-role>;

2

Auto

Alle ORD* Typen besitzen Operationen, um Format, Kompressions Format, oder Dateityp abzufragen. Allerdings besitzen ORDAudio, ORDVideo und ORDDoc keine Möglichkeiten der Ähnlichkeitssuche. Die durch den Objekttyp ORDImage repräsentierten Bilder besitzen dagegen die Ähnlichkeitssuche welche sich auf Farb-, Kontur- und Texturmerkmale bezieht. Darüber hinaus stellt ORDImage die Methoden process oder processCopy zur Verfügung, durch die mit Hilfe eines Kommandostrings Formatkonvertierungen und andere Transformationen möglich sind, auch ist für diesen Datentyp eine Ähnlichkeitssuche möglich.

OrdImage - Definition

Elemente des ORDImage Datentyps:

  • Höhe und Breite (in Pixeln)
  • Grösse (in Bytes)
  • Grafikformat (z.B. GIF117 oder BMP96)
  • Art der Farbkodierung (S/W, Anzahl der Graustufen/Farben)
  • Art der Komprimierung (z.B. JPEG29 oder LZW)
ORDImage - Create Table

Das folgenden Beispiel zeigt die Verwendung des ORDImage Datentyps:

Beispiel der Benutzung von ORDImage
CREATE TABLE fotos(
	foto_id INTEGER, 
	fotograph VARCHAR2(64), 
	annotierung VARCHAR2(255), 
	foto ORDSYS.ORDImage); 
Auto

Zuerst wird eine Tabelle "fotos" angelegt, die ein Attribut "foto" mit dem Datentyp ORDSYS.ORDImage beinhaltet, durch den die Bilder in die Datenbank gespeichert werden können.

ORDImage - Insert

Das folgende insert Statement zeigt wie man eine Instanz der Beispieltabelle mit einem Element vom Typ ORDImage befüllt. Das Bild wird über eine Datei im lokalen Dateisystem referenziert.

Insert Statement
INSERT INTO fotos (foto_id, fotograph, annotierung, foto) 
VALUES(1, 'John MacIvor', 'red plaid', ORDSYS.ORDImage.init('file','ORDIMGDIR','redplaid.gif')); 
Auto

Um die Instanz korrekt einzugeben, ist es von Nöten, dass die sourcelocation der Methode ORDSYS.ORDImage.init() korrekt gesetzt ist. Dieses geschieht durch vorheriges Anlegen eines DIRECTORY unter dem Benutzer SYS:

Insert Statement Fortsetzung
CREATE DIRECTORY ORDIMGDIR AS '<MYIMAGEDIRECTORY>';
GRANT READ ON DIRECTORY ORDIMGDIR TO <user-or-role>;

Retrieval visueller Informationen

1

Auto

  • Index anlegen / verwenden
  • Inhaltsbasiertes Retrieval durchführen
    basierend auf visuellen Attributen des Bildes (Farbe, Struktur, Textur)

[ ex ] Gib mir alle Informationen über rote Autos

Visuelle Informationen - Methoden/Operationen

  1. Signatur und Ähnlichkeit
    • ORDImageSignature Typ
    • ORDSYS.ORDImageSignature.init();
    • Anlegen einer Signatur, die auf Farbe, Textur, Struktur des Bildinhalts basiert
    • IMGSimilar():
      Vergleich der Signatur zweier Bilder. Ermittelt wird, ob die Bilder einer vom Benutzer eingegeben Menge von Kriterien entsprechen.
  2. Eigenschaften von Bildern extrahieren
    • setProperties():
      wichtige Eigenschaften des Bildes aus den Bilddaten herauslesen.

      vgl. "get" - wird verwendet, um individuell gespeicherte Attribute des Bildes abzufragen, etwa über die Höhe oder Breite in Pixel.
      getHeight() , getWidth()
  3. Eigenschaften des Bildes überprüfen
    • checkProperties():
      Überprüfen, ob die Eigenschaften, die in den Attributen eines Bildobjektes gespeichert sind, mit den tatsächlichen Eigenschaften des Bildes übereinstimmen
  4. Bilder modifizieren
    • Process ( ) / processCopy():
      Konvertierung und Komprimierung des Bildformats, grundlegende Funktionen zur Bearbeitung, einschließlich Skalieren und Cutting.
  5. Bilder verschieben / kopieren
    • copy ( ) / processCopy()
    • export ( ) / import() / importFrom ( ):
      nützlich, um Bilder zwischen Datenbanken und externen Datenquellen zu transferieren.
  6. Bildmerkmale manuell festlegen
    • setProperties ( ):
      Bestimmte Merkmale explizit bestimmen

2

Auto

Das Retrieval umfasst den Prozess der Lokalisierung (Navigation oder Suche) und der eigentlichen Ausgabe von Medienobjekten.

Der Benutzer kann Indexe anlegen und verwenden, und dann das inhaltsbasierte (als deutsche Übersetzung von "content-based") Retrieval durchführen. Die Suche basiert auf inneren visuellen Attributen des Bildes, wie z.B. Farbe, Struktur, oder Textur. Der große Vorteil beim Verwenden der inhaltsbasierten Suche ist die Verringerung von Zeit und Aufwand beim Beschaffen von bild-basierenden Informationen.

[ex] Gib mir alle Informationen über rote Autos

  • man wählt ein Bild mit einem rotem Auto aus, und kann so ähnliche Bilder in der Datenbank suchen
  • falls nur bestimmte rote Autos angezeigt werden sollen, kann man der Abfrage weitere Einschränkungen hinzufügen (bezüglich Form, Struktur etc.)

Visuelle Informationen - Methoden/Operationen

Signatur und Ähnlichkeit
Um Bilder anhand ihrer Merkmale schneller suchen zu können, stellt der ORDImage Datentyp Signaturen für die Bilder zur Verfügung. In einem sogenannten Signaturvektor werden verschiedene visuelle Attribute wie Farben, Textur oder Struktur abgespeichert.
Mit dem Aufruf ORDSYS.ORDImageSignature.init(); werden diese Informationen für das jeweilige Bild extrahiert und ein Signaturvektor in dem Objekttyp ORDImageSignature gespeichert. Die Suche nach Bildern mit bestimmten Merkmalen und damit auch der Vergleich zweier Bilder anhand bestimmter Merkmale, werden dadurch erheblich verbessert.

Die Methode ORDImageSignature.IMGSimilar() ermöglicht einen Vergleich von Bildern durch ihre Signatur. Ermittelt wird, ob das Bild bestimmte Merkmale erfüllt. Auf Basis eines Kommandostrings werden zwei Bilder verglichen, wobei IMGSimilar() im Erfolgsfall "1" zurückgibt.
Extrahieren der Bildeigenschaften
setProperties():
Nachdem ein Bild kopiert oder gespeichert wurde, liest setProperties() die Bilddaten, um die aktuellen Attribute herauszufiltern. Die unterstützten Eigenschaften sind z.B. Farben, Textur oder Struktur. Die speziellen Merkmale des Bildes werden in Attributfelder gespeichert.

Als Vergleich:
Die Methoden getHeight ( ) / getWidth() werden verwendet, um individuell abgespeicherte Attribute des Bildes abzufragen (Höhe, bzw. Breite in Pixel). Hier wird nicht das Bild gelesen, sondern nur die gespeicherten Attribute abgefragt.
Überprüfen der Eigenschaften der Bilder
CheckProperties(): Hier wird überprüft, ob die Eigenschaften, die in den Attributen des Bildobjekts gespeichert sind, mit den tatsächlichen Eigenschaften des Bildes übereinstimmen.
Modifizieren der Bilder
Process(): Das Bild wird bearbeitet und überschrieben. Verändert werden kann das Bildformat (z.B. JPEG29 zu GIF117), Komprimierungsqualität (niedrig, mittel, hoch) oder das Dateiformat, (z.B. TIFF, JFIF, BMPF). Weitere Funktionen sind: Skalieren (z.B. von einem fixen Skalierung zu einer spezifischen Anzahl von Pixeln) und Cutting.
ProcessCopy() : Das Bild wird bearbeitet und kopiert. Funktionalität siehe Process()
Kopieren / Verschieben von Bildern
copy ( ), processCopy() (siehe Punkt Modifizieren der Bilder) dienen zum Kopieren des (ev. bearbeiteten) Bildes.
export ( ), import() , importFrom ( ): ermöglichen ein einfaches Transferieren von Bilddaten von der Datenbank zu einer externen Datenquelle und umgekehrt.
Manuelle Festlegung von Bildmerkmalen
setProperties ( ): bestimmte Merkmale können auch explizit bestimmt werden (z.B. setUpdateTime() : legt die Zeit fest, wann das Bild zuletzt verändert wurde - defaultwert ist SYSDATE)

Inhaltsbasiertes Retrieval

1

Konzepte

  • Wie inhaltsbasiertes Retrieval funktioniert
    • Definition / Erklärung der visuellen Attribute.
      (globale Farben, lokale Farben, Textur, Struktur)
  • Ähnlichkeitssuche mittels festgelegter Vergleichsbilder
    • Die Gewichtung der visuellen Attribute bestimmt den Grad der Ähnlichkeit zwischen Bildern.
  • Verwendung von Indexen, um die Suche zu beschleunigen

Wie inhaltsbasiertes Retrieval funktioniert

  • Inhaltsbasiertes Retrieval-System
    • Verarbeitung der Informationen, die in den Bilddaten enthalten sind
    • Jedes in die Datenbank eingefügte Bild wird analysiert. Eine Repräsentation des Inhalts wird in einem Signaturvektor gespeichert.
  • Signatur enthält alle Informationen über die Merkmale der visuellen Attribute:
    Globale Farben :
    Verteilung der Farben im Gesamtbild
    Lokale Farben:
    Farbverteilungen / wo sie in einem Bild auftreten
    Textur:
    Low-level Muster and Texturen im Bild
    Struktur:
    Formen, die im Bild vorkommen
Globale Farben und Lokale Farben
Auto PC

Bildvergleich: Lokale und globale Farben

Auto PDA_Phone

Bildvergleich: Lokale und globale Farben

Auto

Globale Farben: vollständige Ähnlichkeit (Punktzahl=0.0)
Lokale Farben: keine Ähnlichkeit (Punktzahl=100)

Auto PC

(a) Bilder mit sehr ähnlichen globalen Farben

Auto PDA_Phone

(a) Bilder mit sehr ähnlichen globalen Farben

Auto PC

(b) Bilder mit sehr ähnlichen globalen Farben

Auto PDA_Phone

(b) Bilder mit sehr ähnlichen globalen Farben

Auto

Abbildung a sehr ähnlich (Punktzahl=0.0) bezüglich globaler Farben.
Abbildung b sehr ähnlich (Punktzahl=0.02461) bezüglich lokaler Farben.

Textur

am nützlichsten für Bilder mit kompletter Textur
(wie Kataloge aus Holzmaserungen, Marmor, Sand, Steine)

Auto PC

Arbeitsmuster mit ähnlicher Textur: Die Abbildung zeigt zwei ähnliche Texturen mit der Punktzahl 4.1.

Auto PDA_Phone

Arbeitsmuster mit ähnlicher Textur: Die Abbildung zeigt zwei ähnliche Texturen mit der Punktzahl 4.1.

Auto

Die obige Abbildung zeigt zwei ähnliche Arbeitsmuster (Punktzahl=4.1)

Struktur
  • Streng beschränkt auf bestimmte Größen oder Positionen
  • Nützlich um Objekte zu erfassen, wie zum Beispiel Horizontlinien in Landschaften.
  • Nützlich um Abfragen auf einfache Formen durchzuführen.
Auto PC

Bilder mit sehr ähnlicher Struktur

Auto PDA_Phone

Bilder mit sehr ähnlicher Struktur

Wie Ähnlichkeitssuche funktioniert

Gewicht
  • Grad der Ähnlichkeit / Verschiedenheit zwischen zwei Bildern.
  • Werte des Gewichtes
    • Positive reelle Zahle
    • Addiert zu 100%
Berechnung der Ähnlichkeit

Grad der Ähnlichkeit hängt von einer gewichteten Summe ab, die die Gewichtung und die Entfernung aller vier visuellen Attribute des Vergleichbildes und des Testbildes reflektiert

Entfernungen der visuellen Attribute zwischen Bild 1 und Bild 2
visuelles Attribut Entfernung Gewichtung
globale Farben 15 0.1
lokale Farben 90 0.6
Textur 5 0.2
Struktur 50 0.1
Auto
  • Wenn Gewichtungssumme Grenzwert
    Dann Treffer
  • Hauptziel
    • inhaltsbasiertes Retrieval, um unwichtige Bilder zu eliminieren
    • Man kann sich auf die Bilder konzentieren, die den gesuchten Inhalt beinhalten.
Grenzwert

Beim Matchen der Bilder wird ein Grenzwert zugewiesen.

Grenzwert
DECLARE 
	t_bild ORDSYS.ORDImage; 
	i INTEGER; 
	bild_sig ORDSYS.ORDImageSignature; 
	query_signatur ORDSYS.ORDImageSignature; 
	BEGIN 
		SELECT
			foto_id, foto, foto_sig
		INTO
			i, t_bild, bild_sig
		FROM
			fotos
		WHERE ORDSYS.IMGSimilar(
			foto_sig, 
			query_signatur //Generierte Signatur ,
			'color="0.2" texture="0.1" shape="0.5" location="0.2"' //Grenzwert, 25) = 1; 
	END; 

Indexunterstützung zum Signaturvergleich

  • Für bessere Performanz mit großen Bilddatenbanken
    • Erstellen und Verwenden eines Index, um die Bildsignaturen zu durchsuchen.
    • CREATE INDEX bildindex ON fotos(foto_sig) INDEXTYPE IS ORDSYS.ORDImageIndex
      PARAMETERS(' ORDIMG_FILTER_TABLESPACE = ordimage_idx_tbs_1, ORDIMG_INDEX_TABLESPACE = ordimage_idx_tbs_2');


      Wie bei jedem Index muss der Tablespace (ordimage_idx_tbs_1 and ordimage_idx_tbs_2) zuerst erstellt werden.
    • IMGSimilar()-Abfragen verwenden diesen Index.

2

Konzepte

Im Folgenden werden die Konzepte des inhaltsbasierten Retrievals vorgestellt:

Am Beginn wird ein Überblick über die Funktionsweise des inhaltsbasierten Retrievals gegeben. Im Vordergrund stehen die visuellen Attribute eines Bildes (globale und lokale Farben, Textur und Struktur).
Ein wichtiges Konzept im inhaltsbasierten Retrieval ist der Vergleich von Bildern. Bei diesem Bildvergleich werden die oben genannten visuellen Attribute mit verschiedenen Gewichten belegt (d.h. dass etwa die Ähnlichkeit der Form wichtiger sein kann als die Ähnlichkeit der Farben)

Bei der Suche nach bestimmten Bildern wird eine Indizierung verwendet. Die Suche kann dadurch erheblich beschleunigt werden.

Wie inhaltsbasiertes Retrieval funktioniert

Jedes Bild, das in die Datenbank kopiert oder eingefügt wird, wird auf bestimmte visuelle Attribute analysiert. Ein inhaltsbasiertes Retrieval-System verarbeitet die Informationen, die in den Bilddaten enthalten sind und erschafft ein abstraktes Objekt dieses Inhalts in Hinsicht auf die visuellen Eigenschaften. Eine kompakte Repräsentation des Bildinhalts wird im Signaturvektor gespeichert. Der Vorteil dieser Vorgangsweise ist, dass einige Abfragen auf dem abstrakten Objekt (ORDImageSignature) schneller bearbeitet werden, als wenn sie auf dem Bild selber ausgeführt werden.

Die visuellen Attribute des Bildes, die in der Signatur gespeichert sind, sind folgende:

Globale Farben:
Verteilung der Farben innerhalb des Bildes. Diese Verteilung schließt alle Farben ein, aber nicht die Lage.
Lokale Farben:
Verteilung der Farben und wo genau sie im Bild vorkommen (hier ist die Lage von Bedeutung!).
Textur:
Low-level Muster und Texturen innerhalb des Bildes, wie z.B. Körnigkeit oder Ebenheit.
Struktur:
Formen, die im Bild erscheinen. Sie werden bestimmt durch Formcharakterisierungstechniken, wie zB Kantenerkennung.

All diese Daten über die Merkmale der visuellen Attribute werden in der Signatur gespeichert.

Globale Farben und Lokale Farben
Auto PC

Bildvergleich: Lokale und globale Farben

Auto PDA_Phone

Bildvergleich: Lokale und globale Farben

Auto

Vergleicht man die beiden Bilder der obigen Abbildung in Bezug auf globale Farben, dann ist die Ähnlichkeit zu 100 % gegeben, da jede der drei Farben (Rot, Blau, Gelb) mit der selben Häufigkeit in beiden Bildern vorkommt.

Bezieht man den Vergleich auf lokale Farben, so beträgt die Ähnlichkeit 0 %, da nach lokalen Farbübereinstimmungen (Überschneidungen der Farben beim Übereinanderlegen der Bilder) gesucht wurde, die aber nicht vorhanden sind.

Die Punktzahl ist das Ergebnis einer ähnlichkeitsmessenden Funktion. Das Ergebnis ist 0.0, wenn die Bilder anhand der gewählten Kriterien gleich sind. Kann keine Übereinstimmung gefunden werden, liefert die Funktion als Punktzahl 100.

Auto PC

(a) Bilder mit sehr ähnlichen globalen Farben

Auto PDA_Phone

(a) Bilder mit sehr ähnlichen globalen Farben

Auto

Die obige Abbildung (a) zeigt zwei Bilder, bei denen der Vergleich für globale Farben eine Punktzahl von 0.0 für "sehr ähnlich" ergibt.
Der Anteil an roten und blauen Farbpunkten ist, auf das Gesamtbild bezogen, bei beiden Bildern gleich, obwohl die Position der Farben unterschiedlich ist.

Auto PC

(b) Bilder mit sehr ähnlichen globalen Farben

Auto PDA_Phone

(b) Bilder mit sehr ähnlichen globalen Farben

Auto

Der Vergleich der zwei unteren Bilder (Abbildung (b)) ergibt eine Punktzahl von 0.02461 für lokale Farben, also auch "sehr ähnlich". Der schwarze Hintergrund ist bei beiden Bildern sehr ähnlich, die Position des blauen Vierecks (linkes Bild) stimmt mit der Position des blauen Ovals (rechtes Bild) überein, nur einige Farbpunkte unterscheiden sich durch die verschiedenen blauen Formen.

Textur

Die Beschreibung mittels Textur eignet sich am ehesten für Bilder, die eine komplette Textur haben, also z.B. Kataloge aus Holzmaserungen, Marmor, Sand oder Steine.
Diese sind allgemein schwer mit Hilfe von Schlüsselworten zu katalogisieren, weil das Vokabular für Texturen begrenzt ist.

Auto PC

Arbeitsmuster mit ähnlicher Textur: Die Abbildung zeigt zwei ähnliche Texturen mit der Punktzahl 4.1.

Auto PDA_Phone

Arbeitsmuster mit ähnlicher Textur: Die Abbildung zeigt zwei ähnliche Texturen mit der Punktzahl 4.1.

Struktur

Eine weitere Vergleichsmöglichkeit von Bildern ist es, die Ähnlichkeit der Struktur zu messen. Strukturen sind streng beschränkt auf bestimmte Größen oder Positionen im Bild. Objekte von gleicher Größe oder Position sind ähnlicher als Objekte in verschiedenen Größen.

Strukturen sind nützlich um Objekte zu erfassen, wie z.B. eine Horizontlinie in einer Landschaft, rechteckigen Strukturen bei Gebäuden oder organische Strukturen von Bäumen. Sehr nützlich sind Strukturen auch bei Abfragen einfacher Formen, wie Kreise oder Rechtecke, besonders wenn das gesuchte Bild von Hand gezeichnet wurde oder Farben nicht relevant sind.

Auto PC

Bilder mit sehr ähnlicher Struktur

Auto PDA_Phone

Bilder mit sehr ähnlicher Struktur

Auto

In der obigen Abbildung werden zwei Bilder mit sehr ähnlicher Struktur gezeigt.

Wie Ähnlichkeitssuche funktioniert

Gewicht

Beim Vergleichen von zwei Bildern spielt der Grad der Ähnlichkeit oder auch Verschiedenheit eine große Rolle.

Die visuellen Eigenschaften sind nicht alle gleich wichtig im Vergleichsprozess, deshalb erhalten alle Attribute ein "Gewicht" mit dem ein Ähnlichkeitsmaß für jede visuelle Eigenschaft errechnet wird. Jedes Gewicht repräsentiert, wie empfindlich der Vergleichsprozess sein soll, z.B. sehr ähnlich, wenig ähnlich oder gar nicht ähnlich.

Die Werte sind positive reelle Zahlen und dürfen in Summe 100 % nicht überschreiten.

Berechnung der Ähnlichkeit
Entfernungen der visuellen Attribute zwischen Bild 1 und Bild 2
visuelles Attribut Entfernung Gewichtung
globale Farben 15 0.1
lokale Farben 90 0.6
Textur 5 0.2
Struktur 50 0.1
Auto

In der obigen Tabelle werden als Beispiel verschiedene Entfernungen der vier visuellen Attribute (globale und lokale Farben, Textur und Struktur) dargestellt. Eine kleinere Entfernung bedeutet eine bessere Übereinstimmung und damit auch eine größere Ähnlichkeit. Die Punktzahl reicht von 0 (keine Unterschiede) bis 100 (sehr viele Unterschiede).
Neben den Entfernungen werden auch die Gewichte der Attribute angegeben.

Die Ähnlichkeit des Gesamtbildes hängt dann von der Entfernung jedes einzelnen visuellen Attributes und der Gewichtung ab. Entfernung und Gewichtung jedes Attributes werden multipliziert und damit eine gewichtete Summe gebildet. Diese Gewichtungssumme reflektiert am Ende die Ähnlichkeit (oder Verschiedenheit) des Testbildes mit dem Vergleichsbild.

Die Gewichtungssumme, welche die Ähnlichkeit zweier Bilder reflektiert, wird mit einem Grenzwert verglichen. Der Grenzwert zeigt an, mit welcher Punktezahl das Testbild noch als "ähnlich" eingestuft wird, und ab wann nicht mehr.

Dadurch können bei der inhaltsbasierten Suche unwichtige Bilder sofort eliminiert werden, und man kann sich auf die Bilder konzentrieren, die den gesuchten Inhalt auch wirklich beinhalten.

Grenzwert

Beim Vergleich der Ähnlichkeit von Bildern wird ein Grenzwert zugewiesen:
In der Methode ORDSYS.IMGSimilar( ) wird die generierte Signatur (query_signatur) und der Grenzwert (25) verwendet.

Grenzwert
DECLARE 
	t_bild ORDSYS.ORDImage; 
	i INTEGER; 
	bild_sig ORDSYS.ORDImageSignature; 
	query_signatur ORDSYS.ORDImageSignature; 
	BEGIN 
		SELECT
			foto_id, foto, foto_sig
		INTO
			i, t_bild, bild_sig
		FROM
			fotos
		WHERE ORDSYS.IMGSimilar(
			foto_sig, 
			query_signatur //Generierte Signatur ,
			'color="0.2" texture="0.1" shape="0.5" location="0.2"' //Grenzwert, 25) = 1; 
	END; 

Indexunterstützung zum Signaturvergleich

Für eine bessere Performanz bei Abfragen und großen Bilddatenbanken werden Indexe verwendet um die Signaturen zu vergleichen. Durch die Verwendung von Indexen wird die Suche erheblich beschleunigt.

Erstellen eines Indexes:
CREATE INDEX bildindex ON fotos(foto_sig) INDEXTYPE IS ORDSYS.ORDImageIndex
PARAMETERS(' ORDIMG_FILTER_TABLESPACE = ordimage_idx_tbs_1, ORDIMG_INDEX_TABLESPACE = ordimage_idx_tbs_2');

Wie bei jedem Index muss der Tablespace (ordimage_idx_tbs_1 and ordimage_idx_tbs_2) zuerst erstellt werden.

Alle inhaltsbasierten Abfragen mit der Methode IMGSimilar() verwenden diesen Index.

Bibliographie

2

Auto

Kos04

Dun03

Ora8ia

Ora8ib


Notes
(empty)