Scopri YOLO26: vision AI di prossima generazione.
Ultralytics
Guide

Cos'è l'image matching nella vision AI? Una rapida introduzione

Scopri come funziona l'image matching nella vision AI ed esplora le tecnologie core che aiutano le macchine a rilevare, confrontare e comprendere i dati visivi.

ABAbirami Vina
7 min read
Image matching nella vision AI

Quando osservi due immagini dello stesso oggetto, ad esempio un dipinto e la fotografia di un'auto, è facile notare cosa abbiano in comune. Per le macchine, tuttavia, non è così semplice.

Per effettuare tali confronti, le macchine si affidano alla computer vision, una branca dell'intelligenza artificiale (AI) che le aiuta a interpretare e comprendere le informazioni visive. La computer vision consente ai sistemi di rilevare oggetti, comprendere scene ed estrarre pattern da immagini o video.

In particolare, alcuni task visivi vanno oltre l'analisi di una singola immagine. Comportano il confronto tra immagini per trovare somiglianze, individuare differenze o tracciare cambiamenti nel tempo.

La Vision AI comprende un'ampia serie di tecniche e una capacità essenziale, nota come image matching, si concentra sull'identificazione di somiglianze tra le immagini, anche quando variano illuminazione, angolazioni o sfondi. Questa tecnica può essere utilizzata in varie applicazioni, tra cui robotica, realtà aumentata e geo-mapping.

In questo articolo esploreremo cos'è l'image matching, le sue tecniche principali e alcune delle sue applicazioni nel mondo reale. Cominciamo!

Link to this sectionCos'è l'image matching?#

L'image matching rende possibile per un sistema informatico capire se due immagini contengono contenuti simili. Gli esseri umani possono farlo in modo intuitivo notando forme, colori e pattern.

I computer, d'altra parte, si affidano ai dati numerici. Analizzano le immagini esaminando ogni pixel, che è l'unità più piccola di un'immagine digitale.

Ogni immagine è archiviata come una griglia di pixel e ogni pixel contiene solitamente valori per rosso, verde e blu (RGB). Questi valori possono cambiare quando un'immagine viene ruotata, ridimensionata, vista da un'angolazione diversa o catturata in condizioni di luce differenti. A causa di queste variazioni, il confronto tra immagini pixel per pixel è spesso inaffidabile.

Per rendere i confronti più coerenti, l'image matching si concentra su caratteristiche locali o angoli, bordi e regioni testurizzate che tendono a rimanere stabili anche quando un'immagine cambia leggermente. Rilevando queste caratteristiche, o keypoint, in più immagini, un sistema può confrontarle con una precisione molto maggiore.

Questo processo è ampiamente utilizzato in casi d'uso come navigazione, localizzazione, realtà aumentata, mappatura, ricostruzione 3D e ricerca visiva. Quando i sistemi identificano gli stessi punti in diverse immagini o in più frame, possono tracciare il movimento, comprendere la struttura della scena e prendere decisioni affidabili in ambienti dinamici.

Corrispondenza di immagini di auto dove vengono identificati punti chiave simili

Fig 1. Un esempio di image matching di un'auto in cui vengono identificati keypoint simili. (Fonte)

Link to this sectionCapire come funziona l'image matching#

L'image matching comporta diversi passaggi chiave che aiutano i sistemi a identificare e confrontare regioni simili all'interno delle immagini. Ogni passaggio migliora la precisione, la coerenza e la robustezza in condizioni diverse.

Ecco uno sguardo passo dopo passo al funzionamento dell'image matching:

  • Feature detection (Rilevamento delle caratteristiche): Il sistema identifica innanzitutto keypoint distintivi in un'immagine che rimangono stazionari anche quando cambiano illuminazione, scala o angolo di visualizzazione. Evidenziano aree come angoli, bordi o regioni testurizzate che risaltano visivamente.
  • Feature description (Descrizione delle caratteristiche): Ogni keypoint viene quindi convertito in un descrittore, che è un vettore numerico compatto che cattura il pattern visivo attorno a quel punto. Questi descrittori forniscono un modo affidabile per confrontare le caratteristiche tra diverse immagini.
  • Feature matching (Corrispondenza delle caratteristiche): I descrittori di due immagini vengono confrontati utilizzando algoritmi di matching che calcolano quanto sono simili. Questo passaggio associa i keypoint che sembrano corrispondere e filtra le corrispondenze più deboli o inaffidabili.
  • Verifica geometrica: Infine, il sistema controlla se i keypoint corrispondenti formano una relazione geometrica realistica. Rimuove le corrispondenze errate (chiamate outlier) utilizzando un metodo noto come RANSAC (Random Sample Consensus), che assicura che vengano conservate solo le coppie di punti affidabili. Una volta identificate le buone corrispondenze, il sistema stima la trasformazione che mette meglio in relazione le due immagini. Si tratta spesso di una trasformazione affine, che si adatta a cambiamenti come ridimensionamento, rotazione e traslazione, o di una omografia, che può gestire anche i cambiamenti di prospettiva. L'utilizzo di queste trasformazioni consente al sistema di allineare le immagini in modo accurato, anche quando sono state catturate da punti di vista leggermente diversi.

Estrazione dei feature point e corrispondenza delle feature

Fig 2. (a) Estrazione di feature-point e (b) feature matching. (Fonte)

Link to this sectionTecniche principali coinvolte nell'image matching#

Prima di esplorare le applicazioni nel mondo reale dell'image matching, diamo un'occhiata più da vicino alle tecniche di image-matching utilizzate nei sistemi di computer vision.

Link to this sectionImage matching basato su template matching#

Il template matching è uno dei metodi di image-matching più semplici. È generalmente considerato una tecnica di elaborazione delle immagini piuttosto che un metodo moderno di computer-vision, perché si basa su confronti diretti di pixel e non estrae caratteristiche visive più profonde.

Viene utilizzato per individuare un'immagine di riferimento più piccola, o template, all'interno di una scena più grande. Funziona utilizzando un algoritmo che fa scorrere un template sull'immagine principale e calcola un punteggio di somiglianza in ogni posizione per misurare quanto le due regioni si corrispondono. L'area con il punteggio più alto è considerata la corrispondenza migliore, indicando dove è più probabile che l'oggetto appaia nella scena.

Uno sguardo all'utilizzo del template matching

Fig 3. Uno sguardo all'utilizzo del template matching. (Fonte)

Questa tecnica funziona bene quando scala, rotazione e illuminazione dell'oggetto rimangono coerenti, rendendola una buona scelta per ambienti controllati o confronti di base. Tuttavia, le sue prestazioni diminuiscono quando l'oggetto appare diverso dal template, ad esempio quando le sue dimensioni cambiano, viene ruotato, è parzialmente occluso o appare contro uno sfondo rumoroso o complesso.

Link to this sectionTecniche classiche basate su caratteristiche per l'image matching#

Prima che il deep learning venisse ampiamente adottato, l'image matching si basava principalmente su algoritmi classici di computer vision che rilevavano keypoint distintivi in un'immagine. Invece di confrontare ogni pixel, questi metodi analizzano i gradienti dell'immagine, o cambiamenti di intensità, per evidenziare angoli, bordi e regioni testurizzate che risaltano.

Ogni keypoint rilevato viene quindi rappresentato utilizzando un riepilogo numerico compatto chiamato descrittore. Quando si confrontano due immagini, un matcher valuta questi descrittori per trovare le coppie più simili.

Un punteggio di somiglianza elevato indica solitamente che lo stesso punto fisico appare in entrambe le immagini. I matcher utilizzano anche specifiche metriche di distanza o regole di punteggio per giudicare quanto le caratteristiche si allineano, migliorando l'affidabilità complessiva.

Ecco alcuni degli algoritmi classici di computer vision chiave utilizzati per l'image matching:

  • SIFT (Scale-Invariant Feature Transform): Identifica i keypoint analizzando i gradienti di intensità dell'immagine, consentendo loro di rimanere riconoscibili quando un'immagine viene ingrandita, rimpicciolita o ruotata.

  • SURF (Speeded-Up Robust Features): Questo algoritmo è simile a SIFT ma è ottimizzato per la velocità. Utilizza approssimazioni rapide di operazioni basate su gradiente, rendendolo adatto per applicazioni che richiedono tempi di risposta rapidi.

  • ORB (Oriented FAST and Rotated BRIEF): Unisce due algoritmi chiamati FAST e BRIEF. FAST trova rapidamente punti simili ad angoli in un'immagine, mentre BRIEF crea una descrizione compatta di ogni punto in modo che possano essere abbinati tra le immagini. ORB migliora anche entrambi i passaggi aggiungendo la gestione della rotazione, rendendolo veloce e affidabile.

Punti caratteristici SURF estratti e abbinati tra due immagini

Fig 4. Punti caratteristici SURF estratti e abbinati tra due immagini. (Fonte)

Link to this sectionTecniche basate sul deep learning per l'image matching#

A differenza dei metodi classici che si basano su regole specifiche, il deep learning apprende automaticamente le caratteristiche da grandi dataset, che sono raccolte di dati visivi da cui i modelli AI apprendono pattern. Questi modelli vengono solitamente eseguiti su GPU (Graphics Processing Units), che forniscono l'elevata potenza di calcolo necessaria per elaborare grandi batch di immagini e addestrare reti neurali complesse in modo efficiente.

Ciò conferisce ai modelli AI la capacità di gestire cambiamenti nel mondo reale come illuminazione, angolazioni della telecamera e occlusioni. Alcuni modelli combinano anche tutti i passaggi in un unico flusso di lavoro, supportando prestazioni robuste in condizioni difficili.

Ecco alcuni approcci basati sul deep learning per l'estrazione e l'abbinamento di caratteristiche dell'immagine:

  • Estrazione di caratteristiche basata su CNN: Questi modelli apprendono automaticamente pattern visivi chiave da grandi dataset. Riconoscono caratteristiche che difficilmente cambiano, rendendole affidabili per l'abbinamento di oggetti in scene diverse.

  • Matching basato su embedding: Invece di confrontare direttamente i pixel, questo metodo trasforma le immagini in rappresentazioni numeriche compatte note come embedding. Il matcher confronta quindi questi embedding per trovare elementi visivi simili. Modelli come FaceNet, che genera embedding per riconoscere e confrontare volti, e CLIP, che mappa immagini e testo in uno spazio condiviso per task come la ricerca di immagini e il semantic matching, seguono questo approccio.

  • Pipeline di matching end-to-end: I sistemi di deep learning all'avanguardia spesso combinano rilevamento di keypoint, descrizione e matching in un flusso di lavoro unificato. Modelli come SuperPoint e D2-Net apprendono sia keypoint che descrittori direttamente dalle mappe delle caratteristiche CNN, mentre SuperGlue funge da matcher appreso che associa questi descrittori in modo più affidabile rispetto ai metodi tradizionali. Insieme, questi componenti creano una pipeline end-to-end che offre una precisione maggiore e una maggiore robustezza in condizioni difficili rispetto agli approcci classici basati su caratteristiche.

  • Matching basato su Transformer: Questo metodo utilizza meccanismi di attenzione per collegare le regioni corrispondenti tra due immagini, consentendogli di allineare patch anche in presenza di forti cambiamenti di punto di vista, illuminazione o texture. Modelli come LoFTR (Local Feature Transformer) ottengono una precisione molto più elevata perché il campo ricettivo globale del Transformer consente un matching affidabile in aree a bassa texture, sfocate o ripetitive dove i rilevatori tradizionali falliscono. LoFTR produce corrispondenze semi-dense ad alta confidenza e supera i precedenti metodi allo stato dell'arte con un ampio margine su benchmark sia indoor che outdoor.

  • Modelli focalizzati sull'efficienza: I modelli di image-matching più recenti mirano a offrire un'elevata precisione pur essendo più veloci. Modelli come LightGlue sono progettati per essere eseguiti in modo efficiente su dispositivi con potenza di calcolo limitata, pur mantenendo una buona qualità di matching.

Link to this sectionApplicazioni nel mondo reale dell'image matching#

Ora che abbiamo una migliore comprensione di come funziona l'image matching, diamo un'occhiata ad alcune applicazioni nel mondo reale in cui gioca un ruolo importante.

Link to this sectionRobotica più intelligente guidata dall'image matching#

I robot operano spesso in ambienti affollati e mutevoli, dove devono capire quali oggetti sono presenti e come sono posizionati. L'image matching può aiutare i robot a comprendere gli oggetti che vedono confrontandoli con immagini archiviate o di riferimento. Ciò rende più facile per questi robot riconoscere gli oggetti, tracciarne il movimento e adattarsi anche quando cambiano l'illuminazione o gli angoli della telecamera.

Ad esempio, in un magazzino, un sistema pick-and-place robotico può utilizzare l'image matching per identificare e gestire diversi articoli. Il robot prima afferra un oggetto, quindi confronta la sua immagine con campioni di riferimento per identificarlo.

Un robot che riconosce e raccoglie oggetti abbinando immagini di riferimento

Fig 5. Un robot riconosce e raccoglie oggetti confrontandoli con immagini di riferimento. (Fonte)

Una volta trovata la corrispondenza, il robot sa come ordinarlo o posizionarlo correttamente. Questo approccio consente ai robot di riconoscere sia oggetti familiari che nuovi senza dover riaddestrare l'intero sistema. Li aiuta anche a prendere decisioni migliori in tempo reale, come organizzare scaffali, assemblare componenti o riordinare articoli.

Link to this sectionMigliorare la ricostruzione 3D con un image matching migliore#

In settori come la mappatura tramite droni, la realtà virtuale e l'ispezione di edifici, i sistemi devono spesso ricostruire un modello 3D da più immagini 2D. Per fare ciò, si affidano all'image matching per identificare keypoint comuni, come angoli o regioni testurizzate, che appaiono in diverse immagini.

Questi punti condivisi aiutano il sistema a capire come le immagini si relazionano tra loro nello spazio 3D. Questa idea è strettamente correlata alla Structure from Motion (SfM), una tecnica che costruisce strutture 3D identificando e abbinando keypoint in immagini catturate da diversi punti di vista.

Se il matching non è accurato, il modello 3D risultante può apparire distorto o incompleto. Per questo motivo, i ricercatori hanno lavorato per migliorare l'affidabilità dell'image matching per la ricostruzione 3D e i recenti progressi hanno mostrato risultati promettenti.

Un esempio interessante è HashMatch, un algoritmo di image-matching più veloce e robusto. HashMatch converte i dettagli dell'immagine in pattern compatti chiamati hash code, che rendono più facile identificare le corrispondenze corrette e rimuovere gli outlier, anche quando l'illuminazione o i punti di vista variano.

Quando testato su dataset su larga scala, HashMatch ha prodotto modelli di ricostruzione 3D più puliti e realistici con meno errori di allineamento. Ciò lo rende particolarmente utile per applicazioni come mappatura con droni, sistemi AR e conservazione del patrimonio culturale, dove la precisione è fondamentale.

Link to this sectionIl ruolo dell'image matching nella realtà aumentata#

Quando si parla di realtà aumentata (AR), mantenere gli oggetti virtuali allineati con il mondo reale è spesso una sfida. Gli ambienti esterni possono cambiare costantemente a seconda delle condizioni ambientali, come la luce solare e il tempo. Sottili differenze nel mondo reale possono far apparire gli elementi virtuali instabili o leggermente fuori posto.

Per risolvere questo problema, i sistemi AR utilizzano l'image matching per interpretare ciò che li circonda. Confrontando i frame live della telecamera con immagini di riferimento archiviate, possono capire dove si trova l'utente e come è cambiata la scena.

Punti caratteristici abbinati tra due immagini

Fig 6. Punti caratteristici abbinati tra due immagini. (Fonte: theijes.com)

Ad esempio, in uno studio che coinvolge l'addestramento AR outdoor in stile militare con occhiali XR (Extended Reality), i ricercatori hanno utilizzato SIFT e altri metodi basati su caratteristiche per abbinare dettagli visivi tra immagini reali e di riferimento. Corrispondenze accurate hanno mantenuto gli elementi virtuali correttamente allineati con il mondo reale, anche quando l'utente si muoveva rapidamente o l'illuminazione cambiava.

Link to this sectionPunti chiave#

L'image matching è un componente fondamentale della computer vision, che consente ai sistemi di comprendere come le diverse immagini si relazionano tra loro o come una scena cambia nel tempo. Svolge un ruolo critico nella robotica, nella realtà aumentata, nella ricostruzione 3D, nella navigazione autonoma e in molte altre applicazioni del mondo reale in cui precisione e stabilità sono essenziali.

Con modelli AI avanzati come SuperPoint e LoFTR, i sistemi odierni stanno diventando molto più robusti rispetto ai metodi precedenti. Man mano che le tecniche di machine learning, i moduli di visione specializzati, le reti neurali e i dataset continuano ad avanzare, l'image matching diventerà probabilmente più veloce, più accurato e più adattabile.

Unisciti alla nostra community in crescita ed esplora il nostro repository GitHub per risorse AI pratiche. Per costruire con la Vision AI oggi, esplora le nostre opzioni di licenza. Scopri come l'AI nell'agricoltura sta trasformando l'agricoltura e come la Vision AI nell'assistenza sanitaria sta plasmando il futuro visitando le nostre pagine delle soluzioni.

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