Description
Two algorithms for determining geometric properties of facial features have been explored via MatLab and FPGA implementation. The location of fourteen different facial features have been extracted. These include the boundaries of the iris, and the location of the eye corners for both eyes and the mouth corners. Eye features have been extracted using a variance projection function in combination with a corner detecting mask. For mouth feature extraction, a modified SUSAN edge detector along with an image erosion module have been used. The algorithms have been able to find features in 85% of a select set of images. The selection criteria are described. An important aspect of the work is that the algorithms are scale independent. Both the eye corner and the mouth corner algorithms have been implemented in MatLab and VHDL. An Altera DE2 with Cyclone II FPGA has been used for the hardware implementation of the algorithms. The maximum operating frequency for the eye detection module is 122.22 MHz whereas the maximum frequency for the mouth module is 100.57 MHz. The DE2 board, which has a system clock of 50 MHz available for the cyclone II FPGA, processes an eye image in 0.04 msec and the mouth image in 0.06 msec. When both algorithms are combined, all 14 feature points are output after 0.12 msec. The Cyclone II FPGA, which has 33,216 elements, is occupied at 44% when the eye module is downloaded, while the mouth module leads to 61% resource utilization when downloaded to the FPGA.