Software Architecture
The software is written entirely in Python 3.11, using a modular object-oriented approach. The system consists of the following main modules:
A full code listing is provided in Appendix A.
Image Processing and Analysis
Skin Region Segmentation
The system uses MediaPipe’s FaceMesh to locate over 468 facial landmarks. Specific regions (cheeks, T-zone, eye bags, etc.) are defined using index lists and mapped into polygons.
Wrinkle Detection
Wrinkle detection is based on Gabor filters applied to the grayscale image. Regions with high frequency and eccentricity are extracted via thresholding and region props analysis. The final wrinkle count is calculated from skeletonized features.
Skin Condition Metrics
Augmented Reality Makeup Rendering
Makeup effects are rendered by identifying facial regions using landmarks and applying semi-transparent color masks: