[{"data":1,"prerenderedAt":122},["ShallowReactive",2],{"work-manufacturing-defect-detection":3,"work-next-\u002Fwork\u002Fmanufacturing-defect-detection":119},{"id":4,"title":5,"accent":6,"body":7,"client":83,"cover":84,"coverAlt":85,"description":86,"duration":87,"extension":88,"featured":89,"industry":90,"meta":91,"navigation":92,"order":93,"path":94,"quote":95,"results":96,"seo":106,"services":107,"stack":108,"stem":116,"year":117,"__hash__":118},"work\u002Fwork\u002Fmanufacturing-defect-detection.md","Computer-vision defect detection on a packaging line","#12305C",{"type":8,"value":9,"toc":75},"minimark",[10,19,24,28,32,59,63,68,72],[11,12,13,14,18],"p",{},"A packaging manufacturer relied on manual spot checks to catch print, seal and label defects on a line running several units a second. We deployed a ",[15,16,17],"code",{},"computer-vision"," inspection system (cameras, edge inference and a defect dashboard) that flags faults in real time and diverts them before palletising. Defective units reaching final inspection dropped by around 60%. ",[20,21,23],"h2",{"id":22},"challenge","Challenge",[11,25,26,27],{},"Operators pulled samples every fifteen minutes, so a misaligned print head or a weak heat-seal could run for a quarter of an hour before anyone noticed. Customer complaints about labels and seals were the plant's biggest quality cost. "," The line could not slow down, lighting varied by shift, and there was no labelled dataset, only a folder of complaint photos. The client also had no GPU servers on site and limited bandwidth to the cloud.",[20,29,31],{"id":30},"what-we-built","What we built",[33,34,35,39,43,46,53],"ul",{},[36,37,38],"li",{},"Two industrial cameras with controlled LED lighting at the seal and label stations, and a capture rig that logged frames for a fortnight before any model was trained.",[36,40,41,42],{},"A labelling workflow with the quality team; roughly 12,000 frames "," annotated across seven defect classes, with synthetic augmentation for rare seal faults.",[36,44,45],{},"A YOLOv8 detector optimised with TensorRT on NVIDIA Jetson devices at the line, running under 40 ms per frame so no unit is missed at full speed.",[36,47,48,49,52],{},"A reject signal to the line PLC over MQTT, and per-shift defect analytics in Grafana feeding the plant's quality system (",[15,50,51],{},"data-analytics-predictive-ai",").",[36,54,55,56,52],{},"Model versioning, drift monitoring on confidence distributions and a monthly retraining loop from operator-confirmed samples (",[15,57,58],{},"mlops-ai-infrastructure",[20,60,62],{"id":61},"results","Results",[11,64,65,66,67],{},"On the held-out test set the detector reached about 96% recall with a false-reject rate the plant accepted after tuning thresholds per class. "," Defective units reaching final inspection fell by around 60% in the first quarter ",", and the shift analytics identified one print head responsible for most label faults, which maintenance had not seen. Operators trust the overlays because every reject shows the frame and the bounding box that caused it.",[20,69,71],{"id":70},"what-made-the-difference","What made the difference",[11,73,74],{},"We insisted on two weeks of plain data capture before promising accuracy figures. Seeing the real distribution of defects, and how rare some were, shaped the class list, the augmentation strategy and honest expectations with the plant manager.",{"title":76,"searchDepth":77,"depth":77,"links":78},"",2,[79,80,81,82],{"id":22,"depth":77,"text":23},{"id":30,"depth":77,"text":31},{"id":61,"depth":77,"text":62},{"id":70,"depth":77,"text":71},"Food-packaging manufacturer (Poland)","\u002Fcovers\u002Fwork\u002Fmanufacturing-defect-detection.svg","Abstract navy cover with a rising cyan course line","Camera-based inspection that catches print, seal and label defects in real time on a high-speed packaging line, with results fed to the plant's quality system.","14 weeks including a 4-week pilot","md",false,"Manufacturing",{},true,14,"\u002Fwork\u002Fmanufacturing-defect-detection",null,[97,100,103],{"value":98,"label":99},"~96%","defect recall on the held-out test set",{"value":101,"label":102},"-60%","defective units reaching final inspection",{"value":104,"label":105},"\u003C40 ms","inference per frame at line speed",{"title":5,"description":86},[17,58,51],[109,110,111,112,113,114,115],"PyTorch","YOLOv8","OpenCV","NVIDIA Jetson","TensorRT","MQTT","Grafana","work\u002Fmanufacturing-defect-detection","2024","EsLY0jZPLf92rd_dBMarGXlwpUNDCMW4qdwjECRS1pM",{"path":120,"title":121},"\u002Fwork\u002Fon-prem-llm-regulated-insurer","On-premises open-source LLM platform for a regulated insurer",1792973684173]