44
1 Java EE Webservice basiert auf RESTlet, JaxB und JPA/Hibernate zur Bilderkennung mit Hilfe der SURF-Merkmalsextraktion Verantwortlicher Professor: Prof. Dr. rer. nat. Klaus Hering Betreuer: Dr. Jürgen Beringer Bachelorverteidigung Marco Franke

Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

1

Java EE Webservice basiert auf RESTlet, JaxB und JPA/Hibernate

zur Bilderkennung mit Hilfe der SURF-Merkmalsextraktion

Verantwortlicher Professor: Prof. Dr. rer. nat. Klaus Hering

Betreuer: Dr. Jürgen Beringer

Bachelorverteidigung Marco Franke

Page 2: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

2

Hintergrund

Marco Franke

3 Monate Praktikum bei sprd.net AG (www.spreadshirt.de)

Page 3: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

3

Zielsetzung

Marco Franke

● Anforderungen an die Bilderkennung– Farbe– Bildstörungen– Skalierung– Rotation– Translation– Verzerrung

● Anforderung der Endanwendung– Webservice– schnell– flexibel

Laufzeit <> Qualität

Page 4: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

4

Ansatz● Merkmalsextraktion

– Extraktion von Merkmalen– Verwendung der Merkmale für Bildvergleich

● SIFT (Scale Invariant Feature Transformation)

● SURF (Speeded Up Robust Features)– Beschleunigung der Berechnungen (vgl. SIFT)

● Implementation: JOpenSURF

Marco Franke

Page 5: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

5

Schwerpunkte● Theoretische Betrachtung der SURF-Merkmalsextraktion

– Schlüsselpunktdetektion– Eigenschaften der Schlüsselpunkte– Parameter der Detektion

● Bildvergleichsverfahren

– Nächste-Nachbar-Suche– Erweiterung der Auswertung– Validierung– Laufzeit / Laufzeitoptimierung

● Java EE Webservice

– Anwendungsfälle– Aufbau– Datenfluss– Datenbank

● Zusammenfassung / Ausblick

Marco Franke

Page 6: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

6

Schlüsselpunktedetektion● Hesse-Detektor● Integralbild● Laplace of Gaussian

(Mittelwertfilter)● Hesse-Matrix (Determinante)● Filterpyramide (Oktaven, Skale)● Weitere Untersuchungen ob

Schlüsselpunkt in seinem Bereich markant ist.

Marco Franke

● Schlüsselpunkte

– Position (x,y)– Skale (Bereichsgröße in der der Punkt Markant ist)

Page 7: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

7

Eigenschaften der Schlüsselpunkte● Orientierung

– Haar-Wavelets in x- und y-Richtung– Anwendung auf umliegende Pixel (abhängig von Skale)

Marco Franke

Page 8: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

8

Eigenschaften der Schlüsselpunkte● Deskriptor

– 64 dim. Vektor– Ausrichtung nach Orientierung– Größe abhängig von Skale

Marco Franke

Page 9: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

9

Eigenschaften der Schlüsselpunkte

Marco Franke

Page 10: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

10

Parameter der Detektion

● Anzahl der Oktaven– Werte: 1, 2, ..., 5– max. Filtergröße

● Initiale Abtastrate– Schrittweite bei der Bildpunktuntersuchung

● Hessian Threshold– Schwellenwert den die Determinanten überschreiten müssen

Marco Franke

Page 11: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

11

Bildvergleich● Nächste-Nachbar-Suche

– n*m Schlüsselpunktvergleiche

● Schwellenwert

Marco Franke

Page 12: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

12Marco Franke

Bildvergleich

Page 13: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

13

Erweiterung der Auswertung

Marco Franke

● Bezugnahme der Orientierung und Skale (nach NN-Suche)– Grundgedanke: Beziehungen zwischen allen Zuordnungen herstellen

– Initiale Verhältnisse durch Bewertung der Zuordnungen

● Verhältnisse zwischen Orientierung muss für alle Zuordnungen gelten

● Parameter: Toleranz in der das Verhältnis der Orientierung abweichen darf

● Analog für Skale

Page 14: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

14Marco Franke

Erweiterung der Auswertung

Page 15: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

15Marco Franke

● Ablauf

Bewertung Zuordnungen

Sortiert in Liste

Referenz Verhältnisse aus bester Zuordnung

Alle weiteren Zuordnungen müssen im Bereich der Referenz Verhältnisse liegen

Anpassung der Referenz Verhältnisse Verwerfen der Zuordnung

Erweiterung der Auswertung

Page 16: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

16

Validierung

Marco Franke

● 89 Referenzbilder (Im System vorhanden)● 79 Suchbilder (Anfrage-Bilder)● → 7031 Bildvergleiche● Normierung auf min. 500px, max. 1000px ● Grenze z = 10 (Anzahl Zuordnungen)

● Genauigkeit (precision) P = 89%● Trefferquote (recall) R = 52%

Page 17: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

17

Laufzeit

Marco Franke

32 ms/Bildvergleich

Page 18: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

18

Laufzeitoptimierung

Marco Franke

● Ansatz I: Nächste-Nachbar-Suche

Problem: Distanz zu allen Schlüsselpunkten werden ermittelt

> aktuell nächste Nachbar?

Page 19: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

19

Laufzeitoptimierung

Marco Franke

Optimierung um 25%

Page 20: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

20

Webservice

Marco Franke

● Anwendungsfälle

Page 21: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

21

Webservice

Marco Franke

● Aufbau

● Datenfluss

Page 22: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

22

Webservice

Marco Franke

● Datenbank

● REST-Schnittstelle (HTTP Get/Post)

Page 23: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

23

Webservice

Marco Franke

● Laufzeit– plagiat-web ~170ms/Bild (Anfrage + Download d. Suchbildes)– Vorverarbeitung ~654ms/Bild (Normierung + Detektion)

– Referenzbilder laden ~124ms/Bild (nur bei Session beginn)

● Bestehendes Problem: – Höhere Laufzeit beim Bildvergleich um das 2- bis 4-Fache

Page 24: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

24

Zusammenfassung

Marco Franke

● SURF – Algortihmus / Bildvergleich– Theoretische Betrachtung des Verfahrens– Untersuchung der Implementation „JOpenSURF“– Erweiterung / Verbesserung der Implementation

● Qualität ↔ Laufzeit– Validierung

● Genauigkeit ↔ Trefferquote● Webservice

– RESTlet, JaxB, JPA/Hibernate– → Hohe Einsatzbreite

● Probleme:– Höhere Laufzeit Webservice (Lösung → Einsetzbarkeit des Systems)

Page 25: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

25

Ausblick

Marco Franke

● Weitere Ansätze (Bildvergleich):– Qualität

● Optimierung der Parameter durch detaillierte Validierung– Bisher nur Annäherungen

● Ermittlung weiterer Eigenschaften der Schlüsselpunkte● Erweiterung der Deskriptoren

(z.B. 128 Dimensionen [SIFT])● Ansätze der Mustererkennung

– Laufzeit● Cluster-verfahren (z.B. k-means)● Bäume, Graphen, Hashfunktionen, …

● Kernproblem:– Dimensionen („Fluch der Dimensionen“)– → Laufzeit

Page 26: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

26Marco Franke

Vielen Dank für Ihre Aufmerksamkeit!

Page 27: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

27

Anhang

Marco Franke

F 30: IntegralbildF 31: Laplace of Gaussian (LoG)F 32: FilterpyramideF 33: Hesse-MatrixF 34: Anzahl der OktavenF 35: Initiale Abtastrate IF 36: Initiale Abtastrate II F 37: Hessian ThresholdF 38: Bildvergleich Beispiel + IF 39: Bildvergleich Beispiel + IIF 40: Bildvergleich Beispiel - IF 41: Bildvergleich Beispiel – IIF 42: Bewertung der ZuordnungenF 43: Listing: Nächste-Nachbar-SucheF 44: Listing: Erweiterte AuswertungF 45: Listing: DTO ↔ XML (JaxB)F 46: Listing: DB ↔ Model (JPA/Hibernate)

Page 28: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

28

Schlüsselpunktedetektion● Integralbild

Marco Franke

Page 29: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

29

Schlüsselpunktedetektion● Laplace of Gaussian (LoG)

Marco Franke

x-Richtung

y-Richtung

x-y-Richtung

Page 30: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

30

Schlüsselpunktedetektion

● Filterpyramide

– Oktaven– Skale

Marco Franke

Page 31: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

31

Schlüsselpunktedetektion

● Hesse-Matrix (Determinante, Spur)

● 3x3 - Nachbarschaft

Marco Franke

→ Schlüsselpunkt Eigenschaften

– Position (x,y)

– Skale (→ Bereich)

Page 32: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

32

Parameter der Detektion● Anzahl der Oktaven

Marco Franke

Page 33: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

33

Parameter der Detektion● Initiale Abtastrate

Marco Franke

Page 34: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

34

Parameter der Detektion● Initiale Abtastrate

Marco Franke

Page 35: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

35

Parameter der Detektion● Hessian Threshold

Marco Franke

Page 36: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

36

Bildvergleich Beispiel +

Marco Franke

Page 37: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

37

Bildvergleich Beispiel +

Marco Franke

Page 38: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

38

Bildvergleich Beispiel -

Marco Franke

Page 39: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

39

Bildvergleich Beispiel -

Marco Franke

Page 40: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

40

Bewertung der Zuordnungen

Marco Franke

● Nicht korrekte „beste“ Zuordnung

● Gleiche Verhältnisse der Orientierung und Skale– Auch falsche Zuordnungen können Bedingung erfüllen

Page 41: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

41

Nächste-Nachbar-Suche

Marco Franke

Page 42: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

42

Erweiterte Auswertung

Marco Franke

Page 43: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

43

DTO ↔ XML (JaxB)

Marco Franke

Page 44: Java EE Webservice basiert auf RESTlet, JaxB und JPA ...files.axomble.com/MyDocs/verteidigung.pdf · Bachelorverteidigung Marco Franke. 2 Hintergrund Marco Franke 3 Monate Praktikum

44

DB ↔ Model (JPA/Hibernate)

Marco Franke