Transcript Color

Color
What is Color?
• Color is merely a concept, something we “see”
within our minds
– It’s interpretation involves both physics and biology
– How would you describe the color “red” to a blind
person?
• Clearly, it plays a useful role in everyday life
• Thus, building a mathematical description of color
may also prove useful
Color is Complex
• “Standard” mathematical models began in the
early 20th century and have evolved (and evolved,
and evolved…)
• Confusion arises in that the early standards are not
discarded as the evolution takes place
– Today, “old” and “new” standards live side by side
• Thus, when discussing color the first thing the
participants must agree upon is the standard in
which they are basing their discussion
The Standards
• Based on a tristimulus system of additive
primaries
• Tristimulus – three
primary colors
• Additive – all other
colors can be created
by adding different
proportions of the
primaries
Preliminaries
Tristimulus, Additive Primaries
• Red, Green, and Blue primaries were agreed upon
based on a normal human visual system
• A normal visual system consists of the eyes and
sections of the brain, all operating properly
– Color blindness is due to a deficiency in one type of
cone – very common in males
• Red and green receptor genes are carried on the X
chromosome, and these are the ones that typically go wrong
• Women need two bad X chromosomes to have a deficiency,
which is less likely
The Eye
The Retina
• The retina contains two types of light sensors
– Rods that are highly sensitive to light and provide us
with “night vision”
• Located primarily in the outer (non-foveal) region of the retina
– Cones that are highly sensitive to color and provide us
with “color vision”
• Located primarily in the central (foveal) region of the retina
• Are adaptive to ambient light
• Are susceptible to optical illusions
• Color illusion
The Retina
• There are 3 types of cones contained within the retina
– Red-sensitive (long)
– Green-sensitive (medium)
– Blue-sensitive (short)
Cone Sensitivity
(probable)
The Visual System
• Once the eye has sensed the color it is up to
the brain to interpret it
• This is where things get very complex and
relatively little is known about the actual
inner-workings
The Visual System
So What?
• With what we know (or think we know)
about the visual system, we now try to
develop useful models to support the more
mundane tasks of everyday life
The Standards
Standard Observers
• To set a standard a
group of people were
shown color patches of
a given size and asked
“what colors they saw”
– Match color by
adjusting primaries
• Results were averaged
and thus the standards
were created
Standard Observers
• 1931 (2°) and 1964 (10°) standard observers
The Color Spaces
Mathematical Descriptions of Color
CIE Color Spaces
• Used primarily for matching/comparing colors
• Various different forms of charts
• Charts were made using “standard observers”
– Groups of people with “normal” color vision
– Ties wavelengths to colors
– Can specify coordinates to compensate for monitor
characteristics
• There are numerous versions of the CIE color
space based on differing observer parameters and
differing basis standards
XYZ Color Space
(the grand-daddy of them all)
• Combine
– Known illuminant
– Colors on known (non-reflective) material
– Standard observer
– The result is a tristimulus space for describing colors
– XYZ cannot be visualized directly
xyY Color Space
(the first offspring)
• Since there’s no good way to visualize the XYZ color
space…
• The xyY space is a normalized (projected) version of XYZ
– x and y correspond to normalized X and Y respectively (projected
onto a plane where the RGB cube is mapped to XYZ space)
– The luminance (black/white level) is lost in the normalization
process so Y (which is luminance and not the same Y as in XYZ
space) in xyY is also computed from XYZ
– z is not needed since the normalization process constrains x + y + z
=1
xyY Color Space
(well, one of them anyway)
Planckian (blackbody)
Locus
Monochromatic
(saturated)
Colors
Monitor
Gamut
Single Wave
Lengths
(400nm to 780 nm)
Line of Purples
(not monochromatic)
Mixed Wave
Lengths
xyY Color Space
• Pro
– We can visualize the XYZ standard
– We can visualize the proximity of one color to
another
• Con
– The space is non-uniform so we cannot use it to
compare colors
Other Useful Color Spaces
• What do we know?
– Color spaces should be tristimulus
– XYZ and xyY are not very intuitive
– We need something to suit our [varied] needs
• So, we invent new color spaces
RGB Color Space
• RGB is a linear color
space
– Pure red, green, and
blue are the basis
vectors for the space
– Useful for cameras,
monitors, and related
manipulations (of light)
Gray (black
to white) axis
Black
White
RGB Color Space
Back Surfaces
Front Surfaces
RGB Operations
• Color mixing is performed by vector addition
and subtraction operations
– Adding/subtracting colors is the same as
adding/subtracting vectors (with clamping at 0)
red + green = yellow
RGB Operations
• Increasing or decreasing luminance is
performed by scalar multiplication
– Same as scalar multiplication of vectors (with
clamping at some maximum)
yellow * 2 = brighter yellow
RGB Operations
• A word of caution…
• Operations must be clamped…
– …at 0 to make sure components don’t go negative
– …at some pre-specified maximum to ensure display
compatibility
• Scaling down from a value greater than the
allowed maximum can be performed but care must
be taken
– Bright colors may end up less bright than other colors
in the scene
– The answer is to scale ALL colors in the scene which
can be expensive
RGB Color Space
Red
Green
RGB
Blue
RGB Color Space
• Pro
– Very intuitive and easy to manipulate when generating
colors
– Works well with hardware (light related)
• Con
– Very unintuitive when it comes to comparing colors
• Consider the Euclidian distance between red and green and
between green and blue
– Bad for some applications
Luminance-Chrominance Color
Spaces (there are many)
• Luminance channel
– Corresponds to the black and white signal of a color
television
• Two chrominance channels
– Red and blue
– Correspond to the color signal that “rides” on top of the
black and white signal of a color television
• Various forms
– YUV, YIQ, YCbCr, YPbPr…
Luminance-Chrominance Color
Spaces (there are many)
• Luminance is a square wave
• Chrominance is a sine wave (modulation) on top
of the square wave
Luminance-Chrominance Color
Spaces (there are many)
• Simple conversion from RGB and YPbPr
 .299 .587 .114   R 
 .168  .331 .500  G  

 
 .500  .418  .081  B 
Y
P P
b
r
• And from YPbPr to RGB
1.000 0.000 1.402   Y 
1.000  0.344  0.714    R G

  Pb 
1.000 1.772
0.000   Pr 
B
Luminance-Chrominance Color
Spaces
Luminance
Chrominance
Blue
RGB
Chrominance
Red
Luminance-Chrominance Color
Spaces
• Pro
– Separate high frequency components from low frequency
components
– Easy to compute (fast in hardware)
– Facilitates image compression (JPEG, MPEG)
– Good for various applications (e.g. face detection, shadow
detection…)
• Con
– Not very intuitive
– Requires signed, floating point (or scaled) representation
– Multiple forms causes confusion (e.g. people regularly confuse
YCbCr with YUV)
Luminance-Chrominance Color
Spaces
• Note that there are various different
matrices for these conversions
– Based on different needs
– Be careful about the one you select
• Chrominance channels are +/- so to display
you must translate and scale
Compression
(uses for luminance/chrominance)
• Trade-off between the amount of data and the
quality of the picture
– Throw away as much data as possible without
degrading the picture
– JPEG, MPEG, …
JPEG/MPEG
• The edge/structure detail is contained in the
luminance channel
– This is referred to as “high frequency” data
• The color information is in the chrominance
channels which are lacking edges/structure
detail
– These are referred to as “low frequency” data
Color Image (RGB)
Y Channel (high frequency)
Cb Channel (low frequency)
Cr Channel (low frequency)
Subsampling
• By subsampling we achieve a 2:1 compression
without doing any “work”
– This is the default mode for MPEG
– The default mode for JPEG is to subsample in 1
dimension only so it’s 3:2 compression without
doing any “work”
• The decompressed image still looks good
because of the low frequency nature of the
chrominance channels
Subsample Cb and Cr (mpeg mode)
MPEG/JPEG
• There’s a lot more processing involved but
they’re not specific to the chosen color
space
Cyan-Magenta-Yellow-blacK
• Used in printing
• Colored pigments (inks) remove color from
incident light that is reflected off of the
paper
• CMYK is a subtractive set of primaries
– K (Black) is not actually necessary but is added
for practical printing applications
• CMYK is a linear color space
Cyan-Magenta-Yellow-blacK
Cyan
Magenta
RGB
Yellow
Black
Cyan-Magenta-Yellow-blacK
• Pro
– Good for printing (as long as you include the K
ink)
• Con
– Difficult to convert from RGB to CMYK as it
is not a simple subtraction from white if high
accuracy is required
Hue/Saturation/Lightness
• Also Hue/Saturation/Value or
Hue/Saturation/Intensity
• Suitable to processing images for “human
consumption” (viewing)
– Easy to make colors more “vibrant” (and other
features that we can name but can’t really
describe)
– Used in artistic endeavors
Hue/Saturation/Lightness
• Hue is the pure color content
– Corresponds to the edges of the RGB cube
• Saturation is the intensity of color
– The faces of the RGB cube are fully-saturated
• Lightness is the brightness of the color
– Ranges from black to white
Hue/Saturation/Lightness
• Mapping the RGB cube to a hex-cone
Hue/Saturation/Lightness
Hue
Saturation
RGB
Lightness
Hue/Saturation/Lightness
• Pro
– Captures the “human” qualities of color
• Con
– Difficult to describe
– Difficult to compute
L*a*b* Color Space
• While convenient for various reasons, the previous
color spaces are not great for comparing colors
– Most attempts treat the colors as a 3-vector and try to do
some modified Euclidian distance measure and some sort
of clustering algorithm
– But, the color spaces are non-uniform
• La*b* is a uniform color space
– A small perturbation in a color component is equally
perceptible across the entire range
L*a*b* Color Space
L*
a*
RGB
b*
L*a*b* Color Space
• Pro
– Uniform space
– Colors can be compared [accurately] using the Euclidian
distance formula
• Con
– Not very intuitive
– Not easy to convert from/to RGB
• Requires knowledge of a reference white
• Requires computation of cube-roots
Summary
• Color is complex
• The human visual system is complex and
very good at processing light
• Together they comprise a system that we
aren’t even close to understanding but
utilize very effectively