Manufacturing
Visual inspection on a plastics line, and the OEE story underneath it
A camera-based defect check at the end of a moulding line, plus the line telemetry that showed the real losses were upstream of the defects.
- Escaped defects to customer
- cut by roughly three-quarters
- Inspection labour per shift
- three stations → one
- Unplanned downtime identified as avoidable
- over a third
- Sector
- Injection moulding, automotive tier-2
- Scope
- 3 lines, 11 part families
- Engagement
- Pilot, then plant rollout
- Duration
- 7 months
Stack
- PyTorch
- ONNX Runtime
- NVIDIA Jetson
- OPC UA
- MQTT
- TimescaleDB
- Grafana
- React
Practices involved
Discuss a similar problemThe situation
Three operators per shift inspected mouldings by eye under a lamp. Escaped defects triggered customer complaints roughly twice a month, each one expensive in credit notes and more expensive in the supplier scorecard. The plant wanted a camera to replace the lamp.
The constraint
Two things made the obvious approach fail. First, defect examples were rare and unevenly distributed: plenty of short shots, almost no sink marks, and the ones that mattered commercially were the rare ones. Second, the line changes part family up to four times a day, and a system that needs retraining per changeover will be switched off within a fortnight.
What we built
Anomaly-first, classification second
Rather than a classifier requiring balanced examples of every defect, the primary model learns what a good part looks like per family and scores deviation. Anything above threshold is flagged. A lighter classifier then labels the common defect types where we had enough examples to be honest about it. Unknown defects still get caught; they simply arrive labelled "anomalous" rather than mislabelled.
Fixed optics, because lighting is the model
Most of the accuracy came from the enclosure: fixed geometry, controlled lighting, a trigger tied to the ejection signal. We spent more of the pilot on the rig than on the network.
Inference at the edge, with a real feedback button
Models run on the line, so a network problem does not stop production. The operator screen shows the part, the score and the region that triggered it, and offers two buttons: confirm or reject. Those judgements go back into the training set. The operators became the labelling function, which is also why they kept using it.
The telemetry nobody asked for
While instrumenting the trigger we pulled cycle time, machine state and downtime reasons from the controllers over OPC UA. That produced a proper OEE view, and it showed that defects were the smaller loss. A third of unplanned downtime traced to two mould-change procedures with no standard sequence. The vision system paid for itself; the downtime analysis paid for the next two projects.
What changed
Escaped defects dropped by roughly three quarters and inspection moved from three stations to one reviewing flagged parts. The plant now has a shared, non-negotiable definition of downtime reasons, which had previously been a source of argument between shifts.
What we would do differently
We set the initial alert threshold to favour recall and generated enough false positives in week one that the line supervisor nearly pulled the pilot. A tuning period with the system in advisory mode — flagging without stopping anything — should have been the default starting state.
Outcomes
- Escaped defects to customer
- cut by roughly three-quarters
- Inspection labour per shift
- three stations → one
- Unplanned downtime identified as avoidable
- over a third
Client identity withheld under a mutual NDA. Figures are illustrative — rounded and directional, meant to show the shape of the change rather than an audited result. We will walk through the real numbers, and how they were measured, under NDA on a call.
More work
Other engagements.
Case studiesCutting stockouts across 240 stores with a forecast the buyers trust
A hierarchical demand forecast, a promo-aware feature store and a replenishment workflow the category team can override — because a model nobody overrides is a model nobody uses.
Read the case studyShipping firmware to 6,000 imaging consoles without a truck roll
A signed, resumable, rollback-safe update channel for regulated ultrasound hardware sitting on hospital networks that block almost everything.
Read the case studyA reproducible pipeline for a diagnostics lab that had outgrown its scripts
Genomic and assay data moving from instruments to reportable results, with provenance for every derived value and a turnaround clock the lab director can see.
Read the case studyNext step
Tell us what you're trying to ship.
Send the brief, the RFP, or three messy sentences about the problem. You get a written point of view from an architect within two working days — not a sales deck.