Vectorscope skin tone indicator and other improvements

Vectorscope is an essential tool for color correction and more for skin retouch among other things.
I was reading some post about how to adjust skin tones using color zones module

But one thing is missing in the vectorscope, the skin tone indicator.

Recently I saw a great video of @aurelienpierre https://www.youtube.com/watch?v=Kqfo3h4Dbe8 and loved the way he retouched the skin using the color balance rgb, I thing this improvement to the vectorscope will be a great addition to accomplish great results.

This is an example of selection in the histogram that may help to illustrate this topic. Maybe the color picker should have the option of isolate colors of an image, similar to restrict histogram to selection, but with the difference of hide all but selected colors, useful to select skin tones with a range or a feather.

omni-scope-masking-gif-2

Will be useful specially in skin retouch the “show skin tone indicator” like the DaVinci vectorscope.

I recreated a similar vectorscope using inkscape but this is only a representation, because the actual vectorsope had a lot of work by developers.

Vectorscope_03.zip

vectorscope_03

The detach option (histogram, vectorscope and waveform) to creating a floating windows over the screen will be a plus. I know is a huge work and need the general ok by developers, but will gave the plus of using in horizontal or vertical, chose 1, 2, and/or 3 different representations, and transparency levels over image, if detach works, left more room for modules and mask options in the right panel. Maybe even the option of move the vectorscope, histogram and wavefrom to a second display like the second darkroom preview. But this like other things regarding the UI needs discussion by devs.


Maybe in a future we will see things like this in upcoming darktable releases. Anyway is amazing the work done by a few developers.

1 Like

“Skin” is an ethnically-defined object, so not sure I want to go there.

What I’m not sure about is what it would bring to isolate skin hues. I mean, you know beforhand that they are going to sit around low-chroma red-ish verging on the orangy side. Then what ? The final word goes to the image preview, what benefit is there in seeing exactly where the skin tone sits in the vectorscope ?

4 Likes

What about a reference line you can set yourself?

3 Likes

There are I & Q axis that in some vectorscopes appears. And they can be taken as reference for the skin

No… nonono… Not really. No. Really. People are different enough that thin line indicator in hue misses majority of people.

Beter way as Thanatomatic suggested - lines you could set yourself.

There’s an FR here: RFC: Allow histogram module to be duplicated · Issue #9138 · darktable-org/darktable · GitHub
Now if you could jump there and post an answer to question in RFC: Allow histogram module to be duplicated · Issue #9138 · darktable-org/darktable · GitHub as to “WHY” and not “HOW” then we could work towards a better UI via solving core issue and not necessarily implementing design…

That COULD be a separate feature… One that could be useful in generating masks displays I think or isolating image display similar to what color balance rgb masks tab can do… Can you do a FR for that? (hmmm… I think i’ve seen one like that, but i’d have to dig through issues… or maybe i’m misremembering)

btw: key takeaway here: “arbitrary skin tone indicator is a NONO” :stuck_out_tongue:

1 Like

A reference line would be a nice assist for shot matching once you arrive at your desired skin tone or other hue matching edit

1 Like

Another case for self-setting of reference lines!

Just need to get that into an fr so @dtorop will see it :slight_smile:

Ya it may actually be something I brought up in comments around one of the PR’s I’ll have to go back and check

But even with a self-setting hue line… what does it bring feature-wise ? You arbitrarily decide where good skin tones sit, and then what ? Is that yet-another-case of “painting by numbers” ?

@aurelienpierre I understand your point “Skin” is an ethnically-defined object, so not sure I want to go there. But I saw this video for DaVinci and makes me analyze this from another perspective.

This is part of the Darktable: Colour Zones Module, natural skin tones preset.

ClaesSupporter

Oct '20

@hanatos

W-e-l-l… yes, and no.

For the last few weeks, I have been studying color grading à la da Vinci Resolve.
They offer a clever approach, irrespective of where your model was born.
Here is a good presentation:

How Come The Vectorscope Doesn’t Differentiate Skin Tones? DaVinci Resolve 16

Have fun!
Claes in Lund, Sweden

The actual vectorscope pointing me colors more or less accurate to the skin tone idea.
Like this, so I must check if colors are in range or not.

2 Likes

To clarify this a bit: There are at least two types of Melanin contributing to skin color, Eumelanin and Pheomelanin (Wiki) in addition to the known two colors of blood (O rich and CO_2 rich) which are usually close in terms of hue-angle. So skin-color is at least a 4-hue-angle thing.

The one ‘indicator line’ can only come close to reality, it’s highly likely that by taking that indicator as gospel you introduce inadvertently a bias, no one wants that. To discuss the (im)practicality of four indicator lines would be another thing, but would also require quite good spectroscopy data to even come up with the exact hue-angles. A skintone range of colors on a vectorscope tends to be so broad that I don’t think it would serve a purpose.

In addition there are studies suggesting that different viewers are sensitive differently to those hues. What looks right to you or the indicator line/range might not be what other people see even in controlled conditions with high color accuracy.

I agree that getting skin-color right(looking real/correct) on a display is very important, but the risk of people using the feature wrong could have massive repercussions (rightly so!). Calibrated displays, color-checkers-on-set and excellent camera profiles should have IMHO a much higher impact on getting skin-tones right than that skin-indicator line.

Remember: Film/TV/Broadcast has calibrated everything already in place before the data is displayed on a vectorscope.

1 Like

A clever approach to what ? Standardizing skin tones ? I don’t understand the end goal here. Is it to make all skin look like some arbitrary acceptation of healthy skin ?

I have never looked at hues diagrams to edit skins and I find the whole idea appalling. You don’t need a graph to show you if skin looks good or not, you have a preview and eyes.

Also I feel we are mixing description and prescription. The Da Vinci guy shows that all retouched skins happen to have the same hue. Ok, that might be his editing taste, dunno. How does that translate to “all skin should have the same hue” ? Because you find something happens most of the time doesn’t automatically imply you should make it happen all the time.

It will be a sad day when we start editing pictures with a hue swatch books to match every standard color…

1 Like

I agree with this. However, a configurable line might still be very helpful for matching different shots in general, not specifically related to skin tones.

3 Likes

I think it was for a series of similar shots so you would have consistent tones in the series…

Outside of skin tones as well. Say you were shooting cars or some product and you wanted to keep color consistent across the shots it would be useful

Ok, ensuring consistent look over a series is the whole point of the vectorscope (mostly used to color-match different clips in video).

2 Likes

There may be a way to tie it in to the color picker in a similar way that you now add live targets maybe there is a way to add the possibility to integrate the selection of a static one in the vector scope when you select within that interface to leverage as much existing code and data…or of course there is a more elegant solution I suppose…

I vote for a userdefined line or region; also, the option to change overlays. No need to judge the user: just allow them some flexibility. (It is another story for those who complain because they don’t know what they are doing and encounter a problem because of it.)

2 Likes

You get a reference dot now for a color picker selection in the vectorscope. Maybe you could click that dot and have the option to set a reference line mapped to that point created by the color picker??

This guy made a simple and clear explanation about how to read and understand the vectorscope, it will be helpful. I think the skin line indicator must be something like a guide, others may prefer a range of where the skin tone should be. If users like to work with it, fine, if don’t, equally fine, but they will have the choice in their hands, not the lack of it. Even an option of isolate the colors to have more control.

Anyway if devs are working in improvements maybe there will be an option of show or hide the skin/range indicator among other visual utility indicators.