570 likes | 581 Views
This research presents a new method for converting color images to grayscale while preserving salient features. Unlike traditional methods, this algorithm considers both luminance and chrominance differences in the conversion process, resulting in enhanced image quality and maintaining important color details. Using a perceptually uniform space and optimization techniques, the algorithm efficiently maps colors to grayscale values. Future work aims to improve speed and versatility for applications in multimedia and image processing.
E N D
Color2Gray: Salience-Preserving Color Removal Amy Gooch Sven Olsen Jack Tumblin Bruce Gooch
Grayscale Color New Algorithm
Problem Volume of displayable CIE L*a*b* Colors
Isoluminant Colors Color 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…..
Traditional Methods: Luminance Channels Problem can not be solved by simply switching to a different space CIE CAM 97 Photoshop LAB CIE XYZ YCrCb
Photoshop Grayscale Traditional Methods • Contrast enhancement & Gamma Correction • Doesn’t help with isoluminant values PSGray + Auto Contrast New Algorithm
Simple Linear Mapping Luminance Axis
Luminance Axis Principal Component Analysis (PCA)
Problem with PCA Worst case: Isoluminant Colorwheel
Contemporaneous Research • Rasche et al. [2005, IEEE CG&A and EG] Color Image Luminance Only Rasche et al.'s Method
Goals • Dimensionality Reduction • From tristimulus values to single channel Loss of information • Maintain salient features in color image • Human perception
Relative differences Color Illusion by Lotto and Purves http://www.lottolab.org
Challenge 2:Dimension and Size Reduction 120, 120 100 0 -120, -120
Challenge 3:Many Color2Gray Solutions Original . . .
color2gray For first pixel L1 + e1,2 L2 1 2 L1 + e1,2 L2 + e2,1 For Nth pixel L2 + e2,1 L1 L1 L1 L1 L2 L2 L2 Algorithm Intuition Look at DC . . . i = 1, j = 2 luminance Look at DC
Algorithm Overview • Convert to Perceptually Uniform Space • CIE L*a*b* • Adjust g to incorporate both luminance and chrominance differences • Initialize image, g, with L channel • For every pixel • Compute Luminance distance • Compute Chrominance distance dij
Color2Grey Algorithm Optimization: minSS ( (gi - gj) - di,j)2 i+m i j=i-m
Parameters Map chromatic difference to increases or decreases in luminance values m : Radius of neighboring pixels a : Max chrominance offset q :
m : Neighborhood Size • = 300o a = 10 m = 2 m = 16 • = entire image • = 49o a = 10
m : Neighborhood Size m = 16 • = entire image
a: Chromatic variation maps to luminance variation a -a crunch(x) = a * tanh(x/a) a = 5 a = 10 a = 25
Perceptual Distance DLij = Li - Lj • Luminance Distance: • Chrominance Distance: ||DCij|| Problem: ||DCij|| is unsigned
Map chromatic difference to increases or decreases in luminance values +b* C2 -a* +a* Color Space C1
+Db* Color Difference Space +DC1,2 vq= (cos q, sin q) + - vq q -Da* +Da* + - sign(||DCi,j||) = sign(DCi,j .vq ) -Db*
q = 45 q = 225 Photoshop Grayscale
q = 135 q = 45 q = 0 Grayscale
How to CombineChrominance and Luminance dij = DLij (Luminance)
How to CombineChrominance and Luminance (Luminance) if |DLij| > ||DCij|| DLij dij = ||DCij|| (Chrominance)
120, 120 100 a -a crunch(x) = a * tanh(x/a) 0 -120, -120 How to CombineChrominance and Luminance DLij if |DLij| > crunch(||DCij||) d (a)ij = crunch(||DCij||)
Grayscale . . . How to CombineChrominance and Luminance DLij if |DLij| > crunch(||DCij||) d(a,q)ij = if DCij . nq ≥ 0 crunch(||DCij||) otherwise crunch(-||DCij||)
Color2Grey Algorithm Optimization: minSS ( (gi - gj) - di,j)2 i+m i j=i-m If dij == DL then ideal image is g Otherwise, selectively modulated by DCij
Color2Grey + Color Results Photoshop Grey Original Color2Grey
Original PhotoshopGrey Color2Grey Color2Grey+Color
Original PhotoshopGrey Color2Grey
Original PhotoshopGrey Color2Grey
Implementation Performance • Image of size S x S • O(m2 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 Work • Faster • Multiscale • Animations/Video • Smarter • Remove need to specify q • New optimization function designed to match both signed and unsigned difference terms • Image complexity measures
Validate "Salience Preserving" Original PhotoshopGrey Color2Grey Apply Contrast Attention model by Ma and Zhang 2003
Validate "Salience Preserving" Original PhotoshopGrey Color2Grey
Thank you www.color2gray.info • 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)
Original Color2Grey Color2Grey+Color
Original Color2Grey Color2Grey+Color
Color2Grey Original Color2Grey+Color
Original PhotoshopGrey Color2Grey
Original Color2Grey Color2Grey+Color
Original PhotoshopGrey Color2Grey