The client faced the challenge of accurately detecting and analyzing facial features in real-time. They needed a solution that could handle variations in face orientation, and lighting conditions and provide robust face recognition and validation capabilities. Additionally, they required extracting various facial features such as age, gender, emotions, and other attributes.
The SmartCat team addressed the problem by developing Facelyzr, an image-processing application utilizing deep learning frameworks such as TensorFlow and Keras. The solution involved four main components:
- Camera with Camera Handler: Collects frames from the camera and sends them for further processing.
- Face Detection: Implemented two approaches – OpenCV’s built-in solution for faster processing and a neural network-based solution for higher accuracy and robustness.
- Image Preprocessing and Service Client: Prepares the input images by cropping, scaling, and rotating the faces for neural network input. The Service Client sends the processed images to the Age/Gender service to obtain results for each face.
- Age/Gender Service: A C++ optimized neural network wrapped in a gRPC service, which predicts the age and gender of the person in the image.
The unique value brought by SmartCat in this situation was the combination of robust face detection, accurate face recognition and validation, and the ability to extract various facial features from the images.
The outcomes of the solution were highly accurate facial detection and analysis in real time. Key metrics and quantifiable results include:
- Face detection achieved high accuracy with robustness to changes like rotation and viewpoint.
- Face recognition and validation accurately matched persons in the database and confirmed if the person in front of the camera matched the person in the photo.
- Age and gender prediction provided accurate results, enabling automatic determination of gender and age group without the need for manual input.
The system could be easily expanded to detect additional features such as emotions, hairstyle, hair color, glasses, beard, and jewelry.
About the Clients
The clients for the Facelyzr project belong to various industries and sectors where facial analysis, recognition, and validation are essential. The solution caters to organizations requiring image processing capabilities for security upgrades, automatic check-ins, age/gender estimation, and facial feature detection.
- Deep learning frameworks: TensorFlow and Keras
- OpenCV for fast face detection
- Python for application development
- C++ for optimized neural network and gRPC service
- SQLAlchemy for database communication
- REST API for communication between client applications and the server