Spaces:
Sleeping
Sleeping
import requests | |
import pyrebase | |
import urllib | |
from retinaface import RetinaFace | |
from deepface import DeepFace | |
from fastapi import FastAPI | |
from dotenv import load_dotenv | |
app = FastAPI() | |
load_dotenv() | |
def read_root(): | |
return {"Hello": "World"} | |
def verify_image(url1): | |
firebaseConfig = 'KEYS' | |
firebase = pyrebase.initialize_app(firebaseConfig) | |
storage = firebase.storage() | |
path = "Faces/" | |
files = storage.bucket.list_blobs(prefix=path) | |
flag = False | |
# url1 = "https://api.time.com/wp-content/uploads/2023/04/shah-rukh-khan-time100-2023-1.jpg" | |
for file in files: | |
if (file.name.endswith(".jpg") or file.name.endswith(".jpeg")) : | |
# print(file.name) | |
url = storage.child(f"{file.name}").get_url(None) | |
# print(url) | |
with requests.get(url) as response: | |
result = DeepFace.verify(f"{url1}",url, model_name="Facenet", distance_metric='cosine') | |
if result['verified']: | |
flag = True | |
start_index = file.name.rfind('/') | |
end_index = file.name.rfind('$') | |
if start_index != -1 and end_index != -1: | |
name = file.name[start_index + 1:end_index] | |
return {"username": name} | |
break | |
if flag == False: | |
print("Not Verified") | |
return {"username": "Not Found"} | |