top of page

Every Part Looks Fine. The Assembly Is Wrong.

11 minutes ago
2 min read

Imagine inspecting an assembly kit. The tray should contain five washers. This one contains four.


Every washer looks perfect. No scratches, no contamination, no unusual shape.


The kit is still wrong.


That sounds obvious to a person. But a vision system trained to recognise unusual appearances may be answering a different question.


Familiar doesn’t mean correct


Consider a simple patch-based anomaly detector. It compares each image patch with a memory bank of normal examples, then flags the worst match:


s(x) = maxᵢ minₘ∈M ‖fᵢ(x) − m‖₂


Here, fᵢ(x) represents a patch’s features, and M contains normal patch features. This is the basic nearest-neighbour scoring idea behind approaches such as PatchCore, before its additional score weighting.


Now return to our tray.


The remaining washers resemble normal washers. The newly exposed background might resemble background seen elsewhere. If the features don’t capture enough context, every patch can find a reassuring match.


What that comparison doesn’t explicitly enforce is “there must be five washers.”


Context-aware features may catch the missing part. But recognising familiar appearances is not, by itself, a guarantee that the assembly follows its specification.


This distinction separates structural anomalies, such as scratches, from logical anomalies, such as missing components or objects in the wrong location. The MVTec LOCO AD benchmark was built to test both.


Add the missing constraint


For this kit, I’d start by separating two checks: whether the washers look acceptable, and whether the required five are present.


With reliable component detection, the second check can be a count. In a fixed fixture, checking occupancy at each expected position may be more useful. Neither requires pretending that a texture-anomaly score already understands the assembly specification.


Research such as ComAD explores this component-aware direction through measurements and relationships. It also exposes a practical limit: imperfect segmentation and overlapping parts can make counting difficult. The extra check needs validation too.


Before changing the model, I’d create a small challenge set: remove a washer, add an extra one, and move one into the wrong compartment. Keep the individual washers visually flawless.


Those examples reveal whether the system understands the requirement—or merely recognises the ingredients.


A collection of normal-looking parts is not necessarily a correct product.

Recent Posts

See All

Let's talk industrial AI, engineering, and teams.

Thank you for reaching out!

© 2026 by Zeeshan Karamat. All rights reserved.

bottom of page