C++ Demo - Facial Expression Recognition #233
Merged
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
This Pull Request introduces a C++ demo for utilizing and visualizing the Facial Expression Recognition (FER) model requested in issue #135 . The changes include:
demo.cpp: This file contains the demo implementation, featuring a classYuNetfor face detection (adapted fromface_detection_yunet/demo.cppto create a stand-alone demo) and a classFERfor preprocessing and inference with the Facial Expression Recognition model.CMakeLists.txt: The related CMakeLists file necessary for building the program.README.md: The README file has been updated to include information about this new demo.The demo offers two modes of inference: real-time using the camera or processing a static image.
The coding style in
demo.cppaligns with the conventions used in other demos and follows the structure of the correspondingdemo.py. Notably, I opted to utilize theestimateAffine2Dfunction from the OpenCV library instead of reimplementing a similar mechanism, as was done in the Python version.Testing
The program has been tested both with a single person and with multiple people at the same time.
Here are some screenshots:
Single Person from the cam
Multi-person from static image
Build & Run