metaai·lightalo unofficial · independent
The Lab / How DINOv2 sees

No labels. No captions. Pure structure.

DINOv2 learned to see by looking at 142 million images — with no labels at all. Below, its raw patch features are projected to color (the paper's famous PCA "rainbows"), computed with the real model on a Raspberry Pi. Same-colored regions = parts the model considers similar… including across different objects.

The rainbow slider

Drag the divider: photo on the left, what DINOv2 sees on the right. Notice how heads match heads and legs match legs — nobody ever told it what those are.

DINOv2 PCA feature map
Original photo
photowhat the model sees

Same idea, different animal

Move your cursor over the left image — patches with the most similar DINOv2 features light up on the right, live (cosine similarity in your browser). Watch a retriever's ear find a dalmatian's ear.

This toy needs a 342 KB file of pre-computed DINOv2 features. It downloads when you scroll here, not when the page opens.

Image A
Image B

Hover on desktop · touch and drag on a phone — the match stays lit when you lift your finger.

Everything on this page was computed ahead of time on a Raspberry Pi; no model runs here. Opening it costs about 420 KB of photos and feature maps, and the correspondence toy above adds 342 KB when you reach it. The next page runs the real DINOv2 in your browser instead, which costs more.

📷 Try it on your own photo — DINOv2 runs in your browser →

About this demo

Why this matters

Features this good, learned without labels, are why DINOv2/v3 power everything from forest mapping with the World Resources Institute to NASA JPL's Mars robots — one frozen backbone, endless tasks.

What you're looking at

Each image becomes a ~37×37 grid of patches; each patch a 384-dim vector. We PCA those vectors to 3 components → RGB. Foreground/background separates on the first component, parts on the next three.

Go deeper

DINOv2 paper · code & weights (Apache 2.0) · the DINO constellation on the map.