basic-face-id / app.py
Dhritiman Sagar
Initial commit
019de41
import datasets
from transformers import AutoFeatureExtractor, AutoModelForImageClassification
import gradio as gr
import torch
import transformers
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.metrics import silhouette_score
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("clip-ViT-L-14")
def predict(im1, im2):
embeddings = [model.encode(im1), model.encode(im2)]
sim = cosine_similarity(embeddings[0].reshape(1, -1), embeddings[1].reshape(1, -1)).squeeze()
if sim > 0.80:
return sim, "SAME PERSON, UNLOCK PHONE"
else:
return sim, "DIFFERENT PEOPLE, DON'T UNLOCK"
import gradio as gr
interface = gr.Interface(fn=predict,
inputs=[gr.Image(type="pil", source="webcam"),
gr.Image(type="pil", source="webcam")],
outputs=[gr.Number(label="Similarity"),
gr.Textbox(label="Message")],
title='Basic Face-Id',
description='A very simple face-id implementation using sentence-transformer embeddings.',
)
interface.launch()