Color2Gray: Salience-Preserving Color Removal Amy Gooch Sven Olsen Jack Tumblin Bruce Gooch...

Post on 18-Dec-2015

220 views 4 download

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