Para que é útil a reamostragem de Lanczos em um contexto espacial?

46

O GDAL inclui um método de reamostragem além da mistura normal do vizinho mais próximo, bilinear, cúbico e splines: "Lanczos com reamostragem sinc com janela". Entendo que é um filtro de convolução, mas, diferentemente das imagens em que os resultados tendem a ser subjetivos, a reamostragem usada para dados espaciais tem outras implicações. O que é Lanczos e como usá-lo afeta a saída?

scw
fonte
4
Esta é uma duplicata exata de stackoverflow.com/questions/1854146/…, que tem uma boa resposta.
whuber
A seção 4 de um artigo de 1979 de Claude Duchon pode ser útil.
whuber

Respostas:

72

O que é a reamostragem de Lanczos?

Embora a teoria seja descrita em um artigo inicial e no artigo da Wikipedia , é melhor obter uma "sensação" dos métodos de reamostragem computando-os em imagens simples ou padrão. Esse pode ser um tópico vasto, exigindo extensas experiências, mas algumas simplificações estão disponíveis:

  • Esses operadores trabalham separadamente em cada canal de cores. Portanto, basta estudar como eles funcionam em uma imagem monocromática ("preto e branco").

  • A maioria dos operadores de convolução usados ​​no processamento de imagens funciona da mesma maneira nas direções x e y e independentemente nas duas direções. Na verdade, eles são realmente operadores unidimensionais aplicados primeiro às linhas e depois às colunas. Isso significa que podemos estudá-las estudando imagens "1D", que podem ser plotadas em detalhes.

  • Tudo o que precisamos saber sobre um operador linear (que inclui todos os operadores de convolução) pode ser deduzido de como um operador trabalha na imagem não constante mais simples de todas: esse é um salto repentino de um valor para outro.

Vejamos uma ilustração de vários métodos populares de reamostragem. Na verdade, precisamos de duas ilustrações: uma para mostrar o que acontece em "downsampling", onde a nova imagem é mais grossa que a antiga, e outra para "upsampling", onde as novas imagens são refinadas da antiga. Vamos começar com o último, porque mostra mais detalhes.

Upsampling

Reamostragem de 7 a 80 células como imagens

A imagem 7 por 7 original à esquerda é realmente unidimensional porque cada linha é a mesma. A reamostragem ocorre nas colunas. A dimensão das outras cinco imagens é de 80 por 80, mostrando em detalhes como cada método interpola entre os pixels grosseiros originais. A amostragem do vizinho mais próximo mantém a nítida divisão entre o escuro e a luz, enquanto os outros quatro métodos obscurecem a região intermediária em certa medida. Notavelmente, o reamostrador Lanczos cria algumas regiões mais escuras que no original e outras mais leves que no original. (Isso pode ter implicações no trabalho de SIG, porque tal extrapolaçãodos valores originais pode potencialmente fazer com que os novos valores sejam inválidos. Eles também podem se estender além do alcance do mapa de cores original, às vezes fazendo com que os valores extremos na imagem de reamostragem sejam renderizados incorretamente. Este é um problema com a reamostragem de convolução bicúbica no ArcGIS, por exemplo.)

(NB: O método "bicúbico" mostrado aqui é um spline bicúbico, não a "convolução bicúbica" do ArcGIS.)

Usar a luminosidade para representar valores de imagem, embora natural, não é muito preciso. A ilustração a seguir retifica isso representando graficamente os valores das células (eixo vertical) por coluna (eixo horizontal).

Reamostragem de 7 a 80 células como parcelas

Valores mais baixos nos gráficos correspondem a partes mais escuras das imagens. Um exame cuidadoso do original descobre uma suposição oculta: embora a imagem original pareça um salto acentuado do escuro para a luz, o salto realmente ocorre acima de 1/7 da extensão das colunas. Quem pode dizer o que realmente acontece nesse intervalo na cena original que a imagem está representando? Portanto, não devemos criticar muito as diferenças entre os métodos de reamostragem que ocorrem dentro desse curto intervalo: cada um está dando uma representação diferente, mas potencialmente igualmente válida do que pode estar ocorrendo na cena original. Nesse sentido, não é mais aparente que a amostragem de vizinhos mais próximos é o método de interpolação mais fiel.

Uma conclusão que devemos tirar é que a precisão de qualquer método de upsampling depende da natureza da cena subjacente . Se a cena consistir em valores que devem variar suavemente de um ponto para o outro, o método do vizinho mais próximo provavelmente será a maneira menos fiel de reamostrar entre os mostrados.

Downsampling

Imagens reduzidas

Aqui vemos o resultado da redução da amostragem de uma imagem de 16 por 16 para 8 por 8 imagens (uma agregação de 2 por 2). O vizinho mais próximo mantém com precisão o limite nítido. Lanczos difere dos outros, aumentando a nitidez aparente. Um olhar mais atento mostra que escurece a área escura de um lado do limite e clareia a área clara do outro lado. Os gráficos esclarecem isso:

Gráficos de imagens reduzidas a amostra

Os reamostradores bilineares, bicúbicos e gaussianos mostram características de operadores de convolução que têm todos os pesos positivos (ou pesos negativos muito pequenos): eles medem ou "limitam" os valores vizinhos. Ao reduzir a amostragem, isso faz com que os recursos nítidos fiquem desfocados. A extensão do desfoque depende da largura do kernel. Como esses outros, o ressampler de Lanczos também desfoca o salto, mas "ultrapassa" os dois lados. Essa é a melhoria de contraste vista logo acima nas próprias imagens. Devido a essa tendência de aumentar o contraste (as diferenças locais entre os altos e baixos da imagem), o ressampler de Lanczos é freqüentemente chamado de "filtro de nitidez". Esses gráficos mostram que essa caracterização requer uma compreensão diferenciada, porque evidentemente não reduz a média dos valores nos dois lados do salto. No pixel 4, seu valor de 0,56 é comparável aos valores calculados pelos outros filtros de convolução.

Como usá-lo afeta a saída?

Vamos dar uma olhada no que acontece em uma imagem mais complexa.

Reamostragens de uma imagem complexa

O original, que é uma imagem de 13 por 13, agora inclui um padrão com a maior frequência espacial possível (alternando entre claro e escuro com todas as colunas à direita). Não podemos esperar reproduzir esses recursos ao reduzir a amostragem: a menor quantidade de pixels simplesmente não pode conter todas essas informações. Vamos nos concentrar, então, no que acontece quando essa imagem é ampliada. Se nos preocupamos com a reprodução fiel da cena, queremos que esse padrão de alta frequência seja reproduzido com precisão.

As imagens menores são reamostradas para 25 por 25 pixels: quase, mas não exatamente, um refinamento de 2: 1. A meu ver, os métodos Lanczos e bilinear reproduzem as faixas mais nitidamente entre os quatro reamostradores de convolução. O vizinho mais próximo é, é claro, o mais fiel (porque não pode, em absoluto, valores médios).

Gráficos da imagem complexa reamostrada

Esses gráficos com os mesmos resultados mostram que o reamostrador Lanczos foi capaz de manter o contraste nas listras (como visto pelo tamanho das oscilações verticais dos mínimos para os máximos) às custas da introdução de uma variação de intensidade na luz de valor constante área no meio da imagem (pixels 5, 6, 7 do original). Essa variação aparece como artefatos semelhantes a listras na parte clara da imagem (no meio). Dos resamplers mostrados aqui, é o único a introduzir esses detalhes espúrios.

Para que é útil em uma aplicação espacial?

Evidentemente, a reamostragem de Lanczos não é uma solução panacéia ou omnibus para reamostragem. É superior a muitos outros reamostradores de convolução em manter (ou até melhorar) o contraste local. Isso pode ser útil quando a imagem reamostrada se destina a exibir a identificação de recursos ou limites detalhados. Quando a imagem reamostrada será analisada ou processada posteriormente, a reamostragem Lanczos poderá aumentar a capacidade de detectar bordas e recursos lineares.

Quando a imagem reamostrada será analisada de outras maneiras, os benefícios da reamostragem de Lanczos são duvidosos. Normalmente, aumenta (artificialmente) as medidas locais de variabilidade espacial, como faixas focais e desvios padrão focais. Ele não afetará as médias espaciais em geral - como os outros reamostradores de convolução, normalmente é normalizado (o que significa que é uma média ponderada local, sem a necessidade de viés) - mas pode aumentar algumas médias locais e diminuir outras em comparação com o outros reamostradores.

A avaliação (necessariamente breve) aqui sugere que o reamostrador Lanczos geralmente não deve ser usado para reduzir a amostragem: para essa aplicação, parece não oferecer nada que os métodos mais simples (e mais disponíveis) tenham, o que retém a desvantagem potencial de extrapolar além da faixa original de valores de dados.

Posfácio: um comentário geral

A investigação descrita aqui é um exemplo do que qualquer um pode fazer quando tiver alguma dúvida sobre como uma operação GIS funciona. Ele usa o próprio SIG como objeto da investigação: para saber o que alguma operação ou método analítico faz, basta aplicá-lo sob condições experimentais controladas. Nesse caso, isso significa construir imagens de teste simples, reamostrá-las de acordo com os métodos disponíveis e examinar os resultados.

Existem três aspectos críticos dessa abordagem para aprender sobre como o GIS funciona:

  1. Teoria . A experimentação geralmente não pode ser feita "às cegas": ajuda a conhecer alguma teoria. Normalmente, não precisamos saber muito, mas precisamos do básico. Nesse caso, a teoria das convoluções reduziu bastante o número e os tipos de imagens com as quais precisamos experimentar. Não precisamos saber nada sobre a análise de Fourier, etc. (Não se engane, esse conhecimento é benéfico. Mas a falta de conhecimento especializado desse tipo não deve nos impedir.)
  2. Prática . Usando nosso próprio GIS para realizar o experimento, podemos ver o que ele realmente faz . Isso evita desconexões entre a teoria (que nos diz o que o software deve fazer) e a prática (que é o que realmente faz).
  3. Quantificação . A menos que a pergunta se refira à percepção visual, para avaliar os resultados , não devemos confiar apenas na visualização de mapas (ou, neste caso, em imagens). Para obter as melhores informações, precisamos quantificar a saída (feita aqui com gráficos) e, frequentemente, descrevê-la e resumi-la com métodos estatísticos.
whuber
fonte
3

Talvez você conheça os filtros Lanczos ou tipos semelhantes de filtros nos seus programas de imagem, onde eles costumam ser chamados de 'filtros de nitidez'. Um bom exemplo deste forumtopic : A primeira imagem mostra o arquivo original e, ao lado dele, como ficaria depois de reduzir o tamanho da grade se você usar um método de interpolação suave (como downsampling bicúbico).

http://peltarion.eu/img/comp/moire/D_lanczos3.jpg No entanto, se você aplicar um filtro Lanczos a esta imagem ou usá-lo para reamostrar, as diferenças serão amplificadas, você pode dizer que o contraste é aumentado localmente. insira a descrição da imagem aqui

No caso de dados espaciais, isso pode ser muito útil: imagine que você está tentando reduzir um mapa de polígonos em grade ou se deseja executar algoritmos que dependem da detecção de arestas (por exemplo, digitalizar um mapa de polígono digitalizado, segmentação de imagem ( exemplo )).

Por outro lado, você não perde uma precisão espacial. Imagine que o mapa de 16x16 represente a poluição do ar em uma cidade, do que a reamostragem que usa a média representará mais adequadamente a poluição do ar dentro da célula da grade.

johanvdw
fonte
Eu não acho que essas imagens são o que você afirma. O canto superior direito claramente não é a média da célula; se fosse, as listras verticais no quadrante superior esquerdo não estariam lá. Alguma forma de "nitidez" foi aplicada a essa imagem para obter a imagem abaixo (à direita), que é falsamente apelidada: isso não é preservação de recursos, mas criação de artefatos. Como (quase) todos os filtros são normalizados por unidade, incluindo os filtros Lanczos, seu argumento sobre a média se aplica a cada um deles, não apenas à média da vizinhança não ponderada e, portanto, não é uma característica distintiva.
whuber
Integrei seus comentários. Mas dentro da célula, o interpolador liso seria mais provável produzir uma melhor previsão
johanvdw
-1

Da Wikipedia :

A reamostragem de Lanczos (pronúncia húngara: [ˈlaːntsoʃ]) é um método de interpolação usado para calcular novos valores para dados amostrados. É frequentemente usado em interpolação multivariada, por exemplo, para dimensionamento de imagem (para redimensionar imagens digitais), mas pode ser usado para qualquer outro sinal digital. O kernel de Lanczos indica quais amostras nos dados originais e em que proporção compõem cada amostra dos dados finais. O filtro recebeu o nome de Cornelius Lanczos, porque ele mostrou como usar os polinômios da série Fourier e Chebyshev para vários problemas nos quais ele não era usado antes.

Aplicação : O filtro Lanczos é uma forma de janela do filtro sinc, um filtro passa-baixo "teoricamente ótimo" para paredes de tijolos. A função sinc é infinita em extensão e, portanto, não é diretamente utilizável na prática. Em vez disso, utiliza-se aproximações, chamadas formas em janela do filtro, conforme discutido nas funções da janela: design do filtro, e o filtro Lanczos é um desses modos de exibição. As janelas desaparecem fora de um intervalo, e o uso de intervalos maiores permite melhorar a precisão em troca de mais cálculos.

Avaliação : O filtro Lanczos foi comparado com outros filtros, particularmente com outras janelas do filtro sinc. Alguns acharam o Lanczos (com a = 2) o "melhor compromisso em termos de redução de alias, nitidez e toque mínimo", em comparação com o sinc truncado e o Barlett, cosseno e Hann com janela sinc.

Limitação : Como o kernel assume valores negativos para a> 1, os valores de saída podem ser negativos, mesmo com entradas não negativas. Valores negativos estão fora dos limites para sinais de imagem e causam artefatos de recorte. Os lobos negativos também induzem artefatos de toque.

No entanto, a redução e o toque são reduzidos em comparação com o filtro sinc (sem janela), devido à janela; o toque é particularmente pequeno, como demonstra o tamanho positivo do lóbulo lateral, especialmente para a = 2.

Chethan S.
fonte
Por que votar? O que há de errado com esta resposta? Também forneci o link original.
Chethan S.
7
Não vejo como o extrato da wiki responde à pergunta de quais efeitos o filtro Lanczos tem sobre os dados espaciais e para o que seria útil.
underdark
Isso é verdade. Acabei de dar a resposta em um sentido geral para What's Lanczos e como usá-lo afeta a saída?
Chethan S.
9
A maior parte deste artigo da Wikipedia é vaga demais para ser útil (como outros observaram anteriormente). A resposta está realmente na última frase, mas seria compreensível apenas por alguém que sabe o que é "underhoot" e "toque" (também conhecido como "oscilação de Gibbs" em 2D), sabe o que está sendo referido pelo "lado positivo" lóbulo "e entende profundamente as relações entre as formas do núcleo e seus efeitos nas transformadas de Fourier. Em suma, para ser inteligível e útil, essa resposta precisa de alguma amplificação.
whuber