Ultralytics YOLO27:
Guide

Che cos’è il template matching? Una guida rapida

Scopri la tecnica di elaborazione delle immagini chiamata template matching, come funziona e la sua importanza nella storia della computer vision

ABAbirami Vina10 min read
Un esempio di template matching nell’elaborazione delle immagini

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

Le capacità di analisi delle immagini di una macchina derivano generalmente da due ambiti strettamente correlati dell'informatica: l'elaborazione delle immagini e la visione artificiale. Sebbene spesso lavorino insieme, hanno scopi fondamentali diversi.

L'elaborazione delle immagini si concentra sulle immagini come dati grezzi. Può migliorare le immagini, ma non cerca di comprenderne il contenuto. È qui che la visione artificiale fa la differenza. La visione artificiale è un ramo 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 nella visione artificiale sono molto più recenti. Un ottimo modo per comprendere la storia di questo campo è ripercorrere il modo in cui affrontavamo questi problemi usando metodi più vecchi e tradizionali.

Prendiamo ad esempio il matching delle immagini. Si tratta di un'attività comune di visione artificiale in cui un sistema deve determinare se uno specifico oggetto o modello è presente all'interno di un'immagine più grande.

Oggi è possibile farlo in modo semplice e accurato usando l'AI e il deep learning. Tuttavia, prima dell'avvento delle moderne reti neurali negli anni 2010, il metodo più utilizzato 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 modello viene fatta scorrere pixel per pixel su un'immagine più grande. Questo processo di scorrimento simile a una convoluzione consente all'algoritmo di trovare la posizione che corrisponde maggiormente a quel modello specifico.

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

Che cos'è il template matching?#

Il template matching può anche essere definito una tecnica classica di visione artificiale, ovvero una tecnica che opera direttamente sui pixel dell'immagine (l'unità più piccola di un'immagine digitale). Viene usato per trovare un modello più piccolo all'interno di un'immagine più grande.

Metodi di questo tipo sono definiti usando geometria, ottica e regole matematiche, invece di addestrare modelli di grandi dimensioni su enormi set di dati. 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 una piccola immagine modello (il modello da trovare).

Immagine A e Immagine B come esempi di modelli

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

L'obiettivo principale del template matching è individuare dove compare il modello nella scena più grande e misurare quanto corrisponda alle diverse regioni dell'immagine. L'algoritmo di template matching esegue questa operazione facendo scorrere il modello sull'immagine più grande e calcolando un punteggio di similarità a ogni posizione.

Le regioni con i punteggi più alti sono considerate le corrispondenze migliori, ovvero quelle che assomigliano maggiormente al modello. 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 usato nelle attività di verifica delle etichette nel controllo qualità. Può confrontare facilmente l'immagine modello delle etichette con le immagini del prodotto finito per verificare se le etichette sono presenti.

Come funziona il template matching#

Ecco una panoramica passo per passo del funzionamento del template matching:

  • Passaggio 1 - Preparazione delle immagini: il processo inizia caricando l'immagine di input e l'immagine modello, quindi convertendole entrambe in immagini 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 modello sull'immagine: successivamente, l'algoritmo di template matching fa scorrere il modello sull'immagine più grande un pixel alla volta (partendo dall'angolo in alto a sinistra). Ogni movimento costituisce un'iterazione, durante la quale l'algoritmo estrae dall'immagine di origine una porzione delle stesse dimensioni del modello.

  • Passaggio 3 - Misurazione della qualità della corrispondenza: ogni porzione dell'immagine viene confrontata con il modello usando un metodo matematico di matching, così da generare una metrica o un valore di correlazione per ogni posizione possibile. Gli approcci comuni includono le differenze al quadrato (che misurano la distanza numerica tra le intensità dei pixel per calcolare la discrepanza totale), la correlazione incrociata normalizzata (che moltiplica i valori dei pixel per determinare quanto bene si allineino i modelli chiari e scuri) 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 - Individuazione della corrispondenza migliore: dopo aver valutato tutte le posizioni, l'algoritmo seleziona la corrispondenza migliore trovando il valore massimo o minimo, a seconda del metodo usato. Spesso ai risultati viene applicata una soglia per garantire che vengano accettate solo le corrispondenze con un punteggio di confidenza sufficientemente alto, filtrando i rilevamenti deboli o errati.

  • Passaggio 5 - Evidenziazione del risultato: infine, la posizione rilevata viene riportata sull'immagine originale. In genere, intorno alla regione corrispondente viene disegnato un riquadro di delimitazione, che mostra chiaramente dove compare il modello.

Mettere in pratica il template matching#

Sebbene il template matching basato sull'elaborazione delle immagini non venga generalmente usato nelle implementazioni di soluzioni dinamiche di visione artificiale nel mondo reale a causa dei suoi svantaggi, se ti interessa provarlo, librerie Python come OpenCV rendono il processo semplice e offrono anche tutorial facili da seguire. Include una funzione integrata matchTemplate che gestisce i complessi confronti matematici.

Inoltre, supporta altre funzioni utili per attività semplici, come il caricamento delle immagini tramite la funzione imread e la conversione del colore tramite la funzione cvtColor per trasformare le immagini in scala di grigi. La conversione del colore è un passaggio fondamentale, 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 cromatico.

Dopo aver generato la mappa di similarità, OpenCV include anche una funzione minMaxLoc per completare il rilevamento. Può essere usata per analizzare l'intera mappa e identificare i valori minimo e massimo globali insieme alle relative coordinate esatte. A seconda del metodo di matching usato, minMaxLoc 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 delle immagini e applicare una soglia ai risultati, mentre Matplotlib viene comunemente usato per visualizzare la mappa di similarità e il rilevamento finale. Insieme, questi strumenti offrono un ambiente completo per creare ed eseguire il debug di una soluzione di template matching.

Applicazioni del template matching nel mondo reale#

Ora che comprendiamo meglio come funziona il template matching, analizziamo più da vicino le sue applicazioni in scenari del mondo reale.

Individuazione degli stili architettonici tradizionali#

Nel campo del patrimonio culturale e degli studi architettonici, i ricercatori devono analizzare fotografie di edifici storici, templi e monumenti per comprendere come variano i modelli di progettazione tra le diverse regioni. Prima che i modelli avanzati di visione artificiale venissero adottati su larga scala, usavano tecniche di matching delle immagini per studiare queste strutture.

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

Un esempio interessante proviene da uno studio sulle case tradizionali indonesiane. I ricercatori hanno creato piccoli modelli di caratteristiche distintive e li hanno confrontati con fotografie a grandezza naturale. Questo approccio è stato usato per evidenziare le regioni dell'immagine che corrispondevano strettamente al modello e classificare gli stili architettonici nelle diverse regioni.

Uso del template matching per classificare le case tradizionali in Indonesia

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

Rilevamento degli oggetti nei sistemi di visione industriale#

Gli ambienti industriali possono trarre vantaggio da sistemi di visione in grado di rilevare rapidamente i componenti, verificare gli assemblaggi o individuare i difetti. Prima che il deep learning si diffondesse nella produzione, molti team sperimentavano metodi di matching delle immagini per automatizzare queste attività.

In parole semplici, è possibile usare un modello di riferimento di un componente per analizzare le immagini provenienti da una linea di produzione ed evidenziare le regioni che corrispondono al modello. Questo funziona bene quando i componenti si trovano in posizioni coerenti e l'illuminazione è stabile.

Template matching per il rilevamento dei tumori polmonari#

Anche se le tecnologie all'avanguardia stanno avendo un impatto significativo nel settore sanitario, diagnosticare problemi di salute a partire da immagini mediche, come le scansioni TC, è ancora difficile. Tradizionalmente, i radiologi dovevano esaminare manualmente ogni strato della scansione, un processo che richiede estrema precisione e molto tempo.

Prima dell'applicazione del deep learning nel settore sanitario, i ricercatori hanno tentato di usare il template matching per semplificare il flusso di lavoro e contribuire all'identificazione delle anomalie. Un buon esempio di questa tecnica riguarda il rilevamento di tumori o noduli polmonari.

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

Rilevamento dei tumori polmonari tramite template matching

Fig. 4. Rilevamento dei tumori polmonari tramite template matching (Fonte)

Vantaggi e svantaggi del template matching#

Ecco alcuni vantaggi fondamentali dell'uso del template matching:

  • Intuitivo e semplice: il template matching è facile da comprendere e implementare, il che lo rende un punto di partenza ideale per chi è alle prime armi con l'AI e la visione artificiale.
  • Affidabile in condizioni controllate: funziona bene sulle immagini in scala di grigi con illuminazione uniforme, producendo risultati accurati quando i modelli e gli sfondi sono stabili.
  • Facile da integrare: usando librerie Python come OpenCV, il template matching può essere applicato rapidamente a progetti reali senza configurazioni complesse o un'elevata potenza di calcolo.

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

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

Punti chiave#

La visione artificiale è un campo vasto e comprende diverse tecniche. Imparare a conoscere le tecniche tradizionali di elaborazione delle immagini, come il template matching, è un ottimo punto di partenza per capire 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 approfondire l'AI? Unisciti alla nostra community e dai un'occhiata al nostro repository GitHub. Scopri come l'AI nel commercio al dettaglio e l'AI per la visione nella produzione stanno guidando il cambiamento. Esplora le nostre opzioni di licenza per creare oggi con l'AI per la visione!

Explore solutions

Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

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

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

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

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

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

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

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

Computer vision in agricoltura

Porta la vision AI nell'agricoltura intelligente con i modelli Ultralytics YOLO. Abilita il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per raccolti più abbondanti e intelligenti.
Scopri di più
Visione artificiale per immagini aeree

Visione artificiale per immagini aeree

Traduci immagini di droni e aeree in informazioni in tempo reale per agricoltura, acquacoltura, monitoraggio ambientale, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la visione artificiale al monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e industrie geospaziali con soluzioni di computer vision.
Scopri di più

Proteggi ogni sito con i modelli Ultralytics YOLO. La visione artificiale alimenta il monitoraggio del perimetro, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Computer vision nella robotica

Computer vision nella robotica

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

Computer vision 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 nei magazzini in tempo reale.
Scopri di più
Computer vision nel commercio al dettaglio

Computer vision nel commercio al dettaglio

Reinventa il commercio al dettaglio con i modelli Ultralytics YOLO. La Vision AI potenzia il tracciamento dell'inventario, il monitoraggio degli scaffali, la gestione delle code e analisi più intelligenti dei clienti.
Scopri di più
Computer vision nel settore sanitario

Computer vision nel settore sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. La Vision AI nel settore sanitario abilita imaging medico più rapido, diagnosi più intelligenti e monitoraggio dei pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La Vision AI supporta il controllo qualità, il rilevamento dei difetti, la conformità ai DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

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

Computer vision in agricoltura

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

Costruiamo insieme il futuro dell'AI!

Inizia il tuo percorso verso il futuro del machine learning