Why most defect stations underperform
The pattern we keep seeing on existing inspection cells: a good camera, a decent model, no thinking about the 23.5 hours a day when nobody is watching. Defect inspection is a 24/7 problem with a 9-to-5 design budget, and that's why so many of these stations end up muted at the PLC.This is the checklist we use when we're building a new one from zero.
Mechanical first, software last
The single biggest correlate of station reliability isn't the model — it's the mechanical envelope. Everything we ship now starts with:- Vibration isolation. Sorbothane pads under the camera mount. Decoupled from any moving frame.
- A lighting hood. Ambient light is the #1 driver of false rejects. A simple aluminium hood removes it.
- Fixed working distance. No "we can adjust later" — pick a number, build the bracket, lock it.
- An accessible cleaning path. If you can't wipe the lens in 30 seconds, the operator won't.
Triggering: get this wrong and the rest doesn't matter
Three options, in order of preference:- Encoder-triggered, line-locked — the camera fires on a known position. Best repeatability, requires an encoder feed.
- PLC-triggered — the PLC tells the camera when a part is in frame. Easier integration, higher latency, more sensitive to timing drift.
- Free-run with detection — last resort. Use only when the line speed is genuinely variable and there's no PLC integration available.
We have never regretted spending an extra day routing an encoder signal.
Storage architecture nobody plans for
A 5 MP mono camera at 30 fps produces about 50 GB of raw images per hour. You don't keep all of it — but you also don't keep none of it, because the day a customer disputes a reject, you need the image.Our default:
- Hot — last 7 days, full resolution, on local NVMe. ~8 TB.
- Warm — last 90 days, JPEG-compressed thumbnails of rejects only, on a NAS. ~200 GB.
- Cold — full-resolution rejects only, S3-compatible bucket, lifecycle to glacier after 90 days.
This pattern survives audits, disputes, and "can you show me the image from June 14th at 3:42 pm?" without breaking the budget.
Metrics ops actually cares about
Don't report accuracy. Report:- False reject rate (FRR) — good parts marked bad. This is the cost-of-quality metric.
- False accept rate (FAR) — bad parts marked good. This is the customer-complaint metric.
- Dwell time — how long parts wait at the station. If the station is bottlenecking the line, ops will mute it.
- Daily camera health — exposure stability, focus score, frame rate. A station that's still running but hasn't seen sharp images for a week is not running.
The post-mortem habit
Every false reject and false accept goes into a labelled folder. Once a month, the team retrains on the new examples. Not on the same dataset for six months — that's the path to a model that slowly stops mattering.What does your station downtime look like? Curious how others are handling cleaning + recalibration cadence in three-shift environments.