A cosa serve il ricampionamento di Lanczos in un contesto spaziale?


46

GDAL include un metodo di ricampionamento oltre il normale mix del vicino più vicino, bilineare, cubico e spline: "Lanczos windowed sinc ricampling". Capisco che si tratta di un filtro di convoluzione, ma a differenza delle immagini in cui i risultati tendono ad essere soggettivi, il ricampionamento utilizzato per i dati spaziali ha altre implicazioni. Che cos'è Lanczos e in che modo il suo utilizzo influisce sull'output?


4
Questo è un duplicato esatto di stackoverflow.com/questions/1854146/… che ha una buona risposta.
whuber

La sezione 4 di un articolo del 1979 di Claude Duchon può essere utile.
whuber

Risposte:


72

Che cos'è il ricampionamento di Lanczos?

Sebbene la teoria sia descritta in un primo articolo e nell'articolo di Wikipedia , è meglio ottenere un "feeling" per i metodi di ricampionamento calcolandoli su immagini semplici o standard. Questo può essere un argomento vasto, che richiede una sperimentazione approfondita, ma sono disponibili alcune semplificazioni:

  • Questi operatori lavorano separatamente in ciascun canale di colore. Pertanto è sufficiente studiare come funzionano su un'immagine monocromatica ("in bianco e nero").

  • La maggior parte degli operatori di convoluzione utilizzati nell'elaborazione delle immagini funzionano allo stesso modo nelle direzioni xey e indipendentemente in entrambe le direzioni. In effetti, sono in realtà operatori unidimensionali applicati prima alle righe e poi alle colonne. Ciò significa che possiamo studiarli studiando immagini "1D", che possono essere tracciate in dettaglio.

  • Tutto ciò che dobbiamo sapere su un operatore lineare (che include tutti gli operatori di convoluzione) può essere dedotto dal modo in cui un operatore lavora sull'immagine non costante più semplice di tutte: si tratta di un salto improvviso da un valore all'altro.

Diamo un'occhiata a un'illustrazione di diversi metodi di ricampionamento popolari. In realtà, abbiamo bisogno di due illustrazioni: una per mostrare cosa succede nel "downsampling", dove la nuova immagine è più grossolana della vecchia, e un'altra per "upsampling", dove le nuove immagini sono raffinatezza della vecchia. Cominciamo con quest'ultimo, perché mostra più dettagli.

upsampling

Ricampionamento da 7 a 80 celle come immagini

L'immagine originale 7 per 7 a sinistra è davvero monodimensionale perché ogni riga è la stessa. Il ricampionamento avviene attraverso le colonne. La dimensione delle altre cinque immagini è 80 per 80, mostrando in dettaglio come ciascun metodo si interpola tra i pixel grossolani originali. Il campionamento più vicino mantiene la netta divisione tra buio e luce, mentre gli altri quattro metodi sfocano in qualche modo la regione interveniente. In particolare, il ricampionatore Lanczos crea alcune regioni più scure di qualsiasi nell'originale e altre più chiare di qualsiasi nell'originale. (Ciò può avere implicazioni per il lavoro GIS, poiché tale estrapolazionedei valori originali può potenzialmente rendere non validi i nuovi valori. Possono inoltre estendersi oltre l'intervallo della mappa dei colori originale, causando talvolta il rendering errato dei valori estremi nell'immagine di ricampionamento. Questo è un problema con il ricampionamento della convoluzione bicubica in ArcGIS, per esempio.)

(NB: Il metodo "bicubico" mostrato qui è una spline bicubica, non la "convoluzione bicubica" di ArcGIS.)

L'uso della leggerezza per rappresentare i valori dell'immagine, sebbene naturale, non è molto preciso. L'illustrazione successiva lo rettifica rappresentando graficamente i valori delle celle (asse verticale) per colonna (asse orizzontale).

Ricampionamento da 7 a 80 celle come grafici

I valori più bassi sui grafici corrispondono alle parti più scure delle immagini. Un attento esame dell'originale rivela un'ipotesi nascosta: sebbene l'immagine originale sembri un forte salto dall'oscurità alla luce, il salto si verifica effettivamente oltre un settimo (1/7) dell'estensione delle colonne. Chi può dire cosa succede realmente in quell'intervallo nella scena originale che l'immagine sta rappresentando? Pertanto, non dovremmo essere troppo critici nei confronti delle differenze tra i metodi di ricampionamento che si verificano in questo breve intervallo: ognuno fornisce un rendering diverso ma potenzialmente ugualmente valido di ciò che potrebbe accadere nella scena originale. In questo senso, non è più evidente che il campionamento del vicino più vicino sia il metodo di interpolazione più fedele.

Una conclusione che dovremmo trarre è che l'accuratezza di qualsiasi metodo di ricampionamento dipende dalla natura della scena sottostante . Se la scena è composta da valori che dovrebbero variare senza intoppi da un punto all'altro, è probabile che il metodo del vicino più prossimo sia il modo meno fedele di ricampionare tra quelli mostrati.

downsampling

Immagini sottocampionate

Qui vediamo il risultato del downsampling di un'immagine 16 per 16 a un'immagine 8 per 8 (un'aggregazione 2 per 2). Il vicino più vicino mantiene accuratamente il confine netto. Lanczos si differenzia dagli altri migliorando la nitidezza apparente. Uno sguardo ravvicinato mostra che oscura l'area scura su un lato del confine e schiarisce l'area chiara sull'altro lato. I grafici chiariscono questo:

Grafici di immagini sottocampionate

I ricampionatori bilineari, bicubici e gaussiani mostrano le caratteristiche degli operatori di convoluzione che hanno tutti i pesi positivi (o pesi negativi molto piccoli): hanno valori medi o "smear" vicini. Nel downsampling questo fa sì che le funzioni nitide siano sfocate. L'entità della sfocatura dipende dalla larghezza del kernel. Come questi altri, anche il ricampionatore Lanczos sfoca il salto, ma lo "supera" su entrambi i lati. Questo è il miglioramento del contrasto visto appena sopra nelle immagini stesse. A causa di questa tendenza ad aumentare il contrasto (le differenze locali tra gli alti e i bassi nell'immagine), il ricampionatore Lanczos viene spesso chiamato "filtro di nitidezza". Questi grafici mostrano che questa caratterizzazione richiede una comprensione sfumata, perché evidentemente in realtà non riduce la media dei valori su entrambi i lati del salto. Al pixel 4, il suo valore di 0,56 è paragonabile ai valori calcolati dagli altri filtri di convoluzione.

In che modo il suo utilizzo influisce sull'output?

Diamo un'occhiata a cosa succede in un'immagine più complessa.

Campioni di un'immagine complessa

L'originale, che è un'immagine 13 per 13, ora include uno schema con la massima frequenza spaziale possibile (alternando luce e oscurità ad ogni colonna a destra). Non possiamo sperare di riprodurre tali caratteristiche durante il downsampling: la minore quantità di pixel semplicemente non può contenere tutte queste informazioni. Concentriamoci, quindi, su ciò che accade quando tale immagine viene sottoposta a ricampionamento. Se ci preoccupiamo della fedele riproduzione della scena, desidereremo che questo schema ad alta frequenza sia riprodotto accuratamente.

Le immagini più piccole vengono ricampionate a 25 per 25 pixel: quasi, ma non del tutto, un raffinamento 2: 1. A mio avviso, i metodi Lanczos e bilineare riproducono le strisce più nettamente tra i quattro ricampionatori a convoluzione. Il vicino più vicino è, ovviamente, il più fedele (perché non può affatto valutare i valori).

Grafici dell'immagine complessa ricampionati

Questi grafici degli stessi risultati mostrano che il ricampionatore Lanczos è stato in grado di mantenere il contrasto nelle strisce (come si vede dalle dimensioni delle oscillazioni verticali dai minimi agli alti) a scapito dell'introduzione di una variazione di intensità all'interno della luce a valore costante area al centro dell'immagine (pixel 5, 6, 7 dell'originale). Questa variazione si presenta come artefatti simili a strisce all'interno della parte chiara dell'immagine (al centro). Dei ricampionatori mostrati qui, è solo nell'introduzione di tali dettagli spuri.

A cosa serve in un'applicazione spaziale?

Evidentemente, il ricampionamento di Lanczos non è una soluzione panacea o omnibus al ricampionamento. È superiore a molti altri ricampionatori di convoluzione nel mantenere (o addirittura migliorare) il contrasto locale. Ciò può essere utile quando l'immagine ricampionata è intesa per visualizzare l'identificazione di caratteristiche o confini dettagliati. Quando l'immagine ricampionata verrà successivamente analizzata o elaborata, il ricampionamento di Lanczos può aumentare la capacità di rilevare bordi e caratteristiche lineari.

Quando l'immagine ricampionata verrà analizzata in altri modi, tuttavia, i vantaggi del ricampionamento di Lanczos sono dubbi. In genere aumenterà (artificialmente) le misure locali di variabilità spaziale, come intervalli focali e deviazioni standard focali. Non influenzerà i mezzi spaziali nel loro insieme - come gli altri ricampionatori di convoluzione, di solito è normalizzato (il che significa che è una media ponderata locale, senza distorsioni introdotte) - ma può aumentare alcune medie locali e diminuirne altre rispetto alla altri ricampionatori.

La valutazione (necessariamente breve) qui suggerisce che il ricampionatore Lanczos generalmente non dovrebbe essere usato per il downsampling: per quella applicazione, sembra non offrire nulla rispetto ai metodi più semplici (e più comunemente disponibili) che mantengono il potenziale svantaggio dell'estrapolazione oltre la gamma originale dei valori dei dati.

Postfazione: un commento generale

L'indagine qui descritta è un esempio di ciò che chiunque può fare quando ha una domanda su come funziona un'operazione GIS. Utilizza lo stesso GIS come oggetto dell'indagine: per sapere cosa fa qualche operazione o metodo analitico, è sufficiente applicarlo in condizioni sperimentali controllate. In questo caso, ciò equivale a costruire semplici immagini di prova, ricampionarle secondo i metodi disponibili ed esaminare i risultati.

Esistono tre aspetti critici di questo approccio all'apprendimento del funzionamento del GIS:

  1. Teoria . La sperimentazione di solito non può essere fatta "alla cieca": aiuta a conoscere alcune teorie. Di solito non abbiamo bisogno di sapere molto, ma abbiamo bisogno delle basi. In questo caso, la teoria delle convoluzioni ha notevolmente ridotto il numero e il tipo di immagini con cui dobbiamo sperimentare. Non avevamo bisogno di sapere nulla sull'analisi di Fourier, ecc. (Non commettere errori, tale conoscenza è vantaggiosa. Ma la mancanza di conoscenze specializzate di questo tipo non dovrebbe fermarci.)
  2. Pratica . Usando il nostro GIS stesso per eseguire l'esperimento, siamo in grado di vedere cosa fa realmente . Questo evita disconnessioni tra teoria (che ci dice cosa dovrebbe fare il software ) e pratica (che è ciò che fa realmente ).
  3. Quantificazione . A meno che la domanda non riguardi la percezione visiva, per valutare i risultati non dovremmo fare affidamento esclusivamente sulla visualizzazione delle mappe (o, in questo caso, delle immagini). Per ottenere le migliori informazioni, dobbiamo quantificare l'output (fatto qui con i grafici) e, spesso, descriverlo e riassumerlo con metodi statistici.

3

Potresti conoscere i filtri Lanczos o un tipo simile di filtri dai tuoi programmi di immagini, dove vengono spesso chiamati "filtri di nitidezza". Un buon esempio di questo forumtopic : la prima immagine mostra il file originale e accanto a come sarebbe dopo aver ridotto le dimensioni della griglia se si utilizza un metodo di interpolazione uniforme (come il downsampling bicubico).

http://peltarion.eu/img/comp/moire/D_lanczos3.jpg Tuttavia, se si applica un filtro Lanczos a questa immagine o lo si utilizza per ricampionare, le differenze vengono amplificate, si potrebbe dire che il contrasto è aumentato localmente. inserisci qui la descrizione dell'immagine

Nel caso dei dati spaziali questo può essere molto utile: immagina di provare a ridurre una mappa poligonale con griglia o se desideri eseguire algoritmi che si basano sul rilevamento dei bordi (ad esempio digitalizzare una mappa poligonale digitalizzata, segmentazione di immagini ( esempio )).

D'altra parte, perdi un po 'di precisione spaziale. Immagina che la mappa 16x16 rappresenti l'inquinamento atmosferico in una città, che il ricampionamento che utilizza la media rappresenterà più adeguatamente l'inquinamento atmosferico medio all'interno di quella cella della griglia.


Non penso che queste immagini siano ciò che affermi. L'angolo in alto a destra chiaramente non è la media cellulare; se così fosse, le strisce verticali nel quadrante in alto a sinistra non sarebbero lì. Una forma di "nitidezza" è stata applicata a quell'immagine per ottenere quella sottostante (in basso a destra), falsamente aliasata: non si tratta di preservare le caratteristiche, ma di creare artefatti. Poiché (quasi) tutti i filtri sono unità normalizzati, compresi i filtri di Lanczos, il tuo punto sulla media si applica a ciascuno di essi, non solo una media di quartiere non ponderata, e quindi non è una caratteristica distintiva.
whuber

Ho integrato i tuoi commenti. Ma all'interno della cellula, l'interpolatore regolare molto probabilmente produrrebbe una previsione migliore
johanvdw,

-1

Da Wikipedia :

Il ricampionamento di Lanczos (pronuncia ungherese: [ˈlaːntsoʃ]) è un metodo di interpolazione utilizzato per calcolare nuovi valori per i dati campionati. Viene spesso utilizzato nell'interpolazione multivariata, ad esempio per il ridimensionamento delle immagini (per ridimensionare le immagini digitali), ma può essere utilizzato per qualsiasi altro segnale digitale. Il kernel di Lanczos indica quali campioni nei dati originali e in quale proporzione costituiscono ciascun campione dei dati finali. Il filtro prende il nome da Cornelius Lanczos, perché ha mostrato come usare la serie di Fourier e i polinomi di Chebyshev per vari problemi in cui non era mai stato usato prima.

Applicazione : Il filtro Lanczos è una forma a finestra del filtro sinc, un filtro passa-basso "brick-wall" teoricamente ottimale. La funzione sinc è infinita e quindi non utilizzabile direttamente nella pratica. Invece, si usano approssimazioni, chiamate forme a finestre del filtro, come discusso nelle funzioni della finestra: la progettazione del filtro e il filtro Lanczos è una di queste finestre. Le finestre svaniscono al di fuori di un intervallo e l'utilizzo di intervalli più ampi consente di migliorare la precisione in cambio di un maggiore calcolo.

Valutazione : il filtro Lanczos è stato confrontato con altri filtri, in particolare con altre finestre del filtro sinc. Alcuni hanno trovato i Lanczos (con a = 2) il "miglior compromesso in termini di riduzione di aliasing, nitidezza e suoneria minima", rispetto a sinc troncato e a Barlett, coseno e Hann sinc sinceri.

Limitazione : poiché il kernel assume valori negativi per un> 1, i valori di output possono essere negativi anche con input non negativi. I valori negativi sono fuori limite per i segnali di immagine e causano artefatti di ritaglio. I lobi negativi inducono anche artefatti che risuonano.

Tuttavia, sia il undershoot che lo squillo sono ridotti rispetto al filtro sinc (senza finestre), a causa della finestra; lo squillo è particolarmente piccolo, come dimostra la dimensione positiva del lobo laterale, specialmente per a = 2.


Perché votare male? Cosa c'è di sbagliato in questa risposta? Ho fornito anche il link originale.
Chethan S.

7
Non vedo come l'estratto della wiki risponda alla domanda su quali effetti il ​​filtro Lanczos ha sui dati spaziali e per cosa sarebbe utile.
underdark

È vero. Ho appena dato la risposta in senso generale per Cos'è Lanczos e in che modo il suo utilizzo influisce sull'output?
Chethan S.

9
La maggior parte di questo articolo di Wikipedia è troppo vaga per essere utile (come altri hanno già notato in precedenza). La risposta è davvero nell'ultima frase, ma sarebbe comprensibile solo da qualcuno che sa cosa sono "undershoot" e "ringing" (ovvero "oscillazione di Gibbs" in 2D), sa a cosa si riferisce il "lato positivo lobo "e comprende profondamente le relazioni tra le forme del kernel e i loro effetti sulle trasformazioni di Fourier. In breve, per essere comprensibile e utile questa risposta richiede un po 'di amplificazione.
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.