Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import face_recognition | |
| def run_verification(verification_image, input_image): | |
| temp = face_recognition.face_encodings(verification_image) | |
| if len(temp) == 1: | |
| verification_encoding = face_recognition.face_encodings(verification_image)[0] | |
| elif len(temp)>1: | |
| return 'Multiple faces detected in verification image β. Verification Image must have a single face' | |
| else: | |
| return 'No face detected in verification image β. Verification Image must have a single face' | |
| temp = face_recognition.face_encodings(input_image) | |
| if len(temp) == 1: | |
| input_encoding = face_recognition.face_encodings(input_image)[0] | |
| multiple_people=False | |
| elif len(temp)>1: | |
| input_encoding = face_recognition.face_encodings(input_image)[0] | |
| multiple_people=True | |
| else: | |
| return 'No face detected in Input Image.' | |
| results = face_recognition.compare_faces([verification_encoding], input_encoding) | |
| if results[0]==True and not multiple_people: | |
| return 'Facial Verification Successful β . Both pictures contain the same person' | |
| elif results[0]==True and multiple_people: | |
| return 'Facial Verification Successful β . Both pictures contain the same person. Input Image contains multiple faces.' | |
| else: | |
| return 'Facial Verification Failed β. Both pictures contain different persons' | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# FaceMatch: A Zero Shot Facial Recognition App") | |
| gr.Markdown("FaceMatch is a cutting-edge facial recognition application that allows users to compare two images to determine if they depict the same person or not. Unlike traditional facial recognition systems that require a database of known faces, FaceMatch utilizes zero-shot facial recognition technology, which means it can recognize individuals without any prior training using just a single anchor image.") | |
| gr.Markdown(''' | |
| Steps to Run: | |
| 1. Upload your image as a reference image. | |
| 2. Upload the input image on which you want to run facial recognition. | |
| 3. Click "Run Facial Recognition" to initiate the process. | |
| 4. View the verification result. | |
| ''') | |
| gr.Info('Test') | |
| with gr.Row(): | |
| verification_image = gr.Image(label='Reference Image') | |
| input_image = gr.Image(label = 'Input Image') | |
| verify_button = gr.Button(value="Run Facial Recognition") | |
| output_textbox = gr.Textbox(value="", label="Verification Result") | |
| verify_button.click(run_verification, inputs=[verification_image, input_image], outputs=[output_textbox]) | |
| # upload_button.upload(upload_file, upload_button, file_output) | |
| demo.launch() |