File size: 800 Bytes
7da3cb9
 
 
 
 
dfff45b
7da3cb9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dfff45b
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from fastapi import FastAPI, UploadFile, File
from deepface import DeepFace
import cv2
import numpy as np
import io
import uvicorn

app = FastAPI()

REFERENCE_IMAGE_PATH = "reference.jpg"  # Add this manually in Hugging Face Space

@app.post("/verify-face/")
async def verify_face(file: UploadFile = File(...)):
    try:
        contents = await file.read()
        image_array = np.frombuffer(contents, np.uint8)
        img = cv2.imdecode(image_array, cv2.IMREAD_COLOR)

        result = DeepFace.verify(img1_path=img, img2_path=REFERENCE_IMAGE_PATH, model_name="VGG-Face")

        return {"verified": result["verified"], "distance": result["distance"]}
    except Exception as e:
        return {"error": str(e)}


if __name__ == __main__():
    uvicorn.run(app , host = "0.0.0.0" , port = 8080)