Processamento de Imagem
Detecção de Arestas, Segmentação
e Morfologia Matemática
Universidade de Aveiro
Departamento de Electrónica, Telecomunicações e Informática
2
I- Detecção de Arestas
• Origem e natureza das arestas • Detecção de arestas
• Processamento global e transformada de Hough – Não iremos falar…
• Arestas e segmentação – detecção explícita de arestas ou seguimento de contornos
Um processo simples de detecção de arestas aplicado a imagens de complexidade diferente
4
I.1- Origem e natureza das arestas
• Têm várias origens:
– Silhuetas de objectos
– Descontinuidades das normais às superfícies – Descontinuidades de iluminação
– Descontinuidades de reflectividade dos objectos
I(x) I(x)
• As arestas ajudam a revelar o conteúdo de uma imagem
• A sua detecção é dificultada por:
– ruído
– arestas não ideais
Aresta ideal:
Exemplo
6
• As arestas são geralmente detectadas em dois passos:
– Aplicando uma máscara (aproximação de uma derivada)
– Agregando os pixels detectados (edgels) em arestas
I- Detecção de Arestas
• A figura resume o princípio da utilização de derivadas:
• A 1ª derivada é:
> ou < 0, dependendo da direcção de variação de I(x,y) = 0 em áreas de intensidade constante
• A 2ª derivada passa por 0 nas arestas positivas e nas negativas
1ª derivada
1ª Derivada
8
1ª Derivada – Como estimar de modo simples?
Derivadas Parciais e Gradiente
10
Exemplo
• O gradiente de uma imagem f(x,y) aponta na direcção de variação mais rápida da intensidade
Direcção do gradiente Amplitude do gradiente:
12
• Como se pode diferenciar uma imagem discreta f(x,y)?
• Uma opção é calcular as diferenças finitas:
e aplicar a máscara correspondente
• Há vários operadores que aproximam o gradiente usados para detectar arestas:
– Roberts – Prewitt – Sobel
Como aplicar?
14
Operador de Prewitt e Operador de Sobel
Operador de Prewitt
1 1 1 -1 -1 -1 0 0 0 -1 0 1 -1 0 1 -1 0 116
Operador de Sobel
-1 0 1 -1 0 1 -2 0 2 -1 -2 -1 1 2 1 0 0 0Imagens resultantes da aplicação do gradiente em x e em y
Operador de Sobel
18
Operador de Roberts
Operador de Kirsch
20
Detectores de arestas com propriedades “combinadas”
• Há detectores que combinam várias propriedades numa única máscara para lidar com várias questões:
– Contraste e orientação das arestas – Magnitude e orientação do gradiente – Ruído
– Escala
• Consideremos duas abordagens: – Marr-Hildreth
Detector de Marr-Hildreth (1980)
Implementação digital do filtro de Marr-Hildreth
- É baseada numa presumível função de baixo nível dos sistemas visuais biológicos
- A máscara é uma combinação de:
- uma função Gaussiana suavizadora
- um operador Laplaciano de derivada (2ª ordem)
Secção da função contínua (que tem simetria circular)
22 Depois de filtrada com:
σ=1,5 σ=5
Cruzamentos em zero das imagens filtradas Cruzamentos em zero comuns a ambas imagens
- A máscara deve ser muito maior do que as anteriores (por questões de precisão) - O desvio padrão σ da Gaussiana controla
a sua largura
-Quanto maior for σ maior a suavização - Depois da suavização são detectadas as
passagens por zero
- O valor de σ pode ser usado para extrair detalhe das arestas a escalas diferentes
MH = r2 – σ2 exp -r2
Outros exemplos
24
Marr- Hildreth em imagens a cores
Detector de Canny
(1986)• É um processo com várias etapas que permite detectar arestas atenuando também o ruído
• Por vezes referido como optimal edge detector (óptimo para arestas bem definidas com ruído branco)
• Como o detector de Marr-Hildreth também usa um smoothing Gaussiano e um Laplaciano, mas usa informação direccional do gradiente
• Detecta as arestas através das passagens por zero da 2ª derivada da imagem suavizada com um filtro Gaussiano 1D na direcção do gradiente
http://www.pages.drexel.edu/~weg22/can_tut.html
26
Detector de Canny
[Burger & Burge]
Objectivos:
• Minimizar arestas “falsas” • Melhor localização
Imagem original componentes x e y da convolução 1D com uma Gaussiana σ=6
componentes x e y da derivada
28
Exemplo: detecção de arestas com o detector de Canny,
Outro exemplo
30
Comparação
[Burger & Burge]
Critérios:
• Quantidade de “falsas” arestas / segmentos
• Os operadores apresentados são conhecidos como detectores de arestas
• Os operadores de derivada são sensíveis ao ruído, provocando falsos positivos
• Transformam uma imagem num domínio binário com:
– um conjunto de pixels pertencentes a uma aresta – edgels
– e falsos positivos e falsos negativos
• Este problema surge devido à natureza paralela da utilização de máscaras
32
Edge sharpening
Edge sharpening – Laplace operator
34
Edge linking ou agregação
• Para resolver o problema dos operadores apresentados pode usar-se uma abordagem sequencial
• O contorno é seguido, tomando-se decisões em cada pixel para prosseguir • Uma alternativa é seguir a “detecção paralela de arestas” por um processo
de agregação que tenta:
– diminuir o efeito de pixels espúrios
Seguimento local de contornos
• Torna-se necessário expandir a vizinhança usada para detectar a aresta
• A vizinhança deve ser:
– suficientemente grande para fechar falsos gaps
– suficientemente pequena para não ligar segmentos independentes
• Exemplo: numa abordagem simples sobre uma imagem de gradiente, dois pixels (x,y) e (x’,y’) estão sobre uma aresta se:
| I(x,y) – I(x’,y’) | < t1 | (I(x,y)) – (I(x’,y’)) | < t2
e -orientação do gradientet
36
Segmentação de Imagem
• Segmentar significa dividir a imagem em regiões que têm algum significado no contexto da aplicação
• Em geral é vista como um passo prévio à análise de imagem
• É mais característica da análise de imagem do que do processamento de imagem
Processamento de imagem: image in; image out
Análise de imagem: redução de informação; extracção de conhecimento
• A abordagem usada em muitos métodos consiste em agrupar pixels com propriedades semelhantes
Exemplo
38
• Os humanos efectuam a segmentação com muita facilidade usando processamento paralelo e
conhecimento sobre a cena
• Até segmentam objectos que não existem!
• As aproximações computacionais mais simples consideram um pixel de cada vez, não utilizam informação sobre a vizinhança
• Correspondem a uma abordagem comum na computação:
dividir um problema complexo em problemas mais simples para os quais conhecemos métodos de resolução
• Na segmentação de uma imagem é razoável começar por usar operações
low-level pixel a pixel
Tipos de segmentação mais comuns:
– conhecimento global das intensidades dos pixels – regiões
– arestas Baseada em:
Note bem:
• Não há um método de segmentação que possa ser usado em todos os casos
40
Grey scale thresholding
• É o método mais antigo de segmentação
• É apropriado em aplicações em que os objectos de interesse têm intensidades homogéneas e diferentes do fundo
Grey scale thresholding
• Se não houver ideia de qual o threshold a usar, pode-se analisar o histograma para escolher um valor adequado
• Se o histograma for bi-modal o threshold estará no vale entre picos
Nota: um histograma
bi-modal pode não corresponder a uma imagem com objectos sobre um fundo homogéneo
42
• Este tipo de abordagem pode produzir erros de “classificação”, dependendo do histograma da imagem e dos níveis de cinzento dos objectos
• Pode usar-se thresholding em sub-regiões da imagem
Exemplo: processamento de imagens de TAC do torax e segmentação pulmonar Detecção dos contornos pulmonares
e de bolhas de ar pulmonares em imagens torácicas de Tomografia Axial Computorizada:
- Diferentes níveis de cinzento correspondem a zonas de
diferentes tecidos e ar em cada secção
- Determinação do histograma de cada imagem e valores
correspondentes à transição entre os pulmões e outros tecidos
- Deteção dos pontos pertencentes aos contornos dos pulmões em cada secção
44
• A forma mais simples de fazer crescer uma região é por agregação de pixels
• São necessários pixels que funcionem como “sementes”
• Depois usam-se regras: – de conectividade – de pertença
• Todos os pixels que sejam vizinhos da semente e obedeçam à regra de pertença são etiquetados como pertencendo à mesma região
• Obter as sementes é um problema importante
• Pode resolver-se, por exemplo, com recurso ao histograma da imagem ou interactivamente
45
46
Flood-Filling
Flood-Filling
48
Flood-Filling
Flood-Filling
50
Flood-Filling
51
Exemplo: estabelecimento do critério de pertença baseado em threshold e gradiente Threshold demasiado elevado
Threshold demasiado baixo
Objectos que
não são detectados
Objectos que se confundem
Gradiente da imagem
Gradiente da imagem suavizada
A imagem tem ruído e textura
52
O critério de pertença tem que ser melhorado
Critério usado:
Um pixel á adicionado a uma região se obedecer a um dos seguintes critérios: 1 - gradiente baixo
e
nível de cinzento > threshold 2- gradiente elevado
e
Sequential Region Labeling
54
Sequential Region Labeling
Sequential Region Labeling
56
Sequential Region Labeling
Sequential Region Labeling
58
Sequential Region Labeling
59
Orientação + Excentricidade
60
• Utiliza a estratégia “dividir e conquistar”
• Divide-se a imagem em partes cada vez mais pequenas, até que sejam homogéneas
• Não são necessárias “sementes”
• Mas, as regiões são em geral “blocky”
If current region homogeneity test is FALSE then split into four quadrants
attempt to merge this quadrants recursively call the procedure for each subdivision
find any remainding merges
• O critério de homogeneidade pode ser baseado em medidas estatísticas
62
Contornos de uma região
63
Representação – Máscara binária
64
Representação – Run-Length Encoding
65
Representação – Chain Codes
66
Combining: Region Labeling + Contour Following
III. Imagens e Morfologia Matemática
• A morfologia matemática opera sobre as imagens como conjuntos de pontos • Permite modificar de modo controlado a estrutura / morfologia de uma imagem • É mais fácil de aplicar em imagens binárias
• Mas pode ser aplicada e imagens com níveis de cinzento ou a cores • Engloba um conjunto de técnicas usada em análise de imagem em:
– Filtragem – Segmentação
68
Ideia fundamental das operações morfológicas
69
Ideia fundamental das operações morfológicas
70 [Burger & Burge]
• Elemento Estruturante
• A morfologia matemática opera sobre as imagens como conjuntos de pontos
• É mais facilmente aplicável a imagens binárias
• Uma imagem binária pode ser descrita como um conjunto de pontos 2D listando todas as coordenadas dos pixels a preto (foreground), linha a linha:
X 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 I= { (0,1), (1,1), (2,1), (3,1), (3,2), (3,3) } origem
• Um objecto binário é representado por um conjunto num espaço bidimensional
72
Operações sobre conjuntos de pontos
[Burger & Burge]
• Imagens binárias
• Foreground
• Background
• Muitas operações podem ser consideradas como “shape filtering”
• É necessário conhecimento a priori da forma
• Faz-se um scanning da imagem com um elemento estruturante EE
• Há pontos em que o EE:
- está completamente dentro do objecto - parcialmente dento do objecto
Elemento estruturante
74
Principais operações morfológicas
– Dilation – Erosion – Opening – Closing Operações básicas Operações compostas
75
Dilation
- Corresponde a “estampar” o elemento estruturante em cada ponto do objecto (pixels a 1) - Obtém-se em geral uma versão
expandida do objecto
- Pequenos buracos e pequenas intrusões são preenchidas
Elemento estruturante Objecto original Objecto final Imagem original Elemento estruturante Sobrepõe-se a origem do EE a todos os pixels a 1 na imagem I e transportam-se os 1 para os pixels da imagem resultante
76
Exemplo:
77
Outro exemplo
78
Erosion
- É a operação dual da dilatação
(a erosão de um objecto é equivalente à dilatação do fundo)
- Obtém-se em geral uma versão contraída do objecto
- Os buracos são aumentados e
pequenas extrusões são eliminadas
Objecto original Objecto final Imagem original Imagem final Elemento estruturante Sobrepõe-se a origem do EE a todos os pixels a 1 na imagem, coloca-se 1 na imagem resultante quando o EE cabe completamente no objecto
79
Exemplo
80
Calcule o resultado da erosão de I com os diferentes elementos estruturantes:
81
Propriedades
• Dualidade
•Comutatividade
82
Exemplo – Dualidade
83
Exemplo – Operações sucessivas
84
Elementos estruturantes habituais
85
Exemplo – Imagem original
86
Exemplo
[Burger & Burge]
87
Exemplo
88
Exemplo
Determinação de contornos – Outlining
• Como a erosão pode resultar numa contracção isotrópica pode-se efectuar a extracção de
contornos com a operação composta:
• Contrai-se o objecto e subtrai-se do original • Para obter uma erosão isotrópica pode usar-se
EEs de 3x3 ou 5x5, …
• O tamanho do elemento estruturante determina a a espessura do contorno obtido
Contornos obtidos com um EE de 3x3
90
Exemplo
91
Exemplo
92
Opening
• É uma erosão seguida de dilatação • É idempotente!
• É a união de todos os EEs que cabem dentro do objecto
• Com um EE circular tende a:
- suavizar os contornos do objecto - partir ligações estreitas
- eliminar pequenas protuberâncias O EE é aplicado a todo o objecto, mas nenhuma parte deste pode aparecer fora do objecto
Imagem original
Elemento estruturante
É uma erosão seguida de dilatação
Na erosão:
Alinha-se a origem do EE com todos os elementos a 1, quando este cabe completamente no objecto coloca-se a 1 o pixel correspondente na imagem final
Estes pixels são zero na imagem final, pois o EE não cabe no objecto, quando alinhado com eles
Exemplo
Na dilatação:
Alinha-se a origem do EE com todos os elementos a 1, e colocam -se a 1 os pixels correspondentes ao EE na imagem final
94
Exemplo
Imagem original Depois da erosão Depois da dilatação
Opening com um elemento estruturante circular
Closing
• É uma dilatação seguida de erosão • É dual do opening
• É idempotente
Imagem original
Elemento estruturante
97
Exemplo
Imagem original Imagem final
98
Propriedades
• Idempotência
99
Exemplo
[Burger & Burge]
100
Exemplo de Aplicação - Skeletonizing
Erosões
101
Operações sobre imagens com níveis de cinzento
• As mesmas operações
• Mas, o elemento estruturante representa uma função real 2D
– Valores positivos, negativos ou nulos – “Don’t care”
102
Dilatação
103
Erosão
104
Exemplo
105
Exemplo
106
Exemplo
107
Exemplo
[Burger & Burge]
108
Exemplo
109
Exemplo
Bibliografia
• W. Burger, M. J. Burge, Principles of Digital Image Processing, Vol.1 and Vol. 2, Springer, 2009
• A. Watt, F. Policarpo, The Computer Image, Addison Wesley, 1998 • R. Gonzalez, R Woods, Digital Image Processing, 2nd Ed., Addison
Wesley, 2002
Agradecimentos
Aos Profs. Augusto Silva e Paulo Dias, e a alunos de Doutoramento
Imagem do 1º slide: http://spie.org/x8899.xml?ArticleID=x8899
Junqing Chen and Thrasyvoulos Pappas, “Adaptive perceptual color-texture image segmentation” SPIE - Electronic Imaging & Signal Processing, 2006 DOI: 10.1117/2.1200602.0016