Quais propriedades tornam determinadas wavelets "melhores" que outras na compactação de imagens?

40

Estou tentando me ensinar mais sobre compactação de imagem usando o método de transformação wavelet. Minha pergunta é: O que há em certas wavelets que as tornam preferíveis ao compactar imagens? Eles são mais fáceis de calcular? Eles produzem imagens mais suaves? Etc ...

Exemplo: O JPEG 2000 usa a Wavelet Cohen-Daubechies-Feauveau 9/7 ... por que esta?

user807566
fonte
Tanto quanto sei, a wavelet Daubechies fornece uma base suave, portanto, as imagens altamente compactadas ficam "borradas". A wavelet de Haar, por exemplo, produziria artefatos em blocos. Como você mencionou o JPEG 2000, gostaria de observar que também o esquema de codificação de coeficientes de wavelet diferentes de zero afeta as imagens decodificadas (EZW, SPIHT, ...).
Libor
Sua pergunta foi respondida. Não hesite em votar nos mais úteis e aceitar o mais adequado.
Laurent Duval

Respostas:

27

visão global

A resposta curta é que eles têm o número máximo de vanishing momentspara um dado support(ou seja, número de coeficientes de filtro). Essa é a propriedade "extremal" que distingue as wavelets de Daubechies em geral. Em termos gerais, mais momentos de fuga implicam uma melhor compactação e um suporte menor implica menos computação. De fato, a troca entre momentos de fuga e tamanho do filtro é tão importante que domina a maneira como as wavelets são nomeadas. Por exemplo, você frequentemente verá a D4wavelet chamada de D4ou db2. O 4refere-se ao número de coeficientes e os2refere-se ao número de momentos de fuga. Ambos se referem ao mesmo objeto matemático. Abaixo, explicarei mais sobre quais são os momentos (e por que queremos fazê-los desaparecer), mas, por enquanto, apenas entenda que isso se relaciona com o quão bem podemos "dobrar" a maioria das informações no sinal em um tamanho menor. número de valores. A compactação com perdas é alcançada mantendo esses valores e jogando fora os outros.

Agora, você deve ter notado que CDF 9/7, usado em JPEG 2000, tem dois números no nome, em vez de um. De fato, também é conhecido como bior 4.4. Isso ocorre porque não é uma wavelet discreta "padrão". De fato, nem mesmo preserva tecnicamente a energia no sinal, e essa propriedade é toda a razão pela qual as pessoas ficaram tão empolgadas com o DWT em primeiro lugar! Os números, 9/7e 4.4, ainda se referem aos momentos de suporte e fuga, respectivamente, mas agora existem dois conjuntos de coeficientes que definem a wavelet. O termo técnico é que, em vez de serem orthogonal, são biorthogonal. Em vez de me aprofundar no que isso significa matematicamente, eu

JPEG 2000

Uma discussão muito mais detalhada das decisões de projeto em torno da wavelet do CDF 9/7 pode ser encontrada no seguinte documento:

Usevitch, Bryan E. Um tutorial sobre compressão de imagem com perda de onda moderna: Fundamentos do JPEG 2000 .

Vou apenas rever os pontos principais aqui.

  1. Muitas vezes, as wavelets ortogonais de Daubechies podem realmente resultar no aumento do número de valores necessários para representar o sinal. O efeito é chamado coefficient expansion. Se estamos fazendo compressão com perdas, isso pode ou não importar (já que estamos jogando fora os valores no final), mas definitivamente parece contraproducente no contexto da compressão. Uma maneira de resolver o problema é tratar o sinal de entrada como periódico.

  2. Apenas tratar a entrada como periódica resulta em descontinuidades nas bordas, que são mais difíceis de compactar e são apenas artefatos da transformação. Por exemplo, considere os saltos de 3 a 0 na seguinte extensão periódica: . Para resolver esse problema, podemos usar uma extensão periódica simétrica do sinal, da seguinte maneira: . A eliminação de saltos nas bordas é uma das razões pelas quais a Discrete Cosine Transform (DCT) é usada em vez da DFT em JPEG. Representar um sinal com cossenos pressupõe implicitamente "loop de frente para trás" do sinal de entrada, então queremos wavelets que tenham a mesma propriedade de simetria.[0,1,2,3][...0,1,2,3,0,1,2,3,...][0,1,2,3][...,0,1,2,3,3,2,1,0,0,1...]

  3. Infelizmente, a única wavelet ortogonal que possui as características necessárias é a wavelet Haar (ou D2, db1), que apenas como um momento de fuga. Ugh. Isso nos leva a wavelets biortogonais, que na verdade são representações redundantes e, portanto, não preservam energia. A razão pela qual as wavelets CDF 9/7 são usadas na prática é porque elas foram projetadas para se aproximar muito da preservação de energia. Eles também testaram bem na prática.

Existem outras maneiras de resolver os vários problemas (mencionados brevemente no artigo), mas esses são os traços gerais dos fatores envolvidos.

Momentos Desaparecidos

Então, quais são os momentos e por que nos importamos com eles? Sinais suaves podem ser bem aproximados por polinômios, ou seja, funções da forma:

a+bx+cx2+dx3+...

Os momentos de uma função (ou seja, sinal) são uma medida de quão semelhante é a uma dada potência de x. Matematicamente, isso é expresso como um produto interno entre a função e o poder de x. Um momento de fuga significa que o produto interno é zero e, portanto, a função não "se assemelha" à potência de x, da seguinte forma (no caso contínuo):

xnf(x)dx=0

Agora, cada wavelet discreta e ortogonal possui dois filtros FIR associados, que são usados ​​no DWT . Um é um filtro passa-baixo (ou em escala) e o outro é um filtro passa-alto (ou wavelet)ϕψ. Essa terminologia parece variar um pouco, mas é o que vou usar aqui. Em cada estágio do DWT, o filtro passa-alto é usado para "descolar" uma camada de detalhes, e o filtro passa-baixo produz uma versão suavizada do sinal sem esse detalhe. Se o filtro passa-alto tiver momentos de fuga, esses momentos (ou seja, recursos polinomiais de baixa ordem) serão inseridos no sinal suavizado complementar, em vez do sinal de detalhe. No caso de compressão com perdas, esperamos que o sinal de detalhe não tenha muita informação e, portanto, podemos jogar a maior parte dele fora.

Aqui está um exemplo simples usando a wavelet Haar (D2). Normalmente, há um fator de escala de envolvido, mas eu o omito aqui para ilustrar o conceito. Os dois filtros são os seguintes: 1/2

ϕ=[1,1]ψ=[1,1]

O filtro passa-alto desaparece pelo zeroésimo momento, ou seja, , portanto, ele tem um momento de fuga. Para ver isso, considere este sinal constante: . Agora, intuitivamente, deve ser óbvio que não há muita informação lá (ou em qualquer sinal constante). Poderíamos descrever a mesma coisa dizendo "quatro pares". O DWT nos fornece uma maneira de descrever essa intuição explicitamente. Aqui está o que acontece durante uma única passagem do DWT usando a wavelet Haar:x0=1[2,2,2,2]

[2,2,2,2]ψϕ{[2+2,2+2]=[4,4][22,22]=[0,0]

E o que acontece na segunda passagem, que opera apenas com o sinal suavizado:

[4,4]ψϕ{[4+4]=[8][44]=[0]

Observe como o sinal constante é completamente invisível aos passes de detalhes (que acabam sendo 0). Observe também como quatro valores de foram reduzidos para um valor único de . Agora, se quiséssemos transmitir o sinal original, poderíamos simplesmente enviar o , e o DWT Inverso poderia reconstruir o sinal original assumindo que todos os coeficientes de detalhe são zero. Wavelets com momentos de fuga de ordem superior permitem resultados semelhantes com sinais bem aproximados por linhas, parábolas, cubicos, etc.8 8288

Leitura adicional

Estou encobrindo muitos detalhes para manter o tratamento acima acessível. O artigo a seguir tem uma análise muito mais profunda:

M. Unser e T. Blu, propriedades matemáticas dos filtros de wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, n. 9, setembro de 2003, págs. 1080-1090.

Nota de rodapé

O artigo acima parece sugerir que a wavelet JPEG2000 é chamada Daubechies 9/7 e é diferente da wavelet CDF 9/7.

Nós derivamos a forma exata dos filtros de escala JPEG2000 Daubechies 9/7 ... Esses filtros resultam da fatoração do mesmo polinômio que [10]. A principal diferença é que os filtros 9/7 são simétricos. Além disso, ao contrário das estrias biortogonais de Cohen-Daubechies-Feauveau [11], a parte não-regular do polinômio foi dividida entre os dois lados e da maneira mais uniforme possível.Daubechies8

[11] A. Cohen, I. Daubechies e JC Feauveau, "Bases biortogonais de wavelets compactamente suportadas", Comm. Pure Appl. Math. Vol. 45, n. 5, pp. 485-560, 1992.

O rascunho do padrão JPEG2000 ( link em pdf ) que eu procurei também chama o filtro oficial Daubechies 9/7. Referencia este artigo:

M. Antonini, M. Barlaud, P. Mathieu e I. Daubechies, "Codificação de imagens usando a transformada wavelet", IEEE Trans. Image Proc. 1, pp. 205-220, abril de 1992.

Como não li nenhuma dessas fontes, não sei por que a Wikipedia chama a wavelet JPEG2000 CDF 9/7. Parece que pode haver uma diferença entre os dois, mas as pessoas chamam o wavelet oficial de JPEG2000 CDF 9/7 de qualquer maneira (porque é baseado na mesma base?). Independentemente do nome, o artigo de Usevitch descreve o que é usado no padrão.

datagrama
fonte
@datageist Resposta fantástica! Além disso, outro motivo pelo qual o 9/7 passou a existir em primeiro lugar foi porque era uma maneira alternativa de fatorar o polinômio da reconstrução, com a restrição de que os filtros fossem simétricos . Dessa forma, a resposta da fase permanece linear. (Em contraste, uma wavelet daub4, enquanto FIR, é assimétrica e induz fases não lineares em um sinal processado). 9/7 foi usado em JPEG devido à inclinação subjetiva de gostarmos de distorções lineares e não lineares nas imagens.
Spacey
11
Bom artigo. As informações do artigo da wikipedia correspondem às fontes citadas, essencialmente Daubechies "10 palestras", portanto podem estar desatualizadas em relação ao JPEG2000. Uma correção: biorgonal não é redundante. As condições de biorrogonalidade impõem bancos de filtros exatamente inversos. Transformações redundantes começam com molduras.
Dr. Lutz Lehmann
10

A qualidade das transformações de sinal é avaliada em duas métricas diferentes: compressão e, no caso de compressão com perda, qualidade. A compressão é definida pela compactação de energia, mas a qualidade é mais difícil.

Tradicionalmente, a qualidade é medida por erro quadrático médio ou SNR médio por pixel. No entanto, os humanos não tendem a avaliar sinais com MSE ou SNR. Os seres humanos são muito sensíveis ao ruído estruturado, onde o MSE tende a não estar. O desenvolvimento de algoritmos que fornecem métricas de qualidade semelhantes às humanas é uma área ativa de pesquisa. O índice de similaridade estrutural (SSIM) da Bovik é um bom ponto de partida.

totowtwo
fonte
6

Como uma resposta muito curta - qualquer transformação é melhor do que outra quando existe, o que é conhecido como "propriedade de compactação de energia", explicado a seguir:

"quando apenas uma pequena fração dos coeficientes de transformação tem grande magnitude, de modo que manter apenas alguns coeficientes e descartar ou quantificar outros ainda permita que a reconstrução seja quase perfeita". Essa propriedade está relacionada à capacidade decorrelativa de transformações unitárias ".

A transformação com menor propriedade de compactação de energia é aquela que precisará do menor número de símbolos e, portanto, de bits menores.

A transformação com a propriedade de compactação de energia mais alta é a DCT.

Dipan.

Dipan Mehta
fonte
11
O DCT possui apenas a maior compactação de energia para classes de sinal desconhecidas. Se você pode caracterizar seu domínio de sinal, pode fazer melhor.
totowtwo
Eu concordo @totowtwo. O que quero dizer é que "propriedade de compactação de energia" é o que faz uma certa transformação é o que a torna preferível para mecanismos de codec.
Dipan Mehta 25/10
5

As imagens naturais consistem em diferentes recursos de imagem; podemos categorizá-las amplamente em recursos, texturas e bordas suaves ou com lentidão de variação. Um bom método de compressão é aquele que transforma uma imagem em um domínio em que toda a energia de um sinal é conservada em apenas alguns coeficientes.

A transformação de Fourier tenta aproximar uma imagem usando senos e cossenos. Agora, senos e cossenos podem aproximar sinais suaves de maneira bastante concisa, mas são notoriamente ruins para aproximar descontinuidades. Se você estiver familiarizado com o fenômeno Gibbs, saberá que é necessário um grande número de coeficientes de Fourier para evitar os artefatos de aproximar uma descontinuidade no tempo. No entanto, quanto menor o número de coeficientes, melhor a compactação. Portanto, existe uma troca inerente entre o número de coeficientes e a perda do método de compressão, à qual geralmente nos referimos como troca de distorção de taxa.

Ao procurar um esquema de compactação melhor que o jpeg, que usa transformadas de Fourier, exigiríamos uma transformação que possa aproximar descontinuidades com menos coeficientes do que a transformada de Fourier, para a mesma distorção. Digite wavelets que ofereçam melhor aproximação e, portanto, melhor compactação de singularidades de pontos sem o fenômeno de gibbs, como artefatos. As imagens nunca são puramente suaves na prática e, portanto, as wavelets são mais versáteis que fourier para diversos recursos de imagem. Se comparássemos a melhor aproximação de termo k de uma imagem contendo arestas usando fourier e wavelets, os erros decairiam como e k - 1k2/3k1, respectivamente. Para o mesmo número de termos, o erro decai mais rapidamente nas wavelets. Isso significa que as wavelets têm melhor compactação de energia quando as imagens não são perfeitamente suaves (variação lenta) e contêm singularidades.

No entanto, ainda não temos uma única base ou transformação que possa aproximar recursos suaves, singularidades de pontos, bordas e texturas.

user3303
fonte
4

O DCT possui uma compactação de energia muito boa para muitos sinais comuns e também combina muito bem com o modo como a difração (o processo físico subjacente na geração de imagens) funciona, pois a difração pode ser representada como um núcleo de quatro camadas. Isso oferece muitas vantagens.

O problema é que os coeficientes DCT são necessariamente deslocalizados em toda a área de transformação. Isso requer que muitas pequenas áreas de transformação (blocos) sejam criadas para que a energia de uma área não transborde para outra durante a transformação. Isso restringe a capacidade da transformação de compactar energia e também introduz artefatos nos vários limites do bloco.

Eu não fiz muito com wavelets, então posso estar errado, mas elas são mais deslocalizadas, com diferentes coeficientes representando diferentes trocas de área / frequência. Isso permite tamanhos de bloco maiores com menos artefatos. Não tenho certeza, na prática, da diferença que realmente faz.

Saratoga
fonte
0

Ao falar sobre melhores wavelets, devemos considerar que eles têm o mesmo codificador atrás: o desempenho de uma transformação está fortemente entrelaçado com a quantização e a codificação. O desempenho geralmente é: melhor compactação para a mesma qualidade ou melhor qualidade para a mesma compactação. A compressão é uma medida fácil, a qualidade não. Mas suponha que tenhamos um.

Agora, uma wavelet (com codificador) pode ser melhor em uma taxa de compressão (digamos baixa) e pior em outra (digamos alta). Apenas um pouco em geral, mas dependendo de você compactar alto ( ) ou baixo ( ), você pode escolher wavelets diferentes.× 4×124×4

Por fim, isso depende da classe de imagens que você deseja compactar: ​​multifacetada ou focada, como imagens médicas ou compactação de dados sísmicos, com tipos de dados específicos e restritos? Aqui, novamente, as wavelets podem ser diferentes.

Agora, quais são os principais componentes morfológicos das imagens e como as wavelets lidam com elas:

  • tendências lentas, planos de fundo em evolução: os momentos de fuga que se livram dos polinômios nas sub-bandas de wavelets,
  • solavancos: ok com funções de escala,
  • bordas: capturadas pelo aspecto derivativo das wavelets,
  • texturas: oscilações capturadas pelo aspecto oscilante das wavelets,
  • o resto, o que é barulhento, sem modelo: gerenciado pela ortogonalidade (ou perto também).

Portanto, no lado da análise, as melhores wavelets são boas para compactar os recursos acima de maneira globalmente agradável. No lado da síntese, as melhores wavelets atenuam os efeitos da compressão, por exemplo quantização, para dar um aspecto agradável. As propriedades exigidas na análise / síntese são um pouco diferentes; é por isso que as wavelets bi-ortogonais são boas: você pode separar as propriedades de análise (momentos de fuga) / síntese (suavidade), que você não pode fazer com as ortogonais, e provoca um aumento no tamanho do filtro , bastante prejudicial para o desempenho computacional. Ondas adicionais biortogonais podem ser simétricas, boas para bordas.

Finalmente, você quer uma compactação sem perdas? Então você precisa de wavelets do tipo "número inteiro" (ou binlets).

E tudo isso acima misturado com questões computacionais: wavelets separáveis, não muito longas. E o processo de padronização no comitê JPEG.

Finalmente, o 5/3 é bastante bom para sem perdas, curto o suficiente. Alguns dos 9/7 são bons também. Muito melhor do que uma wavelet 13/7 ? Não realmente, e mesmo que isso esteja no PSNR, não é o melhor para a qualidade da imagem.

Portanto, as melhores wavelets estão a um passo de distância, para imagens tradicionais e comunicações pessoais com autores de

M. Unser e T. Blu, propriedades matemáticas dos filtros de wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, n. 9, setembro de 2003, págs. 1080-1090.

faça-me acreditar que o "melhor" aspecto do 9/7 não é totalmente explicado nem garantido.

Porque você pode ganhar muito mais com outros bancos de filtros ( multibandas ou banda ). Talvez não seja suficiente para justificar um novo padrão.M

Laurent Duval
fonte