Lecturers: J. Kautz, A. Steed, T. Weyrich Demonstrator: James - - PDF document

lecturers j kautz a steed t weyrich demonstrator james
SMART_READER_LITE
LIVE PREVIEW

Lecturers: J. Kautz, A. Steed, T. Weyrich Demonstrator: James - - PDF document

Lecturers: J. Kautz, A. Steed, T. Weyrich Demonstrator: James Tompkin Lab Time TBA in 4.17 Jan Kautz Anthony Steed Tim Weyrich Assessment Written Examination (2.5 hours, 75%) Coursework


slide-1
SLIDE 1

Jan Kautz Anthony Steed Tim Weyrich

Lecturers: J. Kautz, A. Steed, T. Weyrich Demonstrator: James Tompkin Lab Time – TBA in 4.17 Assessment – Written Examination (2.5 hours, 75%) – Coursework Section (2 pieces, 25%)

CW1: Deadline Friday 12/02/2010 by 12 noon CW2: Deadline TBA

Tim Weyrich

Introduction Spectral distributions Simple Model for the Visual System Simple Model for an Emitter System Generating Perceivable Colours CIE-RGB Colour Matching Functions

Radiometry (radiant power, radiance etc) – Measurement of light energy Photometry (luminance etc) – Measurement including response of visual system Generally C() defines spectral colour distribution

[a, b] =

In computer graphics C is usually radiance.

slide-2
SLIDE 2

() = 0, 0 () d = 1 (t) f(x-t)d t = f(x) C() = (-0) is spectral distribution for

pure colour with wavelength 0

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then

  • pen the file again. If the red x still appears, you may have to delete the image and then insert it again.
  • 400

700 Wavelength nm Spectral radiant power Spectral Energy Distribution 400nm 700nm Schematic Representation

  • f Colour Spectra

Space of all visible colours equivalent to set

  • f all functions C : R

– C() 0 all – C() > 0 some .

We do not ‘see’ C() directly but as filtered

through visual system.

Two different people/animals will ‘see’ C()

differently.

Different C()s can appear exactly the same to one

individual (metamer).

(Ignoring all ‘higher level’ processing, which

basically indicates “we see what we expect to see”).

slide-3
SLIDE 3

Colour space is infinite dimensional Visual system filters the energy distribution

through a finite set of channels

Constructs a finite signal space (retinal

level)

Through optic nerve to higher order

processing (visual cortex ++++).

Human Eye Schematic

Rods – 130,000,000 night vision +

peripheral (scotopic)

Cones – 5-7,000,000, daylight vision +

acuity (one point only)

Cones – L-cones – M-cones – S-cones l = C()L()d m = C()M()d s = C()S()d C (l,m,s) (trichromatic theory) LMS(C) = (l,m,s) LMS(Ca) = LMS(Cb) then Ca, Cb are

metamers.

Generates chromatic light by mixing

streams of energy of light of different spectral distributions

Finite number (3) and independent of each

  • ther
slide-4
SLIDE 4

CE()=1E1()+ 2E2() + 3E3 () Ei are the primaries (i.e., the display uses them) i are called the intensities. CIE-RGB Primaries are: – ER() = (- R), R = 700nm – EG() = (- G), G = 546.1nm – EB() = (- B), B = 435.8nm

CIE = Commission Internationale de L’Eclairage

For a given C() problem is to find the

intensities i such that CE() is metameric to C()

First Method to be shown isn’t used, but

illustrative of the problem.

For a metamer we require (considering L only): Expanding: Write And do the same derivation for M and S:

In principle C, L and Ei will be known.

Or This gives 3 equations in 3 unknowns which can

be solved for the unknown intensities.

But in practice the L, M and S curves cannot be

directly observed, so other techniques are used.

Previous method relied on knowing L, M,

and S response curves accurately.

Better method based on colour matching

functions.

Define how to get the colour matching

functions i() relative to a given system of primaries (e.g., RGB).

slide-5
SLIDE 5

Let 0 be a monochromatic colour, and i(0) (i=1,2,3) be the

intensities, then:

Also, By substitution:

This further simplifies to: and so: Now replace 0 by , multiply throughout

by colour C(), and integrate:

With further rearrangement, we get the

result:

Recall that the i() were the intensities for

monochromatic colours.

The result says that we can find the

intensities for a metamer for an arbitrary colour based on these.

How can we estimate these i()? This can be done with a perceptual colour-

matching experiment.

Target colour Mixing of 3 primaries Adjust intensities to match the colour

  • verlap
slide-6
SLIDE 6

RGB intensities

sampled at 5nm intervals between 390nm and 830nm.

They are ‘2 degree’ color matching functions

because the observer only sees a field of view of 2 degrees.

2 degree ones are used in computer graphics

because of the relatively narrow field of view when looking at a display.

Not all monochrome colours can be

represented with positive i().

In that case we add one beam to the target

and try to adjust the other two beams to match the new colour:

Compute the radiance distribution C() Find out the colour matching functions for the

display i()

Perform the 3 integrals i()C()d to get the

intensities for the metamer for that colour on the display.

…. Except that’s not how it is done … ….to be continued….

CIE-RGB Chromaticity Space CIE-XYZ Chromaticity Space Converting between XYZ and RGB Colour Gamuts and Undisplayable Colours Summary for Rendering: What to do in

practice

Consider CIE-RGB primaries: – For each C() there is a point (R, G, B):

C() R ER() + G EG() + B EB()

– Considering all such possible points

(R, G, B)

– Results in 3D RGB colour space – Hard to visualise in 3D – so we’ll find a 2D representation instead. Consider 1st only monochromatic colours: – C() = (- 0) Let the CIE-RGB matching functions be – r(), g(), b() Then, eg, – R(0) = (- 0) r()d = r(0) Generally – (R(0), G(0), B(0)) = (r(0), g(0), b(0))

slide-7
SLIDE 7

As 0 varies over all wavelengths – (r(0), g(0), b(0)) sweeps out a 3D curve. This curve gives the metamer intensities for

all monochromatic colours.

To visualise this curve, conventionally

project onto the plane

– R + G + B = 1 It is easy to show that projection of

(R, G, B) onto R + G + B = 1 is:

– (R/D, G/D, B/D),

D = R + G + B

Show that interior and boundary of the

curve correspond to visible colours.

CIE-RGB chromaticity space.

Suppose 1 and 2 are two 3D points corresponding to

spectral functions C1 and C2.

Consider the line segment joining them: – (1-t) 1 + t 2 , t [0,1] It is easy to see that for any such t this must correspond to

another spectral function.

When we project the points and line segment to the plane,

the line projects to the 2D line joining them.

All points on the curved boundary and within the curve

represent visible colours.

Define: – V() = 1L() + 2M() + 3S() For specific constants i this is the – Spectral Luminous Efficiency curve The overall response of visual system to C() is – L(C) = K C() V()d For K=680 lumens/watt, and C as radiance, L is

called the luminance (candelas per square metre)

slide-8
SLIDE 8

Since – C() R ER() + G EG() + B EB() Then

L(C) =

R ER() V()d + G EG() V()d + B EB() V()d

Or – L(C ) = R lR + G lG + B lB

L(C ) = R lR + G lG + B lB – and lR lG lB are constants Consider set of all (R, G, B) satisfying this

equation…

– a plane of constant luminance in RGB space Only one point on plane corresponds to colour C – so what is varying over the plane? Chrominance – The part of a colour (hue) abstracting away the

luminance

Colour = chrominance + luminance (independent) Consider plane of constant luminance – R lR + G lG + B lB = L Let * = (*R, *G, *B) be a point on this plane. – (t*R, t*G, t*B), t>0 is a line from 0 through * Luminance is increasing (tL) but projection on

R + G + B = 1 is the same.

Projection on R + G + B = 1 is a way of

providing 2D coordinate system for chrominance.

E and F are two different primaries – C() 1 E1() + 2 E2() + 3 E3() – C() 1 F1() + 2 F2() + 3 F3() Let A be the matrix that expresses F in terms of E – F () = AE() Then – = A – Ej() = i Fi() ij (CMFs) CIE-RGB representation not ideal – Colours outside 1st quadrant not achievable – Negative CMF function ranges CIE derived a different XYZ basis with better

mathematical behaviour

– X(), Y() , Z() basis functions (imaginary primaries) – X, Z have zero luminance – CMF for Y is spectral luminous efficiency function V

(corresponds to perceived brightness)

Known matrix A for transformation to CIE-RGB

C() X. X() + Y. Y() + Z. Z() – X = C()x()d – Y = C()y()d – Z = C()z()d – x,y,z are the CMFs – y is equivalent to V

slide-9
SLIDE 9

CIE-XYZ Chromaticity Diagram

System has primaries R(), G(), B() How to convert between a colour expressed

in RGB and vice versa?

Derivation…R(), G(), B() are physical

colours and therefore can be expressed as:

Therefore the chromaticies are: The RHS are usually known from manufacturer’s data, but

the denominators are unknown.

For constants , we can write: If matrix A converts from RGB to XYZ then in

particular,

– CR = (1,0,0) A – CG = (0,1,0) A – CB = (0,0,1) A

To determine the , consider the white

point.

In XYZ this is (1/3,1/3,1/3) and in RGB is

usually (1,1,1).

So (1/3,1/3,1/3) = (1,1,1)A, and hence:

slide-10
SLIDE 10

Given an RGB colour on a monitor 1 that we want

to reproduce on another one 2, we can use A1 to go from RGB to XYZ on 1, and then then (A2)-1 to go from XYZ to monitor 2.

Given a computed XYZ colour (e.g., in a global

illumination algorithm) we can use A-1 to compute the intensity for a particular monitor.

Display has RGB primaries, with

corresponding XYZ colours CR, CG, CB

Chromaticities cR, cG, cB will form triangle

  • n CIE-XYZ diagram

All points in the triangle are displayable

colours

– forming the colour gamut Suppose XYZ colour computed, but not

displayable?

Terminology – Dominant wavelength – Saturation

P W Q For colour at P

  • Q dominant wavelength
  • WP/WQ saturation

Falls outside of the triangle (its chromaticity

not displayable on this device)

– Might desaturate it, move it along line QW

until inside gamut (so dominant wavelength invariant)

Colour with luminance outside of

displayable range.

– Clip vector through the origin to the RGB cube

(chrominance invariant)

slide-11
SLIDE 11

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then

  • pen the file again. If the red x still

appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then

  • pen the file again. If the red x still

appears, you may have to delete the image and then insert it again. The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then

  • pen the file again. If the red x still

appears, you may have to delete the image and then insert it again.

red green blue (1,0,0) (0,1,0) (0,0,1) black w h i t e magenta cyan yellow (1,1,1) (0,0,0) (1,0,1) (0,1,1) (1,1,0)

Incorrect to use RGB throughout!!! – Different displays will produce different results – RGB is not the appropriate measure of light

energy (neither radiometric nor photometric).

– But depends on application

Most applications of CG do not require ‘correct’

colours…

…but colours that are appropriate for the

application.

Algorithm should compute C() for surfaces – means computing at a sufficient number of wavelengths

to estimate C (not ‘RGB’).

Transform into XYZ space – X = C()x()d – Y = C()y()d – Z = C()z()d Map to RGB space, with clipping and gamma

correction.