Effiziente Suche in Bilddatenbanken

Slides:



Advertisements
Ähnliche Präsentationen
8. Termin Teil B: Wiederholung Begriffe Baum
Advertisements

Randomisierte Algorithmen Präfix Suche und Konsistentes Hashing
Christian Scheideler SS 2009
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Minimum Spanning Tree: MST
Prof. Dr. S. Albers Prof.Dr.Th Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
SST - Sequence Search Tree
Das LCA – Problem in Suffixbäumen
GIN2 – 2. Vorlesung, SS04 Prof. Dr. Wolfram Conen
FH-Hof Der B-Baum Richard Göbel. FH-Hof Wahl des Verzweigungsgrad Verzweigungsgrad kann größer als 2 sein v Nachfolger für einen Knoten v-1 Werte in einem.
Kapitel 6: Klassifizierung von Sortiertechniken
7. Natürliche Binärbäume
Durchlaufen eines Binärbaumes
Suche in Texten (Stringsuche )
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Lehrstuhl Informatik III: Datenbanksysteme Achim Landschoof 28. April 2009 Strukturierte P2P Systeme 1 Achim Landschoof Betreuerin: Dipl.-Inf. Jessica.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Sortieren vorsortierter Daten
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 - Bäume: Durchlaufreihenfolgen, Analyse nat. Bäume) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - Balancierte Bäume, AVL-Bäume) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Fibonacci-Heaps – Analyse) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 - AVL-Bäume: Entfernen, Bruder-Bäume) Prof. Th. Ottmann.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
WS Algorithmentheorie 15 – Fibonacci-Heaps Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (09 - Weitere Sortierverfahren) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
Geometrisches Divide and Conquer
Informatik II – Kapitel 13
Seminar parallele Programmierung SS 2003
Thorsten Jost INF-M2 – AW1 – Sommersemester Mai 2008
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Minimum Spanning Tree: MST
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Computational Thinking Suchen und Sortieren [Ordnung muss sein…]
2. Die rekursive Datenstruktur Baum 2
Aufgabenzettel V Statistik I
Diskrete Mathematik II
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Graphen und Bäume.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Voronoi-Diagramme.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation II 6. Sem. Vorlesung 4 4. Mai 2000 Voronoi-Diagramm.
Binärbäume.
MLDM Übung 8 – IBL 2 Musterlösung.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Laufzeitverhalten beim Sortieren
Suchbäume.
2. Die rekursive Datenstruktur Baum 2.1 Von der Liste zum Baum
 Präsentation transkript:

Effiziente Suche in Bilddatenbanken

1. Wieso nicht lineare Suche? sinnige Datenbanken haben 100+ Bilder kleine Referenzbilder (640*480) 1000+ keys im Schnitt bei 1120*840 sind es 4000+ keys im Schnitt die Dimension eines keys ist 128 Nearest Neighbour Abstandsmaß: Euklidscher Abstand => Lineare Suche dauert bei 100 größern Bildern 1 Stunde und mehr

2. Was haben wir gemacht? Aufbau eines KD-Baumes Binärbaum mit bucketsize an Elementen in einem Blatt Nearest Neighbour Suche auf dem KD-Baum Beschleunigung der Suche mittels einer Heuristik Optimierung mittels BestBinFirst Auswertungen und Messungen

3.1 Aufbau des KD-Baum 1. Berechne die Varianz aller Keys in jeder Dimension 2. Wähle die Dimension mit der größten Varianz 3. Sortier über die Dimension und ermittle den Median 4. Teile die Keymenge durch einen Knoten am Median, vermerke Median und Dimension im Knoten 5. Wiederhole die Schritte für die Söhne bis nur noch bucketsize oder weniger keys existieren 6. Erstelle ein Blatt, in das die übrig Keys gepackt werden

3.2 Übersicht KD-Baum Innerer Knoten: ... Median Dimension Blatt: KD-Tree Blatt: bucketsize an keys Innerer Knoten: Median Dimension

3.3 Aufbau an einem Beispiel Gegeben: 3,3 0,3 0,1

4.1 Nearest Neighbour Suche im KD-Baum 1. Solange man nicht in einem Blatt ist: Betrachte den nächsten Knoten und entscheide anhand der Dimension und des Median ob nach links oder rechts abgestiegen wird 2. Im Blatt angekommen: Berechne den Abstand zu allen Keys, merke dir den minimalen Abstand und den dazu passenden Key

4.2 Nearest Neighbour Suche im KD-Baum 3. Kletter den Baum wieder hoch und check bei jedem Knoten auf dem Weg nach oben, ob der Abstand in der Dimension zum Median kleiner gleich dem bis dato kleinsten Abstands ist 3.a. ist er kleiner gleich dem Median, so wandere den Teilbaum herunter 3.b ist er größer wandere weiter hoch 4. Ist man in der Wurzel angekommen und muss nicht mehr runterklettern ist man fertig

5.1 Lowe-Heuristik Heuristik: Besuche maximal n Blätter => maximal n*bucketsize an Vergleichen => Man ist auf konstante Zeit runter, aber man macht viele Fehler

5.2 Beispielsuche mit NN Fertig !! Nearest Neighbour: Nearest Neighbour von: Distanz: 3,3 0,3 0,1 mit hlowe = 2, wäre hier Ende uninteressant uninteressant Fertig !!

6.1 Best Bin First 1. Merke dir beim Herunterwandern den Abstand zu jedem Knoten den Du besucht hast 2. Besuche beim Herraufwandern immer erst den Knoten mit dem kleinsten Abstand

6.2 Beispielsuche mit BBF Nearest Neighbour: Nearest Neighbour von: Distanz: 3,3 0,3 0,1 Mit hlowe = 2 => Fertig !

7. Laufzeiten Laufzeiten: NN auf KD-Tree für kleine Dimensionen O(n log(n)) NN auf KD-Tree für große Dimensionen O(n) NN mit hlowe auf KD-Tree O(const) BBF mit hlowe auf KD-Tree O(const) Suche nach ca. 5000 Keys auf einer Datenbankt mit ca. 570 000 Keys: Linear&NN etwa 60min NN/BBF mit hlowe: hlowe: -1 20 1000 5000 10000 20000 Zeit:(ca.) 60min 2.5sek 1 min 6 min 12 min 24 min => Linear in Anzahl an Keys, der Keys Datenbank und hlowe

8. Genauigkeit Referenz: Linearesuche NN/BBF mit hlowe: Beobachtung: -1 20 1000 5000 10000 20000 NN: - 80% 50% 35% 25% 15% BBF 65% 10% 5% 3% Zeit:(ca.) 60min 2.5sek 1 min 6 min 12 min 24 min Beobachtung: wenn nur Bilder gematched werden sollen reicht hlowe 100 (< 1% Bild-Fehlzuweisungen) ansonsten BBF&hlowe + Linearesuche auf dem Match

Danke für‘s zuhören ! Quelle: Distinctive image features from scale-invariant keypoints by David G. Lowe, International Journal of Computer Vision, 60, 2 (2004), pp. 91-110.