Facial Expression Recognition System Using a Neural Network and Simulation on FPGA
Payam Zarbakhsh, Noorbakhsh Amiri Golilarz, Umar Ozgunalp · 2020
The objective of the proposed algorithm is to recognize facial expressions from digital images. There are specific and predefined features of the image that need to be extracted to detect facial expressions. As an example, 21 points can be identified in the human face that changes as a result of emotional states. Also by following these feature points, facial expressions can be detected. In this paper, the MLP neural network is employed to classify facial expressions. Moreover, edge detection is used to find and disassemble facial parts. After designing an accurate algorithm, it is modeled using MATLAB programing for an FPGA chip by hardware description language VHDL. Face images have been preprocessed in few steps including binary image conversion and noise elimination. Then, feature extraction has been performed on images, and eight features have been selected. A neural network was then designed with eight neurons in the input layer, seven neurons in the hidden layer, and six neurons in the output layer. To test and quantify the results, the JAFFE dataset has been used. By performing different simulations, we observe that the average accuracies of the proposed algorithm in MATLAB and Quartus for facial expression recognition are 91.76% and 86.67% respectively.