Inspiration
Finding the right foundation shade in a store is mostly guesswork: you test a few swatches under harsh lighting and hope for the best. I wanted to see whether a photo could do that job instead.
What it does
Upload a photo, and it estimates your skin tone and recommends products from a catalog of real foundation and skincare options. The output is an actual product recommendation, not just a color.
How I built it
- MediaPipe's pre-trained face mesh locates specific facial landmarks automatically. I used the pre-trained model; I didn't train my own.
- OpenCV and NumPy sample pixel colors from several regions of the face (forehead, cheeks, nose) and calculate an estimated skin tone.
- Pandas matches that tone against a catalog of real products to produce the recommendation.
Challenges I ran into
Skin tone isn't uniform across a face, and lighting and shadow can throw off a single sample point. Sampling several known regions gave a more reliable estimate than one spot.
What I learned
How to apply a pre-trained model to a real problem: the work wasn't the detection, but the color sampling and product matching built on top of it. I also learned how much lighting affects image-based results.
Log in or sign up for Devpost to join the conversation.