Skip to main content

SLOP8412 / Image lab / Prototype 02

Same photograph.
A different measurement.

Changing how images are encoded can change FID without changing what they depict. Put compressed pixels beside their originals, then measure what the feature extractor sees.

Bring your own images

Select 2–8 images together
Choose JPEG or PNG files in one selection. A single image is not enough to estimate the sample covariance.

In the file picker, use Ctrl-click (Windows), Command-click (Mac), or Shift-click to select multiple files. These form the reference set; candidate copies are created automatically. Nothing is sent to a server.

Ready for one selection of 2–8 images.

Limits: 5 MB per file, 20 MB total; 4096 pixels per side, 16 MP per image, 32 MP total. Static JPEG/PNG pixels only. Transparency is composited on white. Originals are not modified or saved.

Using the supplied eight-crop example.

Can compression move FID even when the photographed subject has not changed?

Pairing is by displayed position. Shuffling changes the pairing, not the collection or its FID. Measure once, then shuffle without rerunning Inception.

Reference

01 / 8 crops
Reference crop 1 of the astronaut photograph
01
Reference crop 2 of the astronaut photograph
02
Reference crop 3 of the astronaut photograph
03
Reference crop 4 of the astronaut photograph
04
Reference crop 5 of the astronaut photograph
05
Reference crop 6 of the astronaut photograph
06
Reference crop 7 of the astronaut photograph
07
Reference crop 8 of the astronaut photograph
08

Eight fixed crops of one photograph. The same inputs are used every run.

Candidate

02 / matched crops
JPEG-compressed crop 1 of the same photograph
01
JPEG-compressed crop 2 of the same photograph
02
JPEG-compressed crop 3 of the same photograph
03
JPEG-compressed crop 4 of the same photograph
04
JPEG-compressed crop 5 of the same photograph
05
JPEG-compressed crop 6 of the same photograph
06
JPEG-compressed crop 7 of the same photograph
07
JPEG-compressed crop 8 of the same photograph
08

JPEG quality 10, decoded and saved as PNG. Compression changes the pixels; saving as PNG does not undo it.

First run downloads an 87 MB model + approximately 11 MB runtime. Runs on your device, without uploads or an inference server. Desktop recommended. Allow up to three minutes.

Ready. No model is loaded until you choose Measure.

What exactly is being measured?

Each image becomes a vector of 2,048 Inception features. We estimate a mean and a full sample covariance for each set, with divisor n − 1. The score is the squared Gaussian distance between those estimated moments.

  1. Read the supplied 128 × 128 RGB pixels as values between 0 and 1.
  2. The FID-specific Inception model resizes to 299 × 299, normalises to [−1, 1], and extracts pool3 features.
  3. Compare both means and covariances. All 2,048 coordinates are retained; correlations are not discarded.

With n images the sample covariance has rank at most n − 1: seven for the eight-image demo. We use an exact sample-factor identity to evaluate its cross term through a small matrix, without reducing the feature space. Floating-point rounding still applies.

X = (reference_features - reference_mean) / sqrt(n_reference - 1)
Y = (candidate_features - candidate_mean) / sqrt(n_candidate - 1)

mean_term = sum((reference_mean - candidate_mean) ** 2)
covariance_term = sum(X ** 2) + sum(Y ** 2)
                  - 2 * sum(singular_values(X @ Y.T))
FID = mean_term + covariance_term

This calculation uses freshly extracted browser features, not a stored score. Shuffling reuses those features: the collection-level FID stays fixed, while the paired readout is recalculated. The record includes processing settings, candidate order and feature vectors in original order. Local filenames and original files are not exported, but the feature vectors are derived from your images; treat the record as private.