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?
image-processing
wavelet
user807566
fonte
fonte
Respostas:
visão global
A resposta curta é que eles têm o número máximo de
vanishing moments
para um dadosupport
(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á aD4
wavelet chamada deD4
oudb2
. O4
refere-se ao número de coeficientes e os2
refere-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 emJPEG 2000
, tem dois números no nome, em vez de um. De fato, também é conhecido comobior 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/7
e4.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 seremorthogonal
, sãobiorthogonal
. Em vez de me aprofundar no que isso significa matematicamente, euJPEG 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:
Vou apenas rever os pontos principais aqui.
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.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...]
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:
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):
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–√
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]
E o que acontece na segunda passagem, que opera apenas com o sinal suavizado:
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 82 8 8
Leitura adicional
Estou encobrindo muitos detalhes para manter o tratamento acima acessível. O artigo a seguir tem uma análise muito mais profunda:
Nota de rodapé
O artigo acima parece sugerir que a wavelet JPEG2000 é chamada Daubechies 9/7 e é diferente da wavelet CDF 9/7.
O rascunho do padrão JPEG2000 ( link em pdf ) que eu procurei também chama o filtro oficial Daubechies 9/7. Referencia este artigo:
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.
fonte
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.
fonte
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.
fonte
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 - 1k−2/3 k−1 , 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.
fonte
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.
fonte
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:
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
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
fonte