Embedding Ring

Orbit an object, embed every frame, and see whether a vision model traces the turn as a loop.

Camera view · Creature
224 × 224 px · what the encoder sees
0.0°
frame 01 / 24
drag to turn · ←→ step · space play
Results

Embedding space

Each dot is one frame, colored by camera angle with the same colors as the dial. If an encoder maps one full turn of the object to a smooth path, the dots form a clean, ordered loop. The glowing marker follows the camera.Drag to orbit · ⌘/Ctrl + scroll to zoom · double-click to reset · hover a dot to see its frame, click to jump there

No embeddings yet

Choose one or more encoders and press Render & encode. Each model's result appears here as soon as it is ready.

Method

How it works

01Orbit

A virtual camera moves around the object in equal steps and renders one 224 × 224 frame per step. The dial around the camera view is a top-down map of this orbit.

02Encode

A pretrained vision model turns each frame into one feature vector, L2-normalized. It runs on your machine with transformers.js, so no image leaves the browser.

03Project

PCA shows the three directions of largest variance. The ellipse fit finds the best loop of the form w₁·cos θ + w₂·sin θ, then adds the largest remaining direction as height.

04Score

Ring score (0–100) rates how round and how well-ordered the PCA loop is. Ellipse R² is the share of embedding variance that a pure loop in the camera angle explains.