Spaces:
Runtime error
Runtime error
| import os | |
| os.makedirs("./checkpoints", exist_ok=True) | |
| os.system("wget https://huggingface.co/wmpscc/StyleGene/resolve/main/e4e_ffhq_encode.pt -o ./checkpoints/e4e_ffhq_encode.pt") | |
| os.system("wget https://huggingface.co/wmpscc/StyleGene/resolve/main/res34_fair_align_multi_7_20190809.pt -o ./checkpoints/res34_fair_align_multi_7_20190809.pt") | |
| os.system("wget https://huggingface.co/wmpscc/StyleGene/resolve/main/shape_predictor_68_face_landmarks.dat.bz2 -o ./checkpoints/shape_predictor_68_face_landmarks.dat.bz2") | |
| os.system("wget https://huggingface.co/wmpscc/StyleGene/resolve/main/stylegan2-ffhq-config-f.pt -o ./checkpoints/stylegan2-ffhq-config-f.pt") | |
| os.system("wget https://huggingface.co/wmpscc/StyleGene/resolve/main/stylegene_N18.ckpt -o ./checkpoints/stylegene_N18.ckpt") | |
| os.system("wget https://huggingface.co/wmpscc/StyleGene/resolve/main/geneFactorPool.pkl -o ./checkpoints/geneFactorPool.pkl") | |
| import gradio as gr | |
| from models.stylegene.api import synthesize_descendant | |
| description = """<p style="text-align: center; font-weight: bold;"> | |
| <span style="font-size: 28px">StyleGene: Crossover and Mutation of Region-Level Facial Genes for Kinship Face Synthesis</span> | |
| <br> | |
| <span style="font-size: 18px" id="paper-info"> | |
| [<a href="https://wmpscc.github.io/stylegene/" target="_blank">Project Page</a>] | |
| [<a href="https://openaccess.thecvf.com/content/CVPR2023/papers/Li_StyleGene_Crossover_and_Mutation_of_Region-Level_Facial_Genes_for_Kinship_CVPR_2023_paper.pdf" target="_blank">Paper</a>] | |
| [<a href="https://github.com/CVI-SZU/StyleGene" target="_blank">GitHub</a>] | |
| </span> | |
| <br> | |
| <a> Tips: One picture should have only one face.</a> | |
| </p>""" | |
| block = gr.Blocks() | |
| with block: | |
| gr.HTML(description) | |
| with gr.Row(): | |
| with gr.Column(): | |
| gr.Markdown("### Upload photos of father and mother") | |
| with gr.Row(): | |
| img1 = gr.Image(label="Father") | |
| img2 = gr.Image(label="Mother") | |
| gr.Markdown("### Select the child's age and gender") | |
| with gr.Row(): | |
| age = gr.Dropdown(label="Age", | |
| choices=["0-2", "3-9", "10-19", "20-29", "30-39", | |
| "40-49", "50-59", "60-69", "70+"], value="3-9") | |
| gender = gr.Dropdown(label="Gender", choices=["male", "female"], value="female") | |
| gr.Markdown("### Adjust your child's resemblance to parents") | |
| bar1 = gr.Slider(label="gamma", minimum=0, maximum=1, value=0.47) | |
| bar2 = gr.Slider(label="eta", minimum=0, maximum=1, value=0.4) | |
| bt_run = gr.Button("Run") | |
| gr.Markdown("""## Disclaimer | |
| This method is intended for academic research purposes only and is strictly prohibited for commercial use. | |
| Users are required to comply with all local laws and regulations when using this method.""") | |
| with gr.Column(): | |
| gr.Markdown("### Results") | |
| img3 = gr.Image(label="Generated child") | |
| with gr.Row(): | |
| img1_align = gr.Image(label="Father") | |
| img2_align = gr.Image(label="Mother") | |
| def run(father, mother, gamma, eta, age, gender): | |
| attributes = {'age': age, 'gender': gender, 'gamma': float(gamma), 'eta': float(eta)} | |
| img_F, img_M, img_C = synthesize_descendant(father, mother, attributes) | |
| return img_F, img_M, img_C | |
| bt_run.click(run, [img1, img2, bar1, bar2, age, gender], [img1_align, img2_align, img3]) | |
| block.launch(show_error=True) | |