• Keine Ergebnisse gefunden

Computer-Graphik II

N/A
N/A
Protected

Academic year: 2021

Aktie "Computer-Graphik II"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

C G C C G C

Computer-Graphik II

Tone Mapping / Tone Reproduction

G. Zachmann

Clausthal University, Germany cg.in.tu-clausthal.de

C G C C G

Motivation

C

 Definition:

 Der Dynamikbereich (dynamic range) eines Bildes ist das Kontrastverhältnis zwischen dem hellsten und dunkelsten Teil

 Der Dynamikbereich eines Displays bzw. optischen Sensors ist das Verhältnis der hellsten darstellbaren bzw. wahrnehmbaren Leuchtdichte zur dunkelsten

 Der Dynamikbereich des menschlichen Sehsystems (Human Visual System, HVS):

(2)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 3

C C

Quellen von High Dynamic Range Images (HDRI)

 Ray-Tracing: physikalisch korrekte synthetische Bilder

 Photographie:

 mehrere Aufnahmen mit verschiedenen

Belichtungszeiten

 Ineinander

"blenden"

(benötigt kalibrierte Antwort- kurve der Kamera)

C G C C G

Darstellung von HDR-Bildern C

 Verwende entweder HDR-Displays ...

 ... oder LDR-Displays;

dann benötigt man:

 Tone mapping/ tone reproduction =Abbildung des potentiellen

"high dynamic range" (HDR) von realen Leuchtdichten auf eine

"low dynamic range" (LDR) eines Displays mit begrenzter Leuchtdichtenbandbreite.

(3)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 5

C C

Informelle Darstellung des Problems

C G C C G

Naives Tone-Mapping

C

Leuchtdichten reale Welt oder HDRI, cd/m2

Leuchtdichte Bildschirm, cd/m2, normiert 1

max

Clamp to 1 Divide by max Divide by max w/o light sources

Map exp.

min

0

(4)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 7

C C

Resultat des naiven Mappings

Divide by Max Clamp to 1 Exp. mapping

C G C C G

Wichtige Klasse von TMs: Punktoperationen

C

 Betrachte zunächst reine "Punktoperationen":

 Bestimme eine Transferfunktion y = T(x) (heißt auch Tone-Mapping- Operator)

 T hängt nur vom Bild und von x ab; ist völlig unabhängig von der Nachbarschaft um x

 Beispiele:

Lineare Skalierung

Output range

Input range y

x

Gammakorrektur

(5)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 9

C C

Das Luminanz-Histogramm

 Unbalanciertes Histogramm nutzt nicht den vollen dynamischen Wertebereich aus

 Balanciertes Histogramm ergibt ein angenehmeres Bild und gibt den Inhalt wesentlich besser wider

C G C C G C

 Das Histogramm eines Bildes enthält wertvolle Informationen über die Graustufen

 Es enthält keine räumlichen Informationen

 Alle folgenden Bilder haben exakt das gleiche Histogramm!

(6)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 11

C C

Historische Randnotiz: Histogramme zur Entschlüsselung

 Erstmals vorgestellt durch Abu Yusuf Ya'qub ibn Ishaq al-Sabbah Al-Kindi als Hilfsmittel zur Dechiffrierung des Ersetzungs-Codes

 Heißt heute Frequenzanalysemethode

 Durchbruch zu dieser Zeit, 850 n. Chr. [Simon Singh: The Code Book, 1999]

C G C C G

Histogram stretching

C

 Lineare Skalierung = "histogram stretching":

I

J

min = 74 max = 224

J = I −Imin

Imax−Imin·Jmax

(7)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 13

C C

Interpretation des Histogramms

 Behandle Pixel als unabhängige, gleichverteilte Zufallsvariablen (i.i.d. random variables = independent, identically distributed RVs)

 Histogramm = diskrete Approximation der Wahrscheinlichkeits- dichtefunktion (probability density function, PDF)

C G C C G

Diskrete (Histogramm) vs. kontinuierliche Formulierung (PDF/CDF) C

Histogramm:

Kumulatives Histogramm:

PDF:

Cumul. distrib. function (CDF):

x ∈[0, 1]

p(x) = “Dichte” am Levelx h(x) = Anz. Pixel mit Levelx

L= Anzahl Levels x ∈0,. . .,L−1

H(x) =

x

u=0

h(u) P(x) =

x 0

p(u)du

p(x)

P(x) P(x)

p(x)

y

h(x) H(x)

H(x)

(8)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 15

C C

 Klar ist:

 Deswegen wird oft h(x) bzw. H(x) mit normiert

 Die Wahrscheinlichkeit, daß das Ereignis "X ≤ x" eintritt, ist

bzw.

H(L−1) =

L1

u=0

h(u) = Anzahl PixelN

1 N

P[X ≤x] =P(x) =

x 0

p(u)du

P[X ≤x] =P(x) = 1 N

x

0

h(u)

C G C C G

Histogram Equalization

C

 Gegeben: eine Zufallsvariable X mit bestimmter PDF

 Gesucht: Funktion T, so daß die Zufallsvariable Y = T(X) eine gleichverteilte PDF hat

 Diese Transformation heißt Histogram Equalization

h(x) or p(x)

x y

y = T(x) h(y)

or p(y)

pX pY ≡const

(9)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 17

C C

 Behauptung: die Transferfunktion

leistet genau diese Histogram-Equalization

x P(x)

p(x)

y

x T(x)

Dämpft Kontrast hier

Erhöht Kontrast

hier

y =P(x) =

x 0

p(u)du

C G C C G

1. Beweisvariante C

 Zu zeigen: die CDF

 Beweis durch Einsetzen:

1

1

PY

y

PY(y) =y

PY(y) =P[Y ≤y]

=P[T(X)≤y]

=P[PX(x)≤y]

=P[x ≤PX1(y)]

=PX(P1(y))

(10)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 19

C C

2. Beweisvariante

 Sei X eine stetige Zufallsvariable

 Sei Y = T(X) (Y ist also auch stetige ZV)

 Sei T diff'bar und monoton wachsend

 Damit existiert T' und T-1

 Da T alle

auf abbildet, gilt

 Für kleine gilt also

Y

X

y

∆x x

x≤s ≤x+∆x y ≤t≤y+∆y

pY(y)∆y ≈pX(x)∆x pY(y)≈pX(x)∆x

∆y

x+∆x

x

pX(s)ds=

y+∆y

y

pY(t)dt

x+∆x y+∆y

CDF

CDF

C G C C G C

 Wenn , dann wird die Gleichung exakt:

 Zusammen:

∆x →0

∆xlim0

∆y

∆x = lim

∆x0

T(x+∆x)−T(x)

∆x =T(x) pY(y) = lim

∆x0pX(x)∆x

∆y =pX(x) lim

∆x0

1

∆y/∆x

pY(y) = pX(x) T(x)

(11)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 21

C C

 Jetzt noch einsetzen ergibt

 Nebenresultat: wir wissen jetzt, wie man Verteilungsfunktionen umrechnen muß, wenn eine Zufallsvariable eine Funktion einer anderen Zufallsvariable ist.

 Weiter mit der Histogramm-Equalization … x =T1(y)

pY(y) = pX(T1(y)) T(T1(y))

C G C C G C

 Gesucht ist T, so daß (oBdA)

 Einsetzen liefert

 Einsetzen von liefert

 Gesucht war T, also noch integrieren : pX(T1(y)) T(T1(y)) = 1 T(T1(y)) =pX(T1(y))

x =T−1(y)

T

(x ) = p

X

(x)

pY(y)≡1

x

(12)

G. Zachmann Computer-Graphik 2 – SS 10 Tone Mapping 23

C C

Beispiele

Orig. Bild Histogramm Resultat

Referenzen

ÄHNLICHE DOKUMENTE

4.  Was macht man, falls das Gebiet nicht durch Polygonzug (stückweise lineare Kurve) beschränkt ist, sondern durch eine glatte, geschlossene (konvexe) Kurve?.?.

  globale Variable, nur im Vertex-Shader, kann sich pro Vertex ändern.  

3.  Falls der Strahl mehr als ein Objekt schneidet, betrachte nur den ersten Schnittpunkt 4.  Schieße weitere Strahlen vom dort zu allen Lichtquellen (Schattenstrahlen;

  Falls Strahl zur Laufzeit Zelle trifft, die Abbruchkriterium nicht erfüllt, erzeuge dann weitere Levels.

  Man kann innerhalb eines Frames zwischen fixed functionality und eigenem Programm umschalten (aber natürlich nicht innerhalb eines Primitives, also nicht zwischen

  Mittels Texturen können Daten an Shader übergeben werden.  Interpretation bleibt

 Es gibt zu jeder Farbe genau 1 Band um die Mandelbrot-Menge, d.h., es gibt genau 1 Band mit Werten c, deren Folgenglieder schon nach 1 Iteration > 2 wurden, genau 1 Band nach

 Es gibt zu jeder Farbe genau 1 Band um die Mandelbrot-Menge, d.h., es gibt genau 1 Band mit Werten c, deren Folgenglieder schon nach 1 Iteration > 2 wurden, genau 1 Band nach