Você está na página 1de 47

Aula 6 - Segmentao de Imagens

Parte 2

Prof. Adilson Gonzaga

1
Motivao

Extrao do Objeto

Dificuldades

Super segmentao
over-segmentation
1) Segmentao por Limiarizao (Thresholding Global):

Efeitos da escolha do Limiar

Imagem Original Imagem segmentada por


Thresholding

Thresholding Baixo Thresholding Alto


3
1) Segmentao por Limiarizao (Thresholding
Global):

Modos de se escolher o Threshold:

1. Inspeo visual do histograma


2. Tentativa e erro
3. Threshold Automtico

4
1) Segmentao por Limiarizao (Thresholding
Global):
1. Inspeo visual do histograma

Histograma bi-modal

Imagem f (x, y) composta de


objetos brilhantes sobre fundo
escuro

T
Um ponto ( x, y) parte dos
objetos se f (x, y) > T

5
1) Segmentao por Limiarizao (Thresholding
Global):
1. Inspeo visual do histograma

Limiarizao em multinvel

Se T1 < f(x, y) T2  o ponto


(x, y) pertence a uma classe de
objetos.
Se f(x, y) > T2  o ponto (x, y)
pertence a outra classe.
T1 T2 Se f(x, y) T1  o ponto (x, y)
pertence ao fundo.

Dificuldade: estabelecer mltiplos T que efetivamente isolem


regies de interesse.
6
1) Segmentao por Limiarizao (Thresholding
Global):

Influncia da Iluminao:

b) Histograma da reflectncia
a) Reflectncia r(x,y) gerada por
(Bi-modal)
computador

f ( x, y ) = i ( x, y ).r ( x, y )
7
Influncia da Iluminao:

d) f ( x, y ) = i ( x, y ).r ( x, y )
c) Funo de Iluminao i(x,y)
gerada por computador

Histograma da f(x,y)
8
1) Segmentao por Limiarizao (Thresholding
Global):
2. Tentativa e erro

Aplicado em processos interativos.


O usurio testa diferentes nveis de Threshold at
produzir um resultado satisfatrio de acordo com o
observador.

9
1) Segmentao por Limiarizao (Thresholding
Global):

3. Threshold Automtico

Algoritmo: (Gonzalez;Woods,2002)
1. Selecionar um valor estimado para T (Ponto
intermedirio entre os valores mnimos e mximos de
intensidade da imagem)
2. Segmentar a imagem usando T.
Isso produzir dois grupos de pxels

G1 T
G2 < T

10
1) Segmentao por Limiarizao (Thresholding
Global):

3. Computar a mdia das intensidades dos pxels em


cada regio.
1 (G1 ) 2 (G2 )

4. Computar o novo valor de T:


1
T = (1 + 2 )
2

5. Repetir os passo 2 a 4 at que a diferena em T


em sucessivas iteraes seja menor que um T0
pr-estabelecido.

11
1) Segmentao por Limiarizao (Thresholding
Global):
Mtodo de Otsu

1. Tratar o Histograma da Imagem como uma Funo


Densidade de Probabilidade Discreta:
nq
p r (rq ) = q= 0,1,2,L-1
n

Onde:
n = nmero total de pxels da Imagem
nq = nmero de pxels com intensidade rq
L = nmero total dos possveis nveis de intensidade da Imagem

12
1) Segmentao por Limiarizao (Thresholding
Global):
Mtodo de Otsu

2. Um valor k para o Threshold pode ser escolhido tal


que:

C0 seja a classe de Pxels com nveis entre [0, k-1] e


C1 seja a classe de Pxels com nveis entre [k, L-1]

3. O mtodo de Otsu escolhe k tal que maximize a


varincia inter-classes:

B2 = 0 ( 0 T ) 2 + 1 ( 1 T ) 2

13
1) Segmentao por Limiarizao (Thresholding
Global):
Mtodo de Otsu B2 = 0 ( 0 T ) 2 + 1 ( 1 T ) 2
k 1
Onde: 0 = p q (rq )
q =0

L 1
1 = p q (rq )
q=k O Mtodo de Otsu pode
ser chamado de
k 1
0 = qpq (rq ) / 0 Thresholding Dinmico.
q=0

L 1
1 = qp q (rq ) / 1
q=k

L 1
T = qp q (rq )
q =0
14
1) Segmentao por Limiarizao (Thresholding
Local):

A Limiarizao Global pode falhar quando a iluminao


for no uniforme.

Aplicar um Threshold Local definir uma funo T(x,y)


que varie o valor de T de acordo com as coordenadas (x,y).

1 se f ( x, y ) T ( x, y )
g ( x, y ) =
0 se f ( x, y ) < T ( x, y )

Uma funo de Threshold Local T(x,y) pode ser obtida como:


T ( x, y ) = f 0 ( x, y ) + T0

Onde f0(x,y) a abertura morfolgica de f(x,y) e a constante T0 o


valor do Threshold, pelo mtodo de Otsu, aplicado em f0(x,y).
15
2) Segmentao Orientada a Regio:

Bordas e Fronteiras Segmentao baseada em


descontinuidades

Regies Segmentao baseada em similaridade das


propriedades dos Pixels.

16
Crescimento de Regio: (Region Growing)

Seja R a regio completa da Imagem, e R1, R2, ... , Rn sub-


parties de R tal que:

a) ( todo pixel deve estar em uma regio)

b) Ri uma regio conexa, i = 1, 2, ......n

c) para todo i e j, i j

d) P (Ri) = VERDADEIRO para i = 1, 2,......n


e) P ( Ri U R j ) = FALSO para i j

P(Ri)  Propriedade definida para a regio verdadeira


para todos os pixels da regio
Ex: Intensidade igual.
17
Crescimento de Regio por agregao de pixel.

Agrupamento de Pixels ou grupo de pixel em regies


maiores.

Os pixels a serem agrupados devem ter propriedades


similares. (nvel de cinza, textura, cor, etc...).

Inicia-se com um conjunto de sementes em torno do qual


as regies crescem.

18
Imagem:

Sementes  (3, 2) e (3, 4)

Propriedade (P)  | I(x) I(s) | < T


I(s)  Intensidade da semente

19
Problemas com a Tcnica:

1) Seleo das sementes: depende da natureza do problema.

Ex: em aplicaes militares com imagens com infravermelho, os


pontos mais quentes, logo, mais brilhantes, so de interesse.

2) Seleo das Propriedades que estabeleam os critrios de


similaridade: depende do tipo de dados disponveis.

Ex: as imagens de satlite usam a informao de cor.

20
3) Utilizao de conectividade e adjacncia:

Ex: uma imagem formada por um arranjo aleatrio de 3


intensidades diferentes. Se a conexo entre pixels no for levada
em conta, o resultado da segmentao no ter nenhum
significado.

4) Formulao de uma regra de parada: utilizao de critrios de


tamanho, semelhana entre um pixel candidato e os pixels da
Regio e Formato de uma dada Regio.

21
Exemplo: Crescimento de Regio

a) Imagem [I(x,y)] com


semente I(s)
Critrio:
| I(x, y) I(s) | 10%
(255 - min)
8 conectada em cada
pixel.

b) Inicio do crescimento:
Pixels com a mesma
distancia city-block
da semente.

c) Estado d) Regio crescida completa: o processo pra


intermedirio de devido a borda de nvel mais escuro que
crescimento. fura a conectividade.
22
Diviso e Fuso de Regies:

Split and Merge

Seja R uma Imagem e P uma caracterstica de similaridade


definida.

Subdividir R em 4 Regies (Quadrantes)


Ri / P(Ri) = VERDADEIRO

Se P(Ri) = FALSO subdividir a Regio em sub-quadrantes.

Fundir as Regies adjacentes onde:


P( Ri U Rk ) = VERDADEIRO
Parar quando nenhuma diviso nem nenhuma fuso for
possvel
23
Diviso e Fuso de Regies:

Regio R
R1 R2

R3 R41 R42

R43 R44

Dividir (Split) uma


Regio R.

rvore Quadrtica (Quadtree) que


representa a Regio R.

24
Exemplo do Algoritmo Split and Merge:

P(Ri) = VERDADEIRO para Ri de mesma intensidade

P(R) = FALSO
P(R1) = VERDADEIRO

R P(R2) = FALSO

P(R3) = FALSO

P(R4) = FALSO
Primeira Sub-diviso
Split

25
Exemplo do Algoritmo Split and Merge:

Segunda sub-diviso:
Split

P(R34) e P(R43) = FALSO

Fuso Merge:
P ( R1 U R21 U R22 U R24 U R42 U R44 U R33 U R31 ) = VERDADEIRO

P( R23 U R41 U R32 ) = VERDADEIRO

26
Split

Regio Segmentada.

Merge
P( R341 U R342 U R431 U R432 ) = VERDADEIRO
P( R343 U R344 U R433 U R434 ) = VERDADEIRO
27
3) Transformada Watershed

Watershed,em geografia, so as salincias que dividem as reas


inundadas por diferentes rios (Bacias Hidrogrficas).

A rea que armazena gua so as Bacias (Catchment Basin), formada


pelas partes mais fundas.

A Transformada Watershed aplica estas idias nas imagens em


nvel de cinza para a segmentao.

A Imagem vista como a Topografia 3-D de uma rea onde o valor


da intensidade do pixel plotado no eixo z, em cada coordenada (x,y).

28
3) Transformada Watershed

A chuva que cai nesta rea vai escorrer e ocupar as


partes mais baixas do terreno.
A gua que cair exatamente sobre a linha divisria
(Watershed) ter a mesma probabilidade de escorrer
para qualquer das bacias por ela dividida.

A Transformada Watershed segmenta as regies considerando as


reas inundadas entre as linhas de Watershed como as regies da
imagem.

29
3) Transformada Watershed

Se enchermos esta superfcie de um mnimo e prevenirmos a mistura das


guas originrias de diferentes pontos, a imagem ser separada em dois
diferentes conjuntos: as Bacias de Captao(catchment basins) e as
Linhas de Watershed (watershed lines).

30
Exemplo: Aplicao da Transformada Watershed na
Segmentao de gros de caf

A Transformada Watershed utiliza diversas tcnicas auxiliares


para segmentar a imagem de maneira coerente e evitar a super-
segmentao (Oversegmentation).

31
Segmentao por Watershed usando a Transformada da Distncia.

Transformada da Distncia:

Transformada da Distncia em uma Imagem Binria a


distncia de cada pixel para o prximo pixel de valor no zero.

Exemplo: Transformada da Distncia Euclidiana.

Imagem Binria Transformada da


Distncia Euclidiana

32
Segmentao por Watershed usando a Transformada da Distncia.

Imagem Binria Imagem Binria


Complementada

Linhas de
Transformada
Watershed do
da Distncia
negativo da
(TDE)
TDE

Superposio
Super-Segmentao das linhas de
(Oversegmentation) A Watershed na
Transformada Watershed Imagem
pode gerar segmentao Original
extra que no corresponde
a regies na imagem
33
4) Pirmides de Resoluo:

 Quando a imagem f(x,y) muito grande e quadrada (n x n),


uma abordagem para a deteco das bordas assumir vrios
nveis de resoluo organizados como uma estrutura de
Pirmide de arranjos bi-dimensionais.

 Esse procedimento imita a ateno seletiva ou percepo


focalizada.

 Os arranjos so do tipo f(i,j,n) com n=1, 2,.... p

 Os arranjos de mais alto nvel (n menor) auxiliam a


detectar as bordas mais grossas.

 Os arranjos de mais baixo nvel (n maior) fornecem a posio


das bordas.
34
Exemplo de uma Pirmide para n=4:
Gerao da Pirmide:
Cada 4 pxels no
arranjo de nvel
inferior, gera 1 pxel
no arranjo de nvel
superior (mdia).

As bordas so mais
facilmente detectadas
no nvel n=1.

A posio da borda
detectada em n=1,
localizada em n=4.

Qualquer detector de Bordas pode ser utilizado.


35
5) Contornos Ativos (Snakes)

Os algoritmos de Contornos Ativos, deformam um contorno para


coincidir com caractersticas de interesse em uma imagem.

Normalmente estas caractersticas de interesse so bordas ou


fronteiras.

O nome dado de Snakes devido ao fato que os contornos se


deformam durante o processo iterativo, como serpentes em
movimento.

Um Contorno Ativo uma coleo V de n pontos no plano de


Imagem.
V = {v1 ,......v n }

vi = ( xi , y i ) i = 1,.....n
36
5) Contornos Ativos (Snakes)

Os pontos, iterativamente, aproximam-se da fronteira do objeto atravs da soluo


de um problema de Minimizao de Energia.

Para cada ponto na vizinhana de vi , um termo de Energia computado:

E i = E int (vi ) + E ext (v i )


onde

E int (vi ) uma Funo de Energia dependente do formato do contorno e

E ext (v i ) uma Funo de Energia dependente de propriedades da imagem


(Ex: Gradiente) prximo a vi

e so constantes que providenciam a ponderao entre os dois


termos de Energia.
37
5) Contornos Ativos (Snakes)
Ei, Eint e Eext so matrizes.

O valor no centro de cada matriz corresponde Energia do Contorno no ponto vi.

Os outros valores nas Matrizes


correspondem (espacialmente) energia
em cada ponto na vizinhana de vi.

Cada ponto vi movido para o ponto vi,


correspondendo posio de menor valor
de Ei.

Se a Funo de Energia for


escolhida apropriadamente, o
contorno V dever aproximar e
parar na fronteira do objeto.

38
Exemplo: Snake utilizada para segmentar o contorno do
crebro em uma cavidade Craniana.

39
Exemplo: Snake segmentando um contorno.

40
Outras Tcnicas para Segmentao de Imagens

Segmentao por Textura

Segmentao por Cor (Imagens Coloridas)

Segmentao utilizando Morfologia Matemtica

Segmentao por Agrupamento (K-mdias)

Segmentao por Movimento

Segmentao utilizando Redes Neurais Artificiais,


Lgica Fuzzy, etc...

41
Segmentao por Textura

A Textura de regies da imagem pode ser segmentada


utilizando-se :
Abordagem Estatstica (Matriz de Co-ocorrncia)
Abordagem Estruturais (Smbolos)
Abordagem Espectrais (Fourier, Wavelets)
Padres Locais (Texture Unit, LBP, Transformada Census)
42
Segmentao por Cor (Imagens Coloridas)

Deve ser utilizada onde a Cor exerce papel importante na


identificao dos segmentos ou objetos da imagem.

Pode-se utilizar os diversos espaos de cor (sRGB, HSI,


HSV, YCbCr, LUV, etc...)

43
Segmentao por Movimento

O movimento de objetos em frames de vdeo fornece


meio para segmentao do objeto e/ou do fundo da cena.

A principal metodologia a Subtrao do Fundo


(Background Subtraction):

- Fundo Simples  Obtm-se um modelo do fundo


que subtrado de cada quadro.

- Fundo Complexo  Modelo de Mistura de


Gaussianas (GMM)

44
Segmentao por Movimento (Fundo Simples)
Mdia ou
Curva de Evoluo de um pxel (RGB) Mediana
Rudo

I ( x, y , t ) = I ( x, y ) + ( x, y , t )

I ( x, y , t ) I ( x, y ) > T

Este mtodo muito popular para


operaes de rastreamento em
tempo real por ser simples e rpido.
No entanto, tem dois grandes
inconvenientes. Ele no pode lidar
com rudos intermitentes (por
exemplo, mudanas de iluminao)
e pode gerar objetos fantasmas.
Segmentao por Movimento (Fundo Complexo)
Subtrao do fundo usando Mistura de Gaussianas (GMM)
Cada pixel classificado baseado na distribuio de Gaussianas que o
representa mais eficazmente como fundo.

Realiza aproximaes quadro a quadro para atualizar o modelo de


cena de fundo.

Segmentao ambientes externos dinmicos, sujeitos a diferentes


condies de iluminao.

Diferentes Gaussianas supostamente representam diferentes cores.

Espera-se que uma distribuio de Gaussianas que represente fundo


tenha grande peso e baixa varincia, ou seja, ocorra freqentemente e
varie pouco no tempo.

Exemplo de agrupamentos de
densidades criadas usando-se
GMM.
Modelo de Mistura de Gaussianas (GMM)

GMM:
Robusto com fundos complexos e
variaes graduais de iluminao.

Segmentao correta onde existe


fundo com cores prximas a da
pele.

No apresenta bons resultados


variao brusca de iluminao e
sombras.

Objeto praticamente esttico,


provoca a deteco desse objeto
como fundo.