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: