Algoritmi di base per la fotogrammetria digitale Le immagini digitali sono costituite da una serie di informazioni numeriche memorizzate su supporto magnetico secondo le specifiche di un determinato formato di memorizzazione. Il dato primario per la fotogrammetria, ovvero l’immagine fotografica, diventa quindi comprensibile anche per un calcolatore e questo introduce nuove possibilità. Alcuni processi cognitivi (=intelligenti) che in passato potevano solo dipendere dall’operatore umano possono ora essere svolte attraverso adeguate procedure di intelligenza artificiale che simulano i processi logici dell’uomo. Lo scopo finale delle ricerche iniziate con la nascita della fotogrammetria digitale (inizio degli anni ‘80) è il raggiungimento della completa automazione del processo fotogrammetrico.
Algoritmi di base 2 Sono essenzialmente due gli algoritmi fondamentali elaborati e perfezionati in questi anni per la automazione dei procedimenti di orientamento e restituzione nell’ambito della fotogrammetria digitale: FEATURE EXTRACTION E IMAGE MATCHING (algoritmi di autocorrelazione) - permettono di riconoscere sulle immagini digitali segnali o forme prestabilite mediante operazioni statistiche di confronto; OPERATORI DI INTERESSE - consentono di guidare il calcolatore nella ricerca di punti dei quali sia possibile ricercare con facilità l’eventuale punto identico (=omologo) su una o più immagini diverse da quella originaria. Un terzo algoritmo utilizzato nella produzione di ortofoto e raddrizzamenti digitali era già noto nel campo del processamento delle immagini digitali: il RICAMPIONAMENTO
Algoritmi di autocorrelazione Algoritmi di base 3 Algoritmi di autocorrelazione Sono strumenti di calcolo in grado di determinare la posizione di un’immagine (TARGET o TEMPLATE - MATRICE SAGOMA) all’interno di un’altra immagine (SEARCH MATRIX- MATRICE RICERCA). L’immagine target può essere un modello teorico di riferimento (un crocicchio di un reticolo di calibrazione, un segnale utilizzato per la presegnalizzazione di punti di appoggio, una marca fiduciale), oppure una porzione di un’altra immagine di cui si vuole ritrovare l’omologo (uno spigolo di tetto, un bordo di segnaletica stradale). Per semplicità di trattazione, ma senza nulla perdere in generalità del problema, consideriamo il problema di trovare, all’interno di un’immagine digitale una croce di cui si dispone di un modello teorico. È necessario conoscere la posizione approssimata della matrice sagoma all’interno dell’immagine in modo da poter limitare l’estensione della matrice di ricerca.
Algoritmi di base 4 SAGOMA (7 x 7) RICERCA (12 x 12) Nella matrice ricerca la croce cade in posizione i = 8 e j = 7. La ricerca automatica di questa posizione è resa più difficile dal fatto che la matrice ricerca è affetta da rumore e dal fatto che le densità sono sfumate, ossia ai bordi delle linee compaiono pixel intermedi.
Algoritmi di base 5 La soluzione di questo problema di correlazione viene affrontata utilizzando il coefficiente di correlazione.
Algoritmi di base 6 Per semplicità, ma senza nulla togliere alla generalità del problema, supponiamo di conoscere già la riga cui appartiene il pixel centrale della matrice sagoma nella matrice ricerca. Per tutte le sei posizioni possibili della matrice sagoma all’interno della matrice ricerca si calcola il coefficiente di correlazione: Si assume, come posizione cercata, quella cui corrisponde il massimo valore di r. Nel caso in esame questo si verifica nella quinta posizione cui corrisponde una coordinata x = 80 mm.
Algoritmi di base 7 La figura rappresenta graficamente il risultato della correlazione (a pixel intero) trovato nell’esempio che abbiamo esposto. Se si osserva attentamente la figura si nota che se potessimo scegliere con la nostra intelligenza, la posizione ottimale sarebbe leggermente spostata più a sinistra della soluzione individuata automaticamente dal calcolatore.
Algoritmi di base 8 Questa considerazione solleva il problema della correlazione sub-pixel. Esso può essere risolto con una compensazione ai minimi quadrati in questi termini: chiamiamo a lo spostamento da dare alla matrice sagoma (di solito inferiore a 1 pixel). Le posizioni delle due serie di densità sono legate dalla relazione: Come abbiamo già detto, le due aree differiscono anche nelle densità. Applichiamo allora delle componenti accidentali n e delle componenti sistematiche alle densità della matrice ricerca. Questa è un’equazione di tipo lineare nelle tre incognite a, b, c che può essere scritta per ogni coppia di pixel sagoma-ricerca corrispondente, che genera un sistema la cui soluzione ai minimi quadrati fornisce la stima dei parametri correttivi e il loro s.q.m.
Il problema si può estendere al caso bidimensionale Algoritmi di base 9 Dei tre parametri introdotti, l’unico di interesse pratico è rappresentato dallo spostamento a. Gli altri due parametri introdotti servono solo per simulare gli effetti che la scansione ha generato sull’immagine teorica della croce. Dalle esperienze eseguite si ottengono precisioni nella determinazione di a pari al 20% della dimensione del pixel. Il problema si può estendere al caso bidimensionale Bordi radiometrici molto esaltati aumentano la precisione Matrici sagoma grandi aumentano la precisione a discapito della velocità di elaborazione Nella ricerca di punti omologhi di oggetti naturali invece del solo parametro di traslazione si possono introdurre delle vere e proprie trasformazioni piane che simulino l’effetto delle diverse prospettive centrali che generano le immagini omologhe.
Algoritmi di base 10 Al fine di rendere più stabile l’algoritmo di correlazione a pixel intero si può ricorrere alla pesatura della matrice sagoma. Questo approccio consente di considerare più importanti alcuni specifici pixel. La zona più importante della matrice sagoma è il pixel centrale(quello di cui si vuole cercare l’immagine nella matrice ricerca). È lecito pensare a un andamento dei pesi decrescente in funzione della distanza da questo pixel centrale.
Gli operatori di interesse Algoritmi di base 11 Gli operatori di interesse Quando si vogliono far cercare automaticamente al calcolatore delle coppie di punti omologhi è necessario scegliere delle matrici sagoma sull’immagine di sinistra e poi ricercare, mediante le tecniche di autocorrelazione, l’omologo sull’immagine destra. Gli operatori di interesse sono algoritmi che consentono di individuare i punti di un’immagine che meglio si prestano ad una successiva correlazione: essi, come facilmente intuibile, coincidono con punti, linee o aree che presentano variazioni di densità notevoli (bordi radiometrici). Su immagini a radiometria uniforme gli operatori di interesse non riescono a individuare nessun punto caratteristico. Nella letteratura specialistica si trovano molti operatori di interesse elaborati a seconda di specifiche esigenze. Uno degli operatori di interesse maggiormente utilizzati in ambito fotogrammetrico è l’operatore di Förstner, grazie alla sua elevata affidabilità e rapidità di elaborazione.
Algoritmi di base 12 Come facilmente intuibile, i bordi radiometrici individuati da un operatore di interesse coincidono sovente con particolari dell’oggetto che usualmente vengono utilizzati durante le operazioni di orientamento o restituzione A seconda della natura delle immagini utilizzate, può essere opportuno, prima di utilizzare un operatore di interesse, utilizzare alcuni filtri che esaltino il più possibile i bordi radiometrici delle immagini senza falsarne il contenuto geometrico. Numerosi sono i filtri disponibili per raggiungere questo scopo. Esistono programmi di trattamento delle immagini digitali che mettono a disposizione dell’utente un’ampia gamma di soluzioni. Sta alla sensibilità dell’operatore e alla sua esperienza la scelta del filtro, o della serie di filtri, di volta in volta utili al raggiungimento dello scopo.
Algoritmi di base 13 Esempio di applicazione del filtro di Wallis che forza il contrasto di un’immagine fino a farlo coincidere con valori di riferimento predefiniti.
Algoritmi di base 14 Esempio di applicazione del filtro HBS che incrementa il contrasto dei bordi radiometrici aumentando la differenza trai valori radiometrici delle aree adiacenti un bordo dell’immagine considerata.
Algoritmi di base 15 Esempio di applicazione del filtro EPS che tende a suddividere l’immagine in zone di radiometria omogenea senza spostare i bordi radiometrici dell’immagine originaria.
Il ricampionamento di immagini digitali Algoritmi di base 16 Il ricampionamento di immagini digitali Consideriamo un’immagine digitale e una seconda immagine definita in un altro sistema di riferimento di cui si conoscono solo le dimensioni geometriche. Supponiamo di conoscere la trasformazione piana che lega i due sistemi di riferimento delle due immagini (ad esempio una rotazione rigida come rappresentato in figura). Il problema consiste nel definire il contenuto radiometrico della seconda immagine. Se proviamo a trasformare un pixel dell’immagine iniziale nel sistema dell’immagine finale si nota che esso va a interessare più pixel di quest’ultima immagine.
In generale il problema si può enunciare in questo modo: Algoritmi di base 17 Il ricampionamento è quel processo che consente di assegnare a ogni pixel dell’immagine finale un valore radiometrico interpolato tra i valori radiometrici dei pixel dell’immagine iniziale che, una volta geometricamente trasformati, ricoprono in parte il pixel considerato. In generale il problema si può enunciare in questo modo: ricampionare un’immagine significa determinare il valore radiometrico di ogni pixel dell’immagine ricampionata attingendone il valore dall’immagine iniziale. La trasformazione geometrica nota tra le due immagini (input e output) viene applicata a tutta l’immagine iniziale che in questo modo viene geometricamente posizionata sull’immagine di output. In questo modo per ogni pixel dell’immagine di output si conoscono quali valori radiometrici dell’immagine di input occorre considerare.
Ricampionamento con trasporto del baricentro Algoritmi di base 18 Gli approcci possibili per risolvere questo problema sono due: il primo considera di trasportare solo i baricentri dei pixel dall’immagine finale a quella iniziale, mentre il secondo approccio (molto più dispendioso in termini di tempo di elaborazione) prevede il trasporto dei vertici di ogni pixel. Nel seguito considereremo solo il primo approccio in quanto più diffuso nei programmi applicativi oggi sul mercato. Ricampionamento con trasporto del baricentro Consideriamo una generica trasformazione piana tra il sistema di riferimento della immagine iniziale e quello dell’immagine ricampionata e supponiamo di conoscere anche la trasformazione inversa. Trasformiamo le coordinate del baricentro del primo pixel dell’immagine ricampionata nel sistema dell’immagine iniziale. Questo punto cadrà all’interno di un pixel di tale immagine: leggiamo il valore radiometrico e lo trasferiamo (copiatura) nel pixel da cui siamo partiti. Questa operazione viene eseguita per tutti i pixel dell’immagine ricampionata.
Metodo delle zone di influenza. Algoritmi di base 19 Questo è il metodo più veloce di ricampionamento ma può presentare un inconveniente: i baricentri di alcuni pixel dell’immagine ricampionata, una volta trasformati, possono cadere all’interno di un medesimo pixel dell’immagine iniziale creando il cosiddetto effetto blocking (gruppi di pixel contigui che hanno il medesimo valore radiometrico). Per ridurre questo effetto si sono elaborate delle strategie interpolative, qui di seguito rappresentate con alcuni schemi. Metodo delle zone di influenza. Il pixel dell’immagine iniziale viene suddiviso in 9 zone. Il valore radiometrico esptratto varia in funzione della zona occupata dal baricentro trasformato. Ad esempio:
Metodo delle distanze pesate. Algoritmi di base 20 Metodo delle distanze pesate. Si costruisce una griglia passante per i baricentri della immagine di input e ad ogni nodo si associa il valore radiometrico del pixel corrispondente. Il baricentro trasformato cadrà all’interno di quattro nodi. Il valore radiometrico interpolato è la media dei quattro valori radiometrici più vicini pesata con le distanze tra il baricentro trasformato e i quattro nodi considerati. Interpolazione bilineare. Si usa la griglia definita nel metodo precedente. Si considerano i quattro valori radiometrici associati ai nodi più vicini al baricentro trasformato. Il valore radiometrico interpolato viene ricavata con una intepolazione bilineare.
Interpolazione bicubica. Si usa ancora la griglia prima definita. Algoritmi di base 21 Interpolazione bicubica. Si usa ancora la griglia prima definita. Questa volta si considerano i 16 nodi più vicini alla posizione del baricentro trasformato e si interpola il valore radiometrico da associare al pixel dell’immagine ricampionata mediante una interpolazione bicubica.
Algoritmi di base 22 Il ricampionamento genera comunque sempre un’immagine ricampionata con un effetto “passabasso” rispetto all’immagine originale (appare più sfuocata). L’interpolazione bicubica è quella che rende minimo questo effetto, annullando completamente il blocking: i tempi di elaborazione non sono proibitivi e quindi questo metodo è da consigliare nei lavori in cui è necessario restituire una elevata nitidezza dell’immagine ricampionata. Se è necessario ridurre i tempi di elaborazione anche l’interpolazione bicubica fornisce risultati soddisfacenti. ATTENZIONE: lavorando con immagini a palette di colori si può solo usare il metodo del trasporto del baricentro senza alcun tipo di interpolazione.