O que é filtro Kuwahara?

Venha a ter uma visão geral sobre esse filtro que é amplamente utilizado em visão computacional.

Lucas de Brito Silva
Data Hackers

--

Photo by Markus Spiske on Unsplash

O filtro de Kuwahara pode ser definido como um filtro não linear de suavização que não compromete a nitidez da imagem ou as posições das bordas, sendo reconhecido tradicionalmente por este segundo aspecto. Uma grande parte dos filtros utilizados para suavização de imagens são passa-baixas que efetivamente reduzem ruídos mas também causam desfoque nas bordas, diferente do Kuwahara que as preserva, sendo este seu grande diferencial.

É uma das técnicas pioneiras na filtragem de imagens com preservação de bordas, proposta em 1976 teve como intuito primitivo auxiliar no processamento de imagens RI-angiocardiografia do sistema cardiovascular por conta da utilidade na extração de características e segmentação devido à preservação já mencionada. É utilizado frequentemente em aplicações biomédicas como primeiro passo na identificação de anomalias em imagens com ruídos como, por exemplo, detecção de tumores cerebrais através das imagens de ressonância magnética, além de atualmente ser utilizado em imagens artísticas e fotografias devido à capacidade de remover texturas, aguçar as bordas e criar um efeito de pintura desejado pelo nível de abstração.

Figura 1: Exemplo de imagem RI-angiocardiografia. (Fonte: Autoria, 2017.)

O processo ocorrido na filtragem de Kuwahara é basicamente a divisão de uma grade de píxeis em quatro sub-grades que se sobrepõem, calculando-se uma média e variância para cada uma destas. O valor de saída é definido como a média da sub-grade que apresenta a menor variação e este valor será atribuído ao píxel central de cada região analisada pelo algoritmo, podendo ser utilizado com uma grande variedade de formas em relação à divisão de suas grades. Uma forma de demonstração é uma grade de ordem quadrática de tamanho ‘J=K=4L + 1’, onde: L é um número inteiro; J é o número de linhas; K é o número de colunas; e 4 é o número de regiões. O exemplo abaixo demonstra tal operação.

Figura 2: Exemplificação do processo. (Fonte: Autoria, 2017.)

Matemática por trás

Considere uma escala de cinza e uma janela quadrada centrada em torno de um ponto na imagem. Este quadrado pode ser dividido em quatro outras partes, sendo definidas por:

Os píxeis localizados nas fronteiras entre duas regiões pertencem a ambas as regiões resultando em uma sobreposição entre as sub-regiões.

A média aritmética e o desvio padrão das quatro regiões centradas em torno de um elemento de imagem são calculadas e usadas para determinar o valor do píxel central. A saída do filtro, para qualquer ponto, é dada por:

Ou seja, o píxel central terá o valor médio em relação às bordas, desempenhando um grande papel na determinação de qual região terá o maior desvio de padrão.

Em um caso onde o elemento de imagem está localizado num lado escuro de uma borda, provavelmente ele vai tomar o valor médio da região mais escura. Em um caso contrário, estando o píxel localizado na região do lado mais claro da borda, ele terá o valor médio da região mais clara. No caso em que o píxel estiver localizado na extremidade, ele então irá tomar o valor da região mais clara.

O filtro considera a homogeneidade das regiões, garantindo que as bordas sejam preservadas.

O tamanho da janela é escolhido com antecedência, e pode variar com o nível desejado de camadas do filtro no final das aplicações. Janelas maiores normalmente resultam na criação de imagens mais abstratas e pequenas janelas produzem imagens que conservam melhor seus detalhes. Normalmente escolhem-se janelas para produzir quadros com lados que têm um número ímpar de píxeis, devido à simetria, mas isso não é uma regra, pois podem existir variações do filtro, que usam janelas retangulares. Além disso, as sub-regiões não precisam se sobrepor ou ter o mesmo tamanho, desde que elas cubram toda a janela.

Exemplos

Para a realização desses exemplos foi utilizado o programa ImageJ.

Imagem Original
Imagem com janelas de 7 pixels
Imagem original
Imagem com janelas de 10 pixels
Imagem original
Imagem com janelas de 13 pixels

Possíveis alterações do filtro

O filtro pode ser alterado tanto em sua intensidade na imagem quanto a adição de outros filtros, como os de redimensionamento, além de aprimoramento de imagens e vídeos com baixa nitidez, a partir do filtro e cálculos como PSNR e MSE o que demonstra um avanço na suavização da imagem.

Fórmula do PSNR.
Fórmula do MSE.

Este exemplo mostra uma imagem com densidade de ruído de 0,3:

Imagem original, com ruído e com filtro, respectivamente.

Referências

--

--