Spot defects before they leave the line.
Defecto learns what a good part looks like from photos of good parts only, then scores every new part and shows where it differs. No library of defect photos needed.
How it works
Learn the good part. Flag everything else.
Defects are rare and varied, so collecting examples of every one is impractical. Anomaly detection turns the problem around: model normal parts precisely, and measure how far each new part strays from them.
Learn from good parts
A few hundred photos of good parts become a memory bank of small image patches, using features from a pretrained ResNet18.
Score every patch
Each patch of a new part is compared with its nearest good-part memory. Unusual patches light up the heatmap and raise the score.
Decide with three bands
Thresholds are fitted on a separate validation split: confident defects are rejected, uncertain parts go to a person.
Measured, not promised
Results on held-out test parts.
Three VisA products. Training used good parts only; thresholds came from a separate validation split; every number below comes from test parts nothing was fitted on.
| Product | Image AUROC | Pixel AUROC | Defects caught at FAIL | Good parts rejected | Defects past REVIEW |
|---|---|---|---|---|---|
| Loading results… | |||||
Small defects on a tray of many capsules are only a few pixels wide at the 256 px model input, which is why Capsules scores lowest; a production build would tile the image or raise the resolution. Full ROC curves, confusion counts and latency are in the evaluation report.
Where it fits
Any line where “good” looks consistent.




See it on your own parts.
A pilot trains on photos from your station and reports escape and false-reject rates on parts the model has never seen.