← all work deep-computer-vision

Industrial anomaly

MVTec AD is fifteen categories of manufactured parts. The training set contains **only

Result

mean image AUROC
**frozen ResNet-50 features****0.9379**
raw 32×32 pixels, identical pipeline0.6700
published PatchCore (trains a coreset)~0.991

The finding

What the features are worth depends on what you are inspecting

The raw-pixel control runs the same bank, the same distance and the same scoring rule — only the representation differs. Splitting the fifteen categories into MVTec's own texture and object groups:

The representation is worth 2.3× more on objects than on textures. On a texture, a defect is a local statistical break and raw pixels already catch most of it — leather scores 0.9808 on pixels alone against 1.0000 with features. On an object, the defect is a part being wrong in a specific place, and raw pixels are near chance: metal_nut scores 0.4040 on pixels — *below* 0.5, so worse than guessing — against 0.9878 with features.

Without the control, 0.9379 would have read as a fact about the method. It is mostly a fact about where the representation is doing the work.

Elsewhere

Code and full results on GitHub

Every number is read from the file the run produced. github.com/hammasbuilds · kaggle.com/muhammadhammas13