SIGGRAPH Asia 2026

SIA: Selective Image Analogy

Show one before/after example. Choose which of its edits carry over to your image.

1Simon Fraser University 2University of Cyprus 3Shahid Beheshti University 4CYENS Centre of Excellence

* Both authors contributed equally to this research.

Scroll to try it
Interactive demo

Switch edits on and off. Same pair, different output.

Each example opens with its edits switched on — switch any of them off, or back on, one at a time or together, and watch the result change. The demonstration pair never changes, only the result. Every image here is a real SIA output.

Demonstration pair
Query image

Edits

kept suppressed

—
Video

See how SIA works.

A single reference pair (A, A′) may contain multiple edits at once. In this example the changes include adding a logo, changing the expression, and replacing the background. Given a new query image B, SIA lets the user choose which edits to transfer. The same demonstration can produce different outputs, ranging from single-edit results to combinations of selected edits, while leaving the remaining edits out.
Abstract

A demonstration pair carries several edits. Take only the ones you want.

Image analogy copies a change shown by a before/after pair (A, A′) onto a new image B. But one pair usually holds several edits at once, and existing methods transfer all of them — you cannot ask for only some.

We introduce Selective Image Analogy (SIA): the pair stays fixed, and you choose which of its edits to apply. SIA first learns to transfer the whole change, then gains control from a mask over the edit words. The mask acts twice — it weakens the unwanted words in the text embedding, and gates a small adapter to them while the image is generated. The unwanted edits are dropped and the chosen ones stay, even though every edit is still visible in A′, and no new pair is needed for each combination.

Examples

One demonstration, a chosen subset of its edits.

The examples play one after another: the slider sweeps across to reveal SIA’s result, then moves on. Hover to pause, or pick one from the row underneath.Tap pause to hold one, or pick one from the row underneath.

Method

One mask, applied at two aligned points.

Before denoising the mask weakens the suppressed tokens in the text embedding; during denoising it gates the adapter to those same tokens. The demonstration pair and the prompt stay untouched.

Pipeline: A, A prime and B are encoded and concatenated with the analogy prompt; retained tokens route through AnaLoRA while suppressed tokens additionally route through ExLoRA, and the Concept Suppression Vector weakens the suppressed edit in the text embedding.
Overview of our selective image analogy pipeline. Given a demonstration pair (A, A′) containing multiple edits and a query image B, the model transfers only the user-selected edits to produce B′. Here the swan keeps the black feathers (green tokens) but not the open wings (red tokens). Hover over a part of the figure to enlarge it, and click it to read about it. Step through the parts, or tap one in the figure to zoom in on it; tap it again to zoom back out.
Under the hood

A mask marks what to drop.

Switch an edit off. Its prompt tokens get a 1 in the mask, and ExLoRA acts on those tokens only; everything else is processed exactly as before.

A, the demonstration before the edits
A
A prime, the demonstration with all three edits
A′
B, the query
B
B′ ·
Prompt tokens and mask
Inside every attention layer × N
other wordskept edit dropped edit, mask 1image tokens

h̃j = (W + Mj · α⁄r BsAs) hj with Mj = 1 only on a dropped edit’s tokens

  1. Maskon the dropped edit’s tokens
  2. CSVweakens it in the textbefore denoising
  3. ExLoRAblocks it in the transformerduring denoising
  4. Resultonly the selected edits
How ExLoRA is trained

Same input, a target without the dropped edit.

ExLoRA sees the whole example and the full prompt, every edit named, with the mask on one edit. Its target is the query with only the other edits applied, so it learns to read masked tokens as “do not transfer”. AnaLoRA, trained first on full analogies, keeps carrying everything else.

full prompt, all edits named gold color mask 1
Training sample A: a black dragon in a mushroom forest
A
A prime: the dragon gold, wings open, lava on the ground
A′
B: a dragon on an icy peak under an aurora
B
Target: lava and open wings, but the dragon keeps its own colour
B′ · no gold
Concept Suppression Vector

A second safeguard, in the text.

The prompt still names the dropped edit. For each edit, 64 contrastive prompt pairs, with and without it, are encoded once; the difference of their means is the edit direction d, cached and reused. At inference the dropped edit’s token loses its component along d.

with the editan open-wing birdan open-wing duckan open-wing swan
without ita folded-wing birda folded-wing ducka folded-wing swan

h ← h − λ (h⊤d) d

Text-embedding space: the open-wing prompts and the folded-wing prompts form two clusters; the edit direction d points from the folded-wing mean to the open-wing mean. 1 Estimate the direction once edit direction d mean mean open wings folded wings At inference: the token of the dropped edit, its component along d, and the token after that component is removed. 2 Remove it from the dropped token d h h′
token “open wings” h removed: λ(h⊤d)d after CSV
Training data

Every subset of the edits, for two subjects.

Building the recipes. Two-edit data from RelationAdapter plus a style source, then synthetic three- and four-edit recipes rendered one edit at a time. Qwen-VL keeps a sample only if the desired edits are present and the excluded ones absent.
One training sample. Two subjects share a recipe: subject a gives A and A′ with every edit, subject b gives B and a target with only the retained edits R. The rest, S = ℰ − R, are suppressed.
1,606training samples
239edit settings
2–4simultaneous edits

Our Multi-Edit Analogy Dataset spans creature and non-creature subjects and covers object additions, appearance changes, expression changes, pose changes, background replacements and style transfer. Every sample is filtered with a vision–language model to verify that the desired edits are present and the excluded ones are absent.

Evaluation

Highest retained-edit accuracy, and the strongest suppression.

Preservation alone is not enough for selective analogy: a method that barely changes the query image scores well on preservation and badly on everything else. SIA leads on retained accuracy, recall and both CLIP directional scores.

89% of kept edits applied Retained-edit recall · Qwen3-VL-32B
VisualCloze, best baseline0.856
SIA0.892
8.0/10 retained-edit accuracy How well the edits you keep are applied · Qwen3-VL-32B
VisualCloze, best baseline7.24
SIA8.01
0.54 CLIP directional similarity CLIP-Dir Image, the image–image directional metric
VisualCloze, best baseline0.464
SIA0.543
Quantitative comparison with visual analogy baselines
Method Qwen3-VL-32B Gemma 3 CLIP
Ret. Acc. ↑Pres. ↑Recall ↑ Ret. Acc. ↑Pres. ↑Recall ↑ Dir. Image ↑Dir. Ret. ↑
RelationAdapter [Gong et al. 2025] 6.749.930.7828.099.480.9410.3860.144
VisualCloze [Li et al. 2025] 7.248.620.8568.149.280.9470.4640.152
Edit Transfer [Chen et al. 2025] 2.319.960.1765.759.580.6230.1020.023
LoRWeB [Manor et al. 2026] 6.599.830.7368.129.510.9260.4020.155
SIA (ours) 8.019.750.8928.659.570.9520.5430.171
Table 1. Quantitative comparison with visual analogy baselines. VLM scores use Qwen3-VL-32B-Instruct and Gemma 3. Ret. Acc. measures retained-edit quality, Pres. measures preservation of B, and Recall measures retained-edit recall. CLIP-Dir Image is the image–image directional metric, while CLIP-Dir Retained measures alignment with the retained edit direction.
Citation

Use SIA in your research?

@inproceedings{alimohammadi2026sia,
  title     = {SIA: Selective Image Analogy},
  author    = {Alimohammadi, Amir and Izadpanah, Kian and
               Kariminia, Bardiya and Chrysanthou, Yiorgos and
               Mahdavi-Amiri, Ali},
  booktitle = {SIGGRAPH Asia 2026 Conference Papers},
  year      = {2026},
  publisher = {Association for Computing Machinery}
}

Questions and requests are welcome — please open an issue on the GitHub repository.