symmetrieerkennung in theorie und praxis
TRANSCRIPT
![Page 1: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/1.jpg)
Symmetrieerkennung in Theorie und Praxis
FH Wedel Entwicklung trifft FU Berlin Forschung
Timm Hoffmann & Marcus Riemer
![Page 2: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/2.jpg)
“Symmetry is a complexity-reducing concept […]; seek it everywhere”
- Alan J. Perlis
![Page 3: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/3.jpg)
EINFÜHRUNG
![Page 4: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/4.jpg)
Symmetrien im Alltag
![Page 5: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/5.jpg)
Symmetrien im Alltag
![Page 6: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/6.jpg)
Symmetrien im Alltag
![Page 7: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/7.jpg)
Symmetrien im Alltag
![Page 8: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/8.jpg)
Wiederholung Analysis
Punkt
Achse
![Page 9: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/9.jpg)
D1 = Einzelne Achsenspiegelung
Achsen- und Rotationssymmetrie
Diedergruppe Dn
n Spiegelachsen durch den Mittelpunkt
Zyklische Gruppe Cn
Alle Drehungen um einen Punkt um Vielfache
von 360°
𝑛
Dn → Cn
C4 = Swastika
C3 = Triskele
Dn = Regelmäßiges n-Eck
C2 = Punktspiegelung
C1 = Komplett unsymmetrisches Objekt
D2 = Nicht quadratisches Rechteck
![Page 10: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/10.jpg)
Symmetrie
Symmetrie ist die Gleichgültigkeit bezüglich einer bestimmten Klasse von Transformationen
Spiegelung Translation Rotation
Spiegelung Rotation Translation Skalierung
![Page 11: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/11.jpg)
Symmetriegruppe
In der mathematischen Gruppentheorie ist die Symmetriegruppe eines geometrischen Objektes die Gruppe, die aus der Menge aller Kongruenzabbildungen besteht, die das Objekt auf sich selbst abbilden, zusammen mit der Verkettung von Abbildungen als Gruppenoperation.
![Page 12: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/12.jpg)
Symmetriegruppe
In der mathematischen Gruppentheorie ist die Symmetriegruppe eines geometrischen Objektes die Gruppe, die aus der Menge aller Kongruenzabbildungen besteht, die das Objekt auf sich selbst abbilden, zusammen mit der Verkettung von Abbildungen als Gruppenoperation.
![Page 13: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/13.jpg)
Endliche Symmetriegruppen
![Page 14: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/14.jpg)
Unendliche Symmetriegruppen
![Page 15: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/15.jpg)
Unendliche Symmetriegruppen
p1 (Translation)
p2gg (2 Rotationszentren +
Verschiebung)
![Page 16: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/16.jpg)
Frieze Gruppe
Unendlich, aber nur in eine Dimension
p1 (Translation)
p11g (Translation, Spiegelung)
p2mg (Translation, Spiegelung,
Rotation)
![Page 17: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/17.jpg)
ANWENDUNG
![Page 18: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/18.jpg)
Fragestellungen
1. Erkennung einer Symmetrie
2. Beschreibung der Symmetrie (Approximation)
![Page 19: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/19.jpg)
Erkennung
● Gegeben: Bild
● Gesucht: Symmetriegruppe
D4
![Page 20: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/20.jpg)
Probleme bei der Erkennung
● Bild nicht „mathematisch“ symmetrisch nur intuitiv erkennbar
● Weiche Erkennung erforderlich
![Page 21: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/21.jpg)
Eingabe für die Erkennung
● Vektorgrafik
– Geometrische Beschreibung von Pfaden
– Stetige Werte
● Pixelgrafik
– (Farb)Wert pro Pixel (Zelle in einem 2D-Raster)
● Punktwolke (reduzierte Vektorgrafik)
– „Liste von Koordinaten“
![Page 22: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/22.jpg)
Beispiele für Einsatzbereiche
● Objekterkennung in Bildern
● Astronomische Objekte klassifizieren
● Medizin: Muttermale von Hautkrebs unterscheiden
● Bildkompression
![Page 23: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/23.jpg)
Objekterkennung
x
y
(0|0)
Keinerlei Symmetrie im Gesamtbild
Quadrat = D4 & C4
Dreieck = D3 & C3
![Page 24: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/24.jpg)
Approximation
● Gegeben:
– Bild
– Symmetrie-Eigenschaft (z. B. Symmetriegruppe)
● Gesucht:
– Symmetrie-Beschreibung (z. B. konkrete Achsen)
– Soll vorhandene Symmetrie möglichst genau annähern
![Page 25: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/25.jpg)
Approximation
● NP-schwer für Punkte, die „zu“ nah beisammen liegen
● Ursprünglich von S. Iwanowski in seiner Doktorarbeit bewiesen „Approximate congruence and symmetry detection in the plane“ (1990)
● Verfeinert von C. Dieckmann „Symmetry Detection and Approximation“ (2012)
![Page 26: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/26.jpg)
Beispiel
Erkannte Symmetriegruppe: D1
![Page 27: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/27.jpg)
ERKENNUNG (1)
![Page 28: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/28.jpg)
Frieze Patterns
Rotation? Nein
Spiegelung? Nein
Translation? Ja
![Page 29: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/29.jpg)
Frieze Patterns
Muster P
Gesamtes Rasterbild T
![Page 30: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/30.jpg)
0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
Frieze Patterns und String Matching
Alphabet Σ = {0, 1} Zeile Ri wobei 1 ≤ i ≤ m und Ri ⊂ Ti ∈ Σ∗
m
n
![Page 31: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/31.jpg)
Breite des Musters ermitteln
Originales Bild T
1) For Ri, R
i' in T, T + T
2) Wi = Calc Second match of R
i in R
i'
3) Pwidth
= lcm(Wi,P
width)
Nur Erkennung von ganzzahligen Wiederholungen
![Page 32: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/32.jpg)
Breite des Musters ermitteln
Originales Bild T
1) For Ri, R
i' in T, T + T
2) Wi = Calc Second match of R
i in R
i'
3) Pwidth
= lcm(Wi,P
width)
![Page 33: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/33.jpg)
Laufzeit des Verfahrens
1) For Ri, R
i' in T, T + T
2) Wi = Calc Second match of R
i in R
i'
3) Pwidth
= lcm(Wi,P
width)
1) T + T ∈ O(1) #Durchläufe = N (Anzahl der Zeilen)
2) String Matching ∈ O(|T| + |P|) |T| = 2*M (Anzahl der Spalten)
|P| = M
Insgesamt also O(m) Aufwand
3) gcd ∈ O(log x) wobei x = Anzahl Bits für Parameter
O(n * (m + log x))⊆ O(mn)
![Page 34: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/34.jpg)
Umgang mit Graustufen
Def eq(l, r)
l=r
Def eq(l, r, 𝛿) 𝒍 − 𝒓 < 𝛿
![Page 35: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/35.jpg)
Unscharfes Matching
𝑓𝑖𝑙𝑡𝑒𝑟 𝑗 =1
𝑚 𝑅 𝑖 − 𝑅′ 𝑖 + 𝑗
𝑚
𝑖=1
Bisher: Lokale Ähnlichkeit, Jetzt: Globale Ähnlichkeit
1) For Ri, R
i' in T, T + T
2) For pos in Ri
3) Ri[pos] = filter(pos)
4) Wi = Second match of R
i in R
i' with 𝛿
5) Pwidth
= lcm(Wi,P
width)
O(n * (m² + m + log x))⊆ O(nm²)
![Page 36: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/36.jpg)
Unscharfes Matching
Bisher: Lokale Ähnlichkeit, Jetzt: Globale Ähnlichkeit
![Page 37: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/37.jpg)
Zusammenfassung: Frieze Pattern Matching
Rotation? Nein
Spiegelung? Nein
Translation? Ja
![Page 38: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/38.jpg)
Zusammenfassung: Frieze Pattern Matching
Rotation? Ja
Spiegelung? Ja
Translation? Ja
![Page 39: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/39.jpg)
ERKENNUNG (2)
![Page 40: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/40.jpg)
Hough Transformation
![Page 41: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/41.jpg)
Hough Transformation
Methode von Paul V. C. Hough
US-Patent 3,069,654 (1962) „Method and means for recognizing complex patterns“
allgemeiner Ansatz beliebige, parametrisierbare Formen zu finden
![Page 42: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/42.jpg)
Linienerkennung
Hough-Transformation häufig hierfür eingesetzt
Binärbild Linie, die möglichst viele Punkte überdeckt
![Page 43: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/43.jpg)
Bildraum Parameterraum
Bildraum (x , y) Parameterraum (m , b)
Punkt (𝑥𝑖 , 𝑦𝑖) 𝑏 = −𝑚 ⋅ xi + yi Gerade
Gerade 𝑦 = 𝑚𝑗 ⋅ 𝑥 + 𝑏𝑗 (𝑛𝑗 , 𝑏𝑗) Punkt
y
x
b
m
![Page 44: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/44.jpg)
Parameterraum
Problem: Beispiele für Parameter einer Linie nicht genau gleich
daher: diskretisieren
Datenstruktur: 2D-Array
1
1 1 3 1
4 6 2 1
1 1 1
1
2
![Page 45: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/45.jpg)
Diskretisierung
8
1 2 3 2 2
3 5 10 7
3 7
2
3 1
![Page 46: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/46.jpg)
Geradenrepräsentation
bisher: 𝑦 = 𝑚 ⋅ 𝑥 + 𝑏
vertikale Geraden?
besser: Hesse'sche Normalform
Winkel, Distanz vom Ursprung (Polarkoordinaten)
![Page 47: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/47.jpg)
Beispiel
![Page 48: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/48.jpg)
Resultat
𝑑
𝛼
![Page 49: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/49.jpg)
Linien → Symmetrie
Diedergruppe beschreibt Symmetrieachsen
Symmetrieachse ist eine Gerade
Suche nach einer „anderen“ Geraden
![Page 50: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/50.jpg)
Berechnung
Punkt 2
Punkt 1
Mittelsenkrechte
Normale der Mittelsenkrechten 𝛼
𝑑
.
![Page 51: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/51.jpg)
Beispiel
0 −𝜋 𝜋
−𝜋
4, 0
𝜋
4, 2
0,1 𝜋
2, 1
![Page 52: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/52.jpg)
Algorithmus
1) For (p1,p2) in Punkte X Punkte
2) Calc Parameter für Parameterraum
(hier: Polarkoordinaten der Mittelsenkrechten)
3) Inc Akkumulationsraum[diskretisierte Parameter]
4) Calc Häufungen im Akkumulationsraum suchen
Laufzeit: 𝑂 𝑛2
𝑛 ≜ #𝑃𝑢𝑛𝑘𝑡𝑒
𝑂 𝑛2
𝑂 1
𝑂 1
𝑂 𝑛2
![Page 53: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/53.jpg)
Kongruenz
![Page 54: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/54.jpg)
Symmetrieerkennung und die Fourier Transformation
![Page 55: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/55.jpg)
MASTER-PROJEKT
![Page 56: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/56.jpg)
Master Projekt
Projekt
Graustufenbild
Keine Symmetrie
Keine Symmetrie
D6 & C6
Symmetriegruppe
![Page 57: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/57.jpg)
Master Projekt
Projekt
Graustufenbild
Keine Symmetrie
Keine Symmetrie
D6 & C6
Symmetriegruppe
![Page 58: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/58.jpg)
Die Pipeline
Paare bilden, Winkel & Distanz
berechnen
Korrekte “Box” berechnen
Häufungen untersuchen
1) For p1, p2 in Punkte X Punkte
2) gparam = mx + b - y aus (p1, p2) konstruieren 3) gpolar = polarcoord(gparam)
4) Parameterraum += gpolar
5) For p1’, p2’ in Parameterraum
6) DiskreterRaum += interpolated(p1’, p2’)
7) Suchen von Häufungen(DiskreterRaum)
![Page 59: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/59.jpg)
Software Architektur
Backend Frontend
Protocol Buffer
![Page 60: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/60.jpg)
Warum C++ und HTML?
Harte Vorgaben von der FU Berlin
– Kein Haskell
– C++ oder Java
Weichere Vorgaben von uns
– Viele Experimente mit der Oberfläche
● Strikte Trennung zwischen Berechnung und Visualisierung
● Qt & GTK (C++) bzw. Swing, AWT & JavaFX (Java) sind eher “klassische” UI Bibliotheken
– Platformübergreifend (sogar auf mobilen Geräten)
![Page 61: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/61.jpg)
Warum Protocol Buffer?
Größe der Nachrichten -- ++
Einfach (C++)
• Externe Abhängigkeiten ? -
( Bibliotheken , eigene
Datenstrukturen )
+ ( Offizielle Code Generatoren )
Einfach ( Javascript )
• Externe Abhängigkeiten ? ++
( nativ unterstützt )
- ( Bibliotheken , aber
keine nativen Integer)
Typisierung
• Zahlen bestimmter Größen
• Strukturen , Listen
• Automatische Validierung
- ( keine Validierung )
++
JSON Protobuf
![Page 62: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/62.jpg)
Warum Protocol Buffer?
message ExactSample { required double angle = 1; required double distance = 2; required Intensity i1 = 3; required Intensity i2 = 4; }
message Intensity { repeated int32 channels = 1; }
Datentyp Protocol Buffer JSON
double 8 Byte 16 ASCII Zeichen
int32 (0 – 255) 1 – 2 Byte 1 – 3 ASCII Zeichen
Protocol Buffer 𝟏 𝟓 bis 𝟏 𝟐 der Größe
+ 33% für Base64 Encoding
𝑥 ∗1
5∗13
10~0.26𝑥
𝑥 ∗1
2∗13
10~0.65𝑥
![Page 63: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/63.jpg)
Parallelisierung mit der Pipeline
Gewinne durch die Pipeline eher marginal
– 3 Stufen, also auch maximal 3 Threads
– Stufen nicht gleichermaßen aufwändig
– Overhead durch Synchronisierung bei naiver Implementierung recht groß
– Trotzdem softwaretechnisch eine gute Struktur
Paare bilden, Winkel & Distanz
berechnen
Korrekte “Box” berechnen
Häufungen untersuchen
![Page 64: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/64.jpg)
Parallelisierung mit Partitionierung
Annahmen
● Erste Pipelinestufe dauert am Längsten
● Statische Partitionierung ist unkritisch
1) partitions = divide(Punkte X Punkte, #Cores)
2) For thread in Threads
3) thread.compute
4) For p1, p2 in partitions[thread.num]
5) gparam = mx + b - y aus (p1, p2) konstruieren 6) gpolar = polarcoord(gparam)
7) thread.Parameterraum += gpolar
8) Parameterraum += thread.Parameterraum
9) Threads.join()
![Page 65: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/65.jpg)
Auswahl von Paaren
Alle Paare • 3 Gelb • 2 Blau • 1 Rot
Jedes 2. Paar • 2 Gelb • 1 Blau • 0 Rot
Zufällige Paare • 1 Gelb • 2 Blau • 1 Rot
Leicht zu implementieren, schwierig zu untersuchen
![Page 66: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/66.jpg)
Diskretisieren der Werte
8
1 2 3 2 2
3 5 10 7
3 7
2
3 1
![Page 67: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/67.jpg)
Diskretisieren der Werte
8
1 2 3 2 2
3 5 10 7
3 7
2
3
1
![Page 68: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/68.jpg)
Diskretisieren der Werte
8
1 2 3 2 2
3 5 1
7
3 7
2
3
1
3
3 3
![Page 69: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/69.jpg)
Diskretisieren der Werte
Nearest Neighbour Bilinear Bikubisch
![Page 70: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/70.jpg)
Programme der FU
![Page 71: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/71.jpg)
User-Interface
Dynamisch einblendbare Optionen
Platz für Inhalte
Responsive Design
Eine Aktion für Berechnung
![Page 72: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/72.jpg)
User - Interface (mobil)
![Page 73: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/73.jpg)
User - Interface
Javascript
![Page 74: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/74.jpg)
Visualisierung
Potenziell große
Datenmenge
![Page 75: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/75.jpg)
Canvas SVG
HTML5 Canvas Scalable Vector Graphic
Zeichnen-Beschreibung Canvas Primitive (Funktionen)
XML Beschreibung
Einbettung HTML Element SVG Namespace
Bildformat Rastergrafik Vektorgrafik
Interaktion Browserevents des Canvas Element-individuelle Events
Manipulation Neuzeichnen DOM-Manipulation
Performance Gut Langsamer als Canvas
![Page 76: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/76.jpg)
AUSBLICK UND FAZIT
![Page 77: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/77.jpg)
Ausblick: Störungen
Rauschen Verformen
![Page 78: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/78.jpg)
Ausblick: Zu untersuchende Größen
● Störungen
● Generierung der Punktepaare
– Einfluss der verschiedenen Methoden der Paarbildung?
– Anzahl nötiger Paare für gute Erkennung?
● Diskretisierung
– Einfluss der variabel großen Zellen?
– Einfluss der verschiedenen Interpolationsmethoden?
![Page 79: Symmetrieerkennung in Theorie und Praxis](https://reader034.vdocuments.mx/reader034/viewer/2022052223/55c30cb8bb61ebb9568b46f7/html5/thumbnails/79.jpg)