Elaborazione delle immagini
Un produttore vuole controllare dei componenti con una telecamera. Oggi la prima domanda è spesso: ci serve l'IA? A volte sì. Spesso però i metodi classici risolvono il compito in modo più rapido, più economico e più comprensibile – e la scelta sbagliata costa mesi, in un senso come nell'altro.
Due strumenti, due modi di pensare
L'elaborazione classica delle immagini lavora con regole stabilite da uno sviluppatore: filtri, valori di soglia, bordi, contorni e geometria. Librerie come OpenCV o Halcon offrono a questo scopo componenti collaudati. Ogni passo è misurabile e spiegabile.
Il machine learning, e in particolare il deep learning, apprende le regole da immagini di esempio. Una rete neurale trova da sola le caratteristiche – anche quelle difficili da descrivere a parole. Per questo servono dati, potenza di calcolo e una validazione accurata.
La decisione in cinque domande
- Il difetto si può descrivere? Se riesce a dire in una frase da che cosa si riconosce un difetto («foro mancante», «bordo troppo corto»), ciò depone a favore dei metodi classici.
- Quanto variano i pezzi e l'ambiente? Oggetti naturali, superfici mutevoli e luce instabile depongono a favore dei metodi ad apprendimento.
- Ci sono abbastanza immagini di esempio? Soprattutto di difetti. I difetti rari sono difficili da apprendere.
- Quanta potenza di calcolo è disponibile? Un PC industriale con scheda grafica è un'altra cosa rispetto a un sistema embedded nella telecamera.
- Deve motivare le decisioni? In ambiti regolamentati come la tecnica medicale e di laboratorio conta la tracciabilità.
Supporto alla decisione in sintesi
| Criterio | Elaborazione classica delle immagini | IA / deep learning |
|---|---|---|
| Misura di dimensioni, posizioni, angoli | molto adatta, possibile con precisione subpixel | per lo più solo come integrazione |
| Difetto chiaramente descrivibile | prima scelta | possibile, spesso sovradimensionata |
| Superfici variabili, oggetti naturali | onerosa, molte regole speciali | punto di forza dei metodi ad apprendimento |
| Fabbisogno di dati | pochi pezzi campione | molte immagini, annotate con cura |
| Fabbisogno di calcolo | da basso a medio | da medio ad alto, spesso con GPU o acceleratore IA |
| Tracciabilità | ogni passo spiegabile | limitata, richiede una validazione mirata |
| Modifiche al prodotto | adattare i parametri | eventualmente riaddestrare |
Un approccio classico in poche righe
Quanto poco codice richieda spesso un controllo basato su regole lo mostra questo esempio con Python e OpenCV. Separa i pezzi dallo sfondo con una soglia automatica e ne restituisce posizione e dimensioni:
import cv2
bild = cv2.imread("teil.png", cv2.IMREAD_GRAYSCALE)
bild = cv2.GaussianBlur(bild, (5, 5), 0)
_, maske = cv2.threshold(bild, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
konturen, _ = cv2.findContours(maske, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for kontur in konturen:
flaeche = cv2.contourArea(kontur)
if flaeche < 500:
continue # ignorare le piccole macchie come rumore
x, y, breite, hoehe = cv2.boundingRect(kontur)
print(f"Teil bei ({x}, {y}): {breite} x {hoehe} Pixel, Fläche {flaeche:.0f}")
Con luce uniforme e uno sfondo ben contrastato, una soluzione del genere basta spesso per un controllo robusto di presenza o di dimensioni. Contro superfici fortemente variabili, invece, serve a poco.
La via di mezzo: combinare
In pratica la risposta è spesso «entrambi». Passi classici trovano e misurano il pezzo, una piccola rete valuta solo la superficie difficile. Oppure al contrario: una rete trova gli oggetti, poi la geometria controlla con esattezza. Così la parte di IA resta piccola, veloce e ben verificabile.
Un esempio dai nostri progetti: per un produttore di termocamere si dovevano trovare volti nell'immagine – su un sistema embedded con potenza di calcolo fortemente limitata. Abbiamo esaminato diversi algoritmi e reti neurali in termini di velocità e qualità di riconoscimento. Alla fine, metodi propri e snelli giravano in tempo reale sull'hardware e distinguevano in modo affidabile i volti da lampade e altre fonti di calore. Un'IA ad alto consumo di calcolo lì era fuori questione. Anche nell'analisi di nuvole di punti 3D per un produttore di sensori abbiamo riconosciuto forme come cilindri, parallelepipedi e sfere con metodi geometrici come RANSAC – senza rete neurale.
Errori tipici
- Scegliere l'IA perché suona moderna, anche se bastano soglia e controllo dei contorni.
- Affinare sempre di più le regole classiche finché nessuno ha più una visione d'insieme, invece di passare per tempo a un metodo ad apprendimento.
- Trascurare luce e ottica. Nessun algoritmo salva un'immagine scadente.
- Raccogliere troppo poche immagini di difetti e testare il modello solo con pezzi buoni.
- Stabilire l'hardware di destinazione solo alla fine. A quel punto spesso il metodo non entra più nel dispositivo.
- Partire senza criteri di accettazione misurabili: quale tasso di riconoscimento, quale cadenza e quanti falsi allarmi sono accettabili?
Come La aiutiamo
- Studio di fattibilità per l'elaborazione delle immagini: verifichiamo sui Suoi pezzi campione se il compito è risolto meglio da metodi classici, dall'IA o da una combinazione – con un risultato affidabile prima che Lei investa.
- Realizzazione: elaborazione delle immagini con OpenCV, Halcon, PCL o reti neurali in C#, C++ o Python, fino all'integrazione nel Suo dispositivo o nel Suo impianto.
- Il Suo progetto: Richieda un progetto o fissi un primo colloquio
- Caso di studio: Termocamere: trovare volti con hardware limitato
Dai nostri progetti in sensoristica, tecnica di laboratorio e di misura: riconoscimento facciale su termocamere con hardware embedded, riconoscimento di oggetti in nuvole di punti 3D con OpenCV, PCL e Halcon.
