import gradio as gr from sentence_transformers import SentenceTransformer from sklearn.metrics.pairwise import cosine_similarity model = SentenceTransformer('clip-ViT-B-16') def predict(im1, im2): emb = model.encode([im1, im2]) similarities = cosine_similarity(emb) sim = similarities[0, 1] if sim > 0.7: return sim, "SAME PERSON, UNLOCK PHONE" else: return sim, "DIFFERENT PEOPLE, DON'T UNLOCK" interface = gr.Interface(fn=predict, title="Face ID", description="Determine whether 2 images are from the same person", inputs= [gr.Image(type="pil", source="webcam"), gr.Image(type="pil", source="webcam")], outputs= [gr.Number(label="Similarity"), gr.Textbox(label="Message")], examples=[["img1.jpg", "img2.jpg"], ["img3.jpg", "img4.jpg"], ["img1.jpg", "img3.jpg"]] ) interface.launch(debug=True)