Machine Vision
La visione artificiale industriale usa telecamere, illuminazione controllata e analisi delle immagini per ispezionare, misurare, identificare e guidare componenti sulle linee di produzione in tempo reale.
La visione artificiale industriale (MV) è l'uso di telecamere, ottiche, illuminazione e analisi delle immagini nell'automazione industriale per ispezionare prodotti, misurare componenti, leggere codici e guidare macchine; ogni risultato attiva un'azione, come scartare o smistare un componente oppure guidare un robot. È la visione artificiale integrata in un ciclo di controllo: un sistema di visione su una linea di confezionamento deve completare ogni decisione entro il tempo di ciclo della linea — decine di millisecondi per componente su una linea di imbottigliamento veloce — e comunicarla a un controllore logico programmabile (PLC) tramite I/O digitale o una rete industriale. Le sue attività si suddividono di solito in quattro categorie: guida (individuazione dei componenti per i robot), ispezione (ricerca di difetti e caratteristiche mancanti), misurazione (misura delle dimensioni) e identificazione (lettura di codici a barre, codici Data Matrix e testo stampato con il riconoscimento ottico dei caratteri).
Visione artificiale industriale, visione artificiale e elaborazione delle immagini#
La visione artificiale industriale applica alle macchine industriali l'elaborazione delle immagini, che le trasforma filtrando il rumore o aumentando la nitidezza dei bordi, e la visione artificiale, che estrae significato dalle immagini in qualsiasi contesto. È definita dal suo hardware e dalla sua integrazione: illuminazione e ottiche controllate, telecamere attivate dai sensori sulla linea, tempistiche deterministiche e uscite collegate agli attuatori. La differenza tra i tre campi riguarda soprattutto l'ambito, e i moderni sistemi di visione artificiale industriale eseguono gli stessi modelli di deep learning delle altre applicazioni di visione artificiale.
Componenti di un sistema di visione artificiale industriale#
- Illuminazione: L'illuminazione determina ciò che la telecamera può vedere. Le retroilluminazioni trasformano i componenti in sagome per misurare con precisione i bordi; le luci a cupola diffusa riducono i riflessi sulle superfici lucide; le luci a campo scuro e basso angolo mettono in risalto graffi e caratteri in rilievo; le linee laser proiettate rivelano i profili di altezza 3D.
- Ottiche: Gli obiettivi telecentrici mantengono costante l'ingrandimento al variare della distanza dal componente, così i risultati delle misurazioni non dipendono dalla posizione del componente.
- Telecamere: Le telecamere ad area acquisiscono componenti discreti con un'unica esposizione; quelle a scansione lineare costruiscono immagini di materiali continui come acciaio, carta e tessuti, una riga alla volta; i sensori 3D usano la triangolazione laser, la visione stereo o il tempo di volo. Gli standard di interfaccia come GigE Vision, USB3 Vision e GenICam consentono al software di controllare telecamere di produttori diversi.
- Elaborazione e I/O: Un sensore fotoelettrico o un encoder attiva ogni acquisizione, una smart camera o un PC industriale esegue l'analisi e il risultato viene inviato al PLC, sempre più spesso su hardware edge con GPU o NPU.
Strumenti basati su regole e deep learning#
I software classici di visione artificiale industriale concatenano strumenti deterministici: soglia, analisi delle componenti connesse, rilevamento dei bordi, corrispondenza di modelli e calibri che misurano la distanza tra i bordi. Questo esempio esegue l'analisi delle componenti connesse su una foto di monete, contando i componenti e misurandone le dimensioni:
import numpy as np
from scipy import ndimage as ndi
from skimage import data, filters, measure, segmentation
# Grayscale photo of 24 Greek coins on a gray background, bundled with scikit-image
image = data.coins()
# Seed the background (dark) and the parts (bright), then grow both along edge strength
markers = np.zeros_like(image)
markers[image < 30] = 1
markers[image > 150] = 2
mask = ndi.binary_fill_holes(segmentation.watershed(filters.sobel(image), markers) == 2)
# Blob analysis: label each part, ignore specks, and gauge each diameter in pixels
parts = [r for r in measure.regionprops(measure.label(mask)) if r.area > 300]
diameters = [part.equivalent_diameter_area for part in parts]
print(f"{len(parts)} parts, diameters {min(diameters):.0f}-{max(diameters):.0f} px")Stampa 24 parts, diameters 37-63 px: ogni moneta viene individuata e misurata; in un sistema di produzione, il diametro di ciascuna verrebbe confrontato con una tolleranza e il risultato inviato al PLC. In questa foto lo sfondo è più chiaro in alto a sinistra e presenta livelli di grigio simili a quelli delle monete, perciò un'unica soglia globale di Otsu suddivide l'immagine in 96 componenti, un problema che l'illuminazione controllata previene su una linea di produzione.
Gli strumenti basati su regole sono veloci, spiegabili e precisi per componenti con geometria fissa, ma faticano con variazioni naturali come venature del legno, alimenti o difetti estetici che assumono molte forme. I modelli di rilevamento degli oggetti, segmentazione delle istanze e rilevamento delle anomalie apprendono questi casi dagli esempi. Un modello di segmentazione YOLO26 addestrato su immagini di difetti delinea graffi e crepe pixel per pixel, e la modalità di esportazione di Ultralytics lo converte in TensorRT o OpenVINO, così l'inferenza in tempo reale rientra nel tempo di ciclo della linea su un PC industriale o su NVIDIA Jetson.
Applicazioni nel mondo reale#
- Ispezione ottica automatizzata: Le linee di produzione elettronica ispezionano i circuiti stampati per individuare componenti mancanti, spostati o capovolti e giunti di saldatura difettosi, spesso con l'ispezione 3D della pasta saldante prima del posizionamento dei componenti.
- Ispezione farmaceutica e del confezionamento: I sistemi verificano livelli di riempimento, tappi ed etichette; l'OCR legge il codice del lotto e la data di scadenza stampati su ogni confezione.
- Robotica guidata dalla visione: I robot individuano componenti ammassati casualmente per prelevarli dai contenitori, usando sensori 3D e stima della posa per scegliere come afferrarli.
- Produzione automobilistica: I sensori 3D misurano la distanza e il dislivello tra i pannelli della carrozzeria; le telecamere controllano la finitura della vernice e i cordoni di saldatura prima che i veicoli lascino la linea.










