Universidade Federal de Viçosa – Campus Rio Paranaíba
SIN 392 - Processamento Digital de Imagens (2017-1)
[Aula 07] Segmentação de imagens –
Limiarização Prof. João F. Mari joaof.mari@ufv joaof
[email protected] .br
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Roteiro •
Limiarização –
–
–
–
–
–
–
Fundamentos Limiarização global simples Limiarização utilizando utilizando o método de Otsu Usando a suavização para melhorar a limiarização global Usando as bordas para melhorar a limiarização global Limiarização múltipla Limiarização local (variável)
Prof.. João Fernando Mari ( joaof Prof joaof.mari@ufv
[email protected] .br )
2
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Bibliografia •
GONZALEZ, R.C.; WOODS, R.E.; Processamento de imagens digitais. 3 Ed. Pearson, 2010. –
•
Capítulo 10
GONZALEZ, R.C.; WOODS, R.E.; Processamento digital de imagens. Edgard Blucher, 2000. –
Capítulo 4
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
3
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização •
Limiarização de imagens –
–
–
Tem uma posição central nas aplicações de segmentação de imagens Facilidade de implementação Velocidade computacional
Prof. João Fernando Mari (
[email protected] )
4
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
FUNDAMENTOS •
Limiarização global: –
•
Limiarização local (variável ou regional): –
•
Quando T é uma constante aplicável a uma imagem inteira.
O valor de T muda ao longo da imagem.
Limiarização múltipla: –
Classifica os pixels utilizando dois ou mais limiares, gerando três (ou mais) grupos de objetos: •
•
[EX] Fundo, objetos do tipo #1 e objetos do tipo
#2. Obter os valores de múltiplos limiares é difícil.
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
5
SIN 392 - Processamento Digital de Imagens (2017-1)
O ruído na limiarização de imagens
(a) (b) (c) (d)
Imagem de 8 bits livre de ruído. Imagem com ruído gaussiano aditivo de média 0 e desvio padrão de 10 níveis de intensidade. Imagem com ruído gaussiano aditivo de média 0 e desvio padrão de 50 níveis de intensidade. a (f) Histogramas correspondentes.
Prof. João Fernando Mari (
[email protected] )
6
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização global simples 1. Selecionar uma estimativa inicial para o limiar global, T. 2. Segmentar a imagem usando T na Equação:
–
%& ' !," > ( 1 !," = #0 %& ')!,"* + (
Isso dará origem a dois grupos de pixels: • •
G1, pixels com valores de intensidade > T; G2, pixels com valores T.
3. Calcular os valores de intensidade média de m1 e m2 para os pixels em G1 e G2 , respectivamente. 4. Calcular um novo valor de limiar: 5.
( = / - 2 /. . Repita as etapas 2 a 4 até que a diferença entre os valores de T
em iterações sucessivas seja menor que o parâmetro predefinido "T.
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
7
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Limiarização global simples T0 = min(I) = 0
Imagem I 2 3 6
5
3
1
1
1
m1 = (2 + 3 + 6 + 5 + 3 + 1 + 1 + 1 + 6 + 7 + 6 + 3 + 5 + 7 + 3) / 15 = 59 / 15 = 3.9334
6
7
6
3
T1 = (3.9334 + 0) / 2 = 1.9667
5
7
0
3
G1 = [2, 3, 6, 5, 3, 1, 1, 1, 6, 7, 6, 3, 5, 7, 3] G2 = [0] m2 = 0 / 1 = 0
–
3
|T1 T0| = 1.9667 > T, então nova iteração T1 = 1.9667
T0 = min(I) = 0 T = 0.001
3
G1 = [2, 3, 6, 5, 3, 6, 7, 6, 3, 5, 7, 3] G2 = [1, 1, 1, 0] m1 = (2 + 3 + 6 + 5 + 3 + 6 + 7 + 6 + 3 + 5 + 7 + 3) / 12 = 56 / 12 = 4.6667 m2 = (1 + 1 + 1 + 0) / 4 = 3 / 4 = 0.75 T2 = (4 + 0.75) / 2 = 2.7084
–
–
|T2 T1| = |2.7084 1.9667| = 0.7417 >
Prof. João Fernando Mari (
[email protected] )
3T, então nova
iteração
8
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Limiarização global simples T2 = 2,70835
Imagem I
G1 = [3, 6, 5, 3, 6, 7, 6, 3, 5, 7, 3]
2
3
6
5
3
1
1
1
6
7
6
3
m2 = (2 + 1 + 1 + 1 + 0) / 5 = 1
5
7
0
3
T3 = (4.909 + 1) / 2 = 2.9545
G2 = [2, 1, 1, 1, 0] m1 = (3 + 6 + 5 + 3 + 6 + 7 + 6 + 3 + 5 + 7 + 3) / 11 = 54 / 11 = 4.909
–
–
3
|T3 T2| = 2.5 2.9545 = 0.125 > T, então nova iteração
T0 = min(I) = 0 T3 = 2.9545 T = 0.001 G1 = [3, 6, 5, 3, 6, 7, 6, 3, 5, 7, 3]
3
Imagem
I’
G2 = [2, 1, 1, 1, 0] m1 = (3 + 6 + 5 + 3 + 6 + 7 + 6 + 3 + 5 + 7 + 3) / 11 = 54 / 11 = 4
2
3
6
5
m2 = (2 + 1 + 1 + 1 + 0) / 5 = 1
3
1
1
1
T4 = (4 + 1) / 2 = 2.5
6
7
6
3
5
7
0
3
–
–
|T3 T2| = 2.5 2.5 = 0.0 <=
3T,
então, fim do algoritmo.
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
9
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Limiarização global simples
(a) Impressão digital ruidosa. (b) Histograma da imagem em (a). (c) Segmentação resultante usando o algoritmo de limiarização global simples. O algoritmo obteve o limiar T = 125,4 após três iterações, começando com T = m (a média de intensidade da imagem) e usando "T = 0.
Prof. João Fernando Mari (
[email protected] )
10
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Método de Otsu •
Método de Otsu –
–
O algoritmo é ótimo no sentido que maximiza a variância entre as classes O método se baseia inteiramente em cálculos realizados sobre o histograma normalizado da imagem •
Um arranjo 1D.
Prof. João Fernando Mari (
[email protected] )
11
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Método de Otsu •
Calcular o histograma normalizado da imagem de entrada: –
•
Calcular as somas acumuladas, P1(k), para k=0, 1, 2, ..., L-1, de acordo com: –
•
Calcular a intensidade média global, mG, de acordo com: –
•
4- 5 = 698:; 78 / 5 = 698:; <78 /? = 6@A-8:; <78 .)5* B C J BC. = 4-)/- D /?*.24.)/. D /?*. . BC. 5 = EGHF)9*GH 9-AGAE)9* H)9* BC 5
Calcular as médias acumuladas m(k), para k=0, 1, 2, ..., L-1, de acordo com: –
•
Designar os componentes do histograma como p i, i = 0, 1, ..., L-1.
Calcular a variância entre classes, –
, para k=0, 1, 2, ..., L-1, de acordo com:
, reescrita como:
•
O limiar de Otsu, k*, é valor de k para o qual
•
Se ocorrer mais de uma máxima, K* é a média dos valores de k correspondentes Obter a medida de separabilidade, #*, considerando k = k* na equação: –
–
K5
J )9* L M = LJ , F
em que:
é máxima.
B?. = 6@A-8:; )< D/?*.78
Prof. João Fernando Mari (
[email protected] )
12
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Método de Otsu
9 4- 5 = _8:;78 .)5* B C K 5 = B?. , 2
3
6
5
3
1
1
1
6
7
6
5
7
0
@A9 / 5 = _8:;<78 /? = _8:; <78 @A. em que: B? = _ )< D/? *. 78 8:; NPO)Q* m
0
1
0.0625
0.0625
3
1
3
0.1875
3
2
1
3
0.0
BC. 5
. / 4 5 D/)5* ? = 4-)5* 1D4-)5*
)RDSU*PDVR
0.906510
0.000000
0.2500
0.1875 2.876302
0.123779
0.0625
0.3125
0.3125 3.283026
0.177979
4
0.2500
0.5625
1.0625 4.159288
0.938477
4
0
0.0000
0.5625
1.0625 4.159288
0.000000
5
2
0.1250
0.6875
1.6875 3.344389
1.371582
2
3
6
5
3
1
1
1
6
7
6
3
6
3
0.1875
0.8750
2.8125 1.567522
1.905029
5
7
0
3
7
2
0.1250
1.0000
3.6875
1.371582
QX = 1Y Z2[ = \]^
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
SU =
3.6875
----
NPU = W)Q* =
4.516846 0.920839 13
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Limiarização usando o método de Otsu
(a) Imagem original. (b) Histograma (os picos elevados foram cortados para realçar os detalhes nos valores mais baixos). (c) Resultado da segmentação utilizando o algoritmo global básico. (d) Resultado obtido pelo método de Otsu. Prof. João Fernando Mari (
[email protected] )
14
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Usando a suavização para melhorar a limiarização global
(a) (b) (c) (d) (e) (f)
Imagem ruidosa. Histograma da imagem em (a) Resultado obtido pelo método de Otsu. Imagem ruidosa suavizada usando uma máscara de média de tamanho 5 × 5 e Histograma da imagem em (d). Resultado da limiarização pelo método de Otsu.
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
15
SIN 392 - Processamento Digital de Imagens (2017-1)
Usando as bordas para melhorar a limiarização global •
Visão geral do algoritmo sobre a imagem f(x,y): 1. Calcular a imagem de borda f(x,y): • •
Magnitude do gradiente. Valor absoluto do laplaciano.
2. Especificar um valor de limiar, T: •
Utilizar um valor alto, próximo de 100 % do maior valor de intensidade.
3. Limiarizar a imagem resultante de (1) utilizando o limiar T: •
Gera uma imagem binária.
4. Calcular o histograma utilizando apenas os pixels de f(x,y) nas posições correspondentes aos pixels da imagem binária obtida em (3). 5. Use o histograma obtido em (5) para segmentar f(x,y) globalmente utilizando algum método de limiarização. •
Por exemplo, o método de Otsu.
Prof. João Fernando Mari (
[email protected] )
16
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Usando o gradiente para melhorar a limiarização global
(a) (b) (c) (d) (e) (f)
Imagem ruidosa. Histograma da imagem em (a). Resultado obtido pelo método de Otsu. Imagem ruidosa suavizada usando uma máscara de média 5 × 5. Histograma da imagem em (d). Resultado da limiarização pelo método de Otsu. A limiarização falhou em ambos os casos.
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
17
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Usando o gradiente para melhorar a limiarização global
(a) (b) (c) (d) (e) (f)
Imagem ruidosa. Histograma da imagem em (a). Imagem da magnitude do gradiente limiarizada no percentil 99,7. Imagem formada como produto de (a) e (c). Histograma dos pixels diferentes de zero na imagem em (d). Resultado da segmentação da imagem (a) com o limiar de Otsu baseado no histograma de (e). O limiar foi de 134, que fica aproximadamente a meio caminho entre os picos no histograma.
Prof. João Fernando Mari (
[email protected] )
18
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Usando o laplaciano para melhorar a limiarização global
(a) (b) (c) (d) (e) (f)
Imagem das células de levedura. Histograma de (a). Segmentação de (a) com o método de Otsu, utilizando o histograma em (b). Laplaciano absoluto limiarizado. Histograma dos pixels diferentes de zero no produto de (a) e (d). Imagem original limiarizada utilizando o método de Otsu baseado no histograma de (e).
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
19
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiares múltiplos •
Baseado no método automático de determinação de limiar de Otsu: –
–
Pode-se estender para um número arbitrário de limiares. Para o caso de K classes: K = C1, C2, ..., CK. •
A variância entre as classes é dada por –
•
Em que: –
–
BC. = 6`9:- 49)/9 D /?*. 49 = 68bcd 78 /9 = G-d 68bcd <78 e
As K classes são separadas por K-1 limiares, cujos valores maximizam a variância entre as classes (equação anterior).
Prof. João Fernando Mari (
[email protected] )
20
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiares múltiplos •
Esta abordagem só é viável para, no máximo, três classes (dois limiares). –
Para três classes, a variância entre classes é: •
–
em que : •
•
–
BC. = 4-)/- D /?*. 2 4.)/. D /?*. 2 4f)/f D /?*. 4- = 6-98:;H 78 4. = 698:9J H-g- 78 4f = 6@A-8:9Jg- 7-8 /- = GH 698:;H <78 /. = GH 698:9J Hg- <78 /f = GH 6@A-8:9Jg- <78 ,
e
,
e
E os limiares (k1* e k2*): •
. BC.)5-X,5.X* = ;h`Hmáx B )5 ,5 * . C h`Jh@A-
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
21
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiares múltiplos •
Algoritmo:
1.
Inicializa-se k1 em 1 (limiar em 0 não faz sentido) •
2. 3.
O valor de k1 é incrementado em 1. E k 2 é incrementado como antes. O algoritmo termina quando k1= L – 3: •
4. 5. 6.
O valor de k2 é incrementado de k1+1 até L-2 (limiar em L-1 não faz sentido).
O resultado é uma matriz 2D,
BC.)5-,5.*
.
Escolher o maior valor da matriz, os índices correspondem à k1* e k2*. Múltiplos valores máximos, k1* e k2* são obtidos pelas médias dos k1’s e k2’s, correspondentes. A medida de separabilidade, #*, é como no método de Otsu.
–
X %& ' !," > 5 j X + 5 !," = ikl %&%& 5'-X !,"p ')!,"* . + 5.X
Prof. João Fernando Mari (
[email protected] )
22
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Limiares múltiplos 2 3 6 5
3 1 7 7
6 1 6 0
5 1 3 3
L=8
BC. = 4-)/- D /?*. 2 4.)/. D /?*. 2 4f)/f D /?*. 4- = 698:;H 78 4. = 698:9J Hg- 78 4f = 6@A-8:9Jg- 78 /- = G-H 68:;9H <78 /. = G-H 698:9J Hg- <78 /f = G-H 6@A-8:9Jg- <78 ,
,
NPO
k1, k2 1 0
1 0.0625
1
3 0.1875
2
1 0.0625
3
4 0.2500
4
0 0.0000
2
2 0.1250
6
3 0.1875
7
2 0.1250
BC.
2 (k1+1)
(k1=1, k2=2) -----
e
BC.. BC
3
(k1=1, k2=3) (k1=2, k2=3)
3
-----
4
-----
-----
5 (L-3)
-----
-----
• •
5
e
-----
BC.. BC. BC
4
(k1=1, k2=4) (k1=2, k2=4) (k1=3, k2=4) ---------
BC.. BC. BC. BC
5
(k1=1, k2=5) (k1=2, k2=5) (k1=3, k2=5) (k1=4, k2=5) -----
BC.. BC. BC. BC. BC
Suponha que a maior variancia ocorra na posição k1=2 e K2=5. Então os limiares K1* e k2* são e e 5 respectivamente.
X %& ' !, " + 5 0 X + 5 !," = q1Y %&%& 5'-X !,"p ')!,"* . > 5.X
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
6 (L-2)
(k1=1, k2=6) (k1=2, k2=6) (k1=3, k2=6) (k1=4, k2=6) (k1=5, k2=6) 2 3 6 5
3 1 7 7
6 1 6 0
5 1 3 3
23
SIN 392 - Processamento Digital de Imagens (2017-1)
[EX] Limiarização global múltipla
(a) Imagem de um iceberg. (b) Histograma da imagem em (a). (c) Imagem segmentada em três regiões usando os limiares duplos de Otsu.
Prof. João Fernando Mari (
[email protected] )
24
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização variável •
Algumas situações o pré-processamento utilizando suavização ou informação sobre bordas não é suficiente para gerar uma segmentação por limiariarização adequada. –
Útil em situações de iluminação não uniforme.
Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
25
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização variável por particionamento da imagem
(a) (b) (c) (d) (e) (f)
Imagem ruidosa e sombreada. Histograma da imagem em (a) Segmentação de (a) utilizando o algoritmo iterativo global. Resultado obtido utilizando o método de Otsu. Imagem subdividida em seis subimagens. Resultado da aplicação do método de Otsu individualmente para cada subimagem.
Prof. João Fernando Mari (
[email protected] )
26
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização variável por particionamento da imagem
Histogramas das seis subimagens da imagem mostrada da figura anterior. Prof. João Fernando Mari (
[email protected] ) [Aula 07] Segmentação de imagens - Limiarização
27
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização variável por particionamento da imagem •
Calcular o limiar para cada ponto da imagem (x,y) de acordo com propriedades da sua vizinhança Sxy: –
Por exemplo: •
•
Duas formas comuns de utilizar essas propriedades: –
(rs = jBrs 2 k/rs (rs = jBrs 2 k/? ou
•
•
em quem a e b são constantes não negativas.
A imagem é segmentada, para cada pixel (x,y), considerando a sua vizinhança Sxy, como: –
•
A média mxy e o desvio padrão $xy da vizinhança Sxy centrada no pixel (x,y).
1 %& ' !," > ( !," = i0 %& ' !," + (rsrs %& ' lwyz{á{
jBrs u ' !," > k/rs !," = #10 lj%w
ou com um pequeno aumento no custo computacional: –
Prof. João Fernando Mari ( [email protected] )
28
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Limiarização variável por particionamento da imagem
(a) Imagem das células de levedura. (b) Imagem calculada com o desvio padrão local $xy para todos (x, y) da imagem de entrada usando uma vizinhança do tamanho de 3 × 3. (c) Resultado obtido utilizando a limiarização local considerando a imagem de desvios padrão local e média global utilizando a equação:
%& ' lwyz{á{ jBrs u ' !," > k/rs !," = #01 lj%w
,
em que a = 30 e b = 15.
Prof. João Fernando Mari ( [email protected] ) [Aula 07] Segmentação de imagens - Limiarização
29
SIN 392 - Processamento Digital de Imagens (2017-1)
Exercícios •
Considere as imagens artificiais com L=8:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
7
0
0
7
7
0
5
5
5
1
1
2
2
0
2
5
7
6
5
6
7
0
5
5
5
1
1
2
2
0
2
5
7
7
6
6
7
0
5
5
5
3
3
2
2
0
2
1
0
0
1
0
0
0
0
6
4
0
0
2
0
0
2
1
1
1
2
1
0
0
0
3
6
0
0
4
0
0
1
2
1
0
2
1
0
0
1
2
1
7
7
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
Prof. João Fernando Mari ( [email protected] )
30
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
Exercícios
3
1. Aplique a segmentação iterativa sobre as imagens com T e : a) Tinicial = média(I) b) Tinicial = mínimo(I) c) Tinicial = máximo(I)
2. Aplique o algoritmo de Otsu nas imagens. 3. Aplique a limiarização local de Otsu por particionamento da imagem. Particione a imagem em quatro.
Prof. João Fernando Mari ( [email protected] ) [Aula 07] Segmentação de imagens - Limiarização
31
SIN 392 - Processamento Digital de Imagens (2017-1)
BIBLIOGRAFIA 1. GONZALEZ, R.C.; WOODS, R.E. Processamento de Imagens Digitais. 3. ed. Pearson, 2010. –
Capítulo 10
2. GONZALEZ, R.C.; WOODS, R.E. Processamento de Imagens Digitais. 1. ed. Edgard Blucher, 2000. –
Capítulo 10
Prof. João Fernando Mari ( [email protected] )
32
[Aula 07] Segmentação de imagens - Limiarização
SIN 392 - Processamento Digital de Imagens (2017-1)
[FIM] •
FIM: –
•
[Aula 07] Segmentação de imagens - Limiarização
Próxima aula: –
[Aula 08] Segmentação de imagens - Regiões
Prof. João Fernando Mari ( [email protected] )
33