2

Usando Wavelets para processamento de Imagens

Para o pessoal de computer vision, isso provavelmente é algo normal ou algo que é pelo menos implícito no dia-a-dia. Muitos já ouviram falar de filtro passa baixa, passa alta ou até mesmo a clássica transformada de Fourier. No entanto, o termo Wavelets é algo que não parece tão difundido.

Meu objetivo com este post não é discutir especificamente Wavelets, e todos os seus benefícios. Uma vez que eu mesmo não sou a pessoa mais apropriada para isso. Mas gostaria de compartilhar uma coisa que descobri durante as aulas que tive sobre Wavelets e como elas podem ser aplicadas ao processamento de imagens.


A diferencia primordial entre Fourier e Wavelets é que a análise de Fourier transforma uma onda que está no domínio do tempo para o domínio da frequência. Dessa forma, ela é muito interessante quando queremos saber quais frequências estão dentro de um sinal. Contudo, é muito difícil saber em quais posições do sinal original. Para isso, as Wavelets podem ser usadas, usando as transformações com Wavelets, conseguimos ter resolução tanto espectral quando em relação a posição no sinal.

Não vou entrar em mais detalhes aqui mas um leitor interessado pode se dirigir à página da wikipedia sobre wavelets em: https://pt.wikipedia.org/wiki/Wavelet

Contudo, dado esta mini explicação sobre a ferramenta, é interessante dizer que ela é baseada em filtros. Assim utilizamos filtros como os de Haar, e através do algoritmo de Mallat conseguimos decompor o sinal, fazer compressão, etc.

Na aula que tive semana passada, começamos a ver a versão 2D. Esta utiliza basicamente a mesma ideia do processamento de sinais digitais de 1D, contudo aqui podemos processar imagens ou qualquer coisa em 2D.

Achei muito interessante um exemplo mostrando a imagem da Lena sendo decomposta usando 2D-DWT (https://www.researchgate.net/profile/Asim-Bhatti-5/publication/221909969/figure/fig3/AS:305307361267718@1449802355881/level-discrete-wavelet-transform-of-Lena-image-using-figure-2-filter-bank.png). Esta imagem é muito usada em processamento de imagens e foi incrível ver que uma única decomposição pode ao mesmo tempo:

  1. Reduzir a imagem
  2. Extrair bordar
  3. Extrair ruídos

O resultado do processamento gera uma matriz dividida em 4 quadrantes. O primeiro a imagem original reduzida com menos ruído, a segunda e terceira as bordas da figura da imagem e o quarto o ruído.

Achei isso genial e comecei a usar no meu projeto de AI QCOP https://github.com/Dpbm/qcop

Carregando publicação patrocinada...