###### 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 ![](https://i.imgur.com/PHli8Xa.png) #### 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 ![](https://i.imgur.com/l2K3vcR.png) - 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) ![](https://i.imgur.com/U9Esxpo.png) ### 3.2 Bayes Decision Theory #### Wahrscheinlichkeit vs Wahrscheinlichkeitsdichte ![](https://i.imgur.com/OkxzCcA.png) - 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** ![](https://i.imgur.com/Ev5Adcb.png) ## 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 - ![](https://i.imgur.com/eml6J5P.png) #### 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 - ![](https://i.imgur.com/Lsa9tkn.png) 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 ![](https://i.imgur.com/6O2n1Fz.png) ### 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 ![](https://i.imgur.com/Yq75gs9.png) - 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 - ![](https://i.imgur.com/k6MKWvN.png) - 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 - ![](https://i.imgur.com/qCitJvS.png) #### 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: ![](https://i.imgur.com/9WuTtUg.png) - Korrektur über Edge Flipping: ![](https://i.imgur.com/SSMAR1a.png) ### 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 - ![](https://i.imgur.com/FIvJNyJ.png) - 2D: Marching Squares - Bildzellen durch vier umgebende Pixel definiert - ![](https://i.imgur.com/U3zQMXW.png) - 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 - ![](https://i.imgur.com/ZNqxU6V.png) - 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) ![](https://i.imgur.com/KtZHAnQ.png) - 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ß ![](https://i.imgur.com/A23PA00.png) - 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 ![](https://i.imgur.com/dkJqv42.png) ### 12.3 Objektfarben, Lichtmatrix, CIEXYZ-Farbraum - CIEXYZ Farbkoordinaten (Farbvalenzen) für Lichtart *l* sind definiert als ![](https://i.imgur.com/Y1FZ9ZQ.png) #### CIE Chromaticity Diagramm ![](https://i.imgur.com/Zvs0Tp3.png) - 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