Skip to content

Generative AI Image Toolset with GANs and Diffusion for Real-World Applications

License

Notifications You must be signed in to change notification settings

mjsh34/joliGEN-TryOnDiffusion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fork to train/test TryOnDiffusion on comsumer GPU (24G VRAM)

Note: this is not a faithful implementation of TryOnDiffusion, but an image-to-image translation diffusion model with a modified U-Net, as described in jolibrain#530 This repository adds some convenience scripts for training/testing this implementation.

This project is a WIP.

Installation

  1. Install torch packages (2.x) using https://pytorch.org/get-started/locally/
  2. Install from requirements.txt

Preprocess VITON-HD dataset for TryOnDiffusion

At this point, we only prepare the shirts (orange part in image-parse-v3) for training.

python scripts/preprocess_viton.py --zip-file /path/to/zalando-hd-resized.zip --target-dir /save/processed/data/here --dilate 5 --save_conditions --padding "0 0 0 0"

Train TryOnDiffusion

  1. Start visdom for visualization: (in venv) python -m visdom.server
  2. Start training (you may need to adjust some arguments inside shell script): python train_tryondiffusion.sh
  3. You can see training visualization at http://localhost:8097/env/tryondiffusion_viton

License Docs Website

Generative AI Image Toolset with GANs, Diffusion and Consistency Models for Real-World Applications

JoliGEN is an integrated framework for training custom generative AI image-to-image models

Main Features:

  • JoliGEN implements both GAN, Diffusion and Consistency models for unpaired and paired image to image translation tasks, including domain and style adaptation with conservation of semantics such as image and object classes, masks, ...

  • JoliGEN generative AI capabilities are targeted at real world applications such as Controled Image Generation, Augmented Reality, Dataset Smart Augmentation and object insertion, Synthetic to Real transforms.

  • JoliGEN allows for fast and stable training with astonishing results. A server with REST API is provided that allows for simplified deployment and usage.

  • JoliGEN has a large scope of options and parameters. To not get overwhelmed, follow the simple Quickstarts. There are then links to more detailed documentation on models, dataset formats, and data augmentation.

Useful links

Use cases

  • AR and metaverse: replace any image element with super-realistic objects
  • Image manipulation: seamlessly insert or remove objects/elements in images
  • Image to image translation while preserving semantics, e.g. existing source dataset annotations
  • Simulation to reality translation while preserving elements, metrics, ...
  • Image generation to enrich datasets, e.g. counter dataset imbalance, increase test sets, ...

This is achieved by combining powerful and customized generator architectures, bags of discriminators, and configurable neural networks and losses that ensure conservation of fundamental elements between source and target images.

Example results

Image translation while preserving the class

Mario to Sonic while preserving the action (running, jumping, ...)

Clipboard - June 6, 2022 9 44 PM Clipboard - June 5, 2022 12 02 PM

Object insertion

Virtual Try-On with Diffusion

273150788-32990dc1-ebd7-401a-be51-85adeef3b508

Car insertion (BDD100K) with Diffusion image image

Glasses insertion (FFHQ) with Diffusion

drawing drawing

Object removal

Glasses removal with GANs

Clipboard - November 9, 2022 4_33 PM Clipboard - November 9, 2022 10_40 AM

Style transfer while preserving label boxes (e.g. cars, pedestrians, street signs, ...)

Day to night (BDD100K) with Transformers and GANs image

Clear to snow (BDD100K) by applying a generator multiple times to add snow incrementally image

Clear to overcast (BDD100K) image

Clear to rainy (BDD100K) image image

Features


Code format and Contribution

If you want to contribute please use black code format. Install:

pip install black 

Usage :

black .

If you want to format the code automatically before every commit :

pip install pre-commit
pre-commit install

Authors

JoliGEN is created and developed by Jolibrain.

Code structure is inspired by pytorch-CycleGAN-and-pix2pix, CUT, AttentionGAN, MoNCE, Palette among others.

Elements from JoliGEN are supported by the French National AI program "Confiance.AI"

Contact: [email protected]

About

Generative AI Image Toolset with GANs and Diffusion for Real-World Applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.7%
  • Shell 1.2%
  • Other 1.1%