santosh175's picture
Upload 2 files
7e38b61 verified
import gradio as gr
#import cv2
from deepface import DeepFace
# Define functions for each functionality
def verify_images(image1, image2):
result = DeepFace.verify(image1, image2)
return result
def identify_image(image, database):
#results = []
#for db_image in database:
result = DeepFace.find(image, database)
final = result[0]['identity'].tolist()
#if result:
# results.append(db_image)
return final
'''#def real_time_face_identification(video_source):
cap = cv2.VideoCapture(video_source)
while True:
ret, frame = cap.read()
if not ret:
break
# Perform face identification (example code)
faces = DeepFace.detectFace(frame)
# Display results
cv2.imshow('Face Identification', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()'''
# Create the Gradio interface
iface = gr.Interface(
fn=
verify_images
# identify_image
#real_time_face_identification
,
inputs=[
gr.Image(type="filepath"), gr.Image(type="filepath")
#gr.Image(type="filepath"), gr.Textbox(label="Paste database path here")
#gr.Video()
],
outputs=[
gr.Textbox(label="Verification Result")
#gr.Gallery(label="Identified Images"),
#None
]
)
iface2 = gr.Interface(
fn=
identify_image
,
inputs=[
gr.Image(type="filepath"), gr.Textbox(label="Paste database path here")
],
outputs=[
gr.Gallery(label="Identified Images" , show_label=False, elem_id="gallery"
, columns=[3], rows=[2], object_fit="contain", height="auto")
] )
demo = gr.TabbedInterface([iface, iface2], ["Face Verification", "Face Identification"])
demo.launch()