76
Einführung in Visual Computing UE Vorbesprechung Martin Ilčík Institute of Computer Graphics and Algorithms Vienna University of Technology

Einführung in Visual Computing UE Vorbesprechung

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Einführung in Visual Computing UE Vorbesprechung

Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík

Institute of Computer Graphics and Algorithms

Vienna University of Technology

Page 2: Einführung in Visual Computing UE Vorbesprechung

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

Page 3: Einführung in Visual Computing UE Vorbesprechung

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

Page 4: Einführung in Visual Computing UE Vorbesprechung

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

Page 5: Einführung in Visual Computing UE Vorbesprechung

Vorstellung der Beispiele

Page 6: Einführung in Visual Computing UE Vorbesprechung

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, ...

Page 7: Einführung in Visual Computing UE Vorbesprechung

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

Page 8: Einführung in Visual Computing UE Vorbesprechung

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!

Page 9: Einführung in Visual Computing UE Vorbesprechung

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

Page 10: Einführung in Visual Computing UE Vorbesprechung

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

Page 11: Einführung in Visual Computing UE Vorbesprechung

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

Page 12: Einführung in Visual Computing UE Vorbesprechung

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

Page 13: Einführung in Visual Computing UE Vorbesprechung

Bsp 1 – Parameter Berechnung

Lokale Umgebung Lokales Histogramm Rangordnung Faltung

Gute Testbilder Kleine Muster Isolierung der Variablen

Martin Ilčík 12

Page 14: Einführung in Visual Computing UE Vorbesprechung

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

Page 15: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 14

Bsp 1 – Parameter Berechnung

Unbestimmt Kombinationen von Filtern Segmentierung Integrale Bilder …

Schwer zu rekonstruieren Gute Testbilder

Page 16: Einführung in Visual Computing UE Vorbesprechung

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])

Page 17: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 16

Bsp 1 – Parameter Berechnung (Faltung)

Isolierung eines Wertes Alles im Scope schwarz außer einem Pixel

Page 18: Einführung in Visual Computing UE Vorbesprechung

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

Page 19: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 18

Bsp 1 – Parameter Berechnung (Faltung)

(3x3) x (3x3) Bild

Page 20: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 19

Bsp 1 – Parameter Berechnung (Faltung)

Rand ist schwierig zu bestimmen

Page 21: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 20

Bsp 1 – Parameter Berechnung (Faltung)

Erste 3x3 Umgebung

Page 22: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 21

Bsp 1 – Parameter Berechnung (Faltung)

Erste 3x3 Umgebung (a = R0) R0 = a

Page 23: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 22

Bsp 1 – Parameter Berechnung (Faltung)

Zweite Umgebung (b = R1) R0 = a R1 = b

Page 24: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 23

Bsp 1 – Parameter Berechnung (Faltung)

Dritte Umgebung (c = R2) R0 = a R1 = b R2 = c

Page 25: Einführung in Visual Computing UE Vorbesprechung

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

Page 26: Einführung in Visual Computing UE Vorbesprechung

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

Page 27: Einführung in Visual Computing UE Vorbesprechung

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

Page 28: Einführung in Visual Computing UE Vorbesprechung

Bsp 1 – Vorschau

Martin Ilčík 27

Page 29: Einführung in Visual Computing UE Vorbesprechung

Bsp 1 – Vorschau

Martin Ilčík 28

Page 30: Einführung in Visual Computing UE Vorbesprechung

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

Page 31: Einführung in Visual Computing UE Vorbesprechung

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

Page 32: Einführung in Visual Computing UE Vorbesprechung

Bsp 2 – Anatomie einer Schachfigur

Körperteile als einfache Objekte Kugel, Box, Cylinder ∩ − ∪ Mengenoperationen Rotationsobjekte (lathe) Translationsobjekte (prism) Schleifen

Martin Ilčík 31

Page 33: Einführung in Visual Computing UE Vorbesprechung

Rotationsobjekte (lathe) Linientyp Kontur

2D Punkteliste Y-Axis Rotierung

Bsp 2 – Anatomie einer Schachfigur

Martin Ilčík 32

Page 34: Einführung in Visual Computing UE Vorbesprechung

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> }

Page 35: Einführung in Visual Computing UE Vorbesprechung

Bsp 2 – Anatomie einer Schachfigur

Translationsobjekte (prism) Linientyp Kontur Y-Axis sweeping

Martin Ilčík 34

Page 36: Einführung in Visual Computing UE Vorbesprechung

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> }

Page 37: Einführung in Visual Computing UE Vorbesprechung

Bsp 2 – Anatomie einer Schachfigur

Constructive Solid Geometry Union, Difference, Intersection Einfache Beschreibung Komplexe Objekte

Martin Ilčík 36

Page 38: Einführung in Visual Computing UE Vorbesprechung

Bsp 2 – Anatomie einer Schachfigur

Schleifen Wiederholung Variationen

Martin Ilčík 37

Page 39: Einführung in Visual Computing UE Vorbesprechung

#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

Page 40: Einführung in Visual Computing UE Vorbesprechung

#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

Page 41: Einführung in Visual Computing UE Vorbesprechung

#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

Page 42: Einführung in Visual Computing UE Vorbesprechung

#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

Page 43: Einführung in Visual Computing UE Vorbesprechung

Bsp 2 – Schachaufstellung

Martin Ilčík 42

Page 44: Einführung in Visual Computing UE Vorbesprechung

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

Page 45: Einführung in Visual Computing UE Vorbesprechung

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

Page 46: Einführung in Visual Computing UE Vorbesprechung

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

Page 47: Einführung in Visual Computing UE Vorbesprechung

Bsp 3a – Weißabgleich Probleme

Martin Ilčík 46

Automatik – zu kalt Manuell – wärmere Farben

Page 48: Einführung in Visual Computing UE Vorbesprechung

Bsp 3a – Weißabgleich Probleme

Martin Ilčík 47

Page 49: Einführung in Visual Computing UE Vorbesprechung

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

Page 50: Einführung in Visual Computing UE Vorbesprechung

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

Page 51: Einführung in Visual Computing UE Vorbesprechung

Bsp 3a – Belichtungsprobleme

Martin Ilčík 50

Automatik Manuell mit TV falsch abschätzt

zu kurze Belichtung

Automatik mit -1 EV

Page 52: Einführung in Visual Computing UE Vorbesprechung

Bsp 3a – Belichtungsprobleme

Martin Ilčík 51

Automatik auf Fenster fokussiert Automatik auf Holz fokussiert

Page 53: Einführung in Visual Computing UE Vorbesprechung

Bsp 3a – Belichtungsprobleme

Martin Ilčík 52

Automatik auf Leinwand fokussiert

Automatik auf Holz fokussiert

Page 54: Einführung in Visual Computing UE Vorbesprechung

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

Page 55: Einführung in Visual Computing UE Vorbesprechung

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

Page 56: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 55

Bsp 3b – Eingabe

Page 57: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 56

Bsp 3b – Eingabe

Page 58: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 57

Bsp 3b – Demosaicing

Page 59: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 58

Bsp 3b – Demosaicing

Page 60: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Weißabgleich

Martin Ilčík 59

Page 61: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Histogrammäqualisierung

Martin Ilčík 60

Page 62: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Gammakorrektur

Martin Ilčík 61

Page 63: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 62

Bsp 3b – Color Filter Arrays (CFA)

Bayer Arrays 2x2 Muster bevorzugt Grün RGGB, BGGR, GRBG, GBRG

Page 64: Einführung in Visual Computing UE Vorbesprechung

Martin Ilčík 63

Bsp 3b – Interpolation der Farben

RGGB als Beispiel Separation in 3 Datenfelder Demosaicing

Interpolation fehlender Werte

Page 65: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolation der grünen Farbe

Bilineare Interpolation Durchschnitt der Nachbarn 4-Nachbarschaft

Martin Ilčík 64

222

3021 GGGG

MI+

++

=

Page 66: Einführung in Visual Computing UE Vorbesprechung

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

+++

++

+

=

==

Page 67: Einführung in Visual Computing UE Vorbesprechung

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+++

+

==

++

Page 68: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter

Interpolation separierbar Horizontal (3 Fälle)

Martin Ilčík 67

Page 69: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter

Interpolation separierbar Vertikal (3 Fälle)

Martin Ilčík 68

Page 70: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter

Interpolation separierbar Mitte (4 Fälle)

Martin Ilčík 69

Page 71: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter kombiniert

Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal

Martin Ilčík 70

Page 72: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter kombiniert

Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal + Horizontal

Martin Ilčík 71

Page 73: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter kombiniert

Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal + Horizontal + Mitte

Martin Ilčík 72

Page 74: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter kombiniert

Alle voneinander unabhängig Resultate überschreiben sich nicht Vertikal + Horizontal + Mitte + Original

Martin Ilčík 73

Page 75: Einführung in Visual Computing UE Vorbesprechung

Bsp 3b – Interpolationsfilter kombiniert

Demosaicing für Rot und Blau Separation des Kanals Faltung mit folgender Matrix

Martin Ilčík 74

Page 76: Einführung in Visual Computing UE Vorbesprechung

Viel Spaß bei der EVC Übung