###### tags: `FS5
# Visual Computing
## 1. VL: Einführung
### 1.1 Visual Computing Definition
- VC eine Kombination mehrerer IT Bereiche, in denen überwiegend mit Bildern und Modellen gearbeitet wird
### Vier exemplarische Themenbereiche
#### 3D Internet
- Erweiterung des textuell aufgefassten Dokumentenbegriffs auf den Bereich der 3D Modelle
- Anwendungsmöglichkeiten
- Modellerzeugung
- Medical Computing
#### Skalierbare Objektmodellierung & -erkennung
- Heutige Erkennung auf hunderte Kategorieren beschränkt, nötig sind aber 10 Tausende
- neue Kategorien müssen anhand weniger Beispiele erlernbar sein.
#### Big Data / Visual Analytics
- geeignete Analyse und explorative Erschließung von abstrakten, heterogenen und großen Datenmengen kann in vielen Bereichen nützlich sein
- Visual Analytics kombinieren Ansätze von ML mit neuartigen Visualisierungsansätzen und/oder Mensch-Maschine Interaktionen
#### Scene Understanding
- Personen Detektion und Tracking (auch in komplexen Situationen)
- Anwendungen
- Automotive Safety & Service Robotics
- Homeland Security
- multimediale Suche im Internet
- Ambient Assisted Living
- Ziel: eine in Bildern erfasste Szene vollständig zu modellieren und darzustellen
### 1.2 Generalisierte Dokumente
#### Retro-Digitalisierung vs Digital Creation
- Digitalisierung von 3D Objekten aufwendig und zeitintensiv
- Werkzeuge für Massendigitalisierung fehlen
- effektive 3D-Massiendigitalisierungswerkzeuge und Workflows zu erstellen ist wichtiges Ziel
#### Generative Modeling Language (GML)
- Progammiersprache zur Beschreibung von dreidimensionalen Formen
- generativer Ansatz
- keine Objektlisten
- Objekterzeugende Operationen werden zur Datenrepräsentation verwendet
## 2. VL: Wahrnehmung
### 2.1 Allgemein
#### Human-Computer Interaction (HCI)
- Mensch:
- explizite Eingaben (Maus, Tastatur, Sprache, Gestik, ...)
- implizite Interaktion (Kontextinformationen, Sensorik)
- Computer:
- visuelle Ausgabe (Windows, Icons)
- andere Ausgabemodalitäten (Sprache, Haptik)
#### Kognition
- Prozesse, die mit dem Wahrnehmen und Erkennen zusammenhängen (Beurteilen, Erinnern, Vorstellen, Gedächtnis, Planen, ...)
### 2.2 Modulares 3-Stufenmodell der menschlichen Informationsverarbeitung
- 3 Stufen
- Wahrnehmung von Eindrücken mit den Sinnen
- Entscheidung der Reaktion im Gehirn
- Reaktion durch den Körper

#### Untersysteme der Wahrnehmung und Reaktion
- Perception
- visuell
- akustisch
- haptisch
- Ausgabe
- stimmlich
- motorisch
- Bearbeitungszeit
- Perception: avg. 100ms
- Cognition: avg. 70ms
- Reaction: avg. 70ms
#### Klangwahrnehmung (audition)
- Hauptkomponenten von Klängen
- Klangfarbe (timbre)
- Tonlage (pitch)
- Lautstärke (loudness)
#### Berührungswahrnehmung
- Komponenten
- Tastsinn (tactile): Temperatur, Schmerz, Druck, Textur
- Propriozeption: Wahrnehmung der Bewegung und Lage der eigenen Körperglieder
- Haptik interagiert stark mit Sehen und Hören
- bei widersprechenden Informationen können Illusionen entstehen
- Illusionen können für Infovermittelung verwendet werden
#### Motorische Benutzerausgabe
- diskret: Schalter, Buttons
- kontinuierlich: Hebel, Analogstick
- Beschränkt durch Geschwindigkeit, Stärke, Koordination, ...
- Neurologisch mit haptischem System verbunden (Reflexe)
- Muscle Memory: Relevante Positionen im Raum werden gelernt
### 2.3 Wahrnehmung
#### Das Auge
- visueller Reiz erzeugt physikalische Rezeption
- physikalische Reizung erzeugt neuro-physiologisches Signal
- Aufbau
- optisch abbildende Elemente
- Hornhaut (Kornea)
- Linse (Scharfstllung)
- Iris (Blendenmechanismus)
- Retina (Netzhaut) mit Rezeptoren
- Blinder Fleck wegen Sehnerv
- fovea centralis: Bereich der höchsten Auflösung
#### Photorezeptoren
- Stäbchen
- 100-120 Mio
- hauptsächlich außerhalb der Fovea
- Empfindlichkeitsmaximum bei 498 nm (= "grün")
- sind beim skoptischen Sehen (Nachtsehen) dominant
- Zapfen
- 7-8 Mio
- vor allem in Fovea
- 3 Typen für Farbsehen
- Empfindlichkeitsmaxima
- 420 nm (blau)
- 534 nm (grün)
- 564 nm (rot)
- sind beim photopischen Sehen (Tagsehen) dominant
#### Signalverarbeitung in Retina

- Horizontal Zellen
- kombinieren mehrere Rezeptoren einer Region
- Amakrin-Zelle
- Zeitliche Verarbeitung
- Bipolar-Zellen
- Informationsfilter: sammeln, gewichten, weiterleiten
- Ganglien-Zellen
- Integrieren Informationen
- Kontrastwahrnehmung
#### Helligkeit
- brightness
- wahrgenommene Lichtmenge einer selbstleuchtenden Lichtquelle (Bsp Lampe)
- lightness
- wahrgenommene Lichtmenge von einer reflektierenden Oberfläche
- ist nicht absolut sondern subjektiv
- abhängig von:
- Reizstärke
- Vorherige Lichtsituationen (Adaption)
- Lichtverhältnisse der Umgebung
- Konrast als Verhältnis
- $m=k=\frac{L_{max}-L_{min}}{L_{max}+L_{min}}$
- Hell-Dunkel-Kontrast wichtige Empfindungsgröße für Formsehen, Objektsehen, ...
- Unterschied muss groß genug sein (>= 0.8%)
#### Erkennung kleiner Details
- begrenzt durch
- optische Eigenschaften des Auges
- Abtastung durch Rezeptoren
- nervöse Verarbeitung
- Maß
- Kontrastempfindlichkeit
- Schwellenkontrast
#### Frühe Wahrnehmung
- gewisse Änderungen werden schneller wahrgenommen als andere
- Farbe
- Richtung
- Bewegung
- Größe
- Beleuchtung
- Aufmerksamkeit kann darüber gelenkt werden
#### Informationsextraktion
- Reiz $\neq$ Wahrnehmung
- weitere Faktoren
- Kontext
- Individuum
- Erwartung
- ...
- Wahrnehmung kein direktes Abbild der Realität
- Wahrnehmung steht mit Realität in einer Best-Fit-Relation
- Wahrnehmung adaptiert sich (z.B. bei Kopfstand)
#### Raumwahrnehmung
- besteht aus
- Tiefenwahrnehmung
- Entfernungs- und Distanzwahrnehmung
- Ausrichtung des Körpers im Raum
- Beteiligte Wahrnehmungssysteme
- verstibuläres System (Innenohr)
- haptisch-somatisches System
- Auditives System
- Propriozeptives System
- Visuelles System
#### Depth Cue Theorie
- Raumwahrnehmung des visuellen Systems basiert auf Hinweisreizen
- 3 Kategorien
- binokulare Depth Cues (beide Augen)
- Disparität / Parallaxe
- Akkommodition (variable Krümmung der Augenlinsen -> Scharfstellen)
- Konvergenz (die Augen nach Innen drehen)
- Pictorial Depth Cues (ein Auge)
- Verdeckung
- Fokus und Blur
- Vertraute Größen
- dynamische Depth Cues
- Bewegungsparallaxe
- Bewegung von Highlights
- Interposition
- Auswertung von Depth Cues
- Verschiedene Cues haben unterschiedlichen Informationsgehalt
- nicht redundant sondern additiv
- ein Depth Cue kann dominieren
- unteschiedliche Depth Cues werden für verschiedene Tasks unterschiedlich gewichtet
- mögliche Tasks
- Größeneinschätzung
- Entfernung einschätzen
- Navigation in 3D
- Kollisionszeit abschätzen
- Raumwahrnehmung
### 2.4 Aufmerksamkeit
- Reiz $\neq$ Wahrnehmung
- Reizaufnahme limitiert
- Bruchteil der Informationen stehen zur kognitiven Verarbeitung zur Verfügung
- Aufmerksamkeit und externe Faktoren wichtige Einflußfaktoren
- Wahrnehmung partielle Hypothese basierend auf unvollständigen Informationen
#### Aufmerksamkeit: Gateway to Memory
- Veränderungsblindheit
- große Änderungen in einem Bild werden nicht erkannt
- kommt dadurch, dass der Betrachter vor/während der Änderung abgelenkt wird
- Filter im Gehirn: bestimmte Dinge fokussieren, andere ignorieren
- 3 Typen
- selektive
- Zwischen mehreren Möglichkeiten wird eine Sache zum fokusieren ausgewählt
- Augen folgen Objekten von Interesse
- Cocktail Party Effekt
- geteilt
- Versuch durch "Multitasking" sich auf mehrere Dinge zu fokusieren
- wirkt sich negativ auf Verarbeitung aus
- Aufgaben beeinträchtigen sich gegenseitig
- erfasst
- ein äußerer Reiz zieht alle Aufmerksamkeit auf sich
#### Gedächtnis
- Arbeitsgedächtnis
- schneller Zugriff und schneller Verfall
- eingeschränkte Kapazität
- Informationen können in chunks zerlegt werden (wie bei Telefonnummern)
- Daten werden gelöscht, sobald Task abgeschlossen ist
- Langzeitgedächtnis ist langsamer dafür aber wesentlich größer
- langsamer Zugriff
- Zugriff kompliziertes Verfahren, dass von vorherigen Zugriffen abhängt
## 3. VL: Erkennung
### 3.1 Computer Vision
- Digitale Bilder sind Matrizen aus Pixeln mit einem Grauwert
- Ziel
- Wie kann man Obst in einem Raster von graustufen Zahlen erkennen
- Wie kann man dort Tiefeninformationen rauslesen
- wichtige Komponenten der Bilderkennung
- lokale Merkmale (z.B. Auge, Mund)
- globale Anordnung der lokalen Merkmale (relative Position und Größe)
- ebenfalls wichtig
- schnelle Generierung von guten Hypothesen
- Segmentierung der Bildbereiche
- Szenenkontext
- Bildaufbau nach Fischler und Elschlager
- Modell hat zwei Komponenten
- Teile (2D Bildfragmente)
- Aufbau (Anordnung der Teile)

### 3.2 Bayes Decision Theory
#### Wahrscheinlichkeit vs Wahrscheinlichkeitsdichte

- Verteilung: $p(x)$
- WSK: $P(x)$
- WSK, dass $x$ im Intervall ($x_0,x_1$) liegt
- $Pr(x_0<x<x_1)=\int_{x_0}^{x_1}p(t)dt$
- Für sehr kleine Intervalle ($x,x+\Delta x$) gilt $P(x)=p(x)$
#### a priori Wahrscheinlichkeit (Prior)
- Anteil einer Klasse an der Gesamtmenge. Konstante Werte, unabhängig vom Featurewert
- Bsp: Buchstabenhäufigkeit in einer Sprache - Buchstaben entsprechen einer Klasse
#### bedingte Wahrscheinlichkeit (Likelihood)
- sei $x$ ein Featurevektor, der bestimmte Eigenschaften beschreibt
- $P(x|C)$ ist die Wahrscheinlichkeit, dass für ein Objekt der Klasse $C$ der Featurewert $x$ gemessen wird
#### a posteriori Wahrscheinlichkeit (Posterior)
- $P(C|x)$ ist die Wahrscheinlichkeit, dass $x$ der Klasse $C$ angehört
- kann über Bayes Theorem bestimmt werden:
- $P(C|k) = \frac{P(x|C)*P(C)}{P(x)}$
- namentlich: $\text{Posterior}=\frac{\text{Likelihood x Prior}}{\text{Normalisierung}}$
#### Entscheidungsregeln
- Aufgabe eine Bayes Classfiers:
- Fehlklassifikation minimieren
- Entscheidungsgrenze bestimmen
- entscheide $C_1$, wenn
$P(C_1|x) > P(C_2|x) \\\iff P(C_1|x)P(C_1) > P(C_2|x)P(C_2) \\\iff \frac{P(x|C_1)}{x|C_2}>\frac{P(C_2)}{C_1} = \lambda$
- letzte Zeile ist der Likelihood Ratio Test
#### Naive Bayes Classifier
- bei mehr als zwei Merkmalen sind $P(x_1,x_2|C_k)$ und $P(x_1,x_2)$ mehrdimensional
- Schätzung der Dichte daher nicht immer möglich
- Naive Bayes Classifier nimmt an, dass Merkmale statistisch unabhängig sind
- $P(x_1,x_2|C_k) = P(x_1|C_k)*P(x_2|C_k)$
- Annahme in Realität oft falsch
- liefert trotzdem gute Ergebnisse zum Vergleich
### 3.3 Gesichtsdetektion
#### Appearance-Based Methods
- Prinzip
- Erscheinungsmodell aus großen Sammlungen von Bildern lernen
- am häufigsten Sliding Window Ansatz
- 3 Wichtige Aspekte
- Repräsentation des Objekts
- lokale Merkmale
- globale Anordnung der Merkmale
- Trainingsdaten
- sowohl positive Beispiele (Gesichter)
- als auch negative Beispiele (kein Gesichter)
- Klassifikator und Lernmethode
#### Sliding Window Approach
- Bild wird mit einer bestimmten Fenstergröße gescannt
- nach jedem Durchlauf wird das Bild verkleinert
- dadurch können Gesichter erkannt werden, die vorher zu groß waren
#### Ausführliches Beispiel (**ÜBERSPRUNGEN**)
#### Erkennungsarten
- Gesichtserkennung zählt zu biometrischen Verfahren
- Einsatzgebiet: sicherheitstechnisch, kriminalistisch, forensisch
- Zweck: Identifikation oder Verifikation natürlicher Personen
- Verifikation
- die zu verifizierende Person muss User-ID / Namen mitteilen
- biometrisches System entscheidet, ob die Person zum zugehörigen Referenzmerkmalsdatensatz gehört (1:1)
- "Passt Name zum biometrischen Bild?"
- Identifikation
- zu erkennende Person offenbart ausschließlich ihr biometrisches Charakteristikum
- System ermittelt durch Vergleich mit Referenzmerkmalsdatensätzen aller Nutzer den zugehörigen Namen / User-ID (1:n)
- "Zu wem gehört der Fingerabdruck?"
## 4. VL: Fourier **AUF LÜCKE**

## 5. VL: Bilder
### 5.1 Bildverbesserung
- Verbesserung und Aufbereitung für den Betrachter
- Anwendungsspezifisch, keine "allgemeine Theorie"
- Angewandte Methode abhängig von Bild und Betrachter
#### Methoden
- Ortsraum
- direkte Manipulation der Pixelwerte
- Pixel- / Filteroperationen
- Frequenzraum
- Bildtransformation
- Discrete Fourier Transform (DFT)
- Discrete Cosine Transform (DCT)
- Manipulation der Transformierten
- Rücktransformation in den Bildbereich
#### Typische Anwendungen
- Korrektur von Nicht-Linearitäten der Kamera
- Anpassung Helligkeit / Kontrast
- Bild ausgleichen
#### Histogramm
- graphische Darstellung der Häufigkeitsverteilung skalierter Merkmale
- gibt Informationen über
- Bilddynamik
- Bereich reeller Lichtintensitäten, er auf der Grauwertskala abgebildet wird
- Bildkontrast
- Bereich der Grauwertskala, der zur Darstellung der Bildinformation ausgenutzt wird
- Bildhelligkeit
- Beleuchtungsstärke
- Bildhelligkeit = Mittelwert aller Grauwerte
- Bildkontrast = Varianz aller Grauwerte
- 
#### Pixeloperationen
- Pixel wird unabhängig von seiner Nachbarschaft modifiziert
- Negativ
- Tresholding
- Fensterung (hervorheben eines bestimmten Intensitätsintervals im Bild)
- Histogrammausgleich (LÜCKE)
- Mittelung (Rauschunterdrückung mit Hilfe von $n$ Bildern über die gemittelt wird)
### 5.2 Bildfilterung
#### Im Ortsraum
- Filtermasken
- Pixelmanipulation abhängig von seiner Nachbarschaft
- Faltung mit einer $k \text{ x } l$ Matrix (Konvolution)
- Median ist nicht linear, kann also nicht durch Faltung umgesetzt werden
#### Im Frequenzraum
- Faltung im Ortsraum entspricht Multiplikation im Frequenzraum (und umgekehrt)
- Durch Multiplikation jeder Frequenz-Komponente $F(u,v)$ anhand einer Gewichtungsfunktion (=Filter) kann man bestimmte Frequenzen erniedrigen/erhöhen
- zugehörige Veränderungen werden durch Rücktransformation im Ortsraum sichtbar
- selektive Beseitigung von Frequenzkomponenten heißt Fourier-Filtering
- Filterarten
- Tiefpass
- Hochpass
- Bandpass
- idealer Tiefpass
- Abschneiden von Frequenzen $f>D_0$
- radialsymmetrisch zum Ursprung
- physikalisch nicht realisierbar
- stattdessen Gausscher Tiefpass
- idealer Hochpass analog
#### Frequenzraum vs Ortsraum
- schnellere Berechnung (FFT)
- einfache Handhabung (Filterdesign im Frequenzraum intuitiv)
- Ortsraumfilter nur eine Approximation der Frequenzraumfilter
### 5.3 Bildkompression
- Bildkompression versucht Menge der Daten zur Repräsentation visueller Informationen zu reduzieren
- Eliminierung von Redundanzen über
- Kodierungen
- Nachbarschaftsbeziehungen (räumlich, zeitlich)
- psychovisuelle Eindrücke
#### Kompression
- verlustlos
- Variable-Length-Coding (Huffman Code, arithmetischer Code)
- Bit-Plane Coding (Bit-Plane Splicing)
- Predictive Coding
- Lempel-Ziv-Welch-Algorithmus (GIF, TIFF)
- verlustbehaftet
- nicht alle Bildeigenschaften werden berücksichtigt
- exakte Rekonstruktion ggf. nicht mehr möglich
- Qualitäts-Kompressions-Verhältnis oft einstellbar
- Modelle der menschlichen Wahrnehmung werden verwendet
- Audio
- unkomprimiert: AIFF, WAV
- verlustlos: Apple Lossless (ALAC), MPEG-4-ALC
- verlustbehaftet: MP3, WMA, AAC
- Bilder
- unk: BMP, RAW
- VLL: GIF, PNG
- VLB: JPEG
- Video
- unk: nicht praktikabel
- VLL: nicht praktikabel
- VLB: H.264, WMV, MPEG-4 üart 2
#### Harmonische Transformation
- Daten werden in Frequenzanteile zerlegt
- Bsp Fourier- und Wavelet-Transformation
- JPEG typischer Vertreter
#### JPEG
- Algorithmenfamilie
- für Fotos mit fließenden Farbübergängen optimiert
- ungeeignet für Bilder mit viel Kontrast, Liniengrafiken oder Text
- Kompressionsraten von 12-15 für verlustfrei, 35 für noch gute Bilder
#### JPEG Prozess
1. Umwandlung in YCbCr-Farbraum
- $Y$ = Helligkeitswert
- $C_R$ = Abweichung von Grau in Richtung rot
- $C_B$ = Abweichung von Grau in Richtung blau
- 
2. Farb-Subsampling
- verlustbehaftete Komprimierung
- möglich wegen höheren Genauigkeit des Auges im grünen Bereich
- Farbdifferenzwerte $C_R,C_B$ werden für kleines Gebiet (meist 2x2) gemittelt und zusammengefasst
3. Diskrete Kosinustransformation
- Umwandlung der Bildinformationen in den Frequenzbereich
- Rasterung der von $Y,C_B,C_R$ in 8x8 Blöcke
- Blöcke werden DCT unterzogen und als Vektoren interpretiert
- Ziel
- Informationen in Darstellung überführen, die für Folgeschritte besser ist
- Filterung hoher, vom Auge nicht wahrnehmbarer Frequenzen
- Vorteil von DCT
- Wenn benachbarte Bildpunkte sich kaum unterscheiden (= keine scharfen Kanten) sind die meisten Koeffizienten gleich Null
4. Quantisierung
- Beseitigung von Informationen, die nicht/kaum vom Auge wahrgenommen werden
5. Kodierung der Koeffizienten
- aus 8x8 Blöcken wird sequentieller, eindimensionaler Bitstrom erzeugt
- DC Koeffizienten werden als Differenzen zum vorhergehenden DC Koeffizienten kodiert
- Koeffizienten werden entlang einer Zick-Zack-Kurve kodiert
- hohe Frequenzanteile oft klein/Null, entsteht für die weitere Kompression eine günstige Reihenfolge
- Bis hier noch noch keine explizite Kompression sondern grobe Transformation der Bilddaten
- Kompression über Huffman-Algorithmus oder arithmetisches Codieren
## 6. VL: Bildverarbeitung
### 6.1 Deblurring von Bildern
- sei angenommen, dass Bild *g* eine verwischte Version von Bild *f* mit einem Kernel *a* ist : $g=a(f)$ bzw $G=A*F$ in Fourierraum
- naiver Ansatz für Deblurring: $F=A^{-1}G$
- numerisch unrealistisch, da Werte fom Gaussfilter extrem sein klein werden
- Es gibt immer Bildrauschen
- Lösungsansatz
- komplex konjugierte Matrix $A^*$ verwenden
- $G=A*F \\ A^* *G=A^* *A*F \\ = |A|^2*F$
- mit $|A|^2>0$ gilt für die Rekonstruktion $F=\frac{A^*}{|A|^2}G$
- rekonstruiertes Bild hat so keine reellen Zahlen mehr
#### Jaques Hadamard
- korrektgestellte Probleme wenn
- Lösung existiert
- Lösung eindeutig
- Lösung hängt in einer vernünftigen Topologie kontinuierlich von den Daten ab
- Blurring ist korrekt gestellt, Deblurring nicht
### 6.2 Einschrittverfahren
#### Wiener Filter
- Lösen des Rauschproblems durch Regularisierung des Filters im Fourierraum $F=\frac{A^*}{|A|^2+R^2}G$
- **R** ist Signal-Rauschen Verhältnis
- **R** entscheidet, was verstärkt wird
- zu groß (=Tiefpass)
- Erhalt grober Strukturen
- Verwischt Kanten
- Entfernt Rauschen
- Zu klein (=Hochpass)
- Entfernt grobe Strukturen und Kanten
- Verstärkt Rauschen
- Optimal (=Bandpass)
- Erhalt grober Strukturen
- Verstärkt Kantenstrukturen
- Entfernt Rauschen
- Vorteile
- schnell
- häufig verwendet
- beliebt (= viel Know-How)
- leicht zu implementieren
- Nachteile
- nur ein Filter für das gesamte Bild
- keine lokalen, spezifischen Verbesserungen
- nur ein Wert für R
- durch lokale oder iterative Verfeinerungen verbesserbar
#### Mehrkomponentenverfahren
- Scale-Space-Ansatz
- zum Schärfen wird der Laplace-Operator, multipliziert mit unabh. Konstante t, vom Bild abgezogen $L_{\text{schärfer}} = L_0 - t(L_{xx}+L_{yy})=L_0-t*\Delta L$
- Hinzufügen zusätzlicher Terme (Ableitungen höherer Ordnung) kann das Ergebnis weiter verfeinert werden 
### 6.3 Mehrschrittverfahren
#### Energie
- $E(L)=\frac{1}{2}\int_{x,y}L^2dxdy$
- sagt aus, wieviel Intensität in den Pixeln vorhanden ist
- Minimierung der Energie führt zu optimalem Bild
- berechenbar über Variationsrechnung oder iterative Prozesse
- Variationsableitung
- Notation $\delta E(L)$
- für $E(L)=\frac{1}{2}\int_{x,y}L^2dxdy$ gilt $\delta E(L)=L$ mit Minimum $\delta E(L)=0$
- trivial: $L=0 → \delta E(L)=0$
- stattdessen $E(L)=\frac{1}{2}\int\int_{x,y}L_x^2+L_y^2 dxdy$
- $\delta E(L)=-\Delta L$ (Laplace-Operator von oben)
- Überführung in partielle DGL $L_t=-\delta E(L)$
- Lösung iterativ bestimmen
- alternativ
- Perona-Malik
- Rauschen wird verwischt
- Kanten verstärkt
- Smart Energy Term und Stopzeit
- Totale Variation
- Rauschen wird verwischt
- Kanten verstärkt
- Smart Energy Term und Distance Penalty
#### Perona-Malik
- Heat Equation $L_t=\Delta L = \nabla (\nabla L)$ wird modifiziert zu $\delta_tL=\nabla(c\nabla L)$
- *c* (=Conductivity Coefficient) kann klug gewählt werden (DETAILS AUF LÜCKE)
- Perona-Malik-Gleichung
- $c(·)$ eine Funktion der Gradientenstärke, die die Diffusion dort reduziert, wo Kanten sind
- zwei Möglichkeiten für *c*
- $c_1 = exp{-\frac{|\nabla L|^2}{k^2}}$
- $c_2 = (1+\frac{|\vec{\nabla L}|^2}{k^2})^{-1}$
- k bestimmt Einfluss der Kantenstärke
- hohes *k* → nur starke Gradienten (Kanten) bleiben
- kleines *k* → fast alle Gradienten (Kanten, Rauschen) bleiben
- Implementierung
- keine analytischen Methoden
- iterativ $L^{(t+1)}=L^{(t)}+\Delta t * (\nabla(c(|\nabla L|^2)*\nabla L))$
- $L_0$ Original Bild
- $\Delta t$ kleiner Zeitschritt
- Iteration muss irgendwann stoppen (nach *n* Schritten / wenn $L^{t+1}$ gut aussieht)
- Stoppzeit
- Signal-Rausch-Verhältnis steigt während der Evolution an, fällt aber irgendwann wieder ab → stoppt nicht bei optimaler Lösung
- Stoppzeit benötigt
#### Eingeschränkte Evolution
- Es muss sichergestellt werden, dass Perona-Malik konvergiert
- Stoppzeit dann nicht nötig
- Versuch eine kluggewählte Energie zu minimieren und Distance Penalty hinzuzufügen
- zusätzlich zum Modell des Bildes wird ein Rauschmodell angenommen
- Totale Varianz
- $E(L)=\int\int_{x,y}(|\nabla L| + \lambda(g-a(L))^2)dxdy$
- bei T.V. wird Energie minimiert
- $\lambda$ ist von Rauschen abhängiger Parameter. T.V. konvergiert gegen optimale Lösung
## 7. VL: Grafikpipeline
### 7.1 Hardware
- es gibt verschiedene Computer-Paradigmen, die sich teilweise überschneiden
- P1: Large-Scale-Computing
- Host- und Terminal-Systeme
- P2: Desktop/Personal Computing
- PCs
- P3: Networked Computing
- Rechner kommunizieren
- P4: Mobile Computing
- Laptop, Tablet, Smartphones, ...
- ZP1: Collaborative Computing
- Multi-Touch-Tables
- ZP2: VR
- nicht-immersive (Bildschirm)
- immersive (VR-Goggles)
- AR
- nahtlose Integration zwischen virtuellen und realen Objekten
- Wahrnehmung soll erweitert werden
- Kriterien: virtuelle Informationen sollen relevant bzgl und synchron mit der echten Welt sein
- ZP3: Ambient / invisible
- Gestenerkennung
- Wearable
- Gadgets können direkt am Körper getragen werden
### 7.2 Computergrafik
- Uncanny Valley
- beschreibt Beziehung zwischen Ähnlichkeit eines Objektes zum Menschen und der emotionalen Reaktion darauf
- kurz vor absoluter Ähnlichkeit tritt ein Tief auf (=uncanny valley)
- Objekte hier sind besonders gruselig
### 7.3 Grafikpipeline
- Anwendung (CPU): produziert Modellierung der Daten
- Geometrieverarbeitung (GPU): produziert 2D-Koordinaten und zusätzliche Daten (z-Buffer, Farbwerte, ...)
- Rasterisierung (GPU): produzierzt ein Rasterbild (Bildspeicher)
- Ausgabe: Speichern/Anzeigen des Bildes
#### Anwendung
- beschäftigt sich mit Eingabe grafischer Daten
- Generierung von 3D-Modellen
- Abtastung realer Objekte
- Repräsentation von 3D-Daten mithilfe graphischer Primitive
- Dreiecke
- Linien
- Punkte
- Transformation
- Translation, Rotation, Scherung, Skalierung, ...
- Räumliche Datenstrukturen
- für View-Frustum-Culling, Occlusion Culling/z-Buffer und Kollisionserkennung genutzt
- Einteilung der Datenstrukturen
- Hüllkörperhierarchie (Bounding Sphere Hierarchy)
- Raumunterteilung (Gitter, hierarchisch: k-d Tree, Quadtree, Binary Space Partition)
- Hüllkörperhierarchien
- einfache Form um den eigentlichen Körper herum
- ermöglicht einenfachen Schnittest mit anderen Primitiven (Kugeln, Quader)
- Hüllkörperhierarchie wird aus mehreren Hüllkörpern zusammengesetzt
- Konzept wie bei Hitboxen
- Raumunterteilung
- Achsenparllele Gitter
- Objekt in mehreren Zellen enthalten (Objektredundanz)
- kann sich der Geometrie nicht anpassen
- speicheraufwändig
- effizient traversierbar
- Quad-/Octree
- Raum wird in Gitter augeteilt und aus diesem ein Baum berechnet
- Octree ist Quadtree in 3D
- Binary Space Partition
- bei BSP wird Raum binär unterteilt
- an durch Polygone induzierten Ebenen wird geteilt
- jeder Knoten im Baum entspricht einer Ebene, die den Raum in zwei Halbräume teilt
#### Geometrieverarbeitung
- Simulation der Beleuchtung
- Zunächst Bestimmung der Leuchtdichten des Primitivs
- Flat Shading
- Normale des Primitivs ergibt einheitliche Helligkeit
- Gouraud Shading
- Normale in den Eckpunkten ergibt Helligkeitswerte für die Eckpunkte
- Helligkeitswerte der Eckpunkte werden linear interpoliert
- Phong Shading
- Eckpunkt-Normalen werden für jeden Punkt linear interpoliert und normiert
- Helligkeitswert ergibt sich aus interpolierter Normale
- Phong
- Gesamtbeleuchtung: $I_{total}=I_{amb}+I_{diff}+I_{spec}$
- Ambiente Komponente $I_{amb}$ ist richtungsunabhängig, dafür aber abhängig vom Umgebungslicht *C* und der Materialkonstanten *k*: $I_{amb}=k_{amb}*C_{amb}$
- Diffuse Reflexion abhängig von Richtung des Lichts (***L***) und Oberflächennormale (***N***) $I_{diff}=k_{diff}C_{light}(\textbf{N}*\textbf{L})$
- Spiegelnde Reflexion ist abhängig von Richtung der Reflexion (***R***), der Betrachtungsrichtung (***V***) und der Rauheit *m* des Materials $I_{spec}=k_{spec}C_{light}(\textbf{R}*\textbf{V})^m$
- Perspektivische Transformation und Clipping
- liegen Objekte voreinander, sieht man nur den nähsten Punkt (außer bei Transparancy)
- Clipping bezeichnet das Abschneiden von Objekten am Bildausschnittsrand
- Painter Algorithmus
- Objekte werden vom tiefsten z-Wert aus angefangen zu zeichnen
- hintenliegende Objekte werden bei Überlappung einfach überzeichnet
- Probleme bei Transparenz und "im Kreis"-Überlappungen 
- Culling
- Rückseiten machen ca. Hälfte aller Flächen aus, sind aber nicht sichtbar
- man schließt sie explizit aus Berechnungen aus
- Fläche ist Rückseite, wenn Skalarprodukt von Sehstrahl *s* und Normale *n* positiv ist: $n*s>0$
- Projektion in VL 8
#### Rasterisierung
- Prozess, bei dem Primitive in Pixel zerlegt werden
- zusätzlich: Pro Pixel eine Verdeckungsrechnung und Shading
- Bresenham-Algorithmus (Rasterierung von Linien)
- Algorithmus zum Zeichnen von Linien zwischen zwei Punkten
- $\Delta x := x_2 - x_1 \geq 0$
- $\Delta y := y_2 - y_1 \geq 0$
- Bedingungen durch Vertauschen immer einhaltbar
- Algorithmus muss genau $max\{\Delta x, \Delta y\}+1$ Pixel zeichnen
- 
- Scanline Algorithmus (Rasterierung von Polygonen)
- scannt Pixelebene von oben nach unten mit einer "Scan Line"
- Schnittpunkte mit Polygon werden gesucht
- Schnittpunkte werden nach wachsender X-Koordinate sortiert
- fülle Pixel zwischen Paaren aufeinanderfolgender Schnittpunkte
- es wird Parität mitgeführt und nur bei ungerader Parität ein Pixel gesetzt
- z-Buffer Algorithmus
- zu Bildpunkten wird z-Wert gespeichert
- Initialisierung
- Bildspeicher → Hintergrundfarbe
- z-Speicher → höchstmöglichen z-Wert
- alle Objekte werden nacheinander, ohne bestimmte Reihenfolge, gerastert
- für alle Punkte (x,y) eines Punktes
- berechne seinen z-Wert
- falls dieser Wert kleiner ist, als der bereits gespeicherte Wert für (x,y) überschreibe ihn
- setze zugehörigen Farbwert in Bildspeicher
- Vorteile
- jede Szene mit jeder Art von Objekten behandelbar
- Komplexität unabhängig von Tiefenkomplexität
- Objekte können nachträglich eingefügt werden
- leicht in Hardware realisierbar
- Nachteile
- pro Bildpunkt nur ein Objekt gespeichert → Abtastfehler
- Transparzenz nicht realisierbar
- Genauigkeit des z-Buffers beschränkt
- getrennte Objekte erhalten selben z-Wert → Objektreihenfolge beim Abtasten bestimmt Farbe
## 8. VL: Transformationen
- 5 Arten von Koordinaten
- Objektkoordinaten
- legen Lage von 3D-Objekten Lokal fest
- Weltkoordinaten
- beschreiben gesamte Szene
- Projektionskoordinaten
- erhält man nach Anwendung der Projektionstransformation (parallel, perspektivisch)
- Normierte Koordinaten
- Bildschirmkoordinaten
- stellen Szene in Fenster einer gewählten Größe und Position dar
- 5 Arten von Transformationen
- Modelling Transformation
- Modelle im Raum Anordnung
- Viewing Transformation
- Betrachtungspunkt positionieren
- Projection Transformation
- sichtbaren Ausschnitt der Szene (aka Viewing Volume) auf 2d projezieren
- Normalizing Transformation
- Viewport Transformation
- Umwandlung in Bildschirmkoordinaten
### 8.1 Transformationen und affine Abbildungen
- mathematisch: $\Phi(v) = A(v)+I(b)$
- ***A*** ist lineare Abbildung ***I*** ist Translation
#### Eigenschaften
- Bilden Geraden auf Geraden ab
- Beschränkte Objekte bleiben beschränkt
- Verhältnisse bleiben erhalten
- Parallelität bleibt erhalten
#### Homogene Koordinaten
- jede 3D affine Abbildung durch 4x4 Matrix realisierbar
### 8.2 Skalierung, Scherung, Rotation
- affine Abbildungen Skalieren, Scherung, Rotation lassen den Ursprung invariant
- kein Translationsanteil → 3x3 Matrizen wären ausreichend
#### Skalierung
- wird durch eine Diagonalmatrix beschrieben
#### Scherung
- 
#### Rotation
- Rotation um beliebigen Vektor (LÜCKE)
- Rotation um beliebigen Punkte
- verschieben des Rotationszentrums zum Ursprung
- Rotation
- Rückverschiebung zum Rotationszentrum
####
- Reihenfolge von Transformationen nicht kommutativ
#### Rechenaufwand
- oft sinnvoller zuerst die ganze Transformation als viele Matrix-Vektor-Multiplikationen zu berechnen
### 8.3 Projektion
#### Beispiele
- Aufriss
- Isometrische Perspektive
- Zentralperspektive
- Vogelperspektive
#### Eigenschaften
- können sich durch homogene 4x4 Matrizen beschrieben werden
- Geraden auf Geraden abgebildet
- Schnitte von Geraden bleiben erhalten
- Flächen auf Flächen abgebildet
- Reihenfolge von Punkten auf projektive
- Winkel werden verändert
- Parallelität geht oft verloren
#### Perspektivische Projektion (LÜCKE)
- entspricht natürlicher Wahrnehmung
- Längenverhältnisse und Winkel ändern sich
- Parallelität geht verloren
- keine affinen Abbildungen
- vom Blickpunkt weitentfernte Objekte werden kleiner dargestellt
#### Parallelprojektion
- weniger realistisch
- Winkel bleiben im Allgemeinen gleich
- Parallelität bleibt erhalten
#### Kanonisches Sichtvolumen (LÜCKE)
- perspektivische Projektion wird zerlegt in
- perspektivische Transformation
- anschließende Parallelprojektion
- nach perspektivischer Projketion ist das Sichtvolumen ein Würfel
- durch Rotation in den Augpunkt, wird Würfel achsenparallel
### 8.4 3D-Interaktion
#### 3D Interaktion mit 2D-Input
- Problem
- Mehrdeutigkeit
- Ansätze
- Multi-Window
- Direktes 2D-Maus-Mapping
- Manipulatoren
- Manipulatoren
- häufig in 2D
- Kästen in Grafikprogrammen zum Skalieren, Rotieren, Verschieben
- Drag-and-Drop
- einfach zu implementieren
- immer häufiger in 3D
- für Transformationen
- für Navigation der Kamera
- schwieriger umzusetzen
## 9. VL: 3D-Visualisierung
### 9.1 3D-Daten
- Messwerte werden in 3D Raum verteilt
- können gleichmäßig oder unterschiedlich verteilt sein
- Wert kann skalar oder höherdimensional sein
#### Gewinnung
- Terrain
- an beliebigen Position x,y wird Höhe gemessen → ergibt 3D Position
- Oberflächeninformationen (Bsp Vegetation) wird mithilfe von Satellitenbildern gewonnen → Skalarer Wert
- Laser Scanning
- Laserstrahl wird auf Oberfläche projiziert
- Rückstrahlendes Licht wird gemessen
- Abstand Laserquelle-Kamera ist bekannt
- Distanz zur Oberfläche über Triangulation ermittelbar
- Range Images
- aus Range Image r(u,v) ergibt sich Pixelinformation (u, v, r(u,v))
- Medizinische Bilddaten
- MRI
- CT
- Ultraschall
- Produzieren einen "Stapel" an 2D Daten
- riesige Datenmengen
### 9.2 Triangulation von Punktwolken
- unstrukturierte Punktmenge $s_i=\{x_i,y_i,z_i\}$ auf Oberfläche S heißt Punktwolke
- für Oberflächen ohne Falten gilt
- Punkte können auf Ebene projiziert und in 2D trianguliert werden
- 2D-Dreiecksnetz wird dann entsprechend von $z_i$ deformiert
- bei idealer Trianglulation sind alle Winkel 60°
- bessere numerische Stabilität
- verinfacht Post-Processing
- Voronoi-Diagramm
- für jeden Punkt $s_i$ kann eine Voronoi-Zelle defineirt werden
- Zelle enthält alle Punkte, die näher an $s_i$ als allen anderen Punkten sind
- Kanten der Zelle: zwei nächste Punkte
- Knoten der Zelle: drei nächste Punkte
- Delaunay Triangulation
- man betrachtet den dualen Graph eines Voronoi-Diagramms
- Zentren benachbarter Polygone werden mit Linien verbunden, die zur gemeinsamen Kante orthogonal sind
- Dreiecksnetz ist eine Deulaunay Triangulation, wenn alle Umkreise von alle Dreiecken leer sind
- nicht erlaubt: 
- Korrektur über Edge Flipping: 
### 9.3 Indirekte Volumenvisualisierung
- Menge von Volumendaten enthält viele Informationen
- langsames Rendering
- Verdeckte Elemente
- man zeigt nicht alles nur eine Teilmenge
- 2D: Konturlinie
- eine Linie entlang derselben Höhe
- Ausrichtung des Gefälles orthogonal zur Konturlinie
- 3D: Isoflächen
- Trennung zwischen verschiedenen Strukturen (Eingrenzung dieser)
- Voxel an solchen Eingrenzungen bilden Isoflächen, wenn sie gleiche Intensität haben
- Isoflächen sind implizite Flächen
- $i(x)=V(x)-\tau=0$
- V(x) ist Voxelwert, $\tau=const$ ein festgelegter Isowert
- Datenmenge wird nach i(x)>0 (innen) und i(x)<0 (außen) geteilt
- 
- 2D: Marching Squares
- Bildzellen durch vier umgebende Pixel definiert
- 
- Pixel werden betrachtet, wenn sie größer-gleich dem Isowert sind (="Set Pixel")
- 3D: Marching Cubes
- analoge Idee für Marching Square
- Volumenzelle durch umliegende 8 Voxel definiert
#### Große Polygonmodelle und Performance
- Marching Cubes erzeugt viele Dreiecke → hoher Rechenaufwand
- Culling von Geometrie (GPU)
- Backface Culling
- View-Frustum Culling
- Polygone die ganz oder teilweise außerhalb des View-Frustums befinden
- Occlusion Culling
- Meshreduktion (CPU)
- Anzahl der Polygone wird verringert
- Mesh-Glättung
- Ziel
- entfernen von Löchern
- Reduzierung von Artefakten
- Challenge
- Volumen erhalten
- Laplacesche Glättung
- Betrachtung von Regenschirm-Regionen
- 
- Reduzierung hochfrequenter Oberflächeninformationen
- dadurch Reduktion von Krümmungen
### 9.4 Direkte Volumenvisualisierung (LÜCKE)
#### Volumen Rendering Pipeline
- Abtastung
- Voxelwerte werden an bestimmten Orten angesammelt
- Position der Orte durch Abtastdistanz $\Delta s$ bestimmt
- Abtastdistanz sollte kleiner als die Hälfte der Rasterauflösung sein
- Abtastpositionen oft zwischen Rasterpositionen
- Wähle geeignete Interpolationsmethode
- Klassifikation und Beleuchtung
- für jeden Abtastpunkt wird Anteil (Farbwert) und Abschwächungsfaktor (Transparenz) berechnet
- beleuchteter Anteil wird berechnet
- Komposition
- Akkumulation der abgetasteten, klassifizierten und beleuchteten Werte
- Volumen-Rendering-Gleichung wird numerisch approximiert
- zwei Unterschritte
- Back-to-Front-Komposition
- Front-to-Back-Komposition
## VL 10: X3DOM
- benötigte Informationen für Rendering von 3D-Szenen
- Objektgeometrie
- Transformationen (Positionierung)
- Materialien (Texturen)
- Kameras (Ansichten)
- Lichter
- Spezialeffekte
- Daten haben untereinander komplexe Beziehungen
- verschiedene Objekte verwenden gleiches Material
- gleiches Objekte an mehreren Orten instanziiert
- Szenengraphen strukturieren diese Informationen
### 10.1 Szenengraph
- gerichteter, azyklischer Graph
- gerichtet: jede Kante hat Richtung
- azyklisch: eine Zyklen im Graph
- Szenengraph hat Wurzelknoten
- kein Baum: Knoten kann mehrere Elternknoten haben
- Traversierung des Graphen zum Rendering
- Anwendung startet an der Wurzel
- Kindknoten werden rekursiv abgearbeitet
- fertig, wenn gesamter Graph traversiert wurde
- Operationen bei Traversierung hängen von Knoten ab
- Gruppierungen: Gruppe eingeschaltet → traversiere Kindknoten, sonst skip
- Transformationen: Anwendung der Transformationsmatrix auf alle Kindknoten
- Objektdaten: tatsächliches Objekt, dass gezeichnet wird
- Während Traversierung werden verschiedene Zustände aktualisiert
- Vorteile
- Wiederverwendbarkeit von Objektdaten
- Semantische Gruppierung dieser
- Transformationshierarchie ermöglicht Transformation von kompletten Gruppen
### 10.2 X3DOM
- deklarative Szenengraph-API auf Basis von X3D im DOM
- deklarativ: Szenengraph wird durch strukturiertes Textformat beschrieben
- X3D: Szenengraphstandard
- XML basiert
- benötigt traditionell sog. X3D-Player
- DOM: HTML Document Object Model
- Dokumentenbaumstruktur und API in HTML
- erlaubt Verwendung von X3D im DOM durch reine Implementierung in JavaScript mit WebGL als Rendering Backend
## 11. VL: Informationsvisualisierung
- Definition:
- Nutzung interaktiver, visueller Datenrepresentationen um Erkennung von Zusammenhängen zu erleichtern
### 11.1 Informationsdesign
- Daten dürfen nicht verzerrt werden
- Informationen sollen erhalten werden
- typische Fehler
- falsche Skalierung
- Verzerrung, Farben, Größenverhältnisse
- zu volle Grafiken
- keine Legenden
### 11.2 Datentypen
#### 1D Daten / Zeitreihen
- nur eine Spalte mit Datenwerten
- Bsp: Verteilungen
- typische Visualisierung
- Kuchendiagramm
- beliebt für Anteildaten
- Werte über Größe abgebildet
- Objekte als Farben abgebildet
- kleine Wertunterschiede schwer erkennbar
- Balkendiagramm
- gut zum Vergleichen von Werten
- Werte über Größe abgebildet
- Zeitreihen
- Werte über Zeit ermittelt
- more or less 2D, aber eher 1D
- Darstellung über Liniengrafik
- Probleme
- bei vielen Zeitreihen gleichzeitig wirds unübersichtlich (Lösung Wertfilter)
- lange Zeitreihen schwer abbildbar
#### 2D Daten
- Scatterplot
- Daten werden auf x/y-Position, Farben, Größen, abgebildet
- intuitiv und leicht lesbar
- Problem: Overplotting = zu viele Überschneidungen
- Scatterplotmatrix (nD)
- alle Paare an Datenspalten bekommen ein Scatterplot → bilden alle zusammen eine Matrix
- gut für paarweise Korrelationen und Abhängigkeiten
- Probleme
- viele Dimensionen sind unübersichtlich
- limitierter Platz für einzelne Plots
- nur paarweise Abhängigkeiten sichtbar
- Parallele Koordinaten
- Koordinatenachsen parallel anstatt orthogonal
- aus Punkt im Scatterplot wird Linie in parallelen Koordinaten
- Abhängigkeiten über mehrere Dimensionen erkennbar
- Achsenanordnung wichtig, da bei Schneidungen die "Graphen" nicht mehr unterscheidbar werden
- Umsortierung der Achsen kann hilfreich sein
- Probleme
- Overplotting = zuviele Linien (filtern)
- viele Dimensionen machen den Plot zu lang
#### Hierarchien + Graphen
- Node-Link-Diagramm
- jeder Datenpunkt ein Knoten
- Eltern-Kind-Beziehung durch Kante dargestellt
- Position der Knoten wichtig
- Probleme: Layout
- Kanten mit möglichst wenigen Überschneidungen
- bei Hierarchien sollen Elemente einer Ebene auf einer Ebene dargestellt werden
- begrenzter Platz und Lesbarkeit
- Probleme
- viele Knoten / große Graphen sind schnell unübersichtlich
- Treemap
- Kasten fixer Größe wird rekursiv aufgeteilt
- beginnend mit Wurzel
- Kasten wird anhand Teilbaumgröße geteilt
- Abwechslung zwischen horizontaler und vertikaler Teilung
- Probleme
- Überlappungen führen zu schlechter Lesbarkeit
- Vergleich der Größen von Rechtecken mit verschiedenen Dimensionen schwierig
### 11.3 Interaktion
- Interaktionen ermöglichen Datenexploration
- Reduzieren viele Probleme der Visualisierung (bsp Überlappungen)
#### View Transform
- Navigation
- Zooming
- Panning
- Reorganization
- Highlighting
#### Visual Mapping
- Auswahl von Daten, die abgebildet werden sollen
- Farbschemaänderung
#### Datentransformation
- Datenfiltern
- Ändern der Normalisierung
## 12. VL: Farben
### 12.1 Dimensionalität und Farbattribute
- menschliche Farbwahrnehmung hat 5 Dimensionen
- Helligkeit (brightness)
- Attribut, nach dem eine Fläche mehr oder weniger Licht abzustrahlen scheint
- relative Helligkeit (Lightness)
- Helligkeit einer Fläche relativ zur Helligkeit einer gleich beleuchteten Fläche (gilt nur für bezogene Farben) 
- Farbton (Hue)
- Attribut, nach dem eine Fläche rot, gelb, grün, blau oder eine Kombination von zwei von ihnen, erscheint
- achromatische Farben: Wahrgenommene Farbe ohne Farbton (grey-scale)
- Farbigkeit (Colourfulness)
- Attribut, nach dem Fläche mehr oder weniger farbig empfunden wird
- Buntheit (Chroma)
- Farbigkeit einer Fläche relativ zur Helligkeit einer gleich beleuchteten Fläche, die weiß 
- Sättigung lässt sich durch Helligkeit und Farbigkeit beschreiben
- $\text{Sättigung}=\frac{\text{Farbigkeit}}{\text{Helligkeit}}=\frac{\text{Buntheit}}{\text{relative Helligkeit}}$
- bezogene Farben werden in Bezug zu anderen Farben, unbezogene Farben isoliert wahrgenommen
- $\text{Buntheit}=\frac{\text{Farbigkeit}}{\text{Helligkeit von Weiß}}$
- $\text{Relative Helligkeit} = \frac{\text{Helligkeit}}{\text{Helligkeit von Weiß}}$
### 12.2 Berechnung von Farbattributen (LÜCKE)
- Farbvalenz entspricht der Interpretation eines Farbreizes 
### 12.3 Objektfarben, Lichtmatrix, CIEXYZ-Farbraum
- CIEXYZ Farbkoordinaten (Farbvalenzen) für Lichtart *l* sind definiert als 
#### CIE Chromaticity Diagramm

- CIEXYZ modelliert die erste Phase des Farbsehens des Auges
### 12.4 Metamerie
- zwei unterschiedliche Farbreize $g,f$ werden gleich wahrgenommen $Ag=Af$
- Beleuchtungsmetamerie
- Reflektionsspektren sind metamer unter der Lichtart *l* wenn $Lr_1=Lr_2,r_1 \neq r_2$
- also wenn Farben je nach Licht gleich oder unterschiedlich erscheinen
- Beobachtermetamerie
- zwei Farbreize erzeugen bei gleichen Betrachtungsbedingungen für Person A gleiche und für Person B unterschiedliche Farbvalenzen
- Farbvalenz = Interpretation des Farbreizes
### 12.5 Gegenfarbtheorie
- nur Formeln → LÜCKE
### 12.6 Stevenssche Potenzfunktion
- beschreibt Beziehung der Reizstärke zur Empfindungsstärke
- $\psi = k(I-I_0)^n$
- $\psi$ Wahrnehmungskorrelation
- *I* Reiz
- $I_0$ letzter noch wahrnehmbarer Reiz
- *k* anpassbare Verstärkung
- *n* anpassbarer Exponent
### 12.7 CIELAB Farbraum LÜCKE
### 12.8 Technische Farbräume
- Geräte verwenden oft eigene RGB-Standards
- zwei Bildschirme können gleichen RGB Wert unterschiedlich darstellen
- Gerätunabhängige Standards: sRGB, Adobe RGB
#### YCbCr
- YCbCr ein Gegenfarbraum mit
- Y: Lumnianz
- $C_b$: Blau-Gelb
- $C_r$: Rot-Grün
- kann als lineare Transformation über RGB-Farbraum definiert werden
- wird in JPEG verwendet
#### HSV
- definiert über
- H: Hue (Farbton)
- S: Saturation (Sättigung)
- V: Value (Helligkeit)
- zur intuitiven Farbauswahl in Grafikprogrammen oder zum Thresholding eingesetzt
### CMYK
- Cyan, Magenta, Yellow, Black
- bei Drucker für Tintenauswahl verwendet
### 12.9 Komplexität von Farbe
- Chromatische Adaption
- beschreibt weitgehend unabhängige Regulierung der Mechanismen beim Farbsehen
- unabhängige Anpassung der Zapfenempfindlichkeit and dominanten Farbreiz der Umgebung wird häufig beobachtet
- Bsp: Von-Kries Modell
#### Wahrnehmungsphänomene
- Simultankontrast
- Hintergrund, aufdem Farbreiz präsentiert wird, beeinflusst die wahrgenommene Farbe
- Farbverschiebungen folgen Gegenfarbtheorie
- Heller BG induziert dunkle Farbe und vv
- Rot induziert grün und vv
- Blau induziert gelb und vv
- Crispening-Effekt
- Farbunterschied zweier Farbreize wird durch einen ähnlichen BG vergrößert
- Stevens Effekt
- bei steigender Leuchtdichte sehen dunkle Farben dunkler und helle Farben heller aus
- Hunt Effekt
- Farbigkeit steigt mit der Leuchdichte
#### Farbwahrnehmungsmodelle
- gleiche Farbreize können unterschiedlichen Farben entsprechen
- Farbwahrnehmungsmodelle ermöglichen eine Anpassung der Farbreize für den Farbabgleich bei unterschiedlichen Betrachtungsbedingungen
- Bsp: CIECAM02
- invertierbares Modell
- ermöglicht Vorhersage über empfundenen Farbabstand
## 13. VL: User Interfaces