- Use k-NN classifier, use the Fitzpatrick Scale color ranges for the training.
- Calculate Average color of Skin (its easy detect non_black pixels in image and average them). Use k-NN to detect skin type.
- You can do the clustering by using same method of averaging the then doing K-Means for each sample image.
Skin type classification and clustering
1 次查看(过去 30 天)
显示 更早的评论
Hi,
i was asked to try and classify skin types according to Fitzpatrick Scale. As a first attempt, i tried doing the following:
1) Collecting L*a*b* samples (actually only the a and b components) from skin patches of different people (collectSamples.m script) 2) Finding a Gaussian Mixture Model of 6 (number of skin types) components using the EM algorithm (training.m script) 3) Given a certain skin image as input, color it according to which clusters its a*b* samples fall into and set the dominant skin type as the id of the most used color cluster (findSkinTones() function).
Fitzpatrick scale takes into consideration other things besides color, but for the moment i'd be happy to distinguish between different color clusters. I almost never programmed in Matlab before so the code is very crude (besides being unfinished).
I'm having the following problems:
a) The clusters i get from EM seem unreasonable when plotted; b) When i try to color/cluster a given input skin image portions of the background seem to be colored too, although they should not.
P.s. I was also thinking that a better strategy could be using entropy and average color features to train a support vector machine or neural network. What do you think?
0 个评论
回答(1 个)
Rushikesh Tade
2015-6-26
Hi Adriano,
Try doing this:
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!