einführung in visual computing ue vorbesprechung
TRANSCRIPT
Einführung in Visual Computing UE Vorbesprechung
Martin Ilčík
Institute of Computer Graphics and Algorithms
Vienna University of Technology
Martin Ilčík 1
Übungsbeispiele
Angaben & Abgaben http://lva.cg.tuwien.ac.at/evc TISS login
6 Beispiele 2 Blöcke mit je 3 Beispielen Bildverarbeitung, Computer Vision
Matlab, eigene Kamera Computergraphik
Java, POV-Ray, WebGL
Martin Ilčík 2
Wichtige Termine
Heute Vorstellung der Beispiele 1 – 3 Anmeldeschluss um 20:00
14.3 – Matlab Tutorial 19.3
Übungsstart InfLab zugänglich
25.4 – Vorstellung der Beispiele 4 – 6 4. 5 – Abgabe Beispiele 1 – 3
7.5 – 17.5 Abgabegespräche 22.6 – Abgabe Beispiele 4 – 6
25.6 – 29.6 Abgabegespräche
Bewertung der VU
Nachfrist +2 Tage Punteabzüge pro Tag
6 Beispiele 5 – 6 Positiv … OK 2 – 4 Positiv … schlechtere Note < 2 Positiv … VU NEGATIV
Übungstests 27. 4 – 17:00 1. Test 15. 6 – 18:00 2. Test 27. 6 – 18:30 Ersatztest
Martin Ilčík 3
Vorstellung der Beispiele
Martin Ilčík 5
Bsp 1 – Das Black Box Rätsel
Black Box = unbekannte Funktion nimmt Eingabebild zeigt Resultatbild
Aufgabe Bestimmung der Bildoperation Name des Verfahrens Exakte Parameter
Tools Händisch, Bildeditor (z.B. Gimp, Photoshop...) Matlab, Java, C, ...
Martin Ilčík 6
Bsp 1 – Bewertung
5 Black Boxes für 1 Punkt 4 Black Boxes für 2 Punkte 3 Black Boxes für 3 Punkte
22 Punkte
mindestens 10 Punkte = POSITIV
Martin Ilčík 7
Bsp 1 – Wie das Beispiel NICHT zu lösen ist
Matlab Black Boxes != Matlab Funktionen Perfektes matching nicht möglich
Black Boxes blind nachbauen nicht nötig ewiges Raten Frustration
Angabe nur schnell durchlesen Viel Hilfe ist schon dabei!
Martin Ilčík 8
Bsp 1 – Richtige Lösungswege
Mögliche Operationen Liste in der Angabe Skriptum, Internet Mathematik dahinter
Testbilder vorbereiten Spezifische Muster
Lokalität bestimmen Parameter berechnen Taxonomie Zuordnung
Sobel
Lagrange
SIFT Local tone mapping
Tent
Box
Unsharp masking Corner
Deconvolution Watermark
Kontraststärkung
Was beeinflusst das Resultat (pro Pixel)? Keine Umgebung (1x1)
Konstante Anderes Bild Histogramm
Lokal bestimmt (NxN) Fixe Umgebung Faltungskernel
Unbestimmt (∞) Zusammenhängende Regionen Kombination mehrerer Operationen
Martin Ilčík 9
Bsp 1 – Kochbuch der Bildoperationen
Martin Ilčík 10
Bsp 1 – Parameter Berechnung
Ohne Umgebung Arithmetische und logische Operationen +, -, *, /, exp, log, I(x) > c ? 0 : 1 ...
Gute Testbilder Konstante Farben Gradientbilder
Martin Ilčík 11
Bsp 1 – Parameter Berechnung
Ohne Umgebung Arithmetische und logische operationen +, -, *, /, exp, log, I(x) > c ? 0 : 1 ...
Gute Testbilder Konstante Farben Gradientbilder
Schwellenwert
Kontraststärkung
Bsp 1 – Parameter Berechnung
Lokale Umgebung Lokales Histogramm Rangordnung Faltung
Gute Testbilder Kleine Muster Isolierung der Variablen
Martin Ilčík 12
Lokale Umgebung Lokales Histogramm Rangordnung Faltung
Gute Testbilder Kleine Muster Isolierung der Variablen
Martin Ilčík 13
Bsp 1 – Parameter Berechnung
Blur
Kanten-detektion
Schärfung
Martin Ilčík 14
Bsp 1 – Parameter Berechnung
Unbestimmt Kombinationen von Filtern Segmentierung Integrale Bilder …
Schwer zu rekonstruieren Gute Testbilder
Martin Ilčík 15
Bsp 1 – Parameter Berechnung (Faltung)
Beispiel Faltung Bei 3x3 Kernel … 9 Unbekannte
R(x, y) = SUM (kernel[m, n] * scope[x + m, y + n])
Martin Ilčík 16
Bsp 1 – Parameter Berechnung (Faltung)
Isolierung eines Wertes Alles im Scope schwarz außer einem Pixel
Martin Ilčík 17
Bsp 1 – Parameter Berechnung (Faltung)
Isolierung eines Wertes Alles im Scope schwarz außer einem Pixel Genaue Bestimmung eines Kernelelements Funktioniert nur für positive Werte a,b,…,i ≥ 0
Martin Ilčík 18
Bsp 1 – Parameter Berechnung (Faltung)
(3x3) x (3x3) Bild
Martin Ilčík 19
Bsp 1 – Parameter Berechnung (Faltung)
Rand ist schwierig zu bestimmen
Martin Ilčík 20
Bsp 1 – Parameter Berechnung (Faltung)
Erste 3x3 Umgebung
Martin Ilčík 21
Bsp 1 – Parameter Berechnung (Faltung)
Erste 3x3 Umgebung (a = R0) R0 = a
Martin Ilčík 22
Bsp 1 – Parameter Berechnung (Faltung)
Zweite Umgebung (b = R1) R0 = a R1 = b
Martin Ilčík 23
Bsp 1 – Parameter Berechnung (Faltung)
Dritte Umgebung (c = R2) R0 = a R1 = b R2 = c
Martin Ilčík 24
Bsp 1 – Parameter Berechnung (Faltung)
Alle 9 Umgebungen für kompletten Kernel R0 = a R1 = b R2 = c R3 = d … R8 = i
Martin Ilčík 25
Bsp 1 – Parameter Berechnung (Faltung)
Alle 9 Umgebungen für kompletten Kernel R0 = a R1 = b R2 = c R3 = d … R8 = i
kernel
Martin Ilčík 26
Bsp 1 – Parameter Berechnung (Faltung)
Alle 9 Umgebungen für kompletten Kernel R0 = a R1 = b R2 = c R3 = d … R8 = i
kernel
Bsp 1 – Vorschau
Martin Ilčík 27
Bsp 1 – Vorschau
Martin Ilčík 28
Bsp 2 – Ungewöhnliche Modellierung
Aufgabe Schachfiguren modellieren Landschaftsobjekte
Brücke Pflanzen Häuser Straßen
Tools POV-Ray Raycaster mit textbasiertem Editor
Martin Ilčík 29
Bsp 2 – Ungewöhnliche Modellierung
1 Figur für 1 Punkt 1 Figur für 2 Punkte 1 Figur und Objekt je 3 Punkte 1 Objekt für 4 Punkte 1 Objekt für 5 Punkte
18 Punkte
mindestens 12 Punkte = POSITIV
Martin Ilčík 30
Bsp 2 – Anatomie einer Schachfigur
Körperteile als einfache Objekte Kugel, Box, Cylinder ∩ − ∪ Mengenoperationen Rotationsobjekte (lathe) Translationsobjekte (prism) Schleifen
Martin Ilčík 31
Rotationsobjekte (lathe) Linientyp Kontur
2D Punkteliste Y-Axis Rotierung
Bsp 2 – Anatomie einer Schachfigur
Martin Ilčík 32
Bsp 2 – Anatomie einer Schachfigur
Martin Ilčík 33
lathe { linear_spline 11, //Podest <0, 0> <0.4, 0> <0.4, 0.05> //Beine <0.35, 0.06> <0.4, 0.11> <0.3, 0.16> <0.25, 0.26> //Körper <0.2, 0.28> <0.1, 0.76> //Nacken <0.2, 0.76> <0.1, 0.86> }
Bsp 2 – Anatomie einer Schachfigur
Translationsobjekte (prism) Linientyp Kontur Y-Axis sweeping
Martin Ilčík 34
Bsp 2 – Anatomie einer Schachfigur
Translationsobjekte (prism) Linientyp Kontur Y-Axis sweeping
Martin Ilčík 35
prism { linear_spline 0, 0.04, 15, <0, 0.12> <0.08, 0.108> <0.016, 0.024> <0.08, 0.04> <0.08, -0.04> <0.016, -0.024> <0.08, -0.108> <0, -0.12> <-0.08, -0.108> <-0.016, -0.024> <-0.08, -0.04> <-0.08, 0.04> <-0.016, 0.024> <-0.08, 0.108> <0, 0.12> rotate <-90, 0, 0> translate <0, 1.983,0> }
Bsp 2 – Anatomie einer Schachfigur
Constructive Solid Geometry Union, Difference, Intersection Einfache Beschreibung Komplexe Objekte
Martin Ilčík 36
Bsp 2 – Anatomie einer Schachfigur
Schleifen Wiederholung Variationen
Martin Ilčík 37
#declare Index = 0; #declare Max = 12; Difference { cone { <0, 1.365, 0>, 0.15 <0, 1.695, 0>, 0.25 } sphere { <0, 1.695, 0>, 0.2 } #while(Index < Max) #declare A = (6.28 / Max) * Index; sphere { <0, 0, 0>, 0.07 translate <0.237 * sin(A), 1.695 * 1, 0.237 * cos(A)> } #declare Index = Index + 1; #end }
Bsp 2 – Anatomie einer Schachfigur
Martin Ilčík 38
#declare Index = 0; #declare Max = 12; Difference { cone { <0, 1.365, 0>, 0.15 <0, 1.695, 0>, 0.25 } sphere { <0, 1.695, 0>, 0.2 } #while(Index < Max) #declare A = (6.28 / Max) * Index; sphere { <0, 0, 0>, 0.07 translate <0.237 * sin(A), 1.695 * 1, 0.237 * cos(A)> } #declare Index = Index + 1; #end }
Bsp 2 – Anatomie einer Schachfigur
Martin Ilčík 39
#declare Index = 0; #declare Max = 12; Difference { cone { <0, 1.365, 0>, 0.15 <0, 1.695, 0>, 0.25 } sphere { <0, 1.695, 0>, 0.2 } #while(Index < Max) #declare A = (6.28 / Max) * Index; sphere { <0, 0, 0>, 0.07 translate <0.237 * sin(A), 1.695 * 1, 0.237 * cos(A)> } #declare Index = Index + 1; #end }
Bsp 2 – Anatomie einer Schachfigur
Martin Ilčík 40
#declare Index = 0; #declare Max = 12; Difference { cone { <0, 1.365, 0>, 0.15 <0, 1.695, 0>, 0.25 } sphere { <0, 1.695, 0>, 0.2 } #while(Index < Max) #declare A = (6.28 / Max) * Index; sphere { <0, 0, 0>, 0.07 translate <0.237 * sin(A), 1.695 * 1, 0.237 * cos(A)> } #declare Index = Index + 1; #end }
Bsp 2 – Anatomie einer Schachfigur
Martin Ilčík 41
Bsp 2 – Schachaufstellung
Martin Ilčík 42
Martin Ilčík 43
Bsp 3a – Arbeit mit einer Kamera
Wann scheitert die Automatik? Schlechte Lichtverhältnisse Wetterbedingungen Rasche Ereignisse
Aufgabe 3 Paare von Bildern aufnehmen
1 mit gescheiterter Automatik 1 mit manuellem Ausgleich
Tools Eigene Digitalkamera
Bsp 3a – Weißabgleich Probleme
Naturlicht Spezielle Pigmente Schwächeres Licht (Dämmerung, Schatten) Eine dominante Farbe Innenräume
Kunstlicht Starke Lichtquellen Kombinationen
Verschiedene Typen (Turnhallen) Naturlicht (Fenster, Mondschein)
Martin Ilčík 44
Bsp 3a – Weißabgleich Einstellungen
WB = White Balance AWB ... Automatik Sonnenlicht, Schatten Kunstlichter, Blitz Manuelle Einstellung
Temperatur Beispielbild
Automatische Szenen Innenmodus Pflanzenmodus
Martin Ilčík 45
Bsp 3a – Weißabgleich Probleme
Martin Ilčík 46
Automatik – zu kalt Manuell – wärmere Farben
Bsp 3a – Weißabgleich Probleme
Martin Ilčík 47
Bsp 3a – Belichtungsprobleme
High Dynamic Range Intervall <Schatten, Hell> zu groß Schnee, Strand, Berge Stark reflektierende Flächen Gegenlicht
Belichtungsmessung Zu dunkeler/heller Punkt Dynamische Beleuchtung
Histogramm zur Verifizierung Martin Ilčík 48
Bsp 3a – Belichtungseinstellungen
Belichtungskorrektur EV = Exposure Value … Lichtwert 1 EV verdoppelt/halbiert Belichtungszeit
TV = Shutter Priority Manuelle Einstellung T … Exposition 1/T sec
Indirekte Einflüsse ISO Wert, Blende
Martin Ilčík 49
Bsp 3a – Belichtungsprobleme
Martin Ilčík 50
Automatik Manuell mit TV falsch abschätzt
zu kurze Belichtung
Automatik mit -1 EV
Bsp 3a – Belichtungsprobleme
Martin Ilčík 51
Automatik auf Fenster fokussiert Automatik auf Holz fokussiert
Bsp 3a – Belichtungsprobleme
Martin Ilčík 52
Automatik auf Leinwand fokussiert
Automatik auf Holz fokussiert
Martin Ilčík 53
Bsp 3b – Kamerasensoren
RAW Bilder Unverarbeitete Sensordaten pro Pixel nur ein Farbkanal
der Rest = 2/3 ist nachgerechnet Hohe Farbtiefe (bis 16-bit)
Aufgabe Verarbeitung von Sensordaten Vier Abstimmungsschritte
Tools Matlab
Martin Ilčík 54
Bsp 3 – Bewertung
3 Punkte für 3a 1 pro Bildpaar POSITIV = mindestens 2 Punkte
7 Punkte für 3b 3 für Demosaicing 1 für Weissabgleich 1 für Histogrammäqualisierung 1 für Gammakorrektur 1 für Histogramm Darstellung POSITIV = mindestens 5 Punkte
Martin Ilčík 55
Bsp 3b – Eingabe
Martin Ilčík 56
Bsp 3b – Eingabe
Martin Ilčík 57
Bsp 3b – Demosaicing
Martin Ilčík 58
Bsp 3b – Demosaicing
Bsp 3b – Weißabgleich
Martin Ilčík 59
Bsp 3b – Histogrammäqualisierung
Martin Ilčík 60
Bsp 3b – Gammakorrektur
Martin Ilčík 61
Martin Ilčík 62
Bsp 3b – Color Filter Arrays (CFA)
Bayer Arrays 2x2 Muster bevorzugt Grün RGGB, BGGR, GRBG, GBRG
Martin Ilčík 63
Bsp 3b – Interpolation der Farben
RGGB als Beispiel Separation in 3 Datenfelder Demosaicing
Interpolation fehlender Werte
Bsp 3b – Interpolation der grünen Farbe
Bilineare Interpolation Durchschnitt der Nachbarn 4-Nachbarschaft
Martin Ilčík 64
222
3021 GGGG
MI+
++
=
Bsp 3b – Interpolation der grünen Farbe
Bilineare Interpolation Durchschnitt der Nachbarn 4-Nachbarschaft
Martin Ilčík 65
4
222
3210
3021
GGGG
GGGG
MI
+++
++
+
=
==
Bsp 3b – Interpolation der roten Farbe
2 Interpolationstypen Linear am Rand Bilinear in der Mitte
Martin Ilčík 66
2232013210 RRRR II ++ ==
2132023120 RRRR II ++ ==
4
23210
21302
22301
RRRRM
IIII
I+++
+
==
++
Bsp 3b – Interpolationsfilter
Interpolation separierbar Horizontal (3 Fälle)
Martin Ilčík 67
Bsp 3b – Interpolationsfilter
Interpolation separierbar Vertikal (3 Fälle)
Martin Ilčík 68
Bsp 3b – Interpolationsfilter
Interpolation separierbar Mitte (4 Fälle)
Martin Ilčík 69
Bsp 3b – Interpolationsfilter kombiniert
Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal
Martin Ilčík 70
Bsp 3b – Interpolationsfilter kombiniert
Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal + Horizontal
Martin Ilčík 71
Bsp 3b – Interpolationsfilter kombiniert
Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal + Horizontal + Mitte
Martin Ilčík 72
Bsp 3b – Interpolationsfilter kombiniert
Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal + Horizontal + Mitte + Original
Martin Ilčík 73
Bsp 3b – Interpolationsfilter kombiniert
Demosaicing für Rot und Blau Separation des Kanals Faltung mit folgender Matrix
Martin Ilčík 74
Viel Spaß bei der EVC Übung