|
from gradio_client import Client, file |
|
import gradio as gr |
|
|
|
client = Client("felixrosberg/face-swap") |
|
|
|
def run_face_swap(target_img, source_img, slider_val, adv_slider_val, mode_list): |
|
result = client.predict( |
|
target=file(target_img), |
|
source=file(source_img), |
|
slider=slider_val, |
|
adv_slider=adv_slider_val, |
|
settings=mode_list, |
|
api_name="/run_inference" |
|
) |
|
return result |
|
|
|
with gr.Blocks() as iface: |
|
gr.Markdown("## Ndërrimi i fytyrës me AI") |
|
|
|
with gr.Row(): |
|
target = gr.Image(label="Fotoja objektiv (target)", type="filepath") |
|
source = gr.Image(label="Fotoja burim (source)", type="filepath") |
|
|
|
slider = gr.Slider(0, 100, value=100, label="Raporti i Anonimizimit (%)") |
|
adv_slider = gr.Slider(0, 100, value=100, label="Raporti i Mbrojtjes Kundër Sulmeve (%)") |
|
|
|
mode = gr.CheckboxGroup( |
|
choices=["Compare", "Anonymize", "Reconstruction Attack", "Adversarial Defense"], |
|
label="Modaliteti", |
|
value=[] |
|
) |
|
|
|
btn = gr.Button("🧙♂️ Ndërroni fytyrën") |
|
output_img = gr.Image(label="Rezultati") |
|
|
|
btn.click( |
|
fn=run_face_swap, |
|
inputs=[target, source, slider, adv_slider, mode], |
|
outputs=[output_img] |
|
) |
|
|
|
iface.launch() |
|
|