Limiarização (Thresholding)

programador
1.1.2.4.2 – Segmentacao de Imagens
1.1.2.4.2.2 – Limiarizacao (Thresholding)
1.1.2.4.2.2.1 – Metodo de Otsu
1.1.2.4.2.2.2 – Global x Adaptativa
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

A limiarização é a técnica de segmentação mais simples e intuitiva. Ela converte uma imagem em níveis de cinza para binária. Um valor de limiar (threshold) separa objeto e fundo. Pixels acima do limiar tornam-se brancos (objeto). Pixels abaixo do limiar tornam-se pretos (fundo). Por exemplo, documentos digitalizados são frequentemente limiarizados. A escolha correta do limiar é fundamental para o sucesso. Primeiramente, o histograma da imagem orienta esta escolha. Um histograma bimodal (dois picos) indica boa separabilidade. O vale entre os picos é o melhor limiar. Consequentemente, a qualidade da limiarização depende da iluminação e do contraste.

limiarização global (método de otsu)

O método de Otsu calcula o limiar ótimo de forma automática. Ele maximiza a variância entre as classes (objeto e fundo). Primeiramente, o algoritmo calcula o histograma normalizado da imagem. Em seguida, ele testa todos os possíveis valores de limiar. Para cada limiar, calcula a variância entre as classes. O limiar que maximiza esta variância é o escolhido. Por exemplo, o método de Otsu é ideal para imagens com iluminação uniforme. Ele não requer parâmetros ajustados pelo usuário. Além disso, sua implementação é simples e eficiente. Contudo, ele falha quando os histogramas são unimodais. Portanto, utilize Otsu quando o histograma apresentar dois picos distintos.

limiarização adaptativa (local)

A limiarização adaptativa calcula limiares diferentes para cada região. Primeiramente, ela divide a imagem em pequenas janelas. Em seguida, calcula um limiar para cada janela individualmente. O limiar pode ser a média ou a mediana dos pixels da janela. Por exemplo, esta técnica funciona bem com iluminação não-uniforme. Sombras ou gradientes de iluminação não prejudicam a segmentação. Outra vantagem é a adaptação a texturas locais da imagem. Contudo, a limiarização adaptativa é mais cara computacionalmente. Ela também pode produzir artefatos de blocos nas bordas das janelas. Portanto, utilize-a quando a iluminação variar significativamente ao longo da imagem.

desafios e quando utilizar cada abordagem

A escolha da técnica depende das características da imagem. Utilize a limiarização global para imagens com iluminação uniforme. O método de Otsu é excelente para documentos digitalizados. Além disso, ele funciona bem em imagens médicas com bom contraste. Utilize a limiarização adaptativa para documentos com sombras ou fotos de ambientes externos. Por exemplo, leitura de placas de carro em dias nublados. Outro desafio é o ruído, que pode criar falsos limiares. Pré-suavizar a imagem com um filtro Gaussiano ajuda. Em imagens muito ruidosas, combine limiarização com detecção de bordas. Portanto, experimente diferentes abordagens para encontrar o melhor resultado. A limiarização é um passo fundamental em muitos sistemas de visão computacional.

Laplaciano da Gaussiana (LoG)

programador
1.1.2.4.2 – Segmentacao de Imagens
1.1.2.4.2.1 – Deteccao de Bordas
1.1.2.4.2.1.1 – Operador de Sobel
1.1.2.4.2.1.2 – Detector de Canny
1.1.2.4.2.1.3 – Laplaciano da Gaussiana (LoG)
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

O Laplaciano da Gaussiana (LoG) é um operador avançado para detecção de bordas. Primeiramente, ele suaviza a imagem com um filtro Gaussiano. Em seguida, aplica o Laplaciano (derivada segunda) ao resultado. O LoG pode ser implementado como um único kernel. Este kernel tem formato semelhante a um “chapéu mexicano”. Por exemplo, a função LoG é circularmente simétrica. Diferentemente do gradiente, o LoG é isotrópico (invariante a rotação). Ele detecta bordas onde a resposta cruza por zero. Cruzamentos por zero ocorrem nas transições de claro para escuro. Consequentemente, o LoG produz bordas fechadas e contínuas. Portanto, ele é útil para segmentação de objetos.

fundamento matemático do operador log

O LoG combina dois operadores matemáticos distintos. Primeiramente, a Gaussiana suaviza a imagem e reduz ruídos. Sua fórmula é G(x,y) = (1/(2πσ²)) * exp(-(x²+y²)/(2σ²)). Em seguida, o Laplaciano calcula a segunda derivada. O Laplaciano é definido como ∇² = ∂²/∂x² + ∂²/∂y². Aplicando o Laplaciano à Gaussiana, obtemos o LoG. A fórmula resultante é ∇²G(x,y) = ( (x²+y²-2σ²) / (2πσ⁶) ) * exp(-(x²+y²)/(2σ²)). Este kernel tem soma zero, como esperado para derivadas. Parâmetro σ (sigma) controla a escala de detecção. Valores pequenos de σ detectam bordas finas. Valores grandes de σ detectam bordas mais grossas e difusas.

diferença de gaussianas (dog) como aproximação

A diferença de Gaussianas (DoG) aproxima eficientemente o operador LoG. A DoG é calculada subtraindo duas imagens suavizadas com σ diferentes. Especificamente, DoG = G(x,y,σ₁) – G(x,y,σ₂). Uma razão típica entre os sigmas é 1.6:1. Por exemplo, σ₂ = 1.6 * σ₁ produz boa aproximação. O detector SIFT utiliza a DoG para localizar pontos de interesse. A vantagem da DoG é a eficiência computacional. Diferentemente do LoG, ela não requer o cálculo de segundas derivadas. Consequentemente, a DoG é mais rápida e fácil de implementar. Portanto, muitos sistemas práticos usam a DoG como substituta do LoG.

quando utilizar o operador log

Utilize o LoG quando precisar de bordas fechadas e contínuas. Ele é ideal para segmentação de objetos com formas suaves. Por exemplo, células em imagens médicas ou planetas em astronomia. O LoG também é útil quando a orientação da borda não é relevante. Sua isotropia garante detecção uniforme em todas as direções. Outra aplicação é na detecção de manchas (blobs) na imagem. O LoG responde fortemente a regiões circulares de tamanho adequado. Contudo, evite o LoG em imagens com muito ruído. A derivada segunda amplifica significativamente as altas frequências. Portanto, pré-suavize a imagem ou use um σ maior. Em sistemas de tempo real, prefira operadores mais rápidos como Sobel ou Canny.