All Projects → jychoi118 → ilvr_adm

jychoi118 / ilvr_adm

Licence: MIT license
ILVR: Conditioning Method for Denoising Diffusion Probabilistic Models (ICCV 2021 Oral)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ilvr adm

clickbaiter
Generates clickbait tech headlines. Don't ask why.
Stars: ✭ 40 (-69.92%)
Mutual labels:  generation
DeepCAD
code for our ICCV 2021 paper "DeepCAD: A Deep Generative Network for Computer-Aided Design Models"
Stars: ✭ 74 (-44.36%)
Mutual labels:  iccv2021
renet
[ICCV'21] Official PyTorch implementation of Relational Embedding for Few-Shot Classification
Stars: ✭ 72 (-45.86%)
Mutual labels:  iccv2021
STTran
Spatial-Temporal Transformer for Dynamic Scene Graph Generation, ICCV2021
Stars: ✭ 113 (-15.04%)
Mutual labels:  iccv2021
retrieval-fuse
[ICCV21] Code for "RetrievalFuse: Neural 3D Scene Reconstruction with a Database"
Stars: ✭ 69 (-48.12%)
Mutual labels:  iccv2021
PCLoc
Pose Correction for Highly Accurate Visual Localization in Large-scale Indoor Spaces (ICCV 2021)
Stars: ✭ 37 (-72.18%)
Mutual labels:  iccv2021
TRAR-VQA
[ICCV 2021] TRAR: Routing the Attention Spans in Transformers for Visual Question Answering -- Official Implementation
Stars: ✭ 49 (-63.16%)
Mutual labels:  iccv2021
libwifi
An 802.11 Frame Generation and Parsing Library in C
Stars: ✭ 27 (-79.7%)
Mutual labels:  generation
preset
Elegant, ecosystem-agnostic preset mechanism
Stars: ✭ 132 (-0.75%)
Mutual labels:  generation
ICCV2021-Paper-Code-Interpretation
ICCV2021/2019/2017 论文/代码/解读/直播合集,极市团队整理
Stars: ✭ 2,022 (+1420.3%)
Mutual labels:  iccv2021
USOT
[ICCV2021] Learning to Track Objects from Unlabeled Videos
Stars: ✭ 52 (-60.9%)
Mutual labels:  iccv2021
pollinations
Generate Art
Stars: ✭ 100 (-24.81%)
Mutual labels:  diffusion
table-evaluator
Evaluate real and synthetic datasets with each other
Stars: ✭ 44 (-66.92%)
Mutual labels:  generation
generaptr
Generaptr is a node package that helps when starting up a project by generating boilerplate code for Express api.
Stars: ✭ 16 (-87.97%)
Mutual labels:  generation
hydro examples
Simple one-dimensional examples of various hydrodynamics techniques
Stars: ✭ 83 (-37.59%)
Mutual labels:  diffusion
probabilistic nlg
Tensorflow Implementation of Stochastic Wasserstein Autoencoder for Probabilistic Sentence Generation (NAACL 2019).
Stars: ✭ 28 (-78.95%)
Mutual labels:  generation
Low-Poly-Procedural-Generation
Low Poly Terrain generation in Unity adapted from Sebastian Langue's series
Stars: ✭ 51 (-61.65%)
Mutual labels:  generation
erdiagram
Entity-Relationship diagram code generator library
Stars: ✭ 28 (-78.95%)
Mutual labels:  generation
NetworkInference
R implementation to the netinf algorithm. Infers the most likely diffusion network from a set of events
Stars: ✭ 21 (-84.21%)
Mutual labels:  diffusion
TIGER
Python toolbox to evaluate graph vulnerability and robustness (CIKM 2021)
Stars: ✭ 103 (-22.56%)
Mutual labels:  diffusion

ILVR + ADM

This is the implementation of ILVR: Conditioning Method for Denoising Diffusion Probabilistic Models (ICCV 2021 Oral).

This repository is heavily based on improved diffusion and guided diffusion. We use PyTorch-Resizer for resizing function.

Overview

ILVR is a learning-free method for controlling the generation of unconditional DDPMs. ILVR refines each generation step with low-frequency component of purturbed reference image. Our method enables various tasks (image translation, paint-to-image, editing with scribbles) with only a single model trained on a target dataset.

image

Download pre-trained models

Create a folder models/ and download model checkpoints into it. Here are the unconditional models trained on FFHQ and AFHQ-dog:

These models have seen 10M and 4M images respectively. You may also try with models from guided diffusion.

ILVR Sampling

First, set PYTHONPATH variable to point to the root of the repository.

export PYTHONPATH=$PYTHONPATH:$(pwd)

Then, place your input image into a folder ref_imgs/.

Run the ilvr_sample.py script. Specify the folder where you want to save the output in --save_dir.

Here, we provide flags for sampling from above models. Feel free to change --down_N and --range_t to adapt downsampling factor and conditioning range from the paper.

Refer to improved diffusion for --timestep_respacing flag.

python scripts/ilvr_sample.py  --attention_resolutions 16 --class_cond False --diffusion_steps 1000 --dropout 0.0 --image_size 256 --learn_sigma True --noise_schedule linear --num_channels 128 --num_head_channels 64 --num_res_blocks 1 --resblock_updown True --use_fp16 False --use_scale_shift_norm True --timestep_respacing 100 --model_path models/ffhq_10m.pt --base_samples ref_imgs/face --down_N 32 --range_t 20 --save_dir output

ILVR sampling is implemented in p_sample_loop_progressive of guided-diffusion/gaussian_diffusion.py

Results

These are samples generated with N=8 and 16:

a

b

These are cat-to-dog samples generated with N=32:

c

Note

This repo is re-implemention of our method on guided diffusion. Our initial implementation of the paper is based on denoising-diffusion-pytorch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].