A method for skin detection and pose determination of a hand in an image, the method comprising: detecting skin pixels in the image using a multi-layer skin filter architecture, wherein each layer of the multi-layer skin filter architecture defines Gaussian Mixture Models of ellipse regions in at least a two-dimensional color space, said ellipse regions approximating skin locus of a color model in the respective color space, and each layer uses a different color space; wherein detecting the skin pixels in the image using the multi-layer skin filter architecture comprises for each pixel of the image: in each layer, determining the pixel as a skin pixel when the pixel color is inside at least one ellipse region of said layer of the multi-layer skin filter architecture; classifying the pixel as a skin pixel when it is determined as a skin pixel in every layer of the multi-layer skin filter architecture; classifying the skin pixels, using a timer based background subtraction process, into a set of foreground skin pixels and a set of background skin pixels, wherein a pixel is classified as foreground if, across several frames, a number of times the pixel color appears inside one of the mixtures is less than a threshold using a Gaussian Mixture Model in a three-dimensional RGB space and the pixel is classified as background if the number of times the pixel color appears inside the one of the mixtures in the pre-determined time exceeds the threshold; storing, for a pixel position, background mixtures in a persistent memory; determining a set of features from the set of foreground skin pixels; clustering features from the set of features to create a set of hand pose descriptors; determining a set of candidate hand pose region descriptors and a set of candidate hand pose contour descriptors that match the set of hand pose descriptors; and detecting a hand pose using the set of candidate hand pose region descriptors and the set of candidate hand pose contour descriptors. detecting skin pixels in the image using a multi-layer skin filter architecture, wherein each layer of the multi-layer skin filter architecture defines Gaussian Mixture Models of ellipse regions in at least a two-dimensional color space, said ellipse regions approximating skin locus of a color model in the respective color space, and each layer uses a different color space; wherein detecting the skin pixels in the image using the multi-layer skin filter architecture comprises for each pixel of the image: in each layer, determining the pixel as a skin pixel when the pixel color is inside at least one ellipse region of said layer of the multi-layer skin filter architecture; classifying the pixel as a skin pixel when it is determined as a skin pixel in every layer of the multi-layer skin filter architecture; classifying the skin pixels, using a timer based background subtraction process, into a set of foreground skin pixels and a set of background skin pixels, wherein a pixel is classified as foreground if, across several frames, a number of times the pixel color appears inside one of the mixtures is less than a threshold using a Gaussian Mixture Model in a three-dimensional RGB space and the pixel is classified as background if the number of times the pixel color appears inside the one of the mixtures in the pre-determined time exceeds the threshold; storing, for a pixel position, background mixtures in a persistent memory; determining a set of features from the set of foreground skin pixels; clustering features from the set of features to create a set of hand pose descriptors; determining a set of candidate hand pose region descriptors and a set of candidate hand pose contour descriptors that match the set of hand pose descriptors; and detecting a hand pose using the set of candidate hand pose region descriptors and the set of candidate hand pose contour descriptors. in each layer, determining the pixel as a skin pixel when the pixel color is inside at least one ellipse region of said layer of the multi-layer skin filter architecture; classifying the pixel as a skin pixel when it is determined as a skin pixel in every layer of the multi-layer skin filter architecture; classifying the skin pixels, using a timer based background subtraction process, into a set of foreground skin pixels and a set of background skin pixels, wherein a pixel is classified as foreground if, across several frames, a number of times the pixel color appears inside one of the mixtures is less than a threshold using a Gaussian Mixture Model in a three-dimensional RGB space and the pixel is classified as background if the number of times the pixel color appears inside the one of the mixtures in the pre-determined time exceeds the threshold; storing, for a pixel position, background mixtures in a persistent memory; determining a set of features from the set of foreground skin pixels; clustering features from the set of features to create a set of hand pose descriptors; determining a set of candidate hand pose region descriptors and a set of candidate hand pose contour descriptors that match the set of hand pose descriptors; and detecting a hand pose using the set of candidate hand pose region descriptors and the set of candidate hand pose contour descriptors.