/Retratista

Identify Human Face from Bare Description

Primary LanguagePythonGNU General Public License v3.0GPL-3.0


Build Status GPLv3 license

Retratista is a web-based application that enables the user to generate and manipulate a realistic human face from bare description.

For further details about our experimentation, refer to our paper and experiments repo portrait-synthesis-from-speech.

System Workflow

Figure(1): Complete block diagram showing the whole system design and flow between different modules.

Application Design

Figure(2): Web application design.

Usage

Docker

  • Make sure you installed :

  • Start application server using docker-compose :

    bash scripts/docker_run.sh base # to run stylegan2 server with ui
    bash scripts/docker_run.sh pose # to run pose server only
    bash scripts/docker_run.sh      # to run both servers with ui

Native

  • Make sure you installed :

    • Nvidia CUDA 11.1 + CUDNN8
    • python3 + python3-pip (Anaconda can be used as well).
  • Install python dependencies :

    pip3 install -r requirements.txt
  • Download model weights :

    bash scripts/download_weights_gen.sh # to download weights for stylegan2 server
    bash scripts/download_weights_rot.sh # to download weights for pose server
  • Run application stylegan2 server (port 5000) :

    python3 run_generator.py production 5000 # production mode
    python3 run_generator.py development 5000 # debug mode
  • Run application pose server (port 5001) :

    python3 run_rotator.py production 5001 # production mode
    python3 run_rotator.py development 5001 # debug mode
  • Build and run application ui (port 8080) :

    cd ui
    bash setup_ui.sh
    npm run style # only stylegan2 server
    # OR
    npm run styleRR # both stylegan2 and pose server