Color2Gray: Salience-Preserving Color Removal Amy Gooch Sven Olsen Jack Tumblin Bruce Gooch...
-
Upload
gerald-edmund-york -
Category
Documents
-
view
220 -
download
4
Transcript of Color2Gray: Salience-Preserving Color Removal Amy Gooch Sven Olsen Jack Tumblin Bruce Gooch...
Color2Gray: Salience-Preserving Color Removal
Color2Gray: Salience-Preserving Color Removal
Amy GoochSven Olsen
Jack TumblinBruce Gooch
Northwestern University
Color
Grayscale
New Algorithm
Color SpaceColor Space
Volume of displayable CIE L*a*b* Colors
Isoluminant ColorsIsoluminant Colors
Color Grayscale
Converting to Grayscale…Converting to Grayscale…
• In Color Space
– Linear
– Nonlinear
• In Image Space
– Pixels (RGB)
• Using colors in the image
• Different gray for different color
– Relative difference
• Using colors in the image and their position in image space
• Colors can map to same gray…..
CIE CAM 97 Photoshop LAB
CIE XYZ YCrCb
Traditional Methods: Luminance ChannelsTraditional Methods: Luminance Channels
Problem can not be solved by simply switching to a different space
Simple Linear MappingSimple Linear Mapping
Luminance Axis
Principal Component Analysis (PCA)Principal Component Analysis (PCA)
Luminance Axis
Contemporaneous ResearchContemporaneous Research
• Rasche et al. [2005, IEEE CG&A and EG]
Color Image Luminance Only Rasche et al.'s Method
GoalsGoals
• Dimensionality Reduction
– From tristimulus values to single channel
Loss of information
• Maintain salient features in color image
– Human perception
Challenge 1:Influence of neighboring pixelsChallenge 1:Influence of neighboring pixels
Challenge 2:Dimension and Size ReductionChallenge 2:Dimension and Size Reduction
-120, -120
120, 120
0
100
Original
Challenge 3:Many Color2Gray SolutionsChallenge 3:Many Color2Gray Solutions
.
.
.
Algorithm IntuitionAlgorithm Intuition
color2gray
1 2
L1 L2
i = 1, j = 2luminance
Look at C
L1 + L2
L1 + L2 + 2,1
L1 L2 + 2,1
L1 L2
L1 L2
Look at C
Algorithm OverviewAlgorithm Overview
• Adjust g to incorporate both luminance and chrominance differences
ij
• For every pixel
– Compute Luminance distance
– Compute Chrominance distance
• Initialize image, g, with L channel
• Convert to Perceptually Uniform Space
– CIE L*a*b*
Color2Grey AlgorithmColor2Grey Algorithm
Optimization:
min (gi - gj) - i,j
i j=i-
i+
ParametersParameters
Map chromatic difference to increases or decreases in luminance values
Max chrominance offset
Radius of neighboring pixels
= 2 = 16 = entire image
= 300o
= 10
= 49o
= 10
: Neighborhood Size: Neighborhood Size
: Neighborhood Size: Neighborhood Size
= 16 = entire image
: Chromatic variation maps to luminance variation: Chromatic variation maps to luminance variation
= 5 = 10 = 25
crunch(x) = * tanh(x/)
• Luminance Distance:
Problem: ||Cij|| is unsigned
Lij = Li - Lj
Perceptual DistancePerceptual Distance
• Chrominance Distance: ||Cij||
C2
C1
Map chromatic difference to increases or decreases in luminance values
Color Space
+b*
+a*-a*
C1,2
v
sign(||Ci,j||) = sign(Ci,j . v)
Color Difference
Space
v = (cos , sin )
+b*
+a*-a*
-
-
+
+
-b*
Photoshop Grayscale= 225
= 45
Grayscale
= 45= 135
= 0
How to CombineChrominance and LuminanceHow to CombineChrominance and Luminance
ij (Luminance) Lij
How to CombineChrominance and LuminanceHow to CombineChrominance and Luminance
ij
Lij
||Cij||
(Luminance) if |Lij| > ||Cij||
(Chrominance)
How to CombineChrominance and LuminanceHow to CombineChrominance and Luminance
ij
Lij
crunch(||Cij||)
if |Lij| > crunch(||Cij||)
crunch(x) = * tanh(x/)
.
.
.
How to CombineChrominance and LuminanceHow to CombineChrominance and Luminance
ij
Lij
crunch(||Cij||) if Cij . ≥ 0
if |Lij| > crunch(||Cij||)
crunch(-||Cij||) otherwise
Grayscale
Color2Grey AlgorithmColor2Grey Algorithm
Optimization:
min (gi - gj) - i,j
j=i-
If ij == L then ideal image is gOtherwise, selectively modulated by Cij
i
i+
Original Color2GrayPhotoshop
Gray
ResultsResults
Color2Gray+ Color
Original PhotoshopGray Color2GrayColor2Gray+Color
Original Photoshop Gray Color2Gray
Original PhotoshopGrey Color2Grey
Implementation PerformanceImplementation Performance
• Image of size S x S
– O(2 S2) or O(S4) for full neighborhood case
• 12.7s 100x100 image
• 65.6s 150x150 image
• 204.0s 200x200 image
– GPU implementation
• O(S2) ideal, really O(S3)
– 2.8s 100x100
– 9.7s 150x150
– 25.7s 200x200
Athlon 64 3200 CPU
NVIDIA GeForce GT6800
Future WorkFuture Work
• Animations/Video
• Faster
– Multiscale
• Smarter
– Remove need to specify
– Image complexity measures
Validate "Salience Preserving"Validate "Salience Preserving"
Original PhotoshopGrey Color2Grey
Validate "Salience Preserving"Validate "Salience Preserving"
Original PhotoshopGray Color2Gray
Thank youThank you
• SIGGRAPH Reviewers
• NSF
• Helen and Robert J. Piros Fellowship
• Northwestern Graphics Group
• MidGraph2004 Participants
– especially Feng Liu
• (sorry I spelled your name wrong in the acknowledgements)
www.color2gray.info
Original Color2Gray Color2Gray+Color
Original Color2Gray Color2Gray+Color
Original Color2Gray Color2Gray+Color
Original Photoshop Gray Color2Gray
Original Color2Gray Color2Gray+Color
Original Photoshop Gray Color2Gray
Original Color2Gray Color2Gray+Color
Photoshop Grayscale
Photoshop Grayscale
Photoshop Grayscale
Rasche et al.
Photoshop Grayscale
Rasche et al.
Photoshop Grayscale
Rasche et al.
Parameter Parameter
= 5 = 15 = 25 = 35 = 45
= 55 = 65 = 75 = 85 = 95