Leffa / README.md
Nymbo's picture
Update README.md
84bf3ae verified

A newer version of the Gradio SDK is available: 5.9.1

Upgrade
metadata
title: Leffa
emoji: 👗🤗🧜
colorFrom: indigo
colorTo: blue
sdk: gradio
sdk_version: 4.40.0
app_file: app.py
pinned: false
license: mit
short_description: Virtual Try-on (controllable)

Leffa: Learning Flow Fields in Attention for Controllable Person Image Generation

📚 Paper - 🤖 Code - 🔥 Demo - 🤗 Model

Star ⭐ us if you like it!

News

  • 18/Dec/2024, thanks to @StartHua for integrating Leffa into ComfyUI! Here is the repo!
  • 16/Dec/2024, the virtual try-on model trained on DressCode is released.
  • 12/Dec/2024, the HuggingFace demo and models (virtual try-on model trained on VITON-HD and pose transfer model trained on DeepFashion) are released.
  • 11/Dec/2024, the arXiv version of the paper is released.

Leffa is a unified framework for controllable person image generation that enables precise manipulation of both appearance (i.e., virtual try-on) and pose (i.e., pose transfer).

Abstract

Controllable person image generation aims to generate a person image conditioned on reference images, allowing precise control over the person’s appearance or pose. However, prior methods often distort fine-grained textural details from the reference image, despite achieving high overall image quality. We attribute these distortions to inadequate attention to corresponding regions in the reference image. To address this, we thereby propose learning flow fields in attention (Leffa), which explicitly guides the target query to attend to the correct reference key in the attention layer during training. Specifically, it is realized via a regularization loss on top of the attention map within a diffusion-based baseline. Our extensive experiments show that Leffa achieves state-of-the-art performance in controlling appearance (virtual try-on) and pose (pose transfer), significantly reducing fine-grained detail distortion while maintaining high image quality. Additionally, we show that our loss is model-agnostic and can be used to improve the performance of other diffusion models.

Method

An overview of our Leffa training pipeline for controllable person image generation. The left is our diffusion-based baseline; the right is our Leffa loss. Note that Isrc and Itgt are the same image during training.

Visualization

Qualitative visual results comparison with other methods. The input person image for the pose transfer is generated using our method in the virtual try-on. The visualization results demonstrate that our method not only generates high-quality images but also greatly reduces the distortion of fine-grained details.

Installation

Create a conda environment and install requirements:

conda create -n leffa python==3.10
conda activate leffa
cd Leffa
pip install -r requirements.txt

Gradio App

Run locally:

python app.py

Evaluation

We use this code for metric evaluation.

Acknowledgement

Our code is based on Diffusers and Transformers. We use SCHP and DensePose to generate masks and densepose in our Demo. We also referred to the code of IDM-VTON and CatVTON.

Citation

If you find our work helpful or inspiring, please feel free to cite it.

@article{zhou2024learning,
  title={Learning Flow Fields in Attention for Controllable Person Image Generation}, 
  author={Zhou, Zijian and Liu, Shikun and Han, Xiao and Liu, Haozhe and Ng, Kam Woh and Xie, Tian and Cong, Yuren and Li, Hang and Xu, Mengmeng and Pérez-Rúa, Juan-Manuel and Patel, Aditya and Xiang, Tao and Shi, Miaojing and He, Sen},
  journal={arXiv preprint arXiv:2412.08486},
  year={2024},
}