Face detection and tracking has been an important and active research field because it
offers many applications, especially in video surveillance, biometrics, or video coding. The
goal of this project was to implement a real-time system on an FPGA board to detect and
track a human’s face. The face detection algorithm involved color-based skin segmentation
and image filtering. The face location was determined by calculating the centroid of the
detected region. A software version of the algorithm was independently implemented and
tested on still pictures in MATLAB. Although the transition from MATLAB to Verilog was not
as smooth as expected, experimental results proved the accuracy and effectiveness of the
real-time system, even under varying conditions of lights, facial poses and skin colors. All
calculation of the hardware implementation was done in real time with minimal
computational effort, thus suitable for power-limited applications.
Full report (pdf)
Setop showing one face being tracked with the face-pixel centroid marked by a red square.