Spaces:
Sleeping
Sleeping
import gradio as gr | |
import cv2 | |
from insightface.app import FaceAnalysis | |
import torch | |
app = FaceAnalysis(name="buffalo_l", providers=['CUDAExecutionProvider', 'CPUExecutionProvider']) | |
app.prepare(ctx_id=0, det_size=(640, 640)) | |
def calculate(photo): | |
image = cv2.imread(photo) | |
faces = app.get(image) | |
image_draw = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) | |
faceid_embeds = torch.from_numpy(faces[0].normed_embedding).unsqueeze(0) | |
image_draw = app.draw_on(image_draw, faces) | |
return image_draw | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
with gr.Column(): | |
face_photo = gr.Image(label="Photo", type="filepath") | |
greet_btn = gr.Button("Calculate") | |
with gr.Column(): | |
output_image = gr.Image(label="Output") | |
output = gr.JSON() | |
greet_btn.click(fn=calculate, inputs=face_photo, outputs=output_image, api_name="calculate_face_embedding") | |
if __name__ == "__main__": | |
demo.launch() |