control-systems-and-automation
Elaborazione immagini di Matlab Cassetta di sicurezza per l'ispezione industriale
Table of Contents
Un singolo componente difettoso può cascata in costosi rich richiamamenti, rischi di sicurezza e danni al marchio. L'ispezione industriale MAT, il processo sistematico di verifica della qualità del prodotto, è quindi diventata una parte non negoziabile della produzione. Tuttavia, i tradizionali sistemi di ispezione manuale per mantenere il passo con le linee ad alta velocità e le dimensioni microscopiche difetti.
Ispezione industriale e visione della macchina
L'ispezione industriale comprende una vasta gamma di compiti: controllo della finitura superficiale, verifica delle dimensioni, rilevamento dei contaminanti, controllo del montaggio corretto, codici di lettura o etichette. I sistemi di visione automatica di questi compiti utilizzando telecamere e software di elaborazione delle immagini. I vantaggi rispetto agli ispettori umani sono chiari—più alta velocità, precisione costante e la capacità di operare in ambienti difficili.
La cassetta degli strumenti non è un'isola; si integra con l'ecosistema più ampio di MATLAB, tra cui la casella Strumenti per la visione 3D, la scatola degli strumenti per l'apprendimento profondo per le reti neurali, e la scatola degli strumenti di guida automatizzata per applicazioni specializzate.
Capacità chiave della casella di strumenti di elaborazione delle immagini per l'ispezione
Acquisizione immagine e I/O
Prima che un algoritmo possa funzionare, le immagini devono essere catturate in modo affidabile. La cassetta degli strumenti fornisce interfacce dirette a una vasta gamma di telecamere attraverso la casella di controllo di acquisizione immagine (un prodotto compagno). Supporta GigE Vision, USB3 Vision, Camera Link e molte famiglie di telecamere proprietari. Per l'ispezione, il triggering è fondamentale. La casella degli strumenti consente di attivare i trigger software o i trigger hardware tramite schede I/O, consentendo la cattura sincronizzata con i formati di NG di approfondimento dei dati di NG.
Preprocessing e potenziamento
Le immagini industriali del mondo reale sono raramente pulite. Illuminazione irregolare, abbagliamento delle lenti e rumore dei sensori di degrado della qualità dell'immagine. La cassetta degli strumenti offre una suite completa di operazioni di filtraggio per preparare le immagini per l'analisi:
- Riduzione del rumore:[] Filtro mediano, sfocatura gaussiana, filtraggio bilaterale e denoising dei mezzi non locali.
- Regolazione contrasto:[] equalizzazione istogramma, equalizzazione istogramma adattivo (CLAHE) e correzione gamma. CLAHE è preziosa per le immagini con gradienti di illuminazione drammatici, come quelli presi sotto illuminazione angolata per il rilevamento di difetti.
- Sharpening e deblurring:[] Mascheramento senza parassita, deconvoluzione di Wiener e deconvoluzione cieca.
- Operazioni morfologiche:[] Dilatazione, erosione, apertura, chiusura e trasformazioni top-hat. La lavorazione morfologica è la base di molte routine di rilevamento dei difetti, ad esempio, utilizzando un filtro top-hat per evidenziare piccoli e luminosi difetti su uno sfondo scuro.
La scelta dei passaggi di preprocessing giusti dipende dal tipo di difetto e dalla configurazione dell'immagine. Gli ingegneri tipicamente creano uno script MATLAB che carica le immagini del campione, applica un lotto di filtri e visualizza i risultati per convergere su un pipeline ottimale.
Segmentazione: Trovare Regioni di interesse
Segmentation partizioni un'immagine in regioni significative. In ispezione, vogliamo isolare potenziali difetti, misurare i confini della parte, o identificare le caratteristiche. La casella degli strumenti fornisce diversi approcci di segmentazione:
- Tresholding:[] Global (metodo Otsu), locale (sogliamento adattativo), e soglia multilivello. Il metodo di Otsu è un punto di forza per gli istogrammi bimodali, mentre l'adaptive sollecito gestisce un'illuminazione irregolare calcolando soglie per ogni quartiere dei pixel.
- segmentazione basata su edge:[[] Canny, Sobel, Prewitt, Roberts e Laplacian dei rivelatori di bordi Gaussian. Il rivelatore di bordi Canny è ampiamente utilizzato a causa della sua buona localizzazione e basso tasso di falso positivo.
- Segmentazione basata sul regolo:[ Trasformazione dello spargimento, contorni attivi (snakes), e algoritmi di scissione e di fusione. La trasformazione dello spartiacque è potente per separare oggetti sovrapposti, ma spesso richiede il controllo del marcatore morfologica per evitare sovrasegmentazioni.
- Segmentazione a colori:[] Utilizzando spazi a colori (RGB, HSV, L*a*b*) per isolare intervalli di colore specifici. Questo è fondamentale per le attività come l'ispezione di circuiti stampati (PCB) per il corretto colore della maschera di saldatura o il rilevamento di contaminanti colorati stranieri nei prodotti alimentari.
- Settura di apprendimento:[] Mentre non nativo della casella di elaborazione delle immagini, reti di segmentazione semantica e di istanza possono essere importate dalla casella di strumenti di apprendimento profondo. La casella di elaborazione delle immagini fornisce `semanticseg` e `pixelLabelDatastore` per valutare queste reti e post-processare i loro output.
Estrazione e misurazione della caratteristica
Una volta segmentati gli oggetti, li quantifichiamo. La cassetta degli attrezzi include la funzione `regioneprops` standard oro, che calcola dozzine di proprietà: area, perimetro, rilegatura casella, centroide, eccentricità, lunghezze assi principali e minori, orientamento, numero Euler, e altro ancora. Per l'ispezione industriale, le misure tipiche includono:
- Geometria:[] Controllare che i fori siano centrati, i diametri sono all'interno della tolleranza e gli angoli non sono scheggiati.
- Tesoro:[]] Utilizzando le caratteristiche della matrice co-occurrence di livello grigio (GLCM)—contrasto, correlazione, energia, omogeneità—per rilevare anomalie superficiali come graffi o macchie.
- Caratteristiche di intensità:[] Mean, deviazione standard e schewness istogramma dei valori di scala grigia all'interno di una regione. Una crepa in una colata metallica, per esempio, appare come una regione scura e stretta la cui intensità differisce significativamente dal materiale circostante.
- Momento invarianti:[ Momenti di Hu e Zernike che sono invarianti alla traduzione, alla rotazione e alla scaling.
La cassetta degli strumenti supporta anche rilevatori di funzionalità avanzati (SURF, MSER, BRISK) tipicamente sotto il Computer Vision Toolbox, ma il rilevamento delle caratteristiche di base del punto (angolo Harris, Fast) è disponibile nella elaborazione delle immagini.
Riconoscimento e classificazione del modello
Per i modelli di difetti complessi, l'apprendimento automatico o l'apprendimento profondo è necessario. La Toolbox di elaborazione delle immagini si integra con la casella di strumenti di apprendimento delle statistiche e delle macchine e la scatola di strumenti di apprendimento profonda.
- Estratti caratteristiche[] da immagini di formazione etichettate (buono vs difettoso).
- Train a classifier[[] (macchina vettoriale di supporto, foresta casuale, vicino di k-nearest, o una rete neurale convoluzionale).
- Validate[]] con un set di aggancio e parametri di sintonizzazione.
- Deploy[]] il modello addestrato nel sistema di ispezione.
Per l'apprendimento approfondito, la funzione `trainNetwork` può essere utilizzata direttamente su array di immagini o datastore. Molti team di ispezione industriali trovano che un classificatore classico su caratteristiche ben scelte esegui l'apprendimento profondo quando i dati etichettati sono scarse, e la scatola di elaborazione immagini rende semplice testare entrambi gli approcci.
Costruire un sistema di ispezione completo: un approccio passo-passo
Passo 1: Specificazione del sistema
Inizia definendo i tipi di difetto, le dimensioni, il throughput richiesto e l'accuratezza (tassi di accesso/rigetto falsi). Ad esempio: "Rileva i graffi più lunghi di 2 mm su una superficie metallica piana che si muove a 1 m/s, con un tasso di scarto massimo di 0,1%."
Passo 2: Impostazione di acquisizione immagine
Selezionare una fotocamera con una risoluzione e una frequenza di scatto sufficienti. Utilizzare il `imaqtool` di MATLAB per configurare la fotocamera, impostare l'esposizione, il guadagno e la modalità di trigger. In produzione, i segnali di attivazione da un PLC o encoder sincronizzano la cattura con la posizione della parte.
Passo 3: Calibrazione e riferimento
Per le misurazioni dimensionali, la calibrazione della fotocamera è essenziale. La Computer Vision Toolbox fornisce l'app `cameraCalibrator` utilizzando un modello di scacchiera per calcolare i parametri intrinseci (fx, fy, cx, cy) e i coefficienti di distorsione delle lenti.
Passo 4: Prototipo di sviluppo dell'algoritmo
Utilizzando un set rappresentativo di immagini (sia privo di difetti che con vari difetti), sviluppare l'algoritmo in modo interattivo nelle applicazioni [Image Segmenter[ e ] Colore Thresholder[]]] Queste applicazioni consentono di provare diversi metodi di segmentazione ed esportare il codice come funzione MATLAB.
Passo 5: Elaborazione batch e ottimizzazione
Una volta codificato un algoritmo candidato, eseguirlo su un gran gruppo di immagini etichettate. Utilizzare `parfor` (Parallel Computing Toolbox) per accelerare la valutazione su più core della CPU o GPU.
Fase 6: Real-Time Attuazione e Integrazione
Per l'implementazione su una linea di produzione, l'algoritmo deve essere eseguito all'interno del tempo di ciclo assegnato. Il codice MATLAB può essere convertito in C/C++ utilizzando MATLAB Coder, che consente l'esecuzione su dispositivi incorporati (ad esempio, NVIDIA Jetson, Intel Processors, o ARM Cortex).
Passo 7: Manutenzione e Aggiornamenti
Le condizioni di produzione cambiano: i nuovi modelli di parti, l'illuminazione diversa, l'invecchiamento della fotocamera. La natura modulare degli script MATLAB rende facile ritrarre i classificatori, regolare le soglie, o scambiare le fasi di preprocessing senza riscrivere l'intero sistema. I risultati di ispezione e i modelli di riqualificazione sono una migliore pratica.
Applicazioni reali e studi di casi
Automotive: Ispezione della saldatura
Nella produzione automobilistica, le cuciture saldate sui componenti del telaio devono essere continue e prive di porosità. Utilizzando una telecamera leggera strutturata, un sistema basato su MATLAB cattura il profilo della cucitura. Preprocessing rimuove i riflessi dall'arco della saldatura. La segmentazione isola la regione della saldatura e la lavorazione morfologica evidenzia lacune.
Elettronica: Verificazione dei componenti PCB
I circuiti stampati possono avere condensatori mancanti, IC ruotati o ponti saldati. Un sistema di visione che utilizza MATLAB prende un'immagine di ogni scheda, lo registra ad un'immagine di riferimento d'oro (utilizzando la correlazione di funzionalità o la correlazione di fase), e sottrae le due immagini. L'immagine residua è soppressa per individuare componenti che differiscono.
Farmaceutica: Presenza di Pillole Blisters
I pacchetti Blister devono contenere il numero corretto di pillole senza crepe o compresse mancanti. Un retroilluminazione ad alto contrasto illumina ogni blister. Il `imFindCircles` della Image Processing Toolbox (Hough Transform) rileva rapidamente pillole circolari. Per un rilevamento più robusto sotto illuminazione variabile, un classificatore di apprendimento automatico addestrato sull'istogramma di gradienti orientati (HOG) caratteristiche possono essere utilizzati.
Confronta MATLAB con OpenCV e altri strumenti
OpenCV è una popolare libreria open source per la visione del computer, e ha i suoi meriti—familiarità, costi e una grande comunità. Tuttavia, per l'ispezione industriale, MATLAB offre vantaggi distinti:
- L'ambiente di sviluppo integrato:[ Il MATLAB IDE, con script e app dal vivo, accelera la prototipazione. OpenCV richiede tipicamente una configurazione più manuale di codifica e di costruzione.
- Visualizzazione avanzata:[[] Interattivo tramare, montaggi di immagini e creazione dell'interfaccia utente (App Designer) consentono agli ingegneri di costruire rapidamente delle GUI prototipi per gli operatori di fabbrica.
- Supporto per i dispositivi Hardware:[ MATLAB si connette senza soluzione di continuità a molte telecamere industriali e dispositivi DAQ senza bisogno di wrapper speciali.
- Generazione di codice:[ MATLAB Coder può produrre codice C/C++ altamente ottimizzato che spesso funziona più velocemente di OpenCV scritto a mano per determinate operazioni, soprattutto quando si utilizzano le librerie specifiche di destinazione incorporate.
- Supporto e documentazione:[[] MathWorks offre una vasta documentazione, webinar e supporto tecnico, prezioso quando una linea di produzione è giù.
Ciò detto, OpenCV è ancora ampiamente usato e offre funzioni come `findContours` che MATLAB si approfigge con `bwboundaries`. La scelta dipende dalla competenza del team di sviluppo e dal budget del progetto. Molte organizzazioni utilizzano sia: MATLAB per R&D e OpenCV per l'implementazione finale su sistemi embedded sensibili ai costi.
Pitfalls comune e come evitare di loro
- L'over-reliance su un metodo di segmentazione:[ Nessun metodo funziona per tutte le immagini. Testare tecniche multiple (tendenza, spartiacque, contorni attivi) e considerare l'utilizzo di un approccio cascaded (ad esempio, segmentazione grossolana seguita da analisi fine).
- Ignorando l'illuminazione:[ Anche il miglior algoritmo fallisce con scarsa illuminazione. Investire in una corretta illuminazione—diffuso, retroilluminazione, strutturato—e garantire la coerenza attraverso la produzione.
- Dati di formazione insufficienti:[] Per i classificatori di apprendimento automatico, raccogliere immagini da linee di produzione multiple, in condizioni variabili, per evitare sovraccarico. Utilizzare l'aumento dei dati (rotazione, scaling, aggiunta di rumore) implementato con il `imageDataAugmenter` in MATLAB.
- Latenza del sistema di scelta negativa:[ In ispezione in tempo reale, ogni millisecondo materia.Profila il tuo codice con il MATLAB Profiler e sostituisci i loop lenti con operazioni vettoriali.
- Calibrazione della pora:[] Senza una mappatura accurata dei pixel al mondo, le misurazioni dimensionali sono inutili.
Vantaggi dell'adozione di MATLAB per l'ispezione
- Sviluppo rapido:[] Il flusso di lavoro a forma di app e la grande libreria di funzioni significano che un prototipo può essere costruito in giorni piuttosto che settimane.
- Accuracy:[] Il controllo preciso su ogni passo riduce al minimo i falsi positivi e negativi, risparmiando i costi e migliorando la reputazione della qualità.
- Flessibilità:[] La stessa base di codice può essere adattata a diversi prodotti e tipi di difetto con minime modifiche, spesso semplicemente regolando alcuni parametri.
- Integrazione:[] MATLAB si interfaccia facilmente con sistemi di automazione di fabbrica, database (per tracciabilità), e software di impresa per analisi.
- Scalability:[]] Il codice che funziona su un banco di prova può essere compilato per una macchina dedicata o distribuito in più stazioni utilizzando MATLAB Production Server.
Conclusione: Il futuro dell'ispezione automatizzata con MATLAB
Come la produzione di soluzioni per l'industria 4.0 e la produzione di "zero-defect" crescerà solo la domanda di ispezione automatizzata. MATLAB's Image Processing Toolbox fornisce una piattaforma completa e collaudata per la costruzione di tali sistemi.