INTERACTIVE · CLIP JOINT SPACE · 160 GENERATED POSTERS · NO TRAINING

Latent Atlas.

METHOD
EMBEDDINGS

Describe a dimension in your own words — warm ↔ cool, dense ↔ sparse, angular ↔ round — and 160 images re-sort by meaning in real time. Nothing is trained; the whole move is a text prompt and a dot product.

0
models trained or fine-tuned
160
posters embedded offline, once
512-d
shared image + text space
1
dot product places each tile

Try it first. Pick a preset axis or type your own two poles, then watch the field re-form. Drag to pan, scroll to zoom, hover any tile to inspect its score. The first axis loads CLIP's text encoder into your browser once; everything after is instant.

THE PROBLEM

Every image library is searchable only by the tags someone defined in advance. Ask for a dimension nobody labeled — warmer, busier, more playful — and you are stuck training a classifier or hand-sorting by eye. Open-ended visual dimensions have no cheap handle.

THE INSIGHT

Semantic axes need no training. Because CLIP aligns image and text in one space, warm-vs-cool is literally the vector between the two words — and projecting images onto it sorts them by meaning. The axis is a subtraction; the position is a dot product.

WHO IT'S FOR

Anyone with a pile of images and a word for what they want: a photo library, a moodboard, product shots, a design archive. Invent the axis on the spot, in plain language — no taxonomy to maintain, no model to retrain. It generalizes the thesis idea to any collection.

One space for images and words

CLIP was trained on hundreds of millions of image–caption pairs with a single objective: pull matching image and text together in one vector space, and push mismatched pairs apart. The consequence we lean on here is quiet but radical — a warm-toned poster and the phrase “a warm colored image” land near each other, even though one is pixels and the other is language. Images and words become directly comparable coordinates in the same 512 dimensions.

Every poster here was embedded once, offline, with CLIP's image encoder. The map you first land on is a plain PCA of those vectors — the two directions of greatest variance, with no labels and no training. It already clusters by look, because CLIP's space is organized by appearance and meaning.

The CLIP mechanism behind Latent Atlas An image encoder and a text encoder map into one shared 512-dimensional space. A semantic axis is the normalized difference between two text-pole embeddings. An image's position is the dot product of its embedding with that axis. No training is involved. THE MECHANISM Two encoders → one space → an axis is a subtraction, a position is a dot product a poster (pixels) “warm” · “cool” two words you type IMAGE ENCODER pretrained · frozen TEXT ENCODER pretrained · frozen ONE SHARED 512-D SPACE cool warm v (image) projection = score â = normalize( e_warm − e_cool ) an axis is a direction — a subtraction v · â SCORE · ONE DOT PRODUCT one score per image → the whole field re-sorts left → right COOL WARM NO TRAINING — JUST DOT PRODUCTS Both encoders are pretrained and frozen. Building an axis and placing all 160 images is only vector subtraction and dot products — nothing here learns.
The mechanism · An image and a typed axis land in one CLIP space; the axis is a subtraction, each image's position is a single dot product — and no model is trained.

An axis is a subtraction; a position is a dot product

To steer, the browser loads CLIP's text encoder and embeds your two poles. The axis is simply the difference of those two vectors, normalized — then every poster's place on it is a single dot product:

Because the image embeddings and the text-pole embeddings live in the same space, comparing them is legal by construction. Sort by the score and the field re-forms left-to-right; the vertical axis stays pinned to a stable secondary component so the horizontal re-sort reads cleanly.

Why this generalizes

Nothing here is specific to posters. Any collection you can embed — a photo library, a moodboard, product shots, a design archive — can be navigated the same way, with axes invented on the spot in plain language. There is no classifier to train and no taxonomy to maintain; the vocabulary is open-ended because the text encoder generalizes. This is the thesis idea — letting a designer move through a latent space along axes they name themselves — reduced to its smallest reproducible core and pointed at an arbitrary image set.

What this instrument does not do is as informative as what it does. The honest edges:

AXIS QUALITY

Some axes barely separate the set — and that stays visible.

On this abstract-poster corpus, geometric ↔ organic correlates only ~0.1 with the underlying generative parameter, versus ~0.8 for warm↔cool and angular↔round. That preset stays in the deck on purpose: it is honest information about what CLIP does not cleanly distinguish on this domain, not a failure to hide.

PERFORMANCE

All 160 thumbnails load eagerly — about 5 MB up front.

The tiles are 256 px PNGs so they stay crisp under the 2.6× hover zoom, and they load eagerly to keep panning perfectly smooth. The honest cost is ~5 MB on first paint. The fix is downscaled, responsively-sized thumbnails with priority hints — deferred here so the live interaction, not the loader, stays in the spotlight.

METHOD

Axis quality is measured, not eyeballed.

Presets were chosen by correlating each axis against the known generative parameters of the synthetic set — not by a human visually auditing every layout. A high correlation means the sort is statistically sound; it does not guarantee the ordering reads perfectly to the eye on every tile.

LAYOUT

The vertical axis is held fixed.

Y stays pinned to a stable secondary PCA component so the horizontal re-sort is the only thing that moves. It is a legibility choice, not a two-axis semantic plane — a natural next step is a second typed axis driving Y.

RUNTIME

The first axis triggers a one-time model download.

The CLIP text head (~63 MB, quantized) streams from a CDN on first use and is cached thereafter. Offline or with the CDN blocked, the map still pans and zooms and the control deck surfaces a clear retry rather than breaking.

NEXT Responsive thumbnails, a second typed axis for a true 2-D semantic plane, and a per-axis confidence readout so weak axes announce themselves.