Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Impostazioni dei cookie
Cliccando su “Accetta tutti i cookie”, l'utente accetta di memorizzare i cookie sul proprio dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere le nostre attività di marketing. Maggiori informazioni
Scoprite come funziona la corrispondenza delle immagini in Vision AI ed esplorate le tecnologie fondamentali che aiutano le macchine a detect, confrontare e comprendere i dati visivi.
Quando si osservano due immagini dello stesso oggetto, come un quadro e una fotografia di un'automobile, è facile notare ciò che hanno in comune. Per le macchine, invece, non è così semplice.
Per fare questi 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 detect oggetti, comprendere scene ed estrarre modelli da immagini o video.
In particolare, alcuni compiti visivi vanno oltre l'analisi di una singola immagine. Si tratta di confrontare le immagini per trovare somiglianze, individuare differenze o track cambiamenti nel tempo.
L'intelligenza artificiale della visione comprende un'ampia gamma di tecniche e una capacità essenziale, nota come corrispondenza delle immagini, si concentra sull'identificazione delle somiglianze tra le immagini, anche quando l'illuminazione, gli angoli o gli sfondi variano. Questa tecnica può essere utilizzata in diverse applicazioni, tra cui la robotica, la realtà aumentata e la geo-mappatura.
In questo articolo esploreremo che cos'è la corrispondenza di immagini, le sue tecniche principali e alcune delle sue applicazioni reali. Iniziamo!
Che cos'è la corrispondenza delle immagini?
La corrispondenza delle immagini consente a un sistema informatico di capire se due immagini contengono contenuti simili. Gli esseri umani sono in grado di farlo in modo intuitivo, notando forme, colori e modelli.
I computer, invece, si basano su dati numerici. Analizzano le immagini analizzando ogni pixel, la più piccola unità di un'immagine digitale.
Ogni immagine è memorizzata come una griglia di pixel e ogni pixel contiene tipicamente i valori di rosso, verde e blu (RGB). Questi valori possono cambiare quando un'immagine viene ruotata, ridimensionata, vista da un'angolazione diversa o acquisita in condizioni di luce diverse. A causa di queste variazioni, il confronto delle immagini pixel per pixel è spesso inaffidabile.
Per rendere i confronti più coerenti, la corrispondenza delle immagini si concentra su caratteristiche locali o angoli, bordi e regioni strutturate che tendono a rimanere stabili anche quando un'immagine cambia leggermente. Rilevando queste caratteristiche, o punti chiave, su più immagini, un sistema può confrontarle con una precisione molto maggiore.
Questo processo è ampiamente utilizzato in casi d'uso come la navigazione, la localizzazione, la realtà aumentata, la mappatura, la ricostruzione 3D e la ricerca visiva. Quando i sistemi identificano gli stessi punti in immagini diverse o in più fotogrammi, possono track movimento, comprendere la struttura della scena e prendere decisioni affidabili in ambienti dinamici.
Figura 1. Un esempio di corrispondenza di immagini di automobili in cui vengono identificati punti chiave simili.(Fonte)
Capire come funziona la corrispondenza delle immagini
La corrispondenza delle immagini comporta diversi passaggi chiave che aiutano i sistemi a identificare e confrontare regioni simili all'interno delle immagini. Ogni fase migliora l'accuratezza, la coerenza e la robustezza in condizioni diverse.
Ecco un'illustrazione passo per passo di come funziona la corrispondenza delle immagini:
Rilevamento delle caratteristiche: Il sistema identifica innanzitutto i punti chiave distintivi di un'immagine che rimangono fermi anche quando cambiano l'illuminazione, la scala o l'angolo di osservazione. Evidenziano aree come angoli, bordi o regioni strutturate che si distinguono visivamente.
Descrizione delle caratteristiche: Ogni punto chiave viene poi convertito in un descrittore, ovvero un vettore numerico compatto che cattura il modello visivo intorno a quel punto. Questi descrittori forniscono un modo affidabile per confrontare le caratteristiche tra immagini diverse.
Corrispondenza delle caratteristiche: i descrittori di due immagini vengono confrontati con algoritmi di corrispondenza che calcolano la loro somiglianza. Questa fase accoppia i punti chiave che sembrano corrispondere e filtra le corrispondenze più deboli o inaffidabili.
Verifica geometrica: Infine, il sistema verifica se i punti chiave corrispondenti formano una relazione geometrica realistica. Rimuove le corrispondenze errate (chiamate outlier) utilizzando un metodo noto come RANSAC (Random Sample Consensus), che garantisce che vengano mantenute solo le coppie di punti affidabili. Una volta identificate le corrispondenze corrette, il sistema stima la trasformazione che meglio mette in relazione le due immagini. Spesso si tratta di una trasformazione affine, che si adatta a cambiamenti come la scalatura, la rotazione e lo spostamento, o di un'omografia, che può gestire anche i cambiamenti di prospettiva. L'uso di queste trasformazioni consente al sistema di allineare accuratamente le immagini, anche se sono state acquisite da punti di vista leggermente diversi.
Fig. 2. (a) Estrazione dei punti caratteristici e (b) corrispondenza delle caratteristiche.(Fonte)
Le principali tecniche di corrispondenza delle immagini
Prima di esplorare le applicazioni reali della corrispondenza delle immagini, diamo un'occhiata più da vicino alle tecniche di corrispondenza delle immagini utilizzate nei sistemi di visione artificiale.
Corrispondenza delle immagini basata sulla corrispondenza dei modelli
La corrispondenza dei modelli è uno dei metodi più semplici di corrispondenza delle immagini. È generalmente considerata una tecnica di elaborazione delle immagini piuttosto che un moderno metodo di computer-vision, perché si basa sul confronto diretto dei pixel e non estrae caratteristiche visive più profonde.
Viene utilizzato per individuare un'immagine di riferimento più piccola, o modello, all'interno di una scena più grande. Funziona con un algoritmo che fa scorrere un modello sull'immagine principale e calcola un punteggio di somiglianza in ogni posizione per misurare la corrispondenza tra le due regioni. L'area con il punteggio più alto viene considerata la migliore, indicando il punto in cui è più probabile che l'oggetto appaia nella scena.
Figura 3. Uno sguardo all'uso della corrispondenza dei modelli.(Fonte)
Questa tecnica funziona bene quando la scala, la rotazione e l'illuminazione dell'oggetto rimangono costanti, il che la rende una buona scelta per ambienti controllati o per confronti di base. Tuttavia, le sue prestazioni diminuiscono quando l'oggetto appare diverso dal modello, ad esempio quando le sue dimensioni cambiano, è ruotato, parzialmente occluso o appare su uno sfondo rumoroso o complesso.
Tecniche classiche basate sulle caratteristiche per la corrispondenza delle immagini
Prima che il deep learning si diffondesse, la corrispondenza delle immagini si basava principalmente su algoritmi classici di visione artificiale che individuavano punti chiave distintivi in un'immagine. Invece di confrontare ogni pixel, questi metodi analizzano i gradienti dell'immagine, o le variazioni di intensità, per evidenziare angoli, bordi e regioni strutturate che si distinguono.
Ogni punto chiave rilevato viene quindi rappresentato con un riassunto 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 di solito che lo stesso punto fisico appare in entrambe le immagini. I matcher utilizzano anche metriche di distanza specifiche o regole di punteggio per giudicare l'allineamento delle caratteristiche, migliorando l'affidabilità complessiva.
Ecco alcuni dei principali algoritmi classici di visione artificiale utilizzati per la corrispondenza delle immagini:
SURF (Speeded-Up Robust Features): Questo algoritmo è simile a SIFT ma è ottimizzato per la velocità. Utilizza approssimazioni veloci delle operazioni basate sul gradiente, rendendolo adatto alle applicazioni che richiedono tempi di risposta rapidi.
ORB (Oriented FAST and Rotated BRIEF): Riunisce due algoritmi chiamati FAST e BRIEF. FAST individua rapidamente i punti simili agli angoli in un'immagine, mentre BRIEF crea una descrizione compatta di ciascun punto, in modo da poterli abbinare a tutte le immagini. ORB migliora entrambe le fasi aggiungendo la gestione della rotazione, rendendola veloce e affidabile.
Figura 4. Punti caratteristici SURF estratti e abbinati tra due immagini.(Fonte)
Tecniche basate sull'apprendimento profondo per la corrispondenza delle immagini
A differenza dei metodi classici che si basano su regole specifiche, il deep learning apprende automaticamente le caratteristiche da grandi insiemi di dati, ovvero raccolte di dati visivi da cui i modelli di intelligenza artificiale apprendono modelli. Questi modelli vengono generalmente eseguiti su GPU (Graphics Processing Units), che forniscono l'elevata potenza di calcolo necessaria per elaborare grandi lotti di immagini e addestrare in modo efficiente reti neurali complesse.
In questo modo i modelli AI sono in grado di gestire i cambiamenti del mondo reale, come l'illuminazione, gli angoli della telecamera e le occlusioni. Alcuni modelli, inoltre, combinano tutte le fasi in un unico flusso di lavoro, per garantire prestazioni solide anche in condizioni difficili.
Ecco alcuni approcci basati sul deep learning per l'estrazione e la corrispondenza delle caratteristiche delle immagini:
Estrazione di caratteristiche basata su CNN: Questi modelli apprendono automaticamente i modelli visivi chiave da grandi insiemi di dati. Riconoscono le caratteristiche che difficilmente cambiano, rendendole affidabili per la corrispondenza di oggetti in scene diverse.
Corrispondenza basata su embedding: invece di confrontare direttamente i pixel, questo metodo trasforma le immagini in rappresentazioni numeriche compatte note come embeddings. Il matcher confronta poi questi embeddings per trovare immagini simili. Modelli come FaceNet, che genera embeddings per riconoscere e confrontare i volti, e CLIP, che mappa immagini e testo in uno spazio condiviso per compiti come la ricerca di immagini e la corrispondenza semantica, seguono questo approccio.
Pipeline di corrispondenza end-to-end: I sistemi di deep learning all'avanguardia spesso combinano il rilevamento dei punti chiave, la descrizione e la corrispondenza in un flusso di lavoro unificato. Modelli come SuperPoint e D2-Net apprendono sia i punti chiave che i descrittori direttamente dalle mappe di caratteristiche CNN, mentre SuperGlue agisce come matcher appreso che accoppia questi descrittori in modo più affidabile rispetto ai metodi tradizionali. Insieme, questi componenti creano una pipeline end-to-end che offre una maggiore precisione e robustezza in condizioni difficili rispetto agli approcci classici basati sulle caratteristiche.
Corrispondenza basata su trasformatori: questo metodo utilizza meccanismi di attenzione per collegare le regioni corrispondenti in due immagini, consentendo di allineare i patch anche in presenza di forti cambiamenti di punto di vista, illuminazione o texture. Modelli come LoFTR (Local Feature Transformer) raggiungono un'accuratezza molto più elevata perché il campo ricettivo globale del Transformer consente di ottenere una corrispondenza affidabile in aree a bassa texture, sfocate o ripetitive, dove i rilevatori tradizionali falliscono. LoFTR produce corrispondenze semi-dense e ad alta affidabilità e supera di gran lunga i precedenti metodi all'avanguardia sia in interni che in esterni.
Modelli incentrati sull'efficienza: I nuovi modelli di corrispondenza delle immagini mirano a fornire un'elevata precisione e a funzionare più velocemente. Modelli come LightGlue sono progettati per funzionare in modo efficiente su dispositivi con potenza di calcolo limitata, pur mantenendo una buona qualità di corrispondenza.
Applicazioni reali della corrispondenza delle immagini
Ora che abbiamo capito meglio come funziona la corrispondenza delle immagini, vediamo alcune applicazioni reali in cui svolge un ruolo importante.
Robotica più intelligente grazie alla corrispondenza delle immagini
I robot operano spesso in ambienti affollati e mutevoli, dove devono capire quali oggetti sono presenti e come sono posizionati. La corrispondenza delle immagini può aiutare i robot a capire gli oggetti che vedono confrontandoli con le immagini memorizzate o di riferimento. In questo modo è più facile per i robot riconoscere gli oggetti, track movimento e adattarsi anche quando l'illuminazione o l'angolazione della telecamera cambiano.
Ad esempio, in un magazzino, un sistema robotizzato di pick-and-place può utilizzare la corrispondenza delle immagini per identificare e gestire i diversi articoli. Il robot afferra prima un oggetto, poi confronta la sua immagine con campioni di riferimento per identificarlo.
Figura 5. Un robot riconosce e preleva gli oggetti abbinandoli a immagini di riferimento.(Fonte)
Una volta trovata la corrispondenza, il robot sa come ordinarla o posizionarla correttamente. Questo approccio consente ai robot di riconoscere sia gli oggetti familiari che quelli nuovi senza dover riqualificare l'intero sistema. Inoltre, li aiuta a prendere decisioni migliori in tempo reale, come organizzare scaffali, assemblare parti o riordinare oggetti.
Miglioramento della ricostruzione 3D con una migliore corrispondenza delle immagini
In settori come la mappatura con i droni, la realtà virtuale e l'ispezione degli edifici, i sistemi devono spesso ricostruire un modello 3D da più immagini 2D. Per farlo, si affidano alla corrispondenza delle immagini per identificare punti chiave comuni, come angoli o regioni strutturate, 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 legata alla Structure from Motion (SfM), una tecnica che costruisce strutture 3D identificando e facendo corrispondere i punti chiave tra le immagini acquisite da diversi punti di vista.
Se la corrispondenza non è accurata, il modello 3D risultante può apparire distorto o incompleto. Per questo motivo, i ricercatori hanno lavorato per migliorare l'affidabilità della corrispondenza delle immagini per la ricostruzione 3D e i recenti progressi hanno mostrato risultati promettenti.
Un esempio interessante è HashMatch, un algoritmo di corrispondenza delle immagini più veloce e robusto. HashMatch converte i dettagli dell'immagine in schemi compatti chiamati codici hash, facilitando l'identificazione delle corrispondenze corrette e la rimozione degli outlier, anche quando l'illuminazione o i punti di vista variano.
Testato su set di dati di grandi dimensioni, HashMatch ha prodotto modelli di ricostruzione 3D più puliti e realistici, con meno errori di allineamento. Ciò lo rende particolarmente utile per applicazioni come la mappatura con i droni, i sistemi AR e la conservazione del patrimonio culturale, dove la precisione è fondamentale.
Il ruolo della corrispondenza delle immagini 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 continuamente a seconda delle condizioni ambientali, come la luce del sole e il tempo. Piccole differenze nel mondo reale possono far apparire gli elementi virtuali instabili o leggermente fuori posto.
Per risolvere questo problema, i sistemi AR utilizzano la corrispondenza delle immagini per interpretare l'ambiente circostante. Confrontando i fotogrammi della telecamera dal vivo con le immagini di riferimento memorizzate, possono capire dove si trova l'utente e come è cambiata la scena.
Figura 6. Punti caratteristici abbinati tra due immagini.(Fonte)
Ad esempio, in uno studio che prevedeva un addestramento AR all'aperto di tipo militare con occhiali XR (Extended Reality), i ricercatori hanno utilizzato SIFT e altri metodi basati sulle caratteristiche per far corrispondere i dettagli visivi tra le immagini reali e quelle di riferimento. Le corrispondenze precise mantenevano gli elementi virtuali correttamente allineati con il mondo reale, anche quando l'utente si muoveva rapidamente o l'illuminazione cambiava.
Punti chiave
La corrispondenza delle immagini è una componente fondamentale della computer vision, che consente ai sistemi di capire come immagini diverse si relazionano tra loro o come una scena cambia nel tempo. Svolge un ruolo fondamentale 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.
Grazie a modelli avanzati di intelligenza artificiale come SuperPoint e LoFTR, i sistemi odierni stanno diventando molto più robusti rispetto ai metodi precedenti. Con il continuo progresso delle tecniche di apprendimento automatico, dei moduli di visione specializzati, delle reti neurali e dei set di dati, la corrispondenza delle immagini diventerà probabilmente più veloce, più precisa e più adattabile.
Unitevi alla nostra comunità in crescita ed esplorate il nostro repository GitHub per trovare risorse pratiche sull'intelligenza artificiale. Per costruire con Vision AI oggi, esplorate le nostre opzioni di licenza. Per scoprire come l 'IA in agricoltura sta trasformando l'agricoltura e come Vision AI nella sanità sta plasmando il futuro, visitate le nostre pagine dedicate alle soluzioni.