# Real-Time Facial Emotion Recognition Framework for Employees of Organizations Using Raspberry-Pi
## 4 Experimental Results  
The detailed results are shown in this section. We have divided the entire architecture to carry out two main tasks. The first task of face recognition has achieved an accuracy of 100%, as all the faces that were trained are recognized correctly, as open face has provided near-human accuracy [20] on the LFW benchmark. So, we have used it and implemented it in real time video with the help of the Raspberry-Pi 3 B+ model. We have used Python with OpenCV and with the help of Pi-Cam we acquired the live video and recognize the faces in those live videos. The proposed framework can locate multiple faces in the frames but is able to recognize only those that are already trained and present in the dataset. Face recognition has given correct results even with different objects like spectacles. We have installed the setup along with the biometric attendance area so that, at the time of punching in and punching out, the expression on the faces of employees can be recorded and, after collecting the data of the fortnight, the recorded faces with names and recognized expressions can be analysed. This analysis can be useful to recognize the consistent behavior of the employees in private organizations. For example, an employee with a constant sad or disgusted expression on his face can be identified and can be reported to a happiness cell or psychological support cell for helping such employees and making them feel good and comfortable in the workplace. The hardware setup of the proposed system is shown in Figure 8.  
The comaparison with various models is shown in Table 3 and specifications of the system are given in Table 4, and the detailed algorithm is explained in Algorithm 1 and Algorithm 2. After detecting the face in real time, the cropped and pre-processed image is given to the pre-trained deep network which is trained on the FER 2013 dataset using Python and Keras. The results after classification are shown in the confusion matrix, as shown in the Table 5. Several misclassifications have been found as \"disgust\" is misclassified as \"Angry\". From the dataset one can easily locate that the count of disgusted faces in the dataset is least 547. This simply indicates that the number of features that the network has been trained to classify as a disgusted face is less compared to other classes. Hence, the misclassification took place. Figure 10: Graphical representation of training. The total number of parameters for which the network has been trained is 2,134,407. When tested on real time video, 110 out of 120 images with expressions are recognized correctly. Figure 10 is the graphical representation of model accuracy and Figure 12 is the graphical representation of model loss. Figure 11 shows the real time face recognition result. Table 3 shows the comparison of available models. \begin{table}
\begin{tabular}{c c c c} \hline \hline \multicolumn{2}{c}{**Name**} & \multicolumn{2}{c}{**Configuration**} \\ \hline \multicolumn{2}{c}{Imaging Libraries} & \multicolumn{2}{c}{OpenCV 2.4.11, imutils, dlib v18.16,} \\ \multicolumn{2}{c}{Scikit-Learn, Scikit-Image, OpenFace} \\ \hline \multicolumn{2}{c}{Libraries} & \multicolumn{2}{c}{Matplotlib, RPLGPIO, Numpy, SciPy, PyLab,} \\ \hline \multicolumn{2}{c}{Programming Languages} & \multicolumn{2}{c}{Python 2.7} \\ \hline \multicolumn{2}{c}{Operating System} & \multicolumn{2}{c}{NOOBS} \\ \hline \hline \end{tabular}
\end{table} 
Table 4: System configuration. Figure 11: Face recognition result in real-time (**a**) without spectacles (**b**) with spectacles.