Filtro Kuwahara? Venha ter uma visão geral

Lucas de Brito Silva
Oct 18 · 5 min read
Image for post
Image for post
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.

Image for post
Image for post
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.

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

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:

Image for post
Image for post
Image for post
Image for post

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:

Image for post
Image for post

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.

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

Image for post
Image for post
Imagem Original
Image for post
Image for post
Imagem com janelas de 7 pixels
Image for post
Image for post
Imagem original
Image for post
Image for post
Imagem com janelas de 10 pixels
Image for post
Image for post
Imagem original
Image for post
Image for post
Imagem com janelas de 13 pixels

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.

Image for post
Image for post
Fórmula do PSNR.
Image for post
Image for post
Fórmula do MSE.

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

Image for post
Image for post
Imagem original, com ruído e com filtro, respectivamente.

Data Hackers

Blog oficial da comunidade Data Hackers

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store