The most underestimated problem in machine vision is production variation. Most systems fail because reality changes - not because the software is wrong.
Sources of variation
- Material changes
- Tool wear
- Operator differences
- Supplier changes
- Environmental changes (temperature, humidity, ambient light)
A drift story
A system ran flawlessly for five months, then false rejects climbed from 0.3% to 4% over two weeks. Nothing had changed - according to everyone.
The image archive said otherwise: average background brightness had been creeping up for a month. The cause was seasonal - lower ambient humidity changed how a coating cured, which changed its surface gloss, which raised reflectivity under the ring light. The process was in spec the whole time. The inspection threshold was simply calibrated to a world that no longer existed.
The fix took an afternoon. Finding it took two weeks - because nobody was watching the trend, only the failures.
Watch trends, not just failures
The cheapest insurance I know: log a handful of per-image statistics forever.
- Mean and standard deviation of background regions.
- Score distribution of passing parts, not just failures.
- Focus metric and brightness of a fixed reference feature, if one exists in view.
A reject rate alarm tells you the system has already failed. A drifting mean tells you it is going to fail, usually weeks earlier. Plotting the score distribution of good parts is the single most informative chart in this field: the day its histogram starts sliding toward the threshold is the day to act.
My rule
Never ask "Does it work?"
Ask "When will it stop working?"
Framing it this way forces you to find the edges of the operating window before production finds them for you. For every key parameter - brightness, position, focus, part finish - know the value at which the system breaks, and how far today's production sits from that edge. The margin, not the current performance, is the health of the system.