Question about skin detection filter in GMI'C

(Boris Hajdukovic) #1

Hi David,

I’m using your great skin detection filter in GMIC quite extensively because it offers quick and easy way to isolate skin parts from photo for further processing.

In most of the cases it works very well but sometimes I need to use manual estimation and apply it on different parts of the skin (for example to select light and shadow areas or if I need to select skin from group of the people with slightly different skin tones). In that case I need to repeat that process for each part and merge all skin detection layers together.

Is it possible to enhance skin detection filter to have that multiple selection option as f.e. multiple manual estimations or - similar to extract foreground filter - with green and red points as help to differentiate skin tones from background?

(David Tschumperlé) #2

Hi Boris,

Your post made think about implementing a new interactive filter for color masking, and I’m happy to say that a first version is available for testing, maybe you could tell me if that is working well for skin masking ?

(Boris Hajdukovic) #3

OMG! First , I watched your video, then I made coffee and watched your video again 20 times because it was pure joy! :smiley:

And I asked myself, how did you know what I was dreaming about colour selection tool? Yes, yes yes! That’s it!

Only one suggestion - it would be good to have possibility to select one or more areas of photo first and than apply colour masking on that area(s) to avoid selection of colours from objects with same or similar colours that you don’t need (f.e. if I only want to select colours from the door of your car in video and leave the rest of the car transparent).

But that is not so important. Your new filter works great!

And you have one big hot chocolate from me!
Thanks a lot, David!

(David Tschumperlé) #4

Thanks Boris for the kind words and the hot chocolate.
(I’ve sent you a mail on your gmail address).

About the improvement of the selection : I guess I could do some more work to add a criterion about the fact the image pixels are far or near pixels that have been clicked, and use this information to create spatial/color masking at the same time. I’ll think about it tonight :slight_smile:

(Boris Hajdukovic) #5

Cool. If you find some solution for spatial colour masking, that will be best colour selection tool ever!



This filter is too hot for my computer. :sweat_smile:
So I can’t test it properly.

Please also mention you need at least 16 cores or something like that.

(but I think it works, tank you David for all work done! :hearts::coffee:)

(David Tschumperlé) #7

If the filter is too slow on your machine, just try to reduce the window size, it helps having a faster estimation of the color mask. I’ll try to optimize that filter, but I can’t promise anything at this point.

(Dario) #8

@David_Tschumperle this is MAGIC
Absolutely great!

(David Tschumperlé) #9

Adding spatial constraints has took me a lot of my (low) brain power last night, but I think I’ve finally found an acceptable solution. I’ve thus updated the filter to make it sensible also to the region clicked by the user.
I’ve recorded a new video (see below), where the role of the spatial constraint is clearly visible (at least at the beginning of the process).
Let me know if that works for you !
Now, I have to think of a way to optimize the whole stuff, as it seems it’s a bit slow on computer with less than 8 cores :grin:

Any feedback appreciated !


Wow, this is genious.

(Boris Hajdukovic) #11

Wow David, that was quick! And your solution works!

I need to test it a bit more, to see what can be achieved with that nice filter.

I noticed one problem that the end result is not the same as on preview window:

I’ll test it later a bit more to see is there some other issues. But filter works great so far.

Thank you again!

(David Tschumperlé) #12

Hello Boris, I’ve noticed exactly the same problem, so yes, this needs to be fixed ASAP.
I’ll tell you when I’ve found what is going on !

(David Tschumperlé) #13

Should be working nown after a filter update !

(Boris Hajdukovic) #14

Nice it works! :thumbsup:
Now is time to play with it extensively!

(David Tschumperlé) #15

I have some ideas to make it even more robust and useful in the future (multi-color selection for instance).
I’ll probably work on it in the next days, I’ll give you news if there are new features appearing.

(Boris Hajdukovic) #16

Cool! Thank you a lot!
But don’t forget - you need some sleep to. :wink: