Prof. Dr. Kamel Bensebaa

64
Prof. Dr. Kamel Bensebaa Processamento de Imagens e Computação Gráfica Aula 6

description

Processamento de Imagens e Computação Gráfica. Prof. Dr. Kamel Bensebaa. Aula 6. Segmentação por regiões. A detecção de regiões num imagem pode ser feita com um dos objetivos: Extrair uma determinada região ou - PowerPoint PPT Presentation

Transcript of Prof. Dr. Kamel Bensebaa

Page 1: Prof. Dr. Kamel Bensebaa

Prof. Dr. Kamel Bensebaa

Processamento de Imagens

e Computação Gráfica

Aula 6

Page 2: Prof. Dr. Kamel Bensebaa

Segmentação por regiões A detecção de regiões num imagem pode ser

feita com um dos objetivos:– Extrair uma determinada região ou– Dividir (particionar) a imagem num conjunto de regiões

disjuntas cuja união representa a imagem inteira. Uma região de uma imagem é um conjunto de

pontos “ligados” onde , de qualquer ponto da região pode-se chegar a qualquer outro ponto por um caminho inteiramente contido nessa região.

As regiões que desejamos detectar são regiões “homogêneas”, ou seja, apresentam alguma propriedade local aproximadamente constante

Page 3: Prof. Dr. Kamel Bensebaa

Segmentação por regiões Geralmente, esta propriedade local é a

continuidade do nível de cinza. Um exemplo de função exprimindo essa

propriedade de continuidade sobre uma região R(x,y) poder ser

– R(x,y) é homogênea se e somente se, para qualquer dupla de pontos, a diferença entre os níveis de cinza dos dois pontos não for maior que uma constante

Page 4: Prof. Dr. Kamel Bensebaa

Definição de uma Definição de uma regiãoregião A segmentação de uma I é uma

partição da imagem I em regiões homogêneas R1, R2,..., Rn tal que:

1. Todo pixel pertence a uma região

2. Ri é uma região conexa para todo i =1,2,...,n

3. Nenhum pixel pertence a mais de uma região

4. para quaisquer i j

n

iiRI

1

ji RR

Page 5: Prof. Dr. Kamel Bensebaa

Definição de uma Definição de uma regiãoregião

Page 6: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por regiõesregiões Essa definição conduz a duas observações

importantes– Uma segmentação depende do critério utilizado– A escolha do critério é primordial– Para um certo critério existem várias soluções

Apresentamos a segmentação por limiarização que não satisfaz completamente a definição precedente e em seguinte outras técnicas de segmentação por região– Crescimento de regiões– Divisão e fusão de imagens– ...

Page 7: Prof. Dr. Kamel Bensebaa

LimiarizaçãoLimiarização

Crescimento de regiões

Split and MergeSplit and Merge

Segmentação por Segmentação por regiõesregiões

Page 8: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização A limiarização é uma das mais importantes

técnicas de segmentação de imagens. É através dela que se consegue separar os

objetos do fundo da imagem. Em uma imagem monocromática (imagens em

níveis de cinza, com dois conjuntos representando a conectividade entre os pixels, pode-se dizer que um grupo representa o objeto da imagem e o outro grupo representa o fundo.

Portanto, os dois grupos foram separados por um limiar T tornando a imagem monocromática em uma imagem binária.

Page 9: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização Quando os objetos são claros em relação ao

fundo da imagem) o limiar T pode ser expresso da seguinte forma:

onde f (x,y) é a função que representa a intensidade luminosa na imagem e g (x,y) é nova função de luminosidade depois da separação do limiar T

Quando os objetos são escuros em relação ao fundo da imagem) o limiar T pode ser expresso da seguinte forma:

TyxfseTyxfse

yxg),(0),(1

),(

TyxfseTyxfse

yxg),(0),(1

),(

Page 10: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização

O resultado de uma limiarização com apenasduas classes é chamada binarização

Page 11: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização

Caso a imagem tenha três ou mais grupos, pode-se usar a limiarização multiníveis.

Nesse caso, seriam classificados como objeto, todos os valores de f (x,y) entre T1 e T2 e o restante faria parte do fundo da imagem.

A limiarização multiníveis é geralmente menos confiável que a de limiar único devido à dificuldade de estabelecimento de múltiplos limiares que isolam as regiões de interesse.

Problemas desta natureza são melhores resolvidos com um limiar único variável.

Page 12: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização

Page 13: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarizaçãoLimiarização multiníveis

yxfTTyxfT

Tyxfyxg

, si 0, si 1

, si 2,

1

12

2

Objeto claro em fundo escuro

Dois objetos de intensidade diferentes em fundo escuro

Page 14: Prof. Dr. Kamel Bensebaa

TyxfsiTyxfsi

yxg),(1),(0

),(

fyxpyxTT ),,(),,(

comcom

ImagemImagem

Coordonadas do pixelCoordonadas do pixel

Propriedade local do pixelPropriedade local do pixel

Segmentação por Segmentação por limiarizaçãolimiarização

Page 15: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarizaçãoPixel:

Nível de cinza:Propriedade local: Limiar utilizado para classificar o pixel

Existem três métodos de limiarização– Limiarização global: – Limiarização local:– Limiarização dinâmica:

Page 16: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização

Escolha dos limiaresEscolha dos limiares Limiar global:Limiar global: escolha baseada em intensidades (T=T [f (x,y)]). Limiar local:Limiar local: : além das intensidades, alguma propriedade local

é utilizada (T=T [p (x,y),f (x,y)]). Limiar dinâmico:Limiar dinâmico: inclui ainda a posição do pixel (T=T [x,y,p (x,y),f (x,y)]).

Page 17: Prof. Dr. Kamel Bensebaa

TyxfsiTyxfsi

yxg),(1),(0

),(

fyxpyxTT ),,(),,(

comcom

ImagemImagem

Coordonadas do pixelCoordonadas do pixel

Propriedade local do pixelPropriedade local do pixel

Segmentação por Segmentação por limiarizaçãolimiarização

Page 18: Prof. Dr. Kamel Bensebaa

),(),,(),,( yxfyxpyxTT

),( yxfTT Limiarização globalLimiarização global

),(),,( yxfyxpTT Limiarização localLimiarização local

),( yxTT LimiarizaçãoLimiarização dinâmicadinâmica

Segmentação por Segmentação por limiarizaçãolimiarização

T depende apenas de f (x,y)

T depende de p(x,y) e f (x,y)

p(x,y): alguma propriedadedo ponto (x,y)

Page 19: Prof. Dr. Kamel Bensebaa

Limiarização Limiarização globalglobal

Escolher o limiar T na posição do vale: T=13 Aplicar o limiar encontrado a cada pixel da imagem

Page 20: Prof. Dr. Kamel Bensebaa

Limiarização globalLimiarização global

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

64T

127T

180T

Page 21: Prof. Dr. Kamel Bensebaa

0 50 100 150 200 250

0

1000

2000

3000

4000

5000

6000

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

Utilizar o histogramaUtilizar o histograma

150T

Page 22: Prof. Dr. Kamel Bensebaa

100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550100 200 300 400 500 600 700

50

100

150

200

250

300

350

400

450

500

550

),(),,( yxfyxpTT

Limiarização localLimiarização local

O limiar é o valor médio de uma O limiar é o valor médio de uma Janela 5x5 centralizada em (x,y)Janela 5x5 centralizada em (x,y)

Page 23: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por limiarizaçãolimiarização

Como definir o bom limiar ?– Um valor obtido por testes– O valor médio dos tons de cinza– O valor mediano entre o tom máximo e o

tom mínimo

Existem algoritmosautomáticos para encontrar o limiar(Otsu,Kittler,...)

Page 24: Prof. Dr. Kamel Bensebaa

Escolha de limiares Escolha de limiares (Ótimos)(Ótimos) Duas superfícies (fundo e objeto) numa imagem

Supõe-se modelos matemáticos (distribuições gaussianas,...)

Pode-se determinar a probabilidade de erro de classificação nas classes 1 e 2

Procura-se um limiar T que causa um erro mínimo

Modelar os histogramaspara encontrar o limiar

ótimo

Page 25: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSUde OTSU

O método de theshold de Otsu permite a seleção automática do valor do limar T.

A análise de agrupamentos é aplicada aos dados em níveis de cinza da imagem

Dois agrupamentos são formados a partir da distribuição gaussiana dos níveis de cinza da imagem

Para estes agrupamentos, um agrupamento representa o fundo da imagem enquanto o outro representa a frente

O objetivo do método de Otsu é obter o limiar ótimo através da minimização da soma ponderada para a variância entre as classes para ambos os agrupamentos

Page 26: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSUde OTSU

Usando a técnica de Otsu, a variância entre as classes entre o grupo de valores a baixo de T e o grupo acima de T é maximizada.

Através do ajuste de T, a distribuição de um grupo aumenta enquanto o outro diminui

Assim é necessário selecionar um valor T que produza uma distribuição normal

No algoritmo de Otsu, o nível de cinza k é o valor que maximiza a variância entre classes do histograma em níveis de cinza da imagem.

Page 27: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSUde OTSU

1. Para aplicar o algoritmo de Otsu é necessário normalizar o histograma conforme a seguinte equação

onde e é o número de níveis de cinza da imagem é o número total na imagem = percentual do k-ésimo nível de cinza =número de pixels cujo nível de cinza corresponde

nnrp k

kr )(

10 kr 1,...,2,1,0 Lk

)( kr rp

L

n

kn k

Page 28: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSUde OTSU

2. Para um determinado limiar T, têm-se dois grupos de pixels

a. O grupo formado pelos valores eb. O grupo formado pelos valores

3. Usando a seguinte equação encontra-se a variância

4. Aplicando a equação da variância para todos possíveis limiares, aquele que resulta no maior valor de será escolhido

}1,...,2,1,0{ T

},...,1,{ LTT 0C

1C2B

2B

211

200

2 )()( TTB ww

Page 29: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSUde OTSU

A expressão deve ser maximizada em relação a T para se determinar o valor ótimo do limiar T

é probabilidade do grupo é probabilidade do grupo é média do grupo é média do grupo é média total do histograma é o nível de cinza

211

200

2 )()( TTB ww

)(2 TArgMaxT Botimo

0w

1w

0

1

T

k

0C

0C

1C

1C

Page 30: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSU - Exemplode OTSU - Exemplo

Supõe-se uma imagem de N=100 píxels com quatro níveis de cinza entre [1,4] (1 preto, 4 branco)

Supõe-se também que o número de píxels com nível de cinza 1 é 10; 2 é 20; 3 é 30; e com nível de cinza 4, 40.

f1=10, f2=20, f3=30,f4=40. Logo:p1=f1/N=0.1, p2= 0.2, p3= 0.3, e p4= 0.4. Portanto, para una limiarização em dois níveis desta

imagem assumimos t=2 de maneira que a classe C1 consista em tons de cinza 1 e 2, e a classe C2 possui os tons 3 e 4.

Page 31: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSU - Exemplode OTSU - Exemplo

ω1(t)=0.1+0.2=0.3 e ω2(t)=0.3+0.4=0.7 Se comprova que ω1(t)+ω2(t)=1. Finalmente, a média para a classe C1 e

para a classe C2 é dada por:

Page 32: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSU - Exemplode OTSU - Exemplo

De acordo com o método de Otsu, Usando análise discriminante, Otsu definiu a variância entre classes de uma imagem limiarizada como

Para una limiarizaçao de dois niveis, Otsu verificou que o limiar ótimo t* se elege de maneira que será máximo

211

200

2 )()( TTB ww

2B

Page 33: Prof. Dr. Kamel Bensebaa

Vantagens da Vantagens da segmentação por segmentação por

limiarizaçãolimiarização Simplicidade de implementaçãoFunciona de forma automática e no

tempo realFunciona bem em histogramas

multimodais

Page 34: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSU – Múltiplos de OTSU – Múltiplos

limiares limiares O método de Otsu pode ser extendido

facilmente para múltiplos limiares.Assumindo M-1 limiares, {t1, t2, ..., tM-1},

os quais dividem a imagem em M classes:– C1 para [1, ..., t1], C2 para [t1+1, ..., t2], ..., Ci

para [ti-1+1, ..., ti], ..., e CM para [tM-1, ..., L], os limiares ótimos {t1*, t2*, ..., tM-1*} se elegem maximizando σB

2

Page 35: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSU – Múltiplos de OTSU – Múltiplos

limiares limiares

onde

com

Page 36: Prof. Dr. Kamel Bensebaa

Algoritmo de limiarização Algoritmo de limiarização de OTSU – Múltiplos de OTSU – Múltiplos

limiares limiares ωk é conhecido como o momento

acumulado de ordem zero da k-ésima classe Ck, e o numerador da última expressão é conhecido como momento acumulado de primeira ordem da k-ésima classe Ck; isto é,

Page 37: Prof. Dr. Kamel Bensebaa

Formulação alternativa do Formulação alternativa do algoritmo de OTSUalgoritmo de OTSU

Independentemente do número de classes que se considerem durante o processo de limiarização, a soma das funções de probabilidade acumulada das M classes são

iguais a 1, e a média da imagem é igual a soma das mdéias das M classes ponderadas por suas correspondentes probabilidades acumuladas; ou seja,

Page 38: Prof. Dr. Kamel Bensebaa

Formulação alternativa do Formulação alternativa do algoritmo de OTSUalgoritmo de OTSU

Usando as expressões anteriores, a variância entre classes da imagem limiariazada pode ser rescrita da seguinte forma

Devido a que o segundo termo da expressão Devido a que o segundo termo da expressão da variância depende da eleição dos limiares da variância depende da eleição dos limiares {t{t11, t, t22, ..., t, ..., tM-1M-1}, os limiares ótimos {t}, os limiares ótimos {t11*, t*, t22*, ..., *, ..., ttM-1M-1*} podem ser elegidos maximizando uma *} podem ser elegidos maximizando uma variância entre classes modificada (σB’)variância entre classes modificada (σB’)22

Page 39: Prof. Dr. Kamel Bensebaa

Formulação alternativa do Formulação alternativa do algoritmo de OTSUalgoritmo de OTSU

(σB’)(σB’)22 é definida como o somatório dos termos érminos do lado direito da expressão

Em outras palabras, os valores dos limiares ótimos {t1*, t2*, ..., tM-1*} se elegem por

Page 40: Prof. Dr. Kamel Bensebaa

Formulação alternativa do Formulação alternativa do algoritmo de OTSUalgoritmo de OTSU

De acordo com o critério da expressão para σDe acordo com o critério da expressão para σBB22

e o da expressão para (σB’)e o da expressão para (σB’)22

para encontrar os limiares ótimos, o campo depara encontrar os limiares ótimos, o campo debusca para o máximo σBbusca para o máximo σB22 e para o máximo (σB’) e para o máximo (σB’)22

é 1 ≤ té 1 ≤ t11 < L-M+1, t < L-M+1, t11+1 ≤ t+1 ≤ t22 < L-M+2, ..., < L-M+2, ..., e te tM-1M-1+1 ≤ t+1 ≤ tM-1M-1 < L-1 < L-1

Page 41: Prof. Dr. Kamel Bensebaa

Limitação da segmentação Limitação da segmentação por limiarizaçãopor limiarização

A limitação mais básica de técnicas de segmentação por histograma não fornecem informação espacial (apenas a distribuição do nível de cinza).

Pode aparecer falsos elementos na segmentação (deixam restos de informações desnecessárias) ou perdem informações.

Não permite definir objetos mas apenas conjuntos de pontos não necessariamente conexos (conectados entre eles)

Necessidade de conhecer o número de classes Assim, abordagens em histogramas não exploram o

importante fato de que os pixels que estão próximos possuem níveis e cinza similares

Page 42: Prof. Dr. Kamel Bensebaa

Para superar essas limitações de métodos Para superar essas limitações de métodos no domínio do valor, foram desenvolvidos no domínio do valor, foram desenvolvidos métodos que operam no domínio do métodos que operam no domínio do espaço e utilizam informações sobre:espaço e utilizam informações sobre:– vizinhança de pixelvizinhança de pixel– variação de valor de pixel em uma vizinhançavariação de valor de pixel em uma vizinhança– estatísticas sobre agrupamentos de pixelestatísticas sobre agrupamentos de pixel...para gerar uma imagem resultante dividida ...para gerar uma imagem resultante dividida

em regiões. em regiões.

Segmentação orientada a Segmentação orientada a regiões regiões

Page 43: Prof. Dr. Kamel Bensebaa

Segmentação orientada a Segmentação orientada a regiões regiões

Idéia – Particionar uma imagem em sub-regiões R1, R2,..., Rn

Page 44: Prof. Dr. Kamel Bensebaa

A segmentação por regiões é o processo de particionar a imagem em n regiões R1, R2,..., Rn tal que:

1. Todo pixel pertence a uma região ou

2. Ri é uma região conexa, i =1,2,...,n

3. Nenhum pixel pertence a mais de uma região

RRn

ii

1

0ji RR

Formulação BásicaFormulação Básica

nRRR ...21

Page 45: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

Enquanto os métodos de detecção de borda utilizam a diferença de valores de pixel, ou seja, descontinuidades no nível de cinza da imagem, algoritmos como o de crescimento de regiões realizam uma busca por grupos de pixels com alguma propriedade de similaridade, caracterizando os pixels de uma área com brilho similar como pertencentes a uma mesma região.

Inicialmente, o método começa com um pixel e, a partir daí, examina seus vizinhos, numa seqüência, para decidir se eles possuem brilho similar, segundo o critério de similaridade escolhido. Se os pixels vizinhos analisados forem aceitos como similares, então eles são agrupados ao pixel inicial (semente) para formar uma região. Desta forma, as regiões vão sendo desenvolvidas a partir de pixels sementes

Page 46: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

Uma forma melhorada é não começar com pixels, mas com uma partição da imagem em um conjunto de pequenas regiões.

Um teste de uniformidade é, então, aplicado a cada região. Se o teste falhar, a região é subdividida em elementos menores até que todas regiões fiquem uniformes. Então, as regiões se desenvolveriam de regiões menores.

A vantagem em usar pequenas regiões ao invés de pixels é a redução da sensibilidade ao ruído

Page 47: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

A segmentação por crescimento de regiões é um procedimento que agrupa pontos e pequenas sub-regiões da imagem em maiores regiões, de acordo com um critério de semelhança pré-definido.

A escolha pelo critério de similaridade entre os pontos A escolha pelo critério de similaridade entre os pontos varia conforme a aplicação e o tipo de imagem sendo varia conforme a aplicação e o tipo de imagem sendo utilizada. Dentre os critérios mais utilizados destacam-se utilizada. Dentre os critérios mais utilizados destacam-se a intensidade luminosa, a textura e a cor dos pontos.a intensidade luminosa, a textura e a cor dos pontos.

Alguns outros critérios fornecem ao algoritmo uma certa inteligência para a reunião dos pontos, como analisar as propriedades de adjacência e conectividade dos mesmos enquanto forma-se a região.

Page 48: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

O algoritmo inicia com um pixel inicial chamado O algoritmo inicia com um pixel inicial chamado “semente” e a região cresce a partir de seu “semente” e a região cresce a partir de seu semente.semente.

O algoritmo agrupa para cada uma dessas O algoritmo agrupa para cada uma dessas sementes, os pixels vizinhos que possuem sementes, os pixels vizinhos que possuem propriedades similares (nível de cinza, textura, propriedades similares (nível de cinza, textura, etc.).etc.).

Critérios para a parada do algoritmo costumam ser o tamanho e a forma das regiões formadas, assim como a similaridade de características de novos pontos para adentrar uma determinada região.

Page 49: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

O algoritmo inicia com um pixel, e "colecione" algoritmo inicia com um pixel, e "colecione" os pixels vizinhos que respondem a um critério os pixels vizinhos que respondem a um critério de similaridade:de similaridade:– Pequeno valor de variânciaPequeno valor de variância– Nível de cinza que responde a um certo limiarNível de cinza que responde a um certo limiar– ……

O pixel inicial é chamado "semente".O pixel inicial é chamado "semente". A região « cresce" a partir de seu sementeA região « cresce" a partir de seu semente Um conhecimento a priori é útil para selecionar Um conhecimento a priori é útil para selecionar

as sementes.as sementes.

Page 50: Prof. Dr. Kamel Bensebaa

Crescimento de regiões é uma Crescimento de regiões é uma técnica que agrupa pixels ou sub-técnica que agrupa pixels ou sub-regiões em uma região maiorregiões em uma região maior

O caminho mais fácil é a agregação O caminho mais fácil é a agregação de pixelsde pixels

Inicia-se com pixels sementes para Inicia-se com pixels sementes para agrupar para cada uma dessas agrupar para cada uma dessas sementes, os pixels vizinhos que sementes, os pixels vizinhos que possuem propriedades similares possuem propriedades similares (nível de cinza, textura, cor...)(nível de cinza, textura, cor...)

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

Page 51: Prof. Dr. Kamel Bensebaa

00 00 55 66 7711 11 55 88 7700 11 66 77 7722 00 77 66 6600 11 55 66 55

aa aa bb bb bbaa aa bb bb bbaa aa bb bb bbaa aa bb bb bbaa aa bb bb bb

aa aa aa aa aaaa aa aa aa aaaa aa aa aa aaaa aa aa aa aaaa aa aa aa aa

Imagem Original Resultado da segmentação

T=3

A propriedade P utilizada para incluir um pixel dentre de uma certa região é que a diferença do valor absoluto entre o nível de cinza do semente e o nível de cinza de um certo pixel seja menor do limiar T

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

Resultado da segmentação

T=7

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

Propriedade (P) |I(x)-I(s)|<T I(s) intensidade da semente

Page 52: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

Page 53: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

O primeiro passo do método é a determinação das sementes para o crescimento das regiões. As primeiras sementes são escolhidas baseado no valor de gradiente de cada pixel, utilizando o operador de Sobel, representado abaixo -1-1 00 11

-2-2 00 22-1-1 00 11

11 22 1100 00 00-1-1 -2-2 -1-1

),(),(),( jyixfjiGyxf xx ),(),(),( jyixfjiGyxf yy

),(),(),(*),(),( yxfyxfyxfyxfyxGrad yyxx

Page 54: Prof. Dr. Kamel Bensebaa

Segmentação por Segmentação por crescimento de regiões crescimento de regiões

Se o valor do Gradiente de um pixel for menor que um Threshold=0.3, este pixel provavelmente não estará em um contorno de objeto, e assim será uma semente para crescimento de regiões.

Por questões de uniformidade na segmentação, a imagem é varrida de modo que de cada 10 em 10 pixels seja escolhida uma semente.

O segundo passo, após escolhidas as sementes é, para cada semente, crescer a região. O pseudocódigo para este método é o seguinte:

Page 55: Prof. Dr. Kamel Bensebaa

Segmentação por crescimento de Segmentação por crescimento de regiões regiões

região=sementeCrescerRegiao(pixel_x, pixel_y)Inicio

Se pixel não pertence a regiãoInicioDiferença=|média de cor da região-média de cor do pixel|Se diferença < ThresholdInicioadiciona pixel a regiãoCrescerRegiao(pixel_x, pixel_y-1)CrescerRegiao(pixel_x, pixel_y+1)CrescerRegiao(pixel_x-1, pixel_y)CrescerRegiao(pixel_x+1, pixel_y)FimFim

FimPintarRegiaoComo resultado, temos a seguinte imagem segmentada

Page 56: Prof. Dr. Kamel Bensebaa

Segmentação: Crescimento de Segmentação: Crescimento de Região 1Região 1

Máscara:3x3 Máscara:3x3 Semente: pixel centrado na máscara Semente: pixel centrado na máscara (x,y)(x,y)

240220

12070

Page 57: Prof. Dr. Kamel Bensebaa

Segmentação por divisão e Segmentação por divisão e agrupamento de regiõesagrupamento de regiões

Split and MergeSplit and Merge

A segmentação por divisão e agrupamento de regiões aborda uma solução diferente para segmentação por regiões numa imagem digital.

Page 58: Prof. Dr. Kamel Bensebaa

Divisão e agrupamento de Divisão e agrupamento de regiõesregiões

A idéia consiste em iniciar uma série de divisões sistemáticas na imagem original até alcançar inúmeras divisões distintas que formam regiões na imagem.

Nestas divisões todos os pontos devem obedecer a um critério de similaridade para poderem manter-se agrupados.

A estrutura de dados mais utilizada para representar as divisões na imagem são as árvores do tipo “Quadtree” que divide sempre a imagem em 4 partes iguais.

Page 59: Prof. Dr. Kamel Bensebaa

Divisão e agrupamento de Divisão e agrupamento de regiõesregiões

A idéia consiste em iniciar uma série de divisões sistemáticas na imagem original até alcançar inúmeras divisões distintas que formam regiões na imagem.

Nestas divisões todos os pontos devem obedecer a um critério de similaridade para poderem manter-se agrupados.

A estrutura de dados mais utilizada para representar as divisões na imagem são as árvores do tipo “Quadtree” que divide sempre a imagem em 4 partes iguais.

Page 60: Prof. Dr. Kamel Bensebaa

Algoritmo (Algoritmo (SplitSplit))1.1. Seja Seja II a imagem original; a imagem original;2.2. Define-se uma função de similaridade Define-se uma função de similaridade SS sobre sobre

uma determinada região;uma determinada região;3.3. Supõe-se que Supõe-se que SS((II)=falso então divide-se a )=falso então divide-se a

imagem em imagem em nn sub-regiões ( sub-regiões (nn=4) para efetuar o =4) para efetuar o teste de similaridade novamente;teste de similaridade novamente;

4.4. Aplica-se o teste em cada uma das 4 sub-Aplica-se o teste em cada uma das 4 sub-regiões regiões

5.5. Se para alguma região, o teste é falso, divide-se Se para alguma região, o teste é falso, divide-se novamente em 4 sub-regiões;novamente em 4 sub-regiões;

6.6. Prossegue-se dessa forma até que todas as Prossegue-se dessa forma até que todas as regiões regiões RR da imagem resultem em da imagem resultem em SS((RR)=verdadeiro.)=verdadeiro.

Page 61: Prof. Dr. Kamel Bensebaa

Algoritmo (Algoritmo (SplitSplit)) Idealmente, se a imagem I contém n

objetos na sua representação original, então a versão dividida resulta em 4 regiões;

O pior caso ocorre quando o algoritmo pára, porque chegou a um ponto indivisível (um pixel);

Uma função de similaridade é definir um valor do limiar T ;

Se < T a região é homogênea e o Split não é necessário.

Page 62: Prof. Dr. Kamel Bensebaa

1 2

34 5

76

AlgoritmoAlgoritmo

Page 63: Prof. Dr. Kamel Bensebaa

Algoritmo (Algoritmo (MergeMerge)) A parte do algoritmo Split sem usar o Merge é

incompleta; A divisão em 4 novas regiões não leva em

conta a relação dos pixels em regiões diferentes;

Pode acontecer que algum ponto de duas regiões sejam similares e o algoritmo Split não seja capaz de resolver isso;

Para resolver este problema, utiliza-se o agrupamento de regiões;

Neste sentido, uma função de similaridade compara todos os pares de regiões adjacentes.

Page 64: Prof. Dr. Kamel Bensebaa

Algoritmo (Algoritmo (MergeMerge)) Se os pares de regiões forem similares é

feita uma junção (agrupamento) entre elas formando apenas um região;

A função de similaridade a utilizar pode ser a mesma utilizada no Split;

Um outra alternativa é utilizar a diferença de valores médios e compará-lo com um limiar T;

Se (Media1 - Media2) < T então as funções são similares e realiza-se a junção das duas regiões.