The spatial blind spot

Standard image metrics read what a picture contains. They do not read its visual vocabulary: how the ground is worked, where the weight sits, how the parts hold together. Here two measurement systems are run on the same six pictures: two subjects, each made three ways.

Russell Parrish · Parallax Metrology · 16 October 2026 · An illustration on six images, not a study

CLIP similarity, three butterflies
0.97
0.966 to 0.974 between any two: nearly the same picture
Composed drawing
0.869
highest CLIPScore of the six
Composed butterfly
0.786
lowest CLIPScore of its three
Kernel, across both subjects
Same picks
edge direction, contrast against the ground and cohesion single out the same category
Mirror image
0.997
CLIP; the kernel reads Δx −0.074 → +0.074

The question

Generated images are scored mostly by metrics built around content. They ask whether the right objects are present, whether the picture matches its caption, and whether a set of outputs looks like real photographs. Those are good questions. They leave out a whole register of what makes a picture work: whether the ground is quiet or worked, whether the forms join into one structure or scatter, which way the edges run, where the weight sits in the frame. Call that the picture's visual vocabulary.

The claim tested here is not that content metrics punish visual interest. It is that they are indifferent to it. A picture with a rich visual vocabulary can score high on CLIP, and so can a plain one. The score moves with caption fit, and with the look of the medium, while the vocabulary sits somewhere the score does not look.

MetricWhat it measuresWhat it cannot see
FID, Fréchet Inception DistanceDistance between the feature distributions of generated and real imagesAnything the feature embedding discards, including arrangement. Varied texture over one repeated layout can score well.
KID, Kernel Inception DistanceThe same comparison with an MMD estimatorAs FID
IS, Inception ScoreHow confidently a classifier labels each image, and how many classes appearEverything beyond the label
CLIP-based scoresHow well an image matches a text captionHow the content is arranged, lit, or drawn, beyond what the caption names
GenEval, T2I-CompBenchObject presence, counts, attributes, and relations between named objectsHow the frame as a whole is organised: ground, cohesion, edge direction, weight

1. Two measurement systems

System 1: content (CLIP)

CLIP ViT-B/32 with the original OpenAI weights, run through open_clip. Two readings:

CLIP's standard preprocessing resizes each image to 224 pixels on its short side and crops the centre square. On these 2:3 portrait-format images, that discards the top and bottom sixth of the frame before CLIP sees anything. That is how the metric is normally run, and it is how it was run here.

System 2: the frame (VTL kernel)

The VTL kernel, Canon 3, run from its frozen notebook with no settings changed. The pipeline:

  1. Convert each image to luminance and resize it to 1536 pixels on the long side.
  2. Take the Sobel gradient field.
  3. Build a mass mask from the gradient band between the 85th and 97th percentiles.
  4. Compute the readings on that field and mask.

No semantics are involved, and nothing is learned. Alongside the core readings it reports a field package (gradient floor, ceiling and tail gap), a structure regime, and a region-biased contrast mask that merges nearby fragments into connected regions. The readings used below:

ReadingIn plain terms
Gradient floorHow worked the ground is: the 85th-percentile edge strength. High means texture and mark everywhere.
rv, void ratioShare of the frame that is quiet, with almost no edge activity
Tail gapHow far the strongest edges stand above the ground's own texture. Large means crisp shapes against a quiet field.
μ, cohesionWhether the structure is one body or many pieces
Structure regimeRegion (one large connected structure), texture (tens of thousands of specks), or hybrid
θ, orientation stabilityWhether the edges run mostly one way (high) or every way (low)
SDI, dispersionHow far mass spreads from its own centre
Δx, Δy, placementWhere the centre of mass sits relative to the frame centre
ρr, packingHow much of its own outline the mass fills

Kernel readings are coordinates, not grades. Higher cohesion is not better, and a centred picture is not worse. Exact definitions are at the end.

2. Three ways to make a picture

Each subject is made three ways, and the same three categories are used for both:

3. Three butterflies

A monarch on a pink zinnia. The clear subject is a plain render. The composed version is backlit, with a quiet dark ground and two blades of grass crossing the frame on a diagonal. In motion, the wings blur mid-beat while the body and flower stay sharp.

Clear subject
Composed
In motion
Monarch butterfly on a pink zinnia, plain render Monarch butterfly on a pink zinnia, backlit, with crossing grass blades Monarch butterfly with blurred wings landing on a pink zinnia
Gradient field: darker is stronger edge activity, on one fixed scale for all three
Gradient field of the clear-subject butterfly Gradient field of the composed butterfly Gradient field of the butterfly in motion
Region-biased mass mask
Region mask of the clear-subject butterfly Region mask of the composed butterfly Region mask of the butterfly in motion
Figure 1. One subject, three pictures. In the composed version the grass joins butterfly, flower and stem into one structure that crosses the frame. In motion, the blurred wings drop to ghost outlines and the weight gathers at the sharp body and flower.
ReadingClear subjectComposedIn motionWhat it describes
System 1: content
CLIPScore, "a monarch butterfly on a pink zinnia"0.8120.7860.809Caption fit; all three close
CLIP image similarity to Clear subject10.9740.966Nearly the same picture
System 2: the frame
Cohesion μ0.1310.3790.079Joined into one body by the grass; broken up by the blur
Structure regime (largest piece)hybrid (21%)region (45%)hybrid (3%)One dominant structure only when composed
Orientation θ0.0270.0140.009The plain render's edges run most consistently
Tail gap0.4940.5300.444Crispest shapes against the ground when composed
Gradient floor0.1230.0970.188Quietest ground composed; busiest in motion
Packing ρr12.914.616.2Mass fills more of its outline; most when the subject fills the frame
Dispersion SDI0.1960.1990.183Weight most gathered in motion
Placement Δx, Δy−0.03, +0.14−0.07, +0.13−0.09, +0.08Weight moves left and up
Mean luminance0.510.370.37Darker in both the composed and the in-motion picture

A painter would describe these three pictures in different terms: a subject set on a backdrop; layered diagonals, backlight and one connected structure; a body held still while the wings dissolve. Each of those has a number on the kernel side. On the CLIP side, all three pictures are about 97% the same, and their caption scores sit within 0.03 of each other. The plain render fits the caption a little better than the composed one, but that is a difference in caption fit, not a judgement about the picture.

4. Three drawings

One subject, a woman in a short dress, drawn three ways: standing frontally on an even ground (clear subject), turning against a heavily worked dark field (composed), and caught mid-step with looser hatching (in motion).

Clear subject
Composed
In motion
Charcoal drawing of a woman standing frontally on an even ground Charcoal drawing of a woman turning, against a dark worked field Charcoal drawing of a woman in motion, with loose hatching
Gradient field: darker is stronger edge activity, on one fixed scale for all three
Gradient field of the standing drawing Gradient field of the turning drawing Gradient field of the in-motion drawing
Region-biased mass mask
Region mask of the standing drawing Region mask of the turning drawing Region mask of the in-motion drawing
Figure 2. The clear subject reads as one silhouette on a quiet ground. In the composed drawing, the figure and the dark ground around it fuse into a single mass, a frame inside the frame. In motion, the figure breaks into pieces and merges into the hatching.
ReadingClear subjectComposedIn motionWhat it describes
System 1: content
CLIPScore, "a charcoal drawing of a woman"0.7620.8690.859How much it looks like charcoal
CLIP image similarity to Composed0.83510.968Composed and In motion are nearly the same picture
System 2: the frame
Gradient floor0.1680.5680.288Ground quiet, fully worked, or partly worked
Void ratio rv0.800.460.53Share of the frame left quiet
Tail gap0.1640.4710.175Hard edges where the dark field meets bare paper
Cohesion, region mask0.880.700.16One silhouette, figure fused with ground, or broken pieces
Orientation θ0.0130.0050.006The standing figure's verticals line up; hatching runs every way
Dispersion SDI0.2210.2410.249Gesture spreads the mass from its centre
Placement Δx−0.006−0.017−0.001All three are centred

Placement is not where these drawings differ: all three put their weight at the centre. They differ in the handling of the ground, the joining of figure to field, and the direction of the marks, and the kernel separates them on exactly those readings. Here the composed drawing has the highest CLIP score of all six pictures. Nothing suggests CLIP registered its worked ground or its frame within the frame. The caption score appears to follow the look of the medium: the clear subject, the drawing that looks least like charcoal, scores lowest.

The canonical mask reads charcoal as texture: 54,000 to 69,000 separate specks per drawing, which puts all three in the texture regime. On these images the canonical cohesion and packing values describe the hatching, not the figure. Following the notebook's own guidance, cohesion for the drawings is read from the region-biased contrast mask. Every canonical value is still listed in the full table below.

5. Same categories, two subjects

Put the two subjects side by side, category against category, and the two systems behave differently.

CategoryCLIPScoreOrientation θTail gapCohesion μ
DrawingButterflyDrawingButterflyDrawingButterflyDrawingButterfly
Clear subject0.7620.8120.01320.02730.1640.4940.00660.131
Composed0.8690.7860.00470.01360.4710.5300.00220.379
In motion0.8590.8090.00590.00910.1750.4440.00010.079

Bold marks the highest value in each column; italics mark the lowest cohesion. Cohesion here is from the canonical mask for both subjects, so the columns are comparable. On the drawings it is near zero throughout, because the mask is reading hatching, but the region-biased mask agrees: the drawing in motion is again the least cohesive (0.16, against 0.88 and 0.70).

That is what indifference looks like. A picture with a strong visual vocabulary can carry a high CLIP score, as the composed drawing does, or a lower one, as the composed butterfly does. Knowing the CLIP score tells you nothing about which kind of picture you are looking at.

6. The mirror

The composed butterfly, flipped left to right. Nothing else changes.

Composed
Mirrored
Composed butterfly Composed butterfly mirrored left to right
Figure 3. Which side the weight sits on is a compositional choice. One system registers it; the other barely does.
ReadingComposedMirrored
CLIP image similarity0.997
CLIPScore0.7860.773
Placement Δx−0.0742+0.0742
Δy, rv, ρr, μ, SDI, field packageidentical

The kernel reports the flip exactly: placement changes sign and every reading that does not depend on direction stays the same. Peripheral pull (0.276 against 0.278) and orientation (0.0136 against 0.0126) move very slightly, because the pixel boundaries of the edge band and the orientation bins are not perfectly mirror-symmetric. CLIP's embedding barely moves (0.997), and its caption score shifts by 0.013 with nothing in it to say which way the picture faces.

7. What this shows, and what it does not

  1. CLIP is indifferent to visual vocabulary. It neither rewards nor penalises it: visual interest is invisible to the score.
  2. Same content means nearly the same picture to a content metric. Every pair within a subject sits at 0.97 CLIP similarity, apart from the clear-subject drawing at 0.84 to 0.87, and a mirror image sits at 0.997.
  3. The differences live in readings content metrics do not have. A worked ground, figure fused with field, one connected structure, wings dissolving in motion, which side the weight sits on: each moved a kernel reading clearly, and three readings single out the same category in both subjects.
  4. The two systems are complements. CLIP answers whether the picture shows a monarch on a zinnia. The kernel answers how the picture is built. An evaluation that wants both needs both.

Limits. Six pictures and one run, chosen to illustrate rather than sampled, and one picture per category per subject. The matching extremes across subjects are a pattern to test on larger sets, not a finding. CLIPScore differences of about 0.01 in cosine are small, and a different CLIP model or caption could reorder them. FID, KID and IS were not computed. Kernel readings are coordinates, and their diagnostic power is in distributions: whether a model's outputs spread across these readings or cluster in one place. Separating individual pictures, as here, is the first step toward that, not a substitute for it. Nothing here is a claim about any particular generator.

The full measurements

ReadingDrawing: clearDrawing: composedDrawing: motionButterfly: clearButterfly: composedButterfly: motionButterfly: mirrored
Δx−0.0064−0.0167−0.0014−0.0315−0.0742−0.0850+0.0742
Δy+0.0105−0.0079+0.0094+0.1436+0.1328+0.0837+0.1328
rv0.80400.46030.53400.87680.89120.81520.8912
ρr12.04812.23512.34912.92114.61916.15414.619
μ0.00660.00220.00010.13110.37920.07900.3792
xp0.44530.44820.45310.26800.27630.26200.2782
θ0.01320.00470.00590.02730.01360.00910.0126
ds0.00200.00200.00200.00280.00290.00250.0029
SDI0.22070.24070.24920.19590.19920.18300.1992
Mass fraction0.11950.11920.11930.11920.11930.11920.1193
Gradient floor (85th)0.16840.56820.28820.12280.09690.18770.0969
Gradient ceiling (97th)0.33221.03920.46360.61640.62690.63140.6269
Tail gap0.16380.47100.17540.49360.53000.44370.5300
Mask components54,38054,31568,7078,8426,86712,0566,867
Largest component share0.0020.0010.0000.2120.4500.0280.450
Structure regimetexturetexturetexturehybridregionhybridregion
Region mask: μ0.8810.7030.1580.7040.5920.7530.592
Region mask: SDI0.1640.2360.2360.1830.1910.1720.191
Mean luminance0.4140.4260.4820.5100.3720.3720.372
CLIPScore0.7620.8690.8590.8120.7860.8090.773

For the butterflies the two masks answer different questions. The canonical mask asks how the edge energy connects; the region mask closes small gaps and asks how the large shapes connect. In the clear-subject and in-motion butterflies, closing merges the subject into one dominant region, while the composed picture keeps the grass, the butterfly and the second flower as separate large regions. Butterfly cohesion is therefore reported from the canonical mask, since none of the butterflies is in the texture regime.

Definitions

ReadingDefinition, as computed
Mass maskPixels whose Sobel gradient magnitude lies between the 85th and 97th percentiles of the frame, excluding a 2-pixel border. Percentile-based, so it is invariant to global contrast.
Δx, ΔyMask centroid minus frame centre, divided by width or height. Image coordinates: positive Δx is right, positive Δy is lower.
rv1 − share of pixels with gradient magnitude ≥ 0.15 (an absolute threshold).
ρr100 × mask area ÷ convex-hull area of the mask.
μpmax × (1 − H ÷ Hmax) over connected-component sizes: dominance of the largest piece, weighted by how unevenly mass is split.
xpShare of total gradient magnitude in the outer 15% band of the frame.
θ1 − entropy of the magnitude-weighted gradient orientation histogram (8 bins) over the mask, ÷ log2 8.
dsMean thickness along the mask's skeleton, ÷ the shorter image side.
SDIMean distance of mask pixels from their centroid, ÷ the frame diagonal.
Gradient floor, ceiling, tail gap85th and 97th percentiles of gradient magnitude, and their difference.
Structure regimeRegion if the largest component holds more than 25% of the mask; texture if there are more than 20,000 components and the largest holds under 1%; otherwise hybrid.
Region-biased maskThe canonical mask after a binary closing (disk radius 2) and removal of islands smaller than 0.05% of the frame. A contrast view; it does not replace the canonical mask.
CLIPScore2.5 × max(cos(image embedding, caption embedding), 0), CLIP ViT-B/32, OpenAI weights, standard preprocessing.

Reproduction

Kernel: VTL Kernel Metrics, Canonical Gradient Field Extractor, Canon 3 with SDI. Device constants are unchanged: long side 1536, gradient band 85th to 97th percentile, rv threshold 0.15, 8 orientation bins, 15% edge band. Python 3.14.3, NumPy 2.5.4, scikit-image 0.26.0. OpenCV 5.0.0; the five images also run under OpenCV 4.13.0 gave identical values, and a repeated run returned the same vector. CLIP: open_clip 3.3.0, PyTorch 2.14.1, ViT-B-32 / openai. The mirrored image is the composed butterfly flipped horizontally in OpenCV.

ImageSHA-256 of the source file
Drawing, clear subject (standing)65ac664a29775d9a31925951792bebcdf1458a8366a9cf3bf37a356a38bbbc72
Drawing, composed (turning)71d4f3b97248b5b6099f2ab374a33271c6dd508bbe2ae5b8c3f57aeb1f254750
Drawing, in motion2f951de73dac968f9a0a9bf4a34377ea6057edf2e564c699f7cd5ab8870679b4
Butterfly, clear subject8197c4f886e767572f8277cbbca60f6767648fed8e19d284ba1019edce36de79
Butterfly, composed7a328136ab5a368166ca32b926759ec9bd2671485ca9ded97bfc48f198238bfa
Butterfly, in motion4c2fe60f2c18ff911eae7106c9b17aa49fca531a7b03994754ce2b16cacd73f4