È disponibile su GitHub SLX SynthForge, il progetto Silicon LogiX dedicato alla visione artificiale per l’ispezione di schede elettroniche. L’applicazione desktop combina scene 3D, dati sintetici e machine learning: permette di modificare una scheda virtuale, acquisirne l’immagine e analizzare i difetti attraverso un modello AI eseguito localmente.
Il software è realizzato con C++17, Qt Quick e QML. Il motore proprietario Silicon LogiX SynthForge Core gestisce rendering, analisi visiva e inferenza; Python e NumPy curano l’addestramento dei classificatori. Il progetto rende consultabile un percorso completo, dalla preparazione degli esempi al confronto tra versioni del modello e alla conservazione delle evidenze.
Dalla scheda 3D al rilevamento dei difetti
La scena di riferimento è PowerBoard, una scheda dimostrativa con 46 componenti modificabili. L’operatore può rimuovere un componente, cambiarne la posizione o ruotarlo, quindi avviare l’ispezione. Il modello della scheda distingue aspetto nominale, componente mancante e variazioni di posizione o aspetto.
Ogni risultato collega il riferimento CAD al dettaglio dell’immagine acquisita, al punteggio e all’identità del modello. Gli esiti distinguono PASS, DEFECT e REVIEW: rispettivamente componente accettato, difetto rilevato e caso da verificare. Visibilità insufficiente o acquisizioni fuori dal profilo previsto richiedono una revisione, come descritto nel flusso di ispezione.
Il motore di visione: Silicon LogiX SynthForge Core
Il cuore dell’applicazione è un motore C++ distribuito come SDK binario, nella libreria SiliconLogiX.SynthForge.Core.dll. Le API pubbliche espongono le funzioni di rendering, generazione dei dataset e ispezione: il modulo Engine produce l’immagine della scena e applica il modello numerico all’acquisizione. La documentazione dell’SDK descrive questa separazione tra interfaccia e motore.
Il riconoscimento della scheda utilizza un’immagine RGB da 640 × 480 pixel, con una camera di ispezione definita. Il motore analizza i pixel acquisiti; i comandi con cui sono stati inseriti i difetti restano dati di preparazione e tracciabilità. Prima dell’inferenza vengono verificati compatibilità del modello, identità degli asset e condizioni dell’acquisizione.
Il motore C++ collega la scena virtuale all’analisi dell’immagine e all’esito dell’ispezione.
Machine learning: feature visive e classificazione softmax
La tecnologia AI impiegata è un classificatore lineare multiclasse con funzione softmax. Le caratteristiche numeriche dell’immagine, chiamate feature, vengono normalizzate e combinate con i pesi appresi durante l’addestramento. La softmax produce i punteggi delle classi, utilizzati insieme alle soglie di accettazione e ai controlli dell’acquisizione.
L’ispettore della scheda modificabile lavora con 16 caratteristiche visive per esempio e tre classi: nominale, mancante e posizione o aspetto modificato. La pipeline di addestramento dell’ispettore conserva parametri di normalizzazione, pesi e identificativo del modello.
Il laboratorio dedicato ai componenti C1 e U4 usa invece ritagli RGB allineati alle rispettive regioni, da 24 × 24 pixel. Il suo modello distingue cinque scenari: scheda nominale, componente mancante, disallineamento, polarità invertita e ponte di saldatura. È una pipeline dedicata, con un proprio classificatore visuale softmax. I punteggi indicano la risposta del modello e richiedono una valutazione nel contesto della prova.
Python e NumPy per l’addestramento dei modelli
L’addestramento utilizza NumPy per il calcolo numerico e l’ottimizzatore Adam per aggiornare i pesi. La funzione di errore è la cross entropy, che misura quanto le classificazioni si discostano dalle etichette degli esempi. Il modello viene selezionato in base all’errore sul gruppo di validazione.
Training, validazione e test hanno ruoli distinti. La normalizzazione è calcolata sui dati di training; il test separato misura il modello dopo la selezione. I parametri vengono esportati in JSON versionati e caricati dal motore C++ per l’inferenza. L’ispezione con i modelli inclusi funziona senza installare Python; l’ambiente Python serve per eseguire nuovi addestramenti.
Dati sintetici e robustezza dell’acquisizione
Dataset forge genera esempi dalla scena 3D e li associa alle etichette dei difetti simulati. Questa preparazione permette di ripetere le prove, organizzare i casi e diversificare gli esempi di addestramento. I gruppi di acquisizione sono separati tra training, validazione e test per contenere la contaminazione tra i dati.
Robustness lab varia illuminazione, riflessi, sfocatura e inclinazione della camera. La griglia dei risultati mostra dove il modello mantiene decisioni accettabili e dove serve una verifica o una nuova acquisizione. Il percorso di valutazione collega così qualità dell’immagine e comportamento del classificatore.
Qt Quick e C++ per l’applicazione desktop
Qt Quick, QML e Qt Quick Controls realizzano l’interfaccia operatore: editor della scheda, controlli di acquisizione, consultazione dei risultati e laboratori AI. OpenGL gestisce l’anteprima 3D interattiva, con una modalità software disponibile per le postazioni che la richiedono.
I servizi C++ coordinano le elaborazioni fuori dal flusso dell’interfaccia, mantenendo separate visualizzazione e attività di rendering o generazione. CMake e CTest organizzano compilazione e controlli automatici. L’architettura documentata distingue quindi presentazione, motore di visione e strumenti di addestramento.
Confronto dei modelli e tracciabilità dei risultati
Assembly AI lab permette di raccogliere casi di sviluppo, preparare nuovi esempi e confrontare il modello iniziale con un candidato. Il benchmark indipendente viene fissato prima della raccolta: entrambe le versioni sono valutate sugli stessi dati e con la stessa soglia. I nuovi esempi alimentano training e validazione.
Il confronto considera difetti sfuggiti, falsi allarmi, casi REVIEW e quota di decisioni accettate. L’attivazione del candidato è esplicita. Esperimenti e report conservano immagini, riferimenti CAD, modifiche e identità del modello; i formati HTML, CSV e JSON rendono consultabili gli esiti. La validazione pubblicata documenta risultati e condizioni delle prove sintetiche.
Come provare SLX SynthForge
La release v0.4.1 comprende il pacchetto portatile per Windows. La repository GitHub raccoglie sorgenti dell’applicazione, schermate, documentazione ed esempi. Il motore proprietario è fornito come SDK binario, con licenza di valutazione Silicon LogiX.
SynthForge è un ambiente dimostrativo di visione industriale basato su dati sintetici. Per portare il percorso su una linea produttiva occorre validare il sistema su immagini reali, ottica, illuminazione e difetti rappresentativi del prodotto.
Visione industriale e software su misura
Per le aziende che devono preparare strumenti di ispezione o integrare analisi visiva e reportistica, Silicon LogiX offre sviluppo software su misura e attività di AI e machine learning. Il progetto SynthForge mostra come collegare interfaccia desktop, motore nativo, dati di addestramento e risultati verificabili.
Contatta Silicon LogiX per un progetto di visione industriale: descrivi il processo da analizzare, i dati disponibili e le funzioni richieste per definire requisiti e prove di fattibilità.
Argomenti e tecnologie