842 Shares 8449 views

Transformada de Wavelet: determinação exemplo de aplicação

O advento das câmeras digitais de baixo custo fez com que uma grande parte dos habitantes do planeta, independentemente da idade e sexo, adquiriu o hábito de capturar todos os seus passos e colocar suas imagens em exibição pública nas redes sociais. Além disso, se o arquivo de foto de família anteriormente foi colocado no mesmo álbum, hoje ele é composto por centenas de fotos. A fim de facilitar o armazenamento e transmissão através de redes requerem uma imagem digital de redução de peso. Para este fim, são utilizados métodos que são baseados em vários algoritmos, incluindo uma transformada de wavelet. O que é, dizer o nosso artigo.

O que é uma imagem digital

A informação visual no computador é representada na forma de números. Em termos simples, uma foto tirada com um dispositivo digital, é uma tabela em que as células são inseridos os valores de cada um de sua cor pixel. Quando se trata de uma imagem monocromática, em seguida, eles são substituídos por valores de luminância a partir do intervalo [0, 1], em que 0 é utilizado para se referir a preto, e 1 – branco. Outras cores são dadas números fracionários, mas com eles difíceis de operar, assim que a escala é estendido eo valor selecionado a partir do intervalo entre 0 e 255. Por que isso? É simples! Com esta escolha na representação binária para codificar a luminosidade de cada pixel requer exatamente um byte. É óbvio que uma grande quantidade de memória necessária para armazenar até mesmo uma pequena imagem. Por exemplo, o tamanho da imagem de 256 x 256 pixels leva 8 Kbytes.

Algumas palavras sobre métodos de compressão de imagem

Certamente todos já viram a má qualidade das imagens onde existem distorções na forma de retângulos da mesma cor, que são chamados de artefatos. Eles surgem como resultado da chamada compressão com perdas. Ele pode reduzir significativamente o peso da imagem, no entanto, inevitavelmente terá um impacto sobre a sua qualidade.

Para lossy algoritmos de compressão incluem:

  • JPEG. Esta é de longe um dos algoritmos mais populares. Ele é baseado no uso de cosseno transformada discreta. Na justiça deve-se notar que existem opções para JPEG compressão lossless desempenho. Estes incluem Lossless JPEG e JPEG-LS.
  • JPEG 2000. O algoritmo é utilizado em plataformas móveis, e com base na aplicação de uma transformada wavelet discreta.
  • compressão fractal. Em alguns casos, permite obter imagens de excelente qualidade mesmo com forte compressão. No entanto, devido a problemas com o patenteamento de este método continua a ser exótico.

algoritmos de compressão sem perdas realizados por:

  • RLE (usado como o método primário no formato TIFF, BMP, TGA).
  • LZW (usado em formato GIF).
  • LZ-Huffman (usado para o formato PNG).

Transformada de Fourier

Antes de abordar a wavelet, faz sentido para explorar as funções relacionadas, descrevendo os coeficientes da expansão da informação inicial em componentes elementares, isto é, as vibrações. E. harmónicas com diferentes frequências. Em outras palavras, a transformada de Fourier – uma ferramenta única conectando mundos discretas e contínuas.

Parece que este:

A fórmula de inversão é escrito da seguinte forma:

O que é uma wavelet

Por trás deste nome esconde uma função matemática, que lhe permite analisar as diferentes componentes dos dados de teste de frequência. Seu gráfico é uma ondulação cuja amplitude diminui a 0 longe da origem. No interesse geral são os coeficientes wavelet determinado sinal de integral.

espectrogramas Wavelet são diferentes dos espectros de Fourier convencional, uma vez que várias características associadas com sinais de espectro seu componente temporal.

transformação wavelet

Este método de conversão de sinal (funções) permite que a traduzir a partir de um tempo na representação tempo-frequência.

Para transformação wavelet era possível, para a função de onda correspondente, devem ser satisfeitas as seguintes condições:

  • Se para alguma função ψ (t) -Fourier transformar tem a forma

essa condição deve ser satisfeita:

Além disso:

  • Wavelet deve ter uma energia finita;
  • deve ser integrável contínua e tem suporte compacto;
  • wavelet deve ser localizada tanto na frequência e no tempo (espaço).

tipos

Uma transformada wavelet contínua é utilizado para os respectivos sinais. Muito mais interessante é o seu análogo discreto. Afinal, ele pode ser usado para o processamento de informações em computadores. No entanto, surge um problema em que a fórmula para um painel de fibras discretas não pode ser obtido por simples fórmulas discretização DNP apropriado.

A solução para este problema foi encontrada por daubechies, que era capaz de escolher um método para construir uma série de ondas ortogonais, cada um dos quais é definido por um número finito de coeficientes. Mais tarde algoritmos rápidos foram criados, como o algoritmo Malla. Em sua aplicação a decompor-se ou para restaurar a ordem requerida para executar operações cN, onde N – comprimento da amostra, e com – o nero de coeficientes.

Vayvlet Haar

Para comprimir uma imagem, é necessário encontrar uma certa regularidade entre os seus dados, e melhor ainda se ele vai ser longas cadeias de zeros. Este é o lugar onde ele pode ser útil para a transformada wavelet algoritmo. No entanto, continuamos a rever os métodos de trabalho em ordem.

Em primeiro lugar, é necessário recordar que as imagens do brilho dos pixels adjacentes é geralmente caracterizado por uma pequena quantidade. Mesmo se houver imagens em sites reais com afiada, contrastando as diferenças de luminosidade, que ocupam apenas uma pequena parte da imagem. Como um exemplo, assumir o teste conhecido imagem em tons de cinzento Lenna. Se tomarmos uma matriz de luminância dos pixels, em seguida, a parte da primeira linha aparece como uma sequência de números 154, 155, 156, 157, 157, 157, 158, 156.

você pode aplicar o chamado método delta para obter zeros a ele. Para fazer isso, manter apenas o primeiro número, e para os outros tomam apenas as diferenças de cada um dos anterior com o sinal "+" ou "-".

O resultado é uma sequência 154,1,1,1,0,0,1, -2.

Uma desvantagem de delta-codificação é a sua não-localidade. Em outras palavras, é impossível tomar apenas uma fatia de uma sequência e descobrir o que o brilho é codificado, decodificado, se não de todos os valores na frente dele.

Para superar esta desvantagem, o número é dividida em pares e são cada metade da soma de (v. A) e a metade da diferença (v. D), m. F. Para (154,155) (156,157) (157,157) (158,156) ter (154,5, 0,5) (156.5,0.5) (157,0.0), (157, -1,0). Neste caso, é sempre possível encontrar o valor dos dois números em um par.

Em geral, transformada wavelet discreta do sinal S, temos:

Este método segue a partir do caso discreta de transformada wavelet contínua, Haar e amplamente usado em diversos campos de processamento de dados e de compressão.

compressão

Como já foi mencionado, uma das aplicações de transformada wavelet algoritmo é o método de compressão JPEG 2000 utilizando Haar com base no vetor de translação de dois pixels na X e o vector Y (X + Y) / 2 e (X – Y) / 2. É suficiente para multiplicar o vector inicial na matriz abaixo.

Se os pontos de mais, levar mais de matriz, os quais estão dispostos sobre uma matriz diagonal H. Portanto, o vector inicial, independentemente do seu comprimento é processado em pares.

filtros

O resultado do "meio-sum" – é que os valores médios de luminância de pixels em pares. Esse é o valor quando convertido para a imagem deve dar-lhe uma cópia, reduzido em 2 vezes. Neste meio-soma média de brilho, t. E. "filtrada" rajadas aleatórias de seus valores e atuar como filtros de freqüência.

Agora vamos lidar com aqueles que mostram a diferença. Eles são "isolados" interpixel "rajadas", removendo o componente constante, isto é. E. "filtrado" valores a baixas frequências.

Mesmo a partir do acima Transformada de Haar para transformar as "manequins" torna-se óbvio que é um par de filtros que dividem um sinal em dois componentes: a alta frequência e de baixa frequência. simplesmente voltar a unir estes elementos para obter o sinal original.

exemplo

Suponha que queremos comprimir a (imagem de teste Lenna) fotografia. Considere o exemplo da wavelet transformar a matriz de brilhos de pixel. O componente da imagem de alta frequência é responsável por exibir detalhes finos e descreve o ruído. Como para a baixa frequência, que contém informação sobre a forma do rosto e gradientes suaves de brilho.

Apresenta fotos de percepção humana são tais que o último é componente mais importante. Isto significa que, quando comprimido uma certa parte dos dados de alta frequência pode ser descartado. Tanto mais porque ele tem menos valor e é codificada de forma mais compacta.

Para aumentar o grau de compressão pode ser aplicada várias vezes, a transformação de Haar para um conjunto de dados de baixa frequência.

O uso de matrizes bidimensionais

Como já mencionado, a imagem digital no computador estão na forma de uma matriz de valores de intensidades de seus pixels. Assim, devemos estar interessado em uma Haar bidimensional transformada wavelet. Para implementar é necessário simplesmente para executar sua conversão dimensional para cada linha e cada coluna da matriz das intensidades de pixels na imagem.

Valores próximos de zero, pode ser descartado sem prejuízo significativo para a imagem decodificada. Este processo é conhecido como quantização. E nesta fase da informação é perdida. A propósito, o número de factores nulo pode mudar, ajustando desse modo o grau de compressão.

Todos estes passos resultar em que a matriz é obtida que contém grandes quantidades de 0. Ele deve ser escrito linha por linha em um arquivo de texto e comprimir qualquer arquivador.

decodificação

A transformação inversa na imagem o seguinte algoritmo:

  • Ele descompacta um arquivo;
  • aplica inversa Transformada de Haar;
  • A imagem descodificada é convertido em uma matriz.

Vantagens em comparação com JPEG

было сказано, что он основан на ДКП. Ao considerar o algoritmo Joint Photographic Experts Group foi dito que ele é baseado em DCT. Esta conversão é levada a cabo em blocos de (8 x 8 pixels). Como um resultado, se uma forte compressão sobre a imagem torna-se reduzida estrutura de bloco apreciável. Durante a compressão utilizando wavelets tal problema está ausente. No entanto, o ruído pode aparecer tipo diferente, que têm a aparência de ondulações em torno das bordas. Acredita-se que artefatos semelhantes, em média, menos perceptível do que "quadrados" que são criados quando usando o algoritmo JPEG.

Agora que você sabe o que wavelets são o que são eo que uso prático para eles foi encontrado na área de processamento e compressão de imagens digitais.