Introduction to Color - Brown University
Introduction to Color - Brown University
Introduction to Color - Brown University
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CS123 INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Introduction</strong> <strong>to</strong> <strong>Color</strong><br />
CS123 – <strong>Introduction</strong> <strong>to</strong> Computer Graphics<br />
© 1975-2011 Andries van Dam et. al.<br />
<strong>Color</strong> 1/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Introduction</strong><br />
<br />
<br />
<br />
<br />
Graphics displays became common in the mid-60’s. The field of graphics<br />
concentrated first on interaction, and later on “pho<strong>to</strong>realism” (which was<br />
generally based on performance-centered hacks)<br />
Now both are important, as well as is non-pho<strong>to</strong>realistic rendering (e.g.,<br />
painterly or sketchy rendering)<br />
Pho<strong>to</strong>realistic rendering increasingly physically-based (such as using physically<br />
realistic values for light sources or surface reflectance) and perception-based<br />
An understanding of the human visual and proprioceptive systems are essential<br />
<strong>to</strong> creating realistic user experiences<br />
Andries van Dam<br />
<strong>Color</strong> 2/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
All You Need <strong>to</strong> Know About <strong>Color</strong> in CS123<br />
(Courtesy of Barb Meier, former HeadTA)<br />
Physics: E&M, optics, materials…<br />
Electronics (display devices)<br />
Psychophysics/Human Visual System<br />
Graphical design<br />
Andries van Dam <strong>Color</strong> 3/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Lecture Roadmap<br />
<br />
Motivation<br />
<br />
<br />
<br />
<br />
Achromatic light<br />
Chromatic color<br />
<strong>Color</strong> models for raster graphics<br />
Reproducing color<br />
<br />
Using color in computer graphics<br />
Andries van Dam<br />
(rendered with<br />
Maxwell)<br />
<strong>Color</strong> 4/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Why Study <strong>Color</strong> in Computer Graphics?<br />
<br />
<br />
<br />
<br />
<br />
<br />
Measurement for realism - what does coding an RGB triple mean?<br />
Aesthetics for selecting appropriate user interface colors<br />
how <strong>to</strong> put on matching pants and shirt in the morning<br />
what are the perceptual/physical forces driving one’s “taste” in color?<br />
Understanding color models for providing users with easy color<br />
selection<br />
systems for naming and describing colors<br />
<strong>Color</strong> models, measurement and color gamuts for converting colors<br />
between media<br />
why colors on your screen may not be printable, and vice-versa<br />
managing color in systems that interface computers, screens, scanners,<br />
and printers <strong>to</strong>gether<br />
Useful background for physically-based rendering and shares ideas<br />
with signal processing – pho<strong>to</strong>recep<strong>to</strong>rs process signals<br />
Graphics group has worked on color <strong>to</strong>ols for Adobe<br />
Andries van Dam <strong>Color</strong> 5/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Why is <strong>Color</strong> Difficult?<br />
<br />
<br />
<br />
<br />
<strong>Color</strong> is an immensely complex subject drawing from physics, physiology,<br />
perceptual psychology, art, and graphic design<br />
There are many theories, measurement techniques, and standards for colors,<br />
yet no single theory of human color perception is universally accepted<br />
<strong>Color</strong> of an object depends not only on the object itself, but also on the light<br />
sources illuminating it, the color of surrounding area, and on the human<br />
visual system (the eye/brain mechanism)<br />
Some objects reflect light (wall, desk, paper),<br />
while others also transmit light (cellophane, glass)<br />
<br />
<br />
surface that reflects only pure blue light<br />
illuminated with pure red light appears black<br />
pure green light viewed through glass that<br />
transmits only pure red also appears black<br />
Andries van Dam<br />
<strong>Color</strong> 6/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
What is color?<br />
<strong>Color</strong> is a property of objects that our minds create – an interpretation of the world around us<br />
<strong>Color</strong> is apparently unique <strong>to</strong> humans and higher primates<br />
<strong>Color</strong> perception stems from two main components:<br />
Physical properties of the world around us<br />
<br />
<br />
electromagnetic waves interact with materials in world and eventually reach eyes<br />
visible light comprises the portion of the electromagnetic spectrum that our eyes can detect (380nm/violet – 740nm/red)<br />
<br />
pho<strong>to</strong>recep<strong>to</strong>rs in the eye (rods and cones) convert light (pho<strong>to</strong>ns) in<strong>to</strong> electro-chemical signals which are then<br />
processed by our brains<br />
Physiological interpretation of signals (“raw data”) output by recep<strong>to</strong>rs<br />
less well-unders<strong>to</strong>od and incredibly complex higher level processing<br />
very dependent on past experience and object associations<br />
Both are important <strong>to</strong> understanding our sensation of color<br />
Andries van Dam<br />
<strong>Color</strong> 7/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Our Visual System Constructs our Reality (1/3)<br />
<br />
<br />
<br />
<br />
Still not completely unders<strong>to</strong>od<br />
Understanding our visual system and brain’s “wiring” is insufficient<br />
New <strong>to</strong>ols (e.g., fMRI) greatly increase our understanding, but also introduce new<br />
questions<br />
Some viewing capabilities are hardwired, others are learned<br />
We acquire a visual vocabulary<br />
What looked real on the screen a few years ago no longer does – bar keeps rising<br />
We have huge innate pattern recognition ability<br />
Visual processing generally faster than higher-level cognitive processing<br />
Roads use symbols instead of words for signs (but “dual coding” is always better)<br />
And may have more emotional impact<br />
Andries van Dam<br />
<strong>Color</strong> 8/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Our Visual System Constructs our Reality (2/3)<br />
<br />
<br />
Perceptual invariants are crucial for sense-making<br />
<br />
<br />
<br />
Size, rotation and position constancy of objects despite varying projections on the eye (but not<br />
always!)<br />
<strong>Color</strong> constancy despite changing wavelength distributions of illumination<br />
Person recognition despite everything else changing and very poor viewing conditions<br />
Optical illusions<br />
<br />
<br />
<br />
<br />
<br />
<br />
Completing incomplete features, such as seeing “false” size differences due <strong>to</strong> context<br />
Seeing differences in brightness due <strong>to</strong> context, negative afterimages, seeing “false” patterns<br />
and even motion<br />
Seeing 3d (perspective, camera obscura, sidewalk art)<br />
But also artifacts: misjudgments, vection (apparent motion)<br />
Examples<br />
Miscellaneous1, Miscellaneous2, Afterimages, Vection, Forced Perspective<br />
Andries van Dam<br />
<strong>Color</strong> 9/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Our Visual System Constructs our Reality (3/3)<br />
Seeing is bidirectional<br />
Visual process is semantically driven<br />
Based on context, we expect <strong>to</strong> see (or not <strong>to</strong> see) certain<br />
things<br />
Example<br />
http://www.youtube.com/watch?v=Ahg6qcgoay4<br />
Andries van Dam<br />
<strong>Color</strong> 10/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Achromatic Light (1/2)<br />
<br />
Achromatic Light: “without color,” quantity of light only<br />
<br />
Called intensity, luminance, or measure of light’s energy/brightness<br />
<br />
The psychophysical sense of perceived intensity<br />
Gray levels (e.g., from 0.0 <strong>to</strong> 1.0)<br />
<br />
<br />
<br />
We can distinguish approximately 128 gray levels<br />
Seen on black and white displays<br />
Note Mach banding/edge enhancement – stay tuned<br />
Andries van Dam<br />
<strong>Color</strong> 11/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Achromatic Light (2/2)<br />
<br />
Eye is much more sensitive <strong>to</strong> slight changes in luminance (intensity) of light than slight<br />
changes in color (hue)<br />
<br />
"<strong>Color</strong>s are only symbols. Reality is <strong>to</strong> be found in luminance alone… When I run out of<br />
blue, I use red." (Pablo Picasso)<br />
<br />
<br />
<br />
Source:<br />
<br />
“Picasso's Poor People on the Seashore uses various shades of blue that differ from each<br />
other in luminance but hardly at all in color (hue). The melancholy blue color serves an<br />
emotional role, but does not affect our recognition of the scene.” Also, consider how<br />
realistic black and white images/movies look!<br />
“The biological basis for the fact that color and luminance can play distinct roles in our<br />
perception of art, or of real life, is that color and luminance are analyzed by different<br />
subdivisions of our visual system, and these two subdivisions are responsible for<br />
different aspects of visual perception. The parts of our brain that process information<br />
about color are located several inches away from the parts that analyze luminance -- as<br />
ana<strong>to</strong>mically distinct as vision is from hearing. ” (source below)<br />
Includes in-depth explanations of many interesting natural phenomena relating <strong>to</strong> color<br />
(including several interactive applications) http://www.webexhibits.org/causesofcolor/<br />
Andries van Dam<br />
<strong>Color</strong> 12/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Chromatic Light<br />
Example of an HSV color picker<br />
Ingredients of a Rainbow<br />
<br />
Fac<strong>to</strong>rs of visual color sensations<br />
<br />
<br />
Brightness / intensity(this circular color picker shows single brightness)<br />
Chromaticity / color:<br />
Hue / position in spectrum(red, green, …) - angle in polar coordinates (circular color picker)<br />
<br />
Saturation / vividness – radius in polar coordinates (circular color picker)<br />
Andries van Dam<br />
<strong>Color</strong> 13/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Dynamic Range<br />
Dynamic Range: ratio of maximum <strong>to</strong> minimum discernible intensity; our range: 10 <strong>to</strong> 10 10 pho<strong>to</strong>ns/sec<br />
<br />
Extraordinary precision achieved via adaptation, where the eye acclimates <strong>to</strong> changes in light over time by<br />
adjusting pupil size. At any one moment, human eye has much lower dynamic range, about 10,000:1<br />
Source:<br />
http://www.cambridgeincolour.com/<br />
tu<strong>to</strong>rials/cameras-vs-humaneye.htm<br />
<br />
<br />
<br />
<br />
Dynamic range of a display gives idea of how many distinct intensities display can depict<br />
Note: dynamic range (ratio of max:min intensities) not at all the same as gamut (number of displayable colors)<br />
Dynamic range also applies <strong>to</strong> audio, printers, cameras, etc.<br />
Display Examples:<br />
Display Media<br />
Dynamic Range<br />
Apple Thunderbolt Display 1000 : 1<br />
CRT 50-200 : 1<br />
Pho<strong>to</strong>graphic prints 100 : 1<br />
Pho<strong>to</strong>graphic slides 1000 : 1<br />
Coated paper printed in B/W 100 : 1<br />
Coated paper printed in color 50 : 1<br />
Newsprint printed in B/W 10 : 1<br />
<br />
ink bleeding and random noise considerably decreases DR in practice<br />
Andries van Dam <strong>Color</strong> 14/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Non-linearity of Visual System (1/4)<br />
<br />
What is the relationship between perceived brightness S and<br />
intensity/luminance I?<br />
<br />
<br />
If linear, equal steps in I would yield equal steps in S<br />
However, human visual system is roughly based on ratios (non-linear)<br />
e.g., difference between I = 0.10 and 0.11 is perceived the same as between 0.50<br />
and 0.55<br />
<br />
note the difference in relative brightness in a 3-level bulb between 50→100 watts<br />
vs. 100→150 watts<br />
<br />
Thus S = C × log(I) <strong>to</strong> produce equal steps in brightness. Calculate ratio of<br />
adjacent I levels for specified number of I values (e.g., 255) – next slide<br />
Andries van Dam<br />
<strong>Color</strong> 15/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Non-linearity of Visual System (2/4)<br />
<br />
To achieve equal steps in brightness, space logarithmically rather than linearly, so<br />
that<br />
I j+1<br />
= I j<br />
= r<br />
I j I j−1<br />
<br />
Use the following relations:<br />
I 0 = I 0 , I 1 = r ⋅ I 0 , I 2 = r ⋅ I 1 = r 2 I 0 ,<br />
I 3 = r ⋅ I 2 = r 3 I 0 , … , I 255 = r 255 ⋅ I 0 = 1<br />
<br />
Therefore:<br />
r = 1 I 0<br />
1<br />
255<br />
, Ij = r j ⋅ I 0 = 1 I 0<br />
j<br />
255<br />
⋅ I0 = I 0<br />
255−j<br />
255<br />
for 0 ≤ j ≤ 255<br />
Andries van Dam<br />
<strong>Color</strong> 16/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Non-linearity of Visual System (3/4)<br />
<br />
In general for n+1 intensities:<br />
r = 1 I 0<br />
n<br />
,<br />
1<br />
Ij = I 0<br />
n−j<br />
n , for 0 ≤ j ≤ n<br />
<br />
Thus for:<br />
n = 3 (4 intensities) and I 0 =1/8, r=2,<br />
intensity values of 1/8, 1/4, 1/2, and 1<br />
Andries van Dam<br />
<strong>Color</strong> 17/57
Brightness<br />
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Non-linearity of Visual System (4/4)<br />
<br />
But log function is based on subjective human<br />
judgments about relative brightness of various<br />
light sources in the human dynamic range<br />
<br />
Stevens’ power law approximates the<br />
subjective curve well in this range: S = c ⋅ I 0.4<br />
(or .42, for better imagery in a dark<br />
room, or .33, the value used in the CIE<br />
standard)<br />
<br />
Instead of encoding uniform steps in I in an<br />
image, better <strong>to</strong> encode roughly equal<br />
perceptual steps in S (using the power law) -<br />
called compression<br />
Idea behind encoding analog TV signals and<br />
JPEG images<br />
Intensity<br />
Andries van Dam <strong>Color</strong> 18/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Non-linearity in Screens: Gamma<br />
The intensity emitted by a CRT is proportional <strong>to</strong> 5/2 power of the applied voltage V,<br />
roughly I = k ⋅ V 5 2<br />
<br />
This exponent is often called gamma (γ), and the process of raising values <strong>to</strong> this<br />
power is known as gamma correction<br />
<br />
Gamma is a measure of the nonlinearity of a display<br />
<br />
The output is not directly proportional <strong>to</strong> the input.<br />
<br />
<br />
It is typically used <strong>to</strong> compensate for different viewing environments and <strong>to</strong> convert<br />
between media and screens.<br />
Many LCDs have a built-in ability <strong>to</strong> “fake” a certain gamma level, a black box does a<br />
lookup that simulates the CRT power law.<br />
Andries van Dam<br />
<strong>Color</strong> 19/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Gamma<br />
<br />
Example: PC moni<strong>to</strong>rs have a gamma of roughly 2.5, while Mac moni<strong>to</strong>rs have a gamma of 2.2, so Mac<br />
images appear dark on PC’s<br />
Mac user<br />
generates<br />
image<br />
PC user<br />
changes image<br />
<strong>to</strong> make it bright<br />
PC user gives<br />
image back; it’s<br />
now <strong>to</strong>o bright<br />
<br />
Problems in graphics:<br />
Need <strong>to</strong> maintain color consistency across different platforms and hardware devices (moni<strong>to</strong>r, printer, etc.)<br />
Even the same type/brand of moni<strong>to</strong>rs change gamma values over time<br />
Andries van Dam<br />
<strong>Color</strong> 20/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
High Dynamic Range (1/3)<br />
<br />
High Dynamic Range (HDR): describes<br />
images and display media that<br />
compress the visible spectrum <strong>to</strong><br />
allow for greater contrast between<br />
extreme intensities<br />
<br />
<br />
Takes advantage of nonlinearities<br />
inherent in perception and display<br />
devices <strong>to</strong> compress intensities in<br />
an intelligent fashion<br />
Allows a display <strong>to</strong> artificially<br />
depict an exaggerated contrast<br />
between the very dark and very<br />
bright<br />
http://en.wikipedia.org/wiki/High_dynamic_range_imaging<br />
Andries van Dam<br />
<strong>Color</strong> 21/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
High Dynamic Range (2/3)<br />
<br />
Can combine pho<strong>to</strong>s taken at different exposure levels in<strong>to</strong> an aggregate<br />
HDR image with more overall contrast (higher dynamic range)<br />
<br />
<br />
Generally 32-bit image format (e.g., OpenEXR or RGBE)<br />
HDR and <strong>to</strong>ne mapping are hot <strong>to</strong>pics in rendering!<br />
(source: www.hdrsoft.com)<br />
Andries van Dam<br />
<strong>Color</strong> 22/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
High Dynamic Range (3/3)<br />
<br />
<br />
<br />
To avoid the inevitable, lossy compression that occurs when squeezing a<br />
huge DR taken by a camera in<strong>to</strong>, typically, 255 discrete intensity bins, cut<br />
the DR in<strong>to</strong> n sub-intervals and encode each in<strong>to</strong> its own separate image.<br />
Then use a function <strong>to</strong> emphasize the most representative sub-interval and<br />
either clamp the values <strong>to</strong> a min and max I value or allow a little<br />
discrimination of values outside the chosen sub-interval. This function is<br />
called the <strong>to</strong>ne map.<br />
Expensive displays with many more intensity levels specially designed for<br />
HDR images produce incredibly rich images. For example, LG has developed<br />
LCD moni<strong>to</strong>rs claiming contrast ratios of 5,000,000:1!<br />
(http://www.lgsolutions.com/__downloads/pdf/eb2242t041232pr.pdf)<br />
Individually modulated LED pixels allow for true blacks, “infinite” contrast ratios<br />
Andries van Dam<br />
<strong>Color</strong> 23/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Inside a CRT<br />
Phosphor's<br />
light output<br />
decays<br />
exponentially;<br />
thus refresh at<br />
>= 60Hz<br />
Andries van Dam<br />
Cool pictures: http://www.pctechguide.com/06crtmon.htm<br />
<strong>Color</strong> Block diagram : http://www.tpub.com/neets/book18/ 24/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Inside an LCD<br />
<br />
<br />
<br />
<br />
<br />
<br />
Backlight made by LEDs and diffuser layer<br />
provides (whitish) flood lighting of entire screen<br />
Polarizer filters light, allows only certain light<br />
with desired direction <strong>to</strong> pass<br />
TFT matrix: transis<strong>to</strong>rs and capaci<strong>to</strong>rs at each<br />
pixel <strong>to</strong> change the voltage that bends the light<br />
Liquid Crystal controls direction of light, allow<br />
between 0 and 100% through second polarizer<br />
<strong>Color</strong> Filter gives each subpixel in (R,G,B) triad<br />
its color. Subpixel addressing used in antialiasing<br />
Video: http://www.youtube.com/watch?v=jiejNAUwcQ8<br />
Picture source<br />
http://www.teac.com.au/pages/howdoesanlc<br />
dwork<br />
Andries van Dam <strong>Color</strong> 25/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Color</strong> Terms<br />
<br />
<br />
<br />
<br />
<br />
Hue distinguishes among colors (e.g., red, green, purple, and yellow)<br />
Saturation refers <strong>to</strong> how pure the color is, how much white/gray is mixed with it<br />
red saturated; pink unsaturated<br />
royal blue saturated; sky blue unsaturated<br />
Pastels are less vivid and less intense<br />
Lightness: perceived achromatic intensity of reflecting object<br />
Brightness: perceived intensity of a self-luminous object, such as a light bulb, the sun,<br />
or an LCD screen<br />
Can distinguish ~7 million colors when samples placed side-by-side (JNDs – Just<br />
Noticeable Differences)<br />
With differences only in hue, differences of JND colors are 2nm in the<br />
central part of visible spectrum and10 nm at extremes – non-uniformity!<br />
About 128 fully saturated hues are distinct<br />
Eye are less discriminating for less saturated light and less sensitive for less<br />
bright light<br />
Andries van Dam<br />
<strong>Color</strong> 26/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Color</strong> Mixture<br />
The effect of (A) passing light through several filters (subtractive<br />
mixture), and (B) throwing different lights upon the same spot<br />
(additive mixture)<br />
A<br />
<br />
<strong>Color</strong> Mixing Applets<br />
Additive Mixing Applet:<br />
http://www.cs.brown.edu/explora<strong>to</strong>ries/freeSoftware/reposi<strong>to</strong>ry/edu/brown/cs/explo<br />
ra<strong>to</strong>ries/applets/colorMixing/additive_color_mixing_guide.html<br />
B<br />
Combined Mixing Applet:<br />
http://www.cs.brown.edu/explora<strong>to</strong>ries/freeSoftware/reposi<strong>to</strong>ry/edu/brown/cs/explo<br />
ra<strong>to</strong>ries/applets/combined<strong>Color</strong>Mixing/combined_color_mixing_guide.html<br />
Andries van Dam<br />
<strong>Color</strong> 27/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Subtractive Mixture<br />
Subtractive mixture occurs when<br />
mixing paints, dyes, inks, etc. that<br />
act as a filters between the viewer<br />
and the light source / reflective<br />
surface.<br />
In subtractive mixing, the light<br />
passed by two filters (or reflected<br />
by two mixed pigments) are<br />
wavelengths that are passed by<br />
the two filters<br />
On left: first filter passes 420 -<br />
520 nanometers (broad-band<br />
blue filter), while second passes<br />
480 - 660 nanometers (broadband<br />
yellow filter). Light that can<br />
pass through both is in 480 - 520<br />
nanometers, which appears green.<br />
blue<br />
green yellow red<br />
green<br />
Andries van Dam<br />
<strong>Color</strong> 28/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Additive Mixture<br />
<br />
<br />
<br />
Additive mixture occurs when color is created<br />
by mixing visible light emitted from light<br />
sources<br />
Used for computer moni<strong>to</strong>rs, televisions, etc.<br />
Light passed by two filters (or reflected by two<br />
pigments) impinges upon same region of<br />
retina.<br />
On left: pure blue and yellow filtered light on<br />
same portion of the screen, reflected upon<br />
same retinal region.<br />
Andries van Dam<br />
<strong>Color</strong> 29/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Additive Mixture in Pointillist Art<br />
The Channel at Gravelines (1890) by Georges Seurat<br />
<br />
<br />
Discrete color daubs (left image) are said <strong>to</strong> mix additively at a distance.<br />
Pointillist technique<br />
Creates bright colors where mixing(overlaying) daubs darkens (subtractive)<br />
Sondheim’s “Sunday in the Park with George” is a fantastic modern musical exploring<br />
Seurat’s color use and theories about light, color, composition.<br />
Andries van Dam<br />
<strong>Color</strong> 30/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Complementary Hues – Additive Mixture<br />
Complementary hues: Any hue will yield gray if<br />
additively mixed in correct proportion with it’s<br />
opposite hue on the color circle. Such hue pairs are<br />
complementary. Of particular importance are the<br />
pairs that contain four unique hues: red-green, blueyellow<br />
“complementary hues”<br />
<br />
<br />
These “unique” hues play a role in opponent color perception<br />
discussed later<br />
Note that only for perfect red and green do you get gray – CRT red<br />
and green both have yellow components and therefore sum <strong>to</strong><br />
yellowish gray<br />
Andries van Dam<br />
<strong>Color</strong> 31/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Color</strong> Contrast<br />
<br />
<br />
<br />
<br />
The gray patches on the blue and yellow backgrounds are physically identical, yet look different<br />
Difference in perceived brightness: patch on blue background looks brighter than one on yellow. Result<br />
of brightness contrast.<br />
Also a difference in perceived hue. Patch on blue looks yellowish, while patch on yellow looks bluish.<br />
This is color contrast: hues tend <strong>to</strong> induce their complementary colors in neighboring areas.<br />
To explore, click any Albers Plate link on: http://www.cs.brown.edu/courses/cs092/VA10/HTML/start.html<br />
Andries van Dam<br />
<strong>Color</strong> 32/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Negative Afterimage<br />
<br />
<br />
Andries van Dam<br />
Stare at center of figure for about a minute or two, then look at a blank white screen or a<br />
white piece of paper<br />
Blink once or twice; negative afterimage will appear within a few seconds showing the<br />
rose in its “correct” colors (red petals and green leaves)<br />
<strong>Color</strong> 33/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Specifying (Naming) <strong>Color</strong><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
How <strong>to</strong> refer <strong>to</strong> or name a particular color?<br />
Compare unknown and sample from a collection<br />
<strong>Color</strong>s must be viewed under a standard light<br />
source<br />
Depends on human judgment<br />
PANTONE ® Matching System<br />
in printing industry<br />
Munsell color system<br />
Set of samples in 3D space<br />
Dimensions are for: hue, lightness, and<br />
saturation<br />
Equal perceived distances<br />
between neighboring samples<br />
Artists specify color as tint, shade, <strong>to</strong>ne<br />
using pure white and black pigments<br />
Ostwald system is similar<br />
Later, we’ll look at computer-based<br />
models<br />
White Tints “Pure” color<br />
Grays<br />
Black<br />
Tones<br />
Decrease saturation<br />
Shades<br />
Decrease<br />
lightness<br />
Andries van Dam<br />
<strong>Color</strong> 34/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Psychophysics<br />
<br />
<br />
Tint, shade, and <strong>to</strong>ne: subjective and depend on observer’s judgment, lighting, sample size,<br />
context, etc<br />
<strong>Color</strong>imetry: quantitative with measurements made via spectroradiometer (measures<br />
reflected/radiated light), colorimeter (measures primary colors), etc.<br />
Perceptual term<br />
Hue<br />
Saturation<br />
Lightness (reflecting objects)<br />
Brightness (self-luminous objects)<br />
<strong>Color</strong>imetry term<br />
Dominant wavelength<br />
Excitation purity<br />
Luminance<br />
Luminance<br />
<br />
<br />
Physiology of vision, theories of perception still active research areas<br />
Note: our audi<strong>to</strong>ry and visual processing are very different!<br />
both are forms of signal processing<br />
visual processing integrates/much more affected by context<br />
more than half of our cortex devoted <strong>to</strong> vision<br />
vision probably dominant sense, though it is apparently harder <strong>to</strong> be deaf than blind<br />
Andries van Dam<br />
<strong>Color</strong> 35/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Response <strong>to</strong> Stimuli (1/3)<br />
<br />
We draw a frequency response curve like this:<br />
l)<br />
<br />
<strong>to</strong> indicate how much a pho<strong>to</strong>recep<strong>to</strong>r responds <strong>to</strong> light of uniform intensity for each wavelength<br />
To compute response <strong>to</strong> incoming band (frequency distribution) of light, like this:<br />
I l)<br />
l<br />
<br />
We multiply the curves, wavelength by wavelength, <strong>to</strong> compute recep<strong>to</strong>r response <strong>to</strong> each amount of<br />
stimulus across spectrum<br />
l<br />
Andries van Dam<br />
<strong>Color</strong> 36/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Response <strong>to</strong> Stimuli (2/3)<br />
Response Curve<br />
Incoming Light<br />
Distribution<br />
f<br />
( l )<br />
I ( l )<br />
l<br />
l<br />
Product of<br />
functions<br />
R<br />
( l )<br />
l<br />
<br />
<br />
Gray area under product curve R represents how much recep<strong>to</strong>r “sees,” i.e., <strong>to</strong>tal response <strong>to</strong> incoming light<br />
Let’s call this recep<strong>to</strong>r red. Then:<br />
red perception = R(l)d(l) = I(l)f(l)dl<br />
Response Cell Applet:<br />
http://www.cs.brown.edu/explora<strong>to</strong>ries/freeSoftware/reposi<strong>to</strong>ry/edu/brown/cs/explora<strong>to</strong>ries/applets/spectru<br />
m/single_cell_response_guide.html<br />
Andries van Dam<br />
<strong>Color</strong> 37/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Response <strong>to</strong> Stimuli (3/3)<br />
<br />
Response curve also called filter because it determines<br />
amplitude of response (i.e., perceived intensity) for each<br />
wavelength<br />
<br />
<br />
<br />
Where filter’s amplitude is large, filter lets through most of<br />
incoming signal → strong response<br />
Where filter’s amplitude is low, filters out much or all of signal →<br />
weak response<br />
Analogous <strong>to</strong> filtering that you saw in the Image Processing Unit<br />
Andries van Dam<br />
<strong>Color</strong> 38/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Metamers (1/3)<br />
Different light distributions that produce the same response<br />
Imagine a creature with one recep<strong>to</strong>r type (“red”) with response curve like this:<br />
l)<br />
<br />
How would it respond <strong>to</strong> each of these two light sources?<br />
l)<br />
l<br />
<br />
Both signals will generate same amount of “red” perception. They are metamers<br />
one recep<strong>to</strong>r type cannot give more than one color sensation (albeit with varying brightness)<br />
l<br />
Andries van Dam<br />
<strong>Color</strong> 39/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Metamers (2/3)<br />
Consider a creature with two recep<strong>to</strong>rs (R1, R2)<br />
I 1 I 2 I 1<br />
R 1 R 2<br />
<br />
<br />
Both I 1 and I 2 are processed by (convolved with) the recep<strong>to</strong>rs R 1 and R 2 <strong>to</strong> form the<br />
same product<br />
Note that in principle, an infinite number of frequency distributions can simulate the<br />
effect of I 2 , e.g., I 1<br />
<br />
in practice, near tails of response curves, amount of light required becomes impractically<br />
large<br />
Andries van Dam<br />
<strong>Color</strong> 40/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Metamers (3/3)<br />
<br />
<br />
<br />
Whenever you have at least two recep<strong>to</strong>rs, there are potentially infinite<br />
color distributions that will generate identical sensations (metamers)<br />
Conversely, no two monochromatic lights can generate identical recep<strong>to</strong>r<br />
responses - they all look unique<br />
Observations:<br />
If two people have different response curves, they will have different metamers<br />
<br />
<br />
Different people can distinguish between different colors<br />
Metamers are purely conceptual<br />
<br />
Scientific instruments can detect difference between two metameric lights<br />
Metamer Applet:<br />
http://www.cs.brown.edu/explora<strong>to</strong>ries/freeSoftware/reposi<strong>to</strong>ry/edu/brown/c<br />
s/explora<strong>to</strong>ries/applets/spectrum/metamers_guide.html<br />
Andries van Dam<br />
<strong>Color</strong> 41/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Energy Distribution and Metamers<br />
<br />
<br />
Spectral color: color evoked from single wavelength; “ROYGBIV” spectrum<br />
Non-spectral color: combination of spectral colors; can be shown as continuous<br />
spectral distribution or as discrete sum of n primaries (e.g., R, G, B); most colors<br />
are non-spectral mixtures. N.B. No finite number of primaries can produce<br />
<br />
<br />
White light spectrum where height of curve is spectral<br />
energy distribution<br />
Metamers are spectral energy distributions perceived as same “color”<br />
Each color sensation can be produced by arbitrarily large number of metamers<br />
Cannot predict average observer’s color sensation from a distribution!<br />
Andries van Dam<br />
42/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Can characterize visual effect of any spectral distribution by triple (dominant wavelength, excitation<br />
purity, luminance):<br />
Dominant wavelength: hue we see; the spike of energy e2<br />
Excitation purity: “saturation,” ratio of monochromatic light of dominant wavelength <strong>to</strong> white light<br />
Luminance: relates <strong>to</strong> <strong>to</strong>tal energy, proportional <strong>to</strong> intensity distribution ∗ eye ′ s response curve<br />
luminous efficiency function , depends on both e1 and e2.<br />
<br />
<strong>Color</strong>imetry Terms<br />
Note:<br />
<br />
<br />
Energy<br />
Density<br />
e 2<br />
e 1<br />
400<br />
Wavelength,nm 700<br />
dominant wavelength of real distribution may not be one with largest amplitude!<br />
some colors (purple) have no dominant wavelength<br />
Dominant Wavelength<br />
Idealized<br />
uniform<br />
distribution<br />
except for e 2<br />
Andries van Dam<br />
<strong>Color</strong> 43/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Three Layers of Human <strong>Color</strong> Perception - Overview<br />
<br />
<br />
<br />
Recep<strong>to</strong>rs in retina (for color matching)<br />
<br />
<br />
<br />
Rods, three types of cones (tristimulus theory)<br />
Primary colors (only three used for screen images: approximately (non-spectral) red, green,<br />
blue (RGB))<br />
Note: recep<strong>to</strong>rs each respond <strong>to</strong> wide range of frequencies, not just spectral primaries<br />
Opponent channels (for perception)<br />
<br />
<br />
<br />
Other cells in retina and neural connections in visual cortex<br />
Blue-yellow, red-green, black-white<br />
4 psychological color primaries*: red, green, blue, and yellow<br />
Opponent cells (also for perception)<br />
<br />
Spatial (context) effects, e.g., simultaneous contrast, lateral inhibition<br />
* These colors are called “psychological primaries” because each contains no perceived<br />
element of others regardless of intensity.<br />
Andries van Dam<br />
<strong>Color</strong> 44/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Recep<strong>to</strong>rs in Retina<br />
<br />
<br />
<br />
<br />
<br />
<br />
Recep<strong>to</strong>rs contain pho<strong>to</strong>pigments that produce electro-chemical response<br />
Rods (sco<strong>to</strong>pic): only see grays, work in low-light/night conditions, mostly in periphery<br />
Cones (pho<strong>to</strong>pic): respond <strong>to</strong> different wavelengths <strong>to</strong> produce color sensations, work in<br />
bright light, densely packed near center of retina (fovea), fewer in periphery<br />
Young-Helmholtz tristimulus theory 1 : 3 cone types in the eye, each of which is most<br />
sensitive <strong>to</strong> a particular range of visible light, with roughly a normal distribution<br />
Three recep<strong>to</strong>r types can produce a gamut of colors that are contained in a 3-space of hue,<br />
saturation and value (lightness/brightness)<br />
To avoid overly literal interpretation of R,G, B, perceptual psychologists often use S<br />
(short), I (intermediate), L (long) as a measure of wavelength instead<br />
1<br />
Thomas Young proposed idea of three recep<strong>to</strong>rs in 1801. Hermann von Helmholtz looked at theory from a<br />
quantitative basis in 1866. Although they did not work <strong>to</strong>gether, the theory is called the Young-Helmholtz theory<br />
since they arrived at same conclusions.<br />
Andries van Dam<br />
<strong>Color</strong> 45/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Tristimulus Theory<br />
Tristimulus theory does<br />
not explain subjective<br />
color perception, e.g., not<br />
many colors look like<br />
predictable mixtures of<br />
RGB (violet looks like red<br />
and blue, but what about<br />
yellow?)<br />
The luminous efficiency<br />
function on right is the<br />
sum of the three spectral<br />
response functions on the<br />
left and gives the <strong>to</strong>tal<br />
response of the eye <strong>to</strong> each<br />
wavelength<br />
Triple Cell Response Applet<br />
http://www.cs.brown.edu/explora<strong>to</strong>ries/freeSoftware<br />
/reposi<strong>to</strong>ry/edu/brown/cs/explora<strong>to</strong>ries/applets/spe<br />
ctrum/triple_cell_response_guide.html<br />
Spectral response functions<br />
l<br />
Luminous efficiency function<br />
Andries van Dam<br />
<strong>Color</strong> 46/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Hering’s Chromatic Opponent Channels<br />
<br />
<br />
<br />
Additional neural processing<br />
<br />
<br />
Three recep<strong>to</strong>r elements have excita<strong>to</strong>ry and inhibi<strong>to</strong>ry connections with neurons higher up that correspond <strong>to</strong><br />
opponent processes<br />
One pole is activated by excitation, the other by inhibition<br />
All colors can be described in terms of 4 “psychological color primaries” R, G, B, and Y<br />
However, a color is never reddish-greenish or bluish-yellowish: idea of two “antagonistic” opponent color channels, redgreen<br />
and yellow-blue<br />
Light of 450 nm<br />
S I L<br />
Andries van Dam<br />
Hue: Blue + Red = Violet<br />
- + + + - + + + +<br />
Y-B R-G BK-W<br />
Each channel is a weighted sum of<br />
recep<strong>to</strong>r outputs – linear mapping<br />
<strong>Color</strong> 47/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Spatially Opponent Cells<br />
<br />
<br />
<br />
Some cells in opponent channels are also spatially opponent, a type of lateral inhibition (called doubleopponent<br />
cells)<br />
Responsible for effects of simultaneous contrast and after images<br />
<br />
Plus…<br />
<br />
green stimulus in cell surround causes some red excitement in cell center, making gray square in<br />
field of green appear reddish<br />
color perception strongly influenced by context, training, etc., abnormalities such as color<br />
blindness (affects about 8% of males, 0.4% of females)<br />
Andries van Dam<br />
<strong>Color</strong> 48/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Mach Bands and Lateral Inhibition<br />
A<br />
B<br />
<br />
<br />
Mach bands: illusion in which stripes are perceived next <strong>to</strong> the boundary<br />
between two regions of an image having different lightness gradients<br />
Nature provides for contrast enhancement at boundaries between regions:<br />
edge detection. This is caused by lateral inhibition.<br />
Andries van Dam<br />
<strong>Color</strong> 49/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Lateral Inhibition and Contrast<br />
excite<br />
<br />
<br />
Lateral Inhibition: Excited cell can reduce activity of its neighbors<br />
<br />
<br />
Recep<strong>to</strong>r cells, A and B, stimulated by neighboring regions of stimulus.<br />
A receives moderate light. A’s excitation stimulates next neuron on visual<br />
chain, cell D, which transmits message <strong>to</strong>ward brain.<br />
Transmission impeded by cell B, whose intense excitation inhibits cell D.<br />
Cell D fires at reduced rate.<br />
Intensity of cell c j = I(c j ) is function of c j ’s excitation e(c j ) inhibited by<br />
its neighbors with attenuation coefficients a k that decrease with<br />
distance. Thus,<br />
I C j = e c j − a k e c k<br />
k≠j<br />
inhibit<br />
<br />
<br />
At boundary more excited cells inhibit their less excited neighbors even<br />
more and vice versa. Thus, at boundary dark areas even darker than<br />
interior dark ones, light areas are lighter than interior light ones.<br />
Nature’s edge detection<br />
Andries van Dam <strong>Color</strong> 50/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Color</strong> Matching (1/3)<br />
Need way <strong>to</strong> describe colors precisely for industry and science<br />
Tristimulus Theory makes us want <strong>to</strong> describe all visible colors in terms of three<br />
variables (<strong>to</strong> get 3D coordinate space) vs. infinite number of spectral wavelengths or<br />
special reference swatches…<br />
Choose three well-defined light colors <strong>to</strong> be the three variables/”primaries” (R, G, B)<br />
People sit in a dark room matching colors<br />
Andries van Dam<br />
<strong>Color</strong> 51/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Color</strong> Matching (2/3)<br />
<br />
<br />
But any three primaries R, G and B can’t match all visible<br />
colors (for reasons we’ll be exploring soon)<br />
Sometimes need <strong>to</strong> add/subtract some R <strong>to</strong> sample you<br />
are trying <strong>to</strong> match.<br />
0 250 20<br />
50 220 200<br />
40 0 0<br />
Try for yourself! Try matching target color with λ = 500. Impossible <strong>to</strong> do so by only adding R, G, and B:<br />
http://graphics.stanford.edu/courses/cs178/applets/colormatching.html<br />
Andries van Dam<br />
<strong>Color</strong> 52/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<strong>Color</strong> Matching (3/3)<br />
<strong>Color</strong>-matching functions, showing<br />
amounts of three primaries needed by<br />
average observer <strong>to</strong> match a color of<br />
constant luminance, for all values of<br />
dominant wavelength in visible<br />
spectrum.<br />
Note: these are NOT response functions! (and they have non-zero tails)<br />
Negative value of red f => cannot match, must “subtract,” i.e., add that amount <strong>to</strong><br />
l<br />
unknown<br />
Mixing positive amounts of arbitrary R, G, B primaries provides large color gamut, e.g.,<br />
display devices, but no device based on a finite number of primaries can show all colors!<br />
(as we’ll see, n primaries define a convex hull which can’t cover the visible gamut)<br />
Andries van Dam<br />
<strong>Color</strong> 53/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
Mathematical CIE Space for <strong>Color</strong> Matching<br />
<br />
<br />
<br />
<br />
<br />
Having <strong>to</strong> use negative amount of primaries is awkward<br />
Commission Internationale de l´Éclairage (CIE) defined mathematical X, Y, and Z primaries<br />
<strong>to</strong> replace R, G, B – can map <strong>to</strong> and from X, Y, Z <strong>to</strong> R, G, B<br />
x λ , y λ , and z λ , color matching functions for these primaries<br />
Y chosen so that y λ matches luminous efficiency function<br />
x λ , y λ , and z λ are linear combinations of r λ , g λ , and b λ<br />
=> RGB i n XYZ i conversion via a matrix<br />
X<br />
Y<br />
Z<br />
=<br />
0.412453 0.357520 0.180423<br />
0.212671 0.715160 0.072169<br />
0.019334 0.119193 0.950227<br />
R<br />
G<br />
B<br />
<strong>Color</strong> matching functions x λ y λ , and z λ defined tabularly at 1 nm<br />
intervals for samples that subtend 2° field of view on retina<br />
z λ<br />
y λ<br />
x λ<br />
l<br />
Andries van Dam<br />
<strong>Color</strong> 54/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
<br />
<br />
<br />
CIE Chromaticity Diagram (1/2)<br />
Amounts of X, Y, and Z primaries needed <strong>to</strong> match a color with spectral energy<br />
distribution P(λ) where λ is the wavelength of the equivalent monochromatic<br />
light and where k is 680 lumens/watt: X = k P(l ) x l dl<br />
Y = k P(l ) y l dl<br />
Z = k P(l ) z l dl<br />
As usual, don’t integrate but sum<br />
Get chromaticity values that depend only on dominant wavelength (hue) and<br />
saturation (purity), independent of luminous energy, for a given color, by<br />
normalizing by <strong>to</strong>tal amount of luminous energy: (X + Y + Z)<br />
X<br />
x + y + z = 1; (x,y,z) lies on X + Y + Z = 1 plane<br />
x =<br />
X + Y + Z<br />
Y<br />
y =<br />
X + Y + Z<br />
Z<br />
z =<br />
X + Y + Z<br />
Andries van Dam<br />
(x, y) determines z but cannot recover X, Y, Z from only x<br />
and y. Need one more piece of data, Y, which carries<br />
luminance data<br />
( x ,<br />
y , Y ),<br />
X<br />
= x<br />
y<br />
Y , Y = Y , Z = 1 -<br />
x -<br />
y<br />
<strong>Color</strong> 55/57<br />
y<br />
Y<br />
Several views of<br />
X + Y + Z = 1<br />
plane of CIE space<br />
Left: Solid showing gamut of all<br />
visible colors<br />
Top Right: Front View of<br />
X+Y+Z=1 Plane<br />
Bot<strong>to</strong>m Right: Projection of that<br />
Plane on<strong>to</strong> Z=0 Plane
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
CIE Chromaticity Diagram (2/2)<br />
CIE 1976 UCS chromaticity<br />
diagram from Electronic<br />
<strong>Color</strong>: The Art of <strong>Color</strong><br />
Applied <strong>to</strong> Graphic<br />
Computing by Richard B.<br />
Norman, 1990<br />
Inset: CIE 1931 chromaticity<br />
diagram<br />
Andries van Dam<br />
<strong>Color</strong> 56/57
CS123 | INTRODUCTION TO COMPUTER GRAPHICS<br />
CIE Space: International Commission on Illumination<br />
<br />
<br />
<br />
<br />
Now we have a way (specifying a color’s CIE X, Y, and Z values) <strong>to</strong> precisely<br />
characterize any color using only three variables!<br />
Very convenient! <strong>Color</strong>imeters, spectroradiometers measure X, Y, Z values.<br />
Used in many areas of industry and academia— including paint ,lighting,<br />
physics, and chemistry.<br />
International Telecommunication Union uses 1931 CIE color matching<br />
functions in their recommendations for worldwide unified colorimetry<br />
International Telecommunication Union (1998) ITU-R BT.1361<br />
WORLDWIDE UNIFIED COLORIMETRY AND RELATED CHARACTERISTICS<br />
OF FUTURE TELEVISION AND IMAGING SYSTEMS<br />
International Telecommunication Union (2000) ITU-R BT.709-4 PARAMETER<br />
VALUES FOR THE HDTV STANDARDS FOR PRODUCTION AND<br />
INTERNATIONAL PROGRAMME EXCHANGE<br />
Andries van Dam<br />
<strong>Color</strong> 57/57