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: | Validate — Preview XML Preview HTML Preview PDF |
Alternative: | Printable HTML |
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 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) |
Oracle InterMedia Image1Auto
Zentraler Datentyp: ORDImageDer ORDImage OR-DB Type stellt zur Verfügung:
OrdImage - DefinitionDefinition von ORDImageCREATE 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 TableBeispiel der Benutzung von ORDImageCREATE TABLE fotos( foto_id INTEGER, fotograph VARCHAR2(64), annotierung VARCHAR2(255), foto ORDSYS.ORDImage); ORDImage - InsertInsert StatementINSERT INTO fotos (foto_id, fotograph, annotierung, foto) VALUES(1, 'John MacIvor', 'red plaid', ORDSYS.ORDImage.init('file','ORDIMGDIR','redplaid.gif')); AutoDas sourceLocation Argument 'ORDIMGDIR' von ORDSYS.ORDImage.init() muss ein lokales Verzeichnis sein. Insert Statement FortsetzungCREATE DIRECTORY ORDIMGDIR AS '<MYIMAGEDIRECTORY>'; GRANT READ ON DIRECTORY ORDIMGDIR TO <user-or-role>; 2AutoAlle 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 - DefinitionElemente des ORDImage Datentyps:
ORDImage - Create TableDas folgenden Beispiel zeigt die Verwendung des ORDImage Datentyps: Beispiel der Benutzung von ORDImageCREATE TABLE fotos( foto_id INTEGER, fotograph VARCHAR2(64), annotierung VARCHAR2(255), foto ORDSYS.ORDImage); AutoZuerst 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 - InsertDas 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 StatementINSERT INTO fotos (foto_id, fotograph, annotierung, foto) VALUES(1, 'John MacIvor', 'red plaid', ORDSYS.ORDImage.init('file','ORDIMGDIR','redplaid.gif')); AutoUm 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 FortsetzungCREATE DIRECTORY ORDIMGDIR AS '<MYIMAGEDIRECTORY>'; GRANT READ ON DIRECTORY ORDIMGDIR TO <user-or-role>; Retrieval visueller Informationen1Auto
[ ex ] Gib mir alle Informationen über rote Autos Visuelle Informationen - Methoden/Operationen
2AutoDas 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
Visuelle Informationen - Methoden/Operationen
Inhaltsbasiertes Retrieval1Konzepte
Wie inhaltsbasiertes Retrieval funktioniert
Globale Farben und Lokale FarbenAuto PCAuto PDA_PhoneAutoGlobale Farben: vollständige Ähnlichkeit (Punktzahl=0.0) Auto PCAuto PDA_PhoneAuto PCAuto PDA_PhoneAutoAbbildung a sehr ähnlich (Punktzahl=0.0) bezüglich globaler Farben. Texturam nützlichsten für Bilder mit kompletter Textur Auto PCAuto PDA_PhoneAutoDie obige Abbildung zeigt zwei ähnliche Arbeitsmuster (Punktzahl=4.1) Struktur
Auto PC
Auto PDA_PhoneWie Ähnlichkeitssuche funktioniertGewicht
Berechnung der ÄhnlichkeitGrad 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
Auto
GrenzwertBeim Matchen der Bilder wird ein Grenzwert zugewiesen. GrenzwertDECLARE 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
2KonzepteIm 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). Bei der Suche nach bestimmten Bildern wird eine Indizierung verwendet. Die Suche kann dadurch erheblich beschleunigt werden. Wie inhaltsbasiertes Retrieval funktioniertJedes 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:
All diese Daten über die Merkmale der visuellen Attribute werden in der Signatur gespeichert. Globale Farben und Lokale FarbenAuto PCAuto PDA_PhoneAutoVergleicht 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 PCAuto PDA_PhoneAutoDie obige Abbildung (a) zeigt zwei Bilder, bei denen der Vergleich
für globale Farben eine Punktzahl von 0.0 für "sehr ähnlich"
ergibt. Auto PCAuto PDA_PhoneAutoDer 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. TexturDie 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. Auto PCAuto PDA_PhoneStrukturEine 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
Auto PDA_PhoneAutoIn der obigen Abbildung werden zwei Bilder mit sehr ähnlicher Struktur gezeigt. Wie Ähnlichkeitssuche funktioniertGewichtBeim 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 ÄhnlichkeitEntfernungen der visuellen Attribute zwischen Bild 1 und Bild 2
AutoIn 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). 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. GrenzwertBeim Vergleich der Ähnlichkeit von Bildern wird ein Grenzwert zugewiesen: GrenzwertDECLARE 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 SignaturvergleichFü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: 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. Bibliographie2AutoKos04 Dun03 Ora8ia Ora8ib |
(empty) |