Building an adaptive skin classifier is quite some work.
I've seen some examples on the net. The good ones are not real time and the ones that are simply don't cut it.
A small lighting variation, a slightly complex background and the classifier is lost.
Many examples I've seen use hard coded variables. That is obviously wrong.
I've also seen many that use the RGB color space which is also wrong.
I strongly recommend the HSV color space because it is slightly more lighting invariant or at least normalized RGB.
I also recommend using more features than the color channels. You also have to experiment with different bin sizes in order to get real time performance.
I recently found out that arithmetic accuracy is also important because of all the normalization operations.
During segmentation is important to postpone thresholding because of the mass loss of information. I prefer using the probability map during tracking and later threshold to extract the contours.
I've seen some examples on the net. The good ones are not real time and the ones that are simply don't cut it.
A small lighting variation, a slightly complex background and the classifier is lost.
Many examples I've seen use hard coded variables. That is obviously wrong.
I've also seen many that use the RGB color space which is also wrong.
I strongly recommend the HSV color space because it is slightly more lighting invariant or at least normalized RGB.
I also recommend using more features than the color channels. You also have to experiment with different bin sizes in order to get real time performance.
I recently found out that arithmetic accuracy is also important because of all the normalization operations.
During segmentation is important to postpone thresholding because of the mass loss of information. I prefer using the probability map during tracking and later threshold to extract the contours.