• Keine Ergebnisse gefunden

(4) Mathematik der Farben

N/A
N/A
Protected

Academic year: 2022

Aktie "(4) Mathematik der Farben"

Copied!
42
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

(4) Mathematik der Farben

Vorlesung

„CV-Integration“

„CV-Integration“

S. Müller Draft

Diese Folien enthalten unveröffentlichte Ergebnisse und sind daher bitte nur für den internen Gebrauch zu verwenden.

Speziell die Zahlenwerte sind teilweise noch nicht gegengerechnet!

(2)

Motivation

Die photometrischen Grundlagen sind quasi schwarz- weiß

In der Praxis rechnen wir mit rgb

In der photorealistischen Computergraphik geben wir uns sehr viel Mühe, Licht zu simulieren, möglichst

U N I V E R S I T Ä T KOBLENZ · LANDAU

uns sehr viel Mühe, Licht zu simulieren, möglichst

„physikalisch genau“.

Es ist überraschend, dass die Berücksichtigung der

Farbe eine so untergeordnete Rolle spielt, zumal sie in Bezug auf die Simulationstreue und die visuelle

Wahrnehmung mindestens genauso wichtig ist.

(3)

Bilder, denen wir vertrauen können

(4)

Von der Seite

U N I V E R S I T Ä T KOBLENZ · LANDAU

(5)

2 Fragestellungen

XYZ

RGB

Kamera

M

Photometrisch und farbmetrisch konsistente

Simulation

Ausgabe und Eingabe

RGB

1 Monitor

M

„Das Quietscheentchenproblem“

(6)

Farbe

Farbe ist letztendlich eine Empfindung und als Begriff

missverständlich. „Es gibt keine Farbe ohne einen Betrachter“.

Die farbmetrischen Grundbegriffe sind klar definiert (DIN 5033, Teil 1).

Das Problem: sie verbergen die dahinterliegenden

mathematischen Prinzipien und sie funktionieren für die

U N I V E R S I T Ä T KOBLENZ · LANDAU

mathematischen Prinzipien und sie funktionieren für die

Bildbearbeitung („Normlicht“, Betrachte Bild mit D50-Lampe, erzeuge gleichen Farbeindruck auf dem Monitor, so dass der

Ausdruck auf einer Litfaßsäule wieder den gleichen Farbeindruck erzeugt).

Für die CG nicht brauchbar, da wir beliebige Lichtquellenspektren haben können.

Zugang hier: die Mathematik

(7)

Grundsätzliches

(8)

Motivation: Räume

Der gezeigte Pfeil skizziert einen

Beide 2D-Koordinatensysteme spannen den gleichen Raum auf O

P

O

P

xv yv

vv

uv '

O

U N I V E R S I T Ä T KOBLENZ · LANDAU

Der gezeigte Pfeil skizziert einen 1D Raum als die Menge aller Punkte, die auf der in beide Richtungen verlängerten Geraden liegen.

Ist ein Ursprung und eine

Längeneinheit gegeben, kann jeder Punkt durch eine

Koordinate (ein Skalar) präzise angegeben werden.

spannen den gleichen Raum auf (hier die Ebene des Bildschirms/Papiers).

Obwohl der Punkt P in jedem Koordinatensystem andere Koordinaten hat, beschreiben diese den gleichen Punkt in diesem Raum.

Mit Hilfe affiner

Transformationen können wir die Koordinaten von einem System in das andere umrechnen.

(9)

Motivation: Räume

O

=

3 2 1

p p p P

ev1

ev2

O

p1

p2

p3

e

Das gleiche gilt auch für den 3D-Raum, wobei unser

„Lieblings“-Koord.system aus drei senkrecht aufeinander stehende Einheitsvektoren besteht.

Dies wäre eine andere Art der

Darstellung für ein 3-er Tupel (x, y, z) In dieser Darstellung ist die Erweiterung um weitere Dimensionen sehr einfach.

Frage: Was ist hier die Bedeutung der Längenheit zwischen den Werten?

e1

ev3 O 1 2 3 e

(10)

Motivation: n-dim. Räume

[ ]nm

λ

( )λ f

0 1

U N I V E R S I T Ä T KOBLENZ · LANDAU

Erweitert man das ganze auf unendlich viele Dimensionen, so erhält man eine Funktion.

Diskrete Räume (z.B. r, b, g) sind quasi nur eine

Untermenge von Funktionen (z.B. spektrale Funktionen) und mathematisch sehr ähnlich zu behandeln

0

360 830

(11)

Skalarprodukt

(für Vektoren) Bislang kennen wir das

Skalarprodukt für Vektoren, bei dem das Produkt der jeweiligen Koordinaten aufaddiert wird.

Noch wichtiger ist: das

Skalarprodukt berechnet uns durch die senkrechte Projektion eine Koordinate in einer Basis Denn…

pv

xv

i n

i x p x

pv o v =

cos

α

= px

α

px

Das Skalarprodukt bestimmt uns auch den Winkel

zwischen zwei Vektoren

Eingesetzt:

bzw. (falls )

i i

i x p x

p =

=1

o

α

⋅cos

= p x x

p v v v v o

p px

= v

α

cos

x p x

px v

v o v =

x p px v

v o

=

=1 xv

(12)

Skalarprodukt

(für Vektoren) Durch das Skalarprodukt

erreichen wir eine Abbildung – in diesem Beispiel von dem 2D Raum auf den 1D Raum der Geraden.

x spannt dabei den Bildraum auf (mit Dimension 1).

Eine vollständige

Rekonstruktion des Punkte P erreichen wir nur, wenn die

pv

xv α

px

yv

U N I V E R S I T Ä T KOBLENZ · LANDAU

auf (mit Dimension 1).

Alle Punkte, die auf der gestrichelten Linie liegen, werden auf px abgebildet.

y spannt dabei den Kern der Abbildung auf, auch Nullraum genannt (hier ebenfalls mit Dimension 1).

erreichen wir nur, wenn die Dimensionen des

Originalraums und des

Bildraums identisch sind, also kein Nullraum existiert.

(13)

Skalarprodukt

(für Vektoren) Das Beispiel zeigt 2

unterschiedliche,

orthonormale Basen mit gleichem Urspung des gleichen Raums

Wir gehen davon aus, dass die Vektoren u und v

O

P

xv yv

uv vv

pu

pv

die Vektoren u und v (z.B.

Kamerakoordinatensystem) in dem xy-System (z.B. Weltkoordinaten- system) gegeben sind.

Für einen Vektor pxy in

Weltkoordinaten können wir die uv-Koordinaten

berechnen durch

u





= 





= 

y x y

x

v v v

u

uv u v

;

xy v

xy

u u p p v p

p v

vo o v

v =

= ;

(14)

Koord.Transformation

Definieren wir uns eine 2x2 Matrix M aus den beiden Basisvektoren u und v,

( )



= 

=

y y

x x

v u

v v u

uv v , M

O

P

xv yv

uv vv

pu

pv

U N I V E R S I T Ä T KOBLENZ · LANDAU

so können wir die

Koordinatentransformation auch so schreiben

Umgekehrt erhalten wir pxy durch Linearkombination der uv-Koordinaten mit den

Basisvektoren u und v

xy T

T xy T

v u uv

p

v p u p

v p u p

p p

v

v v

v o v

v o v v v

=





=





=





=

M

uv v

u y

y

x x

y v y

u

x v x

u v

u xy

p p p v

u

v u

v p u

p

v p u

v p p u p p

v v

v v

 =



=

+

+

=

+

=

M

u

(15)

Skalarprodukt

( ) ( )

= max

min

2 1

2 1

λ λ

λ λ

λ

L d

L L

L o

[ ]nm

λ L

0 1

L2

L1

Eigentlich ist das Skalarprodukt allgemeiner und für Funktionen definiert.

Vorstellung: hier wird ebenfalls das Produkt der jeweiligen Werte

„aufaddiert“

Das Resultat ist ein Skalar – die Koordinate in der jeweiligen

Basis (hier: Leuchtdichte L durch Projektion auf V(λ))

Konkret: es entspricht der Fläche unter der resultierenden Kurve (Produkt der beiden Kurven)

0

360 830

(16)

Skalarprodukt (neu)

380 385 390

O O 1 2 3 e

[ ]nm

λ 830

1 ,

l2 l2,2 l2,3

l2,n

1 ,

l1

2 ,

l1

3 ,

l1 l1,n

nm

=5

λ e=1

n

U N I V E R S I T Ä T KOBLENZ · LANDAU

Im diskreten Fall ersetzt ein n-dim. Vektor die Funktion Das Skalarprodukt berechnet sich mit:

Das bisher gelernte Skalarprodukt ist also nur ein Sonderfall

Eine geschickte Lösung ist, für diesen Sonderfall die Achsen aufsteigend zu nummerieren.

380 385 390 O

λ

=

= i

n

i

i l l

L

L 2,

1 , 1 2

1

v o

v (!)

1 2 3

830 O

L L n

i n

i

i l l L

L 2,

1 , 1 2

1 =

=

v o v

(17)

Die Mathematik der Farbe

(18)

Spektrale Funktionen

Ohne Beschränkung der Allgemeinheit betrachten wir die Strahldichte L(λ)

Formal bildet die Menge aller spektralen Funktionen von λmin bis λmax einen Hilbertraum, den Raum der spektralen Funktionen:

U N I V E R S I T Ä T KOBLENZ · LANDAU

ein unendlich-dimensionaler Vektorraum (den brauchen wir, da es um Funktionen geht),

für den ein Skalarprodukt definiert ist (das brauchen wir, für eine Transformation von und in diesen Raum).

Das Skalarprodukt zwischen zwei spektralen

Funktionen L1 ) und L2 (λ) liefert eine reelle Zahl

( ) ( )

= max

min

2 1

2 1

λ λ

λ λ

λ

L d L

L L o

(19)

Spektralraum und Spektren

In der Praxis spielt dieser Raum keine Rolle.

Die Werte liegen als diskrete Werte vor, wobei der sichtbare Wellenlängenbereich durch n äquidistante Punkte im Abstand ∆λ diskretisiert wird.

Dies ist ein n-dimensionaler Unterraum des Dies ist ein n-dimensionaler Unterraum des Hilbertraums (Spektralraum).

Die n-dimensionalern Vektoren nennen wir Spektren.

Aus dem Skalarprodukt wird

=

= n

i

i

i L

L L

L

1

, 2 ,

1 2

1 o v

λ

v

(20)

Farbraum und Normfarbraum

Wichtig sind noch 3-dimensionale Unterräume, die

z.B. durch die drei Sensorantwortkurven einer Kamera festgelegt werden (allgemein: Farbraum).

Besonders wichtig ist der Normfarbraum, der durch die Normspektralwertfunktionen der CIE festgelegt ist,

wobei der Normfarbraum aus dem Verhalten des

U N I V E R S I T Ä T KOBLENZ · LANDAU

wobei der Normfarbraum aus dem Verhalten des

Auges beim Farbensehen abgeleitet wurde. Oft notiert als:

Die Striche weisen darauf hin, dass ein konstantes Einheitsspektrum den Ermittlungen zu Grunde lag.

Bei mir:

( ) ( ) ( ) λ

y

λ

z

λ

x , ,

z y

xv v v ,

,

(21)

CIE Normbasisvektoren

Die 3 Vektoren sind linear unabhängig und bilden damit eine Basis des Normfarbraums (CIE-

Normbasisvektoren, kurz CIE-Normbasis)

(22)

CIE-Normbasis

U N I V E R S I T Ä T KOBLENZ · LANDAU

(23)

XYZ-Koordinaten

Berechnet man das Skalarprodukt zwischen der CIE- Normbasis und einem beliebigen Spektrum

so entspricht dies einer Projektion des Spektrums in den Normfarbraum.

Das Ergebnis sind die 3D-Koordinaten des Spektrums L

v

Das Ergebnis sind die 3D-Koordinaten des Spektrums im Normfarbraum (Farbmetrik: Normfarbvalenz) :

(

x y z

)

L z

L y L

x L

L L L

L T

Z Y X XYZ

v v

v v o v

v o v v

o v v

v = ⋅ =





 =





= B mit B

Wichtig: Skalarprodukt bedeutet Multiplikation mit ∆λ

(24)

Normfarbraum

Wir könnten ihn auch als den Farbraum der von farbnormalsichtigen Menschen wahrgenommenen Farben bezeichnen.

Betrachten wir die Basis:

so liefert jede Linearkombination der Basisvektoren

(

xv yv zv

)

= B

U N I V E R S I T Ä T KOBLENZ · LANDAU

so liefert jede Linearkombination der Basisvektoren mit reellen Zahlen wieder eine Basis dieses

Farbraums, insofern die neuen Basisvektoren linear unabhängig sind.

Dies erreichen wir durch die Multiplikation mit einer nicht-singulären, linearen 3x3 Matrix M.

(25)

Basistransformation

Jede Basis liefert ein eigenes Koordinatensystem, wobei sie den gleichen Vektorraum aufspannen (die lineare Hülle ist identisch).

Beim Übergang von der einen Basis zu einer anderen Basis verändern sich aber die Koordinaten der

Vektoren.

Vektoren.

Beispiel:

rgb

XYZ L

L

v v = M

(26)

Fazit

2 Fragestellungen

Im Kontext eines 3-dimensionalen Farbraums geht es vorrangig um einen konsistenten Farbeindruck für einen menschlichen Betrachter.

Den n-dimensionalen Spektralraum benötigen wir, um spektrale Funktionen möglichst gut zu approximieren.

U N I V E R S I T Ä T KOBLENZ · LANDAU

spektrale Funktionen möglichst gut zu approximieren.

Für eine Simulation benötigen wir beide

Betrachtungen und wir werden sehen, warum der 3- dimensionale Farbraum für eine Simulation nicht genügt, obwohl heutzutage fast alle

Renderingmethoden (inkl. der GPU) darauf aufbauen.

(27)

Duale Basis und Primärspektren

Wie rekonstruiere ich ein Spektrum?

(28)

Fragestellung

[ ]nm

λ

zv

xv yv

0 0,2 0,4 0,6 0,8 1 1,2

360 595 830

L v

[ ]nm

λ

L y

L x L L

L

L T

X v v

o v

o v v

v =

=

= B

(

xv yv zv

)

= B

0,0 0,20,4 0,60,8 1,01,2 1,41,6 1,82,0

360 830

U N I V E R S I T Ä T KOBLENZ · LANDAU

Wie machen wir aus den XYZ-Werten wieder ein Spektrum?

Die Linearkombination mit B

L z

L y L L

L

L T

Z Y XYZ

v o v

v o v v

v =

=

= B

XYZ Z

Y

X x L y L z L

L L

v v v

v v

=

+

+

= B ist leider falsch

(29)

Begründung

Wenn es eine gültige Lösung wäre, erwarten wir, dass eine erneute Projektion wieder die ursprünglichen

XYZ-Werte liefert.

Rekonstruiertes Spektrum:

XYZ Z

Y

X x L y L z L

L L

v v v

v v

=

+

+

= B

Erneute Projektion (Beispiel: X-Wert)

Ergebnis: die Identität lässt sich nur bei orthonormalen Basen erreichen

XYZ Z

Y

X x L y L z L

L

L = + + = B

( )

x z L x y L x x L

x z L y L x L

x L L

Z Y

X

Z Y

X X

o v v v

v o o v

v

o v v v

v o v v

+

+

=

+

+

=

=

(30)

Allgemein

Der Punkt P ist sowohl durch die Koordinaten (x, y), als auch durch die Koordinaten (u, v) eindeutig definiert.

Sind die uv-Koordinaten bekannt, so berechnet sich (x, y) durch:

p v p u x

xy P u P v

P

Pv P v v

+

=

=

U N I V E R S I T Ä T KOBLENZ · LANDAU

Mit

Aufgabe: konstruiere die uv- Koordinaten

p v p u y

xy P u P v

P P = +

=

(

p p

)

p uv vv

= B

(

p p

)

uv p uv

uv y

p y

p

x p x

p y

p v y p u

x p v x p u

P P

v u

v P u

v u

v P u

P

v P u

P

v v v

v

v

=

=

=

+

+

=

B

, ,

, ,

, ,

, ,

(31)

Konstruktion

v

u

(32)

Konstruktionsbasis/Primärbasis

u

U N I V E R S I T Ä T KOBLENZ · LANDAU

( )





⋅

 =



v u p

p y

x

P v P

P u

P v v





⋅





= 





y x T

T

v u

P P v

u P

P

v v

(

p p

)

T T

v v u

u v v

v v

⋅



=  E u

(33)

Basisvektoren und -funktionen

Im Allgemeinen Fall brauchen wir zwei Sätze von Basisfunktionen (duale Basis)

Eine Projektions- oder Konstruktionbasis Eine Rekonstruktionsbasis

Ein gutes Beispiel in diesem Zusammenhang ist eine Kamera und ein Display

Kamera und ein Display

Mit Hilfe der Kamera (Sensorantwortkurve) transformieren wir ein eingehendes Spektrum auf den rgb-Wert eines Pixels.

Mit Hilfe des Displays (Spektren der Pixel, sog. Primaries)

rekonstruieren wir aus rgb wieder ein Spektrum.

(34)

Projektionsbasis

Beispiel Kamera: wir haben die Sensorantwortkurven r(λ), g(λ), b(λ) (in der Regel als diskrete Werte).

( )

r g b

L g

L r L Lrgb

v v v v

v v o v v

o v v

v = ⋅ =









= RT ; R

U N I V E R S I T Ä T KOBLENZ · LANDAU

( )

b L

rgb v

o

v 

 

=

= i i i

T r L r

L r

Lvov v v λ

Wichtig:

(35)

Rekonstruktionsbasis

Der Bildschirm leuchtet mit den Primaries rp(λ), gp (λ), bp(λ) (die Rekonstruktionsbasis wird durch ein p wie „primaries“ gekennzeichnet)

(

p p p

)

p rgb

p

p p

p

b g r L

b b g

g r

r L

v v v v

v v v v

=

=

⋅ +

⋅ +

=

R R ;

~

Das rekonstruierte Spektrum ist i. d. Regel vom Originalspektrum verschieden:

L L

v v ≠

~

(36)

Primärspektren

Aber ein erneutes Foto von diesem rekonstruierten Spektrum soll den gleichen rgb-Wert ergeben

Einsetzten:

L Lvrgb ~v

= RT

U N I V E R S I T Ä T KOBLENZ · LANDAU

Einsetzten:

Daraus folgt:

L Lvrgb ~v

= RT

rgb p

rgb L

L

v v = RTR

3 3x

p E

R RT ⋅ =

(37)

Orthonormale Basissätze

Im Kontext der Farbe ist eine wichtige Forderung die Möglichkeiten einer farbkonsistenten Abbildung

Daraus leitet sich die Anforderung an die duale Basis, dass die beiden Basissätze orthonormal zueinander dass die beiden Basissätze orthonormal zueinander sind.

(38)

Die Inverse

Im Kontext der Farbe haben wir aber nx3 Matrizen, wobei n die Anzahl der Samples ist, mit der das

Spektrum diskretisiert wurde.

Hier gilt:

T

T = =

3xn nx3 3xn nx3

U N I V E R S I T Ä T KOBLENZ · LANDAU

Aber:

3 3x p

p R R E

R

RT = T =

nxn p

p R R R E

R 3xnT = 3xnT

nx3 nx3

Auch dieses Produkt ist sehr wichtig (z.B. zur Berechnung der fundamentalen Metamere), was später noch gezeigt wird.

(39)

Berechnung der Pseudo-Inversen

Die Primärbasis ist damit die Pseudo-Inverse der

( )

(

T

)

T

T

T

R R

R R

R R

R R

p p

p p

=

=

1

1

3xn nx3 3x3 nx3 nx3

Rp

R E = T

(

)

1

= RT R RT R

Denn:

Die Primärbasis ist damit die Pseudo-Inverse der Konstruktionsbasis

Konstruktions- und Primärbasis bilden eine duale Basis.

(40)

Identischer Farbeindruck

U N I V E R S I T Ä T

(41)

Color Matching (identischer Farbeindruck)

Wir sprechen von einem identischen Farbeindruck (color match), wenn für zwei verschiedene Spektren L und L‘ gilt:

wobei B die CIE XYZ Color Matching Funktionen LXYZ

L L

v v

v = ⋅ ′ =

T

T B

B

wobei B die CIE XYZ Color Matching Funktionen (Normspektralwertkurven) sind.

Haben 2 Spektren die gleichen XYZ- Koordinaten, dann liefern sie für einen „Normalbeobachter“ auch einen identischen Farbeindruck.

Spektren mit identischem Farbeindruck nennen wir Metamere

(42)

CIE: Konstruktions- und Rekonstruktionsbasis

0,2 0,4 0,6 0,8 1,0 1,2 1,4 1,6 1,8 2,0

[ ]nm

λ

zv

xv yv

B

-10 -5 0 5 10 15 20 25 30

360 830

[ ]nm

λ

Bp

zvp

xvp

yvp

106

×

U N I V E R S I T Ä T KOBLENZ · LANDAU

0,0 0,2

360 830

CIE XYZ 1931, 5 nm, 2 deg, 360-830 nm http://www.cvrl.org/

[ ]nm

λ

(

)

1

=B B B Bp T

-20 -15 -10

L z

y x L

L

T T T

XYZ

v v

v v v

v ⋅





=

= BT L p LXYZ

v v = B

~

Referenzen

ÄHNLICHE DOKUMENTE

Von dem Essen bleibt dann allerdings das Meiste auf dem Teller zurück und wird nicht aufgegessen.. Der junge Pfarrer arbeitet in einer der evangelischen Kirchengemeinden im

Daraus folgt, dass Jesus im Einklang mit römischen Straf- und Strafverfahrens- recht von Pilatus behandelt worden ist und die Kreuzigung somit im Einklang mit dem damaligen

23 schränken, wenn auch ohne weiteres zuzugeben ist, daß sich hier bisweilen Männer fanden, die (wie Gerbett) dieser preußischen Behörde in Ruf und Ansehen schadeten. b)

Abgabe bis Do, 13.11., 13 Uhr Aufgabe 1 zur Bearbeitung in der ¨ Ubung Aufgaben 2-4 zur selbst¨ andigen Bearbeitung..

Die beiden Disziplinen Wirtschaftsinformatik und Medizi- nische Informatik gehören zu den sogenannten Binde- strich-Informatik-Fächern, die sich mit der Anwendung der Methoden

Das Projekt, für das ich arbeite, heißt inside@school und bietet sowohl Einzel- als auch Kleingruppenberatung für SchülerInnen, Eltern und LehrerInnen zu den vielfältigsten

• Zwei Geraden heißen zueinander orthogonal, wenn ihre Richtungsvektoren zueinander or- thogonal sind.. • Eine Gerade und eine Ebene heißen zu- einander orthogonal, wenn

Jetzt kann es sein, dass Sie andere Werte f ¨ur den ggT herausbekommen