Luminous Landscape Forum
Raw & Post Processing, Printing => Digital Image Processing => Topic started by: Redcrown on April 19, 2012, 01:14:43 am
-
I'm doing some testing (again) on various saturation methods in Photoshop. I noticed that when I use the LAB method to add a "flat" curve to the A and B channels, in some cases one of the resulting RGB values will be zero.
This confuses me. Normally, a zero value means clipping and clipping is a bad thing. But the results look OK.
For example, here are the starting and ending RGB values for a few test patches. These values are from the Info Pallet while still in LAB mode.
76/191/191 becomes 0/204/228
84/153/153 becomes 0/168/178
27/38/38 becomes 0/42/44
The test patches were created with the same Hue but different values of Saturation and Brightness. That's why the Green and Blue starting values are equal. The Red values go to zero. If I change the Hue to something else, the same thing will happen but in another channel. Either Green or Blue will go to zero. Even on a patch with all different starting RGB values, some will go to zero. I can't understand the pattern.
This happens at even very slight increases in saturation, but the stronger the sat increase, more RGB values go to zero.
So, is this a bad thing, having a result with a lot of zeros scattered about in the RGB values?
-
I'm doing some testing (again) on various saturation methods in Photoshop. I noticed that when I use the LAB method to add a "flat" curve to the A and B channels, in some cases one of the resulting RGB values will be zero.
[...]
So, is this a bad thing, having a result with a lot of zeros scattered about in the RGB values?
Hi,
Just a small word of warning, the mere conversion to and from Lab will introduce a color shift. This will be exaggerated by boosting the saturation in Lab.
For example, assuming ProPhoto RGB as your workingspace, mathematically RGB [76, 192, 192] translates to Lab [73, -94, -14] in rounded integer values. Translating that back to RGB gives [75.76, 190.04, 189.65] (before rounding, to better show the direction of the shift). After rounding to 8-bit precision there is only a small difference, but you can see a pattern (a darker pixel, with a reddish color shift). How important that shift is, given that you are changing the saturation alltogether, is up to the user to decide. However, it is something to be aware of, transcoding to and from other colorspaces is not without side-effects.
In the same vein, zero's are improbable in real life scenes mapped to colormodels, but you are creating an altered impression of reality anyway. They do signal a probably lost accuracy, because 0 might as well be too high mathematically (but we cannot have negative coordinates), so you have created a non-existing 'color' outside of the RGB gamut hull, which is clipped to fit the colormodel. Conclusion, you've probably gone a bit overboard with the saturation boost, but you may like the altered reality better than the original.
Creating out-of-gamut colors is something that a 'vibrance' control typically tries to avoid, in contrast to a regular saturation control.
Cheers,
Bart
-
I don't understand what you mean by "adding s flat curve to the A and B channels". The normal way of increasing saturation in a neutral manner using LAB is to make linear inward shifts of the A and B curves on both axis equally, i.e. making sure both pass through 0. That way you increase saturation without introducing new hue bias.
All that said, why bother - there are more efficient, non-destructive, reversible ways of dealing with saturation/vibrance adjustments in RGB mode in Lightroom, ACR and Photoshop.
-
Bart, thanks for the response. I'm aware of the issues involved with conversions to LAB and back to RGB, having studied most of what Margulis and others have published. Over the years I've logged at least 5 ways to do saturation adjustments, combined with 3 or 4 different ways to make saturation masks, combined with blending mode tricks.
I've recently been revisiting these combination and trying to make a more comprehensive comparison and analysis, and sort out the best of the best. In doing so, I'm trying to push each method to it's limits where something bad happens. Bad like exceeding gamut, compressing tones so detail is lost, or clipping values.
I'm stuck trying to find a "fair" way to compare the LAB method to other RGB methods, because some of these bad things appear to occur very early in LAB sat increases, before much increased saturation is acheived. The clipped (zero) RGB values I see in some tests is just one example of that. Margulis makes the "pro" case for using LAB, I'm trying to understand the "cons", but in a reasonable and defensible test.
Mark, my use of "flat" to describe the AB sat curves in LAB is the same as your "linear inward shifts." I've seen "flat" used often by others, so I followed their lead.
-
Whether in RGB mode or LAB mode, one can clip values if pushing a hue and/or saturation command too far. In LAB mode, if you simply want a linear increase in overall Saturation, you don't need to use curves. You can use the PS Hue/sat tool and when increasing or decreasing overall saturation, this tool will use a linear multiplier to all a* and b* values. So, for example, if using a +50 value on the sat slider, a 0a,0b pixel will remain 0a, 0b, but a 10a,10b pixel will go to 15a, 15b (i.e both a and b boosted 50%). A -50 value will result in 5a and 5b. At some point if you push saturation values into values that are out of gamut (and perhaps even imaginary, i.e, colors the human eye can't see) then when returning to an RGB colorspace, they can indeed be clipped. But that outcome is no different than whacking them hard while staying in RGB mode. The difference is that in LAB the multiplier works linearly in a visually linear color space, while in RGB mode, linear RGB value increases/decreases aren't as perceptually linear so some visual distortions will take place depending on the RGB color model in use (i.e., some colors shifting in both hue and saturation more than others even when only the saturation slider is being changed) . All that said, much of this is an academic exercise since most photoshop users fly by "visual feedback" only meaning that they don't look at numbers, they just look at the visual changes taking place on their monitor. Where both RGB and LAB numbers in the info tool get very powerful is when you use them to make very subtle adjustments and to make sure you are not pushing things too far such that what you see on the screen is no longer representative of the color actually encoded in the adjusted file.
cheers,
Mark
http://www.aardenburg-imaging.com
-
Mark, I think this sums it up beautifully. Supplemental: How often have you found yourself using the Lab colour model for making saturation adjustments to your images, and if so, what were the considerations?
-
The difference is that in LAB the multiplier works linearly in a visually linear color space, while in RGB mode, linear RGB value increases/decreases aren't as perceptually linear so some visual distortions will take place depending on the RGB color model in use (i.e., some colors shifting in both hue and saturation more than others even when only the saturation slider is being changed) .
And if you make the moves initially in RGB, you can have both by fading using luminosity, or a bit in-between using that and opacity. If you do this in Lab, you’re ‘stuck’ with one approach (not to mention the time it takes for two color space conversions but the data loss that might result).
All that said, much of this is an academic exercise since most photoshop users fly by "visual feedback" only meaning that they don't look at numbers, they just look at the visual changes taking place on their monitor.
Yup. And again, in RGB, you can do this with a bit more control (more visual options0 using blend modes.
-
Mark, I think this sums it up beautifully. Supplemental: How often have you found yourself using the Lab colour model for making saturation adjustments to your images, and if so, what were the considerations?
Notwithstanding that Dan Margulis's book "Photoshop LAB Color: The Canyon Conundrum and Other Adventures in the Most Powerful ColorSpace" has a prominent spot on my library bookshelf, I do most of my edits in RGB. However, I rely very heavily on the LAB values which can be monitored in the PS info tool, especially when setting critical highlights before going to print, and also when perfecting skin tone values. When you take some time to learn LAB aimpoints for key image qualities like where a diffuse highlight or natural skintone is best placed in the image, then you can prep with confidence on any profiled printer. Ideal RGB aimpoints vary by colorspace, LAB values do not. Also, LAB numbers can serve as proof positive if a print service provider sends you a print that is off in color balance and then tries to blame it on you. If appropriate LAB values for neutrals, skin tones, etc. are associated via the embedded profile within the image file (even the lowly sRGB file), then the reproduction errors clearly rest with the print provider. It's as simple as that.
Regrettably, only PS but not Lightroom gives us access to LAB number values. Another feature I really wish Adobe would finally give us in PS and also in Lightroom is a "proof color" option expressed in LAB values for the info tool. Right now, the proof color option in the PS info tool relays only the source file's RGB or CMYK colorspace numbers converted to output. I want to see the output LAB values dynamically posted. As of today, one has to convert to output profile, then switch to LAB using Absolute color rendering to see the predicted print values expressed in LAB.
best,
Mark
-
Ideal RGB aimpoints vary by colorspace, LAB values do not.
True but you can do the same with a single RGB color space. In LR, using percentages in MelissaRGB for skin works just like Lab, you just need to get hip to the ratio’s. The example below is a starting guide:
http://digitaldog.net/files/LR_Skintone_Ratio.jpg
And I think it is much easier for new users to learn the percentage scale than Lab. Lab isn’t all that intuitive.
Or you could setup ProPhoto in the soft proof and just use that as your guide and within Photoshop after you render and encode into that space.
Now this ancient idea of using CMYK (instead of Lab or an RGB working space you select) needs to go the way of the dodo bird.
-
Notwithstanding that Dan Margulis's book "Photoshop LAB Color: The Canyon Conundrum and Other Adventures in the Most Powerful ColorSpace" has a prominent spot on my library bookshelf, I do most of my edits in RGB. However, I rely very heavily on the LAB values which can be monitored in the PS info tool, especially when setting critical highlights before going to print, and also when perfecting skin tone values. When you take some time to learn LAB aimpoints for key image qualities like where a diffuse highlight or natural skintone is best placed in the image, then you can prep with confidence on any profiled printer. Ideal RGB aimpoints vary by colorspace, LAB values do not. Also, LAB numbers can serve as proof positive if a print service provider sends you a print that is off in color balance and then tries to blame it on you. If appropriate LAB values for neutrals, skin tones, etc. are associated via the embedded profile within the image file (even the lowly sRGB file), then the reproduction errors clearly rest with the print provider. It's as simple as that.
Regrettably, only PS but not Lightroom gives us access to LAB number values. Another feature I really wish Adobe would finally give us in PS and also in Lightroom is a "proof color" option expressed in LAB values for the info tool. Right now, the proof color option in the PS info tool relays only the source file's RGB or CMYK colorspace numbers converted to output. I want to see the output LAB values dynamically posted. As of today, one has to convert to output profile, then switch to LAB using Absolute color rendering to see the predicted print values expressed in LAB.
best,
Mark
Mark, very much so - I find Lab the easiest way to navigate what's happening to my colours and I use it as the secondary read-out in Photoshop. I too regret that it is not available in Lightroom and I have recommended that they provide it. It's dead-easy to evaluate the existence and nature of casts using a* b* values, and it provides excellent guidance about the extent of colour rebalancing that may be needed to say the Green and Blue Curves in RGB colour space because those curves work on the basis of opponent colours very much like the a and b channels in Lab do; but I work only in RGB mode. So yes, very good for measurement purposes and suffers all the issue Andrew raises about using it as a colour editing mode. I should mention that SilverFast Ai Studio also provides Lab measurement capability in its Densitometer and in the read-outs for its Neutral balancing tool. I don't think it's difficult to get one's head around it - all depends on how it's explained and whether users want to get used to it.
-
And I think it is much easier for new users to learn the percentage scale than Lab.
much easier to deal w/ 2 numbers than w/ 3 numbers.
-
True but you can do the same with a single RGB color space. In LR, using percentages in MelissaRGB for skin works just like Lab, you just need to get hip to the ratio’s. The example below is a starting guide:
http://digitaldog.net/files/LR_Skintone_Ratio.jpg
And I think it is much easier for new users to learn the percentage scale than Lab. Lab isn’t all that intuitive.
LAB isn't really taught much to photographers. So, it's at a real disadvantage in terms of people taking the time to become familiar with it, but if one does take the time to master it, it's definitely more universally applicable to making careful image edits guided/verified by numbers. Melissa RGB uses an sRGB gamma curve, so required RGB percentages in shadows will be different than those needed to achieve similar hue and chroma in mid tone or highlight areas. This situation ultimately makes a perceptually linear colorspace like LAB much easier to interpret across the full tone scale, IMHO, at least for me. :)
cheers,
Mark
-
much easier to deal w/ 2 numbers than w/ 3 numbers.
Look at this way: if you want to understand your colours in RGB, RGB bundles Luminance, Chroma and Hue into one number per channel for three channels. So you need to look at 3 numbers and you also need to remember that the higher the numbers the brighter the colours, and that a value is only neutral if R=G=B.. If you want to understand hue and saturation in Lab, all you need to look at are 2 numbers: a* and b*, and if both are zero the hue is Gray. Then if you're interested in Luminance, you see its explicit value separately - no guessing, no disentangling. To my mind, this is much simpler - once my mind embraced the concept.
-
much easier to deal w/ 2 numbers than w/ 3 numbers.
Depends on the numbers. And the user. Negative numbers are not necessarily intuitive even if there are only two.
-
Depends on the numbers. And the user. Negative numbers are not necessarily intuitive even if there are only two.
Yes, and it depends on how the user is trained to think. If you think of negative as symbolizing "cool" and positive as symbolizing "warm", and you relate that to our other training that blues and greens are "cool" colours and reds and yellows "warm" colours, one doesn't think of minus signs, but of cool or warm, and that helps our visual perception of what's going on in our images. A minus sign just becomes a trigger of another concept.
-
Depends on the numbers. And the user. Negative numbers are not necessarily intuitive even if there are only two.
so do you have proper skin tones w/ negative a or b in lab in your examples ?
-
Yes, and it depends on how the user is trained to think. If you think of negative as symbolizing "cool" and positive as symbolizing "warm", and you relate that to our other training that blues and greens are "cool" colours and reds and yellows "warm" colours, one doesn't think of minus signs, but of cool or warm, and that helps our visual perception of what's going on in our images. A minus sign just becomes a trigger of another concept.
a beauty of it
(http://img256.imageshack.us/img256/6753/60687437548906126044o.jpg)
-
I suggest you open Photoshop, set your secondary info display to Lab mode, open a few photos that have varying skin tones, pass your eyedropper over the skin tones and observe the a* and b* colour values. You'll get the hang of it.
-
OK, you got the hang of it!
-
Yes, and it depends on how the user is trained to think.
Absolutely. Some find the metric system confusing after being raised on the US standard system yet the later seems far less intuitive numerically. It is what you are brought up with.
If you think of negative as symbolizing "cool" and positive as symbolizing "warm", and you relate that to our other training that blues and greens are "cool" colours and reds and yellows "warm" colours, one doesn't think of minus signs, but of cool or warm, and that helps our visual perception of what's going on in our images. A minus sign just becomes a trigger of another concept.
An excellent analogy and approach!
-
so do you have proper skin tones w/ negative a or b in lab in your examples ?
You can keep the data in RGB and just set the info for Lab. Looking over most of the good skin tone reference files I have, including the Roman 16*, aStar and bStar are often numerically very close and never more than 15 values difference. In Photoshop, this is a good bet. In Lightroom and ACR, you’ll have to use RGB ratio’s (no Lab readouts). Normal skin has values for A and B which are both positive (greater than 0).
The trick using any scale is to gather skin tone’s of images you know are good to begin with and just keep an eye on any output scale. The Roman’s are good but there are all kinds of excellent reference images for download you can find. As you output your own and see they produce good results, just keep a collection on hand. At some point, you can just view them next to the image you want to work on an steer the corrections visually without even dealing with numbers of you want.
-
You can keep the data in RGB and just set the info for Lab. Looking over most of the good skin tone reference files I have, including the Roman 16*, aStar and bStar are often numerically very close and never more than 15 values difference. In Photoshop, this is a good bet. In Lightroom and ACR, you’ll have to use RGB ratio’s (no Lab readouts). Normal skin has values for A and B which are both positive (greater than 0).
The trick using any scale is to gather skin tone’s of images you know are good to begin with and just keep an eye on any output scale. The Roman’s are good but there are all kinds of excellent reference images for download you can find. As you output your own and see they produce good results, just keep a collection on hand. At some point, you can just view them next to the image you want to work on an steer the corrections visually without even dealing with numbers of you want.
but we are going back to the point that a, b separated from L still better (or similar HS (L, V, B) ) and more logical (even w/ negative values which are very logical as diagram shows) than r, g, b :) , more so for skin tones... http://www.cs.rutgers.edu/~elgammal/pub/skin.pdf - look how neat things are in Lab and how ugly they are in RGB ::)
-
Thanks to all for some great responses to my original question. Thanks in particular to Messrs. McCormick-Goodhart and Segal. Your comments have both enlightened and confused me, and I appreciate both states. Makes me think.
Watching LAB values while working on skin tones in RGB mode is a new idea for me, and after a little practice I find it very intuitive. I've seen Mr. Rodney's argument against using CMYK and in favor of using RGB percentages in other forum threads, but I must admit I've never been able to adopt that mentality. The fact that LAB values stay consistent regardless of the RGB and CMYK working space seems a big advantage.
In hopes of "cutting to the chase", I'd like to ask what methods you actually use to increase saturation. As I mentioned before, I've learned several different methods, and continue to play with them. My experience has been that my preference is often image dependent. I'll prefer one method on a particular image, but then a different method on the next image. That's why I've been revisiting the saturation issue, trying to understand why that is. Trying to underestand how and why the methods vary depending on the hue, saturation, and brightness of the starting values.
Here are my methods, all in Photoshop. Would appreciate comments, critiques, alternatives.
METHOD 0: I use a saturation mask on all the methods below. I've learned several ways to generate saturation masks, and they vary widely. I use the old HBS/HSL filter to make my masks. Also, with each method I turn on soft proofing and gamut warning. Then I increase the saturation until the first gamut warning appears. Then I decrease from there to my personal taste. For my soft proof, I set the printer/paper combination I am most likely to use. Saturation adjustments are always the last step in my workflow. I don't do saturation (or vibrance) adjustments in the raw converter, because I can't use sat masks there, and until CS6 I could not soft proof there.
METHOD 1: The plain old Hue/Sat adjustment layer. Mostly discounted by "experts", but I still use it as a reference check.
METHOD 2: A Channel Mixer adjustment layer, with fairly strong boosts in each channel, then reduced with opacity. Example, I set the red channel to 190, green and blue to -45, and so on.
METHOD 3: The basic Margulis LAB method. I make a dupe of the document, flatten, convert to LAB, apply the "flat" or "linear inward shift" Curves adjustment (with sat mask and soft proof in place). Then flatten that and copy it back to the original as a new layer. I understand that when the LAB image is copied back to the original RGB image it goes through a profile conversion which further modifies color values. Usually, I will put a copy of the original RGB image in Hue blending mode on top of the LAB layer to counteract the Hue shift that occurs in LAB.
METHOD 4: Perform a separation of Luminosity from Color, creating two layers, one in Luminosity mode, one in Color Mode. Then apply (clip) an S-Curve adjustment to the color layer. This is a unique method I learned from a German that goes by the name of "JoansW" and "DerW" in the ModelMahem and RetouchPro forums. I have not seen it discussed much by others.
-
Hi "Redcrown" - glad to have been a source of both help and confusion - not surprisingly they can co-exist.
So much depends on the needs of the image. Most of the images I process don't need much tinkering with saturation, so because my needs are limited and pretty simple, so are the techniques I use. Most of my work starts life in Lightroom, and I find most often that a modest boost of the Vibrance slider does what I need. It's "smart saturation", because it's programmed to be mindful of skin tones and already saturated colours. If I need more than that in specific colour groups, I'll scroll down the panels and do some additional tweaking to selected colour groups in the "S" section of the HSL panel. Now with LR4 that we have softproofing (hurrah), we can predict the impact of these adjustments on the eventual print. This is pretty cool, to say the least. I can readily see when I may be taking saturation of any colour too far - it's either when it looks artificial or when image detail within that colour group starts to get smothered - then you know it's overdone. I'm sure all this sounds very boring, but why make one's image editing life more challenging than it needs to be? Such straightforward, effective time-saving tools have been put at our disposition - we should take full advantage of them first, before getting into the sexier stuff. My 2 cents.
-
I like to use Tony Kuyper's saturation masking technique:
http://goodlight.us/writing/saturationmasks/satmask-1.html
Regards, Filip
BTW - on my index page you can find nine photographs created in combination of working in ProPhotoRGB/LAB colour spaces & Tony's technique:
http://shotworldwide.com
-
I’ve used a similar saturation mask in Photoshop (one place where duplicating the image in CMYK and using the K channel simply to use as a mask in the RGB image) such that you can add saturation outside of darker shadow areas. I’d love to see Vibrance take a similar but optional approach. You’d tell it, to ‘protect’ the shadows or darker regions in upping saturation like it does now with skin. But far better, and a request I’ve made to Adobe for about 15 years or more is a Saturation Curve! I had one in LinoColor and loved it. You could adjust saturation over the tone range using curves. The idea has been around for a very long time but the only application I ever saw it was LinoColor which is long gone.
-
Saturation curve? It sounds interesting and it would be nice to have an opportunity to try it out …
With Tony's technique you are able to desaturate same tones and then reach and saturate tones you would't be able to even touch with usual approach.
Regards, Filip
-------------------------
http://shotworldwide.com
-
Margulis rarely if ever uses the LAB curve method discussed above without controlling the effect in some way. Masking, whether through channel blending, luminosity maps, or the blend if sliders, is an important part of the techniques presented in Dan's books.
-
I've created a video demo of the techniques I've discussed here. It's available on YouTube at:
http://www.youtube.com/watch?v=Fh7Ta-Dz6_c
It's in HD, so go to 1080p and full screen if you can.
I also uploaded the original raw file used in the demo at:
http://dl.dropbox.com/u/62166185/sattest.dng
Hoping to generate more discussion, critique of the methods I'm using, and ideas on how to better analyze the results and compare the methods.