This project is based on the scientific paper:
Jones, M.J., Rehg, J.M.: Statistical color models with application to skin detection. IJCV 46(1), 81-96 (2002)
Basicaly, it uses Gaussian Mixture Models to separate the foreground model (in this case the skin) from the background model (everything else). To perform this task we utilize the OpenCV MoG implementation to train the models, but due to the missing feature of loading and saving the models, we created our own saving and loading operations and the test function.
To select which pixels are skin and which are not, we used a RGB-D camera and threshold the image in 3 dimensions, giving only the hand in our case as the foreground. Also, we tried the LAB space as well as the RGB color space for the training and testing of our images. This change of color space was suggested in the paper, but not tested in that moment.
We obtain quite positive results and the project is freely available here.