Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Guide

Cos'è il template matching? Una guida rapida

Esplora la tecnica di elaborazione delle immagini denominata template matching, come funziona e il suo significato nella storia della computer vision

ABAbirami Vina
5 min read
Un esempio di template matching nell'elaborazione delle immagini

Le immagini contengono spesso molti dettagli minimi che gli esseri umani riescono a notare facilmente. Tuttavia, per le macchine, questo compito non è così semplice. Le macchine percepiscono un'immagine digitale come una griglia di valori di pixel e persino lievi cambiamenti di illuminazione, angolazione, scala o nitidezza possono creare confusione.

Le capacità di analisi delle immagini di una macchina derivano generalmente da due campi informatici strettamente correlati: l'elaborazione delle immagini e la computer vision. Sebbene lavorino spesso insieme, hanno scopi fondamentali diversi.

L'elaborazione delle immagini si concentra sulle immagini come dati grezzi. Può migliorare le immagini, ma non tenta di comprenderne il contenuto. È qui che la computer vision fa la differenza. La computer vision è una branca dell'intelligenza artificiale (AI) che consente alle macchine di comprendere immagini e video.

L'elaborazione di base delle immagini esiste da molti anni, ma le innovazioni all'avanguardia della computer vision sono molto più recenti. Un ottimo modo per comprendere la storia del campo è guardare indietro a come risolvevamo questi problemi usando metodi più vecchi e tradizionali.

Prendi, ad esempio, l'image matching. È un compito di visione comune in cui un sistema deve scoprire se un oggetto o un pattern specifico esiste all'interno di un'immagine più grande.

Oggigiorno, questo può essere fatto facilmente e con precisione utilizzando l'AI e il deep learning. Tuttavia, prima dell'ascesa delle moderne reti neurali negli anni 2010, il metodo preferito era una tecnica molto più semplice chiamata template matching.

Un esempio di template matching

Fig 1. Un esempio di template matching (Fonte)

Il template matching è una tecnica di elaborazione delle immagini in cui una piccola immagine template viene fatta scorrere su un'immagine più grande, pixel per pixel. Questo processo di scorrimento simile alla convoluzione consente all'algoritmo di trovare la posizione che corrisponde più strettamente a quel pattern specifico.

In questo articolo, esploreremo cos'è il template matching e come i miglioramenti moderni lo rendano più affidabile nelle situazioni del mondo reale. Iniziamo!

Link to this sectionCos'è il template matching?#

Il template matching può anche essere definito come una tecnica classica di computer vision, il che significa che lavora direttamente con i pixel dell'immagine (l'unità più piccola di un'immagine digitale). Viene utilizzato per trovare un pattern più piccolo all'interno di un'immagine più grande.

Metodi come questo sono definiti usando geometria, ottica e regole matematiche anziché addestrare grandi modelli su enormi dataset. In altre parole, un sistema di template matching confronta la luminosità, il colore e altre informazioni sui pixel tra due input: l'immagine di input (l'immagine più grande) e un'immagine template più piccola (il pattern da trovare).

Immagine A e Immagine B come esempi di template

Fig 2. L'immagine A e l'immagine B sono esempi di template. (Fonte)

L'obiettivo principale del template matching è individuare dove appare il template nella scena più grande e misurare quanto corrisponde strettamente alle diverse regioni dell'immagine. L'algoritmo di template matching fa questo facendo scorrere il template sull'immagine più grande e calcolando un punteggio di similarità in ogni posizione.

Le regioni con punteggi più alti sono considerate la corrispondenza migliore, il che significa che assomigliano molto al template. Poiché questo metodo si basa su confronti pixel per pixel, funziona meglio in ambienti controllati, dove l'aspetto degli oggetti non cambia.

Ad esempio, il template matching può essere utilizzato in attività di verifica delle etichette nel controllo qualità. Può facilmente abbinare l'immagine template delle etichette con le immagini del prodotto finito per verificare se le etichette sono presenti o meno.

Link to this sectionCome funziona il template matching#

Ecco una panoramica passo dopo passo di come funziona il template matching:

  • Passaggio 1 - Preparazione delle immagini: Il processo inizia caricando l'immagine di input e l'immagine template, quindi convertendo entrambe in un'immagine in scala di grigi. Poiché il template matching si basa sul confronto dei valori dei pixel, rimuovere le informazioni sul colore riduce il rumore e accelera l'elaborazione delle immagini.

  • Passaggio 2 - Scorrimento del template sull'immagine: Successivamente, l'algoritmo di template matching fa scorrere il template sull'immagine più grande un pixel alla volta (partendo dall'angolo in alto a sinistra). Ogni passo in questo movimento è un'iterazione, in cui l'algoritmo estrae una patch di immagine dall'immagine sorgente che corrisponde alle dimensioni del template.

  • Passaggio 3 - Misurare la qualità della corrispondenza: Ogni patch di immagine viene confrontata con il template utilizzando un metodo di corrispondenza matematico per generare una metrica di correlazione o un valore di correlazione per ogni possibile posizione. Gli approcci comuni includono le differenze al quadrato (che misurano la distanza numerica tra le intensità dei pixel per calcolare il disadattamento totale), la correlazione incrociata normalizzata (che moltiplica i valori dei pixel per determinare quanto bene si allineano i pattern di luce e ombra) e il coefficiente di correlazione (che sottrae la luminosità media per garantire che la corrispondenza rimanga accurata anche se l'illuminazione cambia leggermente).

  • Passaggio 4 - Identificare la corrispondenza migliore: Dopo aver valutato tutte le posizioni, l'algoritmo seleziona la corrispondenza migliore trovando il valore massimo o il valore minimo, a seconda del metodo utilizzato. Spesso viene applicata una soglia a questi risultati per garantire che vengano accettate solo le corrispondenze con un punteggio di confidenza sufficientemente elevato, filtrando rilevamenti deboli o errati.

  • Passaggio 5 - Evidenziare il risultato: Infine, la posizione rilevata viene mappata nuovamente sull'immagine originale. In genere, viene disegnato un bounding box attorno alla regione corrispondente, mostrando chiaramente dove appare il template.

Link to this sectionFare pratica con il template matching#

Sebbene il template matching basato sull'elaborazione delle immagini non venga generalmente utilizzato in distribuzioni di soluzioni di computer vision dinamiche nel mondo reale a causa degli svantaggi che comporta, se sei interessato a testarlo, le librerie Python come OpenCV rendono questo processo semplice e offrono anche tutorial facili da seguire. Dispone di una funzione integrata matchTemplate che gestisce i complessi confronti matematici.

Inoltre, supporta altre funzioni che aiutano con compiti semplici come il caricamento delle immagini utilizzando la funzione imread e la conversione del colore utilizzando la funzione cvtColor per trasformare le immagini in scala di grigi. La conversione del colore è un passaggio critico perché ridurre un'immagine a un singolo canale di intensità rende il confronto matematico all'interno di matchTemplate molto più veloce e meno sensibile al rumore del colore.

Una volta generata la mappa di similarità, OpenCV include anche una funzione minMaxLoc per finalizzare il rilevamento. Può essere utilizzata per scansionare l'intera mappa per identificare i valori minimo e massimo globali insieme alle loro coordinate esatte. A seconda del metodo di corrispondenza utilizzato, minMaxLoc ti consente di individuare istantaneamente la posizione della corrispondenza migliore trovando la correlazione più alta o il valore di errore più basso nei dati.

Oltre a OpenCV, librerie come NumPy sono essenziali per gestire gli array di immagini e applicare una soglia ai risultati, mentre Matplotlib viene comunemente utilizzato per visualizzare la mappa di similarità e il rilevamento finale. Insieme, questi strumenti forniscono un ambiente completo per costruire ed eseguire il debug di una soluzione di template-matching.

Link to this sectionApplicazioni nel mondo reale del template matching#

Ora che abbiamo una migliore comprensione di come funziona il template matching, diamo un'occhiata più da vicino alla sua applicazione in scenari del mondo reale.

Link to this sectionIdentificazione di stili architettonici tradizionali#

Nel patrimonio culturale e negli studi architettonici, i ricercatori devono analizzare fotografie di edifici storici, templi e monumenti per capire come i pattern di design variano tra le regioni. Prima che i modelli avanzati di computer vision venissero ampiamente adottati, utilizzavano tecniche di image-matching per studiare tali strutture.

Il template matching consente ai ricercatori di concentrarsi su segnali architettonici specifici come profili dei tetti, disposizioni delle finestre o motivi delle pareti. Facendo scorrere template o immagini di riferimento su immagini più grandi, possono identificare forme ricorrenti e ridurre l'analisi manuale delle immagini, che può richiedere ore.

Un esempio interessante proviene da uno studio relativo alle case tradizionali indonesiane. I ricercatori hanno creato piccoli template di caratteristiche distintive e li hanno confrontati con fotografie in scala reale. Questo approccio è stato utilizzato per evidenziare le regioni dell'immagine che corrispondevano strettamente al template e classificare gli stili architettonici tra le regioni.

Uso del template matching per classificare le case tradizionali in Indonesia

Fig 3. Utilizzo del template matching per classificare le case tradizionali in Indonesia (Fonte)

Link to this sectionRilevamento di oggetti in sistemi di visione industriale#

Gli ambienti industriali possono beneficiare di sistemi di visione in grado di rilevare rapidamente componenti, verificare assemblaggi o individuare difetti. Prima che il deep learning diventasse diffuso nella produzione, molti team hanno sperimentato metodi di image-matching per automatizzare queste attività.

In poche parole, un template di riferimento del componente può essere utilizzato per scansionare le immagini da una linea di produzione ed evidenziare le regioni che corrispondono al template. Questo funziona bene quando le parti appaiono in posizioni coerenti e l'illuminazione è stabile.

Link to this sectionTemplate matching per il rilevamento di tumori polmonari#

Anche con la tecnologia all'avanguardia che ha un impatto sull'assistenza sanitaria, diagnosticare problemi di salute da immagini mediche come le scansioni TC rimane difficile. Tradizionalmente, i radiologi dovevano esaminare manualmente ogni sezione della scansione, un processo che richiede estrema precisione e molto tempo.

Prima che il deep learning venisse applicato nel settore sanitario, i ricercatori hanno tentato di utilizzare il template matching per snellire il flusso di lavoro e assistere nell'identificazione di anomalie. Un buon esempio di questa tecnica è legato al rilevamento di tumori o noduli polmonari.

In questo metodo, i ricercatori creano template di riferimento che rappresentano la forma e l'intensità tipiche di un tumore. Il sistema quindi fa scorrere questi template sulle scansioni dei pazienti, misurando la similarità a ogni coordinata.

Rilevamento di tumori polmonari tramite template matching

Fig 4. Rilevamento di tumori polmonari utilizzando il template matching (Fonte)

Link to this sectionPro e contro del template matching#

Ecco alcuni vantaggi chiave dell'utilizzo del template matching:

  • Intuitivo e semplice: il template matching è facile da comprendere e implementare, rendendolo un punto di partenza ideale per i principianti nell'AI e nella computer vision.
  • Affidabile in condizioni controllate: funziona bene su immagini in scala di grigi con illuminazione coerente, producendo risultati accurati quando i pattern e gli sfondi sono stabili.
  • Facile integrazione: utilizzando librerie Python come OpenCV, il template matching può essere applicato rapidamente a progetti reali senza configurazioni complesse o calcoli pesanti.

Sebbene il template matching offra molti vantaggi, presenta anche dei limiti. Ecco alcune sfide da tenere a mente:

  • Sensibile alla scala e alla rotazione: la variazione nelle dimensioni o nell'orientamento del template può ridurre la precisione.
  • Dipendenza da illuminazione e contrasto: i cambiamenti di illuminazione o contrasto tra il template e l'immagine possono causare corrispondenze errate o rendere il template più difficile da rilevare.
  • Adattabilità limitata: a differenza dei metodi basati sull'AI, il template matching non può imparare dai dati o migliorare nel tempo. Funziona meglio in contesti controllati o ripetitivi.

Link to this sectionPunti chiave#

La computer vision è un campo vasto e copre varie tecniche. Imparare le tecniche tradizionali di elaborazione delle immagini, come il template matching, è un ottimo punto di partenza per comprendere come funziona l'analisi delle immagini. Le innovazioni all'avanguardia nell'AI per la visione si basano sugli stessi concetti fondamentali e risolvono problemi simili.

Vuoi saperne di più sull'AI? Unisciti alla nostra community e dai un'occhiata al nostro repository GitHub. Scopri come l'AI nel settore retail e la vision AI nella produzione stanno guidando il cambiamento. Esplora le nostre opzioni di licenza per costruire oggi stesso con la vision AI!

Explore solutions

Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più
Real-time AI that works with your team

AI nella Robotica

Potenzia macchine più intelligenti con i modelli Ultralytics YOLO. La Vision AI nella robotica guida la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.

Scopri di più
Real-time AI that works with your team

IA nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. La Vision AI abilita l'ispezione dei pacchi, lo smistamento, il tracciamento dei veicoli e il monitoraggio della sicurezza in magazzino in tempo reale.

Scopri di più
Real-time AI that works with your team

AI nel settore Retail

Reimmagina il retail con i modelli Ultralytics YOLO. La Vision AI alimenta il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e insight più intelligenti sui clienti.

Scopri di più
Real-time AI that works with your team

IA nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La vision AI nella sanità potenzia l'imaging medico più rapido, diagnosi più intelligenti e il monitoraggio dei pazienti.

Scopri di più
Real-time AI that works with your team

IA nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI guida il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione della linea di assemblaggio.

Scopri di più
Real-time AI that works with your operation

AI nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La vision AI migliora la sicurezza stradale, l'assistenza alla guida e l'automazione dei veicoli per strade più intelligenti.

Scopri di più
Real-time AI tailored to your operation

AI in Agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Potenzia il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per rese più elevate e intelligenti.

Scopri di più

Costruiamo insieme il futuro dell'AI!

Inizia il tuo viaggio con il futuro del machine learning