Entrando nell'industria PCB 20 anni fa, la formazione a induzione è direttamente sul lavoro per avere familiarità con ogni processo di PCB. A quel tempo, sono rimasto particolarmente colpito dallo stage nella linea galvanica. A causa del duro ambiente di lavoro e del rapido turnover del personale, la linea di galvanizzazione ha il più lungo tempo di "pratica". Un timer è appeso davanti a ogni serbatoio della linea di galvanizzazione. È necessario spostare manualmente la scheda PCB nel cesto appeso da un serbatoio all'altro secondo il tempo impostato fino al completamento dell'intero processo di galvanizzazione. Il carico e lo scarico della maggior parte degli altri processi è anche manuale e l'ispezione di qualità dopo la linea di incisione è anche manuale visivo. Con il continuo aumento dei costi del lavoro, la maggior parte del lavoro manuale e anche una piccola parte del lavoro mentale nella produzione di PCB sono stati sostituiti da meccanizzazione, elettrificazione, automazione e tecnologia dell'informazione. Nel processo di implementazione intelligente, è stato scoperto che la maggior parte delle apparecchiature di produzione di PCB non poteva supportare pienamente i requisiti intelligenti e la trasformazione corrispondente era principalmente finalizzata all'automazione. Attualmente, non esiste una specifica unificata dell'interfaccia per le apparecchiature di produzione PCB. Alcuni produttori imparano dalle specifiche dell'interfaccia delle apparecchiature a semiconduttore, ma a causa del suo alto costo, è temporaneamente incapace di essere ampiamente utilizzato nella produzione di PCB. Tutti i produttori di PCB stanno progettando le proprie specifiche in base alle proprie esigenze e lo status quo può essere descritto come diverso.
1. AI intelligenza artificiale
L'intelligenza artificiale è oggetto di studio di determinati processi di pensiero e comportamenti intelligenti (come l'apprendimento, il ragionamento, il pensiero, la pianificazione, ecc.) delle persone utilizzando computer per simulare gli esseri umani. È un ramo dell'informatica. La ricerca in questo campo comprende principalmente robotica, riconoscimento linguistico e immagini. Riconoscimento, elaborazione del linguaggio naturale, sistema di simulazione e sistema esperto, ecc Quando le persone parlano di intelligenza artificiale, apprendimento automatico (ML, Deep Learning), apprendimento profondo (DL, Deep Learning), rete neurale profonda (DNN, Deep Neural Network), rete neurale convoluzionale (CNN, Convolutional Neural Network) e altri concetti spesso menzionati. L'IA è l'obiettivo che le persone stanno perseguendo e il machine learning è il modo principale per raggiungere l'IA. Gli algoritmi di machine learning comunemente utilizzati includono regressione lineare, regressione logistica, metodi di integrazione, macchine vettoriali di supporto, reti neurali e deep learning. L'apprendimento automatico dipende dal fatto che ci siano etichette di dati o meno. Può essere suddiviso in apprendimento supervisionato, apprendimento semi-supervisionato, apprendimento non supervisionato, apprendimento di rinforzo, apprendimento strutturato e apprendimento di trasferimento. Il deep learning è uno degli algoritmi più comunemente utilizzati nel machine learning, soprattutto per l'applicazione della visione informatica. Le reti neurali profonde sono un insieme di metodi di apprendimento profondo che imitano i meccanismi del cervello umano. La profondità, la convoluzione e la rete neurale saranno discussi separatamente di seguito.
1.1. Operazione di convoluzione
Definizione dell'operazione di convoluzione: L'operazione di convoluzione è ampiamente usata nei sistemi lineari e di segnale, nei sistemi digitali di elaborazione del segnale e di elaborazione delle immagini. Dalla definizione matematica (equazione 1), la convoluzione è una funzione (unità di risposta o kernel di convoluzione). Sovraposizione ponderata su un'altra funzione (segnale di ingresso).
Nel campo della visione del computer, il kernel di convoluzione definisce una certa modalità. L'operazione di convoluzione consiste nel calcolare il grado di somiglianza tra ciascuna posizione e la modalità. Più simile è la posizione corrente e la modalità, più forte è la risposta. Il kernel di convoluzione è solitamente una matrice di righe e colonne numerate dispari di piccole dimensioni, e l'immagine digitale è una matrice bidimensionale (multi-dimensionale o multi-canale feature map) di dimensioni relativamente grandi. Quando viene eseguita la convoluzione, è sotto forma di una finestra scorrevole, da sinistra a destra, dall'alto verso il basso, le posizioni corrispondenti di ogni canale vengono moltiplicate e sommate. Se il kernel di convoluzione è considerato come peso (peso), e il vettore è disegnato come w, e il pixel nella posizione corrispondente dell'immagine è disegnato come vettore, allora il risultato della convoluzione in questa posizione può essere espresso come formula (2), cioè il prodotto interno del vettore + Bias.
Quanto sopra è per capire l'operazione di convoluzione dal punto di vista della funzione. La seguente è un'ulteriore spiegazione attraverso due esempi di applicazione familiari. La figura 1 è la logica di rilevazione morfologica utilizzata nei primi AOI. La matrice del modello di rilevamento preimpostato (kernel di convoluzione) scorre sull'immagine scansionata. Quando la grafica soddisfa le caratteristiche definite dal modello, vengono generate le informazioni relative alle caratteristiche, quindi vengono confrontate le informazioni sulle caratteristiche della grafica standard per scoprire la posizione del difetto. A seconda della forma del punto di difetto, AOI deve definire diverse logiche di rilevamento (matrici template), come T, Y, L, K e H, ecc. Gli ingegneri AOI devono ottimizzare iterativamente i parametri della matrice template di rilevamento, buon design del kernel di convoluzione, produrranno buoni risultati di test. La Figura 2 è la levigatura gaussiana delle immagini comunemente usata nell'elaborazione delle immagini. Si può vedere che la distribuzione del valore grigio dell'immagine elaborata a destra è più uniforme e il rumore nell'immagine viene filtrato senza problemi. La chiave per l'applicazione dell'operazione di convoluzione sta nella progettazione del kernel di convoluzione. La funzione principale nell'elaborazione delle immagini è: preelaborazione dell'immagine e estrazione delle funzionalità, e l'immagine risultante della caratteristica viene prodotta al link successivo per l'analisi e la comprensione.1.2. Rete neurale profonda
La rete neurale è un modello matematico che utilizza una struttura simile alle connessioni sinaptiche dei nervi del cervello per elaborare le informazioni. È anche un paradigma di programmazione ispirato alla biologia che permette ai computer di imparare dai dati di osservazione e trovare modi ottimali per risolvere i problemi. La rete neurale artificiale ha assorbito due concetti estremamente importanti dell'unità di calcolo della rete neurale biologica e del peso della connessione. Quindi, prendete l'esempio familiare di "Valutazione delle apparecchiature AOI" per capire come funzionano i neuroni.
Ipotesi: Un produttore di PCB deve acquistare apparecchiature AOI. Gli ingegneri AOI di solito decidono se acquistare apparecchiature AOI di un fornitore in base ai seguenti fattori: capacità di ispezione, tasso di falsi punti, adattabilità di materiali e processi, facilità di funzionamento e capacità di produzione, ecc. Questi elementi di valutazione non sono disposti in base al peso. Diversi produttori di PCB hanno preoccupazioni diverse e i loro pesi sono impostati in modo diverso. Ad esempio, il produttore A produce prodotti di fascia alta con materiali speciali e processi di produzione complessi, che fisseranno un peso elevato sulle capacità di ispezione e adattabilità. Valore; mentre il produttore B produce prodotti di fascia bassa, può prestare attenzione alla facilità di funzionamento e alla velocità di scansione. Quali elementi (o chiamati input, predittori, caratteristiche, questi sono concetti nell'apprendimento automatico) devono essere utilizzati per la valutazione, a seconda della loro situazione reale, questo processo è l'estrazione delle funzionalità o l'ingegneria delle funzionalità. Sostituendo gli elementi di valutazione di cui sopra e i valori di peso corrispondenti come input nel modello neuronale della Figura 3, gli autovaluti corrispondenti possono essere calcolati secondo la funzione lineare di cui sopra, e quindi attraverso la funzione di attivazione non lineare, il valore di 0 a 1 (o -1 a 1) può essere ottenuto. Un certo numero tra, in modo da simulare il funzionamento logico dei neuroni biologici. Man mano che i pesi e i pregiudizi cambiano, si possono ottenere diversi modelli decisionali. Nel deep learning, il peso w e bias b sono guidati dai dati, mentre il peso e bias sono i parametri del kernel di convoluzione.
Se l'uscita di ogni neurone simula una rete neurale biologica ed è collegata all'ingresso del neurone successivo, si può formare una rete neurale artificiale (vedi Figura 4). L'input della voce di valutazione "tasso di punti falsi" nell'esempio precedente è determinato dall'output del neurone di livello superiore. Per prevedere il risultato, è necessario prendere una decisione basata sul peso di ingresso e connessione del neurone di livello superiore, come ad esempio: 1. Il motore di rilevamento viene utilizzato per filtrare le carenze non critiche delle aree non critiche; 2. se la sorgente luminosa a spettro intero è utilizzata per garantire che sia ottenuta un'immagine chiara; 3. Se il motore lineare senza contatto è utilizzato per garantire il movimento regolare dell'oggetto misurato per ottenere un'immagine stabile, ecc.
Deep learning è una potente raccolta di molti algoritmi di apprendimento per l'apprendimento delle reti neurali. In senso lato, è il processo di risoluzione della relazione tra input e output, e in senso stretto, è il processo di risoluzione del peso e del bias dei neuroni. La rete neurale è collegata secondo il livello di ingresso, il livello nascosto e il livello di uscita secondo il tipo di rete per formare una rete neurale profonda. Il numero di strati nascosti e moduli funzionali determina la profondità e il tipo della rete neurale, come FNN, CNN, RNN e GAN. Il processo di deep learning consiste nell'inserire prima i dati etichettati del set di allenamento nella rete neurale, e dopo ogni livello di elaborazione della rete neurale, per minimizzare l'errore tra il risultato di uscita e il valore atteso, cioè, la funzione di perdita è minimizzata (la funzione di perdita è solitamente utilizzata per misurare la deviazione tra il comportamento effettivo e il comportamento atteso), Il processo consiste principalmente nell'aggiornare iterativamente pesi e bias attraverso propagazione in avanti, algoritmo BP e funzione di perdita. Nel processo di formazione della rete neurale, incontriamo spesso i problemi della scomparsa del gradiente o dell'esplosione del gradiente, l'allenamento troppo lento e eccessivo. L'argomento è troppo ampio per essere discusso in modo approfondito.1.3. Scenari applicativi AI
Il sistema di intelligenza artificiale è composto principalmente da tre parti: 1. Inserimento di informazioni. Percepire il mondo fisico che cambia dinamicamente attraverso vari dispositivi di rilevamento, ottenendo così una grande quantità di dati; 2. Elaborazione delle decisioni. Applicare la grande quantità di dati ottenuti al modello ottenuto dal machine learning per il ragionamento, la previsione o il processo decisionale; 3. Uscita di esecuzione. Eseguire azioni corrispondenti in base ai risultati di inferenza o previsione. In breve, si tratta di costruire un modello di previsione per una grande quantità di dati in ingresso attraverso la regressione, l'integrazione e altri algoritmi di apprendimento automatico, e applicare il modello costruito al set di dati effettivi per ottenere il risultato di previsione. L'intelligenza artificiale è stata ampiamente utilizzata nei settori della finanza, dell'assistenza medica, dell'istruzione, della sicurezza pubblica, dei trasporti, delle comunicazioni, dell'agricoltura, della meteorologia e delle industrie dei servizi. La tabella 1 elenca alcuni scenari di applicazione IA comuni.2. Ispezione ottica automatica AOI
Ho brevemente introdotto i concetti di base dell'intelligenza artificiale AI, e citato algoritmi di computer vision comunemente utilizzati nell'IA. Questi algoritmi di visione sono anche ampiamente utilizzati in AOI. L'ispezione ottica automatica AOI è evoluta dall'ispezione visiva manuale. Il principio di funzionamento è: in primo luogo, le informazioni richieste sulle caratteristiche dell'immagine vengono "apprese" dai dati CAM standard attraverso l'algoritmo visivo e quindi utilizzate per la formazione sull'immagine scansionata di ogni PCB. Raccogliere i modelli appresi per l'estrazione delle funzionalità, confrontare le immagini ottenute con i dati standard e segnalare i punti di problema che devono essere rilevati secondo le regole date (standard di rilevamento). Poiché AOI è un'applicazione tipica della computer vision, ha le stesse difficoltà della computer vision.2.1. Difficoltà visive nella perdita di informazioni AOIInel processo di imaging: Quando una persona cerca di capire un'immagine, l'esperienza e le conoscenze precedenti saranno utilizzate per l'osservazione corrente. Il processo di comprensione dell'immagine viene solitamente completato inconsciamente. La visione informatica deve coinvolgere risultati e metodi in matematica, riconoscimento dei modelli, intelligenza artificiale, psicofisiologia, informatica, elettronica e altre discipline. Pertanto, per AOI, poiché la scena della scheda PCB 3D è proiettata nello spazio 2D, molte informazioni vengono perse, in particolare le informazioni sulla profondità, come illuminazione, proprietà del materiale, orientamento e distanza, ecc., vengono riflesse come l'unico valore di misura-valore di grado grigio. La proiezione dello stesso piano 2D può essere prodotta da un numero infinito di possibili proiezioni di scene 3D. Pertanto, il processo inverso dal 2D al 3D è un processo mal condizionato, o un problema mal posto. I dati di osservazione non sono sufficienti per limitare la soluzione del problema, quindi è necessario utilizzare la prima conoscenza del Test o introdurre vincoli appropriati. Ad esempio, nell'ispezione AOI, si incontra spesso che ci sia un circuito aperto sull'immagine scansionata (immagine 2D), ma in realtà può essere un vero e proprio circuito aperto, o macchie di ossidazione, colla residua, polvere sulla linea (scena 3D)... Finestra locale e vista globale: Di solito, l'algoritmo di analisi delle immagini deve analizzare e gestire l'unità di archiviazione speciale nella memoria e le sue unità adiacenti. Quando l'immagine può essere ottenuta dalla vista locale o solo da alcuni piccoli buchi locali, l'interpretazione di un'immagine è solitamente molto difficile. AOI esegue la scansione della larghezza specificata in base a diverse risoluzioni e la divide in blocchi di immagine di dimensioni specificate per l'elaborazione. Pertanto, anche l'algoritmo di rilevamento di AOI viene parzialmente analizzato ed elaborato. Non sarà aggiunto all'analisi della rete PCB come E-Test, solo nell'elaborazione logica. Aggiungere uno strato ausiliario per l'analisi funzionaleCome processo chiave di controllo della qualità nella produzione di PCB, nel processo AOI, il processo di conferma sulla macchina di revisione richiede una maggiore partecipazione manuale e l'operatore deve riparare in base a false carenze.