Il livello di fiducia a runtime tra il modello di visione e l'attuatore

La tua AI di ispezione non ha un problema di accuratezza. Ha un problema di inviluppo.

Un modello al 97% in laboratorio può arrivare a un tasso di falso scarto del 14% in produzione, non perché il modello sia peggiorato ma perché i riflessi, gli stampi freddi e i cambi turno hanno fatto uscire gli input dalla distribuzione su cui era stato validato. L'Inspection Trust Gate confronta ogni immagine con l'inviluppo validato del modello, applica cancelli deterministici che il modello non può sovrascrivere, trattiene per revisione umana tutto ciò che è fuori inviluppo e scrive un record di lineage di audit per pezzo. Gli agenti consigliano, il codice decide.

0

Pezzi buoni in deriva scartati automaticamente dal cancello

La baseline ingenua produce falsi scarti dal 95.5 al 100% (split held-out MVTec metal_nut)

93/93

Pezzi difettosi in deriva comunque intercettati o in escalation

Mai approvati automaticamente (stesso split held-out)

1.00

AUROC dell'inviluppo su una famiglia di deriva held-out

Mai tarato su di essa, quindi il controllo non è circolare (split held-out MVTec metal_nut)

Questa è una demo eseguibile. L'attuatore PLC e il sink MES sono adapter simulati che registrano ciò che farebbero, le immagini dei pezzi sono fotografie reali MVTec AD metal_nut, e la deriva è una corruzione onesta delle immagini applicata a foto reali di pezzi buoni.

Un modello al 97% in laboratorio. Un tasso di falso scarto del 14% sulla pressa.

La modalità di fallimento che blocca i deployment di ispezione edge è un fallimento degli input, non un fallimento del modello.

Il caso canonico della nostra ricerca è una pressa a stampo progressivo da 200 tonnellate a 40 colpi al minuto: un modello di visione che ha raggiunto il 97% di accuratezza in validazione collassa a un tasso di falso scarto del 14% in produzione. Il modello non è peggiorato. I riflessi delle luci a soffitto del capannone variano per angolo di colpo, il lubrificante si accumula in modo diverso su stampi caldi e freddi, e i primi 50 pezzi di un turno arrivano prima dell'equilibrio termico. Gli input sono usciti dalla distribuzione su cui il modello era stato validato, e nessun modello, a qualsiasi accuratezza, è affidabile lì.

Il pattern di settore dice che il modello non è mai stato il progetto. I sistemi AOI out-of-box scartano per errore dal 5 al 15% dei pezzi buoni, mentre i sistemi ben tarati scendono sotto il 2%: un problema di calibrazione e di dati, non di architettura del modello. L'integrazione è il 60% della timeline di un deployment e l'addestramento del modello il 15%, e l'84% dei progetti di system integration fallisce o fallisce in parte.

La regolazione alza la posta. Gli obblighi ad alto rischio dell'EU AI Act, che coprono le decisioni di qualità critiche per la sicurezza ai sensi dell'Allegato III, sono pienamente applicabili dal 2 agosto 2026, con sanzioni massime di 35 milioni di euro o il 7% del fatturato globale per le violazioni più gravi, di pratica vietata. Un attuatore di scarto che si attiva su un verdetto di un modello non validato, senza alcun record del perché, è esattamente ciò che quel regime è progettato per far emergere.

La soluzione non è un modello migliore. Anche un modello perfetto è valido solo su input all'interno del suo inviluppo validato. Ciò di cui la linea ha bisogno è un livello a runtime che conosca quell'inviluppo, rifiuti di attuare al di fuori di esso, e possa dimostrare, pezzo per pezzo, cosa ha deciso e perché.

Come funziona l'Inspection Trust Gate

Un cancello deterministico decide cosa viene attuato, non un modello e non un LLM.

Ogni pezzo percorre la stessa pipeline:

immagine → feature fisiche + di texture → controllo dell'inviluppo (OOD) → verdetto di difetto → cancello deterministico → attua / trattiene → record di audit

1. L'inviluppo validato

Un EnvelopeDetector calcola la distanza di Mahalanobis nello spazio dei segnali fisici (esposizione, contrasto, gamma dinamica, fuoco, dettaglio ad alta frequenza, dominante di colore termica, saturazione, frazione di glare), calibrato su 220 immagini train-good. Risponde a una sola domanda: questa immagine è all'interno delle condizioni di acquisizione su cui il modello è stato validato? Fuori inviluppo significa che nessun output del modello è ritenuto affidabile.

2. Il cancello deterministico

Codice puro, esterno a qualsiasi LLM, che il modello non può sovrascrivere: soglie di confidenza calibrate adattate dai dati della demo stessa (auto-pass sotto 0.948, auto-reject sopra 1.30) e un budget di latenza rigido di 750 ms sulla finestra di colpo. Ogni pezzo viene instradato a AUTO_PASS, AUTO_REJECT o HOLD, che lo invia a una coda di escalation umana.

3. Il lineage di audit

Ogni decisione scrive un record JSONL: id del pezzo, stazione, id e versione del modello, hash del dataset, confidenza di difetto, punteggio OOD, segnali fisici, le regole del cancello che si sono attivate, latenza rispetto al budget, log di attuazione e MES, e il tag di rischio high-risk:quality-gate (EU AI Act Allegato III, eff. 2026-08-02). Un clic esporta il turno.

Il modello di difetto deliberatamente non è il prodotto

Il DefectDetector della demo è una distanza kNN verso i pezzi train-good nello spazio della texture (PatchCore-lite), che fa da sostituto del tuo NVIDIA Metropolis, Cognex o modello custom dietro un'interfaccia fissa. È un sostituto realmente funzionante (AUROC 0.845 su buoni puliti versus difetto), riportato con onestà, e la tesi di prodotto non poggia mai su di esso. Il valore duraturo è il livello intorno: gating sulla deriva, provenienza e attuazione governata reggono a qualsiasi accuratezza del modello, così il livello sopravvive a ogni upgrade del modello.

Gli agenti consigliano, il codice decide

Quando i pezzi si accumulano nella coda HOLD, una coppia agentica Drift Triage spiega perché: un agente di diagnosi legge le deviazioni dei segnali fisici, classificate per rango, dei pezzi trattenuti e propone un'ipotesi di causa radice con un'azione raccomandata, e un agente critico verifica quell'ipotesi rispetto all'evidenza numerica, declassandola a indagine manuale se il segnale citato non è in realtà la deviazione dominante. Gli agenti sono costruiti su Pydantic AI e il provider è intercambiabile; senza chiave API configurata, il triage ricade su un template deterministico così l'intera demo gira offline. In ogni caso, gli agenti si limitano a consigliare. Il cancello ha già deciso.

Il cambio turno, seguito dall'inizio alla fine

Un turno scriptato sulla stazione Line 3, riproposto su pezzi di test held-out reali MVTec AD metal_nut. Ogni immagine sotto è uno screenshot dell'app in esecuzione.

Funzionamento normale: i pezzi puliti passano in decine di millisecondi

Prima della deriva, i pezzi buoni puliti passano automaticamente con margine: il log di audit incluso nella demo mostra il pezzo test-good-288 a 37.7 ms e test-good-289 a 24.4 ms rispetto al budget di 750 ms della finestra di colpo, ciascuno con un record di lineage completo. La dashboard mostra la pipeline di decisione live per pezzo, con il wall-clock misurato di ogni stadio e l'evidenza dietro il suo output.

La dashboard dell'Inspection Trust Gate in funzionamento normale: un pezzo pulito con verdetto PASS, la pipeline di decisione live che mostra i millisecondi per stadio, e il monitor dell'inviluppo nominale.
Un pezzo pulito in auto-pass: verdetto PASS, tempi per stadio, monitor dell'inviluppo nominale.

06:00, cambio turno: gli input escono dall'inviluppo

Poi scatta il marker scriptato: SHIFT CHANGE 06:00, stampi freddi, luci a soffitto accese. Dodici pezzi buoni held-out arrivano corrotti con glare, defocus e dominante termica (corruzione onesta delle immagini applicata a foto reali di pezzi buoni, etichettata come tale nell'app). Il monitor dell'inviluppo diventa rosso. Il cancello li trattiene tutti per revisione umana invece di lasciare che l'attuatore si attivi su un verdetto che il modello non era mai stato validato a dare.

Il momento della deriva: banner SHIFT CHANGE 06:00, un verdetto HOLD che recita needs proof, un anello di violazione out-of-distribution intorno al pezzo, e una nota che un AOI ingenuo l'avrebbe scartato.
Il momento della deriva: HOLD invece di un falso scarto. Il percorso AOI ingenuo avrebbe scartato questo pezzo buono.
La violazione dell'inviluppo spiegata segnale per segnale: luminosità a plus 7.6 sigma che contribuisce l'87.1% della distanza di Mahalanobis.
Perché l'inviluppo è scattato: luminosità a +7.6 sigma, 87.1% della distanza. Evidenza, non una flag black-box.

Lo stesso turno, misurato su entrambi i percorsi

Il pannello di confronto fa passare gli identici pezzi attraverso la baseline ingenua senza inviluppo e il Trust Gate. La baseline produce falsi scarti sui pezzi buoni in deriva; il cancello ne scarta automaticamente 0 e li trattiene, portando il KPI di falso scarto dal 57.1% allo 0% in questo turno scriptato. Un pannello di proiezione estrapola il tasso di falso scarto ingenuo misurato a un turno intero (40 colpi al minuto per 8 ore sono 19,200 pezzi) a $2.42 per pezzo, un costo di scarto di ordine di grandezza con fonte (caso di un produttore di biscotti: $94K di risparmio annuo da una riduzione dell'8.7% dello scarto). La cifra in dollari è sempre una proiezione etichettata, mai un risparmio misurato.

Il pannello del risultato: baseline ingenua 12 pezzi buoni scartati versus Trust Gate 0, la coda di escalation dei pezzi trattenuti, il KPI di falso scarto che scende dal 57.1% allo 0%, e una proiezione etichettata del costo di scarto di circa $26.5k.
Ingenua 12 pezzi buoni scartati, cancello 0. I pezzi trattenuti attendono nella coda di escalation; il contatore in dollari è una proiezione etichettata.

Un difetto reale viene auto-scartato, annotato con onestà

Il gating sulla deriva sarebbe inutile se i difetti si nascondessero sotto di esso. Un vero difetto strutturale grave (classe flip MVTec, pezzo test-flip-264) viene auto-scartato, e l'attuatore simulato registra REJECT actuated in 25 ms rispetto al budget di 750 ms. Il drill-in geometrico dichiara che su questo pezzo non è stato localizzato nulla: lo scarto poggia solo sulla confidenza di texture, e la regola di zona è ricaduta sul default del centro. Mostrare quel testo è deliberato. La demo mostra la regola che si astiene piuttosto che fingere. Su tutto lo split held-out, i pezzi difettosi iniettati durante la deriva vengono comunque intercettati o in escalation, 93 su 93, mai approvati automaticamente.

La traccia di decisione completa del vero difetto auto-scartato test-flip-264, con il log dell'attuatore simulato che mostra REJECT actuated in 25 ms rispetto al budget di 750 ms.
La traccia di auto-reject: un difetto reale, attuazione registrata dall'adapter simulato.
Il drill-in di onestà sul pezzo auto-scartato: nessuna anomalia localizzata, lo scarto poggia solo sulla confidenza di texture.
La disclosure, nel prodotto: nessuna anomalia localizzata, solo confidenza di texture.

La ricevuta, e la spiegazione

Clicca su qualsiasi pezzo e il cassetto di audit mostra il suo record di lineage completo: model id metalnut-defect-knn version v7, hash del dataset ae95b5b533c8, punteggio OOD, segnali fisici, le regole che si sono attivate, latenza rispetto al budget, i log di attuazione e MES, e il tag di rischio high-risk:quality-gate (EU AI Act Allegato III, eff. 2026-08-02). Export Audit scarica il turno come inspection_audit.jsonl; la completezza dell'audit è il 100% dei pezzi decisi sullo split held-out. Esegui Drift Triage e l'agente di diagnosi propone una causa radice per i pezzi trattenuti mentre l'agente critico la verifica rispetto all'evidenza numerica prima che ottenga un badge verified.

Il JSON di lineage di audit per pezzo con id e versione del modello, hash del dataset, punteggio OOD, regole del cancello attivate, latenza e il tag high-risk dell'EU AI Act Allegato III.
Il record di lineage per pezzo, progettato come evidenza archiviabile per un fascicolo di conformità ad alto rischio.
Output di Drift Triage: l'ipotesi di causa radice e l'azione raccomandata dell'agente di diagnosi, con il badge verified dell'agente critico.
Drift Triage: un agente di diagnosi propone, un agente critico verifica. Solo consultivo; il cancello ha già deciso.

I numeri, con il loro ambito esatto

Tutte le misurazioni provengono dallo script di benchmark della demo sullo split di test held-out ufficiale MVTec AD metal_nut (220 immagini train-good usate per il fit; 22 pezzi di test buoni e 93 difettosi), confrontando la baseline ingenua senza inviluppo con il Trust Gate sulle stesse immagini. La baseline produce falsi scarti dal 95.5 al 100% dei pezzi buoni in deriva per famiglia di deriva (media 98.9%); il cancello ne scarta automaticamente lo 0.0% e ne trattiene il 100%. Il detector di inviluppo ottiene AUROC 1.00 su una famiglia di deriva held-out (sottoesposizione) su cui non è mai stato tarato. Le corruzioni sono a piena intensità, quindi il collasso della baseline è quasi totale per costruzione: la tesi onesta è la direzione, un modello validato su input puliti collassa una volta che gli input escono dall'inviluppo, non la percentuale esatta. Queste sono misurazioni di demo su un benchmark di ricerca, mai garanzie a mondo aperto.

Pipeline AOI ingenua versus l'Inspection Trust Gate

Lo stesso confronto che la demo esegue live, sugli stessi pezzi.

Criterio AOI ingenuo (nessun controllo dell'inviluppo) Inspection Trust Gate
Input fuori inviluppo Verdetto del modello ritenuto affidabile comunque Nessun output del modello ritenuto affidabile; pezzo trattenuto per revisione
Pezzi buoni in deriva (glare, defocus, dominante termica) Dal 95.5 al 100% di falsi scarti per famiglia di deriva 0 auto-scartati; 100% trattenuti (split held-out MVTec metal_nut)
Chi aziona l'attuatore Il verdetto del modello, direttamente Un cancello deterministico che il modello non può sovrascrivere
Responsabilità sulla latenza Nessuna Budget rigido di 750 ms sulla finestra di colpo, misurato per pezzo
Audit trail Nessuno Record di lineage JSONL per pezzo, esportabile per turno
Quando la linea deriva Lo scarto si accumula finché qualcuno se ne accorge Coda di escalation più Drift Triage consultivo (agente di diagnosi, agente critico)

Cosa questa demo non fa

  • ✓ Non fa girare una linea live. L'EtherNet/IP verso l'attuatore di scarto Allen-Bradley ControlLogix e il sink MES sono adapter simulati che registrano ciò che farebbero, e la telecamera è uno stream di immagini registrato. La stazione Line 3 e il turno sono scriptati.
  • ✓ Non rivendica garanzie a mondo aperto. Lo 0.0% di falso scarto del cancello, l'AUROC 1.00 dell'inviluppo e il tasso di cattura 93/93 sono misurazioni sullo split held-out MVTec metal_nut sotto corruzioni sintetiche a piena intensità.
  • ✓ Non mostra deriva reale di impianto. La deriva è una corruzione onesta delle immagini (glare, defocus, dominante termica) applicata a fotografie MVTec reali: foto reali, deriva sintetica, etichettata come tale nell'app.
  • ✓ Non vende il modello di difetto. Il sostituto kNN esiste perché si possa mostrare il livello intorno; in produzione il modello è il tuo, e non rivendichiamo di rilevare meglio dei vendor AOI.
  • ✓ Non consegna metrologia di produzione. La regola geometrica di zona è un sostituto grossolano che localizza un'anomalia su 33 di 93 difetti held-out e cambia l'esito del cancello su 1 di 93; la UI lo dichiara per pezzo.
  • ✓ Non riporta risparmi misurati. Il contatore del costo di scarto è una proiezione etichettata a $2.42 per pezzo, un ordine di grandezza con fonte, e per questa demo non esistono clienti, deployment o case study.

Domande che pongono davvero gli acquirenti

Perché il nostro sistema di visione scarta pezzi buoni dopo un cambio turno?

Di solito perché gli input sono in deriva, non perché il modello sia peggiorato. I riflessi delle luci a soffitto, gli stampi freddi e i primi pezzi di un turno prima dell'equilibrio termico spostano le immagini fuori dalla distribuzione su cui il modello è stato validato, e nessun modello è affidabile su input fuori dal suo inviluppo validato. Un modello al 97% in laboratorio che arriva a un tasso di falso scarto del 14% in produzione su una pressa di stampaggio è l'esempio canonico. La soluzione duratura è un cancello che rileva gli input fuori inviluppo e trattiene quei pezzi per revisione invece di attuare.

Dobbiamo sostituire il nostro modello di ispezione o il sistema AOI esistente?

No. L'Inspection Trust Gate avvolge il tuo modello dietro un'interfaccia fissa; nella demo il detector di difetto è un sostituto deliberato di un motore NVIDIA Metropolis, Cognex o custom. Il prodotto è il livello intorno al modello: il controllo dell'inviluppo, il cancello deterministico, la coda di escalation e il lineage di audit. Quel livello continua a guadagnarsi il posto a ogni upgrade del modello, perché il fallimento che previene è un fallimento degli input, non un fallimento del modello.

È abbastanza veloce per una linea di stampaggio reale?

Il cancello è codice puro con un budget di latenza rigido: la decisione di scarto deve atterrare dentro la finestra di colpo di 750 ms di una pressa a 40 colpi al minuto. Nel log di audit incluso nella demo, le decisioni atterrano in decine di millisecondi, per esempio 24.4 ms e 37.7 ms rispetto al budget di 750 ms, e la dashboard riporta il p99 live. Queste sono misurazioni di demo, non una garanzia di produzione, ma il budget è imposto per pezzo.

L'EU AI Act si applica all'ispezione qualità con AI, e cosa dobbiamo registrare?

Le decisioni di qualità critiche per la sicurezza rientrano negli obblighi ad alto rischio dell'Act (Allegato III), pienamente applicabili dal 2 agosto 2026, con sanzioni massime di 35 milioni di euro o il 7% del fatturato globale per le violazioni più gravi, di pratica vietata. La demo scrive un record di lineage per pezzo: id e versione del modello, hash del dataset, punteggio OOD, le regole che si sono attivate, latenza rispetto al budget, log di attuazione e il tag di rischio, esportabile come JSONL. Quel record è progettato come evidenza archiviabile per un fascicolo di conformità ad alto rischio; non è una certificazione.

L'AI, o un LLM, può azionare l'attuatore di scarto?

No. L'attuazione è decisa da un cancello deterministico: soglie di confidenza adattate e un budget di latenza in codice puro che nessun output di modello e nessun LLM può sovrascrivere. La parte agentica, Drift Triage, è un agente di diagnosi più un agente critico che spiegano perché la linea è in deriva; consigliano e non attuano mai. Senza chiave API configurata, il triage decade a un fallback deterministico e l'intera demo gira offline.

Come sappiamo che il detector di deriva non è tarato solo sulla demo?

Questo è il controllo di indipendenza che abbiamo eseguito: il detector di inviluppo ha ottenuto AUROC 1.00 su una famiglia di deriva held-out (sottoesposizione) su cui non è mai stato tarato, misurato sullo split held-out MVTec metal_nut. È calibrato su 220 immagini known-good nello spazio dei segnali fisici, quindi segnala la deriva di acquisizione che sposta quei segnali, non solo le famiglie di deriva che abbiamo costruito. Le corruzioni sono a piena intensità, quindi la separazione è netta per costruzione; la tesi onesta è la direzione, non la percentuale esatta.

È una linea live o una demo?

Una demo eseguibile che dimostra il meccanismo. L'EtherNet/IP verso l'attuatore di scarto Allen-Bradley ControlLogix e il sink MES sono adapter simulati che registrano ciò che farebbero, e la telecamera è uno stream registrato di fotografie reali MVTec AD metal_nut; la deriva è una corruzione onesta delle immagini applicata a foto reali di pezzi buoni. Il controllo dell'inviluppo, il cancello deterministico, la coda di escalation e l'export di audit sono reali e girano esattamente come mostrato, e ogni cifra in evidenza è misurata sullo split di test held-out MVTec metal_nut.

Ricerca tecnica

La ricerca dietro questa demo — l'architettura, il design di verifica e il blueprint enterprise.

Stai recuperando o rafforzando un deployment di ispezione edge?

Il livello di fiducia tra il modello e l'attuatore è la parte difficile. Lo costruiamo noi.

Se il tuo team sta lottando con i falsi scarti dopo ogni cambio turno, o con cosa significano gli obblighi ad alto rischio dell'EU AI Act per una linea che decide a 40 colpi al minuto, ci farebbe davvero piacere sentire come ci state pensando. Il problema è di tutto il settore e lo saranno anche le risposte.

Valutazione dell'inviluppo

  • ✓ Mappare dove gli input della tua linea escono dall'inviluppo validato del modello
  • ✓ Calibrare un detector out-of-distribution sui tuoi segnali di acquisizione
  • ✓ Definire soglie del cancello e policy HOLD dai tuoi dati
  • ✓ Specificare il record di lineage di cui ha bisogno il tuo fascicolo di conformità

Costruire il livello di fiducia

  • ✓ Un cancello deterministico dentro il budget della tua finestra di colpo
  • ✓ Monitoraggio dell'inviluppo e una coda di escalation in linea
  • ✓ Lineage di audit JSONL per pezzo con export in un clic
  • ✓ Agenti delimitati di triage della deriva che consigliano, mai attuano
Social

Pubblicato anche su