Shell only. The camera and the enrolment are real. The score is a placeholder that follows Nazar's measured screw curve, because the backbone is not wired up yet. Nothing here is a measurement.
YAAD teach it what good looks like, then it finds the bad one
starting enrolling
no camera yet

This needs your camera. Nothing leaves the device.

turn the camera on first
score-nothing enrolled
enrolled0good parts
bank0patches, 152 dims
frame-fps, camera only

Nothing is enrolled, so it has no idea what a good part looks like and cannot judge anything.

What this will be

Nazar showed that PatchCore works: 98.87 mean image AUROC across all 15 MVTec categories, 0.12 off the published figure. It answered "does the method work". It could not answer the question a line asks next: can the person standing at the machine set it up themselves, in a minute, with nobody from the ML team in the room.

Enrol

Hold any part in front of the camera and turn it. Every frame becomes 784 patches of what normal looks like. No labels, no defects, no training run.

Inspect

Show it a damaged one. Each patch is scored against the memory you just built, on your own GPU, and the worst patch lights up.

Find the limit

Enrol three parts and it flags everything, good ones included. Enrol twenty five and it works. Nazar measured that curve. Here you feel it.

Nothing is uploaded

The frames never leave the phone. Only the score and a timestamp are logged, which is the same thing a line would keep.

What is honest here, and what is not

What a phone-sized backbone costs

The published PatchCore uses WideResNet50-2, which is far too big to run in a browser. Yaad uses MobileNetV3, which is small enough. Both columns come from the same pipeline on the same data at the same coreset, so the difference is the backbone and nothing else.

About

Dr. Safeer Ali Mirani

Yaad is the enrolment half of PatchCore, moved onto the phone. Nazar answered whether the method works. This answers whether the person at the machine can set it up themselves, from good parts only, with nobody from the ML team in the room.

The method

PatchCore, Roth et al., CVPR 2022. A memory of good-part patches, scored by nearest-neighbour distance. Enrolment and scoring both run in the browser.

The backbone

MobileNetV3-Large features up to the stride-16 tap, ImageNet weights from torchvision, batchnorm folded into the convolutions, run as hand-written WGSL. 1.5 MB of weights.

The compute

Nothing offline is required to use it: the whole model runs on your GPU. The one measured number, the AUROC cost of the small backbone, came from the Nazar pipeline on MVTec AD.

The privacy

Camera frames never leave the device. Only the score and a timestamp are logged, which is the same thing a production line keeps. On a factory floor that is a feature, not a limit.