App / app.py
RICHERGIRL's picture
Update app.py
1782b9a verified
Raw
History Blame
1.12 kB
import gradio as gr
import cv2
import numpy as np
import joblib
from utils import extract_features # Your feature extraction logic
# Load model and encoders
model = joblib.load("model/random_forest.pkl")
label_encoders = joblib.load("model/label_encoders.pkl")
def recommend_mask(image):
# Extract face shape, skin tone, face size from image
face_shape, skin_tone, face_size = extract_features(image)
# Label encode features
face_encoded = label_encoders["face_shape"].transform([face_shape])[0]
skin_encoded = label_encoders["skin_tone"].transform([skin_tone])[0]
size_encoded = label_encoders["face_size"].transform([face_size])[0]
# Predict mask style
prediction = model.predict([[face_encoded, skin_encoded, size_encoded]])[0]
return prediction
# Gradio Interface
demo = gr.Interface(
fn=recommend_mask,
inputs=gr.Image(label="Upload Your Face", type="filepath"),
outputs=gr.Textbox(label="Recommended Mask Style"),
title="🎭 AI Party Mask Recommender",
description="Upload a photo to get a personalized mask recommendation!",
)
demo.launch()