BIION-D Docs

Caso 2: Dischi plastica — Due pipeline fronte/retro con crop YOLO e anomalia

Esercizio di formazione 2 — Due pipeline fronte/retro per un disco in plastica, con crop YOLO, Anomaly Detection e is_pretrained durante l'addestramento.

Panoramica dello scenario

Ispeziona un disco in plastica alla volta con due pipeline, una per il fronte e una per il retro. Ciascuna pipeline usa YOLO per localizzare e ritagliare il pezzo prima di passare l’immagine ritagliata al proprio modello di Anomaly Detection:

  • Ispezione superficie frontale: difetti estetici, leggibilità dell’incisione laser, graffi e riempimenti incompleti dello stampaggio.
  • Ispezione superficie posteriore: segni dei perni di estrazione, cricche, linee di giunzione dello stampaggio e bave perimetrali.
  • Decisione sul caso peggiore: il verdetto di qualità complessivo aggrega entrambe le ispezioni: se una delle due facce (fronte o retro) risulta difettosa, il disco viene scartato.

La sfida del posizionamento variabile del pezzo

Sui trasportatori o sui nidi di trasferimento, il disco non arriva sempre nelle stesse identiche coordinate in pixel:

  • Eseguire l’Anomaly Detection sull’intero frame della telecamera includerebbe aree di sfondo variabili (trama del nastro, ombre, bordi del supporto), causando falsi positivi.
  • Per ottenere un’ispezione ripetibile, YOLO deve prima individuare il bounding box del singolo disco in ciascuna pipeline.
  • Un Plugin ritaglia il frame originale attorno al disco rilevato con un margine di sicurezza.
  • Il modello di anomalia ispeziona unicamente la superficie isolata del disco.

Consigli e guida pratica

Concetto chiave: l’impostazione is_pretrained durante l’acquisizione: Quando si raccolgono immagini di addestramento per i modelli di Anomaly Detection, il sistema opera in modalità Acquisition. Con le impostazioni predefinite (is_pretrained = false), un modulo di inferenza salta l’inferenza per raccogliere dati per sé stesso. Se il localizzatore Object Detection ha is_pretrained = false, non verrà eseguito in modalità Acquisition e non produrrà alcun bounding box per lo script di crop. L’impostazione is_pretrained: true forza il rilevatore YOLO a eseguire l’inferenza anche in modalità Acquisition, consentendo allo script di ritaglio di fornire immagini ritagliate del disco al dataset del modello di anomalia.

Best practice per lo script di ritaglio: Recupera il frame originale e i rilevamenti tramite Data.get(). Aggiungi un margine di sicurezza (es. 10–20 pixel) attorno alle coordinate del bounding box e vincola sempre le coordinate entro i confini del frame (0 a width-1, 0 a height-1) per evitare errori di indicizzazione. Se non viene rilevato alcun oggetto, registra un avviso e scarta quel campione anziché aggiungere un frame non ritagliato al dataset di anomalia. Esporta la sotto-immagine ritagliata usando Data.export("cropped_disc", cropped_image).

Aggregazione multi-pipeline: BIION-D aggrega automaticamente la conformità di tutte le pipeline in un Action Plan attivo secondo la gerarchia BAD_UNC_GOOD: $\text{Overall} = \max(\text{Front}, \text{Back})$. Un pezzo viene accettato come Compliant (0) solo se entrambe le ispezioni (Front_Inspection e Back_Inspection) restituiscono 0. Se una delle due restituisce Defected (2), l’intero Action Plan viene valutato come Defected (2).


Criteri di accettazione

La soluzione sarà valutata in base ai seguenti criteri:

  • [ ] L’Action Plan contiene due pipeline distinte (Front_Inspection e Back_Inspection) che ispezionano il fronte e il retro di un disco.
  • [ ] In entrambe le pipeline, il modulo Object Detection ha il flag is_pretrained: true abilitato.
  • [ ] In modalità Acquisition, lo script di ritaglio viene eseguito correttamente e solo le immagini ritagliate del disco vengono raccolte nei dataset di addestramento di anomalia.
  • [ ] Entrambi i modelli di anomalia (fronte e retro) vengono addestrati con successo sui rispettivi dataset ritagliati.
  • [ ] Un disco con un graffio solo sul fronte produce Front = Defected, Back = Compliant, Overall = Defected.
  • [ ] Un disco con un graffio solo sul retro produce Front = Compliant, Back = Defected, Overall = Defected.
  • [ ] Un disco completamente privo di difetti produce Front = Compliant, Back = Compliant, Overall = Compliant.