Design and Implementation of an FPGA-Based Face Detection System (2012)
I developed a method to find human's skin in images using a color filter. The filtered image then filtered by a second filter to detect the face from other parts of the body.
The color filter was designed by testing about 1100 images of different skin colors. Then the mathematical model of the skin color derived from the common color space.
The system has been implemented in MATLAB.
In this project, we tried to implement a simple face detector that could be implemented on an FPGA.
The algorithm is in 4 parts. First of all getting image from the input. Then filter the image with a color filter. In the next step, we have so much smaller area of the image that could be filtered by a face-parts filter. In the end, the selected parts will be shown as the faces.
To find the color space of all faces colors, we tried about 1100 sample pictures of faces. Then we found an average color which for a simple example could be the average color of a circle at the center of the face. Then all these color samples mapped into RGB space. In this space, the range of the face color with different skin colors has been determined. Then to make the skin color filter simpler to implement, the RGB changed to HSV space. Then we applied a mask that would filter all the pixels in the image and the output would be skin colors.
You can contact me if you are interested to know how my color filter works.        Color Samples in RGB
Color Samples in HSV
Design and Implementation of an FPGA-Based Face Detection System (2012)

I developed a method to find human's skin in images using a color filter. The filtered image then filtered by a second filter to detect the face from other parts of the body.
The color filter was designed by testing about 1100 images of different skin colors. Then the mathematical model of the skin color derived from the common color space.
The system has been implemented in MATLAB.
In this project, we tried to implement a simple face detector that could be implemented on an FPGA.
The algorithm is in 4 parts. First of all getting image from the input. Then filter the image with a color filter. In the next step, we have so much smaller area of the image that could be filtered by a face-parts filter. In the end, the selected parts will be shown as the faces.
To find the color space of all faces colors, we tried about 1100 sample pictures of faces. Then we found an average color which for a simple example could be the average color of a circle at the center of the face. Then all these color samples mapped into RGB space. In this space, the range of the face color with different skin colors has been determined. Then to make the skin color filter simpler to implement, the RGB changed to HSV space. Then we applied a mask that would filter all the pixels in the image and the output would be skin colors.
You can contact me if you are interested to know how my color filter works.
Color Samples in RGB
Color Samples in HSV  