|
|
|
|
|
by raarky
4481 days ago
|
|
Nice. I'm building something similar in my spare time. It performs multi-color image searching on street wear. You can select a bunch of colors and adjust the ratios. Here's a very early in-development version.
http://www.inthatstyle.com/womens?colors=73a1d3,e84b34&ratio... (I'm a little worried about posting that on HN since it's unoptimized and will probably crash.) I'm currently working on skin detection & exclusion during the color detection phase and am looking at using basic machine learning techniques. The key challenge I'm facing is differences in skin tones. |
|
Try looking at the chromatic colour rather than the RGB values. You can get extremely far with just this, most skin colours fall into one of two peaks [0], no machine learning needed.
Once you've got this, edge detection & a few other bits should give you pretty reliable skin blocks. I've used it a few times before. Here's a presentation I did some years ago that I apparently still have on my desktop: http://files.figshare.com/1409002/1.pdf [1]
[0] http://www-cs-students.stanford.edu/~robles/ee368/skincolor....
[1] Calvert, Ian (2014): Finger pointing detection. figshare. http://dx.doi.org/10.6084/m9.figshare.953171
EDIT - I'm sure there are many good approaches for this, and many fancy ones. This is very simple and was researched/written purely for fun in a couple of weeks.
EDIT 2 - The final slide shows the more interesting part, where you use edge detectors to guide your estimation of what is inside or outside a shape. That plus an adaptive threshold (designed to stop if the number of pixels included jumped rapidly) got some good results, but I've not got the code any more.