|
import sys |
|
import os |
|
import io |
|
import base64 |
|
import json |
|
import gradio as gr |
|
import requests |
|
|
|
|
|
def face_recognition_on_file(file1, file2): |
|
url = "http://93.127.215.33:8080/face_recognition" |
|
try: |
|
files = {'file1': open(file1, 'rb'), 'file2': open(file2, 'rb')} |
|
|
|
r = requests.post(url=url, files=files) |
|
r.raise_for_status() |
|
except requests.RequestException as e: |
|
raise gr.Error(f"Error occurred: {str(e)}") |
|
except IOError: |
|
raise gr.Error("Please select valid image files!") |
|
|
|
try: |
|
response = r.json() |
|
print(response) |
|
return response |
|
except json.JSONDecodeError: |
|
raise gr.Error("Invalid response from server") |
|
|
|
|
|
def liveness_detection_on_file(file): |
|
url = "http://93.127.215.33:8080/check_liveness" |
|
try: |
|
files = {'file': open(file, 'rb')} |
|
r = requests.post(url=url, files=files) |
|
r.raise_for_status() |
|
except requests.RequestException as e: |
|
raise gr.Error(f"Error occurred: {str(e)}") |
|
|
|
try: |
|
response = r.json() |
|
print(response) |
|
return response |
|
except json.JSONDecodeError: |
|
raise gr.Error("Invalid response from server") |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown( |
|
""" |
|
<a href="https://faceplugin.com" style="display: flex; align-items: center;"> |
|
<img src="https://faceplugin.com/wp-content/uploads/2024/02/Square-png-file_2-1.png" style="width: 8%; margin-right: 15px;"/> |
|
<div> |
|
<p style="font-size: 24px; font-weight: bold; margin: 0;">FacePlugIn Ltd</p> |
|
</div> |
|
</a> |
|
|
|
## Company Overview |
|
|
|
FacePlugin Ltd is a pioneering company at the forefront of innovative solutions in the realm of facial recognition technology and computer vision. Established with a commitment to revolutionize security and authentication processes, FacePlugin specializes in cutting-edge solutions including face liveness detection, ID card recognition, face recognition, biometric authentication, and e-KYC (Electronic Know Your Customer) solutions. |
|
|
|
|
|
<h2>List of our Products</h2> |
|
|
|
* **[FaceRecognition-LivenessDetection-Android](https://github.com/Faceplugin-ltd/FaceRecognition-LivenessDetection-Android)** |
|
* **[FaceRecognition-LivenessDetection-iOS](https://github.com/Faceplugin-ltd/FaceRecognition-LivenessDetection-iOS)** |
|
* **[FaceRecognition-LivenessDetection-Javascript](https://github.com/Faceplugin-ltd/FaceRecognition-LivenessDetection-Javascript)** |
|
* **[FaceLivenessDetection-Docker](https://github.com/Faceplugin-ltd/FaceLivenessDetection-Docker)** |
|
|
|
|
|
## Contact |
|
<div style="display: flex; align-items: center;"> |
|
<a target="_blank" href="mailto:info@faceplugin.com"><img src="https://img.shields.io/badge/email-info@faceplugin.com-blue.svg?logo=gmail " alt="faceplugin.com"></a> |
|
<a target="_blank" href="https://t.me/faceplugin"><img src="https://img.shields.io/badge/telegram-@faceplugin-blue.svg?logo=telegram " alt="faceplugin.com"></a> |
|
<a target="_blank" href="https://wa.me/+14422295661"><img src="https://img.shields.io/badge/whatsapp-faceplugin-blue.svg?logo=whatsapp " alt="faceplugin.com"> |
|
</div> |
|
""" |
|
) |
|
|
|
with gr.TabItem("Face Recognition"): |
|
with gr.Row(): |
|
with gr.Column(): |
|
first_input = gr.Image(type='filepath') |
|
gr.Examples(['images/rec_7.jpg', 'images/rec_1.jpg', 'images/9.png', 'images/rec_3.jpg'], |
|
inputs=first_input) |
|
start_button = gr.Button("Run") |
|
with gr.Column(): |
|
second_input = gr.Image(type='filepath') |
|
gr.Examples(['images/rec_8.jpg', 'images/rec_2.jpg', 'images/10.jpg', 'images/rec_4.jpg'], |
|
inputs=second_input) |
|
|
|
with gr.Column(): |
|
app_output = [gr.JSON()] |
|
|
|
start_button.click(face_recognition_on_file, inputs=[first_input, second_input], outputs=app_output) |
|
with gr.TabItem("Face Liveness Detection"): |
|
with gr.Row(): |
|
with gr.Column(): |
|
app_input = gr.Image(type='filepath') |
|
gr.Examples(['images/4.jpg', 'images/1.png', 'images/2.png', 'images/3.png'], |
|
inputs=app_input) |
|
start_button = gr.Button("Run") |
|
with gr.Column(): |
|
app_output = [gr.JSON()] |
|
|
|
start_button.click(liveness_detection_on_file, inputs=app_input, outputs=app_output) |
|
|
|
|
|
gr.HTML('<a href="https://visitorbadge.io/status?path=https%3A%2F%2Fhuggingface.co%2Fspaces%2FFacePlugin-Ltd%2FFacePlugin-Face-Recognition-SDK"><img src="https://api.visitorbadge.io/api/combined?path=https%3A%2F%2Fhuggingface.co%2Fspaces%2FFacePlugin-Ltd%2FFacePlugin-Face-Recognition-SDK&labelColor=%23697689&countColor=%2337d67a&style=flat&labelStyle=upper" /></a>') |
|
|
|
demo.queue().launch(share=True) |
|
|