T4 Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Hélder Filipe Pinto de Oliveira
Resumo 1. Manipulação ponto a ponto 2. Conetividade 3. Filtros espaciais 4. Extração de estruturas geométricas 5. Introdução à segmentação
1. Manipulação ponto a ponto 1. Manipulação ponto a ponto a. Negativo de uma imagem b. Manipulação da gama dinâmica c. Equalização de histograma 2. Conetividade 3. Filtros espaciais 4. Extração de estruturas geométricas 5. Introdução à segmentação
Definições Domínio espacial Refere-se à representação matricial da imagem em que cada pixel representa um ponto visual desta. Por oposição: Domínio das frequências. Operações neste domínio Podem ser expressas por: g x, y) T f ( ( x, y) 3 3
Manipulação ponto a ponto A transformação T opera numa janela: Imagem completa Região Ponto Se a janela se reduzir a um ponto temos: Valor transformado é independente do valor dos vizinhos Manipulação ponto a ponto. s T (r)
Negativo de uma imagem Corrige certos métodos de aquisição de imagem. Melhora a clareza psicovisual. s ( MAX r) s (255 r)
Manipulação da gama dinâmica Gama dinâmica Variações de luz suportadas pela imagem. Grande influência na percepção humana. Manipulação usando uma função de transformação. s T(r) r Função de transformação: Negativo de uma imagem
Contrast Stretching Estica a gama dinâmica de uma imagem. Melhora a utilização da gama dinâmica digital. Corrige problemas de captura óptica: Má iluminação, abertura óptica, baixa eficácia dos sensores, etc. s T(r) r s MAX r min max min
Manipulação específica Adaptável às necessidades do problema. Adaptável ao sistema de aquisição. Flexibilidade: Transformação linear. Transformação não linear. Definida pela função de transformação. s T(r) r s T(r) r
Equalização de histograma Tenta melhorar a eficiência de utilização do espaço de amplitudes. Histograma plano Sinal digital: Histograma quase plano Melhora contraste. Pode criar cores irrealistas! f ( a) 255. P( a)
Equalização de histograma - Exemplo
Equalização de histograma
2. Conetividade 1. Manipulação ponto a ponto 2. Conetividade 3. Filtros espaciais 4. Extração de estruturas geométricas 5. Introdução à segmentação
Vizinhos Why do we care at all?
Imagens Digitais Quais são os meus vizinhos?
4-Neighbors O pixel p at (x,y) tem 2 vizinhos horizontais e 2 verticais: (x+1,y), (x-1,y), (x,y+1), (x,y-1) N 4 (p): Set of the 4- neighbors of p. (x-1,y) (x,y-1) (x,y+1) (x+1,y)
8-Neighbors O pixel tem 4 vizinhos diagonais (x+1,y+1), (x+1,y-1), (x-1,y+1), (x-1,y-1) (x-1, y-1) (x,y-1) (x+1, y-1) N D (p): Diagonal set of neighbors (x-1,y) (x+1,y) N 8 (p) = N 4 (p)+n D (p) (x-1, y+1) (x,y+1) (x+1, y+1)
Conectividade Dois pixels estão conectados se: Se são vizinho (i.e. adjacentes, considerando -- e.g. N 4 (p), N 8 (p), ) (x-1, y-1) (x-1,y) (x,y-1) (x,y-1) (x+1, y-1) (x+1,y) As suas cores são semelhantes (x-1, y+1) (x,y+1) (x+1, y+1)
4 and 8-Connectivity (x-1, y-1) (x,y-1) (x+1, y-1) (x-1, y-1) (x,y-1) (x+1, y-1) (x-1,y) (x,y-1) (x+1,y) (x-1,y) (x,y-1) (x+1,y) (x-1, y+1) (x,y+1) (x+1, y+1) (x-1, y+1) (x,y+1) (x+1, y+1) 4-Connectivity 8-Connectivity
3. Filtros espaciais 1. Manipulação ponto a ponto 2. Conetividade 3. Filtros espaciais a. Máscaras espaciais b. Tipos de filtros 4. Extração de estruturas geométricas 5. Introdução à segmentação
Definições Filtros espaciais Utilizam uma máscara para actuar sobre uma região da imagem. Trabalham directamente com os pontos da imagem. Por oposição: Filtros de frequência. Vantagens Implementação simples: convolução com uma máscara. Máscaras diferentes permitem uma grande variedade de funcionalidades.
Máscara espacial Forma simples de processar uma imagem. Máscara define a função aplicada. Corresponde a uma multiplicação no espaço de frequências. Máscara Imagem Convolução Máscara desliza sobre a imagem
Máscara espacial - Exemplo Cada posição da máscara possuí um peso p. O resultado da operação num ponto é igual a: a b g ( x, y) p( s, t). f ( x s, y t) sat b 1 2 1 0 0 0-1 -2-1 Máscara 2 2 2 4 4 4 4 5 6 Imagem =1*2+2*2+1*2+ =8+0-20 =-12
Smoothing Média Consiste em atenuar as frequências espaciais elevadas da imagem (filtro passa-baixo). Torna a imagem mais suave. Usado na remoção de ruído. Pode ser implementado com máscaras ou no espaço de frequências. 1 1 1 1 1 1 1 1 1 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9
Filtro Gaussiano 2 2 2 2 1 2 2 1, j i e j i h Gaussian kernel N pixels 1 1 2 1 2, 2 1, 2 2 2 m n n m n j m i f e j i g Gaussiana 2D é separável! 1 1 2 1 2 1 2, 2 1, 2 2 2 2 m n n m n j m i f e e j i g Usa dois Filtros Gaussianos 1D
Filtro Gaussiano Um Kernel Gaussiano dá menos peso aos pixels afastados do centro 1 2 1 2 4 2 1 2 1 O Kernel é aproximadamente uma função Gaussiana:
original 2 2.8 4
Mean filter PSI 16/17 - T4 - Processamento de Gaussian Imagem filter
http://www.michaelbach.de/ot/cog_blureffects/index.html
http://www.michaelbach.de/ot/cog_blureffects/index.html
Filtro Mediana Média (a) Provoca blur nos contornos (b) Sensível a outliers (a) (b) Filtro Mediana N 2 1 - Sort Valores em volta do pixel - Escolhe o valor do meio (mediana) sort median Não-linear (Não pode ser aplicado com convolução)
Filtro Mediana
Filtro Mediana
Salt and pepper noise Gaussian noise 3x3 5x5 7x7
O problema da borda 1 2 1 2 4 2 1 2 1 Como é que aplicamos a máscara a este pixel? What a computer sees
O problema da borda Ignorar Imagem resultante mais pequena do que a original Atribuir valores constante Reflecção
4. Extr. estruturas geométricas 1. Manipulação ponto a ponto 2. Conetividade 3. Filtros espaciais 4. Extracção de estruturas geométricas a. Pontos, linhas e fronteiras b. Operadores populares c. Outras formas 5. Introdução à segmentação
Definições As estruturas geométricas são descontinuidades na matriz da imagem. O gradiente espacial ajuda-nos a medir o grau de variação espacial da imagem. Zonas de elevado gradiente denotam descontinuidades. Posso usar máscaras espaciais para medir o gradiente.
Pontos Um ponto isolado deve ter elevado gradiente: Horizontal Vertical Máscara simples. -1-1 -1-1 8-1 -1-1 -1
Linhas Uma linha reflecte um gradiente forte numa só direcção. Duas máscaras: Horizontal Vertical E para mais direcções? Mais máscaras! -1-1 -1 2 2 2-1 -1-1 -1 2-1 -1 2-1 -1 2-1
Como é que posso determiner se um ponto está num contorno?
Fronteiras Fronteira: Descontinuidade espacial da amplitude dos pixels. Magnitude elevada do gradiente espacial. Primeira derivada (pico) Segunda derivada (zero crossing)
Exemplo
Contornos reais Queremos um detector de contornos que obtenha: Magnitude Orientação Ótima Deteção e Boa Localização Ruidosos e discretos!
Gradiente Equação do gradiente: Representa a direção onde está presente a maior diferenção de intensidades Direção do gradiente: Magnitude
Sharpen - Laplaciano Operação inversa: Acentua as frequências espaciais elevadas da imagem. Acentua as fronteiras da imagem. Parece tornar a imagem mais nítida. Implementação: Filtro passa-alto (Laplaciano). Resultado somado à imagem original. 0 1 0 1-4 1 0 1 0 1 1 1 1-8 1 1 1 1
Operadores populares Detecção de fronteiras Grande utilidade para vários problemas. Problema bem estudado. Soluções variadas Sobel, Prewitt, Roberts,...
Comparar operadores Gradient: Roberts (2 x 2): Sobel (3 x 3): Sobel (5 x 5): 0 1-1 0-1 0 1-2 0 2-1 0 1-1 -2 0 2 1 1 0 0-1 1 2 1 0 0 0-1 -2 1 1 2 3 2 1 Boa Localização Sensível ao Ruído Má Deteção -2-3 0 3 2-3 -5 0 5 3-2 -3 0 3 2 2 3 5 3 2 0 0 0 0 0-2 -3-5 -3-2 -1-2 PSI 016/172 - T4 1 - Processamento -1-2 -3 de Imagem -2-1 Má Localização Menos Sensível ao Ruido Boa Deteção
Efeito do Ruído Considere uma coluna ou linha da imagem Plot das intensidades Onde está o contorno??
Solução: Suavizar primeiro Onde está o contorno? Pico em:
Transformada de Hough Equação de uma linha: Parâmetros: x, y y i = ax i + b Parâmetros: a, b b = -x i a + y i Linha que passam por um ponto: x, y infinitas a, b uma!
5. Introdução à segmentação 1. Manipulação ponto a ponto 2. Conetividade 3. Filtros espaciais 4. Extração de estruturas geométricas 5. Introdução à segmentação a. Subjetividade do resultado b. Thresholding c. Pré e Pós-processamento
Definição Consiste na separação da imagem em áreas diferentes. Extracção de objectos. Extracção de áreas com características próprias. Nada trivial! É o santo graal de uma imensidão de problemas!
A subjectividade da segmentação O resultado de uma segmentação apenas é correcto dado um determinado contexto. Subjectividade! Difícil implementação computacional. Dificuldades na avaliação do desempenho. Qual a segmentação correcta? Pessoa Mala Rosto
Thresholding Consiste em dividir uma imagem em duas zonas: 1, se f(x,y)>k 0, se f(x,y)<=k Não é fácil de achar um numero mágico k ideal! Provavelmente a técnica mais popular de segmentação Simples Razoavelmente eficaz Threshold adequado!
Números mágicos O resultado é muito sensível às variações de k. Número mágico. Bom para uma situação. Mau para todas as outras. Sistema tem que ser robusto! Como escolher k? Histogramas. Outras técnicas. A combinação das distribuições de duas regiões pode tornar a segmentação simples (esquerda) ou muito difícil (direita). Adaptado de [1]
Exemplo Correcta (k = 74) Errada! (k = 128)
Pré-processamento Manipulação da imagem antes da aplicação do thresholding. Permite criar uma melhor separação das zonas no histograma. Mais comum: Filtragem de ruído. Filtro passa-baixo. Filtro de mediana.
Pós-Processamento Tenta corrigir os erros de segmentação. Conhecimento a-priori acercado resultado esperado. Filtros morfológicos. Muito populares para pós-processamento. Abertura. Fecho. Abertura Fecho
Resumo Operações ponto a ponto. Conetividade Máscaras e filtros espaciais. Extracção de formas geométricas simples. Thresholding e os números mágicos. Vantagens do Pré e Pós-Processamento.
Referências 1. M. Sonka et al., Image Processing, Analysis and Machine Vision, 2 nd Edition, International Thomson Publishing, 1999. 2. Gonzalez and Woods, Digital Image Processing 3nd Edition, Prentice Hall, 2008.