InstructPix2Pix: Learning toFollow Image Editing Instructions
Tim Brooks, Aleksander Holynski, Alexei A. Efros

We want an AI image editor that does what we ask

Editing images goals• Tell the model exactly what edit to make as a written instruction.
• Require no extra input (full captions, additional images, drawn masks).
• Perform edit in forward pass without need for inversion/finetuning.

Related work: Prompt-to-Prompt• Only works reliably when both images are generated.
• Requires full written description of both input and output images.

“Photo of a cat riding on a bicycle.”“Photo of a cat riding on a car.”Related work: DreamBooth, Imagic• Expensive finetuning for every new input image.
• Require full descriptions of the desired output image.

DreamBooth:Imagic:Optimize latents

Finetune model“A children’s
drawing of a forest”

Our approach:• Train a large diffusion model to directly edit images.
• Train on a large supervised dataset of paired images and instructions.

“have her ride a dragon”

InstructPix2Pix

Our approach:• Train a large diffusion model to directly edit images.
• Train on a large supervised dataset of paired images and instructions.
• …but where does this supervised dataset come from?
“have her ride a dragon”

InstructPix2Pix

Our approach:• Train a large diffusion model to directly edit images.
• Train on a large supervised dataset of paired images and instructions.
• …but where does this supervised dataset come from?
• Combine knowledge of large pretrained models to generate training data.
“have her ride a dragon”

InstructPix2Pix

Generating caption edits with GPT-3• Finetune GPT-3 to generate instructions and before/after captions.
• Train on 700 human-written image editing instructions.
• Then generate >450,000 examples (providing LAION captions as input).

Generating caption edits with GPT-3

Generating pairs of images from captions• Use a pretrained text-to-image model to generate examples.
• Leverage Prompt-to-Prompt method to make images look similar.

“Photo of a cat riding on a bicycle.”“Photo of a cat riding on a car.”Generating paired training data
(1) Generate text edits:
Input Caption: “photograph of a girl riding a horse”

GPT-3(finetuned)

Instruction: “have her ride a dragon”
Edited Caption: “photograph of a girl riding a dragon”(2) Generate paired images:
Input Caption: “photograph of a girl riding a horse”
Edited Caption: “photograph of a girl riding a dragon”

Stable Diffusion+ Prompt2Prompt

Generated training examples:“have her ride a dragon”“Color the cars pink”“Make it lit by fireworks”“convert to brick”…

Training an image editing diffusion model• Now it is a supervised learning problem!
• Finetune Stable Diffusion on generated training data.
• Add zero-initialized image conditioning channels.
“have her ride a dragon”

InstructPix2Pix

Generalization to real images and instructions• Trained only on generated images and instructions.
• At inference, generalizes to real images and human-written instructions!
“Make it a grocery store”

InstructPix2Pix

Edmund Leighton’s Lady in a Garden

Classifier-free guidance (CFG) for two conditionings“Turn him into a cyborg!”• CFG extrapolates samples toward
stronger conditioning:Classifier-free guidance (CFG) for two conditionings“Turn him into a cyborg!”• CFG extrapolates samples toward
stronger conditioning:• We apply CFG with separate scales forimage and text conditionings:

Classifier-free guidance (CFG) for two conditionings“Turn him into a cyborg!”• CFG extrapolates samples toward
stronger conditioning:• We apply CFG with separate scales forimage and text conditionings:

Data scale and quality is crucial• How well does output image match input image?
• How well does change in images match change in captions?
• Evaluate for a range of guidance scales. Text: 7.5, Image: 1.0-2.2

Baseline comparisons
Input

SDEdit (caption)

Text2Live (caption)

SDEdit (instruction)

Ours

Baseline comparisons
Input

SDEdit (caption)

Text2Live (caption)

SDEdit (instruction)

Ours

Baseline comparisons• How well does output image match input image?
• How well does change in images match change in captions?
• Our model achieves a superior tradeoff.

Prompt2Prompt comparisons
Editing real images

Editing generated images

Varying latent noise produces diverse samples

Our model generalizes to high resolutions

Our model generalizes to high resolutions“Put them in outer space”

Our model generalizes to high resolutions

Our model generalizes to high resolutions“Turn the humans into robots”

Fast models enable iterative editing• Can easily apply edits in a sequence.
• Benefit of our model being feed-forward (no inversion/finetuning).
• Inference takes < 10s per edit of a 512x512 image.

Human identity preservation• Reasonably capable at preserving identity.
• Requires tuning CFG for specific images/edits.
Input“Have them wear brown leather jackets”“Replace the background with a fancy party”

Bias in generated images• Our model learns biases such as correlations between profession and gender.

Failure cases• Unable to alter viewpoint or spatial layout.
• Too significant of change (needs tuning CFG to prevent).
• Difficulty isolating objects.

InstructPix2Pix for video editing+EBSynthThank you!