Researchers built a synthetic-data pipeline that teaches AI to spot scratches - without needing thousands of real defective parts to train on.
The pipeline, called ScratchSim, uses BlenderProc to procedurally render surface scratches on 3D models, varying material appearance, camera angles, and lighting through domain randomization, then auto-generates COCO-format annotations. The team tested four training approaches - synthetic-only, real-only, mixed, and fine-tuning from synthetic weights - on two objects with different material properties, running each through three lightweight detectors built for edge deployment: YOLOX, YOLO26, and LW-DETR. Fine-tuning models pretrained on synthetic scratches beat real-data-only training every time, and blending synthetic and real data recovered most of the lost performance when real examples were scarce. The results held across both convolutional and transformer-based detector architectures. The pipeline scripts, a 3D model, and both synthetic and real annotated datasets for a glossy toy Ferrari are posted on GitHub.
Annotated defect data is the actual bottleneck in industrial inspection - factories do not have piles of labeled scratched parts lying around, and generating them usually means intentionally damaging inventory. Shifting that burden from data collection to compute is a trade most manufacturers will happily make, especially for detectors small enough to run on a line camera instead of a cloud GPU.
It is a toy Ferrari and two test objects, not a factory floor, so the real test is whether these gains hold up on the oily, dented, inconsistent parts that actually pass through inspection.